UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 9.57 kB
(function(f,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js"],n):(f=typeof globalThis<"u"?globalThis:f||self,n(f.accordion={},f.Vue,f.LodashES,f.dynamicResolver,f.designerCanvas))})(this,function(f,n,N,I,F){"use strict";const x={},S={};function O(e){const{properties:t,title:c,ignore:r}=e,o=r&&Array.isArray(r),p=Object.keys(t).reduce((d,u)=>((!o||!r.find(h=>h===u))&&(d[u]=t[u].type==="object"&&t[u].properties?O(t[u]):N.cloneDeep(t[u].default)),d),{});if(c&&(!o||!r.find(d=>d==="id"))){const d=c.toLowerCase().replace(/-/g,"_");p.id=`${d}_${Math.random().toString().slice(2,6)}`}return p}function k(e,t){const c=O(t);return Object.keys(c).reduce((r,o)=>(Object.prototype.hasOwnProperty.call(e,o)&&(r[o]&&N.isPlainObject(r[o])&&N.isPlainObject(e[o]||!e[o])?Object.assign(r[o],e[o]||{}):r[o]=e[o]),r),c),c}function P(e,t){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,o)=>{if(t.has(o)){const p=t.get(o);if(typeof p=="string")r[p]=e[o];else{const d=p(o,e[o],e);Object.assign(r,d)}}else r[o]=e[o];return r},{})}function q(e,t,c=new Map){const r=k(e,t);return P(r,c)}function M(e={}){function t(s,a,i,l){if(typeof i=="number")return l[s].length===i;if(typeof i=="object"){const m=Object.keys(i)[0],g=i[m];if(m==="not")return Number(l[s].length)!==Number(g);if(m==="moreThan")return Number(l[s].length)>=Number(g);if(m==="lessThan")return Number(l[s].length)<=Number(g)}return!1}function c(s,a,i,l){return l[s]&&l[s].propertyValue&&String(l[s].propertyValue.value)===String(i)}const r=new Map([["length",t],["getProperty",c]]);Object.keys(e).reduce((s,a)=>(s.set(a,e[a]),s),r);function o(s,a){const i=s;return typeof a=="number"?[{target:i,operator:"length",param:null,value:Number(a)}]:typeof a=="boolean"?[{target:i,operator:"getProperty",param:s,value:!!a}]:typeof a=="object"?Object.keys(a).map(l=>{if(l==="length")return{target:i,operator:"length",param:null,value:a[l]};const m=l,g=a[l];return{target:i,operator:"getProperty",param:m,value:g}}):[]}function p(s){return Object.keys(s).reduce((i,l)=>{const m=o(l,s[l]);return i.push(...m),i},[])}function d(s,a){if(r.has(s.operator)){const i=r.get(s.operator);return i&&i(s.target,s.param,s.value,a)||!1}return!1}function u(s,a){return p(s).reduce((m,g)=>m&&d(g,a),!0)}function h(s,a){const i=Object.keys(s),l=i.includes("allOf"),m=i.includes("anyOf"),g=l||m,v=(g?s[g?l?"allOf":"anyOf":"allOf"]:[s]).map(G=>u(G,a));return l?!v.includes(!1):v.includes(!0)}return{parseValueSchema:h}}const T={},D={};M();function H(e,t,c=new Map,r=(d,u,h,s)=>u,o={},p=d=>d){return x[t.title]=t,S[t.title]=r,T[t.title]=o,D[t.title]=p,(d={},u=!0)=>{if(!u)return P(d,c);const h=q(d,t,c),s=Object.keys(e).reduce((a,i)=>(a[i]=e[i].default,a),{});return Object.assign(s,h)}}const V=new Map([["appearance",I.resolveAppearance],["size",(e,t)=>{const c={};return t.width&&(c.width=Number(t.width)),t.height&&(c.height=Number(t.height)),c}]]),R={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/accordion.schema.json",title:"accordion",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Accordion",type:"string"},type:{description:"The type string of Accordion component",type:"string",default:"accordion"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},customClass:{description:"",type:"string",default:""},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},enableFold:{description:"",type:"boolean",default:!0},expanded:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]};function E(e,t,c){return t}const B={title:"accordion",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:[]}}}}}},$={customClass:{type:String,default:""},height:{type:Number},width:{type:Number},enableFold:{type:Boolean,default:!0},expanded:{type:Boolean,default:!1}},A=H($,R,V,E,B),y=n.defineComponent({name:"FAccordion",props:$,emits:[],setup(e,t){const c=n.computed(()=>({height:e.height?`${e.height}px`:"",width:e.width?`${e.width}px`:""}));n.provide("accordionContext",{parentProps:e});const r=n.computed(()=>{const o=e.customClass.split(" "),p={"farris-panel":!0,accordion:!0};return o.reduce((d,u)=>(d[u]=!0,d),p),p});return()=>n.createVNode("div",{class:r.value,style:c.value},[t.slots.default&&t.slots.default()])}}),z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/accordion-item.schema.json",title:"AccordionItem",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Accordion Item",type:"string"},type:{description:"The type string of Accordion Item component",type:"string"},contents:{description:"",type:"array",default:[]},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},title:{description:"",type:"string",default:""},disable:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]},C={width:{type:Number},height:{type:Number,default:100},maxHeight:{type:Number},title:{type:String,default:""},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1}},w=I.createPropsResolver(C,z,V),j=n.defineComponent({name:"FAccordionItem",props:C,emits:[],setup(e,t){const c=n.inject("accordionContext"),r=n.ref(e.title),o=n.ref(e.active);function p(){var i;e.disabled||!((i=c==null?void 0:c.parentProps)!=null&&i.enableFold)||(o.value=!o.value)}function d(i){p()}const u=n.computed(()=>({"f-state-disabled":e.disabled,card:!0,"farris-panel-item":!0,"f-state-selected":o.value})),h=n.computed(()=>!0),s=n.computed(()=>({"f-icon":!0,"f-accordion-collapse":!o.value,"f-accordion-expand":o.value})),a=n.computed(()=>{const i=e.maxHeight?{transition:"maxHeight 0.36s ease 0s","max-height":o.value?`${e.maxHeight}px`:0}:{transition:"height 0.36s ease 0s",height:o.value?`${e.height}px`:0};return o.value||(i.overflow="hidden"),i});return n.onMounted(()=>{var i;(i=c==null?void 0:c.parentProps)!=null&&i.expanded&&(o.value=!0)}),()=>n.createVNode("div",{class:u.value},[n.createVNode("div",{class:"card-header",onClick:d},[n.createVNode("div",{class:"panel-item-title"},[h.value&&n.createVNode("span",null,[r.value]),t.slots.head&&t.slots.head(),n.createVNode("span",{class:s.value},null)]),n.createVNode("div",{class:"panel-item-tool"},[t.slots.toolbar&&t.slots.toolbar()]),n.createVNode("div",{class:"panel-item-clear"},null)]),n.createVNode("div",{style:a.value},[n.createVNode("div",{class:"card-body"},[t.slots.default&&t.slots.default()])])])}}),L=n.defineComponent({name:"FAccordionDesign",props:$,emits:[],setup(e,t){const c=n.computed(()=>({height:e.height?`${e.height}px`:"",width:e.width?`${e.width}px`:""})),r=n.computed(()=>{const u=e.customClass.split(" "),h={"farris-panel":!0,accordion:!0};return u.reduce((s,a)=>(s[a]=!0,s),h),h}),o=n.ref(),p=n.inject("design-item-context"),d=F.useDesignerComponent(o,p);return n.onMounted(()=>{o.value.componentInstance=d}),t.expose(d.value),()=>n.createVNode("div",{ref:o,class:r.value,style:c.value},[t.slots.default&&t.slots.default()])}}),_=n.defineComponent({name:"FAccordionItemDesign",props:C,emits:[],setup(e,t){const c=n.ref(e.title),r=n.ref(!1),o=n.ref(!1);function p(){r.value=!r.value}function d(b){p()}const u=n.computed(()=>({"f-state-disabled":o.value,card:!0,"farris-panel-item":!0,"f-state-selected":r.value})),h=n.computed(()=>!0),s=n.computed(()=>!1),a=n.computed(()=>({"f-icon":!0,"f-accordion-collapse":!r.value,"f-accordion-expand":r.value})),i=n.computed(()=>{const b=e.maxHeight?{transition:"maxHeight 0.36s ease 0s","max-height":r.value?`${e.maxHeight}px`:0}:{transition:"height 0.36s ease 0s",height:r.value?`${e.height}px`:0};return r.value||(b.overflow="hidden"),b});function l(){return!0}function m(){return!1}function g(){return!0}return t.expose({canMove:l(),canSelectParent:m(),canDelete:g(),canNested:!0}),()=>n.createVNode("div",{class:u.value},[n.createVNode("div",{class:"card-header",onClick:d},[n.createVNode("div",{class:"panel-item-title"},[h.value&&n.createVNode("span",null,[c.value]),s.value&&t.slots.head&&t.slots.head(),n.createVNode("span",{class:a.value},null)]),n.createVNode("div",{class:"panel-item-tool"},[t.slots.toolbar&&t.slots.toolbar()]),n.createVNode("div",{class:"panel-item-clear"},null)]),n.createVNode("div",{style:i.value},[n.createVNode("div",{class:"card-body drag-container"},[t.slots.default&&t.slots.default()])])])}});y.install=e=>{e.component(y.name,y),e.component(j.name,j)},y.register=(e,t,c,r)=>{e.accordion=y,e["accordion-item"]=j,t.accordion=A,t["accordion-item"]=w},y.registerDesigner=(e,t,c)=>{e.accordion=L,e["accordion-item"]=_,t.accordion=A,t["accordion-item"]=w},f.FAccordion=y,f.FAccordionItem=j,f.accordionItemProps=C,f.accordionItemPropsResolver=w,f.accordionProps=$,f.accordionPropsResolver=A,f.default=y,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});