@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 1.14 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};import{useOptionUpdate,useSelect}from"@rc-hooks/select";import{useRefCallback,useUpdate}from"@rc-hooks/use";import React,{useEffect}from"react";import{SelectPopoverPanel}from"../components/SelectPopoverPanel";export function useSelectPopper(e){var t=e.show,o=e.searchable,r=void 0!==o&&o,n=e.autoAlign,a=e.onHide,s=e.popoverWidth,i=e.children,l=e.emptyRender,p=e.emptyContent,c=e.triggerId,u=e.onSearchChange,f=useSelect(),g=useUpdate(),h=useRefCallback(a),m=useRefCallback(u),d=f.getExtraProps().clearable||!1,v=f.getDisplayInfo().map((function(e){return __assign(__assign({},e),{value:e.id})}));useEffect((function(){g()}),[]),useOptionUpdate();return{getPopover:function(){return React.createElement(SelectPopoverPanel,{autoAlign:n,popoverWidth:s,triggerId:c,searchable:r,show:t,multiple:f.multiple,onHide:h,emptyRender:l,emptyContent:p,onSearchChange:m},i)},displayInfo:v,clearable:d}}