@oneb/ui-vue 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/OneBrowserMenu-1495ff25.cjs +1 -0
  2. package/dist/OneBrowserMenu-79471e49.js +526 -0
  3. package/dist/button/OneButton.vue.d.ts +2 -0
  4. package/dist/button/SpinnerIcon.vue.d.ts +2 -0
  5. package/dist/button/index.cjs +1 -1
  6. package/dist/button/index.js +1 -1
  7. package/dist/button/util.d.ts +2 -0
  8. package/dist/card/OneCard.vue.d.ts +2 -0
  9. package/dist/card/OneCardBody.vue.d.ts +2 -0
  10. package/dist/card/OneCardFooter.vue.d.ts +2 -0
  11. package/dist/card/OneCardHeader.vue.d.ts +2 -0
  12. package/dist/common/OneAvatar.vue.d.ts +2 -0
  13. package/dist/dropdown/OneBrowserMenu.vue.d.ts +2 -0
  14. package/dist/dropdown/OneBrowserMenuGrid.vue.d.ts +2 -0
  15. package/dist/dropdown/OneDropdown.vue.d.ts +2 -0
  16. package/dist/dropdown/OneDropdownDivider.vue.d.ts +2 -0
  17. package/dist/dropdown/OneDropdownItem.vue.d.ts +2 -0
  18. package/dist/dropdown/OneUserMenu.vue.d.ts +2 -0
  19. package/dist/dropdown/index.cjs +1 -1
  20. package/dist/dropdown/index.d.ts +1 -0
  21. package/dist/dropdown/index.js +110 -13
  22. package/dist/dropdown/menu.d.ts +15 -1
  23. package/dist/form/OneForm.vue.d.ts +2 -0
  24. package/dist/form/OneFormFeedback.vue.d.ts +2 -0
  25. package/dist/form/OneFormField.vue.d.ts +2 -0
  26. package/dist/form/OneFormInput.vue.d.ts +2 -0
  27. package/dist/form/OneFormLabel.vue.d.ts +2 -0
  28. package/dist/form/index.cjs +1 -1
  29. package/dist/form/index.js +125 -125
  30. package/dist/{index-f136b5ea.js → index-72d69e4e.js} +51 -51
  31. package/dist/index-e804f148.cjs +1 -0
  32. package/dist/index.cjs +1 -1
  33. package/dist/index.js +18 -17
  34. package/dist/layout/IconOneb.vue.d.ts +2 -0
  35. package/dist/layout/OneMainLayout.vue.d.ts +2 -0
  36. package/dist/layout/OneSidebar.vue.d.ts +2 -0
  37. package/dist/layout/OneSidebarLink.vue.d.ts +2 -0
  38. package/dist/layout/index.cjs +5 -1
  39. package/dist/layout/index.js +455 -237
  40. package/dist/layout/layout.d.ts +71 -11
  41. package/dist/style.css +1 -1
  42. package/dist/tailwind.config.cjs +1 -1
  43. package/dist/tailwind.config.js +1 -1
  44. package/package.json +1 -1
  45. package/dist/OneBrowserMenu.vue_vue_type_script_setup_true_lang-2815cdad.cjs +0 -1
  46. package/dist/OneBrowserMenu.vue_vue_type_script_setup_true_lang-eac975c7.js +0 -438
  47. package/dist/index-3615f53c.cjs +0 -1
@@ -1,16 +1,113 @@
1
- import { c as O, _ as l, a as u, b as w } from "../OneBrowserMenu.vue_vue_type_script_setup_true_lang-eac975c7.js";
2
- import { openBlock as e, createElementBlock as r } from "vue";
3
- import { _ as o } from "../_plugin-vue_export-helper-dad06003.js";
4
- import "../common/index.js";
5
- const n = {}, s = { class: "border-t border-secondary-stroke my-1" };
6
- function t(c, _) {
7
- return e(), r("div", s);
1
+ import { c as k, _ as w, r as A } from "../OneBrowserMenu-79471e49.js";
2
+ import { O as me, a as _e, b as he } from "../OneBrowserMenu-79471e49.js";
3
+ import { openBlock as r, createElementBlock as c, defineComponent as C, ref as O, computed as z, createBlock as F, withCtx as _, createElementVNode as e, normalizeClass as $, createVNode as d, unref as B, normalizeStyle as D, toDisplayString as t, Fragment as M, renderList as S, createCommentVNode as h } from "vue";
4
+ import { _ as V } from "../_plugin-vue_export-helper-dad06003.js";
5
+ import { OneAvatar as f } from "../common/index.js";
6
+ import "../XMarkIcon-51ef0691.js";
7
+ import "../index-72d69e4e.js";
8
+ const N = {}, E = { class: "border-t border-secondary-stroke my-1" };
9
+ function G(p, o) {
10
+ return r(), c("div", E);
8
11
  }
9
- const p = /* @__PURE__ */ o(n, [["render", t]]);
12
+ const ie = /* @__PURE__ */ V(N, [["render", G]]), L = ["onClick"], I = { class: "grid" }, P = { class: "font-semibold px-3" }, T = { class: "rounded-lg m-3 border" }, U = {
13
+ class: "space-x-2 flex items-center px-3 py-2",
14
+ style: { width: "300px" }
15
+ }, j = { class: "flex-shrink-0" }, q = { class: "w-full text-left" }, H = { class: "flex-shrink-0" }, J = /* @__PURE__ */ e("hr", null, null, -1), K = /* @__PURE__ */ e("div", {
16
+ class: "text-center py-2",
17
+ style: { "font-size": "10px" }
18
+ }, "Керувати робочими просторами", -1), Q = { class: "px-3 py-2" }, R = { class: "text-secondary-content text-left pb-1 text-sm uppercase" }, W = {
19
+ key: 0,
20
+ class: "space-y-2"
21
+ }, X = ["onClick"], Y = { class: "pl-2" }, Z = { class: "text-sm mt-1" }, ee = { class: "text-xs mt-1" }, y = 3, de = /* @__PURE__ */ C({
22
+ __name: "OneBrowserMenuGrid",
23
+ props: k,
24
+ setup(p) {
25
+ const o = p, v = () => {
26
+ typeof o.onChange == "function" && o.onChange();
27
+ }, l = O(!1), x = z(() => o.apps ? l.value ? o.apps : o.apps.slice(0, y) : []), b = () => {
28
+ l.value = !l.value;
29
+ }, g = (s) => {
30
+ typeof o.onApp == "function" && o.onApp(s);
31
+ };
32
+ return (s, se) => (r(), F(w, { stick: "right" }, {
33
+ button: _(({ onToggle: a, isExpanded: i }) => [
34
+ e("button", {
35
+ onClick: a,
36
+ class: $(["p-1 rounded-md hover:bg-secondary-10", [i ? "bg-secondary-25" : ""]])
37
+ }, [
38
+ d(B(A), {
39
+ class: "text-secondary-base",
40
+ style: D(`width: ${s.iconSize}px; height: ${s.iconSize}px`)
41
+ }, null, 8, ["style"])
42
+ ], 10, L)
43
+ ]),
44
+ menu: _(() => {
45
+ var a, i, u, m;
46
+ return [
47
+ e("div", I, [
48
+ e("div", P, t((a = s.workspace) == null ? void 0 : a.label), 1),
49
+ e("div", T, [
50
+ e("div", U, [
51
+ e("div", j, [
52
+ d(f, {
53
+ text: ((i = s.workspace) == null ? void 0 : i.name) || "",
54
+ src: (u = s.workspace) == null ? void 0 : u.photo_url,
55
+ size: 44,
56
+ rounded: !1,
57
+ class: "mx-auto"
58
+ }, null, 8, ["text", "src"])
59
+ ]),
60
+ e("div", q, t((m = s.workspace) == null ? void 0 : m.name), 1),
61
+ e("div", H, [
62
+ e("button", {
63
+ class: "text-sm border border-secondary-stroke rounded px-2 py-0.5 text-secondary-content hover:text-primary-content",
64
+ onClick: v
65
+ }, t(s.changeLabel), 1)
66
+ ])
67
+ ]),
68
+ J,
69
+ K
70
+ ])
71
+ ]),
72
+ e("div", Q, [
73
+ e("div", R, t(s.appsTitle), 1),
74
+ e("div", null, [
75
+ s.apps && s.apps.length ? (r(), c("div", W, [
76
+ (r(!0), c(M, null, S(x.value, (n) => (r(), c("div", {
77
+ key: n.id,
78
+ onClick: (oe) => g(n),
79
+ class: "flex items-center rounded-lg hover:bg-secondary-10 border p-2 bg-[#FAFAFA] cursor-pointer"
80
+ }, [
81
+ d(f, {
82
+ text: n.name,
83
+ src: n.photo_url,
84
+ size: 44,
85
+ rounded: !1
86
+ }, null, 8, ["text", "src"]),
87
+ e("div", Y, [
88
+ e("p", Z, t(n.name), 1),
89
+ e("p", ee, t(n.inf), 1)
90
+ ])
91
+ ], 8, X))), 128))
92
+ ])) : h("", !0),
93
+ s.apps && s.apps.length > y ? (r(), c("button", {
94
+ key: 1,
95
+ onClick: b,
96
+ class: "mt-2 w-full bg-[#FAFAFA] hover:bg-secondary-10 p-2 rounded-lg mb-5 text-xs"
97
+ }, t(l.value ? "Приховати" : "Дивитися всі"), 1)) : h("", !0)
98
+ ])
99
+ ])
100
+ ];
101
+ }),
102
+ _: 1
103
+ }));
104
+ }
105
+ });
10
106
  export {
11
- O as OneBrowserMenu,
12
- l as OneDropdown,
13
- p as OneDropdownDivider,
14
- u as OneDropdownItem,
15
- w as OneUserMenu
107
+ me as OneBrowserMenu,
108
+ de as OneBrowserMenuGrid,
109
+ w as OneDropdown,
110
+ ie as OneDropdownDivider,
111
+ _e as OneDropdownItem,
112
+ he as OneUserMenu
16
113
  };
@@ -1,4 +1,5 @@
1
1
  import type { ExtractPropTypes } from "vue";
2
+ import type { AppType } from '../layout/layout';
2
3
  export declare const userMenuProps: {
3
4
  user: {
4
5
  type: PropType<{
@@ -20,6 +21,9 @@ export declare const userMenuProps: {
20
21
  type: StringConstructor;
21
22
  default: string;
22
23
  };
24
+ app: {
25
+ type: PropType<AppType>;
26
+ };
23
27
  accountLabel: {
24
28
  type: StringConstructor;
25
29
  default: string;
@@ -39,20 +43,30 @@ export declare const userMenuProps: {
39
43
  type: FunctionConstructor;
40
44
  };
41
45
  };
42
- export declare const browserMenuProps: {
46
+ export type WorkspListType = {
47
+ name: string;
48
+ photo_url?: any;
49
+ link: string;
50
+ };
51
+ export declare const browserMenuProps: any[] | {
43
52
  workspace: {
44
53
  type: PropType<{
45
54
  name: string;
46
55
  photo_url?: string;
56
+ label?: string;
47
57
  }>;
48
58
  required: boolean;
49
59
  };
60
+ workspaces: {
61
+ type: PropType<WorkspListType[]>;
62
+ };
50
63
  apps: {
51
64
  type: PropType<{
52
65
  id: string;
53
66
  name: string;
54
67
  photo_url?: string;
55
68
  open_url?: string;
69
+ inf?: string;
56
70
  }[]>;
57
71
  required: boolean;
58
72
  };
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),V=require("../XMarkIcon-f94baa4c.cjs"),C={id:{type:String,required:!1},validation:{type:Object,required:!1}},w={id:{type:String,required:!1},label:{type:String,required:!1},name:{type:String,required:!1},hint:{type:String,required:!1,default:""},errors:{type:Array,required:!1}},F={name:{type:String,required:!1},errors:{type:Array,required:!1}},S={label:{type:String,required:!1}},$={id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,default:""},icon:{type:[Function,Object]},type:{type:String,default:"text"},inputClass:{required:!1,type:[Array,String]},modelValue:{required:!1,type:[String,Number,Array,Boolean,Object,null]},autofocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},large:{type:Boolean,default:!1},invalid:{type:Boolean,required:!1,default:!1},options:{type:Array,required:!1,default:[]}},k=()=>e.inject("BaseForm",()=>({formId:e.computed(()=>{}),validation:e.computed(()=>{})}),!0),f=()=>e.inject("BaseFormField",()=>({inputId:e.computed(()=>{}),inputName:e.computed(()=>{}),hasError:e.computed(()=>!1)}),!0),N=["onSubmit","id"],q=e.defineComponent({__name:"OneForm",props:C,emits:["submit"],setup(d,{emit:l}){const o=d;e.provide("BaseForm",{formId:e.computed(()=>o.id),validation:e.computed(()=>o.validation)});const a=()=>{l("submit")};return(n,t)=>(e.openBlock(),e.createElementBlock("form",{onSubmit:e.withModifiers(a,["prevent"]),id:n.id,class:"space-y-3"},[e.renderSlot(n.$slots,"default")],40,N))}}),O=["for"],v=e.defineComponent({__name:"OneFormLabel",props:S,setup(d){const{inputId:l}=f();return(o,a)=>(e.openBlock(),e.createElementBlock("label",{for:e.unref(l),class:"block text-sm font-medium text-primary-content select-none"},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],8,O))}}),_={key:0,class:"text-danger-content text-xs space-y-1"},h=e.defineComponent({__name:"OneFormFeedback",props:F,setup(d){const l=d,{validation:o}=k(),{inputName:a}=f(),n=e.computed(()=>a.value==null&&l.name==null?l.errors??[]:o.value==null?l.errors??[]:(o.value??{})[l.name||a.value]??l.errors??[]);return(t,u)=>n.value.length>0?(e.openBlock(),e.createElementBlock("div",_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i},e.toDisplayString(i),1))),128))])):e.createCommentVNode("",!0)}});function I(d,l){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})])}function j(d,l){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"})])}const L=["id","disabled"],M=["selected"],A=["selected","value"],D=["name","id","value","placeholder","disabled","readonly"],z={key:2,class:"flex w-full space-x-3 items-center"},P=["type","name","id","disabled","readonly","checked"],T=["for"],X={key:3,class:"w-full space-y-1"},G=["name","id","value","disabled","readonly","checked"],H=["for"],J={key:4,class:"relative"},K={class:"absolute p-2 px-3 rounded-md h-full flex items-center select-none"},Q=["type","name","id","value","placeholder","disabled","readonly"],b=e.defineComponent({__name:"OneFormInput",props:$,emits:["update:modelValue"],setup(d,{emit:l}){const o=d,{inputId:a,inputName:n,hasError:t}=f(),u=e.ref(null),i=e.ref(!1);e.onMounted(()=>{o.autofocus&&u.value&&u.value.focus()});const B=e.computed(()=>o.modelValue!=null&&o.modelValue!==""),c=e.computed(()=>{if(o.id)return o.id;const r=(a==null?void 0:a.value)||"";return o.name?`${r}-${o.name}`:r||""}),g=()=>{l("update:modelValue","")},E=e.computed(()=>{const r={"shadow-sm":o.type!=="range","border-danger-base":t.value||o.invalid,"pl-10":o.icon!=null,"pr-10":o.type==="password","rounded-full":o.rounded,"rounded-md":!o.rounded,"text-lg":o.large,"py-2.5":o.large,"py-2":!o.large};return o.inputClass!=null&&(typeof o.inputClass=="string"?r[o.inputClass]=!0:o.inputClass instanceof Array&&o.inputClass.forEach(m=>{r[m]=!0})),r}),p=r=>{o.type==="checkbox"?l("update:modelValue",r.target.checked):l("update:modelValue",r.target.value)};return(r,m)=>r.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:0,id:c.value,ref_key:"inputElement",ref:u,class:e.normalizeClass(["border border-primary-stroke px-3 w-full",{"border-danger-base":e.unref(t)||r.invalid,"text-secondary-content":r.modelValue===""||r.modelValue==null,"rounded-full":r.rounded,"rounded-md":!r.rounded,"text-lg":r.large,"py-2.5":r.large,"py-2":!r.large}]),disabled:r.disabled},[r.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,selected:r.modelValue===""||r.modelValue==null,disabled:"",hidden:""},e.toDisplayString(r.placeholder),9,M)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.options,s=>(e.openBlock(),e.createElementBlock("option",{selected:s.key===r.modelValue,key:s.key,value:s.key},e.toDisplayString(s.value),9,A))),128))],10,L)):r.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:1,name:r.name||e.unref(n),id:c.value,value:r.modelValue,onInput:p,rows:"3",class:e.normalizeClass(["border border-primary-stroke px-3 w-full placeholder-gray-400",{"border-danger-base":e.unref(t),"rounded-3xl":r.rounded,"rounded-md":!r.rounded,"text-lg":r.large,"py-2.5":r.large,"py-2":!r.large}]),placeholder:r.placeholder,disabled:r.disabled,readonly:r.readonly,ref_key:"inputElement",ref:u},null,42,D)):r.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",z,[e.createElementVNode("input",{type:r.type,name:r.name||e.unref(n),id:c.value,value:!0,onInput:p,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["rounded-md border border-primary-stroke px-2 py-2 shadow-sm",{"border-danger-base":e.unref(t)||r.invalid}]),checked:r.modelValue===!0,ref_key:"inputElement",ref:u},null,42,P),e.createElementVNode("label",{for:c.value,class:"text-primary-content select-none"},e.toDisplayString(r.placeholder),9,T)])):r.type==="radio"?(e.openBlock(),e.createElementBlock("div",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.options,(s,y)=>(e.openBlock(),e.createElementBlock("div",{key:s.key,class:"flex w-full space-x-3 items-center"},[e.createElementVNode("input",{type:"radio",name:r.name||e.unref(n),id:`${c.value}-${y}`,value:s.key,onInput:p,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["rounded-md border border-primary-stroke px-3 py-2 shadow-sm",{"border-danger-base":e.unref(t)||r.invalid}]),checked:s.key===r.modelValue,ref_for:!0,ref_key:"inputElement",ref:u},null,42,G),e.createElementVNode("label",{for:`${c.value}-${y}`,class:"text-primary-content select-none"},e.toDisplayString(s.value),9,H)]))),128))])):(e.openBlock(),e.createElementBlock("div",J,[e.createElementVNode("div",K,[r.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.icon),{key:0,class:"w-5 h-5 text-primary-content"})):e.createCommentVNode("",!0)]),e.createElementVNode("input",{type:i.value?"text":r.type,name:r.name||e.unref(n),id:c.value,value:r.modelValue,onInput:p,placeholder:r.placeholder,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["border border-primary-stroke w-full px-3 placeholder-gray-400",E.value]),ref_key:"inputElement",ref:u},null,42,Q),r.clearable&&B.value?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:g,class:"absolute p-2 px-3 rounded-md h-full flex items-center right-0 top-0 hover:cursor-pointer select-none"},[e.createVNode(e.unref(V.render),{class:"w-5 h-5 text-secondary-content hover:text-primary-base"})])):r.type==="password"?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:m[0]||(m[0]=s=>i.value=!i.value),class:"absolute p-2 px-3 rounded-md h-full flex items-center right-0 top-0 hover:cursor-pointer select-none"},[i.value?(e.openBlock(),e.createBlock(e.unref(j),{key:0,class:"w-5 h-5 text-primary-content hover:text-primary-base"})):(e.openBlock(),e.createBlock(e.unref(I),{key:1,class:"w-5 h-5 text-secondary-content hover:text-primary-base"}))])):e.createCommentVNode("",!0)]))}}),R={class:"space-y-1"},U={key:2,class:"text-xs text-secondary-content select-none"},W=e.defineComponent({__name:"OneFormField",props:w,setup(d){const l=d,{formId:o,validation:a}=k(),n=e.computed(()=>l.errors!=null&&l.errors.length>0?!0:l.name==null?!1:(a.value??{})[l.name]!=null);return e.provide("BaseFormField",{inputId:e.computed(()=>{const t=o.value||"form";if(l.id!=null)return`${t}-${l.id}`;if(l.name!=null)return`${t}-field-${l.name}`}),inputName:e.computed(()=>l.name),hasError:n}),(t,u)=>(e.openBlock(),e.createElementBlock("div",R,[t.label?(e.openBlock(),e.createBlock(v,{key:0,label:t.label},null,8,["label"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[e.createVNode(b)]),n.value?(e.openBlock(),e.createBlock(h,{key:1,errors:t.errors},null,8,["errors"])):t.hint.length>0?(e.openBlock(),e.createElementBlock("p",U,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}});exports.OneForm=q;exports.OneFormFeedback=h;exports.OneFormField=W;exports.OneFormInput=b;exports.OneFormLabel=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("../XMarkIcon-f94baa4c.cjs"),w={id:{type:String,required:!1},validation:{type:Object,required:!1}},F={id:{type:String,required:!1},label:{type:String,required:!1},name:{type:String,required:!1},hint:{type:String,required:!1,default:""},errors:{type:Array,required:!1}},S={name:{type:String,required:!1},errors:{type:Array,required:!1}},$={label:{type:String,required:!1}},N={id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,default:""},icon:{type:[Function,Object]},type:{type:String,default:"text"},inputClass:{required:!1,type:[Array,String]},modelValue:{required:!1,type:[String,Number,Array,Boolean,Object,null]},autofocus:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},large:{type:Boolean,default:!1},invalid:{type:Boolean,required:!1,default:!1},options:{type:Array,required:!1,default:[]}},v=()=>e.inject("BaseForm",()=>({formId:e.computed(()=>{}),validation:e.computed(()=>{})}),!0),y=()=>e.inject("BaseFormField",()=>({inputId:e.computed(()=>{}),inputName:e.computed(()=>{}),hasError:e.computed(()=>!1)}),!0),q=["id"],O=e.defineComponent({__name:"OneForm",props:w,emits:["submit"],setup(d,{emit:l}){const o=d,n=l;e.provide("BaseForm",{formId:e.computed(()=>o.id),validation:e.computed(()=>o.validation)});const a=()=>{n("submit")};return(t,u)=>(e.openBlock(),e.createElementBlock("form",{onSubmit:e.withModifiers(a,["prevent"]),id:t.id,class:"space-y-3"},[e.renderSlot(t.$slots,"default")],40,q))}}),_=["for"],h=e.defineComponent({__name:"OneFormLabel",props:$,setup(d){const{inputId:l}=y();return(o,n)=>(e.openBlock(),e.createElementBlock("label",{for:e.unref(l),class:"block text-sm font-medium text-primary-content select-none"},[e.renderSlot(o.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(o.label),1)])],8,_))}}),I={key:0,class:"text-danger-content text-xs space-y-1"},b=e.defineComponent({__name:"OneFormFeedback",props:S,setup(d){const l=d,{validation:o}=v(),{inputName:n}=y(),a=e.computed(()=>n.value==null&&l.name==null?l.errors??[]:o.value==null?l.errors??[]:(o.value??{})[l.name||n.value]??l.errors??[]);return(t,u)=>a.value.length>0?(e.openBlock(),e.createElementBlock("div",I,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s},e.toDisplayString(s),1))),128))])):e.createCommentVNode("",!0)}});function j(d,l){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"}),e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})])}function L(d,l){return e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.8",stroke:"currentColor","aria-hidden":"true"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"})])}const M=["id","disabled"],A=["selected"],D=["selected","value"],z=["name","id","value","placeholder","disabled","readonly"],P={key:2,class:"flex w-full space-x-3 items-center"},T=["type","name","id","disabled","readonly","checked"],X=["for"],G={key:3,class:"w-full space-y-1"},H=["name","id","value","disabled","readonly","checked"],J=["for"],K={key:4,class:"relative"},Q={class:"absolute p-2 px-3 rounded-md h-full flex items-center select-none"},R=["type","name","id","value","placeholder","disabled","readonly"],B=e.defineComponent({__name:"OneFormInput",props:N,emits:["update:modelValue"],setup(d,{emit:l}){const o=d,n=l,{inputId:a,inputName:t,hasError:u}=y(),s=e.ref(null),p=e.ref(!1);e.onMounted(()=>{o.autofocus&&s.value&&s.value.focus()});const g=e.computed(()=>o.modelValue!=null&&o.modelValue!==""),c=e.computed(()=>{if(o.id)return o.id;const r=(a==null?void 0:a.value)||"";return o.name?`${r}-${o.name}`:r||""}),E=()=>{n("update:modelValue","")},V=e.computed(()=>{const r={"shadow-sm":o.type!=="range","border-danger-base":u.value||o.invalid,"pl-10":o.icon!=null,"pr-10":o.type==="password","rounded-full":o.rounded,"rounded-md":!o.rounded,"text-lg":o.large,"py-2.5":o.large,"py-2":!o.large};return o.inputClass!=null&&(typeof o.inputClass=="string"?r[o.inputClass]=!0:o.inputClass instanceof Array&&o.inputClass.forEach(f=>{r[f]=!0})),r}),m=r=>{o.type==="checkbox"?n("update:modelValue",r.target.checked):n("update:modelValue",r.target.value)};return(r,f)=>r.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:0,id:c.value,ref_key:"inputElement",ref:s,class:e.normalizeClass(["border border-primary-stroke px-3 w-full",{"border-danger-base":e.unref(u)||r.invalid,"text-secondary-content":r.modelValue===""||r.modelValue==null,"rounded-full":r.rounded,"rounded-md":!r.rounded,"text-lg":r.large,"py-2.5":r.large,"py-2":!r.large}]),disabled:r.disabled},[r.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,selected:r.modelValue===""||r.modelValue==null,disabled:"",hidden:""},e.toDisplayString(r.placeholder),9,A)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.options,i=>(e.openBlock(),e.createElementBlock("option",{selected:i.key===r.modelValue,key:i.key,value:i.key},e.toDisplayString(i.value),9,D))),128))],10,M)):r.type==="textarea"?(e.openBlock(),e.createElementBlock("textarea",{key:1,name:r.name||e.unref(t),id:c.value,value:r.modelValue,onInput:m,rows:"3",class:e.normalizeClass(["border border-primary-stroke px-3 w-full placeholder-gray-400",{"border-danger-base":e.unref(u),"rounded-3xl":r.rounded,"rounded-md":!r.rounded,"text-lg":r.large,"py-2.5":r.large,"py-2":!r.large}]),placeholder:r.placeholder,disabled:r.disabled,readonly:r.readonly,ref_key:"inputElement",ref:s},null,42,z)):r.type==="checkbox"?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("input",{type:r.type,name:r.name||e.unref(t),id:c.value,value:!0,onInput:m,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["rounded-md border border-primary-stroke px-2 py-2 shadow-sm",{"border-danger-base":e.unref(u)||r.invalid}]),checked:r.modelValue===!0,ref_key:"inputElement",ref:s},null,42,T),e.createElementVNode("label",{for:c.value,class:"text-primary-content select-none"},e.toDisplayString(r.placeholder),9,X)])):r.type==="radio"?(e.openBlock(),e.createElementBlock("div",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.options,(i,k)=>(e.openBlock(),e.createElementBlock("div",{key:i.key,class:"flex w-full space-x-3 items-center"},[e.createElementVNode("input",{type:"radio",name:r.name||e.unref(t),id:`${c.value}-${k}`,value:i.key,onInput:m,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["rounded-md border border-primary-stroke px-3 py-2 shadow-sm",{"border-danger-base":e.unref(u)||r.invalid}]),checked:i.key===r.modelValue,ref_for:!0,ref_key:"inputElement",ref:s},null,42,H),e.createElementVNode("label",{for:`${c.value}-${k}`,class:"text-primary-content select-none"},e.toDisplayString(i.value),9,J)]))),128))])):(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",Q,[r.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.icon),{key:0,class:"w-5 h-5 text-primary-content"})):e.createCommentVNode("",!0)]),e.createElementVNode("input",{type:p.value?"text":r.type,name:r.name||e.unref(t),id:c.value,value:r.modelValue,onInput:m,placeholder:r.placeholder,disabled:r.disabled,readonly:r.readonly,class:e.normalizeClass(["border border-primary-stroke w-full px-3 placeholder-gray-400",V.value]),ref_key:"inputElement",ref:s},null,42,R),r.clearable&&g.value?(e.openBlock(),e.createElementBlock("div",{key:0,onClick:E,class:"absolute p-2 px-3 rounded-md h-full flex items-center right-0 top-0 hover:cursor-pointer select-none"},[e.createVNode(e.unref(C.render),{class:"w-5 h-5 text-secondary-content hover:text-primary-base"})])):r.type==="password"?(e.openBlock(),e.createElementBlock("div",{key:1,onClick:f[0]||(f[0]=i=>p.value=!p.value),class:"absolute p-2 px-3 rounded-md h-full flex items-center right-0 top-0 hover:cursor-pointer select-none"},[p.value?(e.openBlock(),e.createBlock(e.unref(L),{key:0,class:"w-5 h-5 text-primary-content hover:text-primary-base"})):(e.openBlock(),e.createBlock(e.unref(j),{key:1,class:"w-5 h-5 text-secondary-content hover:text-primary-base"}))])):e.createCommentVNode("",!0)]))}}),U={class:"space-y-1"},W={key:2,class:"text-xs text-secondary-content select-none"},Y=e.defineComponent({__name:"OneFormField",props:F,setup(d){const l=d,{formId:o,validation:n}=v(),a=e.computed(()=>l.errors!=null&&l.errors.length>0?!0:l.name==null?!1:(n.value??{})[l.name]!=null);return e.provide("BaseFormField",{inputId:e.computed(()=>{const t=o.value||"form";if(l.id!=null)return`${t}-${l.id}`;if(l.name!=null)return`${t}-field-${l.name}`}),inputName:e.computed(()=>l.name),hasError:a}),(t,u)=>(e.openBlock(),e.createElementBlock("div",U,[t.label?(e.openBlock(),e.createBlock(h,{key:0,label:t.label},null,8,["label"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[e.createVNode(B)]),a.value?(e.openBlock(),e.createBlock(b,{key:1,errors:t.errors},null,8,["errors"])):t.hint.length>0?(e.openBlock(),e.createElementBlock("p",W,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0)]))}});exports.OneForm=O;exports.OneFormFeedback=b;exports.OneFormField=Y;exports.OneFormInput=B;exports.OneFormLabel=h;