dendelion-ui 0.0.21 → 0.0.22
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/dist/dendelion-ui.cjs.js +2 -2
- package/dist/dendelion-ui.es.js +419 -342
- package/dist/dendelion-ui.umd.js +2 -2
- package/dist/types/components/tabs/Tabs.vue.d.ts +25 -0
- package/dist/types/components/tabs/index.d.ts +2 -0
- package/dist/types/components/tabs/interface.d.ts +16 -0
- package/dist/types/components.d.ts +1 -0
- package/dist/types/types/size.d.ts +3 -0
- package/package.json +3 -3
- package/src/components/table/Table.vue +7 -2
- package/src/components/table/TableColumn.vue +1 -5
- package/src/components/table/interface.ts +2 -0
- package/src/components/tabs/Tabs.vue +67 -0
- package/src/components/tabs/index.ts +2 -0
- package/src/components/tabs/interface.ts +18 -0
- package/src/components.ts +1 -0
- package/src/types/size.ts +19 -0
package/dist/dendelion-ui.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.DendelionUI={},d.Vue))})(this,function(d,e){"use strict";var
|
|
1
|
+
(function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.DendelionUI={},d.Vue))})(this,function(d,e){"use strict";var R=(t=>(t[t.Primary=0]="Primary",t[t.PrimaryContent=1]="PrimaryContent",t[t.Secondary=2]="Secondary",t[t.SecondaryContent=3]="SecondaryContent",t[t.Accent=4]="Accent",t[t.AccentContent=5]="AccentContent",t[t.Neutral=6]="Neutral",t[t.NeutralContent=7]="NeutralContent",t[t.Base100=8]="Base100",t[t.Base200=9]="Base200",t[t.Base300=10]="Base300",t[t.BaseContent=11]="BaseContent",t[t.Info=12]="Info",t[t.InfoContent=13]="InfoContent",t[t.Success=14]="Success",t[t.SuccessContent=15]="SuccessContent",t[t.Warning=16]="Warning",t[t.WarningContent=17]="WarningContent",t[t.Error=18]="Error",t[t.ErrorContent=19]="ErrorContent",t))(R||{});class q{static toClassName(n){switch(n){case 0:return"bg-primary";case 1:return"bg-primary-content";case 2:return"bg-secondary";case 3:return"bg-secondary-content";case 4:return"bg-accent";case 5:return"bg-accent-content";case 6:return"bg-neutral";case 7:return"bg-neutral-content";case 8:return"base-100";case 9:return"bg-base-200";case 10:return"bg-base-300";case 11:return"bg-base-content";case 12:return"bg-info";case 13:return"bg-info-content";case 14:return"bg-success";case 15:return"bg-success-content";case 16:return"bg-warning";case 17:return"bg-warning-content";case 18:return"bg-error";case 19:return"bg-error-content";default:return"bg-base-content"}}}class I{static toClassName(n){switch(n){case 0:return"btn-primary";case 1:return"btn-primary-content";case 2:return"btn-secondary";case 3:return"btn-secondary-content";case 4:return"btn-accent";case 5:return"btn-accent-content";case 6:return"btn-neutral";case 7:return"btn-neutral-content";case 8:return"base-100";case 9:return"btn-base-200";case 10:return"btn-base-300";case 11:return"btn-base-content";case 12:return"btn-info";case 13:return"btn-info-content";case 14:return"btn-success";case 15:return"btn-success-content";case 16:return"btn-warning";case 17:return"btn-warning-content";case 18:return"btn-error";case 19:return"btn-error-content";default:return"btn-base-content"}}}class ne{static toClassName(n){switch(n){case 0:return"text-primary";case 1:return"text-primary-content";case 2:return"text-secondary";case 3:return"text-secondary-content";case 4:return"text-accent";case 5:return"text-accent-content";case 6:return"text-neutral";case 7:return"text-neutral-content";case 8:return"base-100";case 9:return"text-base-200";case 10:return"text-base-300";case 11:return"text-base-content";case 12:return"text-info";case 13:return"text-info-content";case 14:return"text-success";case 15:return"text-success-content";case 16:return"text-warning";case 17:return"text-warning-content";case 18:return"text-error";case 19:return"text-error-content";default:return"text-base-content"}}}var F=(t=>(t[t.XS=0]="XS",t[t.SM=1]="SM",t[t.MD=2]="MD",t[t.LG=3]="LG",t[t.XL=4]="XL",t[t.TWOXL=5]="TWOXL",t[t.THREEXL=6]="THREEXL",t))(F||{});class X{static toClassName(n){switch(n){case 0:return"btn-xs";case 1:return"btn-sm";case 2:return"btn-md";case 3:return"btn-lg";case 4:return"btn-xl";case 5:return"btn-2xl";case 6:return"btn-3xl";default:return"btn-md"}}}class j{static toClassName(n){switch(n){case 0:return"rounded-xs";case 1:return"rounded-sm";case 2:return"rounded-md";case 3:return"rounded-lg";case 4:return"rounded-xl";case 5:return"rounded-2xl";case 6:return"rounded-3xl";default:return"rounded-md"}}}class K{static toClassName(n){switch(n){case 0:return"table-xs";case 1:return"table-sm";case 2:return"table-md";case 3:return"table-lg";case 4:return"table-xl";case 5:return"table-2xl";case 6:return"table-3xl";default:return"table-md"}}}class H{static toClassName(n){switch(n){case 0:return"tabs-xs";case 1:return"tabs-sm";case 2:return"tabs-md";case 3:return"tabs-lg";case 4:return"tabs-xl";default:return"tabs-md"}}}function G(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var D={exports:{}};/*!
|
|
2
2
|
Copyright (c) 2018 Jed Watson.
|
|
3
3
|
Licensed under the MIT License (MIT), see
|
|
4
4
|
http://jedwatson.github.io/classnames
|
|
5
|
-
*/var G;function ne(){return G||(G=1,function(t){(function(){var n={}.hasOwnProperty;function a(){for(var r="",c=0;c<arguments.length;c++){var f=arguments[c];f&&(r=o(r,s(f)))}return r}function s(r){if(typeof r=="string"||typeof r=="number")return r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var c="";for(var f in r)n.call(r,f)&&r[f]&&(c=o(c,f));return c}function o(r,c){return c?r?r+" "+c:r+c:r}t.exports?(a.default=a,t.exports=a):window.classNames=a})()}(D)),D.exports}var re=ne();const T=H(re),ae=["type","disabled"],oe={class:"group-[.is-loading]:text-transparent"},se=e.defineComponent({__name:"Button",props:{type:{default:"button"},loading:{type:Boolean},color:{default:F.Neutral},soft:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},disabled:{type:Boolean},click:{}},setup(t){const n=t,a=e.computed(()=>T("btn","group",I.toClassName(n.color),n.soft?"btn-soft":"",n.outline?"btn-outline":"",n.loading?"is-loading":"",n.disabled?"disabled":""));return(s,o)=>(e.openBlock(),e.createElementBlock("button",{onClick:o[0]||(o[0]=r=>s.click?s.click:void 0),class:e.normalizeClass(a.value),type:s.type,disabled:s.disabled||s.loading},[o[1]||(o[1]=e.createElementVNode("span",{class:"loading loading-spinner loading-md absolute hidden group-[.is-loading]:block"},null,-1)),e.createElementVNode("span",oe,[e.renderSlot(s.$slots,"default")])],10,ae))}}),O=(t,n)=>{const a=t.__vccOpts||t;for(const[s,o]of n)a[s]=o;return a},ce={};function le(t,n){return e.openBlock(),e.createElementBlock("button")}const ie=O(ce,[["render",le]]),ue=e.defineComponent({__name:"Card",props:{backgroundColor:{default:F.Primary},shadow:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},rounded:{type:Boolean},roundedSize:{}},setup(t){const n=t,a=e.ref(T("card",q.toClassName(n.backgroundColor),n.shadow?"shadow-lg":"",n.fullWidth?"w-full":"",n.rounded&&!n.roundedSize?"rounded":n.roundedSize?j.toClassName(n.roundedSize):""));return(s,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(s.$slots,"default")],2))}}),de={},fe={class:"card-body"};function pe(t,n){return e.openBlock(),e.createElementBlock("div",fe,[e.renderSlot(t.$slots,"default")])}const me=O(de,[["render",pe]]),be=e.defineComponent({__name:"CardTitle",props:{is:{default:"h1"},text:{default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.is),{class:"card-title"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:1}))}}),he=e.defineComponent({__name:"Container",props:{container:{type:Boolean,default:!0},padding:{type:Boolean,default:!0}},setup(t){const n=t,a=e.ref([n.container?"container":"",n.padding?"p-6":""]);return(s,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(s.$slots,"default")],2))}}),$=(t,n)=>String(!t||typeof t!="object"?t:n.split(".").reduce((a,s)=>a&&(typeof a=="object"?a[s]:a),t));var W={},P={},J;function Z(){return J||(J=1,function(t){t.__esModule=!0,t.default=o;var n=/[\u0300-\u036f]/g,a=/ł/g,s=/ñ/g;function o(r){return r.toLowerCase().normalize("NFD").replace(n,"").replace(a,"l").replace(s,"n").trim()}}(P)),P}var M={},Y;function v(){if(Y)return M;Y=1,M.__esModule=!0,M.aggressiveFuzzyMatch=h,M.createFuzzySearchImpl=S,M.experimentalSmartFuzzyMatch=N,M.fuzzyMatchImpl=E;var t=n(Z());function n(i){return i&&i.__esModule?i:{default:i}}var a=Number.MAX_SAFE_INTEGER,s=function(l,m){return l.score-m.score},o=function(l,m){return l[0]-m[0]},r=new Set(` []()-–—'"“”`.split(""));function c(i){return r.has(i)}function f(i,l,m,k,u,y,b){if(i===k)return[0,[[0,i.length-1]]];var p=k.length,g=l.length,B=u.length;if(l===u)return[.1,[[0,g-1]]];if(l.startsWith(u))return[.5,[[0,B-1]]];var x=i.indexOf(k);if(x>-1&&c(i[x-1]))return[.9,[[x,x+p-1]]];var C=l.indexOf(u);if(C>-1&&c(l[C-1]))return[1,[[C,C+p-1]]];var w=y.length;if(w>1&&y.every(function(z){return m.has(z)})){var V=1.5+w*.2;return[V,y.map(function(z){var L=l.indexOf(z);return[L,L+z.length-1]}).sort(o)]}return C>-1?[2,[[C,C+p-1]]]:b==="aggressive"?h(l,u):b==="smart"?N(l,u):null}function h(i,l){for(var m=i.length,k=l.length,u=0,y=l[u],b=[],p=-1,g=-2,B=0;B<m;B+=1)if(i[B]===y){if(B!==g+1&&(p>=0&&b.push([p,g]),p=B),g=B,u+=1,u===k)return b.push([p,g]),_(b,i);y=l[u]}return null}function N(i,l){for(var m=i.length,k=[],u=0,y=l[u],b=-1,p=-2;;){var g=i.indexOf(y,p+1);if(g===-1)break;if(g===0||c(i[g-1]))b=g;else{var B=l.length-u,x=i.length-g,C=Math.min(3,B,x),w=l.slice(u,u+C);if(i.slice(g,g+C)===w)b=g;else{p+=1;continue}}for(p=b;p<m&&i[p]===y;p+=1)u+=1,y=l[u];if(p-=1,k.push([b,p]),u===l.length)return _(k,i)}return null}function _(i,l){var m=2;return i.forEach(function(k){var u=k[0],y=k[1],b=y-u+1,p=u===0||l[u]===" "||l[u-1]===" ",g=y===l.length-1||l[y]===" "||l[y+1]===" ",B=p&&g;B?m+=.2:p?m+=.4:b>=3?m+=.8:m+=1.6}),[m,i]}function E(i,l){var m=(0,t.default)(l),k=m.split(" "),u=(0,t.default)(i),y=new Set(u.split(" ")),b=f(i,u,y,l,m,k,"smart");return b?{item:i,score:b[0],matches:[b[1]]}:null}function S(i,l){var m=l.strategy,k=m===void 0?"aggressive":m,u=l.getText,y=i.map(function(b){var p;if(u)p=u(b);else{var g=l.key?b[l.key]:b;p=[g]}var B=p.map(function(x){var C=x||"",w=(0,t.default)(C),V=new Set(w.split(" "));return[C,w,V]});return[b,B]});return function(b){var p=[],g=(0,t.default)(b),B=g.split(" ");return g.length?(y.forEach(function(x){for(var C=x[0],w=x[1],V=a,z=[],L=0,ve=w.length;L<ve;L+=1){var A=w[L],Qe=A[0],et=A[1],tt=A[2],U=f(Qe,et,tt,b,g,B,k);U?(V=Math.min(V,U[0]),z.push(U[1])):z.push(null)}V<a&&p.push({item:C,score:V,matches:z})}),p.sort(s),p):[]}}return M}var Q;function ge(){return Q||(Q=1,function(t){t.__esModule=!0,t.default=s,t.fuzzyMatch=o;var n=a(Z());t.normalizeText=n.default;function a(r){return r&&r.__esModule?r:{default:r}}function s(r,c){return c===void 0&&(c={}),v().createFuzzySearchImpl(r,c)}function o(r,c){return v().fuzzyMatchImpl(r,c)}}(W)),W}var ye=ge();const ke=H(ye),Be={key:0},_e={key:0},Se=["innerHTML"],Ce={key:1},Ee={key:2},ee=e.defineComponent({__name:"TableColumn",props:{column:{},row:{},rowIndex:{}},setup(t){const n=t,a=e.computed(()=>n.column.render?n.column.render($(n.row,n.column.data),n.row):$(n.row,n.column.data));e.onMounted(()=>{a.value&&typeof a.value=="object"&&"then"in a.value&&console.warn("Async component detected in TableColumn, this may cause issues with rendering.")});const s=(r,c)=>c.render===void 0?{}:c.render($(r,c.data),r).props,o=r=>(console.log("getComponent",r),r&&typeof r=="object"&&"then"in r?e.defineAsyncComponent(()=>r):typeof r=="function"?e.defineAsyncComponent(r):r);return(r,c)=>(e.openBlock(),e.createElementBlock("td",null,[r.column.render?r.row?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[a.value?(e.openBlock(),e.createElementBlock("div",Be,[typeof a.value=="string"?(e.openBlock(),e.createElementBlock("div",_e,[e.createElementVNode("div",{innerHTML:a.value},null,8,Se)])):e.isVNode(a.value)?(e.openBlock(),e.createElementBlock("div",Ce,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value)))])):(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o(a.value.component)),e.normalizeProps(e.guardReactiveProps(s(r.row,r.column))),null,16))]))])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref($)(r.row,r.column.data)),1)],64))]))}}),xe={key:0},we={key:1},Ne={key:0},Ve=["colspan"],ze=["onClick"],$e={key:2},Me={key:0},Te=["colspan"],Le=e.defineComponent({__name:"Table",props:{zebra:{type:Boolean,default:!1},pinRows:{type:Boolean,default:!1},pinCols:{type:Boolean,default:!1},horizontal:{type:Boolean,default:!1},size:{default:R.MD},columns:{},dataSource:{},ajax:{},searchValue:{},searchFunction:{},onRowClick:{}},setup(t){const n=e.ref([]),a=e.ref([]),s=e.ref(null),o=t,r=e.ref(T("table",K.toClassName(o.size),{"table-zebra":o.zebra,"table-pin-rows":o.pinRows,"table-pin-cols ":o.pinCols})),c=(h,N)=>{o.onRowClick&&o.onRowClick(h,N)};e.onMounted(()=>{n.value=o.dataSource,a.value=o.dataSource}),e.watch(()=>o.dataSource,h=>{console.log("dataSource changed",h),n.value=h,a.value=h},{immediate:!0}),e.watch(()=>o.searchValue,h=>{if(o.searchFunction){a.value=o.searchFunction(h??"");return}a.value=h?f(h):n.value},{immediate:!0});const f=h=>{const N=[];return n.value.length>0?(Object.keys(n.value[0]).forEach(E=>{const S=n.value.map(m=>$(m,E)),l=ke(S)(h);for(const m of l){const k=n.value.filter(u=>$(u,E)===m.item);N.push(...k)}}),N):[]};return(h,N)=>(e.openBlock(),e.createElementBlock("table",{ref_key:"table",ref:s,class:e.normalizeClass(r.value)},[h.horizontal?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("thead",xe,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,_=>(e.openBlock(),e.createElementBlock("th",{key:_.title},e.toDisplayString(_.title),1))),128))])])),h.horizontal?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tbody",we,[a.value.length===0?(e.openBlock(),e.createElementBlock("tr",Ne,[e.createElementVNode("td",{colspan:o.columns.length},"No data found",8,Ve)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.value,(_,E)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(o.onRowClick?"hover":""),key:JSON.stringify(_),onClick:S=>c(_,E)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,S=>(e.openBlock(),e.createBlock(ee,{key:S.data,column:S,row:_,rowIndex:E},null,8,["column","row","rowIndex"]))),128))],10,ze))),128))])),h.horizontal?(e.openBlock(),e.createElementBlock("tbody",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.columns,_=>(e.openBlock(),e.createElementBlock("tr",{key:_.title},[e.createElementVNode("th",null,e.toDisplayString(_.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(E,S)=>(e.openBlock(),e.createBlock(ee,{key:S,column:_,row:E,rowIndex:S},null,8,["column","row","rowIndex"]))),128))]))),128)),a.value.length===0?(e.openBlock(),e.createElementBlock("tr",Me,[e.createElementVNode("td",{colspan:o.columns.length+1,style:{"text-align":"center",padding:"1rem"}}," No data found ",8,Te)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2))}}),Fe=e.defineComponent({__name:"Stepper",props:{value:{}},emits:["update:value"],setup(t,{expose:n,emit:a}){const s=t,o=e.ref(s.value),r=a,c=f=>{o.value=f,r("update:value",f)};return e.provide("stepper",{value:o,updateValue:c}),e.watch(()=>s.value,f=>{o.value=f}),n({updateValue:c}),(f,h)=>e.renderSlot(f.$slots,"default",{updateValue:c})}}),Re=e.defineComponent({__name:"Step",props:{value:{}},setup(t){const n=t,a=e.inject("stepper"),s=e.ref("");return e.watch(()=>a?.value.value,o=>{o&&n.value&&(s.value=Number(o)>=Number(n.value)?"step-primary":"")}),e.onMounted(()=>{a&&(s.value=a.value.value===n.value?"step-primary":"",Number(a.value.value)>=Number(n.value)&&(s.value="step-primary"))}),(o,r)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["step",s.value])},[e.renderSlot(o.$slots,"default")],2))}}),De={},Oe={class:"steps"};function We(t,n){return e.openBlock(),e.createElementBlock("ul",Oe,[e.renderSlot(t.$slots,"default")])}const Pe=O(De,[["render",We]]),Ae={key:0},Ue=e.defineComponent({__name:"StepPanels",setup(t){const n=e.inject("stepper");return(a,s)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade",mode:"out-in"},{default:e.withCtx(()=>[e.unref(n)?.value?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(a.$slots,"default",{currentStep:e.unref(n)?.value})])):e.createCommentVNode("",!0)]),_:3}))}}),qe={key:0},Ie=e.defineComponent({__name:"StepPanel",props:{value:{}},setup(t,{expose:n}){const a=e.computed(()=>s?.value.value),s=e.inject("stepper"),o=r=>{s&&s.updateValue(r.toString())};return n({activateCallback:o}),(r,c)=>r.value===a.value?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(r.$slots,"default",{activateCallback:o})])):e.createCommentVNode("",!0)}}),Xe={key:0,method:"dialog"},je=e.defineComponent({__name:"Modal",props:{closeButton:{type:Boolean,default:!0},overflow:{type:Boolean,default:!1},closeButtonSize:{default:R.SM},extraBoxClasses:{}},emits:["close"],setup(t,{expose:n,emit:a}){const s=e.ref(null),o=a,r=t,c=e.ref(T("modal-box",r.extraBoxClasses,{"overflow-visible":r.overflow})),f=e.ref(T("modal")),h=e.ref(T("btn",X.toClassName(r.closeButtonSize),"btn-circle","btn-ghost","absolute","right-2","top-2"));return n({showModal:()=>{s.value?.showModal()},closeModal:()=>{s.value?.close()}}),(E,S)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"modal",ref:s,class:e.normalizeClass([f.value,E.$attrs.class]),"aria-modal":"true","aria-hidden":"true",role:"dialog",onClose:S[0]||(S[0]=i=>o("close",i))},[e.createElementVNode("div",{class:e.normalizeClass(c.value)},[E.closeButton?(e.openBlock(),e.createElementBlock("form",Xe,[e.createElementVNode("button",{class:e.normalizeClass(h.value)},"✕",2)])):e.createCommentVNode("",!0),e.renderSlot(E.$slots,"default")],2),S[1]||(S[1]=e.createElementVNode("form",{method:"dialog",class:"modal-backdrop"},[e.createElementVNode("button",null,"close")],-1))],34))}}),Ke={class:"hidden w-full max-w-sm lg:flex"},He={class:"relative mx-3 w-full"},Ge={class:"relative w-full max-w-full"},Je=["value"],Ze=e.defineComponent({__name:"SearchBar",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:n}){const a=t,s=e.ref(null),o=n,r=c=>{(c.ctrlKey||c.metaKey)&&c.key.toLowerCase()==="k"&&(c.preventDefault(),s.value&&s.value.focus())};return e.onMounted(()=>{document.addEventListener("keydown",r)}),e.onUnmounted(()=>{document.removeEventListener("keydown",r)}),(c,f)=>(e.openBlock(),e.createElementBlock("div",Ke,[e.createElementVNode("label",He,[f[1]||(f[1]=e.createElementVNode("svg",{class:"pointer-events-none absolute z-10 my-3.5 ms-4 text-base-content opacity-60","aria-hidden":"true",width:"16",height:"16",viewBox:"0.48 0.48 23.04 23.04",fill:"currentColor"},[e.createElementVNode("path",{fill:"none",d:"M0 0h24v24H0z"}),e.createElementVNode("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})],-1)),e.createElementVNode("div",Ge,[e.createElementVNode("form",null,[e.createElementVNode("input",{ref_key:"searchInput",ref:s,type:"search",placeholder:"Zoeken...",value:a.modelValue,onInput:f[0]||(f[0]=h=>o("update:modelValue",h.target.value)),class:"color-[inherit] w-full rounded-xl border-[2px] border-solid border-transparent bg-transparent px-3 py-2 ps-10 focus:border-[2px] focus:border-base-200 focus:outline-none"},null,40,Je)])]),f[2]||(f[2]=e.createElementVNode("div",{class:"pointer-events-none absolute end-10 top-2.5 hidden gap-1 opacity-50 lg:flex rtl:flex-row-reverse"},[e.createElementVNode("kbd",{class:"kbd kbd-sm"},"ctrl"),e.createElementVNode("kbd",{class:"kbd kbd-sm"},"K")],-1))])]))}}),Ye=["bg-primary","bg-primary-content","bg-secondary","bg-secondary-content","bg-accent","bg-accent-content","bg-neutral","bg-neutral-content","bg-base-100","bg-base-200","bg-base-300","bg-base-content","bg-info","bg-info-content","bg-success","bg-success-content","bg-warning","bg-warning-content","bg-error","bg-error-content","btn-primary","btn-primary-content","btn-secondary","btn-secondary-content","btn-accent","btn-accent-content","btn-neutral","btn-neutral-content","btn-base-100","btn-base-200","btn-base-300","btn-base-content","btn-info","btn-info-content","btn-success","btn-success-content","btn-warning","btn-warning-content","btn-error","btn-error-content","text-primary","text-primary-content","text-secondary","text-secondary-content","text-accent","text-accent-content","text-neutral","text-neutral-content","text-base-100","text-base-200","text-base-300","text-base-content","text-info","text-info-content","text-success","text-success-content","text-warning","text-warning-content","text-error","text-error-content","text-transparent","step","steps","modal","modal-box","btn","btn-sm","btn-circle","btn-ghost","absolute","right-2","top-2","shadow-lg","w-full","rounded-xs","rounded-sm","rounded-md","rounded-lg","rounded-xl","rounded-2xl","rounded-3xl","hidden","block"];d.BackgroundColorUtils=q,d.Button=se,d.ButtonColorUtils=I,d.ButtonSizeUtils=X,d.Card=ue,d.CardBody=me,d.CardTitle=be,d.Color=F,d.Container=he,d.Modal=je,d.RoundedSizeUtils=j,d.SearchBar=Ze,d.SimpleButton=ie,d.Size=R,d.Step=Re,d.StepList=Pe,d.StepPanel=Ie,d.StepPanels=Ue,d.Stepper=Fe,d.Table=Le,d.TableSizeUtils=K,d.TextColorUtils=te,d.dendelionSafeList=Ye,d.getValue=$,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
|
|
5
|
+
*/var J;function re(){return J||(J=1,function(t){(function(){var n={}.hasOwnProperty;function a(){for(var r="",l=0;l<arguments.length;l++){var f=arguments[l];f&&(r=s(r,o(f)))}return r}function o(r){if(typeof r=="string"||typeof r=="number")return r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(null,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var l="";for(var f in r)n.call(r,f)&&r[f]&&(l=s(l,f));return l}function s(r,l){return l?r?r+" "+l:r+l:r}t.exports?(a.default=a,t.exports=a):window.classNames=a})()}(D)),D.exports}var ae=re();const M=G(ae),oe=["type","disabled"],se={class:"group-[.is-loading]:text-transparent"},le=e.defineComponent({__name:"Button",props:{type:{default:"button"},loading:{type:Boolean},color:{default:R.Neutral},soft:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},disabled:{type:Boolean},click:{}},setup(t){const n=t,a=e.computed(()=>M("btn","group",I.toClassName(n.color),n.soft?"btn-soft":"",n.outline?"btn-outline":"",n.loading?"is-loading":"",n.disabled?"disabled":""));return(o,s)=>(e.openBlock(),e.createElementBlock("button",{onClick:s[0]||(s[0]=r=>o.click?o.click:void 0),class:e.normalizeClass(a.value),type:o.type,disabled:o.disabled||o.loading},[s[1]||(s[1]=e.createElementVNode("span",{class:"loading loading-spinner loading-md absolute hidden group-[.is-loading]:block"},null,-1)),e.createElementVNode("span",se,[e.renderSlot(o.$slots,"default")])],10,oe))}}),W=(t,n)=>{const a=t.__vccOpts||t;for(const[o,s]of n)a[o]=s;return a},ce={};function ie(t,n){return e.openBlock(),e.createElementBlock("button")}const de=W(ce,[["render",ie]]),ue=e.defineComponent({__name:"Card",props:{backgroundColor:{default:R.Primary},shadow:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},rounded:{type:Boolean},roundedSize:{}},setup(t){const n=t,a=e.ref(M("card",q.toClassName(n.backgroundColor),n.shadow?"shadow-lg":"",n.fullWidth?"w-full":"",n.rounded&&!n.roundedSize?"rounded":n.roundedSize?j.toClassName(n.roundedSize):""));return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(o.$slots,"default")],2))}}),fe={},pe={class:"card-body"};function me(t,n){return e.openBlock(),e.createElementBlock("div",pe,[e.renderSlot(t.$slots,"default")])}const be=W(fe,[["render",me]]),he=e.defineComponent({__name:"CardTitle",props:{is:{default:"h1"},text:{default:""}},setup(t){return(n,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.is),{class:"card-title"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:1}))}}),ge=e.defineComponent({__name:"Container",props:{container:{type:Boolean,default:!0},padding:{type:Boolean,default:!0}},setup(t){const n=t,a=e.ref([n.container?"container":"",n.padding?"p-6":""]);return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[e.renderSlot(o.$slots,"default")],2))}}),$=(t,n)=>String(!t||typeof t!="object"?t:n.split(".").reduce((a,o)=>a&&(typeof a=="object"?a[o]:a),t));var O={},P={},Z;function Y(){return Z||(Z=1,function(t){t.__esModule=!0,t.default=s;var n=/[\u0300-\u036f]/g,a=/ł/g,o=/ñ/g;function s(r){return r.toLowerCase().normalize("NFD").replace(n,"").replace(a,"l").replace(o,"n").trim()}}(P)),P}var T={},Q;function v(){if(Q)return T;Q=1,T.__esModule=!0,T.aggressiveFuzzyMatch=p,T.createFuzzySearchImpl=B,T.experimentalSmartFuzzyMatch=x,T.fuzzyMatchImpl=S;var t=n(Y());function n(i){return i&&i.__esModule?i:{default:i}}var a=Number.MAX_SAFE_INTEGER,o=function(c,b){return c.score-b.score},s=function(c,b){return c[0]-b[0]},r=new Set(` []()-–—'"“”`.split(""));function l(i){return r.has(i)}function f(i,c,b,_,u,k,h){if(i===_)return[0,[[0,i.length-1]]];var m=_.length,g=c.length,C=u.length;if(c===u)return[.1,[[0,g-1]]];if(c.startsWith(u))return[.5,[[0,C-1]]];var w=i.indexOf(_);if(w>-1&&l(i[w-1]))return[.9,[[w,w+m-1]]];var E=c.indexOf(u);if(E>-1&&l(c[E-1]))return[1,[[E,E+m-1]]];var N=k.length;if(N>1&&k.every(function(V){return b.has(V)})){var z=1.5+N*.2;return[z,k.map(function(V){var L=c.indexOf(V);return[L,L+V.length-1]}).sort(s)]}return E>-1?[2,[[E,E+m-1]]]:h==="aggressive"?p(c,u):h==="smart"?x(c,u):null}function p(i,c){for(var b=i.length,_=c.length,u=0,k=c[u],h=[],m=-1,g=-2,C=0;C<b;C+=1)if(i[C]===k){if(C!==g+1&&(m>=0&&h.push([m,g]),m=C),g=C,u+=1,u===_)return h.push([m,g]),y(h,i);k=c[u]}return null}function x(i,c){for(var b=i.length,_=[],u=0,k=c[u],h=-1,m=-2;;){var g=i.indexOf(k,m+1);if(g===-1)break;if(g===0||l(i[g-1]))h=g;else{var C=c.length-u,w=i.length-g,E=Math.min(3,C,w),N=c.slice(u,u+E);if(i.slice(g,g+E)===N)h=g;else{m+=1;continue}}for(m=h;m<b&&i[m]===k;m+=1)u+=1,k=c[u];if(m-=1,_.push([h,m]),u===c.length)return y(_,i)}return null}function y(i,c){var b=2;return i.forEach(function(_){var u=_[0],k=_[1],h=k-u+1,m=u===0||c[u]===" "||c[u-1]===" ",g=k===c.length-1||c[k]===" "||c[k+1]===" ",C=m&&g;C?b+=.2:m?b+=.4:h>=3?b+=.8:b+=1.6}),[b,i]}function S(i,c){var b=(0,t.default)(c),_=b.split(" "),u=(0,t.default)(i),k=new Set(u.split(" ")),h=f(i,u,k,c,b,_,"smart");return h?{item:i,score:h[0],matches:[h[1]]}:null}function B(i,c){var b=c.strategy,_=b===void 0?"aggressive":b,u=c.getText,k=i.map(function(h){var m;if(u)m=u(h);else{var g=c.key?h[c.key]:h;m=[g]}var C=m.map(function(w){var E=w||"",N=(0,t.default)(E),z=new Set(N.split(" "));return[E,N,z]});return[h,C]});return function(h){var m=[],g=(0,t.default)(h),C=g.split(" ");return g.length?(k.forEach(function(w){for(var E=w[0],N=w[1],z=a,V=[],L=0,tt=N.length;L<tt;L+=1){var U=N[L],nt=U[0],rt=U[1],at=U[2],A=f(nt,rt,at,h,g,C,_);A?(z=Math.min(z,A[0]),V.push(A[1])):V.push(null)}z<a&&m.push({item:E,score:z,matches:V})}),m.sort(o),m):[]}}return T}var ee;function ye(){return ee||(ee=1,function(t){t.__esModule=!0,t.default=o,t.fuzzyMatch=s;var n=a(Y());t.normalizeText=n.default;function a(r){return r&&r.__esModule?r:{default:r}}function o(r,l){return l===void 0&&(l={}),v().createFuzzySearchImpl(r,l)}function s(r,l){return v().fuzzyMatchImpl(r,l)}}(O)),O}var ke=ye();const Be=G(ke),_e={key:0},Se={key:0},Ce=["innerHTML"],Ee={key:1},xe={key:2},te=e.defineComponent({__name:"TableColumn",props:{column:{},row:{},rowIndex:{}},setup(t){const n=t,a=e.computed(()=>n.column.render?n.column.render($(n.row,n.column.data),n.row):$(n.row,n.column.data));e.onMounted(()=>{a.value&&typeof a.value=="object"&&"then"in a.value&&console.warn("Async component detected in TableColumn, this may cause issues with rendering.")});const o=(r,l)=>l.render===void 0?{}:l.render($(r,l.data),r).props,s=r=>(console.log("getComponent",r),r&&typeof r=="object"&&"then"in r?e.defineAsyncComponent(()=>r):typeof r=="function"?e.defineAsyncComponent(r):r);return(r,l)=>(e.openBlock(),e.createElementBlock("td",null,[r.column.render?r.row?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[a.value?(e.openBlock(),e.createElementBlock("div",_e,[typeof a.value=="string"?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("div",{innerHTML:a.value},null,8,Ce)])):e.isVNode(a.value)?(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value)))])):(e.openBlock(),e.createElementBlock("div",xe,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s(a.value.component)),e.normalizeProps(e.guardReactiveProps(o(r.row,r.column))),null,16))]))])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref($)(r.row,r.column.data)),1)],64))]))}}),we={key:0},Ne={key:1},ze={key:0},Ve=["colspan"],$e=["onClick"],Te={key:2},Me={key:0},Le=["colspan"],Fe=e.defineComponent({__name:"Table",props:{zebra:{type:Boolean,default:!1},pinRows:{type:Boolean,default:!1},pinCols:{type:Boolean,default:!1},horizontal:{type:Boolean,default:!1},size:{default:F.MD},columns:{},dataSource:{},ajax:{},searchValue:{},searchFunction:{},onRowClick:{}},setup(t){const n=e.ref([]),a=e.ref([]),o=e.ref(null),s=t,r=e.ref(M("table",K.toClassName(s.size),{"table-zebra":s.zebra,"table-pin-rows":s.pinRows,"table-pin-cols ":s.pinCols})),l=(p,x)=>{s.onRowClick&&s.onRowClick(p,x)};e.onMounted(()=>{n.value=s.dataSource,a.value=s.dataSource}),e.watch(()=>s.dataSource,p=>{n.value=p,a.value=p},{immediate:!0}),e.watch(()=>s.searchValue,p=>{if(s.searchFunction){a.value=s.searchFunction(p??"");return}a.value=p?f(p):n.value},{immediate:!0});const f=p=>{const x=[];return n.value.length>0?(Object.keys(n.value[0]).forEach(S=>{const B=n.value.map(b=>$(b,S)),c=Be(B)(p);for(const b of c){const _=n.value.filter(u=>$(u,S)===b.item);x.push(..._)}}),x):[]};return(p,x)=>(e.openBlock(),e.createElementBlock("table",{ref_key:"table",ref:o,class:e.normalizeClass(r.value)},[p.horizontal?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("thead",we,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.columns,y=>(e.openBlock(),e.createElementBlock("th",{key:y.title},e.toDisplayString(y.title),1))),128))])])),p.horizontal?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tbody",Ne,[a.value.length===0?(e.openBlock(),e.createElementBlock("tr",ze,[e.createElementVNode("td",{colspan:s.columns.length},"No data found",8,Ve)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.value,(y,S)=>(e.openBlock(),e.createElementBlock("tr",{class:e.normalizeClass(s.onRowClick?"hover":""),key:JSON.stringify(y),onClick:B=>l(y,S)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.columns,B=>(e.openBlock(),e.createBlock(te,{key:B.data,column:B,row:y,rowIndex:S},null,8,["column","row","rowIndex"]))),128))],10,$e))),128))])),p.horizontal?(e.openBlock(),e.createElementBlock("tbody",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.columns,y=>(e.openBlock(),e.createElementBlock("tr",{key:y.title},[e.createElementVNode("th",null,e.toDisplayString(y.title),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(S,B)=>(e.openBlock(),e.createBlock(te,{key:B,column:y,row:S,rowIndex:B},null,8,["column","row","rowIndex"]))),128))]))),128)),a.value.length===0?(e.openBlock(),e.createElementBlock("tr",Me,[e.createElementVNode("td",{colspan:s.columns.length+1,style:{"text-align":"center",padding:"1rem"}}," No data found ",8,Le)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2))}}),Re=e.defineComponent({__name:"Stepper",props:{value:{}},emits:["update:value"],setup(t,{expose:n,emit:a}){const o=t,s=e.ref(o.value),r=a,l=f=>{s.value=f,r("update:value",f)};return e.provide("stepper",{value:s,updateValue:l}),e.watch(()=>o.value,f=>{s.value=f}),n({updateValue:l}),(f,p)=>e.renderSlot(f.$slots,"default",{updateValue:l})}}),De=e.defineComponent({__name:"Step",props:{value:{}},setup(t){const n=t,a=e.inject("stepper"),o=e.ref("");return e.watch(()=>a?.value.value,s=>{s&&n.value&&(o.value=Number(s)>=Number(n.value)?"step-primary":"")}),e.onMounted(()=>{a&&(o.value=a.value.value===n.value?"step-primary":"",Number(a.value.value)>=Number(n.value)&&(o.value="step-primary"))}),(s,r)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["step",o.value])},[e.renderSlot(s.$slots,"default")],2))}}),We={},Oe={class:"steps"};function Pe(t,n){return e.openBlock(),e.createElementBlock("ul",Oe,[e.renderSlot(t.$slots,"default")])}const Ue=W(We,[["render",Pe]]),Ae={key:0},qe=e.defineComponent({__name:"StepPanels",setup(t){const n=e.inject("stepper");return(a,o)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade",mode:"out-in"},{default:e.withCtx(()=>[e.unref(n)?.value?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(a.$slots,"default",{currentStep:e.unref(n)?.value})])):e.createCommentVNode("",!0)]),_:3}))}}),Ie={key:0},Xe=e.defineComponent({__name:"StepPanel",props:{value:{}},setup(t,{expose:n}){const a=e.computed(()=>o?.value.value),o=e.inject("stepper"),s=r=>{o&&o.updateValue(r.toString())};return n({activateCallback:s}),(r,l)=>r.value===a.value?(e.openBlock(),e.createElementBlock("div",Ie,[e.renderSlot(r.$slots,"default",{activateCallback:s})])):e.createCommentVNode("",!0)}}),je={key:0,method:"dialog"},Ke=e.defineComponent({__name:"Modal",props:{closeButton:{type:Boolean,default:!0},overflow:{type:Boolean,default:!1},closeButtonSize:{default:F.SM},extraBoxClasses:{}},emits:["close"],setup(t,{expose:n,emit:a}){const o=e.ref(null),s=a,r=t,l=e.ref(M("modal-box",r.extraBoxClasses,{"overflow-visible":r.overflow})),f=e.ref(M("modal")),p=e.ref(M("btn",X.toClassName(r.closeButtonSize),"btn-circle","btn-ghost","absolute","right-2","top-2"));return n({showModal:()=>{o.value?.showModal()},closeModal:()=>{o.value?.close()}}),(S,B)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"modal",ref:o,class:e.normalizeClass([f.value,S.$attrs.class]),"aria-modal":"true","aria-hidden":"true",role:"dialog",onClose:B[0]||(B[0]=i=>s("close",i))},[e.createElementVNode("div",{class:e.normalizeClass(l.value)},[S.closeButton?(e.openBlock(),e.createElementBlock("form",je,[e.createElementVNode("button",{class:e.normalizeClass(p.value)},"✕",2)])):e.createCommentVNode("",!0),e.renderSlot(S.$slots,"default")],2),B[1]||(B[1]=e.createElementVNode("form",{method:"dialog",class:"modal-backdrop"},[e.createElementVNode("button",null,"close")],-1))],34))}}),He={class:"hidden w-full max-w-sm lg:flex"},Ge={class:"relative mx-3 w-full"},Je={class:"relative w-full max-w-full"},Ze=["value"],Ye=e.defineComponent({__name:"SearchBar",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:n}){const a=t,o=e.ref(null),s=n,r=l=>{(l.ctrlKey||l.metaKey)&&l.key.toLowerCase()==="k"&&(l.preventDefault(),o.value&&o.value.focus())};return e.onMounted(()=>{document.addEventListener("keydown",r)}),e.onUnmounted(()=>{document.removeEventListener("keydown",r)}),(l,f)=>(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("label",Ge,[f[1]||(f[1]=e.createElementVNode("svg",{class:"pointer-events-none absolute z-10 my-3.5 ms-4 text-base-content opacity-60","aria-hidden":"true",width:"16",height:"16",viewBox:"0.48 0.48 23.04 23.04",fill:"currentColor"},[e.createElementVNode("path",{fill:"none",d:"M0 0h24v24H0z"}),e.createElementVNode("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})],-1)),e.createElementVNode("div",Je,[e.createElementVNode("form",null,[e.createElementVNode("input",{ref_key:"searchInput",ref:o,type:"search",placeholder:"Zoeken...",value:a.modelValue,onInput:f[0]||(f[0]=p=>s("update:modelValue",p.target.value)),class:"color-[inherit] w-full rounded-xl border-[2px] border-solid border-transparent bg-transparent px-3 py-2 ps-10 focus:border-[2px] focus:border-base-200 focus:outline-none"},null,40,Ze)])]),f[2]||(f[2]=e.createElementVNode("div",{class:"pointer-events-none absolute end-10 top-2.5 hidden gap-1 opacity-50 lg:flex rtl:flex-row-reverse"},[e.createElementVNode("kbd",{class:"kbd kbd-sm"},"ctrl"),e.createElementVNode("kbd",{class:"kbd kbd-sm"},"K")],-1))])]))}}),Qe=["name","value"],ve=e.defineComponent({__name:"Tabs",props:{box:{type:Boolean,default:!1},border:{type:Boolean,default:!1},lift:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},placement:{default:"top"},size:{default:F.MD},items:{},activeTab:{default:0}},setup(t,{expose:n}){const a=Math.random().toString(36).substring(2,15),o=t,s=e.computed(()=>100/o.items.length),r=e.computed(()=>["tabs",o.placement==="top"?"tabs-top":"tabs-bottom",`${H.toClassName(o.size)}`,{"tabs-box":o.box,"tabs-border":o.border,"tabs-lift":o.lift}]),l=e.ref(o.activeTab??0),f=p=>{l.value=p};return e.watch(()=>o.activeTab,p=>{l.value=p}),n({activeIndex:l,setActiveTab:f}),(p,x)=>(e.openBlock(),e.createElementBlock("div",{role:"tablist",class:e.normalizeClass(r.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,(y,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:S},[e.createElementVNode("label",{class:"tab",style:e.normalizeStyle(o.fullWidth?{width:s.value+"%"}:{})},[e.withDirectives(e.createElementVNode("input",{type:"radio",name:e.unref(a),value:S,"onUpdate:modelValue":x[0]||(x[0]=B=>l.value=B)},null,8,Qe),[[e.vModelRadio,l.value]]),e.createTextVNode(" "+e.toDisplayString(y.label),1)],4),e.createElementVNode("div",{class:e.normalizeClass(["tab-content p-6",y.disabled?"tab-disabled":""])},[e.renderSlot(p.$slots,y.slot)],2)],64))),128))],2))}}),et=["bg-primary","bg-primary-content","bg-secondary","bg-secondary-content","bg-accent","bg-accent-content","bg-neutral","bg-neutral-content","bg-base-100","bg-base-200","bg-base-300","bg-base-content","bg-info","bg-info-content","bg-success","bg-success-content","bg-warning","bg-warning-content","bg-error","bg-error-content","btn-primary","btn-primary-content","btn-secondary","btn-secondary-content","btn-accent","btn-accent-content","btn-neutral","btn-neutral-content","btn-base-100","btn-base-200","btn-base-300","btn-base-content","btn-info","btn-info-content","btn-success","btn-success-content","btn-warning","btn-warning-content","btn-error","btn-error-content","text-primary","text-primary-content","text-secondary","text-secondary-content","text-accent","text-accent-content","text-neutral","text-neutral-content","text-base-100","text-base-200","text-base-300","text-base-content","text-info","text-info-content","text-success","text-success-content","text-warning","text-warning-content","text-error","text-error-content","text-transparent","step","steps","modal","modal-box","btn","btn-sm","btn-circle","btn-ghost","absolute","right-2","top-2","shadow-lg","w-full","rounded-xs","rounded-sm","rounded-md","rounded-lg","rounded-xl","rounded-2xl","rounded-3xl","hidden","block"];d.BackgroundColorUtils=q,d.Button=le,d.ButtonColorUtils=I,d.ButtonSizeUtils=X,d.Card=ue,d.CardBody=be,d.CardTitle=he,d.Color=R,d.Container=ge,d.Modal=Ke,d.RoundedSizeUtils=j,d.SearchBar=Ye,d.SimpleButton=de,d.Size=F,d.Step=De,d.StepList=Ue,d.StepPanel=Xe,d.StepPanels=qe,d.Stepper=Re,d.Table=Fe,d.TableSizeUtils=K,d.Tabs=ve,d.TabsSizeUtils=H,d.TextColorUtils=ne,d.dendelionSafeList=et,d.getValue=$,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Size } from '../../types';
|
|
2
|
+
import { TabsProps } from './interface';
|
|
3
|
+
declare var __VLS_2: string, __VLS_3: {};
|
|
4
|
+
type __VLS_Slots = {} & {
|
|
5
|
+
[K in NonNullable<typeof __VLS_2>]?: (props: typeof __VLS_3) => any;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_component: import("vue").DefineComponent<TabsProps, {
|
|
8
|
+
activeIndex: import("vue").Ref<number, number>;
|
|
9
|
+
setActiveTab: (index: number) => void;
|
|
10
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TabsProps> & Readonly<{}>, {
|
|
11
|
+
fullWidth: boolean;
|
|
12
|
+
size: Size;
|
|
13
|
+
box: boolean;
|
|
14
|
+
border: boolean;
|
|
15
|
+
lift: boolean;
|
|
16
|
+
placement: "top" | "bottom";
|
|
17
|
+
activeTab: number;
|
|
18
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Size } from "@/types";
|
|
2
|
+
export type TabsProps = {
|
|
3
|
+
box?: boolean;
|
|
4
|
+
border?: boolean;
|
|
5
|
+
lift?: boolean;
|
|
6
|
+
fullWidth?: boolean;
|
|
7
|
+
placement?: 'top' | 'bottom';
|
|
8
|
+
size?: Size;
|
|
9
|
+
items: TabItem[];
|
|
10
|
+
activeTab?: number;
|
|
11
|
+
};
|
|
12
|
+
export type TabItem = {
|
|
13
|
+
label: string;
|
|
14
|
+
slot: string;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dendelion-ui",
|
|
3
3
|
"private": false,
|
|
4
4
|
"description": "Simpel component library using Tailwind css and DaisyUI",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.22",
|
|
6
6
|
"author": "ThatzOkay",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"homepage": "https://github.com/ThatzOkay/DendelionUI#readme",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
63
|
-
"@vue/tsconfig": "^0.
|
|
63
|
+
"@vue/tsconfig": "^0.8.0",
|
|
64
64
|
"autoprefixer": "^10.4.21",
|
|
65
65
|
"cross-env": "^10.0.0",
|
|
66
66
|
"daisyui": "^4.12.24",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"fluid-tailwind": "^1.0.4",
|
|
70
70
|
"prettier": "^3.6.2",
|
|
71
71
|
"prettier-eslint": "^16.4.2",
|
|
72
|
-
"prettier-plugin-tailwindcss": "^0.
|
|
72
|
+
"prettier-plugin-tailwindcss": "^0.7.0",
|
|
73
73
|
"rimraf": "^6.0.1",
|
|
74
74
|
"typescript": "^5.8.3",
|
|
75
75
|
"typescript-eslint": "^8.38.0",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<tr v-if="filteredDataSource.length === 0">
|
|
12
12
|
<td :colspan="props.columns.length">No data found</td>
|
|
13
13
|
</tr>
|
|
14
|
-
<tr :class="
|
|
14
|
+
<tr :class="trClasses" v-else v-for="(row, rowIndex) in filteredDataSource"
|
|
15
15
|
v-bind:key="JSON.stringify(row as T)" @click="handleRowClick(row as T, rowIndex)">
|
|
16
16
|
<TableColumn v-for="column in props.columns" v-bind:key="column.data" :column="column" :row="row as T"
|
|
17
17
|
:rowIndex="rowIndex" />
|
|
@@ -57,8 +57,14 @@ const props = withDefaults(defineProps<TableProps<T>>(), {
|
|
|
57
57
|
pinRows: false,
|
|
58
58
|
pinCols: false,
|
|
59
59
|
horizontal: false,
|
|
60
|
+
customRowClasses: undefined,
|
|
60
61
|
});
|
|
61
62
|
|
|
63
|
+
const trClasses = ref(classNames(
|
|
64
|
+
props.customRowClasses,
|
|
65
|
+
{ 'hover': props.onRowClick },
|
|
66
|
+
));
|
|
67
|
+
|
|
62
68
|
const tableClasses = ref(
|
|
63
69
|
classNames('table', TableSizeUtils.toClassName(props.size), {
|
|
64
70
|
'table-zebra': props.zebra,
|
|
@@ -84,7 +90,6 @@ onMounted(() => {
|
|
|
84
90
|
watch(
|
|
85
91
|
() => props.dataSource,
|
|
86
92
|
(value) => {
|
|
87
|
-
console.log('dataSource changed', value);
|
|
88
93
|
originalDataSource.value = value;
|
|
89
94
|
filteredDataSource.value = value;
|
|
90
95
|
},
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</template>
|
|
22
22
|
|
|
23
23
|
<script setup lang="ts" generic="T">
|
|
24
|
-
import { computed, defineAsyncComponent, isVNode, onMounted
|
|
24
|
+
import { computed, defineAsyncComponent, isVNode, onMounted } from 'vue';
|
|
25
25
|
import type { Component } from 'vue';
|
|
26
26
|
import { Column, ColumnComponent, ColumnProps, ComponentImport, ComponentOrImport, getValue } from './interface';
|
|
27
27
|
|
|
@@ -55,8 +55,4 @@ const getComponent = (component: ComponentOrImport) => {
|
|
|
55
55
|
return component as Component;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
-
const renderCell = (row: T, column: Column<T>) => {
|
|
59
|
-
if (!column.render) return getValue(row, column.data);
|
|
60
|
-
return column.render(getValue(row, column.data), row as T);
|
|
61
|
-
};
|
|
62
58
|
</script>
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Size } from '@/types';
|
|
2
2
|
import { Component, VNode } from 'vue';
|
|
3
3
|
|
|
4
|
+
|
|
4
5
|
export type TableProps<T> = {
|
|
5
6
|
zebra?: boolean;
|
|
6
7
|
pinRows?: boolean;
|
|
7
8
|
pinCols?: boolean;
|
|
8
9
|
horizontal?: boolean;
|
|
9
10
|
size?: Size;
|
|
11
|
+
customRowClasses?: classNames.ArgumentArray;
|
|
10
12
|
columns: Column<T>[];
|
|
11
13
|
dataSource: T[];
|
|
12
14
|
ajax?: (params: object) => Promise<object> | string;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div role="tablist" :class="tabsClasses">
|
|
3
|
+
<template v-for="(tab, index) in props.items" :key="index">
|
|
4
|
+
<label
|
|
5
|
+
class="tab"
|
|
6
|
+
:style="props.fullWidth ? { width: widthPercentage + '%' } : {}"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
type="radio"
|
|
10
|
+
:name="id"
|
|
11
|
+
:value="index"
|
|
12
|
+
v-model="activeIndex"
|
|
13
|
+
/>
|
|
14
|
+
{{ tab.label }}
|
|
15
|
+
</label>
|
|
16
|
+
<div class="tab-content p-6" :class="tab.disabled ? 'tab-disabled' : ''">
|
|
17
|
+
<slot :name="tab.slot" />
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script lang="ts" setup>
|
|
24
|
+
import { ref, computed, watch } from 'vue';
|
|
25
|
+
import { Size, TabsSizeUtils } from '../../types';
|
|
26
|
+
import { TabsProps } from './interface';
|
|
27
|
+
|
|
28
|
+
const id = Math.random().toString(36).substring(2, 15);
|
|
29
|
+
|
|
30
|
+
const props = withDefaults(defineProps<TabsProps>(), {
|
|
31
|
+
box: false,
|
|
32
|
+
border: false,
|
|
33
|
+
lift: false,
|
|
34
|
+
fullWidth: false,
|
|
35
|
+
placement: 'top',
|
|
36
|
+
size: Size.MD,
|
|
37
|
+
activeTab: 0,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const widthPercentage = computed(() => 100 / props.items.length);
|
|
41
|
+
|
|
42
|
+
const tabsClasses = computed(() => [
|
|
43
|
+
'tabs',
|
|
44
|
+
props.placement === 'top' ? 'tabs-top' : 'tabs-bottom',
|
|
45
|
+
`${TabsSizeUtils.toClassName(props.size)}`,
|
|
46
|
+
{
|
|
47
|
+
'tabs-box': props.box,
|
|
48
|
+
'tabs-border': props.border,
|
|
49
|
+
'tabs-lift': props.lift,
|
|
50
|
+
},
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
const activeIndex = ref(props.activeTab ?? 0);
|
|
54
|
+
|
|
55
|
+
const setActiveTab = (index: number) => {
|
|
56
|
+
activeIndex.value = index;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
watch(() => props.activeTab, (newVal) => {
|
|
60
|
+
activeIndex.value = newVal;
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
defineExpose({
|
|
64
|
+
activeIndex,
|
|
65
|
+
setActiveTab,
|
|
66
|
+
});
|
|
67
|
+
</script>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Size } from "@/types";
|
|
2
|
+
|
|
3
|
+
export type TabsProps = {
|
|
4
|
+
box?: boolean;
|
|
5
|
+
border?: boolean;
|
|
6
|
+
lift?: boolean;
|
|
7
|
+
fullWidth?: boolean;
|
|
8
|
+
placement?: 'top' | 'bottom';
|
|
9
|
+
size?: Size;
|
|
10
|
+
items: TabItem[];
|
|
11
|
+
activeTab?: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type TabItem = {
|
|
15
|
+
label: string;
|
|
16
|
+
slot: string;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
}
|
package/src/components.ts
CHANGED
package/src/types/size.ts
CHANGED
|
@@ -76,3 +76,22 @@ export class TableSizeUtils {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
|
|
80
|
+
export class TabsSizeUtils {
|
|
81
|
+
public static toClassName(size: Size): string {
|
|
82
|
+
switch (size) {
|
|
83
|
+
case Size.XS:
|
|
84
|
+
return 'tabs-xs';
|
|
85
|
+
case Size.SM:
|
|
86
|
+
return 'tabs-sm';
|
|
87
|
+
case Size.MD:
|
|
88
|
+
return 'tabs-md';
|
|
89
|
+
case Size.LG:
|
|
90
|
+
return 'tabs-lg';
|
|
91
|
+
case Size.XL:
|
|
92
|
+
return 'tabs-xl';
|
|
93
|
+
default:
|
|
94
|
+
return 'tabs-md';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|