vx-vue 0.5.0 → 0.5.1
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/LICENSE +21 -21
- package/README.md +37 -36
- package/dist/style.css +1 -1
- package/dist/vxvue.es.js +3 -3
- package/dist/vxvue.umd.js +1 -1
- package/package.json +28 -28
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 Gregor Kofler
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Gregor Kofler
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,36 +1,37 @@
|
|
|
1
|
-
# vxVue
|
|
2
|
-
|
|
3
|
-
## Introduction
|
|
4
|
-
VxVue provides a handful of reusable Vue components styled with Tailwind CSS. All components are geared towards simplicity leaving room for customizations, extensions or adaptations. At some point a more verbose documentation than this brief readme might emerge.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
* Vue.js 3.*
|
|
8
|
-
* Tailwind CSS 3.*
|
|
9
|
-
|
|
10
|
-
The official Tailwind CSS forms plugin is used to provide basic styling of the form components using the class strategy which allows the styling of non-form elements consistently.
|
|
11
|
-
An easy to configure color theming is applied. Since Tailwind won't observe classes in imported components tailwind.config.js should contain
|
|
12
|
-
```
|
|
13
|
-
module.exports = {
|
|
14
|
-
content: [
|
|
15
|
-
'./node_modules/vx-vue/**/*.js',
|
|
16
|
-
...
|
|
17
|
-
],
|
|
18
|
-
...
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
## Provided components
|
|
22
|
-
So far the following components have been implemented:
|
|
23
|
-
|
|
24
|
-
| element
|
|
25
|
-
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
1
|
+
# vxVue
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
VxVue provides a handful of reusable Vue components styled with Tailwind CSS. All components are geared towards simplicity leaving room for customizations, extensions or adaptations. At some point a more verbose documentation than this brief readme might emerge.
|
|
5
|
+
|
|
6
|
+
## Requirements
|
|
7
|
+
* Vue.js 3.*
|
|
8
|
+
* Tailwind CSS 3.*
|
|
9
|
+
|
|
10
|
+
The official Tailwind CSS forms plugin is used to provide basic styling of the form components using the class strategy which allows the styling of non-form elements consistently.
|
|
11
|
+
An easy to configure color theming is applied. Since Tailwind won't observe classes in imported components tailwind.config.js should contain
|
|
12
|
+
```
|
|
13
|
+
module.exports = {
|
|
14
|
+
content: [
|
|
15
|
+
'./node_modules/vx-vue/**/*.js',
|
|
16
|
+
...
|
|
17
|
+
],
|
|
18
|
+
...
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
## Provided components
|
|
22
|
+
So far the following components have been implemented:
|
|
23
|
+
|
|
24
|
+
| element | description |
|
|
25
|
+
|--------------------|----------------------------------------------------------------------------------------------------|
|
|
26
|
+
| `confirm` | promise-based component which can either take one ("confirm") or two buttons ("confirm", "cancel") |
|
|
27
|
+
| `date-input` | input element for guided date inputs, also used by the datepicker |
|
|
28
|
+
| `datepicker` | a bare bones datepicker component |
|
|
29
|
+
| `form-file-button` | a thinly wrapped type-file input to allow proper styling and integration |
|
|
30
|
+
| `form-select` | a select element adapted for Vue.js integration |
|
|
31
|
+
| `form-switch` | a fancy checkbox |
|
|
32
|
+
| `message-toast` | displays a notification which dismisses itself after a configurable timeout |
|
|
33
|
+
| `pagination` | a pagination component for arbitrary items; opinionated in its layout |
|
|
34
|
+
| `password-input` | a simple input with toggle button which toggles between `type='button'` and `type='text'` |
|
|
35
|
+
| `simple-tree` | a simple tree implemented with a recursive component |
|
|
36
|
+
| `sortable` | a sortable table; the `columns` attribute specifies the columns and their sorting options |
|
|
37
|
+
| `tabs` | a tabs component which allows both badges and icons |
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.messagetoast-fade-enter-from[data-v-
|
|
1
|
+
.messagetoast-fade-enter-from[data-v-da8a4323],.messagetoast-fade-leave-to[data-v-da8a4323]{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0}.messagetoast-fade-enter-to[data-v-da8a4323],.messagetoast-fade-leave-from[data-v-da8a4323]{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:1}.messagetoast-fade-enter-active[data-v-da8a4323],.messagetoast-fade-leave-active[data-v-da8a4323]{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}tbody tr[data-v-f21d3cc3]:nth-of-type(odd){--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}tbody tr[data-v-f21d3cc3]:nth-of-type(2n){--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}tbody tr:nth-of-type(odd) td.active[data-v-f21d3cc3]{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity))}tbody tr:nth-of-type(2n) td.active[data-v-f21d3cc3]{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity))}thead th.active[data-v-f21d3cc3]{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}
|
package/dist/vxvue.es.js
CHANGED
|
@@ -725,7 +725,7 @@ const pe = (e, n) => {
|
|
|
725
725
|
for (const [s, t] of n)
|
|
726
726
|
l[s] = t;
|
|
727
727
|
return l;
|
|
728
|
-
}, yt = (e) => ($e("data-v-
|
|
728
|
+
}, yt = (e) => ($e("data-v-da8a4323"), e = e(), _e(), e), kt = {
|
|
729
729
|
"aria-live": "assertive",
|
|
730
730
|
class: "flex fixed inset-0 z-50 items-start py-6 px-4 pointer-events-none sm:p-6"
|
|
731
731
|
}, $t = { class: "flex flex-col items-center space-y-4 w-full" }, _t = { class: "p-4" }, Ct = { class: "flex items-start" }, St = { class: "flex-shrink-0" }, Dt = { class: "flex-1 pt-0.5 ml-3 w-0" }, Mt = { class: "font-bold" }, Vt = { class: "mt-1" }, Pt = { class: "flex flex-shrink-0 ml-4" }, At = /* @__PURE__ */ yt(() => /* @__PURE__ */ c("span", { class: "sr-only" }, "Close", -1)), Bt = /* @__PURE__ */ Object.assign({
|
|
@@ -788,7 +788,7 @@ const pe = (e, n) => {
|
|
|
788
788
|
])
|
|
789
789
|
]));
|
|
790
790
|
}
|
|
791
|
-
}), cl = /* @__PURE__ */ pe(Bt, [["__scopeId", "data-v-
|
|
791
|
+
}), cl = /* @__PURE__ */ pe(Bt, [["__scopeId", "data-v-da8a4323"]]), Ft = { class: "flex justify-between items-center px-4 sm:px-0" }, Lt = { class: "flex flex-1 -mt-px w-0" }, It = ["onClick"], Tt = { class: "hidden md:flex md:-mt-px" }, Ot = { class: "flex flex-1 justify-end -mt-px w-0" }, jt = ["onClick"], dl = {
|
|
792
792
|
__name: "pagination",
|
|
793
793
|
props: {
|
|
794
794
|
page: { type: Number, default: 1 },
|
|
@@ -1089,7 +1089,7 @@ const Kt = { class: "overflow-hidden rounded ring-1 ring-opacity-10 shadow ring-
|
|
|
1089
1089
|
])
|
|
1090
1090
|
]));
|
|
1091
1091
|
}
|
|
1092
|
-
}, pl = /* @__PURE__ */ pe(ll, [["__scopeId", "data-v-
|
|
1092
|
+
}, pl = /* @__PURE__ */ pe(ll, [["__scopeId", "data-v-f21d3cc3"]]);
|
|
1093
1093
|
export {
|
|
1094
1094
|
al as Autocomplete,
|
|
1095
1095
|
nl as Confirm,
|
package/dist/vxvue.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(b,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(b=typeof globalThis<"u"?globalThis:b||self,e(b.vxVue={},b.Vue))})(this,function(b,e){"use strict";function U(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function L(t){return typeof t=="function"?t():e.unref(t)}const T=typeof window<"u"&&typeof document<"u",W=Object.prototype.toString,q=t=>W.call(t)==="[object Object]",M=()=>{},K=G();function G(){var t;return T&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}const X=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function Z(t,r,o,n){let l=t<12?"AM":"PM";return n&&(l=l.split("").reduce((s,c)=>s+=`${c}.`,"")),o?l.toLowerCase():l}function v(t,r,o={}){var n;const l=t.getFullYear(),s=t.getMonth(),c=t.getDate(),a=t.getHours(),d=t.getMinutes(),i=t.getSeconds(),p=t.getMilliseconds(),f=t.getDay(),u=(n=o.customMeridiem)!=null?n:Z,m={YY:()=>String(l).slice(-2),YYYY:()=>l,M:()=>s+1,MM:()=>`${s+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(o.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(o.locales,{month:"long"}),D:()=>String(c),DD:()=>`${c}`.padStart(2,"0"),H:()=>String(a),HH:()=>`${a}`.padStart(2,"0"),h:()=>`${a%12||12}`.padStart(1,"0"),hh:()=>`${a%12||12}`.padStart(2,"0"),m:()=>String(d),mm:()=>`${d}`.padStart(2,"0"),s:()=>String(i),ss:()=>`${i}`.padStart(2,"0"),SSS:()=>`${p}`.padStart(3,"0"),d:()=>f,dd:()=>t.toLocaleDateString(o.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(o.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(o.locales,{weekday:"long"}),A:()=>u(a,d),AA:()=>u(a,d,!1,!0),a:()=>u(a,d,!0),aa:()=>u(a,d,!0,!0)};return r.replace(X,(y,C)=>{var V,S;return(S=C??((V=m[y])==null?void 0:V.call(m)))!=null?S:y})}function _(t){var r;const o=L(t);return(r=o==null?void 0:o.$el)!=null?r:o}const z=T?window:void 0;function P(...t){let r,o,n,l;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,n,l]=t,r=z):[r,o,n,l]=t,!r)return M;Array.isArray(o)||(o=[o]),Array.isArray(n)||(n=[n]);const s=[],c=()=>{s.forEach(p=>p()),s.length=0},a=(p,f,u,m)=>(p.addEventListener(f,u,m),()=>p.removeEventListener(f,u,m)),d=e.watch(()=>[_(r),L(l)],([p,f])=>{if(c(),!p)return;const u=q(f)?{...f}:f;s.push(...o.flatMap(m=>n.map(y=>a(p,m,y,u))))},{immediate:!0,flush:"post"}),i=()=>{d(),c()};return U(i),i}let I=!1;function O(t,r,o={}){const{window:n=z,ignore:l=[],capture:s=!0,detectIframe:c=!1}=o;if(!n)return;K&&!I&&(I=!0,Array.from(n.document.body.children).forEach(u=>u.addEventListener("click",M)),n.document.documentElement.addEventListener("click",M));let a=!0;const d=u=>l.some(m=>{if(typeof m=="string")return Array.from(n.document.querySelectorAll(m)).some(y=>y===u.target||u.composedPath().includes(y));{const y=_(m);return y&&(u.target===y||u.composedPath().includes(y))}}),p=[P(n,"click",u=>{const m=_(t);if(!(!m||m===u.target||u.composedPath().includes(m))){if(u.detail===0&&(a=!d(u)),!a){a=!0;return}r(u)}},{passive:!0,capture:s}),P(n,"pointerdown",u=>{const m=_(t);m&&(a=!u.composedPath().includes(m)&&!d(u))},{passive:!0}),c&&P(n,"blur",u=>{setTimeout(()=>{var m;const y=_(t);((m=n.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(y!=null&&y.contains(n.document.activeElement))&&r(u)},0)})].filter(Boolean);return()=>p.forEach(u=>u())}const J=["value","onKeydown"],Q={class:"absolute right-0 pr-3 flex items-center inset-y-0 text-vxvue-700"},ee={key:0,class:"animate-spin w-5 h-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},te=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)],le={__name:"autocomplete",props:{modelValue:{type:String,default:""},search:{type:Function,required:!0},baseClass:{type:String,default:"vxvue-autocomplete"},resultListClass:{type:String,default:"result-list"},resultItemClass:{type:String,default:"result-list-item"},inputClass:{type:String,default:"autocomplete-input"},autoSelect:{type:Boolean,default:!1},getResultValue:{type:Function,default:t=>t}},emits:["update:modelValue","blur","submit"],setup(t,{emit:r}){const o=t,n=e.useAttrs(),s=(()=>{let h=0;return g=>(g||"")+ ++h})()((n.id||"autocomplete")+"-"),c=e.ref([]),a=e.ref(-1),d=e.ref(0),i=e.ref(!1),p=e.ref(!1),f=e.ref("top-0 translate-y-12"),u=e.ref(!0),m=e.ref(null),y=e.ref(null),C=e.ref(null),V=e.computed(()=>c.value.map((h,g)=>({id:(n.id||"autocomplete")+"-item-"+g,class:["autocomplete-item",o.resultItemClass,{"bg-vxvue-700 text-white":a.value===g}],"data-result-index":g,role:"option",...a.value===g?{"aria-selected":"true"}:{}}))),S=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":s,"aria-expanded":i.value?"true":"false","aria-activedescendant":a.value>-1?V.value[a.value].id:"",...n})),k=e.computed(()=>({id:s,class:["autocomplete-list absolute min-w-full transform z-10",o.resultListClass,f.value],role:"listbox"})),x=()=>{a.value=-1,c.value=[],i.value=!1,u.value=!0},w=h=>{const g=o.search(h);if(g instanceof Promise){const $=++d.value;p.value=!0,g.then(B=>{$===d.value&&(c.value=B,p.value=!1,c.value.length?(a.value=o.autoSelect?0:-1,i.value=!0):x())})}else c.value=g,c.value.length===0?x():(a.value=o.autoSelect?0:-1,i.value=!0)},E=()=>{const h=c.value[a.value];return h&&r("update:modelValue",o.getResultValue(h)),x(),h},F=h=>{r("update:modelValue",h),w(h)},D=h=>w(h.target.value),N=()=>{x(),r("blur")},A=()=>{const h=c.value.length;a.value=((a.value-1)%h+h)%h},$t=h=>{i.value||D(h);const g=c.value.length;a.value=((a.value+1)%g+g)%g},Ct=()=>{x(),r("update:modelValue","")},St=()=>r("submit",E()),_t=h=>{const g=h.target.closest("[data-result-index]");g&&(a.value=parseInt(g.dataset.resultIndex,10),r("submit",E()))};return O(C,x),e.onUpdated(()=>{if(m.value){const h=y.value.getBoundingClientRect(),g=m.value.getBoundingClientRect();u.value&&c.value.length&&(u.value=!1,f.value=h.bottom+g.height>window.innerHeight&&window.innerHeight-h.bottom<h.top&&window.pageYOffset+h.top-g.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const $=m.value.querySelector('[data-result-index="'+a.value+'"]');if($){let B=$.getBoundingClientRect();B.top<g.top?m.value.scrollTop-=g.top-B.top:B.bottom>g.bottom&&(m.value.scrollTop+=B.bottom-g.bottom)}}}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative inline-block",h.$attrs.class]),ref_key:"container",ref:C},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:y,class:"form-input w-full block focus:border-vxvue pr-10",value:t.modelValue},S.value,{onInput:g[0]||(g[0]=$=>F($.target.value)),onKeydown:[e.withKeys(St,["enter"]),e.withKeys(Ct,["esc"]),e.withKeys(E,["tab"]),e.withKeys(e.withModifiers(A,["prevent"]),["up"]),e.withKeys(e.withModifiers($t,["prevent"]),["down"])],onFocus:D,onBlur:N}),null,16,J),e.createElementVNode("span",Q,[p.value?(e.openBlock(),e.createElementBlock("svg",ee,te)):e.createCommentVNode("",!0)]),c.value.length?(e.openBlock(),e.createElementBlock("ul",e.mergeProps({key:0,ref_key:"resultList",ref:m},k.value,{onClick:_t,onMousedown:g[1]||(g[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,($,B)=>e.renderSlot(h.$slots,"result",{result:$,props:V.value[B]},()=>[(e.openBlock(),e.createElementBlock("li",e.mergeProps({key:V.value[B].id},V.value[B]),e.toDisplayString(t.getResultValue($)),17))])),256))],16)):e.createCommentVNode("",!0)],2))}},oe={key:0,class:"fixed inset-0 z-50 bg-black bg-opacity-50 backdrop-blur-sm","aria-hidden":"true"},ne={key:0,class:"overflow-y-auto fixed inset-0 z-50"},ae={class:"flex justify-center items-end px-4 pt-4 pb-20 min-h-screen text-center sm:block sm:p-0"},re={key:0},se=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"",-1),ce={class:"inline-block overflow-hidden text-left align-bottom bg-white rounded shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},ie={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},de={class:"flex flex-row items-center"},ue={class:"flex-shrink-0"},me={class:"flex-grow text-center"},pe=["onClick"],fe={__name:"confirm",props:{buttons:{type:[Object,Array],default:{label:"Ok"},validator:t=>Array.isArray(t)&&t.length<=2&&t.filter(r=>r.label!=="undefined"&&r.value!=="undefined").length===t.length||t.label!==void 0&&t.value!==void 0},headerClass:{type:String,default:"text-vxvue-alt-900 bg-vxvue-alt-400"},buttonClass:{type:String,default:"button"}},setup(t,{expose:r}){const o=t,n=e.ref(""),l=e.ref(""),s=e.ref(!1);let c=null,a=null;const d=e.computed(()=>Array.isArray(o.buttons)?o.buttons:[o.buttons]),i=e.ref(null);return r({open:(f,u)=>(n.value=f,l.value=u,s.value=!0,e.nextTick(()=>i.value.firstElementChild.focus()),new Promise((m,y)=>{c=m,a=y}))}),(f,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[s.value?(e.openBlock(),e.createElementBlock("div",oe)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",ae,[s.value?(e.openBlock(),e.createElementBlock("div",re,[se,e.createElementVNode("div",ce,[n.value?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(["py-4 pt-4 text-lg font-medium text-center sm:py-6",t.headerClass])},[e.renderSlot(f.$slots,"title",{title:n.value},()=>[e.createTextVNode(e.toDisplayString(n.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",ie,[e.createElementVNode("div",de,[e.createElementVNode("div",ue,[e.renderSlot(f.$slots,"icon")]),e.createElementVNode("p",me,[e.renderSlot(f.$slots,"default",{message:l.value},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])])]),e.createElementVNode("div",{class:"flex justify-center mt-5 space-x-2 sm:mt-6",ref_key:"buttonsContainer",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(m,y)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([t.buttonClass,m.class]),onClick:e.withModifiers(C=>{s.value=!1,y===0?e.unref(c)():e.unref(a)()},["prevent"])},e.toDisplayString(m.label),11,pe))),256))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function he(t,r){const o=e.ref(!1),n=e.toValue(r);let l,s=n.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),c=[];if((l=n.match(/\bd\b/gi))&&l.length===1)s=s.replace("d","(\\d{1,2})");else if((l=n.match(/\bdd\b/gi))&&l.length===1)s=s.replace("dd","(\\d{2})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("d"),destPos:2}),(l=n.match(/\bm\b/gi))&&l.length===1)s=s.replace("m","(\\d{1,2})");else if((l=n.match(/\bmm\b/gi))&&l.length===1)s=s.replace("mm","(\\d{2})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("m"),destPos:1}),(l=n.match(/\byyyy\b/gi))&&l.length===1)s=s.replace("yyyy","(\\d{4})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("y"),destPos:0}),!(l=e.toValue(t).match(s)))return{date:o};l.shift(),c.sort((p,f)=>p.srcPos<f.srcPos?-1:1);let a=[],d,i;for(;d=l.shift();)i=c.shift(),a[i.destPos]=d;return a=Date.parse(a.join("-")),a&&(a=new Date(a),o.value=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0)),{date:o}}const ge={key:0},ke={class:"text-vxvue-700"},we=[e.createElementVNode("svg",{class:"w-2 h-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1)],ye=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[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)],j={__name:"date-input",props:{outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showButton:{type:Boolean,default:!0},locale:{type:String,default:"default"},modelValue:Date},emits:["update:modelValue","toggle-datepicker"],setup(t,{emit:r}){const o=t,n=e.ref(""),l=e.computed(()=>o.modelValue?v(o.modelValue,o.outputFormat):""),s=e.computed(()=>{let c=Object.assign({},e.useAttrs());return delete c.class,c});return e.watch(()=>o.modelValue,c=>n.value=c?v(c,o.outputFormat):""),(c,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",c.$attrs.class])},[l.value?(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showButton}])},[e.createElementVNode("span",ke,e.toDisplayString(l.value),1),e.createElementVNode("button",{onClick:a[0]||(a[0]=d=>r("update:modelValue",null)),class:"inline-flex flex-shrink-0 justify-center items-center ml-2 w-4 h-4 rounded-full focus:text-white focus:outline-none text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700"},we)],2)])):e.withDirectives((e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,type:"text",class:["block w-full form-input focus:border-vxvue peer",{"pr-10":t.showButton}],"onUpdate:modelValue":a[1]||(a[1]=d=>n.value=d),onBlur:a[2]||(a[2]=d=>{var i;return r("update:modelValue",((i=e.unref(he)(n.value,o.inputFormat).date)==null?void 0:i.value)||null)}),onInput:a[3]||(a[3]=e.withModifiers(()=>{},["prevent"]))},s.value),null,16)),[[e.vModelText,n.value]]),t.showButton?(e.openBlock(),e.createElementBlock("button",{key:2,class:"flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700 hover:text-vxvue",onClick:a[4]||(a[4]=e.withModifiers(d=>r("toggle-datepicker"),["stop"]))},ye)):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}};function Y(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.72 12.53a.75.75 0 010-1.06l7.5-7.5a.75.75 0 111.06 1.06L9.31 12l6.97 6.97a.75.75 0 11-1.06 1.06l-7.5-7.5z","clip-rule":"evenodd"})])}function R(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 010 1.06l-7.5 7.5a.75.75 0 01-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 011.06-1.06l7.5 7.5z","clip-rule":"evenodd"})])}function be(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M3.75 12a.75.75 0 01.75-.75h15a.75.75 0 010 1.5h-15a.75.75 0 01-.75-.75z","clip-rule":"evenodd"})])}function xe(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12 3.75a.75.75 0 01.75.75v6.75h6.75a.75.75 0 010 1.5h-6.75v6.75a.75.75 0 01-1.5 0v-6.75H4.5a.75.75 0 010-1.5h6.75V4.5a.75.75 0 01.75-.75z","clip-rule":"evenodd"})])}function Be(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z","clip-rule":"evenodd"})])}const Ve={class:"flex flex-row items-center py-2 px-3 text-white bg-vxvue-700"},Ee=["onClick"],$e={class:"flex-grow text-center"},Ce=["onClick"],Se={class:"grid grid-cols-7 gap-0.5 p-0.5"},_e=["disabled","onClick"],Ne={__name:"datepicker",props:{modelValue:[Date,Boolean],validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},emits:["update:modelValue","month-change"],setup(t,{emit:r}){const o=t,n=(()=>{let k=new Date;return new Date(k.getFullYear(),k.getMonth(),k.getDate())})(),l=e.ref(new Date(n.getFullYear(),n.getMonth(),1)),s=e.ref(null),c=e.ref(!o.hasInput),a=e.ref("left-0"),d=e.ref("top-0"),i=e.ref(null),p=e.ref(null),f=e.computed(()=>o.hasInput?{class:["absolute",c.value?"block":"hidden"]}:{}),u=e.computed(()=>{const k=[],x=l.value.getFullYear(),w=l.value.getMonth(),E=new Date(x,w+1,0),F=new Date(x,w,0).getDay()+1-o.startOfWeekIndex,D=(6+o.startOfWeekIndex-E.getDay())%7;for(let N=-F,A=E.getDate()+D;N<A;++N)k.push(new Date(x,w,N+1));return k}),m=e.computed(()=>o.startOfWeekIndex?o.dayNames.slice(1).concat(o.dayNames[0]):o.dayNames.slice());e.watch(()=>o.modelValue,k=>{k?(s.value=new Date(k.getFullYear(),k.getMonth(),k.getDate()),l.value=new Date(s.value.getTime())):(s.value=null,l.value=new Date(n.getTime())),l.value.setDate(1)},{immediate:!0}),e.watch(c,k=>{k&&o.hasInput&&e.nextTick(()=>{const x=i.value.$el.getBoundingClientRect(),w=p.value.getBoundingClientRect();a.value=x.left+w.width>window.innerWidth?"right-0":"left-0",d.value=x.bottom+w.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"})}),O(p,()=>c.value=!1);const y=()=>{l.value=new Date(l.value.getFullYear(),l.value.getMonth()-1,1),r("month-change",l.value)},C=()=>{l.value=new Date(l.value.getFullYear(),l.value.getMonth()+1,1),r("month-change",l.value)},V=k=>{s.value=k,r("update:modelValue",k),c.value=!o.hasInput},S=k=>{s.value=k,r("update:modelValue",k)};return(k,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",k.$attrs.class])},[t.hasInput?(e.openBlock(),e.createBlock(j,e.mergeProps({key:0,modelValue:s.value,onToggleDatepicker:x[0]||(x[0]=w=>c.value=!0),"onUpdate:modelValue":S},k.$attrs,{ref_key:"input",ref:i,class:"w-full",locale:t.locale}),{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default")]),_:3},16,["modelValue","locale"])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({class:"z-10 bg-white shadow-md"},f.value,{ref_key:"calendar",ref:p,class:[a.value,d.value]}),[e.createElementVNode("div",Ve,[e.createElementVNode("button",{onClick:e.withModifiers(y,["stop"]),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(Y),{class:"w-6 h-6"})],8,Ee),e.createElementVNode("div",$e,e.toDisplayString(l.value.toLocaleString(t.locale,{month:"long"}))+" "+e.toDisplayString(l.value.getFullYear()),1),e.createElementVNode("button",{onClick:e.withModifiers(C,["stop"]),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(R),{class:"w-6 h-6"})],8,Ce)]),e.createElementVNode("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(w,E)=>(e.openBlock(),e.createElementBlock("div",{class:"py-2 text-center bg-gray-200",key:E},e.toDisplayString(w),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,w=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["text-center",w.getMonth()-l.value.getMonth()===0?"text-vxvue-700":"text-gray-400"])},[e.createElementVNode("button",{class:e.normalizeClass([{"bg-vxvue-700 text-white":s.value&&w.getTime()===s.value.getTime(),"bg-gray-200":w.getTime()===e.unref(n).getTime(),"text-red-400":t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w},"py-2 px-3 rounded-sm"]),disabled:t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w,onClick:e.withModifiers(E=>t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w?null:V(w),["stop"])},e.toDisplayString(w.getDate()),11,_e)],2))),256))])],16)],2))}},De=["for"],Me=["id","multiple","accept"],Pe={__name:"form-file-button",props:{modelValue:{type:Array},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},id:{type:String,default:"form-file-button-"+Math.ceil(Math.random()*1e3)}},emits:["update:modelValue","form-data"],setup(t,{emit:r}){const o=t,n=s=>{const c=new FormData;for(let a of s)c.append(o.name,a,a.name);return c},l=s=>{const c=s.target.files||s.dataTransfer.files;if(c){const a=[...c];r("update:modelValue",a),r("form-data",n(a))}};return(s,c)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode("Upload")]),e.createElementVNode("input",{type:"file",id:t.id,multiple:t.multiple,accept:t.accept,onChange:l,class:"hidden"},null,40,Me)],8,De))}},Fe=["value"],Ae={key:0,disabled:"",value:""},Le=["value","selected"],Te={__name:"form-select",props:{options:Array,modelValue:[String,Number],disabledLabel:String},emits:["update:modelValue"],setup(t,{emit:r}){return(o,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{value:t.modelValue,class:"form-select",onChange:n[0]||(n[0]=l=>r("update:modelValue",l.target.value))}),[t.disabledLabel?(e.openBlock(),e.createElementBlock("option",Ae,e.toDisplayString(t.disabledLabel),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,l=>(e.openBlock(),e.createElementBlock("option",{value:l.key!==void 0?l.key:l.label||l,selected:(l.key!==void 0?l.key:l.label||l)===t.modelValue},e.toDisplayString(l.label||l),9,Le))),256))],16,Fe))}},ve=["aria-checked"],ze=["checked"],Ie={__name:"form-switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=t,n=e.computed(()=>o.modelValue?"bg-vxvue":"bg-slate-200"),l=e.computed(()=>o.modelValue?"translate-x-5":"translate-x-0"),s=e.computed(()=>{let c=Object.assign({},e.useAttrs());return delete c.class,c});return(c,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("label",{class:e.normalizeClass(c.$attrs.class)},[e.createElementVNode("span",{class:e.normalizeClass([n.value,"inline-flex relative flex-shrink-0 w-11 h-6 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out cursor-pointer focus:ring-2 focus:ring-offset-2 focus:outline-none focus:ring-vxvue"]),role:"switch","aria-checked":!!t.modelValue},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass([l.value,"inline-block w-5 h-5 bg-white rounded-full ring-0 shadow transition duration-200 ease-in-out transform pointer-events-none"])},null,2),e.createElementVNode("input",e.mergeProps({class:"hidden",value:"1",type:"checkbox",onChange:a[0]||(a[0]=d=>r("update:modelValue",d.target.checked))},s.value,{checked:t.modelValue}),null,16,ze)],10,ve)],2),e.renderSlot(c.$slots,"default")],64))}},Ft="",H=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},Oe=t=>(e.pushScopeId("data-v-1be10676"),t=t(),e.popScopeId(),t),je={"aria-live":"assertive",class:"flex fixed inset-0 z-50 items-start py-6 px-4 pointer-events-none sm:p-6"},Ye={class:"flex flex-col items-center space-y-4 w-full"},Re={class:"p-4"},He={class:"flex items-start"},Ue={class:"flex-shrink-0"},We={class:"flex-1 pt-0.5 ml-3 w-0"},qe={class:"font-bold"},Ke={class:"mt-1"},Ge={class:"flex flex-shrink-0 ml-4"},Xe=Oe(()=>e.createElementVNode("span",{class:"sr-only"},"Close",-1)),Ze=H(Object.assign({inheritAttrs:!1},{__name:"message-toast",props:{title:String,message:[String,Array],timeout:{type:Number,default:5e3},active:{type:Boolean,default:!1}},emits:["timeout","close"],setup(t,{emit:r}){const o=t,n=e.ref(null),l=e.computed(()=>typeof o.message=="string"?[o.message]:o.message),s=()=>{window.clearTimeout(n.value),o.active&&o.timeout&&(n.value=window.setTimeout(()=>{r("timeout")},o.timeout))};return e.watch(()=>o.active,s),e.onMounted(s),(c,a)=>(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",Ye,[e.createVNode(e.Transition,{name:"messagetoast-fade"},{default:e.withCtx(()=>[t.active?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["overflow-hidden w-full max-w-sm rounded-md ring-1 ring-black ring-opacity-5 shadow-lg pointer-events-auto",c.$attrs.class])},[e.createElementVNode("div",Re,[e.createElementVNode("div",He,[e.createElementVNode("div",Ue,[e.renderSlot(c.$slots,"icon",{},void 0,!0)]),e.createElementVNode("div",We,[e.createElementVNode("p",qe,[e.renderSlot(c.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,d=>(e.openBlock(),e.createElementBlock("p",Ke,[e.renderSlot(c.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(d),1)],!0)]))),256))]),e.createElementVNode("div",Ge,[e.createElementVNode("button",{onClick:a[0]||(a[0]=d=>r("close")),class:"inline-flex text-white bg-black bg-opacity-20 rounded-sm focus:ring-2 focus:outline-none hover:text-stone-200 focus:ring-stone-200"},[Xe,e.createVNode(e.unref(Be),{class:"w-5 h-5"})])])])])],2)):e.createCommentVNode("",!0)]),_:3})])]))}}),[["__scopeId","data-v-1be10676"]]),Je={class:"flex justify-between items-center px-4 sm:px-0"},Qe={class:"flex flex-1 -mt-px w-0"},et=["onClick"],tt={class:"hidden md:flex md:-mt-px"},lt={class:"flex flex-1 justify-end -mt-px w-0"},ot=["onClick"],nt={__name:"pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator(t){return t>=1}},showNavButtons:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"},showAllPages:{type:Boolean,default:!1},markerPosition:{type:String,default:"above",validator(t){return["above","below"].indexOf(t)!==-1}}},emits:["update:page"],setup(t,{emit:r}){const o=t,n=e.ref(Math.ceil(o.total/o.perPage)),l=e.ref(null),s=e.computed(()=>o.markerPosition==="above"?"border-t-2 pt-4":"border-b-2 pb-4"),c=e.computed(()=>{let i=[1];if(o.showAllPages||n.value<=7){for(let p=2;p<=n.value;++p)i.push(p);return i}return l.value>=n.value?i.push("dots",l.value-2,l.value-1):l.value-1&&l.value-1>1&&(l.value>1&&i.push("dots"),i.push(l.value-1)),l.value>1&&i.push(l.value),l.value+1<n.value&&(i.push(l.value+1),l.value<=1&&i.push(l.value+2),l.value+2<this.maxPage&&i.push("dots")),l.value<this.maxPage&&i.push(this.maxPage),i}),a=()=>{l.value>1&&r("update:page",l.value-1)},d=()=>{l.value<n.value&&r("update:page",l.value+1)};return e.watch(()=>o.page,i=>l.value=Math.min(Math.max(i,1),n.value),{immediate:!0}),e.watch(()=>o.perPage,i=>{n.value=Math.ceil(o.total/o.perPage),r("update:page",1)}),e.watch(()=>o.total,i=>{n.value=Math.ceil(o.total/o.perPage),l.value>n.value&&r("update:page",1)}),(i,p)=>(e.openBlock(),e.createElementBlock("nav",Je,[e.createElementVNode("div",Qe,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(a,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pr-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300",[{"cursor-default pointer-events-none":l.value<=1},s.value]])},[e.createVNode(e.unref(Y),{class:"w-5 h-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],10,et)):e.createCommentVNode("",!0)]),e.createElementVNode("div",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(f,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f!=="dots"?"a":"span"),{onClick:e.withModifiers(m=>f!=="dots"?r("update:page",f):null,["prevent"]),key:u,href:f!=="dots"?"#":null,class:e.normalizeClass(["inline-flex items-center px-4 text-sm font-medium",[{"border-vxvue-500 text-vxvue-700":f===l.value,"border-transparent text-gray-500":f!==l.value,"hover:text-gray-700 hover:border-gray-300":f!=="dots"},s.value]])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f!=="dots"?f:"..."),1)]),_:2},1032,["onClick","href","class"]))),128))]),e.createElementVNode("div",lt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(d,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pl-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300",[s.value,{"cursor-default pointer-events-none":l.value>=n.value}]])},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(R),{class:"w-5 h-5"})],10,ot)):e.createCommentVNode("",!0)])]))}};function at(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"})])}function rt(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})])}const st=["value","type"],ct=Object.assign({inheritAttrs:!1},{__name:"password-input",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=e.ref(!1),n=e.computed(()=>{let l=Object.assign({},e.useAttrs());return delete l.class,l});return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.createElementVNode("input",e.mergeProps({value:t.modelValue,type:o.value?"text":"password",onInput:s[0]||(s[0]=c=>r("update:modelValue",c.target.value))},n.value,{class:"block pr-10 w-full form-input peer"}),null,16,st),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(c=>o.value=!o.value,["stop"])),class:"flex absolute inset-y-0 right-0 items-center pr-3 text-brand-700 hover:text-brand"},[o.value?(e.openBlock(),e.createBlock(e.unref(at),{key:0,class:"w-5 h-5"})):(e.openBlock(),e.createBlock(e.unref(rt),{key:1,class:"w-5 h-5"}))]),e.renderSlot(l.$slots,"default")],2))}}),it={class:"flex items-center pb-1"},dt=["id","checked"],ut=["for"],mt={key:1},pt=["href"],ft={key:0,class:"ml-6"},ht=Object.assign({inheritAttrs:!1},{__name:"simple-tree",props:{branch:{type:Object,default:{}}},emits:["branch-selected","expand"],setup(t,{emit:r}){const o=t,n=e.ref(!1);return e.onMounted(()=>{o.branch.current&&r("expand",!0)}),(l,s)=>{const c=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",l.$attrs.class])},[e.createElementVNode("div",it,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("input",{type:"checkbox",id:"branch-"+t.branch.id,onClick:s[0]||(s[0]=a=>n.value=!n.value),checked:n.value,class:"hidden"},null,8,dt),e.createElementVNode("label",{for:"branch-"+t.branch.id,class:"mr-2"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value?e.unref(be):e.unref(xe)),{class:"w-4 h-4 border"}))],8,ut)],64)):e.createCommentVNode("",!0),t.branch.current?(e.openBlock(),e.createElementBlock("strong",mt,e.toDisplayString(t.branch.label),1)):(e.openBlock(),e.createElementBlock("a",{key:2,href:t.branch.path,onClick:s[1]||(s[1]=e.withModifiers(a=>r("branch-selected",t.branch),["prevent"]))},e.toDisplayString(t.branch.label),9,pt))]),t.branch.branches&&t.branch.branches.length?e.withDirectives((e.openBlock(),e.createElementBlock("ul",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.branch.branches,a=>(e.openBlock(),e.createBlock(c,{branch:a,key:a.id,onBranchSelected:s[2]||(s[2]=d=>r("branch-selected",d)),onExpand:s[3]||(s[3]=d=>{n.value=d,r("expand",d)})},null,8,["branch"]))),128))],512)),[[e.vShow,n.value]]):e.createCommentVNode("",!0)],2)}}}),Lt="",gt={class:"overflow-hidden rounded ring-1 ring-opacity-10 shadow ring-slate-500"},kt={class:"min-w-full divide-y divide-y-slate-900"},wt={class:"text-white bg-slate-700"},yt=["onClick"],bt={class:"flex items-center"},xt={key:0,xmlns:"http://www.w3.org/2000/svg",class:"flex-shrink-0 ml-2 w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Bt=["d"],Vt={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 9l4-4 4 4m0 6l-4 4-4-4"},Et=H({__name:"sortable",props:{columns:{type:Array,required:!0,validator:t=>{for(const r of t)if(r.label===void 0||r.prop===void 0)return!1;return!0}},rows:{type:Array,required:!0},offset:{type:Number,default:null},count:{type:Number,default:null},sortProp:{type:String},sortDirection:{type:String,validator:t=>!t||["asc","desc"].indexOf(t)!==-1},keyProperty:{type:String,default:"key"}},emits:["before-sort","after-sort"],setup(t,{emit:r}){const o=t,n=e.ref(o.sortProp),l=e.ref(o.sortDirection),s=e.computed(()=>{let a=o.rows.slice();const d=o.columns.find(({prop:i})=>i===n.value);return d&&(l.value==="asc"&&d.sortAscFunction?a.sort(d.sortAscFunction):l.value==="desc"&&d.sortDescFunction?a.sort(d.sortDescFunction):a.sort((i,p)=>i[n.value]<p[n.value]?l.value==="asc"?-1:1:i[n.value]>p[n.value]?l.value==="asc"?1:-1:0)),a.slice(o.offset||0,(o.offset||0)+(o.count||a.length))}),c=a=>{r("before-sort",{prop:n.value,dir:l.value}),n.value===a?l.value=l.value==="asc"?"desc":"asc":(n.value=a,l.value=l.value||"asc"),e.nextTick(()=>r("after-sort",{prop:n.value,dir:l.value}))};return(a,d)=>(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("table",kt,[e.createElementVNode("thead",wt,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("th",{scope:"col",class:e.normalizeClass(["py-3 px-6 text-left",[{"cursor-pointer":i.sortable,active:n.value===i.prop},i.cssClass]]),onClick:p=>i.sortable?c(i.prop):null},[e.renderSlot(a.$slots,i.prop+"-header",{column:i,sortDir:l.value,sortProp:n.value},()=>[e.createElementVNode("div",bt,[e.createElementVNode("span",null,e.toDisplayString(i.label),1),i.sortable?(e.openBlock(),e.createElementBlock("svg",xt,[n.value===i.prop?(e.openBlock(),e.createElementBlock("path",{key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:l.value==="asc"?"M19 9l-7 7-7-7":"M5 15l7-7 7 7"},null,8,Bt)):(e.openBlock(),e.createElementBlock("path",Vt))])):e.createCommentVNode("",!0)])],!0)],10,yt))),256))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createElementBlock("tr",{key:i[t.keyProperty],class:e.normalizeClass(i.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,p=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(["py-3 px-6 whitespace-nowrap",{active:n.value===p.prop}])},[e.renderSlot(a.$slots,p.prop,{row:i},()=>[e.createTextVNode(e.toDisplayString(i[p.prop]),1)],!0)],2))),256))],2))),128))])])]))}},[["__scopeId","data-v-f0e4e642"]]);b.Autocomplete=le,b.Confirm=fe,b.DateInput=j,b.Datepicker=Ne,b.FormFileButton=Pe,b.FormSelect=Te,b.FormSwitch=Ie,b.MessageToast=Ze,b.Pagination=nt,b.PasswordInput=ct,b.SimpleTree=ht,b.Sortable=Et,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(b,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(b=typeof globalThis<"u"?globalThis:b||self,e(b.vxVue={},b.Vue))})(this,function(b,e){"use strict";function U(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function L(t){return typeof t=="function"?t():e.unref(t)}const T=typeof window<"u"&&typeof document<"u",W=Object.prototype.toString,q=t=>W.call(t)==="[object Object]",M=()=>{},K=G();function G(){var t;return T&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}const X=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function Z(t,r,o,n){let l=t<12?"AM":"PM";return n&&(l=l.split("").reduce((s,c)=>s+=`${c}.`,"")),o?l.toLowerCase():l}function v(t,r,o={}){var n;const l=t.getFullYear(),s=t.getMonth(),c=t.getDate(),a=t.getHours(),d=t.getMinutes(),i=t.getSeconds(),p=t.getMilliseconds(),f=t.getDay(),u=(n=o.customMeridiem)!=null?n:Z,m={YY:()=>String(l).slice(-2),YYYY:()=>l,M:()=>s+1,MM:()=>`${s+1}`.padStart(2,"0"),MMM:()=>t.toLocaleDateString(o.locales,{month:"short"}),MMMM:()=>t.toLocaleDateString(o.locales,{month:"long"}),D:()=>String(c),DD:()=>`${c}`.padStart(2,"0"),H:()=>String(a),HH:()=>`${a}`.padStart(2,"0"),h:()=>`${a%12||12}`.padStart(1,"0"),hh:()=>`${a%12||12}`.padStart(2,"0"),m:()=>String(d),mm:()=>`${d}`.padStart(2,"0"),s:()=>String(i),ss:()=>`${i}`.padStart(2,"0"),SSS:()=>`${p}`.padStart(3,"0"),d:()=>f,dd:()=>t.toLocaleDateString(o.locales,{weekday:"narrow"}),ddd:()=>t.toLocaleDateString(o.locales,{weekday:"short"}),dddd:()=>t.toLocaleDateString(o.locales,{weekday:"long"}),A:()=>u(a,d),AA:()=>u(a,d,!1,!0),a:()=>u(a,d,!0),aa:()=>u(a,d,!0,!0)};return r.replace(X,(y,C)=>{var V,S;return(S=C??((V=m[y])==null?void 0:V.call(m)))!=null?S:y})}function _(t){var r;const o=L(t);return(r=o==null?void 0:o.$el)!=null?r:o}const z=T?window:void 0;function P(...t){let r,o,n,l;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,n,l]=t,r=z):[r,o,n,l]=t,!r)return M;Array.isArray(o)||(o=[o]),Array.isArray(n)||(n=[n]);const s=[],c=()=>{s.forEach(p=>p()),s.length=0},a=(p,f,u,m)=>(p.addEventListener(f,u,m),()=>p.removeEventListener(f,u,m)),d=e.watch(()=>[_(r),L(l)],([p,f])=>{if(c(),!p)return;const u=q(f)?{...f}:f;s.push(...o.flatMap(m=>n.map(y=>a(p,m,y,u))))},{immediate:!0,flush:"post"}),i=()=>{d(),c()};return U(i),i}let I=!1;function O(t,r,o={}){const{window:n=z,ignore:l=[],capture:s=!0,detectIframe:c=!1}=o;if(!n)return;K&&!I&&(I=!0,Array.from(n.document.body.children).forEach(u=>u.addEventListener("click",M)),n.document.documentElement.addEventListener("click",M));let a=!0;const d=u=>l.some(m=>{if(typeof m=="string")return Array.from(n.document.querySelectorAll(m)).some(y=>y===u.target||u.composedPath().includes(y));{const y=_(m);return y&&(u.target===y||u.composedPath().includes(y))}}),p=[P(n,"click",u=>{const m=_(t);if(!(!m||m===u.target||u.composedPath().includes(m))){if(u.detail===0&&(a=!d(u)),!a){a=!0;return}r(u)}},{passive:!0,capture:s}),P(n,"pointerdown",u=>{const m=_(t);m&&(a=!u.composedPath().includes(m)&&!d(u))},{passive:!0}),c&&P(n,"blur",u=>{setTimeout(()=>{var m;const y=_(t);((m=n.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(y!=null&&y.contains(n.document.activeElement))&&r(u)},0)})].filter(Boolean);return()=>p.forEach(u=>u())}const J=["value","onKeydown"],Q={class:"absolute right-0 pr-3 flex items-center inset-y-0 text-vxvue-700"},ee={key:0,class:"animate-spin w-5 h-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},te=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)],le={__name:"autocomplete",props:{modelValue:{type:String,default:""},search:{type:Function,required:!0},baseClass:{type:String,default:"vxvue-autocomplete"},resultListClass:{type:String,default:"result-list"},resultItemClass:{type:String,default:"result-list-item"},inputClass:{type:String,default:"autocomplete-input"},autoSelect:{type:Boolean,default:!1},getResultValue:{type:Function,default:t=>t}},emits:["update:modelValue","blur","submit"],setup(t,{emit:r}){const o=t,n=e.useAttrs(),s=(()=>{let h=0;return g=>(g||"")+ ++h})()((n.id||"autocomplete")+"-"),c=e.ref([]),a=e.ref(-1),d=e.ref(0),i=e.ref(!1),p=e.ref(!1),f=e.ref("top-0 translate-y-12"),u=e.ref(!0),m=e.ref(null),y=e.ref(null),C=e.ref(null),V=e.computed(()=>c.value.map((h,g)=>({id:(n.id||"autocomplete")+"-item-"+g,class:["autocomplete-item",o.resultItemClass,{"bg-vxvue-700 text-white":a.value===g}],"data-result-index":g,role:"option",...a.value===g?{"aria-selected":"true"}:{}}))),S=e.computed(()=>({role:"combobox",autocomplete:"off",autocapitalize:"off",autocorrect:"off",spellcheck:"false","aria-autocomplete":"list","aria-haspopup":"listbox","aria-owns":s,"aria-expanded":i.value?"true":"false","aria-activedescendant":a.value>-1?V.value[a.value].id:"",...n})),k=e.computed(()=>({id:s,class:["autocomplete-list absolute min-w-full transform z-10",o.resultListClass,f.value],role:"listbox"})),x=()=>{a.value=-1,c.value=[],i.value=!1,u.value=!0},w=h=>{const g=o.search(h);if(g instanceof Promise){const $=++d.value;p.value=!0,g.then(B=>{$===d.value&&(c.value=B,p.value=!1,c.value.length?(a.value=o.autoSelect?0:-1,i.value=!0):x())})}else c.value=g,c.value.length===0?x():(a.value=o.autoSelect?0:-1,i.value=!0)},E=()=>{const h=c.value[a.value];return h&&r("update:modelValue",o.getResultValue(h)),x(),h},F=h=>{r("update:modelValue",h),w(h)},D=h=>w(h.target.value),N=()=>{x(),r("blur")},A=()=>{const h=c.value.length;a.value=((a.value-1)%h+h)%h},$t=h=>{i.value||D(h);const g=c.value.length;a.value=((a.value+1)%g+g)%g},Ct=()=>{x(),r("update:modelValue","")},St=()=>r("submit",E()),_t=h=>{const g=h.target.closest("[data-result-index]");g&&(a.value=parseInt(g.dataset.resultIndex,10),r("submit",E()))};return O(C,x),e.onUpdated(()=>{if(m.value){const h=y.value.getBoundingClientRect(),g=m.value.getBoundingClientRect();u.value&&c.value.length&&(u.value=!1,f.value=h.bottom+g.height>window.innerHeight&&window.innerHeight-h.bottom<h.top&&window.pageYOffset+h.top-g.height>0?"bottom-0 -translate-y-12":"top-0 translate-y-12");const $=m.value.querySelector('[data-result-index="'+a.value+'"]');if($){let B=$.getBoundingClientRect();B.top<g.top?m.value.scrollTop-=g.top-B.top:B.bottom>g.bottom&&(m.value.scrollTop+=B.bottom-g.bottom)}}}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative inline-block",h.$attrs.class]),ref_key:"container",ref:C},[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:y,class:"form-input w-full block focus:border-vxvue pr-10",value:t.modelValue},S.value,{onInput:g[0]||(g[0]=$=>F($.target.value)),onKeydown:[e.withKeys(St,["enter"]),e.withKeys(Ct,["esc"]),e.withKeys(E,["tab"]),e.withKeys(e.withModifiers(A,["prevent"]),["up"]),e.withKeys(e.withModifiers($t,["prevent"]),["down"])],onFocus:D,onBlur:N}),null,16,J),e.createElementVNode("span",Q,[p.value?(e.openBlock(),e.createElementBlock("svg",ee,te)):e.createCommentVNode("",!0)]),c.value.length?(e.openBlock(),e.createElementBlock("ul",e.mergeProps({key:0,ref_key:"resultList",ref:m},k.value,{onClick:_t,onMousedown:g[1]||(g[1]=e.withModifiers(()=>{},["prevent"]))}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,($,B)=>e.renderSlot(h.$slots,"result",{result:$,props:V.value[B]},()=>[(e.openBlock(),e.createElementBlock("li",e.mergeProps({key:V.value[B].id},V.value[B]),e.toDisplayString(t.getResultValue($)),17))])),256))],16)):e.createCommentVNode("",!0)],2))}},oe={key:0,class:"fixed inset-0 z-50 bg-black bg-opacity-50 backdrop-blur-sm","aria-hidden":"true"},ne={key:0,class:"overflow-y-auto fixed inset-0 z-50"},ae={class:"flex justify-center items-end px-4 pt-4 pb-20 min-h-screen text-center sm:block sm:p-0"},re={key:0},se=e.createElementVNode("span",{class:"hidden sm:inline-block sm:h-screen sm:align-middle","aria-hidden":"true"},"",-1),ce={class:"inline-block overflow-hidden text-left align-bottom bg-white rounded shadow-xl transition-all transform sm:my-8 sm:w-full sm:max-w-sm sm:align-middle lg:max-w-lg"},ie={class:"px-4 pb-4 mt-4 sm:px-6 sm:pb-6 sm:mt-5"},de={class:"flex flex-row items-center"},ue={class:"flex-shrink-0"},me={class:"flex-grow text-center"},pe=["onClick"],fe={__name:"confirm",props:{buttons:{type:[Object,Array],default:{label:"Ok"},validator:t=>Array.isArray(t)&&t.length<=2&&t.filter(r=>r.label!=="undefined"&&r.value!=="undefined").length===t.length||t.label!==void 0&&t.value!==void 0},headerClass:{type:String,default:"text-vxvue-alt-900 bg-vxvue-alt-400"},buttonClass:{type:String,default:"button"}},setup(t,{expose:r}){const o=t,n=e.ref(""),l=e.ref(""),s=e.ref(!1);let c=null,a=null;const d=e.computed(()=>Array.isArray(o.buttons)?o.buttons:[o.buttons]),i=e.ref(null);return r({open:(f,u)=>(n.value=f,l.value=u,s.value=!0,e.nextTick(()=>i.value.firstElementChild.focus()),new Promise((m,y)=>{c=m,a=y}))}),(f,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[s.value?(e.openBlock(),e.createElementBlock("div",oe)):e.createCommentVNode("",!0),e.createVNode(e.Transition,{name:"appear"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",ae,[s.value?(e.openBlock(),e.createElementBlock("div",re,[se,e.createElementVNode("div",ce,[n.value?(e.openBlock(),e.createElementBlock("h3",{key:0,class:e.normalizeClass(["py-4 pt-4 text-lg font-medium text-center sm:py-6",t.headerClass])},[e.renderSlot(f.$slots,"title",{title:n.value},()=>[e.createTextVNode(e.toDisplayString(n.value),1)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",ie,[e.createElementVNode("div",de,[e.createElementVNode("div",ue,[e.renderSlot(f.$slots,"icon")]),e.createElementVNode("p",me,[e.renderSlot(f.$slots,"default",{message:l.value},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])])]),e.createElementVNode("div",{class:"flex justify-center mt-5 space-x-2 sm:mt-6",ref_key:"buttonsContainer",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(m,y)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([t.buttonClass,m.class]),onClick:e.withModifiers(C=>{s.value=!1,y===0?e.unref(c)():e.unref(a)()},["prevent"])},e.toDisplayString(m.label),11,pe))),256))],512)])])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),_:3})],64))}};function he(t,r){const o=e.ref(!1),n=e.toValue(r);let l,s=n.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),c=[];if((l=n.match(/\bd\b/gi))&&l.length===1)s=s.replace("d","(\\d{1,2})");else if((l=n.match(/\bdd\b/gi))&&l.length===1)s=s.replace("dd","(\\d{2})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("d"),destPos:2}),(l=n.match(/\bm\b/gi))&&l.length===1)s=s.replace("m","(\\d{1,2})");else if((l=n.match(/\bmm\b/gi))&&l.length===1)s=s.replace("mm","(\\d{2})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("m"),destPos:1}),(l=n.match(/\byyyy\b/gi))&&l.length===1)s=s.replace("yyyy","(\\d{4})");else return{date:o};if(c.push({srcPos:n.toLowerCase().indexOf("y"),destPos:0}),!(l=e.toValue(t).match(s)))return{date:o};l.shift(),c.sort((p,f)=>p.srcPos<f.srcPos?-1:1);let a=[],d,i;for(;d=l.shift();)i=c.shift(),a[i.destPos]=d;return a=Date.parse(a.join("-")),a&&(a=new Date(a),o.value=new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0)),{date:o}}const ge={key:0},ke={class:"text-vxvue-700"},we=[e.createElementVNode("svg",{class:"w-2 h-2",stroke:"currentColor",fill:"none",viewBox:"0 0 8 8"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-width":"1.5",d:"M1 1l6 6m0-6L1 7"})],-1)],ye=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",class:"w-6 h-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[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)],j={__name:"date-input",props:{outputFormat:{type:String,default:"YYYY-MM-DD"},inputFormat:{type:String,default:"YYYY-MM-DD"},showButton:{type:Boolean,default:!0},locale:{type:String,default:"default"},modelValue:Date},emits:["update:modelValue","toggle-datepicker"],setup(t,{emit:r}){const o=t,n=e.ref(""),l=e.computed(()=>o.modelValue?v(o.modelValue,o.outputFormat):""),s=e.computed(()=>{let c=Object.assign({},e.useAttrs());return delete c.class,c});return e.watch(()=>o.modelValue,c=>n.value=c?v(c,o.outputFormat):""),(c,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["inline-block relative",c.$attrs.class])},[l.value?(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",{class:e.normalizeClass(["block flex items-center w-full form-input bg-vxvue-50",{"pr-10":t.showButton}])},[e.createElementVNode("span",ke,e.toDisplayString(l.value),1),e.createElementVNode("button",{onClick:a[0]||(a[0]=d=>r("update:modelValue",null)),class:"inline-flex flex-shrink-0 justify-center items-center ml-2 w-4 h-4 rounded-full focus:text-white focus:outline-none text-vxvue hover:bg-vxvue-100 hover:text-vue-700 focus:bg-vxvue-700"},we)],2)])):e.withDirectives((e.openBlock(),e.createElementBlock("input",e.mergeProps({key:1,type:"text",class:["block w-full form-input focus:border-vxvue peer",{"pr-10":t.showButton}],"onUpdate:modelValue":a[1]||(a[1]=d=>n.value=d),onBlur:a[2]||(a[2]=d=>{var i;return r("update:modelValue",((i=e.unref(he)(n.value,o.inputFormat).date)==null?void 0:i.value)||null)}),onInput:a[3]||(a[3]=e.withModifiers(()=>{},["prevent"]))},s.value),null,16)),[[e.vModelText,n.value]]),t.showButton?(e.openBlock(),e.createElementBlock("button",{key:2,class:"flex absolute inset-y-0 right-0 items-center px-2 text-vxvue-700 hover:text-vxvue",onClick:a[4]||(a[4]=e.withModifiers(d=>r("toggle-datepicker"),["stop"]))},ye)):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}};function Y(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M7.72 12.53a.75.75 0 010-1.06l7.5-7.5a.75.75 0 111.06 1.06L9.31 12l6.97 6.97a.75.75 0 11-1.06 1.06l-7.5-7.5z","clip-rule":"evenodd"})])}function R(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M16.28 11.47a.75.75 0 010 1.06l-7.5 7.5a.75.75 0 01-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 011.06-1.06l7.5 7.5z","clip-rule":"evenodd"})])}function be(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M3.75 12a.75.75 0 01.75-.75h15a.75.75 0 010 1.5h-15a.75.75 0 01-.75-.75z","clip-rule":"evenodd"})])}function xe(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M12 3.75a.75.75 0 01.75.75v6.75h6.75a.75.75 0 010 1.5h-6.75v6.75a.75.75 0 01-1.5 0v-6.75H4.5a.75.75 0 010-1.5h6.75V4.5a.75.75 0 01.75-.75z","clip-rule":"evenodd"})])}function Be(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z","clip-rule":"evenodd"})])}const Ve={class:"flex flex-row items-center py-2 px-3 text-white bg-vxvue-700"},Ee=["onClick"],$e={class:"flex-grow text-center"},Ce=["onClick"],Se={class:"grid grid-cols-7 gap-0.5 p-0.5"},_e=["disabled","onClick"],Ne={__name:"datepicker",props:{modelValue:[Date,Boolean],validFrom:Date,validUntil:Date,dayNames:{type:Array,default:()=>"S M T W T F S".split(" ")},locale:{type:String,default:"default"},startOfWeekIndex:{type:Number,default:0,validator:t=>t===0||t===1},hasInput:{type:Boolean,default:!0}},emits:["update:modelValue","month-change"],setup(t,{emit:r}){const o=t,n=(()=>{let k=new Date;return new Date(k.getFullYear(),k.getMonth(),k.getDate())})(),l=e.ref(new Date(n.getFullYear(),n.getMonth(),1)),s=e.ref(null),c=e.ref(!o.hasInput),a=e.ref("left-0"),d=e.ref("top-0"),i=e.ref(null),p=e.ref(null),f=e.computed(()=>o.hasInput?{class:["absolute",c.value?"block":"hidden"]}:{}),u=e.computed(()=>{const k=[],x=l.value.getFullYear(),w=l.value.getMonth(),E=new Date(x,w+1,0),F=new Date(x,w,0).getDay()+1-o.startOfWeekIndex,D=(6+o.startOfWeekIndex-E.getDay())%7;for(let N=-F,A=E.getDate()+D;N<A;++N)k.push(new Date(x,w,N+1));return k}),m=e.computed(()=>o.startOfWeekIndex?o.dayNames.slice(1).concat(o.dayNames[0]):o.dayNames.slice());e.watch(()=>o.modelValue,k=>{k?(s.value=new Date(k.getFullYear(),k.getMonth(),k.getDate()),l.value=new Date(s.value.getTime())):(s.value=null,l.value=new Date(n.getTime())),l.value.setDate(1)},{immediate:!0}),e.watch(c,k=>{k&&o.hasInput&&e.nextTick(()=>{const x=i.value.$el.getBoundingClientRect(),w=p.value.getBoundingClientRect();a.value=x.left+w.width>window.innerWidth?"right-0":"left-0",d.value=x.bottom+w.height>window.innerHeight?"bottom-0 -translate-y-12":"top-0 translate-y-12"})}),O(p,()=>c.value=!1);const y=()=>{l.value=new Date(l.value.getFullYear(),l.value.getMonth()-1,1),r("month-change",l.value)},C=()=>{l.value=new Date(l.value.getFullYear(),l.value.getMonth()+1,1),r("month-change",l.value)},V=k=>{s.value=k,r("update:modelValue",k),c.value=!o.hasInput},S=k=>{s.value=k,r("update:modelValue",k)};return(k,x)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative",k.$attrs.class])},[t.hasInput?(e.openBlock(),e.createBlock(j,e.mergeProps({key:0,modelValue:s.value,onToggleDatepicker:x[0]||(x[0]=w=>c.value=!0),"onUpdate:modelValue":S},k.$attrs,{ref_key:"input",ref:i,class:"w-full",locale:t.locale}),{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default")]),_:3},16,["modelValue","locale"])):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({class:"z-10 bg-white shadow-md"},f.value,{ref_key:"calendar",ref:p,class:[a.value,d.value]}),[e.createElementVNode("div",Ve,[e.createElementVNode("button",{onClick:e.withModifiers(y,["stop"]),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(Y),{class:"w-6 h-6"})],8,Ee),e.createElementVNode("div",$e,e.toDisplayString(l.value.toLocaleString(t.locale,{month:"long"}))+" "+e.toDisplayString(l.value.getFullYear()),1),e.createElementVNode("button",{onClick:e.withModifiers(C,["stop"]),class:"flex-shrink-0 text-vxvue-100 hover:text-vxvue-50"},[e.createVNode(e.unref(R),{class:"w-6 h-6"})],8,Ce)]),e.createElementVNode("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(w,E)=>(e.openBlock(),e.createElementBlock("div",{class:"py-2 text-center bg-gray-200",key:E},e.toDisplayString(w),1))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,w=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["text-center",w.getMonth()-l.value.getMonth()===0?"text-vxvue-700":"text-gray-400"])},[e.createElementVNode("button",{class:e.normalizeClass([{"bg-vxvue-700 text-white":s.value&&w.getTime()===s.value.getTime(),"bg-gray-200":w.getTime()===e.unref(n).getTime(),"text-red-400":t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w},"py-2 px-3 rounded-sm"]),disabled:t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w,onClick:e.withModifiers(E=>t.validFrom&&t.validFrom>w||t.validUntil&&t.validUntil<w?null:V(w),["stop"])},e.toDisplayString(w.getDate()),11,_e)],2))),256))])],16)],2))}},De=["for"],Me=["id","multiple","accept"],Pe={__name:"form-file-button",props:{modelValue:{type:Array},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},id:{type:String,default:"form-file-button-"+Math.ceil(Math.random()*1e3)}},emits:["update:modelValue","form-data"],setup(t,{emit:r}){const o=t,n=s=>{const c=new FormData;for(let a of s)c.append(o.name,a,a.name);return c},l=s=>{const c=s.target.files||s.dataTransfer.files;if(c){const a=[...c];r("update:modelValue",a),r("form-data",n(a))}};return(s,c)=>(e.openBlock(),e.createElementBlock("label",{for:t.id},[e.renderSlot(s.$slots,"default",{},()=>[e.createTextVNode("Upload")]),e.createElementVNode("input",{type:"file",id:t.id,multiple:t.multiple,accept:t.accept,onChange:l,class:"hidden"},null,40,Me)],8,De))}},Fe=["value"],Ae={key:0,disabled:"",value:""},Le=["value","selected"],Te={__name:"form-select",props:{options:Array,modelValue:[String,Number],disabledLabel:String},emits:["update:modelValue"],setup(t,{emit:r}){return(o,n)=>(e.openBlock(),e.createElementBlock("select",e.mergeProps(o.$attrs,{value:t.modelValue,class:"form-select",onChange:n[0]||(n[0]=l=>r("update:modelValue",l.target.value))}),[t.disabledLabel?(e.openBlock(),e.createElementBlock("option",Ae,e.toDisplayString(t.disabledLabel),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,l=>(e.openBlock(),e.createElementBlock("option",{value:l.key!==void 0?l.key:l.label||l,selected:(l.key!==void 0?l.key:l.label||l)===t.modelValue},e.toDisplayString(l.label||l),9,Le))),256))],16,Fe))}},ve=["aria-checked"],ze=["checked"],Ie={__name:"form-switch",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=t,n=e.computed(()=>o.modelValue?"bg-vxvue":"bg-slate-200"),l=e.computed(()=>o.modelValue?"translate-x-5":"translate-x-0"),s=e.computed(()=>{let c=Object.assign({},e.useAttrs());return delete c.class,c});return(c,a)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("label",{class:e.normalizeClass(c.$attrs.class)},[e.createElementVNode("span",{class:e.normalizeClass([n.value,"inline-flex relative flex-shrink-0 w-11 h-6 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out cursor-pointer focus:ring-2 focus:ring-offset-2 focus:outline-none focus:ring-vxvue"]),role:"switch","aria-checked":!!t.modelValue},[e.createElementVNode("span",{"aria-hidden":"true",class:e.normalizeClass([l.value,"inline-block w-5 h-5 bg-white rounded-full ring-0 shadow transition duration-200 ease-in-out transform pointer-events-none"])},null,2),e.createElementVNode("input",e.mergeProps({class:"hidden",value:"1",type:"checkbox",onChange:a[0]||(a[0]=d=>r("update:modelValue",d.target.checked))},s.value,{checked:t.modelValue}),null,16,ze)],10,ve)],2),e.renderSlot(c.$slots,"default")],64))}},Ft="",H=(t,r)=>{const o=t.__vccOpts||t;for(const[n,l]of r)o[n]=l;return o},Oe=t=>(e.pushScopeId("data-v-da8a4323"),t=t(),e.popScopeId(),t),je={"aria-live":"assertive",class:"flex fixed inset-0 z-50 items-start py-6 px-4 pointer-events-none sm:p-6"},Ye={class:"flex flex-col items-center space-y-4 w-full"},Re={class:"p-4"},He={class:"flex items-start"},Ue={class:"flex-shrink-0"},We={class:"flex-1 pt-0.5 ml-3 w-0"},qe={class:"font-bold"},Ke={class:"mt-1"},Ge={class:"flex flex-shrink-0 ml-4"},Xe=Oe(()=>e.createElementVNode("span",{class:"sr-only"},"Close",-1)),Ze=H(Object.assign({inheritAttrs:!1},{__name:"message-toast",props:{title:String,message:[String,Array],timeout:{type:Number,default:5e3},active:{type:Boolean,default:!1}},emits:["timeout","close"],setup(t,{emit:r}){const o=t,n=e.ref(null),l=e.computed(()=>typeof o.message=="string"?[o.message]:o.message),s=()=>{window.clearTimeout(n.value),o.active&&o.timeout&&(n.value=window.setTimeout(()=>{r("timeout")},o.timeout))};return e.watch(()=>o.active,s),e.onMounted(s),(c,a)=>(e.openBlock(),e.createElementBlock("div",je,[e.createElementVNode("div",Ye,[e.createVNode(e.Transition,{name:"messagetoast-fade"},{default:e.withCtx(()=>[t.active?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["overflow-hidden w-full max-w-sm rounded-md ring-1 ring-black ring-opacity-5 shadow-lg pointer-events-auto",c.$attrs.class])},[e.createElementVNode("div",Re,[e.createElementVNode("div",He,[e.createElementVNode("div",Ue,[e.renderSlot(c.$slots,"icon",{},void 0,!0)]),e.createElementVNode("div",We,[e.createElementVNode("p",qe,[e.renderSlot(c.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,d=>(e.openBlock(),e.createElementBlock("p",Ke,[e.renderSlot(c.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(d),1)],!0)]))),256))]),e.createElementVNode("div",Ge,[e.createElementVNode("button",{onClick:a[0]||(a[0]=d=>r("close")),class:"inline-flex text-white bg-black bg-opacity-20 rounded-sm focus:ring-2 focus:outline-none hover:text-stone-200 focus:ring-stone-200"},[Xe,e.createVNode(e.unref(Be),{class:"w-5 h-5"})])])])])],2)):e.createCommentVNode("",!0)]),_:3})])]))}}),[["__scopeId","data-v-da8a4323"]]),Je={class:"flex justify-between items-center px-4 sm:px-0"},Qe={class:"flex flex-1 -mt-px w-0"},et=["onClick"],tt={class:"hidden md:flex md:-mt-px"},lt={class:"flex flex-1 justify-end -mt-px w-0"},ot=["onClick"],nt={__name:"pagination",props:{page:{type:Number,default:1},total:{type:Number,default:1},perPage:{type:Number,default:20,validator(t){return t>=1}},showNavButtons:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"},showAllPages:{type:Boolean,default:!1},markerPosition:{type:String,default:"above",validator(t){return["above","below"].indexOf(t)!==-1}}},emits:["update:page"],setup(t,{emit:r}){const o=t,n=e.ref(Math.ceil(o.total/o.perPage)),l=e.ref(null),s=e.computed(()=>o.markerPosition==="above"?"border-t-2 pt-4":"border-b-2 pb-4"),c=e.computed(()=>{let i=[1];if(o.showAllPages||n.value<=7){for(let p=2;p<=n.value;++p)i.push(p);return i}return l.value>=n.value?i.push("dots",l.value-2,l.value-1):l.value-1&&l.value-1>1&&(l.value>1&&i.push("dots"),i.push(l.value-1)),l.value>1&&i.push(l.value),l.value+1<n.value&&(i.push(l.value+1),l.value<=1&&i.push(l.value+2),l.value+2<this.maxPage&&i.push("dots")),l.value<this.maxPage&&i.push(this.maxPage),i}),a=()=>{l.value>1&&r("update:page",l.value-1)},d=()=>{l.value<n.value&&r("update:page",l.value+1)};return e.watch(()=>o.page,i=>l.value=Math.min(Math.max(i,1),n.value),{immediate:!0}),e.watch(()=>o.perPage,i=>{n.value=Math.ceil(o.total/o.perPage),r("update:page",1)}),e.watch(()=>o.total,i=>{n.value=Math.ceil(o.total/o.perPage),l.value>n.value&&r("update:page",1)}),(i,p)=>(e.openBlock(),e.createElementBlock("nav",Je,[e.createElementVNode("div",Qe,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(a,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pr-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300",[{"cursor-default pointer-events-none":l.value<=1},s.value]])},[e.createVNode(e.unref(Y),{class:"w-5 h-5"}),e.createTextVNode(" "+e.toDisplayString(t.prevText),1)],10,et)):e.createCommentVNode("",!0)]),e.createElementVNode("div",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(f,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f!=="dots"?"a":"span"),{onClick:e.withModifiers(m=>f!=="dots"?r("update:page",f):null,["prevent"]),key:u,href:f!=="dots"?"#":null,class:e.normalizeClass(["inline-flex items-center px-4 text-sm font-medium",[{"border-vxvue-500 text-vxvue-700":f===l.value,"border-transparent text-gray-500":f!==l.value,"hover:text-gray-700 hover:border-gray-300":f!=="dots"},s.value]])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f!=="dots"?f:"..."),1)]),_:2},1032,["onClick","href","class"]))),128))]),e.createElementVNode("div",lt,[t.showNavButtons?(e.openBlock(),e.createElementBlock("a",{key:0,onClick:e.withModifiers(d,["prevent"]),href:"#",class:e.normalizeClass(["inline-flex items-center pl-1 text-sm font-medium text-gray-500 border-transparent hover:text-gray-700 hover:border-gray-300",[s.value,{"cursor-default pointer-events-none":l.value>=n.value}]])},[e.createTextVNode(e.toDisplayString(t.nextText)+" ",1),e.createVNode(e.unref(R),{class:"w-5 h-5"})],10,ot)):e.createCommentVNode("",!0)])]))}};function at(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"})])}function rt(t,r){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})])}const st=["value","type"],ct=Object.assign({inheritAttrs:!1},{__name:"password-input",props:["modelValue"],emits:["update:modelValue"],setup(t,{emit:r}){const o=e.ref(!1),n=e.computed(()=>{let l=Object.assign({},e.useAttrs());return delete l.class,l});return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("inline-block relative "+e.useAttrs().class)},[e.createElementVNode("input",e.mergeProps({value:t.modelValue,type:o.value?"text":"password",onInput:s[0]||(s[0]=c=>r("update:modelValue",c.target.value))},n.value,{class:"block pr-10 w-full form-input peer"}),null,16,st),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(c=>o.value=!o.value,["stop"])),class:"flex absolute inset-y-0 right-0 items-center pr-3 text-brand-700 hover:text-brand"},[o.value?(e.openBlock(),e.createBlock(e.unref(at),{key:0,class:"w-5 h-5"})):(e.openBlock(),e.createBlock(e.unref(rt),{key:1,class:"w-5 h-5"}))]),e.renderSlot(l.$slots,"default")],2))}}),it={class:"flex items-center pb-1"},dt=["id","checked"],ut=["for"],mt={key:1},pt=["href"],ft={key:0,class:"ml-6"},ht=Object.assign({inheritAttrs:!1},{__name:"simple-tree",props:{branch:{type:Object,default:{}}},emits:["branch-selected","expand"],setup(t,{emit:r}){const o=t,n=e.ref(!1);return e.onMounted(()=>{o.branch.current&&r("expand",!0)}),(l,s)=>{const c=e.resolveComponent("simple-tree",!0);return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([!t.branch.branches||!t.branch.branches.length?"terminates":"",l.$attrs.class])},[e.createElementVNode("div",it,[t.branch.branches&&t.branch.branches.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("input",{type:"checkbox",id:"branch-"+t.branch.id,onClick:s[0]||(s[0]=a=>n.value=!n.value),checked:n.value,class:"hidden"},null,8,dt),e.createElementVNode("label",{for:"branch-"+t.branch.id,class:"mr-2"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value?e.unref(be):e.unref(xe)),{class:"w-4 h-4 border"}))],8,ut)],64)):e.createCommentVNode("",!0),t.branch.current?(e.openBlock(),e.createElementBlock("strong",mt,e.toDisplayString(t.branch.label),1)):(e.openBlock(),e.createElementBlock("a",{key:2,href:t.branch.path,onClick:s[1]||(s[1]=e.withModifiers(a=>r("branch-selected",t.branch),["prevent"]))},e.toDisplayString(t.branch.label),9,pt))]),t.branch.branches&&t.branch.branches.length?e.withDirectives((e.openBlock(),e.createElementBlock("ul",ft,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.branch.branches,a=>(e.openBlock(),e.createBlock(c,{branch:a,key:a.id,onBranchSelected:s[2]||(s[2]=d=>r("branch-selected",d)),onExpand:s[3]||(s[3]=d=>{n.value=d,r("expand",d)})},null,8,["branch"]))),128))],512)),[[e.vShow,n.value]]):e.createCommentVNode("",!0)],2)}}}),Lt="",gt={class:"overflow-hidden rounded ring-1 ring-opacity-10 shadow ring-slate-500"},kt={class:"min-w-full divide-y divide-y-slate-900"},wt={class:"text-white bg-slate-700"},yt=["onClick"],bt={class:"flex items-center"},xt={key:0,xmlns:"http://www.w3.org/2000/svg",class:"flex-shrink-0 ml-2 w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Bt=["d"],Vt={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 9l4-4 4 4m0 6l-4 4-4-4"},Et=H({__name:"sortable",props:{columns:{type:Array,required:!0,validator:t=>{for(const r of t)if(r.label===void 0||r.prop===void 0)return!1;return!0}},rows:{type:Array,required:!0},offset:{type:Number,default:null},count:{type:Number,default:null},sortProp:{type:String},sortDirection:{type:String,validator:t=>!t||["asc","desc"].indexOf(t)!==-1},keyProperty:{type:String,default:"key"}},emits:["before-sort","after-sort"],setup(t,{emit:r}){const o=t,n=e.ref(o.sortProp),l=e.ref(o.sortDirection),s=e.computed(()=>{let a=o.rows.slice();const d=o.columns.find(({prop:i})=>i===n.value);return d&&(l.value==="asc"&&d.sortAscFunction?a.sort(d.sortAscFunction):l.value==="desc"&&d.sortDescFunction?a.sort(d.sortDescFunction):a.sort((i,p)=>i[n.value]<p[n.value]?l.value==="asc"?-1:1:i[n.value]>p[n.value]?l.value==="asc"?1:-1:0)),a.slice(o.offset||0,(o.offset||0)+(o.count||a.length))}),c=a=>{r("before-sort",{prop:n.value,dir:l.value}),n.value===a?l.value=l.value==="asc"?"desc":"asc":(n.value=a,l.value=l.value||"asc"),e.nextTick(()=>r("after-sort",{prop:n.value,dir:l.value}))};return(a,d)=>(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("table",kt,[e.createElementVNode("thead",wt,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,i=>(e.openBlock(),e.createElementBlock("th",{scope:"col",class:e.normalizeClass(["py-3 px-6 text-left",[{"cursor-pointer":i.sortable,active:n.value===i.prop},i.cssClass]]),onClick:p=>i.sortable?c(i.prop):null},[e.renderSlot(a.$slots,i.prop+"-header",{column:i,sortDir:l.value,sortProp:n.value},()=>[e.createElementVNode("div",bt,[e.createElementVNode("span",null,e.toDisplayString(i.label),1),i.sortable?(e.openBlock(),e.createElementBlock("svg",xt,[n.value===i.prop?(e.openBlock(),e.createElementBlock("path",{key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:l.value==="asc"?"M19 9l-7 7-7-7":"M5 15l7-7 7 7"},null,8,Bt)):(e.openBlock(),e.createElementBlock("path",Vt))])):e.createCommentVNode("",!0)])],!0)],10,yt))),256))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,i=>(e.openBlock(),e.createElementBlock("tr",{key:i[t.keyProperty],class:e.normalizeClass(i.cssClass)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,p=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(["py-3 px-6 whitespace-nowrap",{active:n.value===p.prop}])},[e.renderSlot(a.$slots,p.prop,{row:i},()=>[e.createTextVNode(e.toDisplayString(i[p.prop]),1)],!0)],2))),256))],2))),128))])])]))}},[["__scopeId","data-v-f21d3cc3"]]);b.Autocomplete=le,b.Confirm=fe,b.DateInput=j,b.Datepicker=Ne,b.FormFileButton=Pe,b.FormSelect=Te,b.FormSwitch=Ie,b.MessageToast=Ze,b.Pagination=nt,b.PasswordInput=ct,b.SimpleTree=ht,b.Sortable=Et,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vx-vue",
|
|
3
|
-
"files": ["dist"],
|
|
4
|
-
"main": "./dist/vxvue.umd.js",
|
|
5
|
-
"module": "./dist/vxvue.es.js",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": {
|
|
8
|
-
"import": "./dist/vxvue.es.js",
|
|
9
|
-
"require": "./dist/vxvue.umd.js"
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
"version": "0.5.
|
|
13
|
-
"license": "MIT",
|
|
14
|
-
"scripts": {
|
|
15
|
-
"dev": "vite",
|
|
16
|
-
"build": "vite build",
|
|
17
|
-
"preview": "vite preview"
|
|
18
|
-
},
|
|
19
|
-
"devDependencies": {
|
|
20
|
-
"vue": "^3.3.4",
|
|
21
|
-
"tailwindcss": "^3.3.3",
|
|
22
|
-
"@tailwindcss/forms": "^0.5.6",
|
|
23
|
-
"@heroicons/vue": "^2.0.18",
|
|
24
|
-
"@vitejs/plugin-vue": "^4.4.0",
|
|
25
|
-
"vite": "^4.4.11",
|
|
26
|
-
"@vueuse/core": "^10.5.0"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "vx-vue",
|
|
3
|
+
"files": ["dist"],
|
|
4
|
+
"main": "./dist/vxvue.umd.js",
|
|
5
|
+
"module": "./dist/vxvue.es.js",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./dist/vxvue.es.js",
|
|
9
|
+
"require": "./dist/vxvue.umd.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"version": "0.5.1",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"scripts": {
|
|
15
|
+
"dev": "vite",
|
|
16
|
+
"build": "vite build",
|
|
17
|
+
"preview": "vite preview"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"vue": "^3.3.4",
|
|
21
|
+
"tailwindcss": "^3.3.3",
|
|
22
|
+
"@tailwindcss/forms": "^0.5.6",
|
|
23
|
+
"@heroicons/vue": "^2.0.18",
|
|
24
|
+
"@vitejs/plugin-vue": "^4.4.0",
|
|
25
|
+
"vite": "^4.4.11",
|
|
26
|
+
"@vueuse/core": "^10.5.0"
|
|
27
|
+
}
|
|
28
|
+
}
|