@farris/ui-vue 1.7.0-beta.2 → 1.7.1-beta.0

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 (34) hide show
  1. package/components/button-group/index.esm.js +62 -62
  2. package/components/button-group/index.umd.cjs +1 -1
  3. package/components/combo-list/index.esm.js +96 -92
  4. package/components/combo-list/index.umd.cjs +1 -1
  5. package/components/data-view/index.esm.js +823 -823
  6. package/components/data-view/index.umd.cjs +1 -1
  7. package/components/expression-editor/index.esm.js +7 -3
  8. package/components/expression-editor/index.umd.cjs +4 -4
  9. package/components/filter-condition-editor/index.esm.js +434 -430
  10. package/components/filter-condition-editor/index.umd.cjs +5 -5
  11. package/components/order/index.esm.js +7 -3
  12. package/components/order/index.umd.cjs +1 -1
  13. package/components/pagination/index.esm.js +70 -70
  14. package/components/pagination/index.umd.cjs +2 -2
  15. package/components/response-layout-editor/index.esm.js +8 -0
  16. package/components/response-layout-editor/index.umd.cjs +1 -1
  17. package/components/schema-selector/index.esm.js +460 -460
  18. package/components/schema-selector/index.umd.cjs +1 -1
  19. package/components/sort-condition-editor/index.esm.js +571 -567
  20. package/components/sort-condition-editor/index.umd.cjs +5 -5
  21. package/components/switch/index.esm.js +19 -15
  22. package/components/switch/index.umd.cjs +2 -2
  23. package/designer/checkbox-group/index.esm.js +48 -44
  24. package/designer/checkbox-group/index.umd.cjs +1 -1
  25. package/designer/data-grid/index.esm.js +14 -14
  26. package/designer/data-grid/index.umd.cjs +2 -2
  27. package/designer/data-view/index.esm.js +4 -3
  28. package/designer/data-view/index.umd.cjs +2 -2
  29. package/designer/farris-designer.all.esm.js +3 -3
  30. package/designer/farris-designer.all.umd.cjs +1 -1
  31. package/farris.all.esm.js +34 -24
  32. package/farris.all.umd.cjs +25 -25
  33. package/package.json +1 -1
  34. package/types/components.d.ts +1 -1
@@ -3,8 +3,8 @@ import S from "../button/index.esm.js";
3
3
  import { resolveAppearance as R, createPropsResolver as j } from "../dynamic-resolver/index.esm.js";
4
4
  import F from "../popover/index.esm.js";
5
5
  import { useDesignerComponent as G } from "../designer-canvas/index.esm.js";
6
- import { withInstall as $ } from "../common/index.esm.js";
7
- const x = "https://json-schema.org/draft/2020-12/schema", T = "https://farris-design.gitee.io/button-group.schema.json", O = "button-group", q = "A Farris Component", z = "object", A = {
6
+ import { withInstall as x } from "../common/index.esm.js";
7
+ const $ = "https://json-schema.org/draft/2020-12/schema", T = "https://farris-design.gitee.io/button-group.schema.json", O = "button-group", q = "A Farris Component", z = "object", A = {
8
8
  id: {
9
9
  description: "The unique identifier for button-group",
10
10
  type: "string"
@@ -70,7 +70,7 @@ const x = "https://json-schema.org/draft/2020-12/schema", T = "https://farris-de
70
70
  "id",
71
71
  "type"
72
72
  ], E = {
73
- $schema: x,
73
+ $schema: $,
74
74
  $id: T,
75
75
  title: O,
76
76
  description: q,
@@ -78,7 +78,7 @@ const x = "https://json-schema.org/draft/2020-12/schema", T = "https://farris-de
78
78
  properties: A,
79
79
  required: N
80
80
  };
81
- function H(e, o, c) {
81
+ function H(t, o, a) {
82
82
  return o;
83
83
  }
84
84
  const V = /* @__PURE__ */ new Map([
@@ -147,11 +147,11 @@ const V = /* @__PURE__ */ new Map([
147
147
  */
148
148
  placement: { type: String, default: "bottom-left" }
149
149
  }, B = j(m, E, V, H, Q);
150
- function U(e, o, c) {
151
- const u = y(), i = y(!1), a = y();
150
+ function U(t, o, a) {
151
+ const u = y(), i = y(!1), c = y();
152
152
  function d() {
153
- const t = u.value;
154
- t && t.show(c.value);
153
+ const e = u.value;
154
+ e && e.show(a.value);
155
155
  }
156
156
  async function f() {
157
157
  i.value = !i.value, await C(), d();
@@ -159,19 +159,19 @@ function U(e, o, c) {
159
159
  function r() {
160
160
  i.value = !1, o.emit("changeState", i.value);
161
161
  }
162
- function l(t) {
163
- t.stopPropagation(), f(), o.emit("changeState", i.value);
162
+ function l(e) {
163
+ e.stopPropagation(), f(), o.emit("changeState", i.value);
164
164
  }
165
- function n(t, p) {
166
- t.stopPropagation(), !p.disabled && (i.value = !1, o.emit("change", p.id), o.emit("click", p));
165
+ function n(e, p) {
166
+ e.stopPropagation(), !p.disabled && (i.value = !1, o.emit("change", { payload: e, button: p }), o.emit("click", { payload: e, button: p }));
167
167
  }
168
168
  function g() {
169
- i.value && (a.value = setTimeout(() => {
169
+ i.value && (c.value = setTimeout(() => {
170
170
  r();
171
171
  }, 1e3));
172
172
  }
173
173
  function b() {
174
- a.value && (clearTimeout(a.value), a.value = null);
174
+ c.value && (clearTimeout(c.value), c.value = null);
175
175
  }
176
176
  return {
177
177
  hidePopup: r,
@@ -184,12 +184,12 @@ function U(e, o, c) {
184
184
  togglePopup: f
185
185
  };
186
186
  }
187
- function X(e, o, c) {
187
+ function X(t, o, a) {
188
188
  const {
189
189
  hidePopup: u,
190
190
  onClickDropdownMenuItem: i,
191
- popoverRef: a
192
- } = c;
191
+ popoverRef: c
192
+ } = a;
193
193
  function d(r) {
194
194
  return s(D, null, [r.divider && s("div", {
195
195
  class: "dropdown-divider"
@@ -203,10 +203,10 @@ function X(e, o, c) {
203
203
  }
204
204
  function f(r) {
205
205
  return s(F, {
206
- id: `${e.id}-popover`,
207
- ref: a,
206
+ id: `${t.id}-popover`,
207
+ ref: c,
208
208
  visible: !0,
209
- placement: e.placement,
209
+ placement: t.placement,
210
210
  host: "body",
211
211
  fitContent: !0,
212
212
  onHidden: u,
@@ -221,22 +221,22 @@ function X(e, o, c) {
221
221
  renderDropdownMenu: f
222
222
  };
223
223
  }
224
- function w(e, o) {
225
- const c = y(), u = y(), i = U(e, o, u), {
226
- onMouseleaveDropdownButton: a,
224
+ function w(t, o) {
225
+ const a = y(), u = y(), i = U(t, o, u), {
226
+ onMouseleaveDropdownButton: c,
227
227
  onMouseenterDropdownButton: d,
228
228
  onClickDropdownButton: f,
229
229
  shouldPopupContent: r
230
230
  } = i, {
231
231
  renderDropdownMenu: l
232
- } = X(e, c, i), n = () => ({
232
+ } = X(t, a, i), n = () => ({
233
233
  "margin-bottom": "2px"
234
234
  });
235
235
  function g(b) {
236
236
  return s("div", {
237
237
  class: "btn-group f-btn-group-dropdown",
238
- ref: c,
239
- onMouseleave: a,
238
+ ref: a,
239
+ onMouseleave: c,
240
240
  onMouseenter: d,
241
241
  style: n
242
242
  }, [s("button", {
@@ -256,18 +256,18 @@ const v = /* @__PURE__ */ k({
256
256
  name: "FButtonGroup",
257
257
  props: m,
258
258
  emits: ["click", "change", "changeState"],
259
- setup(e, o) {
260
- const c = y(), u = e.data && e.data.slice(0, e.count) || [], i = e.data && e.data.slice(e.count) || [], a = (t) => t.type || e.type, d = (t) => t.disabled !== void 0 ? t.disabled : e.disabled, f = function(t) {
259
+ setup(t, o) {
260
+ const a = y(), u = t.data && t.data.slice(0, t.count) || [], i = t.data && t.data.slice(t.count) || [], c = (e) => e.type || t.type, d = (e) => e.disabled !== void 0 ? e.disabled : t.disabled, f = function(e) {
261
261
  const p = {
262
- "f-btn-ml": (t.type && t.type !== "link" || e.type !== "link") && e.mode === "default",
263
- "btn-link": !t.type && !e.type || e.type === "link" || t.type === "link"
264
- }, h = t.type ? t.type : e.type && e.type !== "link" ? e.type : "";
262
+ "f-btn-ml": (e.type && e.type !== "link" || t.type !== "link") && t.mode === "default",
263
+ "btn-link": !e.type && !t.type || t.type === "link" || e.type === "link"
264
+ }, h = e.type ? e.type : t.type && t.type !== "link" ? t.type : "";
265
265
  return h && (p[`btn-${h}`] = !0), p;
266
266
  }, r = function() {
267
267
  return {
268
268
  "position-relative": !0,
269
- "btn-group": e.mode === "group",
270
- "f-btn-group-links": e.type === "link"
269
+ "btn-group": t.mode === "group",
270
+ "f-btn-group-links": t.type === "link"
271
271
  // 'btn-group-lg': props.size === 'large',
272
272
  // 'btn-group-sm': props.size === 'small',
273
273
  };
@@ -276,50 +276,50 @@ const v = /* @__PURE__ */ k({
276
276
  "vertical-align": "middle",
277
277
  "margin-bottom": "2px"
278
278
  });
279
- function n(t, p) {
279
+ function n(e, p) {
280
280
  o.emit("change", {
281
- payload: t,
281
+ payload: e,
282
282
  button: p
283
283
  }), o.emit("click", {
284
- payload: t,
284
+ payload: e,
285
285
  button: p
286
286
  });
287
287
  }
288
- function g(t) {
288
+ function g(e) {
289
289
  return s(S, {
290
- disabled: d(t),
291
- id: t.id,
292
- icon: t.icon,
293
- size: e.size,
294
- type: a(t),
295
- customClass: f(t),
296
- onClick: (p) => n(p, t)
290
+ disabled: d(e),
291
+ id: e.id,
292
+ icon: e.icon,
293
+ size: t.size,
294
+ type: c(e),
295
+ customClass: f(e),
296
+ onClick: (p) => n(p, e)
297
297
  }, {
298
- default: () => [t.text]
298
+ default: () => [e.text]
299
299
  });
300
300
  }
301
301
  const {
302
302
  renderDropdownButton: b
303
- } = w(e, o);
303
+ } = w(t, o);
304
304
  return () => s("div", {
305
305
  class: "f-btn-group",
306
306
  style: "position:relative;",
307
- ref: c
307
+ ref: a
308
308
  }, [s("div", {
309
309
  class: r(),
310
310
  style: l()
311
- }, [u.map((t) => g(t))]), !!i.length && b(i)]);
311
+ }, [u.map((e) => g(e))]), !!i.length && b(i)]);
312
312
  }
313
313
  }), Y = /* @__PURE__ */ k({
314
314
  name: "FButtonGroupDesign",
315
315
  props: m,
316
316
  emits: ["click", "changeState", "change", "clickMenuOut"],
317
- setup(e, o) {
318
- const c = y(), u = M("design-item-context"), i = G(c, u);
317
+ setup(t, o) {
318
+ const a = y(), u = M("design-item-context"), i = G(a, u);
319
319
  P(() => {
320
- c.value.componentInstance = i;
320
+ a.value.componentInstance = i;
321
321
  }), o.expose(i.value);
322
- const a = e.data && e.data.slice(0, e.count) || [], d = e.data && e.data.slice(e.count) || [], f = function(n) {
322
+ const c = t.data && t.data.slice(0, t.count) || [], d = t.data && t.data.slice(t.count) || [], f = function(n) {
323
323
  const g = {
324
324
  btn: !0,
325
325
  "f-btn-ml": n.type && n.type !== "link",
@@ -341,26 +341,26 @@ const v = /* @__PURE__ */ k({
341
341
  }
342
342
  const {
343
343
  renderDropdownButton: l
344
- } = w(e, o);
344
+ } = w(t, o);
345
345
  return () => s("div", {
346
346
  class: "f-btn-group",
347
347
  style: "position:relative;",
348
- ref: c
348
+ ref: a
349
349
  }, [s("div", {
350
- class: (e.size === "large" ? "btn-group-lg" : "btn-group-sm") + " btn-group f-btn-group-links"
351
- }, [a.map((n) => r(n))]), !!d.length && l(d)]);
350
+ class: (t.size === "large" ? "btn-group-lg" : "btn-group-sm") + " btn-group f-btn-group-links"
351
+ }, [c.map((n) => r(n))]), !!d.length && l(d)]);
352
352
  }
353
353
  });
354
- v.register = (e, o, c, u) => {
355
- e["button-group"] = v, o["button-group"] = B;
354
+ v.register = (t, o, a, u) => {
355
+ t["button-group"] = v, o["button-group"] = B;
356
356
  };
357
- v.registerDesigner = (e, o, c) => {
358
- e["button-group"] = Y, o["button-group"] = B;
357
+ v.registerDesigner = (t, o, a) => {
358
+ t["button-group"] = Y, o["button-group"] = B;
359
359
  };
360
- const oe = $(v);
360
+ const ot = x(v);
361
361
  export {
362
362
  v as FButtonGroup,
363
363
  m as buttonGroupProps,
364
- oe as default,
364
+ ot as default,
365
365
  B as propsResolver
366
366
  };
@@ -1 +1 @@
1
- (function(c,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../button/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button/index.umd.js","../dynamic-resolver/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],t):(c=typeof globalThis<"u"?globalThis:c||self,t(c["button-group"]={},c.Vue,c.FButton,c.dynamicResolver,c.FPopover,c.designerCanvas,c.common))})(this,function(c,t,C,k,j,D,M){"use strict";const N={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-group.schema.json",title:"button-group",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for button-group",type:"string"},type:{description:"The type string of button-group",type:"string",default:"button-group"},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 V(e,i,d){return i}const x=new Map([["appearance",k.resolveAppearance]]),$={title:"button-group",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:[]}}}}}},h={id:String,data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},count:{type:Number,default:2},mode:{type:String,default:"default"},size:{type:String,default:"middle"},type:{type:String,default:"primary"},placement:{type:String,default:"bottom-left"}},v=k.createPropsResolver(h,N,x,V,$);function P(e,i,d){const a=t.ref(),r=t.ref(!1),u=t.ref();function f(){const n=a.value;n&&n.show(d.value)}async function y(){r.value=!r.value,await t.nextTick(),f()}function s(){r.value=!1,i.emit("changeState",r.value)}function l(n){n.stopPropagation(),y(),i.emit("changeState",r.value)}function o(n,p){n.stopPropagation(),!p.disabled&&(r.value=!1,i.emit("change",p.id),i.emit("click",p))}function g(){r.value&&(u.value=setTimeout(()=>{s()},1e3))}function m(){u.value&&(clearTimeout(u.value),u.value=null)}return{hidePopup:s,onClickDropdownButton:l,onClickDropdownMenuItem:o,onMouseleaveDropdownButton:g,onMouseenterDropdownButton:m,popoverRef:a,shouldPopupContent:r,togglePopup:y}}function S(e,i,d){const{hidePopup:a,onClickDropdownMenuItem:r,popoverRef:u}=d;function f(s){return t.createVNode(t.Fragment,null,[s.divider&&t.createVNode("div",{class:"dropdown-divider"},null),t.createVNode("div",{id:s.id,class:"dropdown-item"+(s.disabled?" disabled":""),onClick:l=>r(l,s)},[s.icon&&t.createVNode("i",{class:"f-icon dropdown-item-icon"+s.icon},null),t.createVNode("span",null,[s.text])])])}function y(s){return t.createVNode(j,{id:`${e.id}-popover`,ref:u,visible:!0,placement:e.placement,host:"body",fitContent:!0,onHidden:a,minWidth:120},{default:()=>[t.createVNode("div",{class:"bg-white"},[s.map(l=>f(l))])]})}return{renderDropdownMenu:y}}function B(e,i){const d=t.ref(),a=t.ref(),r=P(e,i,a),{onMouseleaveDropdownButton:u,onMouseenterDropdownButton:f,onClickDropdownButton:y,shouldPopupContent:s}=r,{renderDropdownMenu:l}=S(e,d,r),o=()=>({"margin-bottom":"2px"});function g(m){return t.createVNode("div",{class:"btn-group f-btn-group-dropdown",ref:d,onMouseleave:u,onMouseenter:f,style:o},[t.createVNode("button",{ref:a,type:"button",class:"f-btn-dropdown",onClick:y},[t.createVNode("span",{class:"f-icon f-icon-lookup"},null)]),s.value&&l(m)])}return{renderDropdownButton:g}}const b=t.defineComponent({name:"FButtonGroup",props:h,emits:["click","change","changeState"],setup(e,i){const d=t.ref(),a=e.data&&e.data.slice(0,e.count)||[],r=e.data&&e.data.slice(e.count)||[],u=n=>n.type||e.type,f=n=>n.disabled!==void 0?n.disabled:e.disabled,y=function(n){const p={"f-btn-ml":(n.type&&n.type!=="link"||e.type!=="link")&&e.mode==="default","btn-link":!n.type&&!e.type||e.type==="link"||n.type==="link"},w=n.type?n.type:e.type&&e.type!=="link"?e.type:"";return w&&(p[`btn-${w}`]=!0),p},s=function(){return{"position-relative":!0,"btn-group":e.mode==="group","f-btn-group-links":e.type==="link"}},l=()=>({display:"inline-flex","vertical-align":"middle","margin-bottom":"2px"});function o(n,p){i.emit("change",{payload:n,button:p}),i.emit("click",{payload:n,button:p})}function g(n){return t.createVNode(C,{disabled:f(n),id:n.id,icon:n.icon,size:e.size,type:u(n),customClass:y(n),onClick:p=>o(p,n)},{default:()=>[n.text]})}const{renderDropdownButton:m}=B(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:s(),style:l()},[a.map(n=>g(n))]),!!r.length&&m(r)])}}),G=t.defineComponent({name:"FButtonGroupDesign",props:h,emits:["click","changeState","change","clickMenuOut"],setup(e,i){const d=t.ref(),a=t.inject("design-item-context"),r=D.useDesignerComponent(d,a);t.onMounted(()=>{d.value.componentInstance=r}),i.expose(r.value);const u=e.data&&e.data.slice(0,e.count)||[],f=e.data&&e.data.slice(e.count)||[],y=function(o){const g={btn:!0,"f-btn-ml":o.type&&o.type!=="link","btn-link":!!o.icon||!o.type,"btn-icontext":!!o.icon,disabled:o.disabled};return o.type&&(g[`btn-${o.type}`]=!0),g};function s(o){return t.createVNode("div",null,[t.createVNode("button",{type:"button",id:o.id,title:o.id,class:y(o)},[o.icon&&t.createVNode("i",{class:`f-icon ${o.icon}`},null),!o.icon&&o.text])])}const{renderDropdownButton:l}=B(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:(e.size==="large"?"btn-group-lg":"btn-group-sm")+" btn-group f-btn-group-links"},[u.map(o=>s(o))]),!!f.length&&l(f)])}});b.register=(e,i,d,a)=>{e["button-group"]=b,i["button-group"]=v},b.registerDesigner=(e,i,d)=>{e["button-group"]=G,i["button-group"]=v};const R=M.withInstall(b);c.FButtonGroup=b,c.buttonGroupProps=h,c.default=R,c.propsResolver=v,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(c,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../button/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../button/index.umd.js","../dynamic-resolver/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],t):(c=typeof globalThis<"u"?globalThis:c||self,t(c["button-group"]={},c.Vue,c.FButton,c.dynamicResolver,c.FPopover,c.designerCanvas,c.common))})(this,function(c,t,C,k,j,D,M){"use strict";const N={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-group.schema.json",title:"button-group",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for button-group",type:"string"},type:{description:"The type string of button-group",type:"string",default:"button-group"},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 V(e,i,d){return i}const x=new Map([["appearance",k.resolveAppearance]]),P={title:"button-group",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:[]}}}}}},h={id:String,data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},count:{type:Number,default:2},mode:{type:String,default:"default"},size:{type:String,default:"middle"},type:{type:String,default:"primary"},placement:{type:String,default:"bottom-left"}},v=k.createPropsResolver(h,N,x,V,P);function S(e,i,d){const a=t.ref(),r=t.ref(!1),u=t.ref();function f(){const n=a.value;n&&n.show(d.value)}async function y(){r.value=!r.value,await t.nextTick(),f()}function s(){r.value=!1,i.emit("changeState",r.value)}function l(n){n.stopPropagation(),y(),i.emit("changeState",r.value)}function o(n,p){n.stopPropagation(),!p.disabled&&(r.value=!1,i.emit("change",{payload:n,button:p}),i.emit("click",{payload:n,button:p}))}function g(){r.value&&(u.value=setTimeout(()=>{s()},1e3))}function m(){u.value&&(clearTimeout(u.value),u.value=null)}return{hidePopup:s,onClickDropdownButton:l,onClickDropdownMenuItem:o,onMouseleaveDropdownButton:g,onMouseenterDropdownButton:m,popoverRef:a,shouldPopupContent:r,togglePopup:y}}function $(e,i,d){const{hidePopup:a,onClickDropdownMenuItem:r,popoverRef:u}=d;function f(s){return t.createVNode(t.Fragment,null,[s.divider&&t.createVNode("div",{class:"dropdown-divider"},null),t.createVNode("div",{id:s.id,class:"dropdown-item"+(s.disabled?" disabled":""),onClick:l=>r(l,s)},[s.icon&&t.createVNode("i",{class:"f-icon dropdown-item-icon"+s.icon},null),t.createVNode("span",null,[s.text])])])}function y(s){return t.createVNode(j,{id:`${e.id}-popover`,ref:u,visible:!0,placement:e.placement,host:"body",fitContent:!0,onHidden:a,minWidth:120},{default:()=>[t.createVNode("div",{class:"bg-white"},[s.map(l=>f(l))])]})}return{renderDropdownMenu:y}}function B(e,i){const d=t.ref(),a=t.ref(),r=S(e,i,a),{onMouseleaveDropdownButton:u,onMouseenterDropdownButton:f,onClickDropdownButton:y,shouldPopupContent:s}=r,{renderDropdownMenu:l}=$(e,d,r),o=()=>({"margin-bottom":"2px"});function g(m){return t.createVNode("div",{class:"btn-group f-btn-group-dropdown",ref:d,onMouseleave:u,onMouseenter:f,style:o},[t.createVNode("button",{ref:a,type:"button",class:"f-btn-dropdown",onClick:y},[t.createVNode("span",{class:"f-icon f-icon-lookup"},null)]),s.value&&l(m)])}return{renderDropdownButton:g}}const b=t.defineComponent({name:"FButtonGroup",props:h,emits:["click","change","changeState"],setup(e,i){const d=t.ref(),a=e.data&&e.data.slice(0,e.count)||[],r=e.data&&e.data.slice(e.count)||[],u=n=>n.type||e.type,f=n=>n.disabled!==void 0?n.disabled:e.disabled,y=function(n){const p={"f-btn-ml":(n.type&&n.type!=="link"||e.type!=="link")&&e.mode==="default","btn-link":!n.type&&!e.type||e.type==="link"||n.type==="link"},w=n.type?n.type:e.type&&e.type!=="link"?e.type:"";return w&&(p[`btn-${w}`]=!0),p},s=function(){return{"position-relative":!0,"btn-group":e.mode==="group","f-btn-group-links":e.type==="link"}},l=()=>({display:"inline-flex","vertical-align":"middle","margin-bottom":"2px"});function o(n,p){i.emit("change",{payload:n,button:p}),i.emit("click",{payload:n,button:p})}function g(n){return t.createVNode(C,{disabled:f(n),id:n.id,icon:n.icon,size:e.size,type:u(n),customClass:y(n),onClick:p=>o(p,n)},{default:()=>[n.text]})}const{renderDropdownButton:m}=B(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:s(),style:l()},[a.map(n=>g(n))]),!!r.length&&m(r)])}}),G=t.defineComponent({name:"FButtonGroupDesign",props:h,emits:["click","changeState","change","clickMenuOut"],setup(e,i){const d=t.ref(),a=t.inject("design-item-context"),r=D.useDesignerComponent(d,a);t.onMounted(()=>{d.value.componentInstance=r}),i.expose(r.value);const u=e.data&&e.data.slice(0,e.count)||[],f=e.data&&e.data.slice(e.count)||[],y=function(o){const g={btn:!0,"f-btn-ml":o.type&&o.type!=="link","btn-link":!!o.icon||!o.type,"btn-icontext":!!o.icon,disabled:o.disabled};return o.type&&(g[`btn-${o.type}`]=!0),g};function s(o){return t.createVNode("div",null,[t.createVNode("button",{type:"button",id:o.id,title:o.id,class:y(o)},[o.icon&&t.createVNode("i",{class:`f-icon ${o.icon}`},null),!o.icon&&o.text])])}const{renderDropdownButton:l}=B(e,i);return()=>t.createVNode("div",{class:"f-btn-group",style:"position:relative;",ref:d},[t.createVNode("div",{class:(e.size==="large"?"btn-group-lg":"btn-group-sm")+" btn-group f-btn-group-links"},[u.map(o=>s(o))]),!!f.length&&l(f)])}});b.register=(e,i,d,a)=>{e["button-group"]=b,i["button-group"]=v},b.registerDesigner=(e,i,d)=>{e["button-group"]=G,i["button-group"]=v};const R=M.withInstall(b);c.FButtonGroup=b,c.buttonGroupProps=h,c.default=R,c.propsResolver=v,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});