lizaui 8.0.7 → 8.0.8

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.
Files changed (80) hide show
  1. package/dist/button/index.cjs.js +1 -1
  2. package/dist/button/index.es.js +1 -1
  3. package/dist/calendar/index.cjs.js +10 -10
  4. package/dist/calendar/index.cjs.js.map +1 -1
  5. package/dist/calendar/index.es.js +1842 -1309
  6. package/dist/calendar/index.es.js.map +1 -1
  7. package/dist/checkbox/index.cjs.js +1 -1
  8. package/dist/checkbox/index.es.js +1 -1
  9. package/dist/chip/index.cjs.js +1 -1
  10. package/dist/chip/index.es.js +1 -1
  11. package/dist/chunks/{button-COC4E-Qv.js → button-CSuKvE1x.js} +4 -4
  12. package/dist/chunks/{button-COC4E-Qv.js.map → button-CSuKvE1x.js.map} +1 -1
  13. package/dist/chunks/{button-CGIs6rx_.js → button-OdZ6El_t.js} +2 -2
  14. package/dist/chunks/{button-CGIs6rx_.js.map → button-OdZ6El_t.js.map} +1 -1
  15. package/dist/chunks/{checkbox-C4O1CC2o.js → checkbox-BhW9i0pm.js} +3 -3
  16. package/dist/chunks/{checkbox-C4O1CC2o.js.map → checkbox-BhW9i0pm.js.map} +1 -1
  17. package/dist/chunks/{checkbox-C7iPXnsq.js → checkbox-CWDPVAn2.js} +2 -2
  18. package/dist/chunks/{checkbox-C7iPXnsq.js.map → checkbox-CWDPVAn2.js.map} +1 -1
  19. package/dist/chunks/{index-B_lLnyI9.js → index-6ER8bShj.js} +2 -2
  20. package/dist/chunks/{index-B_lLnyI9.js.map → index-6ER8bShj.js.map} +1 -1
  21. package/dist/chunks/{index-F6lXbxSB.js → index-BydcKEwP.js} +2 -2
  22. package/dist/chunks/{index-F6lXbxSB.js.map → index-BydcKEwP.js.map} +1 -1
  23. package/dist/chunks/{index-6UmdGTUS.js → index-Do-g2tEs.js} +2 -2
  24. package/dist/chunks/{index-6UmdGTUS.js.map → index-Do-g2tEs.js.map} +1 -1
  25. package/dist/chunks/{index-BJ7LndVf.js → index-VJ2Qvmen.js} +2 -2
  26. package/dist/chunks/{index-BJ7LndVf.js.map → index-VJ2Qvmen.js.map} +1 -1
  27. package/dist/chunks/jsx-runtime-BjzqJBtL.js +2 -0
  28. package/dist/chunks/{jsx-runtime-DZW6kfQG.js.map → jsx-runtime-BjzqJBtL.js.map} +1 -1
  29. package/dist/chunks/{jsx-runtime-Dk9ExdSX.js → jsx-runtime-Cl_4eDuT.js} +3 -2
  30. package/dist/chunks/{jsx-runtime-Dk9ExdSX.js.map → jsx-runtime-Cl_4eDuT.js.map} +1 -1
  31. package/dist/chunks/{label-error-wbavGDVw.js → label-error-Ax74Uy3M.js} +2 -2
  32. package/dist/chunks/{label-error-wbavGDVw.js.map → label-error-Ax74Uy3M.js.map} +1 -1
  33. package/dist/chunks/{label-error-Dg6_L7YY.js → label-error-DGQqDKTV.js} +2 -2
  34. package/dist/chunks/{label-error-Dg6_L7YY.js.map → label-error-DGQqDKTV.js.map} +1 -1
  35. package/dist/chunks/{ripple-DkVNrwwK.js → ripple-DMI95LHg.js} +2 -2
  36. package/dist/chunks/{ripple-DkVNrwwK.js.map → ripple-DMI95LHg.js.map} +1 -1
  37. package/dist/chunks/{ripple-S5nRL6TJ.js → ripple-DieNd7XQ.js} +2 -2
  38. package/dist/chunks/{ripple-S5nRL6TJ.js.map → ripple-DieNd7XQ.js.map} +1 -1
  39. package/dist/chunks/{scroll-area-DQDhB5AF.js → scroll-area-C8l3z7wv.js} +2 -2
  40. package/dist/chunks/{scroll-area-DQDhB5AF.js.map → scroll-area-C8l3z7wv.js.map} +1 -1
  41. package/dist/chunks/{scroll-area-DraFsZQz.js → scroll-area-zt_z9PRo.js} +5 -5
  42. package/dist/chunks/{scroll-area-DraFsZQz.js.map → scroll-area-zt_z9PRo.js.map} +1 -1
  43. package/dist/chunks/{select-oS2dnCk6.js → select-CC7ump6t.js} +2 -2
  44. package/dist/chunks/{select-oS2dnCk6.js.map → select-CC7ump6t.js.map} +1 -1
  45. package/dist/chunks/{select-BSKY8D4Z.js → select-qaP_vaF3.js} +5 -5
  46. package/dist/chunks/{select-BSKY8D4Z.js.map → select-qaP_vaF3.js.map} +1 -1
  47. package/dist/chunks/{styled-components.browser.esm-CxZkQVdi.js → styled-components.browser.esm-CAEXERbT.js} +2 -2
  48. package/dist/chunks/{styled-components.browser.esm-CxZkQVdi.js.map → styled-components.browser.esm-CAEXERbT.js.map} +1 -1
  49. package/dist/chunks/{styled-components.browser.esm-M-8MrVJR.js → styled-components.browser.esm-DwaG9BxE.js} +2 -2
  50. package/dist/chunks/{styled-components.browser.esm-M-8MrVJR.js.map → styled-components.browser.esm-DwaG9BxE.js.map} +1 -1
  51. package/dist/chunks/{textarea-COi5ngTN.js → textarea-BIy5pTb5.js} +5 -5
  52. package/dist/chunks/{textarea-COi5ngTN.js.map → textarea-BIy5pTb5.js.map} +1 -1
  53. package/dist/chunks/{textarea-99dejq_o.js → textarea-Cklud2kp.js} +2 -2
  54. package/dist/chunks/{textarea-99dejq_o.js.map → textarea-Cklud2kp.js.map} +1 -1
  55. package/dist/chunks/{tooltip-Bxodcuiq.js → tooltip-B-5G3VVC.js} +2 -2
  56. package/dist/chunks/{tooltip-Bxodcuiq.js.map → tooltip-B-5G3VVC.js.map} +1 -1
  57. package/dist/chunks/{tooltip-DWnKIv1c.js → tooltip-DGFz59KW.js} +2 -2
  58. package/dist/chunks/{tooltip-DWnKIv1c.js.map → tooltip-DGFz59KW.js.map} +1 -1
  59. package/dist/divider/index.cjs.js +1 -1
  60. package/dist/divider/index.es.js +2 -2
  61. package/dist/modal/index.cjs.js +1 -1
  62. package/dist/modal/index.es.js +2 -2
  63. package/dist/pagination/index.cjs.js +1 -1
  64. package/dist/pagination/index.es.js +4 -4
  65. package/dist/phone-input/index.cjs.js +1 -1
  66. package/dist/phone-input/index.es.js +6 -6
  67. package/dist/ripple/index.cjs.js +1 -1
  68. package/dist/ripple/index.es.js +1 -1
  69. package/dist/select-input/index.cjs.js +1 -1
  70. package/dist/select-input/index.es.js +3 -3
  71. package/dist/table/index.cjs.js +1 -1
  72. package/dist/table/index.es.js +3 -3
  73. package/dist/time-input/index.cjs.js +1 -1
  74. package/dist/time-input/index.es.js +5 -5
  75. package/dist/tooltip/index.cjs.js +1 -1
  76. package/dist/tooltip/index.es.js +1 -1
  77. package/dist/ui/index.cjs.js +1 -1
  78. package/dist/ui/index.es.js +11 -11
  79. package/package.json +1 -1
  80. package/dist/chunks/jsx-runtime-DZW6kfQG.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/checkbox-C7iPXnsq.js");exports.Checkbox=e.Checkbox;exports.CheckboxIcon=e.CheckboxIcon;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/checkbox-CWDPVAn2.js");exports.Checkbox=e.Checkbox;exports.CheckboxIcon=e.CheckboxIcon;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { C as c, a as e } from "../chunks/checkbox-C4O1CC2o.js";
1
+ import { C as c, a as e } from "../chunks/checkbox-BhW9i0pm.js";
2
2
  export {
3
3
  c as Checkbox,
4
4
  e as CheckboxIcon
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("clsx"),w=require("../chunks/tv-CLzaSzqw.js"),a=require("../chunks/variants-BUTPDD09.js"),y=require("../chunks/classes-P14wj2Ze.js"),o=require("../chunks/jsx-runtime-DZW6kfQG.js"),V=require("react");function j(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>s[e]})}}return t.default=s,Object.freeze(t)}const f=j(V),E=w.tv({slots:{base:["relative","max-w-fit","min-w-min","inline-flex","items-center","justify-between","box-border","whitespace-nowrap","font-normal"],content:"flex-1 text-inherit",dot:["w-2","h-2","ml-1","rounded-full"],avatar:"flex-shrink-0",closeButton:["z-10","appearance-none","outline-none","select-none","transition-opacity","opacity-70","hover:opacity-100","cursor-pointer","active:opacity-disabled","tap-highlight-transparent"]},variants:{variant:{solid:{},bordered:{base:"border-[2px] bg-transparent"},light:{base:"bg-transparent"},flat:{},faded:{base:"border-[2px]"},shadow:{},dot:{base:"border-[2px] border-default text-foreground bg-transparent"}},color:{default:{dot:"bg-default-400"},primary:{dot:"bg-primary"},secondary:{dot:"bg-secondary"},success:{dot:"bg-success"},warning:{dot:"bg-warning"},danger:{dot:"bg-danger"}},size:{sm:{base:"px-1 h-6 text-sm",content:"px-1",closeButton:"text-sm",avatar:"w-4 h-4"},md:{base:"px-1 h-7 text-sm",content:"px-2",closeButton:"text-lg",avatar:"w-5 h-5"},lg:{base:"px-2 h-8 text-md",content:"px-2",closeButton:"text-xl",avatar:"w-6 h-6"}},radius:{none:{base:"rounded-none"},sm:{base:"rounded-sm"},md:{base:"rounded-md"},lg:{base:"rounded-lg"},full:{base:"rounded-full"}},isOneChar:{true:{},false:{}},isCloseable:{true:{},false:{}},hasStartContent:{true:{}},hasEndContent:{true:{}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},isCloseButtonFocusVisible:{true:{closeButton:[...y.ringClasses,"ring-1","rounded-full"]}}},defaultVariants:{variant:"solid",color:"default",size:"md",radius:"full",isDisabled:!1},compoundVariants:[{variant:"solid",color:"default",class:{base:a.colorVariants.solid.default}},{variant:"solid",color:"primary",class:{base:a.colorVariants.solid.primary}},{variant:"solid",color:"secondary",class:{base:a.colorVariants.solid.secondary}},{variant:"solid",color:"success",class:{base:a.colorVariants.solid.success}},{variant:"solid",color:"warning",class:{base:a.colorVariants.solid.warning}},{variant:"solid",color:"danger",class:{base:a.colorVariants.solid.danger}},{variant:"shadow",color:"default",class:{base:a.colorVariants.shadow.default}},{variant:"shadow",color:"primary",class:{base:a.colorVariants.shadow.primary}},{variant:"shadow",color:"secondary",class:{base:a.colorVariants.shadow.secondary}},{variant:"shadow",color:"success",class:{base:a.colorVariants.shadow.success}},{variant:"shadow",color:"warning",class:{base:a.colorVariants.shadow.warning}},{variant:"shadow",color:"danger",class:{base:a.colorVariants.shadow.danger}},{variant:"bordered",color:"default",class:{base:a.colorVariants.bordered.default}},{variant:"bordered",color:"primary",class:{base:a.colorVariants.bordered.primary}},{variant:"bordered",color:"secondary",class:{base:a.colorVariants.bordered.secondary}},{variant:"bordered",color:"success",class:{base:a.colorVariants.bordered.success}},{variant:"bordered",color:"warning",class:{base:a.colorVariants.bordered.warning}},{variant:"bordered",color:"danger",class:{base:a.colorVariants.bordered.danger}},{variant:"flat",color:"default",class:{base:a.colorVariants.flat.default}},{variant:"flat",color:"primary",class:{base:a.colorVariants.flat.primary}},{variant:"flat",color:"secondary",class:{base:a.colorVariants.flat.secondary}},{variant:"flat",color:"success",class:{base:a.colorVariants.flat.success}},{variant:"flat",color:"warning",class:{base:a.colorVariants.flat.warning}},{variant:"flat",color:"danger",class:{base:a.colorVariants.flat.danger}},{variant:"faded",color:"default",class:{base:a.colorVariants.faded.default}},{variant:"faded",color:"primary",class:{base:a.colorVariants.faded.primary}},{variant:"faded",color:"secondary",class:{base:a.colorVariants.faded.secondary}},{variant:"faded",color:"success",class:{base:a.colorVariants.faded.success}},{variant:"faded",color:"warning",class:{base:a.colorVariants.faded.warning}},{variant:"faded",color:"danger",class:{base:a.colorVariants.faded.danger}},{variant:"light",color:"default",class:{base:a.colorVariants.light.default}},{variant:"light",color:"primary",class:{base:a.colorVariants.light.primary}},{variant:"light",color:"secondary",class:{base:a.colorVariants.light.secondary}},{variant:"light",color:"success",class:{base:a.colorVariants.light.success}},{variant:"light",color:"warning",class:{base:a.colorVariants.light.warning}},{variant:"light",color:"danger",class:{base:a.colorVariants.light.danger}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"sm",class:{base:"w-5 h-5 min-w-5 min-h-5"}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"md",class:{base:"w-6 h-6 min-w-6 min-h-6"}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"lg",class:{base:"w-7 h-7 min-w-7 min-h-7"}},{isOneChar:!0,isCloseable:!1,hasStartContent:!1,hasEndContent:!1,class:{base:"px-0 justify-center",content:"px-0 flex-none"}},{isOneChar:!0,isCloseable:!0,hasStartContent:!1,hasEndContent:!1,class:{base:"w-auto"}},{isOneChar:!0,variant:"dot",class:{base:"w-auto h-7 px-1 items-center",content:"px-2"}},{hasStartContent:!0,size:"sm",class:{content:"pl-0.5"}},{hasStartContent:!0,size:["md","lg"],class:{content:"pl-1"}},{hasEndContent:!0,size:"sm",class:{content:"pr-0.5"}},{hasEndContent:!0,size:["md","lg"],class:{content:"pr-1"}}]});function m(s){const{className:t,classNames:e,startContent:r,endContent:n,children:i,isCloseable:l,isOneChar:h,isDot:c,onClose:d,...u}=s,b=E({...u,isOneChar:h,isCloseable:l,hasStartContent:!!r,hasEndContent:!!n||!!l});return{Component:"div",slots:b,classNames:e,isDot:c,isCloseable:l,startContent:r,endContent:n,children:i,getChipProps:()=>({className:b.base({class:x(e?.base,t)}),...u}),getCloseButtonProps:()=>({className:b.closeButton({class:e?.closeButton}),tabIndex:0,role:"button","aria-label":"Close",onClick:C=>{C.stopPropagation(),d?.()}})}}const O=s=>o.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...s,children:o.jsxRuntimeExports.jsx("path",{d:"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z",fill:"currentColor"})}),v=f.forwardRef((s,t)=>{const{Component:e,children:r,slots:n,classNames:i,isDot:l,isCloseable:h,startContent:c,endContent:d,getCloseButtonProps:u,getChipProps:b}=m({...s,ref:t}),p=f.useMemo(()=>l&&!c?o.jsxRuntimeExports.jsx("span",{className:n.dot({class:i?.dot})}):c,[l,c,n,i]),g=f.useMemo(()=>h?o.jsxRuntimeExports.jsx("span",{...u(),children:d??o.jsxRuntimeExports.jsx(O,{})}):d,[h,d,u]);return o.jsxRuntimeExports.jsxs(e,{...b(),children:[p,o.jsxRuntimeExports.jsx("span",{className:n.content({class:i?.content}),children:r}),g]})});v.displayName="Custom.Chip";exports.Chip=v;exports.useChip=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("clsx"),w=require("../chunks/tv-CLzaSzqw.js"),a=require("../chunks/variants-BUTPDD09.js"),y=require("../chunks/classes-P14wj2Ze.js"),o=require("../chunks/jsx-runtime-BjzqJBtL.js"),V=require("react");function j(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:()=>s[e]})}}return t.default=s,Object.freeze(t)}const f=j(V),E=w.tv({slots:{base:["relative","max-w-fit","min-w-min","inline-flex","items-center","justify-between","box-border","whitespace-nowrap","font-normal"],content:"flex-1 text-inherit",dot:["w-2","h-2","ml-1","rounded-full"],avatar:"flex-shrink-0",closeButton:["z-10","appearance-none","outline-none","select-none","transition-opacity","opacity-70","hover:opacity-100","cursor-pointer","active:opacity-disabled","tap-highlight-transparent"]},variants:{variant:{solid:{},bordered:{base:"border-[2px] bg-transparent"},light:{base:"bg-transparent"},flat:{},faded:{base:"border-[2px]"},shadow:{},dot:{base:"border-[2px] border-default text-foreground bg-transparent"}},color:{default:{dot:"bg-default-400"},primary:{dot:"bg-primary"},secondary:{dot:"bg-secondary"},success:{dot:"bg-success"},warning:{dot:"bg-warning"},danger:{dot:"bg-danger"}},size:{sm:{base:"px-1 h-6 text-sm",content:"px-1",closeButton:"text-sm",avatar:"w-4 h-4"},md:{base:"px-1 h-7 text-sm",content:"px-2",closeButton:"text-lg",avatar:"w-5 h-5"},lg:{base:"px-2 h-8 text-md",content:"px-2",closeButton:"text-xl",avatar:"w-6 h-6"}},radius:{none:{base:"rounded-none"},sm:{base:"rounded-sm"},md:{base:"rounded-md"},lg:{base:"rounded-lg"},full:{base:"rounded-full"}},isOneChar:{true:{},false:{}},isCloseable:{true:{},false:{}},hasStartContent:{true:{}},hasEndContent:{true:{}},isDisabled:{true:{base:"opacity-disabled pointer-events-none"}},isCloseButtonFocusVisible:{true:{closeButton:[...y.ringClasses,"ring-1","rounded-full"]}}},defaultVariants:{variant:"solid",color:"default",size:"md",radius:"full",isDisabled:!1},compoundVariants:[{variant:"solid",color:"default",class:{base:a.colorVariants.solid.default}},{variant:"solid",color:"primary",class:{base:a.colorVariants.solid.primary}},{variant:"solid",color:"secondary",class:{base:a.colorVariants.solid.secondary}},{variant:"solid",color:"success",class:{base:a.colorVariants.solid.success}},{variant:"solid",color:"warning",class:{base:a.colorVariants.solid.warning}},{variant:"solid",color:"danger",class:{base:a.colorVariants.solid.danger}},{variant:"shadow",color:"default",class:{base:a.colorVariants.shadow.default}},{variant:"shadow",color:"primary",class:{base:a.colorVariants.shadow.primary}},{variant:"shadow",color:"secondary",class:{base:a.colorVariants.shadow.secondary}},{variant:"shadow",color:"success",class:{base:a.colorVariants.shadow.success}},{variant:"shadow",color:"warning",class:{base:a.colorVariants.shadow.warning}},{variant:"shadow",color:"danger",class:{base:a.colorVariants.shadow.danger}},{variant:"bordered",color:"default",class:{base:a.colorVariants.bordered.default}},{variant:"bordered",color:"primary",class:{base:a.colorVariants.bordered.primary}},{variant:"bordered",color:"secondary",class:{base:a.colorVariants.bordered.secondary}},{variant:"bordered",color:"success",class:{base:a.colorVariants.bordered.success}},{variant:"bordered",color:"warning",class:{base:a.colorVariants.bordered.warning}},{variant:"bordered",color:"danger",class:{base:a.colorVariants.bordered.danger}},{variant:"flat",color:"default",class:{base:a.colorVariants.flat.default}},{variant:"flat",color:"primary",class:{base:a.colorVariants.flat.primary}},{variant:"flat",color:"secondary",class:{base:a.colorVariants.flat.secondary}},{variant:"flat",color:"success",class:{base:a.colorVariants.flat.success}},{variant:"flat",color:"warning",class:{base:a.colorVariants.flat.warning}},{variant:"flat",color:"danger",class:{base:a.colorVariants.flat.danger}},{variant:"faded",color:"default",class:{base:a.colorVariants.faded.default}},{variant:"faded",color:"primary",class:{base:a.colorVariants.faded.primary}},{variant:"faded",color:"secondary",class:{base:a.colorVariants.faded.secondary}},{variant:"faded",color:"success",class:{base:a.colorVariants.faded.success}},{variant:"faded",color:"warning",class:{base:a.colorVariants.faded.warning}},{variant:"faded",color:"danger",class:{base:a.colorVariants.faded.danger}},{variant:"light",color:"default",class:{base:a.colorVariants.light.default}},{variant:"light",color:"primary",class:{base:a.colorVariants.light.primary}},{variant:"light",color:"secondary",class:{base:a.colorVariants.light.secondary}},{variant:"light",color:"success",class:{base:a.colorVariants.light.success}},{variant:"light",color:"warning",class:{base:a.colorVariants.light.warning}},{variant:"light",color:"danger",class:{base:a.colorVariants.light.danger}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"sm",class:{base:"w-5 h-5 min-w-5 min-h-5"}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"md",class:{base:"w-6 h-6 min-w-6 min-h-6"}},{isOneChar:!0,hasStartContent:!1,hasEndContent:!1,size:"lg",class:{base:"w-7 h-7 min-w-7 min-h-7"}},{isOneChar:!0,isCloseable:!1,hasStartContent:!1,hasEndContent:!1,class:{base:"px-0 justify-center",content:"px-0 flex-none"}},{isOneChar:!0,isCloseable:!0,hasStartContent:!1,hasEndContent:!1,class:{base:"w-auto"}},{isOneChar:!0,variant:"dot",class:{base:"w-auto h-7 px-1 items-center",content:"px-2"}},{hasStartContent:!0,size:"sm",class:{content:"pl-0.5"}},{hasStartContent:!0,size:["md","lg"],class:{content:"pl-1"}},{hasEndContent:!0,size:"sm",class:{content:"pr-0.5"}},{hasEndContent:!0,size:["md","lg"],class:{content:"pr-1"}}]});function m(s){const{className:t,classNames:e,startContent:r,endContent:n,children:i,isCloseable:l,isOneChar:h,isDot:c,onClose:d,...u}=s,b=E({...u,isOneChar:h,isCloseable:l,hasStartContent:!!r,hasEndContent:!!n||!!l});return{Component:"div",slots:b,classNames:e,isDot:c,isCloseable:l,startContent:r,endContent:n,children:i,getChipProps:()=>({className:b.base({class:x(e?.base,t)}),...u}),getCloseButtonProps:()=>({className:b.closeButton({class:e?.closeButton}),tabIndex:0,role:"button","aria-label":"Close",onClick:C=>{C.stopPropagation(),d?.()}})}}const O=s=>o.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",focusable:"false",height:"1em",role:"presentation",viewBox:"0 0 24 24",width:"1em",...s,children:o.jsxRuntimeExports.jsx("path",{d:"M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z",fill:"currentColor"})}),v=f.forwardRef((s,t)=>{const{Component:e,children:r,slots:n,classNames:i,isDot:l,isCloseable:h,startContent:c,endContent:d,getCloseButtonProps:u,getChipProps:b}=m({...s,ref:t}),p=f.useMemo(()=>l&&!c?o.jsxRuntimeExports.jsx("span",{className:n.dot({class:i?.dot})}):c,[l,c,n,i]),g=f.useMemo(()=>h?o.jsxRuntimeExports.jsx("span",{...u(),children:d??o.jsxRuntimeExports.jsx(O,{})}):d,[h,d,u]);return o.jsxRuntimeExports.jsxs(e,{...b(),children:[p,o.jsxRuntimeExports.jsx("span",{className:n.content({class:i?.content}),children:r}),g]})});v.displayName="Custom.Chip";exports.Chip=v;exports.useChip=m;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -2,7 +2,7 @@ import C from "clsx";
2
2
  import { t as v } from "../chunks/tv-3Bk5oRI_.js";
3
3
  import { c as a } from "../chunks/variants-DhZQjbsQ.js";
4
4
  import { r as w } from "../chunks/classes-7MXTIFwM.js";
5
- import { j as s } from "../chunks/jsx-runtime-Dk9ExdSX.js";
5
+ import { j as s } from "../chunks/jsx-runtime-Cl_4eDuT.js";
6
6
  import * as f from "react";
7
7
  const x = v({
8
8
  slots: {
@@ -1,4 +1,4 @@
1
- import { j as n } from "./jsx-runtime-Dk9ExdSX.js";
1
+ import { j as n } from "./jsx-runtime-Cl_4eDuT.js";
2
2
  import { useId as L, useMemo as N, useCallback as C, cloneElement as M, isValidElement as T, forwardRef as F } from "react";
3
3
  import { d as G } from "./assertion-CrT8p68K.js";
4
4
  import { u as H } from "./refs-DAOksVs3.js";
@@ -6,8 +6,8 @@ import { t as X } from "./tv-3Bk5oRI_.js";
6
6
  import { c as d, d as Y } from "./classes-7MXTIFwM.js";
7
7
  import { c as r } from "./variants-DhZQjbsQ.js";
8
8
  import q from "clsx";
9
- import { S as J } from "./index-6UmdGTUS.js";
10
- import { u as K, R as Q } from "./ripple-DkVNrwwK.js";
9
+ import { S as J } from "./index-Do-g2tEs.js";
10
+ import { u as K, R as Q } from "./ripple-DMI95LHg.js";
11
11
  const U = X({
12
12
  base: [
13
13
  "z-0",
@@ -525,4 +525,4 @@ export {
525
525
  $ as B,
526
526
  U as b
527
527
  };
528
- //# sourceMappingURL=button-COC4E-Qv.js.map
528
+ //# sourceMappingURL=button-CSuKvE1x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-COC4E-Qv.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","Component","fallbackSpinner","finalSpinner","Ripple"],"mappings":"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"}
1
+ {"version":3,"file":"button-CSuKvE1x.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","Component","fallbackSpinner","finalSpinner","Ripple"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("./jsx-runtime-DZW6kfQG.js"),n=require("react"),j=require("./assertion-C7nbUE-q.js"),T=require("./refs-pI64b4UC.js"),F=require("./tv-CLzaSzqw.js"),t=require("./classes-P14wj2Ze.js"),r=require("./variants-BUTPDD09.js"),H=require("clsx"),X=require("./index-B_lLnyI9.js"),C=require("./ripple-S5nRL6TJ.js"),R=F.tv({base:["z-0","cursor-pointer","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-none","select-none","whitespace-nowrap","min-w-max","font-medium","subpixel-antialiased","overflow-hidden","tap-highlight-transparent","transform-gpu data-[pressed=true]:scale-[0.97]",...t.dataFocusVisibleClasses],variants:{variant:{solid:"",bordered:"border-[2px] bg-transparent",light:"bg-transparent",flat:"",faded:"border-[2px]",shadow:"",ghost:"border-[2px] bg-transparent"},size:{sm:"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm",md:"px-4 min-w-20 h-10 text-sm gap-2 rounded-md",lg:"px-6 min-w-24 h-12 text-md gap-3 rounded-lg"},color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},fullWidth:{true:"w-full"},isDisabled:{true:"opacity-80 pointer-events-none"},isInGroup:{true:"[&:not(:first-child):not(:last-child)]:rounded-none"},isIconOnly:{true:"px-0 !gap-0",false:"[&>svg]:max-w-[theme(spacing.8)]"},disableAnimation:{true:"!transition-none data-[pressed=true]:scale-100",false:"transition-transform-colors-opacity motion-reduce:transition-none"}},defaultVariants:{size:"md",variant:"solid",color:"default",fullWidth:!1,isDisabled:!1,isInGroup:!1},compoundVariants:[{variant:"solid",color:"default",class:r.colorVariants.solid.default},{variant:"solid",color:"primary",class:r.colorVariants.solid.primary},{variant:"solid",color:"secondary",class:r.colorVariants.solid.secondary},{variant:"solid",color:"success",class:r.colorVariants.solid.success},{variant:"solid",color:"warning",class:r.colorVariants.solid.warning},{variant:"solid",color:"danger",class:r.colorVariants.solid.danger},{variant:"shadow",color:"default",class:r.colorVariants.shadow.default},{variant:"shadow",color:"primary",class:r.colorVariants.shadow.primary},{variant:"shadow",color:"secondary",class:r.colorVariants.shadow.secondary},{variant:"shadow",color:"success",class:r.colorVariants.shadow.success},{variant:"shadow",color:"warning",class:r.colorVariants.shadow.warning},{variant:"shadow",color:"danger",class:r.colorVariants.shadow.danger},{variant:"bordered",color:"default",class:r.colorVariants.bordered.default},{variant:"bordered",color:"primary",class:r.colorVariants.bordered.primary},{variant:"bordered",color:"secondary",class:r.colorVariants.bordered.secondary},{variant:"bordered",color:"success",class:r.colorVariants.bordered.success},{variant:"bordered",color:"warning",class:r.colorVariants.bordered.warning},{variant:"bordered",color:"danger",class:r.colorVariants.bordered.danger},{variant:"flat",color:"default",class:r.colorVariants.flat.default},{variant:"flat",color:"primary",class:r.colorVariants.flat.primary},{variant:"flat",color:"secondary",class:r.colorVariants.flat.secondary},{variant:"flat",color:"success",class:r.colorVariants.flat.success},{variant:"flat",color:"warning",class:r.colorVariants.flat.warning},{variant:"flat",color:"danger",class:r.colorVariants.flat.danger},{variant:"faded",color:"default",class:r.colorVariants.faded.default},{variant:"faded",color:"primary",class:r.colorVariants.faded.primary},{variant:"faded",color:"secondary",class:r.colorVariants.faded.secondary},{variant:"faded",color:"success",class:r.colorVariants.faded.success},{variant:"faded",color:"warning",class:r.colorVariants.faded.warning},{variant:"faded",color:"danger",class:r.colorVariants.faded.danger},{variant:"light",color:"default",class:[r.colorVariants.light.default,"data-[hover=true]:bg-default/40"]},{variant:"light",color:"primary",class:[r.colorVariants.light.primary,"data-[hover=true]:bg-primary/20"]},{variant:"light",color:"secondary",class:[r.colorVariants.light.secondary,"data-[hover=true]:bg-secondary/20"]},{variant:"light",color:"success",class:[r.colorVariants.light.success,"data-[hover=true]:bg-success/20"]},{variant:"light",color:"warning",class:[r.colorVariants.light.warning,"data-[hover=true]:bg-warning/20"]},{variant:"light",color:"danger",class:[r.colorVariants.light.danger,"data-[hover=true]:bg-danger/20"]},{variant:"ghost",color:"default",class:[r.colorVariants.ghost.default,"data-[hover=true]:!bg-default"]},{variant:"ghost",color:"primary",class:[r.colorVariants.ghost.primary,"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground"]},{variant:"ghost",color:"secondary",class:[r.colorVariants.ghost.secondary,"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground"]},{variant:"ghost",color:"success",class:[r.colorVariants.ghost.success,"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground"]},{variant:"ghost",color:"warning",class:[r.colorVariants.ghost.warning,"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground"]},{variant:"ghost",color:"danger",class:[r.colorVariants.ghost.danger,"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground"]},{isInGroup:!0,class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,size:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,isRounded:!0,class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,radius:"none",class:"rounded-none first:rounded-s-none last:rounded-e-none"},{isInGroup:!0,radius:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,radius:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,radius:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,radius:"full",class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,variant:["ghost","bordered"],color:"default",className:t.collapseAdjacentVariantBorders.default},{isInGroup:!0,variant:["ghost","bordered"],color:"primary",className:t.collapseAdjacentVariantBorders.primary},{isInGroup:!0,variant:["ghost","bordered"],color:"secondary",className:t.collapseAdjacentVariantBorders.secondary},{isInGroup:!0,variant:["ghost","bordered"],color:"success",className:t.collapseAdjacentVariantBorders.success},{isInGroup:!0,variant:["ghost","bordered"],color:"warning",className:t.collapseAdjacentVariantBorders.warning},{isInGroup:!0,variant:["ghost","bordered"],color:"danger",className:t.collapseAdjacentVariantBorders.danger},{isIconOnly:!0,size:"sm",class:"min-w-8 w-8 h-8"},{isIconOnly:!0,size:"md",class:"min-w-10 w-10 h-10"},{isIconOnly:!0,size:"lg",class:"min-w-12 w-12 h-12"},{variant:["solid","faded","flat","bordered","shadow"],class:"hover:opacity-80"}]});function Y(a){const{id:g,classNames:f,className:i,asChild:p,children:m,isLoading:e=!1,disabled:o=!1,isIconOnly:d=!1,onClick:c,startContent:h,endContent:v,spinner:b=null,spinnerPlacement:y="start",type:u="button",...N}=a,B=T.useDOMRef(a.ref),P=n.useId(),z=g||P,{onPress:A,onClear:w,ripples:V}=C.useRipple(),q=n.useMemo(()=>R({size:a.size,color:a.color,variant:a.variant,radius:a.radius,fullWidth:a.fullWidth,isDisabled:o||e,disableAnimation:a.disableAnimation,isIconOnly:d,isInGroup:a.isInGroup,className:i}),[a,i,o,e,d]),E=n.useCallback(s=>{if(o){s.preventDefault();return}c?.(s)},[c,o]),x=s=>n.isValidElement(s)?n.cloneElement(s,{}):null,D=x(h),O=x(v),k=s=>{const I=s.currentTarget.getBoundingClientRect(),M={target:s.currentTarget,x:s.clientX-I.left,y:s.clientY-I.top};A(M)},S=()=>({className:H(q,f?.base),"data-disabled":j.dataAttr(o),"data-loading":j.dataAttr(e),onClick:E,onPointerDown:k,"data-slot":"button","aria-disabled":o,id:z,type:u,...N}),W=n.useCallback(()=>({ripples:V,onClear:w}),[V,w]),L=p?X.Slot:"button";return{domRef:B,isIconOnly:d,Component:L,children:m,isLoading:e,spinner:b,spinnerPlacement:y,startContent:D,endContent:O,getButtonProps:S,getRippleProps:W}}const J=()=>l.jsxRuntimeExports.jsx("div",{"aria-label":"Loading",className:"relative inline-flex flex-col gap-2 items-center justify-center",children:l.jsxRuntimeExports.jsxs("div",{className:"relative flex w-5 h-5",children:[l.jsxRuntimeExports.jsx("i",{className:"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent"}),l.jsxRuntimeExports.jsx("i",{className:"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent"})]})}),G=n.forwardRef((a,g)=>{const{Component:f,domRef:i,children:p,isIconOnly:m,isLoading:e,spinner:o,spinnerPlacement:d,startContent:c,endContent:h,getButtonProps:v,getRippleProps:b}=Y({...a,ref:g}),y=n.useMemo(()=>l.jsxRuntimeExports.jsx(J,{}),[]),u=o??y;return l.jsxRuntimeExports.jsxs(f,{...v(),ref:i,children:[c,e&&d==="start"&&u,e&&m?null:p,e&&d==="end"&&u,h,l.jsxRuntimeExports.jsx(C.Ripple,{...b()})]})});G.displayName="Custom.Button";exports.Button=G;exports.button=R;
2
- //# sourceMappingURL=button-CGIs6rx_.js.map
1
+ "use strict";const l=require("./jsx-runtime-BjzqJBtL.js"),n=require("react"),j=require("./assertion-C7nbUE-q.js"),T=require("./refs-pI64b4UC.js"),F=require("./tv-CLzaSzqw.js"),t=require("./classes-P14wj2Ze.js"),r=require("./variants-BUTPDD09.js"),H=require("clsx"),X=require("./index-6ER8bShj.js"),C=require("./ripple-DieNd7XQ.js"),R=F.tv({base:["z-0","cursor-pointer","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-none","select-none","whitespace-nowrap","min-w-max","font-medium","subpixel-antialiased","overflow-hidden","tap-highlight-transparent","transform-gpu data-[pressed=true]:scale-[0.97]",...t.dataFocusVisibleClasses],variants:{variant:{solid:"",bordered:"border-[2px] bg-transparent",light:"bg-transparent",flat:"",faded:"border-[2px]",shadow:"",ghost:"border-[2px] bg-transparent"},size:{sm:"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm",md:"px-4 min-w-20 h-10 text-sm gap-2 rounded-md",lg:"px-6 min-w-24 h-12 text-md gap-3 rounded-lg"},color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},radius:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},fullWidth:{true:"w-full"},isDisabled:{true:"opacity-80 pointer-events-none"},isInGroup:{true:"[&:not(:first-child):not(:last-child)]:rounded-none"},isIconOnly:{true:"px-0 !gap-0",false:"[&>svg]:max-w-[theme(spacing.8)]"},disableAnimation:{true:"!transition-none data-[pressed=true]:scale-100",false:"transition-transform-colors-opacity motion-reduce:transition-none"}},defaultVariants:{size:"md",variant:"solid",color:"default",fullWidth:!1,isDisabled:!1,isInGroup:!1},compoundVariants:[{variant:"solid",color:"default",class:r.colorVariants.solid.default},{variant:"solid",color:"primary",class:r.colorVariants.solid.primary},{variant:"solid",color:"secondary",class:r.colorVariants.solid.secondary},{variant:"solid",color:"success",class:r.colorVariants.solid.success},{variant:"solid",color:"warning",class:r.colorVariants.solid.warning},{variant:"solid",color:"danger",class:r.colorVariants.solid.danger},{variant:"shadow",color:"default",class:r.colorVariants.shadow.default},{variant:"shadow",color:"primary",class:r.colorVariants.shadow.primary},{variant:"shadow",color:"secondary",class:r.colorVariants.shadow.secondary},{variant:"shadow",color:"success",class:r.colorVariants.shadow.success},{variant:"shadow",color:"warning",class:r.colorVariants.shadow.warning},{variant:"shadow",color:"danger",class:r.colorVariants.shadow.danger},{variant:"bordered",color:"default",class:r.colorVariants.bordered.default},{variant:"bordered",color:"primary",class:r.colorVariants.bordered.primary},{variant:"bordered",color:"secondary",class:r.colorVariants.bordered.secondary},{variant:"bordered",color:"success",class:r.colorVariants.bordered.success},{variant:"bordered",color:"warning",class:r.colorVariants.bordered.warning},{variant:"bordered",color:"danger",class:r.colorVariants.bordered.danger},{variant:"flat",color:"default",class:r.colorVariants.flat.default},{variant:"flat",color:"primary",class:r.colorVariants.flat.primary},{variant:"flat",color:"secondary",class:r.colorVariants.flat.secondary},{variant:"flat",color:"success",class:r.colorVariants.flat.success},{variant:"flat",color:"warning",class:r.colorVariants.flat.warning},{variant:"flat",color:"danger",class:r.colorVariants.flat.danger},{variant:"faded",color:"default",class:r.colorVariants.faded.default},{variant:"faded",color:"primary",class:r.colorVariants.faded.primary},{variant:"faded",color:"secondary",class:r.colorVariants.faded.secondary},{variant:"faded",color:"success",class:r.colorVariants.faded.success},{variant:"faded",color:"warning",class:r.colorVariants.faded.warning},{variant:"faded",color:"danger",class:r.colorVariants.faded.danger},{variant:"light",color:"default",class:[r.colorVariants.light.default,"data-[hover=true]:bg-default/40"]},{variant:"light",color:"primary",class:[r.colorVariants.light.primary,"data-[hover=true]:bg-primary/20"]},{variant:"light",color:"secondary",class:[r.colorVariants.light.secondary,"data-[hover=true]:bg-secondary/20"]},{variant:"light",color:"success",class:[r.colorVariants.light.success,"data-[hover=true]:bg-success/20"]},{variant:"light",color:"warning",class:[r.colorVariants.light.warning,"data-[hover=true]:bg-warning/20"]},{variant:"light",color:"danger",class:[r.colorVariants.light.danger,"data-[hover=true]:bg-danger/20"]},{variant:"ghost",color:"default",class:[r.colorVariants.ghost.default,"data-[hover=true]:!bg-default"]},{variant:"ghost",color:"primary",class:[r.colorVariants.ghost.primary,"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground"]},{variant:"ghost",color:"secondary",class:[r.colorVariants.ghost.secondary,"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground"]},{variant:"ghost",color:"success",class:[r.colorVariants.ghost.success,"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground"]},{variant:"ghost",color:"warning",class:[r.colorVariants.ghost.warning,"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground"]},{variant:"ghost",color:"danger",class:[r.colorVariants.ghost.danger,"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground"]},{isInGroup:!0,class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,size:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,size:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,isRounded:!0,class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,radius:"none",class:"rounded-none first:rounded-s-none last:rounded-e-none"},{isInGroup:!0,radius:"sm",class:"rounded-none first:rounded-s-small last:rounded-e-small"},{isInGroup:!0,radius:"md",class:"rounded-none first:rounded-s-medium last:rounded-e-medium"},{isInGroup:!0,radius:"lg",class:"rounded-none first:rounded-s-large last:rounded-e-large"},{isInGroup:!0,radius:"full",class:"rounded-none first:rounded-s-full last:rounded-e-full"},{isInGroup:!0,variant:["ghost","bordered"],color:"default",className:t.collapseAdjacentVariantBorders.default},{isInGroup:!0,variant:["ghost","bordered"],color:"primary",className:t.collapseAdjacentVariantBorders.primary},{isInGroup:!0,variant:["ghost","bordered"],color:"secondary",className:t.collapseAdjacentVariantBorders.secondary},{isInGroup:!0,variant:["ghost","bordered"],color:"success",className:t.collapseAdjacentVariantBorders.success},{isInGroup:!0,variant:["ghost","bordered"],color:"warning",className:t.collapseAdjacentVariantBorders.warning},{isInGroup:!0,variant:["ghost","bordered"],color:"danger",className:t.collapseAdjacentVariantBorders.danger},{isIconOnly:!0,size:"sm",class:"min-w-8 w-8 h-8"},{isIconOnly:!0,size:"md",class:"min-w-10 w-10 h-10"},{isIconOnly:!0,size:"lg",class:"min-w-12 w-12 h-12"},{variant:["solid","faded","flat","bordered","shadow"],class:"hover:opacity-80"}]});function Y(a){const{id:g,classNames:f,className:i,asChild:p,children:m,isLoading:e=!1,disabled:o=!1,isIconOnly:d=!1,onClick:c,startContent:h,endContent:v,spinner:b=null,spinnerPlacement:y="start",type:u="button",...N}=a,B=T.useDOMRef(a.ref),P=n.useId(),z=g||P,{onPress:A,onClear:w,ripples:V}=C.useRipple(),q=n.useMemo(()=>R({size:a.size,color:a.color,variant:a.variant,radius:a.radius,fullWidth:a.fullWidth,isDisabled:o||e,disableAnimation:a.disableAnimation,isIconOnly:d,isInGroup:a.isInGroup,className:i}),[a,i,o,e,d]),E=n.useCallback(s=>{if(o){s.preventDefault();return}c?.(s)},[c,o]),x=s=>n.isValidElement(s)?n.cloneElement(s,{}):null,D=x(h),O=x(v),k=s=>{const I=s.currentTarget.getBoundingClientRect(),M={target:s.currentTarget,x:s.clientX-I.left,y:s.clientY-I.top};A(M)},S=()=>({className:H(q,f?.base),"data-disabled":j.dataAttr(o),"data-loading":j.dataAttr(e),onClick:E,onPointerDown:k,"data-slot":"button","aria-disabled":o,id:z,type:u,...N}),W=n.useCallback(()=>({ripples:V,onClear:w}),[V,w]),L=p?X.Slot:"button";return{domRef:B,isIconOnly:d,Component:L,children:m,isLoading:e,spinner:b,spinnerPlacement:y,startContent:D,endContent:O,getButtonProps:S,getRippleProps:W}}const J=()=>l.jsxRuntimeExports.jsx("div",{"aria-label":"Loading",className:"relative inline-flex flex-col gap-2 items-center justify-center",children:l.jsxRuntimeExports.jsxs("div",{className:"relative flex w-5 h-5",children:[l.jsxRuntimeExports.jsx("i",{className:"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent"}),l.jsxRuntimeExports.jsx("i",{className:"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent"})]})}),G=n.forwardRef((a,g)=>{const{Component:f,domRef:i,children:p,isIconOnly:m,isLoading:e,spinner:o,spinnerPlacement:d,startContent:c,endContent:h,getButtonProps:v,getRippleProps:b}=Y({...a,ref:g}),y=n.useMemo(()=>l.jsxRuntimeExports.jsx(J,{}),[]),u=o??y;return l.jsxRuntimeExports.jsxs(f,{...v(),ref:i,children:[c,e&&d==="start"&&u,e&&m?null:p,e&&d==="end"&&u,h,l.jsxRuntimeExports.jsx(C.Ripple,{...b()})]})});G.displayName="Custom.Button";exports.Button=G;exports.button=R;
2
+ //# sourceMappingURL=button-OdZ6El_t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-CGIs6rx_.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","e","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Component","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","fallbackSpinner","finalSpinner","Ripple"],"mappings":"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"}
1
+ {"version":3,"file":"button-OdZ6El_t.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","e","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Component","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","fallbackSpinner","finalSpinner","Ripple"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { j as a } from "./jsx-runtime-Dk9ExdSX.js";
1
+ import { j as a } from "./jsx-runtime-Cl_4eDuT.js";
2
2
  import { useRef as C, useId as P, useMemo as I, useCallback as j, forwardRef as A, cloneElement as N } from "react";
3
- import { S as B } from "./index-6UmdGTUS.js";
3
+ import { S as B } from "./index-Do-g2tEs.js";
4
4
  import { t as W } from "./tv-3Bk5oRI_.js";
5
5
  import { h as z, g as L } from "./classes-7MXTIFwM.js";
6
6
  import { d as x } from "./assertion-CrT8p68K.js";
@@ -310,4 +310,4 @@ export {
310
310
  M as C,
311
311
  q as a
312
312
  };
313
- //# sourceMappingURL=checkbox-C4O1CC2o.js.map
313
+ //# sourceMappingURL=checkbox-BhW9i0pm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-C4O1CC2o.js","sources":["../../src/theme/color/checkbox.ts","../../src/components/checkbox/use-checkbox.ts","../../src/components/checkbox/checkbox-icon.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { groupDataFocusVisibleClasses, hiddenInputClasses } from \"../classes\";\n\n/**\n * Checkbox wrapper **Tailwind Variants** component\n *\n * const {base, wrapper, icon, label} = checkbox({...})\n *\n * @example\n * <label className={base())}>\n * // hidden input\n * <span className={wrapper()} aria-hidden=\"true\" data-selected={selected}>\n * <svg className={icon()}>\n * // check icon\n * </svg>\n * </span>\n * <span className={label()}>Label</span>\n * </label>\n */\nconst checkbox = tv({\n\tslots: {\n\t\tbase: \"group relative max-w-fit inline-flex items-center justify-start cursor-pointer tap-highlight-transparent p-2 -m-2 select-none\",\n\t\twrapper: [\n\t\t\t\"relative\",\n\t\t\t\"inline-flex\",\n\t\t\t\"items-center\",\n\t\t\t\"justify-center\",\n\t\t\t\"flex-shrink-0\",\n\t\t\t\"overflow-hidden\",\n\t\t\t// before\n\t\t\t\"before:content-['']\",\n\t\t\t\"before:absolute\",\n\t\t\t\"before:inset-0\",\n\t\t\t\"before:border-solid\",\n\t\t\t\"before:border-2\",\n\t\t\t\"before:box-border\",\n\t\t\t\"before:border-default\",\n\t\t\t// after\n\t\t\t\"after:content-['']\",\n\t\t\t\"after:absolute\",\n\t\t\t\"after:inset-0\",\n\t\t\t\"after:scale-50\",\n\t\t\t\"after:opacity-0\",\n\t\t\t\"after:origin-center\",\n\t\t\t\"group-data-[selected=true]:after:scale-100\",\n\t\t\t\"group-data-[selected=true]:after:opacity-100\",\n\t\t\t// hover\n\t\t\t\"group-data-[hover=true]:before:bg-default-100\",\n\t\t\t// focus ring\n\t\t\t...groupDataFocusVisibleClasses,\n\t\t],\n\t\thiddenInput: hiddenInputClasses,\n\t\ticon: \"z-10 w-4 h-3 opacity-0 group-data-[selected=true]:opacity-100 pointer-events-none\",\n\t\tlabel: \"relative text-foreground select-none\",\n\t},\n\tvariants: {\n\t\tcolor: {\n\t\t\tdefault: {\n\t\t\t\twrapper: \"after:bg-default after:text-default-foreground text-default-foreground\",\n\t\t\t},\n\t\t\tprimary: {\n\t\t\t\twrapper: \"after:bg-primary after:text-primary-foreground text-primary-foreground\",\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\twrapper: \"after:bg-secondary after:text-secondary-foreground text-secondary-foreground\",\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\twrapper: \"after:bg-success after:text-success-foreground text-success-foreground\",\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\twrapper: \"after:bg-warning after:text-warning-foreground text-warning-foreground\",\n\t\t\t},\n\t\t\tdanger: {\n\t\t\t\twrapper: \"after:bg-danger after:text-danger-foreground text-danger-foreground\",\n\t\t\t},\n\t\t},\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-4 h-4 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-small\",\n\t\t\t\ticon: \"w-3 h-2\",\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-5 h-5 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-medium\",\n\t\t\t\ticon: \"w-4 h-3\",\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-6 h-6 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-large\",\n\t\t\t\ticon: \"w-5 h-4\",\n\t\t\t},\n\t\t},\n\t\tradius: {\n\t\t\tnone: {\n\t\t\t\twrapper: \"rounded-none before:rounded-none after:rounded-none\",\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tfull: {\n\t\t\t\twrapper: \"rounded-full before:rounded-full after:rounded-full\",\n\t\t\t},\n\t\t},\n\t\tlineThrough: {\n\t\t\ttrue: {\n\t\t\t\tlabel: [\n\t\t\t\t\t\"inline-flex\",\n\t\t\t\t\t\"items-center\",\n\t\t\t\t\t\"justify-center\",\n\t\t\t\t\t\"before:content-['']\",\n\t\t\t\t\t\"before:absolute\",\n\t\t\t\t\t\"before:bg-foreground\",\n\t\t\t\t\t\"before:w-0\",\n\t\t\t\t\t\"before:h-0.5\",\n\t\t\t\t\t\"group-data-[selected=true]:opacity-60\",\n\t\t\t\t\t\"group-data-[selected=true]:before:w-full\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tdisabled: {\n\t\t\ttrue: {\n\t\t\t\tbase: \"opacity-80 pointer-events-none\",\n\t\t\t},\n\t\t},\n\t\tisInvalid: {\n\t\t\ttrue: {\n\t\t\t\twrapper: \"before:border-danger\",\n\t\t\t\tlabel: \"text-danger\",\n\t\t\t},\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: {\n\t\t\t\twrapper: \"transition-none\",\n\t\t\t\ticon: \"transition-none\",\n\t\t\t\tlabel: \"transition-none\",\n\t\t\t},\n\t\t\tfalse: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"before:transition-colors\",\n\t\t\t\t\t\"group-data-[pressed=true]:scale-95\",\n\t\t\t\t\t\"transition-transform\",\n\t\t\t\t\t\"after:transition-transform-opacity\",\n\t\t\t\t\t\"after:!ease-linear\",\n\t\t\t\t\t\"after:!duration-200\",\n\t\t\t\t\t\"motion-reduce:transition-none\",\n\t\t\t\t],\n\t\t\t\ticon: \"transition-opacity motion-reduce:transition-none\",\n\t\t\t\tlabel: \"transition-colors-opacity before:transition-width motion-reduce:transition-none\",\n\t\t\t},\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tcolor: \"primary\",\n\t\tsize: \"md\",\n\t\tdisabled: false,\n\t\tlineThrough: false,\n\t},\n});\n\nexport type CheckboxVariantProps = VariantProps<typeof checkbox>;\nexport type CheckboxSlots = keyof ReturnType<typeof checkbox>;\n\nexport { checkbox };\n","import { useCallback, useId, useMemo, useRef, type ChangeEvent } from \"react\";\r\n\r\nimport { checkbox, type CheckboxSlots, type CheckboxVariantProps } from \"@/theme/color/checkbox\";\r\nimport type { SlotsToClasses } from \"@/types\";\r\nimport { dataAttr, mergeRefs } from \"@/functions\";\r\nimport clsx from \"clsx\";\r\n\r\nexport interface UseCheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof CheckboxVariantProps>, CheckboxVariantProps {\r\n\tclassNames?: SlotsToClasses<CheckboxSlots>;\r\n\tclassName?: string;\r\n\ticon?: React.ReactNode | ((props: CheckboxIconProps) => React.ReactNode);\r\n\tchildren?: React.ReactNode;\r\n\tisIndeterminate?: boolean;\r\n\tref?: React.Ref<HTMLInputElement>;\r\n\terror?: string;\r\n\ttouched?: boolean;\r\n\trequired?: boolean;\r\n}\r\n\r\nexport interface CheckboxIconProps {\r\n\tid?: string;\r\n\tisSelected: boolean;\r\n\tisIndeterminate?: boolean;\r\n\tdisableAnimation?: boolean;\r\n\tclassName?: string;\r\n}\r\n\r\nexport function useCheckbox(props: UseCheckboxProps) {\r\n\tconst {\r\n\t\tid,\r\n\t\tclassNames,\r\n\t\tclassName,\r\n\t\ticon,\r\n\t\tchildren,\r\n\t\tdisabled,\r\n\t\trequired,\r\n\t\treadOnly,\r\n\t\tdefaultChecked,\r\n\t\tchecked,\r\n\t\terror,\r\n\t\ttouched,\r\n\t\tonChange,\r\n\t\tisIndeterminate = false,\r\n\t} = props;\r\n\r\n\tconst internalRef = useRef<HTMLInputElement>(null);\r\n\tconst inputId = useId();\r\n\tconst resolvedId = id || inputId;\r\n\r\n\tconst [isSelected] = useMemo(() => {\r\n\t\treturn [typeof checked === \"boolean\" ? checked : defaultChecked || false, () => {}];\r\n\t}, [checked, defaultChecked]);\r\n\r\n\tconst handleChange = useCallback(\r\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\r\n\t\t\tif (readOnly || disabled) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tonChange?.(e);\r\n\t\t},\r\n\t\t[onChange, readOnly, disabled],\r\n\t);\r\n\r\n\tconst slots = useMemo(\r\n\t\t() =>\r\n\t\t\tcheckbox({\r\n\t\t\t\tcolor: props.color,\r\n\t\t\t\tsize: props.size,\r\n\t\t\t\tradius: props.radius,\r\n\t\t\t\tlineThrough: props.lineThrough,\r\n\t\t\t\tdisabled: disabled,\r\n\t\t\t\tisInvalid: !!error && touched,\r\n\t\t\t\tdisableAnimation: props.disableAnimation,\r\n\t\t\t}),\r\n\t\t[props, disabled, error, touched],\r\n\t);\r\n\r\n\tconst getBaseProps = () => ({\r\n\t\t\"className\": slots.base({ class: clsx(classNames?.base, className) }),\r\n\t\t\"data-disabled\": dataAttr(disabled),\r\n\t\t\"data-selected\": dataAttr(isSelected || isIndeterminate),\r\n\t});\r\n\r\n\tconst getWrapperProps = () => ({\r\n\t\t\"aria-hidden\": true,\r\n\t\t\"className\": slots.wrapper({ class: classNames?.wrapper }),\r\n\t\t\"data-selected\": dataAttr(isSelected || isIndeterminate),\r\n\t});\r\n\r\n\tconst getInputProps = () => ({\r\n\t\tref: mergeRefs(internalRef, props.ref),\r\n\t\ttype: \"checkbox\",\r\n\t\tid: resolvedId,\r\n\t\tdefaultChecked: checked === undefined ? defaultChecked : undefined,\r\n\t\tchecked: checked !== undefined ? checked : undefined,\r\n\t\tdisabled,\r\n\t\trequired,\r\n\t\treadOnly,\r\n\t\tonChange: handleChange,\r\n\t\tclassName: slots.hiddenInput({ class: classNames?.hiddenInput }),\r\n\t});\r\n\r\n\tconst getLabelProps = () => ({\r\n\t\thtmlFor: resolvedId,\r\n\t\tclassName: slots.label({ class: classNames?.label }),\r\n\t});\r\n\r\n\tconst getIconProps = (): CheckboxIconProps => ({\r\n\t\tisSelected,\r\n\t\tisIndeterminate,\r\n\t\tdisableAnimation: props.disableAnimation,\r\n\t\tclassName: slots.icon({ class: classNames?.icon }),\r\n\t});\r\n\r\n\tconst Component = \"label\";\r\n\r\n\treturn {\r\n\t\tComponent,\r\n\t\ticon,\r\n\t\tchildren,\r\n\t\tisSelected,\r\n\t\tisIndeterminate,\r\n\t\tgetBaseProps,\r\n\t\tgetWrapperProps,\r\n\t\tgetInputProps,\r\n\t\tgetLabelProps,\r\n\t\tgetIconProps,\r\n\t};\r\n}\r\n\r\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>;\r\n","import type { UseCheckboxReturn } from \"./use-checkbox\";\n\ntype CheckboxIconProps = Partial<ReturnType<UseCheckboxReturn[\"getIconProps\"]>>;\n\nfunction CheckIcon(props: CheckboxIconProps) {\n\tconst { isSelected, disableAnimation, ...otherProps } = props;\n\n\treturn (\n\t\t<svg\n\t\t\taria-hidden=\"true\"\n\t\t\tfill=\"none\"\n\t\t\trole=\"presentation\"\n\t\t\tstroke=\"currentColor\"\n\t\t\tstrokeDasharray={22}\n\t\t\tstrokeDashoffset={isSelected ? 44 : 66}\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t\tstrokeWidth={2}\n\t\t\tstyle={\n\t\t\t\t!disableAnimation && isSelected\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttransition: \"stroke-dashoffset 250ms linear 0.2s\",\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\tviewBox=\"0 0 17 18\"\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<polyline points=\"1 9 7 14 15 4\" />\n\t\t</svg>\n\t);\n}\n\nfunction IndeterminateIcon(props: CheckboxIconProps) {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst { isSelected, disableAnimation, ...otherProps } = props;\n\n\treturn (\n\t\t<svg stroke=\"currentColor\" strokeWidth={3} viewBox=\"0 0 24 24\" {...otherProps}>\n\t\t\t<line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n\t\t</svg>\n\t);\n}\n\n/**\n * CheckboxIcon is used to visually indicate the checked or indeterminate\n * state of a checkbox.\n */\nexport function CheckboxIcon(props: CheckboxIconProps) {\n\tconst { isIndeterminate, ...otherProps } = props;\n\tconst BaseIcon = isIndeterminate ? IndeterminateIcon : CheckIcon;\n\n\treturn <BaseIcon {...otherProps} />;\n}\n","// checkbox.tsx\r\nimport { forwardRef } from \"react\";\r\nimport { cloneElement, type ReactElement } from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\n\r\nimport { useCheckbox, type UseCheckboxProps } from \"./use-checkbox\";\r\nimport { CheckboxIcon } from \"./checkbox-icon\";\r\n\r\nexport interface CheckboxProps extends UseCheckboxProps {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\r\n\tconst { asChild = false, ...restProps } = props;\r\n\tconst {\r\n\t\tComponent,\r\n\t\tchildren,\r\n\t\ticon = <CheckboxIcon />,\r\n\t\tgetBaseProps,\r\n\t\tgetWrapperProps,\r\n\t\tgetInputProps,\r\n\t\tgetIconProps,\r\n\t\tgetLabelProps,\r\n\t} = useCheckbox({ ...restProps, ref });\r\n\r\n\tconst clonedIcon = typeof icon === \"function\" ? icon(getIconProps()) : cloneElement(icon as ReactElement, getIconProps());\r\n\r\n\tconst Wrapper = asChild ? Slot : Component;\r\n\r\n\treturn (\r\n\t\t<Wrapper {...getBaseProps()}>\r\n\t\t\t<input {...getInputProps()} ref={ref} />\r\n\t\t\t<span {...getWrapperProps()}>{clonedIcon}</span>\r\n\t\t\t{children && <span {...getLabelProps()}>{children}</span>}\r\n\t\t</Wrapper>\r\n\t);\r\n});\r\n\r\nCheckbox.displayName = \"Custom.Checkbox\";\r\n\r\nexport default Checkbox;\r\n"],"names":["checkbox","tv","groupDataFocusVisibleClasses","hiddenInputClasses","useCheckbox","props","id","classNames","className","icon","children","disabled","required","readOnly","defaultChecked","checked","error","touched","onChange","isIndeterminate","internalRef","useRef","inputId","useId","resolvedId","isSelected","useMemo","handleChange","useCallback","e","slots","clsx","dataAttr","mergeRefs","CheckIcon","disableAnimation","otherProps","jsx","IndeterminateIcon","CheckboxIcon","BaseIcon","Checkbox","forwardRef","ref","asChild","restProps","Component","getBaseProps","getWrapperProps","getInputProps","getIconProps","getLabelProps","clonedIcon","cloneElement","Wrapper","Slot","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox-BhW9i0pm.js","sources":["../../src/theme/color/checkbox.ts","../../src/components/checkbox/use-checkbox.ts","../../src/components/checkbox/checkbox-icon.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { groupDataFocusVisibleClasses, hiddenInputClasses } from \"../classes\";\n\n/**\n * Checkbox wrapper **Tailwind Variants** component\n *\n * const {base, wrapper, icon, label} = checkbox({...})\n *\n * @example\n * <label className={base())}>\n * // hidden input\n * <span className={wrapper()} aria-hidden=\"true\" data-selected={selected}>\n * <svg className={icon()}>\n * // check icon\n * </svg>\n * </span>\n * <span className={label()}>Label</span>\n * </label>\n */\nconst checkbox = tv({\n\tslots: {\n\t\tbase: \"group relative max-w-fit inline-flex items-center justify-start cursor-pointer tap-highlight-transparent p-2 -m-2 select-none\",\n\t\twrapper: [\n\t\t\t\"relative\",\n\t\t\t\"inline-flex\",\n\t\t\t\"items-center\",\n\t\t\t\"justify-center\",\n\t\t\t\"flex-shrink-0\",\n\t\t\t\"overflow-hidden\",\n\t\t\t// before\n\t\t\t\"before:content-['']\",\n\t\t\t\"before:absolute\",\n\t\t\t\"before:inset-0\",\n\t\t\t\"before:border-solid\",\n\t\t\t\"before:border-2\",\n\t\t\t\"before:box-border\",\n\t\t\t\"before:border-default\",\n\t\t\t// after\n\t\t\t\"after:content-['']\",\n\t\t\t\"after:absolute\",\n\t\t\t\"after:inset-0\",\n\t\t\t\"after:scale-50\",\n\t\t\t\"after:opacity-0\",\n\t\t\t\"after:origin-center\",\n\t\t\t\"group-data-[selected=true]:after:scale-100\",\n\t\t\t\"group-data-[selected=true]:after:opacity-100\",\n\t\t\t// hover\n\t\t\t\"group-data-[hover=true]:before:bg-default-100\",\n\t\t\t// focus ring\n\t\t\t...groupDataFocusVisibleClasses,\n\t\t],\n\t\thiddenInput: hiddenInputClasses,\n\t\ticon: \"z-10 w-4 h-3 opacity-0 group-data-[selected=true]:opacity-100 pointer-events-none\",\n\t\tlabel: \"relative text-foreground select-none\",\n\t},\n\tvariants: {\n\t\tcolor: {\n\t\t\tdefault: {\n\t\t\t\twrapper: \"after:bg-default after:text-default-foreground text-default-foreground\",\n\t\t\t},\n\t\t\tprimary: {\n\t\t\t\twrapper: \"after:bg-primary after:text-primary-foreground text-primary-foreground\",\n\t\t\t},\n\t\t\tsecondary: {\n\t\t\t\twrapper: \"after:bg-secondary after:text-secondary-foreground text-secondary-foreground\",\n\t\t\t},\n\t\t\tsuccess: {\n\t\t\t\twrapper: \"after:bg-success after:text-success-foreground text-success-foreground\",\n\t\t\t},\n\t\t\twarning: {\n\t\t\t\twrapper: \"after:bg-warning after:text-warning-foreground text-warning-foreground\",\n\t\t\t},\n\t\t\tdanger: {\n\t\t\t\twrapper: \"after:bg-danger after:text-danger-foreground text-danger-foreground\",\n\t\t\t},\n\t\t},\n\t\tsize: {\n\t\t\tsm: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-4 h-4 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-small\",\n\t\t\t\ticon: \"w-3 h-2\",\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-5 h-5 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-medium\",\n\t\t\t\ticon: \"w-4 h-3\",\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"w-6 h-6 me-2\",\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t],\n\t\t\t\tlabel: \"text-large\",\n\t\t\t\ticon: \"w-5 h-4\",\n\t\t\t},\n\t\t},\n\t\tradius: {\n\t\t\tnone: {\n\t\t\t\twrapper: \"rounded-none before:rounded-none after:rounded-none\",\n\t\t\t},\n\t\t\tsm: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.5)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tmd: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.6)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tlg: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"before:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t\t\"after:rounded-[calc(theme(borderRadius.medium)*0.7)]\",\n\t\t\t\t],\n\t\t\t},\n\t\t\tfull: {\n\t\t\t\twrapper: \"rounded-full before:rounded-full after:rounded-full\",\n\t\t\t},\n\t\t},\n\t\tlineThrough: {\n\t\t\ttrue: {\n\t\t\t\tlabel: [\n\t\t\t\t\t\"inline-flex\",\n\t\t\t\t\t\"items-center\",\n\t\t\t\t\t\"justify-center\",\n\t\t\t\t\t\"before:content-['']\",\n\t\t\t\t\t\"before:absolute\",\n\t\t\t\t\t\"before:bg-foreground\",\n\t\t\t\t\t\"before:w-0\",\n\t\t\t\t\t\"before:h-0.5\",\n\t\t\t\t\t\"group-data-[selected=true]:opacity-60\",\n\t\t\t\t\t\"group-data-[selected=true]:before:w-full\",\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\tdisabled: {\n\t\t\ttrue: {\n\t\t\t\tbase: \"opacity-80 pointer-events-none\",\n\t\t\t},\n\t\t},\n\t\tisInvalid: {\n\t\t\ttrue: {\n\t\t\t\twrapper: \"before:border-danger\",\n\t\t\t\tlabel: \"text-danger\",\n\t\t\t},\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: {\n\t\t\t\twrapper: \"transition-none\",\n\t\t\t\ticon: \"transition-none\",\n\t\t\t\tlabel: \"transition-none\",\n\t\t\t},\n\t\t\tfalse: {\n\t\t\t\twrapper: [\n\t\t\t\t\t\"before:transition-colors\",\n\t\t\t\t\t\"group-data-[pressed=true]:scale-95\",\n\t\t\t\t\t\"transition-transform\",\n\t\t\t\t\t\"after:transition-transform-opacity\",\n\t\t\t\t\t\"after:!ease-linear\",\n\t\t\t\t\t\"after:!duration-200\",\n\t\t\t\t\t\"motion-reduce:transition-none\",\n\t\t\t\t],\n\t\t\t\ticon: \"transition-opacity motion-reduce:transition-none\",\n\t\t\t\tlabel: \"transition-colors-opacity before:transition-width motion-reduce:transition-none\",\n\t\t\t},\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tcolor: \"primary\",\n\t\tsize: \"md\",\n\t\tdisabled: false,\n\t\tlineThrough: false,\n\t},\n});\n\nexport type CheckboxVariantProps = VariantProps<typeof checkbox>;\nexport type CheckboxSlots = keyof ReturnType<typeof checkbox>;\n\nexport { checkbox };\n","import { useCallback, useId, useMemo, useRef, type ChangeEvent } from \"react\";\r\n\r\nimport { checkbox, type CheckboxSlots, type CheckboxVariantProps } from \"@/theme/color/checkbox\";\r\nimport type { SlotsToClasses } from \"@/types\";\r\nimport { dataAttr, mergeRefs } from \"@/functions\";\r\nimport clsx from \"clsx\";\r\n\r\nexport interface UseCheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof CheckboxVariantProps>, CheckboxVariantProps {\r\n\tclassNames?: SlotsToClasses<CheckboxSlots>;\r\n\tclassName?: string;\r\n\ticon?: React.ReactNode | ((props: CheckboxIconProps) => React.ReactNode);\r\n\tchildren?: React.ReactNode;\r\n\tisIndeterminate?: boolean;\r\n\tref?: React.Ref<HTMLInputElement>;\r\n\terror?: string;\r\n\ttouched?: boolean;\r\n\trequired?: boolean;\r\n}\r\n\r\nexport interface CheckboxIconProps {\r\n\tid?: string;\r\n\tisSelected: boolean;\r\n\tisIndeterminate?: boolean;\r\n\tdisableAnimation?: boolean;\r\n\tclassName?: string;\r\n}\r\n\r\nexport function useCheckbox(props: UseCheckboxProps) {\r\n\tconst {\r\n\t\tid,\r\n\t\tclassNames,\r\n\t\tclassName,\r\n\t\ticon,\r\n\t\tchildren,\r\n\t\tdisabled,\r\n\t\trequired,\r\n\t\treadOnly,\r\n\t\tdefaultChecked,\r\n\t\tchecked,\r\n\t\terror,\r\n\t\ttouched,\r\n\t\tonChange,\r\n\t\tisIndeterminate = false,\r\n\t} = props;\r\n\r\n\tconst internalRef = useRef<HTMLInputElement>(null);\r\n\tconst inputId = useId();\r\n\tconst resolvedId = id || inputId;\r\n\r\n\tconst [isSelected] = useMemo(() => {\r\n\t\treturn [typeof checked === \"boolean\" ? checked : defaultChecked || false, () => {}];\r\n\t}, [checked, defaultChecked]);\r\n\r\n\tconst handleChange = useCallback(\r\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\r\n\t\t\tif (readOnly || disabled) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tonChange?.(e);\r\n\t\t},\r\n\t\t[onChange, readOnly, disabled],\r\n\t);\r\n\r\n\tconst slots = useMemo(\r\n\t\t() =>\r\n\t\t\tcheckbox({\r\n\t\t\t\tcolor: props.color,\r\n\t\t\t\tsize: props.size,\r\n\t\t\t\tradius: props.radius,\r\n\t\t\t\tlineThrough: props.lineThrough,\r\n\t\t\t\tdisabled: disabled,\r\n\t\t\t\tisInvalid: !!error && touched,\r\n\t\t\t\tdisableAnimation: props.disableAnimation,\r\n\t\t\t}),\r\n\t\t[props, disabled, error, touched],\r\n\t);\r\n\r\n\tconst getBaseProps = () => ({\r\n\t\t\"className\": slots.base({ class: clsx(classNames?.base, className) }),\r\n\t\t\"data-disabled\": dataAttr(disabled),\r\n\t\t\"data-selected\": dataAttr(isSelected || isIndeterminate),\r\n\t});\r\n\r\n\tconst getWrapperProps = () => ({\r\n\t\t\"aria-hidden\": true,\r\n\t\t\"className\": slots.wrapper({ class: classNames?.wrapper }),\r\n\t\t\"data-selected\": dataAttr(isSelected || isIndeterminate),\r\n\t});\r\n\r\n\tconst getInputProps = () => ({\r\n\t\tref: mergeRefs(internalRef, props.ref),\r\n\t\ttype: \"checkbox\",\r\n\t\tid: resolvedId,\r\n\t\tdefaultChecked: checked === undefined ? defaultChecked : undefined,\r\n\t\tchecked: checked !== undefined ? checked : undefined,\r\n\t\tdisabled,\r\n\t\trequired,\r\n\t\treadOnly,\r\n\t\tonChange: handleChange,\r\n\t\tclassName: slots.hiddenInput({ class: classNames?.hiddenInput }),\r\n\t});\r\n\r\n\tconst getLabelProps = () => ({\r\n\t\thtmlFor: resolvedId,\r\n\t\tclassName: slots.label({ class: classNames?.label }),\r\n\t});\r\n\r\n\tconst getIconProps = (): CheckboxIconProps => ({\r\n\t\tisSelected,\r\n\t\tisIndeterminate,\r\n\t\tdisableAnimation: props.disableAnimation,\r\n\t\tclassName: slots.icon({ class: classNames?.icon }),\r\n\t});\r\n\r\n\tconst Component = \"label\";\r\n\r\n\treturn {\r\n\t\tComponent,\r\n\t\ticon,\r\n\t\tchildren,\r\n\t\tisSelected,\r\n\t\tisIndeterminate,\r\n\t\tgetBaseProps,\r\n\t\tgetWrapperProps,\r\n\t\tgetInputProps,\r\n\t\tgetLabelProps,\r\n\t\tgetIconProps,\r\n\t};\r\n}\r\n\r\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>;\r\n","import type { UseCheckboxReturn } from \"./use-checkbox\";\n\ntype CheckboxIconProps = Partial<ReturnType<UseCheckboxReturn[\"getIconProps\"]>>;\n\nfunction CheckIcon(props: CheckboxIconProps) {\n\tconst { isSelected, disableAnimation, ...otherProps } = props;\n\n\treturn (\n\t\t<svg\n\t\t\taria-hidden=\"true\"\n\t\t\tfill=\"none\"\n\t\t\trole=\"presentation\"\n\t\t\tstroke=\"currentColor\"\n\t\t\tstrokeDasharray={22}\n\t\t\tstrokeDashoffset={isSelected ? 44 : 66}\n\t\t\tstrokeLinecap=\"round\"\n\t\t\tstrokeLinejoin=\"round\"\n\t\t\tstrokeWidth={2}\n\t\t\tstyle={\n\t\t\t\t!disableAnimation && isSelected\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttransition: \"stroke-dashoffset 250ms linear 0.2s\",\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\tviewBox=\"0 0 17 18\"\n\t\t\t{...otherProps}\n\t\t>\n\t\t\t<polyline points=\"1 9 7 14 15 4\" />\n\t\t</svg>\n\t);\n}\n\nfunction IndeterminateIcon(props: CheckboxIconProps) {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst { isSelected, disableAnimation, ...otherProps } = props;\n\n\treturn (\n\t\t<svg stroke=\"currentColor\" strokeWidth={3} viewBox=\"0 0 24 24\" {...otherProps}>\n\t\t\t<line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n\t\t</svg>\n\t);\n}\n\n/**\n * CheckboxIcon is used to visually indicate the checked or indeterminate\n * state of a checkbox.\n */\nexport function CheckboxIcon(props: CheckboxIconProps) {\n\tconst { isIndeterminate, ...otherProps } = props;\n\tconst BaseIcon = isIndeterminate ? IndeterminateIcon : CheckIcon;\n\n\treturn <BaseIcon {...otherProps} />;\n}\n","// checkbox.tsx\r\nimport { forwardRef } from \"react\";\r\nimport { cloneElement, type ReactElement } from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\n\r\nimport { useCheckbox, type UseCheckboxProps } from \"./use-checkbox\";\r\nimport { CheckboxIcon } from \"./checkbox-icon\";\r\n\r\nexport interface CheckboxProps extends UseCheckboxProps {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst Checkbox = forwardRef<HTMLInputElement, CheckboxProps>((props, ref) => {\r\n\tconst { asChild = false, ...restProps } = props;\r\n\tconst {\r\n\t\tComponent,\r\n\t\tchildren,\r\n\t\ticon = <CheckboxIcon />,\r\n\t\tgetBaseProps,\r\n\t\tgetWrapperProps,\r\n\t\tgetInputProps,\r\n\t\tgetIconProps,\r\n\t\tgetLabelProps,\r\n\t} = useCheckbox({ ...restProps, ref });\r\n\r\n\tconst clonedIcon = typeof icon === \"function\" ? icon(getIconProps()) : cloneElement(icon as ReactElement, getIconProps());\r\n\r\n\tconst Wrapper = asChild ? Slot : Component;\r\n\r\n\treturn (\r\n\t\t<Wrapper {...getBaseProps()}>\r\n\t\t\t<input {...getInputProps()} ref={ref} />\r\n\t\t\t<span {...getWrapperProps()}>{clonedIcon}</span>\r\n\t\t\t{children && <span {...getLabelProps()}>{children}</span>}\r\n\t\t</Wrapper>\r\n\t);\r\n});\r\n\r\nCheckbox.displayName = \"Custom.Checkbox\";\r\n\r\nexport default Checkbox;\r\n"],"names":["checkbox","tv","groupDataFocusVisibleClasses","hiddenInputClasses","useCheckbox","props","id","classNames","className","icon","children","disabled","required","readOnly","defaultChecked","checked","error","touched","onChange","isIndeterminate","internalRef","useRef","inputId","useId","resolvedId","isSelected","useMemo","handleChange","useCallback","e","slots","clsx","dataAttr","mergeRefs","CheckIcon","disableAnimation","otherProps","jsx","IndeterminateIcon","CheckboxIcon","BaseIcon","Checkbox","forwardRef","ref","asChild","restProps","Component","getBaseProps","getWrapperProps","getInputProps","getIconProps","getLabelProps","clonedIcon","cloneElement","Wrapper","Slot","jsxs"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./jsx-runtime-DZW6kfQG.js"),d=require("react"),E=require("./index-B_lLnyI9.js"),A=require("./tv-CLzaSzqw.js"),j=require("./classes-P14wj2Ze.js"),w=require("./assertion-C7nbUE-q.js"),q=require("./refs-pI64b4UC.js"),N=require("clsx"),B=A.tv({slots:{base:"group relative max-w-fit inline-flex items-center justify-start cursor-pointer tap-highlight-transparent p-2 -m-2 select-none",wrapper:["relative","inline-flex","items-center","justify-center","flex-shrink-0","overflow-hidden","before:content-['']","before:absolute","before:inset-0","before:border-solid","before:border-2","before:box-border","before:border-default","after:content-['']","after:absolute","after:inset-0","after:scale-50","after:opacity-0","after:origin-center","group-data-[selected=true]:after:scale-100","group-data-[selected=true]:after:opacity-100","group-data-[hover=true]:before:bg-default-100",...j.groupDataFocusVisibleClasses],hiddenInput:j.hiddenInputClasses,icon:"z-10 w-4 h-3 opacity-0 group-data-[selected=true]:opacity-100 pointer-events-none",label:"relative text-foreground select-none"},variants:{color:{default:{wrapper:"after:bg-default after:text-default-foreground text-default-foreground"},primary:{wrapper:"after:bg-primary after:text-primary-foreground text-primary-foreground"},secondary:{wrapper:"after:bg-secondary after:text-secondary-foreground text-secondary-foreground"},success:{wrapper:"after:bg-success after:text-success-foreground text-success-foreground"},warning:{wrapper:"after:bg-warning after:text-warning-foreground text-warning-foreground"},danger:{wrapper:"after:bg-danger after:text-danger-foreground text-danger-foreground"}},size:{sm:{wrapper:["w-4 h-4 me-2","rounded-[calc(theme(borderRadius.medium)*0.5)]","before:rounded-[calc(theme(borderRadius.medium)*0.5)]","after:rounded-[calc(theme(borderRadius.medium)*0.5)]"],label:"text-small",icon:"w-3 h-2"},md:{wrapper:["w-5 h-5 me-2","rounded-[calc(theme(borderRadius.medium)*0.6)]","before:rounded-[calc(theme(borderRadius.medium)*0.6)]","after:rounded-[calc(theme(borderRadius.medium)*0.6)]"],label:"text-medium",icon:"w-4 h-3"},lg:{wrapper:["w-6 h-6 me-2","rounded-[calc(theme(borderRadius.medium)*0.7)]","before:rounded-[calc(theme(borderRadius.medium)*0.7)]","after:rounded-[calc(theme(borderRadius.medium)*0.7)]"],label:"text-large",icon:"w-5 h-4"}},radius:{none:{wrapper:"rounded-none before:rounded-none after:rounded-none"},sm:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.5)]","before:rounded-[calc(theme(borderRadius.medium)*0.5)]","after:rounded-[calc(theme(borderRadius.medium)*0.5)]"]},md:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.6)]","before:rounded-[calc(theme(borderRadius.medium)*0.6)]","after:rounded-[calc(theme(borderRadius.medium)*0.6)]"]},lg:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.7)]","before:rounded-[calc(theme(borderRadius.medium)*0.7)]","after:rounded-[calc(theme(borderRadius.medium)*0.7)]"]},full:{wrapper:"rounded-full before:rounded-full after:rounded-full"}},lineThrough:{true:{label:["inline-flex","items-center","justify-center","before:content-['']","before:absolute","before:bg-foreground","before:w-0","before:h-0.5","group-data-[selected=true]:opacity-60","group-data-[selected=true]:before:w-full"]}},disabled:{true:{base:"opacity-80 pointer-events-none"}},isInvalid:{true:{wrapper:"before:border-danger",label:"text-danger"}},disableAnimation:{true:{wrapper:"transition-none",icon:"transition-none",label:"transition-none"},false:{wrapper:["before:transition-colors","group-data-[pressed=true]:scale-95","transition-transform","after:transition-transform-opacity","after:!ease-linear","after:!duration-200","motion-reduce:transition-none"],icon:"transition-opacity motion-reduce:transition-none",label:"transition-colors-opacity before:transition-width motion-reduce:transition-none"}}},defaultVariants:{color:"primary",size:"md",disabled:!1,lineThrough:!1}});function W(e){const{id:t,classNames:r,className:a,icon:g,children:l,disabled:o,required:x,readOnly:i,defaultChecked:c,checked:s,error:f,touched:m,onChange:p,isIndeterminate:b=!1}=e,v=d.useRef(null),C=d.useId(),R=t||C,[h]=d.useMemo(()=>[typeof s=="boolean"?s:c||!1,()=>{}],[s,c]),P=d.useCallback(y=>{if(i||o){y.preventDefault();return}p?.(y)},[p,i,o]),u=d.useMemo(()=>B({color:e.color,size:e.size,radius:e.radius,lineThrough:e.lineThrough,disabled:o,isInvalid:!!f&&m,disableAnimation:e.disableAnimation}),[e,o,f,m]);return{Component:"label",icon:g,children:l,isSelected:h,isIndeterminate:b,getBaseProps:()=>({className:u.base({class:N(r?.base,a)}),"data-disabled":w.dataAttr(o),"data-selected":w.dataAttr(h||b)}),getWrapperProps:()=>({"aria-hidden":!0,className:u.wrapper({class:r?.wrapper}),"data-selected":w.dataAttr(h||b)}),getInputProps:()=>({ref:q.mergeRefs(v,e.ref),type:"checkbox",id:R,defaultChecked:s===void 0?c:void 0,checked:s!==void 0?s:void 0,disabled:o,required:x,readOnly:i,onChange:P,className:u.hiddenInput({class:r?.hiddenInput})}),getLabelProps:()=>({htmlFor:R,className:u.label({class:r?.label})}),getIconProps:()=>({isSelected:h,isIndeterminate:b,disableAnimation:e.disableAnimation,className:u.icon({class:r?.icon})})}}function z(e){const{isSelected:t,disableAnimation:r,...a}=e;return n.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",fill:"none",role:"presentation",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:t?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,style:!r&&t?{transition:"stroke-dashoffset 250ms linear 0.2s"}:{},viewBox:"0 0 17 18",...a,children:n.jsxRuntimeExports.jsx("polyline",{points:"1 9 7 14 15 4"})})}function L(e){const{isSelected:t,disableAnimation:r,...a}=e;return n.jsxRuntimeExports.jsx("svg",{stroke:"currentColor",strokeWidth:3,viewBox:"0 0 24 24",...a,children:n.jsxRuntimeExports.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function k(e){const{isIndeterminate:t,...r}=e,a=t?L:z;return n.jsxRuntimeExports.jsx(a,{...r})}const I=d.forwardRef((e,t)=>{const{asChild:r=!1,...a}=e,{Component:g,children:l,icon:o=n.jsxRuntimeExports.jsx(k,{}),getBaseProps:x,getWrapperProps:i,getInputProps:c,getIconProps:s,getLabelProps:f}=W({...a,ref:t}),m=typeof o=="function"?o(s()):d.cloneElement(o,s()),p=r?E.Slot:g;return n.jsxRuntimeExports.jsxs(p,{...x(),children:[n.jsxRuntimeExports.jsx("input",{...c(),ref:t}),n.jsxRuntimeExports.jsx("span",{...i(),children:m}),l&&n.jsxRuntimeExports.jsx("span",{...f(),children:l})]})});I.displayName="Custom.Checkbox";exports.Checkbox=I;exports.CheckboxIcon=k;
2
- //# sourceMappingURL=checkbox-C7iPXnsq.js.map
1
+ "use strict";const n=require("./jsx-runtime-BjzqJBtL.js"),d=require("react"),E=require("./index-6ER8bShj.js"),A=require("./tv-CLzaSzqw.js"),j=require("./classes-P14wj2Ze.js"),w=require("./assertion-C7nbUE-q.js"),q=require("./refs-pI64b4UC.js"),N=require("clsx"),B=A.tv({slots:{base:"group relative max-w-fit inline-flex items-center justify-start cursor-pointer tap-highlight-transparent p-2 -m-2 select-none",wrapper:["relative","inline-flex","items-center","justify-center","flex-shrink-0","overflow-hidden","before:content-['']","before:absolute","before:inset-0","before:border-solid","before:border-2","before:box-border","before:border-default","after:content-['']","after:absolute","after:inset-0","after:scale-50","after:opacity-0","after:origin-center","group-data-[selected=true]:after:scale-100","group-data-[selected=true]:after:opacity-100","group-data-[hover=true]:before:bg-default-100",...j.groupDataFocusVisibleClasses],hiddenInput:j.hiddenInputClasses,icon:"z-10 w-4 h-3 opacity-0 group-data-[selected=true]:opacity-100 pointer-events-none",label:"relative text-foreground select-none"},variants:{color:{default:{wrapper:"after:bg-default after:text-default-foreground text-default-foreground"},primary:{wrapper:"after:bg-primary after:text-primary-foreground text-primary-foreground"},secondary:{wrapper:"after:bg-secondary after:text-secondary-foreground text-secondary-foreground"},success:{wrapper:"after:bg-success after:text-success-foreground text-success-foreground"},warning:{wrapper:"after:bg-warning after:text-warning-foreground text-warning-foreground"},danger:{wrapper:"after:bg-danger after:text-danger-foreground text-danger-foreground"}},size:{sm:{wrapper:["w-4 h-4 me-2","rounded-[calc(theme(borderRadius.medium)*0.5)]","before:rounded-[calc(theme(borderRadius.medium)*0.5)]","after:rounded-[calc(theme(borderRadius.medium)*0.5)]"],label:"text-small",icon:"w-3 h-2"},md:{wrapper:["w-5 h-5 me-2","rounded-[calc(theme(borderRadius.medium)*0.6)]","before:rounded-[calc(theme(borderRadius.medium)*0.6)]","after:rounded-[calc(theme(borderRadius.medium)*0.6)]"],label:"text-medium",icon:"w-4 h-3"},lg:{wrapper:["w-6 h-6 me-2","rounded-[calc(theme(borderRadius.medium)*0.7)]","before:rounded-[calc(theme(borderRadius.medium)*0.7)]","after:rounded-[calc(theme(borderRadius.medium)*0.7)]"],label:"text-large",icon:"w-5 h-4"}},radius:{none:{wrapper:"rounded-none before:rounded-none after:rounded-none"},sm:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.5)]","before:rounded-[calc(theme(borderRadius.medium)*0.5)]","after:rounded-[calc(theme(borderRadius.medium)*0.5)]"]},md:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.6)]","before:rounded-[calc(theme(borderRadius.medium)*0.6)]","after:rounded-[calc(theme(borderRadius.medium)*0.6)]"]},lg:{wrapper:["rounded-[calc(theme(borderRadius.medium)*0.7)]","before:rounded-[calc(theme(borderRadius.medium)*0.7)]","after:rounded-[calc(theme(borderRadius.medium)*0.7)]"]},full:{wrapper:"rounded-full before:rounded-full after:rounded-full"}},lineThrough:{true:{label:["inline-flex","items-center","justify-center","before:content-['']","before:absolute","before:bg-foreground","before:w-0","before:h-0.5","group-data-[selected=true]:opacity-60","group-data-[selected=true]:before:w-full"]}},disabled:{true:{base:"opacity-80 pointer-events-none"}},isInvalid:{true:{wrapper:"before:border-danger",label:"text-danger"}},disableAnimation:{true:{wrapper:"transition-none",icon:"transition-none",label:"transition-none"},false:{wrapper:["before:transition-colors","group-data-[pressed=true]:scale-95","transition-transform","after:transition-transform-opacity","after:!ease-linear","after:!duration-200","motion-reduce:transition-none"],icon:"transition-opacity motion-reduce:transition-none",label:"transition-colors-opacity before:transition-width motion-reduce:transition-none"}}},defaultVariants:{color:"primary",size:"md",disabled:!1,lineThrough:!1}});function W(e){const{id:t,classNames:r,className:a,icon:g,children:l,disabled:o,required:x,readOnly:i,defaultChecked:c,checked:s,error:f,touched:m,onChange:p,isIndeterminate:b=!1}=e,v=d.useRef(null),C=d.useId(),R=t||C,[h]=d.useMemo(()=>[typeof s=="boolean"?s:c||!1,()=>{}],[s,c]),P=d.useCallback(y=>{if(i||o){y.preventDefault();return}p?.(y)},[p,i,o]),u=d.useMemo(()=>B({color:e.color,size:e.size,radius:e.radius,lineThrough:e.lineThrough,disabled:o,isInvalid:!!f&&m,disableAnimation:e.disableAnimation}),[e,o,f,m]);return{Component:"label",icon:g,children:l,isSelected:h,isIndeterminate:b,getBaseProps:()=>({className:u.base({class:N(r?.base,a)}),"data-disabled":w.dataAttr(o),"data-selected":w.dataAttr(h||b)}),getWrapperProps:()=>({"aria-hidden":!0,className:u.wrapper({class:r?.wrapper}),"data-selected":w.dataAttr(h||b)}),getInputProps:()=>({ref:q.mergeRefs(v,e.ref),type:"checkbox",id:R,defaultChecked:s===void 0?c:void 0,checked:s!==void 0?s:void 0,disabled:o,required:x,readOnly:i,onChange:P,className:u.hiddenInput({class:r?.hiddenInput})}),getLabelProps:()=>({htmlFor:R,className:u.label({class:r?.label})}),getIconProps:()=>({isSelected:h,isIndeterminate:b,disableAnimation:e.disableAnimation,className:u.icon({class:r?.icon})})}}function z(e){const{isSelected:t,disableAnimation:r,...a}=e;return n.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",fill:"none",role:"presentation",stroke:"currentColor",strokeDasharray:22,strokeDashoffset:t?44:66,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,style:!r&&t?{transition:"stroke-dashoffset 250ms linear 0.2s"}:{},viewBox:"0 0 17 18",...a,children:n.jsxRuntimeExports.jsx("polyline",{points:"1 9 7 14 15 4"})})}function L(e){const{isSelected:t,disableAnimation:r,...a}=e;return n.jsxRuntimeExports.jsx("svg",{stroke:"currentColor",strokeWidth:3,viewBox:"0 0 24 24",...a,children:n.jsxRuntimeExports.jsx("line",{x1:"21",x2:"3",y1:"12",y2:"12"})})}function k(e){const{isIndeterminate:t,...r}=e,a=t?L:z;return n.jsxRuntimeExports.jsx(a,{...r})}const I=d.forwardRef((e,t)=>{const{asChild:r=!1,...a}=e,{Component:g,children:l,icon:o=n.jsxRuntimeExports.jsx(k,{}),getBaseProps:x,getWrapperProps:i,getInputProps:c,getIconProps:s,getLabelProps:f}=W({...a,ref:t}),m=typeof o=="function"?o(s()):d.cloneElement(o,s()),p=r?E.Slot:g;return n.jsxRuntimeExports.jsxs(p,{...x(),children:[n.jsxRuntimeExports.jsx("input",{...c(),ref:t}),n.jsxRuntimeExports.jsx("span",{...i(),children:m}),l&&n.jsxRuntimeExports.jsx("span",{...f(),children:l})]})});I.displayName="Custom.Checkbox";exports.Checkbox=I;exports.CheckboxIcon=k;
2
+ //# sourceMappingURL=checkbox-CWDPVAn2.js.map