@gspa/ui 0.1.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/dist/Button.vue_vue_type_script_setup_true_lang-B3TkBTvG.js +205 -0
- package/dist/Button.vue_vue_type_script_setup_true_lang-DZxttvYH.cjs +1 -0
- package/dist/DataTable.css +1 -0
- package/dist/DataTableToolBar.css +1 -0
- package/dist/DatePicker.vue_vue_type_script_setup_true_lang-CIKiZaO1.cjs +1 -0
- package/dist/DatePicker.vue_vue_type_script_setup_true_lang-Dx_9f8DO.js +557 -0
- package/dist/FormField.vue_vue_type_script_setup_true_lang-BljDj5YZ.js +205 -0
- package/dist/FormField.vue_vue_type_script_setup_true_lang-FWitIR3U.cjs +1 -0
- package/dist/Header.css +1 -0
- package/dist/Input.vue_vue_type_script_setup_true_lang-C1OQn24h.cjs +1 -0
- package/dist/Input.vue_vue_type_script_setup_true_lang-CpBoY97r.js +137 -0
- package/dist/Loader.css +1 -0
- package/dist/ReminderConfig.css +1 -0
- package/dist/ReusableForm.css +1 -0
- package/dist/Sidebar.css +1 -0
- package/dist/Toast.css +1 -0
- package/dist/components/AccordionItem.cjs +1 -1
- package/dist/components/AccordionItem.js +5 -5
- package/dist/components/Alert.cjs +1 -1
- package/dist/components/Alert.js +71 -66
- package/dist/components/Button.cjs +1 -1
- package/dist/components/Button.js +2 -188
- package/dist/components/DataTable.cjs +1 -1
- package/dist/components/DataTable.js +1 -1
- package/dist/components/DataTableFilters.cjs +1 -1
- package/dist/components/DataTableFilters.js +19 -19
- package/dist/components/DataTableToolBar.cjs +1 -1
- package/dist/components/DataTableToolBar.js +1 -1
- package/dist/components/DatePicker.cjs +1 -1
- package/dist/components/DatePicker.js +2 -399
- package/dist/components/FormField.cjs +1 -1
- package/dist/components/FormField.js +2 -188
- package/dist/components/GraphFilters.cjs +1 -1
- package/dist/components/GraphFilters.js +29 -29
- package/dist/components/Icon.cjs +1 -1
- package/dist/components/Icon.js +23 -16
- package/dist/components/Input.cjs +1 -1
- package/dist/components/Input.js +2 -164
- package/dist/components/ReusableForm.cjs +1 -1
- package/dist/components/ReusableForm.js +188 -159
- package/dist/components/ThemeConfigurator.cjs +1 -1
- package/dist/components/ThemeConfigurator.js +51 -28
- package/dist/gspa-ui.css +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.esm.js +124 -118
- package/dist/layouts/AuthLayout.cjs +1 -1
- package/dist/layouts/AuthLayout.js +110 -112
- package/dist/lib/form-field.cjs +1 -0
- package/dist/lib/form-field.js +4 -0
- package/dist/lib/icon.cjs +1 -0
- package/dist/lib/icon.js +4 -0
- package/dist/lib/theme.cjs +1 -1
- package/dist/lib/theme.js +73 -63
- package/dist/src/components/Alert.vue.d.ts.map +1 -1
- package/dist/src/components/Button.vue.d.ts +127 -29
- package/dist/src/components/Button.vue.d.ts.map +1 -1
- package/dist/src/components/Calendar.vue.d.ts +4 -4
- package/dist/src/components/Checkbox.vue.d.ts +2 -2
- package/dist/src/components/DataTable.vue.d.ts +1 -1
- package/dist/src/components/DatePicker.vue.d.ts +139 -29
- package/dist/src/components/DatePicker.vue.d.ts.map +1 -1
- package/dist/src/components/FormField.vue.d.ts +106 -38
- package/dist/src/components/FormField.vue.d.ts.map +1 -1
- package/dist/src/components/Icon.vue.d.ts.map +1 -1
- package/dist/src/components/Input.vue.d.ts +137 -33
- package/dist/src/components/Input.vue.d.ts.map +1 -1
- package/dist/src/components/ReusableForm.vue.d.ts +1 -1
- package/dist/src/components/ReusableForm.vue.d.ts.map +1 -1
- package/dist/src/components/ReusableFormModal.vue.d.ts +1 -1
- package/dist/src/components/Textarea.vue.d.ts +2 -2
- package/dist/src/index.d.ts +9 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/layouts/AuthLayout.vue.d.ts +2 -0
- package/dist/src/layouts/AuthLayout.vue.d.ts.map +1 -1
- package/dist/src/lib/form-field.d.ts +2 -0
- package/dist/src/lib/form-field.d.ts.map +1 -0
- package/dist/src/lib/icon.d.ts +2 -0
- package/dist/src/lib/icon.d.ts.map +1 -0
- package/dist/src/lib/theme.d.ts +4 -0
- package/dist/src/lib/theme.d.ts.map +1 -1
- package/dist/src/types.d.ts +47 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/styles/auth-layout.css +1 -0
- package/dist/styles/button.css +1 -0
- package/dist/styles/form-field.css +1 -0
- package/dist/styles/input.css +1 -0
- package/dist/styles/tokens.css +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -3
- package/dist/src/__tests__/Alert.spec.d.ts +0 -2
- package/dist/src/__tests__/Alert.spec.d.ts.map +0 -1
- package/dist/src/__tests__/App.spec.d.ts +0 -2
- package/dist/src/__tests__/App.spec.d.ts.map +0 -1
- package/dist/src/__tests__/AuthLayout.spec.d.ts +0 -2
- package/dist/src/__tests__/AuthLayout.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Badge.spec.d.ts +0 -2
- package/dist/src/__tests__/Badge.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Button.spec.d.ts +0 -2
- package/dist/src/__tests__/Button.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Card.spec.d.ts +0 -2
- package/dist/src/__tests__/Card.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Checkbox.spec.d.ts +0 -2
- package/dist/src/__tests__/Checkbox.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Dropdown.spec.d.ts +0 -2
- package/dist/src/__tests__/Dropdown.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Input.spec.d.ts +0 -2
- package/dist/src/__tests__/Input.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Modal.spec.d.ts +0 -2
- package/dist/src/__tests__/Modal.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Radio.spec.d.ts +0 -2
- package/dist/src/__tests__/Radio.spec.d.ts.map +0 -1
- package/dist/src/__tests__/ReusableForm.spec.d.ts +0 -2
- package/dist/src/__tests__/ReusableForm.spec.d.ts.map +0 -1
- package/dist/src/__tests__/Tabs.spec.d.ts +0 -2
- package/dist/src/__tests__/Tabs.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/CardIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/CardIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/FormIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/FormIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/ModalIntegration.spec.d.ts.map +0 -1
- package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts +0 -2
- package/dist/src/__tests__/integration/NavigationIntegration.spec.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("./Button.cjs"),H=require("./Select.cjs"),g=require("class-variance-authority"),d=require("../utils/cn.cjs"),c=require("./Icon.cjs"),J={class:"bg-white border-b border-gray-200"},X={key:0,class:"flex-1 min-w-80 max-w-md"},Y={class:"relative group"},Z=["model-value","placeholder"],_={key:1,class:"min-w-36"},K={class:"relative"},ee=["value"],te={key:3,class:"flex items-center gap-2"},ae={class:"flex items-center gap-3 ml-auto"},le={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},se={class:"flex items-center justify-between"},oe={class:"flex items-center gap-3"},re={class:"relative flex-1"},ne=["model-value","placeholder","onInput"],ce={class:"relative flex-1"},de=["model-value","placeholder","onInput"],ie=["onClick"],ue={class:"flex items-center gap-3 flex-wrap"},me=["onClick"],pe={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},fe={class:"flex items-center justify-between"},ye={class:"flex items-center gap-4"},ve={class:"text-sm text-gray-600"},ge={class:"font-medium"},he={__name:"DataTableFilters",props:{searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},selectedStatus:{type:String,default:""},statusOptions:{type:Array,default:()=>[]},showDateFilter:{type:Boolean,default:!1},dateFrom:{type:String,default:""},dateTo:{type:String,default:""},dateFilters:{type:Array,default:()=>[],validator:o=>o.every(i=>Object.prototype.hasOwnProperty.call(i,"key")&&Object.prototype.hasOwnProperty.call(i,"label")&&Object.prototype.hasOwnProperty.call(i,"from")&&Object.prototype.hasOwnProperty.call(i,"to"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},showTableInfo:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:o=>["default","minimal","bordered"].includes(o)},padding:{type:String,default:"normal",validator:o=>["compact","normal","comfortable"].includes(o)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","export","add","clear-filters"],setup(o,{emit:i}){const s=o,n=i,m=e.ref(!1),V=g.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=g.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),f=g.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),y=l=>!!(l.from||l.to),w=l=>{const t=[...s.dateFilters],a=t.findIndex(r=>r.key===l);a>=0&&(t[a]={...t[a],from:"",to:""},n("update:dateFilters",t))},N=l=>`text-xs px-2 py-1 rounded ${y(l)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,B=()=>{m.value=!m.value},h=(l,t,a)=>{const r=[...s.dateFilters],u=r.findIndex(G=>G.key===l);u>=0&&(r[u]={...r[u],[t]:a},n("update:dateFilters",r))},b=e.computed(()=>{const l=s.searchQuery,t=s.selectedStatus,a=s.dateFrom||s.dateTo,r=s.dateFilters.some(u=>u.from||u.to);return l||t||a||r}),k=e.computed(()=>{let l=0;return s.searchQuery&&l++,s.selectedStatus&&l++,(s.dateFrom||s.dateTo)&&l++,l+=s.dateFilters.filter(t=>t.from||t.to).length,l}),x=e.computed(()=>{const l=[];if(s.searchQuery&&s.searchQuery.trim()&&l.push({key:"search",label:"Search",value:`"${s.searchQuery}"`,icon:"magnifying-glass"}),s.selectedStatus){const t=s.statusOptions.find(a=>a.value===s.selectedStatus);l.push({key:"status",label:"Status",value:t?.label||s.selectedStatus,icon:"filter"})}if(s.dateFrom||s.dateTo){let t="";s.dateFrom&&s.dateTo?t=`${s.dateFrom} to ${s.dateTo}`:s.dateFrom?t=`From ${s.dateFrom}`:s.dateTo&&(t=`Until ${s.dateTo}`),t&&l.push({key:"date",label:"Date Range",value:t,icon:"calendar"})}return s.dateFilters.forEach(t=>{if(t.from||t.to){let a="";t.from&&t.to?a=`${t.from} to ${t.to}`:t.from?a=`From ${t.from}`:t.to&&(a=`Until ${t.to}`),a&&l.push({key:`date-${t.key}`,label:t.label,value:a,icon:"calendar"})}}),l}),E=e.computed(()=>d.cn(V({variant:s.variant,padding:s.padding}))),S=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),F=e.computed(()=>d.cn(p({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),z=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),$=e.computed(()=>d.cn(p({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),T=e.computed(()=>{const l=m.value||b.value;return d.cn(f({variant:l?"primary":"default",size:"lg"}),"gap-2")}),D=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),I=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),C=e.computed(()=>d.cn(p({size:"md"}),"pl-10 pr-3")),A=e.computed(()=>"text-sm font-semibold text-gray-700"),O=e.computed(()=>"text-gray-500 text-sm font-medium"),Q=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),L=e.computed(()=>d.cn(f({variant:"ghost",size:"md"}))),j=e.computed(()=>d.cn(f({variant:"default",size:"lg"}))),P=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),q=e.computed(()=>"text-sm font-semibold text-blue-800"),R=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),M=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),U=()=>{n("update:searchQuery",""),n("update:selectedStatus",""),n("update:dateFrom",""),n("update:dateTo","");const l=s.dateFilters.map(t=>({...t,from:"",to:""}));n("update:dateFilters",l),n("clear-filters")},W=l=>{switch(l){case"search":n("update:searchQuery","");break;case"status":n("update:selectedStatus","");break;case"date":n("update:dateFrom",""),n("update:dateTo","");break;default:if(l.startsWith("date-")){const t=l.replace("date-",""),a=s.dateFilters.map(r=>r.key===t?{...r,from:"",to:""}:r);n("update:dateFilters",a)}break}};return(l,t)=>(e.openBlock(),e.createElementBlock("div",J,[e.createElementVNode("div",{class:e.normalizeClass(E.value)},[o.showSearch?(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("div",Y,[e.createVNode(c.default,{icon:"magnifying-glass",class:e.normalizeClass(S.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":o.searchQuery,placeholder:o.searchPlaceholder,class:e.normalizeClass(F.value),onInput:t[0]||(t[0]=a=>l.$emit("update:searchQuery",a.target.value))},null,42,Z),o.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(z.value),onClick:t[1]||(t[1]=a=>l.$emit("update:searchQuery",""))},[e.createVNode(c.default,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),o.showFilters&&o.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",_,[e.createElementVNode("div",K,[e.createVNode(H.default,{"model-value":o.selectedStatus,class:e.normalizeClass($.value),onChange:t[2]||(t[2]=a=>l.$emit("update:selectedStatus",a.target.value))},{default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.statusOptions,a=>(e.openBlock(),e.createElementBlock("option",{key:a.value,value:a.value},e.toDisplayString(a.label),9,ee))),128))]),_:1},8,["model-value","class"]),e.createVNode(c.default,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),o.showFilters?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(T.value),onClick:B},[e.createVNode(c.default,{icon:"filter",class:"w-4 h-4"}),t[6]||(t[6]=e.createTextVNode(" Filters ",-1)),k.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(D.value)},e.toDisplayString(k.value),3)):e.createCommentVNode("",!0),e.createVNode(c.default,{icon:m.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),l.$slots.filters?(e.openBlock(),e.createElementBlock("div",te,[e.renderSlot(l.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",ae,[b.value?(e.openBlock(),e.createBlock(v.default,{key:0,class:e.normalizeClass(L.value),onClick:U},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),t[7]||(t[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),o.showExport?(e.openBlock(),e.createBlock(v.default,{key:1,class:e.normalizeClass(j.value),onClick:t[3]||(t[3]=a=>l.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"download",class:"w-4 h-4 mr-2"}),t[8]||(t[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"actions",{},()=>[o.showAdd?(e.openBlock(),e.createBlock(v.default,{key:0,variant:"success",size:"lg",onClick:t[4]||(t[4]=a=>l.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"plus",class:"w-4 h-4 mr-2"}),t[9]||(t[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),o.showFilters&&m.value&&o.dateFilters.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(I.value)},[e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dateFilters,a=>(e.openBlock(),e.createElementBlock("div",{key:a.key,class:"space-y-3"},[e.createElementVNode("div",se,[e.createElementVNode("label",{class:e.normalizeClass(A.value)},e.toDisplayString(a.label),3),e.createElementVNode("span",{class:e.normalizeClass(N(a))},e.toDisplayString(y(a)?"Active":"Inactive"),3)]),e.createElementVNode("div",oe,[e.createElementVNode("div",re,[e.createVNode(c.default,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":a.from,class:e.normalizeClass(C.value),placeholder:`From ${a.label}`,onInput:r=>h(a.key,"from",r.target.value)},null,42,ne)]),e.createElementVNode("span",{class:e.normalizeClass(O.value)},"to",2),e.createElementVNode("div",ce,[e.createVNode(c.default,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":a.to,class:e.normalizeClass(C.value),placeholder:`To ${a.label}`,onInput:r=>h(a.key,"to",r.target.value)},null,42,de)]),y(a)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(Q.value),title:"Clear this filter",onClick:r=>w(a.key)},[e.createVNode(c.default,{icon:"xmark",class:"w-4 h-4"})],10,ie)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),o.showFilters&&x.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(P.value)},[e.createElementVNode("div",ue,[e.createElementVNode("span",{class:e.normalizeClass(q.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.key,class:e.normalizeClass(R.value)},[e.createVNode(c.default,{icon:a.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(a.label)+": "+e.toDisplayString(a.value),1),e.createElementVNode("button",{class:e.normalizeClass(M.value),onClick:r=>W(a.key)},[e.createVNode(c.default,{icon:"xmark",class:"w-3 h-3"})],10,me)],2))),128))])],2)):e.createCommentVNode("",!0),o.showTableInfo?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",fe,[e.createElementVNode("div",ye,[e.createElementVNode("span",ve,[e.createElementVNode("span",ge,e.toDisplayString(o.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(o.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}};exports.default=he;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),v=require("../Button.vue_vue_type_script_setup_true_lang-DZxttvYH.cjs"),G=require("./Select.cjs"),g=require("class-variance-authority"),d=require("../utils/cn.cjs"),c=require("./Icon.cjs"),H={class:"bg-white border-b border-gray-200"},J={key:0,class:"flex-1 min-w-80 max-w-md"},X={class:"relative group"},Y=["model-value","placeholder"],Z={key:1,class:"min-w-36"},K={class:"relative"},ee=["value"],te={key:3,class:"flex items-center gap-2"},ae={class:"flex items-center gap-3 ml-auto"},le={class:"grid grid-cols-1 lg:grid-cols-3 gap-6"},se={class:"flex items-center justify-between"},oe={class:"flex items-center gap-3"},re={class:"relative flex-1"},ne=["model-value","placeholder","onInput"],ce={class:"relative flex-1"},de=["model-value","placeholder","onInput"],ie=["onClick"],ue={class:"flex items-center gap-3 flex-wrap"},me=["onClick"],pe={key:2,class:"px-6 py-3 bg-gray-50 border-t border-gray-200"},fe={class:"flex items-center justify-between"},ye={class:"flex items-center gap-4"},ve={class:"text-sm text-gray-600"},ge={class:"font-medium"},he={__name:"DataTableFilters",props:{searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},selectedStatus:{type:String,default:""},statusOptions:{type:Array,default:()=>[]},showDateFilter:{type:Boolean,default:!1},dateFrom:{type:String,default:""},dateTo:{type:String,default:""},dateFilters:{type:Array,default:()=>[],validator:o=>o.every(i=>Object.prototype.hasOwnProperty.call(i,"key")&&Object.prototype.hasOwnProperty.call(i,"label")&&Object.prototype.hasOwnProperty.call(i,"from")&&Object.prototype.hasOwnProperty.call(i,"to"))},showExport:{type:Boolean,default:!1},showAdd:{type:Boolean,default:!1},showTableInfo:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showFilters:{type:Boolean,default:!0},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},variant:{type:String,default:"default",validator:o=>["default","minimal","bordered"].includes(o)},padding:{type:String,default:"normal",validator:o=>["compact","normal","comfortable"].includes(o)}},emits:["update:searchQuery","update:selectedStatus","update:dateFrom","update:dateTo","update:dateFilters","export","add","clear-filters"],setup(o,{emit:i}){const s=o,n=i,m=e.ref(!1),V=g.cva("flex flex-wrap items-center gap-4",{variants:{variant:{default:"bg-white",minimal:"bg-transparent",bordered:"bg-gray-50"},padding:{compact:"px-4 py-3",normal:"px-6 py-4",comfortable:"px-8 py-6"}},defaultVariants:{variant:"default",padding:"normal"}}),p=g.cva("border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all text-sm",{variants:{size:{sm:"px-2 py-1.5",md:"px-3 py-2.5",lg:"px-4 py-3"}},defaultVariants:{size:"md"}}),f=g.cva("rounded-lg flex items-center font-medium transition-all",{variants:{variant:{default:"text-gray-700 hover:text-gray-900 border border-gray-200 hover:bg-gray-50 hover:border-gray-300 bg-white",primary:"text-white bg-blue-600 hover:bg-blue-700 border border-blue-600 shadow-sm",success:"text-white bg-green-600 hover:bg-green-700 border border-green-600 shadow-sm",ghost:"text-gray-600 hover:text-gray-800 hover:bg-gray-100"},size:{sm:"px-2 py-1.5 text-xs",md:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),y=l=>!!(l.from||l.to),w=l=>{const t=[...s.dateFilters],a=t.findIndex(r=>r.key===l);a>=0&&(t[a]={...t[a],from:"",to:""},n("update:dateFilters",t))},N=l=>`text-xs px-2 py-1 rounded ${y(l)?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`,B=()=>{m.value=!m.value},h=(l,t,a)=>{const r=[...s.dateFilters],u=r.findIndex(W=>W.key===l);u>=0&&(r[u]={...r[u],[t]:a},n("update:dateFilters",r))},b=e.computed(()=>{const l=s.searchQuery,t=s.selectedStatus,a=s.dateFrom||s.dateTo,r=s.dateFilters.some(u=>u.from||u.to);return l||t||a||r}),k=e.computed(()=>{let l=0;return s.searchQuery&&l++,s.selectedStatus&&l++,(s.dateFrom||s.dateTo)&&l++,l+=s.dateFilters.filter(t=>t.from||t.to).length,l}),x=e.computed(()=>{const l=[];if(s.searchQuery&&s.searchQuery.trim()&&l.push({key:"search",label:"Search",value:`"${s.searchQuery}"`,icon:"magnifying-glass"}),s.selectedStatus){const t=s.statusOptions.find(a=>a.value===s.selectedStatus);l.push({key:"status",label:"Status",value:t?.label||s.selectedStatus,icon:"filter"})}if(s.dateFrom||s.dateTo){let t="";s.dateFrom&&s.dateTo?t=`${s.dateFrom} to ${s.dateTo}`:s.dateFrom?t=`From ${s.dateFrom}`:s.dateTo&&(t=`Until ${s.dateTo}`),t&&l.push({key:"date",label:"Date Range",value:t,icon:"calendar"})}return s.dateFilters.forEach(t=>{if(t.from||t.to){let a="";t.from&&t.to?a=`${t.from} to ${t.to}`:t.from?a=`From ${t.from}`:t.to&&(a=`Until ${t.to}`),a&&l.push({key:`date-${t.key}`,label:t.label,value:a,icon:"calendar"})}}),l}),E=e.computed(()=>d.cn(V({variant:s.variant,padding:s.padding}))),S=e.computed(()=>"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 group-hover:text-gray-600 transition-colors"),F=e.computed(()=>d.cn(p({size:"md"}),"w-full pl-10 pr-10 hover:border-gray-300")),z=e.computed(()=>"absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"),$=e.computed(()=>d.cn(p({size:"md"}),"w-full pr-8 appearance-none hover:border-gray-300")),T=e.computed(()=>{const l=m.value||b.value;return d.cn(f({variant:l?"primary":"default",size:"lg"}),"gap-2")}),D=e.computed(()=>"bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"),I=e.computed(()=>"px-6 py-4 border-t border-gray-100 bg-gray-50"),C=e.computed(()=>d.cn(p({size:"md"}),"pl-10 pr-3")),A=e.computed(()=>"text-sm font-semibold text-gray-700"),O=e.computed(()=>"text-gray-500 text-sm font-medium"),Q=e.computed(()=>"text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"),_=e.computed(()=>d.cn(f({variant:"ghost",size:"md"}))),L=e.computed(()=>d.cn(f({variant:"default",size:"lg"}))),j=e.computed(()=>"px-6 py-3 bg-blue-50 border-t border-blue-100"),P=e.computed(()=>"text-sm font-semibold text-blue-800"),q=e.computed(()=>"flex items-center gap-1.5 bg-white border border-blue-200 text-blue-800 px-3 py-1.5 rounded-full text-sm font-medium"),R=e.computed(()=>"text-blue-600 hover:text-blue-800 ml-1 hover:bg-blue-100 rounded-full p-0.5 transition-all"),M=()=>{n("update:searchQuery",""),n("update:selectedStatus",""),n("update:dateFrom",""),n("update:dateTo","");const l=s.dateFilters.map(t=>({...t,from:"",to:""}));n("update:dateFilters",l),n("clear-filters")},U=l=>{switch(l){case"search":n("update:searchQuery","");break;case"status":n("update:selectedStatus","");break;case"date":n("update:dateFrom",""),n("update:dateTo","");break;default:if(l.startsWith("date-")){const t=l.replace("date-",""),a=s.dateFilters.map(r=>r.key===t?{...r,from:"",to:""}:r);n("update:dateFilters",a)}break}};return(l,t)=>(e.openBlock(),e.createElementBlock("div",H,[e.createElementVNode("div",{class:e.normalizeClass(E.value)},[o.showSearch?(e.openBlock(),e.createElementBlock("div",J,[e.createElementVNode("div",X,[e.createVNode(c.default,{icon:"magnifying-glass",class:e.normalizeClass(S.value)},null,8,["class"]),e.createElementVNode("input",{"model-value":o.searchQuery,placeholder:o.searchPlaceholder,class:e.normalizeClass(F.value),onInput:t[0]||(t[0]=a=>l.$emit("update:searchQuery",a.target.value))},null,42,Y),o.searchQuery?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(z.value),onClick:t[1]||(t[1]=a=>l.$emit("update:searchQuery",""))},[e.createVNode(c.default,{icon:"xmark",class:"w-3 h-3"})],2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),o.showFilters&&o.statusOptions.length>0?(e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("div",K,[e.createVNode(G.default,{"model-value":o.selectedStatus,class:e.normalizeClass($.value),onChange:t[2]||(t[2]=a=>l.$emit("update:selectedStatus",a.target.value))},{default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("option",{value:""}," All Status ",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.statusOptions,a=>(e.openBlock(),e.createElementBlock("option",{key:a.value,value:a.value},e.toDisplayString(a.label),9,ee))),128))]),_:1},8,["model-value","class"]),e.createVNode(c.default,{icon:"chevron-down",class:"absolute right-2 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400 pointer-events-none"})])])):e.createCommentVNode("",!0),o.showFilters?(e.openBlock(),e.createElementBlock("button",{key:2,class:e.normalizeClass(T.value),onClick:B},[e.createVNode(c.default,{icon:"filter",class:"w-4 h-4"}),t[6]||(t[6]=e.createTextVNode(" Filters ",-1)),k.value>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(D.value)},e.toDisplayString(k.value),3)):e.createCommentVNode("",!0),e.createVNode(c.default,{icon:m.value?"chevron-up":"chevron-down",class:"w-4 h-4 ml-1"},null,8,["icon"])],2)):e.createCommentVNode("",!0),l.$slots.filters?(e.openBlock(),e.createElementBlock("div",te,[e.renderSlot(l.$slots,"filters")])):e.createCommentVNode("",!0),e.createElementVNode("div",ae,[b.value?(e.openBlock(),e.createBlock(v._sfc_main,{key:0,class:e.normalizeClass(_.value),onClick:M},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"rotate-left",class:"w-4 h-4 mr-2"}),t[7]||(t[7]=e.createTextVNode(" Clear All ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),o.showExport?(e.openBlock(),e.createBlock(v._sfc_main,{key:1,class:e.normalizeClass(L.value),onClick:t[3]||(t[3]=a=>l.$emit("export"))},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"download",class:"w-4 h-4 mr-2"}),t[8]||(t[8]=e.createTextVNode(" Export ",-1))]),_:1},8,["class"])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"actions",{},()=>[o.showAdd?(e.openBlock(),e.createBlock(v._sfc_main,{key:0,variant:"success",size:"lg",onClick:t[4]||(t[4]=a=>l.$emit("add"))},{default:e.withCtx(()=>[e.createVNode(c.default,{icon:"plus",class:"w-4 h-4 mr-2"}),t[9]||(t[9]=e.createTextVNode(" Add ",-1))]),_:1})):e.createCommentVNode("",!0)])])],2),o.showFilters&&m.value&&o.dateFilters.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(I.value)},[e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dateFilters,a=>(e.openBlock(),e.createElementBlock("div",{key:a.key,class:"space-y-3"},[e.createElementVNode("div",se,[e.createElementVNode("label",{class:e.normalizeClass(A.value)},e.toDisplayString(a.label),3),e.createElementVNode("span",{class:e.normalizeClass(N(a))},e.toDisplayString(y(a)?"Active":"Inactive"),3)]),e.createElementVNode("div",oe,[e.createElementVNode("div",re,[e.createVNode(c.default,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":a.from,class:e.normalizeClass(C.value),placeholder:`From ${a.label}`,onInput:r=>h(a.key,"from",r.target.value)},null,42,ne)]),e.createElementVNode("span",{class:e.normalizeClass(O.value)},"to",2),e.createElementVNode("div",ce,[e.createVNode(c.default,{icon:"calendar",class:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-gray-400"}),e.createElementVNode("input",{type:"date","model-value":a.to,class:e.normalizeClass(C.value),placeholder:`To ${a.label}`,onInput:r=>h(a.key,"to",r.target.value)},null,42,de)]),y(a)?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(Q.value),title:"Clear this filter",onClick:r=>w(a.key)},[e.createVNode(c.default,{icon:"xmark",class:"w-4 h-4"})],10,ie)):e.createCommentVNode("",!0)])]))),128))])],2)):e.createCommentVNode("",!0),o.showFilters&&x.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(j.value)},[e.createElementVNode("div",ue,[e.createElementVNode("span",{class:e.normalizeClass(P.value)},"Active filters:",2),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.key,class:e.normalizeClass(q.value)},[e.createVNode(c.default,{icon:a.icon,class:"w-3 h-3"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(a.label)+": "+e.toDisplayString(a.value),1),e.createElementVNode("button",{class:e.normalizeClass(R.value),onClick:r=>U(a.key)},[e.createVNode(c.default,{icon:"xmark",class:"w-3 h-3"})],10,me)],2))),128))])],2)):e.createCommentVNode("",!0),o.showTableInfo?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("div",fe,[e.createElementVNode("div",ye,[e.createElementVNode("span",ve,[e.createElementVNode("span",ge,e.toDisplayString(o.totalItems||0),1),e.createTextVNode(" "+e.toDisplayString(o.itemLabel||"items")+" found ",1)])])])])):e.createCommentVNode("",!0)]))}};exports.default=he;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as oe, computed as o, createElementBlock as u, openBlock as n, createElementVNode as r, createCommentVNode as p, normalizeClass as i, createVNode as c, withCtx as w, Fragment as S, renderList as $, toDisplayString as f, createTextVNode as x, renderSlot as z, createBlock as T } from "vue";
|
|
2
|
-
import I from "
|
|
2
|
+
import { _ as I } from "../Button.vue_vue_type_script_setup_true_lang-B3TkBTvG.js";
|
|
3
3
|
import ne from "./Select.js";
|
|
4
4
|
import { cva as B } from "class-variance-authority";
|
|
5
5
|
import { cn as y } from "../utils/cn.js";
|
|
@@ -223,12 +223,12 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
223
223
|
)
|
|
224
224
|
), W = o(
|
|
225
225
|
() => "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 p-1 hover:bg-gray-100 rounded-full transition-all"
|
|
226
|
-
),
|
|
226
|
+
), _ = o(
|
|
227
227
|
() => y(
|
|
228
228
|
k({ size: "md" }),
|
|
229
229
|
"w-full pr-8 appearance-none hover:border-gray-300"
|
|
230
230
|
)
|
|
231
|
-
),
|
|
231
|
+
), q = o(() => {
|
|
232
232
|
const a = b.value || D.value;
|
|
233
233
|
return y(
|
|
234
234
|
F({
|
|
@@ -237,21 +237,21 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
237
237
|
}),
|
|
238
238
|
"gap-2"
|
|
239
239
|
);
|
|
240
|
-
}),
|
|
240
|
+
}), G = o(
|
|
241
241
|
() => "bg-white text-blue-600 text-xs px-1.5 py-0.5 rounded-full min-w-[20px] text-center font-semibold"
|
|
242
|
-
),
|
|
242
|
+
), H = o(
|
|
243
243
|
() => "px-6 py-4 border-t border-gray-100 bg-gray-50"
|
|
244
244
|
), Q = o(
|
|
245
245
|
() => y(k({ size: "md" }), "pl-10 pr-3")
|
|
246
|
-
),
|
|
246
|
+
), J = o(
|
|
247
247
|
() => "text-sm font-semibold text-gray-700"
|
|
248
|
-
),
|
|
248
|
+
), M = o(
|
|
249
249
|
() => "text-gray-500 text-sm font-medium"
|
|
250
|
-
),
|
|
250
|
+
), X = o(
|
|
251
251
|
() => "text-gray-400 hover:text-gray-600 p-1.5 hover:bg-gray-200 rounded-full transition-all"
|
|
252
|
-
),
|
|
252
|
+
), Y = o(
|
|
253
253
|
() => y(F({ variant: "ghost", size: "md" }))
|
|
254
|
-
),
|
|
254
|
+
), Z = o(
|
|
255
255
|
() => y(F({ variant: "default", size: "lg" }))
|
|
256
256
|
), K = o(
|
|
257
257
|
() => "px-6 py-3 bg-blue-50 border-t border-blue-100"
|
|
@@ -322,7 +322,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
322
322
|
r("div", pe, [
|
|
323
323
|
c(ne, {
|
|
324
324
|
"model-value": l.selectedStatus,
|
|
325
|
-
class: i(
|
|
325
|
+
class: i(_.value),
|
|
326
326
|
onChange: e[2] || (e[2] = (t) => a.$emit("update:selectedStatus", t.target.value))
|
|
327
327
|
}, {
|
|
328
328
|
default: w(() => [
|
|
@@ -342,7 +342,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
342
342
|
])) : p("", !0),
|
|
343
343
|
l.showFilters ? (n(), u("button", {
|
|
344
344
|
key: 2,
|
|
345
|
-
class: i(
|
|
345
|
+
class: i(q.value),
|
|
346
346
|
onClick: P
|
|
347
347
|
}, [
|
|
348
348
|
c(v, {
|
|
@@ -352,7 +352,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
352
352
|
e[6] || (e[6] = x(" Filters ", -1)),
|
|
353
353
|
A.value > 0 ? (n(), u("span", {
|
|
354
354
|
key: 0,
|
|
355
|
-
class: i(
|
|
355
|
+
class: i(G.value)
|
|
356
356
|
}, f(A.value), 3)) : p("", !0),
|
|
357
357
|
c(v, {
|
|
358
358
|
icon: b.value ? "chevron-up" : "chevron-down",
|
|
@@ -365,7 +365,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
365
365
|
r("div", ye, [
|
|
366
366
|
D.value ? (n(), T(I, {
|
|
367
367
|
key: 0,
|
|
368
|
-
class: i(
|
|
368
|
+
class: i(Y.value),
|
|
369
369
|
onClick: se
|
|
370
370
|
}, {
|
|
371
371
|
default: w(() => [
|
|
@@ -379,7 +379,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
379
379
|
}, 8, ["class"])) : p("", !0),
|
|
380
380
|
l.showExport ? (n(), T(I, {
|
|
381
381
|
key: 1,
|
|
382
|
-
class: i(
|
|
382
|
+
class: i(Z.value),
|
|
383
383
|
onClick: e[3] || (e[3] = (t) => a.$emit("export"))
|
|
384
384
|
}, {
|
|
385
385
|
default: w(() => [
|
|
@@ -412,7 +412,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
412
412
|
], 2),
|
|
413
413
|
l.showFilters && b.value && l.dateFilters.length > 0 ? (n(), u("div", {
|
|
414
414
|
key: 0,
|
|
415
|
-
class: i(
|
|
415
|
+
class: i(H.value)
|
|
416
416
|
}, [
|
|
417
417
|
r("div", ge, [
|
|
418
418
|
(n(!0), u(S, null, $(l.dateFilters, (t) => (n(), u("div", {
|
|
@@ -421,7 +421,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
421
421
|
}, [
|
|
422
422
|
r("div", he, [
|
|
423
423
|
r("label", {
|
|
424
|
-
class: i(
|
|
424
|
+
class: i(J.value)
|
|
425
425
|
}, f(t.label), 3),
|
|
426
426
|
r("span", {
|
|
427
427
|
class: i(L(t))
|
|
@@ -442,7 +442,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
442
442
|
}, null, 42, we)
|
|
443
443
|
]),
|
|
444
444
|
r("span", {
|
|
445
|
-
class: i(
|
|
445
|
+
class: i(M.value)
|
|
446
446
|
}, "to", 2),
|
|
447
447
|
r("div", ke, [
|
|
448
448
|
c(v, {
|
|
@@ -459,7 +459,7 @@ const ie = { class: "bg-white border-b border-gray-200" }, de = {
|
|
|
459
459
|
]),
|
|
460
460
|
C(t) ? (n(), u("button", {
|
|
461
461
|
key: 0,
|
|
462
|
-
class: i(
|
|
462
|
+
class: i(X.value),
|
|
463
463
|
title: "Clear this filter",
|
|
464
464
|
onClick: (d) => E(t.key)
|
|
465
465
|
}, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("./Button.cjs"),V=require("./Icon.cjs"),_=require("./FilterDrawer.cjs"),f=require("class-variance-authority"),c=require("../utils/cn.cjs"),ee=require("../_plugin-vue_export-helper-BHFhmbuH.cjs"),te={class:"flex flex-col rounded-2xl mb-2 px-2"},oe={class:"flex items-center gap-3"},le={key:0,class:"flex items-center gap-3"},ne={class:"text-sm ui-text"},re={class:"flex items-center gap-2"},ae={class:"flex items-center gap-3"},se=["title","onClick"],ie={key:1,class:"relative"},ue={class:"p-3"},de={class:"space-y-1"},ce={class:"flex items-center gap-2 cursor-pointer w-full"},me=["checked","onChange"],fe=["disabled"],pe={key:3,class:"flex items-center gap-2"},ve={key:4,class:"relative"},ge=["value","placeholder"],be={key:0,class:"inline-flex items-center justify-center min-w-5 h-5 rounded-full text-xs ui-primary-bg text-white px-1"},ye={key:7,class:"flex items-center gap-2"},ke={key:1,class:"mt-2 px-3 py-2 border ui-border-strong rounded-lg flex flex-wrap items-center gap-2 ui-surface"},he=["onClick"],Be=[{key:"delete",label:"Delete",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}},variant:"danger"},{key:"edit",label:"Edit",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"})])}},variant:"primary"}],Ce={name:"DataTableToolBar"},xe=Object.assign(Ce,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},showTableInfo:{type:Boolean,default:!1},showItemCount:{type:Boolean,default:!1},bulkActions:{type:Array,default:()=>Be},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},addButton:{type:Object,default:()=>({})},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"compact",validator:o=>["compact","normal","comfortable"].includes(o)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:o=>["default","minimal","bordered"].includes(o)},padding:{type:String,default:"normal",validator:o=>["compact","normal","comfortable"].includes(o)},themeScope:{type:String,default:"default",validator:o=>["default","module"].includes(o)},activeFilters:{type:Array,default:()=>[]},enableFilters:{type:Boolean,default:!1},filterFields:{type:Array,default:()=>[]},filterRules:{type:Object,default:()=>({logic:"all",rules:[]})},defaultFilterRules:{type:Object,default:()=>({logic:"all",rules:[]})}},emits:["bulk-action","update:density","toggle-column","refresh","update:search-query","add","add-button-click","update:filterRules"],setup(o,{emit:E}){const r=o,s=E,i=e.ref(!1),p=e.ref(!1),g=e.ref(!1),u=e.ref(null),v=e.ref(null),b=e.ref({}),y=e.computed(()=>r.selectedItems.length),k=e.computed(()=>Object.keys(r.addButton||{}).length>0),N=e.computed(()=>k.value?r.addButton.permission===void 0?!0:typeof r.addButton.permission=="function"?r.addButton.permission():!!r.addButton.permission:!1),h=e.computed(()=>!k.value||!N.value?!1:typeof r.addButton.visible=="function"?r.addButton.visible():r.addButton.visible===void 0?!0:!!r.addButton.visible),B=e.computed(()=>h.value?typeof r.addButton.disabled=="function"?r.addButton.disabled():!!r.addButton.disabled:!0),S=e.computed(()=>r.addButton.tooltip||r.addButton.label||"Add new item"),A=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],R=f.cva("flex items-center justify-between border ui-border-strong rounded-2xl",{variants:{variant:{default:"ui-border-strong",minimal:"bg-transparent ui-border-strong",bordered:" ui-border-strong"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),F=f.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors ",{variants:{variant:{danger:"ui-danger ui-danger-bg hover:bg-(--ui-danger-soft) border border-(--ui-danger-soft)",primary:"ui-primary ui-primary-soft hover:bg-(--ui-primary-soft) border border-(--ui-primary-soft)",secondary:"ui-text ui-bg hover:bg-(--ui-bg) border ui-border-strong"}},defaultVariants:{variant:"secondary"}}),$=f.cva("p-2 border ui-border-strong transition-colors ",{variants:{active:{true:"ui-primary-soft ui-primary border-(--ui-primary-soft)",false:"ui-surface ui-text hover:bg-(--ui-surface)"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),z=f.cva("px-3 py-2 text-sm border ui-border-strong rounded-md flex items-center gap-2 transition-colors ",{variants:{state:{normal:"ui-text hover:text-(--ui-text) hover:bg-(--ui-surface)",refreshing:"ui-text opacity-75 cursor-not-allowed"}},defaultVariants:{state:"normal"}}),D=e.computed(()=>c.cn(R({variant:r.variant,padding:r.padding}),r.themeScope==="module"&&"kv-module-themed-toolbar")),T=e.computed(()=>"text-md ui-text"),L=e.computed(()=>"flex items-center"),I=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm ui-text hover:text-(--ui-text) border ui-border-strong rounded-md hover:brightness-105 transition-colors focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-1"),M=e.computed(()=>"ui-bg rounded-lg shadow-lg z-[9999] max-h-64 overflow-y-auto"),j=e.computed(()=>"text-xs font-medium ui-text uppercase tracking-wider mb-2 border-b ui-border-strong pb-2"),q=e.computed(()=>"py-1 hover:bg-(--ui-surface) rounded transition-colors"),O=e.computed(()=>"w-4 h-4 rounded ui-border-strong ui-primary focus:ring-(--ui-primary) focus:ring-2 focus:ring-offset-1"),H=e.computed(()=>"text-sm ui-text flex-1 select-none"),P=e.computed(()=>"w-72 pl-9 pr-3 py-2 text-sm border ui-border-strong rounded-md ui-surface ui-text placeholder:text-(--ui-text-muted) focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent transition-all"),d=()=>{if(!u.value)return;const t=u.value.getBoundingClientRect(),l=224,a=Math.max(12,t.right-l);b.value={position:"fixed",top:`${t.bottom+6}px`,left:`${a}px`,width:`${l}px`,zIndex:9999}},C=t=>{u.value&&v.value&&!u.value.contains(t.target)&&!v.value.contains(t.target)&&(i.value=!1)},Q=()=>{i.value=!i.value,i.value&&d()},U=t=>c.cn(F({variant:t.variant||"secondary"})),Z=t=>{let l="middle";return t==="compact"?l="first":t==="comfortable"&&(l="last"),c.cn($({active:r.density===t,position:l}))},G=()=>c.cn(z({state:r.isRefreshing?"refreshing":"normal"})),J=()=>c.cn("w-4 h-4",{"animate-spin":r.isRefreshing}),K=t=>r.visibleColumns.includes(t),W=(t,l)=>{s("toggle-column",{column:t,visible:l})},X=()=>{B.value||(s("add"),s("add-button-click",r.addButton),typeof r.addButton.onClick=="function"&&r.addButton.onClick())},x=e.computed(()=>(r.filterRules?.rules||[]).map(t=>({id:t.id,label:t.label,value:typeof t.value=="object"?`${t.value.from||""}${t.value.from||t.value.to?" to ":""}${t.value.to||""}`:String(t.value??"")}))),Y=t=>{const l=Array.isArray(r.filterRules?.rules)?r.filterRules.rules:[];s("update:filterRules",{logic:r.filterRules?.logic||"all",rules:l.filter(a=>a.id!==t)})};return e.watch(()=>r.defaultFilterRules,t=>{if(g.value||!r.enableFilters)return;const l=Array.isArray(t?.rules)?t.rules:[];l.length!==0&&(s("update:filterRules",{logic:t?.logic||"all",rules:l}),g.value=!0)},{immediate:!0,deep:!0}),e.onMounted(()=>{document.addEventListener("click",C),window.addEventListener("scroll",d,!0),window.addEventListener("resize",d)}),e.onUnmounted(()=>{document.removeEventListener("click",C),window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}),(t,l)=>{const a=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{class:e.normalizeClass(D.value)},[e.createElementVNode("div",oe,[y.value>0?(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("span",ne,e.toDisplayString(y.value)+" selected ",1),e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.bulkActions,n=>(e.openBlock(),e.createBlock(w.default,{key:n.key,class:e.normalizeClass(U(n)),onClick:m=>t.$emit("bulk-action",{action:n.key,items:o.selectedItems})},{default:e.withCtx(()=>[n.icon?(e.openBlock(),e.createBlock(a,{key:0,icon:n.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(n.label),1)]),_:2},1032,["class","onClick"]))),128))])])):o.showItemCount&&o.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(T.value)},e.toDisplayString(o.totalItems)+" "+e.toDisplayString(o.itemLabel),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ae,[o.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(L.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(A,n=>e.createElementVNode("button",{key:n.value,class:e.normalizeClass(Z(n.value)),title:n.label,type:"button",onClick:m=>t.$emit("update:density",n.value)},[e.createVNode(a,{icon:n.icon,class:"w-4 h-4"},null,8,["icon"])],10,se)),64))],2)):e.createCommentVNode("",!0),o.showColumnToggle?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:u,class:e.normalizeClass(I.value),type:"button",onClick:e.withModifiers(Q,["stop"])},[e.createVNode(a,{icon:"columns",class:"w-4 h-4"}),l[7]||(l[7]=e.createElementVNode("span",null,"Columns",-1))],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:v,class:e.normalizeClass(M.value),style:e.normalizeStyle(b.value),onClick:l[0]||(l[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",ue,[e.createElementVNode("div",{class:e.normalizeClass(j.value)}," Show Columns ",2),e.createElementVNode("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.toggleableColumns,n=>(e.openBlock(),e.createElementBlock("div",{key:n.key,class:e.normalizeClass(q.value)},[e.createElementVNode("label",ce,[e.createElementVNode("input",{type:"checkbox",checked:K(n.key),class:e.normalizeClass(O.value),onChange:m=>W(n.key,m.target.checked)},null,42,me),e.createElementVNode("span",{class:e.normalizeClass(H.value)},e.toDisplayString(n.label),3)])],2))),128))])])],6),[[e.vShow,i.value]])]))])):e.createCommentVNode("",!0),o.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:o.isRefreshing,class:e.normalizeClass(G()),type:"button",onClick:l[1]||(l[1]=n=>t.$emit("refresh"))},[e.createVNode(a,{icon:"sync",class:e.normalizeClass(J())},null,8,["class"]),l[8]||(l[8]=e.createElementVNode("span",null,"Refresh",-1))],10,fe)):e.createCommentVNode("",!0),t.$slots.actions?(e.openBlock(),e.createElementBlock("div",pe,[e.renderSlot(t.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),o.showSearch?(e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(a,{icon:"search",class:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 ui-text-soft"}),e.createElementVNode("input",{value:o.searchQuery,type:"text",placeholder:o.searchPlaceholder,class:e.normalizeClass(P.value),onInput:l[2]||(l[2]=n=>t.$emit("update:search-query",n.target.value))},null,42,ge)])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createBlock(w.default,{key:5,variant:o.addButton.variant||"success",disabled:B.value,title:S.value,onClick:X},{default:e.withCtx(()=>[e.createVNode(V.default,{icon:o.addButton.icon||"plus"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(o.addButton.label||"Add"),1)]),_:1},8,["variant","disabled","title"])):e.createCommentVNode("",!0),o.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:6,class:"px-3 py-2 text-sm border ui-border-strong rounded-md hover:bg-(--ui-surface) flex items-center gap-2",onClick:l[3]||(l[3]=n=>p.value=!0)},[e.createVNode(a,{icon:"filter"}),l[9]||(l[9]=e.createTextVNode(" Filter ",-1)),(o.filterRules.rules||[]).length?(e.openBlock(),e.createElementBlock("span",be,e.toDisplayString((o.filterRules.rules||[]).length),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots["actions-after-add"]?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"actions-after-add",{},void 0,!0)])):e.createCommentVNode("",!0)])],2),o.enableFilters?(e.openBlock(),e.createBlock(_.default,{key:0,open:p.value,fields:o.filterFields,"model-value":o.filterRules,"onUpdate:modelValue":l[4]||(l[4]=n=>t.$emit("update:filterRules",n)),onClose:l[5]||(l[5]=n=>p.value=!1)},null,8,["open","fields","model-value"])):e.createCommentVNode("",!0),(o.enableFilters?x.value.length>0:o.activeFilters.length>0)?(e.openBlock(),e.createElementBlock("div",ke,[l[10]||(l[10]=e.createElementVNode("span",{class:"text-sm ui-text-soft"},"Filters:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.enableFilters?x.value:o.activeFilters,n=>(e.openBlock(),e.createElementBlock("span",{key:n.id||`${n.label}-${n.value}`,class:"inline-flex items-center gap-1 px-2 py-1 rounded-md text-sm border ui-border-strong ui-text"},[e.createTextVNode(e.toDisplayString(n.label)+": "+e.toDisplayString(n.value)+" ",1),o.enableFilters&&n.id?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 ui-text-soft hover:ui-primary",onClick:m=>Y(n.id)},[e.createVNode(V.default,{icon:"xmark",class:"w-3 h-3"})],8,he)):e.createCommentVNode("",!0)]))),128)),o.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 px-2 py-1 text-sm border border-(--ui-primary) rounded-md ui-primary hover:bg-(--ui-primary-soft)",onClick:l[6]||(l[6]=n=>t.$emit("update:filterRules",{logic:o.defaultFilterRules?.logic||"all",rules:o.defaultFilterRules?.rules||[]}))}," Clear filter ")):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"active-filter-actions",{},void 0,!0)])):e.createCommentVNode("",!0)])}}}),we=ee._export_sfc(xe,[["__scopeId","data-v-b6fc1eb4"]]);exports.default=we;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("../Button.vue_vue_type_script_setup_true_lang-DZxttvYH.cjs"),V=require("./Icon.cjs"),_=require("./FilterDrawer.cjs"),f=require("class-variance-authority"),c=require("../utils/cn.cjs"),ee=require("../_plugin-vue_export-helper-BHFhmbuH.cjs"),te={class:"flex flex-col rounded-2xl mb-2 px-2"},oe={class:"flex items-center gap-3"},le={key:0,class:"flex items-center gap-3"},ne={class:"text-sm ui-text"},re={class:"flex items-center gap-2"},ae={class:"flex items-center gap-3"},se=["title","onClick"],ie={key:1,class:"relative"},ue={class:"p-3"},de={class:"space-y-1"},ce={class:"flex items-center gap-2 cursor-pointer w-full"},me=["checked","onChange"],fe=["disabled"],pe={key:3,class:"flex items-center gap-2"},ve={key:4,class:"relative"},ge=["value","placeholder"],be={key:0,class:"inline-flex items-center justify-center min-w-5 h-5 rounded-full text-xs ui-primary-bg text-white px-1"},ye={key:7,class:"flex items-center gap-2"},ke={key:1,class:"mt-2 px-3 py-2 border ui-border-strong rounded-lg flex flex-wrap items-center gap-2 ui-surface"},he=["onClick"],Be=[{key:"delete",label:"Delete",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"})])}},variant:"danger"},{key:"edit",label:"Edit",icon:{render(){return e.h("svg",{fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},[e.h("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"})])}},variant:"primary"}],Ce={name:"DataTableToolBar"},xe=Object.assign(Ce,{props:{selectedItems:{type:Array,default:()=>[]},totalItems:{type:Number,default:0},itemLabel:{type:String,default:"items"},showTableInfo:{type:Boolean,default:!1},showItemCount:{type:Boolean,default:!1},bulkActions:{type:Array,default:()=>Be},showDensityToggle:{type:Boolean,default:!0},showColumnToggle:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},searchQuery:{type:String,default:""},searchPlaceholder:{type:String,default:"Search..."},addButton:{type:Object,default:()=>({})},isRefreshing:{type:Boolean,default:!1},density:{type:String,default:"compact",validator:o=>["compact","normal","comfortable"].includes(o)},toggleableColumns:{type:Array,default:()=>[]},visibleColumns:{type:Array,default:()=>[]},variant:{type:String,default:"default",validator:o=>["default","minimal","bordered"].includes(o)},padding:{type:String,default:"normal",validator:o=>["compact","normal","comfortable"].includes(o)},themeScope:{type:String,default:"default",validator:o=>["default","module"].includes(o)},activeFilters:{type:Array,default:()=>[]},enableFilters:{type:Boolean,default:!1},filterFields:{type:Array,default:()=>[]},filterRules:{type:Object,default:()=>({logic:"all",rules:[]})},defaultFilterRules:{type:Object,default:()=>({logic:"all",rules:[]})}},emits:["bulk-action","update:density","toggle-column","refresh","update:search-query","add","add-button-click","update:filterRules"],setup(o,{emit:E}){const r=o,s=E,i=e.ref(!1),p=e.ref(!1),g=e.ref(!1),u=e.ref(null),v=e.ref(null),b=e.ref({}),y=e.computed(()=>r.selectedItems.length),k=e.computed(()=>Object.keys(r.addButton||{}).length>0),N=e.computed(()=>k.value?r.addButton.permission===void 0?!0:typeof r.addButton.permission=="function"?r.addButton.permission():!!r.addButton.permission:!1),h=e.computed(()=>!k.value||!N.value?!1:typeof r.addButton.visible=="function"?r.addButton.visible():r.addButton.visible===void 0?!0:!!r.addButton.visible),B=e.computed(()=>h.value?typeof r.addButton.disabled=="function"?r.addButton.disabled():!!r.addButton.disabled:!0),S=e.computed(()=>r.addButton.tooltip||r.addButton.label||"Add new item"),A=[{value:"compact",label:"Compact",icon:["fas","minus"]},{value:"normal",label:"Normal",icon:["fas","bars"]},{value:"comfortable",label:"Comfortable",icon:["fas","bars-staggered"]}],R=f.cva("flex items-center justify-between border ui-border-strong rounded-2xl",{variants:{variant:{default:"ui-border-strong",minimal:"bg-transparent ui-border-strong",bordered:" ui-border-strong"},padding:{compact:"p-2",normal:"p-4",comfortable:"p-6"}},defaultVariants:{variant:"default",padding:"normal"}}),F=f.cva("px-3 py-1.5 text-sm font-medium rounded-md flex items-center gap-1 transition-colors ",{variants:{variant:{danger:"ui-danger ui-danger-bg hover:bg-(--ui-danger-soft) border border-(--ui-danger-soft)",primary:"ui-primary ui-primary-soft hover:bg-(--ui-primary-soft) border border-(--ui-primary-soft)",secondary:"ui-text ui-bg hover:bg-(--ui-bg) border ui-border-strong"}},defaultVariants:{variant:"secondary"}}),$=f.cva("p-2 border ui-border-strong transition-colors ",{variants:{active:{true:"ui-primary-soft ui-primary border-(--ui-primary-soft)",false:"ui-surface ui-text hover:bg-(--ui-surface)"},position:{first:"rounded-l-md border-r-0",middle:"border-x-0",last:"rounded-r-md border-l-0"}},defaultVariants:{active:!1,position:"middle"}}),z=f.cva("px-3 py-2 text-sm border ui-border-strong rounded-md flex items-center gap-2 transition-colors ",{variants:{state:{normal:"ui-text hover:text-(--ui-text) hover:bg-(--ui-surface)",refreshing:"ui-text opacity-75 cursor-not-allowed"}},defaultVariants:{state:"normal"}}),D=e.computed(()=>c.cn(R({variant:r.variant,padding:r.padding}),r.themeScope==="module"&&"kv-module-themed-toolbar")),T=e.computed(()=>"text-md ui-text"),L=e.computed(()=>"flex items-center"),I=e.computed(()=>"flex items-center gap-2 px-3 py-2 text-sm ui-text hover:text-(--ui-text) border ui-border-strong rounded-md hover:brightness-105 transition-colors focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:ring-offset-1"),M=e.computed(()=>"ui-bg rounded-lg shadow-lg z-[9999] max-h-64 overflow-y-auto"),j=e.computed(()=>"text-xs font-medium ui-text uppercase tracking-wider mb-2 border-b ui-border-strong pb-2"),q=e.computed(()=>"py-1 hover:bg-(--ui-surface) rounded transition-colors"),O=e.computed(()=>"w-4 h-4 rounded ui-border-strong ui-primary focus:ring-(--ui-primary) focus:ring-2 focus:ring-offset-1"),H=e.computed(()=>"text-sm ui-text flex-1 select-none"),P=e.computed(()=>"w-72 pl-9 pr-3 py-2 text-sm border ui-border-strong rounded-md ui-surface ui-text placeholder:text-(--ui-text-muted) focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-transparent transition-all"),d=()=>{if(!u.value)return;const t=u.value.getBoundingClientRect(),l=224,a=Math.max(12,t.right-l);b.value={position:"fixed",top:`${t.bottom+6}px`,left:`${a}px`,width:`${l}px`,zIndex:9999}},C=t=>{u.value&&v.value&&!u.value.contains(t.target)&&!v.value.contains(t.target)&&(i.value=!1)},Q=()=>{i.value=!i.value,i.value&&d()},U=t=>c.cn(F({variant:t.variant||"secondary"})),Z=t=>{let l="middle";return t==="compact"?l="first":t==="comfortable"&&(l="last"),c.cn($({active:r.density===t,position:l}))},G=()=>c.cn(z({state:r.isRefreshing?"refreshing":"normal"})),J=()=>c.cn("w-4 h-4",{"animate-spin":r.isRefreshing}),K=t=>r.visibleColumns.includes(t),W=(t,l)=>{s("toggle-column",{column:t,visible:l})},X=()=>{B.value||(s("add"),s("add-button-click",r.addButton),typeof r.addButton.onClick=="function"&&r.addButton.onClick())},x=e.computed(()=>(r.filterRules?.rules||[]).map(t=>({id:t.id,label:t.label,value:typeof t.value=="object"?`${t.value.from||""}${t.value.from||t.value.to?" to ":""}${t.value.to||""}`:String(t.value??"")}))),Y=t=>{const l=Array.isArray(r.filterRules?.rules)?r.filterRules.rules:[];s("update:filterRules",{logic:r.filterRules?.logic||"all",rules:l.filter(a=>a.id!==t)})};return e.watch(()=>r.defaultFilterRules,t=>{if(g.value||!r.enableFilters)return;const l=Array.isArray(t?.rules)?t.rules:[];l.length!==0&&(s("update:filterRules",{logic:t?.logic||"all",rules:l}),g.value=!0)},{immediate:!0,deep:!0}),e.onMounted(()=>{document.addEventListener("click",C),window.addEventListener("scroll",d,!0),window.addEventListener("resize",d)}),e.onUnmounted(()=>{document.removeEventListener("click",C),window.removeEventListener("scroll",d,!0),window.removeEventListener("resize",d)}),(t,l)=>{const a=e.resolveComponent("font-awesome-icon");return e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{class:e.normalizeClass(D.value)},[e.createElementVNode("div",oe,[y.value>0?(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("span",ne,e.toDisplayString(y.value)+" selected ",1),e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.bulkActions,n=>(e.openBlock(),e.createBlock(w._sfc_main,{key:n.key,class:e.normalizeClass(U(n)),onClick:m=>t.$emit("bulk-action",{action:n.key,items:o.selectedItems})},{default:e.withCtx(()=>[n.icon?(e.openBlock(),e.createBlock(a,{key:0,icon:n.icon,class:"w-4 h-4"},null,8,["icon"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(n.label),1)]),_:2},1032,["class","onClick"]))),128))])])):o.showItemCount&&o.totalItems>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(T.value)},e.toDisplayString(o.totalItems)+" "+e.toDisplayString(o.itemLabel),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ae,[o.showDensityToggle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(L.value)},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(A,n=>e.createElementVNode("button",{key:n.value,class:e.normalizeClass(Z(n.value)),title:n.label,type:"button",onClick:m=>t.$emit("update:density",n.value)},[e.createVNode(a,{icon:n.icon,class:"w-4 h-4"},null,8,["icon"])],10,se)),64))],2)):e.createCommentVNode("",!0),o.showColumnToggle?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("button",{ref_key:"columnToggleButton",ref:u,class:e.normalizeClass(I.value),type:"button",onClick:e.withModifiers(Q,["stop"])},[e.createVNode(a,{icon:"columns",class:"w-4 h-4"}),l[7]||(l[7]=e.createElementVNode("span",null,"Columns",-1))],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"columnMenu",ref:v,class:e.normalizeClass(M.value),style:e.normalizeStyle(b.value),onClick:l[0]||(l[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",ue,[e.createElementVNode("div",{class:e.normalizeClass(j.value)}," Show Columns ",2),e.createElementVNode("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.toggleableColumns,n=>(e.openBlock(),e.createElementBlock("div",{key:n.key,class:e.normalizeClass(q.value)},[e.createElementVNode("label",ce,[e.createElementVNode("input",{type:"checkbox",checked:K(n.key),class:e.normalizeClass(O.value),onChange:m=>W(n.key,m.target.checked)},null,42,me),e.createElementVNode("span",{class:e.normalizeClass(H.value)},e.toDisplayString(n.label),3)])],2))),128))])])],6),[[e.vShow,i.value]])]))])):e.createCommentVNode("",!0),o.showRefresh?(e.openBlock(),e.createElementBlock("button",{key:2,disabled:o.isRefreshing,class:e.normalizeClass(G()),type:"button",onClick:l[1]||(l[1]=n=>t.$emit("refresh"))},[e.createVNode(a,{icon:"sync",class:e.normalizeClass(J())},null,8,["class"]),l[8]||(l[8]=e.createElementVNode("span",null,"Refresh",-1))],10,fe)):e.createCommentVNode("",!0),t.$slots.actions?(e.openBlock(),e.createElementBlock("div",pe,[e.renderSlot(t.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0),o.showSearch?(e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(a,{icon:"search",class:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 ui-text-soft"}),e.createElementVNode("input",{value:o.searchQuery,type:"text",placeholder:o.searchPlaceholder,class:e.normalizeClass(P.value),onInput:l[2]||(l[2]=n=>t.$emit("update:search-query",n.target.value))},null,42,ge)])):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createBlock(w._sfc_main,{key:5,variant:o.addButton.variant||"success",disabled:B.value,title:S.value,onClick:X},{default:e.withCtx(()=>[e.createVNode(V.default,{icon:o.addButton.icon||"plus"},null,8,["icon"]),e.createElementVNode("span",null,e.toDisplayString(o.addButton.label||"Add"),1)]),_:1},8,["variant","disabled","title"])):e.createCommentVNode("",!0),o.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:6,class:"px-3 py-2 text-sm border ui-border-strong rounded-md hover:bg-(--ui-surface) flex items-center gap-2",onClick:l[3]||(l[3]=n=>p.value=!0)},[e.createVNode(a,{icon:"filter"}),l[9]||(l[9]=e.createTextVNode(" Filter ",-1)),(o.filterRules.rules||[]).length?(e.openBlock(),e.createElementBlock("span",be,e.toDisplayString((o.filterRules.rules||[]).length),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots["actions-after-add"]?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"actions-after-add",{},void 0,!0)])):e.createCommentVNode("",!0)])],2),o.enableFilters?(e.openBlock(),e.createBlock(_.default,{key:0,open:p.value,fields:o.filterFields,"model-value":o.filterRules,"onUpdate:modelValue":l[4]||(l[4]=n=>t.$emit("update:filterRules",n)),onClose:l[5]||(l[5]=n=>p.value=!1)},null,8,["open","fields","model-value"])):e.createCommentVNode("",!0),(o.enableFilters?x.value.length>0:o.activeFilters.length>0)?(e.openBlock(),e.createElementBlock("div",ke,[l[10]||(l[10]=e.createElementVNode("span",{class:"text-sm ui-text-soft"},"Filters:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.enableFilters?x.value:o.activeFilters,n=>(e.openBlock(),e.createElementBlock("span",{key:n.id||`${n.label}-${n.value}`,class:"inline-flex items-center gap-1 px-2 py-1 rounded-md text-sm border ui-border-strong ui-text"},[e.createTextVNode(e.toDisplayString(n.label)+": "+e.toDisplayString(n.value)+" ",1),o.enableFilters&&n.id?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 ui-text-soft hover:ui-primary",onClick:m=>Y(n.id)},[e.createVNode(V.default,{icon:"xmark",class:"w-3 h-3"})],8,he)):e.createCommentVNode("",!0)]))),128)),o.enableFilters?(e.openBlock(),e.createElementBlock("button",{key:0,class:"ml-1 px-2 py-1 text-sm border border-(--ui-primary) rounded-md ui-primary hover:bg-(--ui-primary-soft)",onClick:l[6]||(l[6]=n=>t.$emit("update:filterRules",{logic:o.defaultFilterRules?.logic||"all",rules:o.defaultFilterRules?.rules||[]}))}," Clear filter ")):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"active-filter-actions",{},void 0,!0)])):e.createCommentVNode("",!0)])}}}),we=ee._export_sfc(xe,[["__scopeId","data-v-b6fc1eb4"]]);exports.default=we;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as v, computed as i, watch as be, onMounted as ge, onUnmounted as ye, resolveComponent as pe, createElementBlock as r, openBlock as s, createElementVNode as a, createBlock as h, createCommentVNode as u, normalizeClass as d, toDisplayString as f, Fragment as C, renderList as B, withCtx as O, createTextVNode as F, createVNode as m, withModifiers as z, Teleport as he, withDirectives as ke, normalizeStyle as xe, vShow as Ce, renderSlot as S, h as w } from "vue";
|
|
2
|
-
import N from "
|
|
2
|
+
import { _ as N } from "../Button.vue_vue_type_script_setup_true_lang-B3TkBTvG.js";
|
|
3
3
|
import H from "./Icon.js";
|
|
4
4
|
import Be from "./FilterDrawer.js";
|
|
5
5
|
import { cva as $ } from "class-variance-authority";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),K={class:"relative w-full bg-(--ui-surface) rounded-md"},Q={class:"relative"},X=["id","value","disabled","placeholder","required","aria-describedby"],Z={class:"flex items-center justify-between mb-3"},ee={class:"text-sm font-semibold ui-text"},te={class:"grid grid-cols-7 gap-1 mb-1"},ne={class:"grid grid-cols-7 gap-1"},oe=["disabled","onClick"],re={key:0,class:"mt-3 pt-2 border-t ui-border"},ae={key:0,class:"border-l pl-3 ui-border"},le={class:"max-h-[260px] overflow-y-auto pr-1 space-y-1"},ie=["onClick"],se={__name:"DatePicker",props:{id:String,modelValue:[String,Date],disabled:Boolean,required:Boolean,min:[String,Date],max:[String,Date],placeholder:{type:String,default:"Select date"},format:{type:String,default:"DD/MM/YYYY"},clearable:{type:Boolean,default:!0},showToday:{type:Boolean,default:!0},ariaDescribedby:String,customValidation:{type:Function,default:null},disabledDates:{type:[Array,Function],default:null},enableTime:{type:Boolean,default:!1},minuteInterval:{type:Number,default:1}},emits:["update:modelValue","validation-error"],setup(s,{emit:L}){const a=s,v=L,m=e.ref(!1),x=e.ref(null),D=e.ref(null),w=e.ref({}),f=new Date,l=e.ref(f.getMonth()),i=e.ref(f.getFullYear()),u=e.ref(null),b=e.ref(!1),y=e.ref("00:00"),H=["Su","Mo","Tu","We","Th","Fr","Sa"],R=e.computed(()=>new Date(i.value,l.value).toLocaleString("default",{month:"long"})),E=e.computed(()=>new Date(i.value,l.value+1,0).getDate()),j=e.computed(()=>new Date(i.value,l.value,1).getDay()),B=e.computed(()=>{const o=new Date(i.value,l.value,0).getDate(),t=j.value;return Array.from({length:t},(n,r)=>o-t+r+1)}),A=e.computed(()=>{const o=B.value.length+E.value,t=o%7===0?0:7-o%7;return Array.from({length:t},(n,r)=>r+1)}),S=e.computed(()=>u.value?a.enableTime?q(u.value):V(u.value):""),P=e.computed(()=>{const o=Math.min(60,Math.max(1,Number(a.minuteInterval)||1)),t=[];for(let n=0;n<24;n++)for(let r=0;r<60;r+=o){const d=String(n).padStart(2,"0"),c=String(r).padStart(2,"0");t.push(`${d}:${c}`)}return t});function V(o){if(!o)return"";const t=new Date(o),n=String(t.getMonth()+1).padStart(2,"0"),r=String(t.getDate()).padStart(2,"0"),d=t.getFullYear();return a.format.replace("MM",n).replace("DD",r).replace("YYYY",d)}function q(o){const t=V(o),n=String(o.getHours()).padStart(2,"0"),r=String(o.getMinutes()).padStart(2,"0");return`${t} ${n}:${r}`}function h(o){if(!o)return null;if(o instanceof Date)return o;if(typeof o=="string"){if(o.includes("T")){const[r,d]=o.split("T"),c=h(r);if(!c)return null;const[g="00",p="00"]=(d||"").slice(0,5).split(":");return c.setHours(parseInt(g,10)||0,parseInt(p,10)||0,0,0),c}const n=o.split("-");if(n.length===3){const r=parseInt(n[0],10),d=parseInt(n[1],10)-1,c=parseInt(n[2],10);return new Date(r,d,c)}}const t=new Date(o);return isNaN(t.getTime())?null:t}function O(o){return f.getDate()===o&&f.getMonth()===l.value&&f.getFullYear()===i.value}function M(o){if(!u.value)return!1;const t=new Date(u.value);return t.getDate()===o&&t.getMonth()===l.value&&t.getFullYear()===i.value}function k(o){const t=new Date(i.value,l.value,o);if(a.min){const n=h(a.min);if(n&&t<n)return!0}if(a.max){const n=h(a.max);if(n&&t>n)return!0}if(a.disabledDates){if(typeof a.disabledDates=="function")return a.disabledDates(t);if(Array.isArray(a.disabledDates))return a.disabledDates.some(n=>{const r=h(n);return r&&r.getTime()===t.getTime()})}return!!(a.customValidation&&a.customValidation(t))}function N(o){if(!o)return b.value=!1,v("validation-error",null),!0;if(a.customValidation){const t=a.customValidation(o);if(t)return b.value=!0,v("validation-error",t),!1}return b.value=!1,v("validation-error",null),!0}async function C(){await e.nextTick();const o=D.value||(a.id?document.getElementById(a.id):null);if(!o||!x.value)return;const t=o.getBoundingClientRect(),n=320,r=window.innerHeight-t.bottom,d=t.top,c=8;let g,p;r>=n||r>d?g=t.bottom+c:g=t.top-n-c,p=t.left;const I=256;p+I>window.innerWidth&&(p=window.innerWidth-I-16),p<16&&(p=16),w.value={top:`${g}px`,left:`${p}px`}}async function W(){a.disabled||(m.value=!m.value,m.value&&await C())}function T(){m.value=!1}function _(){l.value===0?(l.value=11,i.value--):l.value--}function U(){l.value===11?(l.value=0,i.value++):l.value++}function $(o){if(k(o))return;const t=new Date(i.value,l.value,o);N(t)&&(u.value=t,Y(t),setTimeout(()=>{a.enableTime||(m.value=!1)},150))}function Y(o){const t=o.getFullYear(),n=String(o.getMonth()+1).padStart(2,"0"),r=String(o.getDate()).padStart(2,"0");if(!a.enableTime){v("update:modelValue",`${t}-${n}-${r}`);return}const[d="00",c="00"]=y.value.split(":"),g=`${t}-${n}-${r}T${d}:${c}`;v("update:modelValue",g)}function G(){l.value=f.getMonth(),i.value=f.getFullYear(),$(f.getDate())}function J(){u.value=null,y.value="00:00",b.value=!1,v("update:modelValue",""),v("validation-error",null)}e.watch(()=>a.modelValue,o=>{if(o){const t=h(o);if(t){u.value=t;const n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");y.value=`${n}:${r}`,l.value=t.getMonth(),i.value=t.getFullYear(),N(t)}}else u.value=null,b.value=!1},{immediate:!0}),e.watch(y,o=>{if(!a.enableTime||!u.value)return;const[t="00",n="00"]=(o||"00:00").split(":");u.value.setHours(parseInt(t,10)||0,parseInt(n,10)||0,0,0),Y(u.value)});function F(){m.value&&C()}function z(o){o.key==="Escape"&&m.value&&T()}return e.onMounted(()=>{document.addEventListener("keydown",z),window.addEventListener("resize",F)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",z),window.removeEventListener("resize",F)}),(o,t)=>(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",Q,[e.createElementVNode("input",{id:s.id,ref_key:"inputRef",ref:D,type:"text",value:S.value,readonly:"",disabled:s.disabled,placeholder:s.placeholder,required:s.required,"aria-describedby":s.ariaDescribedby,class:e.normalizeClass(["w-full px-3 py-2 pr-10 border rounded-md ui-surface ui-text placeholder-slate-400 text-sm ","focus:outline-none focus:ring-2 focus:ring-(--ui-primary) focus:border-(--ui-primary) cursor-pointer transition-colors","disabled:bg-(--ui-bg) disabled:text-(--ui-text) disabled:cursor-not-allowed",b.value?"border-(--ui-danger) focus:ring-(--ui-danger) focus:border-(--ui-danger)":"ui-border"]),onClick:W},null,10,X),t[2]||(t[2]=e.createElementVNode("div",{class:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none"},[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})])],-1)),s.clearable&&S.value&&!s.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-9 top-1/2 -translate-y-1/2 p-1 hover:bg-(--ui-bg) rounded transition-colors","aria-label":"Clear date",onClick:e.withModifiers(J,["stop"])},[...t[1]||(t[1]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])):e.createCommentVNode("",!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition ease-out duration-100","enter-from-class":"transform opacity-0 scale-95","enter-to-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-from-class":"transform opacity-100 scale-100","leave-to-class":"transform opacity-0 scale-95"},{default:e.withCtx(()=>[m.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"calendarRef",ref:x,style:e.normalizeStyle(w.value),class:e.normalizeClass(["fixed z-10000 rounded-lg shadow-xl p-3 ui-surface ui-border-strong",s.enableTime?"w-[420px]":"w-64"]),onClick:t[0]||(t[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(s.enableTime?"grid grid-cols-[1fr_124px] gap-3":"block")},[e.createElementVNode("div",null,[e.createElementVNode("div",Z,[e.createElementVNode("button",{type:"button",class:"p-1.5 rounded hover:bg-(--ui-bg) transition-colors","aria-label":"Previous Month",onClick:_},[...t[3]||(t[3]=[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 18l-6-6 6-6"})],-1)])]),e.createElementVNode("div",ee,e.toDisplayString(R.value)+" "+e.toDisplayString(i.value),1),e.createElementVNode("button",{type:"button",class:"p-1.5 rounded hover:bg-(--ui-bg) transition-colors","aria-label":"Next Month",onClick:U},[...t[4]||(t[4]=[e.createElementVNode("svg",{class:"w-4 h-4 ui-text",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 18l6-6-6-6"})],-1)])])]),e.createElementVNode("div",te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(H,n=>e.createElementVNode("div",{key:n,class:"text-center text-xs font-medium ui-text py-1"},e.toDisplayString(n),1)),64))]),e.createElementVNode("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,(n,r)=>(e.openBlock(),e.createElementBlock("div",{key:"prev-"+r,class:"text-center text-xs ui-text py-1.5"},e.toDisplayString(n),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",disabled:k(n),class:e.normalizeClass(["w-8 h-8 rounded text-xs font-medium transition-colors",O(n)&&!M(n)?"ui-primary-soft ui-primary ring-1 ring-(--ui-primary)":"",M(n)?"ui-primary-bg ui-text hover:bg-(--ui-primary)":"ui-text hover:bg-(--ui-bg)",k(n)?"ui-text cursor-not-allowed hover:bg-transparent line-through":"cursor-pointer"]),onClick:r=>$(n)},e.toDisplayString(n),11,oe))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,(n,r)=>(e.openBlock(),e.createElementBlock("div",{key:"next-"+r,class:"text-center text-xs ui-text py-1.5"},e.toDisplayString(n),1))),128))]),s.showToday?(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("button",{type:"button",class:"w-full px-3 py-1.5 text-xs font-medium ui-primary hover:bg-(--ui-primary-soft) rounded transition-colors",onClick:G}," Today ")])):e.createCommentVNode("",!0)]),s.enableTime?(e.openBlock(),e.createElementBlock("div",ae,[t[5]||(t[5]=e.createElementVNode("div",{class:"text-xs font-semibold ui-text mb-2"},"Time",-1)),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,n=>(e.openBlock(),e.createElementBlock("button",{key:n,type:"button",class:e.normalizeClass(["w-full px-2 py-1.5 text-left text-sm rounded transition-colors",n===y.value?"ui-primary-bg ui-text":"ui-text hover:bg-(--ui-bg)"]),onClick:r=>y.value=n},e.toDisplayString(n),11,ie))),128))])])):e.createCommentVNode("",!0)],2)],6)):e.createCommentVNode("",!0)]),_:1}),m.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 z-9999",onClick:T})):e.createCommentVNode("",!0)]))]))}};exports.default=se;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../DatePicker.vue_vue_type_script_setup_true_lang-CIKiZaO1.cjs");exports.default=e._sfc_main;
|