@pdfme/ui 5.4.3-dev.1 → 5.4.3

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.
package/dist/index.es.js CHANGED
@@ -130342,24 +130342,11 @@ const usePrevious = (a) => {
130342
130342
  destroyShortCuts();
130343
130343
  }, []);
130344
130344
  reactExports.useEffect(() => (w(), S), [w, S]);
130345
- }, SVGIcon = ({ svgString: a, size: s, styles: c, label: u }) => {
130346
- const d = reactExports.useMemo(() => {
130347
- const A = new DOMParser().parseFromString(a, "image/svg+xml").querySelector("svg");
130348
- return A ? (s && (A.setAttribute("width", s.toString()), A.setAttribute("height", s.toString())), A.querySelectorAll("script").forEach((b) => b.remove()), A.querySelectorAll("*").forEach((b) => {
130349
- Array.from(b.attributes).forEach((y) => {
130350
- const f = y.value.trim().toLowerCase();
130351
- (y.name.startsWith("on") || y.name === "href" && (f.startsWith("javascript:") || f.startsWith("data:") || f.startsWith("vbscript:"))) && b.removeAttribute(y.name);
130352
- });
130353
- }), A.outerHTML) : null;
130354
- }, [a, s]);
130355
- return d ? /* @__PURE__ */ jsxRuntimeExports.jsx(
130356
- "div",
130357
- {
130358
- style: c,
130359
- title: u,
130360
- dangerouslySetInnerHTML: { __html: d }
130361
- }
130362
- ) : null;
130345
+ }, getWithModifiedSize = (a, s, c, u) => {
130346
+ const p = new DOMParser().parseFromString(a, "text/html"), v = (A) => {
130347
+ (A.tagName === "SVG" || A.tagName === "svg") && (A.setAttribute("width", c.toString()), A.setAttribute("height", c.toString())), Array.from(A.children).forEach((x) => v(x));
130348
+ };
130349
+ return Array.from(p.body.children).forEach((A) => v(A)), /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: u, title: s, dangerouslySetInnerHTML: { __html: p.body.innerHTML } });
130363
130350
  }, PluginIcon = (a) => {
130364
130351
  const { plugin: s, label: c, size: u, styles: d } = a, { token: p } = theme.useToken(), v = reactExports.useContext(OptionsContext), A = s.propPanel.defaultSchema?.type ?? "", x = v.icons?.[A] ?? s.icon, g = {
130365
130352
  ...d,
@@ -130367,7 +130354,7 @@ const usePrevious = (a) => {
130367
130354
  display: "flex",
130368
130355
  justifyContent: "center"
130369
130356
  };
130370
- return x ? /* @__PURE__ */ jsxRuntimeExports.jsx(SVGIcon, { svgString: x, size: u, styles: g, label: c }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { ...d, overflow: "hidden", fontSize: 10 }, title: c, children: c });
130357
+ return x ? u ? getWithModifiedSize(x, c, u, g) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: g, title: c, dangerouslySetInnerHTML: { __html: x } }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { ...d, overflow: "hidden", fontSize: 10 }, title: c, children: c });
130371
130358
  }, SelectableSortableItem = ({
130372
130359
  isSelected: a,
130373
130360
  style: s,
package/dist/index.umd.js CHANGED
@@ -761,7 +761,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
761
761
  *
762
762
  * This source code is licensed under the ISC license.
763
763
  * See the LICENSE file in the root directory of this source tree.
764
- */const __iconNode=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],X=createLucideIcon("x",__iconNode);function arrayMove(a,s,c){const u=a.slice();return u.splice(c<0?u.length+c:c,0,u.splice(s,1)[0]),u}function getSortedRects(a,s){return a.reduce((c,u,d)=>{const p=s.get(u);return p&&(c[d]=p),c},Array(a.length))}function isValidIndex(a){return a!==null&&a>=0}function itemsEqual(a,s){if(a===s)return!0;if(a.length!==s.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==s[c])return!1;return!0}function normalizeDisabled(a){return typeof a=="boolean"?{draggable:a,droppable:a}:a}const rectSortingStrategy=a=>{let{rects:s,activeIndex:c,overIndex:u,index:d}=a;const p=arrayMove(s,u,c),v=s[d],A=p[d];return!A||!v?null:{x:A.left-v.left,y:A.top-v.top,scaleX:A.width/v.width,scaleY:A.height/v.height}},defaultScale$1={scaleX:1,scaleY:1},verticalListSortingStrategy=a=>{var s;let{activeIndex:c,activeNodeRect:u,index:d,rects:p,overIndex:v}=a;const A=(s=p[c])!=null?s:u;if(!A)return null;if(d===c){const g=p[v];return g?{x:0,y:c<v?g.top+g.height-(A.top+A.height):g.top-A.top,...defaultScale$1}:null}const x=getItemGap$1(p,d,c);return d>c&&d<=v?{x:0,y:-A.height-x,...defaultScale$1}:d<c&&d>=v?{x:0,y:A.height+x,...defaultScale$1}:{x:0,y:0,...defaultScale$1}};function getItemGap$1(a,s,c){const u=a[s],d=a[s-1],p=a[s+1];return u?c<s?d?u.top-(d.top+d.height):p?p.top-(u.top+u.height):0:p?p.top-(u.top+u.height):d?u.top-(d.top+d.height):0:0}const ID_PREFIX="Sortable",Context$1=React.createContext({activeIndex:-1,containerId:ID_PREFIX,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:rectSortingStrategy,disabled:{draggable:!1,droppable:!1}});function SortableContext(a){let{children:s,id:c,items:u,strategy:d=rectSortingStrategy,disabled:p=!1}=a;const{active:v,dragOverlay:A,droppableRects:x,over:g,measureDroppableContainers:b}=useDndContext(),y=useUniqueId(ID_PREFIX,c),f=A.rect!==null,m=reactExports.useMemo(()=>u.map(R=>typeof R=="object"&&"id"in R?R.id:R),[u]),C=v!=null,w=v?m.indexOf(v.id):-1,S=g?m.indexOf(g.id):-1,$=reactExports.useRef(m),T=!itemsEqual(m,$.current),I=S!==-1&&w===-1||T,_=normalizeDisabled(p);useIsomorphicLayoutEffect$1(()=>{T&&C&&b(m)},[T,m,C,b]),reactExports.useEffect(()=>{$.current=m},[m]);const E=reactExports.useMemo(()=>({activeIndex:w,containerId:y,disabled:_,disableTransforms:I,items:m,overIndex:S,useDragOverlay:f,sortedRects:getSortedRects(m,x),strategy:d}),[w,y,_.draggable,_.droppable,I,m,S,x,f,d]);return React.createElement(Context$1.Provider,{value:E},s)}const defaultNewIndexGetter=a=>{let{id:s,items:c,activeIndex:u,overIndex:d}=a;return arrayMove(c,u,d).indexOf(s)},defaultAnimateLayoutChanges=a=>{let{containerId:s,isSorting:c,wasDragging:u,index:d,items:p,newIndex:v,previousItems:A,previousContainerId:x,transition:g}=a;return!g||!u||A!==p&&d===v?!1:c?!0:v!==d&&s===x},defaultTransition={duration:200,easing:"ease"},transitionProperty="transform",disabledTransition=CSS$1.Transition.toString({property:transitionProperty,duration:0,easing:"linear"}),defaultAttributes={roleDescription:"sortable"};function useDerivedTransform(a){let{disabled:s,index:c,node:u,rect:d}=a;const[p,v]=reactExports.useState(null),A=reactExports.useRef(c);return useIsomorphicLayoutEffect$1(()=>{if(!s&&c!==A.current&&u.current){const x=d.current;if(x){const g=getClientRect$1(u.current,{ignoreTransform:!0}),b={x:x.left-g.left,y:x.top-g.top,scaleX:x.width/g.width,scaleY:x.height/g.height};(b.x||b.y)&&v(b)}}c!==A.current&&(A.current=c)},[s,c,u,d]),reactExports.useEffect(()=>{p&&v(null)},[p]),p}function useSortable(a){let{animateLayoutChanges:s=defaultAnimateLayoutChanges,attributes:c,disabled:u,data:d,getNewIndex:p=defaultNewIndexGetter,id:v,strategy:A,resizeObserverConfig:x,transition:g=defaultTransition}=a;const{items:b,containerId:y,activeIndex:f,disabled:m,disableTransforms:C,sortedRects:w,overIndex:S,useDragOverlay:$,strategy:T}=reactExports.useContext(Context$1),I=normalizeLocalDisabled(u,m),_=b.indexOf(v),E=reactExports.useMemo(()=>({sortable:{containerId:y,index:_,items:b},...d}),[y,d,_,b]),R=reactExports.useMemo(()=>b.slice(b.indexOf(v)),[b,v]),{rect:O,node:L,isOver:B,setNodeRef:F}=useDroppable({id:v,data:E,disabled:I.droppable,resizeObserverConfig:{updateMeasurementsFor:R,...x}}),{active:M,activatorEvent:W,activeNodeRect:j,attributes:G,setNodeRef:U,listeners:k,isDragging:N,over:P,setActivatorNodeRef:D,transform:H}=useDraggable({id:v,data:E,attributes:{...defaultAttributes,...c},disabled:I.draggable}),V=useCombinedRefs(F,U),Z=!!M,ne=Z&&!C&&isValidIndex(f)&&isValidIndex(S),K=!$&&N,q=K&&ne?H:null,ee=ne?q??(A??T)({rects:w,activeNodeRect:j,activeIndex:f,overIndex:S,index:_}):null,Q=isValidIndex(f)&&isValidIndex(S)?p({id:v,items:b,activeIndex:f,overIndex:S}):_,J=M?.id,te=reactExports.useRef({activeId:J,items:b,newIndex:Q,containerId:y}),ae=b!==te.current.items,se=s({active:M,containerId:y,isDragging:N,isSorting:Z,id:v,index:_,items:b,newIndex:te.current.newIndex,previousItems:te.current.items,previousContainerId:te.current.containerId,transition:g,wasDragging:te.current.activeId!=null}),ie=useDerivedTransform({disabled:!se,index:_,node:L,rect:O});return reactExports.useEffect(()=>{Z&&te.current.newIndex!==Q&&(te.current.newIndex=Q),y!==te.current.containerId&&(te.current.containerId=y),b!==te.current.items&&(te.current.items=b)},[Z,Q,y,b]),reactExports.useEffect(()=>{if(J===te.current.activeId)return;if(J!=null&&te.current.activeId==null){te.current.activeId=J;return}const ge=setTimeout(()=>{te.current.activeId=J},50);return()=>clearTimeout(ge)},[J]),{active:M,activeIndex:f,attributes:G,data:E,rect:O,index:_,newIndex:Q,items:b,isOver:B,isSorting:Z,isDragging:N,listeners:k,node:L,overIndex:S,over:P,setNodeRef:V,setActivatorNodeRef:D,setDroppableNodeRef:F,setDraggableNodeRef:U,transform:ie??ee,transition:fe()};function fe(){if(ie||ae&&te.current.newIndex===_)return disabledTransition;if(!(K&&!isKeyboardEvent(W)||!g)&&(Z||se))return CSS$1.Transition.toString({...g,property:transitionProperty})}}function normalizeLocalDisabled(a,s){var c,u;return typeof a=="boolean"?{draggable:a,droppable:!1}:{draggable:(c=a?.draggable)!=null?c:s.draggable,droppable:(u=a?.droppable)!=null?u:s.droppable}}function hasSortableData(a){if(!a)return!1;const s=a.data.current;return!!(s&&"sortable"in s&&typeof s.sortable=="object"&&"containerId"in s.sortable&&"items"in s.sortable&&"index"in s.sortable)}const directions=[KeyboardCode.Down,KeyboardCode.Right,KeyboardCode.Up,KeyboardCode.Left],sortableKeyboardCoordinates=(a,s)=>{let{context:{active:c,collisionRect:u,droppableRects:d,droppableContainers:p,over:v,scrollableAncestors:A}}=s;if(directions.includes(a.code)){if(a.preventDefault(),!c||!u)return;const x=[];p.getEnabled().forEach(y=>{if(!y||y!=null&&y.disabled)return;const f=d.get(y.id);if(f)switch(a.code){case KeyboardCode.Down:u.top<f.top&&x.push(y);break;case KeyboardCode.Up:u.top>f.top&&x.push(y);break;case KeyboardCode.Left:u.left>f.left&&x.push(y);break;case KeyboardCode.Right:u.left<f.left&&x.push(y);break}});const g=closestCorners({collisionRect:u,droppableRects:d,droppableContainers:x});let b=getFirstCollision(g,"id");if(b===v?.id&&g.length>1&&(b=g[1].id),b!=null){const y=p.get(c.id),f=p.get(b),m=f?d.get(f.id):null,C=f?.node.current;if(C&&m&&y&&f){const S=getScrollableAncestors(C).some((R,O)=>A[O]!==R),$=isSameContainer(y,f),T=isAfter(y,f),I=S||!$?{x:0,y:0}:{x:T?u.width-m.width:0,y:T?u.height-m.height:0},_={x:m.left,y:m.top};return I.x&&I.y?_:subtract(_,I)}}}};function isSameContainer(a,s){return!hasSortableData(a)||!hasSortableData(s)?!1:a.data.current.sortable.containerId===s.data.current.sortable.containerId}function isAfter(a,s){return!hasSortableData(a)||!hasSortableData(s)||!isSameContainer(a,s)?!1:a.data.current.sortable.index<s.data.current.sortable.index}const{Text:Text$4}=Typography,Item=React.memo(React.forwardRef(function a({icon:s,value:c,status:u,title:d,required:p,readOnly:v,style:A,dragOverlay:x,onClick:g,onMouseEnter:b,onMouseLeave:y,dragging:f,fadeIn:m,listeners:C,sorting:w,transition:S,transform:$,...T},I){const _=reactExports.useContext(I18nContext);reactExports.useEffect(()=>{if(x)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[x]);const{x:E,y:R,scaleX:O,scaleY:L}=$||{x:0,y:0,scaleX:1,scaleY:1};return jsxRuntimeExports.jsx("li",{style:{marginTop:10,transition:S,transform:`translate(${E}px, ${R}px) scale(${O}, ${L})`},onMouseEnter:b,onMouseLeave:y,ref:I,children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",gap:"0.5rem",...A},...T,onClick:()=>g&&g(),children:[jsxRuntimeExports.jsx(Button$1,{...C,style:{display:"flex",alignItems:"center",background:"none",boxShadow:"none",border:"none",paddingLeft:"0.25rem"},icon:jsxRuntimeExports.jsx(GripVertical,{size:15,style:{cursor:"grab"}})}),s,jsxRuntimeExports.jsx(Text$4,{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"},title:d||"",children:u===void 0?c:jsxRuntimeExports.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[jsxRuntimeExports.jsx(CircleAlert,{size:15,style:{marginRight:"0.25rem"}}),u==="is-warning"?_("noKeyName"):c,u==="is-danger"?_("notUniq"):""]})}),v&&jsxRuntimeExports.jsx(Lock,{size:15,style:{marginRight:"0.5rem"}}),p&&jsxRuntimeExports.jsx("span",{style:{color:"red",marginRight:"0.5rem"},children:"*"})]})})}));Item.displayName="Item";const usePrevious=a=>{const s=reactExports.useRef(null);return reactExports.useEffect(()=>{s.current=a}),s.current},getScale=(a,s)=>Math.floor((a/s>1?1:a/s)*100)/100,useUIPreProcessor=({template:a,size:s,zoomLevel:c,maxZoom:u})=>{const[d,p]=reactExports.useState([]),[v,A]=reactExports.useState([]),[x,g]=reactExports.useState(0),[b,y]=reactExports.useState(null),f=async m=>{const{template:{basePdf:C,schemas:w},size:S}=m;let $,T,I,_;if(isBlankPdf(C)){const{width:R,height:O}=C;$=R*ZOOM,T=O*ZOOM,I=w.map(()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdj+P///38ACfsD/QVDRcoAAAAASUVORK5CYII="),_=w.map(()=>({width:R,height:O}))}else{const R=await getB64BasePdf(C),O=b64toUint8Array(R),L=new ArrayBuffer(O.byteLength);new Uint8Array(L).set(O);const[B,F]=await Promise.all([pdf2size(L),pdf2img(L.slice(),{scale:u})]);_=B,$=_[0].width*ZOOM,T=_[0].height*ZOOM,I=F.map(arrayBufferToBase64)}const E=Math.min(getScale(S.width,$),getScale(S.height-RULER_HEIGHT,T));return{backgrounds:I,pageSizes:_,scale:E}};return reactExports.useEffect(()=>{f({template:a,size:s}).then(({pageSizes:m,scale:C,backgrounds:w})=>{A(m),g(C),p(w)}).catch(m=>{y(m),console.error("[@pdfme/ui]",m)})},[a,s]),{backgrounds:d,pageSizes:v,scale:x*c,error:b,refresh:m=>f({template:m,size:s}).then(({pageSizes:C,scale:w,backgrounds:S})=>{A(C),g(w),p(S)})}},useScrollPageCursor=({ref:a,pageSizes:s,scale:c,pageCursor:u,onChangePageCursor:d})=>{const p=reactExports.useCallback(()=>{if(!s[0]||!a.current)return;const v=a.current.scrollTop,{top:A}=a.current.getBoundingClientRect(),x=s.reduce((b,y,f)=>{let m=(y.height*ZOOM+RULER_HEIGHT)*c;return f===0?m+=A-m/2:m+=b[f-1],b.concat(m)},[]);let g=0;x.forEach((b,y)=>{v>b&&(g=y+1>=x.length?x.length-1:y+1)}),g!==u&&d(g)},[d,u,s,a,c]);reactExports.useEffect(()=>(a.current?.addEventListener("scroll",p),()=>{a.current?.removeEventListener("scroll",p)}),[a,p])},useMountStatus=()=>{const[a,s]=reactExports.useState(!1);return reactExports.useEffect(()=>{const c=setTimeout(()=>s(!0),500);return()=>clearTimeout(c)},[]),a},useInitEvents=({pageCursor:a,pageSizes:s,activeElements:c,template:u,schemasList:d,changeSchemas:p,commitSchemas:v,removeSchemas:A,onSaveTemplate:x,past:g,future:b,setSchemasList:y,onEdit:f,onEditEnd:m})=>{const C=reactExports.useRef(null),w=reactExports.useCallback(()=>{const $=()=>{const I=c.map(_=>_.id);return d[a].filter(_=>I.includes(_.id))},T=I=>{const _=I==="undo",E=_?g:b;if(E.current.length<=0)return;(_?b:g).current.push(cloneDeep$1(d[a]));const R=cloneDeep$1(d);R[a]=E.current.pop(),y(R)};initShortCuts({move:(I,_)=>{const E=s[a],R=$(),O=moveCommandToChangeSchemasArg({command:I,activeSchemas:R,pageSize:E,isShift:_});p(O)},copy:()=>{const I=$();I.length!==0&&(C.current=I)},paste:()=>{if(!C.current||C.current.length===0)return;const I=d[a],_=[],E=C.current.map(R=>{const O=uuid$6(),L=getUniqueSchemaName({copiedSchemaName:R.name,schema:I,stackUniqueSchemaNames:_}),{height:B,width:F,position:M}=R,W=s[a],j={x:M.x+10>W.width-F?W.width-F:M.x+10,y:M.y+10>W.height-B?W.height-B:M.y+10};return Object.assign(cloneDeep$1(R),{id:O,name:L,position:j})});v(d[a].concat(E)),f(E.map(R=>document.getElementById(R.id))),C.current=E},redo:()=>T("redo"),undo:()=>T("undo"),save:()=>x&&x(schemasList2template(d,u.basePdf)),remove:()=>A($().map(I=>I.id)),esc:m,selectAll:()=>f(d[a].map(I=>document.getElementById(I.id)))})},[u,c,a,s,p,v,d,x,A,g,b,y,C,f,m]),S=reactExports.useCallback(()=>{destroyShortCuts()},[]);reactExports.useEffect(()=>(w(),S),[w,S])},SVGIcon=({svgString:a,size:s,styles:c,label:u})=>{const d=reactExports.useMemo(()=>{const A=new DOMParser().parseFromString(a,"image/svg+xml").querySelector("svg");return A?(s&&(A.setAttribute("width",s.toString()),A.setAttribute("height",s.toString())),A.querySelectorAll("script").forEach(b=>b.remove()),A.querySelectorAll("*").forEach(b=>{Array.from(b.attributes).forEach(y=>{const f=y.value.trim().toLowerCase();(y.name.startsWith("on")||y.name==="href"&&(f.startsWith("javascript:")||f.startsWith("data:")||f.startsWith("vbscript:")))&&b.removeAttribute(y.name)})}),A.outerHTML):null},[a,s]);return d?jsxRuntimeExports.jsx("div",{style:c,title:u,dangerouslySetInnerHTML:{__html:d}}):null},PluginIcon=a=>{const{plugin:s,label:c,size:u,styles:d}=a,{token:p}=theme.useToken(),v=reactExports.useContext(OptionsContext),A=s.propPanel.defaultSchema?.type??"",x=v.icons?.[A]??s.icon,g={...d,color:p.colorText,display:"flex",justifyContent:"center"};return x?jsxRuntimeExports.jsx(SVGIcon,{svgString:x,size:u,styles:g,label:c}):jsxRuntimeExports.jsx("div",{style:{...d,overflow:"hidden",fontSize:10},title:c,children:c})},SelectableSortableItem=({isSelected:a,style:s,onSelect:c,onEdit:u,schema:d,schemas:p,onMouseEnter:v,onMouseLeave:A})=>{const{token:x}=theme.useToken(),g=reactExports.useContext(I18nContext),b=reactExports.useContext(PluginsRegistry),{setNodeRef:y,listeners:f,isDragging:m,isSorting:C,transform:w,transition:S}=useSortable({id:d.id}),$=useMountStatus(),T=m&&!$,I={...f,onClick:B=>c(d.id,B.shiftKey)},[_,E]=b.findWithLabelByType(d.type);let R;d.name?p.find(B=>d.name&&B.name===d.name&&B.id!==d.id)&&(R="is-danger"):R="is-warning";let O=g("edit");R==="is-warning"?O=g("plsInputName"):R==="is-danger"&&(O=g("fieldMustUniq"));const L=a?{background:x.colorPrimary,opacity:C||m?.5:1}:{};return jsxRuntimeExports.jsx(Item,{ref:y,onMouseEnter:v,onMouseLeave:A,onClick:()=>u(d.id),icon:E&&jsxRuntimeExports.jsx(PluginIcon,{plugin:E,label:_,size:20}),value:d.name,status:R,title:O,required:d.required,readOnly:d.readOnly,style:{...L,...s},dragging:m,sorting:C,transition:S,transform:w,fadeIn:T,listeners:I})},SelectableSortableContainer=a=>{const{token:s}=theme.useToken(),{schemas:c,onEdit:u,onSortEnd:d,hoveringSchemaId:p,onChangeHoveringSchemaId:v}=a,[A,x]=reactExports.useState([]),[g,b]=reactExports.useState(null),[y,f]=reactExports.useState(null),m=reactExports.useContext(PluginsRegistry),C=useSensors(useSensor(PointerSensor,{activationConstraint:{distance:15}}),useSensor(KeyboardSensor,{coordinateGetter:sortableKeyboardCoordinates})),w=T=>A.map(I=>I.id).includes(T),S=(T,I)=>{if(I)if(w(T)){const _=A.filter(E=>E.id!==T);x(_)}else{const _=c.find(R=>R.id===T),E=A.concat(_);x(E)}else x([])},$=T=>{const I=typeof T=="string"?c.find(R=>R.id===T):T;if(!I)return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{});const[_,E]=m.findWithLabelByType(I.type);return E?jsxRuntimeExports.jsx(PluginIcon,{plugin:E,label:_,size:20,styles:{marginRight:"0.5rem"}}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})};return jsxRuntimeExports.jsx(DndContext,{sensors:C,collisionDetection:closestCorners,onDragStart:({active:T})=>{f(String(T.id)),b(c),w(String(T.id))?A.length>0&&d(A.reduce((I,_)=>_.id===String(T.id)?I:I.filter(E=>E!==_),c)):x([])},onDragEnd:({active:T,over:I})=>{const _=I?.id||"",E=c.map(O=>O.id).indexOf(String(T.id)),R=c.map(O=>O.id).indexOf(String(_));if(A.length){let O=[...c];O=arrayMove(O,E,R),O.splice(R+1,0,...A.filter(L=>L.id!==y)),d(O),x([])}else E!==R&&d(arrayMove(c,E,R));f(null)},onDragCancel:()=>{g&&d(g),f(null),b(null)},children:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{style:{height:"100%",overflowY:"auto"},children:jsxRuntimeExports.jsx(SortableContext,{items:c,strategy:verticalListSortingStrategy,children:jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none",borderRadius:5},children:c.map(T=>jsxRuntimeExports.jsx(SelectableSortableItem,{style:{border:`1px solid ${T.id===p?s.colorPrimary:"transparent"}`},schema:T,schemas:c,isSelected:w(T.id)||y===T.id,onEdit:u,onSelect:S,onMouseEnter:()=>v(T.id),onMouseLeave:()=>v(null)},T.id))})})}),reactDomExports.createPortal(jsxRuntimeExports.jsx(DragOverlay,{adjustScale:!0,children:y?(()=>{const T=c.find(I=>I.id===y);return T?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none"},children:jsxRuntimeExports.jsx(Item,{icon:$(y),value:T.name,required:T.required,readOnly:T.readOnly,style:{background:s.colorPrimary},dragOverlay:!0})}),jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none"},children:A.filter(I=>I.id!==y).map(I=>jsxRuntimeExports.jsx(Item,{icon:$(I),value:I.name,required:I.required,readOnly:I.readOnly,style:{background:s.colorPrimary},dragOverlay:!0},I.id))})]}):null})():null}),document.body)]})})},{Text:Text$3}=Typography,{TextArea:TextArea$2}=Input$1,headHeight=40,ListView=a=>{const{schemas:s,onSortEnd:c,onEdit:u,size:d,hoveringSchemaId:p,onChangeHoveringSchemaId:v,changeSchemas:A}=a,{token:x}=theme.useToken(),g=reactExports.useContext(I18nContext),[b,y]=reactExports.useState(!1),[f,m]=reactExports.useState(""),C=getSidebarContentHeight(d.height),w=()=>{const $=f.split(`
764
+ */const __iconNode=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],X=createLucideIcon("x",__iconNode);function arrayMove(a,s,c){const u=a.slice();return u.splice(c<0?u.length+c:c,0,u.splice(s,1)[0]),u}function getSortedRects(a,s){return a.reduce((c,u,d)=>{const p=s.get(u);return p&&(c[d]=p),c},Array(a.length))}function isValidIndex(a){return a!==null&&a>=0}function itemsEqual(a,s){if(a===s)return!0;if(a.length!==s.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==s[c])return!1;return!0}function normalizeDisabled(a){return typeof a=="boolean"?{draggable:a,droppable:a}:a}const rectSortingStrategy=a=>{let{rects:s,activeIndex:c,overIndex:u,index:d}=a;const p=arrayMove(s,u,c),v=s[d],A=p[d];return!A||!v?null:{x:A.left-v.left,y:A.top-v.top,scaleX:A.width/v.width,scaleY:A.height/v.height}},defaultScale$1={scaleX:1,scaleY:1},verticalListSortingStrategy=a=>{var s;let{activeIndex:c,activeNodeRect:u,index:d,rects:p,overIndex:v}=a;const A=(s=p[c])!=null?s:u;if(!A)return null;if(d===c){const g=p[v];return g?{x:0,y:c<v?g.top+g.height-(A.top+A.height):g.top-A.top,...defaultScale$1}:null}const x=getItemGap$1(p,d,c);return d>c&&d<=v?{x:0,y:-A.height-x,...defaultScale$1}:d<c&&d>=v?{x:0,y:A.height+x,...defaultScale$1}:{x:0,y:0,...defaultScale$1}};function getItemGap$1(a,s,c){const u=a[s],d=a[s-1],p=a[s+1];return u?c<s?d?u.top-(d.top+d.height):p?p.top-(u.top+u.height):0:p?p.top-(u.top+u.height):d?u.top-(d.top+d.height):0:0}const ID_PREFIX="Sortable",Context$1=React.createContext({activeIndex:-1,containerId:ID_PREFIX,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:rectSortingStrategy,disabled:{draggable:!1,droppable:!1}});function SortableContext(a){let{children:s,id:c,items:u,strategy:d=rectSortingStrategy,disabled:p=!1}=a;const{active:v,dragOverlay:A,droppableRects:x,over:g,measureDroppableContainers:b}=useDndContext(),y=useUniqueId(ID_PREFIX,c),f=A.rect!==null,m=reactExports.useMemo(()=>u.map(R=>typeof R=="object"&&"id"in R?R.id:R),[u]),C=v!=null,w=v?m.indexOf(v.id):-1,S=g?m.indexOf(g.id):-1,$=reactExports.useRef(m),T=!itemsEqual(m,$.current),I=S!==-1&&w===-1||T,_=normalizeDisabled(p);useIsomorphicLayoutEffect$1(()=>{T&&C&&b(m)},[T,m,C,b]),reactExports.useEffect(()=>{$.current=m},[m]);const E=reactExports.useMemo(()=>({activeIndex:w,containerId:y,disabled:_,disableTransforms:I,items:m,overIndex:S,useDragOverlay:f,sortedRects:getSortedRects(m,x),strategy:d}),[w,y,_.draggable,_.droppable,I,m,S,x,f,d]);return React.createElement(Context$1.Provider,{value:E},s)}const defaultNewIndexGetter=a=>{let{id:s,items:c,activeIndex:u,overIndex:d}=a;return arrayMove(c,u,d).indexOf(s)},defaultAnimateLayoutChanges=a=>{let{containerId:s,isSorting:c,wasDragging:u,index:d,items:p,newIndex:v,previousItems:A,previousContainerId:x,transition:g}=a;return!g||!u||A!==p&&d===v?!1:c?!0:v!==d&&s===x},defaultTransition={duration:200,easing:"ease"},transitionProperty="transform",disabledTransition=CSS$1.Transition.toString({property:transitionProperty,duration:0,easing:"linear"}),defaultAttributes={roleDescription:"sortable"};function useDerivedTransform(a){let{disabled:s,index:c,node:u,rect:d}=a;const[p,v]=reactExports.useState(null),A=reactExports.useRef(c);return useIsomorphicLayoutEffect$1(()=>{if(!s&&c!==A.current&&u.current){const x=d.current;if(x){const g=getClientRect$1(u.current,{ignoreTransform:!0}),b={x:x.left-g.left,y:x.top-g.top,scaleX:x.width/g.width,scaleY:x.height/g.height};(b.x||b.y)&&v(b)}}c!==A.current&&(A.current=c)},[s,c,u,d]),reactExports.useEffect(()=>{p&&v(null)},[p]),p}function useSortable(a){let{animateLayoutChanges:s=defaultAnimateLayoutChanges,attributes:c,disabled:u,data:d,getNewIndex:p=defaultNewIndexGetter,id:v,strategy:A,resizeObserverConfig:x,transition:g=defaultTransition}=a;const{items:b,containerId:y,activeIndex:f,disabled:m,disableTransforms:C,sortedRects:w,overIndex:S,useDragOverlay:$,strategy:T}=reactExports.useContext(Context$1),I=normalizeLocalDisabled(u,m),_=b.indexOf(v),E=reactExports.useMemo(()=>({sortable:{containerId:y,index:_,items:b},...d}),[y,d,_,b]),R=reactExports.useMemo(()=>b.slice(b.indexOf(v)),[b,v]),{rect:O,node:L,isOver:B,setNodeRef:F}=useDroppable({id:v,data:E,disabled:I.droppable,resizeObserverConfig:{updateMeasurementsFor:R,...x}}),{active:M,activatorEvent:W,activeNodeRect:j,attributes:G,setNodeRef:U,listeners:k,isDragging:N,over:P,setActivatorNodeRef:D,transform:H}=useDraggable({id:v,data:E,attributes:{...defaultAttributes,...c},disabled:I.draggable}),V=useCombinedRefs(F,U),Z=!!M,ne=Z&&!C&&isValidIndex(f)&&isValidIndex(S),K=!$&&N,q=K&&ne?H:null,ee=ne?q??(A??T)({rects:w,activeNodeRect:j,activeIndex:f,overIndex:S,index:_}):null,Q=isValidIndex(f)&&isValidIndex(S)?p({id:v,items:b,activeIndex:f,overIndex:S}):_,J=M?.id,te=reactExports.useRef({activeId:J,items:b,newIndex:Q,containerId:y}),ae=b!==te.current.items,se=s({active:M,containerId:y,isDragging:N,isSorting:Z,id:v,index:_,items:b,newIndex:te.current.newIndex,previousItems:te.current.items,previousContainerId:te.current.containerId,transition:g,wasDragging:te.current.activeId!=null}),ie=useDerivedTransform({disabled:!se,index:_,node:L,rect:O});return reactExports.useEffect(()=>{Z&&te.current.newIndex!==Q&&(te.current.newIndex=Q),y!==te.current.containerId&&(te.current.containerId=y),b!==te.current.items&&(te.current.items=b)},[Z,Q,y,b]),reactExports.useEffect(()=>{if(J===te.current.activeId)return;if(J!=null&&te.current.activeId==null){te.current.activeId=J;return}const ge=setTimeout(()=>{te.current.activeId=J},50);return()=>clearTimeout(ge)},[J]),{active:M,activeIndex:f,attributes:G,data:E,rect:O,index:_,newIndex:Q,items:b,isOver:B,isSorting:Z,isDragging:N,listeners:k,node:L,overIndex:S,over:P,setNodeRef:V,setActivatorNodeRef:D,setDroppableNodeRef:F,setDraggableNodeRef:U,transform:ie??ee,transition:fe()};function fe(){if(ie||ae&&te.current.newIndex===_)return disabledTransition;if(!(K&&!isKeyboardEvent(W)||!g)&&(Z||se))return CSS$1.Transition.toString({...g,property:transitionProperty})}}function normalizeLocalDisabled(a,s){var c,u;return typeof a=="boolean"?{draggable:a,droppable:!1}:{draggable:(c=a?.draggable)!=null?c:s.draggable,droppable:(u=a?.droppable)!=null?u:s.droppable}}function hasSortableData(a){if(!a)return!1;const s=a.data.current;return!!(s&&"sortable"in s&&typeof s.sortable=="object"&&"containerId"in s.sortable&&"items"in s.sortable&&"index"in s.sortable)}const directions=[KeyboardCode.Down,KeyboardCode.Right,KeyboardCode.Up,KeyboardCode.Left],sortableKeyboardCoordinates=(a,s)=>{let{context:{active:c,collisionRect:u,droppableRects:d,droppableContainers:p,over:v,scrollableAncestors:A}}=s;if(directions.includes(a.code)){if(a.preventDefault(),!c||!u)return;const x=[];p.getEnabled().forEach(y=>{if(!y||y!=null&&y.disabled)return;const f=d.get(y.id);if(f)switch(a.code){case KeyboardCode.Down:u.top<f.top&&x.push(y);break;case KeyboardCode.Up:u.top>f.top&&x.push(y);break;case KeyboardCode.Left:u.left>f.left&&x.push(y);break;case KeyboardCode.Right:u.left<f.left&&x.push(y);break}});const g=closestCorners({collisionRect:u,droppableRects:d,droppableContainers:x});let b=getFirstCollision(g,"id");if(b===v?.id&&g.length>1&&(b=g[1].id),b!=null){const y=p.get(c.id),f=p.get(b),m=f?d.get(f.id):null,C=f?.node.current;if(C&&m&&y&&f){const S=getScrollableAncestors(C).some((R,O)=>A[O]!==R),$=isSameContainer(y,f),T=isAfter(y,f),I=S||!$?{x:0,y:0}:{x:T?u.width-m.width:0,y:T?u.height-m.height:0},_={x:m.left,y:m.top};return I.x&&I.y?_:subtract(_,I)}}}};function isSameContainer(a,s){return!hasSortableData(a)||!hasSortableData(s)?!1:a.data.current.sortable.containerId===s.data.current.sortable.containerId}function isAfter(a,s){return!hasSortableData(a)||!hasSortableData(s)||!isSameContainer(a,s)?!1:a.data.current.sortable.index<s.data.current.sortable.index}const{Text:Text$4}=Typography,Item=React.memo(React.forwardRef(function a({icon:s,value:c,status:u,title:d,required:p,readOnly:v,style:A,dragOverlay:x,onClick:g,onMouseEnter:b,onMouseLeave:y,dragging:f,fadeIn:m,listeners:C,sorting:w,transition:S,transform:$,...T},I){const _=reactExports.useContext(I18nContext);reactExports.useEffect(()=>{if(x)return document.body.style.cursor="grabbing",()=>{document.body.style.cursor=""}},[x]);const{x:E,y:R,scaleX:O,scaleY:L}=$||{x:0,y:0,scaleX:1,scaleY:1};return jsxRuntimeExports.jsx("li",{style:{marginTop:10,transition:S,transform:`translate(${E}px, ${R}px) scale(${O}, ${L})`},onMouseEnter:b,onMouseLeave:y,ref:I,children:jsxRuntimeExports.jsxs("div",{style:{display:"flex",alignItems:"center",cursor:"pointer",gap:"0.5rem",...A},...T,onClick:()=>g&&g(),children:[jsxRuntimeExports.jsx(Button$1,{...C,style:{display:"flex",alignItems:"center",background:"none",boxShadow:"none",border:"none",paddingLeft:"0.25rem"},icon:jsxRuntimeExports.jsx(GripVertical,{size:15,style:{cursor:"grab"}})}),s,jsxRuntimeExports.jsx(Text$4,{style:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"},title:d||"",children:u===void 0?c:jsxRuntimeExports.jsxs("span",{style:{display:"flex",alignItems:"center"},children:[jsxRuntimeExports.jsx(CircleAlert,{size:15,style:{marginRight:"0.25rem"}}),u==="is-warning"?_("noKeyName"):c,u==="is-danger"?_("notUniq"):""]})}),v&&jsxRuntimeExports.jsx(Lock,{size:15,style:{marginRight:"0.5rem"}}),p&&jsxRuntimeExports.jsx("span",{style:{color:"red",marginRight:"0.5rem"},children:"*"})]})})}));Item.displayName="Item";const usePrevious=a=>{const s=reactExports.useRef(null);return reactExports.useEffect(()=>{s.current=a}),s.current},getScale=(a,s)=>Math.floor((a/s>1?1:a/s)*100)/100,useUIPreProcessor=({template:a,size:s,zoomLevel:c,maxZoom:u})=>{const[d,p]=reactExports.useState([]),[v,A]=reactExports.useState([]),[x,g]=reactExports.useState(0),[b,y]=reactExports.useState(null),f=async m=>{const{template:{basePdf:C,schemas:w},size:S}=m;let $,T,I,_;if(isBlankPdf(C)){const{width:R,height:O}=C;$=R*ZOOM,T=O*ZOOM,I=w.map(()=>"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdj+P///38ACfsD/QVDRcoAAAAASUVORK5CYII="),_=w.map(()=>({width:R,height:O}))}else{const R=await getB64BasePdf(C),O=b64toUint8Array(R),L=new ArrayBuffer(O.byteLength);new Uint8Array(L).set(O);const[B,F]=await Promise.all([pdf2size(L),pdf2img(L.slice(),{scale:u})]);_=B,$=_[0].width*ZOOM,T=_[0].height*ZOOM,I=F.map(arrayBufferToBase64)}const E=Math.min(getScale(S.width,$),getScale(S.height-RULER_HEIGHT,T));return{backgrounds:I,pageSizes:_,scale:E}};return reactExports.useEffect(()=>{f({template:a,size:s}).then(({pageSizes:m,scale:C,backgrounds:w})=>{A(m),g(C),p(w)}).catch(m=>{y(m),console.error("[@pdfme/ui]",m)})},[a,s]),{backgrounds:d,pageSizes:v,scale:x*c,error:b,refresh:m=>f({template:m,size:s}).then(({pageSizes:C,scale:w,backgrounds:S})=>{A(C),g(w),p(S)})}},useScrollPageCursor=({ref:a,pageSizes:s,scale:c,pageCursor:u,onChangePageCursor:d})=>{const p=reactExports.useCallback(()=>{if(!s[0]||!a.current)return;const v=a.current.scrollTop,{top:A}=a.current.getBoundingClientRect(),x=s.reduce((b,y,f)=>{let m=(y.height*ZOOM+RULER_HEIGHT)*c;return f===0?m+=A-m/2:m+=b[f-1],b.concat(m)},[]);let g=0;x.forEach((b,y)=>{v>b&&(g=y+1>=x.length?x.length-1:y+1)}),g!==u&&d(g)},[d,u,s,a,c]);reactExports.useEffect(()=>(a.current?.addEventListener("scroll",p),()=>{a.current?.removeEventListener("scroll",p)}),[a,p])},useMountStatus=()=>{const[a,s]=reactExports.useState(!1);return reactExports.useEffect(()=>{const c=setTimeout(()=>s(!0),500);return()=>clearTimeout(c)},[]),a},useInitEvents=({pageCursor:a,pageSizes:s,activeElements:c,template:u,schemasList:d,changeSchemas:p,commitSchemas:v,removeSchemas:A,onSaveTemplate:x,past:g,future:b,setSchemasList:y,onEdit:f,onEditEnd:m})=>{const C=reactExports.useRef(null),w=reactExports.useCallback(()=>{const $=()=>{const I=c.map(_=>_.id);return d[a].filter(_=>I.includes(_.id))},T=I=>{const _=I==="undo",E=_?g:b;if(E.current.length<=0)return;(_?b:g).current.push(cloneDeep$1(d[a]));const R=cloneDeep$1(d);R[a]=E.current.pop(),y(R)};initShortCuts({move:(I,_)=>{const E=s[a],R=$(),O=moveCommandToChangeSchemasArg({command:I,activeSchemas:R,pageSize:E,isShift:_});p(O)},copy:()=>{const I=$();I.length!==0&&(C.current=I)},paste:()=>{if(!C.current||C.current.length===0)return;const I=d[a],_=[],E=C.current.map(R=>{const O=uuid$6(),L=getUniqueSchemaName({copiedSchemaName:R.name,schema:I,stackUniqueSchemaNames:_}),{height:B,width:F,position:M}=R,W=s[a],j={x:M.x+10>W.width-F?W.width-F:M.x+10,y:M.y+10>W.height-B?W.height-B:M.y+10};return Object.assign(cloneDeep$1(R),{id:O,name:L,position:j})});v(d[a].concat(E)),f(E.map(R=>document.getElementById(R.id))),C.current=E},redo:()=>T("redo"),undo:()=>T("undo"),save:()=>x&&x(schemasList2template(d,u.basePdf)),remove:()=>A($().map(I=>I.id)),esc:m,selectAll:()=>f(d[a].map(I=>document.getElementById(I.id)))})},[u,c,a,s,p,v,d,x,A,g,b,y,C,f,m]),S=reactExports.useCallback(()=>{destroyShortCuts()},[]);reactExports.useEffect(()=>(w(),S),[w,S])},getWithModifiedSize=(a,s,c,u)=>{const p=new DOMParser().parseFromString(a,"text/html"),v=A=>{(A.tagName==="SVG"||A.tagName==="svg")&&(A.setAttribute("width",c.toString()),A.setAttribute("height",c.toString())),Array.from(A.children).forEach(x=>v(x))};return Array.from(p.body.children).forEach(A=>v(A)),jsxRuntimeExports.jsx("div",{style:u,title:s,dangerouslySetInnerHTML:{__html:p.body.innerHTML}})},PluginIcon=a=>{const{plugin:s,label:c,size:u,styles:d}=a,{token:p}=theme.useToken(),v=reactExports.useContext(OptionsContext),A=s.propPanel.defaultSchema?.type??"",x=v.icons?.[A]??s.icon,g={...d,color:p.colorText,display:"flex",justifyContent:"center"};return x?u?getWithModifiedSize(x,c,u,g):jsxRuntimeExports.jsx("div",{style:g,title:c,dangerouslySetInnerHTML:{__html:x}}):jsxRuntimeExports.jsx("div",{style:{...d,overflow:"hidden",fontSize:10},title:c,children:c})},SelectableSortableItem=({isSelected:a,style:s,onSelect:c,onEdit:u,schema:d,schemas:p,onMouseEnter:v,onMouseLeave:A})=>{const{token:x}=theme.useToken(),g=reactExports.useContext(I18nContext),b=reactExports.useContext(PluginsRegistry),{setNodeRef:y,listeners:f,isDragging:m,isSorting:C,transform:w,transition:S}=useSortable({id:d.id}),$=useMountStatus(),T=m&&!$,I={...f,onClick:B=>c(d.id,B.shiftKey)},[_,E]=b.findWithLabelByType(d.type);let R;d.name?p.find(B=>d.name&&B.name===d.name&&B.id!==d.id)&&(R="is-danger"):R="is-warning";let O=g("edit");R==="is-warning"?O=g("plsInputName"):R==="is-danger"&&(O=g("fieldMustUniq"));const L=a?{background:x.colorPrimary,opacity:C||m?.5:1}:{};return jsxRuntimeExports.jsx(Item,{ref:y,onMouseEnter:v,onMouseLeave:A,onClick:()=>u(d.id),icon:E&&jsxRuntimeExports.jsx(PluginIcon,{plugin:E,label:_,size:20}),value:d.name,status:R,title:O,required:d.required,readOnly:d.readOnly,style:{...L,...s},dragging:m,sorting:C,transition:S,transform:w,fadeIn:T,listeners:I})},SelectableSortableContainer=a=>{const{token:s}=theme.useToken(),{schemas:c,onEdit:u,onSortEnd:d,hoveringSchemaId:p,onChangeHoveringSchemaId:v}=a,[A,x]=reactExports.useState([]),[g,b]=reactExports.useState(null),[y,f]=reactExports.useState(null),m=reactExports.useContext(PluginsRegistry),C=useSensors(useSensor(PointerSensor,{activationConstraint:{distance:15}}),useSensor(KeyboardSensor,{coordinateGetter:sortableKeyboardCoordinates})),w=T=>A.map(I=>I.id).includes(T),S=(T,I)=>{if(I)if(w(T)){const _=A.filter(E=>E.id!==T);x(_)}else{const _=c.find(R=>R.id===T),E=A.concat(_);x(E)}else x([])},$=T=>{const I=typeof T=="string"?c.find(R=>R.id===T):T;if(!I)return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{});const[_,E]=m.findWithLabelByType(I.type);return E?jsxRuntimeExports.jsx(PluginIcon,{plugin:E,label:_,size:20,styles:{marginRight:"0.5rem"}}):jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})};return jsxRuntimeExports.jsx(DndContext,{sensors:C,collisionDetection:closestCorners,onDragStart:({active:T})=>{f(String(T.id)),b(c),w(String(T.id))?A.length>0&&d(A.reduce((I,_)=>_.id===String(T.id)?I:I.filter(E=>E!==_),c)):x([])},onDragEnd:({active:T,over:I})=>{const _=I?.id||"",E=c.map(O=>O.id).indexOf(String(T.id)),R=c.map(O=>O.id).indexOf(String(_));if(A.length){let O=[...c];O=arrayMove(O,E,R),O.splice(R+1,0,...A.filter(L=>L.id!==y)),d(O),x([])}else E!==R&&d(arrayMove(c,E,R));f(null)},onDragCancel:()=>{g&&d(g),f(null),b(null)},children:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{style:{height:"100%",overflowY:"auto"},children:jsxRuntimeExports.jsx(SortableContext,{items:c,strategy:verticalListSortingStrategy,children:jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none",borderRadius:5},children:c.map(T=>jsxRuntimeExports.jsx(SelectableSortableItem,{style:{border:`1px solid ${T.id===p?s.colorPrimary:"transparent"}`},schema:T,schemas:c,isSelected:w(T.id)||y===T.id,onEdit:u,onSelect:S,onMouseEnter:()=>v(T.id),onMouseLeave:()=>v(null)},T.id))})})}),reactDomExports.createPortal(jsxRuntimeExports.jsx(DragOverlay,{adjustScale:!0,children:y?(()=>{const T=c.find(I=>I.id===y);return T?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none"},children:jsxRuntimeExports.jsx(Item,{icon:$(y),value:T.name,required:T.required,readOnly:T.readOnly,style:{background:s.colorPrimary},dragOverlay:!0})}),jsxRuntimeExports.jsx("ul",{style:{margin:0,padding:0,listStyle:"none"},children:A.filter(I=>I.id!==y).map(I=>jsxRuntimeExports.jsx(Item,{icon:$(I),value:I.name,required:I.required,readOnly:I.readOnly,style:{background:s.colorPrimary},dragOverlay:!0},I.id))})]}):null})():null}),document.body)]})})},{Text:Text$3}=Typography,{TextArea:TextArea$2}=Input$1,headHeight=40,ListView=a=>{const{schemas:s,onSortEnd:c,onEdit:u,size:d,hoveringSchemaId:p,onChangeHoveringSchemaId:v,changeSchemas:A}=a,{token:x}=theme.useToken(),g=reactExports.useContext(I18nContext),[b,y]=reactExports.useState(!1),[f,m]=reactExports.useState(""),C=getSidebarContentHeight(d.height),w=()=>{const $=f.split(`
765
765
  `);$.length!==s.length?alert(g("errorBulkUpdateFieldName")):(A($.map((T,I)=>({key:"name",value:T,schemaId:s[I].id}))),y(!1))},S=()=>{m(s.map($=>$.name).join(`
766
766
  `)),y(!0)};return jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx("div",{style:{height:headHeight,display:"flex",alignItems:"center"},children:jsxRuntimeExports.jsx(Text$3,{strong:!0,style:{textAlign:"center",width:"100%"},children:g("fieldsList")})}),jsxRuntimeExports.jsx(Divider,{style:{marginTop:x.marginXS,marginBottom:x.marginXS}}),jsxRuntimeExports.jsxs("div",{style:{height:C-headHeight},children:[b?jsxRuntimeExports.jsx(TextArea$2,{wrap:"off",value:f,onChange:$=>m($.target.value),style:{paddingLeft:30,height:C-headHeight,width:RIGHT_SIDEBAR_WIDTH-35,lineHeight:"2.75rem"}}):jsxRuntimeExports.jsx(SelectableSortableContainer,{schemas:s,hoveringSchemaId:p,onChangeHoveringSchemaId:v,onSortEnd:c,onEdit:u}),jsxRuntimeExports.jsx("div",{style:{paddingTop:"0.5rem",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:b?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Button$1,{size:"small",type:"text",onClick:w,children:jsxRuntimeExports.jsxs("u",{children:[" ",g("commitBulkUpdateFieldName")]})}),jsxRuntimeExports.jsx("span",{style:{margin:"0 1rem"},children:"/"}),jsxRuntimeExports.jsx(Button$1,{size:"small",type:"text",onClick:()=>y(!1),children:jsxRuntimeExports.jsxs("u",{children:[" ",g("cancel")]})})]}):jsxRuntimeExports.jsx(Button$1,{size:"small",type:"text",onClick:S,children:jsxRuntimeExports.jsxs("u",{children:[" ",g("bulkUpdateFieldName")]})})})]})]})};var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$g=Object.prototype,hasOwnProperty$d=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(a){var s=hasOwnProperty$d.call(a,symToStringTag$1),c=a[symToStringTag$1];try{a[symToStringTag$1]=void 0;var u=!0}catch{}var d=nativeObjectToString$1.call(a);return u&&(s?a[symToStringTag$1]=c:delete a[symToStringTag$1]),d}var objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString(a){return nativeObjectToString.call(a)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(a){return a==null?a===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(a)?getRawTag(a):objectToString(a)}function isObjectLike(a){return a!=null&&typeof a=="object"}var symbolTag$3="[object Symbol]";function isSymbol(a){return typeof a=="symbol"||isObjectLike(a)&&baseGetTag(a)==symbolTag$3}function arrayMap(a,s){for(var c=-1,u=a==null?0:a.length,d=Array(u);++c<u;)d[c]=s(a[c],c,a);return d}var isArray$2=Array.isArray,symbolProto$2=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto$2?symbolProto$2.toString:void 0;function baseToString(a){if(typeof a=="string")return a;if(isArray$2(a))return arrayMap(a,baseToString)+"";if(isSymbol(a))return symbolToString?symbolToString.call(a):"";var s=a+"";return s=="0"&&1/a==-1/0?"-0":s}function isObject$3(a){var s=typeof a;return a!=null&&(s=="object"||s=="function")}function identity$1(a){return a}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction$2(a){if(!isObject$3(a))return!1;var s=baseGetTag(a);return s==funcTag$2||s==genTag$1||s==asyncTag||s==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=function(){var a=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}();function isMasked(a){return!!maskSrcKey&&maskSrcKey in a}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(a){if(a!=null){try{return funcToString$2.call(a)}catch{}try{return a+""}catch{}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$c=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$c).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(a){if(!isObject$3(a)||isMasked(a))return!1;var s=isFunction$2(a)?reIsNative:reIsHostCtor;return s.test(toSource(a))}function getValue$1(a,s){return a?.[s]}function getNative(a,s){var c=getValue$1(a,s);return baseIsNative(c)?c:void 0}var WeakMap$1=getNative(root,"WeakMap"),objectCreate=Object.create,baseCreate=function(){function a(){}return function(s){if(!isObject$3(s))return{};if(objectCreate)return objectCreate(s);a.prototype=s;var c=new a;return a.prototype=void 0,c}}();function apply(a,s,c){switch(c.length){case 0:return a.call(s);case 1:return a.call(s,c[0]);case 2:return a.call(s,c[0],c[1]);case 3:return a.call(s,c[0],c[1],c[2])}return a.apply(s,c)}function copyArray(a,s){var c=-1,u=a.length;for(s||(s=Array(u));++c<u;)s[c]=a[c];return s}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(a){var s=0,c=0;return function(){var u=nativeNow(),d=HOT_SPAN-(u-c);if(c=u,d>0){if(++s>=HOT_COUNT)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}function constant(a){return function(){return a}}var defineProperty$4=function(){try{var a=getNative(Object,"defineProperty");return a({},"",{}),a}catch{}}(),baseSetToString=defineProperty$4?function(a,s){return defineProperty$4(a,"toString",{configurable:!0,enumerable:!1,value:constant(s),writable:!0})}:identity$1,setToString=shortOut(baseSetToString);function arrayEach(a,s){for(var c=-1,u=a==null?0:a.length;++c<u&&s(a[c],c,a)!==!1;);return a}var MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(a,s){var c=typeof a;return s=s??MAX_SAFE_INTEGER$1,!!s&&(c=="number"||c!="symbol"&&reIsUint.test(a))&&a>-1&&a%1==0&&a<s}function baseAssignValue(a,s,c){s=="__proto__"&&defineProperty$4?defineProperty$4(a,s,{configurable:!0,enumerable:!0,value:c,writable:!0}):a[s]=c}function eq(a,s){return a===s||a!==a&&s!==s}var objectProto$d=Object.prototype,hasOwnProperty$b=objectProto$d.hasOwnProperty;function assignValue(a,s,c){var u=a[s];(!(hasOwnProperty$b.call(a,s)&&eq(u,c))||c===void 0&&!(s in a))&&baseAssignValue(a,s,c)}function copyObject(a,s,c,u){var d=!c;c||(c={});for(var p=-1,v=s.length;++p<v;){var A=s[p],x=void 0;x===void 0&&(x=a[A]),d?baseAssignValue(c,A,x):assignValue(c,A,x)}return c}var nativeMax=Math.max;function overRest(a,s,c){return s=nativeMax(s===void 0?a.length-1:s,0),function(){for(var u=arguments,d=-1,p=nativeMax(u.length-s,0),v=Array(p);++d<p;)v[d]=u[s+d];d=-1;for(var A=Array(s+1);++d<s;)A[d]=u[d];return A[s]=c(v),apply(a,this,A)}}function baseRest(a,s){return setToString(overRest(a,s,identity$1),a+"")}var MAX_SAFE_INTEGER=9007199254740991;function isLength(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=MAX_SAFE_INTEGER}function isArrayLike(a){return a!=null&&isLength(a.length)&&!isFunction$2(a)}function isIterateeCall(a,s,c){if(!isObject$3(c))return!1;var u=typeof s;return(u=="number"?isArrayLike(c)&&isIndex(s,c.length):u=="string"&&s in c)?eq(c[s],a):!1}function createAssigner(a){return baseRest(function(s,c){var u=-1,d=c.length,p=d>1?c[d-1]:void 0,v=d>2?c[2]:void 0;for(p=a.length>3&&typeof p=="function"?(d--,p):void 0,v&&isIterateeCall(c[0],c[1],v)&&(p=d<3?void 0:p,d=1),s=Object(s);++u<d;){var A=c[u];A&&a(s,A,u,p)}return s})}var objectProto$c=Object.prototype;function isPrototype(a){var s=a&&a.constructor,c=typeof s=="function"&&s.prototype||objectProto$c;return a===c}function baseTimes(a,s){for(var c=-1,u=Array(a);++c<a;)u[c]=s(c);return u}var argsTag$3="[object Arguments]";function baseIsArguments(a){return isObjectLike(a)&&baseGetTag(a)==argsTag$3}var objectProto$b=Object.prototype,hasOwnProperty$a=objectProto$b.hasOwnProperty,propertyIsEnumerable$1=objectProto$b.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(a){return isObjectLike(a)&&hasOwnProperty$a.call(a,"callee")&&!propertyIsEnumerable$1.call(a,"callee")};function stubFalse(){return!1}var freeExports$2=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$2=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$2?Buffer$2.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse,argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0,typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=!1;function baseIsTypedArray(a){return isObjectLike(a)&&isLength(a.length)&&!!typedArrayTags[baseGetTag(a)]}function baseUnary(a){return function(s){return a(s)}}var freeExports$1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=function(){try{var a=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return a||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch{}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$a=Object.prototype,hasOwnProperty$9=objectProto$a.hasOwnProperty;function arrayLikeKeys(a,s){var c=isArray$2(a),u=!c&&isArguments(a),d=!c&&!u&&isBuffer(a),p=!c&&!u&&!d&&isTypedArray(a),v=c||u||d||p,A=v?baseTimes(a.length,String):[],x=A.length;for(var g in a)(s||hasOwnProperty$9.call(a,g))&&!(v&&(g=="length"||d&&(g=="offset"||g=="parent")||p&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||isIndex(g,x)))&&A.push(g);return A}function overArg(a,s){return function(c){return a(s(c))}}var nativeKeys=overArg(Object.keys,Object),objectProto$9=Object.prototype,hasOwnProperty$8=objectProto$9.hasOwnProperty;function baseKeys(a){if(!isPrototype(a))return nativeKeys(a);var s=[];for(var c in Object(a))hasOwnProperty$8.call(a,c)&&c!="constructor"&&s.push(c);return s}function keys(a){return isArrayLike(a)?arrayLikeKeys(a):baseKeys(a)}function nativeKeysIn(a){var s=[];if(a!=null)for(var c in Object(a))s.push(c);return s}var objectProto$8=Object.prototype,hasOwnProperty$7=objectProto$8.hasOwnProperty;function baseKeysIn(a){if(!isObject$3(a))return nativeKeysIn(a);var s=isPrototype(a),c=[];for(var u in a)u=="constructor"&&(s||!hasOwnProperty$7.call(a,u))||c.push(u);return c}function keysIn(a){return isArrayLike(a)?arrayLikeKeys(a,!0):baseKeysIn(a)}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(a,s){if(isArray$2(a))return!1;var c=typeof a;return c=="number"||c=="symbol"||c=="boolean"||a==null||isSymbol(a)?!0:reIsPlainProp.test(a)||!reIsDeepProp.test(a)||s!=null&&a in Object(s)}var nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(a){var s=this.has(a)&&delete this.__data__[a];return this.size-=s?1:0,s}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$7=Object.prototype,hasOwnProperty$6=objectProto$7.hasOwnProperty;function hashGet(a){var s=this.__data__;if(nativeCreate){var c=s[a];return c===HASH_UNDEFINED$2?void 0:c}return hasOwnProperty$6.call(s,a)?s[a]:void 0}var objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty;function hashHas(a){var s=this.__data__;return nativeCreate?s[a]!==void 0:hasOwnProperty$5.call(s,a)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(a,s){var c=this.__data__;return this.size+=this.has(a)?0:1,c[a]=nativeCreate&&s===void 0?HASH_UNDEFINED$1:s,this}function Hash(a){var s=-1,c=a==null?0:a.length;for(this.clear();++s<c;){var u=a[s];this.set(u[0],u[1])}}Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet;function listCacheClear(){this.__data__=[],this.size=0}function assocIndexOf(a,s){for(var c=a.length;c--;)if(eq(a[c][0],s))return c;return-1}var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(a){var s=this.__data__,c=assocIndexOf(s,a);if(c<0)return!1;var u=s.length-1;return c==u?s.pop():splice.call(s,c,1),--this.size,!0}function listCacheGet(a){var s=this.__data__,c=assocIndexOf(s,a);return c<0?void 0:s[c][1]}function listCacheHas(a){return assocIndexOf(this.__data__,a)>-1}function listCacheSet(a,s){var c=this.__data__,u=assocIndexOf(c,a);return u<0?(++this.size,c.push([a,s])):c[u][1]=s,this}function ListCache(a){var s=-1,c=a==null?0:a.length;for(this.clear();++s<c;){var u=a[s];this.set(u[0],u[1])}}ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet;var Map$1=getNative(root,"Map");function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}}function isKeyable(a){var s=typeof a;return s=="string"||s=="number"||s=="symbol"||s=="boolean"?a!=="__proto__":a===null}function getMapData(a,s){var c=a.__data__;return isKeyable(s)?c[typeof s=="string"?"string":"hash"]:c.map}function mapCacheDelete(a){var s=getMapData(this,a).delete(a);return this.size-=s?1:0,s}function mapCacheGet(a){return getMapData(this,a).get(a)}function mapCacheHas(a){return getMapData(this,a).has(a)}function mapCacheSet(a,s){var c=getMapData(this,a),u=c.size;return c.set(a,s),this.size+=c.size==u?0:1,this}function MapCache(a){var s=-1,c=a==null?0:a.length;for(this.clear();++s<c;){var u=a[s];this.set(u[0],u[1])}}MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet;var FUNC_ERROR_TEXT$1="Expected a function";function memoize(a,s){if(typeof a!="function"||s!=null&&typeof s!="function")throw new TypeError(FUNC_ERROR_TEXT$1);var c=function(){var u=arguments,d=s?s.apply(this,u):u[0],p=c.cache;if(p.has(d))return p.get(d);var v=a.apply(this,u);return c.cache=p.set(d,v)||p,v};return c.cache=new(memoize.Cache||MapCache),c}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(a){var s=memoize(a,function(u){return c.size===MAX_MEMOIZE_SIZE&&c.clear(),u}),c=s.cache;return s}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped(function(a){var s=[];return a.charCodeAt(0)===46&&s.push(""),a.replace(rePropName,function(c,u,d,p){s.push(d?p.replace(reEscapeChar,"$1"):u||c)}),s});function toString(a){return a==null?"":baseToString(a)}function castPath(a,s){return isArray$2(a)?a:isKey(a,s)?[a]:stringToPath(toString(a))}function toKey(a){if(typeof a=="string"||isSymbol(a))return a;var s=a+"";return s=="0"&&1/a==-1/0?"-0":s}function baseGet(a,s){s=castPath(s,a);for(var c=0,u=s.length;a!=null&&c<u;)a=a[toKey(s[c++])];return c&&c==u?a:void 0}function get(a,s,c){var u=a==null?void 0:baseGet(a,s);return u===void 0?c:u}function arrayPush(a,s){for(var c=-1,u=s.length,d=a.length;++c<u;)a[d+c]=s[c];return a}var getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$5=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$4=objectProto$5.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject(a){if(!isObjectLike(a)||baseGetTag(a)!=objectTag$3)return!1;var s=getPrototype(a);if(s===null)return!0;var c=hasOwnProperty$4.call(s,"constructor")&&s.constructor;return typeof c=="function"&&c instanceof c&&funcToString.call(c)==objectCtorString}function baseSlice(a,s,c){var u=-1,d=a.length;s<0&&(s=-s>d?0:d+s),c=c>d?d:c,c<0&&(c+=d),d=s>c?0:c-s>>>0,s>>>=0;for(var p=Array(d);++u<d;)p[u]=a[u+s];return p}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(a){var s=this.__data__,c=s.delete(a);return this.size=s.size,c}function stackGet(a){return this.__data__.get(a)}function stackHas(a){return this.__data__.has(a)}var LARGE_ARRAY_SIZE=200;function stackSet(a,s){var c=this.__data__;if(c instanceof ListCache){var u=c.__data__;if(!Map$1||u.length<LARGE_ARRAY_SIZE-1)return u.push([a,s]),this.size=++c.size,this;c=this.__data__=new MapCache(u)}return c.set(a,s),this.size=c.size,this}function Stack(a){var s=this.__data__=new ListCache(a);this.size=s.size}Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer$1=moduleExports?root.Buffer:void 0,allocUnsafe=Buffer$1?Buffer$1.allocUnsafe:void 0;function cloneBuffer(a,s){if(s)return a.slice();var c=a.length,u=allocUnsafe?allocUnsafe(c):new a.constructor(c);return a.copy(u),u}function arrayFilter(a,s){for(var c=-1,u=a==null?0:a.length,d=0,p=[];++c<u;){var v=a[c];s(v,c,a)&&(p[d++]=v)}return p}function stubArray(){return[]}var objectProto$4=Object.prototype,propertyIsEnumerable=objectProto$4.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(a){return a==null?[]:(a=Object(a),arrayFilter(nativeGetSymbols$1(a),function(s){return propertyIsEnumerable.call(a,s)}))}:stubArray,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(a){for(var s=[];a;)arrayPush(s,getSymbols(a)),a=getPrototype(a);return s}:stubArray;function baseGetAllKeys(a,s,c){var u=s(a);return isArray$2(a)?u:arrayPush(u,c(a))}function getAllKeys(a){return baseGetAllKeys(a,keys,getSymbols)}function getAllKeysIn(a){return baseGetAllKeys(a,keysIn,getSymbolsIn)}var DataView$1=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),mapTag$4="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag=baseGetTag;(DataView$1&&getTag(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$3||Map$1&&getTag(new Map$1)!=mapTag$4||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$4||WeakMap$1&&getTag(new WeakMap$1)!=weakMapTag$1)&&(getTag=function(a){var s=baseGetTag(a),c=s==objectTag$2?a.constructor:void 0,u=c?toSource(c):"";if(u)switch(u){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return s});var objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function initCloneArray(a){var s=a.length,c=new a.constructor(s);return s&&typeof a[0]=="string"&&hasOwnProperty$3.call(a,"index")&&(c.index=a.index,c.input=a.input),c}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(a){var s=new a.constructor(a.byteLength);return new Uint8Array$1(s).set(new Uint8Array$1(a)),s}function cloneDataView(a,s){var c=cloneArrayBuffer(a.buffer);return new a.constructor(c,a.byteOffset,a.byteLength)}var reFlags=/\w*$/;function cloneRegExp(a){var s=new a.constructor(a.source,reFlags.exec(a));return s.lastIndex=a.lastIndex,s}var symbolProto$1=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf$1=symbolProto$1?symbolProto$1.valueOf:void 0;function cloneSymbol(a){return symbolValueOf$1?Object(symbolValueOf$1.call(a)):{}}function cloneTypedArray(a,s){var c=s?cloneArrayBuffer(a.buffer):a.buffer;return new a.constructor(c,a.byteOffset,a.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(a,s,c){var u=a.constructor;switch(s){case arrayBufferTag$2:return cloneArrayBuffer(a);case boolTag$2:case dateTag$2:return new u(+a);case dataViewTag$2:return cloneDataView(a);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(a,c);case mapTag$3:return new u;case numberTag$2:case stringTag$2:return new u(a);case regexpTag$2:return cloneRegExp(a);case setTag$3:return new u;case symbolTag$2:return cloneSymbol(a)}}function initCloneObject(a){return typeof a.constructor=="function"&&!isPrototype(a)?baseCreate(getPrototype(a)):{}}var mapTag$2="[object Map]";function baseIsMap(a){return isObjectLike(a)&&getTag(a)==mapTag$2}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$2="[object Set]";function baseIsSet(a){return isObjectLike(a)&&getTag(a)==setTag$2}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,CLONE_DEEP_FLAG$1=1,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$1="[object Number]",objectTag$1="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$1]=cloneableTags[objectTag$1]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$1]=cloneableTags[symbolTag$1]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;function baseClone(a,s,c,u,d,p){var v,A=s&CLONE_DEEP_FLAG$1;if(v!==void 0)return v;if(!isObject$3(a))return a;var x=isArray$2(a);if(x)v=initCloneArray(a);else{var g=getTag(a),b=g==funcTag||g==genTag;if(isBuffer(a))return cloneBuffer(a,A);if(g==objectTag$1||g==argsTag$1||b&&!d)v=b?{}:initCloneObject(a);else{if(!cloneableTags[g])return d?a:{};v=initCloneByTag(a,g,A)}}p||(p=new Stack);var y=p.get(a);if(y)return y;p.set(a,v),isSet(a)?a.forEach(function(C){v.add(baseClone(C,s,c,C,a,p))}):isMap(a)&&a.forEach(function(C,w){v.set(w,baseClone(C,s,c,w,a,p))});var f=getAllKeys,m=x?void 0:f(a);return arrayEach(m||a,function(C,w){m&&(w=C,C=a[w]),assignValue(v,w,baseClone(C,s,c,w,a,p))}),v}var CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep(a){return baseClone(a,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(a){return this.__data__.set(a,HASH_UNDEFINED),this}function setCacheHas(a){return this.__data__.has(a)}function SetCache(a){var s=-1,c=a==null?0:a.length;for(this.__data__=new MapCache;++s<c;)this.add(a[s])}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas;function arraySome(a,s){for(var c=-1,u=a==null?0:a.length;++c<u;)if(s(a[c],c,a))return!0;return!1}function cacheHas(a,s){return a.has(s)}var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(a,s,c,u,d,p){var v=c&COMPARE_PARTIAL_FLAG$5,A=a.length,x=s.length;if(A!=x&&!(v&&x>A))return!1;var g=p.get(a),b=p.get(s);if(g&&b)return g==s&&b==a;var y=-1,f=!0,m=c&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(p.set(a,s),p.set(s,a);++y<A;){var C=a[y],w=s[y];if(u)var S=v?u(w,C,y,s,a,p):u(C,w,y,a,s,p);if(S!==void 0){if(S)continue;f=!1;break}if(m){if(!arraySome(s,function($,T){if(!cacheHas(m,T)&&(C===$||d(C,$,c,u,p)))return m.push(T)})){f=!1;break}}else if(!(C===w||d(C,w,c,u,p))){f=!1;break}}return p.delete(a),p.delete(s),f}function mapToArray(a){var s=-1,c=Array(a.size);return a.forEach(function(u,d){c[++s]=[d,u]}),c}function setToArray(a){var s=-1,c=Array(a.size);return a.forEach(function(u){c[++s]=u}),c}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(a,s,c,u,d,p,v){switch(c){case dataViewTag:if(a.byteLength!=s.byteLength||a.byteOffset!=s.byteOffset)return!1;a=a.buffer,s=s.buffer;case arrayBufferTag:return!(a.byteLength!=s.byteLength||!p(new Uint8Array$1(a),new Uint8Array$1(s)));case boolTag:case dateTag:case numberTag:return eq(+a,+s);case errorTag:return a.name==s.name&&a.message==s.message;case regexpTag:case stringTag:return a==s+"";case mapTag:var A=mapToArray;case setTag:var x=u&COMPARE_PARTIAL_FLAG$4;if(A||(A=setToArray),a.size!=s.size&&!x)return!1;var g=v.get(a);if(g)return g==s;u|=COMPARE_UNORDERED_FLAG$2,v.set(a,s);var b=equalArrays(A(a),A(s),u,d,p,v);return v.delete(a),b;case symbolTag:if(symbolValueOf)return symbolValueOf.call(a)==symbolValueOf.call(s)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function equalObjects(a,s,c,u,d,p){var v=c&COMPARE_PARTIAL_FLAG$3,A=getAllKeys(a),x=A.length,g=getAllKeys(s),b=g.length;if(x!=b&&!v)return!1;for(var y=x;y--;){var f=A[y];if(!(v?f in s:hasOwnProperty$2.call(s,f)))return!1}var m=p.get(a),C=p.get(s);if(m&&C)return m==s&&C==a;var w=!0;p.set(a,s),p.set(s,a);for(var S=v;++y<x;){f=A[y];var $=a[f],T=s[f];if(u)var I=v?u(T,$,f,s,a,p):u($,T,f,a,s,p);if(!(I===void 0?$===T||d($,T,c,u,p):I)){w=!1;break}S||(S=f=="constructor")}if(w&&!S){var _=a.constructor,E=s.constructor;_!=E&&"constructor"in a&&"constructor"in s&&!(typeof _=="function"&&_ instanceof _&&typeof E=="function"&&E instanceof E)&&(w=!1)}return p.delete(a),p.delete(s),w}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseIsEqualDeep(a,s,c,u,d,p){var v=isArray$2(a),A=isArray$2(s),x=v?arrayTag:getTag(a),g=A?arrayTag:getTag(s);x=x==argsTag?objectTag:x,g=g==argsTag?objectTag:g;var b=x==objectTag,y=g==objectTag,f=x==g;if(f&&isBuffer(a)){if(!isBuffer(s))return!1;v=!0,b=!1}if(f&&!b)return p||(p=new Stack),v||isTypedArray(a)?equalArrays(a,s,c,u,d,p):equalByTag(a,s,x,c,u,d,p);if(!(c&COMPARE_PARTIAL_FLAG$2)){var m=b&&hasOwnProperty$1.call(a,"__wrapped__"),C=y&&hasOwnProperty$1.call(s,"__wrapped__");if(m||C){var w=m?a.value():a,S=C?s.value():s;return p||(p=new Stack),d(w,S,c,u,p)}}return f?(p||(p=new Stack),equalObjects(a,s,c,u,d,p)):!1}function baseIsEqual(a,s,c,u,d){return a===s?!0:a==null||s==null||!isObjectLike(a)&&!isObjectLike(s)?a!==a&&s!==s:baseIsEqualDeep(a,s,c,u,baseIsEqual,d)}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(a,s,c,u){var d=c.length,p=d;if(a==null)return!p;for(a=Object(a);d--;){var v=c[d];if(v[2]?v[1]!==a[v[0]]:!(v[0]in a))return!1}for(;++d<p;){v=c[d];var A=v[0],x=a[A],g=v[1];if(v[2]){if(x===void 0&&!(A in a))return!1}else{var b=new Stack,y;if(!(y===void 0?baseIsEqual(g,x,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,u,b):y))return!1}}return!0}function isStrictComparable(a){return a===a&&!isObject$3(a)}function getMatchData(a){for(var s=keys(a),c=s.length;c--;){var u=s[c],d=a[u];s[c]=[u,d,isStrictComparable(d)]}return s}function matchesStrictComparable(a,s){return function(c){return c==null?!1:c[a]===s&&(s!==void 0||a in Object(c))}}function baseMatches(a){var s=getMatchData(a);return s.length==1&&s[0][2]?matchesStrictComparable(s[0][0],s[0][1]):function(c){return c===a||baseIsMatch(c,a,s)}}function baseHasIn(a,s){return a!=null&&s in Object(a)}function hasPath(a,s,c){s=castPath(s,a);for(var u=-1,d=s.length,p=!1;++u<d;){var v=toKey(s[u]);if(!(p=a!=null&&c(a,v)))break;a=a[v]}return p||++u!=d?p:(d=a==null?0:a.length,!!d&&isLength(d)&&isIndex(v,d)&&(isArray$2(a)||isArguments(a)))}function hasIn(a,s){return a!=null&&hasPath(a,s,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(a,s){return isKey(a)&&isStrictComparable(s)?matchesStrictComparable(toKey(a),s):function(c){var u=get(c,a);return u===void 0&&u===s?hasIn(c,a):baseIsEqual(s,u,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(a){return function(s){return s?.[a]}}function basePropertyDeep(a){return function(s){return baseGet(s,a)}}function property(a){return isKey(a)?baseProperty(toKey(a)):basePropertyDeep(a)}function baseIteratee(a){return typeof a=="function"?a:a==null?identity$1:typeof a=="object"?isArray$2(a)?baseMatchesProperty(a[0],a[1]):baseMatches(a):property(a)}function createBaseFor(a){return function(s,c,u){for(var d=-1,p=Object(s),v=u(s),A=v.length;A--;){var x=v[++d];if(c(p[x],x,p)===!1)break}return s}}var baseFor=createBaseFor();function baseForOwn(a,s){return a&&baseFor(a,s,keys)}function createBaseEach(a,s){return function(c,u){if(c==null)return c;if(!isArrayLike(c))return a(c,u);for(var d=c.length,p=-1,v=Object(c);++p<d&&u(v[p],p,v)!==!1;);return c}}var baseEach=createBaseEach(baseForOwn);function assignMergeValue(a,s,c){(c!==void 0&&!eq(a[s],c)||c===void 0&&!(s in a))&&baseAssignValue(a,s,c)}function isArrayLikeObject(a){return isObjectLike(a)&&isArrayLike(a)}function safeGet$1(a,s){if(!(s==="constructor"&&typeof a[s]=="function")&&s!="__proto__")return a[s]}function toPlainObject(a){return copyObject(a,keysIn(a))}function baseMergeDeep(a,s,c,u,d,p,v){var A=safeGet$1(a,c),x=safeGet$1(s,c),g=v.get(x);if(g){assignMergeValue(a,c,g);return}var b=p?p(A,x,c+"",a,s,v):void 0,y=b===void 0;if(y){var f=isArray$2(x),m=!f&&isBuffer(x),C=!f&&!m&&isTypedArray(x);b=x,f||m||C?isArray$2(A)?b=A:isArrayLikeObject(A)?b=copyArray(A):m?(y=!1,b=cloneBuffer(x,!0)):C?(y=!1,b=cloneTypedArray(x,!0)):b=[]:isPlainObject(x)||isArguments(x)?(b=A,isArguments(A)?b=toPlainObject(A):(!isObject$3(A)||isFunction$2(A))&&(b=initCloneObject(x))):y=!1}y&&(v.set(x,b),d(b,x,u,p,v),v.delete(x)),assignMergeValue(a,c,b)}function baseMerge(a,s,c,u,d){a!==s&&baseFor(s,function(p,v){if(d||(d=new Stack),isObject$3(p))baseMergeDeep(a,s,v,c,baseMerge,u,d);else{var A=u?u(safeGet$1(a,v),p,v+"",a,s,d):void 0;A===void 0&&(A=p),assignMergeValue(a,v,A)}},keysIn)}createAssigner(function(a,s,c,u){baseMerge(a,s,c,u)});function last(a){var s=a==null?0:a.length;return s?a[s-1]:void 0}var objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function baseHas(a,s){return a!=null&&hasOwnProperty.call(a,s)}function has(a,s){return a!=null&&hasPath(a,s,baseHas)}function parent(a,s){return s.length<2?a:baseGet(a,baseSlice(s,0,-1))}function isMatch(a,s){return a===s||baseIsMatch(a,s,getMatchData(s))}function isUndefined$1(a){return a===void 0}createAssigner(function(a,s,c){baseMerge(a,s,c)});var FUNC_ERROR_TEXT="Expected a function";function negate(a){if(typeof a!="function")throw new TypeError(FUNC_ERROR_TEXT);return function(){var s=arguments;switch(s.length){case 0:return!a.call(this);case 1:return!a.call(this,s[0]);case 2:return!a.call(this,s[0],s[1]);case 3:return!a.call(this,s[0],s[1],s[2])}return!a.apply(this,s)}}function baseUnset(a,s){return s=castPath(s,a),a=parent(a,s),a==null||delete a[toKey(last(s))]}function baseSet(a,s,c,u){if(!isObject$3(a))return a;s=castPath(s,a);for(var d=-1,p=s.length,v=p-1,A=a;A!=null&&++d<p;){var x=toKey(s[d]),g=c;if(x==="__proto__"||x==="constructor"||x==="prototype")return a;if(d!=v){var b=A[x];g=void 0,g===void 0&&(g=isObject$3(b)?b:isIndex(s[d+1])?[]:{})}assignValue(A,x,g),A=A[x]}return a}function basePickBy(a,s,c){for(var u=-1,d=s.length,p={};++u<d;){var v=s[u],A=baseGet(a,v);c(A,v)&&baseSet(p,castPath(v,a),A)}return p}function pickBy(a,s){if(a==null)return{};var c=arrayMap(getAllKeysIn(a),function(u){return[u]});return s=baseIteratee(s),basePickBy(a,c,function(u,d){return s(u,d[0])})}function omitBy(a,s){return pickBy(a,negate(baseIteratee(s)))}function set(a,s,c){return a==null?a:baseSet(a,s,c)}function baseSome(a,s){var c;return baseEach(a,function(u,d,p){return c=s(u,d,p),!c}),!!c}function some$1(a,s,c){var u=isArray$2(a)?arraySome:baseSome;return c&&isIterateeCall(a,s,c)&&(s=void 0),u(a,baseIteratee(s))}function unset(a,s){return a==null?!0:baseUnset(a,s)}const __vite_import_meta_env__={},createStoreImpl=a=>{let s;const c=new Set,u=(b,y)=>{const f=typeof b=="function"?b(s):b;if(!Object.is(f,s)){const m=s;s=y??(typeof f!="object"||f===null)?f:Object.assign({},s,f),c.forEach(C=>C(s,m))}},d=()=>s,x={setState:u,getState:d,getInitialState:()=>g,subscribe:b=>(c.add(b),()=>c.delete(b)),destroy:()=>{(__vite_import_meta_env__?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),c.clear()}},g=s=a(u,d,x);return x},createStore$1=a=>a?createStoreImpl(a):createStoreImpl;var withSelector={exports:{}},withSelector_production={},shim={exports:{}},useSyncExternalStoreShim_production={};/**
767
767
  * @license React
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/ui",
3
- "version": "5.4.3-dev.1",
3
+ "version": "5.4.3",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -1,4 +1,4 @@
1
- import React, { useContext, useMemo } from 'react';
1
+ import React, { useContext } from 'react';
2
2
  import { Plugin, Schema } from '@pdfme/common';
3
3
  import { OptionsContext } from '../../contexts.js';
4
4
  import { theme } from 'antd';
@@ -10,62 +10,27 @@ interface PluginIconProps {
10
10
  styles?: React.CSSProperties;
11
11
  }
12
12
 
13
- const SVGIcon = ({ svgString, size, styles, label }: {
14
- svgString: string;
15
- size?: number;
16
- styles?: React.CSSProperties;
17
- label: string;
18
- }) => {
19
- const processedSVG = useMemo(() => {
20
- const parser = new DOMParser();
21
- const doc = parser.parseFromString(svgString, 'image/svg+xml');
22
-
23
- const svgElement = doc.querySelector('svg');
24
- if (!svgElement) {
25
- return null;
26
- }
13
+ const getWithModifiedSize = (
14
+ htmlString: string,
15
+ label: string,
16
+ size: number,
17
+ styles?: React.CSSProperties,
18
+ ) => {
19
+ const parser = new DOMParser();
20
+ const doc = parser.parseFromString(htmlString, 'text/html');
27
21
 
28
- if (size) {
29
- svgElement.setAttribute('width', size.toString());
30
- svgElement.setAttribute('height', size.toString());
22
+ const modifyNode = (node: HTMLElement) => {
23
+ if (node.tagName === 'SVG' || node.tagName === 'svg') {
24
+ node.setAttribute('width', size.toString());
25
+ node.setAttribute('height', size.toString());
31
26
  }
27
+ Array.from(node.children).forEach((child) => modifyNode(child as HTMLElement));
28
+ };
32
29
 
33
- // Sanitize SVG by removing script tags and event handlers
34
- const scripts = svgElement.querySelectorAll('script');
35
- scripts.forEach(script => script.remove());
36
-
37
- const allElements = svgElement.querySelectorAll('*');
38
- allElements.forEach(element => {
39
- Array.from(element.attributes).forEach(attr => {
40
- const attrValue = attr.value.trim().toLowerCase();
41
- if (
42
- attr.name.startsWith('on') ||
43
- (
44
- attr.name === 'href' && (
45
- attrValue.startsWith('javascript:') ||
46
- attrValue.startsWith('data:') ||
47
- attrValue.startsWith('vbscript:')
48
- )
49
- )
50
- ) {
51
- element.removeAttribute(attr.name);
52
- }
53
- });
54
- });
55
-
56
- return svgElement.outerHTML;
57
- }, [svgString, size]);
58
-
59
- if (!processedSVG) {
60
- return null;
61
- }
30
+ Array.from(doc.body.children).forEach((child) => modifyNode(child as HTMLElement));
62
31
 
63
32
  return (
64
- <div
65
- style={styles}
66
- title={label}
67
- dangerouslySetInnerHTML={{ __html: processedSVG }}
68
- />
33
+ <div style={styles} title={label} dangerouslySetInnerHTML={{ __html: doc.body.innerHTML }} />
69
34
  );
70
35
  };
71
36
 
@@ -85,7 +50,10 @@ const PluginIcon = (props: PluginIconProps) => {
85
50
  };
86
51
 
87
52
  if (icon) {
88
- return <SVGIcon svgString={icon} size={size} styles={iconStyles} label={label} />;
53
+ if (size) {
54
+ return getWithModifiedSize(icon, label, size, iconStyles);
55
+ }
56
+ return <div style={iconStyles} title={label} dangerouslySetInnerHTML={{ __html: icon }} />;
89
57
  }
90
58
 
91
59
  return (