@satoshibits/react-json-schema-builder 1.1.3 → 1.1.4

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 (118) hide show
  1. package/dist/index.cjs14.js +1 -1
  2. package/dist/index.cjs16.js +1 -1
  3. package/dist/index.cjs2.js +1 -1
  4. package/dist/index.cjs2.js.map +1 -1
  5. package/dist/index.cjs21.js +1 -1
  6. package/dist/index.cjs31.js +1 -1
  7. package/dist/index.cjs36.js +1 -1
  8. package/dist/index.cjs37.js +1 -1
  9. package/dist/index.cjs37.js.map +1 -1
  10. package/dist/index.cjs38.js +6 -1
  11. package/dist/index.cjs38.js.map +1 -1
  12. package/dist/index.cjs39.js +6 -1
  13. package/dist/index.cjs39.js.map +1 -1
  14. package/dist/index.cjs40.js +6 -1
  15. package/dist/index.cjs40.js.map +1 -1
  16. package/dist/index.cjs41.js +1 -1
  17. package/dist/index.cjs41.js.map +1 -1
  18. package/dist/index.cjs42.js +1 -1
  19. package/dist/index.cjs42.js.map +1 -1
  20. package/dist/index.cjs43.js +1 -1
  21. package/dist/index.cjs43.js.map +1 -1
  22. package/dist/index.cjs44.js +1 -6
  23. package/dist/index.cjs44.js.map +1 -1
  24. package/dist/index.cjs45.js +1 -6
  25. package/dist/index.cjs45.js.map +1 -1
  26. package/dist/index.cjs46.js +1 -6
  27. package/dist/index.cjs46.js.map +1 -1
  28. package/dist/index.cjs47.js +1 -1
  29. package/dist/index.cjs55.js +1 -1
  30. package/dist/index.cjs56.js +1 -1
  31. package/dist/index.cjs57.js +1 -1
  32. package/dist/index.cjs57.js.map +1 -1
  33. package/dist/index.cjs59.js +1 -1
  34. package/dist/index.cjs59.js.map +1 -1
  35. package/dist/index.cjs60.js +1 -1
  36. package/dist/index.cjs60.js.map +1 -1
  37. package/dist/index.cjs61.js +1 -1
  38. package/dist/index.cjs61.js.map +1 -1
  39. package/dist/index.cjs62.js +1 -1
  40. package/dist/index.cjs62.js.map +1 -1
  41. package/dist/index.cjs63.js +1 -1
  42. package/dist/index.cjs63.js.map +1 -1
  43. package/dist/index.cjs65.js +1 -1
  44. package/dist/index.cjs67.js +1 -1
  45. package/dist/index.cjs69.js +1 -1
  46. package/dist/index.cjs71.js +1 -1
  47. package/dist/index.cjs72.js +1 -1
  48. package/dist/index.cjs75.js +1 -1
  49. package/dist/index.cjs78.js +1 -1
  50. package/dist/index.cjs78.js.map +1 -1
  51. package/dist/index.cjs79.js +1 -1
  52. package/dist/index.cjs79.js.map +1 -1
  53. package/dist/index.cjs80.js +1 -1
  54. package/dist/index.cjs80.js.map +1 -1
  55. package/dist/index.cjs81.js +1 -1
  56. package/dist/index.cjs81.js.map +1 -1
  57. package/dist/index.cjs82.js +1 -1
  58. package/dist/index.cjs82.js.map +1 -1
  59. package/dist/index.es14.js +4 -4
  60. package/dist/index.es16.js +5 -5
  61. package/dist/index.es2.js +23 -21
  62. package/dist/index.es2.js.map +1 -1
  63. package/dist/index.es21.js +6 -6
  64. package/dist/index.es31.js +1 -1
  65. package/dist/index.es36.js +6 -6
  66. package/dist/index.es37.js +815 -97
  67. package/dist/index.es37.js.map +1 -1
  68. package/dist/index.es38.js +10 -56
  69. package/dist/index.es38.js.map +1 -1
  70. package/dist/index.es39.js +10 -24
  71. package/dist/index.es39.js.map +1 -1
  72. package/dist/index.es40.js +10 -45
  73. package/dist/index.es40.js.map +1 -1
  74. package/dist/index.es41.js +99 -71
  75. package/dist/index.es41.js.map +1 -1
  76. package/dist/index.es42.js +52 -56
  77. package/dist/index.es42.js.map +1 -1
  78. package/dist/index.es43.js +19 -827
  79. package/dist/index.es43.js.map +1 -1
  80. package/dist/index.es44.js +45 -10
  81. package/dist/index.es44.js.map +1 -1
  82. package/dist/index.es45.js +86 -10
  83. package/dist/index.es45.js.map +1 -1
  84. package/dist/index.es46.js +60 -10
  85. package/dist/index.es46.js.map +1 -1
  86. package/dist/index.es47.js +2 -2
  87. package/dist/index.es55.js +5 -5
  88. package/dist/index.es56.js +1 -1
  89. package/dist/index.es57.js +6 -32
  90. package/dist/index.es57.js.map +1 -1
  91. package/dist/index.es59.js +64 -5
  92. package/dist/index.es59.js.map +1 -1
  93. package/dist/index.es60.js +27 -63
  94. package/dist/index.es60.js.map +1 -1
  95. package/dist/index.es61.js +5 -29
  96. package/dist/index.es61.js.map +1 -1
  97. package/dist/index.es62.js +24 -5
  98. package/dist/index.es62.js.map +1 -1
  99. package/dist/index.es63.js +32 -24
  100. package/dist/index.es63.js.map +1 -1
  101. package/dist/index.es65.js +1 -1
  102. package/dist/index.es67.js +3 -3
  103. package/dist/index.es69.js +1 -1
  104. package/dist/index.es71.js +6 -6
  105. package/dist/index.es72.js +1 -1
  106. package/dist/index.es75.js +1 -1
  107. package/dist/index.es78.js +11 -67
  108. package/dist/index.es78.js.map +1 -1
  109. package/dist/index.es79.js +203 -10
  110. package/dist/index.es79.js.map +1 -1
  111. package/dist/index.es80.js +20 -203
  112. package/dist/index.es80.js.map +1 -1
  113. package/dist/index.es81.js +392 -21
  114. package/dist/index.es81.js.map +1 -1
  115. package/dist/index.es82.js +61 -386
  116. package/dist/index.es82.js.map +1 -1
  117. package/dist/packages/builder/context.d.ts.map +1 -1
  118. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),u=require("./index.cjs57.js"),i=require("react/jsx-runtime");function l(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const d=l(s);var f="Arrow",n=d.forwardRef((e,t)=>{const{children:r,width:o=10,height:a=5,...c}=e;return i.jsx(u.Primitive.svg,{...c,ref:t,width:o,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:i.jsx("polygon",{points:"0,0 30,0 15,10"})})});n.displayName=f;var p=n;exports.Arrow=n;exports.Root=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index.cjs91.js"),d=require("./index.cjs92.js"),i=require("./index.cjs93.js");function B(t){const e=i.getComputedStyle(t);let o=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const s=i.isHTMLElement(t),l=s?t.offsetWidth:o,r=s?t.offsetHeight:n,c=d.round(o)!==l||d.round(n)!==r;return c&&(o=l,n=r),{width:o,height:n,$:c}}function N(t){return i.isElement(t)?t:t.contextElement}function L(t){const e=N(t);if(!i.isHTMLElement(e))return d.createCoords(1);const o=e.getBoundingClientRect(),{width:n,height:s,$:l}=B(e);let r=(l?d.round(o.width):o.width)/n,c=(l?d.round(o.height):o.height)/s;return(!r||!Number.isFinite(r))&&(r=1),(!c||!Number.isFinite(c))&&(c=1),{x:r,y:c}}const P=d.createCoords(0);function A(t){const e=i.getWindow(t);return!i.isWebKit()||!e.visualViewport?P:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function q(t,e,o){return e===void 0&&(e=!1),!o||e&&o!==i.getWindow(t)?!1:e}function T(t,e,o,n){e===void 0&&(e=!1),o===void 0&&(o=!1);const s=t.getBoundingClientRect(),l=N(t);let r=d.createCoords(1);e&&(n?i.isElement(n)&&(r=L(n)):r=L(t));const c=q(l,o,n)?A(l):d.createCoords(0);let f=(s.left+c.x)/r.x,u=(s.top+c.y)/r.y,a=s.width/r.x,g=s.height/r.y;if(l){const w=i.getWindow(l),h=n&&i.isElement(n)?i.getWindow(n):n;let v=w,p=i.getFrameElement(v);for(;p&&n&&h!==v;){const y=L(p),m=p.getBoundingClientRect(),x=i.getComputedStyle(p),C=m.left+(p.clientLeft+parseFloat(x.paddingLeft))*y.x,O=m.top+(p.clientTop+parseFloat(x.paddingTop))*y.y;f*=y.x,u*=y.y,a*=y.x,g*=y.y,f+=C,u+=O,v=i.getWindow(p),p=i.getFrameElement(v)}}return d.rectToClientRect({width:a,height:g,x:f,y:u})}function W(t,e){const o=i.getNodeScroll(t).scrollLeft;return e?e.left+o:T(i.getDocumentElement(t)).left+o}function M(t,e,o){o===void 0&&(o=!1);const n=t.getBoundingClientRect(),s=n.left+e.scrollLeft-(o?0:W(t,n)),l=n.top+e.scrollTop;return{x:s,y:l}}function U(t){let{elements:e,rect:o,offsetParent:n,strategy:s}=t;const l=s==="fixed",r=i.getDocumentElement(n),c=e?i.isTopLayer(e.floating):!1;if(n===r||c&&l)return o;let f={scrollLeft:0,scrollTop:0},u=d.createCoords(1);const a=d.createCoords(0),g=i.isHTMLElement(n);if((g||!g&&!l)&&((i.getNodeName(n)!=="body"||i.isOverflowElement(r))&&(f=i.getNodeScroll(n)),i.isHTMLElement(n))){const h=T(n);u=L(n),a.x=h.x+n.clientLeft,a.y=h.y+n.clientTop}const w=r&&!g&&!l?M(r,f,!0):d.createCoords(0);return{width:o.width*u.x,height:o.height*u.y,x:o.x*u.x-f.scrollLeft*u.x+a.x+w.x,y:o.y*u.y-f.scrollTop*u.y+a.y+w.y}}function k(t){return Array.from(t.getClientRects())}function K(t){const e=i.getDocumentElement(t),o=i.getNodeScroll(t),n=t.ownerDocument.body,s=d.max(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),l=d.max(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let r=-o.scrollLeft+W(t);const c=-o.scrollTop;return i.getComputedStyle(n).direction==="rtl"&&(r+=d.max(e.clientWidth,n.clientWidth)-s),{width:s,height:l,x:r,y:c}}function $(t,e){const o=i.getWindow(t),n=i.getDocumentElement(t),s=o.visualViewport;let l=n.clientWidth,r=n.clientHeight,c=0,f=0;if(s){l=s.width,r=s.height;const u=i.isWebKit();(!u||u&&e==="fixed")&&(c=s.offsetLeft,f=s.offsetTop)}return{width:l,height:r,x:c,y:f}}function j(t,e){const o=T(t,!0,e==="fixed"),n=o.top+t.clientTop,s=o.left+t.clientLeft,l=i.isHTMLElement(t)?L(t):d.createCoords(1),r=t.clientWidth*l.x,c=t.clientHeight*l.y,f=s*l.x,u=n*l.y;return{width:r,height:c,x:f,y:u}}function F(t,e,o){let n;if(e==="viewport")n=$(t,o);else if(e==="document")n=K(i.getDocumentElement(t));else if(i.isElement(e))n=j(e,o);else{const s=A(t);n={x:e.x-s.x,y:e.y-s.y,width:e.width,height:e.height}}return d.rectToClientRect(n)}function z(t,e){const o=i.getParentNode(t);return o===e||!i.isElement(o)||i.isLastTraversableNode(o)?!1:i.getComputedStyle(o).position==="fixed"||z(o,e)}function G(t,e){const o=e.get(t);if(o)return o;let n=i.getOverflowAncestors(t,[],!1).filter(c=>i.isElement(c)&&i.getNodeName(c)!=="body"),s=null;const l=i.getComputedStyle(t).position==="fixed";let r=l?i.getParentNode(t):t;for(;i.isElement(r)&&!i.isLastTraversableNode(r);){const c=i.getComputedStyle(r),f=i.isContainingBlock(r);!f&&c.position==="fixed"&&(s=null),(l?!f&&!s:!f&&c.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||i.isOverflowElement(r)&&!f&&z(t,r))?n=n.filter(a=>a!==r):s=c,r=i.getParentNode(r)}return e.set(t,n),n}function J(t){let{element:e,boundary:o,rootBoundary:n,strategy:s}=t;const r=[...o==="clippingAncestors"?i.isTopLayer(e)?[]:G(e,this._c):[].concat(o),n],c=r[0],f=r.reduce((u,a)=>{const g=F(e,a,s);return u.top=d.max(g.top,u.top),u.right=d.min(g.right,u.right),u.bottom=d.min(g.bottom,u.bottom),u.left=d.max(g.left,u.left),u},F(e,c,s));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Q(t){const{width:e,height:o}=B(t);return{width:e,height:o}}function Y(t,e,o){const n=i.isHTMLElement(e),s=i.getDocumentElement(e),l=o==="fixed",r=T(t,!0,l,e);let c={scrollLeft:0,scrollTop:0};const f=d.createCoords(0);if(n||!n&&!l)if((i.getNodeName(e)!=="body"||i.isOverflowElement(s))&&(c=i.getNodeScroll(e)),n){const w=T(e,!0,l,e);f.x=w.x+e.clientLeft,f.y=w.y+e.clientTop}else s&&(f.x=W(s));const u=s&&!n&&!l?M(s,c):d.createCoords(0),a=r.left+c.scrollLeft-f.x-u.x,g=r.top+c.scrollTop-f.y-u.y;return{x:a,y:g,width:r.width,height:r.height}}function b(t){return i.getComputedStyle(t).position==="static"}function H(t,e){if(!i.isHTMLElement(t)||i.getComputedStyle(t).position==="fixed")return null;if(e)return e(t);let o=t.offsetParent;return i.getDocumentElement(t)===o&&(o=o.ownerDocument.body),o}function I(t,e){const o=i.getWindow(t);if(i.isTopLayer(t))return o;if(!i.isHTMLElement(t)){let s=i.getParentNode(t);for(;s&&!i.isLastTraversableNode(s);){if(i.isElement(s)&&!b(s))return s;s=i.getParentNode(s)}return o}let n=H(t,e);for(;n&&i.isTableElement(n)&&b(n);)n=H(n,e);return n&&i.isLastTraversableNode(n)&&b(n)&&!i.isContainingBlock(n)?o:n||i.getContainingBlock(t)||o}const Z=async function(t){const e=this.getOffsetParent||I,o=this.getDimensions,n=await o(t.floating);return{reference:Y(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function X(t){return i.getComputedStyle(t).direction==="rtl"}const V={convertOffsetParentRelativeRectToViewportRelativeRect:U,getDocumentElement:i.getDocumentElement,getClippingRect:J,getOffsetParent:I,getElementRects:Z,getClientRects:k,getDimensions:Q,getScale:L,isElement:i.isElement,isRTL:X};function _(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function tt(t,e){let o=null,n;const s=i.getDocumentElement(t);function l(){var c;clearTimeout(n),(c=o)==null||c.disconnect(),o=null}function r(c,f){c===void 0&&(c=!1),f===void 0&&(f=1),l();const u=t.getBoundingClientRect(),{left:a,top:g,width:w,height:h}=u;if(c||e(),!w||!h)return;const v=d.floor(g),p=d.floor(s.clientWidth-(a+w)),y=d.floor(s.clientHeight-(g+h)),m=d.floor(a),C={rootMargin:-v+"px "+-p+"px "+-y+"px "+-m+"px",threshold:d.max(0,d.min(1,f))||1};let O=!0;function D(S){const R=S[0].intersectionRatio;if(R!==f){if(!O)return r();R?r(!1,R):n=setTimeout(()=>{r(!1,1e-7)},1e3)}R===1&&!_(u,t.getBoundingClientRect())&&r(),O=!1}try{o=new IntersectionObserver(D,{...C,root:s.ownerDocument})}catch{o=new IntersectionObserver(D,C)}o.observe(t)}return r(!0),l}function et(t,e,o,n){n===void 0&&(n={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,u=N(t),a=s||l?[...u?i.getOverflowAncestors(u):[],...i.getOverflowAncestors(e)]:[];a.forEach(m=>{s&&m.addEventListener("scroll",o,{passive:!0}),l&&m.addEventListener("resize",o)});const g=u&&c?tt(u,o):null;let w=-1,h=null;r&&(h=new ResizeObserver(m=>{let[x]=m;x&&x.target===u&&h&&(h.unobserve(e),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var C;(C=h)==null||C.observe(e)})),o()}),u&&!f&&h.observe(u),h.observe(e));let v,p=f?T(t):null;f&&y();function y(){const m=T(t);p&&!_(p,m)&&o(),p=m,v=requestAnimationFrame(y)}return o(),()=>{var m;a.forEach(x=>{s&&x.removeEventListener("scroll",o),l&&x.removeEventListener("resize",o)}),g?.(),(m=h)==null||m.disconnect(),h=null,f&&cancelAnimationFrame(v)}}const ot=E.offset,nt=E.shift,it=E.flip,st=E.size,rt=E.hide,lt=E.arrow,ct=E.limitShift,ft=(t,e,o)=>{const n=new Map,s={platform:V,...o},l={...s.platform,_c:n};return E.computePosition(t,e,{...s,platform:l})};exports.getOverflowAncestors=i.getOverflowAncestors;exports.arrow=lt;exports.autoUpdate=et;exports.computePosition=ft;exports.flip=it;exports.hide=rt;exports.limitShift=ct;exports.offset=ot;exports.platform=V;exports.shift=nt;exports.size=st;
2
2
  //# sourceMappingURL=index.cjs81.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs81.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.2_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react@_6451095dc1f245ec0bdc7b8b1b7b3cde/node_modules/@radix-ui/react-arrow/dist/index.mjs"],"sourcesContent":["// packages/react/arrow/src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["NAME","Arrow","React","props","forwardedRef","children","width","height","arrowProps","jsx","Primitive","Root"],"mappings":"gcAIA,IAAIA,EAAO,QACPC,EAAQC,EAAM,WAAW,CAACC,EAAOC,IAAiB,CACpD,KAAM,CAAE,SAAAC,EAAU,MAAAC,EAAQ,GAAI,OAAAC,EAAS,EAAG,GAAGC,CAAU,EAAKL,EAC5D,OAAuBM,EAAG,IACxBC,EAAAA,UAAU,IACV,CACE,GAAGF,EACH,IAAKJ,EACL,MAAAE,EACA,OAAAC,EACA,QAAS,YACT,oBAAqB,OACrB,SAAUJ,EAAM,QAAUE,EAA2BI,EAAG,IAAC,UAAW,CAAE,OAAQ,gBAAkB,CAAA,CACtG,CACG,CACH,CAAC,EACDR,EAAM,YAAcD,EACjB,IAACW,EAAOV","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs81.js","sources":["../../../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n"],"names":["getCssDimensions","element","css","getComputedStyle","width","height","hasOffset","isHTMLElement","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","isElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","win","getWindow","isWebKit","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","getFrameElement","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getNodeScroll","getDocumentElement","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","elements","strategy","topLayer","isTopLayer","offsets","isOffsetParentAnElement","getNodeName","isOverflowElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","parentNode","getParentNode","isLastTraversableNode","getClippingElementAncestors","cache","cachedResult","result","getOverflowAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","isContainingBlock","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstClippingAncestor","clippingRect","accRect","min","getDimensions","getRectRelativeToOffsetParent","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","isTableElement","getContainingBlock","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","size","size$1","hide","hide$1","arrow","arrow$1","limitShift","limitShift$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./index.cjs91.js"),d=require("./index.cjs92.js"),i=require("./index.cjs93.js");function B(t){const e=i.getComputedStyle(t);let o=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const s=i.isHTMLElement(t),l=s?t.offsetWidth:o,r=s?t.offsetHeight:n,c=d.round(o)!==l||d.round(n)!==r;return c&&(o=l,n=r),{width:o,height:n,$:c}}function N(t){return i.isElement(t)?t:t.contextElement}function L(t){const e=N(t);if(!i.isHTMLElement(e))return d.createCoords(1);const o=e.getBoundingClientRect(),{width:n,height:s,$:l}=B(e);let r=(l?d.round(o.width):o.width)/n,c=(l?d.round(o.height):o.height)/s;return(!r||!Number.isFinite(r))&&(r=1),(!c||!Number.isFinite(c))&&(c=1),{x:r,y:c}}const P=d.createCoords(0);function A(t){const e=i.getWindow(t);return!i.isWebKit()||!e.visualViewport?P:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function q(t,e,o){return e===void 0&&(e=!1),!o||e&&o!==i.getWindow(t)?!1:e}function T(t,e,o,n){e===void 0&&(e=!1),o===void 0&&(o=!1);const s=t.getBoundingClientRect(),l=N(t);let r=d.createCoords(1);e&&(n?i.isElement(n)&&(r=L(n)):r=L(t));const c=q(l,o,n)?A(l):d.createCoords(0);let f=(s.left+c.x)/r.x,u=(s.top+c.y)/r.y,a=s.width/r.x,g=s.height/r.y;if(l){const w=i.getWindow(l),h=n&&i.isElement(n)?i.getWindow(n):n;let v=w,p=i.getFrameElement(v);for(;p&&n&&h!==v;){const y=L(p),m=p.getBoundingClientRect(),x=i.getComputedStyle(p),C=m.left+(p.clientLeft+parseFloat(x.paddingLeft))*y.x,O=m.top+(p.clientTop+parseFloat(x.paddingTop))*y.y;f*=y.x,u*=y.y,a*=y.x,g*=y.y,f+=C,u+=O,v=i.getWindow(p),p=i.getFrameElement(v)}}return d.rectToClientRect({width:a,height:g,x:f,y:u})}function W(t,e){const o=i.getNodeScroll(t).scrollLeft;return e?e.left+o:T(i.getDocumentElement(t)).left+o}function M(t,e,o){o===void 0&&(o=!1);const n=t.getBoundingClientRect(),s=n.left+e.scrollLeft-(o?0:W(t,n)),l=n.top+e.scrollTop;return{x:s,y:l}}function U(t){let{elements:e,rect:o,offsetParent:n,strategy:s}=t;const l=s==="fixed",r=i.getDocumentElement(n),c=e?i.isTopLayer(e.floating):!1;if(n===r||c&&l)return o;let f={scrollLeft:0,scrollTop:0},u=d.createCoords(1);const a=d.createCoords(0),g=i.isHTMLElement(n);if((g||!g&&!l)&&((i.getNodeName(n)!=="body"||i.isOverflowElement(r))&&(f=i.getNodeScroll(n)),i.isHTMLElement(n))){const h=T(n);u=L(n),a.x=h.x+n.clientLeft,a.y=h.y+n.clientTop}const w=r&&!g&&!l?M(r,f,!0):d.createCoords(0);return{width:o.width*u.x,height:o.height*u.y,x:o.x*u.x-f.scrollLeft*u.x+a.x+w.x,y:o.y*u.y-f.scrollTop*u.y+a.y+w.y}}function k(t){return Array.from(t.getClientRects())}function K(t){const e=i.getDocumentElement(t),o=i.getNodeScroll(t),n=t.ownerDocument.body,s=d.max(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),l=d.max(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let r=-o.scrollLeft+W(t);const c=-o.scrollTop;return i.getComputedStyle(n).direction==="rtl"&&(r+=d.max(e.clientWidth,n.clientWidth)-s),{width:s,height:l,x:r,y:c}}function $(t,e){const o=i.getWindow(t),n=i.getDocumentElement(t),s=o.visualViewport;let l=n.clientWidth,r=n.clientHeight,c=0,f=0;if(s){l=s.width,r=s.height;const u=i.isWebKit();(!u||u&&e==="fixed")&&(c=s.offsetLeft,f=s.offsetTop)}return{width:l,height:r,x:c,y:f}}function j(t,e){const o=T(t,!0,e==="fixed"),n=o.top+t.clientTop,s=o.left+t.clientLeft,l=i.isHTMLElement(t)?L(t):d.createCoords(1),r=t.clientWidth*l.x,c=t.clientHeight*l.y,f=s*l.x,u=n*l.y;return{width:r,height:c,x:f,y:u}}function F(t,e,o){let n;if(e==="viewport")n=$(t,o);else if(e==="document")n=K(i.getDocumentElement(t));else if(i.isElement(e))n=j(e,o);else{const s=A(t);n={x:e.x-s.x,y:e.y-s.y,width:e.width,height:e.height}}return d.rectToClientRect(n)}function z(t,e){const o=i.getParentNode(t);return o===e||!i.isElement(o)||i.isLastTraversableNode(o)?!1:i.getComputedStyle(o).position==="fixed"||z(o,e)}function G(t,e){const o=e.get(t);if(o)return o;let n=i.getOverflowAncestors(t,[],!1).filter(c=>i.isElement(c)&&i.getNodeName(c)!=="body"),s=null;const l=i.getComputedStyle(t).position==="fixed";let r=l?i.getParentNode(t):t;for(;i.isElement(r)&&!i.isLastTraversableNode(r);){const c=i.getComputedStyle(r),f=i.isContainingBlock(r);!f&&c.position==="fixed"&&(s=null),(l?!f&&!s:!f&&c.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||i.isOverflowElement(r)&&!f&&z(t,r))?n=n.filter(a=>a!==r):s=c,r=i.getParentNode(r)}return e.set(t,n),n}function J(t){let{element:e,boundary:o,rootBoundary:n,strategy:s}=t;const r=[...o==="clippingAncestors"?i.isTopLayer(e)?[]:G(e,this._c):[].concat(o),n],c=r[0],f=r.reduce((u,a)=>{const g=F(e,a,s);return u.top=d.max(g.top,u.top),u.right=d.min(g.right,u.right),u.bottom=d.min(g.bottom,u.bottom),u.left=d.max(g.left,u.left),u},F(e,c,s));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Q(t){const{width:e,height:o}=B(t);return{width:e,height:o}}function Y(t,e,o){const n=i.isHTMLElement(e),s=i.getDocumentElement(e),l=o==="fixed",r=T(t,!0,l,e);let c={scrollLeft:0,scrollTop:0};const f=d.createCoords(0);if(n||!n&&!l)if((i.getNodeName(e)!=="body"||i.isOverflowElement(s))&&(c=i.getNodeScroll(e)),n){const w=T(e,!0,l,e);f.x=w.x+e.clientLeft,f.y=w.y+e.clientTop}else s&&(f.x=W(s));const u=s&&!n&&!l?M(s,c):d.createCoords(0),a=r.left+c.scrollLeft-f.x-u.x,g=r.top+c.scrollTop-f.y-u.y;return{x:a,y:g,width:r.width,height:r.height}}function b(t){return i.getComputedStyle(t).position==="static"}function H(t,e){if(!i.isHTMLElement(t)||i.getComputedStyle(t).position==="fixed")return null;if(e)return e(t);let o=t.offsetParent;return i.getDocumentElement(t)===o&&(o=o.ownerDocument.body),o}function I(t,e){const o=i.getWindow(t);if(i.isTopLayer(t))return o;if(!i.isHTMLElement(t)){let s=i.getParentNode(t);for(;s&&!i.isLastTraversableNode(s);){if(i.isElement(s)&&!b(s))return s;s=i.getParentNode(s)}return o}let n=H(t,e);for(;n&&i.isTableElement(n)&&b(n);)n=H(n,e);return n&&i.isLastTraversableNode(n)&&b(n)&&!i.isContainingBlock(n)?o:n||i.getContainingBlock(t)||o}const Z=async function(t){const e=this.getOffsetParent||I,o=this.getDimensions,n=await o(t.floating);return{reference:Y(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function X(t){return i.getComputedStyle(t).direction==="rtl"}const V={convertOffsetParentRelativeRectToViewportRelativeRect:U,getDocumentElement:i.getDocumentElement,getClippingRect:J,getOffsetParent:I,getElementRects:Z,getClientRects:k,getDimensions:Q,getScale:L,isElement:i.isElement,isRTL:X};function _(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function tt(t,e){let o=null,n;const s=i.getDocumentElement(t);function l(){var c;clearTimeout(n),(c=o)==null||c.disconnect(),o=null}function r(c,f){c===void 0&&(c=!1),f===void 0&&(f=1),l();const u=t.getBoundingClientRect(),{left:a,top:g,width:w,height:h}=u;if(c||e(),!w||!h)return;const v=d.floor(g),p=d.floor(s.clientWidth-(a+w)),y=d.floor(s.clientHeight-(g+h)),m=d.floor(a),C={rootMargin:-v+"px "+-p+"px "+-y+"px "+-m+"px",threshold:d.max(0,d.min(1,f))||1};let O=!0;function D(S){const R=S[0].intersectionRatio;if(R!==f){if(!O)return r();R?r(!1,R):n=setTimeout(()=>{r(!1,1e-7)},1e3)}R===1&&!_(u,t.getBoundingClientRect())&&r(),O=!1}try{o=new IntersectionObserver(D,{...C,root:s.ownerDocument})}catch{o=new IntersectionObserver(D,C)}o.observe(t)}return r(!0),l}function et(t,e,o,n){n===void 0&&(n={});const{ancestorScroll:s=!0,ancestorResize:l=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,u=N(t),a=s||l?[...u?i.getOverflowAncestors(u):[],...i.getOverflowAncestors(e)]:[];a.forEach(m=>{s&&m.addEventListener("scroll",o,{passive:!0}),l&&m.addEventListener("resize",o)});const g=u&&c?tt(u,o):null;let w=-1,h=null;r&&(h=new ResizeObserver(m=>{let[x]=m;x&&x.target===u&&h&&(h.unobserve(e),cancelAnimationFrame(w),w=requestAnimationFrame(()=>{var C;(C=h)==null||C.observe(e)})),o()}),u&&!f&&h.observe(u),h.observe(e));let v,p=f?T(t):null;f&&y();function y(){const m=T(t);p&&!_(p,m)&&o(),p=m,v=requestAnimationFrame(y)}return o(),()=>{var m;a.forEach(x=>{s&&x.removeEventListener("scroll",o),l&&x.removeEventListener("resize",o)}),g?.(),(m=h)==null||m.disconnect(),h=null,f&&cancelAnimationFrame(v)}}const ot=E.offset,nt=E.shift,it=E.flip,st=E.size,rt=E.hide,lt=E.arrow,ct=E.limitShift,ft=(t,e,o)=>{const n=new Map,s={platform:V,...o},l={...s.platform,_c:n};return E.computePosition(t,e,{...s,platform:l})};exports.getOverflowAncestors=i.getOverflowAncestors;exports.arrow=lt;exports.autoUpdate=et;exports.computePosition=ft;exports.flip=it;exports.hide=rt;exports.limitShift=ct;exports.offset=ot;exports.platform=V;exports.shift=nt;exports.size=st;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("react"),P=require("./index.cjs58.js"),g=require("./index.cjs74.js");function E(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const i=E(T);function R(n,e){return i.useReducer((t,r)=>e[t][r]??t,n)}var O=n=>{const{present:e,children:t}=n,r=v(e),a=typeof t=="function"?t({present:r.isPresent}):i.Children.only(t),u=P.useComposedRefs(r.ref,S(a));return typeof t=="function"||r.isPresent?i.cloneElement(a,{ref:u}):null};O.displayName="Presence";function v(n){const[e,t]=i.useState(),r=i.useRef({}),a=i.useRef(n),u=i.useRef("none"),p=n?"mounted":"unmounted",[N,s]=R(p,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect(()=>{const o=l(r.current);u.current=N==="mounted"?o:"none"},[N]),g.useLayoutEffect(()=>{const o=r.current,d=a.current;if(d!==n){const f=u.current,c=l(o);n?s("MOUNT"):c==="none"||o?.display==="none"?s("UNMOUNT"):s(d&&f!==c?"ANIMATION_OUT":"UNMOUNT"),a.current=n}},[n,s]),g.useLayoutEffect(()=>{if(e){let o;const d=e.ownerDocument.defaultView??window,m=c=>{const A=l(r.current).includes(c.animationName);if(c.target===e&&A&&(s("ANIMATION_END"),!a.current)){const M=e.style.animationFillMode;e.style.animationFillMode="forwards",o=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=M)})}},f=c=>{c.target===e&&(u.current=l(r.current))};return e.addEventListener("animationstart",f),e.addEventListener("animationcancel",m),e.addEventListener("animationend",m),()=>{d.clearTimeout(o),e.removeEventListener("animationstart",f),e.removeEventListener("animationcancel",m),e.removeEventListener("animationend",m)}}else s("ANIMATION_END")},[e,s]),{isPresent:["mounted","unmountSuspended"].includes(N),ref:i.useCallback(o=>{o&&(r.current=getComputedStyle(o)),t(o)},[])}}function l(n){return n?.animationName||"none"}function S(n){let e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}exports.Presence=O;
2
2
  //# sourceMappingURL=index.cjs82.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs82.js","sources":["../../../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"],"sourcesContent":["import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n"],"names":["getCssDimensions","element","css","getComputedStyle","width","height","hasOffset","isHTMLElement","offsetWidth","offsetHeight","shouldFallback","round","unwrapElement","isElement","getScale","domElement","createCoords","rect","$","x","y","noOffsets","getVisualOffsets","win","getWindow","isWebKit","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","getFrameElement","iframeScale","iframeRect","left","top","rectToClientRect","getWindowScrollBarX","leftScroll","getNodeScroll","getDocumentElement","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","_ref","elements","strategy","topLayer","isTopLayer","offsets","isOffsetParentAnElement","getNodeName","isOverflowElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","max","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","parentNode","getParentNode","isLastTraversableNode","getClippingElementAncestors","cache","cachedResult","result","getOverflowAncestors","el","currentContainingBlockComputedStyle","elementIsFixed","currentNode","computedStyle","currentNodeIsContaining","isContainingBlock","ancestor","getClippingRect","boundary","rootBoundary","clippingAncestors","firstClippingAncestor","clippingRect","accRect","min","getDimensions","getRectRelativeToOffsetParent","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","isTableElement","getContainingBlock","getElementRects","data","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","a","b","observeMove","onMove","io","timeoutId","root","cleanup","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","floor","insetRight","insetBottom","insetLeft","options","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","reference","floating","update","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","offset$1","shift","shift$1","flip","flip$1","size","size$1","hide","hide$1","arrow","arrow$1","limitShift","limitShift$1","computePosition","mergedOptions","platformWithCache","computePosition$1"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.cjs82.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@18.3.5_@types+react@18.3.18__@types+rea_f6427c6d64d2d542f3fe67e5d488b7cd/node_modules/@radix-ui/react-presence/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["useStateMachine","initialState","machine","React","state","event","Presence","props","present","children","presence","usePresence","child","React2","ref","useComposedRefs","getElementRef","node","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","element","getter","mayWarn"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,9 +1,9 @@
1
1
  import { jsx as e, jsxs as o } from "react/jsx-runtime";
2
- import { Root as i, Trigger as d, Icon as c, Value as u, Portal as m, Content as p, Viewport as f, Item as g, ItemIndicator as v, ItemText as h, ScrollUpButton as x, ScrollDownButton as b } from "./index.es43.js";
2
+ import { Root as i, Trigger as d, Icon as c, Value as u, Portal as m, Content as p, Viewport as f, Item as g, ItemIndicator as v, ItemText as h, ScrollUpButton as x, ScrollDownButton as b } from "./index.es37.js";
3
3
  import { cn as r } from "./index.es22.js";
4
- import n from "./index.es44.js";
5
- import w from "./index.es45.js";
6
- import y from "./index.es46.js";
4
+ import n from "./index.es38.js";
5
+ import w from "./index.es39.js";
6
+ import y from "./index.es40.js";
7
7
  function B({
8
8
  ...t
9
9
  }) {
@@ -1,16 +1,16 @@
1
1
  import { jsx as s, jsxs as u } from "react/jsx-runtime";
2
2
  import { useMemo as R, useEffect as V } from "react";
3
3
  import { Button as A } from "./index.es11.js";
4
- import { Dialog as $, DialogContent as N, DialogHeader as j, DialogTitle as w, DialogDescription as E, DialogFooter as I } from "./index.es37.js";
4
+ import { Dialog as $, DialogContent as N, DialogHeader as j, DialogTitle as w, DialogDescription as E, DialogFooter as I } from "./index.es41.js";
5
5
  import { Label as L } from "./index.es15.js";
6
6
  import { a as d } from "./index.es10.js";
7
7
  import { useConstraints as _ } from "./index.es4.js";
8
- import k from "./index.es38.js";
9
- import { Separator as z } from "./index.es39.js";
8
+ import k from "./index.es42.js";
9
+ import { Separator as z } from "./index.es43.js";
10
10
  import { AddFormSchema as B } from "./index.es21.js";
11
11
  import { useForm as H } from "react-hook-form";
12
- import { zodResolver as M } from "./index.es40.js";
13
- import { Form as O } from "./index.es41.js";
12
+ import { zodResolver as M } from "./index.es44.js";
13
+ import { Form as O } from "./index.es45.js";
14
14
  const P = B.pick({
15
15
  constraints: !0,
16
16
  property: !0
package/dist/index.es2.js CHANGED
@@ -1,8 +1,8 @@
1
- import { jsx as x } from "react/jsx-runtime";
2
- import { createContext as v, useState as y, useContext as C } from "react";
3
- import { a as R } from "./index.es9.js";
1
+ import { jsx as v } from "react/jsx-runtime";
2
+ import { createContext as x, useState as y, useContext as C } from "react";
3
+ import { a as O } from "./index.es9.js";
4
4
  import { a as m } from "./index.es10.js";
5
- const q = v(void 0), A = {
5
+ const q = x(void 0), R = {
6
6
  $schema: "http://json-schema.org/draft-07/schema#",
7
7
  type: "object",
8
8
  title: "title",
@@ -10,22 +10,22 @@ const q = v(void 0), A = {
10
10
  properties: {},
11
11
  required: []
12
12
  };
13
- function V({
14
- children: p,
13
+ function A({
14
+ children: c,
15
15
  initialSchema: f
16
16
  }) {
17
- const [c, n] = y(
18
- f ?? A
17
+ const [p, n] = y(
18
+ f ?? R
19
19
  ), [u, l] = y([]);
20
- return /* @__PURE__ */ x(q.Provider, { value: { schema: c, setSchema: n, path: u, setPath: l }, children: p });
20
+ return /* @__PURE__ */ v(q.Provider, { value: { schema: p, setSchema: n, path: u, setPath: l }, children: c });
21
21
  }
22
22
  function K({
23
- onSchemaChange: p
23
+ onSchemaChange: c
24
24
  } = {}) {
25
25
  const f = C(q);
26
26
  if (f === void 0)
27
27
  throw new Error("useSchema must be used within a SchemaProvider");
28
- const { path: c, schema: n, setSchema: u } = f, l = (t, e) => {
28
+ const { path: p, schema: n, setSchema: u } = f, l = (t, e) => {
29
29
  let r = t, i = null, o = null;
30
30
  for (const s of e)
31
31
  r.type === "array" && r.items && !Array.isArray(r.items) && typeof r.items == "object" && r.items.type === "object" && typeof r.items.properties?.[s] == "object" ? (o = r.items, i = r.items.properties[s], r = r.items) : r.type === "object" && r.properties && !Array.isArray(r.properties) && typeof r.properties[s] == "object" && (o = r, i = r.properties[s], r = r.properties[s]);
@@ -33,11 +33,11 @@ function K({
33
33
  }, a = (t) => {
34
34
  const { propertySchema: e } = l(
35
35
  t ?? n,
36
- c
36
+ p
37
37
  );
38
38
  return e ? e.type === "array" ? e.items : e : t ?? n;
39
39
  }, b = () => {
40
- const { propertySchema: t } = l(n, c);
40
+ const { propertySchema: t } = l(n, p);
41
41
  return t;
42
42
  }, j = (t, e) => {
43
43
  const r = m(n), i = a(r);
@@ -51,7 +51,7 @@ function K({
51
51
  }
52
52
  i.required?.includes(t) && (i.required = i.required.map(
53
53
  (o) => o === t ? e : o
54
- )), u(r), p?.(r);
54
+ )), u(r), c?.(r);
55
55
  }, P = (t, e) => {
56
56
  const r = m(n), i = a(r);
57
57
  typeof e == "object" && "isRequired" in e && (i.type === "object" && (i.required || (i.required = []), e.isRequired ? i.required.includes(t) || i.required.push(t) : i.required = i.required.filter((s) => s !== t)), delete e.isRequired);
@@ -69,7 +69,7 @@ function K({
69
69
  ...e
70
70
  }) : e = { ...s, ...e }, i.properties[t] = e), o = !0;
71
71
  }
72
- if (u(r), p?.(r), o)
72
+ if (u(r), c?.(r), o)
73
73
  return { status: "success", property: i.properties[t] };
74
74
  }, d = (t, e, r) => {
75
75
  const i = m(n), o = a(i);
@@ -77,22 +77,24 @@ function K({
77
77
  status: "error",
78
78
  code: "key-exists",
79
79
  message: `Property with key ${t} already exists`
80
- } : (e.enum && (delete e.type, delete e.items, delete e.properties), o.properties[t] = e, r && (o.required || (o.required = []), o.required.includes(t) || o.required.push(t)), u(i), p?.(i), {
80
+ } : (e.enum && (delete e.type, delete e.items, delete e.properties), e = Object.fromEntries(
81
+ Object.entries(e).filter(([, s]) => s !== void 0)
82
+ ), o.properties[t] = e, r && (o.required || (o.required = []), o.required.includes(t) || o.required.push(t)), u(i), c?.(i), {
81
83
  status: "success",
82
84
  property: o.properties[t]
83
85
  });
84
86
  }, S = (t) => {
85
87
  const e = m(n), r = a(e);
86
- r.type === "object" && r.required && (r.required = r.required.filter((i) => i !== t)), r.type === "object" && r.properties && delete r.properties[t], u(e), p?.(e);
88
+ r.type === "object" && r.required && (r.required = r.required.filter((i) => i !== t)), r.type === "object" && r.properties && delete r.properties[t], u(e), c?.(e);
87
89
  }, w = (t) => {
88
90
  const e = a().properties;
89
- if (!e || R(e) || typeof e[t] == "boolean")
91
+ if (!e || O(e) || typeof e[t] == "boolean")
90
92
  return;
91
93
  const r = e[t], i = `${t}_copy`, o = m(r);
92
94
  return d(i, o, h(t));
93
95
  }, h = (t) => {
94
- if (c.length) {
95
- const { propertySchema: e } = l(n, c);
96
+ if (p.length) {
97
+ const { propertySchema: e } = l(n, p);
96
98
  return e?.type === "array" && e.items && typeof e.items != "boolean" && !Array.isArray(e.items) && e.items?.type === "object" ? !!e.items?.required?.includes(t) : !!e?.required?.includes(t);
97
99
  }
98
100
  return !!n?.required?.includes(t);
@@ -113,7 +115,7 @@ function K({
113
115
  }
114
116
  export {
115
117
  q as SchemaContext,
116
- V as SchemaProvider,
118
+ A as SchemaProvider,
117
119
  K as useSchema
118
120
  };
119
121
  //# sourceMappingURL=index.es2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es2.js","sources":["../src/packages/builder/context.tsx"],"sourcesContent":["import { createContext, useContext, useState } from \"react\";\n\nimport type { PropsWithChildren, SetStateAction } from \"react\";\nimport type { JSONSchema7, JSONSchema7Definition } from \"json-schema\";\nimport { clone, isEmpty } from \"remeda\";\nimport type { OperationError } from \"./shared-types\";\n\ninterface ContextState<T extends JSONSchema7> {\n schema: T;\n setSchema: React.Dispatch<T>;\n path: string[];\n setPath: React.Dispatch<SetStateAction<string[]>>;\n}\n\nexport const SchemaContext = createContext<\n ContextState<JSONSchema7> | undefined\n>(undefined);\n\nconst defaultSchema: JSONSchema7 = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n type: \"object\",\n title: \"title\",\n description: \"\",\n properties: {},\n required: [],\n};\n\nfunction SchemaProvider({\n children,\n initialSchema,\n}: PropsWithChildren<{ initialSchema?: JSONSchema7 }>) {\n const [schema, setSchema] = useState<JSONSchema7>(\n initialSchema ?? defaultSchema,\n );\n\n /**\n * Path represents the path to a nested property in the schema.\n * It should only contain property keys.\n * An empty path means the current schema is the root schema since\n * the path only represents nested properties.\n */\n const [path, setPath] = useState<string[]>([]);\n\n // NOTE: you *might* need to memoize your values\n // Learn more in http://kcd.im/optimize-context\n\n return (\n <SchemaContext.Provider value={{ schema, setSchema, path, setPath }}>\n {children}\n </SchemaContext.Provider>\n );\n}\n\nexport type PropertyAddError = OperationError & {\n status: \"error\";\n};\n\nexport interface PropertyAddSuccess {\n status: \"success\";\n property: JSONSchema7;\n}\n\nexport interface PropertyChangeSuccess {\n status: \"success\";\n property: JSONSchema7Definition;\n}\n\nfunction useSchema({\n onSchemaChange,\n}: {\n onSchemaChange?: (schema: JSONSchema7) => void;\n} = {}) {\n const context = useContext(SchemaContext);\n\n if (context === undefined) {\n throw new Error(\"useSchema must be used within a SchemaProvider\");\n }\n\n const { path, schema, setSchema } = context;\n\n /**\n * Navigates to the correct property schema of the latest key in the provided path.\n *\n * It will traverse both \"properties\" and \"items\" to find the correct property schema.\n *\n * It will only return a property schema if the provided path is valid i.e. it\n * correctly follows the schema's nesting structure.\n *\n * It will only return a parent schema if the provided path is valid i.e. it\n * correctly follows the schema's nesting structure.\n */\n const navigateToCorrectNesting = (\n providedSchema: JSONSchema7,\n providedPath: string[],\n ) => {\n let current = providedSchema;\n let propertySchema: JSONSchema7 | null = null;\n // Should be the schema of type \"object\" containing the property in its properties key\n let parentSchema: JSONSchema7 | null = null;\n\n for (const p of providedPath) {\n if (\n current.type === \"array\" &&\n current.items &&\n !Array.isArray(current.items) &&\n typeof current.items === \"object\" &&\n current.items.type === \"object\" &&\n typeof current.items.properties?.[p] === \"object\"\n ) {\n parentSchema = current.items;\n propertySchema = current.items.properties[p];\n current = current.items;\n } else if (\n current.type === \"object\" &&\n current.properties &&\n !Array.isArray(current.properties) &&\n typeof current.properties[p] === \"object\"\n ) {\n parentSchema = current;\n propertySchema = current.properties[p];\n current = current.properties[p];\n }\n }\n\n return { propertySchema, parentSchema };\n };\n\n /**\n * Gets the current schema of the latest key in the path.\n * If path is empty, it will return the root schema.\n *\n * It should always return the \"object\" schema of the current path.\n */\n const getCurrentSchema = (initialSchema?: JSONSchema7) => {\n // Gets the correct object schema if under nesting\n // Otherwise, return the root schema\n const { propertySchema } = navigateToCorrectNesting(\n initialSchema ?? schema,\n path,\n );\n\n if (propertySchema) {\n if (propertySchema.type === \"array\") {\n return propertySchema.items as JSONSchema7;\n }\n\n return propertySchema;\n }\n\n return initialSchema ?? schema;\n };\n\n /**\n * Gets the correct property schema of the latest key in the path.\n * If no path is provided, it will return null.\n */\n const getCurrentProperty = () => {\n const { propertySchema } = navigateToCorrectNesting(schema, path);\n\n return propertySchema;\n };\n\n /**\n * Change the key of a property in the schema. It expects\n * the find the key at the current path.\n */\n const handleKeyChange = (key: string, newKey: string) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to change\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n if (current.properties?.[key]) {\n //Important: maintain order as to not confuse users\n const newProperties = Object.entries(current.properties).map(\n ([k, val]) => {\n return [k === key ? newKey : k, val];\n },\n );\n\n current.properties = Object.fromEntries(\n newProperties,\n ) as JSONSchema7[\"properties\"];\n }\n\n if (current.required?.includes(key)) {\n current.required = current.required.map((item) =>\n item === key ? newKey : item,\n );\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n };\n\n const handlePropertyChange = (\n key: string,\n updates: Partial<JSONSchema7Definition> & { isRequired?: boolean },\n ): PropertyChangeSuccess | undefined => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to change\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Handle required field updates\n if (typeof updates === \"object\" && \"isRequired\" in updates) {\n if (current.type === \"object\") {\n if (!current.required) {\n current.required = [];\n }\n if (updates.isRequired) {\n if (!current.required.includes(key)) {\n current.required.push(key);\n }\n } else {\n current.required = current.required.filter((item) => item !== key);\n }\n }\n delete updates.isRequired;\n }\n\n let isUpdated = false;\n\n // Update the property\n if (current.type === \"object\" && current.properties) {\n const originalProperty = current.properties[key];\n // Ensure the property exists and is not a boolean\n if (typeof originalProperty !== \"boolean\" && originalProperty) {\n if (typeof updates !== \"boolean\") {\n //if updates changes the type of the property,\n //only the title, description, and default properties should remain\n //from the original property\n if (updates.type && updates.type !== originalProperty.type) {\n updates = {\n title: originalProperty.title,\n description: originalProperty.description,\n default: originalProperty.default,\n ...updates,\n };\n } else if (updates.enum) {\n //if the property is an enum, only the title and description should remain\n //from the original property\n delete updates.type;\n delete updates.items;\n delete updates.properties;\n updates = {\n title: originalProperty.title,\n description: originalProperty.description,\n ...updates,\n };\n } else {\n updates = { ...originalProperty, ...updates };\n }\n\n current.properties[key] = updates;\n }\n }\n isUpdated = true;\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n\n if (isUpdated) {\n return { status: \"success\", property: current.properties![key]! };\n }\n };\n\n /**\n * Adds a sibling property to the current schema.\n */\n const handleAddProperty = (\n key: string,\n propertyToAdd: JSONSchema7,\n isRequired: boolean,\n ) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to add\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Ensure the current schema has a properties object\n if (current.type !== \"object\") {\n current.type = \"object\";\n }\n if (!current.properties) {\n current.properties = {};\n }\n\n //Ensure there's no existing property with the same key\n if (current.properties[key]) {\n return {\n status: \"error\",\n code: \"key-exists\" as const,\n message: `Property with key ${key} already exists`,\n } satisfies PropertyAddError;\n }\n\n if (propertyToAdd.enum) {\n //ensure that only the enum property is present\n delete propertyToAdd.type;\n delete propertyToAdd.items;\n delete propertyToAdd.properties;\n }\n\n // Add the new property\n current.properties[key] = propertyToAdd;\n\n // Handle required field\n if (isRequired) {\n if (!current.required) {\n current.required = [];\n }\n if (!current.required.includes(key)) {\n current.required.push(key);\n }\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n\n return {\n status: \"success\" as const,\n property: current.properties[key],\n } satisfies PropertyAddSuccess;\n };\n\n const handleDeleteProperty = (key: string) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to delete\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Handle required field updates\n if (current.type === \"object\") {\n if (current.required) {\n current.required = current.required.filter((item) => item !== key);\n }\n }\n\n // Delete the property\n if (current.type === \"object\" && current.properties) {\n delete current.properties[key];\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n };\n\n const handleDuplicateProperty = (key: string) => {\n const currentProperties = getCurrentSchema().properties;\n if (\n !currentProperties ||\n isEmpty(currentProperties) ||\n typeof currentProperties[key] === \"boolean\"\n ) {\n return;\n }\n\n const propertyToDuplicate = currentProperties[key]!;\n const newKey = `${key}_copy`;\n const newProperty = clone(propertyToDuplicate);\n\n // Add the duplicated property\n return handleAddProperty(newKey, newProperty, isPropertyRequired(key));\n };\n\n const isPropertyRequired = (key: string) => {\n if (path.length) {\n const { propertySchema } = navigateToCorrectNesting(schema, path);\n\n if (\n propertySchema?.type === \"array\" &&\n propertySchema.items &&\n typeof propertySchema.items !== \"boolean\" &&\n !Array.isArray(propertySchema.items) &&\n propertySchema.items?.type === \"object\"\n ) {\n return Boolean(propertySchema.items?.required?.includes(key));\n } else {\n return Boolean(propertySchema?.required?.includes(key));\n }\n }\n\n return Boolean(schema?.required?.includes(key));\n };\n\n /**\n * Programatically get the current schema value\n */\n const getValue = () => {\n return schema;\n };\n\n return {\n ...context,\n getCurrentSchema,\n getCurrentProperty,\n handlePropertyChange,\n handleAddProperty,\n handleKeyChange,\n navigateToCorrectNesting,\n handleDeleteProperty,\n isPropertyRequired,\n getValue,\n handleDuplicateProperty,\n };\n}\n\nexport { SchemaProvider, useSchema };\n"],"names":["SchemaContext","createContext","defaultSchema","SchemaProvider","children","initialSchema","schema","setSchema","useState","path","setPath","jsx","useSchema","onSchemaChange","context","useContext","navigateToCorrectNesting","providedSchema","providedPath","current","propertySchema","parentSchema","p","getCurrentSchema","getCurrentProperty","handleKeyChange","key","newKey","newSchema","clone","newProperties","k","val","item","handlePropertyChange","updates","isUpdated","originalProperty","handleAddProperty","propertyToAdd","isRequired","handleDeleteProperty","handleDuplicateProperty","currentProperties","isEmpty","propertyToDuplicate","newProperty","isPropertyRequired"],"mappings":"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"}
1
+ {"version":3,"file":"index.es2.js","sources":["../src/packages/builder/context.tsx"],"sourcesContent":["import { createContext, useContext, useState } from \"react\";\n\nimport type { PropsWithChildren, SetStateAction } from \"react\";\nimport type { JSONSchema7, JSONSchema7Definition } from \"json-schema\";\nimport { clone, isEmpty } from \"remeda\";\nimport type { OperationError } from \"./shared-types\";\n\ninterface ContextState<T extends JSONSchema7> {\n schema: T;\n setSchema: React.Dispatch<T>;\n path: string[];\n setPath: React.Dispatch<SetStateAction<string[]>>;\n}\n\nexport const SchemaContext = createContext<\n ContextState<JSONSchema7> | undefined\n>(undefined);\n\nconst defaultSchema: JSONSchema7 = {\n $schema: \"http://json-schema.org/draft-07/schema#\",\n type: \"object\",\n title: \"title\",\n description: \"\",\n properties: {},\n required: [],\n};\n\nfunction SchemaProvider({\n children,\n initialSchema,\n}: PropsWithChildren<{ initialSchema?: JSONSchema7 }>) {\n const [schema, setSchema] = useState<JSONSchema7>(\n initialSchema ?? defaultSchema,\n );\n\n /**\n * Path represents the path to a nested property in the schema.\n * It should only contain property keys.\n * An empty path means the current schema is the root schema since\n * the path only represents nested properties.\n */\n const [path, setPath] = useState<string[]>([]);\n\n // NOTE: you *might* need to memoize your values\n // Learn more in http://kcd.im/optimize-context\n\n return (\n <SchemaContext.Provider value={{ schema, setSchema, path, setPath }}>\n {children}\n </SchemaContext.Provider>\n );\n}\n\nexport type PropertyAddError = OperationError & {\n status: \"error\";\n};\n\nexport interface PropertyAddSuccess {\n status: \"success\";\n property: JSONSchema7;\n}\n\nexport interface PropertyChangeSuccess {\n status: \"success\";\n property: JSONSchema7Definition;\n}\n\nfunction useSchema({\n onSchemaChange,\n}: {\n onSchemaChange?: (schema: JSONSchema7) => void;\n} = {}) {\n const context = useContext(SchemaContext);\n\n if (context === undefined) {\n throw new Error(\"useSchema must be used within a SchemaProvider\");\n }\n\n const { path, schema, setSchema } = context;\n\n /**\n * Navigates to the correct property schema of the latest key in the provided path.\n *\n * It will traverse both \"properties\" and \"items\" to find the correct property schema.\n *\n * It will only return a property schema if the provided path is valid i.e. it\n * correctly follows the schema's nesting structure.\n *\n * It will only return a parent schema if the provided path is valid i.e. it\n * correctly follows the schema's nesting structure.\n */\n const navigateToCorrectNesting = (\n providedSchema: JSONSchema7,\n providedPath: string[],\n ) => {\n let current = providedSchema;\n let propertySchema: JSONSchema7 | null = null;\n // Should be the schema of type \"object\" containing the property in its properties key\n let parentSchema: JSONSchema7 | null = null;\n\n for (const p of providedPath) {\n if (\n current.type === \"array\" &&\n current.items &&\n !Array.isArray(current.items) &&\n typeof current.items === \"object\" &&\n current.items.type === \"object\" &&\n typeof current.items.properties?.[p] === \"object\"\n ) {\n parentSchema = current.items;\n propertySchema = current.items.properties[p];\n current = current.items;\n } else if (\n current.type === \"object\" &&\n current.properties &&\n !Array.isArray(current.properties) &&\n typeof current.properties[p] === \"object\"\n ) {\n parentSchema = current;\n propertySchema = current.properties[p];\n current = current.properties[p];\n }\n }\n\n return { propertySchema, parentSchema };\n };\n\n /**\n * Gets the current schema of the latest key in the path.\n * If path is empty, it will return the root schema.\n *\n * It should always return the \"object\" schema of the current path.\n */\n const getCurrentSchema = (initialSchema?: JSONSchema7) => {\n // Gets the correct object schema if under nesting\n // Otherwise, return the root schema\n const { propertySchema } = navigateToCorrectNesting(\n initialSchema ?? schema,\n path,\n );\n\n if (propertySchema) {\n if (propertySchema.type === \"array\") {\n return propertySchema.items as JSONSchema7;\n }\n\n return propertySchema;\n }\n\n return initialSchema ?? schema;\n };\n\n /**\n * Gets the correct property schema of the latest key in the path.\n * If no path is provided, it will return null.\n */\n const getCurrentProperty = () => {\n const { propertySchema } = navigateToCorrectNesting(schema, path);\n\n return propertySchema;\n };\n\n /**\n * Change the key of a property in the schema. It expects\n * the find the key at the current path.\n */\n const handleKeyChange = (key: string, newKey: string) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to change\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n if (current.properties?.[key]) {\n //Important: maintain order as to not confuse users\n const newProperties = Object.entries(current.properties).map(\n ([k, val]) => {\n return [k === key ? newKey : k, val];\n },\n );\n\n current.properties = Object.fromEntries(\n newProperties,\n ) as JSONSchema7[\"properties\"];\n }\n\n if (current.required?.includes(key)) {\n current.required = current.required.map((item) =>\n item === key ? newKey : item,\n );\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n };\n\n const handlePropertyChange = (\n key: string,\n updates: Partial<JSONSchema7Definition> & { isRequired?: boolean },\n ): PropertyChangeSuccess | undefined => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to change\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Handle required field updates\n if (typeof updates === \"object\" && \"isRequired\" in updates) {\n if (current.type === \"object\") {\n if (!current.required) {\n current.required = [];\n }\n if (updates.isRequired) {\n if (!current.required.includes(key)) {\n current.required.push(key);\n }\n } else {\n current.required = current.required.filter((item) => item !== key);\n }\n }\n delete updates.isRequired;\n }\n\n let isUpdated = false;\n\n // Update the property\n if (current.type === \"object\" && current.properties) {\n const originalProperty = current.properties[key];\n // Ensure the property exists and is not a boolean\n if (typeof originalProperty !== \"boolean\" && originalProperty) {\n if (typeof updates !== \"boolean\") {\n //if updates changes the type of the property,\n //only the title, description, and default properties should remain\n //from the original property\n if (updates.type && updates.type !== originalProperty.type) {\n updates = {\n title: originalProperty.title,\n description: originalProperty.description,\n default: originalProperty.default,\n ...updates,\n };\n } else if (updates.enum) {\n //if the property is an enum, only the title and description should remain\n //from the original property\n delete updates.type;\n delete updates.items;\n delete updates.properties;\n updates = {\n title: originalProperty.title,\n description: originalProperty.description,\n ...updates,\n };\n } else {\n updates = { ...originalProperty, ...updates };\n }\n\n current.properties[key] = updates;\n }\n }\n isUpdated = true;\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n\n if (isUpdated) {\n return { status: \"success\", property: current.properties![key]! };\n }\n };\n\n /**\n * Adds a sibling property to the current schema.\n */\n const handleAddProperty = (\n key: string,\n propertyToAdd: JSONSchema7,\n isRequired: boolean,\n ) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to add\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Ensure the current schema has a properties object\n if (current.type !== \"object\") {\n current.type = \"object\";\n }\n if (!current.properties) {\n current.properties = {};\n }\n\n //Ensure there's no existing property with the same key\n if (current.properties[key]) {\n return {\n status: \"error\",\n code: \"key-exists\" as const,\n message: `Property with key ${key} already exists`,\n } satisfies PropertyAddError;\n }\n\n if (propertyToAdd.enum) {\n //ensure that only the enum property is present\n delete propertyToAdd.type;\n delete propertyToAdd.items;\n delete propertyToAdd.properties;\n }\n\n // Clean the propertyToAdd object ensuring it doesn't contain\n //keys with undefined values\n propertyToAdd = Object.fromEntries(\n Object.entries(propertyToAdd).filter(([, value]) => value !== undefined),\n );\n\n // Add the new property\n current.properties[key] = propertyToAdd;\n\n // Handle required field\n if (isRequired) {\n if (!current.required) {\n current.required = [];\n }\n if (!current.required.includes(key)) {\n current.required.push(key);\n }\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n\n return {\n status: \"success\" as const,\n property: current.properties[key],\n } satisfies PropertyAddSuccess;\n };\n\n const handleDeleteProperty = (key: string) => {\n const newSchema = clone(schema);\n\n // The current schema containing the property to delete\n const current: JSONSchema7 = getCurrentSchema(newSchema);\n\n // Handle required field updates\n if (current.type === \"object\") {\n if (current.required) {\n current.required = current.required.filter((item) => item !== key);\n }\n }\n\n // Delete the property\n if (current.type === \"object\" && current.properties) {\n delete current.properties[key];\n }\n\n setSchema(newSchema);\n onSchemaChange?.(newSchema);\n };\n\n const handleDuplicateProperty = (key: string) => {\n const currentProperties = getCurrentSchema().properties;\n if (\n !currentProperties ||\n isEmpty(currentProperties) ||\n typeof currentProperties[key] === \"boolean\"\n ) {\n return;\n }\n\n const propertyToDuplicate = currentProperties[key]!;\n const newKey = `${key}_copy`;\n const newProperty = clone(propertyToDuplicate);\n\n // Add the duplicated property\n return handleAddProperty(newKey, newProperty, isPropertyRequired(key));\n };\n\n const isPropertyRequired = (key: string) => {\n if (path.length) {\n const { propertySchema } = navigateToCorrectNesting(schema, path);\n\n if (\n propertySchema?.type === \"array\" &&\n propertySchema.items &&\n typeof propertySchema.items !== \"boolean\" &&\n !Array.isArray(propertySchema.items) &&\n propertySchema.items?.type === \"object\"\n ) {\n return Boolean(propertySchema.items?.required?.includes(key));\n } else {\n return Boolean(propertySchema?.required?.includes(key));\n }\n }\n\n return Boolean(schema?.required?.includes(key));\n };\n\n /**\n * Programatically get the current schema value\n */\n const getValue = () => {\n return schema;\n };\n\n return {\n ...context,\n getCurrentSchema,\n getCurrentProperty,\n handlePropertyChange,\n handleAddProperty,\n handleKeyChange,\n navigateToCorrectNesting,\n handleDeleteProperty,\n isPropertyRequired,\n getValue,\n handleDuplicateProperty,\n };\n}\n\nexport { SchemaProvider, useSchema };\n"],"names":["SchemaContext","createContext","defaultSchema","SchemaProvider","children","initialSchema","schema","setSchema","useState","path","setPath","jsx","useSchema","onSchemaChange","context","useContext","navigateToCorrectNesting","providedSchema","providedPath","current","propertySchema","parentSchema","p","getCurrentSchema","getCurrentProperty","handleKeyChange","key","newKey","newSchema","clone","newProperties","k","val","item","handlePropertyChange","updates","isUpdated","originalProperty","handleAddProperty","propertyToAdd","isRequired","value","handleDeleteProperty","handleDuplicateProperty","currentProperties","isEmpty","propertyToDuplicate","newProperty","isPropertyRequired"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
2
  import { Button as x } from "./index.es11.js";
3
- import { zodResolver as K } from "./index.es40.js";
4
- import { Dialog as M, DialogContent as _, DialogHeader as B, DialogTitle as H, DialogDescription as J, DialogFooter as G } from "./index.es37.js";
3
+ import { zodResolver as K } from "./index.es44.js";
4
+ import { Dialog as M, DialogContent as _, DialogHeader as B, DialogTitle as H, DialogDescription as J, DialogFooter as G } from "./index.es41.js";
5
5
  import { Input as O } from "./index.es28.js";
6
6
  import { Label as Q } from "./index.es15.js";
7
7
  import { Select as A, SelectTrigger as j, SelectValue as F, SelectContent as N, SelectItem as s } from "./index.es14.js";
8
8
  import { Switch as U } from "./index.es13.js";
9
9
  import { DebouncedInput as V } from "./index.es20.js";
10
10
  import { a as b } from "./index.es10.js";
11
- import W from "./index.es42.js";
11
+ import W from "./index.es46.js";
12
12
  import { useConstraints as X } from "./index.es4.js";
13
- import Y from "./index.es38.js";
14
- import { Separator as Z } from "./index.es39.js";
13
+ import Y from "./index.es42.js";
14
+ import { Separator as Z } from "./index.es43.js";
15
15
  import { z as t } from "zod";
16
16
  import { useForm as ee } from "react-hook-form";
17
- import { Form as re, FormField as m, FormItem as p, FormLabel as u, FormControl as h, FormMessage as y } from "./index.es41.js";
17
+ import { Form as re, FormField as m, FormItem as p, FormLabel as u, FormControl as h, FormMessage as y } from "./index.es45.js";
18
18
  const g = t.enum([
19
19
  "string",
20
20
  "number",