@halo-dev/components 0.0.0-alpha.0 → 0.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +674 -0
- package/dist/components/alert/Alert.vue.d.ts +59 -0
- package/dist/components/button/Button.vue.d.ts +110 -0
- package/dist/components/card/Card.vue.d.ts +6 -3
- package/dist/components/checkbox/CheckBox.vue.d.ts +56 -0
- package/dist/components/checkbox/CheckBoxGroup.vue.d.ts +125 -0
- package/dist/components/codemirror/Codemirror.vue.d.ts +75 -0
- package/dist/components/codemirror/index.d.ts +1 -0
- package/dist/components/dialog/Dialog.vue.d.ts +143 -0
- package/dist/components/dialog/DialogProvider.vue.d.ts +156 -0
- package/dist/components/dialog/interface.d.ts +2 -0
- package/dist/components/header/PageHeader.vue.d.ts +2 -0
- package/dist/components/input/Input.vue.d.ts +56 -0
- package/dist/components/menu/Menu.vue.d.ts +16 -0
- package/dist/components/menu/MenuItem.vue.d.ts +55 -0
- package/dist/components/menu/MenuLabel.vue.d.ts +2 -0
- package/dist/components/modal/Modal.vue.d.ts +79 -0
- package/dist/components/pagination/index.d.ts +1 -0
- package/dist/components/radio/Radio.vue.d.ts +53 -0
- package/dist/components/radio/RadioGroup.vue.d.ts +112 -0
- package/dist/components/select/Option.vue.d.ts +2 -0
- package/dist/components/select/Select.vue.d.ts +56 -0
- package/dist/components/space/Space.vue.d.ts +47 -0
- package/dist/components/switch/Switch.vue.d.ts +28 -0
- package/dist/components/tabs/TabItem.vue.d.ts +28 -0
- package/dist/components/tabs/Tabbar.vue.d.ts +84 -0
- package/dist/components/tabs/Tabs.vue.d.ts +165 -0
- package/dist/components/tag/Tag.vue.d.ts +36 -0
- package/dist/components/textarea/Textarea.vue.d.ts +9 -1
- package/dist/components.d.ts +2 -0
- package/dist/halo-components.es.js +16443 -1542
- package/dist/halo-components.es.js.map +1 -1
- package/dist/halo-components.iife.js +13 -19
- package/dist/halo-components.iife.js.map +1 -1
- package/dist/icons/icons.d.ts +3 -1
- package/dist/style.css +1 -1
- package/package.json +30 -23
- package/dist/halo-components.cjs.js +0 -3
- package/dist/halo-components.cjs.js.map +0 -1
- package/dist/halo-components.umd.js +0 -20
- package/dist/halo-components.umd.js.map +0 -1
package/dist/icons/icons.d.ts
CHANGED
|
@@ -39,4 +39,6 @@ import IconShieldUser from "~icons/ri/shield-user-line";
|
|
|
39
39
|
import IconGitBranch from "~icons/ri/git-branch-line";
|
|
40
40
|
import IconStopCircle from "~icons/ri/stop-circle-line";
|
|
41
41
|
import IconForbidLine from "~icons/ri/forbid-line";
|
|
42
|
-
|
|
42
|
+
import IconCodeBoxLine from "~icons/ri/code-box-line";
|
|
43
|
+
import IconDatabase2Line from "~icons/ri/database-2-line";
|
|
44
|
+
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, IconCodeBoxLine, IconDatabase2Line, };
|
package/dist/style.css
CHANGED
|
@@ -1 +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}
|
|
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::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{--colors-primary: 76, 203, 160;--colors-secondary: 14, 23, 49;--borderRadius-base: 4px}.theme-dark{--colors-primary: 0, 0, 0;--colors-secondary: 14, 23, 49;--borderRadius-base: 2px}*,: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: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.bottom-0{bottom:0px}.left-0{left:0px}.z-0{z-index:0}.z-10{z-index:10}.mr-3{margin-right:.75rem}.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}.ml-3{margin-left:.75rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.h-9{height:2.25rem}.h-5{height:1.25rem}.h-11{height:2.75rem}.h-7{height:1.75rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-8{height:2rem}.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}.h-14{height:3.5rem}.w-full{width:100%}.w-5{width:1.25rem}.w-3{width:.75rem}.w-9{width:2.25rem}.w-4{width:1rem}.w-16{width:4rem}.w-6{width:1.5rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-11{width:2.75rem}.w-auto{width:auto}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.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}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.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-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[10px\]{gap:10px}.gap-1{gap:.25rem}.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)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-base{border-radius:var(--borderRadius-base)}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-l-\[4px\]{border-top-left-radius:4px;border-bottom-left-radius:4px}.rounded-r-\[4px\]{border-top-right-radius:4px;border-bottom-right-radius:4px}.border{border-width:1px}.border-2{border-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-primary{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.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-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.\!bg-primary{--tw-bg-opacity: 1 !important;background-color:rgba(var(--colors-primary),var(--tw-bg-opacity))!important}.bg-primary{--tw-bg-opacity: 1;background-color:rgba(var(--colors-primary),var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgba(var(--colors-secondary),var(--tw-bg-opacity))}.fill-current{fill:currentColor}.p-3{padding:.75rem}.p-0{padding:0}.p-4{padding:1rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.pb-5{padding-bottom:1.25rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-base{font-size:1rem;line-height:1.5rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-normal{font-weight:400}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.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))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-primary{--tw-text-opacity: 1;color:rgba(var(--colors-primary),var(--tw-text-opacity))}.text-secondary{--tw-text-opacity: 1;color:rgba(var(--colors-secondary),var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-50{opacity:.5}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow-sm{--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)}.shadow-xl{--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)}.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}.outline-0{outline-width:0px}.ring-0{--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)}.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}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{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:.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)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.group:hover .group-hover\:block{display:block}@media (min-width: 640px){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1 1 0%}.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\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.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-0f4ef279]{box-sizing:border-box;display:flex;flex-direction:column;border-radius:var(--borderRadius-base);border-width:1px;padding:12px 16px}.alert-wrapper .alert-header[data-v-0f4ef279]{display:flex}.alert-wrapper .alert-header .alert-icon[data-v-0f4ef279]{margin-right:.75rem;align-self:center;font-size:1.125rem;line-height:1.75rem}.alert-wrapper .alert-header .alert-title[data-v-0f4ef279]{margin-right:.75rem;flex:1 1 0%;align-self:center;font-size:1rem;line-height:1.5rem;font-weight:500}.alert-wrapper .alert-header .alert-close[data-v-0f4ef279]{cursor:pointer;align-self:center;border-radius:9999px;padding:.125rem}.alert-wrapper .alert-header .alert-close[data-v-0f4ef279]:hover{--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));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.alert-wrapper .alert-description[data-v-0f4ef279]{margin-top:.5rem;font-size:.875rem;line-height:1.25rem}.alert-wrapper .alert-actions[data-v-0f4ef279]{margin-top:.75rem;border-top-width:1px;padding-top:.5rem}.alert-wrapper.alert-default[data-v-0f4ef279]{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.alert-wrapper.alert-default .alert-icon[data-v-0f4ef279],.alert-wrapper.alert-default .alert-description[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.alert-wrapper.alert-default .alert-close[data-v-0f4ef279],.alert-wrapper.alert-default .alert-title[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.alert-wrapper.alert-success[data-v-0f4ef279]{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.alert-wrapper.alert-success .alert-icon[data-v-0f4ef279],.alert-wrapper.alert-success .alert-description[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.alert-wrapper.alert-success .alert-close[data-v-0f4ef279],.alert-wrapper.alert-success .alert-title[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.alert-wrapper.alert-info[data-v-0f4ef279]{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity))}.alert-wrapper.alert-info .alert-icon[data-v-0f4ef279],.alert-wrapper.alert-info .alert-description[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.alert-wrapper.alert-info .alert-close[data-v-0f4ef279],.alert-wrapper.alert-info .alert-title[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity))}.alert-wrapper.alert-warning[data-v-0f4ef279]{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity))}.alert-wrapper.alert-warning .alert-icon[data-v-0f4ef279],.alert-wrapper.alert-warning .alert-description[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.alert-wrapper.alert-warning .alert-close[data-v-0f4ef279],.alert-wrapper.alert-warning .alert-title[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.alert-wrapper.alert-error[data-v-0f4ef279]{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.alert-wrapper.alert-error .alert-icon[data-v-0f4ef279],.alert-wrapper.alert-error .alert-description[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.alert-wrapper.alert-error .alert-close[data-v-0f4ef279],.alert-wrapper.alert-error .alert-title[data-v-0f4ef279]{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.btn{display:inline-flex;height:2.25rem;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-wrap:wrap;align-items:center;justify-content:center;border-radius:var(--borderRadius-base);border-style:none;padding-left:1rem;padding-right:1rem;text-align:center;vertical-align:middle;font-size:.875rem;line-height:1.25rem;-webkit-text-decoration-line:none;text-decoration-line:none;outline-width:0px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:hover{opacity:.9}.btn:active{opacity:1}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-default{border:1px solid #d9d9d9}.btn-default .btn-icon{--tw-text-opacity: 1;color:rgba(var(--colors-secondary),var(--tw-text-opacity))}.btn-primary{--tw-bg-opacity: 1;background-color:rgba(var(--colors-primary),var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.btn-secondary{--tw-bg-opacity: 1;background-color:rgba(var(--colors-secondary),var(--tw-bg-opacity));--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{margin-right:.75rem;height:1.25rem;width:1.25rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.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{margin-right:.5rem;height:.75rem;width:.75rem}.btn-xs{height:1.5rem;padding-left:.5rem;padding-right:.5rem;font-size:.75rem;line-height:1rem}.btn-xs .btn-icon{margin-right:.5rem;height:.75rem;width:.75rem}.btn-circle{width:2.25rem;border-radius:9999px;padding:0}.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;overflow:hidden;border-radius:var(--borderRadius-base);--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);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{box-sizing:border-box;display:flex;flex-grow:0;align-items:center}.input-wrapper{position:relative;box-sizing:border-box;display:inline-flex;width:100%}.input-wrapper input{display:block;width:100%;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--borderRadius-base);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline-width:0px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid #ced4da}.input-wrapper input:active{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.input-wrapper input:focus{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.input-wrapper input:disabled{cursor:not-allowed;opacity:.5}.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{position:relative;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:var(--borderRadius-base);padding:.5rem;font-size:1rem;line-height:1.5rem;font-weight:400;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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;display:flex;height:100%;width:100%;flex-direction:row;align-items:center;justify-content:center;z-index:999}.modal-wrapper .modal-layer{position:absolute;top:0px;left:0px;height:100%;width:100%;flex:none;background-color:rgb(107 114 128 / var(--tw-bg-opacity));--tw-bg-opacity: .75;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.modal-wrapper .modal-content{position:relative;display:flex;flex-direction:column;align-items:stretch;border-radius:var(--borderRadius-base);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--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)}.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{height:100%;align-self:center}.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{flex:1 1 0%;overflow-y:auto;overflow-x:hidden;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{box-sizing:border-box;display:flex;flex-grow:0;align-items:center}.radio-wrapper .radio-inner{position:relative;align-self:center}.radio-wrapper .radio-label{margin-left:.75rem;display:flex;align-items:flex-start;align-self:center}.select-wrapper{position:relative;box-sizing:border-box;display:inline-flex;width:100%}.select-wrapper select{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--borderRadius-base);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline-width:0px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid #ced4da}.select-wrapper select:active{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.select-wrapper select:focus{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.select-wrapper select:disabled{cursor:not-allowed;opacity:.5}.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{box-sizing:border-box;display:inline-flex}.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;flex-direction:row;align-items:center}.tabbar-wrapper .tabbar-item{display:flex;cursor:pointer;justify-content:center;gap:.5rem;align-self:center;font-size:1rem;line-height:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.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;--tw-border-opacity: 1;border-bottom-color:rgb(243 244 246 / var(--tw-border-opacity));padding:.25rem 1.25rem;border-bottom-width:2px}.tabbar-wrapper.tabbar-default .tabbar-item.tabbar-item-active{--tw-border-opacity: 1;border-bottom-color:rgba(var(--colors-secondary),var(--tw-border-opacity));--tw-text-opacity: 1;color:rgba(var(--colors-secondary),var(--tw-text-opacity))}.tabbar-wrapper.tabbar-pills .tabbar-items{gap:.25rem;justify-content:flex-start}.tabbar-wrapper.tabbar-pills .tabbar-item{height:2.5rem;border-radius:var(--borderRadius-base);padding:.25rem 2.25rem;opacity:.7}.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{border-radius:var(--borderRadius-base);--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:.25rem}.tabbar-wrapper.tabbar-outline .tabbar-items{justify-content:flex-start;gap:.25rem}.tabbar-wrapper.tabbar-outline .tabbar-item{height:2.5rem;border-radius:var(--borderRadius-base);padding:.25rem 2.25rem;opacity:.7}.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{--tw-border-opacity: 1;border-right-color:rgba(var(--colors-secondary),var(--tw-border-opacity))}.tag-wrapper{box-sizing:border-box;display:inline-flex;height:1.25rem;width:auto;flex-shrink:0;cursor:pointer;flex-wrap:wrap;align-items:center;justify-content:center;border-radius:var(--borderRadius-base);border-width:1px;border-style:solid;text-align:center;vertical-align:middle;font-size:.75rem;line-height:1rem}.tag-wrapper.tag-default{border:1px solid #d9d9d9}.tag-wrapper.tag-primary{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(var(--colors-primary),var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.tag-wrapper.tag-secondary{--tw-border-opacity: 1;border-color:rgba(var(--colors-secondary),var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(var(--colors-secondary),var(--tw-bg-opacity));--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{position:relative;box-sizing:border-box;display:inline-flex;width:100%}.textarea-wrapper textarea{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--borderRadius-base);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;outline-width:0px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border:1px solid #ced4da}.textarea-wrapper textarea:active{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.textarea-wrapper textarea:focus{--tw-border-opacity: 1;border-color:rgba(var(--colors-primary),var(--tw-border-opacity))}.textarea-wrapper textarea:disabled{cursor:not-allowed;opacity:.5}.switch-wrapper{box-sizing:border-box;display:inline-flex}.switch-wrapper .switch-inner{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;flex-shrink:0;cursor:pointer;border-radius:9999px;border-width:2px;border-color:transparent;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-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.switch-wrapper .switch-inner .switch-indicator{pointer-events:none;display:inline-block;height:1.25rem;width: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));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);--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-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
|
package/package.json
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@halo-dev/components",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
7
7
|
],
|
|
8
|
-
"main": "./dist/halo-components.
|
|
8
|
+
"main": "./dist/halo-components.iife.js",
|
|
9
9
|
"module": "./dist/halo-components.es.js",
|
|
10
10
|
"unpkg": "./dist/halo-components.iife.js",
|
|
11
11
|
"jsdelivr": "./dist/halo-components.iife.js",
|
|
12
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
13
|
"keywords": [
|
|
28
14
|
"halo",
|
|
29
15
|
"halo-components",
|
|
@@ -45,11 +31,11 @@
|
|
|
45
31
|
"homepage": "https://github.com/halo-dev/halo-admin/tree/next/packages/components#readme",
|
|
46
32
|
"license": "MIT",
|
|
47
33
|
"devDependencies": {
|
|
34
|
+
"@histoire/plugin-vue": "^0.10.2",
|
|
48
35
|
"@iconify-json/ri": "^1.1.3",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"vite-plugin-dts": "^1.2.0"
|
|
36
|
+
"histoire": "^0.10.2",
|
|
37
|
+
"unplugin-icons": "^0.14.8",
|
|
38
|
+
"vite-plugin-dts": "^1.4.1"
|
|
53
39
|
},
|
|
54
40
|
"peerDependencies": {
|
|
55
41
|
"vue": "^3.2.37",
|
|
@@ -58,9 +44,30 @@
|
|
|
58
44
|
"exports": {
|
|
59
45
|
".": {
|
|
60
46
|
"types": "./dist/index.d.ts",
|
|
61
|
-
"import": "./dist/halo-components.es.js"
|
|
62
|
-
"require": "./dist/halo-components.umd.js"
|
|
47
|
+
"import": "./dist/halo-components.es.js"
|
|
63
48
|
},
|
|
64
49
|
"./dist/style.css": "./dist/style.css"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@codemirror/commands": "^6.0.1",
|
|
53
|
+
"@codemirror/language": "^6.2.1",
|
|
54
|
+
"@codemirror/legacy-modes": "^6.1.0",
|
|
55
|
+
"@codemirror/state": "^6.1.1",
|
|
56
|
+
"@codemirror/view": "^6.2.0",
|
|
57
|
+
"codemirror": "^6.0.1"
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"dev": "vite build --watch",
|
|
61
|
+
"build": "vite build",
|
|
62
|
+
"test:unit": "vitest --environment jsdom --run",
|
|
63
|
+
"test:unit:watch": "vitest --environment jsdom --watch",
|
|
64
|
+
"test:unit:ui": "vitest --environment jsdom --watch --ui",
|
|
65
|
+
"test:unit:coverage": "vitest run --environment jsdom --coverage",
|
|
66
|
+
"typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
|
|
67
|
+
"story:dev": "histoire dev --port 4000",
|
|
68
|
+
"story:build": "histoire build",
|
|
69
|
+
"lint": "eslint ./src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts",
|
|
70
|
+
"prettier": "prettier --write './src/**/*.{vue,js,jsx,ts,tsx,css,scss,json,yml,yaml,html}'",
|
|
71
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
65
72
|
}
|
|
66
|
-
}
|
|
73
|
+
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";var L=Object.defineProperty;var x=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable;var y=(t,r,a)=>r in t?L(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,u=(t,r)=>{for(var a in r||(r={}))R.call(r,a)&&y(t,a,r[a]);if(x)for(var a of x(r))Y.call(r,a)&&y(t,a,r[a]);return t};Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var e=require("vue"),w=require("vue-router");const H={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},D=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),j=[D];function T(t,r){return e.openBlock(),e.createElementBlock("svg",H,j)}var K={name:"ri-dashboard-3-line",render:T};const F={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},O=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),U=[O];function G(t,r){return e.openBlock(),e.createElementBlock("svg",F,U)}var X={name:"ri-arrow-left-s-line",render:G};const q={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},P=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),W=[P];function J(t,r){return e.openBlock(),e.createElementBlock("svg",q,W)}var _={name:"ri-arrow-right-s-line",render:J};const Q={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Z=e.createElementVNode("path",{fill:"currentColor",d:"m12 16l-6-6h12z"},null,-1),ee=[Z];function te(t,r){return e.openBlock(),e.createElementBlock("svg",Q,ee)}var re={name:"ri-arrow-down-s-fill",render:te};const ae={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},oe=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),ne=[oe];function ie(t,r){return e.openBlock(),e.createElementBlock("svg",ae,ne)}var le={name:"ri-arrow-up-s-line",render:ie};const ce={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},se=e.createElementVNode("path",{fill:"currentColor",d:"m12 13.172l4.95-4.95l1.414 1.414L12 16L5.636 9.636L7.05 8.222z"},null,-1),de=[se];function pe(t,r){return e.openBlock(),e.createElementBlock("svg",ce,de)}var me={name:"ri-arrow-down-s-line",render:pe};const he={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ue=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),we=[ue];function be(t,r){return e.openBlock(),e.createElementBlock("svg",he,we)}var ge={name:"ri-book-read-line",render:be};const ve={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},fe=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),xe=[fe];function ye(t,r){return e.openBlock(),e.createElementBlock("svg",ve,xe)}var _e={name:"ri-pages-line",render:ye};const ke={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},$e=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),Be=[$e];function ze(t,r){return e.openBlock(),e.createElementBlock("svg",ke,Be)}var Ve={name:"ri-message-3-line",render:ze};const Ce={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ee=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),Me=[Ee];function Se(t,r){return e.openBlock(),e.createElementBlock("svg",Ce,Me)}var Ne={name:"ri-palette-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 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),Le=[Ae];function Re(t,r){return e.openBlock(),e.createElementBlock("svg",Ie,Le)}var Ye={name:"ri-list-settings-line",render:Re};const He={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},De=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),je=[De];function Te(t,r){return e.openBlock(),e.createElementBlock("svg",He,je)}var Ke={name:"ri-magic-line",render:Te};const Fe={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Oe=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),Ue=[Oe];function Ge(t,r){return e.openBlock(),e.createElementBlock("svg",Fe,Ue)}var Xe={name:"ri-user-settings-line",render:Ge};const qe={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Pe=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),We=[Pe];function Je(t,r){return e.openBlock(),e.createElementBlock("svg",qe,We)}var Qe={name:"ri-settings-4-line",render:Je};const Ze={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},et=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),tt=[et];function rt(t,r){return e.openBlock(),e.createElementBlock("svg",Ze,tt)}var at={name:"ri-plug-2-line",render:rt};const ot={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},nt=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),it=[nt];function lt(t,r){return e.openBlock(),e.createElementBlock("svg",ot,it)}var ct={name:"ri-eye-line",render:lt};const st={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},dt=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),pt=[dt];function mt(t,r){return e.openBlock(),e.createElementBlock("svg",st,pt)}var ht={name:"ri-folder-2-line",render:mt};const ut={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},wt=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),bt=[wt];function gt(t,r){return e.openBlock(),e.createElementBlock("svg",ut,bt)}var vt={name:"ri-more-line",render:gt};const ft={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},xt=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),yt=[xt];function _t(t,r){return e.openBlock(),e.createElementBlock("svg",ft,yt)}var h={name:"ri-close-line",render:_t};const kt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},$t=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),Bt=[$t];function zt(t,r){return e.openBlock(),e.createElementBlock("svg",kt,Bt)}var v={name:"ri-error-warning-line",render:zt};const Vt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ct=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),Et=[Ct];function Mt(t,r){return e.openBlock(),e.createElementBlock("svg",Vt,Et)}var f={name:"ri-checkbox-circle-line",render:Mt};const St={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Nt=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),It=[Nt];function At(t,r){return e.openBlock(),e.createElementBlock("svg",St,It)}var m={name:"ri-information-line",render:At};const Lt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Rt=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),Yt=[Rt];function Ht(t,r){return e.openBlock(),e.createElementBlock("svg",Lt,Yt)}var k={name:"ri-close-circle-line",render:Ht};const Dt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},jt=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),Tt=[jt];function Kt(t,r){return e.openBlock(),e.createElementBlock("svg",Dt,Tt)}var Ft={name:"ri-delete-bin-2-line",render:Kt};const Ot={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ut=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),Gt=[Ut];function Xt(t,r){return e.openBlock(),e.createElementBlock("svg",Ot,Gt)}var qt={name:"ri-add-circle-line",render:Xt};const Pt={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Wt=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),Jt=[Wt];function Qt(t,r){return e.openBlock(),e.createElementBlock("svg",Pt,Jt)}var Zt={name:"ri-save-line",render:Qt};const er={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},tr=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),rr=[tr];function ar(t,r){return e.openBlock(),e.createElementBlock("svg",er,rr)}var or={name:"ri-list-unordered",render:ar};const nr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ir=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),lr=[ir];function cr(t,r){return e.openBlock(),e.createElementBlock("svg",nr,lr)}var sr={name:"ri-grid-line",render:cr};const dr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},pr=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),mr=[pr];function hr(t,r){return e.openBlock(),e.createElementBlock("svg",dr,mr)}var ur={name:"ri-checkbox-circle-fill",render:hr};const wr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},br=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),gr=[br];function vr(t,r){return e.openBlock(),e.createElementBlock("svg",wr,gr)}var fr={name:"ri-search-2-line",render:vr};const xr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},yr=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),_r=[yr];function kr(t,r){return e.openBlock(),e.createElementBlock("svg",xr,_r)}var $r={name:"ri-computer-line",render:kr};const Br={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},zr=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),Vr=[zr];function Cr(t,r){return e.openBlock(),e.createElementBlock("svg",Br,Vr)}var Er={name:"ri-smartphone-line",render:Cr};const Mr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Sr=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),Nr=[Sr];function Ir(t,r){return e.openBlock(),e.createElementBlock("svg",Mr,Nr)}var Ar={name:"ri-tablet-line",render:Ir};const Lr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Rr=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),Yr=[Rr];function Hr(t,r){return e.openBlock(),e.createElementBlock("svg",Lr,Yr)}var Dr={name:"ri-user-follow-line",render:Hr};const jr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Tr=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),Kr=[Tr];function Fr(t,r){return e.openBlock(),e.createElementBlock("svg",jr,Kr)}var Or={name:"ri-exchange-line",render:Fr};const Ur={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Gr=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),Xr=[Gr];function qr(t,r){return e.openBlock(),e.createElementBlock("svg",Ur,Xr)}var Pr={name:"ri-github-fill",render:qr};const Wr={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Jr=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),Qr=[Jr];function Zr(t,r){return e.openBlock(),e.createElementBlock("svg",Wr,Qr)}var ea={name:"ri-upload-cloud-2-line",render:Zr};const ta={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ra=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),aa=[ra];function oa(t,r){return e.openBlock(),e.createElementBlock("svg",ta,aa)}var na={name:"ri-shield-user-line",render:oa};const ia={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},la=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),ca=[la];function sa(t,r){return e.openBlock(),e.createElementBlock("svg",ia,ca)}var da={name:"ri-git-branch-line",render:sa};const pa={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ma=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),ha=[ma];function ua(t,r){return e.openBlock(),e.createElementBlock("svg",pa,ha)}var wa={name:"ri-stop-circle-line",render:ua};const ba={preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},ga=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),va=[ga];function fa(t,r){return e.openBlock(),e.createElementBlock("svg",ba,va)}var $={name:"ri-forbid-line",render:fa};var B=(t,r)=>{const a=t.__vccOpts||t;for(const[o,n]of r)a[o]=n;return a};const xa={class:"alert-header"},ya={class:"alert-icon"},_a={class:"alert-title"},ka={key:0,class:"alert-description"},$a={key:1,class:"alert-actions"},Ba=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 a=t,o={success:f,info:m,default:m,warning:v,error:k},n=e.computed(()=>[`alert-${a.type}`]),i=()=>{r("close")};return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(n),"alert-wrapper"])},[e.createElementVNode("div",xa,[e.createElementVNode("div",ya,[e.renderSlot(l.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o[t.type])))],!0)]),e.createElementVNode("div",_a,e.toDisplayString(t.title),1),t.closable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"alert-close",onClick:i},[e.createVNode(e.unref(h))])):e.createCommentVNode("",!0)]),t.description||l.$slots.description?(e.openBlock(),e.createElementBlock("div",ka,[e.renderSlot(l.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),l.$slots.actions?(e.openBlock(),e.createElementBlock("div",$a,[e.renderSlot(l.$slots,"actions",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}});var za=B(Ba,[["__scopeId","data-v-3bf3a1a9"]]);const Va=["disabled"],Ca={key:0,class:"btn-icon"},Ea={key:0,class:"animate-spin",fill:"none",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Ma=e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),Sa=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),Na=[Ma,Sa],Ia={class:"btn-content"},b=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 a=t,o=w.useRouter(),n=e.computed(()=>[`btn-${a.size}`,`btn-${a.type}`,{"btn-circle":a.circle},{"btn-block":a.block},{"btn-loading":a.loading}]);function i(){a.disabled||a.loading||(a.route&&o.push(a.route),r("click"))}return(l,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass([e.unref(n),"btn"]),disabled:t.disabled,onClick:i},[l.$slots.icon||t.loading?(e.openBlock(),e.createElementBlock("span",Ca,[t.loading?(e.openBlock(),e.createElementBlock("svg",Ea,Na)):e.renderSlot(l.$slots,"icon",{key:1})])):e.createCommentVNode("",!0),e.createElementVNode("span",Ia,[e.renderSlot(l.$slots,"default")])],10,Va))}});const Aa={class:"card-wrapper"},La={key:0,class:"card-header"},Ra={class:"card-header-title"},Ya={class:"card-header-actions"},Ha={key:1,class:"card-footer"},Da=e.defineComponent({__name:"Card",props:{title:{type:String},bodyClass:{type:Object}},setup(t){return(r,a)=>(e.openBlock(),e.createElementBlock("div",Aa,[t.title||r.$slots.header?(e.openBlock(),e.createElementBlock("div",La,[e.renderSlot(r.$slots,"header",{},()=>[e.createElementVNode("div",Ra,e.toDisplayString(t.title),1),e.createElementVNode("div",Ya,[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",Ha,[e.renderSlot(r.$slots,"footer")])):e.createCommentVNode("",!0)]))}});const ja={class:"checkbox-inner"},Ta=["id","checked","value"],Ka=["for"],z=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 a=t,o=["checkbox",a.name,a.value].filter(i=>!!i).join("-");function n(i){const{checked:l}=i.target;r("update:checked",l),r("change",i)}return(i,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"checkbox-wrapper-checked":t.checked},"checkbox-wrapper"])},[e.createElementVNode("div",ja,[e.createElementVNode("input",{id:e.unref(o),checked:t.checked,value:t.value,type:"checkbox",onChange:n},null,40,Ta)]),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(o),class:"checkbox-label"},e.toDisplayString(t.label),9,Ka)):e.createCommentVNode("",!0)],2))}});const Fa={class:"checkbox-group-wrapper"},Oa=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 a=t;function o(n){const{value:i,checked:l}=n.target,s=[...a.modelValue];l?s.push(i):s.splice(s.indexOf(i),1),r("update:modelValue",s),r("change",s)}return(n,i)=>(e.openBlock(),e.createElementBlock("div",Fa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(l,s)=>(e.openBlock(),e.createBlock(e.unref(z),{key:s,checked:t.modelValue.includes(l[t.valueKey]),label:l[t.labelKey],name:t.name,value:l[t.valueKey],onChange:o},null,8,["checked","label","name","value"]))),128))]))}}),Ua={class:"flex items-center justify-between bg-white p-4"},Ga={class:"min-w-0 flex-1 self-center"},Xa={class:"flex items-center truncate text-xl font-bold text-gray-800"},qa={class:"self-center"},Pa=e.defineComponent({__name:"PageHeader",props:{title:{type:String}},setup(t){return(r,a)=>(e.openBlock(),e.createElementBlock("div",Ua,[e.createElementVNode("div",Ga,[e.createElementVNode("h2",Xa,[e.renderSlot(r.$slots,"icon"),e.createElementVNode("span",null,e.toDisplayString(t.title),1)])]),e.createElementVNode("div",qa,[e.renderSlot(r.$slots,"actions")])]))}});const Wa={class:"input-wrapper"},Ja={key:0,class:"input-prefix"},Qa=["disabled","placeholder","value"],Za={key:1,class:"input-suffix"},eo=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 a=t,o=e.computed(()=>[`input-${a.size}`]);function n(i){const{value:l}=i.target;r("update:modelValue",l)}return(i,l)=>(e.openBlock(),e.createElementBlock("div",Wa,[i.$slots.prefix?(e.openBlock(),e.createElementBlock("div",Ja,[e.renderSlot(i.$slots,"prefix")])):e.createCommentVNode("",!0),e.createElementVNode("input",{class:e.normalizeClass(e.unref(o)),disabled:t.disabled,placeholder:t.placeholder,value:t.modelValue,type:"text",onInput:n},null,42,Qa),i.$slots.suffix?(e.openBlock(),e.createElementBlock("div",Za,[e.renderSlot(i.$slots,"suffix")])):e.createCommentVNode("",!0)]))}}),to={class:"menu-container w-full p-3"},V=e.defineComponent({__name:"Menu",props:{openIds:{type:Object,required:!1}},setup(t){const r=t;return e.provide("openIds",r.openIds),(a,o)=>(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("ul",null,[e.renderSlot(a.$slots,"default")])]))}});const ro=["onClick"],ao={key:0,class:"menu-icon mr-3 self-center"},oo={class:"menu-title flex-1 self-center"},no={class:"sub-menu-items transition-all"},g=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 a=t,o=e.useSlots(),n=e.ref(!1),i=e.inject("openIds");i!=null&&i.includes(a.id)&&(n.value=!0);const l=e.computed(()=>o.default&&o.default().length>0);function s(){if(l.value){n.value=!n.value;return}r("select",a.id)}return(c,d)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass([{"has-submenus":e.unref(l)},"menu-item"]),onClick:e.withModifiers(s,["stop"])},[e.createElementVNode("div",{class:e.normalizeClass([{active:t.active},"menu-item-title"])},[c.$slots.icon?(e.openBlock(),e.createElementBlock("span",ao,[e.renderSlot(c.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("span",oo,e.toDisplayString(t.title),1),c.$slots.default?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass([{open:n.value},"menu-icon-collapse self-center transition-all"])},[e.createVNode(e.unref(_))],2)):e.createCommentVNode("",!0)],2),e.createVNode(e.Transition,{name:"submenus-show"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("ul",no,[e.renderSlot(c.$slots,"default")],512),[[e.vShow,c.$slots.default&&n.value]])]),_:3})],10,ro))}});const io={},lo={class:"menu-label flex flex-col"};function co(t,r){return e.openBlock(),e.createElementBlock("li",lo,[e.renderSlot(t.$slots,"default")])}var C=B(io,[["render",co]]);const so=e.defineComponent({name:"VRoutesMenu",props:{menus:{type:Object}},emits:["select"],setup(t,{emit:r}){const a=w.useRoute(),{push:o}=w.useRouter(),n=e.computed(()=>a.matched.map(c=>c.path));async function i(c){r("select",c),await o(c)}function l(c){if(!!c)return e.createVNode(c,{height:"20px",width:"20px"},null)}function s(c){return c==null?void 0:c.map(d=>{var p;return e.createVNode(e.Fragment,null,[(p=d.children)!=null&&p.length?e.createVNode(g,{key:d.path,id:d.path,title:d.name},{default:()=>[s(d.children)],icon:()=>l(d.icon)}):e.createVNode(g,{key:d.path,id:d.path,title:d.name,onSelect:i,active:n.value.includes(d.path)},{icon:()=>l(d.icon)})])})}return()=>e.createVNode(V,{openIds:n.value},{default:()=>{var c;return[(c=t.menus)==null?void 0:c.map(d=>{var p;return e.createVNode(e.Fragment,null,[d.name&&e.createVNode(C,null,{default:()=>[d.name]}),((p=d.items)==null?void 0:p.length)&&s(d.items)])})]}})}});const po={key:0,class:"modal-header"},mo={class:"modal-header-title"},ho={class:"modal-header-actions flex flex-row"},uo={key:1,class:"modal-footer"},E=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 a=t,o=e.ref(!1),n=e.computed(()=>({"modal-wrapper-fullscreen":a.fullscreen})),i=e.computed(()=>({maxWidth:a.width+"px"}));function l(){r("update:visible",!1),r("close")}return(s,c)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!0},[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass([e.unref(n),"modal-wrapper"]),"aria-modal":"true",role:"dialog",tabindex:"0",onKeyup:c[4]||(c[4]=e.withKeys(d=>l(),["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:c[1]||(c[1]=d=>o.value=!0),onAfterLeave:c[2]||(c[2]=d=>o.value=!1)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"modal-layer",onClick:c[0]||(c[0]=d=>l())},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(i)),class:"modal-content transform transition-all"},[s.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",po,[e.renderSlot(s.$slots,"header",{},()=>[e.createElementVNode("div",mo,e.toDisplayString(t.title),1),e.createElementVNode("div",ho,[e.renderSlot(s.$slots,"actions"),e.createElementVNode("div",{class:"modal-header-action",onClick:c[3]||(c[3]=d=>l())},[e.createVNode(e.unref(h))])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([t.bodyClass,"modal-body"])},[e.renderSlot(s.$slots,"default")],2),s.$slots.footer?(e.openBlock(),e.createElementBlock("div",uo,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],4),[[e.vShow,t.visible]])]),_:3})],34),[[e.vShow,o.value]])]))}});const wo={class:"radio-inner"},bo=["id","checked","name","value"],go=["for"],M=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 a=t,o=["radio",a.name,a.value].filter(l=>!!l).join("-"),n=e.computed(()=>a.modelValue===a.value);function i(l){const{value:s}=l.target;r("update:modelValue",s),r("change",s)}return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{"radio-wrapper-checked":e.unref(n)},"radio-wrapper"])},[e.createElementVNode("div",wo,[e.createElementVNode("input",{id:e.unref(o),checked:e.unref(n),name:t.name,value:t.value,type:"radio",onChange:i},null,40,bo)]),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(o),class:"radio-label"},e.toDisplayString(t.label),9,go)):e.createCommentVNode("",!0)],2))}}),vo={class:"radio-group-wrapper"},fo=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 a(o){r("update:modelValue",o),r("change",o)}return(o,n)=>(e.openBlock(),e.createElementBlock("div",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,(i,l)=>(e.openBlock(),e.createBlock(e.unref(M),{key:l,label:i[t.labelKey]+"","model-value":t.modelValue,name:t.name,value:i[t.valueKey],onChange:a},null,8,["label","model-value","name","value"]))),128))]))}});const xo={class:"select-wrapper"},yo=["disabled","value"],_o={key:"placeholder",disabled:"",hidden:"",value:""},ko=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 a=t,o=e.computed(()=>[`select-${a.size}`]);function n(i){const{value:l}=i.target;r("update:modelValue",l)}return(i,l)=>(e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("select",{class:e.normalizeClass(e.unref(o)),disabled:t.disabled,value:t.modelValue,onChange:n},[t.placeholder?(e.openBlock(),e.createElementBlock("option",_o,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default")],42,yo)]))}}),$o=["value"],Bo=e.defineComponent({__name:"Option",props:{value:{type:[String,Number,Boolean]}},setup(t){return(r,a)=>(e.openBlock(),e.createElementBlock("option",{value:t.value},[e.renderSlot(r.$slots,"default")],8,$o))}}),zo={xs:10,sm:12,md:16,lg:20};const S=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,a=e.computed(()=>{const{direction:o,align:n}=r;return[`space-direction-${o}`,`space-align-${n}`]});return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(a),"space-wrapper"]),style:e.normalizeStyle(`gap: ${e.unref(zo)[t.spacing]}px`)},[e.renderSlot(o.$slots,"default")],6))}});const Vo={class:"tabs-bar-wrapper"},Co={class:"tabs-items-wrapper"},Eo=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 a=t;e.provide("activeId",e.computed(()=>a.activeId));const o=e.useSlots(),n=e.computed(()=>{var s;return(s=o.default)==null?void 0:s.call(o).map(({props:c})=>({id:c==null?void 0:c[a.idKey],label:c==null?void 0:c[a.labelKey]}))}),i=e.computed(()=>[`tabs-direction-${a.direction}`]),l=s=>{r("update:activeId",s),r("change",s)};return(s,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i),"tabs-wrapper"])},[e.createElementVNode("div",Vo,[e.createVNode(e.unref(N),{activeId:t.activeId,direction:t.direction,items:e.unref(n),type:t.type,onChange:l},null,8,["activeId","direction","items","type"])]),e.createElementVNode("div",Co,[e.renderSlot(s.$slots,"default")])],2))}}),Mo={key:0,class:"tabs-item-wrapper"},So=e.defineComponent({__name:"TabItem",props:{id:{type:String},label:{type:String}},setup(t){const r=t,a=e.inject("activeId"),o=e.computed(()=>(a==null?void 0:a.value)===r.id);return(n,i)=>e.unref(o)?(e.openBlock(),e.createElementBlock("div",Mo,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)}});const No={class:"tabbar-items"},Io=["onClick"],Ao={key:0,class:"tabbar-item-icon"},Lo={key:1,class:"tabbar-item-label"},N=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 a=t,o=e.computed(()=>[`tabbar-${a.type}`,`tabbar-direction-${a.direction}`]),n=i=>{r("update:activeId",i),r("change",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(o),"tabbar-wrapper"])},[e.createElementVNode("div",No,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(s,c)=>(e.openBlock(),e.createElementBlock("div",{key:c,class:e.normalizeClass([{"tabbar-item-active":s[t.idKey]===t.activeId},"tabbar-item"]),onClick:d=>n(s[t.idKey])},[s.icon?(e.openBlock(),e.createElementBlock("div",Ao,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon)))])):e.createCommentVNode("",!0),s[t.labelKey]?(e.openBlock(),e.createElementBlock("div",Lo,e.toDisplayString(s[t.labelKey]),1)):e.createCommentVNode("",!0)],10,Io))),128))])],2))}});const Ro={key:0,class:"tag-left-icon"},Yo={class:"tag-content"},Ho={key:1,class:"tag-right-icon"},Do=e.defineComponent({__name:"Tag",props:{theme:{type:String,default:"default"},rounded:{type:Boolean,default:!1}},setup(t){const r=t,a=e.computed(()=>[`tag-${r.theme}`,{"tag-rounded":r.rounded}]);return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(a),"tag-wrapper"])},[o.$slots.leftIcon?(e.openBlock(),e.createElementBlock("div",Ro,[e.renderSlot(o.$slots,"leftIcon")])):e.createCommentVNode("",!0),e.createElementVNode("span",Yo,[e.renderSlot(o.$slots,"default")]),o.$slots.rightIcon?(e.openBlock(),e.createElementBlock("div",Ho,[e.renderSlot(o.$slots,"rightIcon")])):e.createCommentVNode("",!0)],2))}});const jo={class:"textarea-wrapper"},To=["disabled","placeholder","rows","value"],Ko=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 a(o){const{value:n}=o.target;r("update:modelValue",n)}return(o,n)=>(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("textarea",{disabled:t.disabled,placeholder:t.placeholder,rows:t.rows,value:t.modelValue,onInput:a},`
|
|
2
|
-
`,40,To)]))}});const Fo={class:"switch-wrapper"},Oo=e.defineComponent({__name:"Switch",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{emit:r}){const a=t,o=()=>{r("update:modelValue",!a.modelValue),r("change",!a.modelValue)};return(n,i)=>(e.openBlock(),e.createElementBlock("div",Fo,[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:o},[e.createElementVNode("span",{class:e.normalizeClass([{"translate-x-0":!t.modelValue,"translate-x-5":t.modelValue},"switch-indicator"]),"aria-hidden":"true"},[e.renderSlot(n.$slots,"icon")],2)],2)]))}}),Uo={class:"flex justify-between items-start py-2 mb-2"},Go={class:"flex items-center gap-4"},Xo={class:"flex-1 flex flex-col items-stretch gap-2"},qo={class:"text-base text-gray-900 font-bold"},Po={class:"text-sm text-gray-700"},I=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 a=t,o={success:{icon:f,color:"green"},info:{icon:m,color:"blue"},warning:{icon:v,color:"orange"},error:{icon:$,color:"red"}},n=e.computed(()=>o[a.type]),i=e.ref(!1),l=()=>{a.onCancel&&a.onCancel(),c()},s=async()=>{a.onConfirm&&(i.value=!0,await a.onConfirm()),c()},c=()=>{i.value=!1,r("update:visible",!1),r("close")};return(d,p)=>(e.openBlock(),e.createBlock(e.unref(E),{visible:t.visible,width:450,onClose:p[0]||(p[0]=Qo=>l())},{footer:e.withCtx(()=>[e.createVNode(e.unref(S),null,{default:e.withCtx(()=>[e.createVNode(e.unref(b),{loading:i.value,type:"secondary",onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.confirmText),1)]),_:1},8,["loading"]),e.createVNode(e.unref(b),{onClick:l},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText),1)]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Uo,[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([`ring-${e.unref(n).color}-100`,"inline-flex rounded-full bg-teal-50 p-1.5 ring-4"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n).icon),{class:e.normalizeClass([`text-${e.unref(n).color}-500`,"w-5 h-5"])},null,8,["class"]))],2)]),e.createElementVNode("div",null,[e.createVNode(e.unref(h),{class:"cursor-pointer",onClick:l})])]),e.createElementVNode("div",Go,[e.createElementVNode("div",Xo,[e.createElementVNode("div",qo,e.toDisplayString(t.title),1),e.createElementVNode("div",Po,e.toDisplayString(t.description),1)])])]),_:1},8,["visible"]))}}),A="DIALOG_PROVIDER_PROVIDE_KEY",Wo=e.defineComponent({__name:"DialogProvider",setup(t){const r=e.ref({visible:!1,title:""});return e.provide(A,r),(a,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.renderSlot(a.$slots,"default"),e.createVNode(e.unref(I),{visible:r.value.visible,"onUpdate:visible":o[0]||(o[0]=n=>r.value.visible=n),"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 Jo(){const t=e.inject(A);if(!t)throw new Error("DialogProvider is not mounted");const r=a=>o=>{t.value=u(u({},t.value),o),t.value.type=a,t.value.visible=!0};return{success:r("success"),info:r("info"),warning:r("warning"),error:r("error")}}exports.IconAddCircle=qt;exports.IconArrowDown=re;exports.IconArrowDownLine=me;exports.IconArrowLeft=X;exports.IconArrowRight=_;exports.IconArrowUpLine=le;exports.IconBookRead=ge;exports.IconCheckboxCircle=f;exports.IconCheckboxFill=ur;exports.IconClose=h;exports.IconCloseCircle=k;exports.IconComputer=$r;exports.IconDashboard=K;exports.IconDeleteBin=Ft;exports.IconErrorWarning=v;exports.IconExchange=Or;exports.IconEye=ct;exports.IconFolder=ht;exports.IconForbidLine=$;exports.IconGitBranch=da;exports.IconGitHub=Pr;exports.IconGrid=sr;exports.IconInformation=m;exports.IconList=or;exports.IconListSettings=Ye;exports.IconMagic=Ke;exports.IconMessage=Ve;exports.IconMore=vt;exports.IconPages=_e;exports.IconPalette=Ne;exports.IconPhone=Er;exports.IconPlug=at;exports.IconSave=Zt;exports.IconSearch=fr;exports.IconSettings=Qe;exports.IconShieldUser=na;exports.IconStopCircle=wa;exports.IconTablet=Ar;exports.IconUpload=ea;exports.IconUserFollow=Dr;exports.IconUserSettings=Xe;exports.VAlert=za;exports.VButton=b;exports.VCard=Da;exports.VCheckbox=z;exports.VCheckboxGroup=Oa;exports.VDialog=I;exports.VDialogProvider=Wo;exports.VInput=eo;exports.VMenu=V;exports.VMenuItem=g;exports.VMenuLabel=C;exports.VModal=E;exports.VOption=Bo;exports.VPageHeader=Pa;exports.VRadio=M;exports.VRadioGroup=fo;exports.VRoutesMenu=so;exports.VSelect=ko;exports.VSpace=S;exports.VSwitch=Oo;exports.VTabItem=So;exports.VTabbar=N;exports.VTabs=Eo;exports.VTag=Do;exports.VTextarea=Ko;exports.useDialog=Jo;
|
|
3
|
-
//# sourceMappingURL=halo-components.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"halo-components.cjs.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":"urrBACA,GAAA,GAAe,CAAC,EAAK,IAAU,CAC7B,KAAM,GAAS,EAAI,WAAa,EAChC,SAAW,CAAC,EAAK,IAAQ,GACvB,EAAO,GAAO,EAEhB,MAAO,EACT,wWCKM,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,ksDC6BR,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,kgDC3EM,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,2wBCEA,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,4vCChBM,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,idCUhD,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,giCClCMM,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,oZCqB7B,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,gvECzBM,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,sqBCLM,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,qLCaM,EAAiBA,EAAAA,SAAS,IAAM,CAC9B,KAAA,CAAE,YAAW,SAAU,EAC7B,MAAO,CAAC,mBAAmB,IAAa,eAAe,GAAO,CAAA,CAC/D,ujBCIDE,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,sjBCeK,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,y5BCtBb,EAAUA,EAAAA,SAAS,IAChB,CAAC,OAAO,EAAM,QAAS,CAAE,cAAe,EAAM,QAAS,CAC/D,guBCED,WAAqB,EAAU,CACvB,KAAA,CAAE,SAAU,EAAE,OACpB,EAAK,oBAAqB,CAAK,CACjC;yMCbM,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"}
|