@org-design-system/components 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,7 +20,7 @@ This package leverages the `@org-design-system/styles` engine. Components are no
20
20
 
21
21
  ## 📦 Usage
22
22
 
23
- While this package can be used standalone, it is recommended to consume it via the `org-design-system` metapackage.
23
+ While this package can be used standalone, it is recommended to consume it via the `@org-design-system/core` metapackage.
24
24
 
25
25
  ```tsx
26
26
  import { Button, Badge, Toggle } from "@org-design-system/components";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var classVarianceAuthority=require('class-variance-authority'),reactSlot=require('@radix-ui/react-slot'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),react=require('react');function f(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var k=classVarianceAuthority.cva("inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",{variants:{variant:{solid:"border-transparent",soft:"border-transparent text-foreground",surface:"border",outline:"border bg-transparent"},intent:{primary:"",accent:"",success:"",warning:"",error:"",info:"",neutral:""},size:{sm:"h-5 px-1 py-0.5 text-[10px] min-w-[20px]",md:"h-6 px-1.5 py-1 text-[12px] min-w-[24px]",lg:"h-6 px-1.5 py-1 text-[13px] min-w-[24px]"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-surface-success)] text-white"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"outline",intent:"success",className:"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-surface-warnig)] text-black"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-surface-error)] text-white"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"outline",intent:"error",className:"border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"solid",intent:"info",className:"bg-[var(--color-surface-info)] text-white"},{variant:"soft",intent:"info",className:"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]"},{variant:"surface",intent:"info",className:"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"outline",intent:"info",className:"border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-9)] text-white"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]"}],defaultVariants:{variant:"soft",intent:"neutral",size:"md",radius:"md"}});function E({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,...r}){return jsxRuntime.jsx(u?reactSlot.Slot:"span",{"data-slot":"badge","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(k({variant:a,intent:t,size:l,radius:o}),e),...r})}var D=classVarianceAuthority.cva("group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{solid:"",soft:"",surface:"border",outline:"border bg-transparent",ghost:"bg-transparent",link:"bg-transparent underline-offset-4 hover:underline"},intent:{primary:"",accent:"",neutral:"",success:"",warning:"",error:""},size:{xl:"h-12 px-[18px] text-base gap-2",lg:"h-10 px-3.5 text-sm gap-1.5",md:"h-9 px-3 text-sm gap-1",sm:"h-8 px-3 text-sm gap-1",xs:"h-6 px-1.5 text-xs gap-0.5",icon:"size-9 p-0"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"outline",intent:"success",className:"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"outline",intent:"error",className:"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"},{variant:"ghost",intent:"primary",className:"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"ghost",intent:"neutral",className:"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"ghost",intent:"success",className:"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"ghost",intent:"warning",className:"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"ghost",intent:"error",className:"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"}],defaultVariants:{variant:"solid",intent:"primary",size:"md",radius:"md"}});function J({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,leftIcon:r,rightIcon:s,children:i,...n}){return jsxRuntime.jsx(u?reactSlot.Slot:"button",{"data-slot":"button","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(D({variant:a,intent:t,size:l,radius:o,className:e})),...n,children:u?i:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r&&jsxRuntime.jsx("span",{className:"inline-flex shrink-0",children:r}),i,s&&jsxRuntime.jsx("span",{className:"inline-flex shrink-0",children:s})]})})}var L=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var I={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var C=react.forwardRef(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:r,...s},i)=>react.createElement("svg",{ref:i,...I,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:c("lucide",l),...s},[...r.map(([n,m])=>react.createElement(n,m)),...Array.isArray(u)?u:[u]]));var g=(e,a)=>{let t=react.forwardRef(({className:o,...l},u)=>react.createElement(C,{ref:u,iconNode:a,className:c(`lucide-${L(e)}`,o),...l}));return t.displayName=`${e}`,t};var T=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],d=g("LoaderCircle",T);function pa({className:e,...a}){return jsxRuntime.jsx(d,{role:"status","aria-label":"Loading",className:f("size-4 animate-spin",e),...a})}/*! Bundled license information:
1
+ 'use strict';var classVarianceAuthority=require('class-variance-authority'),reactSlot=require('@radix-ui/react-slot'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),react=require('react');function f(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var k=classVarianceAuthority.cva("inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",{variants:{variant:{solid:"border-transparent",soft:"border-transparent text-foreground",surface:"border",outline:"border bg-transparent"},intent:{primary:"",accent:"",success:"",warning:"",error:"",info:"",neutral:""},size:{sm:"h-5 px-1 py-0.5 text-[10px] min-w-[20px]",md:"h-6 px-1.5 py-1 text-[12px] min-w-[24px]",lg:"h-6 px-1.5 py-1 text-[13px] min-w-[24px]"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-surface-success)] text-white"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"outline",intent:"success",className:"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-surface-warnig)] text-black"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-surface-error)] text-white"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"outline",intent:"error",className:"border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"solid",intent:"info",className:"bg-[var(--color-surface-info)] text-white"},{variant:"soft",intent:"info",className:"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]"},{variant:"surface",intent:"info",className:"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"outline",intent:"info",className:"border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-9)] text-white"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]"}],defaultVariants:{variant:"soft",intent:"neutral",size:"md",radius:"md"}});function E({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,...r}){return jsxRuntime.jsx(u?reactSlot.Slot:"span",{"data-slot":"badge","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(k({variant:a,intent:t,size:l,radius:o}),e),...r})}var D=classVarianceAuthority.cva("group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{solid:"",soft:"",surface:"border",outline:"border bg-transparent",ghost:"bg-transparent",link:"bg-transparent underline-offset-4 hover:underline"},intent:{primary:"",accent:"",neutral:"",success:"",warning:"",error:""},size:{xl:"h-12 px-[18px] text-base gap-2",lg:"h-10 px-3.5 text-sm gap-1.5",md:"h-9 px-3 text-sm gap-1",sm:"h-8 px-3 text-sm gap-1",xs:"h-6 px-1.5 text-xs gap-0.5",icon:"size-9 p-0"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-11)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-blue-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-11)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-yellow-5)] text-[var(--color-green-11)] hover:bg-[var(--color-green-11)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-gray-alpha-1)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-11)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-11)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"outline",intent:"success",className:"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"outline",intent:"error",className:"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"},{variant:"ghost",intent:"primary",className:"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"ghost",intent:"neutral",className:"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"ghost",intent:"success",className:"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"ghost",intent:"warning",className:"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"ghost",intent:"error",className:"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"}],defaultVariants:{variant:"solid",intent:"primary",size:"md",radius:"md"}});function J({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,leftIcon:r,rightIcon:s,children:i,...n}){return jsxRuntime.jsx(u?reactSlot.Slot:"button",{"data-slot":"button","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(D({variant:a,intent:t,size:l,radius:o,className:e})),...n,children:u?i:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r&&jsxRuntime.jsx("span",{className:"inline-flex shrink-0",children:r}),i,s&&jsxRuntime.jsx("span",{className:"inline-flex shrink-0",children:s})]})})}var L=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var I={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var C=react.forwardRef(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:r,...s},i)=>react.createElement("svg",{ref:i,...I,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:c("lucide",l),...s},[...r.map(([n,m])=>react.createElement(n,m)),...Array.isArray(u)?u:[u]]));var g=(e,a)=>{let t=react.forwardRef(({className:o,...l},u)=>react.createElement(C,{ref:u,iconNode:a,className:c(`lucide-${L(e)}`,o),...l}));return t.displayName=`${e}`,t};var T=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],d=g("LoaderCircle",T);function pa({className:e,...a}){return jsxRuntime.jsx(d,{role:"status","aria-label":"Loading",className:f("size-4 animate-spin",e),...a})}/*! Bundled license information:
2
2
 
3
3
  lucide-react/dist/esm/shared/src/utils.js:
4
4
  lucide-react/dist/esm/defaultAttributes.js:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/badge.tsx","../src/components/button.tsx","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/shared/src/utils.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/Icon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../src/components/spinner.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","intent","radius","size","asChild","props","jsx","Slot","buttonVariants","Button","leftIcon","rightIcon","children","jsxs","Fragment","toKebabCase","string","mergeClasses","classes","index","array","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","ref","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","LoaderCircle","Spinner"],"mappings":"kPAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCCA,IAAMG,CAAAA,CAAgBC,0BAAAA,CACpB,8KAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,KAAA,CAAO,oBAAA,CACP,IAAA,CAAM,qCACN,OAAA,CAAS,QAAA,CACT,OAAA,CAAS,uBACX,CAAA,CACA,MAAA,CAAQ,CACN,OAAA,CAAS,EAAA,CACT,MAAA,CAAQ,EAAA,CACR,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,GACT,KAAA,CAAO,EAAA,CACP,IAAA,CAAM,EAAA,CACN,OAAA,CAAS,EACX,EACA,IAAA,CAAM,CACJ,EAAA,CAAI,0CAAA,CACJ,EAAA,CAAI,0CAAA,CACJ,GAAI,0CACN,CAAA,CACA,MAAA,CAAQ,CACN,IAAA,CAAM,cAAA,CACN,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,KAAM,cACR,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAC1H,CAAE,QAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yGAA0G,CAAA,CAC9J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sEAAuE,EAE3H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,8CAA+C,CAAA,CACjG,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,UAAW,wGAAyG,CAAA,CAC7J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,UAAW,SAAA,CAAW,wEAAyE,CAAA,CAE7H,CAAE,OAAA,CAAS,OAAA,CAAS,OAAQ,SAAA,CAAW,SAAA,CAAW,6CAA8C,CAAA,CAChG,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,UAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,wGAAyG,CAAA,CAC7J,CAAE,QAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAE5H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,4CAA6C,CAAA,CAC7F,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,8DAA+D,EAC9G,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,iGAAkG,CAAA,CACpJ,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,mEAAoE,CAAA,CAEtH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,2CAA4C,CAAA,CAC3F,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,MAAA,CAAQ,UAAW,8DAA+D,CAAA,CAC7G,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAQ,SAAA,CAAW,gGAAiG,CAAA,CAClJ,CAAE,OAAA,CAAS,SAAA,CAAW,OAAQ,MAAA,CAAQ,SAAA,CAAW,iEAAkE,CAAA,CAEnH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qCAAsC,CAAA,CACxF,CAAE,OAAA,CAAS,OAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,iEAAkE,CAAA,CACnH,CAAE,QAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sGAAuG,CAAA,CAC3J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yEAA0E,CAChI,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,MAAA,CACT,MAAA,CAAQ,SAAA,CACR,KAAM,IAAA,CACN,MAAA,CAAQ,IACV,CACF,CACF,EAQA,SAASC,CAAAA,CAAM,CACb,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,GAAGC,CACL,CAAA,CAAe,CAGb,OACEC,cAAAA,CAHWF,EAAUG,cAAAA,CAAO,MAAA,CAG3B,CACC,WAAA,CAAU,OAAA,CACV,cAAA,CAAcP,CAAAA,CACd,aAAA,CAAaC,CAAAA,CACb,WAAA,CAAWE,CAAAA,CACX,aAAA,CAAaD,CAAAA,CACb,SAAA,CAAWV,EAAGI,CAAAA,CAAc,CAAE,OAAA,CAAAI,CAAAA,CAAS,MAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAAE,CAAAA,CAAM,MAAA,CAAAD,CAAO,CAAC,CAAA,CAAGH,CAAS,CAAA,CACxE,GAAGM,CAAAA,CACN,CAEJ,CCrGA,IAAMG,CAAAA,CAAiBX,0BAAAA,CACrB,4ZAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,KAAA,CAAO,GACP,IAAA,CAAM,EAAA,CACN,OAAA,CAAS,QAAA,CACT,OAAA,CAAS,uBAAA,CACT,KAAA,CAAO,gBAAA,CACP,IAAA,CAAM,mDACR,CAAA,CACA,MAAA,CAAQ,CACN,OAAA,CAAS,GACT,MAAA,CAAQ,EAAA,CACR,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,EAAA,CACT,KAAA,CAAO,EACT,CAAA,CACA,IAAA,CAAM,CACJ,EAAA,CAAI,iCACJ,EAAA,CAAI,6BAAA,CACJ,EAAA,CAAI,wBAAA,CACJ,EAAA,CAAI,wBAAA,CACJ,GAAI,4BAAA,CACJ,IAAA,CAAM,YACR,CAAA,CACA,MAAA,CAAQ,CACN,KAAM,cAAA,CACN,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,IAAA,CAAM,cACR,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qEAAsE,CAAA,CACxH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yKAA0K,CAAA,CAC5N,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAC1H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,UAAW,yEAA0E,CAAA,CAC5H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,QAAS,SAAA,CAAW,mEAAoE,CAAA,CAGpH,CAAE,OAAA,CAAS,MAAA,CAAQ,OAAQ,SAAA,CAAW,SAAA,CAAW,iGAAkG,CAAA,CACnJ,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,iGAAkG,CAAA,CACnJ,CAAE,OAAA,CAAS,OAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,oGAAqG,CAAA,CACtJ,CAAE,QAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uGAAwG,CAAA,CACzJ,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,8FAA+F,CAAA,CAG9I,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qGAAsG,EAC1J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qGAAsG,CAAA,CAC1J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,UAAW,wGAAyG,CAAA,CAC7J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,2GAA4G,CAAA,CAChK,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,QAAS,SAAA,CAAW,kGAAmG,CAAA,CAGrJ,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,kEAAmE,CAAA,CACrH,CAAE,OAAA,CAAS,OAAA,CAAS,OAAQ,SAAA,CAAW,SAAA,CAAW,kEAAmE,CAAA,CACrH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,oEAAqE,CAAA,CACvH,CAAE,OAAA,CAAS,QAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sEAAuE,CAAA,CACzH,CAAE,QAAS,OAAA,CAAS,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,gEAAiE,CACnH,EACA,eAAA,CAAiB,CACf,OAAA,CAAS,OAAA,CACT,MAAA,CAAQ,SAAA,CACR,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,IACV,CACF,CACF,EAcA,SAASY,EAAO,CACd,SAAA,CAAAV,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,SAAAM,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGP,CACL,CAAA,CAAgB,CAGd,OACEC,cAAAA,CAHWF,CAAAA,CAAUG,cAAAA,CAAO,QAAA,CAG3B,CACC,WAAA,CAAU,QAAA,CACV,cAAA,CAAcP,CAAAA,CACd,aAAA,CAAaC,CAAAA,CACb,YAAWE,CAAAA,CACX,aAAA,CAAaD,CAAAA,CACb,SAAA,CAAWV,CAAAA,CAAGgB,CAAAA,CAAe,CAAE,OAAA,CAAAR,CAAAA,CAAS,MAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAAE,CAAAA,CAAM,MAAA,CAAAD,CAAAA,CAAQ,SAAA,CAAAH,CAAU,CAAC,CAAC,CAAA,CACzE,GAAGM,EAEH,QAAA,CAAAD,CAAAA,CACCQ,CAAAA,CAEAC,eAAAA,CAAAC,mBAAAA,CAAA,CACG,QAAA,CAAA,CAAAJ,CAAAA,EAAYJ,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAAI,CAAAA,CAAS,EAC7DE,CAAAA,CACAD,CAAAA,EAAaL,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAAK,CAAAA,CAAU,CAAA,CAAA,CAClE,CAAA,CAEJ,CAEJ,CCvHa,IAAAI,EAAeC,CAAAA,EAC1BA,CAAAA,CAAO,OAAA,CAAQ,oBAAA,CAAsB,OAAO,CAAA,CAAE,aAAY,CA+B/CC,CAAAA,CAAe,CAAA,GAA2CC,CAAAA,GACrEA,CAAAA,CACG,MAAA,CAAO,CAACnB,CAAAA,CAAWoB,CAAAA,CAAOC,CAAAA,GAEvB,CAAA,CAAQrB,CAAAA,EACPA,CAAAA,CAAqB,IAAA,EAAA,GAAW,EAAA,EACjCqB,CAAAA,CAAM,OAAA,CAAQrB,CAAS,CAAA,GAAMoB,CAEhC,EACA,IAAA,CAAK,GAAG,CAAA,CACR,IAAA,EAAK,CClDV,IAAeE,CAAAA,CAAA,CACb,KAAA,CAAO,4BAAA,CACP,KAAA,CAAO,EAAA,CACP,OAAQ,EAAA,CACR,OAAA,CAAS,WAAA,CACT,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,cAAA,CACR,WAAA,CAAa,CAAA,CACb,aAAA,CAAe,OAAA,CACf,cAAA,CAAgB,OAClB,CAAA,CCcA,IAAMC,CAAAA,CAAOC,gBAAAA,CACX,CACE,CACE,KAAA,CAAAC,CAAAA,CAAQ,eACR,IAAA,CAAArB,CAAAA,CAAO,EAAA,CACP,WAAA,CAAAsB,CAAAA,CAAc,CAAA,CACd,oBAAAC,CAAAA,CACA,SAAA,CAAA3B,CAAAA,CAAY,EAAA,CACZ,QAAA,CAAAa,CAAAA,CACA,QAAA,CAAAe,CAAAA,CACA,GAAGC,CAAA,CAAA,CAELC,CAAAA,GAEOC,mBAAAA,CACL,KAAA,CACA,CACE,GAAA,CAAAD,CAAAA,CACA,GAAGR,CAAAA,CACH,KAAA,CAAOlB,CAAAA,CACP,MAAA,CAAQA,CAAAA,CACR,MAAA,CAAQqB,CAAAA,CACR,WAAA,CAAaE,CAAAA,CAAuB,MAAA,CAAOD,CAAW,EAAI,EAAA,CAAM,MAAA,CAAOtB,CAAI,CAAA,CAAIsB,CAAAA,CAC/E,SAAA,CAAWR,CAAAA,CAAa,QAAA,CAAUlB,CAAS,CAAA,CAC3C,GAAG6B,CACL,CAAA,CACA,CACE,GAAGD,CAAAA,CAAS,GAAA,CAAI,CAAC,CAACI,CAAAA,CAAKC,CAAK,IAAMF,mBAAAA,CAAcC,CAAAA,CAAKC,CAAK,CAAC,CAAA,CAC3D,GAAI,MAAM,OAAA,CAAQpB,CAAQ,CAAA,CAAIA,CAAAA,CAAW,CAACA,CAAQ,CACpD,CAAA,CAGN,CAAA,CC7CM,IAAAqB,CAAAA,CAAmB,CAACC,CAAAA,CAAkBP,IAAuB,CACjE,IAAMQ,CAAAA,CAAYZ,gBAAAA,CAAuC,CAAC,CAAE,SAAA,CAAAxB,CAAAA,CAAW,GAAGM,CAAS,CAAA,CAAAwB,CAAAA,GACjFC,mBAAAA,CAAcR,CAAAA,CAAM,CAClB,GAAA,CAAAO,CAAAA,CACA,QAAA,CAAAF,CAAAA,CACA,SAAA,CAAWV,CAAAA,CAAa,CAAA,OAAA,EAAUF,CAAAA,CAAYmB,CAAQ,CAAC,CAAA,CAAA,CAAInC,CAAS,CAAA,CACpE,GAAGM,CAAA,CACJ,CAAA,CAAA,CAGO,OAAA8B,CAAAA,CAAA,WAAA,CAAc,GAAGD,CAAQ,CAAA,CAAA,CAE5BC,CACT,CAAA,CCrBa,IAAAC,CAAAA,CAAuB,CAAC,CAAC,MAAA,CAAQ,CAAE,CAAA,CAAG,6BAAA,CAA+B,GAAA,CAAK,QAAS,CAAC,CAAC,CAAA,CAa5FC,CAAAA,CAAeJ,CAAAA,CAAiB,cAAA,CAAgBG,CAAU,ECbhE,SAASE,EAAAA,CAAQ,CAAE,SAAA,CAAAvC,CAAAA,CAAW,GAAGM,CAAM,CAAA,CAAgC,CACrE,OACEC,cAAAA,CAAC+B,EAAA,CAAY,IAAA,CAAK,QAAA,CAAS,YAAA,CAAW,SAAA,CAAU,SAAA,CAAW7C,CAAAA,CAAG,qBAAA,CAAuBO,CAAS,CAAA,CAAI,GAAGM,CAAAA,CAAO,CAEhH","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n solid: \"border-transparent\",\n soft: \"border-transparent text-foreground\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma\n success: \"\",\n warning: \"\",\n error: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n sm: \"h-5 px-1 py-0.5 text-[10px] min-w-[20px]\",\n md: \"h-6 px-1.5 py-1 text-[12px] min-w-[24px]\",\n lg: \"h-6 px-1.5 py-1 text-[13px] min-w-[24px]\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]\" },\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n // Success\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-surface-success)] text-white\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n // Warning\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-surface-warnig)] text-black\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n // Error\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-surface-error)] text-white\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n // Info\n { variant: \"solid\", intent: \"info\", className: \"bg-[var(--color-surface-info)] text-white\" },\n { variant: \"soft\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]\" },\n { variant: \"surface\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n { variant: \"outline\", intent: \"info\", className: \"border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n // Neutral\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-9)] text-white\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]\" },\n ],\n defaultVariants: {\n variant: \"soft\",\n intent: \"neutral\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ninterface BadgeProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof badgeVariants> {\n asChild?: boolean\n}\n\nfunction Badge({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(badgeVariants({ variant, intent, size, radius }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n solid: \"\",\n soft: \"\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n ghost: \"bg-transparent\",\n link: \"bg-transparent underline-offset-4 hover:underline\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma green\n neutral: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n size: {\n xl: \"h-12 px-[18px] text-base gap-2\",\n lg: \"h-10 px-3.5 text-sm gap-1.5\",\n md: \"h-9 px-3 text-sm gap-1\",\n sm: \"h-8 px-3 text-sm gap-1\",\n xs: \"h-6 px-1.5 text-xs gap-0.5\",\n icon: \"size-9 p-0\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]\" },\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]\" },\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]\" },\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]\" },\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]\" },\n\n // Soft Intent\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]\" },\n\n // Outline Intent\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n\n // Ghost Intent\n { variant: \"ghost\", intent: \"primary\", className: \"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"ghost\", intent: \"neutral\", className: \"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"ghost\", intent: \"success\", className: \"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"ghost\", intent: \"warning\", className: \"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"ghost\", intent: \"error\", className: \"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n ],\n defaultVariants: {\n variant: \"solid\",\n intent: \"primary\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n Prettify<VariantProps<typeof buttonVariants>> {\n asChild?: boolean\n leftIcon?: React.ReactNode\n rightIcon?: React.ReactNode\n}\n\nfunction Button({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n leftIcon,\n rightIcon,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(buttonVariants({ variant, intent, size, radius, className }))}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {leftIcon && <span className=\"inline-flex shrink-0\">{leftIcon}</span>}\n {children}\n {rightIcon && <span className=\"inline-flex shrink-0\">{rightIcon}</span>}\n </>\n )}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('LoaderCircle', __iconNode);\n\nexport default LoaderCircle;\n","import { cn } from \"../lib/utils\"\nimport { Loader2Icon } from \"lucide-react\"\n\nfunction Spinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <Loader2Icon role=\"status\" aria-label=\"Loading\" className={cn(\"size-4 animate-spin\", className)} {...props} />\n )\n}\n\nexport { Spinner }\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/badge.tsx","../src/components/button.tsx","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/shared/src/utils.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/Icon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../src/components/spinner.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","intent","radius","size","asChild","props","jsx","Slot","buttonVariants","Button","leftIcon","rightIcon","children","jsxs","Fragment","toKebabCase","string","mergeClasses","classes","index","array","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","ref","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","LoaderCircle","Spinner"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n solid: \"border-transparent\",\n soft: \"border-transparent text-foreground\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma\n success: \"\",\n warning: \"\",\n error: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n sm: \"h-5 px-1 py-0.5 text-[10px] min-w-[20px]\",\n md: \"h-6 px-1.5 py-1 text-[12px] min-w-[24px]\",\n lg: \"h-6 px-1.5 py-1 text-[13px] min-w-[24px]\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]\" },\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n // Success\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-surface-success)] text-white\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n // Warning\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-surface-warnig)] text-black\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n // Error\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-surface-error)] text-white\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n // Info\n { variant: \"solid\", intent: \"info\", className: \"bg-[var(--color-surface-info)] text-white\" },\n { variant: \"soft\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]\" },\n { variant: \"surface\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n { variant: \"outline\", intent: \"info\", className: \"border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n // Neutral\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-9)] text-white\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]\" },\n ],\n defaultVariants: {\n variant: \"soft\",\n intent: \"neutral\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ninterface BadgeProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof badgeVariants> {\n asChild?: boolean\n}\n\nfunction Badge({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(badgeVariants({ variant, intent, size, radius }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n solid: \"\",\n soft: \"\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n ghost: \"bg-transparent\",\n link: \"bg-transparent underline-offset-4 hover:underline\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma green\n neutral: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n size: {\n xl: \"h-12 px-[18px] text-base gap-2\",\n lg: \"h-10 px-3.5 text-sm gap-1.5\",\n md: \"h-9 px-3 text-sm gap-1\",\n sm: \"h-8 px-3 text-sm gap-1\",\n xs: \"h-6 px-1.5 text-xs gap-0.5\",\n icon: \"size-9 p-0\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]\" },\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]\" },\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]\" },\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]\" },\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]\" },\n\n // Soft Intent\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]\" },\n\n // Surface Intent\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-11)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-blue-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-11)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-yellow-5)] text-[var(--color-green-11)] hover:bg-[var(--color-green-11)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-gray-alpha-1)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-11)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-11)]\" },\n\n // Outline Intent\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n\n // Ghost Intent\n { variant: \"ghost\", intent: \"primary\", className: \"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"ghost\", intent: \"neutral\", className: \"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"ghost\", intent: \"success\", className: \"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"ghost\", intent: \"warning\", className: \"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"ghost\", intent: \"error\", className: \"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n ],\n defaultVariants: {\n variant: \"solid\",\n intent: \"primary\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n Prettify<VariantProps<typeof buttonVariants>> {\n asChild?: boolean\n leftIcon?: React.ReactNode\n rightIcon?: React.ReactNode\n}\n\nfunction Button({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n leftIcon,\n rightIcon,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(buttonVariants({ variant, intent, size, radius, className }))}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {leftIcon && <span className=\"inline-flex shrink-0\">{leftIcon}</span>}\n {children}\n {rightIcon && <span className=\"inline-flex shrink-0\">{rightIcon}</span>}\n </>\n )}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('LoaderCircle', __iconNode);\n\nexport default LoaderCircle;\n","import { cn } from \"../lib/utils\"\nimport { Loader2Icon } from \"lucide-react\"\n\nfunction Spinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <Loader2Icon role=\"status\" aria-label=\"Loading\" className={cn(\"size-4 animate-spin\", className)} {...props} />\n )\n}\n\nexport { Spinner }\n"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {cva}from'class-variance-authority';import {Slot}from'@radix-ui/react-slot';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {forwardRef,createElement}from'react';function f(...e){return twMerge(clsx(e))}var k=cva("inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",{variants:{variant:{solid:"border-transparent",soft:"border-transparent text-foreground",surface:"border",outline:"border bg-transparent"},intent:{primary:"",accent:"",success:"",warning:"",error:"",info:"",neutral:""},size:{sm:"h-5 px-1 py-0.5 text-[10px] min-w-[20px]",md:"h-6 px-1.5 py-1 text-[12px] min-w-[24px]",lg:"h-6 px-1.5 py-1 text-[13px] min-w-[24px]"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-surface-success)] text-white"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"outline",intent:"success",className:"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-surface-warnig)] text-black"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-surface-error)] text-white"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"outline",intent:"error",className:"border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"solid",intent:"info",className:"bg-[var(--color-surface-info)] text-white"},{variant:"soft",intent:"info",className:"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]"},{variant:"surface",intent:"info",className:"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"outline",intent:"info",className:"border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-9)] text-white"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]"}],defaultVariants:{variant:"soft",intent:"neutral",size:"md",radius:"md"}});function E({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,...r}){return jsx(u?Slot:"span",{"data-slot":"badge","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(k({variant:a,intent:t,size:l,radius:o}),e),...r})}var D=cva("group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{solid:"",soft:"",surface:"border",outline:"border bg-transparent",ghost:"bg-transparent",link:"bg-transparent underline-offset-4 hover:underline"},intent:{primary:"",accent:"",neutral:"",success:"",warning:"",error:""},size:{xl:"h-12 px-[18px] text-base gap-2",lg:"h-10 px-3.5 text-sm gap-1.5",md:"h-9 px-3 text-sm gap-1",sm:"h-8 px-3 text-sm gap-1",xs:"h-6 px-1.5 text-xs gap-0.5",icon:"size-9 p-0"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"outline",intent:"success",className:"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"outline",intent:"error",className:"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"},{variant:"ghost",intent:"primary",className:"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"ghost",intent:"neutral",className:"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"ghost",intent:"success",className:"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"ghost",intent:"warning",className:"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"ghost",intent:"error",className:"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"}],defaultVariants:{variant:"solid",intent:"primary",size:"md",radius:"md"}});function J({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,leftIcon:r,rightIcon:s,children:i,...n}){return jsx(u?Slot:"button",{"data-slot":"button","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(D({variant:a,intent:t,size:l,radius:o,className:e})),...n,children:u?i:jsxs(Fragment,{children:[r&&jsx("span",{className:"inline-flex shrink-0",children:r}),i,s&&jsx("span",{className:"inline-flex shrink-0",children:s})]})})}var L=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var I={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var C=forwardRef(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:r,...s},i)=>createElement("svg",{ref:i,...I,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:c("lucide",l),...s},[...r.map(([n,m])=>createElement(n,m)),...Array.isArray(u)?u:[u]]));var g=(e,a)=>{let t=forwardRef(({className:o,...l},u)=>createElement(C,{ref:u,iconNode:a,className:c(`lucide-${L(e)}`,o),...l}));return t.displayName=`${e}`,t};var T=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],d=g("LoaderCircle",T);function pa({className:e,...a}){return jsx(d,{role:"status","aria-label":"Loading",className:f("size-4 animate-spin",e),...a})}/*! Bundled license information:
1
+ import {cva}from'class-variance-authority';import {Slot}from'@radix-ui/react-slot';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {forwardRef,createElement}from'react';function f(...e){return twMerge(clsx(e))}var k=cva("inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",{variants:{variant:{solid:"border-transparent",soft:"border-transparent text-foreground",surface:"border",outline:"border bg-transparent"},intent:{primary:"",accent:"",success:"",warning:"",error:"",info:"",neutral:""},size:{sm:"h-5 px-1 py-0.5 text-[10px] min-w-[20px]",md:"h-6 px-1.5 py-1 text-[12px] min-w-[24px]",lg:"h-6 px-1.5 py-1 text-[13px] min-w-[24px]"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-surface-success)] text-white"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"outline",intent:"success",className:"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-surface-warnig)] text-black"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-surface-error)] text-white"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"outline",intent:"error",className:"border-[var(--color-stroke-error)] text-[var(--color-text-error)]"},{variant:"solid",intent:"info",className:"bg-[var(--color-surface-info)] text-white"},{variant:"soft",intent:"info",className:"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]"},{variant:"surface",intent:"info",className:"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"outline",intent:"info",className:"border-[var(--color-stroke-info)] text-[var(--color-text-info)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-9)] text-white"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]"}],defaultVariants:{variant:"soft",intent:"neutral",size:"md",radius:"md"}});function E({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,...r}){return jsx(u?Slot:"span",{"data-slot":"badge","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(k({variant:a,intent:t,size:l,radius:o}),e),...r})}var D=cva("group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{solid:"",soft:"",surface:"border",outline:"border bg-transparent",ghost:"bg-transparent",link:"bg-transparent underline-offset-4 hover:underline"},intent:{primary:"",accent:"",neutral:"",success:"",warning:"",error:""},size:{xl:"h-12 px-[18px] text-base gap-2",lg:"h-10 px-3.5 text-sm gap-1.5",md:"h-9 px-3 text-sm gap-1",sm:"h-8 px-3 text-sm gap-1",xs:"h-6 px-1.5 text-xs gap-0.5",icon:"size-9 p-0"},radius:{none:"rounded-none",sm:"rounded-[4px]",md:"rounded-[6px]",lg:"rounded-[8px]",xl:"rounded-[8px]",full:"rounded-full"}},compoundVariants:[{variant:"solid",intent:"primary",className:"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]"},{variant:"solid",intent:"neutral",className:"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]"},{variant:"solid",intent:"success",className:"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]"},{variant:"solid",intent:"warning",className:"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]"},{variant:"solid",intent:"error",className:"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]"},{variant:"soft",intent:"primary",className:"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]"},{variant:"soft",intent:"neutral",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]"},{variant:"soft",intent:"success",className:"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]"},{variant:"soft",intent:"warning",className:"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]"},{variant:"soft",intent:"error",className:"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]"},{variant:"surface",intent:"primary",className:"bg-[var(--color-gray-alpha-3)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-11)]"},{variant:"surface",intent:"neutral",className:"bg-[var(--color-blue-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-11)]"},{variant:"surface",intent:"success",className:"bg-[var(--color-yellow-5)] text-[var(--color-green-11)] hover:bg-[var(--color-green-11)]"},{variant:"surface",intent:"warning",className:"bg-[var(--color-gray-alpha-1)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-11)]"},{variant:"surface",intent:"error",className:"bg-[var(--color-gray-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-11)]"},{variant:"outline",intent:"primary",className:"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"outline",intent:"neutral",className:"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"outline",intent:"success",className:"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"outline",intent:"warning",className:"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"outline",intent:"error",className:"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"},{variant:"ghost",intent:"primary",className:"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]"},{variant:"ghost",intent:"neutral",className:"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]"},{variant:"ghost",intent:"success",className:"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]"},{variant:"ghost",intent:"warning",className:"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]"},{variant:"ghost",intent:"error",className:"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]"}],defaultVariants:{variant:"solid",intent:"primary",size:"md",radius:"md"}});function J({className:e,variant:a,intent:t,radius:o,size:l,asChild:u=false,leftIcon:r,rightIcon:s,children:i,...n}){return jsx(u?Slot:"button",{"data-slot":"button","data-variant":a,"data-intent":t,"data-size":l,"data-radius":o,className:f(D({variant:a,intent:t,size:l,radius:o,className:e})),...n,children:u?i:jsxs(Fragment,{children:[r&&jsx("span",{className:"inline-flex shrink-0",children:r}),i,s&&jsx("span",{className:"inline-flex shrink-0",children:s})]})})}var L=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),c=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();var I={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var C=forwardRef(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:r,...s},i)=>createElement("svg",{ref:i,...I,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:c("lucide",l),...s},[...r.map(([n,m])=>createElement(n,m)),...Array.isArray(u)?u:[u]]));var g=(e,a)=>{let t=forwardRef(({className:o,...l},u)=>createElement(C,{ref:u,iconNode:a,className:c(`lucide-${L(e)}`,o),...l}));return t.displayName=`${e}`,t};var T=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],d=g("LoaderCircle",T);function pa({className:e,...a}){return jsx(d,{role:"status","aria-label":"Loading",className:f("size-4 animate-spin",e),...a})}/*! Bundled license information:
2
2
 
3
3
  lucide-react/dist/esm/shared/src/utils.js:
4
4
  lucide-react/dist/esm/defaultAttributes.js:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/badge.tsx","../src/components/button.tsx","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/shared/src/utils.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/Icon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../src/components/spinner.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","intent","radius","size","asChild","props","jsx","Slot","buttonVariants","Button","leftIcon","rightIcon","children","jsxs","Fragment","toKebabCase","string","mergeClasses","classes","index","array","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","ref","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","LoaderCircle","Spinner"],"mappings":"+OAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCCA,IAAMG,CAAAA,CAAgBC,GAAAA,CACpB,8KAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,KAAA,CAAO,oBAAA,CACP,IAAA,CAAM,qCACN,OAAA,CAAS,QAAA,CACT,OAAA,CAAS,uBACX,CAAA,CACA,MAAA,CAAQ,CACN,OAAA,CAAS,EAAA,CACT,MAAA,CAAQ,EAAA,CACR,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,GACT,KAAA,CAAO,EAAA,CACP,IAAA,CAAM,EAAA,CACN,OAAA,CAAS,EACX,EACA,IAAA,CAAM,CACJ,EAAA,CAAI,0CAAA,CACJ,EAAA,CAAI,0CAAA,CACJ,GAAI,0CACN,CAAA,CACA,MAAA,CAAQ,CACN,IAAA,CAAM,cAAA,CACN,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,KAAM,cACR,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAC1H,CAAE,QAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yGAA0G,CAAA,CAC9J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sEAAuE,EAE3H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,8CAA+C,CAAA,CACjG,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,UAAW,wGAAyG,CAAA,CAC7J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,UAAW,SAAA,CAAW,wEAAyE,CAAA,CAE7H,CAAE,OAAA,CAAS,OAAA,CAAS,OAAQ,SAAA,CAAW,SAAA,CAAW,6CAA8C,CAAA,CAChG,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,mEAAoE,CAAA,CACrH,CAAE,OAAA,CAAS,UAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,wGAAyG,CAAA,CAC7J,CAAE,QAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAE5H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,4CAA6C,CAAA,CAC7F,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,8DAA+D,EAC9G,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,iGAAkG,CAAA,CACpJ,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,mEAAoE,CAAA,CAEtH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,2CAA4C,CAAA,CAC3F,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,MAAA,CAAQ,UAAW,8DAA+D,CAAA,CAC7G,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,OAAQ,SAAA,CAAW,gGAAiG,CAAA,CAClJ,CAAE,OAAA,CAAS,SAAA,CAAW,OAAQ,MAAA,CAAQ,SAAA,CAAW,iEAAkE,CAAA,CAEnH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qCAAsC,CAAA,CACxF,CAAE,OAAA,CAAS,OAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,iEAAkE,CAAA,CACnH,CAAE,QAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sGAAuG,CAAA,CAC3J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yEAA0E,CAChI,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,MAAA,CACT,MAAA,CAAQ,SAAA,CACR,KAAM,IAAA,CACN,MAAA,CAAQ,IACV,CACF,CACF,EAQA,SAASC,CAAAA,CAAM,CACb,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,OAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,GAAGC,CACL,CAAA,CAAe,CAGb,OACEC,GAAAA,CAHWF,EAAUG,IAAAA,CAAO,MAAA,CAG3B,CACC,WAAA,CAAU,OAAA,CACV,cAAA,CAAcP,CAAAA,CACd,aAAA,CAAaC,CAAAA,CACb,WAAA,CAAWE,CAAAA,CACX,aAAA,CAAaD,CAAAA,CACb,SAAA,CAAWV,EAAGI,CAAAA,CAAc,CAAE,OAAA,CAAAI,CAAAA,CAAS,MAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAAE,CAAAA,CAAM,MAAA,CAAAD,CAAO,CAAC,CAAA,CAAGH,CAAS,CAAA,CACxE,GAAGM,CAAAA,CACN,CAEJ,CCrGA,IAAMG,CAAAA,CAAiBX,GAAAA,CACrB,4ZAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,KAAA,CAAO,GACP,IAAA,CAAM,EAAA,CACN,OAAA,CAAS,QAAA,CACT,OAAA,CAAS,uBAAA,CACT,KAAA,CAAO,gBAAA,CACP,IAAA,CAAM,mDACR,CAAA,CACA,MAAA,CAAQ,CACN,OAAA,CAAS,GACT,MAAA,CAAQ,EAAA,CACR,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,EAAA,CACT,OAAA,CAAS,EAAA,CACT,KAAA,CAAO,EACT,CAAA,CACA,IAAA,CAAM,CACJ,EAAA,CAAI,iCACJ,EAAA,CAAI,6BAAA,CACJ,EAAA,CAAI,wBAAA,CACJ,EAAA,CAAI,wBAAA,CACJ,GAAI,4BAAA,CACJ,IAAA,CAAM,YACR,CAAA,CACA,MAAA,CAAQ,CACN,KAAM,cAAA,CACN,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,EAAA,CAAI,eAAA,CACJ,IAAA,CAAM,cACR,CACF,CAAA,CACA,gBAAA,CAAkB,CAChB,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qEAAsE,CAAA,CACxH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,yKAA0K,CAAA,CAC5N,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uEAAwE,CAAA,CAC1H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,UAAW,yEAA0E,CAAA,CAC5H,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,QAAS,SAAA,CAAW,mEAAoE,CAAA,CAGpH,CAAE,OAAA,CAAS,MAAA,CAAQ,OAAQ,SAAA,CAAW,SAAA,CAAW,iGAAkG,CAAA,CACnJ,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,iGAAkG,CAAA,CACnJ,CAAE,OAAA,CAAS,OAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,oGAAqG,CAAA,CACtJ,CAAE,QAAS,MAAA,CAAQ,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,uGAAwG,CAAA,CACzJ,CAAE,OAAA,CAAS,MAAA,CAAQ,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,8FAA+F,CAAA,CAG9I,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qGAAsG,EAC1J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,qGAAsG,CAAA,CAC1J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,UAAW,wGAAyG,CAAA,CAC7J,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,2GAA4G,CAAA,CAChK,CAAE,OAAA,CAAS,SAAA,CAAW,MAAA,CAAQ,QAAS,SAAA,CAAW,kGAAmG,CAAA,CAGrJ,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,kEAAmE,CAAA,CACrH,CAAE,OAAA,CAAS,OAAA,CAAS,OAAQ,SAAA,CAAW,SAAA,CAAW,kEAAmE,CAAA,CACrH,CAAE,OAAA,CAAS,OAAA,CAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,oEAAqE,CAAA,CACvH,CAAE,OAAA,CAAS,QAAS,MAAA,CAAQ,SAAA,CAAW,SAAA,CAAW,sEAAuE,CAAA,CACzH,CAAE,QAAS,OAAA,CAAS,MAAA,CAAQ,OAAA,CAAS,SAAA,CAAW,gEAAiE,CACnH,EACA,eAAA,CAAiB,CACf,OAAA,CAAS,OAAA,CACT,MAAA,CAAQ,SAAA,CACR,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,IACV,CACF,CACF,EAcA,SAASY,EAAO,CACd,SAAA,CAAAV,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,SAAAM,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGP,CACL,CAAA,CAAgB,CAGd,OACEC,GAAAA,CAHWF,CAAAA,CAAUG,IAAAA,CAAO,QAAA,CAG3B,CACC,WAAA,CAAU,QAAA,CACV,cAAA,CAAcP,CAAAA,CACd,aAAA,CAAaC,CAAAA,CACb,YAAWE,CAAAA,CACX,aAAA,CAAaD,CAAAA,CACb,SAAA,CAAWV,CAAAA,CAAGgB,CAAAA,CAAe,CAAE,OAAA,CAAAR,CAAAA,CAAS,MAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAAE,CAAAA,CAAM,MAAA,CAAAD,CAAAA,CAAQ,SAAA,CAAAH,CAAU,CAAC,CAAC,CAAA,CACzE,GAAGM,EAEH,QAAA,CAAAD,CAAAA,CACCQ,CAAAA,CAEAC,IAAAA,CAAAC,QAAAA,CAAA,CACG,QAAA,CAAA,CAAAJ,CAAAA,EAAYJ,GAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAAI,CAAAA,CAAS,EAC7DE,CAAAA,CACAD,CAAAA,EAAaL,GAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAAK,CAAAA,CAAU,CAAA,CAAA,CAClE,CAAA,CAEJ,CAEJ,CCvHa,IAAAI,EAAeC,CAAAA,EAC1BA,CAAAA,CAAO,OAAA,CAAQ,oBAAA,CAAsB,OAAO,CAAA,CAAE,aAAY,CA+B/CC,CAAAA,CAAe,CAAA,GAA2CC,CAAAA,GACrEA,CAAAA,CACG,MAAA,CAAO,CAACnB,CAAAA,CAAWoB,CAAAA,CAAOC,CAAAA,GAEvB,CAAA,CAAQrB,CAAAA,EACPA,CAAAA,CAAqB,IAAA,EAAA,GAAW,EAAA,EACjCqB,CAAAA,CAAM,OAAA,CAAQrB,CAAS,CAAA,GAAMoB,CAEhC,EACA,IAAA,CAAK,GAAG,CAAA,CACR,IAAA,EAAK,CClDV,IAAeE,CAAAA,CAAA,CACb,KAAA,CAAO,4BAAA,CACP,KAAA,CAAO,EAAA,CACP,OAAQ,EAAA,CACR,OAAA,CAAS,WAAA,CACT,IAAA,CAAM,MAAA,CACN,MAAA,CAAQ,cAAA,CACR,WAAA,CAAa,CAAA,CACb,aAAA,CAAe,OAAA,CACf,cAAA,CAAgB,OAClB,CAAA,CCcA,IAAMC,CAAAA,CAAOC,UAAAA,CACX,CACE,CACE,KAAA,CAAAC,CAAAA,CAAQ,eACR,IAAA,CAAArB,CAAAA,CAAO,EAAA,CACP,WAAA,CAAAsB,CAAAA,CAAc,CAAA,CACd,oBAAAC,CAAAA,CACA,SAAA,CAAA3B,CAAAA,CAAY,EAAA,CACZ,QAAA,CAAAa,CAAAA,CACA,QAAA,CAAAe,CAAAA,CACA,GAAGC,CAAA,CAAA,CAELC,CAAAA,GAEOC,aAAAA,CACL,KAAA,CACA,CACE,GAAA,CAAAD,CAAAA,CACA,GAAGR,CAAAA,CACH,KAAA,CAAOlB,CAAAA,CACP,MAAA,CAAQA,CAAAA,CACR,MAAA,CAAQqB,CAAAA,CACR,WAAA,CAAaE,CAAAA,CAAuB,MAAA,CAAOD,CAAW,EAAI,EAAA,CAAM,MAAA,CAAOtB,CAAI,CAAA,CAAIsB,CAAAA,CAC/E,SAAA,CAAWR,CAAAA,CAAa,QAAA,CAAUlB,CAAS,CAAA,CAC3C,GAAG6B,CACL,CAAA,CACA,CACE,GAAGD,CAAAA,CAAS,GAAA,CAAI,CAAC,CAACI,CAAAA,CAAKC,CAAK,IAAMF,aAAAA,CAAcC,CAAAA,CAAKC,CAAK,CAAC,CAAA,CAC3D,GAAI,MAAM,OAAA,CAAQpB,CAAQ,CAAA,CAAIA,CAAAA,CAAW,CAACA,CAAQ,CACpD,CAAA,CAGN,CAAA,CC7CM,IAAAqB,CAAAA,CAAmB,CAACC,CAAAA,CAAkBP,IAAuB,CACjE,IAAMQ,CAAAA,CAAYZ,UAAAA,CAAuC,CAAC,CAAE,SAAA,CAAAxB,CAAAA,CAAW,GAAGM,CAAS,CAAA,CAAAwB,CAAAA,GACjFC,aAAAA,CAAcR,CAAAA,CAAM,CAClB,GAAA,CAAAO,CAAAA,CACA,QAAA,CAAAF,CAAAA,CACA,SAAA,CAAWV,CAAAA,CAAa,CAAA,OAAA,EAAUF,CAAAA,CAAYmB,CAAQ,CAAC,CAAA,CAAA,CAAInC,CAAS,CAAA,CACpE,GAAGM,CAAA,CACJ,CAAA,CAAA,CAGO,OAAA8B,CAAAA,CAAA,WAAA,CAAc,GAAGD,CAAQ,CAAA,CAAA,CAE5BC,CACT,CAAA,CCrBa,IAAAC,CAAAA,CAAuB,CAAC,CAAC,MAAA,CAAQ,CAAE,CAAA,CAAG,6BAAA,CAA+B,GAAA,CAAK,QAAS,CAAC,CAAC,CAAA,CAa5FC,CAAAA,CAAeJ,CAAAA,CAAiB,cAAA,CAAgBG,CAAU,ECbhE,SAASE,EAAAA,CAAQ,CAAE,SAAA,CAAAvC,CAAAA,CAAW,GAAGM,CAAM,CAAA,CAAgC,CACrE,OACEC,GAAAA,CAAC+B,EAAA,CAAY,IAAA,CAAK,QAAA,CAAS,YAAA,CAAW,SAAA,CAAU,SAAA,CAAW7C,CAAAA,CAAG,qBAAA,CAAuBO,CAAS,CAAA,CAAI,GAAGM,CAAAA,CAAO,CAEhH","file":"index.mjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n solid: \"border-transparent\",\n soft: \"border-transparent text-foreground\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma\n success: \"\",\n warning: \"\",\n error: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n sm: \"h-5 px-1 py-0.5 text-[10px] min-w-[20px]\",\n md: \"h-6 px-1.5 py-1 text-[12px] min-w-[24px]\",\n lg: \"h-6 px-1.5 py-1 text-[13px] min-w-[24px]\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]\" },\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n // Success\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-surface-success)] text-white\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n // Warning\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-surface-warnig)] text-black\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n // Error\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-surface-error)] text-white\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n // Info\n { variant: \"solid\", intent: \"info\", className: \"bg-[var(--color-surface-info)] text-white\" },\n { variant: \"soft\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]\" },\n { variant: \"surface\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n { variant: \"outline\", intent: \"info\", className: \"border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n // Neutral\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-9)] text-white\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]\" },\n ],\n defaultVariants: {\n variant: \"soft\",\n intent: \"neutral\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ninterface BadgeProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof badgeVariants> {\n asChild?: boolean\n}\n\nfunction Badge({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(badgeVariants({ variant, intent, size, radius }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n solid: \"\",\n soft: \"\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n ghost: \"bg-transparent\",\n link: \"bg-transparent underline-offset-4 hover:underline\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma green\n neutral: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n size: {\n xl: \"h-12 px-[18px] text-base gap-2\",\n lg: \"h-10 px-3.5 text-sm gap-1.5\",\n md: \"h-9 px-3 text-sm gap-1\",\n sm: \"h-8 px-3 text-sm gap-1\",\n xs: \"h-6 px-1.5 text-xs gap-0.5\",\n icon: \"size-9 p-0\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]\" },\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]\" },\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]\" },\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]\" },\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]\" },\n\n // Soft Intent\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]\" },\n\n // Outline Intent\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n\n // Ghost Intent\n { variant: \"ghost\", intent: \"primary\", className: \"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"ghost\", intent: \"neutral\", className: \"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"ghost\", intent: \"success\", className: \"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"ghost\", intent: \"warning\", className: \"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"ghost\", intent: \"error\", className: \"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n ],\n defaultVariants: {\n variant: \"solid\",\n intent: \"primary\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n Prettify<VariantProps<typeof buttonVariants>> {\n asChild?: boolean\n leftIcon?: React.ReactNode\n rightIcon?: React.ReactNode\n}\n\nfunction Button({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n leftIcon,\n rightIcon,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(buttonVariants({ variant, intent, size, radius, className }))}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {leftIcon && <span className=\"inline-flex shrink-0\">{leftIcon}</span>}\n {children}\n {rightIcon && <span className=\"inline-flex shrink-0\">{rightIcon}</span>}\n </>\n )}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('LoaderCircle', __iconNode);\n\nexport default LoaderCircle;\n","import { cn } from \"../lib/utils\"\nimport { Loader2Icon } from \"lucide-react\"\n\nfunction Spinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <Loader2Icon role=\"status\" aria-label=\"Loading\" className={cn(\"size-4 animate-spin\", className)} {...props} />\n )\n}\n\nexport { Spinner }\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/badge.tsx","../src/components/button.tsx","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/shared/src/utils.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/defaultAttributes.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/Icon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/createLucideIcon.ts","../../../node_modules/.pnpm/lucide-react@0.477.0_react@19.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../src/components/spinner.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","intent","radius","size","asChild","props","jsx","Slot","buttonVariants","Button","leftIcon","rightIcon","children","jsxs","Fragment","toKebabCase","string","mergeClasses","classes","index","array","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","ref","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","LoaderCircle","Spinner"],"mappings":"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","file":"index.mjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center gap-1 font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n {\n variants: {\n variant: {\n solid: \"border-transparent\",\n soft: \"border-transparent text-foreground\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma\n success: \"\",\n warning: \"\",\n error: \"\",\n info: \"\",\n neutral: \"\",\n },\n size: {\n sm: \"h-5 px-1 py-0.5 text-[10px] min-w-[20px]\",\n md: \"h-6 px-1.5 py-1 text-[12px] min-w-[24px]\",\n lg: \"h-6 px-1.5 py-1 text-[13px] min-w-[24px]\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-surface-focus)] text-[var(--color-text-focus-subtle)]\" },\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-surface-selected)] border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-stroke-selected)] text-[var(--color-text-focus)]\" },\n // Success\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-surface-success)] text-white\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-text-selected)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-stroke-success)] text-[var(--color-text-selected)]\" },\n // Warning\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-surface-warnig)] text-black\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] text-[var(--color-text-warning)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-1)] border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-stroke-warning)] text-[var(--color-text-warning)]\" },\n // Error\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-surface-error)] text-white\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] text-[var(--color-text-error)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-red-alpha-1)] border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-stroke-error)] text-[var(--color-text-error)]\" },\n // Info\n { variant: \"solid\", intent: \"info\", className: \"bg-[var(--color-surface-info)] text-white\" },\n { variant: \"soft\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] text-[var(--color-text-info)]\" },\n { variant: \"surface\", intent: \"info\", className: \"bg-[var(--color-blue-alpha-1)] border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n { variant: \"outline\", intent: \"info\", className: \"border-[var(--color-stroke-info)] text-[var(--color-text-info)]\" },\n // Neutral\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-9)] text-white\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-text-primary)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-3)] border-[var(--color-stroke-primary)] text-[var(--color-text-primary)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-stroke-primary)] text-[var(--color-text-secondary)]\" },\n ],\n defaultVariants: {\n variant: \"soft\",\n intent: \"neutral\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ninterface BadgeProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof badgeVariants> {\n asChild?: boolean\n}\n\nfunction Badge({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(badgeVariants({ variant, intent, size, radius }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center font-medium whitespace-nowrap transition-all outline-none select-none active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n solid: \"\",\n soft: \"\",\n surface: \"border\",\n outline: \"border bg-transparent\",\n ghost: \"bg-transparent\",\n link: \"bg-transparent underline-offset-4 hover:underline\",\n },\n intent: {\n primary: \"\",\n accent: \"\", // Alias for primary to match Figma green\n neutral: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n size: {\n xl: \"h-12 px-[18px] text-base gap-2\",\n lg: \"h-10 px-3.5 text-sm gap-1.5\",\n md: \"h-9 px-3 text-sm gap-1\",\n sm: \"h-8 px-3 text-sm gap-1\",\n xs: \"h-6 px-1.5 text-xs gap-0.5\",\n icon: \"size-9 p-0\",\n },\n radius: {\n none: \"rounded-none\",\n sm: \"rounded-[4px]\",\n md: \"rounded-[6px]\",\n lg: \"rounded-[8px]\",\n xl: \"rounded-[8px]\",\n full: \"rounded-full\",\n },\n },\n compoundVariants: [\n { variant: \"solid\", intent: \"primary\", className: \"bg-[var(--color-blue-10)] text-white hover:bg-[var(--color-blue-9)]\" },\n { variant: \"solid\", intent: \"neutral\", className: \"bg-[var(--color-gray-12)] text-white hover:bg-[var(--color-gray-11)] dark:bg-[var(--color-gray-2)] dark:text-[var(--color-gray-12)] dark:hover:bg-[var(--color-gray-3)]\" },\n { variant: \"solid\", intent: \"success\", className: \"bg-[var(--color-green-9)] text-white hover:bg-[var(--color-green-10)]\" },\n { variant: \"solid\", intent: \"warning\", className: \"bg-[var(--color-yellow-9)] text-white hover:bg-[var(--color-yellow-10)]\" },\n { variant: \"solid\", intent: \"error\", className: \"bg-[var(--color-red-9)] text-white hover:bg-[var(--color-red-10)]\" },\n\n // Soft Intent\n { variant: \"soft\", intent: \"primary\", className: \"bg-[var(--color-blue-alpha-2)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-3)]\" },\n { variant: \"soft\", intent: \"neutral\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-3)]\" },\n { variant: \"soft\", intent: \"success\", className: \"bg-[var(--color-green-alpha-2)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-3)]\" },\n { variant: \"soft\", intent: \"warning\", className: \"bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]\" },\n { variant: \"soft\", intent: \"error\", className: \"bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]\" },\n\n // Surface Intent\n { variant: \"surface\", intent: \"primary\", className: \"bg-[var(--color-gray-alpha-3)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-11)]\" },\n { variant: \"surface\", intent: \"neutral\", className: \"bg-[var(--color-blue-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-11)]\" },\n { variant: \"surface\", intent: \"success\", className: \"bg-[var(--color-yellow-5)] text-[var(--color-green-11)] hover:bg-[var(--color-green-11)]\" },\n { variant: \"surface\", intent: \"warning\", className: \"bg-[var(--color-gray-alpha-1)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-11)]\" },\n { variant: \"surface\", intent: \"error\", className: \"bg-[var(--color-gray-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-11)]\" },\n\n // Outline Intent\n { variant: \"outline\", intent: \"primary\", className: \"border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"outline\", intent: \"neutral\", className: \"border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"outline\", intent: \"success\", className: \"border-[var(--color-green-alpha-4)] text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"outline\", intent: \"warning\", className: \"border-[var(--color-yellow-alpha-4)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"outline\", intent: \"error\", className: \"border-[var(--color-red-alpha-4)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n\n // Ghost Intent\n { variant: \"ghost\", intent: \"primary\", className: \"text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]\" },\n { variant: \"ghost\", intent: \"neutral\", className: \"text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]\" },\n { variant: \"ghost\", intent: \"success\", className: \"text-[var(--color-green-11)] hover:bg-[var(--color-green-alpha-2)]\" },\n { variant: \"ghost\", intent: \"warning\", className: \"text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-2)]\" },\n { variant: \"ghost\", intent: \"error\", className: \"text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-2)]\" },\n ],\n defaultVariants: {\n variant: \"solid\",\n intent: \"primary\",\n size: \"md\",\n radius: \"md\",\n },\n }\n)\n\ntype Prettify<T> = {\n [K in keyof T]: T[K];\n} & {};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n Prettify<VariantProps<typeof buttonVariants>> {\n asChild?: boolean\n leftIcon?: React.ReactNode\n rightIcon?: React.ReactNode\n}\n\nfunction Button({\n className,\n variant,\n intent,\n radius,\n size,\n asChild = false,\n leftIcon,\n rightIcon,\n children,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-intent={intent}\n data-size={size}\n data-radius={radius}\n className={cn(buttonVariants({ variant, intent, size, radius, className }))}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {leftIcon && <span className=\"inline-flex shrink-0\">{leftIcon}</span>}\n {children}\n {rightIcon && <span className=\"inline-flex shrink-0\">{rightIcon}</span>}\n </>\n )}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('LoaderCircle', __iconNode);\n\nexport default LoaderCircle;\n","import { cn } from \"../lib/utils\"\nimport { Loader2Icon } from \"lucide-react\"\n\nfunction Spinner({ className, ...props }: React.ComponentProps<\"svg\">) {\n return (\n <Loader2Icon role=\"status\" aria-label=\"Loading\" className={cn(\"size-4 animate-spin\", className)} {...props} />\n )\n}\n\nexport { Spinner }\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@org-design-system/components",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "UI components for the @org-design-system",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -41,8 +41,8 @@
41
41
  "clsx": "^2.1.1",
42
42
  "tailwind-merge": "^3.0.2",
43
43
  "tailwindcss": "^4.0.0",
44
- "@org-design-system/icons": "0.1.13",
45
- "@org-design-system/styles": "0.1.13"
44
+ "@org-design-system/icons": "0.1.15",
45
+ "@org-design-system/styles": "0.1.15"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "react": ">=18",
@@ -55,6 +55,13 @@ const buttonVariants = cva(
55
55
  { variant: "soft", intent: "warning", className: "bg-[var(--color-yellow-alpha-2)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-alpha-3)]" },
56
56
  { variant: "soft", intent: "error", className: "bg-[var(--color-red-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-alpha-3)]" },
57
57
 
58
+ // Surface Intent
59
+ { variant: "surface", intent: "primary", className: "bg-[var(--color-gray-alpha-3)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-11)]" },
60
+ { variant: "surface", intent: "neutral", className: "bg-[var(--color-blue-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-11)]" },
61
+ { variant: "surface", intent: "success", className: "bg-[var(--color-yellow-5)] text-[var(--color-green-11)] hover:bg-[var(--color-green-11)]" },
62
+ { variant: "surface", intent: "warning", className: "bg-[var(--color-gray-alpha-1)] text-[var(--color-yellow-11)] hover:bg-[var(--color-yellow-11)]" },
63
+ { variant: "surface", intent: "error", className: "bg-[var(--color-gray-alpha-2)] text-[var(--color-red-11)] hover:bg-[var(--color-red-11)]" },
64
+
58
65
  // Outline Intent
59
66
  { variant: "outline", intent: "primary", className: "border-[var(--color-blue-alpha-4)] text-[var(--color-blue-11)] hover:bg-[var(--color-blue-alpha-2)]" },
60
67
  { variant: "outline", intent: "neutral", className: "border-[var(--color-gray-alpha-4)] text-[var(--color-gray-12)] hover:bg-[var(--color-gray-alpha-2)]" },