@jacshuo/onyx 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/Chart/BarChart.cjs +1 -1
  2. package/dist/Chart/BarChart.js +1 -1
  3. package/dist/Chart/PieChart.cjs +1 -1
  4. package/dist/Chart/PieChart.js +1 -1
  5. package/dist/Chart/ScatterChart.cjs +1 -1
  6. package/dist/Chart/ScatterChart.js +1 -1
  7. package/dist/Chart/index.cjs +1 -1
  8. package/dist/Chart/index.js +1 -1
  9. package/dist/DataDisplay/VirtualList.cjs +2 -0
  10. package/dist/DataDisplay/VirtualList.css +1 -0
  11. package/dist/DataDisplay/VirtualList.d.cts +5 -0
  12. package/dist/DataDisplay/VirtualList.d.ts +5 -0
  13. package/dist/DataDisplay/VirtualList.js +2 -0
  14. package/dist/DataDisplay/index.cjs +3 -2
  15. package/dist/DataDisplay/index.css +1 -0
  16. package/dist/DataDisplay/index.d.cts +5 -0
  17. package/dist/DataDisplay/index.d.ts +5 -0
  18. package/dist/DataDisplay/index.js +3 -2
  19. package/dist/Extras/FileExplorer.cjs +2 -2
  20. package/dist/Extras/FileExplorer.js +2 -2
  21. package/dist/Extras/LoginPanel.cjs +1 -0
  22. package/dist/Extras/LoginPanel.css +1 -0
  23. package/dist/Extras/LoginPanel.d.cts +3 -0
  24. package/dist/Extras/LoginPanel.d.ts +3 -0
  25. package/dist/Extras/LoginPanel.js +1 -0
  26. package/dist/Extras/RichTextEditor.cjs +45 -0
  27. package/dist/Extras/RichTextEditor.css +1 -0
  28. package/dist/Extras/RichTextEditor.d.cts +10 -0
  29. package/dist/Extras/RichTextEditor.d.ts +10 -0
  30. package/dist/Extras/RichTextEditor.js +45 -0
  31. package/dist/Extras/TypewriterText.cjs +2 -1
  32. package/dist/Extras/TypewriterText.css +1 -1
  33. package/dist/Extras/TypewriterText.js +2 -1
  34. package/dist/Extras/index.cjs +48 -4
  35. package/dist/Extras/index.css +1 -1
  36. package/dist/Extras/index.d.cts +7 -0
  37. package/dist/Extras/index.d.ts +7 -0
  38. package/dist/Extras/index.js +48 -4
  39. package/dist/Forms/Form.cjs +1 -1
  40. package/dist/Forms/Form.js +1 -1
  41. package/dist/Forms/OTPInput.cjs +1 -0
  42. package/dist/Forms/OTPInput.css +1 -0
  43. package/dist/Forms/OTPInput.d.cts +4 -0
  44. package/dist/Forms/OTPInput.d.ts +4 -0
  45. package/dist/Forms/OTPInput.js +1 -0
  46. package/dist/Forms/Select.cjs +1 -1
  47. package/dist/Forms/Select.js +1 -1
  48. package/dist/Forms/index.cjs +1 -1
  49. package/dist/Forms/index.css +1 -0
  50. package/dist/Forms/index.d.cts +4 -0
  51. package/dist/Forms/index.d.ts +4 -0
  52. package/dist/Forms/index.js +1 -1
  53. package/dist/Layout/SplitPanel.cjs +1 -0
  54. package/dist/Layout/SplitPanel.d.cts +3 -0
  55. package/dist/Layout/SplitPanel.d.ts +3 -0
  56. package/dist/Layout/SplitPanel.js +1 -0
  57. package/dist/Layout/index.cjs +1 -1
  58. package/dist/Layout/index.d.cts +3 -0
  59. package/dist/Layout/index.d.ts +3 -0
  60. package/dist/Layout/index.js +1 -1
  61. package/dist/Navigation/Header.cjs +1 -1
  62. package/dist/Navigation/Header.js +1 -1
  63. package/dist/Navigation/RibbonBar.d.cts +3 -3
  64. package/dist/Navigation/RibbonBar.d.ts +3 -3
  65. package/dist/Navigation/index.cjs +2 -2
  66. package/dist/Navigation/index.d.cts +3 -3
  67. package/dist/Navigation/index.d.ts +3 -3
  68. package/dist/Navigation/index.js +2 -2
  69. package/dist/Primitives/Avatar.cjs +1 -1
  70. package/dist/Primitives/Avatar.js +1 -1
  71. package/dist/Primitives/Badge.cjs +1 -1
  72. package/dist/Primitives/Badge.js +1 -1
  73. package/dist/Primitives/Button.cjs +1 -1
  74. package/dist/Primitives/Button.js +1 -1
  75. package/dist/Primitives/Checkbox.cjs +1 -1
  76. package/dist/Primitives/Checkbox.js +1 -1
  77. package/dist/Primitives/Dropdown.cjs +1 -1
  78. package/dist/Primitives/Dropdown.js +1 -1
  79. package/dist/Primitives/DropdownButton.cjs +1 -1
  80. package/dist/Primitives/DropdownButton.js +1 -1
  81. package/dist/Primitives/Indicator.cjs +1 -1
  82. package/dist/Primitives/Indicator.js +1 -1
  83. package/dist/Primitives/Input.cjs +1 -1
  84. package/dist/Primitives/Input.js +1 -1
  85. package/dist/Primitives/Kbd.cjs +1 -0
  86. package/dist/Primitives/Kbd.css +0 -0
  87. package/dist/Primitives/Kbd.d.cts +6 -0
  88. package/dist/Primitives/Kbd.d.ts +6 -0
  89. package/dist/Primitives/Kbd.js +1 -0
  90. package/dist/Primitives/Label.cjs +1 -1
  91. package/dist/Primitives/Label.js +1 -1
  92. package/dist/Primitives/Radio.cjs +1 -1
  93. package/dist/Primitives/Radio.js +1 -1
  94. package/dist/Primitives/Rating.cjs +2 -0
  95. package/dist/Primitives/Rating.css +0 -0
  96. package/dist/Primitives/Rating.d.cts +4 -0
  97. package/dist/Primitives/Rating.d.ts +4 -0
  98. package/dist/Primitives/Rating.js +2 -0
  99. package/dist/Primitives/Slider.cjs +1 -1
  100. package/dist/Primitives/Slider.js +1 -1
  101. package/dist/Primitives/Switch.cjs +1 -1
  102. package/dist/Primitives/Switch.js +1 -1
  103. package/dist/Primitives/Tag.cjs +1 -1
  104. package/dist/Primitives/Tag.js +1 -1
  105. package/dist/Primitives/index.cjs +2 -1
  106. package/dist/Primitives/index.d.cts +10 -0
  107. package/dist/Primitives/index.d.ts +10 -0
  108. package/dist/Primitives/index.js +2 -1
  109. package/dist/_tsup-dts-rollup.d.cts +843 -1
  110. package/dist/_tsup-dts-rollup.d.ts +843 -1
  111. package/dist/index.cjs +49 -5
  112. package/dist/index.css +1 -1
  113. package/dist/index.d.cts +35 -0
  114. package/dist/index.d.ts +35 -0
  115. package/dist/index.js +49 -5
  116. package/dist/styles/DataDisplay/VirtualList.css +35 -0
  117. package/dist/styles/Extras/CinePlayer.css +63 -1
  118. package/dist/styles/Extras/FileExplorer.css +39 -1
  119. package/dist/styles/Extras/FilmReel.css +24 -1
  120. package/dist/styles/Extras/LoginPanel.css +16 -0
  121. package/dist/styles/Extras/MiniPlayer.css +84 -1
  122. package/dist/styles/Extras/RichTextEditor.css +908 -0
  123. package/dist/styles/Extras/TypewriterText.css +254 -0
  124. package/dist/styles/Forms/OTPInput.css +11 -0
  125. package/dist/styles/Layout/SplitPanel.css +15 -0
  126. package/dist/styles/Primitives/DropdownButton.css +26 -1
  127. package/dist/styles/Primitives/Kbd.css +1 -0
  128. package/dist/styles/Primitives/Rating.css +1 -0
  129. package/dist/styles/base.css +281 -0
  130. package/dist/styles.css +281 -0
  131. package/dist/theme.cjs +1 -1
  132. package/dist/theme.d.cts +3 -0
  133. package/dist/theme.d.ts +3 -0
  134. package/dist/theme.js +1 -1
  135. package/package.json +22 -1
@@ -1 +1 @@
1
- 'use strict';var I=require('react'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var I__default=/*#__PURE__*/_interopDefault(I);function p(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var z=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var M=classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var S=I.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),K={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function nt({children:o,className:c,intent:g,size:a="md",layout:f="stacked",title:e,description:m,footer:F,onValues:y,onSubmit:s,...n}){let E=K[a??"md"],[V,C]=I.useState({}),l=I.useCallback(b=>{if(b.preventDefault(),s?.(b),y){let k=Object.fromEntries(new FormData(b.currentTarget).entries()),v=y(k,b),R=h=>{if(!h)return;let w={};for(let[N,{result:r,reason:x}]of Object.entries(h))x&&(w[N]={status:r?"success":"error",message:x});C(w);};v instanceof Promise?v.then(R).catch(()=>{}):R(v);}},[s,y]);return jsxRuntime.jsx(S.Provider,{value:{layout:f??"stacked",size:a??"md",labelWidth:E,bulkErrors:V},children:jsxRuntime.jsxs("form",{className:p(z({intent:g,size:a}),"flex flex-col",c),onSubmit:l,...n,children:[(e||m)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[e&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:e}),m&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:m})]}),jsxRuntime.jsx("div",{className:p("flex flex-col",j[a??"md"]),children:o}),F&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:F})]})})}var Q={error:jsxRuntime.jsx(lucideReact.AlertCircle,{}),warning:jsxRuntime.jsx(lucideReact.AlertTriangle,{}),success:jsxRuntime.jsx(lucideReact.CheckCircle,{}),hint:jsxRuntime.jsx(lucideReact.Info,{})};function it({label:o,layout:c,required:g,hint:a,validation:f,name:e,onValidate:m,className:F,children:y}){let s=I.useContext(S),n=I.useId(),[E,V]=I.useState(void 0),C=e?s.bulkErrors[e]:void 0,l=f??E??C,k=(c??s.layout)==="inline",v=I.useCallback(r=>{let x=r!=null&&typeof r=="object"&&"target"in r?r.target.value:r;if(e&&s.bulkErrors[e]&&(s.bulkErrors[e]=void 0),!m){V(void 0);return}let{result:d,reason:i}=m(x);V(i?{status:d?"success":"error",message:i}:void 0);},[m,e,s.bulkErrors]),R=l?`${n}-validation`:a?`${n}-hint`:void 0,h=I__default.default.Children.map(y,(r,x)=>{if(x!==0||!I__default.default.isValidElement(r))return r;let d=r,i={};if(d.props.id||(i.id=n),R&&!d.props["aria-describedby"]&&(i["aria-describedby"]=R),l?.status==="error"&&!d.props["aria-invalid"]&&(i["aria-invalid"]=true),e&&!d.props.name&&(i.name=e),m){let B=d.props.onChange;i.onChange=L=>{B?.(L),v(L);};}return Object.keys(i).length?I__default.default.cloneElement(d,i):r}),w=o!=null&&jsxRuntime.jsx("label",{htmlFor:n,className:p("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",g&&"after:ml-0.5 after:text-danger-500 after:content-['*']",k&&"pt-1.75"),style:k?{width:s.labelWidth,minWidth:s.labelWidth}:void 0,children:o}),N=f?`${n}-validation`:a?`${n}-hint`:void 0;return jsxRuntime.jsxs("div",{className:p("flex w-full flex-col gap-1.5",k&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",F),children:[w,jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[h,l&&jsxRuntime.jsxs("p",{id:`${n}-validation`,className:p(M({status:l.status})),role:l.status==="error"?"alert":void 0,children:[Q[l.status],jsxRuntime.jsx("span",{children:l.message})]}),a&&jsxRuntime.jsx("p",{id:N===`${n}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function lt({title:o,description:c,className:g,children:a}){let{size:f}=I.useContext(S);return jsxRuntime.jsxs("fieldset",{className:p("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],g),children:[(o||c)&&jsxRuntime.jsxs("legend",{className:"px-1.5 pb-1",children:[o&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:o}),c&&jsxRuntime.jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a]})}exports.Form=nt;exports.FormItem=it;exports.FormSection=lt;
1
+ 'use strict';var P=require('react'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var P__default=/*#__PURE__*/_interopDefault(P);function u(...o){return tailwindMerge.twMerge(clsx.clsx(o))}classVarianceAuthority.cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});var L=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var M=classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var S=P.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),K={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function ir({children:o,className:c,intent:b,size:a="md",layout:f="stacked",title:e,description:l,footer:F,onValues:x,onSubmit:n,...s}){let C=K[a??"md"],[V,I]=P.useState({}),d=P.useCallback(y=>{if(y.preventDefault(),n?.(y),x){let k=Object.fromEntries(new FormData(y.currentTarget).entries()),v=x(k,y),R=h=>{if(!h)return;let w={};for(let[N,{result:t,reason:g}]of Object.entries(h))g&&(w[N]={status:t?"success":"error",message:g});I(w);};v instanceof Promise?v.then(R).catch(()=>{}):R(v);}},[n,x]);return jsxRuntime.jsx(S.Provider,{value:{layout:f??"stacked",size:a??"md",labelWidth:C,bulkErrors:V},children:jsxRuntime.jsxs("form",{className:u(L({intent:b,size:a}),"flex flex-col",c),onSubmit:d,...s,children:[(e||l)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[e&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:e}),l&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:l})]}),jsxRuntime.jsx("div",{className:u("flex flex-col",j[a??"md"]),children:o}),F&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:F})]})})}var Q={error:jsxRuntime.jsx(lucideReact.AlertCircle,{}),warning:jsxRuntime.jsx(lucideReact.AlertTriangle,{}),success:jsxRuntime.jsx(lucideReact.CheckCircle,{}),hint:jsxRuntime.jsx(lucideReact.Info,{})};function dr({label:o,layout:c,required:b,hint:a,validation:f,name:e,onValidate:l,className:F,children:x}){let n=P.useContext(S),s=P.useId(),[C,V]=P.useState(void 0),I=e?n.bulkErrors[e]:void 0,d=f??C??I,k=(c??n.layout)==="inline",v=P.useCallback(t=>{let g=t!=null&&typeof t=="object"&&"target"in t?t.target.value:t;if(e&&n.bulkErrors[e]&&(n.bulkErrors[e]=void 0),!l){V(void 0);return}let{result:m,reason:i}=l(g);V(i?{status:m?"success":"error",message:i}:void 0);},[l,e,n.bulkErrors]),R=d?`${s}-validation`:a?`${s}-hint`:void 0,h=P__default.default.Children.map(x,(t,g)=>{if(g!==0||!P__default.default.isValidElement(t))return t;let m=t,i={};if(m.props.id||(i.id=s),R&&!m.props["aria-describedby"]&&(i["aria-describedby"]=R),d?.status==="error"&&!m.props["aria-invalid"]&&(i["aria-invalid"]=true),e&&!m.props.name&&(i.name=e),l){let B=m.props.onChange;i.onChange=z=>{B?.(z),v(z);};}return Object.keys(i).length?P__default.default.cloneElement(m,i):t}),w=o!=null&&jsxRuntime.jsx("label",{htmlFor:s,className:u("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",b&&"after:ml-0.5 after:text-danger-500 after:content-['*']",k&&"pt-1.75"),style:k?{width:n.labelWidth,minWidth:n.labelWidth}:void 0,children:o}),N=f?`${s}-validation`:a?`${s}-hint`:void 0;return jsxRuntime.jsxs("div",{className:u("flex w-full flex-col gap-1.5",k&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",F),children:[w,jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[h,d&&jsxRuntime.jsxs("p",{id:`${s}-validation`,className:u(M({status:d.status})),role:d.status==="error"?"alert":void 0,children:[Q[d.status],jsxRuntime.jsx("span",{children:d.message})]}),a&&jsxRuntime.jsx("p",{id:N===`${s}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function lr({title:o,description:c,className:b,children:a}){let{size:f}=P.useContext(S);return jsxRuntime.jsxs("fieldset",{className:u("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],b),children:[(o||c)&&jsxRuntime.jsxs("legend",{className:"px-1.5 pb-1",children:[o&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:o}),c&&jsxRuntime.jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a]})}exports.Form=ir;exports.FormItem=dr;exports.FormSection=lr;
@@ -1 +1 @@
1
- import I,{createContext,useState,useCallback,useContext,useId}from'react';import {Info,CheckCircle,AlertTriangle,AlertCircle}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';function p(...o){return twMerge(clsx(o))}var z=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var M=cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var S=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),K={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function nt({children:o,className:c,intent:g,size:a="md",layout:f="stacked",title:e,description:m,footer:F,onValues:y,onSubmit:s,...n}){let E=K[a??"md"],[V,C]=useState({}),l=useCallback(b=>{if(b.preventDefault(),s?.(b),y){let k=Object.fromEntries(new FormData(b.currentTarget).entries()),v=y(k,b),R=h=>{if(!h)return;let w={};for(let[N,{result:r,reason:x}]of Object.entries(h))x&&(w[N]={status:r?"success":"error",message:x});C(w);};v instanceof Promise?v.then(R).catch(()=>{}):R(v);}},[s,y]);return jsx(S.Provider,{value:{layout:f??"stacked",size:a??"md",labelWidth:E,bulkErrors:V},children:jsxs("form",{className:p(z({intent:g,size:a}),"flex flex-col",c),onSubmit:l,...n,children:[(e||m)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[e&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:e}),m&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:m})]}),jsx("div",{className:p("flex flex-col",j[a??"md"]),children:o}),F&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:F})]})})}var Q={error:jsx(AlertCircle,{}),warning:jsx(AlertTriangle,{}),success:jsx(CheckCircle,{}),hint:jsx(Info,{})};function it({label:o,layout:c,required:g,hint:a,validation:f,name:e,onValidate:m,className:F,children:y}){let s=useContext(S),n=useId(),[E,V]=useState(void 0),C=e?s.bulkErrors[e]:void 0,l=f??E??C,k=(c??s.layout)==="inline",v=useCallback(r=>{let x=r!=null&&typeof r=="object"&&"target"in r?r.target.value:r;if(e&&s.bulkErrors[e]&&(s.bulkErrors[e]=void 0),!m){V(void 0);return}let{result:d,reason:i}=m(x);V(i?{status:d?"success":"error",message:i}:void 0);},[m,e,s.bulkErrors]),R=l?`${n}-validation`:a?`${n}-hint`:void 0,h=I.Children.map(y,(r,x)=>{if(x!==0||!I.isValidElement(r))return r;let d=r,i={};if(d.props.id||(i.id=n),R&&!d.props["aria-describedby"]&&(i["aria-describedby"]=R),l?.status==="error"&&!d.props["aria-invalid"]&&(i["aria-invalid"]=true),e&&!d.props.name&&(i.name=e),m){let B=d.props.onChange;i.onChange=L=>{B?.(L),v(L);};}return Object.keys(i).length?I.cloneElement(d,i):r}),w=o!=null&&jsx("label",{htmlFor:n,className:p("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",g&&"after:ml-0.5 after:text-danger-500 after:content-['*']",k&&"pt-1.75"),style:k?{width:s.labelWidth,minWidth:s.labelWidth}:void 0,children:o}),N=f?`${n}-validation`:a?`${n}-hint`:void 0;return jsxs("div",{className:p("flex w-full flex-col gap-1.5",k&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",F),children:[w,jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[h,l&&jsxs("p",{id:`${n}-validation`,className:p(M({status:l.status})),role:l.status==="error"?"alert":void 0,children:[Q[l.status],jsx("span",{children:l.message})]}),a&&jsx("p",{id:N===`${n}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function lt({title:o,description:c,className:g,children:a}){let{size:f}=useContext(S);return jsxs("fieldset",{className:p("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],g),children:[(o||c)&&jsxs("legend",{className:"px-1.5 pb-1",children:[o&&jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:o}),c&&jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a]})}export{nt as Form,it as FormItem,lt as FormSection};
1
+ import P,{createContext,useState,useCallback,useContext,useId}from'react';import {Info,CheckCircle,AlertTriangle,AlertCircle}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';function u(...o){return twMerge(clsx(o))}cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});var L=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var M=cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var S=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),K={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function ir({children:o,className:c,intent:b,size:a="md",layout:f="stacked",title:e,description:l,footer:F,onValues:x,onSubmit:n,...s}){let C=K[a??"md"],[V,I]=useState({}),d=useCallback(y=>{if(y.preventDefault(),n?.(y),x){let k=Object.fromEntries(new FormData(y.currentTarget).entries()),v=x(k,y),R=h=>{if(!h)return;let w={};for(let[N,{result:t,reason:g}]of Object.entries(h))g&&(w[N]={status:t?"success":"error",message:g});I(w);};v instanceof Promise?v.then(R).catch(()=>{}):R(v);}},[n,x]);return jsx(S.Provider,{value:{layout:f??"stacked",size:a??"md",labelWidth:C,bulkErrors:V},children:jsxs("form",{className:u(L({intent:b,size:a}),"flex flex-col",c),onSubmit:d,...s,children:[(e||l)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[e&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:e}),l&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:l})]}),jsx("div",{className:u("flex flex-col",j[a??"md"]),children:o}),F&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:F})]})})}var Q={error:jsx(AlertCircle,{}),warning:jsx(AlertTriangle,{}),success:jsx(CheckCircle,{}),hint:jsx(Info,{})};function dr({label:o,layout:c,required:b,hint:a,validation:f,name:e,onValidate:l,className:F,children:x}){let n=useContext(S),s=useId(),[C,V]=useState(void 0),I=e?n.bulkErrors[e]:void 0,d=f??C??I,k=(c??n.layout)==="inline",v=useCallback(t=>{let g=t!=null&&typeof t=="object"&&"target"in t?t.target.value:t;if(e&&n.bulkErrors[e]&&(n.bulkErrors[e]=void 0),!l){V(void 0);return}let{result:m,reason:i}=l(g);V(i?{status:m?"success":"error",message:i}:void 0);},[l,e,n.bulkErrors]),R=d?`${s}-validation`:a?`${s}-hint`:void 0,h=P.Children.map(x,(t,g)=>{if(g!==0||!P.isValidElement(t))return t;let m=t,i={};if(m.props.id||(i.id=s),R&&!m.props["aria-describedby"]&&(i["aria-describedby"]=R),d?.status==="error"&&!m.props["aria-invalid"]&&(i["aria-invalid"]=true),e&&!m.props.name&&(i.name=e),l){let B=m.props.onChange;i.onChange=z=>{B?.(z),v(z);};}return Object.keys(i).length?P.cloneElement(m,i):t}),w=o!=null&&jsx("label",{htmlFor:s,className:u("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",b&&"after:ml-0.5 after:text-danger-500 after:content-['*']",k&&"pt-1.75"),style:k?{width:n.labelWidth,minWidth:n.labelWidth}:void 0,children:o}),N=f?`${s}-validation`:a?`${s}-hint`:void 0;return jsxs("div",{className:u("flex w-full flex-col gap-1.5",k&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",F),children:[w,jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[h,d&&jsxs("p",{id:`${s}-validation`,className:u(M({status:d.status})),role:d.status==="error"?"alert":void 0,children:[Q[d.status],jsx("span",{children:d.message})]}),a&&jsx("p",{id:N===`${s}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function lr({title:o,description:c,className:b,children:a}){let{size:f}=useContext(S);return jsxs("fieldset",{className:u("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],b),children:[(o||c)&&jsxs("legend",{className:"px-1.5 pb-1",children:[o&&jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:o}),c&&jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a]})}export{ir as Form,dr as FormItem,lr as FormSection};
@@ -0,0 +1 @@
1
+ 'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function g(...a){return tailwindMerge.twMerge(clsx.clsx(a))}var T=classVarianceAuthority.cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});function q({length:a=6,value:y,defaultValue:O="",onChange:v,onComplete:k,size:V="md",variant:z="outline",disabled:C=false,readOnly:D=false,autoFocus:w=false,alphanumeric:u=false,mask:E=false,invalid:L=false,className:A}){let m=y!==void 0,[M,R]=react.useState(()=>{let t=(O??"").slice(0,a);return Array.from({length:a},(r,e)=>t[e]??"")}),n=m?Array.from({length:a},(t,r)=>(y??"")[r]??""):M,o=react.useRef([]),I=react.useRef([]);react.useEffect(()=>{w&&o.current[0]&&o.current[0].focus();},[w]);let s=react.useCallback(t=>{m||R(t);let r=t.join("");v?.(r),t.every(e=>e!=="")&&t.length===a&&k?.(r);},[m,v,k,a]),_=t=>{let r=o.current[t];r&&(r.classList.remove("otp-pop"),clearTimeout(I.current[t]),r.offsetWidth,r.classList.add("otp-pop"),I.current[t]=window.setTimeout(()=>r.classList.remove("otp-pop"),200));},F=react.useCallback((t,r)=>{let e=u?/[a-zA-Z0-9]/g:/[0-9]/g,c=r.match(e)??[];if(c.length===0)return;let d=c[c.length-1],l=[...n];l[t]=d,s(l),_(t),t<a-1&&o.current[t+1]?.focus();},[n,a,u,s]),H=react.useCallback((t,r)=>{if(r.key==="Backspace"){if(r.preventDefault(),n[t]){let e=[...n];e[t]="",s(e);}else if(t>0){o.current[t-1]?.focus();let e=[...n];e[t-1]="",s(e);}}else if(r.key==="ArrowLeft")r.preventDefault(),t>0&&o.current[t-1]?.focus();else if(r.key==="ArrowRight")r.preventDefault(),t<a-1&&o.current[t+1]?.focus();else if(r.key==="Delete"){r.preventDefault();let e=[...n];e[t]="",s(e);}},[n,a,s]),S=react.useCallback((t,r)=>{r.preventDefault();let e=r.clipboardData.getData("text"),c=u?/[a-zA-Z0-9]/g:/[0-9]/g,d=e.match(c)??[],l=[...n],b=t;for(let i=0;i<d.length&&t+i<a;i++)l[t+i]=d[i],b=t+i;s(l);let x=l.findIndex((i,Z)=>Z>b&&i===""),N=x!==-1?x:Math.min(b+1,a-1);o.current[N]?.focus();},[n,a,u,s]),K=react.useCallback(t=>{t.target.select();},[]);return jsxRuntime.jsx("div",{role:"group","aria-label":"OTP Input",className:g("inline-flex gap-2",A),children:Array.from({length:a},(t,r)=>jsxRuntime.jsx("input",{ref:e=>{o.current[r]=e;},type:E?"password":"text",inputMode:u?"text":"numeric",pattern:u?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:n[r],disabled:C,readOnly:D,autoComplete:"one-time-code","aria-label":`Digit ${r+1} of ${a}`,className:g(T({size:V,variant:z,invalid:L||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:e=>F(r,e.target.value),onKeyDown:e=>H(r,e),onPaste:e=>S(r,e),onFocus:K},r))})}exports.OTPInput=q;
@@ -0,0 +1 @@
1
+ @keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}
@@ -0,0 +1,4 @@
1
+ export { OTPInput_alias_3 as OTPInput } from '../_tsup-dts-rollup.cjs';
2
+ export { OTPInputProps_alias_3 as OTPInputProps } from '../_tsup-dts-rollup.cjs';
3
+ export { OTPInputSize_alias_3 as OTPInputSize } from '../_tsup-dts-rollup.cjs';
4
+ export { OTPInputVariant_alias_3 as OTPInputVariant } from '../_tsup-dts-rollup.cjs';
@@ -0,0 +1,4 @@
1
+ export { OTPInput_alias_3 as OTPInput } from '../_tsup-dts-rollup.js';
2
+ export { OTPInputProps_alias_3 as OTPInputProps } from '../_tsup-dts-rollup.js';
3
+ export { OTPInputSize_alias_3 as OTPInputSize } from '../_tsup-dts-rollup.js';
4
+ export { OTPInputVariant_alias_3 as OTPInputVariant } from '../_tsup-dts-rollup.js';
@@ -0,0 +1 @@
1
+ import {useState,useRef,useEffect,useCallback}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';function g(...a){return twMerge(clsx(a))}var T=cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}});cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});function q({length:a=6,value:y,defaultValue:O="",onChange:v,onComplete:k,size:V="md",variant:z="outline",disabled:C=false,readOnly:D=false,autoFocus:w=false,alphanumeric:u=false,mask:E=false,invalid:L=false,className:A}){let m=y!==void 0,[M,R]=useState(()=>{let t=(O??"").slice(0,a);return Array.from({length:a},(r,e)=>t[e]??"")}),n=m?Array.from({length:a},(t,r)=>(y??"")[r]??""):M,o=useRef([]),I=useRef([]);useEffect(()=>{w&&o.current[0]&&o.current[0].focus();},[w]);let s=useCallback(t=>{m||R(t);let r=t.join("");v?.(r),t.every(e=>e!=="")&&t.length===a&&k?.(r);},[m,v,k,a]),_=t=>{let r=o.current[t];r&&(r.classList.remove("otp-pop"),clearTimeout(I.current[t]),r.offsetWidth,r.classList.add("otp-pop"),I.current[t]=window.setTimeout(()=>r.classList.remove("otp-pop"),200));},F=useCallback((t,r)=>{let e=u?/[a-zA-Z0-9]/g:/[0-9]/g,c=r.match(e)??[];if(c.length===0)return;let d=c[c.length-1],l=[...n];l[t]=d,s(l),_(t),t<a-1&&o.current[t+1]?.focus();},[n,a,u,s]),H=useCallback((t,r)=>{if(r.key==="Backspace"){if(r.preventDefault(),n[t]){let e=[...n];e[t]="",s(e);}else if(t>0){o.current[t-1]?.focus();let e=[...n];e[t-1]="",s(e);}}else if(r.key==="ArrowLeft")r.preventDefault(),t>0&&o.current[t-1]?.focus();else if(r.key==="ArrowRight")r.preventDefault(),t<a-1&&o.current[t+1]?.focus();else if(r.key==="Delete"){r.preventDefault();let e=[...n];e[t]="",s(e);}},[n,a,s]),S=useCallback((t,r)=>{r.preventDefault();let e=r.clipboardData.getData("text"),c=u?/[a-zA-Z0-9]/g:/[0-9]/g,d=e.match(c)??[],l=[...n],b=t;for(let i=0;i<d.length&&t+i<a;i++)l[t+i]=d[i],b=t+i;s(l);let x=l.findIndex((i,Z)=>Z>b&&i===""),N=x!==-1?x:Math.min(b+1,a-1);o.current[N]?.focus();},[n,a,u,s]),K=useCallback(t=>{t.target.select();},[]);return jsx("div",{role:"group","aria-label":"OTP Input",className:g("inline-flex gap-2",A),children:Array.from({length:a},(t,r)=>jsx("input",{ref:e=>{o.current[r]=e;},type:E?"password":"text",inputMode:u?"text":"numeric",pattern:u?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:n[r],disabled:C,readOnly:D,autoComplete:"one-time-code","aria-label":`Digit ${r+1} of ${a}`,className:g(T({size:V,variant:z,invalid:L||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:e=>F(r,e.target.value),onKeyDown:e=>H(r,e),onPaste:e=>S(r,e),onFocus:K},r))})}export{q as OTPInput};
@@ -1 +1 @@
1
- 'use strict';var react=require('react'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function i(...c){return tailwindMerge.twMerge(clsx.clsx(c))}classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});classVarianceAuthority.cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});var v=classVarianceAuthority.cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});react.createContext(null);function B({options:c,value:y,defaultValue:_="",onChange:b,placeholder:S="Select an option\u2026",disabled:l,clearable:C=false,intent:N,size:D,className:E,id:O,"aria-label":x}){let[t,s]=react.useState(false),[I,f]=react.useState(_),g=y!==void 0,d=g?y:I,k=react.useRef(null),R=react.useRef(null),M=react.useId(),P=O??M,p=c.find(r=>r.value===d),u=react.useCallback(r=>{g||f(r),b?.(r),s(false);},[g,b]),L=react.useCallback(r=>{r.stopPropagation(),g||f(""),b?.("");},[g,b]);react.useEffect(()=>{if(!t)return;function r(n){k.current?.contains(n.target)||s(false);}return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[t]);let j=r=>{if(l)return;let n=c.filter(a=>!a.disabled),h=n.findIndex(a=>a.value===d);switch(r.key){case "Enter":case " ":r.preventDefault(),s(a=>!a);break;case "Escape":r.preventDefault(),s(false);break;case "ArrowDown":if(r.preventDefault(),!t)s(true);else {let a=n[(h+1)%n.length];u(a.value);}break;case "ArrowUp":if(r.preventDefault(),!t)s(true);else {let a=n[(h-1+n.length)%n.length];u(a.value);}break}};return jsxRuntime.jsxs("div",{ref:k,className:i("select-root relative",E),children:[jsxRuntime.jsxs("div",{id:P,role:"combobox",tabIndex:l?-1:0,"aria-haspopup":"listbox","aria-expanded":t,"aria-label":x,"aria-disabled":l,onClick:()=>!l&&s(r=>!r),onKeyDown:j,className:i(v({intent:N,size:D}),"flex cursor-pointer items-center gap-2 pr-8",t&&"border-primary-500 ring-2 ring-primary-500/20 dark:border-primary-400",l&&"pointer-events-none opacity-50"),children:[jsxRuntime.jsx("span",{className:i("flex-1 truncate",!p&&"text-secondary-400"),children:p?p.label:S}),jsxRuntime.jsxs("span",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-0.5",children:[C&&d&&jsxRuntime.jsx("button",{type:"button",tabIndex:-1,onClick:L,"aria-label":"Clear selection",className:"rounded p-0.5 text-secondary-400 hover:text-primary-600 dark:hover:text-primary-300",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("h-4 w-4 text-secondary-400 transition-transform duration-200",t&&"rotate-180"),"aria-hidden":"true"})]})]}),t&&jsxRuntime.jsx("ul",{ref:R,role:"listbox","aria-label":x??"Options",className:i("select-list absolute left-0 right-0 z-50 mt-1 max-h-60 overflow-auto rounded-md","border border-primary-200 bg-white py-1 shadow-lg outline-none","dark:border-primary-700 dark:bg-primary-900"),children:c.map(r=>jsxRuntime.jsxs("li",{role:"option","aria-selected":r.value===d,"aria-disabled":r.disabled,onClick:()=>!r.disabled&&u(r.value),className:i("select-option flex cursor-pointer items-center gap-2 px-3 py-2 text-sm",r.value===d?"bg-primary-100 font-medium text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/60",r.disabled&&"pointer-events-none opacity-40"),children:[jsxRuntime.jsx("span",{className:"flex-1",children:r.label}),r.value===d&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5 text-primary-500"})]},r.value))})]})}exports.Select=B;
1
+ 'use strict';var react=require('react'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function i(...c){return tailwindMerge.twMerge(clsx.clsx(c))}classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});classVarianceAuthority.cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});classVarianceAuthority.cva("inline-flex items-center",{variants:{size:{sm:"gap-0.5 [&_.rating-icon]:h-4 [&_.rating-icon]:w-4",md:"gap-1 [&_.rating-icon]:h-6 [&_.rating-icon]:w-6",lg:"gap-1.5 [&_.rating-icon]:h-8 [&_.rating-icon]:w-8"}},defaultVariants:{size:"md"}});classVarianceAuthority.cva("inline-flex items-center justify-center rounded font-mono font-medium select-none",{variants:{size:{xs:"h-4 min-w-4 px-1 text-[0.6rem]",sm:"h-5 min-w-5 px-1.5 text-xs",md:"h-6 min-w-6 px-2 text-sm",lg:"h-8 min-w-8 px-2.5 text-base"},variant:{default:"border border-secondary-300 bg-secondary-100 text-secondary-700 shadow-[0_2px_0_0_var(--color-secondary-300)] dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:shadow-[0_2px_0_0_var(--color-secondary-600)]",outline:"border border-secondary-400 bg-transparent text-secondary-700 dark:border-secondary-500 dark:text-secondary-300",ghost:"text-secondary-600 dark:text-secondary-400"}},defaultVariants:{size:"sm",variant:"default"}});classVarianceAuthority.cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});classVarianceAuthority.cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});var v=classVarianceAuthority.cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});react.createContext(null);function B({options:c,value:y,defaultValue:z="",onChange:b,placeholder:S="Select an option\u2026",disabled:l,clearable:C=false,intent:N,size:D,className:E,id:O,"aria-label":x}){let[t,s]=react.useState(false),[I,f]=react.useState(z),g=y!==void 0,d=g?y:I,k=react.useRef(null),R=react.useRef(null),M=react.useId(),P=O??M,p=c.find(r=>r.value===d),u=react.useCallback(r=>{g||f(r),b?.(r),s(false);},[g,b]),j=react.useCallback(r=>{r.stopPropagation(),g||f(""),b?.("");},[g,b]);react.useEffect(()=>{if(!t)return;function r(n){k.current?.contains(n.target)||s(false);}return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[t]);let L=r=>{if(l)return;let n=c.filter(a=>!a.disabled),h=n.findIndex(a=>a.value===d);switch(r.key){case "Enter":case " ":r.preventDefault(),s(a=>!a);break;case "Escape":r.preventDefault(),s(false);break;case "ArrowDown":if(r.preventDefault(),!t)s(true);else {let a=n[(h+1)%n.length];u(a.value);}break;case "ArrowUp":if(r.preventDefault(),!t)s(true);else {let a=n[(h-1+n.length)%n.length];u(a.value);}break}};return jsxRuntime.jsxs("div",{ref:k,className:i("select-root relative",E),children:[jsxRuntime.jsxs("div",{id:P,role:"combobox",tabIndex:l?-1:0,"aria-haspopup":"listbox","aria-expanded":t,"aria-label":x,"aria-disabled":l,onClick:()=>!l&&s(r=>!r),onKeyDown:L,className:i(v({intent:N,size:D}),"flex cursor-pointer items-center gap-2 pr-8",t&&"border-primary-500 ring-2 ring-primary-500/20 dark:border-primary-400",l&&"pointer-events-none opacity-50"),children:[jsxRuntime.jsx("span",{className:i("flex-1 truncate",!p&&"text-secondary-400"),children:p?p.label:S}),jsxRuntime.jsxs("span",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-0.5",children:[C&&d&&jsxRuntime.jsx("button",{type:"button",tabIndex:-1,onClick:j,"aria-label":"Clear selection",className:"rounded p-0.5 text-secondary-400 hover:text-primary-600 dark:hover:text-primary-300",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("h-4 w-4 text-secondary-400 transition-transform duration-200",t&&"rotate-180"),"aria-hidden":"true"})]})]}),t&&jsxRuntime.jsx("ul",{ref:R,role:"listbox","aria-label":x??"Options",className:i("select-list absolute left-0 right-0 z-50 mt-1 max-h-60 overflow-auto rounded-md","border border-primary-200 bg-white py-1 shadow-lg outline-none","dark:border-primary-700 dark:bg-primary-900"),children:c.map(r=>jsxRuntime.jsxs("li",{role:"option","aria-selected":r.value===d,"aria-disabled":r.disabled,onClick:()=>!r.disabled&&u(r.value),className:i("select-option flex cursor-pointer items-center gap-2 px-3 py-2 text-sm",r.value===d?"bg-primary-100 font-medium text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/60",r.disabled&&"pointer-events-none opacity-40"),children:[jsxRuntime.jsx("span",{className:"flex-1",children:r.label}),r.value===d&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5 text-primary-500"})]},r.value))})]})}exports.Select=B;
@@ -1 +1 @@
1
- import {createContext,useState,useRef,useId,useCallback,useEffect}from'react';import {X,ChevronDown,Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx}from'react/jsx-runtime';function i(...c){return twMerge(clsx(c))}cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});var v=cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});createContext(null);function B({options:c,value:y,defaultValue:_="",onChange:b,placeholder:S="Select an option\u2026",disabled:l,clearable:C=false,intent:N,size:D,className:E,id:O,"aria-label":x}){let[t,s]=useState(false),[I,f]=useState(_),g=y!==void 0,d=g?y:I,k=useRef(null),R=useRef(null),M=useId(),P=O??M,p=c.find(r=>r.value===d),u=useCallback(r=>{g||f(r),b?.(r),s(false);},[g,b]),L=useCallback(r=>{r.stopPropagation(),g||f(""),b?.("");},[g,b]);useEffect(()=>{if(!t)return;function r(n){k.current?.contains(n.target)||s(false);}return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[t]);let j=r=>{if(l)return;let n=c.filter(a=>!a.disabled),h=n.findIndex(a=>a.value===d);switch(r.key){case "Enter":case " ":r.preventDefault(),s(a=>!a);break;case "Escape":r.preventDefault(),s(false);break;case "ArrowDown":if(r.preventDefault(),!t)s(true);else {let a=n[(h+1)%n.length];u(a.value);}break;case "ArrowUp":if(r.preventDefault(),!t)s(true);else {let a=n[(h-1+n.length)%n.length];u(a.value);}break}};return jsxs("div",{ref:k,className:i("select-root relative",E),children:[jsxs("div",{id:P,role:"combobox",tabIndex:l?-1:0,"aria-haspopup":"listbox","aria-expanded":t,"aria-label":x,"aria-disabled":l,onClick:()=>!l&&s(r=>!r),onKeyDown:j,className:i(v({intent:N,size:D}),"flex cursor-pointer items-center gap-2 pr-8",t&&"border-primary-500 ring-2 ring-primary-500/20 dark:border-primary-400",l&&"pointer-events-none opacity-50"),children:[jsx("span",{className:i("flex-1 truncate",!p&&"text-secondary-400"),children:p?p.label:S}),jsxs("span",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-0.5",children:[C&&d&&jsx("button",{type:"button",tabIndex:-1,onClick:L,"aria-label":"Clear selection",className:"rounded p-0.5 text-secondary-400 hover:text-primary-600 dark:hover:text-primary-300",children:jsx(X,{className:"h-3.5 w-3.5"})}),jsx(ChevronDown,{className:i("h-4 w-4 text-secondary-400 transition-transform duration-200",t&&"rotate-180"),"aria-hidden":"true"})]})]}),t&&jsx("ul",{ref:R,role:"listbox","aria-label":x??"Options",className:i("select-list absolute left-0 right-0 z-50 mt-1 max-h-60 overflow-auto rounded-md","border border-primary-200 bg-white py-1 shadow-lg outline-none","dark:border-primary-700 dark:bg-primary-900"),children:c.map(r=>jsxs("li",{role:"option","aria-selected":r.value===d,"aria-disabled":r.disabled,onClick:()=>!r.disabled&&u(r.value),className:i("select-option flex cursor-pointer items-center gap-2 px-3 py-2 text-sm",r.value===d?"bg-primary-100 font-medium text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/60",r.disabled&&"pointer-events-none opacity-40"),children:[jsx("span",{className:"flex-1",children:r.label}),r.value===d&&jsx(Check,{className:"h-3.5 w-3.5 text-primary-500"})]},r.value))})]})}export{B as Select};
1
+ import {createContext,useState,useRef,useId,useCallback,useEffect}from'react';import {X,ChevronDown,Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx}from'react/jsx-runtime';function i(...c){return twMerge(clsx(c))}cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}});cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}});cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}});cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}});cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}});cva("bg-primary-200 text-primary-700 dark:bg-primary-700 dark:text-primary-200",{variants:{size:{xs:"h-6 w-6 text-[10px]",sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base",xl:"h-16 w-16 text-lg"},shape:{circular:"rounded-full",rounded:"rounded-lg",square:"rounded-none"}},defaultVariants:{size:"md",shape:"circular"}});cva("inline-flex items-center",{variants:{size:{sm:"gap-0.5 [&_.rating-icon]:h-4 [&_.rating-icon]:w-4",md:"gap-1 [&_.rating-icon]:h-6 [&_.rating-icon]:w-6",lg:"gap-1.5 [&_.rating-icon]:h-8 [&_.rating-icon]:w-8"}},defaultVariants:{size:"md"}});cva("inline-flex items-center justify-center rounded font-mono font-medium select-none",{variants:{size:{xs:"h-4 min-w-4 px-1 text-[0.6rem]",sm:"h-5 min-w-5 px-1.5 text-xs",md:"h-6 min-w-6 px-2 text-sm",lg:"h-8 min-w-8 px-2.5 text-base"},variant:{default:"border border-secondary-300 bg-secondary-100 text-secondary-700 shadow-[0_2px_0_0_var(--color-secondary-300)] dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:shadow-[0_2px_0_0_var(--color-secondary-600)]",outline:"border border-secondary-400 bg-transparent text-secondary-700 dark:border-secondary-500 dark:text-secondary-300",ghost:"text-secondary-600 dark:text-secondary-400"}},defaultVariants:{size:"sm",variant:"default"}});cva("relative flex w-full touch-none select-none items-center",{variants:{intent:{primary:"[&_.slider-fill]:bg-primary-500 [&_.slider-thumb]:border-primary-500",secondary:"[&_.slider-fill]:bg-secondary-500 [&_.slider-thumb]:border-secondary-500",success:"[&_.slider-fill]:bg-success-500 [&_.slider-thumb]:border-success-500",danger:"[&_.slider-fill]:bg-danger-500 [&_.slider-thumb]:border-danger-500",warning:"[&_.slider-fill]:bg-warning-500 [&_.slider-thumb]:border-warning-500"},size:{sm:"h-4",md:"h-5",lg:"h-6"}},defaultVariants:{intent:"primary",size:"md"}});cva("inline-flex items-center gap-1 rounded-full font-medium select-none transition-colors [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-100 text-primary-700 dark:bg-primary-800 dark:text-primary-200",secondary:"bg-secondary-100 text-secondary-700 dark:bg-secondary-800 dark:text-secondary-200",success:"bg-success-100 text-success-700 dark:bg-success-900/40 dark:text-success-300",danger:"bg-danger-100 text-danger-700 dark:bg-danger-900/40 dark:text-danger-300",warning:"bg-warning-100 text-warning-700 dark:bg-warning-900/40 dark:text-warning-300",info:"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300"},size:{sm:"h-5 px-2 text-[0.6875rem] gap-0.5",md:"h-6 px-2.5 text-xs gap-1",lg:"h-7 px-3 text-sm gap-1"},variant:{solid:"",outline:"bg-transparent border",soft:""}},compoundVariants:[{intent:"primary",variant:"outline",class:"border-primary-300 text-primary-700 dark:border-primary-600 dark:text-primary-300"},{intent:"secondary",variant:"outline",class:"border-secondary-300 text-secondary-700 dark:border-secondary-600 dark:text-secondary-300"},{intent:"success",variant:"outline",class:"border-success-400 text-success-700 dark:border-success-600 dark:text-success-300"},{intent:"danger",variant:"outline",class:"border-danger-400 text-danger-700 dark:border-danger-600 dark:text-danger-300"},{intent:"warning",variant:"outline",class:"border-warning-400 text-warning-700 dark:border-warning-600 dark:text-warning-300"},{intent:"info",variant:"outline",class:"border-blue-400 text-blue-700 dark:border-blue-600 dark:text-blue-300"}],defaultVariants:{intent:"primary",size:"md",variant:"solid"}});var v=cva("relative w-full cursor-pointer rounded-md border bg-white text-sm transition-colors dark:bg-primary-900",{variants:{intent:{default:"border-primary-300 text-primary-900 hover:border-primary-400 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-primary-600 dark:text-primary-100 dark:hover:border-primary-500 dark:focus-within:border-primary-400",danger:"border-danger-500 text-primary-900 focus-within:ring-2 focus-within:ring-danger-500/20 dark:border-danger-500 dark:text-primary-100"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"}},defaultVariants:{intent:"default",size:"md"}});createContext(null);function B({options:c,value:y,defaultValue:z="",onChange:b,placeholder:S="Select an option\u2026",disabled:l,clearable:C=false,intent:N,size:D,className:E,id:O,"aria-label":x}){let[t,s]=useState(false),[I,f]=useState(z),g=y!==void 0,d=g?y:I,k=useRef(null),R=useRef(null),M=useId(),P=O??M,p=c.find(r=>r.value===d),u=useCallback(r=>{g||f(r),b?.(r),s(false);},[g,b]),j=useCallback(r=>{r.stopPropagation(),g||f(""),b?.("");},[g,b]);useEffect(()=>{if(!t)return;function r(n){k.current?.contains(n.target)||s(false);}return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[t]);let L=r=>{if(l)return;let n=c.filter(a=>!a.disabled),h=n.findIndex(a=>a.value===d);switch(r.key){case "Enter":case " ":r.preventDefault(),s(a=>!a);break;case "Escape":r.preventDefault(),s(false);break;case "ArrowDown":if(r.preventDefault(),!t)s(true);else {let a=n[(h+1)%n.length];u(a.value);}break;case "ArrowUp":if(r.preventDefault(),!t)s(true);else {let a=n[(h-1+n.length)%n.length];u(a.value);}break}};return jsxs("div",{ref:k,className:i("select-root relative",E),children:[jsxs("div",{id:P,role:"combobox",tabIndex:l?-1:0,"aria-haspopup":"listbox","aria-expanded":t,"aria-label":x,"aria-disabled":l,onClick:()=>!l&&s(r=>!r),onKeyDown:L,className:i(v({intent:N,size:D}),"flex cursor-pointer items-center gap-2 pr-8",t&&"border-primary-500 ring-2 ring-primary-500/20 dark:border-primary-400",l&&"pointer-events-none opacity-50"),children:[jsx("span",{className:i("flex-1 truncate",!p&&"text-secondary-400"),children:p?p.label:S}),jsxs("span",{className:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-0.5",children:[C&&d&&jsx("button",{type:"button",tabIndex:-1,onClick:j,"aria-label":"Clear selection",className:"rounded p-0.5 text-secondary-400 hover:text-primary-600 dark:hover:text-primary-300",children:jsx(X,{className:"h-3.5 w-3.5"})}),jsx(ChevronDown,{className:i("h-4 w-4 text-secondary-400 transition-transform duration-200",t&&"rotate-180"),"aria-hidden":"true"})]})]}),t&&jsx("ul",{ref:R,role:"listbox","aria-label":x??"Options",className:i("select-list absolute left-0 right-0 z-50 mt-1 max-h-60 overflow-auto rounded-md","border border-primary-200 bg-white py-1 shadow-lg outline-none","dark:border-primary-700 dark:bg-primary-900"),children:c.map(r=>jsxs("li",{role:"option","aria-selected":r.value===d,"aria-disabled":r.disabled,onClick:()=>!r.disabled&&u(r.value),className:i("select-option flex cursor-pointer items-center gap-2 px-3 py-2 text-sm",r.value===d?"bg-primary-100 font-medium text-primary-900 dark:bg-primary-800 dark:text-primary-50":"text-primary-700 hover:bg-primary-50 dark:text-primary-300 dark:hover:bg-primary-800/60",r.disabled&&"pointer-events-none opacity-40"),children:[jsx("span",{className:"flex-1",children:r.label}),r.value===d&&jsx(Check,{className:"h-3.5 w-3.5 text-primary-500"})]},r.value))})]})}export{B as Select};
@@ -1 +1 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react');require('lucide-react');var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function l(...a){return tailwindMerge.twMerge(clsx.clsx(a))}var y=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var W=react.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),H={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function d({children:a,className:k,intent:v,size:e="md",layout:F="stacked",title:o,description:s,footer:c,onValues:n,onSubmit:p,...R}){let V=H[e??"md"],[h,w]=react.useState({}),N=react.useCallback(r=>{if(r.preventDefault(),p?.(r),n){let E=Object.fromEntries(new FormData(r.currentTarget).entries()),i=n(E,r),u=f=>{if(!f)return;let x={};for(let[C,{result:P,reason:g}]of Object.entries(f))g&&(x[C]={status:P?"success":"error",message:g});w(x);};i instanceof Promise?i.then(u).catch(()=>{}):u(i);}},[p,n]);return jsxRuntime.jsx(W.Provider,{value:{layout:F??"stacked",size:e??"md",labelWidth:V,bulkErrors:h},children:jsxRuntime.jsxs("form",{className:l(y({intent:v,size:e}),"flex flex-col",k),onSubmit:N,...R,children:[(o||s)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[o&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:o}),s&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:s})]}),jsxRuntime.jsx("div",{className:l("flex flex-col",j[e??"md"]),children:a}),c&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:c})]})})}var B={Form:d},nt=B;exports.Form=d;exports.Forms=B;exports.default=nt;
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var react=require('react');require('lucide-react');var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function p(...a){return tailwindMerge.twMerge(clsx.clsx(a))}var H=classVarianceAuthority.cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}}),W=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var ee=react.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),te={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},re={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function M({children:a,className:F,intent:E,size:d="md",layout:w="stacked",title:u,description:f,footer:h,onValues:y,onSubmit:b,...i}){let C=te[d??"md"],[N,O]=react.useState({}),g=react.useCallback(m=>{if(m.preventDefault(),b?.(m),y){let z=Object.fromEntries(new FormData(m.currentTarget).entries()),o=y(z,m),n=x=>{if(!x)return;let s={};for(let[L,{result:S,reason:V}]of Object.entries(x))V&&(s[L]={status:S?"success":"error",message:V});O(s);};o instanceof Promise?o.then(n).catch(()=>{}):n(o);}},[b,y]);return jsxRuntime.jsx(ee.Provider,{value:{layout:w??"stacked",size:d??"md",labelWidth:C,bulkErrors:N},children:jsxRuntime.jsxs("form",{className:p(W({intent:E,size:d}),"flex flex-col",F),onSubmit:g,...i,children:[(u||f)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[u&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:u}),f&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:f})]}),jsxRuntime.jsx("div",{className:p("flex flex-col",re[d??"md"]),children:a}),h&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:h})]})})}function T({length:a=6,value:F,defaultValue:E="",onChange:d,onComplete:w,size:u="md",variant:f="outline",disabled:h=false,readOnly:y=false,autoFocus:b=false,alphanumeric:i=false,mask:C=false,invalid:N=false,className:O}){let g=F!==void 0,[m,z]=react.useState(()=>{let e=(E??"").slice(0,a);return Array.from({length:a},(t,r)=>e[r]??"")}),o=g?Array.from({length:a},(e,t)=>(F??"")[t]??""):m,n=react.useRef([]),x=react.useRef([]);react.useEffect(()=>{b&&n.current[0]&&n.current[0].focus();},[b]);let s=react.useCallback(e=>{g||z(e);let t=e.join("");d?.(t),e.every(r=>r!=="")&&e.length===a&&w?.(t);},[g,d,w,a]),L=e=>{let t=n.current[e];t&&(t.classList.remove("otp-pop"),clearTimeout(x.current[e]),t.offsetWidth,t.classList.add("otp-pop"),x.current[e]=window.setTimeout(()=>t.classList.remove("otp-pop"),200));},S=react.useCallback((e,t)=>{let r=i?/[a-zA-Z0-9]/g:/[0-9]/g,v=t.match(r)??[];if(v.length===0)return;let I=v[v.length-1],c=[...o];c[e]=I,s(c),L(e),e<a-1&&n.current[e+1]?.focus();},[o,a,i,s]),V=react.useCallback((e,t)=>{if(t.key==="Backspace"){if(t.preventDefault(),o[e]){let r=[...o];r[e]="",s(r);}else if(e>0){n.current[e-1]?.focus();let r=[...o];r[e-1]="",s(r);}}else if(t.key==="ArrowLeft")t.preventDefault(),e>0&&n.current[e-1]?.focus();else if(t.key==="ArrowRight")t.preventDefault(),e<a-1&&n.current[e+1]?.focus();else if(t.key==="Delete"){t.preventDefault();let r=[...o];r[e]="",s(r);}},[o,a,s]),_=react.useCallback((e,t)=>{t.preventDefault();let r=t.clipboardData.getData("text"),v=i?/[a-zA-Z0-9]/g:/[0-9]/g,I=r.match(v)??[],c=[...o],D=e;for(let l=0;l<I.length&&e+l<a;l++)c[e+l]=I[l],D=e+l;s(c);let A=c.findIndex((l,q)=>q>D&&l===""),Z=A!==-1?A:Math.min(D+1,a-1);n.current[Z]?.focus();},[o,a,i,s]),K=react.useCallback(e=>{e.target.select();},[]);return jsxRuntime.jsx("div",{role:"group","aria-label":"OTP Input",className:p("inline-flex gap-2",O),children:Array.from({length:a},(e,t)=>jsxRuntime.jsx("input",{ref:r=>{n.current[t]=r;},type:C?"password":"text",inputMode:i?"text":"numeric",pattern:i?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:o[t],disabled:h,readOnly:y,autoComplete:"one-time-code","aria-label":`Digit ${t+1} of ${a}`,className:p(H({size:u,variant:f,invalid:N||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:r=>S(t,r.target.value),onKeyDown:r=>V(t,r),onPaste:r=>_(t,r),onFocus:K},t))})}var ne={Form:M,OTPInput:T},Ae=ne;exports.Form=M;exports.Forms=ne;exports.OTPInput=T;exports.default=Ae;
@@ -0,0 +1 @@
1
+ @keyframes otp-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.otp-pop{animation:otp-pop .18s ease-out forwards}
@@ -1,3 +1,7 @@
1
1
  export { Form_alias_1 as Form } from '../_tsup-dts-rollup.cjs';
2
+ export { OTPInput_alias_1 as OTPInput } from '../_tsup-dts-rollup.cjs';
3
+ export { OTPInputProps_alias_1 as OTPInputProps } from '../_tsup-dts-rollup.cjs';
4
+ export { OTPInputSize_alias_1 as OTPInputSize } from '../_tsup-dts-rollup.cjs';
5
+ export { OTPInputVariant_alias_1 as OTPInputVariant } from '../_tsup-dts-rollup.cjs';
2
6
  export { Forms_alias_1 as Forms } from '../_tsup-dts-rollup.cjs';
3
7
  export { default_alias_6 as default } from '../_tsup-dts-rollup.cjs';
@@ -1,3 +1,7 @@
1
1
  export { Form_alias_1 as Form } from '../_tsup-dts-rollup.js';
2
+ export { OTPInput_alias_1 as OTPInput } from '../_tsup-dts-rollup.js';
3
+ export { OTPInputProps_alias_1 as OTPInputProps } from '../_tsup-dts-rollup.js';
4
+ export { OTPInputSize_alias_1 as OTPInputSize } from '../_tsup-dts-rollup.js';
5
+ export { OTPInputVariant_alias_1 as OTPInputVariant } from '../_tsup-dts-rollup.js';
2
6
  export { Forms_alias_1 as Forms } from '../_tsup-dts-rollup.js';
3
7
  export { default_alias_6 as default } from '../_tsup-dts-rollup.js';
@@ -1 +1 @@
1
- import {createContext,useState,useCallback}from'react';import'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';function l(...a){return twMerge(clsx(a))}var y=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var W=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),H={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function d({children:a,className:k,intent:v,size:e="md",layout:F="stacked",title:o,description:s,footer:c,onValues:n,onSubmit:p,...R}){let V=H[e??"md"],[h,w]=useState({}),N=useCallback(r=>{if(r.preventDefault(),p?.(r),n){let E=Object.fromEntries(new FormData(r.currentTarget).entries()),i=n(E,r),u=f=>{if(!f)return;let x={};for(let[C,{result:P,reason:g}]of Object.entries(f))g&&(x[C]={status:P?"success":"error",message:g});w(x);};i instanceof Promise?i.then(u).catch(()=>{}):u(i);}},[p,n]);return jsx(W.Provider,{value:{layout:F??"stacked",size:e??"md",labelWidth:V,bulkErrors:h},children:jsxs("form",{className:l(y({intent:v,size:e}),"flex flex-col",k),onSubmit:N,...R,children:[(o||s)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[o&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:o}),s&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:s})]}),jsx("div",{className:l("flex flex-col",j[e??"md"]),children:a}),c&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:c})]})})}var B={Form:d},nt=B;export{d as Form,B as Forms,nt as default};
1
+ import {createContext,useState,useCallback,useRef,useEffect}from'react';import'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';function p(...a){return twMerge(clsx(a))}var H=cva("w-full rounded-md font-mono text-center transition-all focus:outline-none focus:ring-2 disabled:pointer-events-none disabled:opacity-50",{variants:{size:{sm:"h-9 w-9 text-sm",md:"h-12 w-12 text-base",lg:"h-14 w-14 text-lg"},variant:{outline:"border border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600 dark:bg-transparent dark:focus:border-primary-400",filled:"border border-transparent bg-secondary-100 focus:border-primary-500 focus:ring-primary-500/20 dark:bg-secondary-800 dark:focus:border-primary-400",underline:"rounded-none border-0 border-b-2 border-secondary-300 bg-transparent px-0 focus:border-primary-500 focus:ring-0 dark:border-secondary-600 dark:focus:border-primary-400"},invalid:{true:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20",false:""}},defaultVariants:{size:"md",variant:"outline",invalid:false}}),W=cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var ee=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),te={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},re={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function M({children:a,className:F,intent:E,size:d="md",layout:w="stacked",title:u,description:f,footer:h,onValues:y,onSubmit:b,...i}){let C=te[d??"md"],[N,O]=useState({}),g=useCallback(m=>{if(m.preventDefault(),b?.(m),y){let z=Object.fromEntries(new FormData(m.currentTarget).entries()),o=y(z,m),n=x=>{if(!x)return;let s={};for(let[L,{result:S,reason:V}]of Object.entries(x))V&&(s[L]={status:S?"success":"error",message:V});O(s);};o instanceof Promise?o.then(n).catch(()=>{}):n(o);}},[b,y]);return jsx(ee.Provider,{value:{layout:w??"stacked",size:d??"md",labelWidth:C,bulkErrors:N},children:jsxs("form",{className:p(W({intent:E,size:d}),"flex flex-col",F),onSubmit:g,...i,children:[(u||f)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[u&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:u}),f&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:f})]}),jsx("div",{className:p("flex flex-col",re[d??"md"]),children:a}),h&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:h})]})})}function T({length:a=6,value:F,defaultValue:E="",onChange:d,onComplete:w,size:u="md",variant:f="outline",disabled:h=false,readOnly:y=false,autoFocus:b=false,alphanumeric:i=false,mask:C=false,invalid:N=false,className:O}){let g=F!==void 0,[m,z]=useState(()=>{let e=(E??"").slice(0,a);return Array.from({length:a},(t,r)=>e[r]??"")}),o=g?Array.from({length:a},(e,t)=>(F??"")[t]??""):m,n=useRef([]),x=useRef([]);useEffect(()=>{b&&n.current[0]&&n.current[0].focus();},[b]);let s=useCallback(e=>{g||z(e);let t=e.join("");d?.(t),e.every(r=>r!=="")&&e.length===a&&w?.(t);},[g,d,w,a]),L=e=>{let t=n.current[e];t&&(t.classList.remove("otp-pop"),clearTimeout(x.current[e]),t.offsetWidth,t.classList.add("otp-pop"),x.current[e]=window.setTimeout(()=>t.classList.remove("otp-pop"),200));},S=useCallback((e,t)=>{let r=i?/[a-zA-Z0-9]/g:/[0-9]/g,v=t.match(r)??[];if(v.length===0)return;let I=v[v.length-1],c=[...o];c[e]=I,s(c),L(e),e<a-1&&n.current[e+1]?.focus();},[o,a,i,s]),V=useCallback((e,t)=>{if(t.key==="Backspace"){if(t.preventDefault(),o[e]){let r=[...o];r[e]="",s(r);}else if(e>0){n.current[e-1]?.focus();let r=[...o];r[e-1]="",s(r);}}else if(t.key==="ArrowLeft")t.preventDefault(),e>0&&n.current[e-1]?.focus();else if(t.key==="ArrowRight")t.preventDefault(),e<a-1&&n.current[e+1]?.focus();else if(t.key==="Delete"){t.preventDefault();let r=[...o];r[e]="",s(r);}},[o,a,s]),_=useCallback((e,t)=>{t.preventDefault();let r=t.clipboardData.getData("text"),v=i?/[a-zA-Z0-9]/g:/[0-9]/g,I=r.match(v)??[],c=[...o],D=e;for(let l=0;l<I.length&&e+l<a;l++)c[e+l]=I[l],D=e+l;s(c);let A=c.findIndex((l,q)=>q>D&&l===""),Z=A!==-1?A:Math.min(D+1,a-1);n.current[Z]?.focus();},[o,a,i,s]),K=useCallback(e=>{e.target.select();},[]);return jsx("div",{role:"group","aria-label":"OTP Input",className:p("inline-flex gap-2",O),children:Array.from({length:a},(e,t)=>jsx("input",{ref:r=>{n.current[t]=r;},type:C?"password":"text",inputMode:i?"text":"numeric",pattern:i?"[a-zA-Z0-9]":"[0-9]",maxLength:2,value:o[t],disabled:h,readOnly:y,autoComplete:"one-time-code","aria-label":`Digit ${t+1} of ${a}`,className:p(H({size:u,variant:f,invalid:N||void 0}),"text-secondary-900 dark:text-secondary-100"),onChange:r=>S(t,r.target.value),onKeyDown:r=>V(t,r),onPaste:r=>_(t,r),onFocus:K},t))})}var ne={Form:M,OTPInput:T},Ae=ne;export{M as Form,ne as Forms,T as OTPInput,Ae as default};
@@ -0,0 +1 @@
1
+ 'use strict';var re=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var re__default=/*#__PURE__*/_interopDefault(re);function B(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var J="onyx-split:",Y=10;function $(e){if(!e)return {};try{let m=localStorage.getItem(J+e);if(m)return JSON.parse(m)}catch{}return {}}function j(e,m){if(e)try{localStorage.setItem(J+e,JSON.stringify(m));}catch{}}function q(e,m){return e.filter(u=>m[u.id]!==false).map(u=>u.id)}function _(e,m,u){return Math.max(m,Math.min(u,e))}function Q({panes:e,direction:m,containerRef:u,visibility:g,autoSaveId:z,onResizeEnd:T}){let y=m==="horizontal",[R,M]=re.useState(()=>$(z)),H=re.useRef(false);re.useEffect(()=>{if(H.current)return;let v=u.current;if(!v)return;let p=y?v.clientWidth:v.clientHeight,a=$(z),r={},P=[],S=0;for(let o of e){if(!(g[o.id]!==false)){r[o.id]=a[o.id]??o.defaultSize??200;continue}a[o.id]!==void 0?(r[o.id]=a[o.id],S+=a[o.id]):o.defaultSize!==void 0?(r[o.id]=o.defaultSize,S+=o.defaultSize):P.push(o);}if(P.length>0){let c=Math.max(0,p-S)/P.length;for(let t of P)r[t.id]=Math.max(c,t.minSize??48);}H.current=true,M(r);},[]);let D=re.useRef(g),V=re.useRef(e.map(v=>v.id));re.useEffect(()=>{let v=D.current,p=V.current,a=e.map(c=>c.id);D.current=g,V.current=a;let r=a.filter(c=>!p.includes(c)),P=p.filter(c=>!a.includes(c)),S=[],o=[];for(let c of e){if(r.includes(c.id))continue;let t=v[c.id]!==false,l=g[c.id]!==false;t&&!l&&S.push(c.id),!t&&l&&o.push(c.id);}r.length===0&&P.length===0&&S.length===0&&o.length===0||M(c=>{let t={...c};for(let l of P){let f=t[l]??0;if(delete t[l],f>0){let s=p.indexOf(l),i=a.filter(d=>g[d]!==false),n=i.find((d,h)=>p.indexOf(a[a.indexOf(i[h])])>s);n||(n=i[i.length-1]),n&&(t[n]=(t[n]??0)+f);}}for(let l of r){let f=e.find(d=>d.id===l);if(g[l]===false){t[l]=f.defaultSize??200;continue}let s=f.defaultSize??200,i=Math.max(s,f.minSize??48),n=a.filter(d=>d!==l&&!r.includes(d)&&g[d]!==false).map(d=>({id:d,size:t[d]??0})).sort((d,h)=>h.size-d.size);if(n.length>0){let h=e.find(w=>w.id===n[0].id)?.minSize??48,x=Math.max(0,n[0].size-h),b=Math.min(i,x);t[n[0].id]=n[0].size-b,t[l]=b;}else t[l]=i;}for(let l of S){let f=t[l]??0;if(f===0)continue;let s=e.findIndex(n=>n.id===l),i;for(let n=s+1;n<e.length;n++)if(g[e[n].id]!==false&&!S.includes(e[n].id)){i=e[n].id;break}if(!i){for(let n=s-1;n>=0;n--)if(g[e[n].id]!==false&&!S.includes(e[n].id)){i=e[n].id;break}}i&&(t[i]=(t[i]??0)+f),t[l]=f;}for(let l of o){let f=t[l]??e.find(n=>n.id===l)?.defaultSize??200,s=e.findIndex(n=>n.id===l),i;for(let n=s+1;n<e.length;n++)if(g[e[n].id]!==false&&!o.includes(e[n].id)){i=e[n].id;break}if(!i){for(let n=s-1;n>=0;n--)if(g[e[n].id]!==false&&!o.includes(e[n].id)){i=e[n].id;break}}if(i){let n=t[i]??0,d=e.find(b=>b.id===i)?.minSize??48,h=Math.max(0,n-d),x=Math.min(f,h);t[i]=n-x,t[l]=x;}else t[l]=f;}return t});},[g,e]);let k=re.useRef(null),[O,K]=re.useState(null),N=re.useRef(null),X=re.useCallback((v,p,a)=>{let r=p.minSize??48,P=p.maxSize??1/0,S=a.minSize??48,o=a.maxSize??1/0;return {onPointerDown:s=>{s.preventDefault();try{s.currentTarget.setPointerCapture(s.pointerId);}catch{}k.current={idA:p.id,idB:a.id,startPos:y?s.clientX:s.clientY,startA:R[p.id]??0,startB:R[a.id]??0,minA:r,maxA:P,minB:S,maxB:o},N.current=v,K(v);},onPointerMove:s=>{if(!k.current||N.current!==v)return;let{idA:i,idB:n,startPos:d,startA:h,startB:x,minA:b,maxA:w,minB:I,maxB:C}=k.current,F=(y?s.clientX:s.clientY)-d,A=h+F,E=x-F;A<b&&(A=b,E=h+x-b),A>w&&(A=w,E=h+x-w),E<I&&(E=I,A=h+x-I),E>C&&(E=C,A=h+x-C),A=_(A,b,w),E=_(E,I,C),M(ee=>({...ee,[i]:A,[n]:E}));},onPointerUp:s=>{!k.current||N.current!==v||(k.current=null,N.current=null,K(null),M(i=>(j(z,i),T?.(i),i)));},onKeyDown:s=>{if(!(y?["ArrowLeft","ArrowRight"]:["ArrowUp","ArrowDown"]).includes(s.key))return;s.preventDefault();let n=s.key==="ArrowLeft"||s.key==="ArrowUp"?-Y:Y;M(d=>{let h=d[p.id]??0,x=d[a.id]??0,b=_(h+n,r,P),w=h+x-b;w=_(w,S,o),b=h+x-w,b=_(b,r,P);let I={...d,[p.id]:b,[a.id]:w};return j(z,I),T?.(I),I});}}},[y,R,z,T]);return {sizes:R,activeHandleIndex:O,buildHandlers:X}}var le=8;function se({isDragging:e,handleSize:m,isHorizontal:u,paneA:g,paneB:z,onPointerDown:T,onPointerMove:y,onPointerUp:R,onKeyDown:M}){let H=Math.max(1,m),D=Math.max(H,le);return jsxRuntime.jsxs("div",{role:"separator","aria-orientation":u?"vertical":"horizontal","aria-label":`Resize handle between ${g.id} and ${z.id}`,tabIndex:0,className:B("group relative z-10 shrink-0 select-none outline-none",u?"cursor-col-resize":"cursor-row-resize"),style:u?{width:D,minWidth:D}:{height:D,minHeight:D},onPointerDown:T,onPointerMove:y,onPointerUp:R,onPointerCancel:R,onKeyDown:M,children:[jsxRuntime.jsx("div",{"aria-hidden":"true",className:B("pointer-events-none absolute rounded-sm transition-colors duration-150","bg-primary-200 dark:bg-primary-700","group-hover:bg-primary-400 dark:group-hover:bg-primary-500","group-focus-visible:bg-primary-400 dark:group-focus-visible:bg-primary-500",e?"bg-primary-500 dark:bg-primary-400":void 0,u?"top-0 bottom-0 left-1/2 -translate-x-1/2":"left-0 right-0 top-1/2 -translate-y-1/2"),style:u?{width:H}:{height:H}}),jsxRuntime.jsx("div",{"aria-hidden":"true",className:B("pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","flex gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100",e?"opacity-100":void 0,u?"flex-col":"flex-row"),children:[0,1,2].map(V=>jsxRuntime.jsx("span",{className:B("rounded-full bg-primary-400 dark:bg-primary-500","h-0.5 w-0.5")},V))})]})}function ae({pane:e,sizeInPx:m,isHorizontal:u,defaultBackground:g}){let z=e.background??g;return jsxRuntime.jsx("div",{"data-split-pane-id":e.id,className:B("relative overflow-auto",e.className),style:{...u?{width:m,minWidth:0,flexShrink:0}:{height:m,minHeight:0,flexShrink:0},...z?{background:z}:{},...e.style},children:e.children})}function ce({direction:e="horizontal",panes:m,visibility:u={},onVisibilityChange:g,width:z="100%",height:T="100%",handleSize:y=4,defaultBackground:R,autoSaveId:M,onResizeEnd:H,className:D,style:V}){let k=re.useRef(null),O=e==="horizontal",{sizes:K,activeHandleIndex:N,buildHandlers:X}=Q({panes:m,direction:e,containerRef:k,visibility:u,autoSaveId:M,onResizeEnd:H}),v=q(m,u),p=m.filter(r=>v.includes(r.id)),a=(r,P)=>r===void 0?P:typeof r=="number"?`${r}px`:r;return jsxRuntime.jsx("div",{ref:k,"data-split-panel":true,"data-direction":e,className:B("flex overflow-hidden",O?"flex-row":"flex-col",D),style:{width:a(z,"100%"),height:a(T,"100%"),...V},children:p.map((r,P)=>{let S=K[r.id]??r.defaultSize??200,o=P===p.length-1,c=p[P+1],t=P,l=N===t,f=!o&&c?X(t,r,c):null;return jsxRuntime.jsxs(re__default.default.Fragment,{children:[jsxRuntime.jsx(ae,{pane:r,sizeInPx:S,isHorizontal:O,defaultBackground:R}),!o&&c&&f&&jsxRuntime.jsx(se,{index:t,paneA:r,paneB:c,isDragging:l,handleSize:y,isHorizontal:O,onPointerDown:f.onPointerDown,onPointerMove:f.onPointerMove,onPointerUp:f.onPointerUp,onKeyDown:f.onKeyDown})]},r.id)})})}exports.SplitPanel=ce;
@@ -0,0 +1,3 @@
1
+ export { SplitPanel_alias_3 as SplitPanel } from '../_tsup-dts-rollup.cjs';
2
+ export { SplitPanelPane_alias_3 as SplitPanelPane } from '../_tsup-dts-rollup.cjs';
3
+ export { SplitPanelProps_alias_3 as SplitPanelProps } from '../_tsup-dts-rollup.cjs';
@@ -0,0 +1,3 @@
1
+ export { SplitPanel_alias_3 as SplitPanel } from '../_tsup-dts-rollup.js';
2
+ export { SplitPanelPane_alias_3 as SplitPanelPane } from '../_tsup-dts-rollup.js';
3
+ export { SplitPanelProps_alias_3 as SplitPanelProps } from '../_tsup-dts-rollup.js';
@@ -0,0 +1 @@
1
+ import re,{useRef,useState,useEffect,useCallback}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function B(...e){return twMerge(clsx(e))}var J="onyx-split:",Y=10;function $(e){if(!e)return {};try{let m=localStorage.getItem(J+e);if(m)return JSON.parse(m)}catch{}return {}}function j(e,m){if(e)try{localStorage.setItem(J+e,JSON.stringify(m));}catch{}}function q(e,m){return e.filter(u=>m[u.id]!==false).map(u=>u.id)}function _(e,m,u){return Math.max(m,Math.min(u,e))}function Q({panes:e,direction:m,containerRef:u,visibility:g,autoSaveId:z,onResizeEnd:T}){let y=m==="horizontal",[R,M]=useState(()=>$(z)),H=useRef(false);useEffect(()=>{if(H.current)return;let v=u.current;if(!v)return;let p=y?v.clientWidth:v.clientHeight,a=$(z),r={},P=[],S=0;for(let o of e){if(!(g[o.id]!==false)){r[o.id]=a[o.id]??o.defaultSize??200;continue}a[o.id]!==void 0?(r[o.id]=a[o.id],S+=a[o.id]):o.defaultSize!==void 0?(r[o.id]=o.defaultSize,S+=o.defaultSize):P.push(o);}if(P.length>0){let c=Math.max(0,p-S)/P.length;for(let t of P)r[t.id]=Math.max(c,t.minSize??48);}H.current=true,M(r);},[]);let D=useRef(g),V=useRef(e.map(v=>v.id));useEffect(()=>{let v=D.current,p=V.current,a=e.map(c=>c.id);D.current=g,V.current=a;let r=a.filter(c=>!p.includes(c)),P=p.filter(c=>!a.includes(c)),S=[],o=[];for(let c of e){if(r.includes(c.id))continue;let t=v[c.id]!==false,l=g[c.id]!==false;t&&!l&&S.push(c.id),!t&&l&&o.push(c.id);}r.length===0&&P.length===0&&S.length===0&&o.length===0||M(c=>{let t={...c};for(let l of P){let f=t[l]??0;if(delete t[l],f>0){let s=p.indexOf(l),i=a.filter(d=>g[d]!==false),n=i.find((d,h)=>p.indexOf(a[a.indexOf(i[h])])>s);n||(n=i[i.length-1]),n&&(t[n]=(t[n]??0)+f);}}for(let l of r){let f=e.find(d=>d.id===l);if(g[l]===false){t[l]=f.defaultSize??200;continue}let s=f.defaultSize??200,i=Math.max(s,f.minSize??48),n=a.filter(d=>d!==l&&!r.includes(d)&&g[d]!==false).map(d=>({id:d,size:t[d]??0})).sort((d,h)=>h.size-d.size);if(n.length>0){let h=e.find(w=>w.id===n[0].id)?.minSize??48,x=Math.max(0,n[0].size-h),b=Math.min(i,x);t[n[0].id]=n[0].size-b,t[l]=b;}else t[l]=i;}for(let l of S){let f=t[l]??0;if(f===0)continue;let s=e.findIndex(n=>n.id===l),i;for(let n=s+1;n<e.length;n++)if(g[e[n].id]!==false&&!S.includes(e[n].id)){i=e[n].id;break}if(!i){for(let n=s-1;n>=0;n--)if(g[e[n].id]!==false&&!S.includes(e[n].id)){i=e[n].id;break}}i&&(t[i]=(t[i]??0)+f),t[l]=f;}for(let l of o){let f=t[l]??e.find(n=>n.id===l)?.defaultSize??200,s=e.findIndex(n=>n.id===l),i;for(let n=s+1;n<e.length;n++)if(g[e[n].id]!==false&&!o.includes(e[n].id)){i=e[n].id;break}if(!i){for(let n=s-1;n>=0;n--)if(g[e[n].id]!==false&&!o.includes(e[n].id)){i=e[n].id;break}}if(i){let n=t[i]??0,d=e.find(b=>b.id===i)?.minSize??48,h=Math.max(0,n-d),x=Math.min(f,h);t[i]=n-x,t[l]=x;}else t[l]=f;}return t});},[g,e]);let k=useRef(null),[O,K]=useState(null),N=useRef(null),X=useCallback((v,p,a)=>{let r=p.minSize??48,P=p.maxSize??1/0,S=a.minSize??48,o=a.maxSize??1/0;return {onPointerDown:s=>{s.preventDefault();try{s.currentTarget.setPointerCapture(s.pointerId);}catch{}k.current={idA:p.id,idB:a.id,startPos:y?s.clientX:s.clientY,startA:R[p.id]??0,startB:R[a.id]??0,minA:r,maxA:P,minB:S,maxB:o},N.current=v,K(v);},onPointerMove:s=>{if(!k.current||N.current!==v)return;let{idA:i,idB:n,startPos:d,startA:h,startB:x,minA:b,maxA:w,minB:I,maxB:C}=k.current,F=(y?s.clientX:s.clientY)-d,A=h+F,E=x-F;A<b&&(A=b,E=h+x-b),A>w&&(A=w,E=h+x-w),E<I&&(E=I,A=h+x-I),E>C&&(E=C,A=h+x-C),A=_(A,b,w),E=_(E,I,C),M(ee=>({...ee,[i]:A,[n]:E}));},onPointerUp:s=>{!k.current||N.current!==v||(k.current=null,N.current=null,K(null),M(i=>(j(z,i),T?.(i),i)));},onKeyDown:s=>{if(!(y?["ArrowLeft","ArrowRight"]:["ArrowUp","ArrowDown"]).includes(s.key))return;s.preventDefault();let n=s.key==="ArrowLeft"||s.key==="ArrowUp"?-Y:Y;M(d=>{let h=d[p.id]??0,x=d[a.id]??0,b=_(h+n,r,P),w=h+x-b;w=_(w,S,o),b=h+x-w,b=_(b,r,P);let I={...d,[p.id]:b,[a.id]:w};return j(z,I),T?.(I),I});}}},[y,R,z,T]);return {sizes:R,activeHandleIndex:O,buildHandlers:X}}var le=8;function se({isDragging:e,handleSize:m,isHorizontal:u,paneA:g,paneB:z,onPointerDown:T,onPointerMove:y,onPointerUp:R,onKeyDown:M}){let H=Math.max(1,m),D=Math.max(H,le);return jsxs("div",{role:"separator","aria-orientation":u?"vertical":"horizontal","aria-label":`Resize handle between ${g.id} and ${z.id}`,tabIndex:0,className:B("group relative z-10 shrink-0 select-none outline-none",u?"cursor-col-resize":"cursor-row-resize"),style:u?{width:D,minWidth:D}:{height:D,minHeight:D},onPointerDown:T,onPointerMove:y,onPointerUp:R,onPointerCancel:R,onKeyDown:M,children:[jsx("div",{"aria-hidden":"true",className:B("pointer-events-none absolute rounded-sm transition-colors duration-150","bg-primary-200 dark:bg-primary-700","group-hover:bg-primary-400 dark:group-hover:bg-primary-500","group-focus-visible:bg-primary-400 dark:group-focus-visible:bg-primary-500",e?"bg-primary-500 dark:bg-primary-400":void 0,u?"top-0 bottom-0 left-1/2 -translate-x-1/2":"left-0 right-0 top-1/2 -translate-y-1/2"),style:u?{width:H}:{height:H}}),jsx("div",{"aria-hidden":"true",className:B("pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","flex gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100",e?"opacity-100":void 0,u?"flex-col":"flex-row"),children:[0,1,2].map(V=>jsx("span",{className:B("rounded-full bg-primary-400 dark:bg-primary-500","h-0.5 w-0.5")},V))})]})}function ae({pane:e,sizeInPx:m,isHorizontal:u,defaultBackground:g}){let z=e.background??g;return jsx("div",{"data-split-pane-id":e.id,className:B("relative overflow-auto",e.className),style:{...u?{width:m,minWidth:0,flexShrink:0}:{height:m,minHeight:0,flexShrink:0},...z?{background:z}:{},...e.style},children:e.children})}function ce({direction:e="horizontal",panes:m,visibility:u={},onVisibilityChange:g,width:z="100%",height:T="100%",handleSize:y=4,defaultBackground:R,autoSaveId:M,onResizeEnd:H,className:D,style:V}){let k=useRef(null),O=e==="horizontal",{sizes:K,activeHandleIndex:N,buildHandlers:X}=Q({panes:m,direction:e,containerRef:k,visibility:u,autoSaveId:M,onResizeEnd:H}),v=q(m,u),p=m.filter(r=>v.includes(r.id)),a=(r,P)=>r===void 0?P:typeof r=="number"?`${r}px`:r;return jsx("div",{ref:k,"data-split-panel":true,"data-direction":e,className:B("flex overflow-hidden",O?"flex-row":"flex-col",D),style:{width:a(z,"100%"),height:a(T,"100%"),...V},children:p.map((r,P)=>{let S=K[r.id]??r.defaultSize??200,o=P===p.length-1,c=p[P+1],t=P,l=N===t,f=!o&&c?X(t,r,c):null;return jsxs(re.Fragment,{children:[jsx(ae,{pane:r,sizeInPx:S,isHorizontal:O,defaultBackground:R}),!o&&c&&f&&jsx(se,{index:t,paneA:r,paneB:c,isDragging:l,handleSize:y,isHorizontal:O,onPointerDown:f.onPointerDown,onPointerMove:f.onPointerMove,onPointerUp:f.onPointerUp,onKeyDown:f.onKeyDown})]},r.id)})})}export{ce as SplitPanel};
@@ -1 +1 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function e(...r){return tailwindMerge.twMerge(clsx.clsx(r))}var m=classVarianceAuthority.cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),l=classVarianceAuthority.cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function o({intent:r,size:t,className:a,...i}){return jsxRuntime.jsx("div",{className:e(m({intent:r,size:t}),a),...i})}function s({src:r,alt:t="",aspectRatio:a="16/9",className:i,children:f,...u}){return jsxRuntime.jsxs("div",{className:e("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",i),...u,children:[jsxRuntime.jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:a},children:[jsxRuntime.jsx("img",{src:r,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsxRuntime.jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),f]})}function n({intent:r,size:t,className:a,...i}){return jsxRuntime.jsx("div",{className:e(l({intent:r,size:t}),a),...i})}var v={Card:o,ImageCard:s,Panel:n},j=v;exports.Card=o;exports.ImageCard=s;exports.Layout=v;exports.Panel=n;exports.default=j;
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),ge=require('react');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ge__default=/*#__PURE__*/_interopDefault(ge);function H(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var q=classVarianceAuthority.cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),Q=classVarianceAuthority.cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function G({intent:e,size:l,className:o,...c}){return jsxRuntime.jsx("div",{className:H(q({intent:e,size:l}),o),...c})}function Y({src:e,alt:l="",aspectRatio:o="16/9",className:c,children:x,...M}){return jsxRuntime.jsxs("div",{className:H("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",c),...M,children:[jsxRuntime.jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:o},children:[jsxRuntime.jsx("img",{src:e,alt:l,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsxRuntime.jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),x]})}function $({intent:e,size:l,className:o,...c}){return jsxRuntime.jsx("div",{className:H(Q({intent:e,size:l}),o),...c})}var oe="onyx-split:",re=10;function ne(e){if(!e)return {};try{let l=localStorage.getItem(oe+e);if(l)return JSON.parse(l)}catch{}return {}}function ie(e,l){if(e)try{localStorage.setItem(oe+e,JSON.stringify(l));}catch{}}function ae(e,l){return e.filter(o=>l[o.id]!==false).map(o=>o.id)}function U(e,l,o){return Math.max(l,Math.min(o,e))}function se({panes:e,direction:l,containerRef:o,visibility:c,autoSaveId:x,onResizeEnd:M}){let R=l==="horizontal",[z,T]=ge.useState(()=>ne(x)),L=ge.useRef(false);ge.useEffect(()=>{if(L.current)return;let v=o.current;if(!v)return;let g=R?v.clientWidth:v.clientHeight,m=ne(x),i={},b=[],y=0;for(let a of e){if(!(c[a.id]!==false)){i[a.id]=m[a.id]??a.defaultSize??200;continue}m[a.id]!==void 0?(i[a.id]=m[a.id],y+=m[a.id]):a.defaultSize!==void 0?(i[a.id]=a.defaultSize,y+=a.defaultSize):b.push(a);}if(b.length>0){let p=Math.max(0,g-y)/b.length;for(let r of b)i[r.id]=Math.max(p,r.minSize??48);}L.current=true,T(i);},[]);let k=ge.useRef(c),N=ge.useRef(e.map(v=>v.id));ge.useEffect(()=>{let v=k.current,g=N.current,m=e.map(p=>p.id);k.current=c,N.current=m;let i=m.filter(p=>!g.includes(p)),b=g.filter(p=>!m.includes(p)),y=[],a=[];for(let p of e){if(i.includes(p.id))continue;let r=v[p.id]!==false,s=c[p.id]!==false;r&&!s&&y.push(p.id),!r&&s&&a.push(p.id);}i.length===0&&b.length===0&&y.length===0&&a.length===0||T(p=>{let r={...p};for(let s of b){let f=r[s]??0;if(delete r[s],f>0){let d=g.indexOf(s),n=m.filter(u=>c[u]!==false),t=n.find((u,h)=>g.indexOf(m[m.indexOf(n[h])])>d);t||(t=n[n.length-1]),t&&(r[t]=(r[t]??0)+f);}}for(let s of i){let f=e.find(u=>u.id===s);if(c[s]===false){r[s]=f.defaultSize??200;continue}let d=f.defaultSize??200,n=Math.max(d,f.minSize??48),t=m.filter(u=>u!==s&&!i.includes(u)&&c[u]!==false).map(u=>({id:u,size:r[u]??0})).sort((u,h)=>h.size-u.size);if(t.length>0){let h=e.find(S=>S.id===t[0].id)?.minSize??48,w=Math.max(0,t[0].size-h),P=Math.min(n,w);r[t[0].id]=t[0].size-P,r[s]=P;}else r[s]=n;}for(let s of y){let f=r[s]??0;if(f===0)continue;let d=e.findIndex(t=>t.id===s),n;for(let t=d+1;t<e.length;t++)if(c[e[t].id]!==false&&!y.includes(e[t].id)){n=e[t].id;break}if(!n){for(let t=d-1;t>=0;t--)if(c[e[t].id]!==false&&!y.includes(e[t].id)){n=e[t].id;break}}n&&(r[n]=(r[n]??0)+f),r[s]=f;}for(let s of a){let f=r[s]??e.find(t=>t.id===s)?.defaultSize??200,d=e.findIndex(t=>t.id===s),n;for(let t=d+1;t<e.length;t++)if(c[e[t].id]!==false&&!a.includes(e[t].id)){n=e[t].id;break}if(!n){for(let t=d-1;t>=0;t--)if(c[e[t].id]!==false&&!a.includes(e[t].id)){n=e[t].id;break}}if(n){let t=r[n]??0,u=e.find(P=>P.id===n)?.minSize??48,h=Math.max(0,t-u),w=Math.min(f,h);r[n]=t-w,r[s]=w;}else r[s]=f;}return r});},[c,e]);let C=ge.useRef(null),[B,K]=ge.useState(null),V=ge.useRef(null),X=ge.useCallback((v,g,m)=>{let i=g.minSize??48,b=g.maxSize??1/0,y=m.minSize??48,a=m.maxSize??1/0;return {onPointerDown:d=>{d.preventDefault();try{d.currentTarget.setPointerCapture(d.pointerId);}catch{}C.current={idA:g.id,idB:m.id,startPos:R?d.clientX:d.clientY,startA:z[g.id]??0,startB:z[m.id]??0,minA:i,maxA:b,minB:y,maxB:a},V.current=v,K(v);},onPointerMove:d=>{if(!C.current||V.current!==v)return;let{idA:n,idB:t,startPos:u,startA:h,startB:w,minA:P,maxA:S,minB:E,maxB:O}=C.current,j=(R?d.clientX:d.clientY)-u,A=h+j,D=w-j;A<P&&(A=P,D=h+w-P),A>S&&(A=S,D=h+w-S),D<E&&(D=E,A=h+w-E),D>O&&(D=O,A=h+w-O),A=U(A,P,S),D=U(D,E,O),T(de=>({...de,[n]:A,[t]:D}));},onPointerUp:d=>{!C.current||V.current!==v||(C.current=null,V.current=null,K(null),T(n=>(ie(x,n),M?.(n),n)));},onKeyDown:d=>{if(!(R?["ArrowLeft","ArrowRight"]:["ArrowUp","ArrowDown"]).includes(d.key))return;d.preventDefault();let t=d.key==="ArrowLeft"||d.key==="ArrowUp"?-re:re;T(u=>{let h=u[g.id]??0,w=u[m.id]??0,P=U(h+t,i,b),S=h+w-P;S=U(S,y,a),P=h+w-S,P=U(P,i,b);let E={...u,[g.id]:P,[m.id]:S};return ie(x,E),M?.(E),E});}}},[R,z,x,M]);return {sizes:z,activeHandleIndex:B,buildHandlers:X}}var he=8;function Pe({isDragging:e,handleSize:l,isHorizontal:o,paneA:c,paneB:x,onPointerDown:M,onPointerMove:R,onPointerUp:z,onKeyDown:T}){let L=Math.max(1,l),k=Math.max(L,he);return jsxRuntime.jsxs("div",{role:"separator","aria-orientation":o?"vertical":"horizontal","aria-label":`Resize handle between ${c.id} and ${x.id}`,tabIndex:0,className:H("group relative z-10 shrink-0 select-none outline-none",o?"cursor-col-resize":"cursor-row-resize"),style:o?{width:k,minWidth:k}:{height:k,minHeight:k},onPointerDown:M,onPointerMove:R,onPointerUp:z,onPointerCancel:z,onKeyDown:T,children:[jsxRuntime.jsx("div",{"aria-hidden":"true",className:H("pointer-events-none absolute rounded-sm transition-colors duration-150","bg-primary-200 dark:bg-primary-700","group-hover:bg-primary-400 dark:group-hover:bg-primary-500","group-focus-visible:bg-primary-400 dark:group-focus-visible:bg-primary-500",e?"bg-primary-500 dark:bg-primary-400":void 0,o?"top-0 bottom-0 left-1/2 -translate-x-1/2":"left-0 right-0 top-1/2 -translate-y-1/2"),style:o?{width:L}:{height:L}}),jsxRuntime.jsx("div",{"aria-hidden":"true",className:H("pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","flex gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100",e?"opacity-100":void 0,o?"flex-col":"flex-row"),children:[0,1,2].map(N=>jsxRuntime.jsx("span",{className:H("rounded-full bg-primary-400 dark:bg-primary-500","h-0.5 w-0.5")},N))})]})}function xe({pane:e,sizeInPx:l,isHorizontal:o,defaultBackground:c}){let x=e.background??c;return jsxRuntime.jsx("div",{"data-split-pane-id":e.id,className:H("relative overflow-auto",e.className),style:{...o?{width:l,minWidth:0,flexShrink:0}:{height:l,minHeight:0,flexShrink:0},...x?{background:x}:{},...e.style},children:e.children})}function F({direction:e="horizontal",panes:l,visibility:o={},onVisibilityChange:c,width:x="100%",height:M="100%",handleSize:R=4,defaultBackground:z,autoSaveId:T,onResizeEnd:L,className:k,style:N}){let C=ge.useRef(null),B=e==="horizontal",{sizes:K,activeHandleIndex:V,buildHandlers:X}=se({panes:l,direction:e,containerRef:C,visibility:o,autoSaveId:T,onResizeEnd:L}),v=ae(l,o),g=l.filter(i=>v.includes(i.id)),m=(i,b)=>i===void 0?b:typeof i=="number"?`${i}px`:i;return jsxRuntime.jsx("div",{ref:C,"data-split-panel":true,"data-direction":e,className:H("flex overflow-hidden",B?"flex-row":"flex-col",k),style:{width:m(x,"100%"),height:m(M,"100%"),...N},children:g.map((i,b)=>{let y=K[i.id]??i.defaultSize??200,a=b===g.length-1,p=g[b+1],r=b,s=V===r,f=!a&&p?X(r,i,p):null;return jsxRuntime.jsxs(ge__default.default.Fragment,{children:[jsxRuntime.jsx(xe,{pane:i,sizeInPx:y,isHorizontal:B,defaultBackground:z}),!a&&p&&f&&jsxRuntime.jsx(Pe,{index:r,paneA:i,paneB:p,isDragging:s,handleSize:R,isHorizontal:B,onPointerDown:f.onPointerDown,onPointerMove:f.onPointerMove,onPointerUp:f.onPointerUp,onKeyDown:f.onKeyDown})]},i.id)})})}var ve={Card:G,ImageCard:Y,Panel:$,SplitPanel:F},qe=ve;exports.Card=G;exports.ImageCard=Y;exports.Layout=ve;exports.Panel=$;exports.SplitPanel=F;exports.default=qe;
@@ -1,5 +1,8 @@
1
1
  export { Card_alias_1 as Card } from '../_tsup-dts-rollup.cjs';
2
2
  export { ImageCard_alias_1 as ImageCard } from '../_tsup-dts-rollup.cjs';
3
3
  export { Panel_alias_1 as Panel } from '../_tsup-dts-rollup.cjs';
4
+ export { SplitPanel_alias_1 as SplitPanel } from '../_tsup-dts-rollup.cjs';
5
+ export { SplitPanelPane_alias_1 as SplitPanelPane } from '../_tsup-dts-rollup.cjs';
6
+ export { SplitPanelProps_alias_1 as SplitPanelProps } from '../_tsup-dts-rollup.cjs';
4
7
  export { Layout_alias_1 as Layout } from '../_tsup-dts-rollup.cjs';
5
8
  export { default_alias_7 as default } from '../_tsup-dts-rollup.cjs';
@@ -1,5 +1,8 @@
1
1
  export { Card_alias_1 as Card } from '../_tsup-dts-rollup.js';
2
2
  export { ImageCard_alias_1 as ImageCard } from '../_tsup-dts-rollup.js';
3
3
  export { Panel_alias_1 as Panel } from '../_tsup-dts-rollup.js';
4
+ export { SplitPanel_alias_1 as SplitPanel } from '../_tsup-dts-rollup.js';
5
+ export { SplitPanelPane_alias_1 as SplitPanelPane } from '../_tsup-dts-rollup.js';
6
+ export { SplitPanelProps_alias_1 as SplitPanelProps } from '../_tsup-dts-rollup.js';
4
7
  export { Layout_alias_1 as Layout } from '../_tsup-dts-rollup.js';
5
8
  export { default_alias_7 as default } from '../_tsup-dts-rollup.js';
@@ -1 +1 @@
1
- import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';function e(...r){return twMerge(clsx(r))}var m=cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),l=cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function o({intent:r,size:t,className:a,...i}){return jsx("div",{className:e(m({intent:r,size:t}),a),...i})}function s({src:r,alt:t="",aspectRatio:a="16/9",className:i,children:f,...u}){return jsxs("div",{className:e("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",i),...u,children:[jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:a},children:[jsx("img",{src:r,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),f]})}function n({intent:r,size:t,className:a,...i}){return jsx("div",{className:e(l({intent:r,size:t}),a),...i})}var v={Card:o,ImageCard:s,Panel:n},j=v;export{o as Card,s as ImageCard,v as Layout,n as Panel,j as default};
1
+ import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';import ge,{useRef,useState,useEffect,useCallback}from'react';function H(...e){return twMerge(clsx(e))}var q=cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),Q=cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function G({intent:e,size:l,className:o,...c}){return jsx("div",{className:H(q({intent:e,size:l}),o),...c})}function Y({src:e,alt:l="",aspectRatio:o="16/9",className:c,children:x,...M}){return jsxs("div",{className:H("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",c),...M,children:[jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:o},children:[jsx("img",{src:e,alt:l,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),x]})}function $({intent:e,size:l,className:o,...c}){return jsx("div",{className:H(Q({intent:e,size:l}),o),...c})}var oe="onyx-split:",re=10;function ne(e){if(!e)return {};try{let l=localStorage.getItem(oe+e);if(l)return JSON.parse(l)}catch{}return {}}function ie(e,l){if(e)try{localStorage.setItem(oe+e,JSON.stringify(l));}catch{}}function ae(e,l){return e.filter(o=>l[o.id]!==false).map(o=>o.id)}function U(e,l,o){return Math.max(l,Math.min(o,e))}function se({panes:e,direction:l,containerRef:o,visibility:c,autoSaveId:x,onResizeEnd:M}){let R=l==="horizontal",[z,T]=useState(()=>ne(x)),L=useRef(false);useEffect(()=>{if(L.current)return;let v=o.current;if(!v)return;let g=R?v.clientWidth:v.clientHeight,m=ne(x),i={},b=[],y=0;for(let a of e){if(!(c[a.id]!==false)){i[a.id]=m[a.id]??a.defaultSize??200;continue}m[a.id]!==void 0?(i[a.id]=m[a.id],y+=m[a.id]):a.defaultSize!==void 0?(i[a.id]=a.defaultSize,y+=a.defaultSize):b.push(a);}if(b.length>0){let p=Math.max(0,g-y)/b.length;for(let r of b)i[r.id]=Math.max(p,r.minSize??48);}L.current=true,T(i);},[]);let k=useRef(c),N=useRef(e.map(v=>v.id));useEffect(()=>{let v=k.current,g=N.current,m=e.map(p=>p.id);k.current=c,N.current=m;let i=m.filter(p=>!g.includes(p)),b=g.filter(p=>!m.includes(p)),y=[],a=[];for(let p of e){if(i.includes(p.id))continue;let r=v[p.id]!==false,s=c[p.id]!==false;r&&!s&&y.push(p.id),!r&&s&&a.push(p.id);}i.length===0&&b.length===0&&y.length===0&&a.length===0||T(p=>{let r={...p};for(let s of b){let f=r[s]??0;if(delete r[s],f>0){let d=g.indexOf(s),n=m.filter(u=>c[u]!==false),t=n.find((u,h)=>g.indexOf(m[m.indexOf(n[h])])>d);t||(t=n[n.length-1]),t&&(r[t]=(r[t]??0)+f);}}for(let s of i){let f=e.find(u=>u.id===s);if(c[s]===false){r[s]=f.defaultSize??200;continue}let d=f.defaultSize??200,n=Math.max(d,f.minSize??48),t=m.filter(u=>u!==s&&!i.includes(u)&&c[u]!==false).map(u=>({id:u,size:r[u]??0})).sort((u,h)=>h.size-u.size);if(t.length>0){let h=e.find(S=>S.id===t[0].id)?.minSize??48,w=Math.max(0,t[0].size-h),P=Math.min(n,w);r[t[0].id]=t[0].size-P,r[s]=P;}else r[s]=n;}for(let s of y){let f=r[s]??0;if(f===0)continue;let d=e.findIndex(t=>t.id===s),n;for(let t=d+1;t<e.length;t++)if(c[e[t].id]!==false&&!y.includes(e[t].id)){n=e[t].id;break}if(!n){for(let t=d-1;t>=0;t--)if(c[e[t].id]!==false&&!y.includes(e[t].id)){n=e[t].id;break}}n&&(r[n]=(r[n]??0)+f),r[s]=f;}for(let s of a){let f=r[s]??e.find(t=>t.id===s)?.defaultSize??200,d=e.findIndex(t=>t.id===s),n;for(let t=d+1;t<e.length;t++)if(c[e[t].id]!==false&&!a.includes(e[t].id)){n=e[t].id;break}if(!n){for(let t=d-1;t>=0;t--)if(c[e[t].id]!==false&&!a.includes(e[t].id)){n=e[t].id;break}}if(n){let t=r[n]??0,u=e.find(P=>P.id===n)?.minSize??48,h=Math.max(0,t-u),w=Math.min(f,h);r[n]=t-w,r[s]=w;}else r[s]=f;}return r});},[c,e]);let C=useRef(null),[B,K]=useState(null),V=useRef(null),X=useCallback((v,g,m)=>{let i=g.minSize??48,b=g.maxSize??1/0,y=m.minSize??48,a=m.maxSize??1/0;return {onPointerDown:d=>{d.preventDefault();try{d.currentTarget.setPointerCapture(d.pointerId);}catch{}C.current={idA:g.id,idB:m.id,startPos:R?d.clientX:d.clientY,startA:z[g.id]??0,startB:z[m.id]??0,minA:i,maxA:b,minB:y,maxB:a},V.current=v,K(v);},onPointerMove:d=>{if(!C.current||V.current!==v)return;let{idA:n,idB:t,startPos:u,startA:h,startB:w,minA:P,maxA:S,minB:E,maxB:O}=C.current,j=(R?d.clientX:d.clientY)-u,A=h+j,D=w-j;A<P&&(A=P,D=h+w-P),A>S&&(A=S,D=h+w-S),D<E&&(D=E,A=h+w-E),D>O&&(D=O,A=h+w-O),A=U(A,P,S),D=U(D,E,O),T(de=>({...de,[n]:A,[t]:D}));},onPointerUp:d=>{!C.current||V.current!==v||(C.current=null,V.current=null,K(null),T(n=>(ie(x,n),M?.(n),n)));},onKeyDown:d=>{if(!(R?["ArrowLeft","ArrowRight"]:["ArrowUp","ArrowDown"]).includes(d.key))return;d.preventDefault();let t=d.key==="ArrowLeft"||d.key==="ArrowUp"?-re:re;T(u=>{let h=u[g.id]??0,w=u[m.id]??0,P=U(h+t,i,b),S=h+w-P;S=U(S,y,a),P=h+w-S,P=U(P,i,b);let E={...u,[g.id]:P,[m.id]:S};return ie(x,E),M?.(E),E});}}},[R,z,x,M]);return {sizes:z,activeHandleIndex:B,buildHandlers:X}}var he=8;function Pe({isDragging:e,handleSize:l,isHorizontal:o,paneA:c,paneB:x,onPointerDown:M,onPointerMove:R,onPointerUp:z,onKeyDown:T}){let L=Math.max(1,l),k=Math.max(L,he);return jsxs("div",{role:"separator","aria-orientation":o?"vertical":"horizontal","aria-label":`Resize handle between ${c.id} and ${x.id}`,tabIndex:0,className:H("group relative z-10 shrink-0 select-none outline-none",o?"cursor-col-resize":"cursor-row-resize"),style:o?{width:k,minWidth:k}:{height:k,minHeight:k},onPointerDown:M,onPointerMove:R,onPointerUp:z,onPointerCancel:z,onKeyDown:T,children:[jsx("div",{"aria-hidden":"true",className:H("pointer-events-none absolute rounded-sm transition-colors duration-150","bg-primary-200 dark:bg-primary-700","group-hover:bg-primary-400 dark:group-hover:bg-primary-500","group-focus-visible:bg-primary-400 dark:group-focus-visible:bg-primary-500",e?"bg-primary-500 dark:bg-primary-400":void 0,o?"top-0 bottom-0 left-1/2 -translate-x-1/2":"left-0 right-0 top-1/2 -translate-y-1/2"),style:o?{width:L}:{height:L}}),jsx("div",{"aria-hidden":"true",className:H("pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","flex gap-0.5 opacity-0 transition-opacity duration-150","group-hover:opacity-100",e?"opacity-100":void 0,o?"flex-col":"flex-row"),children:[0,1,2].map(N=>jsx("span",{className:H("rounded-full bg-primary-400 dark:bg-primary-500","h-0.5 w-0.5")},N))})]})}function xe({pane:e,sizeInPx:l,isHorizontal:o,defaultBackground:c}){let x=e.background??c;return jsx("div",{"data-split-pane-id":e.id,className:H("relative overflow-auto",e.className),style:{...o?{width:l,minWidth:0,flexShrink:0}:{height:l,minHeight:0,flexShrink:0},...x?{background:x}:{},...e.style},children:e.children})}function F({direction:e="horizontal",panes:l,visibility:o={},onVisibilityChange:c,width:x="100%",height:M="100%",handleSize:R=4,defaultBackground:z,autoSaveId:T,onResizeEnd:L,className:k,style:N}){let C=useRef(null),B=e==="horizontal",{sizes:K,activeHandleIndex:V,buildHandlers:X}=se({panes:l,direction:e,containerRef:C,visibility:o,autoSaveId:T,onResizeEnd:L}),v=ae(l,o),g=l.filter(i=>v.includes(i.id)),m=(i,b)=>i===void 0?b:typeof i=="number"?`${i}px`:i;return jsx("div",{ref:C,"data-split-panel":true,"data-direction":e,className:H("flex overflow-hidden",B?"flex-row":"flex-col",k),style:{width:m(x,"100%"),height:m(M,"100%"),...N},children:g.map((i,b)=>{let y=K[i.id]??i.defaultSize??200,a=b===g.length-1,p=g[b+1],r=b,s=V===r,f=!a&&p?X(r,i,p):null;return jsxs(ge.Fragment,{children:[jsx(xe,{pane:i,sizeInPx:y,isHorizontal:B,defaultBackground:z}),!a&&p&&f&&jsx(Pe,{index:r,paneA:i,paneB:p,isDragging:s,handleSize:R,isHorizontal:B,onPointerDown:f.onPointerDown,onPointerMove:f.onPointerMove,onPointerUp:f.onPointerUp,onKeyDown:f.onKeyDown})]},i.id)})})}var ve={Card:G,ImageCard:Y,Panel:$,SplitPanel:F},qe=ve;export{G as Card,Y as ImageCard,ve as Layout,$ as Panel,F as SplitPanel,qe as default};