@oneb/ui-vue 0.3.26 → 0.3.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entityPicker/EntityPickerCreateButton.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerIndicator.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerList.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerListItem.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerModal.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerSearch.vue.d.ts +2 -0
- package/dist/entityPicker/EntityPickerTrigger.vue.d.ts +2 -0
- package/dist/entityPicker/entityPicker.d.ts +80 -1
- package/dist/entityPicker/index.cjs +1 -1
- package/dist/entityPicker/index.js +942 -392
- package/dist/entityPicker/useEntityList.d.ts +46 -0
- package/dist/entityPicker/useEntityModal.d.ts +48 -0
- package/dist/entityPicker/useEntityResolvers.d.ts +37 -0
- package/dist/form/form.d.ts +1 -1
- package/dist/layout/index.cjs +1 -1
- package/dist/layout/index.js +554 -534
- package/dist/layout/layout.d.ts +2 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -145,10 +145,84 @@ export declare const entityPickerProps: {
|
|
|
145
145
|
default: boolean;
|
|
146
146
|
};
|
|
147
147
|
variant: {
|
|
148
|
-
type: PropType<"default" | "pill" | "compact" | "minimal">;
|
|
148
|
+
type: PropType<"default" | "pill" | "compact" | "minimal" | "tag">;
|
|
149
149
|
default: string;
|
|
150
150
|
validator: (v: string) => boolean;
|
|
151
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* Hex color for `tag` variant (Figma «В рамках» pattern).
|
|
154
|
+
* Applied as bg tint (color + 1A = 10% opacity) when value is selected,
|
|
155
|
+
* also colors the icon. Unselected tags fall back to neutral gray.
|
|
156
|
+
*/
|
|
157
|
+
tagColor: {
|
|
158
|
+
type: StringConstructor;
|
|
159
|
+
default: string;
|
|
160
|
+
};
|
|
161
|
+
/** Custom modal heading (fallback: t('ui.entity_picker.Select')) */
|
|
162
|
+
modalTitle: {
|
|
163
|
+
required: boolean;
|
|
164
|
+
type: StringConstructor;
|
|
165
|
+
default: string;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Position of the modal heading.
|
|
169
|
+
* - `left` — Figma «Оберіть валюту» pattern (default)
|
|
170
|
+
* - `center` — Figma «Від кого» pattern
|
|
171
|
+
*/
|
|
172
|
+
modalTitlePosition: {
|
|
173
|
+
required: boolean;
|
|
174
|
+
type: PropType<"left" | "center">;
|
|
175
|
+
default: string;
|
|
176
|
+
validator: (v: string) => boolean;
|
|
177
|
+
};
|
|
178
|
+
/** Modal width preset. Use 'sm' for компактний список (валюти), 'large' для розширеного (контрагенти) */
|
|
179
|
+
modalSize: {
|
|
180
|
+
required: boolean;
|
|
181
|
+
type: PropType<string>;
|
|
182
|
+
default: string;
|
|
183
|
+
};
|
|
184
|
+
/** Custom search placeholder (fallback: t('ui.entity_picker.Search')) */
|
|
185
|
+
searchPlaceholder: {
|
|
186
|
+
required: boolean;
|
|
187
|
+
type: StringConstructor;
|
|
188
|
+
default: string;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Right-side indicator behavior for list items.
|
|
192
|
+
* - `check` — синє коло з галочкою тільки для selected (default)
|
|
193
|
+
* - `navigation` — chevron-right для unselected + синє коло з галочкою для selected (drill-down pattern)
|
|
194
|
+
* - `none` — без індикаторів
|
|
195
|
+
*/
|
|
196
|
+
listItemIndicator: {
|
|
197
|
+
required: boolean;
|
|
198
|
+
type: PropType<"none" | "check" | "navigation">;
|
|
199
|
+
default: string;
|
|
200
|
+
validator: (v: string) => boolean;
|
|
201
|
+
};
|
|
202
|
+
/** Avatar / icon-box size in px (default 40). Match Figma 40×40 patterns. */
|
|
203
|
+
listItemSize: {
|
|
204
|
+
required: boolean;
|
|
205
|
+
type: PropType<string | number>;
|
|
206
|
+
default: number;
|
|
207
|
+
};
|
|
208
|
+
/** Extra classes для icon-box wrapper (e.g. `bg-[#FAFAFA] rounded-[10px]`) */
|
|
209
|
+
listItemIconClass: {
|
|
210
|
+
required: boolean;
|
|
211
|
+
type: StringConstructor;
|
|
212
|
+
default: string;
|
|
213
|
+
};
|
|
214
|
+
/** Override classes для назви елемента (default: `text-sm font-semibold` згідно Figma «Від кого») */
|
|
215
|
+
listItemTitleClass: {
|
|
216
|
+
required: boolean;
|
|
217
|
+
type: StringConstructor;
|
|
218
|
+
default: string;
|
|
219
|
+
};
|
|
220
|
+
/** Override classes для підзаголовка (default: `text-xs text-[#979CA9]`) */
|
|
221
|
+
listItemSubtitleClass: {
|
|
222
|
+
required: boolean;
|
|
223
|
+
type: StringConstructor;
|
|
224
|
+
default: string;
|
|
225
|
+
};
|
|
152
226
|
noCreate: {
|
|
153
227
|
type: BooleanConstructor;
|
|
154
228
|
default: boolean;
|
|
@@ -165,4 +239,9 @@ export declare const entityPickerProps: {
|
|
|
165
239
|
type: StringConstructor;
|
|
166
240
|
default: string;
|
|
167
241
|
};
|
|
242
|
+
/** Override Edit button label (fallback: t('ui.entity_picker.Edit')) */
|
|
243
|
+
editButtonLabel: {
|
|
244
|
+
type: StringConstructor;
|
|
245
|
+
default: string;
|
|
246
|
+
};
|
|
168
247
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),G=require("../useModal-98810f6a.cjs"),H=require("../OneAvatar.vue_vue_type_script_setup_true_lang-2d9f44f1.cjs");require("vue-markdown-render");require("../OneMarkdown.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");require("../SpinnerIcon.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");const ne=require("../i18n/index.cjs");require("../_plugin-vue_export-helper-f246444f.cjs");const oe={key:0},ae={class:""},re={key:0,class:"space-y-1 flex flex-col"},se={key:0,class:"text-gray-400 text-xs font-light"},ie={key:0,class:"text-[10px] text-gray-500 ml-1 py-0.5 rounded-full font-semibold hover:text-info-base"},ue={key:0,class:"overflow-auto max-h-[85dvh] h-full"},ce={key:1,class:"overflow-auto max-h-[85dvh] h-full"},de={key:2,class:"pb-6"},me={key:0,class:"px-2 pt-3"},ve={key:1,class:"relative px-3 py-3"},ye={class:"relative"},fe=["placeholder"],ke={key:2,class:"px-2 py-3 h-[62px]"},pe={key:0,class:"flex items-center justify-center py-8"},ge={key:1,class:"relative px-5 py-10 text-center"},xe={class:"mb-4 text-sm text-gray-500"},he={key:2,class:"p-3 text-center mt-6"},Ee={class:"text-xs"},Be=["onClick"],Ce={class:"mr-2"},Ve={class:"w-full"},be={class:"font-bold truncate overflow-hidden sm:max-w-[400px] max-w-[280px] text-xs"},Se={key:0,class:"text-xs text-gray-600 divide-x font-thin"},we={class:"px-2 first:pl-0"},Ne=["onClick"],Le={key:1,class:"w-5 h-5 text-green-500 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Me={key:2,class:"w-5 h-5 text-gray-400 flex-shrink-0",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ze={key:1,class:"text-xs px-2 py-1 text-red-600"},qe=e.defineComponent({__name:"OneEntityPicker",props:{t:{type:Function,required:!1,default:void 0},title:{required:!1,type:String,default:""},icon:{type:[Object,Function,null],default:null},labelSelect:{type:String,default:""},labelClass:{type:String,default:""},iconClass:{type:String,default:""},iconClassBlock:{type:String,default:""},labelSelectNote:{type:String,default:""},labelCreateButton:{type:String,default:""},modelValue:{required:!0,type:[Object,null],default:null},items:{type:Array,default:()=>[]},entityListKey:{required:!1,type:String,default:"id"},entityListLabel:{required:!1,type:String,default:"name"},entityListAvatar:{required:!1,type:String,default:""},entityListAdditional:{required:!1,type:String,default:""},entityKey:{required:!1,type:String,default:"id"},entityAvatar:{required:!1,type:String,default:""},entityLabel:{required:!1,type:String,default:"name"},entityAdditional:{required:!1,type:String,default:""},isLoading:{required:!1,type:Boolean,default:!1},listEntityUse:{required:!1,type:Function,default:null},validation:{required:!1,type:Object,default:null},validationIndex:{required:!1,type:String,default:""},sizeModalCreateEntity:{required:!1,type:String,default:"sm"},readonly:{required:!1,type:Boolean,default:!1},variant:{type:String,default:"default",validator:l=>["default","compact","minimal","pill"].includes(l)},noCreate:{type:Boolean,default:!1},noEdit:{type:Boolean,default:!1},noSearch:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},listEmptyMessage:{type:String,default:""}},emits:["update:modelValue","onSetEntity"],setup(l,{emit:W}){const J=ne.useOnebI18n(),n=l,V=W,v=e.computed(()=>n.t??J),c=G.useModal(),I=e.ref(null),g=e.ref(!1),x=e.ref(null),B=e.ref(!1),d=e.ref("sm"),b=e.ref(!1);let y=null;e.onMounted(()=>{y=window.matchMedia("(max-width: 767px)"),b.value=y.matches;const t=o=>{b.value=o.matches};y.addEventListener("change",t),e.onUnmounted(()=>{y==null||y.removeEventListener("change",t)})});const a=n.listEntityUse?n.listEntityUse():null,f=a==null?void 0:a.nodes,D=a==null?void 0:a.load,m=a==null?void 0:a.searchTerm,k=a==null?void 0:a.isLoading,h=a==null?void 0:a.isLoad,E=a==null?void 0:a.group,P=e.ref(null),R=e.computed(()=>(E==null?void 0:E.value)??P.value),X=t=>{E?E.value=t:P.value=t},S=e.ref(""),s=e.computed({get:()=>(m==null?void 0:m.value)??S.value,set:t=>{m?m.value=t:S.value=t}}),w=e.computed(()=>(k==null?void 0:k.value)??n.isLoading),N=e.computed(()=>(f==null?void 0:f.value)??n.items),L=e.computed(()=>n.icon),i=e.computed(()=>n.variant==="compact"||n.variant==="minimal"),Y=e.computed(()=>n.variant==="compact"),u=e.computed(()=>n.variant==="pill"),K=e.computed(()=>{const t=[];return n.validation==null||n.validationIndex==null||Object.keys(n.validation).forEach(o=>{o.startsWith(n.validationIndex)&&t.push(...n.validation[o])}),t}),M=e.computed(()=>{if(!s.value)return N.value;const t=s.value.toLowerCase();return N.value.filter(o=>{const r=A(o).toLowerCase(),$=j(o).toLowerCase();return r.includes(t)||$.includes(t)})}),Z=e.computed(()=>[...M.value].sort(t=>q(t)===z(n.modelValue)?-1:0)),C=t=>t?String(t[n.entityLabel]||""):"",Q=t=>!t||!n.entityAvatar?"":String(t[n.entityAvatar]||""),p=t=>!t||!n.entityAdditional?"":String(t[n.entityAdditional]||""),z=t=>t?t[n.entityKey]:"",q=t=>t[n.entityListKey],A=t=>String(t[n.entityListLabel]||""),_=t=>n.entityListAvatar?String(t[n.entityListAvatar]||""):"",j=t=>n.entityListAdditional?String(t[n.entityListAdditional]||""):"",O=t=>z(n.modelValue)===q(t),F=()=>{n.readonly||(S.value="",m&&(m.value=""),g.value=!1,x.value=null,B.value=!1,d.value="sm",c.open(),e.nextTick(()=>{var t;(t=I.value)==null||t.focus()}))},ee=t=>{V("update:modelValue",t),c.close()},te=()=>{V("update:modelValue",null)},U=()=>{g.value=!0,d.value=n.sizeModalCreateEntity},le=t=>{x.value=t,d.value=n.sizeModalCreateEntity},T=t=>{g.value=!1,x.value=null,B.value=!1,d.value="sm",t?(c.close(),V("update:modelValue",t)):!w.value&&N.value.length===0&&!s.value&&c.close()};return e.watch(c.isOpened,t=>{t&&D&&D(),t||(g.value=!1,d.value="sm")}),e.watch(()=>h==null?void 0:h.value,()=>{h&&!(k!=null&&k.value)&&h.value&&!s.value&&(f==null?void 0:f.value.length)===0&&(B.value=!0,d.value=n.sizeModalCreateEntity)}),(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["relative select-none",i.value?"space-y-1.5":"space-y-3"])},[e.renderSlot(t.$slots,"button",{title:l.title,modelValue:l.modelValue,openModal:()=>e.unref(c).open()},()=>[l.title?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["font-semibold pb-0",l.labelClass])},e.toDisplayString(l.title),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex justify-between z-10 items-center",[l.readonly?"":"cursor-pointer hover:bg-gray-50",i.value?["rounded-full",Y.value?"bg-[#4089E01A]":""]:"border px-3 pr-3 py-3 rounded-lg h-[72px]",u.value?"border-none !py-0 h-max !rounded-full":"",u.value&&l.modelValue!==null?"bg-[#4089E01A]":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center w-full gap-x-3",[i.value?"!gap-x-1 px-0.5 py-0.5":"",u.value?"h-9 p-0":""]]),onClick:F},[l.noIcon?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-10 h-10 flex items-center justify-center",l.iconClassBlock])},[u.value?(e.openBlock(),e.createElementBlock("div",oe,[l.modelValue==null?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["w-3 text-blue-600",l.iconClass]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...o[1]||(o[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"},null,-1)])],2)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(L.value),{key:1,class:e.normalizeClass(["w-5",l.iconClass])},null,8,["class"]))])):L.value!=null&&l.modelValue==null||i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(i.value?"":"bg-gray-50 p-2.5 rounded-lg")},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(L.value),{class:e.normalizeClass([["w-5",l.iconClass],"text-gray-600"])},null,8,["class"]))],2)):l.modelValue?(e.openBlock(),e.createBlock(e.unref(H._sfc_main),{key:2,text:C(l.modelValue),src:Q(l.modelValue),rounded:!1,size:"40",class:"!rounded-lg"},null,8,["text","src"])):e.createCommentVNode("",!0)],2)),e.createElementVNode("div",ae,[l.modelValue==null?(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("div",{class:e.normalizeClass(["font-medium text-gray-600 truncate overflow-hidden whitespace-nowrap",[i.value?"text-xs truncate max-w-[120px] text-[#525B66]":"text-sm",u.value?"!text-xs truncate max-w-[120px] text-[#4089E0]":""]])},e.toDisplayString(l.labelSelect),3),l.labelSelectNote&&!i.value&&!u.value?(e.openBlock(),e.createElementBlock("span",se,e.toDisplayString(l.labelSelectNote),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["grid items-center pr-2",i.value?"":"py-1"])},[e.createElementVNode("div",{class:e.normalizeClass(["break-all leading-4 truncate !text-sm",{"text-sm font-medium":C(l.modelValue).length<20,"text-xs font-semibold":C(l.modelValue).length>20,"truncate text-[#525B66] text-xs":i.value,"truncate text-xs":u.value}])},[e.createTextVNode(e.toDisplayString(C(l.modelValue))+" ",1),!l.readonly&&!i.value&&!u.value?(e.openBlock(),e.createElementBlock("span",ie,e.toDisplayString(v.value("ui.entity_picker.Change")),1)):e.createCommentVNode("",!0)],2),p(l.modelValue)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["font-thin leading-3 break-all line-clamp-2 pt-1 truncate !text-xs",{"text-xs":p(l.modelValue).length<20,"text-[10px]":p(l.modelValue).length>20&&p(l.modelValue).length<35,"text-[9px]":p(l.modelValue).length>35}])},[e.renderSlot(t.$slots,"entityAdditional",{item:l.modelValue},()=>[e.createTextVNode(e.toDisplayString(p(l.modelValue)),1)])],2)):e.createCommentVNode("",!0)],2))])],2),l.modelValue!=null&&!l.readonly?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:e.withModifiers(te,["stop"]),class:e.normalizeClass(["rounded-full hover:text-gray-900 text-gray-500",{"mr-2 text-[#525B66] p-0.5":i.value}])},[...o[2]||(o[2]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],2)):!l.readonly&&!i.value&&!u.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"py-2.5 text-gray-500",onClick:F},[...o[3]||(o[3]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})],-1)])])):e.createCommentVNode("",!0)],2)])],2),e.unref(c).isOpened.value?(e.openBlock(),e.createBlock(e.unref(G.OneModal),{key:0,useModal:e.unref(c),title:v.value("ui.entity_picker.Select"),size:d.value,classModal:b.value,titleCenter:!0},{default:e.withCtx(()=>[g.value||B.value?(e.openBlock(),e.createElementBlock("div",ue,[e.renderSlot(t.$slots,"creating",{onCloseCreateEntity:T,find:s.value})])):x.value?(e.openBlock(),e.createElementBlock("div",ce,[e.renderSlot(t.$slots,"edit",{onCloseCreateEntity:T,editId:x.value})])):(e.openBlock(),e.createElementBlock("div",de,[t.$slots.modalHeader?(e.openBlock(),e.createElementBlock("div",me,[e.renderSlot(t.$slots,"modalHeader")])):e.createCommentVNode("",!0),l.noSearch?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",ye,[o[4]||(o[4]=e.createElementVNode("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})],-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=r=>s.value=r),type:"text",class:"w-full pl-9 pr-3 py-2 border rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-primary-base focus:border-transparent",placeholder:v.value("ui.entity_picker.Search"),ref_key:"searchInput",ref:I},null,8,fe),[[e.vModelText,s.value]])])])),e.renderSlot(t.$slots,"prepend",{selectedGroup:R.value,setSelectedGroup:X}),!w.value&&!l.noCreate&&l.labelCreateButton?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("button",{type:"button",onClick:U,class:"w-full flex items-center justify-center gap-2 py-2 text-blue-400 hover:text-blue-300 text-sm"},[o[5]||(o[5]=e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})],-1)),e.createTextVNode(" "+e.toDisplayString(l.labelCreateButton),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["divide-y overflow-auto",{"sm:h-[40vh] h-[60dvh]":!l.noSearch,"sm:h-[52vh] h-[86dvh] min-h-[300px]":l.noSearch}])},[w.value?(e.openBlock(),e.createElementBlock("div",pe,[...o[6]||(o[6]=[e.createElementVNode("div",{class:"animate-spin w-6 h-6 border-2 border-primary-base border-t-transparent rounded-full"},null,-1)])])):M.value.length===0&&!s.value?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"creating",{onCloseCreateEntity:T,find:s.value},()=>[e.createElementVNode("p",xe,e.toDisplayString(l.listEmptyMessage||v.value("ui.entity_picker.List empty")),1)])])):M.value.length===0&&s.value?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("p",Ee,[e.createTextVNode(e.toDisplayString(v.value("ui.entity_picker.Nothing found for"))+" ",1),e.createElementVNode("b",null,e.toDisplayString(s.value),1)]),!l.noCreate&&l.labelCreateButton?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:U,class:"w-full text-xs text-blue-400 hover:text-blue-300 mt-2"},e.toDisplayString(l.labelCreateButton)+" «"+e.toDisplayString(s.value)+"» ",1)):e.createCommentVNode("",!0)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(Z.value,r=>(e.openBlock(),e.createElementBlock("div",{key:q(r),class:e.normalizeClass(["flex items-center py-3 hover:bg-secondary-body-hover px-3 cursor-pointer",{"bg-gray-50 text-blue-900":O(r)}]),onClick:$=>ee(r)},[e.createElementVNode("div",Ce,[e.createVNode(e.unref(H._sfc_main),{text:A(r),src:_(r),rounded:!1,size:"30",class:"!rounded-lg"},null,8,["text","src"])]),e.createElementVNode("div",Ve,[e.createElementVNode("p",be,e.toDisplayString(A(r)),1),j(r)?(e.openBlock(),e.createElementBlock("div",Se,[e.renderSlot(t.$slots,"entityAdditional",{item:r},()=>[e.createElementVNode("span",we,e.toDisplayString(j(r)),1)])])):e.createCommentVNode("",!0)]),O(r)&&t.$slots.edit&&!l.noEdit?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:e.withModifiers($=>le(z(r)),["stop"]),class:"text-xs text-blue-400 hover:text-blue-300 mr-2"},e.toDisplayString(v.value("ui.entity_picker.Edit")),9,Ne)):e.createCommentVNode("",!0),O(r)?(e.openBlock(),e.createElementBlock("svg",Le,[...o[7]||(o[7]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M4.5 12.75l6 6 9-13.5"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Me,[...o[8]||(o[8]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"},null,-1)])]))],10,Be))),128))],2)]))]),_:3},8,["useModal","title","size","classModal"])):e.createCommentVNode("",!0),K.value.length>0?(e.openBlock(),e.createElementBlock("div",ze,e.toDisplayString(K.value.join(" ")),1)):e.createCommentVNode("",!0)],64))}}),Ae={"entity_picker.Loading":"Завантаження...","entity_picker.Select":"Вибір","entity_picker.Search":"Пошук...","entity_picker.Change":"Змінити","entity_picker.Edit":"Редагувати","entity_picker.List empty":"Список порожній","entity_picker.Nothing found for":"За запитом нічого не знайдено:"};exports.OneEntityPicker=qe;exports.defaultEntityPickerTranslations=Ae;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),A=require("../useModal-98810f6a.cjs"),I=require("../OneAvatar.vue_vue_type_script_setup_true_lang-2d9f44f1.cjs");require("vue-markdown-render");require("../OneMarkdown.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");require("../SpinnerIcon.vue_vue_type_style_index_0_lang-0ea8fbf8.cjs");const F=require("../i18n/index.cjs");require("../_plugin-vue_export-helper-f246444f.cjs");const P={key:0,class:"overflow-auto max-h-[85dvh] h-full"},O={key:1,class:"overflow-auto max-h-[85dvh] h-full"},K={key:2,class:"pb-6"},D={key:0,class:"px-2 pt-3"},U=e.defineComponent({__name:"EntityPickerModal",props:{useModal:{type:Object,required:!0},title:{type:String,default:""},titleCenter:{type:Boolean,default:!1},size:{type:String,default:"sm"},mobileView:{type:Boolean,default:!1},view:{type:String,default:"browse"}},setup(t){return(n,l)=>t.useModal.isOpened.value?(e.openBlock(),e.createBlock(e.unref(A.OneModal),{key:0,useModal:t.useModal,title:t.title,size:t.size,classModal:t.mobileView,titleCenter:t.titleCenter},{default:e.withCtx(()=>[t.view==="create"?(e.openBlock(),e.createElementBlock("div",P,[e.renderSlot(n.$slots,"create")])):t.view==="edit"?(e.openBlock(),e.createElementBlock("div",O,[e.renderSlot(n.$slots,"edit")])):(e.openBlock(),e.createElementBlock("div",K,[n.$slots.header?(e.openBlock(),e.createElementBlock("div",D,[e.renderSlot(n.$slots,"header")])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"search"),e.renderSlot(n.$slots,"prepend"),e.renderSlot(n.$slots,"createButton"),e.renderSlot(n.$slots,"list")]))]),_:3},8,["useModal","title","size","classModal","titleCenter"])):e.createCommentVNode("",!0)}}),R={key:0,class:"relative select-none inline-flex items-center gap-3"},G={class:"text-sm font-medium truncate text-inherit"},W=["aria-label"],H={key:0,class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Q={key:1,class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},J={key:0},X={class:""},Y={key:0,class:"space-y-1 flex flex-col"},Z={key:0,class:"text-gray-400 text-xs font-light"},_={key:0,class:"text-[10px] text-gray-500 ml-1 py-0.5 rounded-full font-semibold hover:text-info-base"},ee=e.defineComponent({__name:"EntityPickerTrigger",props:{variant:{type:String,default:"default"},modelValue:{type:[Object,null],default:null},icon:{type:[Object,Function,null],default:null},title:{type:String,default:""},labelSelect:{type:String,default:""},labelSelectNote:{type:String,default:""},labelClass:{type:String,default:""},iconClass:{type:String,default:""},iconClassBlock:{type:String,default:""},noIcon:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},tagColor:{type:String,default:"#525B66"},changeLabel:{type:String,default:""},resolvers:{type:Object,required:!0}},emits:["open","clear"],setup(t,{emit:n}){const l=t,a=n,c=()=>a("open"),i=e.computed(()=>l.variant==="compact"||l.variant==="minimal"),u=e.computed(()=>l.variant==="compact"),s=e.computed(()=>l.variant==="pill"),d=e.computed(()=>l.modelValue==null?{}:{backgroundColor:`${l.tagColor}1A`}),v=e.computed(()=>l.modelValue!=null?l.tagColor:"#979CA9");return(o,y)=>t.variant==="tag"?(e.openBlock(),e.createElementBlock("div",R,[e.renderSlot(o.$slots,"button",{title:t.title,modelValue:t.modelValue,openModal:c},()=>[t.title?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["font-semibold text-black",t.labelClass])},e.toDisplayString(t.title),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex items-center gap-2 h-10 px-3 rounded-xl transition-colors",t.readonly?"":"cursor-pointer",t.modelValue==null?"bg-[#FAFAFA] hover:bg-gray-100 text-[#979CA9]":"hover:opacity-90 text-black"]),style:e.normalizeStyle(d.value),onClick:c},[t.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:0,class:e.normalizeClass(["w-5 h-5 flex-shrink-0",t.iconClass]),style:e.normalizeStyle({color:v.value})},null,8,["style","class"])):e.createCommentVNode("",!0),e.createElementVNode("span",G,e.toDisplayString(t.modelValue!=null?t.resolvers.getEntityLabel(t.modelValue):t.labelSelect),1),t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"text-[#979CA9] hover:text-gray-700 flex-shrink-0 -mr-1","aria-label":t.changeLabel,onClick:y[0]||(y[0]=e.withModifiers(g=>t.modelValue!=null?o.$emit("clear"):c(),["stop"]))},[t.modelValue!=null?(e.openBlock(),e.createElementBlock("svg",H,[...y[2]||(y[2]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Q,[...y[3]||(y[3]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 8.25l-7.5 7.5-7.5-7.5"},null,-1)])]))],8,W))],6)])])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["relative select-none",i.value?"space-y-1.5":"space-y-3"])},[e.renderSlot(o.$slots,"button",{title:t.title,modelValue:t.modelValue,openModal:c},()=>[t.title?(e.openBlock(),e.createElementBlock("p",{key:0,class:e.normalizeClass(["font-semibold pb-0",t.labelClass])},e.toDisplayString(t.title),3)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex justify-between z-10 items-center",[t.readonly?"":"cursor-pointer hover:bg-gray-50",i.value?["rounded-full",u.value?"bg-[#4089E01A]":""]:"border px-3 pr-3 py-3 rounded-lg h-[72px]",s.value?"border-none !py-0 h-max !rounded-full":"",s.value&&t.modelValue!==null?"bg-[#4089E01A]":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["flex items-center w-full gap-x-3",[i.value?"!gap-x-1 px-0.5 py-0.5":"",s.value?"h-9 p-0":""]]),onClick:c},[!t.noIcon&&(s.value||i.value||t.icon||t.modelValue)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["w-10 h-10 flex items-center justify-center",t.iconClassBlock])},[s.value?(e.openBlock(),e.createElementBlock("div",J,[t.modelValue==null?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["w-3 text-blue-600",t.iconClass]),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[...y[4]||(y[4]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"},null,-1)])],2)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{key:1,class:e.normalizeClass(["w-5",t.iconClass])},null,8,["class"]))])):t.icon!=null&&t.modelValue==null||i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(i.value?"":"bg-gray-50 p-2.5 rounded-lg")},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon),{class:e.normalizeClass([["w-5",t.iconClass],"text-gray-600"])},null,8,["class"]))],2)):t.modelValue?(e.openBlock(),e.createBlock(e.unref(I._sfc_main),{key:2,text:t.resolvers.getEntityLabel(t.modelValue),src:t.resolvers.getEntityAvatar(t.modelValue),rounded:!1,size:"40",class:"!rounded-lg"},null,8,["text","src"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",X,[t.modelValue==null?(e.openBlock(),e.createElementBlock("div",Y,[e.createElementVNode("div",{class:e.normalizeClass(["font-medium text-gray-600 truncate overflow-hidden whitespace-nowrap",[i.value?"text-xs truncate max-w-[120px] text-[#525B66]":"text-sm",s.value?"!text-xs truncate max-w-[120px] text-[#4089E0]":""]])},e.toDisplayString(t.labelSelect),3),t.labelSelectNote&&!i.value&&!s.value?(e.openBlock(),e.createElementBlock("span",Z,e.toDisplayString(t.labelSelectNote),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["grid items-center pr-2",i.value?"":"py-1"])},[e.createElementVNode("div",{class:e.normalizeClass(["break-all leading-4 truncate !text-sm",{"text-sm font-medium":t.resolvers.getEntityLabel(t.modelValue).length<20,"text-xs font-semibold":t.resolvers.getEntityLabel(t.modelValue).length>20,"truncate text-[#525B66] text-xs":i.value,"truncate text-xs":s.value}])},[e.createTextVNode(e.toDisplayString(t.resolvers.getEntityLabel(t.modelValue))+" ",1),!t.readonly&&!i.value&&!s.value?(e.openBlock(),e.createElementBlock("span",_,e.toDisplayString(t.changeLabel),1)):e.createCommentVNode("",!0)],2),t.resolvers.getEntityAdditional(t.modelValue)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["font-thin leading-3 break-all line-clamp-2 pt-1 truncate !text-xs",{"text-xs":t.resolvers.getEntityAdditional(t.modelValue).length<20,"text-[10px]":t.resolvers.getEntityAdditional(t.modelValue).length>20&&t.resolvers.getEntityAdditional(t.modelValue).length<35,"text-[9px]":t.resolvers.getEntityAdditional(t.modelValue).length>35}])},[e.renderSlot(o.$slots,"entityAdditional",{item:t.modelValue},()=>[e.createTextVNode(e.toDisplayString(t.resolvers.getEntityAdditional(t.modelValue)),1)])],2)):e.createCommentVNode("",!0)],2))])],2),t.modelValue!=null&&!t.readonly?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["rounded-full hover:text-gray-900 text-gray-500",{"mr-2 text-[#525B66] p-0.5":i.value}]),onClick:y[1]||(y[1]=e.withModifiers(g=>o.$emit("clear"),["stop"]))},[...y[5]||(y[5]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"})],-1)])],2)):!t.readonly&&!i.value&&!s.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"py-2.5 text-gray-500",onClick:c},[...y[6]||(y[6]=[e.createElementVNode("svg",{class:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})],-1)])])):e.createCommentVNode("",!0)],2)])],2))}});function te(t){const n=o=>o?String(o[t.entityLabel]||""):"",l=o=>!o||!t.entityAvatar?"":String(o[t.entityAvatar]||""),a=o=>!o||!t.entityAdditional?"":String(o[t.entityAdditional]||""),c=o=>o?o[t.entityKey]:"",i=o=>o[t.entityListKey];return{getEntityLabel:n,getEntityAvatar:l,getEntityAdditional:a,getEntityKey:c,getEntityListKey:i,getEntityListLabel:o=>String(o[t.entityListLabel]||""),getEntityListAvatar:o=>t.entityListAvatar?String(o[t.entityListAvatar]||""):"",getEntityListAdditional:o=>t.entityListAdditional?String(o[t.entityListAdditional]||""):"",isSelected:o=>c(t.modelValue)===i(o)}}function le(t,n){const l=t.listEntityUse?t.listEntityUse():null,a=l==null?void 0:l.nodes,c=l==null?void 0:l.load,i=l==null?void 0:l.searchTerm,u=l==null?void 0:l.isLoading,s=l==null?void 0:l.isLoad,d=l==null?void 0:l.group,v=e.ref(null),o=e.computed(()=>(d==null?void 0:d.value)??v.value),y=f=>{d?d.value=f:v.value=f},g=e.ref(""),b=e.computed({get:()=>(i==null?void 0:i.value)??g.value,set:f=>{i?i.value=f:g.value=f}}),x=()=>{g.value="",i&&(i.value="")},V=e.computed(()=>(u==null?void 0:u.value)??t.isLoading),E=e.computed(()=>(a==null?void 0:a.value)??t.items),r=e.computed(()=>{const f=E.value;if(t.modelValue==null)return f;const S=n.getEntityKey(t.modelValue);return f.some(k=>n.getEntityListKey(k)===S)?f:[t.modelValue,...f]}),B=e.computed(()=>{if(!b.value)return r.value;const f=b.value.toLowerCase(),S=t.modelValue!=null?n.getEntityKey(t.modelValue):null;return r.value.filter(h=>{if(S!=null&&n.getEntityListKey(h)===S)return!0;const k=n.getEntityListLabel(h).toLowerCase(),w=n.getEntityListAdditional(h).toLowerCase();return k.includes(f)||w.includes(f)})}),N=e.computed(()=>{const f=B.value;if(t.modelValue==null)return f;const S=n.getEntityKey(t.modelValue),h=f.findIndex(L=>n.getEntityListKey(L)===S);if(h<=0)return f;const k=f.slice(),[w]=k.splice(h,1);return k.unshift(w),k});return{load:c,dynamicIsLoad:s,nodes:a,searchTerm:b,clearSearchTerm:x,selectedGroup:o,setSelectedGroup:y,rawItems:E,availableItems:r,filteredItems:B,sortedItems:N,loading:V}}function ne(t,n,l){const a=A.useModal(),c=e.ref(null),i=e.ref(!1),u=e.ref(null),s=e.ref(!1),d=e.ref(t.modalSize),v=e.ref(!1);let o=null;e.onMounted(()=>{o=window.matchMedia("(max-width: 767px)"),v.value=o.matches;const r=B=>{v.value=B.matches};o.addEventListener("change",r),e.onUnmounted(()=>{o==null||o.removeEventListener("change",r)})});const y=()=>{t.readonly||(n.clearSearchTerm(),i.value=!1,u.value=null,s.value=!1,d.value=t.modalSize,a.open(),e.nextTick(()=>{var r;(r=c.value)==null||r.focus()}))},g=r=>{l("update:modelValue",r),a.close()},b=()=>{l("update:modelValue",null)},x=()=>{i.value=!0,d.value=t.sizeModalCreateEntity},V=r=>{u.value=r,d.value=t.sizeModalCreateEntity},E=r=>{i.value=!1,u.value=null,s.value=!1,d.value=t.modalSize,r?(a.close(),l("update:modelValue",r)):!n.loading.value&&n.availableItems.value.length===0&&!n.searchTerm.value&&a.close()};return e.watch(a.isOpened,r=>{r&&n.load&&n.load(),r||(i.value=!1,d.value=t.modalSize)}),e.watch(()=>{var r;return(r=n.dynamicIsLoad)==null?void 0:r.value},()=>{var r;n.dynamicIsLoad&&!n.loading.value&&n.dynamicIsLoad.value&&!n.searchTerm.value&&((r=n.nodes)==null?void 0:r.value.length)===0&&(s.value=!0,d.value=t.sizeModalCreateEntity)}),{modal:a,searchInput:c,creatingEntity:i,editEntity:u,startCreate:s,currentModalSize:d,isMobileView:v,openPicker:y,selectItem:g,onClear:b,onCreateEntity:x,onEditEntity:V,onCloseCreateEntity:E}}const ae={class:"relative px-4 pt-3 pb-2"},ie={class:"relative"},oe=["value","placeholder"],re=e.defineComponent({__name:"EntityPickerSearch",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:""}},emits:["update:modelValue"],setup(t,{expose:n,emit:l}){const a=l,c=e.ref(null),i=u=>{a("update:modelValue",u.target.value)};return n({focus:()=>{var u;return(u=c.value)==null?void 0:u.focus()}}),(u,s)=>(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",ie,[s[0]||(s[0]=e.createElementVNode("svg",{class:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-[#979CA9]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})],-1)),e.createElementVNode("input",{ref_key:"inputRef",ref:c,value:t.modelValue,type:"text",class:"w-full h-10 pl-11 pr-3 border border-[#E2E7EF] rounded-[10px] text-sm placeholder:text-[#979CA9] focus:outline-none focus:ring-2 focus:ring-primary-base focus:border-transparent",placeholder:t.placeholder,onInput:i},null,40,oe)])]))}}),se={class:"px-3 pb-2"},de={class:"text-xs font-semibold tracking-[0.4px]"},ce=e.defineComponent({__name:"EntityPickerCreateButton",props:{label:{type:String,required:!0}},emits:["click"],setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("button",{type:"button",class:"w-full h-10 flex items-center justify-center gap-2 bg-[#FAFAFA] border border-[#E3ECF2] rounded-[10px] text-[#4089E0] hover:bg-[#F2F4F8] hover:border-[#D6DDE7] transition-colors",onClick:l[0]||(l[0]=a=>n.$emit("click"))},[l[1]||(l[1]=e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})],-1)),e.createElementVNode("span",de,e.toDisplayString(t.label),1)])]))}}),ue={key:0,class:"flex items-center justify-center w-8 h-8 flex-shrink-0"},me={key:0,class:"w-5 h-5 rounded-full bg-[#4089E0] flex items-center justify-center"},ye={key:1,class:"w-4 h-4 text-[#525B66]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},fe=e.defineComponent({__name:"EntityPickerIndicator",props:{variant:{type:String,default:"check"},selected:{type:Boolean,default:!1}},setup(t){return(n,l)=>t.variant!=="none"?(e.openBlock(),e.createElementBlock("div",ue,[t.selected?(e.openBlock(),e.createElementBlock("span",me,[...l[0]||(l[0]=[e.createElementVNode("svg",{class:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"3"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M4.5 12.75l6 6 9-13.5"})],-1)])])):t.variant==="navigation"?(e.openBlock(),e.createElementBlock("svg",ye,[...l[1]||(l[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"},null,-1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}),ve={class:"flex-1 min-w-0"},ge=e.defineComponent({__name:"EntityPickerListItem",props:{selected:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},avatarText:{type:String,default:""},avatarSrc:{type:String,default:""},avatarSize:{type:[String,Number],default:40},iconWrapperClass:{type:String,default:""},itemClass:{type:String,default:""},titleClass:{type:String,default:""},subtitleClass:{type:String,default:""},indicator:{type:String,default:"check"},showEdit:{type:Boolean,default:!1},editLabel:{type:String,default:""}},emits:["select","edit"],setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center gap-3 py-3 px-4 hover:bg-secondary-body-hover cursor-pointer",[{"bg-gray-50":t.selected},t.itemClass]]),onClick:l[1]||(l[1]=a=>n.$emit("select"))},[e.createElementVNode("div",{class:e.normalizeClass(["flex-shrink-0",t.iconWrapperClass])},[e.renderSlot(n.$slots,"icon",{},()=>[e.createVNode(e.unref(I._sfc_main),{text:t.avatarText,src:t.avatarSrc,rounded:!1,size:String(t.avatarSize),class:"!rounded-[10px]"},null,8,["text","src","size"])])],2),e.createElementVNode("div",ve,[e.createElementVNode("p",{class:e.normalizeClass(t.titleClass)},e.toDisplayString(t.title),3),t.subtitle?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(t.subtitleClass)},[e.renderSlot(n.$slots,"additional",{},()=>[e.createTextVNode(e.toDisplayString(t.subtitle),1)])],2)):e.createCommentVNode("",!0)]),t.showEdit?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"text-xs font-semibold text-[#4089E0] hover:text-primary-active flex-shrink-0 tracking-[0.4px]",onClick:l[0]||(l[0]=e.withModifiers(a=>n.$emit("edit"),["stop"]))},e.toDisplayString(t.editLabel),1)):e.createCommentVNode("",!0),e.createVNode(fe,{variant:t.indicator,selected:t.selected},null,8,["variant","selected"])],2))}}),ke={key:0,class:"flex items-center justify-center py-8"},he={key:1,class:"relative px-5 py-10 text-center"},Ce={class:"mb-4 text-sm text-gray-500"},Se={key:2,class:"p-3 text-center mt-6"},be={class:"text-xs"},Ee=e.defineComponent({__name:"EntityPickerList",props:{loading:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},searchTerm:{type:String,default:""},scrollHeightClass:{type:[String,Object],default:""},resolvers:{type:Object,required:!0},emptyMessage:{type:String,default:""},notFoundLabel:{type:String,default:""},createWithQueryLabel:{type:String,default:""},canCreate:{type:Boolean,default:!1},itemSize:{type:[String,Number],default:40},itemIconClass:{type:String,default:""},itemTitleClass:{type:String,default:""},itemSubtitleClass:{type:String,default:""},itemIndicator:{type:String,default:"check"},canEdit:{type:Boolean,default:!1},editLabel:{type:String,default:""}},emits:["select","edit","create"],setup(t){return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["divide-y divide-[#E3ECF2] overflow-auto",t.scrollHeightClass])},[t.loading?(e.openBlock(),e.createElementBlock("div",ke,[...l[1]||(l[1]=[e.createElementVNode("div",{class:"animate-spin w-6 h-6 border-2 border-primary-base border-t-transparent rounded-full"},null,-1)])])):t.items.length===0&&!t.searchTerm?(e.openBlock(),e.createElementBlock("div",he,[e.renderSlot(n.$slots,"empty",{},()=>[e.createElementVNode("p",Ce,e.toDisplayString(t.emptyMessage),1)])])):t.items.length===0&&t.searchTerm?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("p",be,[e.createTextVNode(e.toDisplayString(t.notFoundLabel)+" ",1),e.createElementVNode("b",null,e.toDisplayString(t.searchTerm),1)]),t.canCreate?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"w-full text-xs text-blue-400 hover:text-blue-300 mt-2",onClick:l[0]||(l[0]=a=>n.$emit("create"))},e.toDisplayString(t.createWithQueryLabel),1)):e.createCommentVNode("",!0)])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:3},e.renderList(t.items,a=>(e.openBlock(),e.createBlock(ge,{key:t.resolvers.getEntityListKey(a),selected:t.resolvers.isSelected(a),title:t.resolvers.getEntityListLabel(a),subtitle:t.resolvers.getEntityListAdditional(a),"avatar-text":t.resolvers.getEntityListLabel(a),"avatar-src":t.resolvers.getEntityListAvatar(a),"avatar-size":t.itemSize,"icon-wrapper-class":t.itemIconClass,"title-class":t.itemTitleClass,"subtitle-class":t.itemSubtitleClass,indicator:t.itemIndicator,"show-edit":t.resolvers.isSelected(a)&&t.canEdit,"edit-label":t.editLabel,onSelect:c=>n.$emit("select",a),onEdit:c=>n.$emit("edit",t.resolvers.getEntityKey(a))},e.createSlots({_:2},[n.$slots.itemIcon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"itemIcon",{item:a})]),key:"0"}:void 0,n.$slots.itemAdditional?{name:"additional",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"itemAdditional",{item:a})]),key:"1"}:void 0]),1032,["selected","title","subtitle","avatar-text","avatar-src","avatar-size","icon-wrapper-class","title-class","subtitle-class","indicator","show-edit","edit-label","onSelect","onEdit"]))),128))],2))}}),Be={key:0,class:"text-xs px-2 py-1 text-red-600"},xe="text-sm font-semibold text-black truncate leading-5 tracking-[0.4px]",Ve="text-xs text-[#979CA9] font-normal leading-5 truncate tracking-[0.4px]",we=e.defineComponent({__name:"OneEntityPicker",props:{t:{type:Function,required:!1,default:void 0},title:{required:!1,type:String,default:""},icon:{type:[Object,Function,null],default:null},labelSelect:{type:String,default:""},labelClass:{type:String,default:""},iconClass:{type:String,default:""},iconClassBlock:{type:String,default:""},labelSelectNote:{type:String,default:""},labelCreateButton:{type:String,default:""},modelValue:{required:!0,type:[Object,null],default:null},items:{type:Array,default:()=>[]},entityListKey:{required:!1,type:String,default:"id"},entityListLabel:{required:!1,type:String,default:"name"},entityListAvatar:{required:!1,type:String,default:""},entityListAdditional:{required:!1,type:String,default:""},entityKey:{required:!1,type:String,default:"id"},entityAvatar:{required:!1,type:String,default:""},entityLabel:{required:!1,type:String,default:"name"},entityAdditional:{required:!1,type:String,default:""},isLoading:{required:!1,type:Boolean,default:!1},listEntityUse:{required:!1,type:Function,default:null},validation:{required:!1,type:Object,default:null},validationIndex:{required:!1,type:String,default:""},sizeModalCreateEntity:{required:!1,type:String,default:"sm"},readonly:{required:!1,type:Boolean,default:!1},variant:{type:String,default:"default",validator:t=>["default","compact","minimal","pill","tag"].includes(t)},tagColor:{type:String,default:"#525B66"},modalTitle:{required:!1,type:String,default:""},modalTitlePosition:{required:!1,type:String,default:"left",validator:t=>["left","center"].includes(t)},modalSize:{required:!1,type:String,default:"sm"},searchPlaceholder:{required:!1,type:String,default:""},listItemIndicator:{required:!1,type:String,default:"check",validator:t=>["check","navigation","none"].includes(t)},listItemSize:{required:!1,type:[String,Number],default:40},listItemIconClass:{required:!1,type:String,default:""},listItemTitleClass:{required:!1,type:String,default:""},listItemSubtitleClass:{required:!1,type:String,default:""},noCreate:{type:Boolean,default:!1},noEdit:{type:Boolean,default:!1},noSearch:{type:Boolean,default:!1},noIcon:{type:Boolean,default:!1},listEmptyMessage:{type:String,default:""},editButtonLabel:{type:String,default:""}},emits:["update:modelValue","onSetEntity"],setup(t,{emit:n}){const l=F.useOnebI18n(),a=t,c=n,i=e.computed(()=>a.t??l),u=te(a),s=le(a,u),{searchTerm:d,selectedGroup:v,setSelectedGroup:o,sortedItems:y,loading:g}=s,{modal:b,searchInput:x,creatingEntity:V,editEntity:E,startCreate:r,currentModalSize:B,isMobileView:N,openPicker:f,selectItem:S,onClear:h,onCreateEntity:k,onEditEntity:w,onCloseCreateEntity:L}=ne(a,s,c),z=e.computed(()=>a.modalTitle||i.value("ui.entity_picker.Select")),M=e.computed(()=>a.listItemTitleClass||xe),q=e.computed(()=>a.listItemSubtitleClass||Ve),T=e.computed(()=>a.noSearch?"sm:h-[52vh] h-[86dvh] min-h-[300px]":"sm:h-[40vh] h-[60dvh]"),j=e.computed(()=>V.value||r.value?"create":E.value?"edit":"browse"),p=e.computed(()=>{const m=[];return a.validation==null||a.validationIndex==null||Object.keys(a.validation).forEach($=>{$.startsWith(a.validationIndex)&&m.push(...a.validation[$])}),m});return(m,$)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ee,{variant:t.variant,"model-value":t.modelValue,icon:t.icon,title:t.title,"label-select":t.labelSelect,"label-select-note":t.labelSelectNote,"label-class":t.labelClass,"icon-class":t.iconClass,"icon-class-block":t.iconClassBlock,"no-icon":t.noIcon,readonly:t.readonly,"tag-color":t.tagColor,"change-label":i.value("ui.entity_picker.Change"),resolvers:e.unref(u),onOpen:e.unref(f),onClear:e.unref(h)},e.createSlots({_:2},[m.$slots.button?{name:"button",fn:e.withCtx(C=>[e.renderSlot(m.$slots,"button",e.normalizeProps(e.guardReactiveProps(C)))]),key:"0"}:void 0,m.$slots.entityAdditional?{name:"entityAdditional",fn:e.withCtx(({item:C})=>[e.renderSlot(m.$slots,"entityAdditional",{item:C})]),key:"1"}:void 0]),1032,["variant","model-value","icon","title","label-select","label-select-note","label-class","icon-class","icon-class-block","no-icon","readonly","tag-color","change-label","resolvers","onOpen","onClear"]),e.createVNode(U,{useModal:e.unref(b),title:z.value,"title-center":t.modalTitlePosition==="center",size:e.unref(B),"mobile-view":e.unref(N),view:j.value},e.createSlots({create:e.withCtx(()=>[e.renderSlot(m.$slots,"creating",{onCloseCreateEntity:e.unref(L),find:e.unref(d)})]),edit:e.withCtx(()=>[e.renderSlot(m.$slots,"edit",{onCloseCreateEntity:e.unref(L),editId:e.unref(E)})]),list:e.withCtx(()=>[e.createVNode(Ee,{loading:e.unref(g),items:e.unref(y),"search-term":e.unref(d),"scroll-height-class":T.value,resolvers:e.unref(u),"empty-message":t.listEmptyMessage||i.value("ui.entity_picker.List empty"),"not-found-label":i.value("ui.entity_picker.Nothing found for"),"create-with-query-label":`${t.labelCreateButton} «${e.unref(d)}»`,"can-create":!t.noCreate&&!!t.labelCreateButton,"item-size":t.listItemSize,"item-icon-class":t.listItemIconClass,"item-title-class":M.value,"item-subtitle-class":q.value,"item-indicator":t.listItemIndicator,"can-edit":!!m.$slots.edit&&!t.noEdit,"edit-label":t.editButtonLabel||i.value("ui.entity_picker.Edit"),onSelect:e.unref(S),onEdit:e.unref(w),onCreate:e.unref(k)},e.createSlots({_:2},[m.$slots.creating?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"creating",{onCloseCreateEntity:e.unref(L),find:e.unref(d)})]),key:"0"}:void 0,m.$slots.entityListIcon?{name:"itemIcon",fn:e.withCtx(({item:C})=>[e.renderSlot(m.$slots,"entityListIcon",{item:C})]),key:"1"}:void 0,m.$slots.entityAdditional?{name:"itemAdditional",fn:e.withCtx(({item:C})=>[e.renderSlot(m.$slots,"entityAdditional",{item:C})]),key:"2"}:void 0]),1032,["loading","items","search-term","scroll-height-class","resolvers","empty-message","not-found-label","create-with-query-label","can-create","item-size","item-icon-class","item-title-class","item-subtitle-class","item-indicator","can-edit","edit-label","onSelect","onEdit","onCreate"])]),_:2},[m.$slots.modalHeader?{name:"header",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"modalHeader")]),key:"0"}:void 0,t.noSearch?void 0:{name:"search",fn:e.withCtx(()=>[e.createVNode(re,{ref_key:"searchInput",ref:x,modelValue:e.unref(d),"onUpdate:modelValue":$[0]||($[0]=C=>e.isRef(d)?d.value=C:null),placeholder:t.searchPlaceholder||i.value("ui.entity_picker.Search")},null,8,["modelValue","placeholder"])]),key:"1"},m.$slots.prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"prepend",{selectedGroup:e.unref(v),setSelectedGroup:e.unref(o)})]),key:"2"}:void 0,!e.unref(g)&&!t.noCreate&&t.labelCreateButton?{name:"createButton",fn:e.withCtx(()=>[e.createVNode(ce,{label:t.labelCreateButton,onClick:e.unref(k)},null,8,["label","onClick"])]),key:"3"}:void 0]),1032,["useModal","title","title-center","size","mobile-view","view"]),p.value.length>0?(e.openBlock(),e.createElementBlock("div",Be,e.toDisplayString(p.value.join(" ")),1)):e.createCommentVNode("",!0)],64))}}),Le={"entity_picker.Loading":"Завантаження...","entity_picker.Select":"Вибір","entity_picker.Search":"Пошук...","entity_picker.Change":"Змінити","entity_picker.Edit":"Редагувати","entity_picker.List empty":"Список порожній","entity_picker.Nothing found for":"За запитом нічого не знайдено:"};exports.OneEntityPicker=we;exports.defaultEntityPickerTranslations=Le;
|