@halo-dev/components 0.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/components/alert/index.d.ts +1 -0
  2. package/dist/components/alert/interface.d.ts +1 -0
  3. package/dist/components/button/index.d.ts +1 -0
  4. package/dist/components/button/interface.d.ts +2 -0
  5. package/dist/components/card/Card.vue.d.ts +17 -0
  6. package/dist/components/card/index.d.ts +1 -0
  7. package/dist/components/checkbox/index.d.ts +2 -0
  8. package/dist/components/dialog/index.d.ts +3 -0
  9. package/dist/components/dialog/interface.d.ts +13 -0
  10. package/dist/components/dialog/use-dialog.d.ts +9 -0
  11. package/dist/components/header/PageHeader.vue.d.ts +10 -0
  12. package/dist/components/header/index.d.ts +1 -0
  13. package/dist/components/input/index.d.ts +1 -0
  14. package/dist/components/input/interface.d.ts +1 -0
  15. package/dist/components/menu/RoutesMenu.d.ts +14 -0
  16. package/dist/components/menu/index.d.ts +4 -0
  17. package/dist/components/menu/interface.d.ts +12 -0
  18. package/dist/components/modal/index.d.ts +1 -0
  19. package/dist/components/radio/index.d.ts +2 -0
  20. package/dist/components/select/Option.vue.d.ts +10 -0
  21. package/dist/components/select/index.d.ts +2 -0
  22. package/dist/components/select/interface.d.ts +1 -0
  23. package/dist/components/space/index.d.ts +1 -0
  24. package/dist/components/space/interface.d.ts +4 -0
  25. package/dist/components/switch/index.d.ts +1 -0
  26. package/dist/components/tabs/index.d.ts +3 -0
  27. package/dist/components/tabs/interface.d.ts +2 -0
  28. package/dist/components/tag/index.d.ts +1 -0
  29. package/dist/components/tag/interface.d.ts +1 -0
  30. package/dist/components/textarea/Textarea.vue.d.ts +40 -0
  31. package/dist/components/textarea/index.d.ts +1 -0
  32. package/dist/components.d.ts +16 -0
  33. package/dist/halo-components.cjs.js +3 -0
  34. package/dist/halo-components.cjs.js.map +1 -0
  35. package/dist/halo-components.es.js +2121 -0
  36. package/dist/halo-components.es.js.map +1 -0
  37. package/dist/halo-components.iife.js +20 -0
  38. package/dist/halo-components.iife.js.map +1 -0
  39. package/dist/halo-components.umd.js +20 -0
  40. package/dist/halo-components.umd.js.map +1 -0
  41. package/dist/icons/icons.d.ts +42 -0
  42. package/dist/index.d.ts +2 -0
  43. package/dist/style.css +1 -0
  44. package/package.json +66 -0
@@ -0,0 +1,20 @@
1
+ (function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.HaloComponents={},a.Vue,a.VueRouter))})(this,function(a,e,m){"use strict";var no=Object.defineProperty;var A=Object.getOwnPropertySymbols;var io=Object.prototype.hasOwnProperty,lo=Object.prototype.propertyIsEnumerable;var L=(a,e,m)=>e in a?no(a,e,{enumerable:!0,configurable:!0,writable:!0,value:m}):a[e]=m,y=(a,e)=>{for(var m in e||(e={}))io.call(e,m)&&L(a,m,e[m]);if(A)for(var m of A(e))lo.call(e,m)&&L(a,m,e[m]);return a};var co=(()=>`*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{--themeable-primary-50: 251, 254, 253;--themeable-primary-100: 220, 247, 238;--themeable-primary-200: 190, 240, 223;--themeable-primary-300: 160, 232, 208;--themeable-primary-400: 132, 223, 192;--themeable-primary-500: 103, 213, 176;--themeable-primary-600: 76, 203, 160;--themeable-primary-700: 56, 185, 141;--themeable-primary-800: 49, 154, 119;--themeable-primary-900: 42, 124, 96;--themeable-primary: 76, 203, 160;--themeable-secondary-50: 163, 182, 240;--themeable-secondary-100: 132, 158, 233;--themeable-secondary-200: 101, 133, 226;--themeable-secondary-300: 71, 109, 218;--themeable-secondary-400: 45, 86, 207;--themeable-secondary-500: 40, 74, 174;--themeable-secondary-600: 34, 62, 142;--themeable-secondary-700: 28, 49, 110;--themeable-secondary-800: 21, 36, 79;--themeable-secondary-900: 14, 23, 49;--themeable-secondary: 14, 23, 49}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.bottom-0{bottom:0px}.mt-3{margin-top:.75rem}.-mt-6{margin-top:-1.5rem}.ml-auto{margin-left:auto}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-2{margin-left:.5rem}.mb-2{margin-bottom:.5rem}.mr-3{margin-right:.75rem}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.h-5{height:1.25rem}.h-3{height:.75rem}.h-8{height:2rem}.h-6{height:1.5rem}.h-16{height:4rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-12{height:3rem}.h-32{height:8rem}.h-28{height:7rem}.h-40{height:10rem}.h-4{height:1rem}.w-full{width:100%}.w-4{width:1rem}.w-16{width:4rem}.w-6{width:1.5rem}.w-5{width:1.25rem}.w-1\\/2{width:50%}.w-1\\/3{width:33.333333%}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-y-4{--tw-translate-y: 1rem;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))}.translate-y-0{--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))}.translate-x-0{--tw-translate-x: 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))}.translate-x-5{--tw-translate-x: 1.25rem;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{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))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-2{gap:.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity))}.bg-indigo-300{--tw-bg-opacity: 1;background-color:rgb(165 180 252 / var(--tw-bg-opacity))}.bg-indigo-400{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity))}.bg-teal-50{--tw-bg-opacity: 1;background-color:rgb(240 253 250 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.\\!bg-themeable-primary-600{--tw-bg-opacity: 1 !important;background-color:rgba(var(--themeable-primary-600),var(--tw-bg-opacity))!important}.fill-current{fill:currentColor}.p-3{padding:.75rem}.p-0{padding:0}.p-1\\.5{padding:.375rem}.p-1{padding:.25rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-100{transition-duration:.1s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.group:hover .group-hover\\:block{display:block}@media (min-width: 640px){.sm\\:translate-y-0{--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))}.sm\\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;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))}.sm\\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;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))}.sm\\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
2
+ `)();const R={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Y=[e.createElementVNode("path",{fill:"currentColor",d:"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2zm0 2a8 8 0 1 0 0 16a8 8 0 0 0 0-16zm3.833 3.337a.595.595 0 0 1 .763.067a.59.59 0 0 1 .063.76c-2.18 3.046-3.38 4.678-3.598 4.897a1.502 1.502 0 0 1-2.122 0a1.502 1.502 0 0 1 0-2.122c.374-.373 2.005-1.574 4.894-3.602zM17.5 11a1 1 0 1 1 0 2a1 1 0 0 1 0-2zm-11 0a1 1 0 1 1 0 2a1 1 0 0 1 0-2zm2.318-3.596a1 1 0 1 1-1.416 1.414a1 1 0 0 1 1.416-1.414zM12 5.5a1 1 0 1 1 0 2a1 1 0 0 1 0-2z"},null,-1)];function H(t,r){return e.openBlock(),e.createElementBlock("svg",R,Y)}var D={name:"ri-dashboard-3-line",render:H};const j={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},T=[e.createElementVNode("path",{fill:"currentColor",d:"m10.828 12l4.95 4.95l-1.414 1.414L8 12l6.364-6.364l1.414 1.414z"},null,-1)];function K(t,r){return e.openBlock(),e.createElementBlock("svg",j,T)}var F={name:"ri-arrow-left-s-line",render:K};const O={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},G=[e.createElementVNode("path",{fill:"currentColor",d:"m13.172 12l-4.95-4.95l1.414-1.414L16 12l-6.364 6.364l-1.414-1.414z"},null,-1)];function U(t,r){return e.openBlock(),e.createElementBlock("svg",O,G)}var x={name:"ri-arrow-right-s-line",render:U};const X={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},q=[e.createElementVNode("path",{fill:"currentColor",d:"m12 16l-6-6h12z"},null,-1)];function P(t,r){return e.openBlock(),e.createElementBlock("svg",X,q)}var J={name:"ri-arrow-down-s-fill",render:P};const Q={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},W=[e.createElementVNode("path",{fill:"currentColor",d:"m12 10.828l-4.95 4.95l-1.414-1.414L12 8l6.364 6.364l-1.414 1.414z"},null,-1)];function Z(t,r){return e.openBlock(),e.createElementBlock("svg",Q,W)}var ee={name:"ri-arrow-up-s-line",render:Z};const te={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},re=[e.createElementVNode("path",{fill:"currentColor",d:"m12 13.172l4.95-4.95l1.414 1.414L12 16L5.636 9.636L7.05 8.222z"},null,-1)];function ae(t,r){return e.openBlock(),e.createElementBlock("svg",te,re)}var oe={name:"ri-arrow-down-s-line",render:ae};const ne={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ie=[e.createElementVNode("path",{fill:"currentColor",d:"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM11 5H4v14h7V5zm2 0v14h7V5h-7zm1 2h5v2h-5V7zm0 3h5v2h-5v-2z"},null,-1)];function le(t,r){return e.openBlock(),e.createElementBlock("svg",ne,ie)}var ce={name:"ri-book-read-line",render:le};const se={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},de=[e.createElementVNode("path",{fill:"currentColor",d:"M5 8v12h14V8H5zm0-2h14V4H5v2zm15 16H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM7 10h4v4H7v-4zm0 6h10v2H7v-2zm6-5h4v2h-4v-2z"},null,-1)];function pe(t,r){return e.openBlock(),e.createElementBlock("svg",se,de)}var me={name:"ri-pages-line",render:pe};const he={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},we=[e.createElementVNode("path",{fill:"currentColor",d:"M2 8.994A5.99 5.99 0 0 1 8 3h8c3.313 0 6 2.695 6 5.994V21H8c-3.313 0-6-2.695-6-5.994V8.994zM20 19V8.994A4.004 4.004 0 0 0 16 5H8a3.99 3.99 0 0 0-4 3.994v6.012A4.004 4.004 0 0 0 8 19h12zm-6-8h2v2h-2v-2zm-6 0h2v2H8v-2z"},null,-1)];function be(t,r){return e.openBlock(),e.createElementBlock("svg",he,we)}var ge={name:"ri-message-3-line",render:be};const fe={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ue=[e.createElementVNode("path",{fill:"currentColor",d:"M12 2c5.522 0 10 3.978 10 8.889a5.558 5.558 0 0 1-5.556 5.555h-1.966c-.922 0-1.667.745-1.667 1.667c0 .422.167.811.422 1.1c.267.3.434.689.434 1.122C13.667 21.256 12.9 22 12 22C6.478 22 2 17.522 2 12S6.478 2 12 2zm-1.189 16.111a3.664 3.664 0 0 1 3.667-3.667h1.966A3.558 3.558 0 0 0 20 10.89C20 7.139 16.468 4 12 4a8 8 0 0 0-.676 15.972a3.648 3.648 0 0 1-.513-1.86zM7.5 12a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3zm9 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3zM12 9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3z"},null,-1)];function _e(t,r){return e.openBlock(),e.createElementBlock("svg",fe,ue)}var ye={name:"ri-palette-line",render:_e};const xe={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ke=[e.createElementVNode("path",{fill:"currentColor",d:"M2 18h7v2H2v-2zm0-7h9v2H2v-2zm0-7h20v2H2V4zm18.674 9.025l1.156-.391l1 1.732l-.916.805a4.017 4.017 0 0 1 0 1.658l.916.805l-1 1.732l-1.156-.391c-.41.37-.898.655-1.435.83L19 21h-2l-.24-1.196a3.996 3.996 0 0 1-1.434-.83l-1.156.392l-1-1.732l.916-.805a4.017 4.017 0 0 1 0-1.658l-.916-.805l1-1.732l1.156.391c.41-.37.898-.655 1.435-.83L17 11h2l.24 1.196c.536.174 1.024.46 1.434.83zM18 18a2 2 0 1 0 0-4a2 2 0 0 0 0 4z"},null,-1)];function $e(t,r){return e.openBlock(),e.createElementBlock("svg",xe,ke)}var ve={name:"ri-list-settings-line",render:$e};const Be={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ze=[e.createElementVNode("path",{fill:"currentColor",d:"M15.199 9.945a2.6 2.6 0 0 1-.79-1.551l-.403-3.083l-2.73 1.486a2.6 2.6 0 0 1-1.72.273L6.5 6.5l.57 3.056a2.6 2.6 0 0 1-.273 1.72l-1.486 2.73l3.083.403a2.6 2.6 0 0 1 1.55.79l2.138 2.257l1.336-2.807a2.6 2.6 0 0 1 1.23-1.231l2.808-1.336l-2.257-2.137zm.025 5.563l-2.213 4.65a.6.6 0 0 1-.977.155l-3.542-3.739a.6.6 0 0 0-.357-.182l-5.107-.668a.6.6 0 0 1-.449-.881l2.462-4.524a.6.6 0 0 0 .062-.396L4.16 4.86a.6.6 0 0 1 .7-.7l5.063.943a.6.6 0 0 0 .396-.062l4.524-2.462a.6.6 0 0 1 .881.45l.668 5.106a.6.6 0 0 0 .182.357l3.739 3.542a.6.6 0 0 1-.155.977l-4.65 2.213a.6.6 0 0 0-.284.284zm.797 1.927l1.414-1.414l4.243 4.242l-1.415 1.415l-4.242-4.243z"},null,-1)];function Ve(t,r){return e.openBlock(),e.createElementBlock("svg",Be,ze)}var Ce={name:"ri-magic-line",render:Ve};const Ee={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Me=[e.createElementVNode("path",{fill:"currentColor",d:"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4zm2.595 7.812a3.51 3.51 0 0 1 0-1.623l-.992-.573l1-1.732l.992.573A3.496 3.496 0 0 1 17 14.645V13.5h2v1.145c.532.158 1.012.44 1.405.812l.992-.573l1 1.732l-.992.573a3.51 3.51 0 0 1 0 1.622l.992.573l-1 1.732l-.992-.573a3.496 3.496 0 0 1-1.405.812V22.5h-2v-1.145a3.496 3.496 0 0 1-1.405-.812l-.992.573l-1-1.732l.992-.572zM18 19.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3z"},null,-1)];function Se(t,r){return e.openBlock(),e.createElementBlock("svg",Ee,Me)}var Ne={name:"ri-user-settings-line",render:Se};const Ie={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ae=[e.createElementVNode("path",{fill:"currentColor",d:"M2 12c0-.865.11-1.703.316-2.504A3 3 0 0 0 4.99 4.867a9.99 9.99 0 0 1 4.335-2.505a3 3 0 0 0 5.348 0a9.99 9.99 0 0 1 4.335 2.505a3 3 0 0 0 2.675 4.63a10.036 10.036 0 0 1 0 5.007a3 3 0 0 0-2.675 4.629a9.99 9.99 0 0 1-4.335 2.505a3 3 0 0 0-5.348 0a9.99 9.99 0 0 1-4.335-2.505a3 3 0 0 0-2.675-4.63A10.056 10.056 0 0 1 2 12zm4.804 3c.63 1.091.81 2.346.564 3.524c.408.29.842.541 1.297.75A4.993 4.993 0 0 1 12 18c1.26 0 2.438.471 3.335 1.274c.455-.209.889-.46 1.297-.75A4.993 4.993 0 0 1 17.196 15a4.993 4.993 0 0 1 2.77-2.25a8.126 8.126 0 0 0 0-1.5A4.993 4.993 0 0 1 17.195 9a4.993 4.993 0 0 1-.564-3.524a7.989 7.989 0 0 0-1.297-.75A4.993 4.993 0 0 1 12 6a4.993 4.993 0 0 1-3.335-1.274a7.99 7.99 0 0 0-1.297.75A4.993 4.993 0 0 1 6.804 9a4.993 4.993 0 0 1-2.77 2.25a8.126 8.126 0 0 0 0 1.5A4.993 4.993 0 0 1 6.805 15zM12 15a3 3 0 1 1 0-6a3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"},null,-1)];function Le(t,r){return e.openBlock(),e.createElementBlock("svg",Ie,Ae)}var Re={name:"ri-settings-4-line",render:Le};const Ye={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},He=[e.createElementVNode("path",{fill:"currentColor",d:"M13 18v2h6v2h-6a2 2 0 0 1-2-2v-2H8a4 4 0 0 1-4-4V7a1 1 0 0 1 1-1h2V2h2v4h6V2h2v4h2a1 1 0 0 1 1 1v7a4 4 0 0 1-4 4h-3zm-5-2h8a2 2 0 0 0 2-2v-3H6v3a2 2 0 0 0 2 2zm10-8H6v1h12V8zm-6 6.5a1 1 0 1 1 0-2a1 1 0 0 1 0 2zM11 2h2v3h-2V2z"},null,-1)];function De(t,r){return e.openBlock(),e.createElementBlock("svg",Ye,He)}var je={name:"ri-plug-2-line",render:De};const Te={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ke=[e.createElementVNode("path",{fill:"currentColor",d:"M12 3c5.392 0 9.878 3.88 10.819 9c-.94 5.12-5.427 9-10.819 9c-5.392 0-9.878-3.88-10.819-9C2.121 6.88 6.608 3 12 3zm0 16a9.005 9.005 0 0 0 8.777-7a9.005 9.005 0 0 0-17.554 0A9.005 9.005 0 0 0 12 19zm0-2.5a4.5 4.5 0 1 1 0-9a4.5 4.5 0 0 1 0 9zm0-2a2.5 2.5 0 1 0 0-5a2.5 2.5 0 0 0 0 5z"},null,-1)];function Fe(t,r){return e.openBlock(),e.createElementBlock("svg",Te,Ke)}var Oe={name:"ri-eye-line",render:Fe};const Ge={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ue=[e.createElementVNode("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM20 11H4v8h16v-8zm0-2V7h-8.414l-2-2H4v4h16z"},null,-1)];function Xe(t,r){return e.openBlock(),e.createElementBlock("svg",Ge,Ue)}var qe={name:"ri-folder-2-line",render:Xe};const Pe={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Je=[e.createElementVNode("path",{fill:"currentColor",d:"M4.5 10.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S6 12.825 6 12s-.675-1.5-1.5-1.5zm15 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S21 12.825 21 12s-.675-1.5-1.5-1.5zm-7.5 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5s1.5-.675 1.5-1.5s-.675-1.5-1.5-1.5z"},null,-1)];function Qe(t,r){return e.openBlock(),e.createElementBlock("svg",Pe,Je)}var We={name:"ri-more-line",render:Qe};const Ze={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},et=[e.createElementVNode("path",{fill:"currentColor",d:"m12 10.586l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.414 1.414l-4.95-4.95l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.95-4.95L7.05 5.636z"},null,-1)];function tt(t,r){return e.openBlock(),e.createElementBlock("svg",Ze,et)}var w={name:"ri-close-line",render:tt};const rt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},at=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zm-1-5h2v2h-2v-2zm0-8h2v6h-2V7z"},null,-1)];function ot(t,r){return e.openBlock(),e.createElementBlock("svg",rt,at)}var g={name:"ri-error-warning-line",render:ot};const nt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},it=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zm-.997-4L6.76 11.757l1.414-1.414l2.829 2.829l5.656-5.657l1.415 1.414L11.003 16z"},null,-1)];function lt(t,r){return e.openBlock(),e.createElementBlock("svg",nt,it)}var f={name:"ri-checkbox-circle-line",render:lt};const ct={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},st=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z"},null,-1)];function dt(t,r){return e.openBlock(),e.createElementBlock("svg",ct,st)}var b={name:"ri-information-line",render:dt};const pt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},mt=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zm0-9.414l2.828-2.829l1.415 1.415L13.414 12l2.829 2.828l-1.415 1.415L12 13.414l-2.828 2.829l-1.415-1.415L10.586 12L7.757 9.172l1.415-1.415L12 10.586z"},null,-1)];function ht(t,r){return e.openBlock(),e.createElementBlock("svg",pt,mt)}var k={name:"ri-close-circle-line",render:ht};const wt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},bt=[e.createElementVNode("path",{fill:"currentColor",d:"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm1 2H6v12h12V8zm-4.586 6l1.768 1.768l-1.414 1.414L12 15.414l-1.768 1.768l-1.414-1.414L10.586 14l-1.768-1.768l1.414-1.414L12 12.586l1.768-1.768l1.414 1.414L13.414 14zM9 4v2h6V4H9z"},null,-1)];function gt(t,r){return e.openBlock(),e.createElementBlock("svg",wt,bt)}var ft={name:"ri-delete-bin-2-line",render:gt};const ut={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},_t=[e.createElementVNode("path",{fill:"currentColor",d:"M11 11V7h2v4h4v2h-4v4h-2v-4H7v-2h4zm1 11C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16z"},null,-1)];function yt(t,r){return e.openBlock(),e.createElementBlock("svg",ut,_t)}var xt={name:"ri-add-circle-line",render:yt};const kt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},$t=[e.createElementVNode("path",{fill:"currentColor",d:"M7 19v-6h10v6h2V7.828L16.172 5H5v14h2zM4 3h13l4 4v13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5 12v4h6v-4H9z"},null,-1)];function vt(t,r){return e.openBlock(),e.createElementBlock("svg",kt,$t)}var Bt={name:"ri-save-line",render:vt};const zt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Vt=[e.createElementVNode("path",{fill:"currentColor",d:"M8 4h13v2H8V4zM4.5 6.5a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3zm0 7a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3zm0 6.9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z"},null,-1)];function Ct(t,r){return e.openBlock(),e.createElementBlock("svg",zt,Vt)}var Et={name:"ri-list-unordered",render:Ct};const Mt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},St=[e.createElementVNode("path",{fill:"currentColor",d:"M14 10h-4v4h4v-4zm2 0v4h3v-4h-3zm-2 9v-3h-4v3h4zm2 0h3v-3h-3v3zM14 5h-4v3h4V5zm2 0v3h3V5h-3zm-8 5H5v4h3v-4zm0 9v-3H5v3h3zM8 5H5v3h3V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"},null,-1)];function Nt(t,r){return e.openBlock(),e.createElementBlock("svg",Mt,St)}var It={name:"ri-grid-line",render:Nt};const At={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Lt=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm-.997-6l7.07-7.071l-1.414-1.414l-5.656 5.657l-2.829-2.829l-1.414 1.414L11.003 16z"},null,-1)];function Rt(t,r){return e.openBlock(),e.createElementBlock("svg",At,Lt)}var Yt={name:"ri-checkbox-circle-fill",render:Rt};const Ht={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Dt=[e.createElementVNode("path",{fill:"currentColor",d:"M11 2c4.968 0 9 4.032 9 9s-4.032 9-9 9s-9-4.032-9-9s4.032-9 9-9zm0 16c3.867 0 7-3.133 7-7c0-3.868-3.133-7-7-7c-3.868 0-7 3.132-7 7c0 3.867 3.132 7 7 7zm8.485.071l2.829 2.828l-1.415 1.415l-2.828-2.829l1.414-1.414z"},null,-1)];function jt(t,r){return e.openBlock(),e.createElementBlock("svg",Ht,Dt)}var Tt={name:"ri-search-2-line",render:jt};const Kt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ft=[e.createElementVNode("path",{fill:"currentColor",d:"M4 16h16V5H4v11zm9 2v2h4v2H7v-2h4v-2H2.992A.998.998 0 0 1 2 16.993V4.007C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007v12.986c0 .556-.455 1.007-.992 1.007H13z"},null,-1)];function Ot(t,r){return e.openBlock(),e.createElementBlock("svg",Kt,Ft)}var Gt={name:"ri-computer-line",render:Ot};const Ut={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Xt=[e.createElementVNode("path",{fill:"currentColor",d:"M7 4v16h10V4H7zM6 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 15a1 1 0 1 1 0 2a1 1 0 0 1 0-2z"},null,-1)];function qt(t,r){return e.openBlock(),e.createElementBlock("svg",Ut,Xt)}var Pt={name:"ri-smartphone-line",render:qt};const Jt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Qt=[e.createElementVNode("path",{fill:"currentColor",d:"M6 4v16h12V4H6zM5 2h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 15a1 1 0 1 1 0 2a1 1 0 0 1 0-2z"},null,-1)];function Wt(t,r){return e.openBlock(),e.createElementBlock("svg",Jt,Qt)}var Zt={name:"ri-tablet-line",render:Wt};const er={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},tr=[e.createElementVNode("path",{fill:"currentColor",d:"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4zm5.793 8.914l3.535-3.535l1.415 1.414l-4.95 4.95l-3.536-3.536l1.415-1.414l2.12 2.121z"},null,-1)];function rr(t,r){return e.openBlock(),e.createElementBlock("svg",er,tr)}var ar={name:"ri-user-follow-line",render:rr};const or={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},nr=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zm-5-7h9v2h-4v3l-5-5zm5-4V6l5 5H8V9h4z"},null,-1)];function ir(t,r){return e.openBlock(),e.createElementBlock("svg",or,nr)}var lr={name:"ri-exchange-line",render:ir};const cr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},sr=[e.createElementVNode("path",{fill:"currentColor",d:"M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 0 0 6.838 9.488c.5.087.687-.213.687-.476c0-.237-.013-1.024-.013-1.862c-2.512.463-3.162-.612-3.362-1.175c-.113-.288-.6-1.175-1.025-1.413c-.35-.187-.85-.65-.013-.662c.788-.013 1.35.725 1.538 1.025c.9 1.512 2.338 1.087 2.912.825c.088-.65.35-1.087.638-1.337c-2.225-.25-4.55-1.113-4.55-4.938c0-1.088.387-1.987 1.025-2.688c-.1-.25-.45-1.275.1-2.65c0 0 .837-.262 2.75 1.026a9.28 9.28 0 0 1 2.5-.338c.85 0 1.7.112 2.5.337c1.912-1.3 2.75-1.024 2.75-1.024c.55 1.375.2 2.4.1 2.65c.637.7 1.025 1.587 1.025 2.687c0 3.838-2.337 4.688-4.562 4.938c.362.312.675.912.675 1.85c0 1.337-.013 2.412-.013 2.75c0 .262.188.574.688.474A10.016 10.016 0 0 0 22 12c0-5.525-4.475-10-10-10z"},null,-1)];function dr(t,r){return e.openBlock(),e.createElementBlock("svg",cr,sr)}var pr={name:"ri-github-fill",render:dr};const mr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},hr=[e.createElementVNode("path",{fill:"currentColor",d:"m12 12.586l4.243 4.242l-1.415 1.415L13 16.415V22h-2v-5.587l-1.828 1.83l-1.415-1.415L12 12.586zM12 2a7.001 7.001 0 0 1 6.954 6.194a5.5 5.5 0 0 1-.953 10.784v-2.014a3.5 3.5 0 1 0-1.112-6.91a5 5 0 1 0-9.777 0a3.5 3.5 0 0 0-1.292 6.88l.18.03v2.014a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z"},null,-1)];function wr(t,r){return e.openBlock(),e.createElementBlock("svg",mr,hr)}var br={name:"ri-upload-cloud-2-line",render:wr};const gr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},fr=[e.createElementVNode("path",{fill:"currentColor",d:"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05L5 4.604zM12 11a2.5 2.5 0 1 1 0-5a2.5 2.5 0 0 1 0 5zm-4.473 5a4.5 4.5 0 0 1 8.946 0H7.527z"},null,-1)];function ur(t,r){return e.openBlock(),e.createElementBlock("svg",gr,fr)}var _r={name:"ri-shield-user-line",render:ur};const yr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},xr=[e.createElementVNode("path",{fill:"currentColor",d:"M7.105 15.21A3.001 3.001 0 1 1 5 15.17V8.83a3.001 3.001 0 1 1 2 0V12c.836-.628 1.874-1 3-1h4a3.001 3.001 0 0 0 2.895-2.21a3.001 3.001 0 1 1 2.032.064A5.001 5.001 0 0 1 14 13h-4a3.001 3.001 0 0 0-2.895 2.21zM6 17a1 1 0 1 0 0 2a1 1 0 0 0 0-2zM6 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2a1 1 0 0 0 0-2z"},null,-1)];function kr(t,r){return e.openBlock(),e.createElementBlock("svg",yr,xr)}var $r={name:"ri-git-branch-line",render:kr};const vr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Br=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zM9 9h6v6H9V9z"},null,-1)];function zr(t,r){return e.openBlock(),e.createElementBlock("svg",vr,Br)}var Vr={name:"ri-stop-circle-line",render:zr};const Cr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Er=[e.createElementVNode("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10zm0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16zM8.523 7.109l8.368 8.368a6.04 6.04 0 0 1-1.414 1.414L7.109 8.523A6.04 6.04 0 0 1 8.523 7.11z"},null,-1)];function Mr(t,r){return e.openBlock(),e.createElementBlock("svg",Cr,Er)}var $={name:"ri-forbid-line",render:Mr},Qo=(()=>`.alert-wrapper[data-v-3bf3a1a9]{display:flex;flex-direction:column;box-sizing:border-box;border-width:1px;padding:12px 16px;border-radius:4px}.alert-wrapper .alert-header[data-v-3bf3a1a9]{display:flex}.alert-wrapper .alert-header .alert-icon[data-v-3bf3a1a9]{align-self:center;margin-right:.75rem;font-size:1.125rem;line-height:1.75rem}.alert-wrapper .alert-header .alert-title[data-v-3bf3a1a9]{align-self:center;margin-right:.75rem;flex:1 1 0%;font-weight:500;font-size:1rem;line-height:1.5rem}.alert-wrapper .alert-header .alert-close[data-v-3bf3a1a9]{align-self:center;cursor:pointer;border-radius:9999px;padding:.125rem}.alert-wrapper .alert-header .alert-close[data-v-3bf3a1a9]:hover{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.alert-wrapper .alert-description[data-v-3bf3a1a9]{font-size:.875rem;line-height:1.25rem;margin-top:.5rem}.alert-wrapper .alert-actions[data-v-3bf3a1a9]{border-top-width:1px;margin-top:.75rem;padding-top:.5rem}.alert-wrapper.alert-default[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.alert-wrapper.alert-default .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-default .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.alert-wrapper.alert-default .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-default .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.alert-wrapper.alert-success[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity))}.alert-wrapper.alert-success .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-success .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.alert-wrapper.alert-success .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-success .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.alert-wrapper.alert-info[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.alert-wrapper.alert-info .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-info .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.alert-wrapper.alert-info .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-info .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity))}.alert-wrapper.alert-warning[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity))}.alert-wrapper.alert-warning .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-warning .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.alert-wrapper.alert-warning .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-warning .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.alert-wrapper.alert-error[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity))}.alert-wrapper.alert-error .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-error .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.alert-wrapper.alert-error .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-error .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}
3
+ `)(),v=(t,r)=>{const o=t.__vccOpts||t;for(const[n,i]of r)o[n]=i;return o};const Sr={class:"alert-header"},Nr={class:"alert-icon"},Ir={class:"alert-title"},Ar={key:0,class:"alert-description"},Lr={key:1,class:"alert-actions"};var Rr=v(e.defineComponent({__name:"Alert",props:{type:{type:String,default:"default"},title:{type:String},description:{type:String},closable:{type:Boolean,default:!0}},emits:["close"],setup(t,{emit:r}){const o=t,n={success:f,info:b,default:b,warning:g,error:k},i=e.computed(()=>[`alert-${o.type}`]),l=()=>{r("close")};return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i),"alert-wrapper"])},[e.createElementVNode("div",Sr,[e.createElementVNode("div",Nr,[e.renderSlot(c.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n[t.type])))],!0)]),e.createElementVNode("div",Ir,e.toDisplayString(t.title),1),t.closable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"alert-close",onClick:l},[e.createVNode(e.unref(w))])):e.createCommentVNode("",!0)]),t.description||c.$slots.description?(e.openBlock(),e.createElementBlock("div",Ar,[e.renderSlot(c.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),c.$slots.actions?(e.openBlock(),e.createElementBlock("div",Lr,[e.renderSlot(c.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3bf3a1a9"]]),Zo=(()=>`.btn{border-radius:4px;display:inline-flex;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-align:center;font-size:.875rem;line-height:1.25rem;-webkit-text-decoration-line:none;text-decoration-line:none;height:2.25rem;padding-left:1rem;padding-right:1rem;outline-width:0px;border-style:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle}.btn:hover{opacity:.9}.btn:active{opacity:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-default{border:1px solid #d9d9d9}.btn-default .btn-icon{color:#0e1731}.btn-primary{background:#4ccba0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary{background:#0e1731;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-danger{background:#d71d1d;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-block{width:100%}.btn-icon{height:1.25rem;width:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));margin-right:.75rem}.btn-loading{cursor:not-allowed}.btn-loading:hover{opacity:1}.btn-lg{height:2.75rem;padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;line-height:1.75rem}.btn-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.btn-sm .btn-icon{height:.75rem;width:.75rem;margin-right:.5rem}.btn-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.btn-xs .btn-icon{height:.75rem;width:.75rem;margin-right:.5rem}.btn-circle{width:2.25rem;padding:0;border-radius:9999px}.btn-lg.btn-circle{width:2.75rem}.btn-sm.btn-circle{width:1.75rem}.btn-xs.btn-circle{width:1.5rem}
4
+ `)();const Yr=["disabled"],Hr={key:0,class:"btn-icon"},Dr={key:0,class:"animate-spin",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},jr=[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",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",fill:"currentColor"},null,-1)],Tr={class:"btn-content"},u=e.defineComponent({__name:"Button",props:{type:{type:String,default:"default"},size:{type:String,default:"md"},circle:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},route:{type:Object}},emits:["click"],setup(t,{emit:r}){const o=t,n=m.useRouter(),i=e.computed(()=>[`btn-${o.size}`,`btn-${o.type}`,{"btn-circle":o.circle},{"btn-block":o.block},{"btn-loading":o.loading}]);function l(){o.disabled||o.loading||(o.route&&n.push(o.route),r("click"))}return(c,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([e.unref(i),"btn"]),disabled:t.disabled,onClick:l},[c.$slots.icon||t.loading?(e.openBlock(),e.createElementBlock("span",Hr,[t.loading?(e.openBlock(),e.createElementBlock("svg",Dr,jr)):e.renderSlot(c.$slots,"icon",{key:1})])):e.createCommentVNode("",!0),e.createElementVNode("span",Tr,[e.renderSlot(c.$slots,"default")])],10,Yr))}});var rn=(()=>`.card-wrapper{box-sizing:border-box;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);overflow:hidden;border-radius:4px;border:1px solid #eaecf0}.card-wrapper .card-header{display:flex;justify-content:space-between;border-bottom:1px solid #eaecf0}.card-wrapper .card-header .card-header-title{align-self:center;font-size:1rem;line-height:1.5rem;font-weight:700;padding:12px 16px}.card-wrapper .card-header .card-header-actions{align-self:center}.card-wrapper .card-body{padding:12px 16px}.card-wrapper .card-footer{border-top:1px solid #eaecf0;padding:12px 16px}
5
+ `)();const Kr={class:"card-wrapper"},Fr={key:0,class:"card-header"},Or={class:"card-header-title"},Gr={class:"card-header-actions"},Ur={key:1,class:"card-footer"},Xr=e.defineComponent({__name:"Card",props:{title:{type:String},bodyClass:{type:Object}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Kr,[t.title||r.$slots.header?(e.openBlock(),e.createElementBlock("div",Fr,[e.renderSlot(r.$slots,"header",{},()=>[e.createElementVNode("div",Or,e.toDisplayString(t.title),1),e.createElementVNode("div",Gr,[e.renderSlot(r.$slots,"actions")])])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([t.bodyClass,"card-body"])},[e.renderSlot(r.$slots,"default")],2),r.$slots.footer?(e.openBlock(),e.createElementBlock("div",Ur,[e.renderSlot(r.$slots,"footer")])):e.createCommentVNode("",!0)]))}});var an=(()=>`.checkbox-wrapper{display:flex;align-items:center;box-sizing:border-box;flex-grow:0}
6
+ `)();const qr={class:"checkbox-inner"},Pr=["id","checked","value"],Jr=["for"],B=e.defineComponent({__name:"CheckBox",props:{checked:{type:Boolean,default:!1},value:{type:[String,Number,Boolean]},label:{type:String},name:{type:String}},emits:["update:checked","change"],setup(t,{emit:r}){const o=t,n=["checkbox",o.name,o.value].filter(l=>!!l).join("-");function i(l){const{checked:c}=l.target;r("update:checked",c),r("change",l)}return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"checkbox-wrapper-checked":t.checked},"checkbox-wrapper"])},[e.createElementVNode("div",qr,[e.createElementVNode("input",{id:e.unref(n),checked:t.checked,value:t.value,type:"checkbox",onChange:i},null,40,Pr)]),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(n),class:"checkbox-label"},e.toDisplayString(t.label),9,Jr)):e.createCommentVNode("",!0)],2))}});var on=(()=>"")();const Qr={class:"checkbox-group-wrapper"},Wr=e.defineComponent({__name:"CheckBoxGroup",props:{modelValue:{type:Object,default:()=>[]},options:{type:Object},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},name:{type:String}},emits:["update:modelValue","change"],setup(t,{emit:r}){const o=t;function n(i){const{value:l,checked:c}=i.target,d=[...o.modelValue];c?d.push(l):d.splice(d.indexOf(l),1),r("update:modelValue",d),r("change",d)}return(i,l)=>(e.openBlock(),e.createElementBlock("div",Qr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(c,d)=>(e.openBlock(),e.createBlock(e.unref(B),{key:d,checked:t.modelValue.includes(c[t.valueKey]),label:c[t.labelKey],name:t.name,value:c[t.valueKey],onChange:n},null,8,["checked","label","name","value"]))),128))]))}}),Zr={class:"flex items-center justify-between bg-white p-4"},ea={class:"min-w-0 flex-1 self-center"},ta={class:"flex items-center truncate text-xl font-bold text-gray-800"},ra={class:"self-center"},aa=e.defineComponent({__name:"PageHeader",props:{title:{type:String}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("div",Zr,[e.createElementVNode("div",ea,[e.createElementVNode("h2",ta,[e.renderSlot(r.$slots,"icon"),e.createElementVNode("span",null,e.toDisplayString(t.title),1)])]),e.createElementVNode("div",ra,[e.renderSlot(r.$slots,"actions")])]))}});var nn=(()=>`.input-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.input-wrapper input{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;resize:none;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ced4da;border-radius:4px}.input-wrapper input:active{border-color:#4ccba0}.input-wrapper input:focus{border-color:#4ccba0}.input-wrapper input:disabled{opacity:.5;cursor:not-allowed}.input-wrapper input.input-lg{height:2.75rem;padding-left:1rem;padding-right:1rem;font-size:1.125rem;line-height:1.75rem}.input-wrapper input.input-md{height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem}.input-wrapper input.input-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.input-wrapper input.input-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.input-wrapper .input-prefix{position:absolute;display:flex;top:50%;transform:translateY(-50%);align-items:center;justify-content:center}.input-wrapper .input-suffix{position:absolute;display:flex;top:50%;right:0;transform:translateY(-50%);align-items:center;justify-content:center}
7
+ `)();const oa={class:"input-wrapper"},na={key:0,class:"input-prefix"},ia=["disabled","placeholder","value"],la={key:1,class:"input-suffix"},ca=e.defineComponent({__name:"Input",props:{modelValue:{type:String},size:{type:String,default:"md"},disabled:{type:Boolean,default:!1},placeholder:{type:String}},emits:["update:modelValue"],setup(t,{emit:r}){const o=t,n=e.computed(()=>[`input-${o.size}`]);function i(l){const{value:c}=l.target;r("update:modelValue",c)}return(l,c)=>(e.openBlock(),e.createElementBlock("div",oa,[l.$slots.prefix?(e.openBlock(),e.createElementBlock("div",na,[e.renderSlot(l.$slots,"prefix")])):e.createCommentVNode("",!0),e.createElementVNode("input",{class:e.normalizeClass(e.unref(n)),disabled:t.disabled,placeholder:t.placeholder,value:t.modelValue,type:"text",onInput:i},null,42,ia),l.$slots.suffix?(e.openBlock(),e.createElementBlock("div",la,[e.renderSlot(l.$slots,"suffix")])):e.createCommentVNode("",!0)]))}}),sa={class:"menu-container w-full p-3"},z=e.defineComponent({__name:"Menu",props:{openIds:{type:Object,required:!1}},setup(t){const r=t;return e.provide("openIds",r.openIds),(o,n)=>(e.openBlock(),e.createElementBlock("div",sa,[e.createElementVNode("ul",null,[e.renderSlot(o.$slots,"default")])]))}});var ln=(()=>`.menu-item{cursor:pointer}.menu-item-title{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-size:1rem;line-height:1.5rem;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;padding:.5rem;font-weight:400;border-radius:4px}.menu-item-title:hover,.menu-item-title.active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));font-weight:500}.menu-item-title.active:after{position:absolute;top:calc(50% - 13px);left:-8px;width:3px;height:26px;content:"";background:#242e41;border-radius:6px}.menu-icon-collapse.open{transform:rotate(90deg)}.submenus-show-enter-active{transition:all .1s ease-out}.submenus-show-leave-active{transition:all .8s cubic-bezier(1,.5,.8,1)}.submenus-show-enter-from,.submenus-show-enter-to{transform:translateY(-10px);opacity:0}
8
+ `)();const da=["onClick"],pa={key:0,class:"menu-icon mr-3 self-center"},ma={class:"menu-title flex-1 self-center"},ha={class:"sub-menu-items transition-all"},_=e.defineComponent({__name:"MenuItem",props:{id:{type:String,default:""},title:{type:String,default:""},active:{type:Boolean,default:!1}},emits:["select"],setup(t,{emit:r}){const o=t,n=e.useSlots(),i=e.ref(!1),l=e.inject("openIds");l!=null&&l.includes(o.id)&&(i.value=!0);const c=e.computed(()=>n.default&&n.default().length>0);function d(){if(c.value){i.value=!i.value;return}r("select",o.id)}return(s,p)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass([{"has-submenus":e.unref(c)},"menu-item"]),onClick:e.withModifiers(d,["stop"])},[e.createElementVNode("div",{class:e.normalizeClass([{active:t.active},"menu-item-title"])},[s.$slots.icon?(e.openBlock(),e.createElementBlock("span",pa,[e.renderSlot(s.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("span",ma,e.toDisplayString(t.title),1),s.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([{open:i.value},"menu-icon-collapse self-center transition-all"])},[e.createVNode(e.unref(x))],2)):e.createCommentVNode("",!0)],2),e.createVNode(e.Transition,{name:"submenus-show"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("ul",ha,[e.renderSlot(s.$slots,"default")],512),[[e.vShow,s.$slots.default&&i.value]])]),_:3})],10,da))}});var cn=(()=>`.menu-label{padding-top:10px;padding-bottom:10px;color:#847e7e;font-size:14px;font-weight:400}
9
+ `)();const wa={},ba={class:"menu-label flex flex-col"};function ga(t,r){return e.openBlock(),e.createElementBlock("li",ba,[e.renderSlot(t.$slots,"default")])}var V=v(wa,[["render",ga]]);const fa=e.defineComponent({name:"VRoutesMenu",props:{menus:{type:Object}},emits:["select"],setup(t,{emit:r}){const o=m.useRoute(),{push:n}=m.useRouter(),i=e.computed(()=>o.matched.map(s=>s.path));async function l(s){r("select",s),await n(s)}function c(s){if(!!s)return e.createVNode(s,{height:"20px",width:"20px"},null)}function d(s){return s==null?void 0:s.map(p=>{var h;return e.createVNode(e.Fragment,null,[(h=p.children)!=null&&h.length?e.createVNode(_,{key:p.path,id:p.path,title:p.name},{default:()=>[d(p.children)],icon:()=>c(p.icon)}):e.createVNode(_,{key:p.path,id:p.path,title:p.name,onSelect:l,active:i.value.includes(p.path)},{icon:()=>c(p.icon)})])})}return()=>e.createVNode(z,{openIds:i.value},{default:()=>{var s;return[(s=t.menus)==null?void 0:s.map(p=>{var h;return e.createVNode(e.Fragment,null,[p.name&&e.createVNode(V,null,{default:()=>[p.name]}),((h=p.items)==null?void 0:h.length)&&d(p.items)])})]}})}});var sn=(()=>`.modal-wrapper{position:fixed;top:0px;left:0px;height:100%;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:999}.modal-wrapper .modal-layer{flex:none;position:absolute;top:0px;left:0px;height:100%;width:100%;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:rgb(107 114 128 / var(--tw-bg-opacity));--tw-bg-opacity: .75}.modal-wrapper .modal-content{display:flex;flex-direction:column;position:relative;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));align-items:stretch;--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:4px}.modal-wrapper .modal-content .modal-header{display:flex;justify-content:space-between;border-bottom-width:1px}.modal-wrapper .modal-content .modal-header .modal-header-title{align-self:center;font-size:1rem;line-height:1.5rem;font-weight:700;padding:12px 16px}.modal-wrapper .modal-content .modal-header .modal-header-actions{align-self:center;height:100%}.modal-wrapper .modal-content .modal-header .modal-header-actions .modal-header-action{cursor:pointer;padding:12px 16px}.modal-wrapper .modal-content .modal-header .modal-header-actions .modal-header-action:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.modal-wrapper .modal-content .modal-body{overflow-y:auto;overflow-x:hidden;flex:1 1 0%;word-wrap:break-word;padding:12px 16px}.modal-wrapper .modal-content .modal-footer{border-top-width:1px;padding:12px 16px}.modal-wrapper.modal-wrapper-fullscreen .modal-content{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0}
10
+ `)();const ua={key:0,class:"modal-header"},_a={class:"modal-header-title"},ya={class:"modal-header-actions flex flex-row"},xa={key:1,class:"modal-footer"},C=e.defineComponent({__name:"Modal",props:{visible:{type:Boolean,default:!1},title:{type:String},width:{type:Number,default:500},fullscreen:{type:Boolean,default:!1},bodyClass:{type:Object}},emits:["update:visible","close"],setup(t,{emit:r}){const o=t,n=e.ref(!1),i=e.computed(()=>({"modal-wrapper-fullscreen":o.fullscreen})),l=e.computed(()=>({maxWidth:o.width+"px"}));function c(){r("update:visible",!1),r("close")}return(d,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!0},[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass([e.unref(i),"modal-wrapper"]),"aria-modal":"true",role:"dialog",tabindex:"0",onKeyup:s[4]||(s[4]=e.withKeys(p=>c(),["esc"]))},[e.createVNode(e.Transition,{"enter-active-class":"ease-out duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"ease-in duration-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0",onBeforeEnter:s[1]||(s[1]=p=>n.value=!0),onAfterLeave:s[2]||(s[2]=p=>n.value=!1)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"modal-layer",onClick:s[0]||(s[0]=p=>c())},null,512),[[e.vShow,t.visible]])]),_:1}),e.createVNode(e.Transition,{"enter-active-class":"ease-out duration-200","enter-from-class":"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95","enter-to-class":"opacity-100 translate-y-0 sm:scale-100","leave-active-class":"ease-in duration-100","leave-from-class":"opacity-100 translate-y-0 sm:scale-100","leave-to-class":"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{style:e.normalizeStyle(e.unref(l)),class:"modal-content transform transition-all"},[d.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",ua,[e.renderSlot(d.$slots,"header",{},()=>[e.createElementVNode("div",_a,e.toDisplayString(t.title),1),e.createElementVNode("div",ya,[e.renderSlot(d.$slots,"actions"),e.createElementVNode("div",{class:"modal-header-action",onClick:s[3]||(s[3]=p=>c())},[e.createVNode(e.unref(w))])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([t.bodyClass,"modal-body"])},[e.renderSlot(d.$slots,"default")],2),d.$slots.footer?(e.openBlock(),e.createElementBlock("div",xa,[e.renderSlot(d.$slots,"footer")])):e.createCommentVNode("",!0)],4),[[e.vShow,t.visible]])]),_:3})],34),[[e.vShow,n.value]])]))}});var dn=(()=>`.radio-wrapper{display:flex;align-items:center;box-sizing:border-box;flex-grow:0}.radio-wrapper .radio-inner{align-self:center;position:relative}.radio-wrapper .radio-label{display:flex;align-self:center;align-items:flex-start;margin-left:.75rem}
11
+ `)();const ka={class:"radio-inner"},$a=["id","checked","name","value"],va=["for"],E=e.defineComponent({__name:"Radio",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{type:String},name:{type:String}},emits:["update:modelValue","change"],setup(t,{emit:r}){const o=t,n=["radio",o.name,o.value].filter(c=>!!c).join("-"),i=e.computed(()=>o.modelValue===o.value);function l(c){const{value:d}=c.target;r("update:modelValue",d),r("change",d)}return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"radio-wrapper-checked":e.unref(i)},"radio-wrapper"])},[e.createElementVNode("div",ka,[e.createElementVNode("input",{id:e.unref(n),checked:e.unref(i),name:t.name,value:t.value,type:"radio",onChange:l},null,40,$a)]),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(n),class:"radio-label"},e.toDisplayString(t.label),9,va)):e.createCommentVNode("",!0)],2))}}),Ba={class:"radio-group-wrapper"},za=e.defineComponent({__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean]},options:{type:Object},valueKey:{type:String,default:"value"},labelKey:{type:String,default:"label"},name:{type:String}},emits:["update:modelValue","change"],setup(t,{emit:r}){function o(n){r("update:modelValue",n),r("change",n)}return(n,i)=>(e.openBlock(),e.createElementBlock("div",Ba,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(l,c)=>(e.openBlock(),e.createBlock(e.unref(E),{key:c,label:l[t.labelKey]+"","model-value":t.modelValue,name:t.name,value:l[t.valueKey],onChange:o},null,8,["label","model-value","name","value"]))),128))]))}});var pn=(()=>`.select-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.select-wrapper select{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ced4da;border-radius:4px}.select-wrapper select:active{border-color:#4ccba0}.select-wrapper select:focus{border-color:#4ccba0}.select-wrapper select:disabled{opacity:.5;cursor:not-allowed}.select-wrapper select.select-lg{height:2.75rem;padding-left:1rem;padding-right:1rem;font-size:1.125rem;line-height:1.75rem}.select-wrapper select.select-md{height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem}.select-wrapper select.select-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.select-wrapper select.select-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}
12
+ `)();const Va={class:"select-wrapper"},Ca=["disabled","value"],Ea={key:"placeholder",disabled:"",hidden:"",value:""},Ma=e.defineComponent({__name:"Select",props:{modelValue:{type:String},size:{type:String,default:"md"},disabled:{type:Boolean,default:!1},placeholder:{type:String}},emits:["update:modelValue"],setup(t,{emit:r}){const o=t,n=e.computed(()=>[`select-${o.size}`]);function i(l){const{value:c}=l.target;r("update:modelValue",c)}return(l,c)=>(e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("select",{class:e.normalizeClass(e.unref(n)),disabled:t.disabled,value:t.modelValue,onChange:i},[t.placeholder?(e.openBlock(),e.createElementBlock("option",Ea,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")],42,Ca)]))}}),Sa=["value"],Na=e.defineComponent({__name:"Option",props:{value:{type:[String,Number,Boolean]}},setup(t){return(r,o)=>(e.openBlock(),e.createElementBlock("option",{value:t.value},[e.renderSlot(r.$slots,"default")],8,Sa))}}),Ia={xs:10,sm:12,md:16,lg:20};var mn=(()=>`.space-wrapper{display:inline-flex;box-sizing:border-box}.space-wrapper.space-direction-row{flex-direction:row}.space-wrapper.space-direction-column{flex-direction:column}.space-wrapper.space-align-center{align-items:center}.space-wrapper.space-align-start{align-items:flex-start}.space-wrapper.space-align-end{align-items:flex-end}.space-wrapper.space-align-stretch{align-items:stretch}
13
+ `)();const M=e.defineComponent({__name:"Space",props:{spacing:{type:String,default:"xs"},direction:{type:String,default:"row"},align:{type:String,default:"center"}},setup(t){const r=t,o=e.computed(()=>{const{direction:n,align:i}=r;return[`space-direction-${n}`,`space-align-${i}`]});return(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(o),"space-wrapper"]),style:e.normalizeStyle(`gap: ${e.unref(Ia)[t.spacing]}px`)},[e.renderSlot(n.$slots,"default")],6))}});var hn=(()=>`.tabs-wrapper{display:flex}.tabs-wrapper.tabs-direction-row{flex-direction:column}.tabs-wrapper.tabs-direction-row .tabs-items-wrapper{margin-top:.5rem}.tabs-wrapper.tabs-direction-column .tabs-items-wrapper{margin-left:.5rem}
14
+ `)();const Aa={class:"tabs-bar-wrapper"},La={class:"tabs-items-wrapper"},Ra=e.defineComponent({__name:"Tabs",props:{activeId:{type:[Number,String]},type:{type:String,default:"default"},direction:{type:String,default:"row"},idKey:{type:String,default:"id"},labelKey:{type:String,default:"label"}},emits:["update:activeId","change"],setup(t,{emit:r}){const o=t;e.provide("activeId",e.computed(()=>o.activeId));const n=e.useSlots(),i=e.computed(()=>{var d;return(d=n.default)==null?void 0:d.call(n).map(({props:s})=>({id:s==null?void 0:s[o.idKey],label:s==null?void 0:s[o.labelKey]}))}),l=e.computed(()=>[`tabs-direction-${o.direction}`]),c=d=>{r("update:activeId",d),r("change",d)};return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(l),"tabs-wrapper"])},[e.createElementVNode("div",Aa,[e.createVNode(e.unref(S),{activeId:t.activeId,direction:t.direction,items:e.unref(i),type:t.type,onChange:c},null,8,["activeId","direction","items","type"])]),e.createElementVNode("div",La,[e.renderSlot(d.$slots,"default")])],2))}}),Ya={key:0,class:"tabs-item-wrapper"},Ha=e.defineComponent({__name:"TabItem",props:{id:{type:String},label:{type:String}},setup(t){const r=t,o=e.inject("activeId"),n=e.computed(()=>(o==null?void 0:o.value)===r.id);return(i,l)=>e.unref(n)?(e.openBlock(),e.createElementBlock("div",Ya,[e.renderSlot(i.$slots,"default")])):e.createCommentVNode("",!0)}});var wn=(()=>`.tabbar-wrapper .tabbar-items{display:flex;align-items:center;flex-direction:row}.tabbar-wrapper .tabbar-item{display:flex;cursor:pointer;align-self:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-size:1rem;line-height:1.5rem;justify-content:center;gap:.5rem}.tabbar-wrapper .tabbar-item .tabbar-item-label,.tabbar-wrapper .tabbar-item .tabbar-item-icon{align-self:center}.tabbar-wrapper.tabbar-default{border-bottom-width:2px;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity))}.tabbar-wrapper.tabbar-default .tabbar-items{margin-bottom:-2px;justify-content:flex-start}.tabbar-wrapper.tabbar-default .tabbar-item{height:2.5rem;padding:.25rem 1.25rem;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity));border-bottom-width:2px}.tabbar-wrapper.tabbar-default .tabbar-item.tabbar-item-active{color:#0e1731;border-bottom-color:#0e1731}.tabbar-wrapper.tabbar-pills .tabbar-items{gap:.25rem;justify-content:flex-start}.tabbar-wrapper.tabbar-pills .tabbar-item{height:2.5rem;padding:.25rem 2.25rem;opacity:.7;border-radius:4px}.tabbar-wrapper.tabbar-pills .tabbar-item.tabbar-item-active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));opacity:1}.tabbar-wrapper.tabbar-pills .tabbar-item:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.tabbar-wrapper.tabbar-outline{padding:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));border-radius:4px}.tabbar-wrapper.tabbar-outline .tabbar-items{gap:.25rem;justify-content:flex-start}.tabbar-wrapper.tabbar-outline .tabbar-item{height:2.5rem;padding:.25rem 2.25rem;opacity:.7;border-radius:4px}.tabbar-wrapper.tabbar-outline .tabbar-item.tabbar-item-active{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));opacity:1;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tabbar-wrapper.tabbar-outline .tabbar-item:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.tabbar-wrapper.tabbar-direction-row .tabbar-items{flex-direction:row}.tabbar-wrapper.tabbar-direction-column .tabbar-items{flex-direction:column}.tabbar-wrapper.tabbar-direction-column.tabbar-default{border-bottom-width:0;border-bottom-width:0px;border-right-width:2px;--tw-border-opacity: 1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity))}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-items{margin-bottom:0;margin-right:-2px}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-item{border-bottom-width:0;border-right-width:2px}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-item.tabbar-item-active{border-right-color:#0e1731}
15
+ `)();const Da={class:"tabbar-items"},ja=["onClick"],Ta={key:0,class:"tabbar-item-icon"},Ka={key:1,class:"tabbar-item-label"},S=e.defineComponent({__name:"Tabbar",props:{activeId:{type:[Number,String]},items:{type:Object},type:{type:String,default:"default"},direction:{type:String,default:"row"},idKey:{type:String,default:"id"},labelKey:{type:String,default:"label"}},emits:["update:activeId","change"],setup(t,{emit:r}){const o=t,n=e.computed(()=>[`tabbar-${o.type}`,`tabbar-direction-${o.direction}`]),i=l=>{r("update:activeId",l),r("change",l)};return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(n),"tabbar-wrapper"])},[e.createElementVNode("div",Da,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(d,s)=>(e.openBlock(),e.createElementBlock("div",{key:s,class:e.normalizeClass([{"tabbar-item-active":d[t.idKey]===t.activeId},"tabbar-item"]),onClick:p=>i(d[t.idKey])},[d.icon?(e.openBlock(),e.createElementBlock("div",Ta,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.icon)))])):e.createCommentVNode("",!0),d[t.labelKey]?(e.openBlock(),e.createElementBlock("div",Ka,e.toDisplayString(d[t.labelKey]),1)):e.createCommentVNode("",!0)],10,ja))),128))])],2))}});var bn=(()=>`.tag-wrapper{border-radius:4px;display:inline-flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;cursor:pointer;text-align:center;align-items:center;justify-content:center;width:auto;vertical-align:middle;height:1.25rem;font-size:.75rem;line-height:1rem}.tag-wrapper.tag-default{border:1px solid #d9d9d9}.tag-wrapper.tag-primary{background:#4ccba0;border:1px solid #4ccba0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-secondary{background:#0e1731;border:1px solid #0e1731;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-danger{background:#d71d1d;border:1px solid #d71d1d;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-rounded{border-radius:9999px}.tag-wrapper .tag-content{padding-left:.25rem;padding-right:.25rem}.tag-wrapper .tag-left-icon{padding-left:.25rem}.tag-wrapper .tag-right-icon{padding-right:.25rem}
16
+ `)();const Fa={key:0,class:"tag-left-icon"},Oa={class:"tag-content"},Ga={key:1,class:"tag-right-icon"},Ua=e.defineComponent({__name:"Tag",props:{theme:{type:String,default:"default"},rounded:{type:Boolean,default:!1}},setup(t){const r=t,o=e.computed(()=>[`tag-${r.theme}`,{"tag-rounded":r.rounded}]);return(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(o),"tag-wrapper"])},[n.$slots.leftIcon?(e.openBlock(),e.createElementBlock("div",Fa,[e.renderSlot(n.$slots,"leftIcon")])):e.createCommentVNode("",!0),e.createElementVNode("span",Oa,[e.renderSlot(n.$slots,"default")]),n.$slots.rightIcon?(e.openBlock(),e.createElementBlock("div",Ga,[e.renderSlot(n.$slots,"rightIcon")])):e.createCommentVNode("",!0)],2))}});var gn=(()=>`.textarea-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.textarea-wrapper textarea{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.75rem;font-size:.875rem;line-height:1.25rem;border:1px solid #ced4da;border-radius:4px}.textarea-wrapper textarea:active{border-color:#4ccba0}.textarea-wrapper textarea:focus{border-color:#4ccba0}.textarea-wrapper textarea:disabled{opacity:.5;cursor:not-allowed}
17
+ `)();const Xa={class:"textarea-wrapper"},qa=["disabled","placeholder","rows","value"],Pa=e.defineComponent({__name:"Textarea",props:{modelValue:{type:String},disabled:{type:Boolean,default:!1},placeholder:{type:String},rows:{type:Number,default:3}},emits:["update:modelValue"],setup(t,{emit:r}){function o(n){const{value:i}=n.target;r("update:modelValue",i)}return(n,i)=>(e.openBlock(),e.createElementBlock("div",Xa,[e.createElementVNode("textarea",{disabled:t.disabled,placeholder:t.placeholder,rows:t.rows,value:t.modelValue,onInput:o},`
18
+ `,40,qa)]))}});var fn=(()=>`.switch-wrapper{display:inline-flex;box-sizing:border-box}.switch-wrapper .switch-inner{position:relative;display:inline-flex;flex-shrink:0;height:1.5rem;width:2.75rem;border-width:2px;border-color:transparent;border-radius:9999px;cursor:pointer;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.switch-wrapper .switch-inner .switch-indicator{pointer-events:none;display:inline-block;height:1.25rem;width:1.25rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);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));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}
19
+ `)();const Ja={class:"switch-wrapper"},Qa=e.defineComponent({__name:"Switch",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:r}){const o=t,n=()=>{r("update:modelValue",!o.modelValue),r("change",!o.modelValue)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",Ja,[e.createElementVNode("button",{class:e.normalizeClass([{"bg-gray-200":!t.modelValue,"!bg-themeable-primary-600":t.modelValue},"switch-inner"]),"aria-checked":"false",role:"switch",type:"button",onClick:n},[e.createElementVNode("span",{class:e.normalizeClass([{"translate-x-0":!t.modelValue,"translate-x-5":t.modelValue},"switch-indicator"]),"aria-hidden":"true"},[e.renderSlot(i.$slots,"icon")],2)],2)]))}}),Wa={class:"flex justify-between items-start py-2 mb-2"},Za={class:"flex items-center gap-4"},eo={class:"flex-1 flex flex-col items-stretch gap-2"},to={class:"text-base text-gray-900 font-bold"},ro={class:"text-sm text-gray-700"},N=e.defineComponent({__name:"Dialog",props:{type:{type:String,default:"info"},title:{type:String,default:"\u63D0\u793A"},description:{type:String,default:""},confirmText:{type:String,default:"\u786E\u5B9A"},cancelText:{type:String,default:"\u53D6\u6D88"},visible:{type:Boolean,default:!1},onConfirm:{type:Function},onCancel:{type:Function}},emits:["update:visible","close"],setup(t,{emit:r}){const o=t,n={success:{icon:f,color:"green"},info:{icon:b,color:"blue"},warning:{icon:g,color:"orange"},error:{icon:$,color:"red"}},i=e.computed(()=>n[o.type]),l=e.ref(!1),c=()=>{o.onCancel&&o.onCancel(),s()},d=async()=>{o.onConfirm&&(l.value=!0,await o.onConfirm()),s()},s=()=>{l.value=!1,r("update:visible",!1),r("close")};return(p,h)=>(e.openBlock(),e.createBlock(e.unref(C),{visible:t.visible,width:450,onClose:h[0]||(h[0]=un=>c())},{footer:e.withCtx(()=>[e.createVNode(e.unref(M),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u),{loading:l.value,type:"secondary",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmText),1)]),_:1},8,["loading"]),e.createVNode(e.unref(u),{onClick:c},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText),1)]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Wa,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([`ring-${e.unref(i).color}-100`,"inline-flex rounded-full bg-teal-50 p-1.5 ring-4"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i).icon),{class:e.normalizeClass([`text-${e.unref(i).color}-500`,"w-5 h-5"])},null,8,["class"]))],2)]),e.createElementVNode("div",null,[e.createVNode(e.unref(w),{class:"cursor-pointer",onClick:c})])]),e.createElementVNode("div",Za,[e.createElementVNode("div",eo,[e.createElementVNode("div",to,e.toDisplayString(t.title),1),e.createElementVNode("div",ro,e.toDisplayString(t.description),1)])])]),_:1},8,["visible"]))}}),I="DIALOG_PROVIDER_PROVIDE_KEY",ao=e.defineComponent({__name:"DialogProvider",setup(t){const r=e.ref({visible:!1,title:""});return e.provide(I,r),(o,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.renderSlot(o.$slots,"default"),e.createVNode(e.unref(N),{visible:r.value.visible,"onUpdate:visible":n[0]||(n[0]=i=>r.value.visible=i),"cancel-text":r.value.cancelText,"confirm-text":r.value.confirmText,description:r.value.description,onCancel:r.value.onCancel,onConfirm:r.value.onConfirm,title:r.value.title,type:r.value.type},null,8,["visible","cancel-text","confirm-text","description","onCancel","onConfirm","title","type"])],64))}});function oo(){const t=e.inject(I);if(!t)throw new Error("DialogProvider is not mounted");const r=o=>n=>{t.value=y(y({},t.value),n),t.value.type=o,t.value.visible=!0};return{success:r("success"),info:r("info"),warning:r("warning"),error:r("error")}}a.IconAddCircle=xt,a.IconArrowDown=J,a.IconArrowDownLine=oe,a.IconArrowLeft=F,a.IconArrowRight=x,a.IconArrowUpLine=ee,a.IconBookRead=ce,a.IconCheckboxCircle=f,a.IconCheckboxFill=Yt,a.IconClose=w,a.IconCloseCircle=k,a.IconComputer=Gt,a.IconDashboard=D,a.IconDeleteBin=ft,a.IconErrorWarning=g,a.IconExchange=lr,a.IconEye=Oe,a.IconFolder=qe,a.IconForbidLine=$,a.IconGitBranch=$r,a.IconGitHub=pr,a.IconGrid=It,a.IconInformation=b,a.IconList=Et,a.IconListSettings=ve,a.IconMagic=Ce,a.IconMessage=ge,a.IconMore=We,a.IconPages=me,a.IconPalette=ye,a.IconPhone=Pt,a.IconPlug=je,a.IconSave=Bt,a.IconSearch=Tt,a.IconSettings=Re,a.IconShieldUser=_r,a.IconStopCircle=Vr,a.IconTablet=Zt,a.IconUpload=br,a.IconUserFollow=ar,a.IconUserSettings=Ne,a.VAlert=Rr,a.VButton=u,a.VCard=Xr,a.VCheckbox=B,a.VCheckboxGroup=Wr,a.VDialog=N,a.VDialogProvider=ao,a.VInput=ca,a.VMenu=z,a.VMenuItem=_,a.VMenuLabel=V,a.VModal=C,a.VOption=Na,a.VPageHeader=aa,a.VRadio=E,a.VRadioGroup=za,a.VRoutesMenu=fa,a.VSelect=Ma,a.VSpace=M,a.VSwitch=Qa,a.VTabItem=Ha,a.VTabbar=S,a.VTabs=Ra,a.VTag=Ua,a.VTextarea=Pa,a.useDialog=oo,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
20
+ //# sourceMappingURL=halo-components.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"halo-components.umd.js","sources":["../plugin-vue:export-helper","../src/components/alert/Alert.vue","../src/components/button/Button.vue","../src/components/checkbox/CheckBox.vue","../src/components/checkbox/CheckBoxGroup.vue","../src/components/input/Input.vue","../src/components/menu/Menu.vue","../src/components/menu/MenuItem.vue","../src/components/menu/RoutesMenu.tsx","../src/components/modal/Modal.vue","../src/components/radio/Radio.vue","../src/components/radio/RadioGroup.vue","../src/components/select/Select.vue","../src/components/space/interface.ts","../src/components/space/Space.vue","../src/components/tabs/Tabs.vue","../src/components/tabs/TabItem.vue","../src/components/tabs/Tabbar.vue","../src/components/tag/Tag.vue","../src/components/textarea/Textarea.vue","../src/components/switch/Switch.vue","../src/components/dialog/Dialog.vue","../src/components/dialog/interface.ts","../src/components/dialog/DialogProvider.vue","../src/components/dialog/use-dialog.ts"],"sourcesContent":["\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","<script lang=\"ts\" setup>\nimport type { Component, PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Type } from \"./interface\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconCloseCircle,\n IconErrorWarning,\n IconInformation,\n} from \"../../icons/icons\";\n\nconst TypeIcons: Record<Type, Component> = {\n success: IconCheckboxCircle,\n info: IconInformation,\n default: IconInformation,\n warning: IconErrorWarning,\n error: IconCloseCircle,\n};\n\nconst props = defineProps({\n type: {\n type: String as PropType<Type>,\n default: \"default\",\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n closable: {\n type: Boolean,\n default: true,\n },\n});\n\nconst emit = defineEmits([\"close\"]);\n\nconst classes = computed(() => {\n return [`alert-${props.type}`];\n});\n\nconst handleClose = () => {\n emit(\"close\");\n};\n</script>\n\n<template>\n <div :class=\"classes\" class=\"alert-wrapper\">\n <div class=\"alert-header\">\n <div class=\"alert-icon\">\n <slot name=\"icon\">\n <component :is=\"TypeIcons[type]\" />\n </slot>\n </div>\n <div class=\"alert-title\">\n {{ title }}\n </div>\n <div v-if=\"closable\" class=\"alert-close\" @click=\"handleClose\">\n <IconClose />\n </div>\n </div>\n <div v-if=\"description || $slots.description\" class=\"alert-description\">\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <div v-if=\"$slots.actions\" class=\"alert-actions\">\n <slot name=\"actions\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.alert-wrapper {\n @apply flex;\n @apply flex-col;\n @apply box-border;\n @apply border;\n padding: 12px 16px;\n border-radius: 4px;\n\n .alert-header {\n @apply flex;\n\n .alert-icon {\n @apply self-center;\n @apply mr-3;\n @apply text-lg;\n }\n\n .alert-title {\n @apply self-center;\n @apply mr-3;\n @apply flex-1;\n @apply font-medium;\n @apply text-base;\n }\n\n .alert-close {\n @apply self-center;\n @apply cursor-pointer;\n @apply rounded-full;\n @apply p-0.5;\n\n &:hover {\n @apply transition-all;\n @apply bg-gray-300;\n @apply text-white;\n }\n }\n }\n\n .alert-description {\n @apply text-sm;\n @apply mt-2;\n }\n\n .alert-actions {\n @apply border-t;\n @apply mt-3 pt-2;\n }\n\n &.alert-default {\n @apply bg-gray-50;\n @apply border-gray-300;\n\n .alert-icon,\n .alert-description {\n @apply text-gray-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-gray-700;\n }\n }\n\n &.alert-success {\n @apply bg-green-50;\n @apply border-green-300;\n\n .alert-icon,\n .alert-description {\n @apply text-green-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-green-700;\n }\n }\n\n &.alert-info {\n @apply bg-sky-50;\n @apply border-sky-300;\n\n .alert-icon,\n .alert-description {\n @apply text-sky-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-sky-700;\n }\n }\n\n &.alert-warning {\n @apply bg-orange-50;\n @apply border-orange-300;\n\n .alert-icon,\n .alert-description {\n @apply text-orange-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-orange-700;\n }\n }\n\n &.alert-error {\n @apply bg-red-50;\n @apply border-red-300;\n\n .alert-icon,\n .alert-description {\n @apply text-red-600;\n }\n\n .alert-close,\n .alert-title {\n @apply text-red-700;\n }\n }\n}\n</style>\n","<template>\n <button\n :class=\"classes\"\n :disabled=\"disabled\"\n class=\"btn\"\n @click=\"handleClick\"\n >\n <span v-if=\"$slots.icon || loading\" class=\"btn-icon\">\n <svg\n v-if=\"loading\"\n class=\"animate-spin\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n stroke-width=\"4\"\n ></circle>\n <path\n class=\"opacity-75\"\n 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\"\n fill=\"currentColor\"\n ></path>\n </svg>\n <slot v-else name=\"icon\" />\n </span>\n <span class=\"btn-content\">\n <slot />\n </span>\n </button>\n</template>\n<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { RouteLocationRaw } from \"vue-router\";\nimport { useRouter } from \"vue-router\";\nimport type { Size, Type } from \"./interface\";\n\nconst props = defineProps({\n type: {\n type: String as PropType<Type>,\n default: \"default\",\n },\n size: {\n type: String as PropType<Size>,\n default: \"md\",\n },\n circle: {\n type: Boolean,\n default: false,\n },\n block: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n route: {\n type: Object as PropType<RouteLocationRaw>,\n },\n});\n\nconst router = useRouter();\nconst emit = defineEmits([\"click\"]);\n\nconst classes = computed(() => {\n return [\n `btn-${props.size}`,\n `btn-${props.type}`,\n { \"btn-circle\": props.circle },\n { \"btn-block\": props.block },\n { \"btn-loading\": props.loading },\n ];\n});\n\nfunction handleClick() {\n if (props.disabled || props.loading) return;\n if (props.route) {\n router.push(props.route);\n }\n emit(\"click\");\n}\n</script>\n<style lang=\"scss\">\n.btn {\n border-radius: 4px;\n @apply inline-flex;\n @apply flex-shrink-0;\n @apply cursor-pointer;\n @apply select-none;\n @apply flex-wrap;\n @apply items-center;\n @apply justify-center;\n @apply transition-all;\n @apply text-center;\n @apply text-sm;\n @apply no-underline;\n @apply h-9;\n @apply px-4;\n @apply outline-0;\n @apply border-none;\n @apply appearance-none;\n @apply align-middle;\n\n &:hover {\n @apply opacity-90;\n }\n\n &:active {\n @apply opacity-100;\n }\n\n &:disabled {\n @apply opacity-50;\n @apply cursor-not-allowed;\n }\n}\n\n.btn-default {\n border: 1px solid #d9d9d9;\n\n .btn-icon {\n color: #0e1731;\n }\n}\n\n.btn-primary {\n background: #4ccba0;\n @apply text-white;\n}\n\n.btn-secondary {\n background: #0e1731;\n @apply text-white;\n}\n\n.btn-danger {\n background: #d71d1d;\n @apply text-white;\n}\n\n.btn-block {\n @apply w-full;\n}\n\n.btn-icon {\n @apply h-5 w-5;\n @apply text-white;\n @apply mr-3;\n}\n\n.btn-loading {\n @apply cursor-not-allowed;\n &:hover {\n @apply opacity-100;\n }\n}\n\n.btn-lg {\n @apply h-11;\n @apply px-5;\n @apply text-lg;\n}\n\n.btn-sm {\n @apply h-7;\n @apply px-3;\n @apply text-xs;\n\n .btn-icon {\n @apply h-3 w-3;\n @apply mr-2;\n }\n}\n\n.btn-xs {\n @apply h-6;\n @apply px-2;\n @apply text-xs;\n\n .btn-icon {\n @apply h-3 w-3;\n @apply mr-2;\n }\n}\n\n.btn-circle {\n @apply w-9;\n @apply p-0;\n @apply rounded-full;\n}\n\n.btn-lg.btn-circle {\n @apply w-11;\n}\n\n.btn-sm.btn-circle {\n @apply w-7;\n}\n\n.btn-xs.btn-circle {\n @apply w-6;\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = defineProps({\n checked: {\n type: Boolean,\n default: false,\n },\n value: {\n type: [String, Number, Boolean],\n },\n label: {\n type: String,\n },\n name: {\n type: String,\n },\n});\n\nconst id = [\"checkbox\", props.name, props.value]\n .filter((item) => !!item)\n .join(\"-\");\n\nconst emit = defineEmits([\"update:checked\", \"change\"]);\n\nfunction handleChange(e: Event) {\n const { checked } = e.target as HTMLInputElement;\n emit(\"update:checked\", checked);\n emit(\"change\", e);\n}\n</script>\n<template>\n <div\n :class=\"{ 'checkbox-wrapper-checked': checked }\"\n class=\"checkbox-wrapper\"\n >\n <div class=\"checkbox-inner\">\n <input\n :id=\"id\"\n :checked=\"checked\"\n :value=\"value\"\n type=\"checkbox\"\n @change=\"handleChange\"\n />\n </div>\n <label v-if=\"label\" :for=\"id\" class=\"checkbox-label\">\n {{ label }}\n </label>\n </div>\n</template>\n<style lang=\"scss\">\n.checkbox-wrapper {\n @apply flex;\n @apply items-center;\n @apply box-border;\n @apply flex-grow-0;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { VCheckbox } from \"./index\";\nimport type { PropType } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: Object as PropType<Array<string>>,\n default: () => {\n return [];\n },\n },\n options: {\n type: Object as PropType<Array<Record<string, string>>>,\n },\n valueKey: {\n type: String,\n default: \"value\",\n },\n labelKey: {\n type: String,\n default: \"label\",\n },\n name: {\n type: String,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nfunction handleChange(e: Event) {\n const { value, checked } = e.target as HTMLInputElement;\n const checkedValues = [...props.modelValue];\n\n if (checked) {\n checkedValues.push(value);\n } else {\n checkedValues.splice(checkedValues.indexOf(value), 1);\n }\n emit(\"update:modelValue\", checkedValues);\n emit(\"change\", checkedValues);\n}\n</script>\n<template>\n <div class=\"checkbox-group-wrapper\">\n <VCheckbox\n v-for=\"(option, index) in options\"\n :key=\"index\"\n :checked=\"modelValue.includes(option[valueKey])\"\n :label=\"option[labelKey]\"\n :name=\"name\"\n :value=\"option[valueKey]\"\n @change=\"handleChange\"\n />\n </div>\n</template>\n<style lang=\"scss\">\n.checkbox-group-wrapper {\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Size } from \"./interface\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n },\n size: {\n type: String as PropType<Size>,\n default: \"md\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\n\nconst classes = computed(() => {\n return [`input-${props.size}`];\n});\n\nfunction handleInput(e: Event) {\n const { value } = e.target as HTMLInputElement;\n emit(\"update:modelValue\", value);\n}\n</script>\n<template>\n <div class=\"input-wrapper\">\n <div v-if=\"$slots.prefix\" class=\"input-prefix\">\n <slot name=\"prefix\" />\n </div>\n <input\n :class=\"classes\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :value=\"modelValue\"\n type=\"text\"\n @input=\"handleInput\"\n />\n <div v-if=\"$slots.suffix\" class=\"input-suffix\">\n <slot name=\"suffix\" />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.input-wrapper {\n @apply box-border;\n @apply relative;\n @apply w-full;\n @apply inline-flex;\n input {\n @apply outline-0;\n @apply bg-white;\n @apply antialiased;\n @apply resize-none;\n @apply w-full;\n @apply text-black;\n @apply block;\n @apply transition-all;\n @apply appearance-none;\n border: 1px solid #ced4da;\n border-radius: 4px;\n\n &:active {\n border-color: #4ccba0;\n }\n\n &:focus {\n border-color: #4ccba0;\n }\n\n &:disabled {\n @apply opacity-50;\n @apply cursor-not-allowed;\n }\n\n &.input-lg {\n @apply h-11;\n @apply px-4;\n @apply text-lg;\n }\n\n &.input-md {\n @apply h-9;\n @apply px-3;\n @apply text-sm;\n }\n\n &.input-sm {\n @apply h-7;\n @apply px-3;\n @apply text-xs;\n }\n\n &.input-xs {\n @apply h-6;\n @apply px-2;\n @apply text-xs;\n }\n }\n\n .input-prefix {\n position: absolute;\n display: flex;\n top: 50%;\n transform: translateY(-50%);\n align-items: center;\n justify-content: center;\n }\n\n .input-suffix {\n position: absolute;\n display: flex;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n align-items: center;\n justify-content: center;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { provide } from \"vue\";\n\nconst props = defineProps({\n openIds: {\n type: Object as PropType<string[]>,\n required: false,\n },\n});\n\nprovide<string[] | undefined>(\"openIds\", props.openIds);\n</script>\n\n<template>\n <div class=\"menu-container w-full p-3\">\n <ul>\n <slot />\n </ul>\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport { IconArrowRight } from \"../../icons/icons\";\nimport { computed, inject, ref, useSlots } from \"vue\";\n\nconst props = defineProps({\n id: {\n type: String,\n default: \"\",\n },\n title: {\n type: String,\n default: \"\",\n },\n active: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"select\"]);\n\nconst slots = useSlots();\n\nconst open = ref(false);\n\nconst openIds = inject<string[] | undefined>(\"openIds\");\n\nif (openIds?.includes(props.id)) {\n open.value = true;\n}\n\nconst hasSubmenus = computed(() => {\n return slots.default && slots.default().length > 0;\n});\n\nfunction handleClick() {\n if (hasSubmenus.value) {\n open.value = !open.value;\n return;\n }\n emit(\"select\", props.id);\n}\n</script>\n\n<template>\n <li\n :class=\"{ 'has-submenus': hasSubmenus }\"\n class=\"menu-item\"\n @click.stop=\"handleClick\"\n >\n <div :class=\"{ active }\" class=\"menu-item-title\">\n <span v-if=\"$slots.icon\" class=\"menu-icon mr-3 self-center\">\n <slot name=\"icon\" />\n </span>\n <span class=\"menu-title flex-1 self-center\">\n {{ title }}\n </span>\n <span\n v-if=\"$slots.default\"\n :class=\"{ open }\"\n class=\"menu-icon-collapse self-center transition-all\"\n >\n <IconArrowRight />\n </span>\n </div>\n\n <Transition name=\"submenus-show\">\n <ul v-show=\"$slots.default && open\" class=\"sub-menu-items transition-all\">\n <slot />\n </ul>\n </Transition>\n </li>\n</template>\n\n<style lang=\"scss\">\n.menu-item {\n @apply cursor-pointer;\n}\n\n.menu-item-title {\n @apply transition-all;\n @apply text-base;\n @apply flex;\n @apply select-none;\n @apply relative;\n @apply p-2;\n @apply font-normal;\n\n border-radius: 4px;\n\n &:hover,\n &.active {\n @apply bg-gray-100;\n @apply font-medium;\n }\n\n &.active::after {\n @apply absolute;\n top: calc(50% - 13px);\n left: -8px;\n width: 3px;\n height: 26px;\n content: \"\";\n background: #242e41;\n border-radius: 6px;\n }\n}\n\n.menu-icon-collapse.open {\n transform: rotate(90deg);\n}\n\n.submenus-show-enter-active {\n transition: all 0.1s ease-out;\n}\n\n.submenus-show-leave-active {\n transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);\n}\n\n.submenus-show-enter-from,\n.submenus-show-enter-to {\n transform: translateY(-10px);\n opacity: 0;\n}\n</style>\n","import type { Component, PropType } from \"vue\";\nimport { computed, defineComponent } from \"vue\";\nimport type { MenuGroupType, MenuItemType } from \"./interface\";\nimport { VMenu, VMenuItem, VMenuLabel } from \"./index\";\nimport type { RouteLocationMatched } from \"vue-router\";\nimport { useRoute, useRouter } from \"vue-router\";\n\nconst VRoutesMenu = defineComponent({\n name: \"VRoutesMenu\",\n props: {\n menus: {\n type: Object as PropType<MenuGroupType[]>,\n },\n },\n emits: [\"select\"],\n setup(props, { emit }) {\n const route = useRoute();\n const { push } = useRouter();\n\n const openIds = computed(() => {\n return route.matched.map((item: RouteLocationMatched) => item.path);\n });\n\n async function handleSelect(id: string) {\n emit(\"select\", id);\n await push(id);\n }\n\n function renderIcon(icon: Component | undefined) {\n if (!icon) return undefined;\n\n return <icon height=\"20px\" width=\"20px\" />;\n }\n\n function renderItems(items: MenuItemType[] | undefined) {\n return items?.map((item) => {\n return (\n <>\n {item.children?.length ? (\n <VMenuItem\n key={item.path}\n id={item.path}\n title={item.name}\n v-slots={{\n icon: () => renderIcon(item.icon),\n }}\n >\n {renderItems(item.children)}\n </VMenuItem>\n ) : (\n <VMenuItem\n key={item.path}\n id={item.path}\n title={item.name}\n v-slots={{\n icon: () => renderIcon(item.icon),\n }}\n onSelect={handleSelect}\n active={openIds.value.includes(item.path)}\n />\n )}\n </>\n );\n });\n }\n\n return () => (\n <VMenu openIds={openIds.value}>\n {props.menus?.map((menu: MenuGroupType) => {\n return (\n <>\n {menu.name && <VMenuLabel>{menu.name}</VMenuLabel>}\n {menu.items?.length && renderItems(menu.items)}\n </>\n );\n })}\n </VMenu>\n );\n },\n});\n\nexport { VRoutesMenu };\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed, ref } from \"vue\";\nimport { IconClose } from \"../../icons/icons\";\n\nconst props = defineProps({\n visible: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n },\n width: {\n type: Number,\n default: 500,\n },\n fullscreen: {\n type: Boolean,\n default: false,\n },\n bodyClass: {\n type: Object as PropType<string[]>,\n },\n});\n\nconst emit = defineEmits([\"update:visible\", \"close\"]);\n\nconst rootVisible = ref(false);\n\nconst wrapperClasses = computed(() => {\n return {\n \"modal-wrapper-fullscreen\": props.fullscreen,\n };\n});\n\nconst contentStyles = computed(() => {\n return {\n maxWidth: props.width + \"px\",\n };\n});\n\nfunction handleClose() {\n emit(\"update:visible\", false);\n emit(\"close\");\n}\n</script>\n<template>\n <Teleport to=\"body\" :disabled=\"true\">\n <div\n v-show=\"rootVisible\"\n :class=\"wrapperClasses\"\n aria-modal=\"true\"\n class=\"modal-wrapper\"\n role=\"dialog\"\n tabindex=\"0\"\n @keyup.esc=\"handleClose()\"\n >\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0\"\n enter-to-class=\"opacity-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100\"\n leave-to-class=\"opacity-0\"\n @before-enter=\"rootVisible = true\"\n @after-leave=\"rootVisible = false\"\n >\n <div v-show=\"visible\" class=\"modal-layer\" @click=\"handleClose()\" />\n </transition>\n <transition\n enter-active-class=\"ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enter-to-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-from-class=\"opacity-100 translate-y-0 sm:scale-100\"\n leave-to-class=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <div\n v-show=\"visible\"\n :style=\"contentStyles\"\n class=\"modal-content transform transition-all\"\n >\n <div v-if=\"$slots.header || title\" class=\"modal-header\">\n <slot name=\"header\">\n <div class=\"modal-header-title\">{{ title }}</div>\n <div class=\"modal-header-actions flex flex-row\">\n <slot name=\"actions\"></slot>\n <div class=\"modal-header-action\" @click=\"handleClose()\">\n <IconClose />\n </div>\n </div>\n </slot>\n </div>\n <div :class=\"bodyClass\" class=\"modal-body\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"modal-footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </transition>\n </div>\n </Teleport>\n</template>\n\n<style lang=\"scss\">\n.modal-wrapper {\n @apply fixed;\n @apply top-0 left-0;\n @apply h-full w-full;\n @apply flex flex-row;\n @apply items-center justify-center;\n z-index: 999;\n\n .modal-layer {\n @apply flex-none;\n @apply absolute;\n @apply top-0 left-0;\n @apply h-full w-full;\n @apply transition-opacity;\n @apply bg-gray-500;\n @apply bg-opacity-75;\n }\n\n .modal-content {\n @apply flex;\n @apply flex-col;\n @apply relative;\n @apply bg-white;\n @apply items-stretch;\n @apply shadow-xl;\n width: calc(100vw - 20px);\n max-height: calc(100vh - 20px);\n border-radius: 4px;\n\n .modal-header {\n @apply flex;\n @apply justify-between;\n @apply border-b;\n\n .modal-header-title {\n @apply self-center;\n @apply text-base;\n @apply font-bold;\n padding: 12px 16px;\n }\n\n .modal-header-actions {\n @apply self-center;\n @apply h-full;\n .modal-header-action {\n @apply cursor-pointer;\n padding: 12px 16px;\n\n &:hover {\n @apply bg-gray-100;\n }\n }\n }\n }\n\n .modal-body {\n @apply overflow-y-auto overflow-x-hidden;\n @apply flex-1;\n word-wrap: break-word;\n padding: 12px 16px;\n }\n\n .modal-footer {\n @apply border-t;\n padding: 12px 16px;\n }\n }\n\n &.modal-wrapper-fullscreen {\n .modal-content {\n width: 100vw !important;\n max-width: 100vw !important;\n height: 100vh !important;\n max-height: 100vh !important;\n border-radius: 0;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: [String, Number, Boolean],\n },\n value: {\n type: [String, Number, Boolean],\n },\n label: {\n type: String,\n },\n name: {\n type: String,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nconst id = [\"radio\", props.name, props.value]\n .filter((item) => !!item)\n .join(\"-\");\n\nconst checked = computed(() => props.modelValue === props.value);\n\nfunction handleChange(e: Event) {\n const { value } = e.target as HTMLInputElement;\n emit(\"update:modelValue\", value);\n emit(\"change\", value);\n}\n</script>\n<template>\n <div :class=\"{ 'radio-wrapper-checked': checked }\" class=\"radio-wrapper\">\n <div class=\"radio-inner\">\n <input\n :id=\"id\"\n :checked=\"checked\"\n :name=\"name\"\n :value=\"value\"\n type=\"radio\"\n @change=\"handleChange\"\n />\n </div>\n <label v-if=\"label\" :for=\"id\" class=\"radio-label\">\n {{ label }}\n </label>\n </div>\n</template>\n<style lang=\"scss\">\n.radio-wrapper {\n @apply flex;\n @apply items-center;\n @apply box-border;\n @apply flex-grow-0;\n\n .radio-inner {\n @apply self-center;\n @apply relative;\n }\n\n .radio-label {\n @apply flex;\n @apply self-center;\n @apply items-start;\n @apply ml-3;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { VRadio } from \"./index\";\nimport type { PropType } from \"vue\";\n\ndefineProps({\n modelValue: {\n type: [String, Number, Boolean],\n },\n options: {\n type: Object as PropType<Array<Record<string, string | number | boolean>>>,\n },\n valueKey: {\n type: String,\n default: \"value\",\n },\n labelKey: {\n type: String,\n default: \"label\",\n },\n name: {\n type: String,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nfunction handleChange(value: string | number | boolean) {\n emit(\"update:modelValue\", value);\n emit(\"change\", value);\n}\n</script>\n<template>\n <div class=\"radio-group-wrapper\">\n <VRadio\n v-for=\"(option, index) in options\"\n :key=\"index\"\n :label=\"option[labelKey] + ''\"\n :model-value=\"modelValue\"\n :name=\"name\"\n :value=\"option[valueKey]\"\n @change=\"handleChange\"\n />\n </div>\n</template>\n<style lang=\"scss\"></style>\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Size } from \"./interface\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n },\n size: {\n type: String as PropType<Size>,\n default: \"md\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\n\nconst classes = computed(() => {\n return [`select-${props.size}`];\n});\n\nfunction handleChange(e: Event) {\n const { value } = e.target as HTMLSelectElement;\n emit(\"update:modelValue\", value);\n}\n</script>\n<template>\n <div class=\"select-wrapper\">\n <select\n :class=\"classes\"\n :disabled=\"disabled\"\n :value=\"modelValue\"\n @change=\"handleChange\"\n >\n <option v-if=\"placeholder\" key=\"placeholder\" disabled hidden value=\"\">\n {{ placeholder }}\n </option>\n <slot />\n </select>\n </div>\n</template>\n<style lang=\"scss\">\n.select-wrapper {\n @apply box-border;\n @apply relative;\n @apply w-full;\n @apply inline-flex;\n\n select {\n @apply outline-0;\n @apply bg-white;\n @apply antialiased;\n @apply w-full;\n @apply text-black;\n @apply block;\n @apply transition-all;\n @apply appearance-none;\n border: 1px solid #ced4da;\n border-radius: 4px;\n\n &:active {\n border-color: #4ccba0;\n }\n\n &:focus {\n border-color: #4ccba0;\n }\n\n &:disabled {\n @apply opacity-50;\n @apply cursor-not-allowed;\n }\n\n &.select-lg {\n @apply h-11;\n @apply px-4;\n @apply text-lg;\n }\n\n &.select-md {\n @apply h-9;\n @apply px-3;\n @apply text-sm;\n }\n\n &.select-sm {\n @apply h-7;\n @apply px-3;\n @apply text-xs;\n }\n\n &.select-xs {\n @apply h-6;\n @apply px-2;\n @apply text-xs;\n }\n }\n}\n</style>\n","export type Spacing = \"xs\" | \"sm\" | \"md\" | \"lg\";\nexport type Direction = \"row\" | \"column\";\nexport type Align = \"start\" | \"end\" | \"center\" | \"stretch\";\nexport const SpacingSize: Record<string, number> = {\n xs: 10,\n sm: 12,\n md: 16,\n lg: 20,\n};\n","<script lang=\"ts\" setup>\nimport type { Align, Direction, Spacing } from \"./interface\";\nimport { SpacingSize } from \"./interface\";\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\n\nconst props = defineProps({\n spacing: {\n type: String as PropType<Spacing>,\n default: \"xs\",\n },\n direction: {\n type: String as PropType<Direction>,\n default: \"row\",\n },\n align: {\n type: String as PropType<Align>,\n default: \"center\",\n },\n});\n\nconst wrapperClasses = computed(() => {\n const { direction, align } = props;\n return [`space-direction-${direction}`, `space-align-${align}`];\n});\n</script>\n<template>\n <div\n :class=\"wrapperClasses\"\n :style=\"`gap: ${SpacingSize[spacing]}px`\"\n class=\"space-wrapper\"\n >\n <slot />\n </div>\n</template>\n<style lang=\"scss\">\n.space-wrapper {\n @apply inline-flex;\n @apply box-border;\n\n &.space-direction-row {\n @apply flex-row;\n }\n\n &.space-direction-column {\n @apply flex-col;\n }\n\n &.space-align-center {\n @apply items-center;\n }\n\n &.space-align-start {\n @apply items-start;\n }\n\n &.space-align-end {\n @apply items-end;\n }\n\n &.space-align-stretch {\n @apply items-stretch;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef, PropType } from \"vue\";\nimport { computed, provide, useSlots } from \"vue\";\nimport { VTabbar } from \"./index\";\nimport type { Direction, Type } from \"./interface\";\n\nconst props = defineProps({\n activeId: {\n type: [Number, String],\n },\n type: {\n type: String as PropType<Type>,\n default: \"default\",\n },\n direction: {\n type: String as PropType<Direction>,\n default: \"row\",\n },\n idKey: {\n type: String,\n default: \"id\",\n },\n labelKey: {\n type: String,\n default: \"label\",\n },\n});\n\nprovide<ComputedRef<string | number | undefined>>(\n \"activeId\",\n computed(() => props.activeId)\n);\n\nconst emit = defineEmits([\"update:activeId\", \"change\"]);\n\nconst slots = useSlots();\n\nconst tabItems = computed(() => {\n return slots.default?.().map(({ props: slotProps }) => {\n return {\n id: slotProps?.[props.idKey],\n label: slotProps?.[props.labelKey],\n };\n });\n});\n\nconst classes = computed(() => {\n return [`tabs-direction-${props.direction}`];\n});\n\nconst handleChange = (id: string | number) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n</script>\n<template>\n <div :class=\"classes\" class=\"tabs-wrapper\">\n <div class=\"tabs-bar-wrapper\">\n <VTabbar\n :activeId=\"activeId\"\n :direction=\"direction\"\n :items=\"tabItems\"\n :type=\"type\"\n @change=\"handleChange\"\n />\n </div>\n <div class=\"tabs-items-wrapper\">\n <slot />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabs-wrapper {\n @apply flex;\n\n &.tabs-direction-row {\n @apply flex-col;\n\n .tabs-items-wrapper {\n @apply mt-2;\n }\n }\n\n &.tabs-direction-column {\n .tabs-items-wrapper {\n @apply ml-2;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { ComputedRef } from \"vue\";\nimport { computed, inject } from \"vue\";\n\nconst props = defineProps({\n id: {\n type: String,\n },\n label: {\n type: String,\n },\n});\n\nconst activeId = inject<ComputedRef<string | number | undefined>>(\"activeId\");\n\nconst isActive = computed(() => {\n return activeId?.value === props.id;\n});\n</script>\n<template>\n <div v-if=\"isActive\" class=\"tabs-item-wrapper\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Direction, Type } from \"./interface\";\n\nconst props = defineProps({\n activeId: {\n type: [Number, String],\n },\n items: {\n type: Object as PropType<Array<Record<string, string>>>,\n },\n type: {\n type: String as PropType<Type>,\n default: \"default\",\n },\n direction: {\n type: String as PropType<Direction>,\n default: \"row\",\n },\n idKey: {\n type: String,\n default: \"id\",\n },\n labelKey: {\n type: String,\n default: \"label\",\n },\n});\n\nconst emit = defineEmits([\"update:activeId\", \"change\"]);\n\nconst classes = computed(() => {\n return [`tabbar-${props.type}`, `tabbar-direction-${props.direction}`];\n});\n\nconst handleChange = (id: number | string) => {\n emit(\"update:activeId\", id);\n emit(\"change\", id);\n};\n</script>\n<template>\n <div :class=\"classes\" class=\"tabbar-wrapper\">\n <div class=\"tabbar-items\">\n <div\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"{ 'tabbar-item-active': item[idKey] === activeId }\"\n class=\"tabbar-item\"\n @click=\"handleChange(item[idKey])\"\n >\n <div v-if=\"item.icon\" class=\"tabbar-item-icon\">\n <component :is=\"item.icon\" />\n </div>\n <div v-if=\"item[labelKey]\" class=\"tabbar-item-label\">\n {{ item[labelKey] }}\n </div>\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tabbar-wrapper {\n .tabbar-items {\n @apply flex;\n @apply items-center;\n @apply flex-row;\n }\n\n .tabbar-item {\n @apply flex;\n @apply cursor-pointer;\n @apply self-center;\n @apply transition-all;\n @apply text-base;\n @apply justify-center;\n @apply gap-2;\n\n .tabbar-item-label,\n .tabbar-item-icon {\n @apply self-center;\n }\n }\n\n &.tabbar-default {\n border-bottom-width: 2px;\n @apply border-b-gray-100;\n\n .tabbar-items {\n margin-bottom: -2px;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply h-10;\n @apply px-5;\n @apply py-1;\n @apply border-b-gray-100;\n\n border-bottom-width: 2px;\n\n &.tabbar-item-active {\n color: #0e1731;\n border-bottom-color: #0e1731;\n }\n }\n }\n\n &.tabbar-pills {\n .tabbar-items {\n @apply gap-1;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply h-10;\n @apply px-9;\n @apply py-1;\n @apply opacity-70;\n border-radius: 4px;\n\n &.tabbar-item-active {\n @apply bg-gray-100;\n @apply opacity-100;\n }\n\n &:hover {\n @apply bg-gray-100;\n }\n }\n }\n\n &.tabbar-outline {\n @apply p-1;\n @apply bg-gray-100;\n border-radius: 4px;\n\n .tabbar-items {\n @apply gap-1;\n justify-content: flex-start;\n }\n\n .tabbar-item {\n @apply h-10;\n @apply px-9;\n @apply py-1;\n @apply opacity-70;\n border-radius: 4px;\n\n &.tabbar-item-active {\n @apply bg-white;\n @apply opacity-100;\n @apply shadow-sm;\n }\n\n &:hover {\n @apply bg-white;\n }\n }\n }\n\n &.tabbar-direction-row {\n .tabbar-items {\n @apply flex-row;\n }\n }\n\n &.tabbar-direction-column {\n .tabbar-items {\n @apply flex-col;\n }\n\n &.tabbar-default {\n border-bottom-width: 0;\n @apply border-b-0;\n border-right-width: 2px;\n @apply border-r-gray-100;\n\n .tabbar-items {\n margin-bottom: 0;\n margin-right: -2px;\n }\n\n .tabbar-item {\n border-bottom-width: 0;\n border-right-width: 2px;\n\n &.tabbar-item-active {\n border-right-color: #0e1731;\n }\n }\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport type { PropType } from \"vue\";\nimport { computed } from \"vue\";\nimport type { Theme } from \"./interface\";\n\nconst props = defineProps({\n theme: {\n type: String as PropType<Theme>,\n default: \"default\",\n },\n rounded: {\n type: Boolean,\n default: false,\n },\n});\n\nconst classes = computed(() => {\n return [`tag-${props.theme}`, { \"tag-rounded\": props.rounded }];\n});\n</script>\n<template>\n <div :class=\"classes\" class=\"tag-wrapper\">\n <div v-if=\"$slots.leftIcon\" class=\"tag-left-icon\">\n <slot name=\"leftIcon\" />\n </div>\n <span class=\"tag-content\">\n <slot />\n </span>\n <div v-if=\"$slots.rightIcon\" class=\"tag-right-icon\">\n <slot name=\"rightIcon\" />\n </div>\n </div>\n</template>\n<style lang=\"scss\">\n.tag-wrapper {\n border-radius: 4px;\n @apply inline-flex;\n @apply flex-shrink-0;\n @apply flex-wrap;\n @apply box-border;\n @apply cursor-pointer;\n @apply text-center;\n @apply items-center;\n @apply justify-center;\n @apply w-auto;\n @apply align-middle;\n @apply h-5;\n @apply text-xs;\n\n &.tag-default {\n border: 1px solid #d9d9d9;\n }\n\n &.tag-primary {\n background: #4ccba0;\n border: 1px solid #4ccba0;\n @apply text-white;\n }\n\n &.tag-secondary {\n background: #0e1731;\n border: 1px solid #0e1731;\n @apply text-white;\n }\n\n &.tag-danger {\n background: #d71d1d;\n border: 1px solid #d71d1d;\n @apply text-white;\n }\n\n &.tag-rounded {\n @apply rounded-full;\n }\n\n .tag-content {\n @apply px-1;\n }\n\n .tag-left-icon {\n @apply pl-1;\n }\n\n .tag-right-icon {\n @apply pr-1;\n }\n}\n</style>\n","<script lang=\"ts\" setup>\ndefineProps({\n modelValue: {\n type: String,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n },\n rows: {\n type: Number,\n default: 3,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\"]);\n\nfunction handleInput(e: Event) {\n const { value } = e.target as HTMLInputElement;\n emit(\"update:modelValue\", value);\n}\n</script>\n<template>\n <div class=\"textarea-wrapper\">\n <textarea\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :rows=\"rows\"\n :value=\"modelValue\"\n @input=\"handleInput\"\n >\n </textarea>\n </div>\n</template>\n<style lang=\"scss\">\n.textarea-wrapper {\n @apply box-border;\n @apply relative;\n @apply w-full;\n @apply inline-flex;\n textarea {\n @apply outline-0;\n @apply bg-white;\n @apply antialiased;\n @apply w-full;\n @apply text-black;\n @apply block;\n @apply transition-all;\n @apply appearance-none;\n\n @apply p-3;\n @apply text-sm;\n border: 1px solid #ced4da;\n border-radius: 4px;\n\n &:active {\n border-color: #4ccba0;\n }\n\n &:focus {\n border-color: #4ccba0;\n }\n\n &:disabled {\n @apply opacity-50;\n @apply cursor-not-allowed;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nconst props = defineProps({\n modelValue: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nconst handleChange = () => {\n emit(\"update:modelValue\", !props.modelValue);\n emit(\"change\", !props.modelValue);\n};\n</script>\n<template>\n <div class=\"switch-wrapper\">\n <button\n :class=\"{\n 'bg-gray-200': !modelValue,\n '!bg-themeable-primary-600': modelValue,\n }\"\n aria-checked=\"false\"\n class=\"switch-inner\"\n role=\"switch\"\n type=\"button\"\n @click=\"handleChange\"\n >\n <span\n :class=\"{\n 'translate-x-0': !modelValue,\n 'translate-x-5': modelValue,\n }\"\n aria-hidden=\"true\"\n class=\"switch-indicator\"\n >\n <slot name=\"icon\" />\n </span>\n </button>\n </div>\n</template>\n<style lang=\"scss\">\n.switch-wrapper {\n @apply inline-flex;\n @apply box-border;\n\n .switch-inner {\n @apply relative;\n @apply inline-flex;\n @apply flex-shrink-0;\n @apply h-6;\n @apply w-11;\n @apply border-2;\n @apply border-transparent;\n @apply rounded-full;\n @apply cursor-pointer;\n @apply transition-colors;\n @apply ease-in-out;\n @apply duration-200;\n\n .switch-indicator {\n @apply pointer-events-none;\n @apply inline-block;\n @apply h-5;\n @apply w-5;\n @apply rounded-full;\n @apply bg-white;\n @apply shadow;\n @apply transform;\n @apply ring-0;\n @apply transition;\n @apply ease-in-out;\n @apply duration-200;\n }\n }\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { VModal } from \"@/components/modal\";\nimport { VSpace } from \"@/components/space\";\nimport { VButton } from \"@/components/button\";\nimport {\n IconCheckboxCircle,\n IconClose,\n IconErrorWarning,\n IconForbidLine,\n IconInformation,\n} from \"@/icons/icons\";\nimport type { PropType } from \"vue\";\nimport { computed, ref } from \"vue\";\nimport type { Type } from \"@/components/dialog/interface\";\n\nconst props = defineProps({\n type: {\n type: String as PropType<Type>,\n default: \"info\",\n },\n title: {\n type: String,\n default: \"提示\",\n },\n description: {\n type: String,\n default: \"\",\n },\n confirmText: {\n type: String,\n default: \"确定\",\n },\n cancelText: {\n type: String,\n default: \"取消\",\n },\n visible: {\n type: Boolean,\n default: false,\n },\n onConfirm: {\n type: Function as PropType<() => void>,\n },\n onCancel: {\n type: Function as PropType<() => void>,\n },\n});\n\nconst emit = defineEmits([\"update:visible\", \"close\"]);\n\nconst icons = {\n success: {\n icon: IconCheckboxCircle,\n color: \"green\",\n },\n info: {\n icon: IconInformation,\n color: \"blue\",\n },\n warning: {\n icon: IconErrorWarning,\n color: \"orange\",\n },\n error: {\n icon: IconForbidLine,\n color: \"red\",\n },\n};\nconst icon = computed(() => icons[props.type]);\n\nconst loading = ref(false);\n\nconst handleCancel = () => {\n if (props.onCancel) {\n props.onCancel();\n }\n handleClose();\n};\n\nconst handleConfirm = async () => {\n if (props.onConfirm) {\n loading.value = true;\n await props.onConfirm();\n }\n handleClose();\n};\n\nconst handleClose = () => {\n loading.value = false;\n emit(\"update:visible\", false);\n emit(\"close\");\n};\n</script>\n<template>\n <VModal :visible=\"visible\" :width=\"450\" @close=\"handleCancel()\">\n <div class=\"flex justify-between items-start py-2 mb-2\">\n <div>\n <div\n :class=\"`ring-${icon.color}-100`\"\n class=\"inline-flex rounded-full bg-teal-50 p-1.5 ring-4\"\n >\n <component\n :is=\"icon.icon\"\n :class=\"`text-${icon.color}-500`\"\n class=\"w-5 h-5\"\n ></component>\n </div>\n </div>\n <div>\n <IconClose class=\"cursor-pointer\" @click=\"handleCancel\" />\n </div>\n </div>\n <div class=\"flex items-center gap-4\">\n <div class=\"flex-1 flex flex-col items-stretch gap-2\">\n <div class=\"text-base text-gray-900 font-bold\">{{ title }}</div>\n <div class=\"text-sm text-gray-700\">{{ description }}</div>\n </div>\n </div>\n <template #footer>\n <VSpace>\n <VButton :loading=\"loading\" type=\"secondary\" @click=\"handleConfirm\">\n {{ confirmText }}\n </VButton>\n <VButton @click=\"handleCancel\">{{ cancelText }}</VButton>\n </VSpace>\n </template>\n </VModal>\n</template>\n","export type Type = \"success\" | \"info\" | \"warning\" | \"error\";\nexport const DialogProviderProvideKey = \"DIALOG_PROVIDER_PROVIDE_KEY\";\n\nexport interface useDialogOptions {\n type?: Type;\n visible: boolean;\n title: string;\n description?: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => void;\n onCancel?: () => void;\n}\n\nexport type useDialogUserOptions = Omit<useDialogOptions, \"type\" | \"visible\">;\n","<script lang=\"ts\" setup>\nimport { VDialog } from \"./index\";\nimport { provide, ref } from \"vue\";\nimport type { useDialogOptions } from \"./interface\";\nimport { DialogProviderProvideKey } from \"@/components/dialog/interface\";\n\nconst options = ref<useDialogOptions>({\n visible: false,\n title: \"\",\n});\n\nprovide(DialogProviderProvideKey, options);\n</script>\n<template>\n <slot />\n <VDialog\n v-model:visible=\"options.visible\"\n :cancel-text=\"options.cancelText\"\n :confirm-text=\"options.confirmText\"\n :description=\"options.description\"\n :onCancel=\"options.onCancel\"\n :onConfirm=\"options.onConfirm\"\n :title=\"options.title\"\n :type=\"options.type\"\n ></VDialog>\n</template>\n","import type { Ref } from \"vue\";\nimport { inject } from \"vue\";\nimport type {\n Type,\n useDialogOptions,\n useDialogUserOptions,\n} from \"@/components/dialog/interface\";\nimport { DialogProviderProvideKey } from \"@/components/dialog/interface\";\n\ninterface useDialogReturn {\n success: (options: useDialogUserOptions) => void;\n info: (options: useDialogUserOptions) => void;\n warning: (options: useDialogUserOptions) => void;\n error: (options: useDialogUserOptions) => void;\n}\n\nexport function useDialog(): useDialogReturn {\n const dialogOptions = inject<Ref<useDialogOptions>>(DialogProviderProvideKey);\n\n if (!dialogOptions) {\n throw new Error(\"DialogProvider is not mounted\");\n }\n\n const createDialog = (type: Type) => (options: useDialogUserOptions) => {\n dialogOptions.value = { ...dialogOptions.value, ...options };\n dialogOptions.value.type = type;\n dialogOptions.value.visible = true;\n };\n\n return {\n success: createDialog(\"success\"),\n info: createDialog(\"info\"),\n warning: createDialog(\"warning\"),\n error: createDialog(\"error\"),\n };\n}\n"],"names":["computed","useRouter","provide","useSlots","ref","inject","VRoutesMenu","defineComponent","name","props","menus","type","Object","emits","setup","emit","route","useRoute","push","openIds","matched","map","item","path","handleSelect","id","renderIcon","icon","_createVNode","renderItems","items","_Fragment","children","length","VMenuItem","value","includes","VMenu","menu"],"mappings":";;KACA,EAAe,CAAC,EAAK,IAAU,CAC7B,KAAM,GAAS,EAAI,WAAa,EAChC,SAAW,CAAC,EAAK,IAAQ,GACvB,EAAO,GAAO,EAEhB,MAAO,EACT,8WCKM,EAAqC,CACzC,QAAS,EACT,KAAM,EACN,QAAS,EACT,QAAS,EACT,MAAO,CAAA,EAsBH,EAAUA,EAAAA,SAAS,IAChB,CAAC,SAAS,EAAM,MAAM,CAC9B,EAEK,EAAc,IAAM,CACxB,EAAK,OAAO,CAAA;8yBC6BR,EAASC,EAAAA,YAGT,EAAUD,EAAAA,SAAS,IAChB,CACL,OAAO,EAAM,OACb,OAAO,EAAM,OACb,CAAE,aAAc,EAAM,MAAO,EAC7B,CAAE,YAAa,EAAM,KAAM,EAC3B,CAAE,cAAe,EAAM,OAAQ,CAAA,CAElC,EAEsB,YAAA,CACjB,AAAA,EAAM,UAAY,EAAM,SACxB,GAAM,OACD,EAAA,KAAK,EAAM,KAAK,EAEzB,EAAK,OAAO,EACd;;ySC3EM,EAAK,CAAC,WAAY,EAAM,KAAM,EAAM,KAAK,EAC5C,OAAO,AAAC,GAAS,CAAC,CAAC,CAAI,EACvB,KAAK,GAAG,EAIX,WAAsB,EAAU,CACxB,KAAA,CAAE,WAAY,EAAE,OACtB,EAAK,iBAAkB,CAAO,EAC9B,EAAK,SAAU,CAAC,CAClB,6xBCEA,WAAsB,EAAU,CACxB,KAAA,CAAE,QAAO,WAAY,EAAE,OACvB,EAAgB,CAAC,GAAG,EAAM,UAAU,EAE1C,AAAI,EACF,EAAc,KAAK,CAAK,EAExB,EAAc,OAAO,EAAc,QAAQ,CAAK,EAAG,CAAC,EAEtD,EAAK,oBAAqB,CAAa,EACvC,EAAK,SAAU,CAAa,CAC9B;uWChBM,EAAUA,EAAAA,SAAS,IAChB,CAAC,SAAS,EAAM,MAAM,CAC9B,EAED,WAAqB,EAAU,CACvB,KAAA,CAAE,SAAU,EAAE,OACpB,EAAK,oBAAqB,CAAK,CACjC,wmBCpB8BE,SAAAA,QAAA,UAAW,EAAM,OAAO;sVCUhD,EAAQC,EAAAA,WAER,EAAOC,MAAI,EAAK,EAEhB,EAAUC,SAA6B,SAAS,EAEtD,AAAI,WAAS,SAAS,EAAM,KAC1B,GAAK,MAAQ,IAGT,KAAA,GAAcL,EAAAA,SAAS,IACpB,EAAM,SAAW,EAAM,UAAU,OAAS,CAClD,EAEsB,YAAA,CACrB,GAAI,EAAY,MAAO,CAChB,EAAA,MAAQ,CAAC,EAAK,MACnB,MACF,CACK,EAAA,SAAU,EAAM,EAAE,CACzB;0LClCMM,KAAAA,IAAcC,EAAAA,gBAAgB,CAClCC,KAAM,cACNC,MAAO,CACLC,MAAO,CACLC,KAAMC,MADD,CAHyB,EAOlCC,MAAO,CAAC,QAAD,EACPC,MAAML,EAAO,CAAEM,QAAQ,CACfC,KAAAA,GAAQC,EAAAA,WACR,CAAEC,QAASjB,EAAS,UAAA,EAEpBkB,EAAUnB,EAAAA,SAAS,IAChBgB,EAAMI,QAAQC,IAAKC,GAA+BA,EAAKC,IAAvD,CADe,EAITC,iBAAaC,EAAY,CACtCV,EAAK,SAAUU,CAAX,EACEP,KAAAA,GAAKO,CAAD,CACX,CAEQC,WAAWC,EAA6B,CAC/C,GAAI,EAACA,EAEL,MAAAC,GAAAA,YAAA,EAAA,CAAA,OAAoB,OAAa,MAAA,MAAjC,EAAA,IAAA,CACD,CAEQC,WAAYC,EAAmC,CACtD,MAAOA,kBAAOT,IAAKC,GAAS,OAC1B,MAAAM,GAAA,YAAAG,EAAA,SAAA,KAAA,CAEKT,KAAKU,WAALV,QAAeW,OAAfL,EAAA,YAAAM,EAAA,CAEQZ,IAAAA,EAAKC,KACND,GAAAA,EAAKC,KAHZ,MAIUD,EAAKd,IAJf,EAAA,CAAA,QAAA,IAAA,CASIqB,EAAYP,EAAKU,QAAN,CATf,EAMKL,KAAM,IAAMD,EAAWJ,EAAKK,IAAN,CAN3B,CAAA,EAAAC,EAAA,YAAAM,EAAA,CAaQZ,IAAAA,EAAKC,KACND,GAAAA,EAAKC,KACFD,MAAAA,EAAKd,KAff,SAmBagB,EACFL,OAAAA,EAAQgB,MAAMC,SAASd,EAAKC,IAA5B,CApBX,EAgBY,CACPI,KAAM,IAAMD,EAAWJ,EAAKK,IAAN,CAjB3B,CAAA,CAFL,CAAA,CA2BD,EACF,CAEM,MAAA,IAAAC,EAAA,YAAAS,EAAA,CAAA,QACWlB,EAAQgB,KADnB,EAAA,CAAA,QAAA,IAAA,OAAA,OAEF1B,KAAMC,QAAND,cAAaY,IAAKiB,GAAwB,OAGpCA,MAAAA,GAAAA,YAAAA,EAAAA,SAAAA,KAAAA,CAAAA,EAAK9B,MAALoB,EAAAA,YAAA,EAAA,KAAA,CAA0BU,QAAAA,IAAAA,CAAAA,EAAK9B,IAA/B,CAAA,CAAA,EACA8B,MAAKR,QAALQ,cAAYL,SAAUJ,EAAYS,EAAKR,KAAN,CAHtC,CAAA,CAMD,EATE,EAAA,CAAP,CAYD,CAvEiC,CAAD;uZCqB7B,EAAc1B,MAAI,EAAK,EAEvB,EAAiBJ,EAAAA,SAAS,IACvB,EACL,2BAA4B,EAAM,UAAA,EAErC,EAEK,EAAgBA,EAAAA,SAAS,IACtB,EACL,SAAU,EAAM,MAAQ,IAAA,EAE3B,EAEsB,YAAA,CACrB,EAAK,iBAAkB,EAAK,EAC5B,EAAK,OAAO,CACd;qTCzBM,EAAK,CAAC,QAAS,EAAM,KAAM,EAAM,KAAK,EACzC,OAAO,AAAC,GAAS,CAAC,CAAC,CAAI,EACvB,KAAK,GAAG,EAEL,EAAUA,EAAAA,SAAS,IAAM,EAAM,aAAe,EAAM,KAAK,EAE/D,WAAsB,EAAU,CACxB,KAAA,CAAE,SAAU,EAAE,OACpB,EAAK,oBAAqB,CAAK,EAC/B,EAAK,SAAU,CAAK,CACtB,yvBCJA,WAAsB,EAAkC,CACtD,EAAK,oBAAqB,CAAK,EAC/B,EAAK,SAAU,CAAK,CACtB;iVCLM,EAAUA,EAAAA,SAAS,IAChB,CAAC,UAAU,EAAM,MAAM,CAC/B,EAED,WAAsB,EAAU,CACxB,KAAA,CAAE,SAAU,EAAE,OACpB,EAAK,oBAAqB,CAAK,CACjC,gkBC5Ba,GAAsC,CACjD,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,EACN;wLCaM,EAAiBA,EAAAA,SAAS,IAAM,CAC9B,KAAA,CAAE,YAAW,SAAU,EAC7B,MAAO,CAAC,mBAAmB,IAAa,eAAe,GAAO,CAAA,CAC/D;uWCIDE,EAAA,QACE,WACAF,EAAA,SAAS,IAAM,EAAM,QAAQ,CAC/B,EAIA,KAAM,GAAQG,EAAAA,WAER,EAAWH,EAAAA,SAAS,IAAM,OAC9B,MAAO,KAAM,UAAN,sBAAkB,IAAI,CAAC,CAAE,MAAO,KAC9B,EACL,GAAI,iBAAY,EAAM,OACtB,MAAO,iBAAY,EAAM,SAAA,GAE5B,CACF,EAEK,EAAUA,EAAAA,SAAS,IAChB,CAAC,kBAAkB,EAAM,WAAW,CAC5C,EAEK,EAAe,AAAC,GAAwB,CAC5C,EAAK,kBAAmB,CAAE,EAC1B,EAAK,SAAU,CAAE,CAAA,ogBCvCb,EAAWK,SAAiD,UAAU,EAEtE,EAAWL,EAAAA,SAAS,IACjB,kBAAU,SAAU,EAAM,EAClC;gbCeK,EAAUA,EAAAA,SAAS,IAChB,CAAC,UAAU,EAAM,OAAQ,oBAAoB,EAAM,WAAW,CACtE,EAEK,EAAe,AAAC,GAAwB,CAC5C,EAAK,kBAAmB,CAAE,EAC1B,EAAK,SAAU,CAAE,CAAA;6OCtBb,EAAUA,EAAAA,SAAS,IAChB,CAAC,OAAO,EAAM,QAAS,CAAE,cAAe,EAAM,QAAS,CAC/D;uSCED,WAAqB,EAAU,CACvB,KAAA,CAAE,SAAU,EAAE,OACpB,EAAK,oBAAqB,CAAK,CACjC;;2LCbM,EAAe,IAAM,CACpB,EAAA,oBAAqB,CAAC,EAAM,UAAU,EACtC,EAAA,SAAU,CAAC,EAAM,UAAU,CAAA,4kCCsC5B,EAAQ,CACZ,QAAS,CACP,KAAM,EACN,MAAO,OACT,EACA,KAAM,CACJ,KAAM,EACN,MAAO,MACT,EACA,QAAS,CACP,KAAM,EACN,MAAO,QACT,EACA,MAAO,CACL,KAAM,EACN,MAAO,KACT,CAAA,EAEI,EAAOA,EAAAA,SAAS,IAAM,EAAM,EAAM,KAAK,EAEvC,EAAUI,MAAI,EAAK,EAEnB,EAAe,IAAM,CACzB,AAAI,EAAM,UACR,EAAM,SAAS,EAEL,GAAA,EAGR,EAAgB,SAAY,CAChC,AAAI,EAAM,WACR,GAAQ,MAAQ,GAChB,KAAM,GAAM,aAEF,GAAA,EAGR,EAAc,IAAM,CACxB,EAAQ,MAAQ,GAChB,EAAK,iBAAkB,EAAK,EAC5B,EAAK,OAAO,CAAA,grCCzFD,EAA2B,qFCKxC,KAAM,GAAUA,EAAAA,IAAsB,CACpC,QAAS,GACT,MAAO,EAAA,CACR,EAEDF,iBAAQ,EAA0B,CAAO,qfCKI,aAAA,CACrC,KAAA,GAAgBG,SAA8B,CAAwB,EAE5E,GAAI,CAAC,EACG,KAAA,IAAI,OAAM,+BAA+B,EAGjD,KAAM,GAAe,AAAC,GAAe,AAAC,GAAkC,CACtE,EAAc,MAAQ,OAAK,EAAc,OAAU,GACnD,EAAc,MAAM,KAAO,EAC3B,EAAc,MAAM,QAAU,EAAA,EAGzB,MAAA,CACL,QAAS,EAAa,SAAS,EAC/B,KAAM,EAAa,MAAM,EACzB,QAAS,EAAa,SAAS,EAC/B,MAAO,EAAa,OAAO,CAAA,CAE/B"}
@@ -0,0 +1,42 @@
1
+ import IconDashboard from "~icons/ri/dashboard-3-line";
2
+ import IconArrowLeft from "~icons/ri/arrow-left-s-line";
3
+ import IconArrowRight from "~icons/ri/arrow-right-s-line";
4
+ import IconArrowDown from "~icons/ri/arrow-down-s-fill";
5
+ import IconArrowUpLine from "~icons/ri/arrow-up-s-line";
6
+ import IconArrowDownLine from "~icons/ri/arrow-down-s-line";
7
+ import IconBookRead from "~icons/ri/book-read-line";
8
+ import IconPages from "~icons/ri/pages-line";
9
+ import IconMessage from "~icons/ri/message-3-line";
10
+ import IconPalette from "~icons/ri/palette-line";
11
+ import IconListSettings from "~icons/ri/list-settings-line";
12
+ import IconMagic from "~icons/ri/magic-line";
13
+ import IconUserSettings from "~icons/ri/user-settings-line";
14
+ import IconSettings from "~icons/ri/settings-4-line";
15
+ import IconPlug from "~icons/ri/plug-2-line";
16
+ import IconEye from "~icons/ri/eye-line";
17
+ import IconFolder from "~icons/ri/folder-2-line";
18
+ import IconMore from "~icons/ri/more-line";
19
+ import IconClose from "~icons/ri/close-line";
20
+ import IconErrorWarning from "~icons/ri/error-warning-line";
21
+ import IconCheckboxCircle from "~icons/ri/checkbox-circle-line";
22
+ import IconInformation from "~icons/ri/information-line";
23
+ import IconCloseCircle from "~icons/ri/close-circle-line";
24
+ import IconDeleteBin from "~icons/ri/delete-bin-2-line";
25
+ import IconAddCircle from "~icons/ri/add-circle-line";
26
+ import IconSave from "~icons/ri/save-line";
27
+ import IconList from "~icons/ri/list-unordered";
28
+ import IconGrid from "~icons/ri/grid-line";
29
+ import IconCheckboxFill from "~icons/ri/checkbox-circle-fill";
30
+ import IconSearch from "~icons/ri/search-2-line";
31
+ import IconComputer from "~icons/ri/computer-line";
32
+ import IconPhone from "~icons/ri/smartphone-line";
33
+ import IconTablet from "~icons/ri/tablet-line";
34
+ import IconUserFollow from "~icons/ri/user-follow-line";
35
+ import IconExchange from "~icons/ri/exchange-line";
36
+ import IconGitHub from "~icons/ri/github-fill";
37
+ import IconUpload from "~icons/ri/upload-cloud-2-line";
38
+ import IconShieldUser from "~icons/ri/shield-user-line";
39
+ import IconGitBranch from "~icons/ri/git-branch-line";
40
+ import IconStopCircle from "~icons/ri/stop-circle-line";
41
+ import IconForbidLine from "~icons/ri/forbid-line";
42
+ export { IconDashboard, IconArrowLeft, IconArrowRight, IconArrowDown, IconBookRead, IconPages, IconMessage, IconPalette, IconListSettings, IconMagic, IconUserSettings, IconSettings, IconPlug, IconEye, IconFolder, IconMore, IconClose, IconErrorWarning, IconCheckboxCircle, IconInformation, IconCloseCircle, IconDeleteBin, IconAddCircle, IconSave, IconList, IconGrid, IconCheckboxFill, IconArrowUpLine, IconArrowDownLine, IconSearch, IconComputer, IconPhone, IconTablet, IconUserFollow, IconExchange, IconGitHub, IconUpload, IconShieldUser, IconGitBranch, IconStopCircle, IconForbidLine, };
@@ -0,0 +1,2 @@
1
+ export * from "./components";
2
+ export * from "./icons/icons";
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{--themeable-primary-50: 251, 254, 253;--themeable-primary-100: 220, 247, 238;--themeable-primary-200: 190, 240, 223;--themeable-primary-300: 160, 232, 208;--themeable-primary-400: 132, 223, 192;--themeable-primary-500: 103, 213, 176;--themeable-primary-600: 76, 203, 160;--themeable-primary-700: 56, 185, 141;--themeable-primary-800: 49, 154, 119;--themeable-primary-900: 42, 124, 96;--themeable-primary: 76, 203, 160;--themeable-secondary-50: 163, 182, 240;--themeable-secondary-100: 132, 158, 233;--themeable-secondary-200: 101, 133, 226;--themeable-secondary-300: 71, 109, 218;--themeable-secondary-400: 45, 86, 207;--themeable-secondary-500: 40, 74, 174;--themeable-secondary-600: 34, 62, 142;--themeable-secondary-700: 28, 49, 110;--themeable-secondary-800: 21, 36, 79;--themeable-secondary-900: 14, 23, 49;--themeable-secondary: 14, 23, 49}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.bottom-0{bottom:0px}.mt-3{margin-top:.75rem}.-mt-6{margin-top:-1.5rem}.ml-auto{margin-left:auto}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-2{margin-left:.5rem}.mb-2{margin-bottom:.5rem}.mr-3{margin-right:.75rem}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.h-5{height:1.25rem}.h-3{height:.75rem}.h-8{height:2rem}.h-6{height:1.5rem}.h-16{height:4rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-12{height:3rem}.h-32{height:8rem}.h-28{height:7rem}.h-40{height:10rem}.h-4{height:1rem}.w-full{width:100%}.w-4{width:1rem}.w-16{width:4rem}.w-6{width:1.5rem}.w-5{width:1.25rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.translate-y-4{--tw-translate-y: 1rem;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))}.translate-y-0{--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))}.translate-x-0{--tw-translate-x: 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))}.translate-x-5{--tw-translate-x: 1.25rem;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{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))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-2{gap:.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity))}.bg-indigo-300{--tw-bg-opacity: 1;background-color:rgb(165 180 252 / var(--tw-bg-opacity))}.bg-indigo-400{--tw-bg-opacity: 1;background-color:rgb(129 140 248 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity))}.bg-teal-50{--tw-bg-opacity: 1;background-color:rgb(240 253 250 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.\!bg-themeable-primary-600{--tw-bg-opacity: 1 !important;background-color:rgba(var(--themeable-primary-600),var(--tw-bg-opacity))!important}.fill-current{fill:currentColor}.p-3{padding:.75rem}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-1{padding:.25rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-100{transition-duration:.1s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.group:hover .group-hover\:block{display:block}@media (min-width: 640px){.sm\:translate-y-0{--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))}.sm\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;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))}.sm\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;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))}.sm\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.alert-wrapper[data-v-3bf3a1a9]{display:flex;flex-direction:column;box-sizing:border-box;border-width:1px;padding:12px 16px;border-radius:4px}.alert-wrapper .alert-header[data-v-3bf3a1a9]{display:flex}.alert-wrapper .alert-header .alert-icon[data-v-3bf3a1a9]{align-self:center;margin-right:.75rem;font-size:1.125rem;line-height:1.75rem}.alert-wrapper .alert-header .alert-title[data-v-3bf3a1a9]{align-self:center;margin-right:.75rem;flex:1 1 0%;font-weight:500;font-size:1rem;line-height:1.5rem}.alert-wrapper .alert-header .alert-close[data-v-3bf3a1a9]{align-self:center;cursor:pointer;border-radius:9999px;padding:.125rem}.alert-wrapper .alert-header .alert-close[data-v-3bf3a1a9]:hover{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.alert-wrapper .alert-description[data-v-3bf3a1a9]{font-size:.875rem;line-height:1.25rem;margin-top:.5rem}.alert-wrapper .alert-actions[data-v-3bf3a1a9]{border-top-width:1px;margin-top:.75rem;padding-top:.5rem}.alert-wrapper.alert-default[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.alert-wrapper.alert-default .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-default .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.alert-wrapper.alert-default .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-default .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.alert-wrapper.alert-success[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity))}.alert-wrapper.alert-success .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-success .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.alert-wrapper.alert-success .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-success .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.alert-wrapper.alert-info[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity))}.alert-wrapper.alert-info .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-info .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.alert-wrapper.alert-info .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-info .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity))}.alert-wrapper.alert-warning[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity))}.alert-wrapper.alert-warning .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-warning .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.alert-wrapper.alert-warning .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-warning .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.alert-wrapper.alert-error[data-v-3bf3a1a9]{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity));--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity))}.alert-wrapper.alert-error .alert-icon[data-v-3bf3a1a9],.alert-wrapper.alert-error .alert-description[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.alert-wrapper.alert-error .alert-close[data-v-3bf3a1a9],.alert-wrapper.alert-error .alert-title[data-v-3bf3a1a9]{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.btn{border-radius:4px;display:inline-flex;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-align:center;font-size:.875rem;line-height:1.25rem;-webkit-text-decoration-line:none;text-decoration-line:none;height:2.25rem;padding-left:1rem;padding-right:1rem;outline-width:0px;border-style:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle}.btn:hover{opacity:.9}.btn:active{opacity:1}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-default{border:1px solid #d9d9d9}.btn-default .btn-icon{color:#0e1731}.btn-primary{background:#4ccba0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary{background:#0e1731;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-danger{background:#d71d1d;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-block{width:100%}.btn-icon{height:1.25rem;width:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));margin-right:.75rem}.btn-loading{cursor:not-allowed}.btn-loading:hover{opacity:1}.btn-lg{height:2.75rem;padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;line-height:1.75rem}.btn-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.btn-sm .btn-icon{height:.75rem;width:.75rem;margin-right:.5rem}.btn-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.btn-xs .btn-icon{height:.75rem;width:.75rem;margin-right:.5rem}.btn-circle{width:2.25rem;padding:0;border-radius:9999px}.btn-lg.btn-circle{width:2.75rem}.btn-sm.btn-circle{width:1.75rem}.btn-xs.btn-circle{width:1.5rem}.card-wrapper{box-sizing:border-box;display:flex;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);overflow:hidden;border-radius:4px;border:1px solid #eaecf0}.card-wrapper .card-header{display:flex;justify-content:space-between;border-bottom:1px solid #eaecf0}.card-wrapper .card-header .card-header-title{align-self:center;font-size:1rem;line-height:1.5rem;font-weight:700;padding:12px 16px}.card-wrapper .card-header .card-header-actions{align-self:center}.card-wrapper .card-body{padding:12px 16px}.card-wrapper .card-footer{border-top:1px solid #eaecf0;padding:12px 16px}.checkbox-wrapper{display:flex;align-items:center;box-sizing:border-box;flex-grow:0}.input-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.input-wrapper input{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;resize:none;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ced4da;border-radius:4px}.input-wrapper input:active{border-color:#4ccba0}.input-wrapper input:focus{border-color:#4ccba0}.input-wrapper input:disabled{opacity:.5;cursor:not-allowed}.input-wrapper input.input-lg{height:2.75rem;padding-left:1rem;padding-right:1rem;font-size:1.125rem;line-height:1.75rem}.input-wrapper input.input-md{height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem}.input-wrapper input.input-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.input-wrapper input.input-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.input-wrapper .input-prefix{position:absolute;display:flex;top:50%;transform:translateY(-50%);align-items:center;justify-content:center}.input-wrapper .input-suffix{position:absolute;display:flex;top:50%;right:0;transform:translateY(-50%);align-items:center;justify-content:center}.menu-item{cursor:pointer}.menu-item-title{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-size:1rem;line-height:1.5rem;display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;padding:.5rem;font-weight:400;border-radius:4px}.menu-item-title:hover,.menu-item-title.active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));font-weight:500}.menu-item-title.active:after{position:absolute;top:calc(50% - 13px);left:-8px;width:3px;height:26px;content:"";background:#242e41;border-radius:6px}.menu-icon-collapse.open{transform:rotate(90deg)}.submenus-show-enter-active{transition:all .1s ease-out}.submenus-show-leave-active{transition:all .8s cubic-bezier(1,.5,.8,1)}.submenus-show-enter-from,.submenus-show-enter-to{transform:translateY(-10px);opacity:0}.menu-label{padding-top:10px;padding-bottom:10px;color:#847e7e;font-size:14px;font-weight:400}.modal-wrapper{position:fixed;top:0px;left:0px;height:100%;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;z-index:999}.modal-wrapper .modal-layer{flex:none;position:absolute;top:0px;left:0px;height:100%;width:100%;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:rgb(107 114 128 / var(--tw-bg-opacity));--tw-bg-opacity: .75}.modal-wrapper .modal-content{display:flex;flex-direction:column;position:relative;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));align-items:stretch;--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:4px}.modal-wrapper .modal-content .modal-header{display:flex;justify-content:space-between;border-bottom-width:1px}.modal-wrapper .modal-content .modal-header .modal-header-title{align-self:center;font-size:1rem;line-height:1.5rem;font-weight:700;padding:12px 16px}.modal-wrapper .modal-content .modal-header .modal-header-actions{align-self:center;height:100%}.modal-wrapper .modal-content .modal-header .modal-header-actions .modal-header-action{cursor:pointer;padding:12px 16px}.modal-wrapper .modal-content .modal-header .modal-header-actions .modal-header-action:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.modal-wrapper .modal-content .modal-body{overflow-y:auto;overflow-x:hidden;flex:1 1 0%;word-wrap:break-word;padding:12px 16px}.modal-wrapper .modal-content .modal-footer{border-top-width:1px;padding:12px 16px}.modal-wrapper.modal-wrapper-fullscreen .modal-content{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0}.radio-wrapper{display:flex;align-items:center;box-sizing:border-box;flex-grow:0}.radio-wrapper .radio-inner{align-self:center;position:relative}.radio-wrapper .radio-label{display:flex;align-self:center;align-items:flex-start;margin-left:.75rem}.select-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.select-wrapper select{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #ced4da;border-radius:4px}.select-wrapper select:active{border-color:#4ccba0}.select-wrapper select:focus{border-color:#4ccba0}.select-wrapper select:disabled{opacity:.5;cursor:not-allowed}.select-wrapper select.select-lg{height:2.75rem;padding-left:1rem;padding-right:1rem;font-size:1.125rem;line-height:1.75rem}.select-wrapper select.select-md{height:2.25rem;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem}.select-wrapper select.select-sm{height:1.75rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;line-height:1rem}.select-wrapper select.select-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.space-wrapper{display:inline-flex;box-sizing:border-box}.space-wrapper.space-direction-row{flex-direction:row}.space-wrapper.space-direction-column{flex-direction:column}.space-wrapper.space-align-center{align-items:center}.space-wrapper.space-align-start{align-items:flex-start}.space-wrapper.space-align-end{align-items:flex-end}.space-wrapper.space-align-stretch{align-items:stretch}.tabs-wrapper{display:flex}.tabs-wrapper.tabs-direction-row{flex-direction:column}.tabs-wrapper.tabs-direction-row .tabs-items-wrapper{margin-top:.5rem}.tabs-wrapper.tabs-direction-column .tabs-items-wrapper{margin-left:.5rem}.tabbar-wrapper .tabbar-items{display:flex;align-items:center;flex-direction:row}.tabbar-wrapper .tabbar-item{display:flex;cursor:pointer;align-self:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-size:1rem;line-height:1.5rem;justify-content:center;gap:.5rem}.tabbar-wrapper .tabbar-item .tabbar-item-label,.tabbar-wrapper .tabbar-item .tabbar-item-icon{align-self:center}.tabbar-wrapper.tabbar-default{border-bottom-width:2px;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity))}.tabbar-wrapper.tabbar-default .tabbar-items{margin-bottom:-2px;justify-content:flex-start}.tabbar-wrapper.tabbar-default .tabbar-item{height:2.5rem;padding:.25rem 1.25rem;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity));border-bottom-width:2px}.tabbar-wrapper.tabbar-default .tabbar-item.tabbar-item-active{color:#0e1731;border-bottom-color:#0e1731}.tabbar-wrapper.tabbar-pills .tabbar-items{gap:.25rem;justify-content:flex-start}.tabbar-wrapper.tabbar-pills .tabbar-item{height:2.5rem;padding:.25rem 2.25rem;opacity:.7;border-radius:4px}.tabbar-wrapper.tabbar-pills .tabbar-item.tabbar-item-active{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));opacity:1}.tabbar-wrapper.tabbar-pills .tabbar-item:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.tabbar-wrapper.tabbar-outline{padding:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));border-radius:4px}.tabbar-wrapper.tabbar-outline .tabbar-items{gap:.25rem;justify-content:flex-start}.tabbar-wrapper.tabbar-outline .tabbar-item{height:2.5rem;padding:.25rem 2.25rem;opacity:.7;border-radius:4px}.tabbar-wrapper.tabbar-outline .tabbar-item.tabbar-item-active{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));opacity:1;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tabbar-wrapper.tabbar-outline .tabbar-item:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.tabbar-wrapper.tabbar-direction-row .tabbar-items{flex-direction:row}.tabbar-wrapper.tabbar-direction-column .tabbar-items{flex-direction:column}.tabbar-wrapper.tabbar-direction-column.tabbar-default{border-bottom-width:0;border-bottom-width:0px;border-right-width:2px;--tw-border-opacity: 1;border-right-color:rgb(243 244 246 / var(--tw-border-opacity))}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-items{margin-bottom:0;margin-right:-2px}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-item{border-bottom-width:0;border-right-width:2px}.tabbar-wrapper.tabbar-direction-column.tabbar-default .tabbar-item.tabbar-item-active{border-right-color:#0e1731}.tag-wrapper{border-radius:4px;display:inline-flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;cursor:pointer;text-align:center;align-items:center;justify-content:center;width:auto;vertical-align:middle;height:1.25rem;font-size:.75rem;line-height:1rem}.tag-wrapper.tag-default{border:1px solid #d9d9d9}.tag-wrapper.tag-primary{background:#4ccba0;border:1px solid #4ccba0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-secondary{background:#0e1731;border:1px solid #0e1731;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-danger{background:#d71d1d;border:1px solid #d71d1d;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-rounded{border-radius:9999px}.tag-wrapper .tag-content{padding-left:.25rem;padding-right:.25rem}.tag-wrapper .tag-left-icon{padding-left:.25rem}.tag-wrapper .tag-right-icon{padding-right:.25rem}.textarea-wrapper{box-sizing:border-box;position:relative;width:100%;display:inline-flex}.textarea-wrapper textarea{outline-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));display:block;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.75rem;font-size:.875rem;line-height:1.25rem;border:1px solid #ced4da;border-radius:4px}.textarea-wrapper textarea:active{border-color:#4ccba0}.textarea-wrapper textarea:focus{border-color:#4ccba0}.textarea-wrapper textarea:disabled{opacity:.5;cursor:not-allowed}.switch-wrapper{display:inline-flex;box-sizing:border-box}.switch-wrapper .switch-inner{position:relative;display:inline-flex;flex-shrink:0;height:1.5rem;width:2.75rem;border-width:2px;border-color:transparent;border-radius:9999px;cursor:pointer;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.switch-wrapper .switch-inner .switch-indicator{pointer-events:none;display:inline-block;height:1.25rem;width:1.25rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);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));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@halo-dev/components",
3
+ "version": "0.0.0-alpha.0",
4
+ "description": "",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "main": "./dist/halo-components.umd.js",
9
+ "module": "./dist/halo-components.es.js",
10
+ "unpkg": "./dist/halo-components.iife.js",
11
+ "jsdelivr": "./dist/halo-components.iife.js",
12
+ "types": "./dist/index.d.ts",
13
+ "scripts": {
14
+ "dev": "vite build --watch",
15
+ "build": "vite build",
16
+ "test:unit": "vitest --environment jsdom --run",
17
+ "test:unit:watch": "vitest --environment jsdom --watch",
18
+ "test:unit:ui": "vitest --environment jsdom --watch --ui",
19
+ "test:unit:coverage": "vitest run --environment jsdom --coverage",
20
+ "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
21
+ "story:dev": "histoire dev --port 4000",
22
+ "story:build": "histoire build",
23
+ "lint": "eslint ./src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
24
+ "prettier": "prettier --write './src/**/*.{vue,js,jsx,ts,tsx,css,scss,json,yml,yaml,html}'",
25
+ "test": "echo \"Error: no test specified\" && exit 1"
26
+ },
27
+ "keywords": [
28
+ "halo",
29
+ "halo-components",
30
+ "halo-dev",
31
+ "@halo-dev/components"
32
+ ],
33
+ "author": {
34
+ "name": "@halo-dev",
35
+ "url": "https://github.com/halo-dev"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/halo-dev/halo-admin.git",
40
+ "directory": "packages/components"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/halo-dev/halo/issues"
44
+ },
45
+ "homepage": "https://github.com/halo-dev/halo-admin/tree/next/packages/components#readme",
46
+ "license": "MIT",
47
+ "devDependencies": {
48
+ "@iconify-json/ri": "^1.1.3",
49
+ "@rollup/plugin-typescript": "^8.3.3",
50
+ "histoire": "^0.7.8",
51
+ "unplugin-icons": "^0.14.7",
52
+ "vite-plugin-dts": "^1.2.0"
53
+ },
54
+ "peerDependencies": {
55
+ "vue": "^3.2.37",
56
+ "vue-router": "^4.0.16"
57
+ },
58
+ "exports": {
59
+ ".": {
60
+ "types": "./dist/index.d.ts",
61
+ "import": "./dist/halo-components.es.js",
62
+ "require": "./dist/halo-components.umd.js"
63
+ },
64
+ "./dist/style.css": "./dist/style.css"
65
+ }
66
+ }