rappel-ui 1.0.39 → 1.0.41

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 (50) hide show
  1. package/cjs/components/dropdown/src/dropdown-item.vue_vue_type_script_setup_true_lang.js +1 -1
  2. package/cjs/components/dropdown/src/dropdown.vue_vue_type_script_setup_true_lang.js +1 -1
  3. package/cjs/components/dropdown/src/types.d.ts +6 -6
  4. package/cjs/components/menu/index.d.ts +46 -4
  5. package/cjs/components/menu/src/loop.vue.d.ts +8 -3
  6. package/cjs/components/menu/src/loop.vue_vue_type_script_setup_true_lang.js +1 -1
  7. package/cjs/components/menu/src/menu-item.vue.d.ts +16 -2
  8. package/cjs/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.js +1 -1
  9. package/cjs/components/menu/src/menu.vue.d.ts +3 -1
  10. package/cjs/components/menu/src/menu.vue_vue_type_script_setup_true_lang.js +1 -1
  11. package/cjs/components/menu/src/submenu.vue_vue_type_script_setup_true_lang.js +1 -1
  12. package/cjs/components/menu/src/types.d.ts +17 -13
  13. package/cjs/components/popconfirm/src/popconfirm.vue_vue_type_script_setup_true_lang.js +1 -1
  14. package/cjs/components/popover/src/popover.vue_vue_type_script_setup_true_lang.js +1 -1
  15. package/cjs/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.js +1 -1
  16. package/cjs/composables/index.d.ts +1 -1
  17. package/cjs/composables/index.js +1 -1
  18. package/cjs/composables/{use-slot-node → use-slot-nodes}/index.d.ts +1 -0
  19. package/cjs/composables/use-slot-nodes/index.js +1 -0
  20. package/cjs/index.d.ts +44 -3
  21. package/cjs/index.js +1 -1
  22. package/dist/index.css +1 -1
  23. package/dist/index.umd.js +9 -9
  24. package/es/components/dropdown/src/dropdown-item.vue_vue_type_script_setup_true_lang.mjs +20 -20
  25. package/es/components/dropdown/src/dropdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
  26. package/es/components/dropdown/src/types.d.ts +6 -6
  27. package/es/components/menu/index.d.ts +46 -4
  28. package/es/components/menu/src/loop.vue.d.ts +8 -3
  29. package/es/components/menu/src/loop.vue_vue_type_script_setup_true_lang.mjs +102 -13
  30. package/es/components/menu/src/menu-item.vue.d.ts +16 -2
  31. package/es/components/menu/src/menu-item.vue_vue_type_script_setup_true_lang.mjs +169 -195
  32. package/es/components/menu/src/menu.vue.d.ts +3 -1
  33. package/es/components/menu/src/menu.vue_vue_type_script_setup_true_lang.mjs +72 -60
  34. package/es/components/menu/src/submenu.vue_vue_type_script_setup_true_lang.mjs +73 -105
  35. package/es/components/menu/src/types.d.ts +17 -13
  36. package/es/components/popconfirm/src/popconfirm.vue_vue_type_script_setup_true_lang.mjs +1 -1
  37. package/es/components/popover/src/popover.vue_vue_type_script_setup_true_lang.mjs +1 -1
  38. package/es/components/tooltip/src/tooltip.vue_vue_type_script_setup_true_lang.mjs +1 -1
  39. package/es/composables/index.d.ts +1 -1
  40. package/es/composables/index.mjs +2 -2
  41. package/es/composables/{use-slot-node → use-slot-nodes}/index.d.ts +1 -0
  42. package/es/composables/use-slot-nodes/index.mjs +14 -0
  43. package/es/index.d.ts +44 -3
  44. package/es/index.mjs +70 -70
  45. package/package.json +2 -2
  46. package/theme-chalk/index.css +1 -1
  47. package/theme-chalk/re-menu.css +1 -1
  48. package/theme-chalk/src/menu.scss +12 -0
  49. package/cjs/composables/use-slot-node/index.js +0 -1
  50. package/es/composables/use-slot-node/index.mjs +0 -10
@@ -1 +1 @@
1
- const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const n=require("../../tooltip/index.js"),r=require("./constants.js"),i=require("./loop.js");let a=require("vue"),o=require("@vueuse/core"),s=require("@rappel-ui/svg-icons");var c=[`depth`],l=(0,a.defineComponent)({name:`ReDropdownItem`,__name:`dropdown-item`,props:{value:{default:``},label:{default:``},disabled:{type:Boolean,default:()=>void 0},children:{default:()=>[]},hasChildren:{type:Boolean,default:()=>void 0},icon:{default:``},subIcon:{default:()=>s.ArrowBackward},depth:{default:()=>void 0}},setup(l){let{n:u,ns:d,is:f,has:p}=e.useNamespace(`dropdown`),m=(0,a.computed)(()=>{var e,t;return(e=l.hasChildren)==null?((t=l.children)==null?void 0:t.length)>0:e}),h=(0,a.computed)(()=>[d(`item`),f(`disabled`,l.disabled),p(`children`,m.value)]),g=(0,a.computed)(()=>{var e;return(e=l.depth)==null?y.value:e}),_=(0,a.computed)(()=>!m.value||l.disabled),v=(0,a.inject)(r._dropdownProvideKey,null),y=(0,a.computed)(()=>v==null?void 0:v.depth.value),b=(0,a.computed)(()=>v.theme.value),x=(0,a.computed)(()=>v.reverseTheme.value),S=(0,a.computed)(()=>{var e;return v==null||(e=v.submenuOffset)==null?void 0:e.value}),C=e=>{e.stopPropagation(),!(m.value||l.disabled)&&(v==null||v.select(l.value,{label:l.label,disabled:l.disabled,value:l.value,children:l.children,hasChildren:l.hasChildren,icon:l.icon,subIcon:l.subIcon,depth:g.value}))},w=(0,o.computedAsync)(async()=>await(0,s.getAsyncIcon)(l.icon)),T=(0,o.computedAsync)(async()=>await(0,s.getAsyncIcon)(l.subIcon)),E=(0,a.useTemplateRef)(`tooltipRef`),D=(0,a.computed)(()=>{var e;let t=(e=E.value)==null?void 0:e.floatingPlacement;return[{"transform-origin":r.originsMap[t]}]}),{currentTheme:O}=t.useTheme(b.value,x.value);return(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{class:(0,a.normalizeClass)(h.value),depth:g.value,onClick:C},[(0,a.createVNode)((0,a.unref)(n.ReTooltip),{ref_key:`tooltipRef`,ref:E,"floating-class":[m.value?[(0,a.unref)(u)(),(0,a.unref)(d)(`submenu`)]:``,(0,a.unref)(f)(`disabled`,l.disabled)],"floating-style":D.value,disabled:_.value,teleported:!1,placement:`right-start`,"show-arrow":!1,transform:!1,transition:`dropdown`,offset:S.value,theme:b.value,"reverse-theme":x.value},{content:(0,a.withCtx)(()=>{var t;return[(t=e.$slots)!=null&&t[`item-submenu`]&&!l.disabled?((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(u)(),(0,a.unref)(f)((0,a.unref)(O),!!(0,a.unref)(O))])},{default:(0,a.withCtx)(()=>[(0,a.renderSlot)(e.$slots,`item-submenu`)]),_:3},8,[`class`])):m.value&&!l.disabled?((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:1,class:(0,a.normalizeClass)([(0,a.unref)(u)(),(0,a.unref)(f)((0,a.unref)(O),!!(0,a.unref)(O))]),options:l.children},null,8,[`class`,`options`])):(0,a.renderSlot)(e.$slots,`default`,{},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(l.label),1)],void 0,2)]}),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([(0,a.unref)(d)(`label-wrap`)])},[l.icon?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(d)(`icon`)])},[(0,a.renderSlot)(e.$slots,`icon`,{},()=>[typeof(0,a.unref)(w)==`string`?((0,a.openBlock)(),(0,a.createElementBlock)(`i`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(w)]),"aria-hidden":`true`},null,2)):((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(w)),{key:1,"aria-hidden":`true`}))])],2)):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([(0,a.unref)(d)(`label`)])},[(0,a.renderSlot)(e.$slots,`default`,{},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(l.label),1)])],2),l.subIcon&&m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:(0,a.normalizeClass)([(0,a.unref)(d)(`subicon`)])},[(0,a.renderSlot)(e.$slots,`sub-icon`,{},()=>[typeof(0,a.unref)(T)==`string`?((0,a.openBlock)(),(0,a.createElementBlock)(`i`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(T)]),"aria-hidden":`true`},null,2)):((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(T)),{key:1,"aria-hidden":`true`}))])],2)):(0,a.createCommentVNode)(``,!0)],2)]),_:3},8,[`floating-class`,`floating-style`,`disabled`,`offset`,`theme`,`reverse-theme`])],10,c))}});exports.default=l;
1
+ const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const n=require("../../tooltip/index.js"),r=require("./constants.js"),i=require("./loop.js");let a=require("vue"),o=require("@vueuse/core"),s=require("@rappel-ui/svg-icons");var c=[`depth`],l=(0,a.defineComponent)({name:`ReDropdownItem`,__name:`dropdown-item`,props:{value:{default:``},label:{default:``},disabled:{type:Boolean,default:()=>void 0},children:{default:()=>[]},hasChildren:{type:Boolean,default:()=>void 0},icon:{default:``},subIcon:{type:[String,Boolean],default:()=>s.ArrowBackward},depth:{default:()=>void 0}},setup(l){let{n:u,ns:d,is:f,has:p}=e.useNamespace(`dropdown`),m=(0,a.computed)(()=>{var e,t;return(e=l.hasChildren)==null?((t=l.children)==null?void 0:t.length)>0:e}),h=(0,a.computed)(()=>[d(`item`),f(`disabled`,l.disabled),p(`children`,m.value)]),g=(0,a.computed)(()=>{var e;return(e=l.depth)==null?v.value:e}),_=(0,a.computed)(()=>!m.value||l.disabled),{depth:v,theme:y,reverseTheme:b,submenuOffset:x,select:S}=(0,a.inject)(r._dropdownProvideKey),C=e=>{e.stopPropagation(),!(m.value||l.disabled)&&S(l.value,{label:l.label,disabled:l.disabled,value:l.value,children:l.children,hasChildren:l.hasChildren,icon:l.icon,subIcon:l.subIcon,depth:g.value})},w=(0,o.computedAsync)(async()=>await(0,s.getAsyncIcon)(l.icon)),T=(0,o.computedAsync)(async()=>await(0,s.getAsyncIcon)(l.subIcon||``)),E=(0,a.useTemplateRef)(`tooltipRef`),D=(0,a.computed)(()=>{var e;let t=(e=E.value)==null?void 0:e.floatingPlacement;return[{"transform-origin":r.originsMap[t]}]}),{currentTheme:O}=t.useTheme(y.value,b.value);return(e,t)=>((0,a.openBlock)(),(0,a.createElementBlock)(`li`,{class:(0,a.normalizeClass)(h.value),depth:g.value,onClick:C},[(0,a.createVNode)((0,a.unref)(n.ReTooltip),{ref_key:`tooltipRef`,ref:E,"floating-class":[m.value?[(0,a.unref)(u)(),(0,a.unref)(d)(`submenu`)]:``,(0,a.unref)(f)(`disabled`,l.disabled)],"floating-style":D.value,disabled:_.value,teleported:!1,placement:`right-start`,"show-arrow":!1,transform:!1,transition:`dropdown`,offset:(0,a.unref)(x),theme:(0,a.unref)(y),"reverse-theme":(0,a.unref)(b)},{content:(0,a.withCtx)(()=>{var t;return[(t=e.$slots)!=null&&t[`item-submenu`]&&!l.disabled?((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(u)(),(0,a.unref)(f)((0,a.unref)(O),!!(0,a.unref)(O))])},{default:(0,a.withCtx)(()=>[(0,a.renderSlot)(e.$slots,`item-submenu`)]),_:3},8,[`class`])):m.value&&!l.disabled?((0,a.openBlock)(),(0,a.createBlock)(i.default,{key:1,class:(0,a.normalizeClass)([(0,a.unref)(u)(),(0,a.unref)(f)((0,a.unref)(O),!!(0,a.unref)(O))]),options:l.children},null,8,[`class`,`options`])):(0,a.renderSlot)(e.$slots,`default`,{},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(l.label),1)],void 0,2)]}),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([(0,a.unref)(d)(`label-wrap`)])},[(0,a.renderSlot)(e.$slots,`icon`,{},()=>[l.icon?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(d)(`icon`)])},[typeof(0,a.unref)(w)==`string`?((0,a.openBlock)(),(0,a.createElementBlock)(`i`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(w)]),"aria-hidden":`true`},null,2)):((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(w)),{key:1,"aria-hidden":`true`}))],2)):(0,a.createCommentVNode)(``,!0)]),(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([(0,a.unref)(d)(`label`)])},[(0,a.renderSlot)(e.$slots,`default`,{},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(l.label),1)])],2),(0,a.renderSlot)(e.$slots,`sub-icon`,{},()=>[l.subIcon&&m.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(d)(`subicon`)])},[typeof(0,a.unref)(T)==`string`?((0,a.openBlock)(),(0,a.createElementBlock)(`i`,{key:0,class:(0,a.normalizeClass)([(0,a.unref)(T)]),"aria-hidden":`true`},null,2)):((0,a.openBlock)(),(0,a.createBlock)((0,a.resolveDynamicComponent)((0,a.unref)(T)),{key:1,"aria-hidden":`true`}))],2)):(0,a.createCommentVNode)(``,!0)])],2)]),_:3},8,[`floating-class`,`floating-style`,`disabled`,`offset`,`theme`,`reverse-theme`])],10,c))}});exports.default=l;
@@ -1 +1 @@
1
- const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-slot-node/index.js");require("../../../composables/index.js");const r=require("../../tooltip/index.js"),i=require("./constants.js"),a=require("./loop.js"),o=require("./use-dropdown-emit.js");let s=require("vue");var c=(0,s.defineComponent)({name:`ReDropdown`,__name:`dropdown`,props:(0,s.mergeModels)({options:{default:()=>void 0},mapper:{default:()=>void 0},closeOnSelect:{type:Boolean,default:!0},submenuOffset:{default:()=>({mainAxis:0,crossAxis:-5})},visible:{type:Boolean},content:{},isHtml:{type:Boolean},placement:{default:`bottom`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`dropdown`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,s.mergeModels)([`select`,`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(c,{expose:l,emit:u}){let{n:d}=t.useNamespace(`dropdown`),{beforeEnter:f,enter:p,afterEnter:m,beforeLeave:h,leave:g,afterLeave:_,enterCancelled:v,leaveCancelled:y,select:b}=o.useDropdownEmits(u),x=(0,s.useModel)(c,`visible`),S=(0,s.computed)(()=>[d(),c.floatingClass]),C=(0,s.useSlots)(),w=(0,s.computed)(()=>n.useSlotFirstNode(C)),T=(0,s.useTemplateRef)(`tooltipRef`),E=(0,s.computed)(()=>{var e;let t=(e=T.value)==null?void 0:e.floatingPlacement,n=i.originsMap[t];return[c.floatingStyle,{"transform-origin":n,"--dropdown-transition-duration":`${c.cssDuration}ms`}]}),D=(0,s.computed)(()=>Array.isArray(c.options)&&c.options.length>0),O=(e,t)=>{t.disabled||(b(e,t),c.closeOnSelect&&(x.value=!1))},k=Object.assign({},{label:`label`,value:`value`,disabled:`disabled`,children:`children`},c.mapper||{}),A=e=>({...e,label:e[k.label],value:e[k.value],disabled:e[k.disabled],children:e[k.children]}),j=(0,s.computed)(()=>e.normalizeOptions(c.options,A)),M=(0,s.ref)(0);return(0,s.provide)(i._dropdownProvideKey,{select:O,depth:M,hasOptions:D,cssDuration:(0,s.computed)(()=>c.cssDuration),theme:(0,s.computed)(()=>c.theme),reverseTheme:(0,s.computed)(()=>c.reverseTheme),submenuOffset:(0,s.computed)(()=>c.submenuOffset)}),l({tooltipRef:T,select:O}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(r.ReTooltip),{ref_key:`tooltipRef`,ref:T,visible:x.value,"onUpdate:visible":t[0]||(t[0]=e=>x.value=e),width:c.width,height:c.height,"max-width":c.maxWidth,"max-height":c.maxHeight,"floating-class":S.value,"floating-style":E.value,disabled:c.disabled,theme:c.theme,placement:c.placement,trigger:c.trigger,"reverse-theme":c.reverseTheme,"show-delay":c.showDelay,"hide-delay":c.hideDelay,transition:c.transition,"css-duration":c.cssDuration,appear:c.appear,"css-transition":c.cssTransition,transform:!1,"show-arrow":c.showArrow,offset:c.offset,teleported:c.teleported,"append-to":c.appendTo,persistent:c.persistent,boundary:c.boundary,"element-context":c.elementContext,"alt-boundary":c.altBoundary,"root-boundary":c.rootBoundary,"arrow-size":c.arrowSize,"arrow-offset":c.arrowOffset,"flip-offset":c.flipOffset,"arrow-options":c.arrowOptions,"flip-options":c.flipOptions,"inline-options":c.inlineOptions,"is-external":c.isExternal,"external-ref":c.externalRef,"is-virtual":c.isVirtual,"virtual-ref":c.virtualRef,onBeforeEnter:(0,s.unref)(f),onEnter:(0,s.unref)(p),onAfterEnter:(0,s.unref)(m),onBeforeLeave:(0,s.unref)(h),onLeave:(0,s.unref)(g),onAfterLeave:(0,s.unref)(_),onEnterCancelled:(0,s.unref)(v),onLeaveCancelled:(0,s.unref)(y)},{content:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`menu`,{options:j.value},()=>[D.value?((0,s.openBlock)(),(0,s.createBlock)(a.default,{key:0,options:j.value},null,8,[`options`])):(0,s.createCommentVNode)(``,!0)])]),default:(0,s.withCtx)(()=>[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(w.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.appear.css-transition.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`)))}});exports.default=c;
1
+ const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-slot-nodes/index.js");require("../../../composables/index.js");const r=require("../../tooltip/index.js"),i=require("./constants.js"),a=require("./loop.js"),o=require("./use-dropdown-emit.js");let s=require("vue");var c=(0,s.defineComponent)({name:`ReDropdown`,__name:`dropdown`,props:(0,s.mergeModels)({options:{default:()=>void 0},mapper:{default:()=>void 0},closeOnSelect:{type:Boolean,default:!0},submenuOffset:{default:()=>({mainAxis:0,crossAxis:-5})},visible:{type:Boolean},content:{},isHtml:{type:Boolean},placement:{default:`bottom`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`dropdown`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,s.mergeModels)([`select`,`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(c,{expose:l,emit:u}){let{n:d}=t.useNamespace(`dropdown`),{beforeEnter:f,enter:p,afterEnter:m,beforeLeave:h,leave:g,afterLeave:_,enterCancelled:v,leaveCancelled:y,select:b}=o.useDropdownEmits(u),x=(0,s.useModel)(c,`visible`),S=(0,s.computed)(()=>[d(),c.floatingClass]),C=(0,s.useSlots)(),w=(0,s.computed)(()=>n.useSlotFirstNode(C)),T=(0,s.useTemplateRef)(`tooltipRef`),E=(0,s.computed)(()=>{var e;let t=(e=T.value)==null?void 0:e.floatingPlacement,n=i.originsMap[t];return[c.floatingStyle,{"transform-origin":n,"--dropdown-transition-duration":`${c.cssDuration}ms`}]}),D=(0,s.computed)(()=>Array.isArray(c.options)&&c.options.length>0),O=(e,t)=>{t.disabled||(b(e,t),c.closeOnSelect&&(x.value=!1))},k=Object.assign({},{label:`label`,value:`value`,disabled:`disabled`,children:`children`},c.mapper||{}),A=e=>({...e,label:e[k.label],value:e[k.value],disabled:e[k.disabled],children:e[k.children]}),j=(0,s.computed)(()=>e.normalizeOptions(c.options,A)),M=(0,s.ref)(0);return(0,s.provide)(i._dropdownProvideKey,{select:O,depth:M,hasOptions:D,cssDuration:(0,s.computed)(()=>c.cssDuration),theme:(0,s.computed)(()=>c.theme),reverseTheme:(0,s.computed)(()=>c.reverseTheme),submenuOffset:(0,s.computed)(()=>c.submenuOffset)}),l({tooltipRef:T,select:O}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)((0,s.unref)(r.ReTooltip),{ref_key:`tooltipRef`,ref:T,visible:x.value,"onUpdate:visible":t[0]||(t[0]=e=>x.value=e),width:c.width,height:c.height,"max-width":c.maxWidth,"max-height":c.maxHeight,"floating-class":S.value,"floating-style":E.value,disabled:c.disabled,theme:c.theme,placement:c.placement,trigger:c.trigger,"reverse-theme":c.reverseTheme,"show-delay":c.showDelay,"hide-delay":c.hideDelay,transition:c.transition,"css-duration":c.cssDuration,appear:c.appear,"css-transition":c.cssTransition,transform:!1,"show-arrow":c.showArrow,offset:c.offset,teleported:c.teleported,"append-to":c.appendTo,persistent:c.persistent,boundary:c.boundary,"element-context":c.elementContext,"alt-boundary":c.altBoundary,"root-boundary":c.rootBoundary,"arrow-size":c.arrowSize,"arrow-offset":c.arrowOffset,"flip-offset":c.flipOffset,"arrow-options":c.arrowOptions,"flip-options":c.flipOptions,"inline-options":c.inlineOptions,"is-external":c.isExternal,"external-ref":c.externalRef,"is-virtual":c.isVirtual,"virtual-ref":c.virtualRef,onBeforeEnter:(0,s.unref)(f),onEnter:(0,s.unref)(p),onAfterEnter:(0,s.unref)(m),onBeforeLeave:(0,s.unref)(h),onLeave:(0,s.unref)(g),onAfterLeave:(0,s.unref)(_),onEnterCancelled:(0,s.unref)(v),onLeaveCancelled:(0,s.unref)(y)},{content:(0,s.withCtx)(()=>[(0,s.renderSlot)(e.$slots,`menu`,{options:j.value},()=>[D.value?((0,s.openBlock)(),(0,s.createBlock)(a.default,{key:0,options:j.value},null,8,[`options`])):(0,s.createCommentVNode)(``,!0)])]),default:(0,s.withCtx)(()=>[((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(w.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.appear.css-transition.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`)))}});exports.default=c;
@@ -19,17 +19,17 @@ export interface DropdownOption {
19
19
  children?: DropdownOption[];
20
20
  hasChildren?: boolean;
21
21
  icon?: string | Component;
22
- subIcon?: string | Component;
22
+ subIcon?: string | Component | false;
23
23
  depth?: number;
24
24
  }
25
25
  export interface DropdownProvides {
26
26
  select: (value: any, item: DropdownOption) => void;
27
27
  depth: Ref<number>;
28
- hasOptions?: ComputedRef<boolean>;
29
- cssDuration?: ComputedRef<number>;
30
- theme?: ComputedRef<Theme>;
31
- reverseTheme?: ComputedRef<boolean>;
32
- submenuOffset?: ComputedRef<OffsetOptions>;
28
+ hasOptions: ComputedRef<boolean>;
29
+ cssDuration: ComputedRef<number>;
30
+ theme: ComputedRef<Theme>;
31
+ reverseTheme: ComputedRef<boolean>;
32
+ submenuOffset: ComputedRef<OffsetOptions>;
33
33
  }
34
34
  export interface DropdownSubmenuProps {
35
35
  item?: DropdownOption;
@@ -1,5 +1,6 @@
1
- import { CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
1
+ import { CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps, ShallowRef, ComputedRef, Ref, Component } from 'vue';
2
2
  import { MenuProps, MenuOption, SubmenuProps } from './index.ts';
3
+ import { Placement } from '@floating-ui/vue';
3
4
  export * from './src/types.ts';
4
5
  export * from './src/use-menu-emit.ts';
5
6
  export declare const ReMenu: {
@@ -33,6 +34,8 @@ export declare const ReMenu: {
33
34
  }, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
34
35
  $slots: {
35
36
  default?: (props: {}) => any;
37
+ } & {
38
+ 'ellipsis-icon'?: (props: {}) => any;
36
39
  };
37
40
  });
38
41
  export declare const ReSubmenu: {
@@ -57,18 +60,57 @@ export declare const ReSubmenu: {
57
60
  };
58
61
  });
59
62
  export declare const ReMenuItem: {
60
- new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly< MenuOption> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
63
+ new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly< MenuOption> & Readonly<{}>, {
64
+ itemRef: Readonly< ShallowRef<HTMLLIElement | null, HTMLLIElement | null>>;
65
+ hasChild: ComputedRef<boolean>;
66
+ showArrow: ComputedRef<boolean>;
67
+ placement: ComputedRef<Placement>;
68
+ visible: Ref<boolean, boolean>;
69
+ value: any;
70
+ label: string | undefined;
71
+ disabled: boolean | undefined;
72
+ icon: string | Component;
73
+ subIcon: string | false | Component | undefined;
74
+ depth: number;
75
+ children: MenuOption[];
76
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
61
77
  P: {};
62
78
  B: {};
63
79
  D: {};
64
80
  C: {};
65
81
  M: {};
66
82
  Defaults: {};
67
- }, Readonly< MenuOption> & Readonly<{}>, {}, {}, {}, {}, {}>;
83
+ }, Readonly< MenuOption> & Readonly<{}>, {
84
+ itemRef: Readonly< ShallowRef<HTMLLIElement | null, HTMLLIElement | null>>;
85
+ hasChild: ComputedRef<boolean>;
86
+ showArrow: ComputedRef<boolean>;
87
+ placement: ComputedRef<Placement>;
88
+ visible: Ref<boolean, boolean>;
89
+ value: any;
90
+ label: string | undefined;
91
+ disabled: boolean | undefined;
92
+ icon: string | Component;
93
+ subIcon: string | false | Component | undefined;
94
+ depth: number;
95
+ children: MenuOption[];
96
+ }, {}, {}, {}, {}>;
68
97
  __isFragment?: never;
69
98
  __isTeleport?: never;
70
99
  __isSuspense?: never;
71
- } & ComponentOptionsBase<Readonly< MenuOption> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
100
+ } & ComponentOptionsBase<Readonly< MenuOption> & Readonly<{}>, {
101
+ itemRef: Readonly< ShallowRef<HTMLLIElement | null, HTMLLIElement | null>>;
102
+ hasChild: ComputedRef<boolean>;
103
+ showArrow: ComputedRef<boolean>;
104
+ placement: ComputedRef<Placement>;
105
+ visible: Ref<boolean, boolean>;
106
+ value: any;
107
+ label: string | undefined;
108
+ disabled: boolean | undefined;
109
+ icon: string | Component;
110
+ subIcon: string | false | Component | undefined;
111
+ depth: number;
112
+ children: MenuOption[];
113
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
72
114
  $slots: {
73
115
  icon?: (props: {}) => any;
74
116
  } & {
@@ -1,13 +1,18 @@
1
1
  import { MenuOption } from './types';
2
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ import { DefineComponent, ShallowRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
4
  options?: MenuOption[];
5
5
  };
6
- declare var __VLS_1: {};
6
+ declare var __VLS_1: {}, __VLS_28: {};
7
7
  type __VLS_Slots = {} & {
8
8
  default?: (props: typeof __VLS_1) => any;
9
+ } & {
10
+ 'ellipsis-icon'?: (props: typeof __VLS_28) => any;
9
11
  };
10
- declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_base: DefineComponent<__VLS_Props, {
13
+ loopRef: Readonly< ShallowRef<HTMLUListElement | null>>;
14
+ update: () => Promise<void>;
15
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
11
16
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
17
  declare const _default: typeof __VLS_export;
13
18
  export default _default;
@@ -1 +1 @@
1
- const e=require("./menu-item.js"),t=require("./submenu.js");let n=require("vue");var r=(0,n.defineComponent)({__name:`loop`,props:{options:{default:()=>void 0}},setup(r){return(i,a)=>((0,n.openBlock)(),(0,n.createElementBlock)(`ul`,null,[(0,n.renderSlot)(i.$slots,`default`,{},()=>[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(r.options,r=>{var i;return(0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:typeof r.value==`boolean`?r.label:r.value},[r!=null&&(i=r.children)!=null&&i.length?((0,n.openBlock)(),(0,n.createBlock)(t.default,{key:0,item:r},null,8,[`item`])):((0,n.openBlock)(),(0,n.createBlock)(e.default,(0,n.mergeProps)({key:1,ref_for:!0},r),null,16))],64)}),128))])]))}});exports.default=r;
1
+ const e=require("../../../composables/use-slot-nodes/index.js");require("../../../composables/index.js");const t=require("./constants.js"),n=require("./menu-item.js"),r=require("./submenu.js");let i=require("vue"),a=require("@vueuse/core"),o=require("@rappel-ui/svg-icons");var s=(0,i.defineComponent)({__name:`loop`,props:{options:{default:()=>void 0}},setup(s,{expose:c}){let l=(0,i.useTemplateRef)(`loopRef`),u=(0,i.useTemplateRef)(`moreRef`),d=(0,i.shallowRef)([]),f=(0,i.shallowRef)([]),p=(0,i.ref)([]),{depth:m,hasOptions:h,direction:g,ellipsis:_,ellipsisIcon:v}=(0,i.inject)(t._menuProvideKey),y=(0,i.computed)(()=>{var e;return g.value===`horizontal`&&_!=null&&_.value?d.value:(e=s.options)==null?[]:e}),b=(0,a.computedAsync)(async()=>await(0,o.getAsyncIcon)(v==null?void 0:v.value)||``),x=(0,i.shallowRef)(!1),S=()=>{let e=l.value;return e?e.scrollWidth>e.clientWidth:!1},C=(0,i.useSlots)(),w=()=>{var e,t;let n=(e=(t=u.value)==null?void 0:t.itemRef)==null?u.value:e,r=l.value;if(!n||!r)return-1;let i=r.offsetWidth,a=Array.from(r.children),o=n.offsetWidth;return a.findIndex(e=>(o+=e.offsetWidth,o>i))},T=(e,t)=>{f.value=e.splice(t,e.length-t)},E=(t,n)=>{var r,a,o;let s=e.useSlotNodes(t),c=(r=s==null||(a=s[0])==null?void 0:a.children)==null?[]:r,u=(o=c==null?void 0:c.length)==null?0:o;for(let e=n;e<u;e++){var d;(d=l.value)==null||d.children[e].setAttribute(`is-hidden`,`true`)}p.value=c.slice(n).map(e=>(0,i.cloneVNode)(e,{"is-more":!0}))},D=async()=>{var e;if(d.value=[...(e=s.options)==null?[]:e],m.value===0&&g.value!==`vertical`&&_.value){if(!h.value&&l.value&&l.value.querySelectorAll(`li[is-hidden="true"]`).forEach(e=>{e.setAttribute(`is-hidden`,`false`)}),await(0,i.nextTick)(),S()){x.value=!0,await(0,i.nextTick)();let e=w();if(e===-1)return;h.value?T(d.value,e):E(C,e)}else x.value=!1,p.value=[],f.value=[]}},O=(0,a.useDebounceFn)(D,100),k=()=>{let e=[];if(_.value){let{width:t,stop:n}=(0,a.useElementSize)(l.value),{stop:r}=(0,i.watch)(t,()=>{O()});e.push(n,r)}return{cleanup:()=>{e.forEach(e=>e())}}},A=[],j=()=>{A.forEach(e=>e())},M=async()=>{if(_.value){await D();let{cleanup:e}=k();A.push(e)}};return(0,i.onMounted)(()=>{M()}),(0,i.onUnmounted)(()=>{j()}),c({loopRef:l,update:D}),(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`ul`,{ref_key:`loopRef`,ref:l},[(0,i.renderSlot)(e.$slots,`default`,{},()=>[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(y.value,t=>{var a;return(0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:typeof t.value==`boolean`?t.label:t.value},[t!=null&&(a=t.children)!=null&&a.length?((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:0,item:t,"is-more":e.$attrs[`is-more`]},null,8,[`item`,`is-more`])):((0,i.openBlock)(),(0,i.createBlock)(n.default,(0,i.mergeProps)({key:1,ref_for:!0},t,{"is-more":e.$attrs[`is-more`]}),null,16,[`is-more`]))],64)}),128))]),x.value?((0,i.openBlock)(),(0,i.createBlock)(n.default,{key:0,ref_key:`moreRef`,ref:u,value:`more`,children:f.value,"has-children":``,"sub-icon":!1,depth:-1,"is-more":!0,class:`is-more`,icon:(0,i.unref)(b)},(0,i.createSlots)({icon:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`ellipsis-icon`)]),_:2},[(0,i.unref)(h)?void 0:{name:`item-submenu`,fn:(0,i.withCtx)(()=>[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(p.value,e=>((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(e),{key:e.key}))),128))]),key:`0`}]),1032,[`children`,`icon`])):(0,i.createCommentVNode)(``,!0)],512))}});exports.default=s;
@@ -1,5 +1,6 @@
1
1
  import { MenuOption } from './types';
2
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ import { DefineComponent, ShallowRef, ComputedRef, Ref, Component, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { Placement } from '@floating-ui/vue';
3
4
  declare var __VLS_7: {}, __VLS_14: {}, __VLS_16: {}, __VLS_30: {}, __VLS_37: {}, __VLS_39: {};
4
5
  type __VLS_Slots = {} & {
5
6
  icon?: (props: typeof __VLS_7) => any;
@@ -14,7 +15,20 @@ type __VLS_Slots = {} & {
14
15
  } & {
15
16
  submenu?: (props: typeof __VLS_39) => any;
16
17
  };
17
- declare const __VLS_base: DefineComponent<MenuOption, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<MenuOption> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_base: DefineComponent<MenuOption, {
19
+ itemRef: Readonly< ShallowRef<HTMLLIElement | null, HTMLLIElement | null>>;
20
+ hasChild: ComputedRef<boolean>;
21
+ showArrow: ComputedRef<boolean>;
22
+ placement: ComputedRef<Placement>;
23
+ visible: Ref<boolean, boolean>;
24
+ value: any;
25
+ label: string | undefined;
26
+ disabled: boolean | undefined;
27
+ icon: string | Component;
28
+ subIcon: string | false | Component | undefined;
29
+ depth: number;
30
+ children: MenuOption[];
31
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<MenuOption> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
18
32
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
33
  declare const _default: typeof __VLS_export;
20
34
  export default _default;
@@ -1 +1 @@
1
- const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const r=require("../../tooltip/index.js"),i=require("./constants.js"),a=require("./loop.js");let o=require("vue"),s=require("@vueuse/core"),c=require("@rappel-ui/svg-icons");var l=[`depth`],u=(0,o.defineComponent)({name:`ReMenuItem`,__name:`menu-item`,props:{value:{default:()=>void 0},label:{default:()=>void 0},disabled:{type:Boolean,default:()=>void 0},children:{default:()=>[]},hasChildren:{type:Boolean,default:()=>void 0},icon:{default:``},subIcon:{default:()=>c.ArrowDownward},depth:{default:()=>void 0}},setup(u){let{n:d,nm:f,ns:p,is:m,has:h}=t.useNamespace(`menu`),g=(0,o.computed)(()=>{var e,t;return(e=u.hasChildren)==null?((t=u.children)==null?void 0:t.length)>0:e}),_=(0,o.computed)(()=>!(g.value&&!u.disabled)),v=(0,o.ref)(!1),y=(0,o.inject)(i._menuProvideKey),b=e=>{e!==u.value||g.value||u.disabled||y==null||y.select(u.value,{label:u.label,disabled:u.disabled,value:u.value,children:u.children,hasChildren:u.hasChildren,icon:u.icon,subIcon:u.subIcon,depth:B.value},!1)},x=e=>{if(e.stopPropagation(),!(g.value||u.disabled)&&(y==null||y.select(u.value,{label:u.label,disabled:u.disabled,value:u.value,children:u.children,hasChildren:u.hasChildren,icon:u.icon,subIcon:u.subIcon,depth:B.value}),A.value)){var t;y==null||(t=y.submenuClosers)==null||t.forEach(e=>{var t;return e==null||(t=e.close)==null?void 0:t.call(e)})}},S=(0,s.computedAsync)(async()=>await(0,c.getAsyncIcon)(u.icon)),C=(0,s.computedAsync)(async()=>await(0,c.getAsyncIcon)(u.subIcon)),w=(0,o.computed)(()=>{var e;return(y==null||(e=y.currentItem.value)==null?void 0:e.value)===u.value}),T=(0,o.computed)(()=>{var e;return y==null||(e=y.collapse)==null?void 0:e.value}),E=(0,o.computed)(()=>{var e;return y==null||(e=y.cssDuration)==null?void 0:e.value}),D=(0,o.computed)(()=>{var e;return y==null||(e=y.depth)==null?void 0:e.value}),O=(0,o.computed)(()=>{var e;return y==null||(e=y.offset)==null?void 0:e.value}),k=(0,o.computed)(()=>{var e;return y==null||(e=y.submenuOffset)==null?void 0:e.value}),A=(0,o.computed)(()=>{var e;return y==null||(e=y.closeOnSelect)==null?void 0:e.value}),j=(0,o.computed)(()=>{var e;return y==null||(e=y.direction)==null?void 0:e.value}),M=(0,o.computed)(()=>{var e;return y==null||(e=y.selectedKey)==null?void 0:e.value}),N=(0,o.computed)(()=>{var e;return y==null||(e=y.labelPadding)==null?void 0:e.value}),P=(0,o.computed)(()=>{var e;return y==null||(e=y.trigger)==null?void 0:e.value}),F=(0,o.computed)(()=>y.theme.value),{currentTheme:I}=n.useTheme(F.value,_.value),L=(0,o.computed)(()=>({"--menu-transition-duration":`${E.value}ms`})),R=(0,o.computed)(()=>[{padding:`0 ${e.toPx(N.value)}`}]),z=(0,o.computed)(()=>[p(`item`),m(`disabled`,u.disabled),h(`children`,g.value),m(`selected`,w.value)]),B=(0,o.computed)(()=>{var e;return(e=u.depth)==null?D.value:e}),V=(0,o.computed)(typeof(y==null?void 0:y.placement)==`function`?()=>{var e;return y==null||(e=y.placement)==null?void 0:e.call(y,j.value,B.value,g.value)}:()=>j.value===`vertical`?B.value===0?`right`:`right-start`:B.value===0?`bottom`:`right-start`),H=(0,o.computed)(()=>j.value===`vertical`?!T.value||!g.value&&B.value!==0||g.value&&B.value!==0&&u.disabled:u.disabled||!g.value),U=(0,o.computed)(typeof(y==null?void 0:y.showArrow)==`function`?()=>{var e;return y==null||(e=y.showArrow)==null?void 0:e.call(y,B.value)}:()=>B.value===0);if(A.value&&!u.disabled){var W;let e={value:u.value,close:()=>{v.value=!1}};if(!(y!=null&&(W=y.submenuClosers)!=null&&W.some(e=>e.value===u.value))){var G;y==null||(G=y.submenuClosers)==null||G.push(e)}}let K=()=>{if(B.value===0&&g.value){var e;y==null||(e=y.topSubMenusKeys)==null||(e=e.value)==null||e.push(u.value)}};return(0,o.onMounted)(()=>{var e;y==null||(e=y.registerDescendant)==null||e.call(y,u.value),K(),b(M.value)}),(e,t)=>{var n;return(0,o.openBlock)(),(0,o.createElementBlock)(`li`,{class:(0,o.normalizeClass)(z.value),depth:B.value,onClick:x},[(0,o.createVNode)((0,o.unref)(r.ReTooltip),{visible:v.value,"onUpdate:visible":t[0]||(t[0]=e=>v.value=e),"floating-class":[g.value&&!u.disabled?(0,o.unref)(f)(`tooltip`):(0,o.unref)(f)(`cover`),(0,o.unref)(m)(`disabled`,u.disabled)],disabled:H.value,teleported:B.value===0,placement:V.value,"show-arrow":U.value,theme:F.value,"reverse-theme":_.value,"css-duration":E.value,transform:!1,offset:B.value===0?O.value:k.value,transition:`menu`,trigger:!((n=e.$slots)!=null&&n[`item-submenu`])&&!g.value?`hover`:P.value},{content:(0,o.withCtx)(()=>{var t;return[(t=e.$slots)!=null&&t[`item-submenu`]&&!u.disabled?((0,o.openBlock)(),(0,o.createBlock)(a.default,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(d)(),(0,o.unref)(f)(`tooltip`),(0,o.unref)(m)((0,o.unref)(I),!!(0,o.unref)(I))]),style:(0,o.normalizeStyle)(L.value)},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`item-submenu`)]),_:3},8,[`class`,`style`])):g.value&&!u.disabled?((0,o.openBlock)(),(0,o.createBlock)(a.default,{key:1,class:(0,o.normalizeClass)([(0,o.unref)(d)(),(0,o.unref)(f)(`tooltip`),(0,o.unref)(m)((0,o.unref)(I),!!(0,o.unref)(I))]),style:(0,o.normalizeStyle)(L.value),options:u.children},null,8,[`class`,`style`,`options`])):(0,o.renderSlot)(e.$slots,`default`,{},()=>[(0,o.createTextVNode)((0,o.toDisplayString)(u.label),1)],void 0,2)]}),default:(0,o.withCtx)(()=>[(0,o.createElementVNode)(`div`,{class:(0,o.normalizeClass)([(0,o.unref)(p)(`label-wrap`)]),style:(0,o.normalizeStyle)(R.value),tabindex:`0`},[u.icon?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(p)(`icon`)])},[(0,o.renderSlot)(e.$slots,`icon`,{},()=>[typeof(0,o.unref)(S)==`string`?((0,o.openBlock)(),(0,o.createElementBlock)(`i`,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(S)]),"aria-hidden":`true`},null,2)):((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)((0,o.unref)(S)),{key:1,"aria-hidden":`true`}))])],2)):(0,o.createCommentVNode)(``,!0),(0,o.createElementVNode)(`div`,{class:(0,o.normalizeClass)([(0,o.unref)(p)(`label`)])},[(0,o.renderSlot)(e.$slots,`default`,{},()=>[(0,o.createTextVNode)((0,o.toDisplayString)(u.label),1)])],2),u.subIcon&&g.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:(0,o.normalizeClass)([(0,o.unref)(p)(`subicon`)])},[(0,o.renderSlot)(e.$slots,`sub-icon`,{},()=>[typeof(0,o.unref)(C)==`string`?((0,o.openBlock)(),(0,o.createElementBlock)(`i`,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(C),(0,o.unref)(d)(`svg-icon`)]),"aria-hidden":`true`},null,2)):((0,o.openBlock)(),(0,o.createBlock)((0,o.resolveDynamicComponent)((0,o.unref)(C)),{key:1,class:(0,o.normalizeClass)([(0,o.unref)(d)(`svg-icon`)]),"aria-hidden":`true`},null,8,[`class`]))])],2)):(0,o.createCommentVNode)(``,!0)],6)]),_:3},8,[`visible`,`floating-class`,`disabled`,`teleported`,`placement`,`show-arrow`,`theme`,`reverse-theme`,`css-duration`,`offset`,`trigger`]),(0,o.renderSlot)(e.$slots,`submenu`)],10,l)}}});exports.default=u;
1
+ const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const ee=require("../../tooltip/index.js"),te=require("./constants.js"),r=require("./loop.js");let i=require("vue"),a=require("@vueuse/core"),o=require("@rappel-ui/svg-icons");var s=[`depth`],c=(0,i.defineComponent)({name:`ReMenuItem`,__name:`menu-item`,props:{value:{default:()=>void 0},label:{default:()=>void 0},disabled:{type:Boolean,default:()=>void 0},children:{default:()=>[]},hasChildren:{type:Boolean,default:()=>void 0},icon:{default:``},subIcon:{type:[String,Boolean],default:()=>o.ArrowDownward},depth:{default:()=>void 0}},setup(c,{expose:l}){let{n:u,nm:d,ns:f,is:p,has:m}=t.useNamespace(`menu`),h=(0,i.computed)(()=>{var e,t;return(e=c.hasChildren)==null?((t=c.children)==null?void 0:t.length)>0:e}),g=(0,i.computed)(()=>!(h.value&&!c.disabled)),_=(0,i.useAttrs)(),v=(0,i.ref)(!1),{currentItem:y,theme:b,collapse:x,cssDuration:S,depth:C,offset:w,submenuOffset:T,closeOnSelect:E,direction:D,selectedKey:O,labelPadding:k,trigger:A,topSubMenusKeys:ne,submenuClosers:j,select:M,showArrow:N,placement:P,registerDescendant:F}=(0,i.inject)(te._menuProvideKey),I=e=>{e!==c.value||h.value||c.disabled||M(c.value,{label:c.label,disabled:c.disabled,value:c.value,children:c.children,hasChildren:c.hasChildren,icon:c.icon,subIcon:c.subIcon,depth:X.value},!1)},L=e=>{e.stopPropagation(),!(h.value||c.disabled||X.value===-1)&&(M(c.value,{label:c.label,disabled:c.disabled,value:c.value,children:c.children,hasChildren:c.hasChildren,icon:c.icon,subIcon:c.subIcon,depth:X.value}),E!=null&&E.value&&(j==null||j.forEach(e=>{var t;return e==null||(t=e.close)==null?void 0:t.call(e)})))},R=(0,a.computedAsync)(async()=>await(0,o.getAsyncIcon)(c.icon)),z=(0,a.computedAsync)(async()=>await(0,o.getAsyncIcon)(c.subIcon||``)),B=(0,i.computed)(()=>{var e;return((e=y.value)==null?void 0:e.value)===c.value}),{currentTheme:V}=n.useTheme(b.value,g.value),H=(0,i.computed)(()=>[u(),d(`tooltip`),p(V.value,!!V.value)]),U=(0,i.computed)(()=>X.value===0&&!(_!=null&&_[`is-more`])||X.value===-1?w.value:T.value),W=(0,i.computed)(()=>X.value===0&&!(_!=null&&_[`is-more`])||X.value===-1),G=(0,i.useSlots)(),K=(0,i.computed)(()=>!(G!=null&&G[`item-submenu`])&&!h.value?`hover`:A.value),q=(0,i.computed)(()=>({"--menu-transition-duration":`${S.value}ms`})),J=(0,i.computed)(()=>[{padding:`0 ${e.toPx(k.value)}`}]),Y=(0,i.computed)(()=>[f(`item`),p(`disabled`,c.disabled),m(`children`,h.value),p(`selected`,B.value)]),X=(0,i.computed)(()=>{var e;return(e=c.depth)==null?C.value:e}),Z=(0,i.computed)(typeof P==`function`?()=>P(D.value,X.value,h.value):()=>D.value===`vertical`?X.value===0?`right`:`right-start`:X.value===-1?`bottom-end`:X.value===0&&!(_!=null&&_[`is-more`])?`bottom`:`right-start`),re=(0,i.computed)(()=>D.value===`vertical`?!x.value||!h.value&&X.value!==0||h.value&&X.value!==0&&c.disabled:c.disabled||!h.value),Q=(0,i.computed)(typeof N==`function`?()=>N(X.value):()=>X.value===0&&!(_!=null&&_[`is-more`]));if(E.value&&!c.disabled){let e={value:c.value,close:()=>{v.value=!1}};j.some(e=>e.value===c.value)||j.push(e)}let ie=()=>{if(X.value===0&&h.value){var e;(e=ne.value)==null||e.push(c.value)}},$=(0,i.useTemplateRef)(`itemRef`);return(0,i.onMounted)(()=>{F==null||F(c.value),ie(),I(O==null?void 0:O.value)}),l({itemRef:$,hasChild:h,showArrow:Q,placement:Z,visible:v,value:c.value,label:c.label,disabled:c.disabled,icon:c.icon,subIcon:c.subIcon,depth:X.value,children:c.children}),(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`li`,{ref_key:`itemRef`,ref:$,class:(0,i.normalizeClass)(Y.value),depth:X.value,onClick:L},[(0,i.createVNode)((0,i.unref)(ee.ReTooltip),{visible:v.value,"onUpdate:visible":t[0]||(t[0]=e=>v.value=e),"floating-class":[h.value&&!c.disabled?(0,i.unref)(d)(`tooltip`):(0,i.unref)(d)(`cover`),(0,i.unref)(p)(`disabled`,c.disabled)],disabled:re.value,teleported:W.value,placement:Z.value,"show-arrow":Q.value,theme:(0,i.unref)(b),"reverse-theme":g.value,"css-duration":(0,i.unref)(S),transform:!1,offset:U.value,transition:`menu`,trigger:K.value},{content:(0,i.withCtx)(()=>{var t;return[(t=e.$slots)!=null&&t[`item-submenu`]&&!c.disabled?((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:0,class:(0,i.normalizeClass)(H.value),"is-more":e.$attrs[`is-more`],style:(0,i.normalizeStyle)(q.value)},{default:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,`item-submenu`)]),_:3},8,[`class`,`is-more`,`style`])):h.value&&!c.disabled?((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:1,class:(0,i.normalizeClass)(H.value),style:(0,i.normalizeStyle)(q.value),"is-more":e.$attrs[`is-more`],options:c.children},null,8,[`class`,`style`,`is-more`,`options`])):(0,i.renderSlot)(e.$slots,`default`,{},()=>[(0,i.createTextVNode)((0,i.toDisplayString)(c.label),1)],void 0,2)]}),default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,{class:(0,i.normalizeClass)([(0,i.unref)(f)(`label-wrap`)]),style:(0,i.normalizeStyle)(J.value),tabindex:`0`},[(0,i.renderSlot)(e.$slots,`icon`,{},()=>[c.icon?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,class:(0,i.normalizeClass)([(0,i.unref)(f)(`icon`)])},[typeof(0,i.unref)(R)==`string`?((0,i.openBlock)(),(0,i.createElementBlock)(`i`,{key:0,class:(0,i.normalizeClass)([(0,i.unref)(R)]),"aria-hidden":`true`},null,2)):((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)((0,i.unref)(R)),{key:1,"aria-hidden":`true`}))],2)):(0,i.createCommentVNode)(``,!0)]),(0,i.createElementVNode)(`div`,{class:(0,i.normalizeClass)([(0,i.unref)(f)(`label`)])},[(0,i.renderSlot)(e.$slots,`default`,{},()=>[(0,i.createTextVNode)((0,i.toDisplayString)(c.label),1)])],2),(0,i.renderSlot)(e.$slots,`sub-icon`,{},()=>[c.subIcon&&h.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,class:(0,i.normalizeClass)([(0,i.unref)(f)(`subicon`)])},[typeof(0,i.unref)(z)==`string`?((0,i.openBlock)(),(0,i.createElementBlock)(`i`,{key:0,class:(0,i.normalizeClass)([(0,i.unref)(z),(0,i.unref)(u)(`svg-icon`)]),"aria-hidden":`true`},null,2)):((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)((0,i.unref)(z)),{key:1,class:(0,i.normalizeClass)([(0,i.unref)(u)(`svg-icon`)]),"aria-hidden":`true`},null,8,[`class`]))],2)):(0,i.createCommentVNode)(``,!0)])],6)]),_:3},8,[`visible`,`floating-class`,`disabled`,`teleported`,`placement`,`show-arrow`,`theme`,`reverse-theme`,`css-duration`,`offset`,`trigger`]),(0,i.renderSlot)(e.$slots,`submenu`)],10,s))}});exports.default=c;
@@ -1,8 +1,10 @@
1
1
  import { MenuProps, MenuOption } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- declare var __VLS_8: {};
3
+ declare var __VLS_8: {}, __VLS_11: {};
4
4
  type __VLS_Slots = {} & {
5
5
  default?: (props: typeof __VLS_8) => any;
6
+ } & {
7
+ 'ellipsis-icon'?: (props: typeof __VLS_11) => any;
6
8
  };
7
9
  declare const __VLS_base: DefineComponent<MenuProps, {
8
10
  select: (value: any, item: MenuOption, exeEmit?: boolean) => void;
@@ -1 +1 @@
1
- const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const r=require("./constants.js"),i=require("./loop.js"),a=require("./use-menu-emit.js");let o=require("vue");var s=(0,o.defineComponent)({name:`ReMenu`,__name:`menu`,props:{options:{default:()=>void 0},mapper:{default:()=>void 0},direction:{default:`vertical`},theme:{default:`auto`},cssDuration:{default:200},transition:{default:`menu`},collapse:{type:Boolean,default:!1},offset:{default:10},submenuOffset:{default:()=>({mainAxis:0,crossAxis:0})},closeOnSelect:{type:Boolean,default:!0},openedKeys:{default:()=>[]},selectedKey:{default:()=>void 0},indent:{default:12},labelPadding:{default:20},accordion:{type:Boolean,default:!1},trigger:{default:`hover`},placement:{type:Function,default:void 0},showArrow:{type:Function,default:void 0}},emits:[`select`],setup(s,{expose:c,emit:l}){let{select:u}=a.useMenuEmits(l),{n:d,nm:f,is:p}=t.useNamespace(`menu`),{currentTheme:m}=n.useTheme(s.theme,!1),h=(0,o.computed)(()=>[d(),p(m.value,!!m.value),p(`collapse`,s.collapse),f(s.direction)]),g=(0,o.computed)(()=>({"--menu-transition-duration":`${s.cssDuration}ms`})),_=(0,o.ref)(null),v=(e,t,n=!0)=>{t.disabled||(_.value=t,n&&(u(e,t),k.value=void 0),C(e))},y=Object.assign({},{label:`label`,value:`value`,disabled:`disabled`,children:`children`},s.mapper||{}),b=e=>({...e,label:e[y.label],value:e[y.value],disabled:e[y.disabled],children:e[y.children]}),x=(0,o.computed)(()=>e.normalizeOptions(s.options,b)),S=[],C=e=>{S.forEach(t=>t.onSelectChange(e))},w=e=>{let t=S.indexOf(e);t>-1&&S.splice(t,1)},T=(0,o.ref)(0),E=(0,o.ref)(s.openedKeys),D=(0,o.ref)([]),O=[],k=(0,o.ref)(s.selectedKey);return(0,o.provide)(r._menuProvideKey,{select:v,currentItem:_,cssDuration:(0,o.computed)(()=>s.cssDuration),transition:(0,o.computed)(()=>s.transition),collapse:(0,o.computed)(()=>s.collapse),submenuSubscribers:S,broadcastSelect:C,unsubscribeSubmenu:w,depth:T,hasOptions:(0,o.computed)(()=>!!s.options),openedKeys:E,offset:(0,o.computed)(()=>s.offset),submenuOffset:(0,o.computed)(()=>s.submenuOffset),closeOnSelect:(0,o.computed)(()=>s.closeOnSelect),submenuClosers:O,direction:(0,o.computed)(()=>s.direction),selectedKey:k,indent:(0,o.computed)(()=>s.indent),labelPadding:(0,o.computed)(()=>s.labelPadding),accordion:(0,o.computed)(()=>s.accordion),topSubMenusKeys:D,trigger:(0,o.computed)(()=>s.trigger),placement:s.placement,showArrow:s.showArrow,theme:(0,o.computed)(()=>s.theme)}),c({select:v}),(e,t)=>((0,o.openBlock)(),(0,o.createBlock)(i.default,{class:(0,o.normalizeClass)(h.value),style:(0,o.normalizeStyle)(g.value),options:s.options?x.value:void 0},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),_:3},8,[`class`,`style`,`options`]))}});exports.default=s;
1
+ const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const r=require("./constants.js"),i=require("./loop.js"),a=require("./use-menu-emit.js");let o=require("vue"),s=require("@rappel-ui/svg-icons");var c=(0,o.defineComponent)({name:`ReMenu`,__name:`menu`,props:{options:{default:()=>void 0},mapper:{default:()=>void 0},direction:{default:`vertical`},theme:{default:`auto`},cssDuration:{default:200},transition:{default:`menu`},collapse:{type:Boolean,default:!1},ellipsis:{type:Boolean,default:!0},offset:{default:10},submenuOffset:{default:()=>({mainAxis:0,crossAxis:0})},closeOnSelect:{type:Boolean,default:!0},openedKeys:{default:()=>[]},selectedKey:{default:()=>void 0},indent:{default:12},labelPadding:{default:20},accordion:{type:Boolean,default:!1},trigger:{default:`hover`},ellipsisIcon:{default:()=>s.MoreDotCircleHorizontal},placement:{type:Function,default:void 0},showArrow:{type:Function,default:void 0}},emits:[`select`],setup(s,{expose:c,emit:l}){let{select:u}=a.useMenuEmits(l),{n:d,nm:f,is:p}=t.useNamespace(`menu`),{currentTheme:m}=n.useTheme(s.theme,!1),h=(0,o.computed)(()=>[d(),p(m.value,!!m.value),p(`collapse`,s.collapse),f(s.direction)]),g=(0,o.computed)(()=>({"--menu-transition-duration":`${s.cssDuration}ms`,[`--${d(`menu-label-padding`)}`]:s.direction===`vertical`&&s.collapse?e.toPx(s.labelPadding):void 0})),_=(0,o.ref)(null),v=(e,t,n=!0)=>{t.disabled||(_.value=t,n&&(u(e,t),k.value=void 0),C(e))},y=Object.assign({},{label:`label`,value:`value`,disabled:`disabled`,children:`children`},s.mapper||{}),b=e=>({...e,label:e[y.label],value:e[y.value],disabled:e[y.disabled],children:e[y.children]}),x=(0,o.computed)(()=>e.normalizeOptions(s.options,b)),S=[],C=e=>{S.forEach(t=>t.onSelectChange(e))},w=e=>{let t=S.indexOf(e);t>-1&&S.splice(t,1)},T=(0,o.ref)(0),E=(0,o.ref)(s.openedKeys),D=(0,o.ref)([]),O=[],k=(0,o.ref)(s.selectedKey);return(0,o.provide)(r._menuProvideKey,{select:v,currentItem:_,cssDuration:(0,o.computed)(()=>s.cssDuration),transition:(0,o.computed)(()=>s.transition),collapse:(0,o.computed)(()=>s.collapse),submenuSubscribers:S,broadcastSelect:C,unsubscribeSubmenu:w,depth:T,hasOptions:(0,o.computed)(()=>!!s.options),openedKeys:E,offset:(0,o.computed)(()=>s.offset),submenuOffset:(0,o.computed)(()=>s.submenuOffset),closeOnSelect:(0,o.computed)(()=>s.closeOnSelect),submenuClosers:O,direction:(0,o.computed)(()=>s.direction),selectedKey:k,indent:(0,o.computed)(()=>s.indent),labelPadding:(0,o.computed)(()=>s.labelPadding),accordion:(0,o.computed)(()=>s.accordion),topSubMenusKeys:D,trigger:(0,o.computed)(()=>s.trigger),placement:s.placement,showArrow:s.showArrow,theme:(0,o.computed)(()=>s.theme),ellipsis:(0,o.computed)(()=>s.ellipsis),ellipsisIcon:(0,o.computed)(()=>s.ellipsisIcon)}),c({select:v}),(e,t)=>((0,o.openBlock)(),(0,o.createBlock)(i.default,{class:(0,o.normalizeClass)(h.value),style:(0,o.normalizeStyle)(g.value),options:s.options?x.value:void 0},{"ellipsis-icon":(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`ellipsis-icon`)]),default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),_:3},8,[`class`,`style`,`options`]))}});exports.default=c;
@@ -1 +1 @@
1
- const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const r=require("./constants.js"),i=require("./menu-item.js"),a=require("./loop.js");let o=require("vue");var s=(0,o.defineComponent)({name:`ReSubmenu`,__name:`submenu`,props:{item:{default:()=>({value:void 0})},depth:{default:()=>void 0}},setup(s){var c;let{n:l,ns:u,is:d}=t.useNamespace(`menu`),f=(0,o.inject)(r._menuProvideKey),p=(0,o.computed)(()=>{var e;return f==null||(e=f.currentItem)==null?void 0:e.value}),m=(0,o.computed)(()=>{var e;return f==null||(e=f.cssDuration)==null?void 0:e.value}),h=(0,o.computed)(()=>{var e;return f==null||(e=f.transition)==null?void 0:e.value}),g=(0,o.computed)(()=>{var e;return f==null||(e=f.collapse)==null?void 0:e.value}),_=(0,o.computed)(()=>{var e;return f==null||(e=f.depth)==null?void 0:e.value}),v=(0,o.computed)(()=>{var e;return f==null||(e=f.hasOptions)==null?void 0:e.value}),y=(0,o.computed)(()=>{var e;return f==null||(e=f.direction)==null?void 0:e.value}),b=(0,o.computed)(()=>{var e;return f==null||(e=f.selectedKey)==null?void 0:e.value}),x=(0,o.computed)(()=>{var e;return f==null||(e=f.indent)==null?void 0:e.value}),S=(0,o.computed)(()=>{var e;return f==null||(e=f.accordion)==null?void 0:e.value}),C=(0,o.computed)(()=>{var e;return f==null||(e=f.topSubMenusKeys)==null?void 0:e.value}),w=(0,o.computed)(()=>f.theme.value),{currentTheme:T}=n.useTheme(w.value,!1),E=(0,o.computed)(()=>{var e;return(e=s.depth)==null?_.value:e}),D=(e,t)=>Array.isArray(e.children)&&e.children.length>0?e.children.some(e=>D(e,t)):e.value===t,O=(0,o.computed)(()=>{var e,t,n;let r=(e=(t=p.value)==null?void 0:t.value)==null?b.value:e;return(n=s.item.children)!=null&&n.length?D(s.item,r):H.value}),k=(0,o.computed)(()=>[d(`selected`,O.value),d(`opened`,M.value)]),A=(0,o.computed)(()=>[{"padding-left":e.toPx(x.value)}]),j=(0,o.computed)(()=>{var e;return(e=s.item)!=null&&e.disabled||v.value?!1:y.value===`horizontal`||y.value===`vertical`&&g.value}),M=(0,o.ref)(!1),N=(0,o.computed)(()=>{var e;return y.value===`vertical`&&(f==null||(e=f.openedKeys)==null||(e=e.value)==null?void 0:e.includes(s.item.value))&&!g.value&&!s.item.disabled});(0,o.watch)(()=>N.value,e=>{M.value=!!e},{immediate:!0});let P=e=>{var t,n;let r=(t=f==null||(n=f.openedKeys)==null||(n=n.value)==null?void 0:n.indexOf(e))==null?-1:t;if(r>-1){var i;f==null||(i=f.openedKeys)==null||(i=i.value)==null||i.splice(r,1)}},F=()=>{var e;if(!(y.value===`horizontal`||g.value||(e=s.item)!=null&&e.disabled)){if(M.value=!M.value,M.value){var t;if(S.value&&E.value===0){var n,r;f==null||(n=f.openedKeys)==null||(n=n.value)==null||n.forEach(e=>{var t;(t=C.value)!=null&&t.includes(e)&&P(e)}),f==null||(r=f.openedKeys)==null||(r=r.value)==null||r.push(s.item.value);return}f==null||(t=f.openedKeys)==null||(t=t.value)==null||t.push(s.item.value)}else P(s.item.value)}},I=null,L=(e,t)=>{let n=!1,r=e=>{e.propertyName===`height`&&i()};e.addEventListener(`transitionend`,r);let i=()=>{n=!0,e.removeEventListener(`transitionend`,r),t()};I&&(clearTimeout(I),I=null),I=setTimeout(()=>{n||(i(),I&&(clearTimeout(I),I=null))},m.value?m.value+20:0)},R=(e,t)=>{e.style.height=`0px`,e.offsetHeight,e.style.height=`${e.scrollHeight}px`,L(e,t)},z=e=>{e.style.height=`auto`},B=(e,t)=>{e.style.height=`${e.scrollHeight}px`,e.offsetHeight,e.style.height=`0px`,L(e,t)},V=e=>{e.style.height=``},H=(0,o.ref)(!1),U=(0,o.ref)(new Set),W=e=>{var t;return U.value.add(e),K(),f==null||(t=f.registerDescendant)==null?void 0:t.call(f,e)},G={value:s.item.value,onSelectChange:e=>{H.value=U.value.has(e)}},K=()=>{var e;v.value||U.value.has((e=p.value)==null?void 0:e.value)&&(H.value=!0)};return f==null||(c=f.submenuSubscribers)==null||c.push(G),(0,o.provide)(r._menuProvideKey,{...f,registerDescendant:W,depth:(0,o.computed)(()=>{var e,t;return((e=f==null||(t=f.depth)==null?void 0:t.value)==null?0:e)+1})}),(0,o.onUnmounted)(()=>{f==null||f.unsubscribeSubmenu(G)}),(e,t)=>((0,o.openBlock)(),(0,o.createBlock)(i.default,(0,o.mergeProps)(s.item,{class:k.value,depth:E.value,"has-children":``,onClick:(0,o.withModifiers)(F,[`stop`])}),(0,o.createSlots)({submenu:(0,o.withCtx)(()=>[(0,o.createVNode)(o.Transition,{name:h.value,duration:m.value,css:!1,appear:``,onEnter:R,onAfterEnter:z,onLeave:B,onAfterLeave:V},{default:(0,o.withCtx)(()=>{var n;return[M.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(u)(`submenu`)]),style:(0,o.normalizeStyle)(A.value),onClick:t[0]||(t[0]=(0,o.withModifiers)(()=>{},[`stop`]))},[(0,o.createVNode)(a.default,{class:(0,o.normalizeClass)([(0,o.unref)(l)(),(0,o.unref)(d)((0,o.unref)(T),!!(0,o.unref)(T))]),options:(n=s.item)==null?void 0:n.children},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),_:3},8,[`class`,`options`])],6)):(0,o.createCommentVNode)(``,!0)]}),_:3},8,[`name`,`duration`])]),default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`label`,{},()=>[(0,o.createTextVNode)((0,o.toDisplayString)(s.item.label),1)])]),_:2},[j.value?{name:`item-submenu`,fn:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),key:`0`}:void 0]),1040,[`class`,`depth`]))}});exports.default=s;
1
+ const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-theme/index.js");require("../../../composables/index.js");const r=require("./constants.js"),i=require("./menu-item.js"),a=require("./loop.js");let o=require("vue");var s=(0,o.defineComponent)({name:`ReSubmenu`,__name:`submenu`,props:{item:{default:()=>({value:void 0})},depth:{default:()=>void 0}},setup(s){let{n:c,ns:l,is:u}=t.useNamespace(`menu`),d=(0,o.inject)(r._menuProvideKey),{currentItem:f,cssDuration:p,transition:m,collapse:h,depth:g,hasOptions:_,direction:v,selectedKey:y,indent:b,accordion:x,topSubMenusKeys:S,theme:C,openedKeys:w,registerDescendant:T,submenuSubscribers:E,unsubscribeSubmenu:D}=d,{currentTheme:O}=n.useTheme(C.value,!1),k=(0,o.computed)(()=>{var e;return(e=s.depth)==null?g.value:e}),A=(e,t)=>Array.isArray(e.children)&&e.children.length>0?e.children.some(e=>A(e,t)):e.value===t,j=(0,o.computed)(()=>{var e,t,n;let r=(e=(t=f.value)==null?void 0:t.value)==null?y.value:e;return(n=s.item.children)!=null&&n.length?A(s.item,r):G.value}),M=(0,o.computed)(()=>[u(`selected`,j.value),u(`opened`,F.value)]),N=(0,o.computed)(()=>[{"padding-left":e.toPx(b.value)}]),P=(0,o.computed)(()=>{var e;return(e=s.item)!=null&&e.disabled||_.value?!1:v.value===`horizontal`||v.value===`vertical`&&h.value}),F=(0,o.ref)(!1),I=(0,o.computed)(()=>{var e;return v.value===`vertical`&&(w==null||(e=w.value)==null?void 0:e.includes(s.item.value))&&!h.value&&!s.item.disabled});(0,o.watch)(()=>I.value,e=>{F.value=!!e},{immediate:!0});let L=e=>{var t,n;let r=(t=w==null||(n=w.value)==null?void 0:n.indexOf(e))==null?-1:t;if(r>-1){var i;w==null||(i=w.value)==null||i.splice(r,1)}},R=()=>{var e;if(!(v.value===`horizontal`||h.value||(e=s.item)!=null&&e.disabled)){if(F.value=!F.value,F.value){var t;if(x.value&&k.value===0){var n,r;w==null||(n=w.value)==null||n.forEach(e=>{var t;(t=S.value)!=null&&t.includes(e)&&L(e)}),w==null||(r=w.value)==null||r.push(s.item.value);return}w==null||(t=w.value)==null||t.push(s.item.value)}else L(s.item.value)}},z=null,B=(e,t)=>{let n=!1,r=e=>{e.propertyName===`height`&&i()};e.addEventListener(`transitionend`,r);let i=()=>{n=!0,e.removeEventListener(`transitionend`,r),t()};z&&(clearTimeout(z),z=null),z=setTimeout(()=>{n||(i(),z&&(clearTimeout(z),z=null))},p.value?p.value+20:0)},V=(e,t)=>{e.style.height=`0px`,e.offsetHeight,e.style.height=`${e.scrollHeight}px`,B(e,t)},H=e=>{e.style.height=`auto`},U=(e,t)=>{e.style.height=`${e.scrollHeight}px`,e.offsetHeight,e.style.height=`0px`,B(e,t)},W=e=>{e.style.height=``},G=(0,o.ref)(!1),K=(0,o.ref)(new Set),q=e=>(K.value.add(e),Y(),T==null?void 0:T(e)),J={value:s.item.value,onSelectChange:e=>{G.value=K.value.has(e)}},Y=()=>{var e;_.value||K.value.has((e=f.value)==null?void 0:e.value)&&(G.value=!0)};return E==null||E.push(J),(0,o.provide)(r._menuProvideKey,{...d,registerDescendant:q,depth:(0,o.computed)(()=>{var e;return((e=g==null?void 0:g.value)==null?0:e)+1})}),(0,o.onUnmounted)(()=>{D==null||D(J)}),(e,t)=>((0,o.openBlock)(),(0,o.createBlock)(i.default,(0,o.mergeProps)(s.item,{class:M.value,depth:k.value,"is-more":e.$attrs[`is-more`],"has-children":``,onClick:(0,o.withModifiers)(R,[`stop`])}),(0,o.createSlots)({submenu:(0,o.withCtx)(()=>[(0,o.createVNode)(o.Transition,{name:(0,o.unref)(m),duration:(0,o.unref)(p),css:!1,appear:``,onEnter:V,onAfterEnter:H,onLeave:U,onAfterLeave:W},{default:(0,o.withCtx)(()=>{var n;return[F.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,class:(0,o.normalizeClass)([(0,o.unref)(l)(`submenu`)]),style:(0,o.normalizeStyle)(N.value),onClick:t[0]||(t[0]=(0,o.withModifiers)(()=>{},[`stop`]))},[(0,o.createVNode)(a.default,{class:(0,o.normalizeClass)([(0,o.unref)(c)(),(0,o.unref)(u)((0,o.unref)(O),!!(0,o.unref)(O))]),options:(n=s.item)==null?void 0:n.children},{default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),_:3},8,[`class`,`options`])],6)):(0,o.createCommentVNode)(``,!0)]}),_:3},8,[`name`,`duration`])]),default:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`label`,{},()=>[(0,o.createTextVNode)((0,o.toDisplayString)(s.item.label),1)])]),_:2},[P.value?{name:`item-submenu`,fn:(0,o.withCtx)(()=>[(0,o.renderSlot)(e.$slots,`default`)]),key:`0`}:void 0]),1040,[`class`,`depth`,`is-more`]))}});exports.default=s;
@@ -10,6 +10,7 @@ export interface MenuProps {
10
10
  cssDuration?: number;
11
11
  transition?: string;
12
12
  collapse?: boolean;
13
+ ellipsis?: boolean;
13
14
  offset?: OffsetOptions;
14
15
  submenuOffset?: OffsetOptions;
15
16
  closeOnSelect?: boolean;
@@ -19,6 +20,7 @@ export interface MenuProps {
19
20
  labelPadding?: number | string;
20
21
  accordion?: boolean;
21
22
  trigger?: Trigger;
23
+ ellipsisIcon?: string | Component;
22
24
  placement?: (direction: MenuDirection, depth: number, hasChild: boolean) => Placement;
23
25
  showArrow?: (depth: number) => boolean;
24
26
  }
@@ -34,7 +36,7 @@ export interface MenuOption {
34
36
  children?: MenuOption[];
35
37
  hasChildren?: boolean;
36
38
  icon?: string | Component;
37
- subIcon?: string | Component;
39
+ subIcon?: string | Component | false;
38
40
  depth?: number;
39
41
  }
40
42
  export interface Closer {
@@ -52,22 +54,24 @@ export interface MenuProvides {
52
54
  unsubscribeSubmenu: (sub: SubmenuSubscriber) => void;
53
55
  registerDescendant?: (value: MenuOption['value']) => void;
54
56
  depth: Ref<number>;
55
- hasOptions?: ComputedRef<boolean>;
57
+ hasOptions: ComputedRef<boolean>;
56
58
  openedKeys: Ref<any[]>;
57
- offset?: ComputedRef<OffsetOptions>;
58
- submenuOffset?: ComputedRef<OffsetOptions>;
59
- closeOnSelect?: ComputedRef<boolean>;
60
- submenuClosers?: Closer[];
61
- direction?: ComputedRef<MenuDirection>;
62
- selectedKey?: Ref<any>;
63
- indent?: ComputedRef<number | string>;
64
- labelPadding?: ComputedRef<number | string>;
65
- accordion?: ComputedRef<boolean>;
66
- topSubMenusKeys?: Ref<any[]>;
67
- trigger?: ComputedRef<Trigger>;
59
+ offset: ComputedRef<OffsetOptions>;
60
+ submenuOffset: ComputedRef<OffsetOptions>;
61
+ closeOnSelect: ComputedRef<boolean>;
62
+ submenuClosers: Closer[];
63
+ direction: ComputedRef<MenuDirection>;
64
+ selectedKey: Ref<any>;
65
+ indent: ComputedRef<number | string>;
66
+ labelPadding: ComputedRef<number | string>;
67
+ accordion: ComputedRef<boolean>;
68
+ topSubMenusKeys: Ref<any[]>;
69
+ trigger: ComputedRef<Trigger>;
68
70
  placement?: (direction: MenuDirection, depth: number, hasChild: boolean) => Placement;
69
71
  showArrow?: (depth: number) => boolean;
70
72
  theme: ComputedRef<Theme>;
73
+ ellipsis: ComputedRef<boolean>;
74
+ ellipsisIcon?: ComputedRef<string | Component | undefined>;
71
75
  }
72
76
  export interface SubmenuProps {
73
77
  item?: MenuOption;
@@ -1 +1 @@
1
- const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-slot-node/index.js");require("../../../composables/index.js");const n=require("./use-popconfirm-emit.js");let r=require("vue"),i=require("@vueuse/core"),a=require("@rappel-ui/svg-icons");var o=[`innerHTML`],s=(0,r.defineComponent)({name:`RePopconfirm`,__name:`popconfirm`,props:(0,r.mergeModels)({icon:{default:`help`},showIcon:{type:Boolean,default:!0},title:{default:``},cancelText:{default:`No`},cancelType:{default:``},cancelSize:{default:`mini`},confirmText:{default:`Yes`},confirmType:{default:`primary`},confirmSize:{default:`mini`},visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`click`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`popconfirm`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,r.mergeModels)([`confirm`,`cancel`,`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(s,{expose:c,emit:l}){let{n:u,ns:d}=e.useNamespace(`popconfirm`),f=l,{beforeEnter:p,enter:m,afterEnter:h,beforeLeave:g,leave:_,afterLeave:v,enterCancelled:y,leaveCancelled:b}=n.usePopconfirmEmits(f),x=(0,r.useModel)(s,`visible`),S=(0,r.computed)(()=>[u(),s.floatingClass]),C=(0,r.useSlots)(),w=(0,r.computed)(()=>t.useSlotFirstNode(C)),T=(0,i.computedAsync)(async()=>await(0,a.getAsyncIcon)(s.icon)),E=(0,r.useTemplateRef)(`tooltipRef`),D=e=>{var t;f(`cancel`,e),(t=E.value)==null||t.delayHide()},O=e=>{var t;f(`confirm`,e),(t=E.value)==null||t.delayHide()};return c({tooltipRef:E,cancel:D,confirm:O}),(e,t)=>{let n=(0,r.resolveComponent)(`re-button`),i=(0,r.resolveComponent)(`re-tooltip`);return(0,r.openBlock)(),(0,r.createBlock)(i,{ref_key:`tooltipRef`,ref:E,visible:x.value,"onUpdate:visible":t[0]||(t[0]=e=>x.value=e),width:s.width,height:s.height,"max-width":s.maxWidth,"max-height":s.maxHeight,"floating-class":S.value,"floating-style":s.floatingStyle,disabled:s.disabled,theme:s.theme,placement:s.placement,trigger:s.trigger,"reverse-theme":s.reverseTheme,"show-delay":s.showDelay,"hide-delay":s.hideDelay,transition:s.transition,"css-duration":s.cssDuration,appear:s.appear,"css-transition":s.cssTransition,"show-arrow":s.showArrow,offset:s.offset,teleported:s.teleported,"append-to":s.appendTo,persistent:s.persistent,boundary:s.boundary,"element-context":s.elementContext,"alt-boundary":s.altBoundary,"root-boundary":s.rootBoundary,"arrow-size":s.arrowSize,"arrow-offset":s.arrowOffset,"flip-offset":s.flipOffset,"arrow-options":s.arrowOptions,"flip-options":s.flipOptions,"inline-options":s.inlineOptions,"is-external":s.isExternal,"external-ref":s.externalRef,"is-virtual":s.isVirtual,"virtual-ref":s.virtualRef,onBeforeEnter:(0,r.unref)(p),onEnter:(0,r.unref)(m),onAfterEnter:(0,r.unref)(h),onBeforeLeave:(0,r.unref)(g),onLeave:(0,r.unref)(_),onAfterLeave:(0,r.unref)(v),onEnterCancelled:(0,r.unref)(y),onLeaveCancelled:(0,r.unref)(b)},{content:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`header`,{icon:(0,r.unref)(T),title:s.title},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`header`)])},[(0,r.renderSlot)(e.$slots,`icon`,{icon:(0,r.unref)(T)},()=>[s.showIcon?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[typeof(0,r.unref)(T)==`string`?((0,r.openBlock)(),(0,r.createElementBlock)(`i`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(d)(`icon`),(0,r.unref)(T)]),"aria-hidden":`true`},null,2)):((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)((0,r.unref)(T)),{key:1,class:(0,r.normalizeClass)([(0,r.unref)(d)(`icon`)]),"aria-hidden":`true`},null,8,[`class`]))],64)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`title`,{title:s.title},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`title`)])},(0,r.toDisplayString)(s.title),3)])],2)]),(0,r.renderSlot)(e.$slots,`content`,{content:s.content},()=>[s.content?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[s.isHtml?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(d)(`content`)]),innerHTML:s.content},null,10,o)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:1,class:(0,r.normalizeClass)([(0,r.unref)(d)(`content`)])},(0,r.toDisplayString)(s.content),3))],64)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`footer`,{cancel:D,cancelSize:s.cancelSize,cancelType:s.cancelType,cancelText:s.cancelText,confirm:O,confirmSize:s.confirmSize,confirmType:s.confirmType,confirmText:s.confirmText},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`footer`)])},[(0,r.renderSlot)(e.$slots,`cancel`,{cancel:D,cancelSize:s.cancelSize,cancelType:s.cancelType,cancelText:s.cancelText},()=>[(0,r.createVNode)(n,{size:s.cancelSize,type:s.cancelType,onClick:D},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(s.cancelText),1)]),_:1},8,[`size`,`type`])]),(0,r.renderSlot)(e.$slots,`extra`,{cancel:D,confirm:O}),(0,r.renderSlot)(e.$slots,`confirm`,{confirm:O,confirmSize:s.confirmSize,confirmType:s.confirmType,confirmText:s.confirmText},()=>[(0,r.createVNode)(n,{size:s.confirmSize,type:s.confirmType,onClick:O},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(s.confirmText),1)]),_:1},8,[`size`,`type`])])],2)])]),default:(0,r.withCtx)(()=>[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(w.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.appear.css-transition.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`))}}});exports.default=s;
1
+ const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-slot-nodes/index.js");require("../../../composables/index.js");const n=require("./use-popconfirm-emit.js");let r=require("vue"),i=require("@vueuse/core"),a=require("@rappel-ui/svg-icons");var o=[`innerHTML`],s=(0,r.defineComponent)({name:`RePopconfirm`,__name:`popconfirm`,props:(0,r.mergeModels)({icon:{default:`help`},showIcon:{type:Boolean,default:!0},title:{default:``},cancelText:{default:`No`},cancelType:{default:``},cancelSize:{default:`mini`},confirmText:{default:`Yes`},confirmType:{default:`primary`},confirmSize:{default:`mini`},visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`click`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`popconfirm`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,r.mergeModels)([`confirm`,`cancel`,`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(s,{expose:c,emit:l}){let{n:u,ns:d}=e.useNamespace(`popconfirm`),f=l,{beforeEnter:p,enter:m,afterEnter:h,beforeLeave:g,leave:_,afterLeave:v,enterCancelled:y,leaveCancelled:b}=n.usePopconfirmEmits(f),x=(0,r.useModel)(s,`visible`),S=(0,r.computed)(()=>[u(),s.floatingClass]),C=(0,r.useSlots)(),w=(0,r.computed)(()=>t.useSlotFirstNode(C)),T=(0,i.computedAsync)(async()=>await(0,a.getAsyncIcon)(s.icon)),E=(0,r.useTemplateRef)(`tooltipRef`),D=e=>{var t;f(`cancel`,e),(t=E.value)==null||t.delayHide()},O=e=>{var t;f(`confirm`,e),(t=E.value)==null||t.delayHide()};return c({tooltipRef:E,cancel:D,confirm:O}),(e,t)=>{let n=(0,r.resolveComponent)(`re-button`),i=(0,r.resolveComponent)(`re-tooltip`);return(0,r.openBlock)(),(0,r.createBlock)(i,{ref_key:`tooltipRef`,ref:E,visible:x.value,"onUpdate:visible":t[0]||(t[0]=e=>x.value=e),width:s.width,height:s.height,"max-width":s.maxWidth,"max-height":s.maxHeight,"floating-class":S.value,"floating-style":s.floatingStyle,disabled:s.disabled,theme:s.theme,placement:s.placement,trigger:s.trigger,"reverse-theme":s.reverseTheme,"show-delay":s.showDelay,"hide-delay":s.hideDelay,transition:s.transition,"css-duration":s.cssDuration,appear:s.appear,"css-transition":s.cssTransition,"show-arrow":s.showArrow,offset:s.offset,teleported:s.teleported,"append-to":s.appendTo,persistent:s.persistent,boundary:s.boundary,"element-context":s.elementContext,"alt-boundary":s.altBoundary,"root-boundary":s.rootBoundary,"arrow-size":s.arrowSize,"arrow-offset":s.arrowOffset,"flip-offset":s.flipOffset,"arrow-options":s.arrowOptions,"flip-options":s.flipOptions,"inline-options":s.inlineOptions,"is-external":s.isExternal,"external-ref":s.externalRef,"is-virtual":s.isVirtual,"virtual-ref":s.virtualRef,onBeforeEnter:(0,r.unref)(p),onEnter:(0,r.unref)(m),onAfterEnter:(0,r.unref)(h),onBeforeLeave:(0,r.unref)(g),onLeave:(0,r.unref)(_),onAfterLeave:(0,r.unref)(v),onEnterCancelled:(0,r.unref)(y),onLeaveCancelled:(0,r.unref)(b)},{content:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`header`,{icon:(0,r.unref)(T),title:s.title},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`header`)])},[(0,r.renderSlot)(e.$slots,`icon`,{icon:(0,r.unref)(T)},()=>[s.showIcon?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[typeof(0,r.unref)(T)==`string`?((0,r.openBlock)(),(0,r.createElementBlock)(`i`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(d)(`icon`),(0,r.unref)(T)]),"aria-hidden":`true`},null,2)):((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)((0,r.unref)(T)),{key:1,class:(0,r.normalizeClass)([(0,r.unref)(d)(`icon`)]),"aria-hidden":`true`},null,8,[`class`]))],64)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`title`,{title:s.title},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`title`)])},(0,r.toDisplayString)(s.title),3)])],2)]),(0,r.renderSlot)(e.$slots,`content`,{content:s.content},()=>[s.content?((0,r.openBlock)(),(0,r.createElementBlock)(r.Fragment,{key:0},[s.isHtml?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(d)(`content`)]),innerHTML:s.content},null,10,o)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:1,class:(0,r.normalizeClass)([(0,r.unref)(d)(`content`)])},(0,r.toDisplayString)(s.content),3))],64)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`footer`,{cancel:D,cancelSize:s.cancelSize,cancelType:s.cancelType,cancelText:s.cancelText,confirm:O,confirmSize:s.confirmSize,confirmType:s.confirmType,confirmText:s.confirmText},()=>[(0,r.createElementVNode)(`div`,{class:(0,r.normalizeClass)([(0,r.unref)(d)(`footer`)])},[(0,r.renderSlot)(e.$slots,`cancel`,{cancel:D,cancelSize:s.cancelSize,cancelType:s.cancelType,cancelText:s.cancelText},()=>[(0,r.createVNode)(n,{size:s.cancelSize,type:s.cancelType,onClick:D},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(s.cancelText),1)]),_:1},8,[`size`,`type`])]),(0,r.renderSlot)(e.$slots,`extra`,{cancel:D,confirm:O}),(0,r.renderSlot)(e.$slots,`confirm`,{confirm:O,confirmSize:s.confirmSize,confirmType:s.confirmType,confirmText:s.confirmText},()=>[(0,r.createVNode)(n,{size:s.confirmSize,type:s.confirmType,onClick:O},{default:(0,r.withCtx)(()=>[(0,r.createTextVNode)((0,r.toDisplayString)(s.confirmText),1)]),_:1},8,[`size`,`type`])])],2)])]),default:(0,r.withCtx)(()=>[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(w.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.appear.css-transition.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`))}}});exports.default=s;
@@ -1 +1 @@
1
- const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-slot-node/index.js");require("../../../composables/index.js");const n=require("./use-popover-emit.js");let r=require("vue");var i=[`innerHTML`],a=(0,r.defineComponent)({name:`RePopover`,__name:`popover`,props:(0,r.mergeModels)({title:{default:``},showTitle:{type:Boolean,default:!0},visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`popover`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,r.mergeModels)([`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(a,{emit:o}){let{n:s,ns:c}=e.useNamespace(`popover`),{beforeEnter:l,enter:u,afterEnter:d,beforeLeave:f,leave:p,afterLeave:m,enterCancelled:h,leaveCancelled:g}=n.usePopoverEmits(o),_=(0,r.useModel)(a,`visible`),v=(0,r.computed)(()=>[s(),a.floatingClass]),y=(0,r.useSlots)(),b=(0,r.computed)(()=>t.useSlotFirstNode(y));return(e,t)=>{let n=(0,r.resolveComponent)(`re-tooltip`);return(0,r.openBlock)(),(0,r.createBlock)(n,{visible:_.value,"onUpdate:visible":t[0]||(t[0]=e=>_.value=e),width:a.width,height:a.height,"max-width":a.maxWidth,"max-height":a.maxHeight,"floating-class":v.value,"floating-style":a.floatingStyle,disabled:a.disabled,theme:a.theme,placement:a.placement,trigger:a.trigger,"reverse-theme":a.reverseTheme,"show-delay":a.showDelay,"hide-delay":a.hideDelay,transition:a.transition,"css-duration":a.cssDuration,"css-transition":a.cssTransition,appear:a.appear,"show-arrow":a.showArrow,offset:a.offset,teleported:a.teleported,"append-to":a.appendTo,persistent:a.persistent,boundary:a.boundary,"element-context":a.elementContext,"alt-boundary":a.altBoundary,"root-boundary":a.rootBoundary,"arrow-size":a.arrowSize,"arrow-offset":a.arrowOffset,"flip-offset":a.flipOffset,"arrow-options":a.arrowOptions,"flip-options":a.flipOptions,"inline-options":a.inlineOptions,"is-external":a.isExternal,"external-ref":a.externalRef,"is-virtual":a.isVirtual,"virtual-ref":a.virtualRef,onBeforeEnter:(0,r.unref)(l),onEnter:(0,r.unref)(u),onAfterEnter:(0,r.unref)(d),onBeforeLeave:(0,r.unref)(f),onLeave:(0,r.unref)(p),onAfterLeave:(0,r.unref)(m),onEnterCancelled:(0,r.unref)(h),onLeaveCancelled:(0,r.unref)(g)},{content:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`title`,{},()=>[a.showTitle?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(c)(`title`)])},(0,r.toDisplayString)(a.title),3)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`content`,{},()=>[a.isHtml?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(c)(`content`)]),innerHTML:a.content},null,10,i)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:1,class:(0,r.normalizeClass)([(0,r.unref)(c)(`content`)])},(0,r.toDisplayString)(a.content),3))])]),default:(0,r.withCtx)(()=>[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(b.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.css-transition.appear.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`))}}});exports.default=a;
1
+ const e=require("../../../composables/use-namespace/index.js"),t=require("../../../composables/use-slot-nodes/index.js");require("../../../composables/index.js");const n=require("./use-popover-emit.js");let r=require("vue");var i=[`innerHTML`],a=(0,r.defineComponent)({name:`RePopover`,__name:`popover`,props:(0,r.mergeModels)({title:{default:``},showTitle:{type:Boolean,default:!0},visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!1},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`popover`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{},transform:{type:Boolean},strategy:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:(0,r.mergeModels)([`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(a,{emit:o}){let{n:s,ns:c}=e.useNamespace(`popover`),{beforeEnter:l,enter:u,afterEnter:d,beforeLeave:f,leave:p,afterLeave:m,enterCancelled:h,leaveCancelled:g}=n.usePopoverEmits(o),_=(0,r.useModel)(a,`visible`),v=(0,r.computed)(()=>[s(),a.floatingClass]),y=(0,r.useSlots)(),b=(0,r.computed)(()=>t.useSlotFirstNode(y));return(e,t)=>{let n=(0,r.resolveComponent)(`re-tooltip`);return(0,r.openBlock)(),(0,r.createBlock)(n,{visible:_.value,"onUpdate:visible":t[0]||(t[0]=e=>_.value=e),width:a.width,height:a.height,"max-width":a.maxWidth,"max-height":a.maxHeight,"floating-class":v.value,"floating-style":a.floatingStyle,disabled:a.disabled,theme:a.theme,placement:a.placement,trigger:a.trigger,"reverse-theme":a.reverseTheme,"show-delay":a.showDelay,"hide-delay":a.hideDelay,transition:a.transition,"css-duration":a.cssDuration,"css-transition":a.cssTransition,appear:a.appear,"show-arrow":a.showArrow,offset:a.offset,teleported:a.teleported,"append-to":a.appendTo,persistent:a.persistent,boundary:a.boundary,"element-context":a.elementContext,"alt-boundary":a.altBoundary,"root-boundary":a.rootBoundary,"arrow-size":a.arrowSize,"arrow-offset":a.arrowOffset,"flip-offset":a.flipOffset,"arrow-options":a.arrowOptions,"flip-options":a.flipOptions,"inline-options":a.inlineOptions,"is-external":a.isExternal,"external-ref":a.externalRef,"is-virtual":a.isVirtual,"virtual-ref":a.virtualRef,onBeforeEnter:(0,r.unref)(l),onEnter:(0,r.unref)(u),onAfterEnter:(0,r.unref)(d),onBeforeLeave:(0,r.unref)(f),onLeave:(0,r.unref)(p),onAfterLeave:(0,r.unref)(m),onEnterCancelled:(0,r.unref)(h),onLeaveCancelled:(0,r.unref)(g)},{content:(0,r.withCtx)(()=>[(0,r.renderSlot)(e.$slots,`title`,{},()=>[a.showTitle?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(c)(`title`)])},(0,r.toDisplayString)(a.title),3)):(0,r.createCommentVNode)(``,!0)]),(0,r.renderSlot)(e.$slots,`content`,{},()=>[a.isHtml?((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:0,class:(0,r.normalizeClass)([(0,r.unref)(c)(`content`)]),innerHTML:a.content},null,10,i)):((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:1,class:(0,r.normalizeClass)([(0,r.unref)(c)(`content`)])},(0,r.toDisplayString)(a.content),3))])]),default:(0,r.withCtx)(()=>[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(b.value)))]),_:3},8,`visible.width.height.max-width.max-height.floating-class.floating-style.disabled.theme.placement.trigger.reverse-theme.show-delay.hide-delay.transition.css-duration.css-transition.appear.show-arrow.offset.teleported.append-to.persistent.boundary.element-context.alt-boundary.root-boundary.arrow-size.arrow-offset.flip-offset.arrow-options.flip-options.inline-options.is-external.external-ref.is-virtual.virtual-ref.onBeforeEnter.onEnter.onAfterEnter.onBeforeLeave.onLeave.onAfterLeave.onEnterCancelled.onLeaveCancelled`.split(`.`))}}});exports.default=a;
@@ -1 +1 @@
1
- const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-z-index/index.js"),r=require("../../../composables/use-theme/index.js"),i=require("../../../composables/use-slot-node/index.js");require("../../../composables/index.js");const a=require("../../transition/index.js"),o=require("./use-tooltip-emit.js"),s=require("./use-tooltip.js"),c=require("./constants.js");let l=require("vue"),u=require("@floating-ui/vue");var d=[`data-placement`,`data-positioned`],f=[`innerHTML`],ee=[`data-placement`],p=(0,l.defineComponent)({name:`ReTooltip`,__name:`tooltip`,props:(0,l.mergeModels)({visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean,default:!0},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!0},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`tooltip`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{default:()=>void 0},transform:{type:Boolean,default:!0},strategy:{default:`absolute`}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:(0,l.mergeModels)([`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(p,{expose:m,emit:h}){let{beforeEnter:g,enter:_,afterEnter:v,beforeLeave:y,leave:b,afterLeave:x,enterCancelled:S,leaveCancelled:C}=o.useTooltipEmits(h),{ns:w,n:T,is:E}=t.useNamespace(`tooltip`),D=(0,l.useSlots)(),O=(0,l.computed)(()=>i.useSlotFirstNode(D)),k=(0,l.useTemplateRef)(`triggerRef`),A=(0,l.useTemplateRef)(`floatingRef`),j=(0,l.useTemplateRef)(`arrowRef`),M=(0,l.ref)(),N=(0,l.computed)(()=>p.isVirtual?p.virtualRef:p.isExternal?M.value:O.value?k.value:null),P=(0,l.useModel)(p,`visible`),{floatingStyles:F,middlewareData:I,placement:L,isPositioned:R,update:z}=(0,u.useFloating)(N,A,{transform:p.transform,open:P,placement:p.placement,strategy:p.strategy,middleware:[(0,u.inline)(p.inlineOptions),(0,u.offset)(p.offset),(0,u.flip)({padding:p.flipOffset,boundary:p.boundary,elementContext:p.elementContext,altBoundary:p.altBoundary,rootBoundary:p.rootBoundary,...p.flipOptions}),(0,u.arrow)({element:j,padding:p.arrowOffset,...p.arrowOptions})],whileElementsMounted:(e,t,n)=>(0,u.autoUpdate)(e,t,n,{animationFrame:!0,ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0})}),B=(0,l.computed)(()=>[F.value,p.floatingStyle]),V=(0,l.computed)(()=>{let t=L.value.split(`-`)[0],n=c.staticSideMap[t],r=I.value.arrow;return{position:`absolute`,left:(r==null?void 0:r.x)==null?``:`${r.x}px`,top:(r==null?void 0:r.y)==null?``:`${r.y}px`,[n]:`-${p.arrowSize/2}px`,width:e.toPx(p.arrowSize),height:e.toPx(p.arrowSize)}}),H=(0,l.computed)(()=>p.isVirtual?null:p.isExternal?p.externalRef:O.value?k.value:null),{stop:U,setup:W,delayShow:G,delayHide:K}=s.useTooltip({triggerRef:H,isExternal:p.isExternal,externalActiveRef:M,externalRef:(0,l.computed)(()=>p.externalRef),trigger:p.trigger,floatingRef:p.persistent?A:void 0,open:P,clickToToggle:p.clickToToggle,showDelay:parseFloat(p.showDelay),hideDelay:parseFloat(p.hideDelay),disabled:(0,l.computed)(()=>p.disabled)}),{scope:q}=W(),J=()=>{U(),q==null||q.stop()},{currentTheme:Y}=r.useTheme(p.theme,p.reverseTheme),X=(0,l.computed)(()=>[B.value,{width:e.toPx(p.width),height:e.toPx(p.height),maxWidth:e.toPx(p.maxWidth),maxHeight:e.toPx(p.maxHeight),zIndex:Z.value,"transition-duration":e.isAnum(p.cssDuration)?`${p.cssDuration}ms`:void 0}]),Z=(0,l.ref)(0),{zIndex:Q}=n.useZIndex(),{stop:$}=(0,l.watch)(P,e=>{e&&(Z.value=p.zIndex||Q.value)});return(0,l.onUnmounted)(()=>{J(),$()}),m({update:z,hide:()=>{P.value=!1},delayHide:K,show:()=>{P.value=!0},delayShow:G,triggerRef:N,floatingRef:A,arrowRef:j,floatingPlacement:L,isPositioned:R}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,null,[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(O.value),{ref_key:`triggerRef`,ref:k,class:(0,l.normalizeClass)([(0,l.unref)(w)(`trigger`)])},null,8,[`class`])),(0,l.createVNode)((0,l.unref)(a.ReTransition),{teleported:p.teleported,"append-to":p.appendTo,transition:p.transition,"css-duration":p.cssDuration,"css-transition":p.cssTransition,appear:p.appear,onBeforeEnter:(0,l.unref)(g),onEnter:(0,l.unref)(_),onAfterEnter:(0,l.unref)(v),onBeforeLeave:(0,l.unref)(y),onLeave:(0,l.unref)(b),onAfterLeave:(0,l.unref)(x),onEnterCancelled:(0,l.unref)(S),onLeaveCancelled:(0,l.unref)(C)},{default:(0,l.withCtx)(()=>[P.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,ref_key:`floatingRef`,ref:A,style:(0,l.normalizeStyle)(X.value),class:(0,l.normalizeClass)([(0,l.unref)(T)(),(0,l.unref)(E)((0,l.unref)(Y),!!(0,l.unref)(Y)),p.floatingClass]),"data-placement":(0,l.unref)(L),"data-positioned":(0,l.unref)(R)},[(0,l.renderSlot)(e.$slots,`content`,{isHtml:p.isHtml,content:p.content,zIndex:Z.value,placement:(0,l.unref)(L)},()=>[p.isHtml?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:0,class:(0,l.normalizeClass)([(0,l.unref)(w)(`content`)]),innerHTML:p.content},null,10,f)):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:1,class:(0,l.normalizeClass)([(0,l.unref)(w)(`content`)])},(0,l.toDisplayString)(p.content),3))]),(0,l.renderSlot)(e.$slots,`arrow`,{showArrow:p.showArrow,arrowStyle:V.value,placement:(0,l.unref)(L),zIndex:Z.value},()=>[p.showArrow?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:0,ref_key:`arrowRef`,ref:j,"data-placement":(0,l.unref)(L),style:(0,l.normalizeStyle)(V.value),class:(0,l.normalizeClass)([(0,l.unref)(w)(`arrow`)])},null,14,ee)):(0,l.createCommentVNode)(``,!0)])],14,d)):(0,l.createCommentVNode)(``,!0)]),_:3},8,[`teleported`,`append-to`,`transition`,`css-duration`,`css-transition`,`appear`,`onBeforeEnter`,`onEnter`,`onAfterEnter`,`onBeforeLeave`,`onLeave`,`onAfterLeave`,`onEnterCancelled`,`onLeaveCancelled`])],64))}});exports.default=p;
1
+ const e=require("../../../utils/util.js");require("../../../utils/index.js");const t=require("../../../composables/use-namespace/index.js"),n=require("../../../composables/use-z-index/index.js"),r=require("../../../composables/use-theme/index.js"),i=require("../../../composables/use-slot-nodes/index.js");require("../../../composables/index.js");const a=require("../../transition/index.js"),o=require("./use-tooltip-emit.js"),s=require("./use-tooltip.js"),c=require("./constants.js");let l=require("vue"),u=require("@floating-ui/vue");var d=[`data-placement`,`data-positioned`],f=[`innerHTML`],ee=[`data-placement`],p=(0,l.defineComponent)({name:`ReTooltip`,__name:`tooltip`,props:(0,l.mergeModels)({visible:{type:Boolean},content:{default:``},isHtml:{type:Boolean,default:()=>void 0},placement:{default:`top`},delay:{},width:{default:()=>void 0},height:{default:()=>void 0},maxWidth:{default:()=>void 0},maxHeight:{default:()=>void 0},trigger:{default:`hover`},disabled:{type:Boolean,default:()=>void 0},clickToToggle:{type:Boolean,default:!0},showDelay:{default:0},hideDelay:{default:200},showArrow:{type:Boolean,default:!0},floatingClass:{default:()=>void 0},floatingStyle:{type:[Boolean,null,String,Object,Array],default:()=>void 0},theme:{default:`auto`},reverseTheme:{type:Boolean,default:!0},offset:{type:[Number,Object,Function],default:10},teleported:{type:Boolean,default:!0},appendTo:{default:`body`},persistent:{type:Boolean,default:!0},boundary:{default:`clippingAncestors`},elementContext:{default:`floating`},altBoundary:{type:Boolean,default:!1},rootBoundary:{default:`viewport`},transition:{default:`tooltip`},mode:{},cssTransition:{type:Boolean,default:!0},cssDuration:{default:300},appear:{type:Boolean,default:!0},arrowSize:{default:8},arrowOffset:{default:4},arrowOptions:{default:()=>void 0},shiftOptions:{},flipOffset:{default:8},flipOptions:{default:()=>void 0},inlineOptions:{default:()=>void 0},hideOptions:{},isExternal:{type:Boolean,default:()=>void 0},externalRef:{default:()=>void 0},isVirtual:{type:Boolean,default:()=>void 0},virtualRef:{default:()=>void 0},zIndex:{default:()=>void 0},transform:{type:Boolean,default:!0},strategy:{default:`absolute`}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:(0,l.mergeModels)([`beforeEnter`,`enter`,`enterCancelled`,`afterEnter`,`beforeLeave`,`leave`,`leaveCancelled`,`afterLeave`],[`update:visible`]),setup(p,{expose:m,emit:h}){let{beforeEnter:g,enter:_,afterEnter:v,beforeLeave:y,leave:b,afterLeave:x,enterCancelled:S,leaveCancelled:C}=o.useTooltipEmits(h),{ns:w,n:T,is:E}=t.useNamespace(`tooltip`),D=(0,l.useSlots)(),O=(0,l.computed)(()=>i.useSlotFirstNode(D)),k=(0,l.useTemplateRef)(`triggerRef`),A=(0,l.useTemplateRef)(`floatingRef`),j=(0,l.useTemplateRef)(`arrowRef`),M=(0,l.ref)(),N=(0,l.computed)(()=>p.isVirtual?p.virtualRef:p.isExternal?M.value:O.value?k.value:null),P=(0,l.useModel)(p,`visible`),{floatingStyles:F,middlewareData:I,placement:L,isPositioned:R,update:z}=(0,u.useFloating)(N,A,{transform:p.transform,open:P,placement:p.placement,strategy:p.strategy,middleware:[(0,u.inline)(p.inlineOptions),(0,u.offset)(p.offset),(0,u.flip)({padding:p.flipOffset,boundary:p.boundary,elementContext:p.elementContext,altBoundary:p.altBoundary,rootBoundary:p.rootBoundary,...p.flipOptions}),(0,u.arrow)({element:j,padding:p.arrowOffset,...p.arrowOptions})],whileElementsMounted:(e,t,n)=>(0,u.autoUpdate)(e,t,n,{animationFrame:!0,ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0})}),B=(0,l.computed)(()=>[F.value,p.floatingStyle]),V=(0,l.computed)(()=>{let t=L.value.split(`-`)[0],n=c.staticSideMap[t],r=I.value.arrow;return{position:`absolute`,left:(r==null?void 0:r.x)==null?``:`${r.x}px`,top:(r==null?void 0:r.y)==null?``:`${r.y}px`,[n]:`-${p.arrowSize/2}px`,width:e.toPx(p.arrowSize),height:e.toPx(p.arrowSize)}}),H=(0,l.computed)(()=>p.isVirtual?null:p.isExternal?p.externalRef:O.value?k.value:null),{stop:U,setup:W,delayShow:G,delayHide:K}=s.useTooltip({triggerRef:H,isExternal:p.isExternal,externalActiveRef:M,externalRef:(0,l.computed)(()=>p.externalRef),trigger:p.trigger,floatingRef:p.persistent?A:void 0,open:P,clickToToggle:p.clickToToggle,showDelay:parseFloat(p.showDelay),hideDelay:parseFloat(p.hideDelay),disabled:(0,l.computed)(()=>p.disabled)}),{scope:q}=W(),J=()=>{U(),q==null||q.stop()},{currentTheme:Y}=r.useTheme(p.theme,p.reverseTheme),X=(0,l.computed)(()=>[B.value,{width:e.toPx(p.width),height:e.toPx(p.height),maxWidth:e.toPx(p.maxWidth),maxHeight:e.toPx(p.maxHeight),zIndex:Z.value,"transition-duration":e.isAnum(p.cssDuration)?`${p.cssDuration}ms`:void 0}]),Z=(0,l.ref)(0),{zIndex:Q}=n.useZIndex(),{stop:$}=(0,l.watch)(P,e=>{e&&(Z.value=p.zIndex||Q.value)});return(0,l.onUnmounted)(()=>{J(),$()}),m({update:z,hide:()=>{P.value=!1},delayHide:K,show:()=>{P.value=!0},delayShow:G,triggerRef:N,floatingRef:A,arrowRef:j,floatingPlacement:L,isPositioned:R}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,null,[((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(O.value),{ref_key:`triggerRef`,ref:k,class:(0,l.normalizeClass)([(0,l.unref)(w)(`trigger`)])},null,8,[`class`])),(0,l.createVNode)((0,l.unref)(a.ReTransition),{teleported:p.teleported,"append-to":p.appendTo,transition:p.transition,"css-duration":p.cssDuration,"css-transition":p.cssTransition,appear:p.appear,onBeforeEnter:(0,l.unref)(g),onEnter:(0,l.unref)(_),onAfterEnter:(0,l.unref)(v),onBeforeLeave:(0,l.unref)(y),onLeave:(0,l.unref)(b),onAfterLeave:(0,l.unref)(x),onEnterCancelled:(0,l.unref)(S),onLeaveCancelled:(0,l.unref)(C)},{default:(0,l.withCtx)(()=>[P.value?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,ref_key:`floatingRef`,ref:A,style:(0,l.normalizeStyle)(X.value),class:(0,l.normalizeClass)([(0,l.unref)(T)(),(0,l.unref)(E)((0,l.unref)(Y),!!(0,l.unref)(Y)),p.floatingClass]),"data-placement":(0,l.unref)(L),"data-positioned":(0,l.unref)(R)},[(0,l.renderSlot)(e.$slots,`content`,{isHtml:p.isHtml,content:p.content,zIndex:Z.value,placement:(0,l.unref)(L)},()=>[p.isHtml?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:0,class:(0,l.normalizeClass)([(0,l.unref)(w)(`content`)]),innerHTML:p.content},null,10,f)):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:1,class:(0,l.normalizeClass)([(0,l.unref)(w)(`content`)])},(0,l.toDisplayString)(p.content),3))]),(0,l.renderSlot)(e.$slots,`arrow`,{showArrow:p.showArrow,arrowStyle:V.value,placement:(0,l.unref)(L),zIndex:Z.value},()=>[p.showArrow?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,{key:0,ref_key:`arrowRef`,ref:j,"data-placement":(0,l.unref)(L),style:(0,l.normalizeStyle)(V.value),class:(0,l.normalizeClass)([(0,l.unref)(w)(`arrow`)])},null,14,ee)):(0,l.createCommentVNode)(``,!0)])],14,d)):(0,l.createCommentVNode)(``,!0)]),_:3},8,[`teleported`,`append-to`,`transition`,`css-duration`,`css-transition`,`appear`,`onBeforeEnter`,`onEnter`,`onAfterEnter`,`onBeforeLeave`,`onLeave`,`onAfterLeave`,`onEnterCancelled`,`onLeaveCancelled`])],64))}});exports.default=p;
@@ -6,4 +6,4 @@ export * from './use-waterfall-layout';
6
6
  export * from './use-namespace';
7
7
  export * from './use-z-index';
8
8
  export * from './use-theme';
9
- export * from './use-slot-node';
9
+ export * from './use-slot-nodes';
@@ -1 +1 @@
1
- const e=require("./use-draggable/index.js"),t=require("./use-date-format/index.js"),n=require("./use-once-fn/index.js"),r=require("./use-time-nodes/index.js"),i=require("./use-waterfall-layout/index.js"),a=require("./use-namespace/index.js"),o=require("./use-z-index/index.js"),s=require("./use-theme/index.js"),c=require("./use-slot-node/index.js");exports.useDateFormat=t.useDateFormat,exports.useDraggable=e.useDraggable,exports.useNamespace=a.useNamespace,exports.useOnceFn=n.useOnceFn,exports.useSlotFirstNode=c.useSlotFirstNode,exports.useTheme=s.useTheme,exports.useTimeNodes=r.useTimeNodes,exports.useWaterFallLayout=i.useWaterFallLayout,exports.useZIndex=o.useZIndex;
1
+ const e=require("./use-draggable/index.js"),t=require("./use-date-format/index.js"),n=require("./use-once-fn/index.js"),r=require("./use-time-nodes/index.js"),i=require("./use-waterfall-layout/index.js"),a=require("./use-namespace/index.js"),o=require("./use-z-index/index.js"),s=require("./use-theme/index.js"),c=require("./use-slot-nodes/index.js");exports.useDateFormat=t.useDateFormat,exports.useDraggable=e.useDraggable,exports.useNamespace=a.useNamespace,exports.useOnceFn=n.useOnceFn,exports.useSlotFirstNode=c.useSlotFirstNode,exports.useSlotNodes=c.useSlotNodes,exports.useTheme=s.useTheme,exports.useTimeNodes=r.useTimeNodes,exports.useWaterFallLayout=i.useWaterFallLayout,exports.useZIndex=o.useZIndex;
@@ -1,2 +1,3 @@
1
1
  import { VNode, Slots, Slot } from 'vue';
2
+ export declare function useSlotNodes(slots: Slots, name?: string): Slots | VNode[] | undefined;
2
3
  export declare function useSlotFirstNode(slots: Slots, name?: string): Slot | VNode | undefined;
@@ -0,0 +1 @@
1
+ const e=require("../../constants/index.js");let t=require("vue");function n(n,r=`default`){var i;return n==null||(i=n[r])==null||(i=i.call(n))==null?void 0:i.filter(n=>(0,t.isVNode)(n)&&!e.filterNodeTypes.includes(n.type.toString()))}function r(e,r=`default`){var i,a;let o=(i=n(e,r))==null?void 0:i[0];return(o==null||(a=o.type)==null?void 0:a.toString())===`Symbol(v-txt)`?(0,t.h)(`span`,{},o):o}exports.useSlotFirstNode=r,exports.useSlotNodes=n;