@farris/ui-vue 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/components/accordion/index.esm.js +136 -136
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +418 -456
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/border-editor/index.esm.js +4 -4
  6. package/components/border-editor/index.umd.cjs +1 -1
  7. package/components/button/index.esm.js +1 -1
  8. package/components/button/index.umd.cjs +1 -1
  9. package/components/button-edit/index.esm.js +363 -436
  10. package/components/button-edit/index.umd.cjs +1 -1
  11. package/components/button-group/index.esm.js +5 -5
  12. package/components/button-group/index.umd.cjs +1 -1
  13. package/components/calendar/index.esm.js +417 -417
  14. package/components/calendar/index.umd.cjs +1 -1
  15. package/components/capsule/index.esm.js +176 -176
  16. package/components/capsule/index.umd.cjs +1 -1
  17. package/components/checkbox/index.esm.js +557 -594
  18. package/components/checkbox/index.umd.cjs +1 -1
  19. package/components/color-picker/index.esm.js +119 -119
  20. package/components/color-picker/index.umd.cjs +2 -2
  21. package/components/combo-list/index.esm.js +502 -535
  22. package/components/combo-list/index.umd.cjs +1 -1
  23. package/components/combo-tree/index.esm.js +69 -69
  24. package/components/combo-tree/index.umd.cjs +1 -1
  25. package/components/component/index.esm.js +387 -275
  26. package/components/component/index.umd.cjs +1 -1
  27. package/components/condition/index.esm.js +1219 -983
  28. package/components/condition/index.umd.cjs +1 -1
  29. package/components/content-container/index.esm.js +292 -219
  30. package/components/content-container/index.umd.cjs +1 -1
  31. package/components/data-grid/index.css +1 -1
  32. package/components/data-grid/index.esm.js +5718 -5546
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3291 -2930
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2650 -2682
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/dependent-base/style.js +1 -0
  39. package/components/dependent-fluid/style.js +1 -0
  40. package/components/dependent-icon/style.js +1 -0
  41. package/components/dependent-input/style.js +1 -0
  42. package/components/dependent-table/style.js +1 -0
  43. package/components/designer-canvas/index.css +1 -1
  44. package/components/designer-canvas/index.esm.js +945 -932
  45. package/components/designer-canvas/index.umd.cjs +1 -1
  46. package/components/designer-outline/index.css +1 -1
  47. package/components/designer-outline/index.esm.js +175 -133
  48. package/components/designer-outline/index.umd.cjs +1 -1
  49. package/components/designer-toolbox/index.esm.js +36 -12
  50. package/components/designer-toolbox/index.umd.cjs +1 -1
  51. package/components/discussion-editor/index.esm.js +1 -1
  52. package/components/discussion-editor/index.umd.cjs +1 -1
  53. package/components/dropdown/index.esm.js +246 -246
  54. package/components/dropdown/index.umd.cjs +2 -2
  55. package/components/dynamic-form/index.esm.js +1319 -1172
  56. package/components/dynamic-form/index.umd.cjs +1 -1
  57. package/components/dynamic-resolver/index.esm.js +119 -82
  58. package/components/dynamic-resolver/index.umd.cjs +1 -1
  59. package/components/dynamic-view/index.esm.js +258 -249
  60. package/components/dynamic-view/index.umd.cjs +1 -1
  61. package/components/enum-editor/index.esm.js +3 -3
  62. package/components/enum-editor/index.umd.cjs +1 -1
  63. package/components/events-editor/index.esm.js +569 -514
  64. package/components/events-editor/index.umd.cjs +1 -1
  65. package/components/expression-editor/index.esm.js +104 -104
  66. package/components/expression-editor/index.umd.cjs +1 -1
  67. package/components/external-container/index.css +1 -1
  68. package/components/external-container/index.esm.js +3122 -2686
  69. package/components/external-container/index.umd.cjs +1 -1
  70. package/components/field-selector/index.css +1 -1
  71. package/components/field-selector/index.esm.js +6780 -6608
  72. package/components/field-selector/index.umd.cjs +1 -1
  73. package/components/filter-bar/index.css +1 -1
  74. package/components/filter-bar/index.esm.js +1466 -1523
  75. package/components/filter-bar/index.umd.cjs +1 -1
  76. package/components/flow-canvas/index.css +1 -1
  77. package/components/flow-canvas/index.esm.js +1048 -1035
  78. package/components/flow-canvas/index.umd.cjs +1 -1
  79. package/components/image-cropper/index.esm.js +422 -422
  80. package/components/image-cropper/index.umd.cjs +1 -1
  81. package/components/input-group/index.esm.js +674 -716
  82. package/components/input-group/index.umd.cjs +1 -1
  83. package/components/layout/index.esm.js +291 -291
  84. package/components/layout/index.umd.cjs +1 -1
  85. package/components/list-nav/index.esm.js +303 -230
  86. package/components/list-nav/index.umd.cjs +1 -1
  87. package/components/list-view/index.css +1 -1
  88. package/components/list-view/index.esm.js +2486 -2130
  89. package/components/list-view/index.umd.cjs +1 -1
  90. package/components/lookup/index.css +1 -1
  91. package/components/lookup/index.esm.js +7474 -7272
  92. package/components/lookup/index.umd.cjs +1 -1
  93. package/components/mapping-editor/index.css +1 -1
  94. package/components/mapping-editor/index.esm.js +6139 -5949
  95. package/components/mapping-editor/index.umd.cjs +1 -1
  96. package/components/message-box/index.esm.js +1 -1
  97. package/components/message-box/index.umd.cjs +1 -1
  98. package/components/modal/index.esm.js +1 -1
  99. package/components/modal/index.umd.cjs +1 -1
  100. package/components/nav/index.esm.js +432 -371
  101. package/components/nav/index.umd.cjs +3 -3
  102. package/components/number-range/index.esm.js +1124 -0
  103. package/components/number-range/index.umd.cjs +1 -0
  104. package/components/number-range/package.json +8 -0
  105. package/components/number-range/style.js +6 -0
  106. package/components/number-spinner/index.esm.js +1155 -0
  107. package/components/number-spinner/index.umd.cjs +1 -0
  108. package/components/number-spinner/package.json +8 -0
  109. package/components/number-spinner/style.js +4 -0
  110. package/components/order/index.css +1 -1
  111. package/components/order/index.esm.js +1215 -1178
  112. package/components/order/index.umd.cjs +1 -1
  113. package/components/page-footer/index.esm.js +147 -147
  114. package/components/page-footer/index.umd.cjs +1 -1
  115. package/components/page-header/index.esm.js +1240 -1346
  116. package/components/page-header/index.umd.cjs +1 -1
  117. package/components/pagination/index.esm.js +489 -428
  118. package/components/pagination/index.umd.cjs +1 -1
  119. package/components/progress/index.esm.js +220 -220
  120. package/components/progress/index.umd.cjs +3 -3
  121. package/components/property-editor/index.esm.js +1512 -1540
  122. package/components/property-editor/index.umd.cjs +3 -3
  123. package/components/property-panel/index.css +1 -1
  124. package/components/property-panel/index.esm.js +749 -815
  125. package/components/property-panel/index.umd.cjs +1 -1
  126. package/components/query-solution/index.css +1 -0
  127. package/components/query-solution/index.esm.js +7074 -0
  128. package/components/query-solution/index.umd.cjs +1 -0
  129. package/components/query-solution/package.json +8 -0
  130. package/components/query-solution/style.js +2 -0
  131. package/components/radio-button/index.esm.js +86 -86
  132. package/components/radio-button/index.umd.cjs +1 -1
  133. package/components/radio-group/index.esm.js +442 -479
  134. package/components/radio-group/index.umd.cjs +1 -1
  135. package/components/rate/index.esm.js +213 -208
  136. package/components/rate/index.umd.cjs +1 -1
  137. package/components/response-layout/index.esm.js +116 -116
  138. package/components/response-layout/index.umd.cjs +1 -1
  139. package/components/response-layout-editor/index.esm.js +943 -918
  140. package/components/response-layout-editor/index.umd.cjs +1 -1
  141. package/components/response-toolbar/index.esm.js +1174 -1295
  142. package/components/response-toolbar/index.umd.cjs +1 -1
  143. package/components/schema-selector/index.css +1 -1
  144. package/components/schema-selector/index.esm.js +5383 -5171
  145. package/components/schema-selector/index.umd.cjs +2 -2
  146. package/components/search-box/index.esm.js +201 -201
  147. package/components/search-box/index.umd.cjs +1 -1
  148. package/components/section/index.esm.js +684 -542
  149. package/components/section/index.umd.cjs +1 -1
  150. package/components/smoke-detector/index.esm.js +121 -121
  151. package/components/smoke-detector/index.umd.cjs +1 -1
  152. package/components/spacing-editor/index.esm.js +2 -2
  153. package/components/spacing-editor/index.umd.cjs +1 -1
  154. package/components/splitter/index.esm.js +1158 -382
  155. package/components/splitter/index.umd.cjs +1 -1
  156. package/components/step/index.esm.js +232 -232
  157. package/components/step/index.umd.cjs +1 -1
  158. package/components/switch/index.esm.js +451 -487
  159. package/components/switch/index.umd.cjs +1 -1
  160. package/components/tabs/index.esm.js +2078 -2168
  161. package/components/tabs/index.umd.cjs +1 -1
  162. package/components/tags/index.esm.js +318 -320
  163. package/components/tags/index.umd.cjs +1 -1
  164. package/components/text/index.esm.js +192 -192
  165. package/components/text/index.umd.cjs +1 -1
  166. package/components/textarea/index.esm.js +471 -497
  167. package/components/textarea/index.umd.cjs +1 -1
  168. package/components/time-picker/index.esm.js +1421 -1441
  169. package/components/time-picker/index.umd.cjs +1 -1
  170. package/components/transfer/index.css +1 -1
  171. package/components/transfer/index.esm.js +430 -421
  172. package/components/transfer/index.umd.cjs +1 -1
  173. package/components/tree-grid/index.css +1 -1
  174. package/components/tree-grid/index.esm.js +6806 -6624
  175. package/components/tree-grid/index.umd.cjs +1 -1
  176. package/components/tree-view/index.esm.js +2793 -2433
  177. package/components/tree-view/index.umd.cjs +1 -1
  178. package/components/uploader/index.esm.js +165 -165
  179. package/components/uploader/index.umd.cjs +2 -2
  180. package/components/verify-detail/index.esm.js +255 -255
  181. package/components/verify-detail/index.umd.cjs +1 -1
  182. package/components/video/index.esm.js +413 -334
  183. package/components/video/index.umd.cjs +1 -1
  184. package/components/weather/index.esm.js +902 -902
  185. package/components/weather/index.umd.cjs +4 -4
  186. package/farris.all.esm.js +54155 -52847
  187. package/farris.all.umd.cjs +9 -9
  188. package/index.css +1 -1
  189. package/package.json +1 -1
  190. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  191. package/types/checkbox/index.d.ts +1 -0
  192. package/types/combo-list/src/components/list-container.component.d.ts +3 -0
  193. package/types/combo-list/src/components/list-container.props.d.ts +5 -1
  194. package/types/common/entity/entity-schema.d.ts +258 -0
  195. package/types/component/src/component-ref.props.d.ts +4 -0
  196. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  197. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  198. package/types/data-grid/index.d.ts +5 -2
  199. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  200. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  201. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  202. package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
  203. package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
  204. package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
  205. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  206. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  207. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  208. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  209. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  210. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  211. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  212. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  213. package/types/data-view/composition/types.d.ts +19 -7
  214. package/types/data-view/composition/use-edit.d.ts +2 -1
  215. package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
  216. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  217. package/types/designer-canvas/src/types.d.ts +3 -3
  218. package/types/dynamic-form/index.d.ts +3 -1
  219. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  220. package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
  221. package/types/dynamic-form/src/types.d.ts +1 -1
  222. package/types/dynamic-resolver/index.d.ts +1 -0
  223. package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
  224. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  225. package/types/dynamic-resolver/src/types.d.ts +3 -2
  226. package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
  227. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
  228. package/types/modal/src/modal.props.d.ts +1 -4
  229. package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
  230. package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
  231. package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
  232. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  233. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  234. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  235. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  236. package/types/tabs/src/composition/types.d.ts +2 -2
  237. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  238. package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
  239. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  240. package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
  241. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  242. package/types/tags/index.d.ts +36 -5
  243. package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
  244. package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
  245. package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
  246. package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
@@ -1 +1 @@
1
- (function(M,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("bignumber.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","bignumber.js"],o):(M=typeof globalThis<"u"?globalThis:M||self,o(M.layout={},M.Vue,M.LodashES))})(this,function(M,o,G){"use strict";const k={},L={};function E(t){const{properties:e,title:n}=t,a=Object.keys(e).reduce((l,s)=>(l[s]=e[s].type==="object"&&e[s].properties?E(e[s]):G.cloneDeep(e[s].default),l),{});return a.id=`${n}-${Date.now()}`,a}function A(t,e={}){const n=k[t];if(n){let a=E(n);const l=L[t];return a=l?l({getSchemaByType:A},a,e):a,a}return null}function Q(t,e){const n=E(e);return Object.keys(t).reduce((a,l)=>(a[l]=t[l],a),n),n}function U(t,e){return Object.keys(t).filter(a=>t[a]!=null).reduce((a,l)=>{if(e.has(l)){const s=e.get(l);if(typeof s=="string")a[s]=t[l];else{const p=s(l,t[l],t);Object.assign(a,p)}}else a[l]=t[l];return a},{})}function Z(t,e,n=new Map){const a=Q(t,e);return U(a,n)}function K(t={}){function e(r,d,u,b){if(typeof u=="number")return b[r].length===u;if(typeof u=="object"){const w=Object.keys(u)[0],$=u[w];if(w==="not")return Number(b[r].length)!==Number($);if(w==="moreThan")return Number(b[r].length)>=Number($);if(w==="lessThan")return Number(b[r].length)<=Number($)}return!1}function n(r,d,u,b){return b[r]&&b[r].propertyValue&&String(b[r].propertyValue.value)===String(u)}const a=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((r,d)=>(r.set(d,t[d]),r),a);function l(r,d){const u=r;return typeof d=="number"?[{target:u,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:u,operator:"getProperty",param:r,value:!!d}]:typeof d=="object"?Object.keys(d).map(b=>{if(b==="length")return{target:u,operator:"length",param:null,value:d[b]};const w=b,$=d[b];return{target:u,operator:"getProperty",param:w,value:$}}):[]}function s(r){return Object.keys(r).reduce((u,b)=>{const w=l(b,r[b]);return u.push(...w),u},[])}function p(r,d){if(a.has(r.operator)){const u=a.get(r.operator);return u&&u(r.target,r.param,r.value,d)||!1}return!1}function z(r,d){return s(r).reduce((w,$)=>w&&p($,d),!0)}function S(r,d){const u=Object.keys(r),b=u.includes("allOf"),w=u.includes("anyOf"),$=b||w,f=($?r[$?b?"allOf":"anyOf":"allOf"]:[r]).map(h=>z(h,d));return b?!f.includes(!1):f.includes(!0)}return{parseValueSchema:S}}const x={},I={};K();function F(t,e,n=new Map,a=(p,z,S)=>z,l={},s=p=>p){return k[e.title]=e,L[e.title]=a,x[e.title]=l,I[e.title]=s,(p={})=>{const z=Z(p,e,n),S=Object.keys(t).reduce((r,d)=>(r[d]=t[d].default,r),{});return Object.assign(S,z)}}function ee(t,e){return{customClass:e.class,customStyle:e.style}}const q=new Map([["appearance",ee]]);function W(t,e,n){return e}const te={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},ne={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},D={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},T=F(D,te,q,W,ne);function _(t){const e=o.ref(-1),n=o.ref(-1),a=o.ref(0),l=o.ref(0),s=o.ref(!1),p=o.ref(!1),z=o.computed(()=>({display:s.value?"block":"none",left:`${a.value}px`,cursor:"e-resize"})),S=o.computed(()=>({display:p.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),r=o.computed(()=>({display:p.value||s.value?"block":"none"}));function d(v,f,m,h){const O=t.value;if(O){const{left:g,right:i,width:y}=O.getBoundingClientRect();let c=v.clientX-g;h==="right"&&(c=i-v.clientX),c>f&&(c=f),c<m&&(c=m),h==="right"&&(c=y-c),a.value=c}}function u(v,f,m,h){const O=t.value;if(O){const{top:g,bottom:i,height:y}=O.getBoundingClientRect();let c=v.clientY-g;h==="bottom"&&(c=i-v.clientY),c>f&&(c=f),c<m&&(c=m),h==="bottom"&&(c=y-c),l.value=c}}function b(){const v=t.value;if(v){const{width:f,height:m}=v.getBoundingClientRect();return{width:f,height:m}}return null}function w(){const v=t.value;return v?Array.from(v.querySelectorAll("[data-position]")).reduce((f,m)=>{const h=m.getAttribute("data-position");return f=Object.assign(f,{[h]:m}),f},{}):null}function $(v,f){const m=b(),h=w();if(m&&h){const O=h==null?void 0:h.right,g=h==null?void 0:h.left;if(v==="left"&&g)return O?m.width-O.clientWidth-f:m.width-f;if(v==="right"&&O)return g?m.width-g.clientWidth-f:m.width-f}}function P(v,f){const m=b(),h=w();if(m&&h){const O=h==null?void 0:h.bottom,g=h==null?void 0:h.top;if(v==="top"&&g)return O?m.height-O.clientHeight-f:m.height-f;if(v==="bottom"&&O)return g?m.height-g.clientHeight-f:m.height-f}}return{horizontalResizeHandleStyle:z,verticalResizeHandleStyle:S,resizeOverlayStyle:r,showHorizontalResizeHandle:s,showVerticalResizeHandle:p,horizontalResizeBarPosition:e,verticalResizeBarPosition:n,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:a,draggingHorizontalResizeHandle:d,draggingVerticalResizeHandle:u,getPanelMaxHeight:P,getPanelMaxWidth:$}}const oe=["moz","ms","webkit"];function ae(){let t=0;return e=>{const n=new Date().getTime(),a=Math.max(0,16-(n-t)),l=setTimeout(()=>{e(n+a)},a);return t=n+a,l}}function re(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=oe.filter(e=>`${e}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:ae()}re();function ie(t,e){return((e==null?void 0:e.split(" "))||[]).reduce((a,l)=>(l&&(a[l]=!0),a),t),t}function le(t,e){return((e==null?void 0:e.split(";"))||[]).reduce((a,l)=>{if(l){const s=l.split(":");a[s[0]]=s[1]}return a},t),t}const N=o.defineComponent({name:"FLayout",props:D,emits:[],setup(t,e){const n=o.ref(),a=_(n),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:s,resizeOverlayStyle:p}=a;o.provide("layout",{useResizeHandleComposition:a});const z=o.computed(()=>ie({"f-layout":!0},t==null?void 0:t.customClass)),S=o.computed(()=>le({},t==null?void 0:t.customStyle));return()=>o.createVNode("div",{class:z.value,style:S.value,ref:n},[e.slots.default&&e.slots.default(),o.createVNode("div",{class:"f-layout-resize-overlay",style:p.value},null),o.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:l.value},null),o.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:s.value},null)])}}),se={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}}},ce={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},V={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Y=F(V,se,q,W,ce);function X(t,e,n,a,l){const{horizontalResizeBarPosition:s,horizontalResizeHandleOffset:p,showHorizontalResizeHandle:z,showVerticalResizeHandle:S,verticalResizeBarPosition:r,verticalResizeHandleOffset:d,draggingHorizontalResizeHandle:u,draggingVerticalResizeHandle:b,getPanelMaxHeight:w,getPanelMaxWidth:$}=l;let P="",v,f,m;function h(i){if((P==="left"||P==="right")&&f){const{left:y}=f.getBoundingClientRect(),{width:c}=v.getBoundingClientRect(),H=i.clientX-y;let C=P==="left"?(c||0)+(H-s.value):(c||0)-(H-s.value);C=n.value>0?Math.max(n.value,C):C;const j=$(P,n.value);j!=null&&(C=j>C?C:j),t.value=C}if((P==="top"||P==="bottom")&&f){const{top:y}=f.getBoundingClientRect(),{height:c}=v.getBoundingClientRect(),H=i.clientY-y;let C=P==="top"?(c||0)+(H-r.value):(c||0)-(H-r.value);C=a.value>0?Math.max(a.value,C):C;const j=w(P,a.value);j!=null&&(C=j>C?C:j),e.value=C}p.value=0,d.value=0,s.value=-1,r.value=-1,z.value=!1,S.value=!1,document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",h),document.body.style.userSelect="",P="",v=null,f=null}function O(i,y,c){if(P=y,v=c,z.value=!0,f=i.composedPath().find(C=>(C.className||"").split(" ")[0]==="f-layout"),f){const{left:C}=f.getBoundingClientRect(),j=i.clientX-C;p.value=j,s.value=j;const B=$(P,n.value)||0;m=me=>u(me,B,n.value,P),document.addEventListener("mousemove",m),document.addEventListener("mouseup",h),document.body.style.userSelect="none"}}function g(i,y,c){if(P=y,v=c,S.value=!0,f=i.composedPath().find(C=>(C.className||"").split(" ")[0]==="f-layout"),f){const{top:C}=f.getBoundingClientRect();d.value=i.clientY-C,r.value=i.clientY-C;const j=w(P,a.value)||0;m=B=>b(B,j,a.value,P),document.addEventListener("mousemove",m),document.addEventListener("mouseup",h),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:O,onClickVerticalResizeBar:g}}const R=o.defineComponent({name:"FLayoutPane",props:V,emits:[],setup(t,e){const n=o.ref(t.minHeight<=0?100:t.minHeight),a=o.ref(t.minWidth<=0?100:t.minWidth),l=o.ref(t.width<=0?100:t.width),s=o.ref(t.height<=100?100:t.height),p=o.ref(Math.max(n.value,s.value)),z=o.ref(Math.max(a.value,l.value)),S=o.ref(),r=o.ref(t.position),d=o.ref(t.resizable);o.watch(()=>t.resizable,g=>{d.value=g});const u=o.inject("layout"),{useResizeHandleComposition:b}=u,w=X(z,p,a,n,b),{onClickHorizontalResizeBar:$,onClickVerticalResizeBar:P}=w,v=o.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":r.value==="left","f-layout-resize-bar-n":r.value==="bottom","f-layout-resize-bar-s":r.value==="top","f-layout-resize-bar-w":r.value==="right"})),f=o.computed(()=>r.value!=="center"&&d.value);function m(g,i){(i==="left"||i==="right")&&$(g,i,S.value),(i==="top"||i==="bottom")&&P(g,i,S.value)}const h=o.computed(()=>{const g={"f-layout-pane":!0,"f-page-content-nav":r.value==="left"||r.value==="right","f-page-content-main":r.value==="center"};return t.customClass&&String(t.customClass).split(" ").reduce((i,y)=>(i[y]=!0,i),g),g}),O=o.computed(()=>{const g={};return(z.value&&r.value==="left"||r.value==="right")&&(g.width=`${z.value}px`),(p.value&&r.value==="bottom"||r.value==="top")&&(g.height=`${p.value}px`),t.visible||(g.display="none"),g});return()=>o.createVNode("div",{ref:S,class:h.value,style:O.value,"data-position":r.value},[e.slots.default&&e.slots.default(),f.value&&o.createVNode("span",{class:v.value,onMousedown:g=>m(g,r.value)},null)])}});function ue(t,e){function n(){return!1}return{canAccepts:n}}function J(t,e,n){var g;function a(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}a();const l=n&&n.getStyles&&n.getStyles()||"",s=n&&n.getDesignerClass&&n.getDesignerClass()||"",p=o.ref();function z(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function S(){return!1}function r(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function d(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function u(i){if(!i||!i.value)return null;if(i.value.schema&&i.value.schema.type==="component")return i.value;const y=o.ref(i==null?void 0:i.value.parent),c=u(y);return c||null}function b(i=e){const{componentInstance:y,designerItemElementRef:c}=i;return!y||!y.value?null:y.value.canMove?c:b(i.parent)}function w(i){return!!n&&n.canAccepts(i)}function $(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function P(){}function v(i,y){y&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(y)}function f(i){const{componentType:y}=i;let c=A(y,i);n&&n.onResolveNewComponentSchema&&(c=n.onResolveNewComponentSchema(i,c));const H=y.toLowerCase().replace("-","_");return c&&!c.id&&c.type===y&&(c.id=`${H}_${Math.random().toString().slice(2,6)}`),c}function m(i,y){const c=String(i.getAttribute("data-controltype")),H=i.getAttribute("data-feature"),C=H?JSON.parse(H):{};C.parentComponentInstance=p.value;let j=A(c,C);n&&n.onAcceptNewChildElement&&(j=n.onAcceptNewChildElement(i,y,j));const B=c.toLowerCase().replace("-","_");return j&&!j.id&&j.type===c&&(j.id=`${B}_${Math.random().toString().slice(2,6)}`),j}function h(i){}function O(...i){if(n&&n.getPropsConfig)return n.getPropsConfig(...i)}return p.value={canMove:z(),canSelectParent:S(),canDelete:r(),canNested:!d(),contents:e==null?void 0:e.schema.contents,elementRef:t,parent:(g=e==null?void 0:e.parent)==null?void 0:g.componentInstance,schema:e==null?void 0:e.schema,styles:l,designerClass:s,canAccepts:w,getBelongedComponentInstance:u,getDraggableDesignItemElement:b,getDraggingDisplayText:$,getPropConfig:O,getDragScopeElement:P,onAcceptMovedChildElement:v,onAcceptNewChildElement:m,onChildElementMovedOut:h,addNewChildComponentSchema:f,updateDragAndDropRules:a,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||o.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||o.ref(!1)},p}const fe=o.defineComponent({name:"FLayoutDesign",props:D,emits:[],setup(t,e){var d;const n=o.ref(),a=o.inject("design-item-context"),l=ue(a.schema,(d=a.parent)==null?void 0:d.schema),s=J(n,a,l);s.value.canNested=!1;const p=_(n),{horizontalResizeHandleStyle:z,verticalResizeHandleStyle:S,resizeOverlayStyle:r}=p;return o.provide("layout",{useResizeHandleComposition:p}),o.onMounted(()=>{n.value.componentInstance=s}),e.expose(s.value),()=>o.createVNode("div",{class:"f-layout f-page-content",ref:n},[e.slots.default&&e.slots.default(),o.createVNode("div",{class:"f-layout-resize-overlay",style:r.value},null),o.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:z.value},null),o.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:S.value},null)])}});function pe(){function t(e){var l,s;if(!e)return!1;const n=((l=e.targetContainer)==null?void 0:l.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const a=(s=n.schema.appearance)==null?void 0:s.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const p=n.schema.type,z=(p==="response-form"||p==="content-container")&&a&&a.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!z)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:t}}function de(t,e){function n(s){return!!pe().basalDragulaRuleForContainer(s)}function a(s,p,z){return z}function l(){const s=["f-layout-pane"];return(t.position==="left"||t.position==="right")&&s.push("f-page-content-nav"),t.position==="center"&&s.push("f-page-content-main"),s.join(" ")}return{canAccepts:n,getDesignerClass:l,onAcceptNewChildElement:a}}const ye=o.defineComponent({name:"FLayoutPaneDesign",props:V,emits:[],setup(t,e){var g;const n=o.ref(),a=o.ref(),l=o.inject("design-item-context"),s=de(l.schema,(g=l.parent)==null?void 0:g.schema),p=J(a,l,s);p.value.canNested=!1,p.value.canMove=!1,p.value.canDelete=!1,o.onMounted(()=>{a.value.componentInstance=p}),e.expose(p.value);const z=o.ref(Math.max(t.minHeight,t.height)),S=o.ref(Math.max(t.minWidth,t.width)),r=o.ref(t.minHeight),d=o.ref(t.minWidth),u=o.ref(t.position),b=o.inject("layout"),{useResizeHandleComposition:w}=b,$=X(S,z,d,r,w),{onClickHorizontalResizeBar:P,onClickVerticalResizeBar:v}=$,f=o.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":u.value==="left","f-layout-resize-bar-n":u.value==="bottom","f-layout-resize-bar-s":u.value==="top","f-layout-resize-bar-w":u.value==="right"}));function m(i,y){(y==="left"||y==="right")&&P(i,y,n.value),(y==="top"||y==="bottom")&&v(i,y,n.value)}const h=o.computed(()=>{const i={"f-layout-pane":!0,"f-page-content-nav":u.value==="left"||u.value==="right","f-page-content-main":u.value==="center"};return t.customClass&&String(t.customClass).split(" ").reduce((y,c)=>(y[c]=!0,y),i),i}),O=o.computed(()=>{const i={flex:"1"};return(S.value&&u.value==="left"||u.value==="right")&&(i.width=`${S.value}px`),(z.value&&u.value==="bottom"||u.value==="top")&&(i.height=`${z.value}px`),i});return()=>o.createVNode("div",{ref:n,class:h.value,style:O.value},[o.createVNode("div",{ref:a,class:"drag-container","data-dragref":`${l.schema.id}-container`},[e.slots.default&&e.slots.default()]),o.createVNode("span",{class:f.value,onMousedown:i=>m(i,u.value)},null)])}});N.install=t=>{t.component(N.name,N),t.component(R.name,R)},N.register=(t,e,n,a)=>{t.layout=N,e.layout=T,t["layout-pane"]=R,e["layout-pane"]=Y},N.registerDesigner=(t,e,n)=>{t.layout=fe,e.layout=T,t["layout-pane"]=ye,e["layout-pane"]=Y},M.FLayout=N,M.FLayoutPane=R,M.default=N,M.layoutProps=D,M.layoutPropsResolver=T,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(H,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("lodash-es"),require("bignumber.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","bignumber.js"],a):(H=typeof globalThis<"u"?globalThis:H||self,a(H.layout={},H.Vue,H.LodashES))})(this,function(H,a,G){"use strict";const k={},L={};function R(t){const{properties:e,title:n,ignore:o}=t,l=o&&Array.isArray(o),s=Object.keys(e).reduce((c,m)=>((!l||!o.find(P=>P==m))&&(c[m]=e[m].type==="object"&&e[m].properties?R(e[m]):G.cloneDeep(e[m].default)),c),{});return(!l||!o.find(c=>c=="id"))&&(s.id=`${n}-${Date.now()}`),s}function E(t,e={},n){const o=k[t];if(o){let l=R(o);const s=L[t];return l=s?s({getSchemaByType:E},l,e,n):l,l}return null}function Q(t,e){const n=R(e);return Object.keys(t).reduce((o,l)=>(o[l]&&typeof o[l]=="object"?Object.assign(o[l],t[l]):o[l]=t[l],o),n),n}function U(t,e){return Object.keys(t).filter(o=>t[o]!=null).reduce((o,l)=>{if(e.has(l)){const s=e.get(l);if(typeof s=="string")o[s]=t[l];else{const c=s(l,t[l],t);Object.assign(o,c)}}else o[l]=t[l];return o},{})}function Z(t,e,n=new Map){const o=Q(t,e);return U(o,n)}function K(t={}){function e(r,d,u,v){if(typeof u=="number")return v[r].length===u;if(typeof u=="object"){const $=Object.keys(u)[0],O=u[$];if($==="not")return Number(v[r].length)!==Number(O);if($==="moreThan")return Number(v[r].length)>=Number(O);if($==="lessThan")return Number(v[r].length)<=Number(O)}return!1}function n(r,d,u,v){return v[r]&&v[r].propertyValue&&String(v[r].propertyValue.value)===String(u)}const o=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((r,d)=>(r.set(d,t[d]),r),o);function l(r,d){const u=r;return typeof d=="number"?[{target:u,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:u,operator:"getProperty",param:r,value:!!d}]:typeof d=="object"?Object.keys(d).map(v=>{if(v==="length")return{target:u,operator:"length",param:null,value:d[v]};const $=v,O=d[v];return{target:u,operator:"getProperty",param:$,value:O}}):[]}function s(r){return Object.keys(r).reduce((u,v)=>{const $=l(v,r[v]);return u.push(...$),u},[])}function c(r,d){if(o.has(r.operator)){const u=o.get(r.operator);return u&&u(r.target,r.param,r.value,d)||!1}return!1}function m(r,d){return s(r).reduce(($,O)=>$&&c(O,d),!0)}function P(r,d){const u=Object.keys(r),v=u.includes("allOf"),$=u.includes("anyOf"),O=v||$,f=(O?r[O?v?"allOf":"anyOf":"allOf"]:[r]).map(g=>m(g,d));return v?!f.includes(!1):f.includes(!0)}return{parseValueSchema:P}}const x={},I={};K();function F(t,e,n=new Map,o=(c,m,P)=>m,l={},s=c=>c){return k[e.title]=e,L[e.title]=o,x[e.title]=l,I[e.title]=s,(c={})=>{const m=Z(c,e,n),P=Object.keys(t).reduce((r,d)=>(r[d]=t[d].default,r),{});return Object.assign(P,m)}}function ee(t,e){return{customClass:e.class,customStyle:e.style}}const q=new Map([["appearance",ee]]);function W(t,e,n){return e}const te={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout.schema.json",title:"layout",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for layout component",type:"string"},type:{description:"The type string of layout component",type:"string",default:"layout"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},collapsable:{description:"",type:"boolean",default:!1},resizable:{description:"",type:"boolean",default:!0},visible:{description:"",type:"boolean",default:!0}},required:["id","type","contents"]},ne={title:"layout",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0}}},behavior:{description:"Basic Infomation",title:"行为",properties:{collapsable:{description:"",title:"可收折",type:"boolean"},resizable:{description:"",title:"可调整尺寸",type:"boolean"}}}}},D={customStyle:{type:String,defaut:""},customClass:{type:String,defaut:""}},T=F(D,te,q,W,ne);function _(t){const e=a.ref(-1),n=a.ref(-1),o=a.ref(0),l=a.ref(0),s=a.ref(!1),c=a.ref(!1),m=a.computed(()=>({display:s.value?"block":"none",left:`${o.value}px`,cursor:"e-resize"})),P=a.computed(()=>({display:c.value?"block":"none",top:`${l.value}px`,cursor:"n-resize"})),r=a.computed(()=>({display:c.value||s.value?"block":"none"}));function d(z,f,h,g){const S=t.value;if(S){const{left:b,right:i,width:y}=S.getBoundingClientRect();let p=z.clientX-b;g==="right"&&(p=i-z.clientX),p>f&&(p=f),p<h&&(p=h),g==="right"&&(p=y-p),o.value=p}}function u(z,f,h,g){const S=t.value;if(S){const{top:b,bottom:i,height:y}=S.getBoundingClientRect();let p=z.clientY-b;g==="bottom"&&(p=i-z.clientY),p>f&&(p=f),p<h&&(p=h),g==="bottom"&&(p=y-p),l.value=p}}function v(){const z=t.value;if(z){const{width:f,height:h}=z.getBoundingClientRect();return{width:f,height:h}}return null}function $(){const z=t.value;return z?Array.from(z.querySelectorAll("[data-position]")).reduce((f,h)=>{const g=h.getAttribute("data-position");return f=Object.assign(f,{[g]:h}),f},{}):null}function O(z,f){const h=v(),g=$();if(h&&g){const S=g==null?void 0:g.right,b=g==null?void 0:g.left;if(z==="left"&&b)return S?h.width-S.clientWidth-f:h.width-f;if(z==="right"&&S)return b?h.width-b.clientWidth-f:h.width-f}}function w(z,f){const h=v(),g=$();if(h&&g){const S=g==null?void 0:g.bottom,b=g==null?void 0:g.top;if(z==="top"&&b)return S?h.height-S.clientHeight-f:h.height-f;if(z==="bottom"&&S)return b?h.height-b.clientHeight-f:h.height-f}}return{horizontalResizeHandleStyle:m,verticalResizeHandleStyle:P,resizeOverlayStyle:r,showHorizontalResizeHandle:s,showVerticalResizeHandle:c,horizontalResizeBarPosition:e,verticalResizeBarPosition:n,verticalResizeHandleOffset:l,horizontalResizeHandleOffset:o,draggingHorizontalResizeHandle:d,draggingVerticalResizeHandle:u,getPanelMaxHeight:w,getPanelMaxWidth:O}}const oe=["moz","ms","webkit"];function ae(){let t=0;return e=>{const n=new Date().getTime(),o=Math.max(0,16-(n-t)),l=setTimeout(()=>{e(n+o)},o);return t=n+o,l}}function re(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const t=oe.filter(e=>`${e}RequestAnimationFrame`in window)[0];return t?window[`${t}RequestAnimationFrame`]:ae()}re();function ie(t,e){return((e==null?void 0:e.split(" "))||[]).reduce((o,l)=>(l&&(o[l]=!0),o),t),t}function le(t,e){return((e==null?void 0:e.split(";"))||[]).reduce((o,l)=>{if(l){const s=l.split(":");o[s[0]]=s[1]}return o},t),t}const N=a.defineComponent({name:"FLayout",props:D,emits:[],setup(t,e){const n=a.ref(),o=_(n),{horizontalResizeHandleStyle:l,verticalResizeHandleStyle:s,resizeOverlayStyle:c}=o;a.provide("layout",{useResizeHandleComposition:o});const m=a.computed(()=>ie({"f-layout":!0},t==null?void 0:t.customClass)),P=a.computed(()=>le({},t==null?void 0:t.customStyle));return()=>a.createVNode("div",{class:m.value,style:P.value,ref:n},[e.slots.default&&e.slots.default(),a.createVNode("div",{class:"f-layout-resize-overlay",style:c.value},null),a.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:l.value},null),a.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:s.value},null)])}}),se={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/layout-pane.schema.json",title:"layout-pane",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a layout pane",type:"string"},type:{description:"The type string of layout paney",type:"string",default:"layout-pane"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},collapsable:{description:"",type:"boolean",default:!1},contents:{description:"",type:"array",default:[]},height:{description:"",type:"number"},position:{description:"",type:"string",default:"left",enum:["left","center","right","top","bottom"]},resizeable:{description:"",type:"boolean",default:!0},width:{description:"",type:"number"},visible:{description:"",type:"number",default:!0}}},ce={title:"layout-pane",description:"A Farris Container Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"enum"},width:{description:"",type:"number",title:"宽度"},height:{description:"",type:"number",title:"高度"}}},appearance:{title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}},behavior:{description:"",title:"行为",properties:{collapsable:{description:"",type:"boolean",title:"允许收折"},position:{description:"",type:"enum",title:"位置",editor:{type:"combo-list",data:[{id:"left",name:"左侧"},{id:"center",name:"居中"},{id:"right",name:"右侧"},{id:"top",name:"顶部"},{id:"bottom",name:"底部"}]}},resizeable:{description:"",type:"boolean",title:"允许调整尺寸"},visible:{description:"运行时组件是否可见",type:"boolean",title:"是否可见"}}}}},V={customClass:{type:String,defaut:""},customStyle:{type:String,defaut:""},width:{type:Number,default:-1},height:{type:Number,default:-1},position:{type:String,default:"left"},visible:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},collapsable:{type:Boolean,default:!1},minWidth:{type:Number,default:100},minHeight:{type:Number,default:100}},Y=F(V,se,q,W,ce);function X(t,e,n,o,l){const{horizontalResizeBarPosition:s,horizontalResizeHandleOffset:c,showHorizontalResizeHandle:m,showVerticalResizeHandle:P,verticalResizeBarPosition:r,verticalResizeHandleOffset:d,draggingHorizontalResizeHandle:u,draggingVerticalResizeHandle:v,getPanelMaxHeight:$,getPanelMaxWidth:O}=l;let w="",z,f,h;function g(i){if((w==="left"||w==="right")&&f){const{left:y}=f.getBoundingClientRect(),{width:p}=z.getBoundingClientRect(),M=i.clientX-y;let C=w==="left"?(p||0)+(M-s.value):(p||0)-(M-s.value);C=n.value>0?Math.max(n.value,C):C;const j=O(w,n.value);j!=null&&(C=j>C?C:j),t.value=C}if((w==="top"||w==="bottom")&&f){const{top:y}=f.getBoundingClientRect(),{height:p}=z.getBoundingClientRect(),M=i.clientY-y;let C=w==="top"?(p||0)+(M-r.value):(p||0)-(M-r.value);C=o.value>0?Math.max(o.value,C):C;const j=$(w,o.value);j!=null&&(C=j>C?C:j),e.value=C}c.value=0,d.value=0,s.value=-1,r.value=-1,m.value=!1,P.value=!1,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",g),document.body.style.userSelect="",w="",z=null,f=null}function S(i,y,p){if(w=y,z=p,m.value=!0,f=i.composedPath().find(C=>(C.className||"").split(" ")[0]==="f-layout"),f){const{left:C}=f.getBoundingClientRect(),j=i.clientX-C;c.value=j,s.value=j;const B=O(w,n.value)||0;h=me=>u(me,B,n.value,w),document.addEventListener("mousemove",h),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}function b(i,y,p){if(w=y,z=p,P.value=!0,f=i.composedPath().find(C=>(C.className||"").split(" ")[0]==="f-layout"),f){const{top:C}=f.getBoundingClientRect();d.value=i.clientY-C,r.value=i.clientY-C;const j=$(w,o.value)||0;h=B=>v(B,j,o.value,w),document.addEventListener("mousemove",h),document.addEventListener("mouseup",g),document.body.style.userSelect="none"}}return{onClickHorizontalResizeBar:S,onClickVerticalResizeBar:b}}const A=a.defineComponent({name:"FLayoutPane",props:V,emits:[],setup(t,e){const n=a.ref(t.minHeight<=0?100:t.minHeight),o=a.ref(t.minWidth<=0?100:t.minWidth),l=a.ref(t.width<=0?100:t.width),s=a.ref(t.height<=100?100:t.height),c=a.ref(Math.max(n.value,s.value)),m=a.ref(Math.max(o.value,l.value)),P=a.ref(),r=a.ref(t.position),d=a.ref(t.resizable);a.watch(()=>t.resizable,b=>{d.value=b});const u=a.inject("layout"),{useResizeHandleComposition:v}=u,$=X(m,c,o,n,v),{onClickHorizontalResizeBar:O,onClickVerticalResizeBar:w}=$,z=a.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":r.value==="left","f-layout-resize-bar-n":r.value==="bottom","f-layout-resize-bar-s":r.value==="top","f-layout-resize-bar-w":r.value==="right"})),f=a.computed(()=>r.value!=="center"&&d.value);function h(b,i){(i==="left"||i==="right")&&O(b,i,P.value),(i==="top"||i==="bottom")&&w(b,i,P.value)}const g=a.computed(()=>{const b={"f-layout-pane":!0,"f-page-content-nav":r.value==="left"||r.value==="right","f-page-content-main":r.value==="center"};return t.customClass&&String(t.customClass).split(" ").reduce((i,y)=>(i[y]=!0,i),b),b}),S=a.computed(()=>{const b={};return(m.value&&r.value==="left"||r.value==="right")&&(b.width=`${m.value}px`),(c.value&&r.value==="bottom"||r.value==="top")&&(b.height=`${c.value}px`),t.visible||(b.display="none"),b});return()=>a.createVNode("div",{ref:P,class:g.value,style:S.value,"data-position":r.value},[e.slots.default&&e.slots.default(),f.value&&a.createVNode("span",{class:z.value,onMousedown:b=>h(b,r.value)},null)])}});function ue(t,e){function n(){return!1}return{canAccepts:n}}function J(t,e,n){var b;function o(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}o();const l=n&&n.getStyles&&n.getStyles()||"",s=n&&n.getDesignerClass&&n.getDesignerClass()||"",c=a.ref();function m(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function P(){return!1}function r(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function d(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function u(i){if(!i||!i.value)return null;if(i.value.schema&&i.value.schema.type==="component")return i.value;const y=a.ref(i==null?void 0:i.value.parent),p=u(y);return p||null}function v(i=e){const{componentInstance:y,designerItemElementRef:p}=i;return!y||!y.value?null:y.value.canMove?p:v(i.parent)}function $(i){return!!n&&n.canAccepts(i)}function O(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function w(){}function z(i,y){y&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(y)}function f(i,y){const{componentType:p}=i;let M=E(p,i,y);n&&n.onResolveNewComponentSchema&&(M=n.onResolveNewComponentSchema(i,M));const C=p.toLowerCase().replace("-","_");return M&&!M.id&&M.type===p&&(M.id=`${C}_${Math.random().toString().slice(2,6)}`),M}function h(i,y){const p=String(i.getAttribute("data-controltype")),M=i.getAttribute("data-feature"),C=M?JSON.parse(M):{};C.parentComponentInstance=c.value;let j=E(p,C);n&&n.onAcceptNewChildElement&&(j=n.onAcceptNewChildElement(i,y,j));const B=p.toLowerCase().replace("-","_");return j&&!j.id&&j.type===p&&(j.id=`${B}_${Math.random().toString().slice(2,6)}`),j}function g(i){}function S(...i){if(n&&n.getPropsConfig)return n.getPropsConfig(...i)}return c.value={canMove:m(),canSelectParent:P(),canDelete:r(),canNested:!d(),contents:e==null?void 0:e.schema.contents,elementRef:t,parent:(b=e==null?void 0:e.parent)==null?void 0:b.componentInstance,schema:e==null?void 0:e.schema,styles:l,designerClass:s,canAccepts:$,getBelongedComponentInstance:u,getDraggableDesignItemElement:v,getDraggingDisplayText:O,getPropConfig:S,getDragScopeElement:w,onAcceptMovedChildElement:z,onAcceptNewChildElement:h,onChildElementMovedOut:g,addNewChildComponentSchema:f,updateDragAndDropRules:o,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||a.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||a.ref(!1)},c}const fe=a.defineComponent({name:"FLayoutDesign",props:D,emits:[],setup(t,e){var d;const n=a.ref(),o=a.inject("design-item-context"),l=ue(o.schema,(d=o.parent)==null?void 0:d.schema),s=J(n,o,l);s.value.canNested=!1;const c=_(n),{horizontalResizeHandleStyle:m,verticalResizeHandleStyle:P,resizeOverlayStyle:r}=c;return a.provide("layout",{useResizeHandleComposition:c}),a.onMounted(()=>{n.value.componentInstance=s}),e.expose(s.value),()=>a.createVNode("div",{class:"f-layout f-page-content",ref:n},[e.slots.default&&e.slots.default(),a.createVNode("div",{class:"f-layout-resize-overlay",style:r.value},null),a.createVNode("div",{class:"f-layout-horizontal-resize-proxy",style:m.value},null),a.createVNode("div",{class:"f-layout-vertical-resize-proxy",style:P.value},null)])}});function pe(){function t(e){var l,s;if(!e)return!1;const n=((l=e.targetContainer)==null?void 0:l.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const o=(s=n.schema.appearance)==null?void 0:s.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const c=n.schema.type,m=(c==="response-form"||c==="content-container")&&o&&o.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!m)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:t}}function de(t,e){function n(s){return!!pe().basalDragulaRuleForContainer(s)}function o(s,c,m){return m}function l(){const s=["f-layout-pane"];return(t.position==="left"||t.position==="right")&&s.push("f-page-content-nav"),t.position==="center"&&s.push("f-page-content-main"),s.join(" ")}return{canAccepts:n,getDesignerClass:l,onAcceptNewChildElement:o}}const ye=a.defineComponent({name:"FLayoutPaneDesign",props:V,emits:[],setup(t,e){var b;const n=a.ref(),o=a.ref(),l=a.inject("design-item-context"),s=de(l.schema,(b=l.parent)==null?void 0:b.schema),c=J(o,l,s);c.value.canNested=!1,c.value.canMove=!1,c.value.canDelete=!1,a.onMounted(()=>{o.value.componentInstance=c}),e.expose(c.value);const m=a.ref(Math.max(t.minHeight,t.height)),P=a.ref(Math.max(t.minWidth,t.width)),r=a.ref(t.minHeight),d=a.ref(t.minWidth),u=a.ref(t.position),v=a.inject("layout"),{useResizeHandleComposition:$}=v,O=X(P,m,d,r,$),{onClickHorizontalResizeBar:w,onClickVerticalResizeBar:z}=O,f=a.computed(()=>({"f-layout-resize-bar":!0,"f-layout-resize-bar-e":u.value==="left","f-layout-resize-bar-n":u.value==="bottom","f-layout-resize-bar-s":u.value==="top","f-layout-resize-bar-w":u.value==="right"}));function h(i,y){(y==="left"||y==="right")&&w(i,y,n.value),(y==="top"||y==="bottom")&&z(i,y,n.value)}const g=a.computed(()=>{const i={"f-layout-pane":!0,"f-page-content-nav":u.value==="left"||u.value==="right","f-page-content-main":u.value==="center"};return t.customClass&&String(t.customClass).split(" ").reduce((y,p)=>(y[p]=!0,y),i),i}),S=a.computed(()=>{const i={flex:"1"};return(P.value&&u.value==="left"||u.value==="right")&&(i.width=`${P.value}px`),(m.value&&u.value==="bottom"||u.value==="top")&&(i.height=`${m.value}px`),i});return()=>a.createVNode("div",{ref:n,class:g.value,style:S.value},[a.createVNode("div",{ref:o,class:"drag-container","data-dragref":`${l.schema.id}-container`},[e.slots.default&&e.slots.default()]),a.createVNode("span",{class:f.value,onMousedown:i=>h(i,u.value)},null)])}});N.install=t=>{t.component(N.name,N),t.component(A.name,A)},N.register=(t,e,n,o)=>{t.layout=N,e.layout=T,t["layout-pane"]=A,e["layout-pane"]=Y},N.registerDesigner=(t,e,n)=>{t.layout=fe,e.layout=T,t["layout-pane"]=ye,e["layout-pane"]=Y},H.FLayout=N,H.FLayoutPane=A,H.default=N,H.layoutProps=D,H.layoutPropsResolver=T,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});