@kkwww/casual-ui 0.0.0-stage → 2.0.3

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 (71) hide show
  1. package/BRAND.md +34 -0
  2. package/COMPATIBILITY-2.0.2.md +45 -0
  3. package/LICENSE-icons +43 -0
  4. package/NUXT.md +140 -0
  5. package/README.md +134 -2
  6. package/UPGRADE-1.3.1.md +43 -0
  7. package/UPGRADE-1.3.md +128 -0
  8. package/UPGRADE-1.4.md +35 -0
  9. package/UPGRADE-1.5.md +46 -0
  10. package/UPGRADE-2.0.md +45 -0
  11. package/brand/casual-ui-logo-v1.png +0 -0
  12. package/brand/casual-ui-symbol.svg +1 -0
  13. package/brand/casual-ui-wordmark.svg +1 -0
  14. package/brand/favicon-dark.svg +1 -0
  15. package/brand/favicon-light.svg +1 -0
  16. package/brand/favicon.svg +1 -0
  17. package/brand/theme-favicon.js +1 -0
  18. package/chunk-3O26VH2L.js +1 -0
  19. package/chunk-73K6DAZB.js +1 -0
  20. package/chunk-AJHTWQ5B.js +1 -0
  21. package/chunk-DSZMS7XD.js +1 -0
  22. package/chunk-EC2SUYMJ.js +1 -0
  23. package/chunk-EHLXY56Q.js +1 -0
  24. package/chunk-FBD64CWY.js +1 -0
  25. package/chunk-GBXKANW6.js +1 -0
  26. package/chunk-IMPED3KO.js +1 -0
  27. package/chunk-ISPGAXUQ.js +1 -0
  28. package/chunk-KB3AWACN.js +1 -0
  29. package/chunk-KLB5X6TJ.js +1 -0
  30. package/chunk-MTT6ZOSW.js +1 -0
  31. package/chunk-U3BHQM3U.js +1 -0
  32. package/chunk-Z72U2G6L.js +1 -0
  33. package/command.d.ts +1 -0
  34. package/command.js +1 -0
  35. package/data-display.d.ts +1 -0
  36. package/data-display.js +1 -0
  37. package/dates.d.ts +1 -0
  38. package/dates.js +1 -0
  39. package/feedback.d.ts +2 -0
  40. package/feedback.js +1 -0
  41. package/floating.d.ts +1 -0
  42. package/floating.js +1 -0
  43. package/fonts/instrument-sans-400-normal-DRC__1Mx.woff2 +0 -0
  44. package/fonts/instrument-sans-500-normal-Dk9ku72i.woff2 +0 -0
  45. package/fonts/instrument-sans-600-normal-B7fBEWYG.woff2 +0 -0
  46. package/forms.d.ts +1 -0
  47. package/forms.js +1 -0
  48. package/i18n.d.ts +1 -0
  49. package/i18n.js +1 -0
  50. package/icons.d.ts +1 -0
  51. package/icons.js +1 -0
  52. package/index.d.ts +77 -0
  53. package/index.js +1 -0
  54. package/layout.d.ts +1 -0
  55. package/layout.js +1 -0
  56. package/navigation.d.ts +1 -0
  57. package/navigation.js +1 -0
  58. package/nuxt/components.mjs +1 -0
  59. package/nuxt/module.d.ts +22 -0
  60. package/nuxt/module.mjs +15 -0
  61. package/nuxt/runtime/composables.d.mts +8 -0
  62. package/nuxt/runtime/composables.mjs +8 -0
  63. package/nuxt/runtime/plugin.mjs +25 -0
  64. package/overlays.d.ts +1 -0
  65. package/overlays.js +1 -0
  66. package/package.json +112 -3
  67. package/primitives.d.ts +1 -0
  68. package/primitives.js +1 -0
  69. package/styles.css +146 -0
  70. package/time.d.ts +1 -0
  71. package/time.js +1 -0
@@ -0,0 +1 @@
1
+ (()=>{const update=()=>{const href='/brand/favicon-'+(document.documentElement.classList.contains('dark')?'dark':'light')+'.svg';document.querySelectorAll('link[rel="icon"]').forEach(link=>{if(link.getAttribute('href')!==href)link.setAttribute('href',href)})};update();new MutationObserver(update).observe(document.documentElement,{attributes:true,attributeFilter:['class']})})();
@@ -0,0 +1 @@
1
+ import{a as m,d as f,e as b,h as x}from"./chunk-73K6DAZB.js";import{j as u}from"./chunk-DSZMS7XD.js";import{b as s}from"./chunk-KLB5X6TJ.js";import{defineComponent as h,h as o,ref as y,computed as g}from"vue";import*as a from"reka-ui";var S=h({name:"CommandPalette",props:{open:Boolean,query:String,groups:{type:Array,default:()=>[]},loading:Boolean,title:String,placeholder:String},emits:["update:open","update:query","select"],setup(l,{slots:d,emit:r}){let p=y(""),{t:n}=u(),i=g(()=>l.query??p.value),c=g(()=>l.groups.map(e=>({...e,items:e.items.filter(t=>[t.label,t.description,...t.keywords??[]].filter(Boolean).join(" ").toLocaleLowerCase().includes(i.value.toLocaleLowerCase()))})).filter(e=>e.items.length));return()=>o(m,{open:l.open,"onUpdate:open":e=>r("update:open",e)},()=>o(x,{class:"gap-0 overflow-hidden p-0",showClose:!1},()=>[o(f,{class:"sr-only"},()=>l.title??n("command.title")),o(b,{class:"sr-only"},()=>n("command.description")),o(a.ComboboxRoot,{open:!0,"onUpdate:open":e=>{e||r("update:open",!1)},ignoreFilter:!0,resetSearchTermOnBlur:!1,resetSearchTermOnSelect:!1,"onUpdate:modelValue":e=>{!e||e.disabled||(r("select",e),r("update:open",!1))}},()=>[o("div",{class:"flex items-center gap-2 border-b px-4"},[o(s,{name:"Search",class:"text-muted-foreground"}),o(a.ComboboxInput,{modelValue:i.value,"onUpdate:modelValue":e=>{p.value=e,r("update:query",e)},placeholder:l.placeholder??n("form.search"),"aria-label":l.placeholder??n("form.search"),class:"h-12 w-full min-w-0 bg-transparent text-sm outline-none"})]),o(a.ComboboxContent,{position:"inline",class:"max-h-80 overflow-y-auto p-1"},()=>l.loading?o("div",{role:"status",class:"p-6 text-center text-sm text-muted-foreground"},n("feedback.loading")):c.value.length?c.value.map(e=>o(a.ComboboxGroup,{key:e.label},()=>[o(a.ComboboxLabel,{class:"text-muted-foreground px-2 py-1.5 text-xs font-medium"},()=>e.label),...e.items.map(t=>o(a.ComboboxItem,{key:t.id,value:t,disabled:t.disabled,class:"data-[highlighted]:bg-accent data-[disabled]:opacity-50 relative flex cursor-default items-center gap-2 rounded-sm px-2 py-2 text-sm outline-none"},()=>d.item?.({item:t})??[t.icon&&o(s,{name:t.icon}),o("span",{class:"min-w-0"},[o("span",{class:"block truncate"},t.label),t.description&&o("span",{class:"text-muted-foreground block text-xs"},t.description)])]))])):o("div",{role:"status",class:"p-6 text-center text-sm text-muted-foreground"},d.empty?.()??n("table.empty")))])]))}});export{S as a};
@@ -0,0 +1 @@
1
+ import{b as p}from"./chunk-EHLXY56Q.js";import{j as s}from"./chunk-DSZMS7XD.js";import{j as a}from"./chunk-IMPED3KO.js";import{b as g,c as n}from"./chunk-MTT6ZOSW.js";import{b as c}from"./chunk-KLB5X6TJ.js";import{defineComponent as f,h as e,mergeProps as m}from"vue";import*as o from"reka-ui";var u=o.DialogRoot,L=o.DialogTrigger,D=o.DialogClose,x=n("DialogTitle",o.DialogTitle,"text-lg leading-none font-semibold"),v=n("DialogDescription",o.DialogDescription,"text-muted-foreground text-sm"),C=n("DialogHeader","div","flex flex-col gap-2 text-center sm:text-left"),b=n("DialogFooter","div","flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"),h=f({name:"DialogContent",inheritAttrs:!1,props:{showClose:{type:Boolean,default:!0}},setup(t,{attrs:l,slots:i}){let r=p(),{t:d}=s();return()=>e(o.DialogPortal,{to:r},()=>[e(o.DialogOverlay,{class:"fixed inset-0 z-50 bg-black/80"}),e(o.DialogContent,m(l,{"data-slot":"dialog-content",class:g("bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100svh-2rem)] overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",l.class)}),()=>[i.default?.(),t.showClose&&e(o.DialogClose,{class:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden"},()=>[e(c,{name:"X",class:"size-4"}),e("span",{class:"sr-only"},d("actions.close"))])])])}}),S=f({name:"ConfirmDialog",props:{open:Boolean,title:String,description:String,confirmLabel:String,cancelLabel:String,destructive:Boolean},emits:["update:open","confirm"],setup(t,{emit:l}){let{t:i}=s();return()=>e(u,{open:t.open,"onUpdate:open":r=>l("update:open",r)},()=>e(h,null,()=>[e(C,null,()=>[e(x,null,()=>t.title),e(v,null,()=>t.description)]),e(b,null,()=>[e(D,{asChild:!0},()=>e(a,{variant:"secondary"},()=>t.cancelLabel??i("actions.cancel"))),e(a,{variant:t.destructive?"destructive":"default",onClick:()=>l("confirm")},()=>t.confirmLabel??i("actions.confirm"))])]))}});export{u as a,L as b,D as c,x as d,v as e,C as f,b as g,h,S as i};
@@ -0,0 +1 @@
1
+ import{j as s}from"./chunk-DSZMS7XD.js";import{n as i}from"./chunk-IMPED3KO.js";import{c as a}from"./chunk-MTT6ZOSW.js";import{defineComponent as l,h as e}from"vue";var p=a("PageContainer","main","flex flex-1 flex-col gap-4 p-4"),m=a("FilterBar","div","flex flex-wrap items-center gap-2"),f=a("StatsGrid","div","grid gap-4 sm:grid-cols-2 xl:grid-cols-4"),g=a("ContentGrid","div","grid gap-4 xl:grid-cols-2"),u=l({name:"PageHeader",props:{title:String,description:String},setup(r,{slots:t}){return()=>e("header",{class:"flex flex-wrap items-center justify-between gap-4"},[e("div",{class:"min-w-0"},[e("h2",{class:"mb-0.5 text-base font-medium"},r.title),r.description&&e("p",{class:"text-muted-foreground text-sm"},r.description)]),(t.actions||t.default)&&e("div",{class:"flex flex-wrap items-center gap-2"},[t.actions?.(),t.default?.()])])}}),w=l({name:"SettingsLayout",setup(r,{slots:t}){let{t:n}=s();return()=>e("div",{class:"flex flex-col lg:flex-row lg:space-x-12"},[e("aside",{class:"w-full max-w-xl lg:w-48"},[e("nav",{"aria-label":n("nav.settings"),class:"flex flex-col space-y-1"},t.navigation?.())]),e(i,{class:"my-6 lg:hidden"}),e("div",{class:"flex-1 md:max-w-2xl"},[e("section",{class:"max-w-xl space-y-12"},t.default?.())])])}});export{p as a,m as b,f as c,g as d,u as e,w as f};
@@ -0,0 +1 @@
1
+ import{defineComponent as w,provide as D,inject as P,computed as u,ref as b}from"vue";var m={"actions.cancel":"Cancel","actions.confirm":"Confirm","actions.close":"Close","actions.save":"Save","actions.delete":"Delete","actions.copy":"Copy","actions.done":"Done","actions.reset":"Reset","form.select":"Select\u2026","form.search":"Search\u2026","form.showPassword":"Show password","form.hidePassword":"Hide password","period.label":"Period","period.today":"Today","period.yesterday":"Yesterday","period.this_month":"This month","period.last_month":"Last month","table.empty":"No results found","table.summary":"{from}\u2013{to} of {total} row(s)","table.rowsPerPage":"Rows per page","table.page":"Page {page} of {pages}","table.previous":"Previous","table.next":"Next","table.previousPage":"Go to previous page","table.nextPage":"Go to next page","nav.breadcrumb":"breadcrumb","nav.pagination":"pagination","nav.settings":"Settings","nav.sidebar":"Sidebar","nav.sidebarDescription":"Displays the mobile sidebar.","nav.toggleSidebar":"Toggle sidebar","nav.organization":"Organization","nav.documentation":"Documentation","nav.platform":"Platform","nav.agent":"Agent","nav.developers":"Developers","nav.dashboard":"Dashboard","nav.orders":"Orders","nav.payments":"Payments","nav.payouts":"Payouts","nav.transactions":"Transactions","nav.reports":"Reports","nav.deposits":"Deposits","nav.withdrawals":"Withdrawals","nav.agent/dashboard":"Agent dashboard","nav.agent/merchants":"Merchants","nav.agent/commissions":"Commissions","nav.agent/transactions":"Agent transactions","nav.agent/settlements":"Settlements","nav.agent/reports":"Agent reports","nav.api-keys":"API Keys","i18n.language":"Language","i18n.exampleDate":"Example date","i18n.exampleNumber":"Example number","i18n.exampleCurrency":"Example currency","demo.buttonClicked":"{variant} button clicked"},l={"actions.cancel":"\u53D6\u6D88","actions.confirm":"\u786E\u8BA4","actions.close":"\u5173\u95ED","actions.save":"\u4FDD\u5B58","actions.delete":"\u5220\u9664","actions.copy":"\u590D\u5236","actions.done":"\u5B8C\u6210","actions.reset":"\u91CD\u7F6E","form.select":"\u8BF7\u9009\u62E9\u2026","form.search":"\u641C\u7D22\u2026","form.showPassword":"\u663E\u793A\u5BC6\u7801","form.hidePassword":"\u9690\u85CF\u5BC6\u7801","period.label":"\u5468\u671F","period.today":"\u4ECA\u5929","period.yesterday":"\u6628\u5929","period.this_month":"\u672C\u6708","period.last_month":"\u4E0A\u6708","table.empty":"\u6682\u65E0\u7ED3\u679C","table.summary":"\u7B2C {from}\u2013{to} \u6761\uFF0C\u5171 {total} \u6761","table.rowsPerPage":"\u6BCF\u9875\u6761\u6570","table.page":"\u7B2C {page} \u9875\uFF0C\u5171 {pages} \u9875","table.previous":"\u4E0A\u4E00\u9875","table.next":"\u4E0B\u4E00\u9875","table.previousPage":"\u8F6C\u5230\u4E0A\u4E00\u9875","table.nextPage":"\u8F6C\u5230\u4E0B\u4E00\u9875","nav.breadcrumb":"\u9762\u5305\u5C51\u5BFC\u822A","nav.pagination":"\u5206\u9875\u5BFC\u822A","nav.settings":"\u8BBE\u7F6E","nav.sidebar":"\u4FA7\u680F","nav.sidebarDescription":"\u663E\u793A\u79FB\u52A8\u7AEF\u4FA7\u680F\u3002","nav.toggleSidebar":"\u5207\u6362\u4FA7\u680F","nav.organization":"\u7EC4\u7EC7","nav.documentation":"\u6587\u6863","nav.platform":"\u5E73\u53F0","nav.agent":"\u4EE3\u7406","nav.developers":"\u5F00\u53D1\u8005","nav.dashboard":"\u9996\u9875","nav.orders":"\u8BA2\u5355","nav.payments":"\u6536\u6B3E","nav.payouts":"\u4ED8\u6B3E","nav.transactions":"\u4EA4\u6613\u6D41\u6C34","nav.reports":"\u62A5\u8868","nav.deposits":"\u5145\u503C","nav.withdrawals":"\u63D0\u73B0","nav.agent/dashboard":"\u4EE3\u7406\u9996\u9875","nav.agent/merchants":"\u5546\u6237","nav.agent/commissions":"\u4F63\u91D1","nav.agent/transactions":"\u4EE3\u7406\u6D41\u6C34","nav.agent/settlements":"\u7ED3\u7B97","nav.agent/reports":"\u4EE3\u7406\u62A5\u8868","nav.api-keys":"API \u5BC6\u94A5","i18n.language":"\u8BED\u8A00","i18n.exampleDate":"\u65E5\u671F\u793A\u4F8B","i18n.exampleNumber":"\u6570\u5B57\u793A\u4F8B","i18n.exampleCurrency":"\u8D27\u5E01\u793A\u4F8B","demo.buttonClicked":"\u5DF2\u70B9\u51FB {variant} \u6309\u94AE"};Object.assign(m,{"time.start":"Start time","time.end":"End time","time.chooseDateTimeRange":"Choose date and time range","time.invalidRange":"Enter complete dates and times, including seconds.","time.rangeOrder":"End time must be on or after start time.","time.rangeBounds":"The range is outside the allowed dates and times.","time.rangeUnavailable":"A selected date is unavailable.","time.choose":"Time","time.chooseDateTime":"Choose date and time","time.hour":"Hour","time.minute":"Minute","time.second":"Second","time.dayPeriod":"AM/PM","date.apply":"Apply","date.clearAction":"Clear","date.chooseDate":"Choose date","date.chooseRange":"Choose date range","date.clear":"Clear dates","date.previousMonth":"Previous month","date.nextMonth":"Next month","feedback.loading":"Loading\u2026","feedback.notifications":"Notifications","command.title":"Search","command.description":"Search and select an item. Use arrow keys to navigate."});Object.assign(l,{"time.start":"\u5F00\u59CB\u65F6\u95F4","time.end":"\u7ED3\u675F\u65F6\u95F4","time.chooseDateTimeRange":"\u9009\u62E9\u65E5\u671F\u65F6\u95F4\u533A\u95F4","time.invalidRange":"\u8BF7\u586B\u5199\u5B8C\u6574\u65E5\u671F\u53CA\u65F6\u95F4\uFF0C\u7CBE\u786E\u5230\u79D2\u3002","time.rangeOrder":"\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u65E9\u4E8E\u5F00\u59CB\u65F6\u95F4\u3002","time.rangeBounds":"\u6240\u9009\u533A\u95F4\u8D85\u51FA\u4E86\u5141\u8BB8\u7684\u65E5\u671F\u65F6\u95F4\u8303\u56F4\u3002","time.rangeUnavailable":"\u6240\u9009\u65E5\u671F\u4E0D\u53EF\u7528\u3002","time.choose":"\u65F6\u95F4","time.chooseDateTime":"\u9009\u62E9\u65E5\u671F\u548C\u65F6\u95F4","time.hour":"\u65F6","time.minute":"\u5206","time.second":"\u79D2","time.dayPeriod":"\u4E0A\u5348/\u4E0B\u5348","date.apply":"\u5E94\u7528","date.clearAction":"\u6E05\u7A7A","date.chooseDate":"\u9009\u62E9\u65E5\u671F","date.chooseRange":"\u9009\u62E9\u65E5\u671F\u533A\u95F4","date.clear":"\u6E05\u7A7A\u65E5\u671F","date.previousMonth":"\u4E0A\u4E2A\u6708","date.nextMonth":"\u4E0B\u4E2A\u6708","feedback.loading":"\u52A0\u8F7D\u4E2D\u2026","feedback.notifications":"\u901A\u77E5","command.title":"\u641C\u7D22","command.description":"\u641C\u7D22\u5E76\u9009\u62E9\u6761\u76EE\uFF0C\u4F7F\u7528\u65B9\u5411\u952E\u5207\u6362\u3002"});var x=Object.freeze({en:m,"zh-CN":l}),C=Object.freeze(["en","zh-CN"]);function c(e="en"){try{return Intl.getCanonicalLocales(e)[0]||"en"}catch{return"en"}}function p(e="en",s={}){e=c(e);let d=e.toLowerCase().startsWith("zh")?l:m,t=(a,o)=>Object.hasOwn(a,o)?a[o]:void 0,n=(a,o={},v)=>String(t(s,a)??t(d,a)??t(m,a)??v??a).replace(/\{(\w+)\}/g,(y,g)=>Object.hasOwn(o,g)&&o[g]!==void 0?String(o[g]):y),i=(a,o={})=>new Intl.NumberFormat(e,o).format(a);return{locale:e,t:n,formatNumber:i,formatDate:(a,o={})=>new Intl.DateTimeFormat(e,o).format(a instanceof Date?a:new Date(a)),formatCurrency:(a,o="USD",v={})=>i(a,{style:"currency",currency:o,...v})}}var h=Symbol("casual-i18n");function A(e,s=b({}),d=t=>{e.value=c(t)}){let t=u(()=>p(e.value,s.value));return{locale:u(()=>c(e.value)),setLocale:d,t:(...n)=>t.value.t(...n),formatNumber:(...n)=>t.value.formatNumber(...n),formatDate:(...n)=>t.value.formatDate(...n),formatCurrency:(...n)=>t.value.formatCurrency(...n)}}function T(e,s){e.provide(h,s)}var R=w({name:"I18nProvider",props:{locale:String,defaultLocale:{type:String,default:"en"},messages:{type:Object,default:()=>({})}},emits:["update:locale"],setup(e,{slots:s,emit:d}){let t=b(e.defaultLocale),n=u(()=>c(e.locale??t.value)),i=u(()=>p(n.value,e.messages));return D(h,{locale:n,setLocale:r=>{t.value=c(r),d("update:locale",t.value)},t:(...r)=>i.value.t(...r),formatNumber:(...r)=>i.value.formatNumber(...r),formatDate:(...r)=>i.value.formatDate(...r),formatCurrency:(...r)=>i.value.formatCurrency(...r)}),()=>s.default?.()}}),M=()=>P(h,null)??{...p(),locale:b("en"),setLocale:()=>{}};export{m as a,l as b,x as c,C as d,c as e,p as f,A as g,T as h,R as i,M as j};
@@ -0,0 +1 @@
1
+ import{j as u}from"./chunk-DSZMS7XD.js";import{j as m}from"./chunk-IMPED3KO.js";import{b as l}from"./chunk-MTT6ZOSW.js";import{b as c}from"./chunk-KLB5X6TJ.js";import{defineComponent as p,h as e,ref as C,inject as v,provide as b,computed as h}from"vue";import*as r from"reka-ui";var d=Symbol("casual-toast"),w=Symbol("casual-toast-config"),x=Object.freeze(["top-left","bottom-left","top-right","bottom-right","center","top-center","bottom-center"]),y=t=>x.includes(t)?t:"bottom-right";function T(){let t=C([]),a=0;return{items:t,add(i){let n=String(++a);return t.value=[...t.value,{...i,id:n}].slice(-5),n},remove(i){t.value=t.value.filter(n=>n.id!==i)},update(i,n){t.value=t.value.map(s=>s.id===i?{...s,...n,id:i}:s)},clear(){t.value=[]}}}function V(t,a){t.provide(d,a)}function S(){let t=v(d,null);if(!t)throw new Error("Wrap the application in ToastProvider, or enable the Casual Nuxt module");return t}var X=p({name:"ToastProvider",props:{duration:{type:Number,default:5e3},viewport:{type:Boolean,default:!0},position:{type:String,default:"bottom-right"},viewportClass:[String,Array,Object],viewportStyle:[String,Array,Object]},setup(t,{slots:a}){let i=v(d,null)??T();b(d,i),b(w,h(()=>({position:y(t.position),duration:t.duration})));let{t:n}=u();return()=>e(r.ToastProvider,{duration:t.duration,label:n("feedback.notifications")},()=>[a.default?.(),t.viewport&&e(R,{class:t.viewportClass,style:t.viewportStyle})])}}),R=p({name:"ToastViewport",inheritAttrs:!1,props:{position:String},setup(t,{attrs:a}){let i=S(),{t:n}=u(),s=v(w,h(()=>({position:"bottom-right",duration:5e3})));return()=>x.map(f=>{let g=i.items.value.filter(o=>y(o.position??t.position??s.value.position)===f);return g.length?e(r.ToastProvider,{key:f,duration:s.value.duration,label:n("feedback.notifications")},()=>[...g.map(o=>e(r.ToastRoot,{key:o.id,open:!0,duration:o.duration,"onUpdate:open":k=>{k||i.remove(o.id)},class:l("cu-toast bg-background text-foreground flex items-start gap-3 rounded-lg border p-4 shadow-lg",o.variant&&"cu-semantic-"+o.variant)},()=>[e(c,{name:{success:"CircleCheck",error:"CircleX",warning:"CircleAlert",info:"Info"}[o.variant]??"Info",class:"mt-0.5 shrink-0"}),e("div",{class:"min-w-0 flex-1 space-y-1"},[o.title&&e(r.ToastTitle,{class:"text-sm font-medium"},()=>o.title),o.description&&e(r.ToastDescription,{class:"break-words text-sm"},()=>o.description),o.action&&e(r.ToastAction,{asChild:!0,altText:o.action.label},()=>e(m,{variant:"outline",size:"sm",class:"h-auto min-h-8 max-w-full whitespace-normal break-words",onClick:o.action.onClick},()=>o.action.label))]),e(r.ToastClose,{asChild:!0},()=>e(m,{variant:"ghost",size:"icon",class:"size-6 shrink-0","aria-label":n("actions.close")},()=>e(c,{name:"X"})))])),e(r.ToastViewport,{label:n("feedback.notifications"),"data-position":f,class:l("cu-toast-viewport",a.class),style:a.style})]):null})}}),B=p({name:"Alert",props:{title:String,description:String,variant:{type:String,default:"info"},icon:String},setup(t,{slots:a}){return()=>e("div",{role:t.variant==="error"?"alert":"status",class:l("flex items-start gap-3 rounded-lg border p-4",t.variant&&"cu-semantic-"+t.variant)},[e(c,{name:t.icon??{success:"CircleCheck",warning:"CircleAlert",error:"CircleX",info:"Info"}[t.variant]??"Info",class:"mt-0.5 shrink-0"}),e("div",{class:"min-w-0 flex-1 space-y-1"},[t.title&&e("h3",{class:"text-sm font-medium"},t.title),t.description&&e("p",{class:"break-words text-sm"},t.description),a.default?.(),a.actions?.()])])}}),K=p({name:"Skeleton",inheritAttrs:!1,props:{shape:{type:String,default:"rectangle"}},setup(t,{attrs:a}){let{t:i}=u();return()=>e("div",{...a,role:"status","aria-label":i("feedback.loading"),class:l("bg-muted motion-safe:animate-pulse motion-reduce:animate-none",t.shape==="circle"?"size-8 rounded-full":"h-4 w-full rounded-md",a.class)})}});export{x as a,T as b,V as c,S as d,X as e,R as f,B as g,K as h};
@@ -0,0 +1 @@
1
+ import{inject as e}from"vue";var o=Symbol("casual-config");function r(t,a={}){t.provide(o,a)}var i=()=>e(o,{}).portalTarget;export{r as a,i as b};
@@ -0,0 +1 @@
1
+ import{b as y}from"./chunk-EHLXY56Q.js";import{j as g}from"./chunk-DSZMS7XD.js";import{j as f,p as v}from"./chunk-IMPED3KO.js";import{b as h}from"./chunk-MTT6ZOSW.js";import{b as d,c as b}from"./chunk-KLB5X6TJ.js";import{defineComponent as m,h as a,ref as P}from"vue";import*as i from"reka-ui";var k=[{label:"Platform",items:[["Dashboard","dashboard","LayoutGrid"],["Orders","orders","ShoppingBag"],["Payments","payments","CreditCard"],["Payouts","payouts","Banknote"],["Transactions","transactions","ArrowLeftRight"],["Reports","reports","FileText"],["Deposits","deposits","LogIn"],["Withdrawals","withdrawals","LogOut"]]},{label:"Agent",items:[["Agent dashboard","agent/dashboard","LayoutDashboard"],["Merchants","agent/merchants","Users"],["Commissions","agent/commissions","Percent"],["Agent transactions","agent/transactions","ArrowLeftRight"],["Settlements","agent/settlements","Landmark"],["Agent reports","agent/reports","FileText"]]},{label:"Developers",items:[["API Keys","api-keys","KeyRound"]]}],x=m({name:"NavGroup",props:{label:String,items:{type:Array,default:()=>[]},basePath:{type:String,default:"/s-organization"},currentPath:{type:String,default:""}},emits:["navigate"],setup(e,{emit:t,slots:n}){return()=>a("section",{class:"cu-nav-group"},[a("div",{class:"cu-nav-label"},e.label),a("ul",null,e.items.map(([s,o,u])=>{let r=e.basePath+"/"+o,l=e.currentPath===r||e.currentPath.startsWith(r+"/"),c={href:r,"aria-current":l?"page":void 0,class:h("cu-nav-item",l&&"is-active"),onClick:p=>t("navigate",p)};return a("li",{key:o},n.link?.({title:s,path:o,icon:u,href:r,active:l,attrs:c})??a("a",c,[a(d,{name:u}),a("span",null,s)]))}))])}}),w=m({name:"Breadcrumbs",props:{items:{type:Array,default:()=>[]}},setup(e){let{t}=g();return()=>a("nav",{"aria-label":t("nav.breadcrumb")},[a("ol",{class:"flex flex-wrap items-center gap-1.5 text-sm"},e.items.map((n,s)=>a("li",{class:"inline-flex items-center gap-1.5"},[s>0&&a(d,{name:"ChevronRight",class:"text-muted-foreground size-3.5"}),n.href&&s<e.items.length-1?a("a",{class:"text-muted-foreground hover:text-foreground",href:n.href},n.title):a("span",{"aria-current":s===e.items.length-1?"page":void 0},n.title)])))])}}),z={groups:{type:Array,default:()=>k},currentPath:{type:String,default:""},basePath:{type:String,default:"/s-organization"},organizationName:String,user:Object,brandHref:String,userHref:{type:String,default:"/settings/profile"}},C=m({name:"SidebarContent",props:z,emits:["navigate","organization"],setup(e,{emit:t,slots:n}){let{t:s}=g();return()=>{let o=e.organizationName??s("nav.organization"),u=e.groups===k?e.groups.map(r=>({...r,label:s("nav."+r.label.toLowerCase()),items:r.items.map(([l,c,p])=>[s("nav."+c,{},l),c,p])})):e.groups;return[a("div",{class:"cu-sidebar-head"},[n.brand?.({href:e.brandHref??e.basePath+"/dashboard"})??a("a",{href:e.brandHref??e.basePath+"/dashboard",class:"cu-sidebar-brand"},[a("span",{class:"cu-sidebar-symbol"},[a(b,{width:24,height:24})]),a("span",{class:"cu-sidebar-wordmark"},[a("span",{style:{display:"inline-block",width:"109px",overflow:"hidden"}},[a(b,{variant:"wordmark",width:141,height:32,style:{marginLeft:"-32px",maxWidth:"none"}})])])]),n.organization?.({organizationName:o})??a("button",{class:"cu-organization-button",type:"button",onClick:()=>t("organization")},[a("span",null,o),a(d,{name:"ChevronsUpDown"})])]),a("div",{class:"cu-sidebar-scroll"},u.map(r=>a(x,{...r,key:r.label,basePath:e.basePath,currentPath:e.currentPath,onNavigate:l=>t("navigate",l)},{link:n.link}))),a("div",{class:"cu-sidebar-footer"},[n.footer?.()??a("a",{href:"https://docs.dayangpay.com",target:"_blank",rel:"noreferrer",class:"cu-nav-item"},[a(d,{name:"BookOpen"}),a("span",null,s("nav.documentation"))]),n.user?.({user:e.user,organizationName:o,href:e.userHref})??(e.user&&a("a",{href:e.userHref,class:"cu-sidebar-user"},[a(v,{src:e.user.avatar,name:e.user.name}),a("span",null,[a("span",null,e.user.name),a("small",null,o)]),a(d,{name:"ChevronsUpDown"})]))])]}}}),H=m({name:"AppShell",props:{...z,breadcrumbs:{type:Array,default:()=>[]}},emits:["navigate","organization"],setup(e,{slots:t,emit:n}){let s=y(),o=P(!1),u=P(!1),{t:r}=g(),l=()=>a(C,{groups:e.groups,currentPath:e.currentPath,basePath:e.basePath,organizationName:e.organizationName,user:e.user,brandHref:e.brandHref,userHref:e.userHref,onNavigate:c=>{o.value=!1,n("navigate",c)},onOrganization:()=>n("organization")},{footer:t.footer,link:t.link,brand:t.brand,organization:t.organization,user:t.user});return()=>a("div",{class:h("cu-app-shell",u.value&&"cu-sidebar-collapsed")},[a("aside",{class:"cu-desktop-sidebar"},[l()]),a(i.DialogRoot,{open:o.value,"onUpdate:open":c=>o.value=c},()=>a(i.DialogPortal,{to:s},()=>[a(i.DialogOverlay,{class:"fixed inset-0 z-50 bg-black/80"}),a(i.DialogContent,{class:"cu-mobile-sidebar"},()=>[a(i.DialogTitle,{class:"sr-only"},()=>r("nav.sidebar")),a(i.DialogDescription,{class:"sr-only"},()=>r("nav.sidebarDescription")),l()])])),a("div",{class:"cu-app-content"},[a("header",{class:"cu-app-header"},[a(f,{variant:"ghost",size:"icon",class:"cu-mobile-trigger -ml-1 h-7 w-7","aria-label":r("nav.toggleSidebar"),onClick:()=>o.value=!0},()=>a(d,{name:"PanelLeftOpen"})),a(f,{variant:"ghost",size:"icon",class:"cu-desktop-trigger -ml-1 h-7 w-7","aria-label":r("nav.toggleSidebar"),onClick:()=>u.value=!u.value},()=>a(d,{name:u.value?"PanelLeftOpen":"PanelLeftClose"})),a(w,{items:e.breadcrumbs}),t["header-actions"]&&a("div",{class:"ml-auto flex min-w-0 items-center gap-2"},t["header-actions"]())]),t.default?.()])])}});export{k as a,x as b,w as c,C as d,H as e};
@@ -0,0 +1 @@
1
+ import{a as B,b as X,c as A,d as j}from"./chunk-KB3AWACN.js";import{a as O,b as Y,j as K}from"./chunk-Z72U2G6L.js";import{j as R}from"./chunk-DSZMS7XD.js";import{a as Z,b as N,e as C,h as T,j as x}from"./chunk-IMPED3KO.js";import{b as P}from"./chunk-MTT6ZOSW.js";import{b as M}from"./chunk-KLB5X6TJ.js";import{defineComponent as z,h as t,ref as y,computed as U,mergeProps as E,provide as $}from"vue";import*as F from"reka-ui";function _({isDisabled:e,step:a}){let s=new WeakMap;return i=>{if(e()||i.ctrlKey||i.metaKey||i.shiftKey||!i.deltaY||Math.abs(i.deltaX||0)>Math.abs(i.deltaY))return;let d=i.currentTarget;if(d.getAttribute("aria-disabled")==="true"||d.getAttribute("aria-readonly")==="true")return;i.preventDefault(),i.stopPropagation();let r=i.deltaY*(i.deltaMode===0?1:40),o=s.get(d),f=(!o||i.timeStamp-o.time>200||Math.sign(r)!==Math.sign(o.delta)?0:o.delta)+r;if(Math.abs(f)<40){s.set(d,{delta:f,time:i.timeStamp});return}s.set(d,{delta:0,time:i.timeStamp}),a(d,f<0?1:-1)}}var q=e=>String(e).padStart(2,"0");function G(e){if(typeof e!="string"||!/^\d{2}:\d{2}(?::\d{2})?$/.test(e))return"";try{let a=B(e);return[a.hour,a.minute,a.second].map(q).join(":")}catch{return""}}function c(e){if(typeof e!="string")return"";let[a,s,...i]=e.split(/[T ]/),d=G(s);return!i.length&&A(a)&&d?a+"T"+d:""}var I=e=>{let a=G(e);return a?B(a):void 0},L=z({name:"TimePicker",inheritAttrs:!1,props:{modelValue:String,min:String,max:String,disabled:Boolean,readonly:Boolean,label:String},emits:["update:modelValue","change","blur"],setup(e,{attrs:a,emit:s}){let{locale:i,t:d}=R(),r=C(a,e),o=T(()=>a.name,"input"),n=T(()=>a.name,"change"),f=T(()=>a.name,"blur"),p=v=>{let u=v?[v.hour,v.minute,v.second].map(q).join(":"):"";s("update:modelValue",u),s("change",u),o(u),n(u)},h=_({isDisabled:()=>e.readonly||r().disabled,step:(v,u)=>{v.focus({preventScroll:!0}),v.dispatchEvent(new KeyboardEvent("keydown",{key:u>0?"ArrowUp":"ArrowDown",bubbles:!0,cancelable:!0}))}});return()=>t(F.TimeFieldRoot,E(a,r(),{modelValue:I(e.modelValue),defaultPlaceholder:new X(2e3,1,1,0,0,0),hourCycle:24,granularity:"second",locale:i.value,minValue:I(e.min),maxValue:I(e.max),readonly:e.readonly,"aria-label":e.label??a["aria-label"]??d("time.choose"),"data-slot":"time-picker",class:P("cu-time-field",a.class),"onUpdate:modelValue":p,onFocusout:v=>{v.currentTarget.contains(v.relatedTarget)||(s("blur",v),f(e.modelValue))}}),{default:({segments:v})=>[t(M,{name:"Clock",class:"cu-time-icon text-muted-foreground"}),...v.map(u=>t(F.TimeFieldInput,{key:u.part,part:u.part,onWheel:u.part==="literal"?void 0:h,"aria-label":u.part==="literal"?void 0:d("time."+u.part),class:u.part==="literal"?"cu-time-literal":"cu-time-segment"},()=>u.value))]})}}),J=z({inheritAttrs:!1,setup(e,{attrs:a}){return $(Z,null),$(N,null),()=>t(L,a)}}),me=z({name:"DateTimePicker",inheritAttrs:!1,props:{modelValue:String,defaultMonth:String,min:String,max:String,disabled:Boolean,isDateDisabled:Function,isDateUnavailable:Function,placeholder:String,clearable:{type:Boolean,default:!0}},emits:["update:modelValue","change"],setup(e,{attrs:a,emit:s,slots:i}){let{locale:d,t:r}=R(),o=y(!1),n=y(""),f=y("00:00:00"),p=C(a,e),h=T(()=>a.name,"input"),v=T(()=>a.name,"change"),u=U(()=>n.value?c(n.value+"T"+f.value):""),g=U(()=>!!n.value&&(!u.value||e.min&&u.value<c(e.min)||e.max&&u.value>c(e.max)||e.isDateDisabled?.(n.value)||e.isDateUnavailable?.(n.value))),D=()=>{if(g.value)return!1;let m=u.value||null;return m!==(c(e.modelValue)||null)&&(s("update:modelValue",m),s("change",m),h(m),v(m)),!0},V=m=>{if(m!==o.value){if(m){let w=c(e.modelValue);n.value=w.slice(0,10),f.value=w.slice(11)||"00:00:00"}else D();o.value=m}},k=()=>{let m=o.value?u.value:c(e.modelValue);return m?new Intl.DateTimeFormat(d.value,{month:"short",day:"2-digit",year:"numeric",timeZone:"UTC"}).format(A(m.slice(0,10)).toDate("UTC"))+" "+m.slice(11):e.placeholder??r("time.chooseDateTime")};return()=>t("div",{class:"inline-flex max-w-full"},[t(O,{open:o.value,"onUpdate:open":V},()=>[t(Y,{asChild:!0},()=>t(x,E(a,p(),{variant:"outline","aria-label":a["aria-label"]??e.placeholder??r("time.chooseDateTime"),class:P("cu-date-trigger w-72 max-w-full min-w-0 justify-start px-3 text-left font-normal",a.class)}),()=>[t(M,{name:"Calendar"}),i.value?.({value:o.value?u.value:c(e.modelValue)})??t("span",{class:"truncate"},k())])),t(K,{class:"cu-date-popover w-auto p-0",align:"start","aria-label":r("time.chooseDateTime")},()=>[t(j,{modelValue:n.value,defaultMonth:e.defaultMonth,min:e.min?.slice(0,10),max:e.max?.slice(0,10),disabled:e.disabled,isDateDisabled:e.isDateDisabled,isDateUnavailable:e.isDateUnavailable,"onUpdate:modelValue":m=>n.value=m||""}),t("div",{class:"cu-datetime-time"},[t("span",{class:"text-muted-foreground text-xs"},r("time.choose")),t(J,{modelValue:f.value,"onUpdate:modelValue":m=>f.value=m,disabled:p().disabled,min:e.min?.slice(0,10)===n.value?e.min.slice(11):void 0,max:e.max?.slice(0,10)===n.value?e.max.slice(11):void 0})]),t("div",{class:"cu-date-footer"},[e.clearable&&t(x,{variant:"ghost",size:"sm",disabled:!n.value,onClick:()=>{n.value="",f.value="00:00:00"}},()=>r("date.clearAction")),t(x,{size:"sm",disabled:g.value,onClick:()=>{D()&&(o.value=!1)}},()=>r("date.apply"))])])]),p().name&&t("input",{type:"hidden",name:p().name,value:c(e.modelValue),disabled:p().disabled})])}});function Q(e,a={}){if(e==null||!e.start&&!e.end)return"";let s=c(e.start),i=c(e.end);if(!s||!i)return"time.invalidRange";if(s>i)return"time.rangeOrder";let d=c(a.min),r=c(a.max);return d&&s<d||r&&i>r?"time.rangeBounds":[s,i].some(o=>a.isDateDisabled?.(o.slice(0,10))||a.isDateUnavailable?.(o.slice(0,10)))?"time.rangeUnavailable":""}var ce=z({name:"DateTimeRangePicker",inheritAttrs:!1,props:{modelValue:Object,start:String,end:String,defaultMonth:String,min:String,max:String,disabled:Boolean,isDateDisabled:Function,isDateUnavailable:Function,placeholder:String,clearable:{type:Boolean,default:!0},numberOfMonths:Number},emits:["update:modelValue","update:start","update:end","change"],setup(e,{attrs:a,emit:s,slots:i}){let{locale:d,t:r}=R(),o=y(!1),n=y({start:"",end:""}),f=y("00:00:00"),p=y("23:59:59"),h=C(a,e),v=T(()=>a.name,"input"),u=T(()=>a.name,"change"),g=U(()=>e.modelValue!==void 0?e.modelValue:e.start||e.end?{start:e.start||"",end:e.end||""}:null),D=U(()=>n.value.start?{start:n.value.start+"T"+f.value,end:(n.value.end||n.value.start)+"T"+p.value}:null),V=U(()=>Q(D.value,e)),k=()=>{if(V.value)return!1;let l=D.value?{start:c(D.value.start),end:c(D.value.end)}:null;return((l?.start||"")!==(g.value?.start||"")||(l?.end||"")!==(g.value?.end||""))&&(s("update:modelValue",l),s("update:start",l?.start||""),s("update:end",l?.end||""),s("change",l),v(l),u(l)),!0},m=l=>{if(l!==o.value){if(l){let b=c(g.value?.start),S=c(g.value?.end);n.value={start:b.slice(0,10),end:S.slice(0,10)},f.value=b.slice(11)||"00:00:00",p.value=S.slice(11)||"23:59:59"}else k();o.value=l}},w=l=>{let b=c(l);return b?new Intl.DateTimeFormat(d.value,{month:"short",day:"2-digit",year:"numeric",timeZone:"UTC"}).format(A(b.slice(0,10)).toDate("UTC"))+" "+b.slice(11):""},W=()=>{let l=o.value?D.value:g.value;return l?.start?w(l.start)+" \u2013 "+(w(l.end)||"\u2026"):e.placeholder??r("time.chooseDateTimeRange")},H=(l,b)=>l?.slice(0,10)===b?l.slice(11):void 0;return()=>t("div",{class:"inline-flex max-w-full min-w-0"},[t(O,{open:o.value,"onUpdate:open":m},()=>[t(Y,{asChild:!0},()=>t(x,E(a,h(),{variant:"outline","data-slot":"datetime-range-picker","aria-label":a["aria-label"]??e.placeholder??r("time.chooseDateTimeRange"),title:W(),class:P("cu-date-trigger w-[28rem] max-w-full min-w-0 justify-start px-3 text-left font-normal",a.class)}),()=>[t(M,{name:"Calendar"}),i.value?.({value:o.value?D.value:g.value})??t("span",{class:"truncate"},W())])),t(K,{class:"cu-date-popover w-auto p-0",align:"start","aria-label":r("time.chooseDateTimeRange")},()=>[t(j,{range:!0,modelValue:n.value,defaultMonth:e.defaultMonth,min:e.min?.slice(0,10),max:e.max?.slice(0,10),numberOfMonths:e.numberOfMonths,disabled:h().disabled,isDateDisabled:e.isDateDisabled,isDateUnavailable:e.isDateUnavailable,"onUpdate:modelValue":l=>n.value={start:l?.start||"",end:l?.end||""}}),t("div",{class:"cu-datetime-range-times"},["start","end"].map(l=>{let b=l==="start"?n.value.start:n.value.end||n.value.start;return t("div",{class:"cu-datetime-range-time","data-slot":l+"-time"},[t("div",{class:"cu-datetime-range-label"},[t("span",null,r("time."+l)),t("span",{class:"text-muted-foreground"},b||"YYYY-MM-DD")]),t(J,{modelValue:l==="start"?f.value:p.value,"onUpdate:modelValue":S=>{l==="start"?f.value=S:p.value=S},label:r("time."+l),disabled:h().disabled,min:H(e.min,b),max:H(e.max,b)})])})),V.value&&t("p",{class:"cu-datetime-range-error cu-field-error",role:"alert"},r(V.value)),t("div",{class:"cu-date-footer"},[e.clearable&&t(x,{variant:"ghost",size:"sm",disabled:!n.value.start,onClick:()=>{n.value={start:"",end:""},f.value="00:00:00",p.value="23:59:59"}},()=>r("date.clearAction")),t(x,{size:"sm",disabled:!!V.value||h().disabled,onClick:()=>{k()&&(o.value=!1)}},()=>r("date.apply"))])])]),h().name&&["start","end"].map(l=>t("input",{type:"hidden",name:h().name+"["+l+"]",value:c(g.value?.[l]),disabled:h().disabled}))])}});export{G as a,c as b,L as c,me as d,Q as e,ce as f};
@@ -0,0 +1 @@
1
+ import{a as w,b as m,c as k}from"./chunk-MTT6ZOSW.js";import{b as y}from"./chunk-KLB5X6TJ.js";import{inject as C,provide as F,useId as O}from"vue";var E=Symbol("casual-form"),S=Symbol("casual-field"),f=()=>C(E,null),z=()=>C(S,null),D=e=>F(S,e);function V(e,r={}){let t=z(),n=f(),i=t?.claimControl?.(O());return()=>({id:e.id??i?.value??t?.id.value,name:e.name??t?.name.value,disabled:r.disabled||e.disabled||n?.disabled.value||void 0,"aria-invalid":e["aria-invalid"]??(t?.error.value?!0:void 0),"aria-describedby":e["aria-describedby"]??t?.describedBy.value})}function T(e,r){return String(r).split(".").reduce((t,n)=>t?.[n],e)}function W(e,r,t){let n=String(r).split(".");if(n.some(a=>["__proto__","constructor","prototype"].includes(a)))throw new Error("Unsafe field name");let i=e;for(let a of n.slice(0,-1))i=i[a]??={};i[n.at(-1)]=t}function g(e,r){let t=z(),n=f();return i=>{let a=(typeof e=="function"?e():e)||t?.name.value;a&&n?.change(a,r,i)}}import{defineComponent as c,h as o,mergeProps as x}from"vue";import{Primitive as j}from"reka-ui";var B=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,P=w,_=(e,r)=>t=>{var n;if(r?.variants==null)return P(e,t?.class,t?.className);let{variants:i,defaultVariants:a}=r,p=Object.keys(i).map(s=>{let l=t?.[s],v=a?.[s];if(l===null)return null;let u=B(l)||B(v);return i[s][u]}),d=t&&Object.entries(t).reduce((s,l)=>{let[v,u]=l;return u===void 0||(s[v]=u),s},{}),N=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((s,l)=>{let{class:v,className:u,...A}=l;return Object.entries(A).every(I=>{let[h,b]=I;return Array.isArray(b)?b.includes({...a,...d}[h]):{...a,...d}[h]===b})?[...s,v,u]:s},[]);return P(e,p,N,t?.class,t?.className)};var K=_("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",outline:"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}}),Z=c({name:"Button",inheritAttrs:!1,props:{variant:String,size:String,asChild:Boolean,loading:Boolean},setup(e,{attrs:r,slots:t}){let n=f();return()=>o(j,x({as:"button",type:"button","data-slot":"button"},r,{asChild:e.asChild,class:m(K(e),r.class),"aria-busy":e.loading||void 0,disabled:r.disabled||e.loading||n?.disabled.value,onClickCapture:i=>{e.loading&&(i.preventDefault(),i.stopImmediatePropagation())}}),{default:()=>[e.loading&&o(y,{name:"LoaderCircle",class:"motion-safe:animate-spin motion-reduce:animate-none"}),t.default?.()]})}}),L="border-input file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",ee=c({name:"Input",inheritAttrs:!1,props:{modelValue:[String,Number],disabled:Boolean},emits:["update:modelValue"],setup(e,{attrs:r,emit:t}){let n=V(r,e),i=g(r.name,"input"),a=g(r.name,"change"),p=g(r.name,"blur");return()=>o("input",x({"data-slot":"input",value:e.modelValue},r,n(),{class:m(L,r.class),onInput:d=>{t("update:modelValue",d.target.value),i(d.target.value)},onChange:d=>a(d.target.value),onBlur:d=>p(d.target.value)}))}}),te=k("Label","label","text-sm leading-none font-medium select-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50",{"data-slot":"label"}),re=c({name:"Separator",props:{orientation:{type:String,default:"horizontal"}},setup:e=>()=>o("div",{role:"separator","aria-orientation":e.orientation,"data-slot":"separator",class:m("bg-border shrink-0",e.orientation==="horizontal"?"h-px w-full":"h-full w-px")})}),ne=c({name:"Badge",inheritAttrs:!1,props:{variant:{type:String,default:"default"},asChild:Boolean},setup(e,{attrs:r,slots:t}){return()=>o(j,x({as:"span",asChild:e.asChild,"data-slot":"badge"},r,{class:m("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{success:"cu-semantic-success border-transparent",info:"cu-semantic-info border-transparent",warning:"cu-semantic-warning border-transparent",error:"cu-semantic-error border-transparent",default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}[e.variant],r.class)}),t)}}),ie=c({name:"Avatar",props:{src:String,name:{type:String,default:""},size:{type:Number,default:32}},setup:e=>()=>o("span",{class:"relative flex shrink-0 overflow-hidden rounded-lg",style:{width:e.size+"px",height:e.size+"px"}},e.src?o("img",{class:"size-full object-cover",src:e.src,alt:e.name}):o("span",{class:"bg-muted flex size-full items-center justify-center text-sm"},e.name.slice(0,2)))}),ae=c({name:"Heading",props:{title:String,description:String,variant:String},setup:e=>()=>o("header",{class:e.variant==="small"?"":"mb-8 space-y-0.5"},[o("h2",{class:e.variant==="small"?"mb-0.5 text-base font-medium":"text-xl font-semibold tracking-tight"},e.title),e.description&&o("p",{class:"text-muted-foreground text-sm"},e.description)])});export{E as a,S as b,f as c,D as d,V as e,T as f,W as g,g as h,K as i,Z as j,L as k,ee as l,te as m,re as n,ne as o,ie as p,ae as q};
@@ -0,0 +1 @@
1
+ import{b as U}from"./chunk-EHLXY56Q.js";import{j as k}from"./chunk-DSZMS7XD.js";import{a as F,c as B,d as j,e as R,f as D,g as E,h as w,k as N,l as T,m as O}from"./chunk-IMPED3KO.js";import{b as S}from"./chunk-MTT6ZOSW.js";import{b as h}from"./chunk-KLB5X6TJ.js";import{defineComponent as A,h as y,ref as de,mergeProps as Z}from"vue";import"reka-ui";import{defineComponent as L,h as n,useId as q,computed as I,ref as z,cloneVNode as H,onBeforeUnmount as _,watch as G,mergeProps as J,Fragment as Q}from"vue";import*as i from"reka-ui";var W=L({name:"FormField",props:{id:String,name:String,label:String,description:String,error:String},setup(e,{slots:r}){let u=q(),t=B(),o=I(()=>e.id||u),s=I(()=>e.error??t?.errors.value.find(m=>m.name===e.name)?.message),f=I(()=>e.name),c=I(()=>[e.description&&o.value+"-description",s.value&&o.value+"-error"].filter(Boolean).join(" ")||void 0),g=z(0),b=z([]);j({id:o,name:f,error:s,describedBy:c,claimControl:m=>(b.value.push(m),_(()=>b.value=b.value.filter(l=>l!==m)),I(()=>!g.value&&b.value[0]===m?o.value:o.value+"-control-"+m))});let v;G([f,o],()=>{v?.(),e.name&&(v=t?.register(e.name,o.value))},{immediate:!0}),_(()=>v?.());let p=new Set(["Input","Textarea","Select","PasswordInput","SearchInput","TimePicker","DatePicker","DateRangePicker","DateTimePicker","DateTimeRangePicker"]);return()=>{let m={id:o.value,name:e.name,"aria-invalid":s.value?!0:void 0,"aria-describedby":c.value},l=0,a=x=>x?.map(d=>{if(!d||typeof d!="object")return d;if(typeof d.type=="string"&&["input","textarea","select"].includes(d.type)&&d.props?.type!=="hidden"||p.has(d.type?.name)){let C=l++?o.value+"-control-"+l:o.value;return H(d,{...m,id:C})}if((typeof d.type=="string"||d.type===Q)&&Array.isArray(d.children)){let C=H(d);return C.children=a(d.children),C}return d}),P=a(r.default?.({...m,error:s.value}));return g.value=l,n("div",{"data-slot":"form-field",class:"grid gap-2"},[e.label&&n(O,{for:o.value},()=>e.label),P,e.description&&n("p",{id:o.value+"-description",class:"text-muted-foreground text-sm"},e.description),s.value&&n("p",{id:o.value+"-error",role:"alert",class:"cu-field-error text-destructive text-sm"},s.value)])}}}),X=L({name:"Select",inheritAttrs:!1,props:{modelValue:[String,Number],defaultValue:[String,Number],options:{type:Array,default:()=>[]},placeholder:String,label:String,disabled:Boolean,name:String,id:String,size:{type:String,default:"default"}},emits:["update:modelValue","change","blur"],setup(e,{attrs:r,emit:u,slots:t}){let o=z(e.defaultValue),s=U(),{t:f}=k(),c=R(r,e),g=w(()=>e.name,"input"),b=w(()=>e.name,"change"),V=w(()=>e.name,"blur"),v=p=>{o.value=p,u("update:modelValue",p),u("change",p),g(p),b(p)};return()=>{let p={...c(),id:e.id??c().id,name:e.name??c().name},m=e.modelValue!==void 0?e.modelValue:o.value,l=e.options.find(a=>a.value===m);return n(i.SelectRoot,{modelValue:m,defaultValue:e.defaultValue,disabled:p.disabled,name:p.name,"onUpdate:modelValue":v},()=>[n(i.SelectTrigger,J(r,p,{"data-slot":"select-trigger","data-size":e.size,"aria-label":e.label,onBlur:a=>{u("blur",a),V(e.modelValue)},class:S("cu-select-trigger border-input data-[placeholder]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive dark:bg-input/30 flex w-fit max-w-full min-w-0 items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 [&_svg]:shrink-0",r.class)}),()=>[n(i.SelectValue,{placeholder:e.placeholder??f("form.select"),class:"cu-select-value min-w-0 flex-1 truncate text-left"},{default:t.value?()=>t.value({option:l,value:m}):l?()=>n("span",{class:"block min-w-0 truncate",title:l.label},l.label):void 0}),n(i.SelectIcon,{asChild:!0},()=>n(h,{name:"ChevronDown",class:"size-4 shrink-0 text-muted-foreground opacity-50"}))]),n(i.SelectPortal,{to:s},()=>n(i.SelectContent,{"data-slot":"select-content",position:"popper",sideOffset:4,class:"cu-select-content bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md"},()=>[n(i.SelectScrollUpButton,{class:"flex justify-center py-1"},()=>n(h,{name:"ChevronUp"})),n(i.SelectViewport,{class:"min-w-[var(--reka-select-trigger-width)] p-1"},()=>e.options.map(a=>n(i.SelectItem,{key:typeof a.value+":"+a.value,value:a.value,disabled:a.disabled,textValue:a.label,"data-slot":"select-item",class:"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden data-[disabled]:pointer-events-none data-[disabled]:opacity-50"},()=>[n("span",{class:"absolute right-2 flex size-3.5 items-center justify-center"},[n(i.SelectItemIndicator,null,()=>n(h,{name:"Check"}))]),n(i.SelectItemText,{class:"min-w-0 whitespace-normal break-words"},()=>t.option?.({option:a,selected:a.value===e.modelValue})??[n("span",{class:"flex items-center gap-2"},[a.icon&&n(h,{name:a.icon}),a.color&&n("span",{class:"size-2 shrink-0 rounded-full",style:{background:a.color}}),a.label]),a.description&&n("span",{class:"text-muted-foreground block text-xs"},a.description)])]))),n(i.SelectScrollDownButton,{class:"flex justify-center py-1"},()=>n(h,{name:"ChevronDown"}))]))])}}});import{defineComponent as Y,h as $,ref as K,computed as ee,provide as te,onBeforeUnmount as ae,nextTick as re}from"vue";function M(e=[]){return e.map(r=>({name:Array.isArray(r.path)?r.path.map(u=>typeof u=="object"?u.key:u).join("."):String(r.name??r.path??""),message:String(r.message??r)}))}async function le(e,r,u){let t=[];if(e?.["~standard"]?.validate)t=(await e["~standard"].validate(r)).issues??[];else if(e?.safeParseAsync||e?.safeParse){let o=await(e.safeParseAsync?.(r)??e.safeParse(r));t=o.success?[]:o.error?.issues??[]}else if(e)throw new TypeError("Use a Standard Schema, Zod safeParse schema, or the validate prop");return u&&(t=[...t,...await u(r)??[]]),M(t)}var oe=Y({name:"Form",inheritAttrs:!1,props:{state:{type:Object,default:()=>({})},schema:Object,validate:Function,validateOn:{type:Array,default:()=>["input","blur","change"]},disabled:Boolean,loading:Boolean,submitHandler:Function},emits:["submit","error","update:state"],setup(e,{attrs:r,slots:u,emit:t,expose:o}){let s=K([]),f=K(!1),c=new Map,g=0,b=!0;ae(()=>{b=!1,g++});let V=ee(()=>e.disabled||e.loading||f.value),v=async({name:l,silent:a=!1}={})=>{let P=++g,x=await le(e.schema,e.state,e.validate);return!b||P!==g?!1:(a||(s.value=l?[...s.value.filter(d=>d.name!==l),...x.filter(d=>d.name===l)]:x),!(l?x.filter(d=>d.name===l):x).length)};te(F,{errors:s,disabled:V,submitting:f,register:(l,a)=>(c.set(l,a),()=>{c.get(l)===a&&c.delete(l)}),change:(l,a,P)=>{(a==="input"||a==="change")&&D(e.state,l)!==P&&(E(e.state,l,P),t("update:state",e.state)),!f.value&&e.validateOn.includes(a)&&v({name:l}).catch(x=>t("error",{errors:[],cause:x}))}});let m=async l=>{if(l?.preventDefault(),!V.value){f.value=!0;try{await v()?(e.submitHandler&&await e.submitHandler(e.state),t("submit",{data:e.state,event:l})):t("error",{errors:s.value})}catch(a){t("error",{errors:s.value,cause:a})}finally{f.value=!1,await re();let a=c.get(s.value[0]?.name);typeof document<"u"&&a&&document.getElementById(a)?.focus()}}};return o({validate:v,submit:m,clear:l=>{g++,s.value=l?s.value.filter(a=>a.name!==l):[]},setErrors:l=>{g++,s.value=M(l)},getErrors:()=>s.value,submitting:f}),()=>$("form",{...r,novalidate:!0,"aria-busy":f.value||void 0,onSubmit:m},u.default?.({errors:s.value,submitting:f.value,disabled:V.value}))}});import{defineComponent as ne,h as se,mergeProps as ie}from"vue";var ue=ne({name:"Textarea",inheritAttrs:!1,props:{modelValue:[String,Number],rows:{type:Number,default:3},resize:{type:String,default:"vertical"},disabled:Boolean},emits:["update:modelValue"],setup(e,{attrs:r,emit:u}){let t=R(r,e),o=w(()=>r.name,"input"),s=w(()=>r.name,"change"),f=w(()=>r.name,"blur");return()=>se("textarea",ie(r,t(),{"data-slot":"textarea",rows:e.rows,value:e.modelValue,style:{resize:e.resize},class:S(N,"min-h-20 h-auto py-2",r.class),onInput:c=>{u("update:modelValue",c.target.value),o(c.target.value)},onChange:c=>s(c.target.value),onBlur:c=>f(c.target.value)}))}});var He=A({name:"PasswordInput",inheritAttrs:!1,props:{modelValue:[String,Number]},emits:["update:modelValue"],setup(e,{attrs:r,emit:u}){let t=de(!1),{t:o}=k();return()=>y("div",{class:"relative"},[y(T,Z(r,{modelValue:e.modelValue,"onUpdate:modelValue":s=>u("update:modelValue",s),type:t.value?"text":"password",class:S("pr-10",r.class)})),y("button",{type:"button",tabindex:-1,class:"text-muted-foreground hover:text-foreground focus-visible:ring-ring absolute inset-y-0 right-0 flex items-center rounded-r-md px-3 focus-visible:ring-[3px] focus-visible:outline-none","aria-label":o(t.value?"form.hidePassword":"form.showPassword"),onClick:()=>t.value=!t.value},[y(h,{name:t.value?"EyeOff":"Eye",class:"size-4"})])])}}),_e=A({name:"SearchInput",inheritAttrs:!1,props:{modelValue:[String,Number],placeholder:String},emits:["update:modelValue"],setup(e,{attrs:r,emit:u}){let{t}=k();return()=>y("div",{class:"cu-search-control"},[y(h,{name:"Search",class:"cu-search-icon text-muted-foreground"}),y(T,Z({type:"search",placeholder:e.placeholder??t("form.search"),"aria-label":r["aria-label"]??e.placeholder??t("form.search")},r,{modelValue:e.modelValue,"onUpdate:modelValue":o=>u("update:modelValue",o),class:S("cu-search-field",r.class)}))])}}),Le=A({name:"PeriodTabs",props:{modelValue:{type:String,default:"today"},options:Array},emits:["update:modelValue"],setup(e,{emit:r}){let{t:u}=k();return()=>y("div",{role:"radiogroup","aria-label":u("period.label"),class:"inline-flex max-w-full overflow-x-auto rounded-md border shadow-xs"},(e.options??["today","yesterday","this_month","last_month"].map(t=>({value:t,label:u("period."+t)}))).map((t,o)=>y("button",{type:"button",role:"radio","aria-checked":e.modelValue===t.value,onClick:()=>r("update:modelValue",t.value),class:S("h-9 shrink-0 px-3 text-sm whitespace-nowrap",o>0&&"border-l",e.modelValue===t.value?"bg-muted":"bg-background hover:bg-accent")},t.label)))}});export{W as a,X as b,oe as c,ue as d,He as e,_e as f,Le as g};
@@ -0,0 +1 @@
1
+ import{a as xe,b as De,j as ge}from"./chunk-Z72U2G6L.js";import{j as N}from"./chunk-DSZMS7XD.js";import{j as S}from"./chunk-IMPED3KO.js";import{b as J}from"./chunk-MTT6ZOSW.js";import{b as L}from"./chunk-KLB5X6TJ.js";import{defineComponent as Be,h as d,ref as pe,onMounted as aa,onBeforeUnmount as ta,computed as be}from"vue";function q(e,a){return e-a*Math.floor(e/a)}var Me=1721426;function B(e,a,t,r){a=F(e,a);let n=a-1,o=-2;return t<=2?o=0:P(a)&&(o=-1),Me-1+365*n+Math.floor(n/4)-Math.floor(n/100)+Math.floor(n/400)+Math.floor((367*t-362)/12+o+r)}function P(e){return e%4===0&&(e%100!==0||e%400===0)}function F(e,a){return e==="BC"?1-a:a}function Fe(e){let a="AD";return e<=0&&(a="BC",e=1-e),[a,e]}var Ge={standard:[31,28,31,30,31,30,31,31,30,31,30,31],leapyear:[31,29,31,30,31,30,31,31,30,31,30,31]},y=class{fromJulianDay(a){let t=a,r=t-Me,n=Math.floor(r/146097),o=q(r,146097),s=Math.floor(o/36524),c=q(o,36524),f=Math.floor(c/1461),u=q(c,1461),l=Math.floor(u/365),m=n*400+s*100+f*4+l+(s!==4&&l!==4?1:0),[i,b]=Fe(m),h=t-B(i,b,1,1),g=2;t<B(i,b,3,1)?g=0:P(b)&&(g=1);let M=Math.floor(((h+g)*12+373)/367),$=t-B(i,b,M,1)+1;return new w(i,b,M,$)}toJulianDay(a){return B(a.era,a.year,a.month,a.day)}getDaysInMonth(a){return Ge[P(a.year)?"leapyear":"standard"][a.month-1]}getMonthsInYear(a){return 12}getDaysInYear(a){return P(a.year)?366:365}getMaximumMonthsInYear(){return 12}getMaximumDaysInMonth(){return 31}getYearsInEra(a){return 9999}getEras(){return["BC","AD"]}isInverseEra(a){return a.era==="BC"}balanceDate(a){a.year<=0&&(a.era=a.era==="BC"?"AD":"BC",a.year=1-a.year)}constructor(){this.identifier="gregory"}};function K(e,a){return e.isEqual?.(a)??a.isEqual?.(e)??e.identifier===a.identifier}function Te(e){return D(Date.now(),e)}function Q(e){return Ie(Te(e))}function X(e,a){return e.calendar.toJulianDay(e)-a.calendar.toJulianDay(a)}function ee(e,a){return we(e)-we(a)}function we(e){return e.hour*36e5+e.minute*6e4+e.second*1e3+e.millisecond}var _=null,Ve=!1;function G(){return _==null&&(_=new Intl.DateTimeFormat().resolvedOptions().timeZone),_}function ae(){return Ve}function v(e){e=p(e,new y);let a=F(e.era,e.year);return Se(a,e.month,e.day,e.hour,e.minute,e.second,e.millisecond)}function Se(e,a,t,r,n,o,s){let c=new Date;return c.setUTCHours(r,n,o,s),c.setUTCFullYear(e,a-1,t),c.getTime()}function te(e,a){if(a==="UTC")return 0;if(e>0&&a===G()&&!ae())return new Date(e).getTimezoneOffset()*-6e4;let{year:t,month:r,day:n,hour:o,minute:s,second:c}=Ee(e,a);return Se(t,r,n,o,s,c,0)-Math.floor(e/1e3)*1e3}var Ce=new Map;function Ee(e,a){let t=Ce.get(a);t||(t=new Intl.DateTimeFormat("en-US",{timeZone:a,hour12:!1,era:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),Ce.set(a,t));let r=t.formatToParts(new Date(e)),n={};for(let o of r)o.type!=="literal"&&(n[o.type]=o.value);return{year:n.era==="BC"||n.era==="B"?-n.year+1:+n.year,month:+n.month,day:+n.day,hour:n.hour==="24"?0:+n.hour,minute:+n.minute,second:+n.second}}var ve=864e5;function He(e,a,t,r){return(t===r?[t]:[t,r]).filter(o=>je(e,a,o))}function je(e,a,t){let r=Ee(t,a);return e.year===r.year&&e.month===r.month&&e.day===r.day&&e.hour===r.hour&&e.minute===r.minute&&e.second===r.second}function x(e,a,t="compatible"){let r=T(e);if(a==="UTC")return v(r);if(a===G()&&t==="compatible"&&!ae()){r=p(r,new y);let f=new Date,u=F(r.era,r.year);return f.setFullYear(u,r.month-1,r.day),f.setHours(r.hour,r.minute,r.second,r.millisecond),f.getTime()}let n=v(r),o=te(n-ve,a),s=te(n+ve,a),c=He(r,a,n-o,n-s);if(c.length===1)return c[0];if(c.length>1)switch(t){case"compatible":case"earlier":return c[0];case"later":return c[c.length-1];case"reject":throw new RangeError("Multiple possible absolute times found")}switch(t){case"earlier":return Math.min(n-o,n-s);case"compatible":case"later":return Math.max(n-o,n-s);case"reject":throw new RangeError("No such absolute time found")}}function re(e,a,t="compatible"){return new Date(x(e,a,t))}function D(e,a){let t=te(e,a),r=new Date(e+t),n=r.getUTCFullYear(),o=r.getUTCMonth()+1,s=r.getUTCDate(),c=r.getUTCHours(),f=r.getUTCMinutes(),u=r.getUTCSeconds(),l=r.getUTCMilliseconds();return new E(n<1?"BC":"AD",n<1?-n+1:n,o,s,a,t,c,f,u,l)}function Ie(e){return new w(e.calendar,e.era,e.year,e.month,e.day)}function T(e,a){let t=0,r=0,n=0,o=0;if("timeZone"in e)({hour:t,minute:r,second:n,millisecond:o}=e);else if("hour"in e&&!a)return e;return a&&({hour:t,minute:r,second:n,millisecond:o}=a),new Y(e.calendar,e.era,e.year,e.month,e.day,t,r,n,o)}function p(e,a){if(K(e.calendar,a))return e;let t=a.fromJulianDay(e.calendar.toJulianDay(e)),r=e.copy();return r.calendar=a,r.era=t.era,r.year=t.year,r.month=t.month,r.day=t.day,I(r),r}function Oe(e,a,t){if(e instanceof E)return e.timeZone===a?e:ke(e,a);let r=x(e,a,t);return D(r,a)}function Ze(e){let a=v(e)-e.offset;return new Date(a)}function ke(e,a){let t=v(e)-e.offset;return p(D(t,a),e.calendar)}var W=36e5;function R(e,a){let t=e.copy(),r="hour"in t?Ye(t,a):0;ne(t,a.years||0),t.calendar.balanceYearMonth&&t.calendar.balanceYearMonth(t,e),t.month+=a.months||0,oe(t),Ae(t),t.day+=(a.weeks||0)*7,t.day+=a.days||0,t.day+=r,ze(t),t.calendar.balanceDate&&t.calendar.balanceDate(t),t.year<1&&(t.year=1,t.month=1,t.day=1);let n=t.calendar.getYearsInEra(t);if(t.year>n){let s=t.calendar.isInverseEra?.(t);t.year=n,t.month=s?1:t.calendar.getMonthsInYear(t),t.day=s?1:t.calendar.getDaysInMonth(t)}t.month<1&&(t.month=1,t.day=1);let o=t.calendar.getMonthsInYear(t);return t.month>o&&(t.month=o,t.day=t.calendar.getDaysInMonth(t)),t.day=Math.max(1,Math.min(t.calendar.getDaysInMonth(t),t.day)),t}function ne(e,a){e.calendar.isInverseEra?.(e)&&(a=-a),e.year+=a}function oe(e){for(;e.month<1;)ne(e,-1),e.month+=e.calendar.getMonthsInYear(e);let a=0;for(;e.month>(a=e.calendar.getMonthsInYear(e));)e.month-=a,ne(e,1)}function ze(e){for(;e.day<1;)e.month--,oe(e),e.day+=e.calendar.getDaysInMonth(e);for(;e.day>e.calendar.getDaysInMonth(e);)e.day-=e.calendar.getDaysInMonth(e),e.month++,oe(e)}function Ae(e){e.month=Math.max(1,Math.min(e.calendar.getMonthsInYear(e),e.month)),e.day=Math.max(1,Math.min(e.calendar.getDaysInMonth(e),e.day))}function I(e){e.calendar.constrainDate&&e.calendar.constrainDate(e),e.year=Math.max(1,Math.min(e.calendar.getYearsInEra(e),e.year)),Ae(e)}function se(e){let a={};for(let t in e)typeof e[t]=="number"&&(a[t]=-e[t]);return a}function ce(e,a){return R(e,se(a))}function H(e,a){let t=e.copy();return a.era!=null&&(t.era=a.era),a.year!=null&&(t.year=a.year),a.month!=null&&(t.month=a.month),a.day!=null&&(t.day=a.day),I(t),t}function U(e,a){let t=e.copy();return a.hour!=null&&(t.hour=a.hour),a.minute!=null&&(t.minute=a.minute),a.second!=null&&(t.second=a.second),a.millisecond!=null&&(t.millisecond=a.millisecond),de(t),t}function Je(e){e.second+=Math.floor(e.millisecond/1e3),e.millisecond=V(e.millisecond,1e3),e.minute+=Math.floor(e.second/60),e.second=V(e.second,60),e.hour+=Math.floor(e.minute/60),e.minute=V(e.minute,60);let a=Math.floor(e.hour/24);return e.hour=V(e.hour,24),a}function de(e){e.millisecond=Math.max(0,Math.min(e.millisecond,999)),e.second=Math.max(0,Math.min(e.second,59)),e.minute=Math.max(0,Math.min(e.minute,59)),e.hour=Math.max(0,Math.min(e.hour,23))}function V(e,a){let t=e%a;return t<0&&(t+=a),t}function Ye(e,a){return e.hour+=a.hours||0,e.minute+=a.minutes||0,e.second+=a.seconds||0,e.millisecond+=a.milliseconds||0,Je(e)}function ie(e,a){let t=e.copy();return Ye(t,a),t}function Ue(e,a){return ie(e,se(a))}function j(e,a,t,r){let n=e.copy();switch(a){case"era":{let o=e.calendar.getEras(),s=o.indexOf(e.era);if(s<0)throw new Error("Invalid era: "+e.era);s=C(s,t,0,o.length-1,r?.round),n.era=o[s],I(n);break}case"year":n.calendar.isInverseEra?.(n)&&(t=-t),n.year=C(e.year,t,-1/0,9999,r?.round),n.year===-1/0&&(n.year=1),n.calendar.balanceYearMonth&&n.calendar.balanceYearMonth(n,e);break;case"month":n.month=C(e.month,t,1,e.calendar.getMonthsInYear(e),r?.round);break;case"day":n.day=C(e.day,t,1,e.calendar.getDaysInMonth(e),r?.round);break;default:throw new Error("Unsupported field "+a)}return e.calendar.balanceDate&&e.calendar.balanceDate(n),I(n),n}function z(e,a,t,r){let n=e.copy();switch(a){case"hour":{let o=e.hour,s=0,c=23;if(r?.hourCycle===12){let f=o>=12;s=f?12:0,c=f?23:11}n.hour=C(o,t,s,c,r?.round);break}case"minute":n.minute=C(e.minute,t,0,59,r?.round);break;case"second":n.second=C(e.second,t,0,59,r?.round);break;case"millisecond":n.millisecond=C(e.millisecond,t,0,999,r?.round);break;default:throw new Error("Unsupported field "+a)}return n}function C(e,a,t,r,n=!1){if(n){e+=Math.sign(a),e<t&&(e=r);let o=Math.abs(a);a>0?e=Math.ceil(e/o)*o:e=Math.floor(e/o)*o,e>r&&(e=t)}else e+=a,e<t?e=r-(t-e-1):e>r&&(e=t+(e-r-1));return e}function le(e,a){let t;if(a.years!=null&&a.years!==0||a.months!=null&&a.months!==0||a.weeks!=null&&a.weeks!==0||a.days!=null&&a.days!==0){let n=R(T(e),{years:a.years,months:a.months,weeks:a.weeks,days:a.days});t=x(n,e.timeZone)}else t=v(e)-e.offset;t+=a.milliseconds||0,t+=(a.seconds||0)*1e3,t+=(a.minutes||0)*6e4,t+=(a.hours||0)*36e5;let r=D(t,e.timeZone);return p(r,e.calendar)}function Le(e,a){return le(e,se(a))}function We(e,a,t,r){switch(a){case"hour":{let n=0,o=23;if(r?.hourCycle===12){let h=e.hour>=12;n=h?12:0,o=h?23:11}let s=T(e),c=p(U(s,{hour:n}),new y),f=[x(c,e.timeZone,"earlier"),x(c,e.timeZone,"later")].filter(h=>D(h,e.timeZone).day===c.day)[0],u=p(U(s,{hour:o}),new y),l=[x(u,e.timeZone,"earlier"),x(u,e.timeZone,"later")].filter(h=>D(h,e.timeZone).day===u.day).pop(),m=v(e)-e.offset,i=Math.floor(m/W),b=m%W;return m=C(i,t,Math.floor(f/W),Math.floor(l/W),r?.round)*W+b,p(D(m,e.timeZone),e.calendar)}case"minute":case"second":case"millisecond":return z(e,a,t,r);case"era":case"year":case"month":case"day":{let n=j(T(e),a,t,r),o=x(n,e.timeZone);return p(D(o,e.timeZone),e.calendar)}default:throw new Error("Unsupported field "+a)}}function Re(e,a,t){let r=T(e),n=U(H(r,a),a);if(n.compare(r)===0)return e;let o=x(n,e.timeZone,t);return p(D(o,e.timeZone),e.calendar)}var Ne=/^(\d{2})(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?$/,_e=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})$/;var Ke=/^([+-]\d{6}|\d{4})-(\d{2})-(\d{2})(?:T(\d{2}))?(?::(\d{2}))?(?::(\d{2}))?(\.\d+)?(?:(?:([+-]\d{2})(?::?(\d{2}))?)|Z)$/;var Qe=["hours","minutes","seconds"],Ta=["years","months","weeks","days",...Qe];function Xe(e){let a=e.match(Ne);if(!a)throw new Error("Invalid ISO 8601 time string: "+e);return new A(O(a[1],0,23),a[2]?O(a[2],0,59):0,a[3]?O(a[3],0,59):0,a[4]?O(a[4],0,1/0)*1e3:0)}function $e(e){let a=e.match(_e);if(!a)throw Ke.test(e)?new Error(`Invalid ISO 8601 date string: ${e}. Use parseAbsolute() instead.`):new Error("Invalid ISO 8601 date string: "+e);let t=new w(O(a[1],0,9999),O(a[2],1,12),1);return t.day=O(a[3],1,t.calendar.getDaysInMonth(t)),t}function O(e,a,t){let r=Number(e);if(r<a||r>t)throw new RangeError(`Value out of range: ${a} <= ${r} <= ${t}`);return r}function fe(e){return`${String(e.hour).padStart(2,"0")}:${String(e.minute).padStart(2,"0")}:${String(e.second).padStart(2,"0")}${e.millisecond?String(e.millisecond/1e3).slice(1):""}`}function ue(e){let a=p(e,new y),t;return a.era==="BC"?t=a.year===1?"0000":"-"+String(Math.abs(1-a.year)).padStart(6,"00"):t=String(a.year).padStart(4,"0"),`${t}-${String(a.month).padStart(2,"0")}-${String(a.day).padStart(2,"0")}`}function me(e){return`${ue(e)}T${fe(e)}`}function ea(e){let a=Math.sign(e)<0?"-":"+";e=Math.abs(e);let t=Math.floor(e/36e5),r=Math.floor(e%36e5/6e4),n=Math.floor(e%36e5%6e4/1e3),o=`${a}${String(t).padStart(2,"0")}:${String(r).padStart(2,"0")}`;return n!==0&&(o+=`:${String(n).padStart(2,"0")}`),o}function qe(e){return`${me(e)}${ea(e.offset)}[${e.timeZone}]`}function he(e){let a=typeof e[0]=="object"?e.shift():new y,t;if(typeof e[0]=="string")t=e.shift();else{let s=a.getEras();t=s[s.length-1]}let r=e.shift(),n=e.shift(),o=e.shift();return[a,t,r,n,o]}var w=class e{#e;constructor(...a){let[t,r,n,o,s]=he(a);this.calendar=t,this.era=r,this.year=n,this.month=o,this.day=s,I(this)}copy(){return this.era?new e(this.calendar,this.era,this.year,this.month,this.day):new e(this.calendar,this.year,this.month,this.day)}add(a){return R(this,a)}subtract(a){return ce(this,a)}set(a){return H(this,a)}cycle(a,t,r){return j(this,a,t,r)}toDate(a){return re(this,a)}toString(){return ue(this)}compare(a){return X(this,a)}},A=class e{#e;constructor(a=0,t=0,r=0,n=0){this.hour=a,this.minute=t,this.second=r,this.millisecond=n,de(this)}copy(){return new e(this.hour,this.minute,this.second,this.millisecond)}add(a){return ie(this,a)}subtract(a){return Ue(this,a)}set(a){return U(this,a)}cycle(a,t,r){return z(this,a,t,r)}toString(){return fe(this)}compare(a){return ee(this,a)}},Y=class e{#e;constructor(...a){let[t,r,n,o,s]=he(a);this.calendar=t,this.era=r,this.year=n,this.month=o,this.day=s,this.hour=a.shift()||0,this.minute=a.shift()||0,this.second=a.shift()||0,this.millisecond=a.shift()||0,I(this)}copy(){return this.era?new e(this.calendar,this.era,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond):new e(this.calendar,this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond)}add(a){return R(this,a)}subtract(a){return ce(this,a)}set(a){return H(U(this,a),a)}cycle(a,t,r){switch(a){case"era":case"year":case"month":case"day":return j(this,a,t,r);default:return z(this,a,t,r)}}toDate(a,t){return re(this,a,t)}toString(){return me(this)}compare(a){let t=X(this,a);return t===0?ee(this,T(a)):t}},E=class e{#e;constructor(...a){let[t,r,n,o,s]=he(a),c=a.shift(),f=a.shift();this.calendar=t,this.era=r,this.year=n,this.month=o,this.day=s,this.timeZone=c,this.offset=f,this.hour=a.shift()||0,this.minute=a.shift()||0,this.second=a.shift()||0,this.millisecond=a.shift()||0,I(this)}copy(){return this.era?new e(this.calendar,this.era,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond):new e(this.calendar,this.year,this.month,this.day,this.timeZone,this.offset,this.hour,this.minute,this.second,this.millisecond)}add(a){return le(this,a)}subtract(a){return Le(this,a)}set(a,t){return Re(this,a,t)}cycle(a,t,r){return We(this,a,t,r)}toDate(){return Ze(this)}toString(){return qe(this)}toAbsoluteString(){return this.toDate().toISOString()}compare(a){return this.toDate().getTime()-Oe(a,this.timeZone).toDate().getTime()}};import*as ra from"reka-ui";function Z(e){if(e)try{return $e(e)}catch{return}}var ye={modelValue:[String,Object],defaultMonth:String,min:String,max:String,disabled:Boolean,isDateDisabled:Function,isDateUnavailable:Function,timeZone:{type:String,default:"UTC"},numberOfMonths:Number},na=Be({name:"CalendarPicker",inheritAttrs:!1,props:{...ye,range:Boolean},emits:["update:modelValue"],setup(e,{emit:a,attrs:t}){let{locale:r,t:n}=N(),o=pe(!1),s,c=()=>o.value=s.matches;aa(()=>{s=matchMedia("(min-width:768px)"),c(),s.addEventListener("change",c)}),ta(()=>s?.removeEventListener("change",c));let f=be(()=>e.numberOfMonths??(e.range&&o.value?2:1));return()=>{let u=e.range?"RangeCalendar":"Calendar",l=i=>ra[u+i],m=e.range?{start:Z(e.modelValue?.start),end:Z(e.modelValue?.end)}:Z(e.modelValue);return d(l("Root"),{modelValue:m,defaultPlaceholder:Z(e.defaultMonth)||m?.start||!e.range&&m||Q(e.timeZone),locale:r.value,weekStartsOn:0,calendarLabel:n(e.range?"date.chooseRange":"date.chooseDate"),numberOfMonths:f.value,disabled:e.disabled,minValue:Z(e.min),maxValue:Z(e.max),isDateDisabled:e.isDateDisabled?i=>e.isDateDisabled(i.toString()):void 0,isDateUnavailable:e.isDateUnavailable?i=>e.isDateUnavailable(i.toString()):void 0,"onUpdate:modelValue":i=>a("update:modelValue",e.range?{start:i?.start?.toString()??"",end:i?.end?.toString()??""}:i?.toString()??null),...Object.fromEntries(Object.entries(t).filter(([i])=>i==="id"||i==="style"||i.startsWith("aria-")||i.startsWith("data-"))),class:J("cu-calendar",t.class),"data-range":e.range?"true":void 0},{default:({grid:i,weekDays:b})=>[d("div",{class:"cu-calendar-nav"},[d(l("Prev"),{asChild:!0},()=>d(S,{variant:"ghost",size:"icon",class:"cu-calendar-nav-button","aria-label":n("date.previousMonth")},()=>d(L,{name:"ChevronLeft"}))),d(l("Next"),{asChild:!0},()=>d(S,{variant:"ghost",size:"icon",class:"cu-calendar-nav-button","aria-label":n("date.nextMonth")},()=>d(L,{name:"ChevronRight"})))]),d("div",{class:"cu-calendar-months"},i.map(h=>d("div",{key:h.value.toString(),class:"cu-calendar-month"},[d("div",{class:"cu-calendar-title"},new Intl.DateTimeFormat(r.value,{month:"long",year:"numeric",timeZone:"UTC"}).format(h.value.toDate("UTC"))),d(l("Grid"),{class:"cu-calendar-grid"},()=>[d(l("GridHead"),null,()=>d(l("GridRow"),{class:"cu-calendar-weekdays"},()=>i[0].rows[0].map(g=>d(l("HeadCell"),{class:"cu-calendar-weekday"},()=>{let M=new Intl.DateTimeFormat(r.value,{weekday:"short",timeZone:"UTC"}).format(g.toDate("UTC"));return r.value.startsWith("zh")?M.slice(-1):M.slice(0,2)})))),d(l("GridBody"),null,()=>h.rows.map((g,M)=>d(l("GridRow"),{key:M,class:"cu-calendar-row"},()=>g.map($=>d(l("Cell"),{key:$.toString(),date:$,class:"cu-calendar-cell"},()=>d(l("CellTrigger"),{day:$,month:h.value,class:"cu-calendar-day"},()=>d("span",{class:"cu-calendar-number"},String($.day))))))))])])))]})}}}),oa=e=>e?.start?{start:e.start,end:e.end||""}:null;function Pe(e,a){return Be({name:e,inheritAttrs:!1,props:{...ye,start:String,end:String,placeholder:String,clearable:{type:Boolean,default:!0}},emits:["update:modelValue","update:start","update:end","change"],setup(t,{attrs:r,emit:n,slots:o}){let{locale:s,t:c}=N(),f=pe(!1),u=pe(null),l=be(()=>t.modelValue??(a&&t.start?{start:t.start,end:t.end||""}:null)),m=be(()=>a&&f.value?u.value:l.value),i=$=>{n("update:modelValue",$),a&&(n("update:start",$?.start??""),n("update:end",$?.end??"")),n("change",$)},b=$=>{if($!==f.value){if($&&a&&(u.value=oa(l.value)),!$&&a){let k=u.value?.start?{start:u.value.start,end:u.value.end||u.value.start}:null;((k?.start||"")!==(l.value?.start||"")||(k?.end||"")!==(l.value?.end||""))&&i(k)}f.value=$}},h=$=>{a?u.value=$:(i($),b(!1))},g=$=>{let k=Z($);return k?new Intl.DateTimeFormat(s.value,{month:"short",day:"2-digit",year:"numeric",timeZone:"UTC"}).format(k.toDate("UTC")):""},M=()=>a?m.value?.start?g(m.value.start)+(m.value.end&&m.value.end!==m.value.start?" \u2013 "+g(m.value.end):""):t.placeholder??c("date.chooseRange"):m.value?g(m.value):t.placeholder??c("date.chooseDate");return()=>d("div",{class:"inline-flex max-w-full items-center gap-1"},[d(xe,{open:f.value,"onUpdate:open":b},()=>[d(De,{asChild:!0},()=>d(S,{...r,variant:"outline",disabled:t.disabled,"aria-label":r["aria-label"]??t.placeholder??c(a?"date.chooseRange":"date.chooseDate"),class:J("cu-date-trigger max-w-full min-w-0 justify-start px-3 text-left font-normal",a&&"w-64",!m.value&&"text-muted-foreground",r.class)},()=>[d(L,{name:"Calendar"}),o.value?.({value:m.value})??d("span",{class:"truncate"},M())])),d(ge,{class:"cu-date-popover w-auto max-w-[calc(100vw-1rem)] p-0",align:"start"},()=>[d(na,{...Object.fromEntries(Object.keys(ye).map($=>[$,t[$]])),modelValue:a?u.value:l.value,range:a,"onUpdate:modelValue":h}),a&&d("div",{class:"cu-date-footer"},[t.clearable&&d(S,{variant:"ghost",size:"sm",disabled:!u.value?.start,onClick:()=>u.value=null},()=>c("date.clearAction")),d(S,{size:"sm",onClick:()=>b(!1)},()=>c("date.apply"))])])]),!a&&t.clearable&&l.value&&d(S,{variant:"ghost",size:"icon",disabled:t.disabled,"aria-label":c("date.clear"),onClick:()=>i(null)},()=>d(L,{name:"X"}))])}})}var yt=Pe("DatePicker",!1),xt=Pe("DateRangePicker",!0);export{Xe as a,Y as b,Z as c,na as d,yt as e,xt as f};