@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
18 lines • 131 kB
JavaScript
(function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../notify/index.umd.js"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("../locale/index.umd.js"),require("../response-toolbar/index.umd.js"),require("bignumber.js"),require("lodash-es"),require("../section/index.umd.js"),require("../property-panel/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../list-view/index.umd.js"),require("../loading/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../popover/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer"),require("../tags/index.umd.js"),require("../common/index.umd.js/text-box/use-input-expand"),require("../drawer/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../notify/index.umd.js","../common/index.umd.js","../capsule/index.umd.js","../locale/index.umd.js","../response-toolbar/index.umd.js","bignumber.js","lodash-es","../section/index.umd.js","../property-panel/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../list-view/index.umd.js","../loading/index.umd.js","../designer-canvas/index.umd.js","../data-view/index.umd.js","../checkbox/index.umd.js","../popover/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer","../tags/index.umd.js","../common/index.umd.js/text-box/use-input-expand","../drawer/index.umd.js"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["schema-selector"]={},z.Vue,z.notify,z.common,z.FCapsule,z.locale,z.FResponseToolbar,z.BigNumber,z.LodashES,z.FSection,null,z.FButtonEdit$1,z.dynamicResolver,z.FListView$1,z.FLoading$1,z.designerCanvas,z.dataView,z.FCheckbox,z.FPopover,null,null,null,z.FTags,z.useInputExpand,z.Drawer))})(this,function(z,e,de,K,yt,X,bt,oa,je,ze,la,wt,he,Ct,xt,$e,G,ve,We,ia,sa,ra,Vt,St,Nt){"use strict";var na=Object.defineProperty;var aa=(z,e,de)=>e in z?na(z,e,{enumerable:!0,configurable:!0,writable:!0,value:de}):z[e]=de;var ae=(z,e,de)=>aa(z,typeof e!="symbol"?e+"":e,de);const qe={injectSymbolToken:{type:Symbol},viewOptions:{type:Array,default:[]},viewType:{type:String,default:"Tabs"},editorParams:{type:Object,default:null},showFooter:{type:Boolean,default:!1},validateFunction:{type:Function,default:null}},Tt={tabType:{type:String,default:"default"},autoTitleWidth:{type:Boolean,default:!1},titleLength:{type:Number,default:7},position:{type:String,default:"top"},showDropdown:{type:Boolean,default:!0},scrollStep:{type:Number,default:10},autoResize:{type:Boolean,default:!1},width:{type:Number},height:{type:Number},searchBoxVisible:{type:Boolean,default:!0},titleWidth:{type:Number,default:0},customClass:{type:String,default:""},activeId:{type:String},fill:{type:Boolean,default:!1},justifyContent:{type:String,default:"left"},visible:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},beforeTabSelect:{type:Function,default:null}};function It(t,n,a){const r=new de.FNotifyService,o=e.ref([]),l=e.ref(t.activeId||"");let s="";const i=e.ref(!0),u=e.ref([]),d=e.ref(!0),c=e.ref(0),p=e.computed(()=>{const y=o.value.find(k=>k.props.id===l.value);return(y==null?void 0:y.props.toolbarPosition)==="inHead"});let x;function C(y){x=y}function v(y,V=!0){const k=y.findIndex(R=>R.props.show!==!1&&!R.props.disabled);if(k!==-1){if(l.value=y[k].props.id,!V)return;u.value=[];const R=y[k];R&&R.props.toolbar&&R.props.toolbar.buttons&&R.props.toolbar.buttons.length&&(u.value=[...R.props.toolbar.buttons],d.value=R.props.toolbarVisible)}}function f(y){l.value=y;const V=o.value.find(k=>k.props.id===y);u.value=[],V&&V.props.toolbar&&V.props.toolbar.buttons&&V.props.toolbar.buttons.length&&(u.value=[...V.props.toolbar.buttons],d.value=V.props.toolbarVisible),n.emit("update:activeId",y),n.emit("tabChange",{prevId:s,nextId:l.value})}async function b(y,V,k,R){var M;const A=await((M=t.beforeTabSelect)==null?void 0:M.call(t,{prevId:y,nextId:V}));(typeof A=="boolean"?A:(A==null?void 0:A.canSelect)??!0)?k&&k():(R&&R(),typeof A!="boolean"&&A.message&&(r==null||r.warning({message:A.message,position:"top-center"})))}function S(y){let V=-1;if(!l.value){if(V=y.findIndex(k=>l.value===k.props.id&&k.props.show!==!1&&!k.props.disabled),V>-1)return;s=l.value}v(y,!1),b(s,l.value,()=>{f(l.value),x&&x()},()=>{l.value=s})}function w(y){let V=!1;if(y){const k=o.value.find(R=>R.props.id===y);V=!k||k.props.show===!1||k.props.disabled===!0}if(V)S(o.value);else if(l.value!==y){const k=l.value;b(k,y,()=>{s=k,l.value=y,f(l.value),x&&x()},()=>{l.value=k,n.emit("update:activeId",k)})}else f(l.value)}e.watch(()=>t.activeId,(y,V)=>{y!==V&&t.activeId!==l.value&&w(y)});function O(y){var k;if(t.autoTitleWidth)return;const V=(k=y.value)==null?void 0:k.querySelectorAll(".st-tab-text");if(!(!V||t.tabType==="pill"))for(let R=0;R<V.length;R++){const A=V[R].parentNode;V[R].scrollWidth>A.offsetWidth?V[R].classList.contains("farris-title-text-custom")||V[R].classList.add("farris-title-text-custom"):V[R].classList.remove("farris-title-text-custom")}}const N=y=>{y.preventDefault(),y.stopPropagation()};function j(y,V,k=!1){const R=o.value.findIndex(A=>A.props.id===V);o.value=o.value.filter(A=>A.props.id!==V),l.value===V&&(s=V,l.value="",v(o.value)),N(y),e.nextTick(()=>{c.value++,O(a),k&&(i.value=!0),n.emit("tabRemove",{removeIndex:R,removeId:V,activeId:l.value})})}function F(y,V=!0){const k=o.value.find(R=>R.props.id===y);k&&(k.props.show===!1&&l.value===y?(l.value="",s=y,w("")):k.props.show===!0&&!l.value&&S(o.value),e.nextTick(()=>{c.value++,V&&(i.value=!0)}))}function T(y){l.value!==y&&b(s,y,()=>{s=l.value,f(y),x&&x()},null)}function m(y){o.value.findIndex(k=>k.props.id===y.props.id)===-1&&o.value.push(y),c.value++}function g(y){o.value.findIndex(k=>k.props.id===y.props.id)!==-1&&(o.value.forEach(k=>{k.props.id===y.props.id&&(k=y)}),y.props.id===l.value&&p.value,e.nextTick(()=>{c.value++,O(a)}))}return{activeId:l,addTab:m,changeTitleStyle:O,removeTab:j,selectTab:T,tabPages:o,updateTab:g,toolbarItems:u,needUpdateNavigationLayout:c,checkActiveIdAndSelect:w,toggleShowTab:F,hasInHeadClass:p,setScrollToSelectedTabFunction:C,toolbarVisible:d}}function Bt(t,n,a,r,o){const{activeId:l,removeTab:s,selectTab:i}=o,u=e.computed(()=>{const w={"st-tab-text":!0,"text-truncate":t.tabType==="pill"&&!t.autoTitleWidth,"farris-title-auto":t.autoTitleWidth};return K.getCustomClass(w,n.customTitleClass)}),d=e.computed(()=>({"nav-item":!0,"d-none":n.show!==void 0?!n.show:!1,"f-state-active":n.id===l.value,"f-state-disabled":n.disabled})),c=e.computed(()=>({width:`${n.tabWidth}px`})),p=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:n.id===l.value,disabled:n.disabled})),x=e.reactive({content:n.title,overflowShown:!0});function C(){return t.tabType!=="pill"&&!t.autoTitleWidth?e.withDirectives(e.createVNode("span",{class:u.value,"data-tabid":n.id},[n.title]),[[e.resolveDirective("tooltip"),x]]):e.createVNode("span",{class:u.value,"data-tabid":n.id,title:n.title},[n.title])}const v=e.ref(n.removeable);function f(){return v.value?e.createVNode("span",{class:"st-drop-close",onClick:w=>s(w,n.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]):""}function b(w){i(n.id),t.tabType==="one-page"&&r.scrollToByPaggId(n.id)}function S(){return a.slots.title?e.createVNode("a",{class:p.value,onClick:b,id:`${n.id}-tab-title`},[a.slots.title(a),f()]):n.titleRenderFunction?e.createVNode("a",{class:p.value,onClick:b,id:`${n.id}-tab-title`},[n.titleRenderFunction(),f()]):e.createVNode("a",{class:p.value,onClick:b,id:`${n.id}-tab-title`},[C(),f()])}return e.createVNode("li",{class:d.value,style:c.value},[S()])}function kt(t,n,a,r,o){const{shouldShowNavigationButtons:l}=a,{tabPages:s}=o,i=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":l.value})),u=e.computed(()=>({width:"100%","justify-content":t.justifyContent})),d=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":t.tabType==="fill","nav-pills":t.tabType==="pills","flex-row":t.position==="top"||t.position==="bottom","flex-column":t.position==="left"||t.position==="right"}));return()=>e.createVNode("div",{class:i.value,style:u.value},[e.createVNode("ul",{class:d.value,ref:n},[s.value.map(c=>Bt(t,c.props,c,r,o))])])}function Ft(t,n,a,r,o){const l=e.ref(),{shouldShowNavigationButtons:s}=a,{activeId:i,tabPages:u,selectTab:d}=o,c=e.ref(i.value),p=e.computed(()=>u.value.map(f=>({name:f.props.title,value:f.props.id,show:f.props.show,disabled:f.props.disabled}))),x=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":s.value})),C=e.computed(()=>({width:"100%",display:"flex","justify-content":t.justifyContent}));e.onMounted(()=>{l.value&&(n.value=l.value.$el)});function v(f){d(f)}return e.watch(()=>i.value,f=>{f!==c.value&&(c.value=f)},{immediate:!0}),()=>e.createVNode("div",{class:x.value,style:C.value},[e.createVNode(yt,{items:p.value,modelValue:c.value,"onUpdate:modelValue":f=>c.value=f,onChange:v,ref:l},null)])}function Mt(t,n,a,r){const o=e.ref(),{activeId:l,removeTab:s,tabPages:i,selectTab:u}=r,{hideDropDown:d,searchTabText:c}=n,p=600;let x=null;const C=e.computed(()=>{var y,V;let g=[];return t.searchBoxVisible?g=(y=i.value)==null?void 0:y.filter(k=>k.props.title.includes(c.value)):g=(V=i.value)==null?void 0:V.slice(),g}),v=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":t.searchBoxVisible,show:!d.value,"d-none":d.value}));let f;function b(g){f=g}e.watch(d,g=>{if(f.value)if(g)o.value.style.width=null;else{const y=f.value.querySelector(".farris-tabs-header"),V=f.value.clientHeight-y.clientHeight-20,R=y.querySelector(".farris-tabs-title").clientWidth-20;o.value.style.maxWidth=R+"px",o.value.style.maxHeight=V+"px",e.nextTick(()=>{const{width:A}=o.value.getClientRects()[0];o.value.style.width=A?A+"px":null})}});function S(g){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:g.props.disabled,active:g.props.id===l.value,"d-none":g.props.show!==!0}}function w(g){g.preventDefault(),g.stopPropagation()}function O(){x&&clearTimeout(x)}function N(){d.value||(x=setTimeout(()=>{d.value=!0},p))}function j(g,y){g.stopPropagation(),y.disabled||u(y.id),d.value=!0}function F(g,y){g.stopPropagation(),s(g,y,!0)}function T(g){return g.slots.title?e.createVNode("a",{class:"dropdown-title",id:`${g.props.id}-dropdown-item`},[g.slots.title(g)]):g.props.titleRenderFunction?e.createVNode("a",{class:"dropdown-title",id:`${g.props.id}-dropdown-item`},[g.props.titleRenderFunction()]):e.createVNode("a",{class:"dropdown-title",id:`${g.props.id}-dropdown-item`},[g.props.title])}function m(){return e.createVNode("div",{ref:o,class:v.value,onMouseenter:()=>O(),onMouseleave:()=>N()},[t.searchBoxVisible&&e.createVNode("div",{onClick:g=>w(g),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":g=>c.value=g},null),[[e.vModelText,c.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),C.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[C.value.map(g=>e.createVNode("li",{class:S(g),onClick:y=>j(y,g.props)},[g.props.removeable&&g.props.disabled!==!0&&e.createVNode("span",{class:"float-right st-drop-close",onClick:y=>F(y,g.props.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),T(g)]))]):e.createVNode("div",{class:"dropdown-no-data"},[X.LocaleService.getLocaleValue("tabs.noData")])])}return{renderDropdownMenu:m,setTabsRef:b}}function Ot(t,n,a,r){const{hideDropDown:o}=n,{renderDropdownMenu:l,setTabsRef:s}=Mt(t,n,a,r),i=e.ref(t.showDropdown);function u(){return i.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{o.value=!1}},null),l()])}return{renderMorePagesButtton:u,setTabsRef:s}}function jt(t,n,a,r){const o=e.ref(!1),{selectTab:l,tabPages:s,needUpdateNavigationLayout:i,activeId:u}=r,d=4,c=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!o.value})),p=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!o.value})),x=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!o.value}));function C(w,O){if(!n.value)return;const N=n.value.scrollLeft,j=n.value.scrollWidth-n.value.offsetWidth;if(O>0){if(n.value.scrollLeft>=j)return;n.value.scrollLeft=N+t.scrollStep+w}else if(O<0){if(n.value.scrollLeft<=0)return;n.value.scrollLeft=N-t.scrollStep-w}}function v(w=-1){if(!o.value||!n.value)return;w<0&&(w=s.value.findIndex(T=>T.props.id===u.value));const O=t.tabType==="pills"?".f-capsule-item":".nav-item",N=n.value.querySelectorAll(O),{parentElement:j}=n.value,F=N[w];if(F&&j){const T=j.getBoundingClientRect().left,m=j.getBoundingClientRect().right,g=F.getBoundingClientRect().left,y=F.getBoundingClientRect().right;g<T?C(T-g,-1):m<y&&C(y-m,1),t.tabType==="one-page"&&a.scrollTo(w)}}function f(){var N;if(!n.value)return;const w=n.value,O=(N=n.value)==null?void 0:N.parentElement;o.value=O&&w&&O.offsetWidth<w.scrollWidth-d,o.value&&e.nextTick(()=>{v()})}function b(w){w.disabled||l(w.id)}function S(){["default","one-page"].indexOf(t.tabType)>-1&&e.nextTick(()=>{v()})}return e.watch(i,()=>{f()}),{previousButtonClass:c,nextButtonGroupClass:p,nextButtonClass:x,scrollTab:C,selectAndScrollToTab:b,shouldShowNavigationButtons:o,updateNavigationLayout:f,scrollToSelectedTab:S}}function Pt(t,n){const{tabPages:a}=n,r=e.ref(""),o=e.ref(!0),l=e.computed(()=>t.searchBoxVisible),s=e.computed(()=>l.value?a.value.filter(u=>u.props.title.includes(r.value)):a.value.slice());return e.watch(o,i=>{i||(r.value="")}),{searchTabText:r,hideDropDown:o,shouldShowSearchBox:l,tabsInDropdownMenu:s}}function Lt(t,n,a){const r=".farris-tab-page",{tabPages:o}=a;let l=-1;function s(){if(l<0){const d=document.querySelector(".farris-tabs-header");d&&(l=d.clientHeight)}return l}function i(d){const c=n.value;if(c){const p=n.value.querySelectorAll(r);if(p.length>0){const x=p[d],{offsetTop:C}=x,v=C-s();c.scrollTop=v>0?v:0}}}function u(d){const c=o.value.findIndex(p=>p.props.id===d);c>-1&&i(c)}return{scrollTo:i,scrollToByPaggId:u}}const Rt=["moz","ms","webkit"];function Et(){let t=0;return n=>{const a=new Date().getTime(),r=Math.max(0,16-(a-t)),o=setTimeout(()=>{n(a+r)},r);return t=a+r,o}}function Ht(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=Rt.filter(n=>`${n}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:Et()}Ht(),e.ref("");function Pe(){if(typeof window>"u"||typeof navigator>"u")return!1;const t=navigator.userAgent||navigator.vendor||window.opera,n=[/iPhone/i,/iPod/i,/Android.*Mobile/i,/webOS/i,/BlackBerry/i,/IEMobile/i,/Opera Mini/i,/Harmony/i],a=[/iPad/i,/Android(?!.*Mobile)/i,/Tablet/i,/PlayBook/i,/Kindle/i,/Silk/i];for(const u of a)if(u.test(t))return!1;for(const u of n)if(u.test(t))return!0;if(typeof screen>"u")return!1;const r="ontouchstart"in window||navigator.maxTouchPoints>0,o=screen.width,l=screen.height,s=Math.min(o,l);return!!(r&&s<=768)}function Dt(){const t=Pe();return t&&document.body.classList.add("f-mobile"),t}typeof document<"u"&&Dt();const Ie=e.defineComponent({name:"FTabs",props:Tt,emits:["tabChange","tabRemove","update:activeId","Click"],setup(t,n){const a=e.ref(t.tabType),r=e.shallowRef(),o=Pe(),l=e.ref(t.customClass),s=e.shallowRef();e.shallowRef();const i=e.ref(),u=It(t,n,s),{activeId:d,changeTitleStyle:c,tabPages:p,addTab:x,updateTab:C,toolbarItems:v,checkActiveIdAndSelect:f,toggleShowTab:b,hasInHeadClass:S,toolbarVisible:w}=u,O=Lt(t,r,u),N=jt(t,s,O,u),{previousButtonClass:j,nextButtonClass:F,nextButtonGroupClass:T,scrollTab:m,updateNavigationLayout:g,scrollToSelectedTab:y}=N;u.setScrollToSelectedTabFunction(y);const V=Pt(t,u),k=kt(t,s,N,O,u),R=k,A=Ft(t,s,N,O,u),P=new Map([["default",k],["one-page",R],["pills",A]]);e.computed(()=>{const W=p.value.find(Z=>Z.props.id===d.value);return W==null?void 0:W.slots});const M=e.computed(()=>t.fill),E=(W,Z)=>{n.emit("Click",W,Z,d.value)};e.provide("tabs",{activeId:d,addTab:x,updateTab:C,tabPages:p,tabType:a,shouldFillParentContaner:M,toggleShowTab:b,toolbarVisible:w,clickToolbarItemHandler:E});let h=!1;const B=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":S.value,"farris-tabs-inContent":!S.value,"farris-tabs-nav-fill":t.tabType==="fill","farris-tabs-nav-pills":t.tabType==="pills","d-none":t.showHeader===!1})),L=e.computed(()=>{const W={width:S.value&&t.titleWidth?`${t.titleWidth}%`:""};return W.width&&(W.flex="unset"),W}),D=e.computed(()=>{const W={"farris-tabs":!0,"f-tabs-content-fill":M.value,"flex-column":t.position==="top","flex-column-reverse":t.position==="bottom","flex-row":t.position==="left","flex-row-reverse":t.position==="right","one-page":t.tabType==="one-page"};return l.value&&l.value.split(" ").reduce((Z,ne)=>(Z[ne]=!0,Z),W),W}),q=new ResizeObserver(W=>{W.length&&g()});function se(){i.value&&!h&&(q.observe(i.value),h=!0)}e.watch(()=>t.visible,W=>{e.nextTick(()=>{p.value.length&&f(t.activeId||p.value[0].props.id),g(),c(s),se()})}),e.watch(()=>t.autoTitleWidth,W=>{e.nextTick(()=>{g(),c(s)})}),e.onMounted(()=>{t.visible&&(p.value.length&&f(t.activeId||p.value[0].props.id),e.nextTick(()=>{g(),c(s)}),se())});function te(){return e.createVNode("button",{title:X.LocaleService.getLocaleValue("tabs.leftButton"),type:"button",class:j.value,onClick:()=>{m(0,-1)}},null)}function we(){return e.createVNode("button",{title:X.LocaleService.getLocaleValue("tabs.rightButton"),type:"button",class:F.value,onClick:()=>{m(0,1)}},null)}const{renderMorePagesButtton:me,setTabsRef:Ce}=Ot(t,V,N,u);Ce(r);function xe(){return v.value.length?e.createVNode("div",{class:{"farris-tabs-toolbar":!0,"d-none":!w.value}},[e.createVNode(bt,{class:"f-utils-fill",alignment:S.value?"right":"left",items:v.value,visible:w.value,onClick:E},null)]):null}const re=P.get(t.tabType)||P.get("default");function Ve(){var W,Z,ne,Ne;return e.createVNode("div",{class:B.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(Z=(W=n.slots).headerPrefix)==null?void 0:Z.call(W)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:L.value,ref:i},[!o&&te(),re&&re(),e.createVNode("div",{hidden:o,class:T.value},[we(),me()])]),xe(),e.createVNode("div",{class:"farris-tabs-header-post"},[(Ne=(ne=n.slots).headerSuffix)==null?void 0:Ne.call(ne)])])}e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":M.value}));function Se(){var W,Z;return(Z=(W=n.slots).default)==null?void 0:Z.call(W)}return()=>t.visible?e.createVNode("div",{class:D.value,ref:r},[Ve(),Se()]):null}}),At={tabWidth:{type:Number},id:{type:String,default:""},customTitleClass:{type:String,default:""},titleOverflow:{type:Boolean,default:!1},title:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removeable:{type:Boolean,default:!1},show:{type:Boolean,default:!0},toolbar:{type:Object,default:{}},toolbarPosition:{type:String,default:"inHead"},toolbarVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function}};function _e(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Le=e.defineComponent({name:"FTabPage",props:At,emits:[],setup(t,n){const a=e.inject("tabs");K.isMobilePhone();const r=e.ref(t.show),o={slots:n.slots,props:t},l=e.ref((a==null?void 0:a.tabType.value)||"default");e.onMounted(()=>{const f=a==null?void 0:a.tabPages.value.findIndex(b=>b.props.id===t.id);(!f||f===-1)&&(a==null||a.addTab(o))}),e.onUnmounted(()=>{});const s=e.computed(()=>(t==null?void 0:t.id)===(a==null?void 0:a.activeId.value)),i=e.computed(()=>({display:s.value?"":"none"}));e.watch(()=>t,f=>{a==null||a.updateTab({props:f,slots:n.slots})},{immediate:!0,deep:!0}),e.watch(()=>t.show,f=>{r.value=f,a==null||a.toggleShowTab(t.id)}),e.watch(()=>t.toolbarVisible,f=>{s.value&&a&&(a.toolbarVisible.value=f)});function u(){var b,S;const f=(S=(b=n.slots).default)==null?void 0:S.call(b);return e.createVNode(ze,{"main-title":t.title,class:["farris-tab-page",r.value?"":"f-tab-d-none"]},_e(f)?f:{default:()=>[f]})}function d(f,b){a&&(a.activeId.value=t.id,a.clickToolbarItemHandler&&a.clickToolbarItemHandler(f,b))}function c(){var b,S;const f=(S=(b=n.slots).default)==null?void 0:S.call(b);return e.createVNode(ze,{customClass:"section-in-tab is-mobile",onClick:d,visible:t.show,"main-title":t.title,buttons:t.toolbar.buttons,"button-position":t.toolbar.position||t.toolbarPosition,"buttons-visible":t.toolbarVisible},_e(f)?f:{default:()=>[f]})}const p=e.computed(()=>{var b;return{"farris-tab-page":!0,"f-tab-d-none":!r.value,"f-tab-active":s.value&&a&&((b=a.shouldFillParentContaner)==null?void 0:b.value)}});function x(){var b,S;const f=(S=(b=n.slots).default)==null?void 0:S.call(b);return e.createVNode("div",{class:p.value,style:i.value},[f])}const v=new Map([["default",x],["one-page",u],["mobile",c]]).get(l.value)||x;return()=>v()}});Ie.install=t=>{t.component(Ie.name,Ie),t.component(Le.name,Le)};const zt=new Map([["appearance",he.resolveAppearance]]),$t={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/search-box.schema.json",title:"search-box",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a search-box",type:"string"},type:{description:"The type string of search-box component",type:"string",default:"search-box"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]};function Wt(t,n,a){return n}const qt={title:"search-box",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Re={buttonContent:{type:String,default:'<i class="f-icon f-icon-search"></i>'},customClass:{type:String,default:""},modelValue:{type:String,default:""},popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},data:{type:Array,default:[]},placeholder:{type:String,default:"请输入关键词"},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean},disable:{default:!1,type:Boolean},showDropdown:{default:!0,type:Boolean},updateOn:{default:"change",type:String}},Ue=he.createPropsResolver(Re,$t,zt,Wt,qt),_t={data:{type:Array,default:[]},onConfirmResult:{type:Function,default:()=>{}},onSearchedValue:{type:Function,default:()=>{}},idField:{default:"id",type:String},textField:{default:"name",type:String},maxHeight:{default:350,type:Number},loading:{default:!1,type:Boolean}},Ge=e.defineComponent({name:"FSearchBoxContainer",props:_t,emits:["confirmResult","searchedValue"],setup(t,n){const a=e.ref(t.data),r=e.ref(),{slots:o}=n,l=e.computed(()=>({"search-box-container":!0,"f-utils-overflow-xhya":!0,"position-relative":!0}));function s(c){var p;(p=r.value)==null||p.search(c)}function i(c){c.length&&(n.emit("confirmResult",c[0][t.textField]),n.emit("searchedValue",c))}function u(c){return o.default?e.createVNode(e.Fragment,null,[o.default(c)]):e.createVNode("span",null,[c.item[t.textField]])}const d=e.computed(()=>{const c={};return c.padding="8px",t.maxHeight!==void 0&&t.maxHeight>0&&(c.maxHeight=`${t.maxHeight}px`),c});return e.watch(()=>t.loading,c=>{}),e.watch(()=>t.data,c=>{c!==a.value&&(a.value=c),r.value.updateDataSource(c)}),n.expose({search:s}),()=>{const c={content:u};return e.createVNode("div",{class:l.value,style:d.value},[e.createVNode(xt,{ref:"loadingInstance",isActive:t.loading},null),e.createVNode(Ct,{ref:r,itemClass:"dropdown-item",data:a.value,view:"ContentView",onClickItem:p=>i(p.data),idField:t.idField,textField:t.textField,titleField:t.textField,valueField:t.idField},c)])}}}),Q=e.defineComponent({name:"FSearchBox",props:Re,emits:["update:modelValue","change","selectedValue","clickButton"],setup(t,n){e.ref(t.data);const a=e.ref(),r=e.ref(),o=e.ref(t.placeholder),l='<i class="f-icon f-icon-clockwise f-icon-spin"></i>',s=e.computed(()=>t.loading?l:t.buttonContent);e.ref(t.editable);const i=e.ref(t.modelValue);e.watch(i,f=>{var b;(b=r.value)==null||b.search(f),n.emit("update:modelValue",f)}),e.watch(()=>t.modelValue,f=>{i.value=f});function u(f){a.value.commitValue(f)}function d(f){const b=i.value;n.emit("change",f,{oldValue:b,newValue:f})}function c(f){n.emit("selectedValue",f)}function p(f){n.emit("clickButton",f)}function x(){var f;(f=a.value)==null||f.togglePopup()}function C(){var f;(f=a.value)==null||f.hidePopup()}function v(){var f;(f=a.value)==null||f.showPopup()}return n.expose({togglePopup:x,hidePopup:C,showPopup:v}),()=>{const f={default:n.slots.default};return e.createVNode(wt,{ref:a,"button-content":s.value,"custom-class":t.customClass,updateOn:t.updateOn,placeholder:o.value,onChange:b=>d(b),onClickButton:b=>p(b),disable:t.disable,"enable-clear":!0,"button-behavior":"Execute",modelValue:i.value,"onUpdate:modelValue":b=>i.value=b,"popup-host":t.popupHost,"popup-right-boundary":t.popupRightBoundary,"popup-offset-x":t.popupOffsetX,"popup-on-input":t.showDropdown,"popup-on-focus":t.showDropdown,limitContentBySpace:!0,placement:"auto"},{default:()=>[t.showDropdown&&e.createVNode(Ge,{ref:r,data:t.data,idField:t.idField,textField:t.textField,onConfirmResult:u,onSearchedValue:b=>c(b),loading:t.loading,maxHeight:t.maxHeight},f)],...n.slots})}}}),Ut=e.defineComponent({name:"FSearchBoxDesign",props:Re,emits:["update:modelValue","change"],setup(t,n){const a=e.ref(t.data),r=e.ref(),o=e.ref(),l=e.ref("请输入关键词"),s=e.ref('<i class="f-icon f-icon-search"></i>'),i=e.ref(t.modelValue),u=e.ref(),d=e.inject("design-item-context"),c=$e.useDesignerComponent(u,d);e.onMounted(()=>{u.value.componentInstance=c}),n.expose(c.value),e.watch(i,C=>{var v;(v=o.value)==null||v.search(C),n.emit("update:modelValue",C)}),e.watch(()=>t.modelValue,C=>{i.value=C});function p(C){r.value.commitValue(C)}function x(C){n.emit("change",C)}return()=>e.createVNode("div",{ref:u},[e.createVNode(e.resolveComponent("f-button-edit"),{ref:r,"button-content":s.value,placeholder:l.value,onChange:x,"enable-clear":!0,"button-behavior":"Execute",modelValue:i.value,"onUpdate:modelValue":C=>i.value=C,"popup-host":t.popupHost,"popup-right-boundary":t.popupRightBoundary,"popup-offset-x":t.popupOffsetX,"popup-on-input":!0,"popup-on-focus":!0},{default:()=>[e.createVNode(Ge,{ref:o,data:a.value,onConfirmResult:p},null)]})])}});Q.install=t=>{t.component(Q.name,Q)},Q.register=(t,n,a,r)=>{t["search-box"]=Q,n["search-box"]=Ue},Q.registerDesigner=(t,n,a)=>{t["search-box"]=Ut,n["search-box"]=Ue};const Ye={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},customClass:{type:String,default:""},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},idField:{type:String,default:"id"},valueField:{type:String,default:"id"},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},view:{type:String,default:"ContentView"},size:{type:String,default:"default"},placeholder:{type:String,default:""},header:{type:String,default:"ContentHeader"},headerClass:{type:String,default:""},itemClass:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemStyle:{type:[String,Function],default:"",validator:t=>typeof t=="string"||typeof t=="function"},itemContentClass:{type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0},checkBeforeRemoveItem:{type:Function,default:null},headerTemplate:{type:Object},contentTemplate:{type:Object},footerTemplate:{type:Object},emptyTemplate:{type:Object},pagination:{type:Object,default:{enable:!1,size:20}},showActiveWhenMultiSelect:{type:Boolean,default:!0},allowDelete:{type:Boolean,default:!0}};function Gt(t,n){function a(l){const s=[];let i=l.nextNode();for(;i;)s.push(i),i=l.nextNode();return s}function r(l,s){const i=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return a(i).map(p=>({textNode:p,text:(p.textContent||"").toLocaleLowerCase()})).map(({textNode:p,text:x})=>{const C=[];let v=0;for(;v<x.length;){const f=x.indexOf(s,v);if(f===-1)break;C.push(f),v=f+s.length}return C.map(f=>{const b=new Range;return b.setStart(p,f),b.setEnd(p,f+s.length),b})}).flat()}function o(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!n))return;const s=r(n.value,l.toLocaleLowerCase()),i=new Highlight(...s);CSS.highlights.set("search-result",i)}return{search:o}}function Xe(t,n,a,r,o,l,s,i,u,d){const c=e.ref(t.size),p=e.ref(t.textField),x=e.ref(t.titleField),C=e.ref(t.disableField),v=e.computed(()=>{var g,y;return((g=t.selection)==null?void 0:g.multiSelect)&&((y=t.selection)==null?void 0:y.showCheckbox)}),{onMouseenterItem:f,onMouseoverItem:b,onMouseoutItem:S}=l,{getKey:w,listViewItemClass:O,listViewItemStyle:N,onCheckItem:j,onClickItem:F}=s,T=e.computed(()=>{const g={"text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"};return t.itemClass?g:{margin:c.value==="small"?"0.25rem 0":"8px 0",...g}});function m(g,y,V){return g.checked=i.findIndexInSelectedItems(g)>-1,e.createVNode("li",{class:O(g,y),id:w(g,y),key:w(g,y),style:N(g,y),onClick:k=>F(g,y,k),onMouseenter:k=>f(k,g,y),onMouseover:k=>b(k,g,y),onMouseout:k=>S(k,g,y)},[v.value&&e.createVNode("div",{class:"f-list-select",onClick:k=>k.stopPropagation()},[e.createVNode(ve.FCheckbox,{id:"list-"+w(g,y),customClass:"listview-checkbox float-left",disabled:g[C.value],checked:g.checked,"onUpdate:checked":k=>g.checked=k,onChange:k=>{j(g,y,!k.checked)}},null)]),e.createVNode("div",{class:"f-list-content"},[e.createVNode("div",{class:t.itemContentClass,style:T.value,title:g.raw[x.value]||g.raw[p.value]},[g.raw[p.value]])])])}return{renderItem:m}}function Yt(t,n,a,r,o,l,s,i,u,d){const c=e.ref(t.multiSelect),p=e.ref(t.disableField),x=e.ref(t.textField),{onMouseenterItem:C,onMouseoverItem:v,onMouseoutItem:f}=l,{getKey:b,listViewItemClass:S,listViewItemStyle:w,onCheckItem:O,onClickItem:N,updateSelectedItems:j}=s;function F(m,g,y){return t.contentTemplate?e.createVNode(e.Fragment,null,[t.contentTemplate({item:m.raw,index:g,selectedItem:y})]):n.slots.content?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.content({item:m.raw,index:g,selectedItem:y})]):e.createVNode("div",{style:"margin: 10px 0;"},[m.raw[x.value||"name"]])}function T(m,g,y){return e.createVNode("li",{class:S(m,g),id:b(m,g),key:b(m,g),style:w(m,g),onClick:V=>N(m,g,V),onMouseenter:V=>C(V,m,g),onMouseover:V=>v(V,m,g),onMouseout:V=>f(V,m,g)},[c.value&&e.createVNode("div",{class:"f-list-select",onClick:V=>V.stopPropagation()},[e.createVNode(ve.FCheckbox,{id:"list-"+b(m,g),customClass:"listview-checkbox",disabled:m[p.value],checked:m.checked,"onUpdate:checked":V=>m.checked=V,onChange:V=>{O(m,g,!V.checked),j()}},null)]),e.createVNode("div",{class:"f-list-content"},[F(m,g,y)])])}return{renderItem:T}}function Xt(t,n,a,r,o,l,s,i,u,d){const c=e.ref(t.multiSelect),p=e.ref(t.disableField),x=e.ref(t.textField),{onMouseenterItem:C,onMouseoverItem:v,onMouseoutItem:f}=l,{getKey:b,listViewItemClass:S,onCheckItem:w,onClickItem:O}=s,{dragstart:N,dragenter:j,dragover:F,dragend:T}=r,{removeItem:m}=u,g=e.computed(()=>({margin:c.value?"10px 0":"10px 0px 10px 14px"}));function y(P,M=""){const E=P.target;E.title=E.scrollWidth>E.clientWidth?M:""}function V(P){return e.createVNode("div",{style:g.value,onMouseenter:M=>y(M,P.raw[x.value||"name"])},[P.raw[x.value||"name"]])}function k(){return n.slots.itemContent?n.slots.itemContent:V}const R=k();function A(P,M,E){return e.createVNode("li",{class:S(P,M),id:b(P,M),key:b(P,M),onClick:h=>O(P,M,h),onMouseenter:h=>C(h,P,M),onMouseover:h=>v(h,P,M),onMouseout:h=>f(h,P,M),draggable:"true",onDragstart:h=>N(h,P,M),onDragenter:h=>j(h,M),onDragend:h=>T(h,P),onDragover:h=>F(h)},[c.value&&e.createVNode("div",{class:"f-list-select",onClick:h=>h.stopPropagation()},[e.createVNode(ve.FCheckbox,{id:"list-"+b(P,M),customClass:"listview-checkbox",disabled:P[p.value],checked:P.checked,"onUpdate:checked":h=>P.checked=h,onChange:h=>w(P,M,!h.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[R(P)]),t.allowDelete&&e.createVNode("div",{class:"f-list-remove",onClick:h=>{h.stopPropagation(),m(M)}},[e.createVNode("div",{class:"f-list-remove-icon"},[e.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),e.createVNode("div",{class:"f-list-handle"},[e.createVNode("div",null,[e.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:A}}function Kt(t,n,a,r,o,l,s,i,u,d){var b;const c=e.ref(((b=t.group)==null?void 0:b.groupFields)||[]),{collpaseGroupIconClass:p}=o,{toggleGroupRow:x}=d;function C(S,w){S.stopPropagation(),w.collapse=!w.collapse,a.value=x(w.collapse?"collapse":"expand",w,a.value)}function v(S,w,O){return n.slots.group?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.group({item:S.raw,index:w,selectedItem:O})]):e.createVNode("div",{class:"f-navlookup-recentHeader",onClick:N=>C(N,S)},[e.createVNode("div",{class:"fv-grid-group-row-icon"},[e.createVNode("span",{class:p(S)},null)]),e.createVNode("div",{class:"f-navlookup-recommandLabel"},[S.raw[c.value[S.layer]]])])}function f(S,w,O){return S.layer>-1&&v(S,w,O)}return{renderItem:f}}function Zt(t,n,a,r){const{dataView:o}=a,{updateSelectedItems:l}=r;function s(i){if(i>-1&&i<o.value.length){if(t!=null&&t.checkBeforeRemoveItem&&!t.checkBeforeRemoveItem(o.value[i]))return;const u=o.value.splice(i,1);l(),n.emit("removeItem",u[0])}}return{removeItem:s}}function Jt(t,n,a,r,o,l,s,i,u,d){const c=e.ref(t.view),p=e.ref(t.view==="CardView"),x=e.ref({}),C=Zt(t,n,r,u),v=e.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":p.value,"flex-wrap":p.value})),f=e.computed(()=>!!a.value&&a.value.length>0),b=e.computed(()=>a.value.length===0);e.computed(()=>b.value&&!n.slots.empty);function S(){return c.value==="SingleView"?Xe:c.value==="DraggableView"?Xt:(c.value==="ContentView"||c.value==="CardView")&&(t.contentTemplate||n.slots.content)?Yt:Xe}const w=S(),{renderItem:O}=w(t,n,a,d,o,l,u,s,C,i),{renderItem:N}=Kt(t,n,a,d,o,l,u,s,C,i),j=[O,N];function F(){return a.value.filter(g=>g.visible!==!1).map((g,y)=>j[g.type](g,y,x))}function T(){return e.createVNode("div",{class:"f-list-view-emptydata",style:"margin: 0 auto;"},[e.createVNode("p",{class:"f-empty-title"},[t.emptyTemplate?t.emptyTemplate():n.slots.empty?n.slots.empty():X.LocaleService.getLocaleValue("listView.emptyMessage")])])}function m(){return e.createVNode("ul",{class:v.value,style:"list-style: none;"},[f.value&&F(),b.value&&T()])}return{renderListArea:m}}function Qt(t,n,a,r,o){const{showSelectAll:l,selectAll:s,unSelectAll:i,selectAllStatus:u,indeterminateStatus:d}=r;function c(C){C?s():i()}const p=e.computed(()=>"f-list-view-group-item f-combo-list-item f-un-select");function x(){return e.createVNode("div",{class:"f-list-view-header"},[l.value&&o.dataView.value.length>0&&e.createVNode("ul",{class:"f-list-view-group f-list-view-group-multiselect",style:"list-style: none;"},[e.createVNode("li",{class:p.value},[e.createVNode("div",{class:"f-list-select"},[e.createVNode(ve,{customClass:"listview-checkbox float-left",modelValue:u.value,indeterminate:d.value,"onUpdate:modelValue":C=>c(C)},null)])])]),n.slots.header&&n.slots.header()])}return{renderHeader:x}}function Ke(t,n,a,r,o){const l=e.ref(t.headerClass),s=e.ref(t.placeholder),i=e.ref(""),u=e.computed(()=>!i.value),d=e.computed(()=>!!i.value),{showSelectAll:c,selectAll:p,unSelectAll:x,selectAllStatus:C,indeterminateStatus:v}=r,f=e.computed(()=>"f-list-view-group-item f-combo-list-item f-un-select");function b(j){i.value=""}function S(j){j?p():x()}e.watch(i,j=>{t.enableHighlightSearch&&a.search(j),n.emit("afterSearch",j)});const w=e.computed(()=>{const j={"form-group":!0,"farris-form-group":!0};return l.value&&l.value.split(" ").reduce((T,m)=>(T[m]=!0,T),j),j});function O(j){}function N(){return e.createVNode("div",{class:"f-list-view-header",onClick:e.withModifiers(()=>O,["prevent","stop"])},[c.value&&o.dataView.value.length>0&&e.createVNode("ul",{class:"f-list-view-group f-list-view-group-multiselect",style:"list-style: none;"},[e.createVNode("li",{class:f.value},[e.createVNode("div",{class:"f-list-select"},[e.createVNode(ve,{customClass:"listview-checkbox float-left",modelValue:C.value,indeterminate:v.value,"onUpdate:modelValue":j=>S(j)},null)])])]),e.createVNode("div",{class:w.value},[e.createVNode("div",{class:"farris-input-wrap"},[e.createVNode("div",{class:"f-cmp-inputgroup"},[e.createVNode("div",{class:"input-group f-state-editable"},[e.withDirectives(e.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":j=>i.value=j,name:"input-group-value",type:"text",placeholder:s.value,autocomplete:"off"},null),[[e.vModelText,i.value]]),e.createVNode("div",{class:"input-group-append"},[d.value&&e.createVNode("span",{class:"input-group-text input-group-clear",onClick:j=>b()},[e.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),u.value&&e.createVNode("span",{class:"input-group-text"},[e.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:N}}function en(){const t=e.ref(""),n=e.ref(-1),a=e.ref(""),r=e.ref(-1),o=e.ref(!1);function l(p,x,C){r.value=C}function s(p,x,C){o.value||(r.value=C)}function i(p,x,C){r.value=-1}function u(){o.value=!0}function d(){o.value=!1}function c(){n.value=-1,t.value=""}return{activeIndex:n,focusedItemId:a,hoverIndex:r,clearActiveItem:c,onMouseenterItem:l,onMouseoverItem:s,onMouseoutItem:i,resumeHover:d,suspendHover:u}}function tn(t,n,a,r,o){const l=e.ref(t.idField),{dataView:s}=a,i=e.ref(-1),u=e.ref(!1),{activeIndex:d,focusedItemId:c,hoverIndex:p,resumeHover:x,suspendHover:C}=r;let v,f=0,b=0,S=null,w=null;const O=10,N=50;function j(P){if(!P)return null;const{overflowY:M}=getComputedStyle(P);return M==="auto"||M==="scroll"?P:j(P.parentElement)}function F(P,M){w&&clearInterval(w),w=window.setInterval(()=>{M==="up"?P.scrollTop-=O:P.scrollTop+=O},16)}function T(){w&&(clearInterval(w),w=null)}function m(P){const M=P.target;if(S||(S=j(M)),!S){T();return}const E=S.getBoundingClientRect(),h=P.clientY,B=h-E.top,L=E.bottom-h;B<N&&S.scrollTop>0?F(S,"up"):L<N&&S.scrollTop<S.scrollHeight-S.clientHeight?F(S,"down"):T()}function g(P,M){const E=P-f,h=M-b;v.style.left=parseInt(v.style.left)+E+"px",v.style.top=parseInt(v.style.top)+h+"px",f=P,b=M}function y(P){const{left:M,top:E}=P.getBoundingClientRect(),h=P.cloneNode(!0);return h.className=h.className+" f-listview-drag-moving",h.style.cssText=`
position:absolute;
left:${M}px;
top:${document.documentElement.scrollTop?E+document.documentElement.scrollTop:E}px;
z-index: 999999;
pointer-events: none;
border-radius: 10px;
margin: 4px 2px;
display: flex;
align-items: center;
float: none;
text-align: initial;
width:${getComputedStyle(P).width};
height:${getComputedStyle(P).height};
`,h.children[0].style.cssText="padding: 0 0 0 14px",h.children[0].children[0].style.cssText=`
margin: 10px 0px 10px 14px;
overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
`,h.children[1].style.cssText="flex:1 1 auto; width:100%",h.children[2].style.cssText="padding: 0 14px 0 0",h.children[2].children[0].style.cssText="display: initial",document.body.appendChild(h),h}function V(P,M,E){if(P.stopPropagation(),C(),M){if(v=y(P.target),P.dataTransfer){const h=new Image;h.src="",P.dataTransfer.setDragImage(h,0,0)}f=P.pageX,b=P.pageY,setTimeout(()=>{i.value=E,u.value=!0,M.moving=!0})}}function k(P,M){if(P.preventDefault(),i.value!==M&&i.value!==-1){const E=s.value[i.value],h=o.value[i.value];E&&h&&(s.value.splice(i.value,1),s.value.splice(M,0,E),o.value.splice(i.value,1),o.value.splice(M,0,h),o.value.forEach((B,L)=>{B.index=L,B.raw.__fv_index__=L}),i.value=M,g(P.pageX,P.pageY))}}function R(P){P.preventDefault(),P.dataTransfer&&(P.dataTransfer.dropEffect="move"),g(P.pageX,P.pageY),m(P)}function A(P,M){var h,B;T(),S=null,M&&(M.moving=!1,v&&(document.body.removeChild(v),v=null)),s.value.forEach((L,D)=>{L.__fv_index__=D}),o.value.forEach((L,D)=>{L.index=D,L.raw&&(L.raw.__fv_index__=D)}),u.value=!1,x();const E=((h=M.raw)==null?void 0:h.__fv_index__)??0;p.value=E,d.value=E,c.value=(B=M.raw)==null?void 0:B[l.value],n.emit("change",s.value),n.emit("activeChange",[M.raw])}return{dragstart:V,dragenter:k,dragover:R,dragend:A,isDragging:u}}function nn(t,n,a,r,o,l){var A,P;const s=e.ref(t.idField),i=e.ref(t.disableField),u=e.ref(t.draggable);e.ref(t.itemClass);const d=e.ref(((A=t.selection)==null?void 0:A.multiSelect)??!1),c=e.ref(((P=t.selection)==null?void 0:P.multiSelectMode)||"DependOnCheck"),{isDragging:p}=r,{activeIndex:x,focusedItemId:C,hoverIndex:v}=o,{clearSelection:f,getSelectedItems:b,toggleSelectItem:S,currentSelectedDataId:w,multiSelectOnlyOnCheck:O}=l,N=e.ref(b()),j=M=>N.value.length===0?!1:N.value.some(E=>{let h="";return E.data?h=E.data[s.value]:h=E[s.value],h===M});function F(){N.value=b()}function T(M,E){return M.raw[s.value]!=null?M.raw[s.value]+"_"+E:""}function m(M,E){const h={"f-list-view-group-item":!0,"f-list-view-draggable-item":u.value,"f-un-click":!M.checked,"f-un-select":!!M.raw[i.value],"f-listview-active":d.value&&j(T(M,E))&&t.showActiveWhenMultiSelect||!d.value&&M.raw[s.value]===w.value||d.value&&!t.showActiveWhenMultiSelect&&M.raw[s.value]===w.value,"f-listview-hover":!p.value&&E===v.value,moving:!!M.moving};if(typeof t.itemClass=="string")return K.getCustomClass(h,t.itemClass);if(typeof t.itemClass=="function"){const B=t.itemClass(M);return K.getCustomClass(h,B)}return h}function g(M,E){const h={};if(typeof t.itemStyle=="string")return K.getCustomStyle(h,t.itemStyle);if(typeof t.itemStyle=="function"){const B=t.itemStyle(M);return K.getCustomStyle(h,B)}return h}const y=e.computed(()=>!d.value);function V(M,E,h){M.checked=h,!M.raw[i.value]&&(y.value&&(C.value=M.raw[s.value]),S(M))}const k=e.computed(()=>!d.value||d.value&&c.value==="OnCheckAndClick");function R(M,E,h){if(M.raw[i.value]){h==null||h.preventDefault(),h==null||h.stopPropagation();return}w.value=M.raw[s.value],C.value=M.raw[s.value],x.value=E,k.value&&(S(M),F()),n.emit("clickItem",{data:N.value,index:E,dataItem:M.raw}),n.emit("activeChange",N.value)}return{getKey:T,selectedItems:N,listViewItemClass:m,listViewItemStyle:g,updateSelectedItems:F,onCheckItem:V,onClickItem:R}}const ee=e.defineComponent({name:"FListView",props:Ye,emits:["afterSearch","checkValuesChange","clickItem","selectItem","unSelectItem","selectionChange","removeItem","change","activeChange","pageIndexChanged","pageSizeChanged","changed","selectionUpdate"],setup(t,n){var pe;const a=e.ref(!1),r=e.ref(),o=e.ref(!0),l=e.ref(((pe=t.rowOption)==null?void 0:pe.rowHeight)||28),s=e.ref(!1),i=e.ref([]),u=0,d=e.ref(t.columns),c=G.useFilter(t,n),p=G.useIdentify(t),x=G.useHierarchy(t),C=G.useGroupData(t,p),v=G.useDataView(t,new Map,c,x,p),f=G.useSelection(t,v,p,i,n),b=Gt(t,r),S=G.usePagination(t,v),w=e.computed(()=>v.dataView.value.length),O=G.useRow(t,n,f,p),N=G.useEdit(t,n,p,O,i),j=G.useVisualDataBound(t,v,l),F=G.useVisualDataCell(t,N,j),T=G.useVisualDataRow(t,v,N,x,p,j,F,l),m=G.useVisualGroupRow(t,p,F,T),g=G.useVisualSummaryRow(t,p,F,T),y=G.useVisualData(t,d,v,w,u,T,m,g),{getVisualData:V}=y;i.value=V(0,w.value+u-1);const k=e.computed(()=>{const $={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&($[`${t.size}-item`]=!0),K.getCustomClass($,t.customClass)}),R=e.computed(()=>!!n.slots.footer||o.value);function A(){return t.header==="SearchBar"?Ke:t.header==="ContentHeader"?Qt:Ke}const P=A(),{renderHeader:M}=P(t,n,b,f,v),E=en(),h=tn(t,n,v,E,i),B=nn(t,n,i,h,E,f),{renderListArea:L}=Jt(t,n,i,v,C,E,f,y,B,h);function D($){b.search($)}function q($){$&&(v.load($),i.value=V(0,w.value+u-1))}function se(){f.clearSelection(),E.clearActiveItem()}function te(){return B.selectedItems.value}function we(){return B.selectedItems.value.map($=>$[p.idField.value])}function me($){f.selectedValues.value=$,B.updateSelectedItems()}function Ce(){return f.currentSelectedDataId.value}function xe($){O.activeRowById($)}function re($){const J=p.idField.value,ce=i.value.find(Te=>Te.raw[J]===$),ge=i.value.findIndex(Te=>Te.raw[J]===$);ce&&ge>-1&&B.onClickItem(ce,ge)}function Ve($){const J=p.idField.value,ce=i.value.find(ge=>ge.raw[J]===$);ce&&O.changeRow(ce)}function Se($){S.updatePagination($)}function W($){return i.value.filter(J=>$.includes(J.raw[t.idField]))}n.expose({search:D,updateDataSource:q,clearSelection:se,getSelections:te,updateSelectionByIds:me,getSelectionIds:we,activeRowById:xe,getCurrentRowId:Ce,clickRowItemById:re,updatePagination:Se,getVisibleDataByIds:W,selectRowById:Ve}),e.watch(()=>t.selectionValues,($,J)=>{$!==J&&me($)});const Z=G.useSidebar(t,f),{sidebarWidth:ne,showSidebarCheckBox:Ne}=Z,De=G.useColumn(t,n),{applyColumnSorter:Oe,columnContext:Ae,updateColumnRenderContext:gt}=De;return G.useVirtualScroll(t,v,i,Ae,y,w,u,ne,l,a,N),()=>e.createVNode("div",{class:k.value},[M(),e.createVNode("div",{ref:r,class:"f-list-view-content",onMouseover:()=>{s.value||(s.value=!0)},onMouseleave:()=>{s.value&&(s.value=!1)}},[L()]),R.value&&e.createVNode("div",{class:"f-list-view-footer"},[t.footerTemplate?t.footerTemplate():n.slots.footer&&n.slots.footer()])])}}),Ze=e.defineComponent({name:"FListViewTable",props:Ye,emits:["outputValue","currentEvent","selectionChanged"],setup(t,n){const a=[{name:"任芳",code:"1.PO20198989001",date:"2024-02-19",desc:"导游1",amount:63.85,avatar:"./assets/avatar1.png"},{name:"戴秀兰",code:"2.PO20198989002",date:"2024-03-17",desc:"导游2",amount:60.13,avatar:"./assets/avatar2.png"},{name:"尹磊",code:"3.PO20198989003",date:"2024-04-09",desc:"导游3",amount:36.54,avatar:"./assets/avatar3.png"},{name:"赵明",code:"4.PO20198989004",date:"2024-03-27",desc:"导游4",amount:52.76,avatar:"./assets/avatar4.png"},{name:"吕洋",code:"5.PO20198989005",date:"2024-11-17",desc:"导游5",amount:84.13,avatar:"./assets/avatar5.png"}],r=e.computed(()=>t.data.length>0?t.data:a);return()=>{var o;return e.createVNode(e.Fragment,null,[(o=r.value)==null?void 0:o.map(l=>e.createVNode("div",{class:"f-template-listview-row"},[e.createVNode("div",{class:"list-view-item-title"},[e.createVNode("div",{class:"item-title-img"},[e.createVNode("img",{src:l.avatar,alt:"",style:"width: 44px;"},null)]),e.createVNode("div",{class:"item-title"},[e.createVNode("p",{class:"item-title-heading"},[l.code]),e.createVNode("p",{class:"item-title-text"},[l.desc])])]),e.createVNode("div",{class:"list-view-item-content"},[e.createVNode("div",{class:"content-message"},[e.createVNode("div",{class:"ower"},[e.createVNode("p",null,[e.createTextVNode("创建人")]),e.createVNode("p",{class:"con"},[l.name])]),e.createVNode("div",{class:"date"},[e.createVNode("p",null,[e.createTextVNode("创建时间")]),e.createVNode("p",{class:"con"},[l.date])])])])]))])}}});ee.install=t=>{t.component(ee.name,ee),t.component(Ze.name,Ze)};const an=new Map([["appearance",he.resolveAppearance]]),on={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/pagination.schema.json",title:"pagination",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a pagination",type:"string"},type:{description:"The type string of pagination component",type:"string",default:"pagination"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""}},required:["id","type"]},ln={title:"pagination",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",typ