playbook_ui 18.2.0.pre.rc.3 → 18.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_currency/_currency.tsx +3 -1
  3. data/app/pb_kits/playbook/pb_currency/kit.schema.json +1 -0
  4. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.tsx +3 -1
  5. data/app/pb_kits/playbook/pb_dashboard_value/kit.schema.json +1 -0
  6. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_highlight.jsx +101 -0
  7. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_highlight.md +3 -0
  8. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +1 -0
  9. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -1
  10. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +3 -1
  11. data/app/pb_kits/playbook/pb_icon_stat_value/kit.schema.json +1 -0
  12. data/app/pb_kits/playbook/pb_icon_value/_icon_value.tsx +3 -1
  13. data/app/pb_kits/playbook/pb_icon_value/kit.schema.json +1 -0
  14. data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +3 -1
  15. data/app/pb_kits/playbook/pb_label_value/kit.schema.json +1 -0
  16. data/app/pb_kits/playbook/pb_message/_message.tsx +3 -1
  17. data/app/pb_kits/playbook/pb_message/kit.schema.json +1 -0
  18. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +3 -1
  19. data/app/pb_kits/playbook/pb_multiple_users/kit.schema.json +1 -0
  20. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +4 -2
  21. data/app/pb_kits/playbook/pb_multiple_users_stacked/kit.schema.json +1 -0
  22. data/app/pb_kits/playbook/pb_stat_value/_stat_value.tsx +3 -1
  23. data/app/pb_kits/playbook/pb_stat_value/kit.schema.json +1 -0
  24. data/app/pb_kits/playbook/pb_title_count/_title_count.tsx +3 -1
  25. data/app/pb_kits/playbook/pb_title_count/kit.schema.json +1 -0
  26. data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +3 -1
  27. data/app/pb_kits/playbook/pb_title_detail/kit.schema.json +1 -0
  28. data/app/pb_kits/playbook/utilities/test/globalProps/onClick.test.js +227 -0
  29. data/dist/ai/all-schemas.json +11 -0
  30. data/dist/ai/forms.json +1 -1
  31. data/dist/ai/index.json +2 -2
  32. data/dist/ai/kits/currency.schema.json +1 -0
  33. data/dist/ai/kits/dashboard_value.schema.json +1 -0
  34. data/dist/ai/kits/icon_stat_value.schema.json +1 -0
  35. data/dist/ai/kits/icon_value.schema.json +1 -0
  36. data/dist/ai/kits/label_value.schema.json +1 -0
  37. data/dist/ai/kits/message.schema.json +1 -0
  38. data/dist/ai/kits/multiple_users.schema.json +1 -0
  39. data/dist/ai/kits/multiple_users_stacked.schema.json +1 -0
  40. data/dist/ai/kits/stat_value.schema.json +1 -0
  41. data/dist/ai/kits/title_count.schema.json +1 -0
  42. data/dist/ai/kits/title_detail.schema.json +1 -0
  43. data/dist/chunks/{_detail-Cy54syJC.js → _detail-Bsvl694i.js} +1 -1
  44. data/dist/chunks/_table-Bf6LGyL9.js +1 -0
  45. data/dist/chunks/{_typeahead-CXZH3KvV.js → _typeahead-w6S5Vx4b.js} +1 -1
  46. data/dist/chunks/vendor.js +2 -2
  47. data/dist/playbook-rails-react-bindings.js +1 -1
  48. data/dist/playbook-rails.js +1 -1
  49. data/lib/playbook/version.rb +1 -1
  50. metadata +8 -9
  51. data/dist/chunks/_table-BCqp1PAO.js +0 -1
@@ -2,4 +2,4 @@ import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{b as buildAriaProps,d as
2
2
  /*!
3
3
  * tabbable 6.2.0
4
4
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
5
- */var candidateSelectors=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"];var candidateSelector=candidateSelectors.join(",");var NoElement=typeof Element==="undefined";var matches=NoElement?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var getRootNode=!NoElement&&Element.prototype.getRootNode?function(element){var _element$getRootNode;return element===null||element===void 0?void 0:(_element$getRootNode=element.getRootNode)===null||_element$getRootNode===void 0?void 0:_element$getRootNode.call(element)}:function(element){return element===null||element===void 0?void 0:element.ownerDocument};var isInert=function isInert2(node,lookUp){var _node$getAttribute;if(lookUp===void 0){lookUp=true}var inertAtt=node===null||node===void 0?void 0:(_node$getAttribute=node.getAttribute)===null||_node$getAttribute===void 0?void 0:_node$getAttribute.call(node,"inert");var inert=inertAtt===""||inertAtt==="true";var result=inert||lookUp&&node&&isInert2(node.parentNode);return result};var isContentEditable=function isContentEditable2(node){var _node$getAttribute2;var attValue=node===null||node===void 0?void 0:(_node$getAttribute2=node.getAttribute)===null||_node$getAttribute2===void 0?void 0:_node$getAttribute2.call(node,"contenteditable");return attValue===""||attValue==="true"};var getCandidates=function getCandidates2(el,includeContainer,filter){if(isInert(el)){return[]}var candidates=Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));if(includeContainer&&matches.call(el,candidateSelector)){candidates.unshift(el)}candidates=candidates.filter(filter);return candidates};var getCandidatesIteratively=function getCandidatesIteratively2(elements,includeContainer,options){var candidates=[];var elementsToCheck=Array.from(elements);while(elementsToCheck.length){var element=elementsToCheck.shift();if(isInert(element,false)){continue}if(element.tagName==="SLOT"){var assigned=element.assignedElements();var content=assigned.length?assigned:element.children;var nestedCandidates=getCandidatesIteratively2(content,true,options);if(options.flatten){candidates.push.apply(candidates,nestedCandidates)}else{candidates.push({scopeParent:element,candidates:nestedCandidates})}}else{var validCandidate=matches.call(element,candidateSelector);if(validCandidate&&options.filter(element)&&(includeContainer||!elements.includes(element))){candidates.push(element)}var shadowRoot=element.shadowRoot||typeof options.getShadowRoot==="function"&&options.getShadowRoot(element);var validShadowRoot=!isInert(shadowRoot,false)&&(!options.shadowRootFilter||options.shadowRootFilter(element));if(shadowRoot&&validShadowRoot){var _nestedCandidates=getCandidatesIteratively2(shadowRoot===true?element.children:shadowRoot.children,true,options);if(options.flatten){candidates.push.apply(candidates,_nestedCandidates)}else{candidates.push({scopeParent:element,candidates:_nestedCandidates})}}else{elementsToCheck.unshift.apply(elementsToCheck,element.children)}}}return candidates};var hasTabIndex=function hasTabIndex2(node){return!isNaN(parseInt(node.getAttribute("tabindex"),10))};var getTabIndex=function getTabIndex2(node){if(!node){throw new Error("No node provided")}if(node.tabIndex<0){if((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName)||isContentEditable(node))&&!hasTabIndex(node)){return 0}}return node.tabIndex};var getSortOrderTabIndex=function getSortOrderTabIndex2(node,isScope){var tabIndex=getTabIndex(node);if(tabIndex<0&&isScope&&!hasTabIndex(node)){return 0}return tabIndex};var sortOrderedTabbables=function sortOrderedTabbables2(a,b){return a.tabIndex===b.tabIndex?a.documentOrder-b.documentOrder:a.tabIndex-b.tabIndex};var isInput=function isInput2(node){return node.tagName==="INPUT"};var isHiddenInput=function isHiddenInput2(node){return isInput(node)&&node.type==="hidden"};var isDetailsWithSummary=function isDetailsWithSummary2(node){var r=node.tagName==="DETAILS"&&Array.prototype.slice.apply(node.children).some((function(child){return child.tagName==="SUMMARY"}));return r};var getCheckedRadio=function getCheckedRadio2(nodes,form){for(var i=0;i<nodes.length;i++){if(nodes[i].checked&&nodes[i].form===form){return nodes[i]}}};var isTabbableRadio=function isTabbableRadio2(node){if(!node.name){return true}var radioScope=node.form||getRootNode(node);var queryRadios=function queryRadios2(name){return radioScope.querySelectorAll('input[type="radio"][name="'+name+'"]')};var radioSet;if(typeof window!=="undefined"&&typeof window.CSS!=="undefined"&&typeof window.CSS.escape==="function"){radioSet=queryRadios(window.CSS.escape(node.name))}else{try{radioSet=queryRadios(node.name)}catch(err){console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",err.message);return false}}var checked=getCheckedRadio(radioSet,node.form);return!checked||checked===node};var isRadio=function isRadio2(node){return isInput(node)&&node.type==="radio"};var isNonTabbableRadio=function isNonTabbableRadio2(node){return isRadio(node)&&!isTabbableRadio(node)};var isNodeAttached=function isNodeAttached2(node){var _nodeRoot;var nodeRoot=node&&getRootNode(node);var nodeRootHost=(_nodeRoot=nodeRoot)===null||_nodeRoot===void 0?void 0:_nodeRoot.host;var attached=false;if(nodeRoot&&nodeRoot!==node){var _nodeRootHost,_nodeRootHost$ownerDo,_node$ownerDocument;attached=!!((_nodeRootHost=nodeRootHost)!==null&&_nodeRootHost!==void 0&&(_nodeRootHost$ownerDo=_nodeRootHost.ownerDocument)!==null&&_nodeRootHost$ownerDo!==void 0&&_nodeRootHost$ownerDo.contains(nodeRootHost)||node!==null&&node!==void 0&&(_node$ownerDocument=node.ownerDocument)!==null&&_node$ownerDocument!==void 0&&_node$ownerDocument.contains(node));while(!attached&&nodeRootHost){var _nodeRoot2,_nodeRootHost2,_nodeRootHost2$ownerD;nodeRoot=getRootNode(nodeRootHost);nodeRootHost=(_nodeRoot2=nodeRoot)===null||_nodeRoot2===void 0?void 0:_nodeRoot2.host;attached=!!((_nodeRootHost2=nodeRootHost)!==null&&_nodeRootHost2!==void 0&&(_nodeRootHost2$ownerD=_nodeRootHost2.ownerDocument)!==null&&_nodeRootHost2$ownerD!==void 0&&_nodeRootHost2$ownerD.contains(nodeRootHost))}}return attached};var isZeroArea=function isZeroArea2(node){var _node$getBoundingClie=node.getBoundingClientRect(),width=_node$getBoundingClie.width,height=_node$getBoundingClie.height;return width===0&&height===0};var isHidden=function isHidden2(node,_ref){var displayCheck=_ref.displayCheck,getShadowRoot=_ref.getShadowRoot;if(getComputedStyle(node).visibility==="hidden"){return true}var isDirectSummary=matches.call(node,"details>summary:first-of-type");var nodeUnderDetails=isDirectSummary?node.parentElement:node;if(matches.call(nodeUnderDetails,"details:not([open]) *")){return true}if(!displayCheck||displayCheck==="full"||displayCheck==="legacy-full"){if(typeof getShadowRoot==="function"){var originalNode=node;while(node){var parentElement=node.parentElement;var rootNode=getRootNode(node);if(parentElement&&!parentElement.shadowRoot&&getShadowRoot(parentElement)===true){return isZeroArea(node)}else if(node.assignedSlot){node=node.assignedSlot}else if(!parentElement&&rootNode!==node.ownerDocument){node=rootNode.host}else{node=parentElement}}node=originalNode}if(isNodeAttached(node)){return!node.getClientRects().length}if(displayCheck!=="legacy-full"){return true}}else if(displayCheck==="non-zero-area"){return isZeroArea(node)}return false};var isDisabledFromFieldset=function isDisabledFromFieldset2(node){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)){var parentNode=node.parentElement;while(parentNode){if(parentNode.tagName==="FIELDSET"&&parentNode.disabled){for(var i=0;i<parentNode.children.length;i++){var child=parentNode.children.item(i);if(child.tagName==="LEGEND"){return matches.call(parentNode,"fieldset[disabled] *")?true:!child.contains(node)}}return true}parentNode=parentNode.parentElement}}return false};var isNodeMatchingSelectorFocusable=function isNodeMatchingSelectorFocusable2(options,node){if(node.disabled||isInert(node)||isHiddenInput(node)||isHidden(node,options)||isDetailsWithSummary(node)||isDisabledFromFieldset(node)){return false}return true};var isNodeMatchingSelectorTabbable=function isNodeMatchingSelectorTabbable2(options,node){if(isNonTabbableRadio(node)||getTabIndex(node)<0||!isNodeMatchingSelectorFocusable(options,node)){return false}return true};var isValidShadowRootTabbable=function isValidShadowRootTabbable2(shadowHostNode){var tabIndex=parseInt(shadowHostNode.getAttribute("tabindex"),10);if(isNaN(tabIndex)||tabIndex>=0){return true}return false};var sortByOrder=function sortByOrder2(candidates){var regularTabbables=[];var orderedTabbables=[];candidates.forEach((function(item,i){var isScope=!!item.scopeParent;var element=isScope?item.scopeParent:item;var candidateTabindex=getSortOrderTabIndex(element,isScope);var elements=isScope?sortByOrder2(item.candidates):element;if(candidateTabindex===0){isScope?regularTabbables.push.apply(regularTabbables,elements):regularTabbables.push(element)}else{orderedTabbables.push({documentOrder:i,tabIndex:candidateTabindex,item:item,isScope:isScope,content:elements})}}));return orderedTabbables.sort(sortOrderedTabbables).reduce((function(acc,sortable){sortable.isScope?acc.push.apply(acc,sortable.content):acc.push(sortable.content);return acc}),[]).concat(regularTabbables)};var tabbable=function tabbable2(container,options){options=options||{};var candidates;if(options.getShadowRoot){candidates=getCandidatesIteratively([container],options.includeContainer,{filter:isNodeMatchingSelectorTabbable.bind(null,options),flatten:false,getShadowRoot:options.getShadowRoot,shadowRootFilter:isValidShadowRootTabbable})}else{candidates=getCandidates(container,options.includeContainer,isNodeMatchingSelectorTabbable.bind(null,options))}return sortByOrder(candidates)};function getCssDimensions(element){const css=getComputedStyle$1(element);let width=parseFloat(css.width)||0;let height=parseFloat(css.height)||0;const hasOffset=isHTMLElement(element);const offsetWidth=hasOffset?element.offsetWidth:width;const offsetHeight=hasOffset?element.offsetHeight:height;const shouldFallback=round(width)!==offsetWidth||round(height)!==offsetHeight;if(shouldFallback){width=offsetWidth;height=offsetHeight}return{width:width,height:height,$:shouldFallback}}function unwrapElement(element){return!isElement(element)?element.contextElement:element}function getScale(element){const domElement=unwrapElement(element);if(!isHTMLElement(domElement)){return createCoords(1)}const rect=domElement.getBoundingClientRect();const{width:width,height:height,$:$}=getCssDimensions(domElement);let x=($?round(rect.width):rect.width)/width;let y=($?round(rect.height):rect.height)/height;if(!x||!Number.isFinite(x)){x=1}if(!y||!Number.isFinite(y)){y=1}return{x:x,y:y}}const noOffsets=createCoords(0);function getVisualOffsets(element){const win=getWindow(element);if(!isWebKit()||!win.visualViewport){return noOffsets}return{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){if(isFixed===void 0){isFixed=false}if(!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)){return false}return isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){if(includeScale===void 0){includeScale=false}if(isFixedStrategy===void 0){isFixedStrategy=false}const clientRect=element.getBoundingClientRect();const domElement=unwrapElement(element);let scale=createCoords(1);if(includeScale){if(offsetParent){if(isElement(offsetParent)){scale=getScale(offsetParent)}}else{scale=getScale(element)}}const visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0);let x=(clientRect.left+visualOffsets.x)/scale.x;let y=(clientRect.top+visualOffsets.y)/scale.y;let width=clientRect.width/scale.x;let height=clientRect.height/scale.y;if(domElement){const win=getWindow(domElement);const offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent;let currentWin=win;let currentIFrame=getFrameElement(currentWin);while(currentIFrame&&offsetParent&&offsetWin!==currentWin){const iframeScale=getScale(currentIFrame);const iframeRect=currentIFrame.getBoundingClientRect();const css=getComputedStyle$1(currentIFrame);const left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x;const top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x;y*=iframeScale.y;width*=iframeScale.x;height*=iframeScale.y;x+=left;y+=top;currentWin=getWindow(currentIFrame);currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width,height:height,x:x,y:y})}function getWindowScrollBarX(element,rect){const leftScroll=getNodeScroll(element).scrollLeft;if(!rect){return getBoundingClientRect(getDocumentElement(element)).left+leftScroll}return rect.left+leftScroll}function getHTMLOffset(documentElement,scroll,ignoreScrollbarX){if(ignoreScrollbarX===void 0){ignoreScrollbarX=false}const htmlRect=documentElement.getBoundingClientRect();const x=htmlRect.left+scroll.scrollLeft-(ignoreScrollbarX?0:getWindowScrollBarX(documentElement,htmlRect));const y=htmlRect.top+scroll.scrollTop;return{x:x,y:y}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements:elements,rect:rect,offsetParent:offsetParent,strategy:strategy}=_ref;const isFixed=strategy==="fixed";const documentElement=getDocumentElement(offsetParent);const topLayer=elements?isTopLayer(elements.floating):false;if(offsetParent===documentElement||topLayer&&isFixed){return rect}let scroll={scrollLeft:0,scrollTop:0};let scale=createCoords(1);const offsets=createCoords(0);const isOffsetParentAnElement=isHTMLElement(offsetParent);if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed){if(getNodeName(offsetParent)!=="body"||isOverflowElement(documentElement)){scroll=getNodeScroll(offsetParent)}if(isHTMLElement(offsetParent)){const offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft;offsets.y=offsetRect.y+offsetParent.clientTop}}const htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll,true):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){const html=getDocumentElement(element);const scroll=getNodeScroll(element);const body=element.ownerDocument.body;const width=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth);const height=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight);let x=-scroll.scrollLeft+getWindowScrollBarX(element);const y=-scroll.scrollTop;if(getComputedStyle$1(body).direction==="rtl"){x+=max(html.clientWidth,body.clientWidth)-width}return{width:width,height:height,x:x,y:y}}function getViewportRect(element,strategy){const win=getWindow(element);const html=getDocumentElement(element);const visualViewport=win.visualViewport;let width=html.clientWidth;let height=html.clientHeight;let x=0;let y=0;if(visualViewport){width=visualViewport.width;height=visualViewport.height;const visualViewportBased=isWebKit();if(!visualViewportBased||visualViewportBased&&strategy==="fixed"){x=visualViewport.offsetLeft;y=visualViewport.offsetTop}}return{width:width,height:height,x:x,y:y}}function getInnerBoundingClientRect(element,strategy){const clientRect=getBoundingClientRect(element,true,strategy==="fixed");const top=clientRect.top+element.clientTop;const left=clientRect.left+element.clientLeft;const scale=isHTMLElement(element)?getScale(element):createCoords(1);const width=element.clientWidth*scale.x;const height=element.clientHeight*scale.y;const x=left*scale.x;const y=top*scale.y;return{width:width,height:height,x:x,y:y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor==="viewport"){rect=getViewportRect(element,strategy)}else if(clippingAncestor==="document"){rect=getDocumentRect(getDocumentElement(element))}else if(isElement(clippingAncestor)){rect=getInnerBoundingClientRect(clippingAncestor,strategy)}else{const visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){const parentNode=getParentNode(element);if(parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)){return false}return getComputedStyle$1(parentNode).position==="fixed"||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache){const cachedResult=cache.get(element);if(cachedResult){return cachedResult}let result=getOverflowAncestors(element,[],false).filter((el=>isElement(el)&&getNodeName(el)!=="body"));let currentContainingBlockComputedStyle=null;const elementIsFixed=getComputedStyle$1(element).position==="fixed";let currentNode=elementIsFixed?getParentNode(element):element;while(isElement(currentNode)&&!isLastTraversableNode(currentNode)){const computedStyle=getComputedStyle$1(currentNode);const currentNodeIsContaining=isContainingBlock(currentNode);if(!currentNodeIsContaining&&computedStyle.position==="fixed"){currentContainingBlockComputedStyle=null}const shouldDropCurrentNode=elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position==="static"&&!!currentContainingBlockComputedStyle&&["absolute","fixed"].includes(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode);if(shouldDropCurrentNode){result=result.filter((ancestor=>ancestor!==currentNode))}else{currentContainingBlockComputedStyle=computedStyle}currentNode=getParentNode(currentNode)}cache.set(element,result);return result}function getClippingRect(_ref){let{element:element,boundary:boundary,rootBoundary:rootBoundary,strategy:strategy}=_ref;const elementClippingAncestors=boundary==="clippingAncestors"?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary);const clippingAncestors=[...elementClippingAncestors,rootBoundary];const firstClippingAncestor=clippingAncestors[0];const clippingRect=clippingAncestors.reduce(((accRect,clippingAncestor)=>{const rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);accRect.top=max(rect.top,accRect.top);accRect.right=min(rect.right,accRect.right);accRect.bottom=min(rect.bottom,accRect.bottom);accRect.left=max(rect.left,accRect.left);return accRect}),getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){const{width:width,height:height}=getCssDimensions(element);return{width:width,height:height}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){const isOffsetParentAnElement=isHTMLElement(offsetParent);const documentElement=getDocumentElement(offsetParent);const isFixed=strategy==="fixed";const rect=getBoundingClientRect(element,true,isFixed,offsetParent);let scroll={scrollLeft:0,scrollTop:0};const offsets=createCoords(0);if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed){if(getNodeName(offsetParent)!=="body"||isOverflowElement(documentElement)){scroll=getNodeScroll(offsetParent)}if(isOffsetParentAnElement){const offsetRect=getBoundingClientRect(offsetParent,true,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft;offsets.y=offsetRect.y+offsetParent.clientTop}else if(documentElement){offsets.x=getWindowScrollBarX(documentElement)}}const htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);const x=rect.left+scroll.scrollLeft-offsets.x-htmlOffset.x;const y=rect.top+scroll.scrollTop-offsets.y-htmlOffset.y;return{x:x,y:y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position==="static"}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position==="fixed"){return null}if(polyfill){return polyfill(element)}let rawOffsetParent=element.offsetParent;if(getDocumentElement(element)===rawOffsetParent){rawOffsetParent=rawOffsetParent.ownerDocument.body}return rawOffsetParent}function getOffsetParent(element,polyfill){const win=getWindow(element);if(isTopLayer(element)){return win}if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);while(svgOffsetParent&&!isLastTraversableNode(svgOffsetParent)){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent)){return svgOffsetParent}svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);while(offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent)){offsetParent=getTrueOffsetParent(offsetParent,polyfill)}if(offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)){return win}return offsetParent||getContainingBlock(element)||win}const getElementRects=async function(data){const getOffsetParentFn=this.getOffsetParent||getOffsetParent;const getDimensionsFn=this.getDimensions;const floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function observeMove(element,onMove){let io=null;let timeoutId2;const root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId2);(_io=io)==null||_io.disconnect();io=null}function refresh(skip,threshold){if(skip===void 0){skip=false}if(threshold===void 0){threshold=1}cleanup();const{left:left,top:top,width:width,height:height}=element.getBoundingClientRect();if(!skip){onMove()}if(!width||!height){return}const insetTop=floor(top);const insetRight=floor(root.clientWidth-(left+width));const insetBottom=floor(root.clientHeight-(top+height));const insetLeft=floor(left);const rootMargin=-insetTop+"px "+-insetRight+"px "+-insetBottom+"px "+-insetLeft+"px";const options={rootMargin:rootMargin,threshold:max(0,min(1,threshold))||1};let isFirstUpdate=true;function handleObserve(entries){const ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate){return refresh()}if(!ratio){timeoutId2=setTimeout((()=>{refresh(false,1e-7)}),1e3)}else{refresh(false,ratio)}}isFirstUpdate=false}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch(e){io=new IntersectionObserver(handleObserve,options)}io.observe(element)}refresh(true);return cleanup}function autoUpdate(reference,floating,update,options){if(options===void 0){options={}}const{ancestorScroll:ancestorScroll=true,ancestorResize:ancestorResize=true,elementResize:elementResize=typeof ResizeObserver==="function",layoutShift:layoutShift=typeof IntersectionObserver==="function",animationFrame:animationFrame=false}=options;const referenceEl=unwrapElement(reference);const ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach((ancestor=>{ancestorScroll&&ancestor.addEventListener("scroll",update,{passive:true});ancestorResize&&ancestor.addEventListener("resize",update)}));const cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update):null;let reobserveFrame=-1;let resizeObserver=null;if(elementResize){resizeObserver=new ResizeObserver((_ref=>{let[firstEntry]=_ref;if(firstEntry&&firstEntry.target===referenceEl&&resizeObserver){resizeObserver.unobserve(floating);cancelAnimationFrame(reobserveFrame);reobserveFrame=requestAnimationFrame((()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)}))}update()}));if(referenceEl&&!animationFrame){resizeObserver.observe(referenceEl)}resizeObserver.observe(floating)}let frameId;let prevRefRect=animationFrame?getBoundingClientRect(reference):null;if(animationFrame){frameLoop()}function frameLoop(){const nextRefRect=getBoundingClientRect(reference);if(prevRefRect&&(nextRefRect.x!==prevRefRect.x||nextRefRect.y!==prevRefRect.y||nextRefRect.width!==prevRefRect.width||nextRefRect.height!==prevRefRect.height)){update()}prevRefRect=nextRefRect;frameId=requestAnimationFrame(frameLoop)}update();return()=>{var _resizeObserver2;ancestors.forEach((ancestor=>{ancestorScroll&&ancestor.removeEventListener("scroll",update);ancestorResize&&ancestor.removeEventListener("resize",update)}));cleanupIo==null||cleanupIo();(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect();resizeObserver=null;if(animationFrame){cancelAnimationFrame(frameId)}}}const offset$1=offset$2;const shift$1=shift$2;const flip$1=flip$2;const arrow$2=arrow$3;const computePosition=(reference,floating,options)=>{const cache=new Map;const mergedOptions={platform:platform,...options};const platformWithCache={...mergedOptions.platform,_c:cache};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};var index$1=typeof document!=="undefined"?useLayoutEffect:useEffect;function deepEqual(a,b){if(a===b){return true}if(typeof a!==typeof b){return false}if(typeof a==="function"&&a.toString()===b.toString()){return true}let length;let i;let keys;if(a&&b&&typeof a==="object"){if(Array.isArray(a)){length=a.length;if(length!==b.length)return false;for(i=length;i--!==0;){if(!deepEqual(a[i],b[i])){return false}}return true}keys=Object.keys(a);length=keys.length;if(length!==Object.keys(b).length){return false}for(i=length;i--!==0;){if(!{}.hasOwnProperty.call(b,keys[i])){return false}}for(i=length;i--!==0;){const key=keys[i];if(key==="_owner"&&a.$$typeof){continue}if(!deepEqual(a[key],b[key])){return false}}return true}return a!==a&&b!==b}function getDPR(element){if(typeof window==="undefined"){return 1}const win=element.ownerDocument.defaultView||window;return win.devicePixelRatio||1}function roundByDPR(element,value){const dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useLatestRef$1(value){const ref=React.useRef(value);index$1((()=>{ref.current=value}));return ref}function useFloating$1(options){if(options===void 0){options={}}const{placement:placement="bottom",strategy:strategy="absolute",middleware:middleware=[],platform:platform2,elements:{reference:externalReference,floating:externalFloating}={},transform:transform=true,whileElementsMounted:whileElementsMounted,open:open}=options;const[data,setData]=React.useState({x:0,y:0,strategy:strategy,placement:placement,middlewareData:{},isPositioned:false});const[latestMiddleware,setLatestMiddleware]=React.useState(middleware);if(!deepEqual(latestMiddleware,middleware)){setLatestMiddleware(middleware)}const[_reference,_setReference]=React.useState(null);const[_floating,_setFloating]=React.useState(null);const setReference=React.useCallback((node=>{if(node!==referenceRef.current){referenceRef.current=node;_setReference(node)}}),[]);const setFloating=React.useCallback((node=>{if(node!==floatingRef.current){floatingRef.current=node;_setFloating(node)}}),[]);const referenceEl=externalReference||_reference;const floatingEl=externalFloating||_floating;const referenceRef=React.useRef(null);const floatingRef=React.useRef(null);const dataRef=React.useRef(data);const hasWhileElementsMounted=whileElementsMounted!=null;const whileElementsMountedRef=useLatestRef$1(whileElementsMounted);const platformRef=useLatestRef$1(platform2);const openRef=useLatestRef$1(open);const update=React.useCallback((()=>{if(!referenceRef.current||!floatingRef.current){return}const config={placement:placement,strategy:strategy,middleware:latestMiddleware};if(platformRef.current){config.platform=platformRef.current}computePosition(referenceRef.current,floatingRef.current,config).then((data2=>{const fullData={...data2,isPositioned:openRef.current!==false};if(isMountedRef.current&&!deepEqual(dataRef.current,fullData)){dataRef.current=fullData;ReactDOM.flushSync((()=>{setData(fullData)}))}}))}),[latestMiddleware,placement,strategy,platformRef,openRef]);index$1((()=>{if(open===false&&dataRef.current.isPositioned){dataRef.current.isPositioned=false;setData((data2=>({...data2,isPositioned:false})))}}),[open]);const isMountedRef=React.useRef(false);index$1((()=>{isMountedRef.current=true;return()=>{isMountedRef.current=false}}),[]);index$1((()=>{if(referenceEl)referenceRef.current=referenceEl;if(floatingEl)floatingRef.current=floatingEl;if(referenceEl&&floatingEl){if(whileElementsMountedRef.current){return whileElementsMountedRef.current(referenceEl,floatingEl,update)}update()}}),[referenceEl,floatingEl,update,whileElementsMountedRef,hasWhileElementsMounted]);const refs=React.useMemo((()=>({reference:referenceRef,floating:floatingRef,setReference:setReference,setFloating:setFloating})),[setReference,setFloating]);const elements=React.useMemo((()=>({reference:referenceEl,floating:floatingEl})),[referenceEl,floatingEl]);const floatingStyles=React.useMemo((()=>{const initialStyles={position:strategy,left:0,top:0};if(!elements.floating){return initialStyles}const x=roundByDPR(elements.floating,data.x);const y=roundByDPR(elements.floating,data.y);if(transform){return{...initialStyles,transform:"translate("+x+"px, "+y+"px)",...getDPR(elements.floating)>=1.5&&{willChange:"transform"}}}return{position:strategy,left:x,top:y}}),[strategy,transform,elements.floating,data.x,data.y]);return React.useMemo((()=>({...data,update:update,refs:refs,elements:elements,floatingStyles:floatingStyles})),[data,update,refs,elements,floatingStyles])}const arrow$1=options=>{function isRef(value){return{}.hasOwnProperty.call(value,"current")}return{name:"arrow",options:options,fn(state){const{element:element,padding:padding}=typeof options==="function"?options(state):options;if(element&&isRef(element)){if(element.current!=null){return arrow$2({element:element.current,padding:padding}).fn(state)}return{}}if(element){return arrow$2({element:element,padding:padding}).fn(state)}return{}}}};const offset=(options,deps)=>({...offset$1(options),options:[options,deps]});const shift=(options,deps)=>({...shift$1(options),options:[options,deps]});const flip=(options,deps)=>({...flip$1(options),options:[options,deps]});const arrow=(options,deps)=>({...arrow$1(options),options:[options,deps]});const SafeReact={...React};const useInsertionEffect=SafeReact.useInsertionEffect;const useSafeInsertionEffect=useInsertionEffect||(fn=>fn());function useEffectEvent(callback){const ref=React.useRef((()=>{}));useSafeInsertionEffect((()=>{ref.current=callback}));return React.useCallback((function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return ref.current==null?void 0:ref.current(...args)}),[])}var index=typeof document!=="undefined"?useLayoutEffect:useEffect;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}let serverHandoffComplete=false;let count=0;const genId=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+count++;function useFloatingId(){const[id,setId]=React.useState((()=>serverHandoffComplete?genId():void 0));index((()=>{if(id==null){setId(genId())}}),[]);React.useEffect((()=>{serverHandoffComplete=true}),[]);return id}const useReactId=SafeReact.useId;const useId=useReactId||useFloatingId;function createPubSub(){const map=new Map;return{emit(event,data){var _map$get;(_map$get=map.get(event))==null||_map$get.forEach((handler=>handler(data)))},on(event,listener){map.set(event,[...map.get(event)||[],listener])},off(event,listener){var _map$get2;map.set(event,((_map$get2=map.get(event))==null?void 0:_map$get2.filter((l=>l!==listener)))||[])}}}const FloatingNodeContext=React.createContext(null);const FloatingTreeContext=React.createContext(null);const useFloatingParentNodeId=()=>{var _React$useContext;return((_React$useContext=React.useContext(FloatingNodeContext))==null?void 0:_React$useContext.id)||null};const useFloatingTree=()=>React.useContext(FloatingTreeContext);function createAttribute(name){return"data-floating-ui-"+name}function useLatestRef(value){const ref=useRef(value);index((()=>{ref.current=value}));return ref}const safePolygonIdentifier=createAttribute("safe-polygon");function getDelay(value,prop,pointerType){if(pointerType&&!isMouseLikePointerType(pointerType)){return 0}if(typeof value==="number"){return value}return value==null?void 0:value[prop]}function useHover(context,props){if(props===void 0){props={}}const{open:open,onOpenChange:onOpenChange,dataRef:dataRef,events:events,elements:elements}=context;const{enabled:enabled=true,delay:delay=0,handleClose:handleClose=null,mouseOnly:mouseOnly=false,restMs:restMs=0,move:move=true}=props;const tree=useFloatingTree();const parentId=useFloatingParentNodeId();const handleCloseRef=useLatestRef(handleClose);const delayRef=useLatestRef(delay);const openRef=useLatestRef(open);const pointerTypeRef=React.useRef();const timeoutRef=React.useRef(-1);const handlerRef=React.useRef();const restTimeoutRef=React.useRef(-1);const blockMouseMoveRef=React.useRef(true);const performedPointerEventsMutationRef=React.useRef(false);const unbindMouseMoveRef=React.useRef((()=>{}));const restTimeoutPendingRef=React.useRef(false);const isHoverOpen=React.useCallback((()=>{var _dataRef$current$open;const type=(_dataRef$current$open=dataRef.current.openEvent)==null?void 0:_dataRef$current$open.type;return(type==null?void 0:type.includes("mouse"))&&type!=="mousedown"}),[dataRef]);React.useEffect((()=>{if(!enabled)return;function onOpenChange2(_ref){let{open:open2}=_ref;if(!open2){clearTimeout(timeoutRef.current);clearTimeout(restTimeoutRef.current);blockMouseMoveRef.current=true;restTimeoutPendingRef.current=false}}events.on("openchange",onOpenChange2);return()=>{events.off("openchange",onOpenChange2)}}),[enabled,events]);React.useEffect((()=>{if(!enabled)return;if(!handleCloseRef.current)return;if(!open)return;function onLeave(event){if(isHoverOpen()){onOpenChange(false,event,"hover")}}const html=getDocument(elements.floating).documentElement;html.addEventListener("mouseleave",onLeave);return()=>{html.removeEventListener("mouseleave",onLeave)}}),[elements.floating,open,onOpenChange,enabled,handleCloseRef,isHoverOpen]);const closeWithDelay=React.useCallback((function(event,runElseBranch,reason){if(runElseBranch===void 0){runElseBranch=true}if(reason===void 0){reason="hover"}const closeDelay=getDelay(delayRef.current,"close",pointerTypeRef.current);if(closeDelay&&!handlerRef.current){clearTimeout(timeoutRef.current);timeoutRef.current=window.setTimeout((()=>onOpenChange(false,event,reason)),closeDelay)}else if(runElseBranch){clearTimeout(timeoutRef.current);onOpenChange(false,event,reason)}}),[delayRef,onOpenChange]);const cleanupMouseMoveHandler=useEffectEvent((()=>{unbindMouseMoveRef.current();handlerRef.current=void 0}));const clearPointerEvents=useEffectEvent((()=>{if(performedPointerEventsMutationRef.current){const body=getDocument(elements.floating).body;body.style.pointerEvents="";body.removeAttribute(safePolygonIdentifier);performedPointerEventsMutationRef.current=false}}));const isClickLikeOpenEvent=useEffectEvent((()=>dataRef.current.openEvent?["click","mousedown"].includes(dataRef.current.openEvent.type):false));React.useEffect((()=>{if(!enabled)return;function onMouseEnter(event){clearTimeout(timeoutRef.current);blockMouseMoveRef.current=false;if(mouseOnly&&!isMouseLikePointerType(pointerTypeRef.current)||restMs>0&&!getDelay(delayRef.current,"open")){return}const openDelay=getDelay(delayRef.current,"open",pointerTypeRef.current);if(openDelay){timeoutRef.current=window.setTimeout((()=>{if(!openRef.current){onOpenChange(true,event,"hover")}}),openDelay)}else if(!open){onOpenChange(true,event,"hover")}}function onMouseLeave(event){if(isClickLikeOpenEvent())return;unbindMouseMoveRef.current();const doc=getDocument(elements.floating);clearTimeout(restTimeoutRef.current);restTimeoutPendingRef.current=false;if(handleCloseRef.current&&dataRef.current.floatingContext){if(!open){clearTimeout(timeoutRef.current)}handlerRef.current=handleCloseRef.current({...dataRef.current.floatingContext,tree:tree,x:event.clientX,y:event.clientY,onClose(){clearPointerEvents();cleanupMouseMoveHandler();if(!isClickLikeOpenEvent()){closeWithDelay(event,true,"safe-polygon")}}});const handler=handlerRef.current;doc.addEventListener("mousemove",handler);unbindMouseMoveRef.current=()=>{doc.removeEventListener("mousemove",handler)};return}const shouldClose=pointerTypeRef.current==="touch"?!contains(elements.floating,event.relatedTarget):true;if(shouldClose){closeWithDelay(event)}}function onScrollMouseLeave(event){if(isClickLikeOpenEvent())return;if(!dataRef.current.floatingContext)return;handleCloseRef.current==null||handleCloseRef.current({...dataRef.current.floatingContext,tree:tree,x:event.clientX,y:event.clientY,onClose(){clearPointerEvents();cleanupMouseMoveHandler();if(!isClickLikeOpenEvent()){closeWithDelay(event)}}})(event)}if(isElement(elements.domReference)){var _elements$floating;const ref=elements.domReference;open&&ref.addEventListener("mouseleave",onScrollMouseLeave);(_elements$floating=elements.floating)==null||_elements$floating.addEventListener("mouseleave",onScrollMouseLeave);move&&ref.addEventListener("mousemove",onMouseEnter,{once:true});ref.addEventListener("mouseenter",onMouseEnter);ref.addEventListener("mouseleave",onMouseLeave);return()=>{var _elements$floating2;open&&ref.removeEventListener("mouseleave",onScrollMouseLeave);(_elements$floating2=elements.floating)==null||_elements$floating2.removeEventListener("mouseleave",onScrollMouseLeave);move&&ref.removeEventListener("mousemove",onMouseEnter);ref.removeEventListener("mouseenter",onMouseEnter);ref.removeEventListener("mouseleave",onMouseLeave)}}}),[elements,enabled,context,mouseOnly,restMs,move,closeWithDelay,cleanupMouseMoveHandler,clearPointerEvents,onOpenChange,open,openRef,tree,delayRef,handleCloseRef,dataRef,isClickLikeOpenEvent]);index((()=>{var _handleCloseRef$curre;if(!enabled)return;if(open&&(_handleCloseRef$curre=handleCloseRef.current)!=null&&_handleCloseRef$curre.__options.blockPointerEvents&&isHoverOpen()){performedPointerEventsMutationRef.current=true;const floatingEl=elements.floating;if(isElement(elements.domReference)&&floatingEl){var _tree$nodesRef$curren;const body=getDocument(elements.floating).body;body.setAttribute(safePolygonIdentifier,"");const ref=elements.domReference;const parentFloating=tree==null||(_tree$nodesRef$curren=tree.nodesRef.current.find((node=>node.id===parentId)))==null||(_tree$nodesRef$curren=_tree$nodesRef$curren.context)==null?void 0:_tree$nodesRef$curren.elements.floating;if(parentFloating){parentFloating.style.pointerEvents=""}body.style.pointerEvents="none";ref.style.pointerEvents="auto";floatingEl.style.pointerEvents="auto";return()=>{body.style.pointerEvents="";ref.style.pointerEvents="";floatingEl.style.pointerEvents=""}}}}),[enabled,open,parentId,elements,tree,handleCloseRef,isHoverOpen]);index((()=>{if(!open){pointerTypeRef.current=void 0;restTimeoutPendingRef.current=false;cleanupMouseMoveHandler();clearPointerEvents()}}),[open,cleanupMouseMoveHandler,clearPointerEvents]);React.useEffect((()=>()=>{cleanupMouseMoveHandler();clearTimeout(timeoutRef.current);clearTimeout(restTimeoutRef.current);clearPointerEvents()}),[enabled,elements.domReference,cleanupMouseMoveHandler,clearPointerEvents]);const reference=React.useMemo((()=>{function setPointerRef(event){pointerTypeRef.current=event.pointerType}return{onPointerDown:setPointerRef,onPointerEnter:setPointerRef,onMouseMove(event){const{nativeEvent:nativeEvent}=event;function handleMouseMove(){if(!blockMouseMoveRef.current&&!openRef.current){onOpenChange(true,nativeEvent,"hover")}}if(mouseOnly&&!isMouseLikePointerType(pointerTypeRef.current)){return}if(open||restMs===0){return}if(restTimeoutPendingRef.current&&event.movementX**2+event.movementY**2<2){return}clearTimeout(restTimeoutRef.current);if(pointerTypeRef.current==="touch"){handleMouseMove()}else{restTimeoutPendingRef.current=true;restTimeoutRef.current=window.setTimeout(handleMouseMove,restMs)}}}}),[mouseOnly,onOpenChange,open,openRef,restMs]);const floating=React.useMemo((()=>({onMouseEnter(){clearTimeout(timeoutRef.current)},onMouseLeave(event){if(!isClickLikeOpenEvent()){closeWithDelay(event.nativeEvent,false)}}})),[closeWithDelay,isClickLikeOpenEvent]);return React.useMemo((()=>enabled?{reference:reference,floating:floating}:{}),[enabled,reference,floating])}function getChildren(nodes,id){let allChildren=nodes.filter((node=>{var _node$context;return node.parentId===id&&((_node$context=node.context)==null?void 0:_node$context.open)}));let currentChildren=allChildren;while(currentChildren.length){currentChildren=nodes.filter((node=>{var _currentChildren;return(_currentChildren=currentChildren)==null?void 0:_currentChildren.some((n=>{var _node$context2;return node.parentId===n.id&&((_node$context2=node.context)==null?void 0:_node$context2.open)}))}));allChildren=allChildren.concat(currentChildren)}return allChildren}const getTabbableOptions=()=>({getShadowRoot:true,displayCheck:typeof ResizeObserver==="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function getTabbableIn(container,direction){const allTabbable=tabbable(container,getTabbableOptions());if(direction==="prev"){allTabbable.reverse()}const activeIndex=allTabbable.indexOf(activeElement(getDocument(container)));const nextTabbableElements=allTabbable.slice(activeIndex+1);return nextTabbableElements[0]}function getNextTabbable(){return getTabbableIn(document.body,"next")}function getPreviousTabbable(){return getTabbableIn(document.body,"prev")}function isOutsideEvent(event,container){const containerElement=container||event.currentTarget;const relatedTarget=event.relatedTarget;return!relatedTarget||!contains(containerElement,relatedTarget)}function disableFocusInside(container){const tabbableElements=tabbable(container,getTabbableOptions());tabbableElements.forEach((element=>{element.dataset.tabindex=element.getAttribute("tabindex")||"";element.setAttribute("tabindex","-1")}))}function enableFocusInside(container){const elements=container.querySelectorAll("[data-tabindex]");elements.forEach((element=>{const tabindex=element.dataset.tabindex;delete element.dataset.tabindex;if(tabindex){element.setAttribute("tabindex",tabindex)}else{element.removeAttribute("tabindex")}}))}const HIDDEN_STYLES={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};let timeoutId;function setActiveElementOnTab(event){if(event.key==="Tab"){event.target;clearTimeout(timeoutId)}}const FocusGuard=React.forwardRef((function FocusGuard2(props,ref){const[role,setRole]=React.useState();index((()=>{if(isSafari()){setRole("button")}document.addEventListener("keydown",setActiveElementOnTab);return()=>{document.removeEventListener("keydown",setActiveElementOnTab)}}),[]);const restProps={ref:ref,tabIndex:0,role:role,"aria-hidden":role?void 0:true,[createAttribute("focus-guard")]:"",style:HIDDEN_STYLES};return React.createElement("span",_extends({},props,restProps))}));const PortalContext=React.createContext(null);const attr=createAttribute("portal");function useFloatingPortalNode(props){if(props===void 0){props={}}const{id:id,root:root}=props;const uniqueId=useId();const portalContext=usePortalContext();const[portalNode,setPortalNode]=React.useState(null);const portalNodeRef=React.useRef(null);index((()=>()=>{portalNode==null||portalNode.remove();queueMicrotask((()=>{portalNodeRef.current=null}))}),[portalNode]);index((()=>{if(!uniqueId)return;if(portalNodeRef.current)return;const existingIdRoot=id?document.getElementById(id):null;if(!existingIdRoot)return;const subRoot=document.createElement("div");subRoot.id=uniqueId;subRoot.setAttribute(attr,"");existingIdRoot.appendChild(subRoot);portalNodeRef.current=subRoot;setPortalNode(subRoot)}),[id,uniqueId]);index((()=>{if(root===null)return;if(!uniqueId)return;if(portalNodeRef.current)return;let container=root||(portalContext==null?void 0:portalContext.portalNode);if(container&&!isElement(container))container=container.current;container=container||document.body;let idWrapper=null;if(id){idWrapper=document.createElement("div");idWrapper.id=id;container.appendChild(idWrapper)}const subRoot=document.createElement("div");subRoot.id=uniqueId;subRoot.setAttribute(attr,"");container=idWrapper||container;container.appendChild(subRoot);portalNodeRef.current=subRoot;setPortalNode(subRoot)}),[id,root,uniqueId,portalContext]);return portalNode}function FloatingPortal(props){const{children:children,id:id,root:root,preserveTabOrder:preserveTabOrder=true}=props;const portalNode=useFloatingPortalNode({id:id,root:root});const[focusManagerState,setFocusManagerState]=React.useState(null);const beforeOutsideRef=React.useRef(null);const afterOutsideRef=React.useRef(null);const beforeInsideRef=React.useRef(null);const afterInsideRef=React.useRef(null);const modal=focusManagerState==null?void 0:focusManagerState.modal;const open=focusManagerState==null?void 0:focusManagerState.open;const shouldRenderGuards=!!focusManagerState&&!focusManagerState.modal&&focusManagerState.open&&preserveTabOrder&&!!(root||portalNode);React.useEffect((()=>{if(!portalNode||!preserveTabOrder||modal){return}function onFocus(event){if(portalNode&&isOutsideEvent(event)){const focusing=event.type==="focusin";const manageFocus=focusing?enableFocusInside:disableFocusInside;manageFocus(portalNode)}}portalNode.addEventListener("focusin",onFocus,true);portalNode.addEventListener("focusout",onFocus,true);return()=>{portalNode.removeEventListener("focusin",onFocus,true);portalNode.removeEventListener("focusout",onFocus,true)}}),[portalNode,preserveTabOrder,modal]);React.useEffect((()=>{if(!portalNode)return;if(open)return;enableFocusInside(portalNode)}),[open,portalNode]);return React.createElement(PortalContext.Provider,{value:React.useMemo((()=>({preserveTabOrder:preserveTabOrder,beforeOutsideRef:beforeOutsideRef,afterOutsideRef:afterOutsideRef,beforeInsideRef:beforeInsideRef,afterInsideRef:afterInsideRef,portalNode:portalNode,setFocusManagerState:setFocusManagerState})),[preserveTabOrder,portalNode])},shouldRenderGuards&&portalNode&&React.createElement(FocusGuard,{"data-type":"outside",ref:beforeOutsideRef,onFocus:event=>{if(isOutsideEvent(event,portalNode)){var _beforeInsideRef$curr;(_beforeInsideRef$curr=beforeInsideRef.current)==null||_beforeInsideRef$curr.focus()}else{const prevTabbable=getPreviousTabbable()||(focusManagerState==null?void 0:focusManagerState.refs.domReference.current);prevTabbable==null||prevTabbable.focus()}}}),shouldRenderGuards&&portalNode&&React.createElement("span",{"aria-owns":portalNode.id,style:HIDDEN_STYLES}),portalNode&&ReactDOM.createPortal(children,portalNode),shouldRenderGuards&&portalNode&&React.createElement(FocusGuard,{"data-type":"outside",ref:afterOutsideRef,onFocus:event=>{if(isOutsideEvent(event,portalNode)){var _afterInsideRef$curre;(_afterInsideRef$curre=afterInsideRef.current)==null||_afterInsideRef$curre.focus()}else{const nextTabbable=getNextTabbable()||(focusManagerState==null?void 0:focusManagerState.refs.domReference.current);nextTabbable==null||nextTabbable.focus();(focusManagerState==null?void 0:focusManagerState.closeOnFocusOut)&&(focusManagerState==null?void 0:focusManagerState.onOpenChange(false,event.nativeEvent,"focus-out"))}}}))}const usePortalContext=()=>React.useContext(PortalContext);const FOCUSABLE_ATTRIBUTE="data-floating-ui-focusable";function isButtonTarget(event){return isHTMLElement(event.target)&&event.target.tagName==="BUTTON"}function isSpaceIgnored(element){return isTypeableElement(element)}function useClick(context,props){if(props===void 0){props={}}const{open:open,onOpenChange:onOpenChange,dataRef:dataRef,elements:{domReference:domReference}}=context;const{enabled:enabled=true,event:eventOption="click",toggle:toggle=true,ignoreMouse:ignoreMouse=false,keyboardHandlers:keyboardHandlers=true,stickIfOpen:stickIfOpen=true}=props;const pointerTypeRef=React.useRef();const didKeyDownRef=React.useRef(false);const reference=React.useMemo((()=>({onPointerDown(event){pointerTypeRef.current=event.pointerType},onMouseDown(event){const pointerType=pointerTypeRef.current;if(event.button!==0)return;if(eventOption==="click")return;if(isMouseLikePointerType(pointerType,true)&&ignoreMouse)return;if(open&&toggle&&(dataRef.current.openEvent&&stickIfOpen?dataRef.current.openEvent.type==="mousedown":true)){onOpenChange(false,event.nativeEvent,"click")}else{event.preventDefault();onOpenChange(true,event.nativeEvent,"click")}},onClick(event){const pointerType=pointerTypeRef.current;if(eventOption==="mousedown"&&pointerTypeRef.current){pointerTypeRef.current=void 0;return}if(isMouseLikePointerType(pointerType,true)&&ignoreMouse)return;if(open&&toggle&&(dataRef.current.openEvent&&stickIfOpen?dataRef.current.openEvent.type==="click":true)){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}},onKeyDown(event){pointerTypeRef.current=void 0;if(event.defaultPrevented||!keyboardHandlers||isButtonTarget(event)){return}if(event.key===" "&&!isSpaceIgnored(domReference)){event.preventDefault();didKeyDownRef.current=true}if(event.key==="Enter"){if(open&&toggle){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}}},onKeyUp(event){if(event.defaultPrevented||!keyboardHandlers||isButtonTarget(event)||isSpaceIgnored(domReference)){return}if(event.key===" "&&didKeyDownRef.current){didKeyDownRef.current=false;if(open&&toggle){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}}}})),[dataRef,domReference,eventOption,ignoreMouse,keyboardHandlers,onOpenChange,open,stickIfOpen,toggle]);return React.useMemo((()=>enabled?{reference:reference}:{}),[enabled,reference])}function useFloatingRootContext(options){const{open:open=false,onOpenChange:onOpenChangeProp,elements:elementsProp}=options;const floatingId=useId();const dataRef=React.useRef({});const[events]=React.useState((()=>createPubSub()));const nested=useFloatingParentNodeId()!=null;const[positionReference,setPositionReference]=React.useState(elementsProp.reference);const onOpenChange=useEffectEvent(((open2,event,reason)=>{dataRef.current.openEvent=open2?event:void 0;events.emit("openchange",{open:open2,event:event,reason:reason,nested:nested});onOpenChangeProp==null||onOpenChangeProp(open2,event,reason)}));const refs=React.useMemo((()=>({setPositionReference:setPositionReference})),[]);const elements=React.useMemo((()=>({reference:positionReference||elementsProp.reference||null,floating:elementsProp.floating||null,domReference:elementsProp.reference})),[positionReference,elementsProp.reference,elementsProp.floating]);return React.useMemo((()=>({dataRef:dataRef,open:open,onOpenChange:onOpenChange,elements:elements,events:events,floatingId:floatingId,refs:refs})),[open,onOpenChange,elements,events,floatingId,refs])}function useFloating(options){if(options===void 0){options={}}const{nodeId:nodeId}=options;const internalRootContext=useFloatingRootContext({...options,elements:{reference:null,floating:null,...options.elements}});const rootContext=options.rootContext||internalRootContext;const computedElements=rootContext.elements;const[_domReference,setDomReference]=React.useState(null);const[positionReference,_setPositionReference]=React.useState(null);const optionDomReference=computedElements==null?void 0:computedElements.domReference;const domReference=optionDomReference||_domReference;const domReferenceRef=React.useRef(null);const tree=useFloatingTree();index((()=>{if(domReference){domReferenceRef.current=domReference}}),[domReference]);const position=useFloating$1({...options,elements:{...computedElements,...positionReference&&{reference:positionReference}}});const setPositionReference=React.useCallback((node=>{const computedPositionReference=isElement(node)?{getBoundingClientRect:()=>node.getBoundingClientRect(),contextElement:node}:node;_setPositionReference(computedPositionReference);position.refs.setReference(computedPositionReference)}),[position.refs]);const setReference=React.useCallback((node=>{if(isElement(node)||node===null){domReferenceRef.current=node;setDomReference(node)}if(isElement(position.refs.reference.current)||position.refs.reference.current===null||node!==null&&!isElement(node)){position.refs.setReference(node)}}),[position.refs]);const refs=React.useMemo((()=>({...position.refs,setReference:setReference,setPositionReference:setPositionReference,domReference:domReferenceRef})),[position.refs,setReference,setPositionReference]);const elements=React.useMemo((()=>({...position.elements,domReference:domReference})),[position.elements,domReference]);const context=React.useMemo((()=>({...position,...rootContext,refs:refs,elements:elements,nodeId:nodeId})),[position,refs,elements,nodeId,rootContext]);index((()=>{rootContext.dataRef.current.floatingContext=context;const node=tree==null?void 0:tree.nodesRef.current.find((node2=>node2.id===nodeId));if(node){node.context=context}}));return React.useMemo((()=>({...position,context:context,refs:refs,elements:elements})),[position,refs,elements,context])}const ACTIVE_KEY="active";const SELECTED_KEY="selected";function mergeProps(userProps,propsList,elementKey){const map=new Map;const isItem=elementKey==="item";let domUserProps=userProps;if(isItem&&userProps){const{[ACTIVE_KEY]:_,[SELECTED_KEY]:__,...validProps}=userProps;domUserProps=validProps}return{...elementKey==="floating"&&{tabIndex:-1,[FOCUSABLE_ATTRIBUTE]:""},...domUserProps,...propsList.map((value=>{const propsOrGetProps=value?value[elementKey]:null;if(typeof propsOrGetProps==="function"){return userProps?propsOrGetProps(userProps):null}return propsOrGetProps})).concat(userProps).reduce(((acc,props)=>{if(!props){return acc}Object.entries(props).forEach((_ref=>{let[key,value]=_ref;if(isItem&&[ACTIVE_KEY,SELECTED_KEY].includes(key)){return}if(key.indexOf("on")===0){if(!map.has(key)){map.set(key,[])}if(typeof value==="function"){var _map$get;(_map$get=map.get(key))==null||_map$get.push(value);acc[key]=function(){var _map$get2;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return(_map$get2=map.get(key))==null?void 0:_map$get2.map((fn=>fn(...args))).find((val=>val!==void 0))}}}else{acc[key]=value}}));return acc}),{})}}function useInteractions(propsList){if(propsList===void 0){propsList=[]}const referenceDeps=propsList.map((key=>key==null?void 0:key.reference));const floatingDeps=propsList.map((key=>key==null?void 0:key.floating));const itemDeps=propsList.map((key=>key==null?void 0:key.item));const getReferenceProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"reference")),referenceDeps);const getFloatingProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"floating")),floatingDeps);const getItemProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"item")),itemDeps);return React.useMemo((()=>({getReferenceProps:getReferenceProps,getFloatingProps:getFloatingProps,getItemProps:getItemProps})),[getReferenceProps,getFloatingProps,getItemProps])}function isPointInPolygon(point,polygon){const[x,y]=point;let isInside2=false;const length=polygon.length;for(let i=0,j=length-1;i<length;j=i++){const[xi,yi]=polygon[i]||[0,0];const[xj,yj]=polygon[j]||[0,0];const intersect=yi>=y!==yj>=y&&x<=(xj-xi)*(y-yi)/(yj-yi)+xi;if(intersect){isInside2=!isInside2}}return isInside2}function isInside(point,rect){return point[0]>=rect.x&&point[0]<=rect.x+rect.width&&point[1]>=rect.y&&point[1]<=rect.y+rect.height}function safePolygon(options){if(options===void 0){options={}}const{buffer:buffer=.5,blockPointerEvents:blockPointerEvents=false,requireIntent:requireIntent=true}=options;let timeoutId2;let hasLanded=false;let lastX=null;let lastY=null;let lastCursorTime=performance.now();function getCursorSpeed(x,y){const currentTime=performance.now();const elapsedTime=currentTime-lastCursorTime;if(lastX===null||lastY===null||elapsedTime===0){lastX=x;lastY=y;lastCursorTime=currentTime;return null}const deltaX=x-lastX;const deltaY=y-lastY;const distance=Math.sqrt(deltaX*deltaX+deltaY*deltaY);const speed=distance/elapsedTime;lastX=x;lastY=y;lastCursorTime=currentTime;return speed}const fn=_ref=>{let{x:x,y:y,placement:placement,elements:elements,onClose:onClose,nodeId:nodeId,tree:tree}=_ref;return function onMouseMove(event){function close(){clearTimeout(timeoutId2);onClose()}clearTimeout(timeoutId2);if(!elements.domReference||!elements.floating||placement==null||x==null||y==null){return}const{clientX:clientX,clientY:clientY}=event;const clientPoint=[clientX,clientY];const target=getTarget(event);const isLeave=event.type==="mouseleave";const isOverFloatingEl=contains(elements.floating,target);const isOverReferenceEl=contains(elements.domReference,target);const refRect=elements.domReference.getBoundingClientRect();const rect=elements.floating.getBoundingClientRect();const side=placement.split("-")[0];const cursorLeaveFromRight=x>rect.right-rect.width/2;const cursorLeaveFromBottom=y>rect.bottom-rect.height/2;const isOverReferenceRect=isInside(clientPoint,refRect);const isFloatingWider=rect.width>refRect.width;const isFloatingTaller=rect.height>refRect.height;const left=(isFloatingWider?refRect:rect).left;const right=(isFloatingWider?refRect:rect).right;const top=(isFloatingTaller?refRect:rect).top;const bottom=(isFloatingTaller?refRect:rect).bottom;if(isOverFloatingEl){hasLanded=true;if(!isLeave){return}}if(isOverReferenceEl){hasLanded=false}if(isOverReferenceEl&&!isLeave){hasLanded=true;return}if(isLeave&&isElement(event.relatedTarget)&&contains(elements.floating,event.relatedTarget)){return}if(tree&&getChildren(tree.nodesRef.current,nodeId).some((_ref2=>{let{context:context}=_ref2;return context==null?void 0:context.open}))){return}if(side==="top"&&y>=refRect.bottom-1||side==="bottom"&&y<=refRect.top+1||side==="left"&&x>=refRect.right-1||side==="right"&&x<=refRect.left+1){return close()}let rectPoly=[];switch(side){case"top":rectPoly=[[left,refRect.top+1],[left,rect.bottom-1],[right,rect.bottom-1],[right,refRect.top+1]];break;case"bottom":rectPoly=[[left,rect.top+1],[left,refRect.bottom-1],[right,refRect.bottom-1],[right,rect.top+1]];break;case"left":rectPoly=[[rect.right-1,bottom],[rect.right-1,top],[refRect.left+1,top],[refRect.left+1,bottom]];break;case"right":rectPoly=[[refRect.right-1,bottom],[refRect.right-1,top],[rect.left+1,top],[rect.left+1,bottom]];break}function getPolygon(_ref3){let[x2,y2]=_ref3;switch(side){case"top":{const cursorPointOne=[isFloatingWider?x2+buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2+buffer+1];const cursorPointTwo=[isFloatingWider?x2-buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2+buffer+1];const commonPoints=[[rect.left,cursorLeaveFromRight?rect.bottom-buffer:isFloatingWider?rect.bottom-buffer:rect.top],[rect.right,cursorLeaveFromRight?isFloatingWider?rect.bottom-buffer:rect.top:rect.bottom-buffer]];return[cursorPointOne,cursorPointTwo,...commonPoints]}case"bottom":{const cursorPointOne=[isFloatingWider?x2+buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2-buffer];const cursorPointTwo=[isFloatingWider?x2-buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2-buffer];const commonPoints=[[rect.left,cursorLeaveFromRight?rect.top+buffer:isFloatingWider?rect.top+buffer:rect.bottom],[rect.right,cursorLeaveFromRight?isFloatingWider?rect.top+buffer:rect.bottom:rect.top+buffer]];return[cursorPointOne,cursorPointTwo,...commonPoints]}case"left":{const cursorPointOne=[x2+buffer+1,isFloatingTaller?y2+buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const cursorPointTwo=[x2+buffer+1,isFloatingTaller?y2-buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const commonPoints=[[cursorLeaveFromBottom?rect.right-buffer:isFloatingTaller?rect.right-buffer:rect.left,rect.top],[cursorLeaveFromBottom?isFloatingTaller?rect.right-buffer:rect.left:rect.right-buffer,rect.bottom]];return[...commonPoints,cursorPointOne,cursorPointTwo]}case"right":{const cursorPointOne=[x2-buffer,isFloatingTaller?y2+buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const cursorPointTwo=[x2-buffer,isFloatingTaller?y2-buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const commonPoints=[[cursorLeaveFromBottom?rect.left+buffer:isFloatingTaller?rect.left+buffer:rect.right,rect.top],[cursorLeaveFromBottom?isFloatingTaller?rect.left+buffer:rect.right:rect.left+buffer,rect.bottom]];return[cursorPointOne,cursorPointTwo,...commonPoints]}}}if(isPointInPolygon([clientX,clientY],rectPoly)){return}if(hasLanded&&!isOverReferenceRect){return close()}if(!isLeave&&requireIntent){const cursorSpeed=getCursorSpeed(event.clientX,event.clientY);const cursorSpeedThreshold=.1;if(cursorSpeed!==null&&cursorSpeed<cursorSpeedThreshold){return close()}}if(!isPointInPolygon([clientX,clientY],getPolygon([x,y]))){close()}else if(!hasLanded&&requireIntent){timeoutId2=window.setTimeout(close,40)}}};fn.__options={blockPointerEvents:blockPointerEvents};return fn}const TOOLTIP_BOUNDARY_PADDING=8;const Tooltip=forwardRef(((props,ref)=>{const{aria:aria={},className:className,children:children,useClickToOpen:useClickToOpen=false,data:data={},delay:delay=0,height:height,htmlOptions:htmlOptions={},icon:icon=null,interaction:interaction=false,maxHeight:maxHeight,maxWidth:maxWidth,minHeight:minHeight,minWidth:minWidth,placement:preferredPlacement="top",position:position="absolute",text:text,showTooltip:showTooltip=true,width:width,zIndex:zIndex,forceOpenTooltip:forceOpenTooltip=false,...rest}=props;const dataProps=buildDataProps(data);const ariaProps=buildAriaProps(aria);const htmlProps=buildHtmlProps(htmlOptions);const css=classnames(globalProps({...rest}),className);const[open,setOpen]=useState(false);const arrowRef=useRef(null);const{context:context,middlewareData:{arrow:{x:arrowX,y:arrowY}={}},placement:placement,refs:refs,strategy:strategy,x:x,y:y}=useFloating({strategy:position,whileElementsMounted:autoUpdate,middleware:[offset(10),flip({fallbackPlacements:["top","right","bottom","left"],fallbackStrategy:"initialPlacement",flipAlignment:false,padding:TOOLTIP_BOUNDARY_PADDING}),shift({padding:TOOLTIP_BOUNDARY_PADDING}),arrow({element:arrowRef,padding:TOOLTIP_BOUNDARY_PADDING})],open:open,onOpenChange(open2){if(!showTooltip){return}else{setOpen(open2)}},placement:preferredPlacement});const hover=useHover(context,{delay:delay,handleClose:interaction?safePolygon({blockPointerEvents:false}):null,enabled:!useClickToOpen});const click=useClick(context,{enabled:useClickToOpen});const{getFloatingProps:getFloatingProps,getReferenceProps:getReferenceProps}=useInteractions([hover,click]);const staticSide={bottom:"top",left:"right",right:"left",top:"bottom"}[placement.split("-")[0]];const arrowPlacementStyle=staticSide?{[staticSide]:"-5px"}:{};const tooltipSizing=()=>Object.assign({},height?{height:height}:{},maxHeight?{maxHeight:maxHeight}:{},maxWidth?{maxWidth:maxWidth}:{},minHeight?{minHeight:minHeight}:{},minWidth?{minWidth:minWidth}:{},width?{width:width}:{});return jsxs(Fragment,{children:[jsx("div",{...getReferenceProps({className:`pb_tooltip_kit ${css}`,ref:element=>{refs.setReference(element);if(ref){if(typeof ref==="function"){ref(element)}else if(typeof ref==="object"){ref.current=element}}},role:"tooltip_trigger",style:{display:"inline-block"},...ariaProps,...dataProps,...htmlProps}),children:children}),(open||forceOpenTooltip)&&jsx(FloatingPortal,{children:jsxs("div",{"data-placement":placement,...getFloatingProps({className:classnames(`tooltip_tooltip ${placement} visible`,{dark:rest.dark}),ref:refs.setFloating,role:"tooltip",style:{...tooltipSizing(),position:strategy,top:y??0,left:x??0,...zIndex?{zIndex:zIndex}:{}}}),children:[jsxs(Flex,{align:"center",gap:"xs",children:[icon&&jsx("i",{className:`pb_icon_kit`,children:jsx(Icon,{icon:icon})}),text]}),jsx("div",{className:"arrow_bg",ref:arrowRef,style:{position:"absolute",left:arrowX!=null?`${arrowX}px`:"",top:arrowY!=null?`${arrowY}px`:"",...arrowPlacementStyle}})]})})]})}));Tooltip.displayName="Tooltip";const Title=props=>{if(props.variant);const{aria:aria={},children:children,className:className,color:color,data:data={},htmlOptions:htmlOptions={},id:id,size:size=3,displaySize:displaySize=null,bold:bold=true,tag:tag="h3",text:text,variant:variant=null}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const isSizeNumberOrString=typeof size==="number"||typeof size==="string";const buildResponsiveSizeCss=()=>{const classes2=[];if(!isSizeNumberOrString){Object.entries(size).forEach((sizeObj=>{classes2.push(`pb_title_${sizeObj[0]}_${sizeObj[1]}`)}))}return classes2};const buildDisplaySize=()=>{if(displaySize){return[`pb_title_dynamic_${displaySize}`]}return[]};const titleClasses=["pb_title_kit"];if(isSizeNumberOrString){titleClasses.push(`pb_title_${size}`)}if(variant)titleClasses.push(`pb_title_${variant}`);if(color)titleClasses.push(`pb_title_${color}`);if(!bold)titleClasses.push("pb_title_thin");titleClasses.push(...buildDisplaySize());titleClasses.push(...buildResponsiveSizeCss());const classes=classnames(titleClasses.join(" "),globalProps(props),className);const Tag=`${tag}`;return jsx(Tag,{...ariaProps,...dataProps,...htmlProps,...globalEventProps(props),className:classes,id:id,children:text||children})};const DialogContext=React__default.createContext(null);const Detail=props=>{const{aria:aria={},bold:bold=false,children:children,className:className,color:color="light",data:data={},htmlOptions:htmlOptions={},id:id="",tag:tag="div",text:text=""}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const isBold=bold?"bold":null;const classes=classnames(buildCss("pb_detail_kit",`color`,color),isBold,globalProps(props),className);const Tag=`${tag}`;return jsx(Tag,{...ariaProps,...dataProps,...htmlProps,...globalEventProps(props),className:classes,id:id,children:text||children})};export{Body as B,Caption as C,Detail as D,Flex as F,Highlight as H,Icon as I,Tooltip as T,Card as a,Draggable as b,DialogContext as c,Title as d,Image as e,DraggableProvider as f,DraggableContext as g,globalEventProps as h,isValidEmoji as i};
5
+ */var candidateSelectors=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"];var candidateSelector=candidateSelectors.join(",");var NoElement=typeof Element==="undefined";var matches=NoElement?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;var getRootNode=!NoElement&&Element.prototype.getRootNode?function(element){var _element$getRootNode;return element===null||element===void 0?void 0:(_element$getRootNode=element.getRootNode)===null||_element$getRootNode===void 0?void 0:_element$getRootNode.call(element)}:function(element){return element===null||element===void 0?void 0:element.ownerDocument};var isInert=function isInert2(node,lookUp){var _node$getAttribute;if(lookUp===void 0){lookUp=true}var inertAtt=node===null||node===void 0?void 0:(_node$getAttribute=node.getAttribute)===null||_node$getAttribute===void 0?void 0:_node$getAttribute.call(node,"inert");var inert=inertAtt===""||inertAtt==="true";var result=inert||lookUp&&node&&isInert2(node.parentNode);return result};var isContentEditable=function isContentEditable2(node){var _node$getAttribute2;var attValue=node===null||node===void 0?void 0:(_node$getAttribute2=node.getAttribute)===null||_node$getAttribute2===void 0?void 0:_node$getAttribute2.call(node,"contenteditable");return attValue===""||attValue==="true"};var getCandidates=function getCandidates2(el,includeContainer,filter){if(isInert(el)){return[]}var candidates=Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));if(includeContainer&&matches.call(el,candidateSelector)){candidates.unshift(el)}candidates=candidates.filter(filter);return candidates};var getCandidatesIteratively=function getCandidatesIteratively2(elements,includeContainer,options){var candidates=[];var elementsToCheck=Array.from(elements);while(elementsToCheck.length){var element=elementsToCheck.shift();if(isInert(element,false)){continue}if(element.tagName==="SLOT"){var assigned=element.assignedElements();var content=assigned.length?assigned:element.children;var nestedCandidates=getCandidatesIteratively2(content,true,options);if(options.flatten){candidates.push.apply(candidates,nestedCandidates)}else{candidates.push({scopeParent:element,candidates:nestedCandidates})}}else{var validCandidate=matches.call(element,candidateSelector);if(validCandidate&&options.filter(element)&&(includeContainer||!elements.includes(element))){candidates.push(element)}var shadowRoot=element.shadowRoot||typeof options.getShadowRoot==="function"&&options.getShadowRoot(element);var validShadowRoot=!isInert(shadowRoot,false)&&(!options.shadowRootFilter||options.shadowRootFilter(element));if(shadowRoot&&validShadowRoot){var _nestedCandidates=getCandidatesIteratively2(shadowRoot===true?element.children:shadowRoot.children,true,options);if(options.flatten){candidates.push.apply(candidates,_nestedCandidates)}else{candidates.push({scopeParent:element,candidates:_nestedCandidates})}}else{elementsToCheck.unshift.apply(elementsToCheck,element.children)}}}return candidates};var hasTabIndex=function hasTabIndex2(node){return!isNaN(parseInt(node.getAttribute("tabindex"),10))};var getTabIndex=function getTabIndex2(node){if(!node){throw new Error("No node provided")}if(node.tabIndex<0){if((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName)||isContentEditable(node))&&!hasTabIndex(node)){return 0}}return node.tabIndex};var getSortOrderTabIndex=function getSortOrderTabIndex2(node,isScope){var tabIndex=getTabIndex(node);if(tabIndex<0&&isScope&&!hasTabIndex(node)){return 0}return tabIndex};var sortOrderedTabbables=function sortOrderedTabbables2(a,b){return a.tabIndex===b.tabIndex?a.documentOrder-b.documentOrder:a.tabIndex-b.tabIndex};var isInput=function isInput2(node){return node.tagName==="INPUT"};var isHiddenInput=function isHiddenInput2(node){return isInput(node)&&node.type==="hidden"};var isDetailsWithSummary=function isDetailsWithSummary2(node){var r=node.tagName==="DETAILS"&&Array.prototype.slice.apply(node.children).some((function(child){return child.tagName==="SUMMARY"}));return r};var getCheckedRadio=function getCheckedRadio2(nodes,form){for(var i=0;i<nodes.length;i++){if(nodes[i].checked&&nodes[i].form===form){return nodes[i]}}};var isTabbableRadio=function isTabbableRadio2(node){if(!node.name){return true}var radioScope=node.form||getRootNode(node);var queryRadios=function queryRadios2(name){return radioScope.querySelectorAll('input[type="radio"][name="'+name+'"]')};var radioSet;if(typeof window!=="undefined"&&typeof window.CSS!=="undefined"&&typeof window.CSS.escape==="function"){radioSet=queryRadios(window.CSS.escape(node.name))}else{try{radioSet=queryRadios(node.name)}catch(err){console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",err.message);return false}}var checked=getCheckedRadio(radioSet,node.form);return!checked||checked===node};var isRadio=function isRadio2(node){return isInput(node)&&node.type==="radio"};var isNonTabbableRadio=function isNonTabbableRadio2(node){return isRadio(node)&&!isTabbableRadio(node)};var isNodeAttached=function isNodeAttached2(node){var _nodeRoot;var nodeRoot=node&&getRootNode(node);var nodeRootHost=(_nodeRoot=nodeRoot)===null||_nodeRoot===void 0?void 0:_nodeRoot.host;var attached=false;if(nodeRoot&&nodeRoot!==node){var _nodeRootHost,_nodeRootHost$ownerDo,_node$ownerDocument;attached=!!((_nodeRootHost=nodeRootHost)!==null&&_nodeRootHost!==void 0&&(_nodeRootHost$ownerDo=_nodeRootHost.ownerDocument)!==null&&_nodeRootHost$ownerDo!==void 0&&_nodeRootHost$ownerDo.contains(nodeRootHost)||node!==null&&node!==void 0&&(_node$ownerDocument=node.ownerDocument)!==null&&_node$ownerDocument!==void 0&&_node$ownerDocument.contains(node));while(!attached&&nodeRootHost){var _nodeRoot2,_nodeRootHost2,_nodeRootHost2$ownerD;nodeRoot=getRootNode(nodeRootHost);nodeRootHost=(_nodeRoot2=nodeRoot)===null||_nodeRoot2===void 0?void 0:_nodeRoot2.host;attached=!!((_nodeRootHost2=nodeRootHost)!==null&&_nodeRootHost2!==void 0&&(_nodeRootHost2$ownerD=_nodeRootHost2.ownerDocument)!==null&&_nodeRootHost2$ownerD!==void 0&&_nodeRootHost2$ownerD.contains(nodeRootHost))}}return attached};var isZeroArea=function isZeroArea2(node){var _node$getBoundingClie=node.getBoundingClientRect(),width=_node$getBoundingClie.width,height=_node$getBoundingClie.height;return width===0&&height===0};var isHidden=function isHidden2(node,_ref){var displayCheck=_ref.displayCheck,getShadowRoot=_ref.getShadowRoot;if(getComputedStyle(node).visibility==="hidden"){return true}var isDirectSummary=matches.call(node,"details>summary:first-of-type");var nodeUnderDetails=isDirectSummary?node.parentElement:node;if(matches.call(nodeUnderDetails,"details:not([open]) *")){return true}if(!displayCheck||displayCheck==="full"||displayCheck==="legacy-full"){if(typeof getShadowRoot==="function"){var originalNode=node;while(node){var parentElement=node.parentElement;var rootNode=getRootNode(node);if(parentElement&&!parentElement.shadowRoot&&getShadowRoot(parentElement)===true){return isZeroArea(node)}else if(node.assignedSlot){node=node.assignedSlot}else if(!parentElement&&rootNode!==node.ownerDocument){node=rootNode.host}else{node=parentElement}}node=originalNode}if(isNodeAttached(node)){return!node.getClientRects().length}if(displayCheck!=="legacy-full"){return true}}else if(displayCheck==="non-zero-area"){return isZeroArea(node)}return false};var isDisabledFromFieldset=function isDisabledFromFieldset2(node){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)){var parentNode=node.parentElement;while(parentNode){if(parentNode.tagName==="FIELDSET"&&parentNode.disabled){for(var i=0;i<parentNode.children.length;i++){var child=parentNode.children.item(i);if(child.tagName==="LEGEND"){return matches.call(parentNode,"fieldset[disabled] *")?true:!child.contains(node)}}return true}parentNode=parentNode.parentElement}}return false};var isNodeMatchingSelectorFocusable=function isNodeMatchingSelectorFocusable2(options,node){if(node.disabled||isInert(node)||isHiddenInput(node)||isHidden(node,options)||isDetailsWithSummary(node)||isDisabledFromFieldset(node)){return false}return true};var isNodeMatchingSelectorTabbable=function isNodeMatchingSelectorTabbable2(options,node){if(isNonTabbableRadio(node)||getTabIndex(node)<0||!isNodeMatchingSelectorFocusable(options,node)){return false}return true};var isValidShadowRootTabbable=function isValidShadowRootTabbable2(shadowHostNode){var tabIndex=parseInt(shadowHostNode.getAttribute("tabindex"),10);if(isNaN(tabIndex)||tabIndex>=0){return true}return false};var sortByOrder=function sortByOrder2(candidates){var regularTabbables=[];var orderedTabbables=[];candidates.forEach((function(item,i){var isScope=!!item.scopeParent;var element=isScope?item.scopeParent:item;var candidateTabindex=getSortOrderTabIndex(element,isScope);var elements=isScope?sortByOrder2(item.candidates):element;if(candidateTabindex===0){isScope?regularTabbables.push.apply(regularTabbables,elements):regularTabbables.push(element)}else{orderedTabbables.push({documentOrder:i,tabIndex:candidateTabindex,item:item,isScope:isScope,content:elements})}}));return orderedTabbables.sort(sortOrderedTabbables).reduce((function(acc,sortable){sortable.isScope?acc.push.apply(acc,sortable.content):acc.push(sortable.content);return acc}),[]).concat(regularTabbables)};var tabbable=function tabbable2(container,options){options=options||{};var candidates;if(options.getShadowRoot){candidates=getCandidatesIteratively([container],options.includeContainer,{filter:isNodeMatchingSelectorTabbable.bind(null,options),flatten:false,getShadowRoot:options.getShadowRoot,shadowRootFilter:isValidShadowRootTabbable})}else{candidates=getCandidates(container,options.includeContainer,isNodeMatchingSelectorTabbable.bind(null,options))}return sortByOrder(candidates)};function getCssDimensions(element){const css=getComputedStyle$1(element);let width=parseFloat(css.width)||0;let height=parseFloat(css.height)||0;const hasOffset=isHTMLElement(element);const offsetWidth=hasOffset?element.offsetWidth:width;const offsetHeight=hasOffset?element.offsetHeight:height;const shouldFallback=round(width)!==offsetWidth||round(height)!==offsetHeight;if(shouldFallback){width=offsetWidth;height=offsetHeight}return{width:width,height:height,$:shouldFallback}}function unwrapElement(element){return!isElement(element)?element.contextElement:element}function getScale(element){const domElement=unwrapElement(element);if(!isHTMLElement(domElement)){return createCoords(1)}const rect=domElement.getBoundingClientRect();const{width:width,height:height,$:$}=getCssDimensions(domElement);let x=($?round(rect.width):rect.width)/width;let y=($?round(rect.height):rect.height)/height;if(!x||!Number.isFinite(x)){x=1}if(!y||!Number.isFinite(y)){y=1}return{x:x,y:y}}const noOffsets=createCoords(0);function getVisualOffsets(element){const win=getWindow(element);if(!isWebKit()||!win.visualViewport){return noOffsets}return{x:win.visualViewport.offsetLeft,y:win.visualViewport.offsetTop}}function shouldAddVisualOffsets(element,isFixed,floatingOffsetParent){if(isFixed===void 0){isFixed=false}if(!floatingOffsetParent||isFixed&&floatingOffsetParent!==getWindow(element)){return false}return isFixed}function getBoundingClientRect(element,includeScale,isFixedStrategy,offsetParent){if(includeScale===void 0){includeScale=false}if(isFixedStrategy===void 0){isFixedStrategy=false}const clientRect=element.getBoundingClientRect();const domElement=unwrapElement(element);let scale=createCoords(1);if(includeScale){if(offsetParent){if(isElement(offsetParent)){scale=getScale(offsetParent)}}else{scale=getScale(element)}}const visualOffsets=shouldAddVisualOffsets(domElement,isFixedStrategy,offsetParent)?getVisualOffsets(domElement):createCoords(0);let x=(clientRect.left+visualOffsets.x)/scale.x;let y=(clientRect.top+visualOffsets.y)/scale.y;let width=clientRect.width/scale.x;let height=clientRect.height/scale.y;if(domElement){const win=getWindow(domElement);const offsetWin=offsetParent&&isElement(offsetParent)?getWindow(offsetParent):offsetParent;let currentWin=win;let currentIFrame=getFrameElement(currentWin);while(currentIFrame&&offsetParent&&offsetWin!==currentWin){const iframeScale=getScale(currentIFrame);const iframeRect=currentIFrame.getBoundingClientRect();const css=getComputedStyle$1(currentIFrame);const left=iframeRect.left+(currentIFrame.clientLeft+parseFloat(css.paddingLeft))*iframeScale.x;const top=iframeRect.top+(currentIFrame.clientTop+parseFloat(css.paddingTop))*iframeScale.y;x*=iframeScale.x;y*=iframeScale.y;width*=iframeScale.x;height*=iframeScale.y;x+=left;y+=top;currentWin=getWindow(currentIFrame);currentIFrame=getFrameElement(currentWin)}}return rectToClientRect({width:width,height:height,x:x,y:y})}function getWindowScrollBarX(element,rect){const leftScroll=getNodeScroll(element).scrollLeft;if(!rect){return getBoundingClientRect(getDocumentElement(element)).left+leftScroll}return rect.left+leftScroll}function getHTMLOffset(documentElement,scroll,ignoreScrollbarX){if(ignoreScrollbarX===void 0){ignoreScrollbarX=false}const htmlRect=documentElement.getBoundingClientRect();const x=htmlRect.left+scroll.scrollLeft-(ignoreScrollbarX?0:getWindowScrollBarX(documentElement,htmlRect));const y=htmlRect.top+scroll.scrollTop;return{x:x,y:y}}function convertOffsetParentRelativeRectToViewportRelativeRect(_ref){let{elements:elements,rect:rect,offsetParent:offsetParent,strategy:strategy}=_ref;const isFixed=strategy==="fixed";const documentElement=getDocumentElement(offsetParent);const topLayer=elements?isTopLayer(elements.floating):false;if(offsetParent===documentElement||topLayer&&isFixed){return rect}let scroll={scrollLeft:0,scrollTop:0};let scale=createCoords(1);const offsets=createCoords(0);const isOffsetParentAnElement=isHTMLElement(offsetParent);if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed){if(getNodeName(offsetParent)!=="body"||isOverflowElement(documentElement)){scroll=getNodeScroll(offsetParent)}if(isHTMLElement(offsetParent)){const offsetRect=getBoundingClientRect(offsetParent);scale=getScale(offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft;offsets.y=offsetRect.y+offsetParent.clientTop}}const htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll,true):createCoords(0);return{width:rect.width*scale.x,height:rect.height*scale.y,x:rect.x*scale.x-scroll.scrollLeft*scale.x+offsets.x+htmlOffset.x,y:rect.y*scale.y-scroll.scrollTop*scale.y+offsets.y+htmlOffset.y}}function getClientRects(element){return Array.from(element.getClientRects())}function getDocumentRect(element){const html=getDocumentElement(element);const scroll=getNodeScroll(element);const body=element.ownerDocument.body;const width=max(html.scrollWidth,html.clientWidth,body.scrollWidth,body.clientWidth);const height=max(html.scrollHeight,html.clientHeight,body.scrollHeight,body.clientHeight);let x=-scroll.scrollLeft+getWindowScrollBarX(element);const y=-scroll.scrollTop;if(getComputedStyle$1(body).direction==="rtl"){x+=max(html.clientWidth,body.clientWidth)-width}return{width:width,height:height,x:x,y:y}}function getViewportRect(element,strategy){const win=getWindow(element);const html=getDocumentElement(element);const visualViewport=win.visualViewport;let width=html.clientWidth;let height=html.clientHeight;let x=0;let y=0;if(visualViewport){width=visualViewport.width;height=visualViewport.height;const visualViewportBased=isWebKit();if(!visualViewportBased||visualViewportBased&&strategy==="fixed"){x=visualViewport.offsetLeft;y=visualViewport.offsetTop}}return{width:width,height:height,x:x,y:y}}function getInnerBoundingClientRect(element,strategy){const clientRect=getBoundingClientRect(element,true,strategy==="fixed");const top=clientRect.top+element.clientTop;const left=clientRect.left+element.clientLeft;const scale=isHTMLElement(element)?getScale(element):createCoords(1);const width=element.clientWidth*scale.x;const height=element.clientHeight*scale.y;const x=left*scale.x;const y=top*scale.y;return{width:width,height:height,x:x,y:y}}function getClientRectFromClippingAncestor(element,clippingAncestor,strategy){let rect;if(clippingAncestor==="viewport"){rect=getViewportRect(element,strategy)}else if(clippingAncestor==="document"){rect=getDocumentRect(getDocumentElement(element))}else if(isElement(clippingAncestor)){rect=getInnerBoundingClientRect(clippingAncestor,strategy)}else{const visualOffsets=getVisualOffsets(element);rect={x:clippingAncestor.x-visualOffsets.x,y:clippingAncestor.y-visualOffsets.y,width:clippingAncestor.width,height:clippingAncestor.height}}return rectToClientRect(rect)}function hasFixedPositionAncestor(element,stopNode){const parentNode=getParentNode(element);if(parentNode===stopNode||!isElement(parentNode)||isLastTraversableNode(parentNode)){return false}return getComputedStyle$1(parentNode).position==="fixed"||hasFixedPositionAncestor(parentNode,stopNode)}function getClippingElementAncestors(element,cache){const cachedResult=cache.get(element);if(cachedResult){return cachedResult}let result=getOverflowAncestors(element,[],false).filter((el=>isElement(el)&&getNodeName(el)!=="body"));let currentContainingBlockComputedStyle=null;const elementIsFixed=getComputedStyle$1(element).position==="fixed";let currentNode=elementIsFixed?getParentNode(element):element;while(isElement(currentNode)&&!isLastTraversableNode(currentNode)){const computedStyle=getComputedStyle$1(currentNode);const currentNodeIsContaining=isContainingBlock(currentNode);if(!currentNodeIsContaining&&computedStyle.position==="fixed"){currentContainingBlockComputedStyle=null}const shouldDropCurrentNode=elementIsFixed?!currentNodeIsContaining&&!currentContainingBlockComputedStyle:!currentNodeIsContaining&&computedStyle.position==="static"&&!!currentContainingBlockComputedStyle&&["absolute","fixed"].includes(currentContainingBlockComputedStyle.position)||isOverflowElement(currentNode)&&!currentNodeIsContaining&&hasFixedPositionAncestor(element,currentNode);if(shouldDropCurrentNode){result=result.filter((ancestor=>ancestor!==currentNode))}else{currentContainingBlockComputedStyle=computedStyle}currentNode=getParentNode(currentNode)}cache.set(element,result);return result}function getClippingRect(_ref){let{element:element,boundary:boundary,rootBoundary:rootBoundary,strategy:strategy}=_ref;const elementClippingAncestors=boundary==="clippingAncestors"?isTopLayer(element)?[]:getClippingElementAncestors(element,this._c):[].concat(boundary);const clippingAncestors=[...elementClippingAncestors,rootBoundary];const firstClippingAncestor=clippingAncestors[0];const clippingRect=clippingAncestors.reduce(((accRect,clippingAncestor)=>{const rect=getClientRectFromClippingAncestor(element,clippingAncestor,strategy);accRect.top=max(rect.top,accRect.top);accRect.right=min(rect.right,accRect.right);accRect.bottom=min(rect.bottom,accRect.bottom);accRect.left=max(rect.left,accRect.left);return accRect}),getClientRectFromClippingAncestor(element,firstClippingAncestor,strategy));return{width:clippingRect.right-clippingRect.left,height:clippingRect.bottom-clippingRect.top,x:clippingRect.left,y:clippingRect.top}}function getDimensions(element){const{width:width,height:height}=getCssDimensions(element);return{width:width,height:height}}function getRectRelativeToOffsetParent(element,offsetParent,strategy){const isOffsetParentAnElement=isHTMLElement(offsetParent);const documentElement=getDocumentElement(offsetParent);const isFixed=strategy==="fixed";const rect=getBoundingClientRect(element,true,isFixed,offsetParent);let scroll={scrollLeft:0,scrollTop:0};const offsets=createCoords(0);if(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed){if(getNodeName(offsetParent)!=="body"||isOverflowElement(documentElement)){scroll=getNodeScroll(offsetParent)}if(isOffsetParentAnElement){const offsetRect=getBoundingClientRect(offsetParent,true,isFixed,offsetParent);offsets.x=offsetRect.x+offsetParent.clientLeft;offsets.y=offsetRect.y+offsetParent.clientTop}else if(documentElement){offsets.x=getWindowScrollBarX(documentElement)}}const htmlOffset=documentElement&&!isOffsetParentAnElement&&!isFixed?getHTMLOffset(documentElement,scroll):createCoords(0);const x=rect.left+scroll.scrollLeft-offsets.x-htmlOffset.x;const y=rect.top+scroll.scrollTop-offsets.y-htmlOffset.y;return{x:x,y:y,width:rect.width,height:rect.height}}function isStaticPositioned(element){return getComputedStyle$1(element).position==="static"}function getTrueOffsetParent(element,polyfill){if(!isHTMLElement(element)||getComputedStyle$1(element).position==="fixed"){return null}if(polyfill){return polyfill(element)}let rawOffsetParent=element.offsetParent;if(getDocumentElement(element)===rawOffsetParent){rawOffsetParent=rawOffsetParent.ownerDocument.body}return rawOffsetParent}function getOffsetParent(element,polyfill){const win=getWindow(element);if(isTopLayer(element)){return win}if(!isHTMLElement(element)){let svgOffsetParent=getParentNode(element);while(svgOffsetParent&&!isLastTraversableNode(svgOffsetParent)){if(isElement(svgOffsetParent)&&!isStaticPositioned(svgOffsetParent)){return svgOffsetParent}svgOffsetParent=getParentNode(svgOffsetParent)}return win}let offsetParent=getTrueOffsetParent(element,polyfill);while(offsetParent&&isTableElement(offsetParent)&&isStaticPositioned(offsetParent)){offsetParent=getTrueOffsetParent(offsetParent,polyfill)}if(offsetParent&&isLastTraversableNode(offsetParent)&&isStaticPositioned(offsetParent)&&!isContainingBlock(offsetParent)){return win}return offsetParent||getContainingBlock(element)||win}const getElementRects=async function(data){const getOffsetParentFn=this.getOffsetParent||getOffsetParent;const getDimensionsFn=this.getDimensions;const floatingDimensions=await getDimensionsFn(data.floating);return{reference:getRectRelativeToOffsetParent(data.reference,await getOffsetParentFn(data.floating),data.strategy),floating:{x:0,y:0,width:floatingDimensions.width,height:floatingDimensions.height}}};function isRTL(element){return getComputedStyle$1(element).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function observeMove(element,onMove){let io=null;let timeoutId2;const root=getDocumentElement(element);function cleanup(){var _io;clearTimeout(timeoutId2);(_io=io)==null||_io.disconnect();io=null}function refresh(skip,threshold){if(skip===void 0){skip=false}if(threshold===void 0){threshold=1}cleanup();const{left:left,top:top,width:width,height:height}=element.getBoundingClientRect();if(!skip){onMove()}if(!width||!height){return}const insetTop=floor(top);const insetRight=floor(root.clientWidth-(left+width));const insetBottom=floor(root.clientHeight-(top+height));const insetLeft=floor(left);const rootMargin=-insetTop+"px "+-insetRight+"px "+-insetBottom+"px "+-insetLeft+"px";const options={rootMargin:rootMargin,threshold:max(0,min(1,threshold))||1};let isFirstUpdate=true;function handleObserve(entries){const ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate){return refresh()}if(!ratio){timeoutId2=setTimeout((()=>{refresh(false,1e-7)}),1e3)}else{refresh(false,ratio)}}isFirstUpdate=false}try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch(e){io=new IntersectionObserver(handleObserve,options)}io.observe(element)}refresh(true);return cleanup}function autoUpdate(reference,floating,update,options){if(options===void 0){options={}}const{ancestorScroll:ancestorScroll=true,ancestorResize:ancestorResize=true,elementResize:elementResize=typeof ResizeObserver==="function",layoutShift:layoutShift=typeof IntersectionObserver==="function",animationFrame:animationFrame=false}=options;const referenceEl=unwrapElement(reference);const ancestors=ancestorScroll||ancestorResize?[...referenceEl?getOverflowAncestors(referenceEl):[],...getOverflowAncestors(floating)]:[];ancestors.forEach((ancestor=>{ancestorScroll&&ancestor.addEventListener("scroll",update,{passive:true});ancestorResize&&ancestor.addEventListener("resize",update)}));const cleanupIo=referenceEl&&layoutShift?observeMove(referenceEl,update):null;let reobserveFrame=-1;let resizeObserver=null;if(elementResize){resizeObserver=new ResizeObserver((_ref=>{let[firstEntry]=_ref;if(firstEntry&&firstEntry.target===referenceEl&&resizeObserver){resizeObserver.unobserve(floating);cancelAnimationFrame(reobserveFrame);reobserveFrame=requestAnimationFrame((()=>{var _resizeObserver;(_resizeObserver=resizeObserver)==null||_resizeObserver.observe(floating)}))}update()}));if(referenceEl&&!animationFrame){resizeObserver.observe(referenceEl)}resizeObserver.observe(floating)}let frameId;let prevRefRect=animationFrame?getBoundingClientRect(reference):null;if(animationFrame){frameLoop()}function frameLoop(){const nextRefRect=getBoundingClientRect(reference);if(prevRefRect&&(nextRefRect.x!==prevRefRect.x||nextRefRect.y!==prevRefRect.y||nextRefRect.width!==prevRefRect.width||nextRefRect.height!==prevRefRect.height)){update()}prevRefRect=nextRefRect;frameId=requestAnimationFrame(frameLoop)}update();return()=>{var _resizeObserver2;ancestors.forEach((ancestor=>{ancestorScroll&&ancestor.removeEventListener("scroll",update);ancestorResize&&ancestor.removeEventListener("resize",update)}));cleanupIo==null||cleanupIo();(_resizeObserver2=resizeObserver)==null||_resizeObserver2.disconnect();resizeObserver=null;if(animationFrame){cancelAnimationFrame(frameId)}}}const offset$1=offset$2;const shift$1=shift$2;const flip$1=flip$2;const arrow$2=arrow$3;const computePosition=(reference,floating,options)=>{const cache=new Map;const mergedOptions={platform:platform,...options};const platformWithCache={...mergedOptions.platform,_c:cache};return computePosition$1(reference,floating,{...mergedOptions,platform:platformWithCache})};var index$1=typeof document!=="undefined"?useLayoutEffect:useEffect;function deepEqual(a,b){if(a===b){return true}if(typeof a!==typeof b){return false}if(typeof a==="function"&&a.toString()===b.toString()){return true}let length;let i;let keys;if(a&&b&&typeof a==="object"){if(Array.isArray(a)){length=a.length;if(length!==b.length)return false;for(i=length;i--!==0;){if(!deepEqual(a[i],b[i])){return false}}return true}keys=Object.keys(a);length=keys.length;if(length!==Object.keys(b).length){return false}for(i=length;i--!==0;){if(!{}.hasOwnProperty.call(b,keys[i])){return false}}for(i=length;i--!==0;){const key=keys[i];if(key==="_owner"&&a.$$typeof){continue}if(!deepEqual(a[key],b[key])){return false}}return true}return a!==a&&b!==b}function getDPR(element){if(typeof window==="undefined"){return 1}const win=element.ownerDocument.defaultView||window;return win.devicePixelRatio||1}function roundByDPR(element,value){const dpr=getDPR(element);return Math.round(value*dpr)/dpr}function useLatestRef$1(value){const ref=React.useRef(value);index$1((()=>{ref.current=value}));return ref}function useFloating$1(options){if(options===void 0){options={}}const{placement:placement="bottom",strategy:strategy="absolute",middleware:middleware=[],platform:platform2,elements:{reference:externalReference,floating:externalFloating}={},transform:transform=true,whileElementsMounted:whileElementsMounted,open:open}=options;const[data,setData]=React.useState({x:0,y:0,strategy:strategy,placement:placement,middlewareData:{},isPositioned:false});const[latestMiddleware,setLatestMiddleware]=React.useState(middleware);if(!deepEqual(latestMiddleware,middleware)){setLatestMiddleware(middleware)}const[_reference,_setReference]=React.useState(null);const[_floating,_setFloating]=React.useState(null);const setReference=React.useCallback((node=>{if(node!==referenceRef.current){referenceRef.current=node;_setReference(node)}}),[]);const setFloating=React.useCallback((node=>{if(node!==floatingRef.current){floatingRef.current=node;_setFloating(node)}}),[]);const referenceEl=externalReference||_reference;const floatingEl=externalFloating||_floating;const referenceRef=React.useRef(null);const floatingRef=React.useRef(null);const dataRef=React.useRef(data);const hasWhileElementsMounted=whileElementsMounted!=null;const whileElementsMountedRef=useLatestRef$1(whileElementsMounted);const platformRef=useLatestRef$1(platform2);const openRef=useLatestRef$1(open);const update=React.useCallback((()=>{if(!referenceRef.current||!floatingRef.current){return}const config={placement:placement,strategy:strategy,middleware:latestMiddleware};if(platformRef.current){config.platform=platformRef.current}computePosition(referenceRef.current,floatingRef.current,config).then((data2=>{const fullData={...data2,isPositioned:openRef.current!==false};if(isMountedRef.current&&!deepEqual(dataRef.current,fullData)){dataRef.current=fullData;ReactDOM.flushSync((()=>{setData(fullData)}))}}))}),[latestMiddleware,placement,strategy,platformRef,openRef]);index$1((()=>{if(open===false&&dataRef.current.isPositioned){dataRef.current.isPositioned=false;setData((data2=>({...data2,isPositioned:false})))}}),[open]);const isMountedRef=React.useRef(false);index$1((()=>{isMountedRef.current=true;return()=>{isMountedRef.current=false}}),[]);index$1((()=>{if(referenceEl)referenceRef.current=referenceEl;if(floatingEl)floatingRef.current=floatingEl;if(referenceEl&&floatingEl){if(whileElementsMountedRef.current){return whileElementsMountedRef.current(referenceEl,floatingEl,update)}update()}}),[referenceEl,floatingEl,update,whileElementsMountedRef,hasWhileElementsMounted]);const refs=React.useMemo((()=>({reference:referenceRef,floating:floatingRef,setReference:setReference,setFloating:setFloating})),[setReference,setFloating]);const elements=React.useMemo((()=>({reference:referenceEl,floating:floatingEl})),[referenceEl,floatingEl]);const floatingStyles=React.useMemo((()=>{const initialStyles={position:strategy,left:0,top:0};if(!elements.floating){return initialStyles}const x=roundByDPR(elements.floating,data.x);const y=roundByDPR(elements.floating,data.y);if(transform){return{...initialStyles,transform:"translate("+x+"px, "+y+"px)",...getDPR(elements.floating)>=1.5&&{willChange:"transform"}}}return{position:strategy,left:x,top:y}}),[strategy,transform,elements.floating,data.x,data.y]);return React.useMemo((()=>({...data,update:update,refs:refs,elements:elements,floatingStyles:floatingStyles})),[data,update,refs,elements,floatingStyles])}const arrow$1=options=>{function isRef(value){return{}.hasOwnProperty.call(value,"current")}return{name:"arrow",options:options,fn(state){const{element:element,padding:padding}=typeof options==="function"?options(state):options;if(element&&isRef(element)){if(element.current!=null){return arrow$2({element:element.current,padding:padding}).fn(state)}return{}}if(element){return arrow$2({element:element,padding:padding}).fn(state)}return{}}}};const offset=(options,deps)=>({...offset$1(options),options:[options,deps]});const shift=(options,deps)=>({...shift$1(options),options:[options,deps]});const flip=(options,deps)=>({...flip$1(options),options:[options,deps]});const arrow=(options,deps)=>({...arrow$1(options),options:[options,deps]});const SafeReact={...React};const useInsertionEffect=SafeReact.useInsertionEffect;const useSafeInsertionEffect=useInsertionEffect||(fn=>fn());function useEffectEvent(callback){const ref=React.useRef((()=>{}));useSafeInsertionEffect((()=>{ref.current=callback}));return React.useCallback((function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return ref.current==null?void 0:ref.current(...args)}),[])}var index=typeof document!=="undefined"?useLayoutEffect:useEffect;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}let serverHandoffComplete=false;let count=0;const genId=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+count++;function useFloatingId(){const[id,setId]=React.useState((()=>serverHandoffComplete?genId():void 0));index((()=>{if(id==null){setId(genId())}}),[]);React.useEffect((()=>{serverHandoffComplete=true}),[]);return id}const useReactId=SafeReact.useId;const useId=useReactId||useFloatingId;function createPubSub(){const map=new Map;return{emit(event,data){var _map$get;(_map$get=map.get(event))==null||_map$get.forEach((handler=>handler(data)))},on(event,listener){map.set(event,[...map.get(event)||[],listener])},off(event,listener){var _map$get2;map.set(event,((_map$get2=map.get(event))==null?void 0:_map$get2.filter((l=>l!==listener)))||[])}}}const FloatingNodeContext=React.createContext(null);const FloatingTreeContext=React.createContext(null);const useFloatingParentNodeId=()=>{var _React$useContext;return((_React$useContext=React.useContext(FloatingNodeContext))==null?void 0:_React$useContext.id)||null};const useFloatingTree=()=>React.useContext(FloatingTreeContext);function createAttribute(name){return"data-floating-ui-"+name}function useLatestRef(value){const ref=useRef(value);index((()=>{ref.current=value}));return ref}const safePolygonIdentifier=createAttribute("safe-polygon");function getDelay(value,prop,pointerType){if(pointerType&&!isMouseLikePointerType(pointerType)){return 0}if(typeof value==="number"){return value}return value==null?void 0:value[prop]}function useHover(context,props){if(props===void 0){props={}}const{open:open,onOpenChange:onOpenChange,dataRef:dataRef,events:events,elements:elements}=context;const{enabled:enabled=true,delay:delay=0,handleClose:handleClose=null,mouseOnly:mouseOnly=false,restMs:restMs=0,move:move=true}=props;const tree=useFloatingTree();const parentId=useFloatingParentNodeId();const handleCloseRef=useLatestRef(handleClose);const delayRef=useLatestRef(delay);const openRef=useLatestRef(open);const pointerTypeRef=React.useRef();const timeoutRef=React.useRef(-1);const handlerRef=React.useRef();const restTimeoutRef=React.useRef(-1);const blockMouseMoveRef=React.useRef(true);const performedPointerEventsMutationRef=React.useRef(false);const unbindMouseMoveRef=React.useRef((()=>{}));const restTimeoutPendingRef=React.useRef(false);const isHoverOpen=React.useCallback((()=>{var _dataRef$current$open;const type=(_dataRef$current$open=dataRef.current.openEvent)==null?void 0:_dataRef$current$open.type;return(type==null?void 0:type.includes("mouse"))&&type!=="mousedown"}),[dataRef]);React.useEffect((()=>{if(!enabled)return;function onOpenChange2(_ref){let{open:open2}=_ref;if(!open2){clearTimeout(timeoutRef.current);clearTimeout(restTimeoutRef.current);blockMouseMoveRef.current=true;restTimeoutPendingRef.current=false}}events.on("openchange",onOpenChange2);return()=>{events.off("openchange",onOpenChange2)}}),[enabled,events]);React.useEffect((()=>{if(!enabled)return;if(!handleCloseRef.current)return;if(!open)return;function onLeave(event){if(isHoverOpen()){onOpenChange(false,event,"hover")}}const html=getDocument(elements.floating).documentElement;html.addEventListener("mouseleave",onLeave);return()=>{html.removeEventListener("mouseleave",onLeave)}}),[elements.floating,open,onOpenChange,enabled,handleCloseRef,isHoverOpen]);const closeWithDelay=React.useCallback((function(event,runElseBranch,reason){if(runElseBranch===void 0){runElseBranch=true}if(reason===void 0){reason="hover"}const closeDelay=getDelay(delayRef.current,"close",pointerTypeRef.current);if(closeDelay&&!handlerRef.current){clearTimeout(timeoutRef.current);timeoutRef.current=window.setTimeout((()=>onOpenChange(false,event,reason)),closeDelay)}else if(runElseBranch){clearTimeout(timeoutRef.current);onOpenChange(false,event,reason)}}),[delayRef,onOpenChange]);const cleanupMouseMoveHandler=useEffectEvent((()=>{unbindMouseMoveRef.current();handlerRef.current=void 0}));const clearPointerEvents=useEffectEvent((()=>{if(performedPointerEventsMutationRef.current){const body=getDocument(elements.floating).body;body.style.pointerEvents="";body.removeAttribute(safePolygonIdentifier);performedPointerEventsMutationRef.current=false}}));const isClickLikeOpenEvent=useEffectEvent((()=>dataRef.current.openEvent?["click","mousedown"].includes(dataRef.current.openEvent.type):false));React.useEffect((()=>{if(!enabled)return;function onMouseEnter(event){clearTimeout(timeoutRef.current);blockMouseMoveRef.current=false;if(mouseOnly&&!isMouseLikePointerType(pointerTypeRef.current)||restMs>0&&!getDelay(delayRef.current,"open")){return}const openDelay=getDelay(delayRef.current,"open",pointerTypeRef.current);if(openDelay){timeoutRef.current=window.setTimeout((()=>{if(!openRef.current){onOpenChange(true,event,"hover")}}),openDelay)}else if(!open){onOpenChange(true,event,"hover")}}function onMouseLeave(event){if(isClickLikeOpenEvent())return;unbindMouseMoveRef.current();const doc=getDocument(elements.floating);clearTimeout(restTimeoutRef.current);restTimeoutPendingRef.current=false;if(handleCloseRef.current&&dataRef.current.floatingContext){if(!open){clearTimeout(timeoutRef.current)}handlerRef.current=handleCloseRef.current({...dataRef.current.floatingContext,tree:tree,x:event.clientX,y:event.clientY,onClose(){clearPointerEvents();cleanupMouseMoveHandler();if(!isClickLikeOpenEvent()){closeWithDelay(event,true,"safe-polygon")}}});const handler=handlerRef.current;doc.addEventListener("mousemove",handler);unbindMouseMoveRef.current=()=>{doc.removeEventListener("mousemove",handler)};return}const shouldClose=pointerTypeRef.current==="touch"?!contains(elements.floating,event.relatedTarget):true;if(shouldClose){closeWithDelay(event)}}function onScrollMouseLeave(event){if(isClickLikeOpenEvent())return;if(!dataRef.current.floatingContext)return;handleCloseRef.current==null||handleCloseRef.current({...dataRef.current.floatingContext,tree:tree,x:event.clientX,y:event.clientY,onClose(){clearPointerEvents();cleanupMouseMoveHandler();if(!isClickLikeOpenEvent()){closeWithDelay(event)}}})(event)}if(isElement(elements.domReference)){var _elements$floating;const ref=elements.domReference;open&&ref.addEventListener("mouseleave",onScrollMouseLeave);(_elements$floating=elements.floating)==null||_elements$floating.addEventListener("mouseleave",onScrollMouseLeave);move&&ref.addEventListener("mousemove",onMouseEnter,{once:true});ref.addEventListener("mouseenter",onMouseEnter);ref.addEventListener("mouseleave",onMouseLeave);return()=>{var _elements$floating2;open&&ref.removeEventListener("mouseleave",onScrollMouseLeave);(_elements$floating2=elements.floating)==null||_elements$floating2.removeEventListener("mouseleave",onScrollMouseLeave);move&&ref.removeEventListener("mousemove",onMouseEnter);ref.removeEventListener("mouseenter",onMouseEnter);ref.removeEventListener("mouseleave",onMouseLeave)}}}),[elements,enabled,context,mouseOnly,restMs,move,closeWithDelay,cleanupMouseMoveHandler,clearPointerEvents,onOpenChange,open,openRef,tree,delayRef,handleCloseRef,dataRef,isClickLikeOpenEvent]);index((()=>{var _handleCloseRef$curre;if(!enabled)return;if(open&&(_handleCloseRef$curre=handleCloseRef.current)!=null&&_handleCloseRef$curre.__options.blockPointerEvents&&isHoverOpen()){performedPointerEventsMutationRef.current=true;const floatingEl=elements.floating;if(isElement(elements.domReference)&&floatingEl){var _tree$nodesRef$curren;const body=getDocument(elements.floating).body;body.setAttribute(safePolygonIdentifier,"");const ref=elements.domReference;const parentFloating=tree==null||(_tree$nodesRef$curren=tree.nodesRef.current.find((node=>node.id===parentId)))==null||(_tree$nodesRef$curren=_tree$nodesRef$curren.context)==null?void 0:_tree$nodesRef$curren.elements.floating;if(parentFloating){parentFloating.style.pointerEvents=""}body.style.pointerEvents="none";ref.style.pointerEvents="auto";floatingEl.style.pointerEvents="auto";return()=>{body.style.pointerEvents="";ref.style.pointerEvents="";floatingEl.style.pointerEvents=""}}}}),[enabled,open,parentId,elements,tree,handleCloseRef,isHoverOpen]);index((()=>{if(!open){pointerTypeRef.current=void 0;restTimeoutPendingRef.current=false;cleanupMouseMoveHandler();clearPointerEvents()}}),[open,cleanupMouseMoveHandler,clearPointerEvents]);React.useEffect((()=>()=>{cleanupMouseMoveHandler();clearTimeout(timeoutRef.current);clearTimeout(restTimeoutRef.current);clearPointerEvents()}),[enabled,elements.domReference,cleanupMouseMoveHandler,clearPointerEvents]);const reference=React.useMemo((()=>{function setPointerRef(event){pointerTypeRef.current=event.pointerType}return{onPointerDown:setPointerRef,onPointerEnter:setPointerRef,onMouseMove(event){const{nativeEvent:nativeEvent}=event;function handleMouseMove(){if(!blockMouseMoveRef.current&&!openRef.current){onOpenChange(true,nativeEvent,"hover")}}if(mouseOnly&&!isMouseLikePointerType(pointerTypeRef.current)){return}if(open||restMs===0){return}if(restTimeoutPendingRef.current&&event.movementX**2+event.movementY**2<2){return}clearTimeout(restTimeoutRef.current);if(pointerTypeRef.current==="touch"){handleMouseMove()}else{restTimeoutPendingRef.current=true;restTimeoutRef.current=window.setTimeout(handleMouseMove,restMs)}}}}),[mouseOnly,onOpenChange,open,openRef,restMs]);const floating=React.useMemo((()=>({onMouseEnter(){clearTimeout(timeoutRef.current)},onMouseLeave(event){if(!isClickLikeOpenEvent()){closeWithDelay(event.nativeEvent,false)}}})),[closeWithDelay,isClickLikeOpenEvent]);return React.useMemo((()=>enabled?{reference:reference,floating:floating}:{}),[enabled,reference,floating])}function getChildren(nodes,id){let allChildren=nodes.filter((node=>{var _node$context;return node.parentId===id&&((_node$context=node.context)==null?void 0:_node$context.open)}));let currentChildren=allChildren;while(currentChildren.length){currentChildren=nodes.filter((node=>{var _currentChildren;return(_currentChildren=currentChildren)==null?void 0:_currentChildren.some((n=>{var _node$context2;return node.parentId===n.id&&((_node$context2=node.context)==null?void 0:_node$context2.open)}))}));allChildren=allChildren.concat(currentChildren)}return allChildren}const getTabbableOptions=()=>({getShadowRoot:true,displayCheck:typeof ResizeObserver==="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function getTabbableIn(container,direction){const allTabbable=tabbable(container,getTabbableOptions());if(direction==="prev"){allTabbable.reverse()}const activeIndex=allTabbable.indexOf(activeElement(getDocument(container)));const nextTabbableElements=allTabbable.slice(activeIndex+1);return nextTabbableElements[0]}function getNextTabbable(){return getTabbableIn(document.body,"next")}function getPreviousTabbable(){return getTabbableIn(document.body,"prev")}function isOutsideEvent(event,container){const containerElement=container||event.currentTarget;const relatedTarget=event.relatedTarget;return!relatedTarget||!contains(containerElement,relatedTarget)}function disableFocusInside(container){const tabbableElements=tabbable(container,getTabbableOptions());tabbableElements.forEach((element=>{element.dataset.tabindex=element.getAttribute("tabindex")||"";element.setAttribute("tabindex","-1")}))}function enableFocusInside(container){const elements=container.querySelectorAll("[data-tabindex]");elements.forEach((element=>{const tabindex=element.dataset.tabindex;delete element.dataset.tabindex;if(tabindex){element.setAttribute("tabindex",tabindex)}else{element.removeAttribute("tabindex")}}))}const HIDDEN_STYLES={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0};let timeoutId;function setActiveElementOnTab(event){if(event.key==="Tab"){event.target;clearTimeout(timeoutId)}}const FocusGuard=React.forwardRef((function FocusGuard2(props,ref){const[role,setRole]=React.useState();index((()=>{if(isSafari()){setRole("button")}document.addEventListener("keydown",setActiveElementOnTab);return()=>{document.removeEventListener("keydown",setActiveElementOnTab)}}),[]);const restProps={ref:ref,tabIndex:0,role:role,"aria-hidden":role?void 0:true,[createAttribute("focus-guard")]:"",style:HIDDEN_STYLES};return React.createElement("span",_extends({},props,restProps))}));const PortalContext=React.createContext(null);const attr=createAttribute("portal");function useFloatingPortalNode(props){if(props===void 0){props={}}const{id:id,root:root}=props;const uniqueId=useId();const portalContext=usePortalContext();const[portalNode,setPortalNode]=React.useState(null);const portalNodeRef=React.useRef(null);index((()=>()=>{portalNode==null||portalNode.remove();queueMicrotask((()=>{portalNodeRef.current=null}))}),[portalNode]);index((()=>{if(!uniqueId)return;if(portalNodeRef.current)return;const existingIdRoot=id?document.getElementById(id):null;if(!existingIdRoot)return;const subRoot=document.createElement("div");subRoot.id=uniqueId;subRoot.setAttribute(attr,"");existingIdRoot.appendChild(subRoot);portalNodeRef.current=subRoot;setPortalNode(subRoot)}),[id,uniqueId]);index((()=>{if(root===null)return;if(!uniqueId)return;if(portalNodeRef.current)return;let container=root||(portalContext==null?void 0:portalContext.portalNode);if(container&&!isElement(container))container=container.current;container=container||document.body;let idWrapper=null;if(id){idWrapper=document.createElement("div");idWrapper.id=id;container.appendChild(idWrapper)}const subRoot=document.createElement("div");subRoot.id=uniqueId;subRoot.setAttribute(attr,"");container=idWrapper||container;container.appendChild(subRoot);portalNodeRef.current=subRoot;setPortalNode(subRoot)}),[id,root,uniqueId,portalContext]);return portalNode}function FloatingPortal(props){const{children:children,id:id,root:root,preserveTabOrder:preserveTabOrder=true}=props;const portalNode=useFloatingPortalNode({id:id,root:root});const[focusManagerState,setFocusManagerState]=React.useState(null);const beforeOutsideRef=React.useRef(null);const afterOutsideRef=React.useRef(null);const beforeInsideRef=React.useRef(null);const afterInsideRef=React.useRef(null);const modal=focusManagerState==null?void 0:focusManagerState.modal;const open=focusManagerState==null?void 0:focusManagerState.open;const shouldRenderGuards=!!focusManagerState&&!focusManagerState.modal&&focusManagerState.open&&preserveTabOrder&&!!(root||portalNode);React.useEffect((()=>{if(!portalNode||!preserveTabOrder||modal){return}function onFocus(event){if(portalNode&&isOutsideEvent(event)){const focusing=event.type==="focusin";const manageFocus=focusing?enableFocusInside:disableFocusInside;manageFocus(portalNode)}}portalNode.addEventListener("focusin",onFocus,true);portalNode.addEventListener("focusout",onFocus,true);return()=>{portalNode.removeEventListener("focusin",onFocus,true);portalNode.removeEventListener("focusout",onFocus,true)}}),[portalNode,preserveTabOrder,modal]);React.useEffect((()=>{if(!portalNode)return;if(open)return;enableFocusInside(portalNode)}),[open,portalNode]);return React.createElement(PortalContext.Provider,{value:React.useMemo((()=>({preserveTabOrder:preserveTabOrder,beforeOutsideRef:beforeOutsideRef,afterOutsideRef:afterOutsideRef,beforeInsideRef:beforeInsideRef,afterInsideRef:afterInsideRef,portalNode:portalNode,setFocusManagerState:setFocusManagerState})),[preserveTabOrder,portalNode])},shouldRenderGuards&&portalNode&&React.createElement(FocusGuard,{"data-type":"outside",ref:beforeOutsideRef,onFocus:event=>{if(isOutsideEvent(event,portalNode)){var _beforeInsideRef$curr;(_beforeInsideRef$curr=beforeInsideRef.current)==null||_beforeInsideRef$curr.focus()}else{const prevTabbable=getPreviousTabbable()||(focusManagerState==null?void 0:focusManagerState.refs.domReference.current);prevTabbable==null||prevTabbable.focus()}}}),shouldRenderGuards&&portalNode&&React.createElement("span",{"aria-owns":portalNode.id,style:HIDDEN_STYLES}),portalNode&&ReactDOM.createPortal(children,portalNode),shouldRenderGuards&&portalNode&&React.createElement(FocusGuard,{"data-type":"outside",ref:afterOutsideRef,onFocus:event=>{if(isOutsideEvent(event,portalNode)){var _afterInsideRef$curre;(_afterInsideRef$curre=afterInsideRef.current)==null||_afterInsideRef$curre.focus()}else{const nextTabbable=getNextTabbable()||(focusManagerState==null?void 0:focusManagerState.refs.domReference.current);nextTabbable==null||nextTabbable.focus();(focusManagerState==null?void 0:focusManagerState.closeOnFocusOut)&&(focusManagerState==null?void 0:focusManagerState.onOpenChange(false,event.nativeEvent,"focus-out"))}}}))}const usePortalContext=()=>React.useContext(PortalContext);const FOCUSABLE_ATTRIBUTE="data-floating-ui-focusable";function isButtonTarget(event){return isHTMLElement(event.target)&&event.target.tagName==="BUTTON"}function isSpaceIgnored(element){return isTypeableElement(element)}function useClick(context,props){if(props===void 0){props={}}const{open:open,onOpenChange:onOpenChange,dataRef:dataRef,elements:{domReference:domReference}}=context;const{enabled:enabled=true,event:eventOption="click",toggle:toggle=true,ignoreMouse:ignoreMouse=false,keyboardHandlers:keyboardHandlers=true,stickIfOpen:stickIfOpen=true}=props;const pointerTypeRef=React.useRef();const didKeyDownRef=React.useRef(false);const reference=React.useMemo((()=>({onPointerDown(event){pointerTypeRef.current=event.pointerType},onMouseDown(event){const pointerType=pointerTypeRef.current;if(event.button!==0)return;if(eventOption==="click")return;if(isMouseLikePointerType(pointerType,true)&&ignoreMouse)return;if(open&&toggle&&(dataRef.current.openEvent&&stickIfOpen?dataRef.current.openEvent.type==="mousedown":true)){onOpenChange(false,event.nativeEvent,"click")}else{event.preventDefault();onOpenChange(true,event.nativeEvent,"click")}},onClick(event){const pointerType=pointerTypeRef.current;if(eventOption==="mousedown"&&pointerTypeRef.current){pointerTypeRef.current=void 0;return}if(isMouseLikePointerType(pointerType,true)&&ignoreMouse)return;if(open&&toggle&&(dataRef.current.openEvent&&stickIfOpen?dataRef.current.openEvent.type==="click":true)){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}},onKeyDown(event){pointerTypeRef.current=void 0;if(event.defaultPrevented||!keyboardHandlers||isButtonTarget(event)){return}if(event.key===" "&&!isSpaceIgnored(domReference)){event.preventDefault();didKeyDownRef.current=true}if(event.key==="Enter"){if(open&&toggle){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}}},onKeyUp(event){if(event.defaultPrevented||!keyboardHandlers||isButtonTarget(event)||isSpaceIgnored(domReference)){return}if(event.key===" "&&didKeyDownRef.current){didKeyDownRef.current=false;if(open&&toggle){onOpenChange(false,event.nativeEvent,"click")}else{onOpenChange(true,event.nativeEvent,"click")}}}})),[dataRef,domReference,eventOption,ignoreMouse,keyboardHandlers,onOpenChange,open,stickIfOpen,toggle]);return React.useMemo((()=>enabled?{reference:reference}:{}),[enabled,reference])}function useFloatingRootContext(options){const{open:open=false,onOpenChange:onOpenChangeProp,elements:elementsProp}=options;const floatingId=useId();const dataRef=React.useRef({});const[events]=React.useState((()=>createPubSub()));const nested=useFloatingParentNodeId()!=null;const[positionReference,setPositionReference]=React.useState(elementsProp.reference);const onOpenChange=useEffectEvent(((open2,event,reason)=>{dataRef.current.openEvent=open2?event:void 0;events.emit("openchange",{open:open2,event:event,reason:reason,nested:nested});onOpenChangeProp==null||onOpenChangeProp(open2,event,reason)}));const refs=React.useMemo((()=>({setPositionReference:setPositionReference})),[]);const elements=React.useMemo((()=>({reference:positionReference||elementsProp.reference||null,floating:elementsProp.floating||null,domReference:elementsProp.reference})),[positionReference,elementsProp.reference,elementsProp.floating]);return React.useMemo((()=>({dataRef:dataRef,open:open,onOpenChange:onOpenChange,elements:elements,events:events,floatingId:floatingId,refs:refs})),[open,onOpenChange,elements,events,floatingId,refs])}function useFloating(options){if(options===void 0){options={}}const{nodeId:nodeId}=options;const internalRootContext=useFloatingRootContext({...options,elements:{reference:null,floating:null,...options.elements}});const rootContext=options.rootContext||internalRootContext;const computedElements=rootContext.elements;const[_domReference,setDomReference]=React.useState(null);const[positionReference,_setPositionReference]=React.useState(null);const optionDomReference=computedElements==null?void 0:computedElements.domReference;const domReference=optionDomReference||_domReference;const domReferenceRef=React.useRef(null);const tree=useFloatingTree();index((()=>{if(domReference){domReferenceRef.current=domReference}}),[domReference]);const position=useFloating$1({...options,elements:{...computedElements,...positionReference&&{reference:positionReference}}});const setPositionReference=React.useCallback((node=>{const computedPositionReference=isElement(node)?{getBoundingClientRect:()=>node.getBoundingClientRect(),contextElement:node}:node;_setPositionReference(computedPositionReference);position.refs.setReference(computedPositionReference)}),[position.refs]);const setReference=React.useCallback((node=>{if(isElement(node)||node===null){domReferenceRef.current=node;setDomReference(node)}if(isElement(position.refs.reference.current)||position.refs.reference.current===null||node!==null&&!isElement(node)){position.refs.setReference(node)}}),[position.refs]);const refs=React.useMemo((()=>({...position.refs,setReference:setReference,setPositionReference:setPositionReference,domReference:domReferenceRef})),[position.refs,setReference,setPositionReference]);const elements=React.useMemo((()=>({...position.elements,domReference:domReference})),[position.elements,domReference]);const context=React.useMemo((()=>({...position,...rootContext,refs:refs,elements:elements,nodeId:nodeId})),[position,refs,elements,nodeId,rootContext]);index((()=>{rootContext.dataRef.current.floatingContext=context;const node=tree==null?void 0:tree.nodesRef.current.find((node2=>node2.id===nodeId));if(node){node.context=context}}));return React.useMemo((()=>({...position,context:context,refs:refs,elements:elements})),[position,refs,elements,context])}const ACTIVE_KEY="active";const SELECTED_KEY="selected";function mergeProps(userProps,propsList,elementKey){const map=new Map;const isItem=elementKey==="item";let domUserProps=userProps;if(isItem&&userProps){const{[ACTIVE_KEY]:_,[SELECTED_KEY]:__,...validProps}=userProps;domUserProps=validProps}return{...elementKey==="floating"&&{tabIndex:-1,[FOCUSABLE_ATTRIBUTE]:""},...domUserProps,...propsList.map((value=>{const propsOrGetProps=value?value[elementKey]:null;if(typeof propsOrGetProps==="function"){return userProps?propsOrGetProps(userProps):null}return propsOrGetProps})).concat(userProps).reduce(((acc,props)=>{if(!props){return acc}Object.entries(props).forEach((_ref=>{let[key,value]=_ref;if(isItem&&[ACTIVE_KEY,SELECTED_KEY].includes(key)){return}if(key.indexOf("on")===0){if(!map.has(key)){map.set(key,[])}if(typeof value==="function"){var _map$get;(_map$get=map.get(key))==null||_map$get.push(value);acc[key]=function(){var _map$get2;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return(_map$get2=map.get(key))==null?void 0:_map$get2.map((fn=>fn(...args))).find((val=>val!==void 0))}}}else{acc[key]=value}}));return acc}),{})}}function useInteractions(propsList){if(propsList===void 0){propsList=[]}const referenceDeps=propsList.map((key=>key==null?void 0:key.reference));const floatingDeps=propsList.map((key=>key==null?void 0:key.floating));const itemDeps=propsList.map((key=>key==null?void 0:key.item));const getReferenceProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"reference")),referenceDeps);const getFloatingProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"floating")),floatingDeps);const getItemProps=React.useCallback((userProps=>mergeProps(userProps,propsList,"item")),itemDeps);return React.useMemo((()=>({getReferenceProps:getReferenceProps,getFloatingProps:getFloatingProps,getItemProps:getItemProps})),[getReferenceProps,getFloatingProps,getItemProps])}function isPointInPolygon(point,polygon){const[x,y]=point;let isInside2=false;const length=polygon.length;for(let i=0,j=length-1;i<length;j=i++){const[xi,yi]=polygon[i]||[0,0];const[xj,yj]=polygon[j]||[0,0];const intersect=yi>=y!==yj>=y&&x<=(xj-xi)*(y-yi)/(yj-yi)+xi;if(intersect){isInside2=!isInside2}}return isInside2}function isInside(point,rect){return point[0]>=rect.x&&point[0]<=rect.x+rect.width&&point[1]>=rect.y&&point[1]<=rect.y+rect.height}function safePolygon(options){if(options===void 0){options={}}const{buffer:buffer=.5,blockPointerEvents:blockPointerEvents=false,requireIntent:requireIntent=true}=options;let timeoutId2;let hasLanded=false;let lastX=null;let lastY=null;let lastCursorTime=performance.now();function getCursorSpeed(x,y){const currentTime=performance.now();const elapsedTime=currentTime-lastCursorTime;if(lastX===null||lastY===null||elapsedTime===0){lastX=x;lastY=y;lastCursorTime=currentTime;return null}const deltaX=x-lastX;const deltaY=y-lastY;const distance=Math.sqrt(deltaX*deltaX+deltaY*deltaY);const speed=distance/elapsedTime;lastX=x;lastY=y;lastCursorTime=currentTime;return speed}const fn=_ref=>{let{x:x,y:y,placement:placement,elements:elements,onClose:onClose,nodeId:nodeId,tree:tree}=_ref;return function onMouseMove(event){function close(){clearTimeout(timeoutId2);onClose()}clearTimeout(timeoutId2);if(!elements.domReference||!elements.floating||placement==null||x==null||y==null){return}const{clientX:clientX,clientY:clientY}=event;const clientPoint=[clientX,clientY];const target=getTarget(event);const isLeave=event.type==="mouseleave";const isOverFloatingEl=contains(elements.floating,target);const isOverReferenceEl=contains(elements.domReference,target);const refRect=elements.domReference.getBoundingClientRect();const rect=elements.floating.getBoundingClientRect();const side=placement.split("-")[0];const cursorLeaveFromRight=x>rect.right-rect.width/2;const cursorLeaveFromBottom=y>rect.bottom-rect.height/2;const isOverReferenceRect=isInside(clientPoint,refRect);const isFloatingWider=rect.width>refRect.width;const isFloatingTaller=rect.height>refRect.height;const left=(isFloatingWider?refRect:rect).left;const right=(isFloatingWider?refRect:rect).right;const top=(isFloatingTaller?refRect:rect).top;const bottom=(isFloatingTaller?refRect:rect).bottom;if(isOverFloatingEl){hasLanded=true;if(!isLeave){return}}if(isOverReferenceEl){hasLanded=false}if(isOverReferenceEl&&!isLeave){hasLanded=true;return}if(isLeave&&isElement(event.relatedTarget)&&contains(elements.floating,event.relatedTarget)){return}if(tree&&getChildren(tree.nodesRef.current,nodeId).some((_ref2=>{let{context:context}=_ref2;return context==null?void 0:context.open}))){return}if(side==="top"&&y>=refRect.bottom-1||side==="bottom"&&y<=refRect.top+1||side==="left"&&x>=refRect.right-1||side==="right"&&x<=refRect.left+1){return close()}let rectPoly=[];switch(side){case"top":rectPoly=[[left,refRect.top+1],[left,rect.bottom-1],[right,rect.bottom-1],[right,refRect.top+1]];break;case"bottom":rectPoly=[[left,rect.top+1],[left,refRect.bottom-1],[right,refRect.bottom-1],[right,rect.top+1]];break;case"left":rectPoly=[[rect.right-1,bottom],[rect.right-1,top],[refRect.left+1,top],[refRect.left+1,bottom]];break;case"right":rectPoly=[[refRect.right-1,bottom],[refRect.right-1,top],[rect.left+1,top],[rect.left+1,bottom]];break}function getPolygon(_ref3){let[x2,y2]=_ref3;switch(side){case"top":{const cursorPointOne=[isFloatingWider?x2+buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2+buffer+1];const cursorPointTwo=[isFloatingWider?x2-buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2+buffer+1];const commonPoints=[[rect.left,cursorLeaveFromRight?rect.bottom-buffer:isFloatingWider?rect.bottom-buffer:rect.top],[rect.right,cursorLeaveFromRight?isFloatingWider?rect.bottom-buffer:rect.top:rect.bottom-buffer]];return[cursorPointOne,cursorPointTwo,...commonPoints]}case"bottom":{const cursorPointOne=[isFloatingWider?x2+buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2-buffer];const cursorPointTwo=[isFloatingWider?x2-buffer/2:cursorLeaveFromRight?x2+buffer*4:x2-buffer*4,y2-buffer];const commonPoints=[[rect.left,cursorLeaveFromRight?rect.top+buffer:isFloatingWider?rect.top+buffer:rect.bottom],[rect.right,cursorLeaveFromRight?isFloatingWider?rect.top+buffer:rect.bottom:rect.top+buffer]];return[cursorPointOne,cursorPointTwo,...commonPoints]}case"left":{const cursorPointOne=[x2+buffer+1,isFloatingTaller?y2+buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const cursorPointTwo=[x2+buffer+1,isFloatingTaller?y2-buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const commonPoints=[[cursorLeaveFromBottom?rect.right-buffer:isFloatingTaller?rect.right-buffer:rect.left,rect.top],[cursorLeaveFromBottom?isFloatingTaller?rect.right-buffer:rect.left:rect.right-buffer,rect.bottom]];return[...commonPoints,cursorPointOne,cursorPointTwo]}case"right":{const cursorPointOne=[x2-buffer,isFloatingTaller?y2+buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const cursorPointTwo=[x2-buffer,isFloatingTaller?y2-buffer/2:cursorLeaveFromBottom?y2+buffer*4:y2-buffer*4];const commonPoints=[[cursorLeaveFromBottom?rect.left+buffer:isFloatingTaller?rect.left+buffer:rect.right,rect.top],[cursorLeaveFromBottom?isFloatingTaller?rect.left+buffer:rect.right:rect.left+buffer,rect.bottom]];return[cursorPointOne,cursorPointTwo,...commonPoints]}}}if(isPointInPolygon([clientX,clientY],rectPoly)){return}if(hasLanded&&!isOverReferenceRect){return close()}if(!isLeave&&requireIntent){const cursorSpeed=getCursorSpeed(event.clientX,event.clientY);const cursorSpeedThreshold=.1;if(cursorSpeed!==null&&cursorSpeed<cursorSpeedThreshold){return close()}}if(!isPointInPolygon([clientX,clientY],getPolygon([x,y]))){close()}else if(!hasLanded&&requireIntent){timeoutId2=window.setTimeout(close,40)}}};fn.__options={blockPointerEvents:blockPointerEvents};return fn}const TOOLTIP_BOUNDARY_PADDING=8;const Tooltip=forwardRef(((props,ref)=>{const{aria:aria={},className:className,children:children,useClickToOpen:useClickToOpen=false,data:data={},delay:delay=0,height:height,htmlOptions:htmlOptions={},icon:icon=null,interaction:interaction=false,maxHeight:maxHeight,maxWidth:maxWidth,minHeight:minHeight,minWidth:minWidth,placement:preferredPlacement="top",position:position="absolute",text:text,showTooltip:showTooltip=true,width:width,zIndex:zIndex,forceOpenTooltip:forceOpenTooltip=false,...rest}=props;const dataProps=buildDataProps(data);const ariaProps=buildAriaProps(aria);const htmlProps=buildHtmlProps(htmlOptions);const css=classnames(globalProps({...rest}),className);const[open,setOpen]=useState(false);const arrowRef=useRef(null);const{context:context,middlewareData:{arrow:{x:arrowX,y:arrowY}={}},placement:placement,refs:refs,strategy:strategy,x:x,y:y}=useFloating({strategy:position,whileElementsMounted:autoUpdate,middleware:[offset(10),flip({fallbackPlacements:["top","right","bottom","left"],fallbackStrategy:"initialPlacement",flipAlignment:false,padding:TOOLTIP_BOUNDARY_PADDING}),shift({padding:TOOLTIP_BOUNDARY_PADDING}),arrow({element:arrowRef,padding:TOOLTIP_BOUNDARY_PADDING})],open:open,onOpenChange(open2){if(!showTooltip){return}else{setOpen(open2)}},placement:preferredPlacement});const hover=useHover(context,{delay:delay,handleClose:interaction?safePolygon({blockPointerEvents:false}):null,enabled:!useClickToOpen});const click=useClick(context,{enabled:useClickToOpen});const{getFloatingProps:getFloatingProps,getReferenceProps:getReferenceProps}=useInteractions([hover,click]);const staticSide={bottom:"top",left:"right",right:"left",top:"bottom"}[placement.split("-")[0]];const arrowPlacementStyle=staticSide?{[staticSide]:"-5px"}:{};const tooltipSizing=()=>Object.assign({},height?{height:height}:{},maxHeight?{maxHeight:maxHeight}:{},maxWidth?{maxWidth:maxWidth}:{},minHeight?{minHeight:minHeight}:{},minWidth?{minWidth:minWidth}:{},width?{width:width}:{});return jsxs(Fragment,{children:[jsx("div",{...getReferenceProps({className:`pb_tooltip_kit ${css}`,ref:element=>{refs.setReference(element);if(ref){if(typeof ref==="function"){ref(element)}else if(typeof ref==="object"){ref.current=element}}},role:"tooltip_trigger",style:{display:"inline-block"},...ariaProps,...dataProps,...htmlProps}),children:children}),(open||forceOpenTooltip)&&jsx(FloatingPortal,{children:jsxs("div",{"data-placement":placement,...getFloatingProps({className:classnames(`tooltip_tooltip ${placement} visible`,{dark:rest.dark}),ref:refs.setFloating,role:"tooltip",style:{...tooltipSizing(),position:strategy,top:y??0,left:x??0,...zIndex?{zIndex:zIndex}:{}}}),children:[jsxs(Flex,{align:"center",gap:"xs",children:[icon&&jsx("i",{className:`pb_icon_kit`,children:jsx(Icon,{icon:icon})}),text]}),jsx("div",{className:"arrow_bg",ref:arrowRef,style:{position:"absolute",left:arrowX!=null?`${arrowX}px`:"",top:arrowY!=null?`${arrowY}px`:"",...arrowPlacementStyle}})]})})]})}));Tooltip.displayName="Tooltip";const Title=props=>{if(props.variant);const{aria:aria={},children:children,className:className,color:color,data:data={},htmlOptions:htmlOptions={},id:id,size:size=3,displaySize:displaySize=null,bold:bold=true,tag:tag="h3",text:text,variant:variant=null}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const isSizeNumberOrString=typeof size==="number"||typeof size==="string";const buildResponsiveSizeCss=()=>{const classes2=[];if(!isSizeNumberOrString){Object.entries(size).forEach((sizeObj=>{classes2.push(`pb_title_${sizeObj[0]}_${sizeObj[1]}`)}))}return classes2};const buildDisplaySize=()=>{if(displaySize){return[`pb_title_dynamic_${displaySize}`]}return[]};const titleClasses=["pb_title_kit"];if(isSizeNumberOrString){titleClasses.push(`pb_title_${size}`)}if(variant)titleClasses.push(`pb_title_${variant}`);if(color)titleClasses.push(`pb_title_${color}`);if(!bold)titleClasses.push("pb_title_thin");titleClasses.push(...buildDisplaySize());titleClasses.push(...buildResponsiveSizeCss());const classes=classnames(titleClasses.join(" "),globalProps(props),className);const Tag=`${tag}`;return jsx(Tag,{...ariaProps,...dataProps,...htmlProps,...globalEventProps(props),className:classes,id:id,children:text||children})};const DialogContext=React__default.createContext(null);const Detail=props=>{const{aria:aria={},bold:bold=false,children:children,className:className,color:color="light",data:data={},htmlOptions:htmlOptions={},id:id="",tag:tag="div",text:text=""}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const isBold=bold?"bold":null;const classes=classnames(buildCss("pb_detail_kit",`color`,color),isBold,globalProps(props),className);const Tag=`${tag}`;return jsx(Tag,{...ariaProps,...dataProps,...htmlProps,...globalEventProps(props),className:classes,id:id,children:text||children})};export{Body as B,Caption as C,Detail as D,Flex as F,Highlight as H,Icon as I,Tooltip as T,Card as a,Draggable as b,DialogContext as c,Title as d,Image as e,DraggableProvider as f,globalEventProps as g,DraggableContext as h,isValidEmoji as i};
@@ -0,0 +1 @@
1
+ import{jsx,Fragment,jsxs}from"react/jsx-runtime";import*as React from"react";import React__default,{forwardRef,useRef,useEffect,createContext,useContext,useState,useCallback,useMemo}from"react";import{i as isValidEmoji,F as Flex,I as Icon,C as Caption,B as Body,b as Draggable,c as DialogContext,d as Title,a as Card,g as globalEventProps,e as Image,D as Detail}from"./_detail-Bsvl694i.js";import{b as buildAriaProps,a as buildDataProps,c as buildHtmlProps,d as classnames,g as globalProps,e as buildCss,n as noop,f as globalInlineProps}from"./globalProps-B120NbSJ.js";import{U as getAllIcons,V as spacing,c as colors,W as useCollapsible,X as DateTime,g as getDefaultExportFromCjs,y as createPopper,Y as uniqueId,Z as isPortaledFloatingKitInteraction,H as PB_FLOATING_OWNER_ATTR,_ as resolveFullscreenOverlayForElement,z as flatpickr,$ as omitBy,a0 as isEmpty,a1 as map,a2 as partial,a3 as find,a4 as scheduleStickyColumns,a5 as applyStickyColumns}from"./lib-Buo6zHEw.js";import*as ReactDOM from"react-dom";import ReactDOM__default from"react-dom";import{a as startOfDay,e as endOfDay,b as stringHasExplicitTime,p as parseQuickPickDateTime,c as parseQuickPickDateOnly}from"./quickpickDateSync-DLDx4zce.js";const buttonClassName=props=>{const{disabled:disabled=false,fullWidth:fullWidth=false,highlight:highlight,icon:icon,loading:loading=false,type:type="inline",variant:variant="primary",size:size=null,text:text,children:children}=props;const classNames=["pb_button_kit"];const isIconOnly=icon&&!text&&!children&&variant!=="reaction";if(variant)classNames.push(`pb_button_${variant}`);if(type)classNames.push(`pb_button_${type}`);if(fullWidth)classNames.push("pb_button_block");classNames.push(disabled?"pb_button_disabled":"pb_button_enabled");if(loading)classNames.push("pb_button_loading");if(size)classNames.push(`pb_button_size_${size}`);if(variant==="reaction"&&icon&&!isValidEmoji(icon))classNames.push("pb_button_reaction_default");if(variant==="reaction"&&highlight)classNames.push("pb_button_active");if(isIconOnly)classNames.push("pb_button_icon_only");return classNames.join(" ")};const spinnerIcon=getAllIcons()["spinner"];const Button=props=>{const{aria:aria={},children:children,className:className,count:count,data:data={},disabled:disabled,htmlOptions:htmlOptions={},icon:icon=null,iconRight:iconRight=false,id:id,loading:loading=false,onClick:onClick,tabIndex:tabIndex,link:link=null,newWindow:newWindow=false,target:target="",text:text,htmlType:htmlType="button",value:value,variant:variant,form:form=null}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const css=classnames(buttonClassName(props),globalProps(props),className);const loadingIcon=jsx("div",{className:"loading-icon",children:jsx(Icon,{className:"svg-inline--fa",customIcon:spinnerIcon.icon,fixedWidth:true,pulse:true})});const content=jsxs("span",{className:"pb_button_content",children:[icon&&!iconRight&&jsx(Icon,{className:"button_with_icon",icon:icon}),jsx("span",{children:text||children}),icon&&iconRight&&jsx(Icon,{className:"button_with_icon_right",icon:icon})]});const ifLoading=()=>{if(loading){return jsx(Fragment,{children:loadingIcon})}else{return content}};const getTargetAttribute=()=>{if(target&&link){return target}else if(newWindow){return"_blank"}return null};const displayButton=()=>{if(link){return jsx("a",{...ariaProps,...dataProps,...htmlProps,className:css,href:link,id:id,rel:target!=="child"?"noreferrer":null,role:"link",tabIndex:tabIndex,target:getTargetAttribute(),children:ifLoading()})}else if(variant==="reaction"){return jsxs("button",{...ariaProps,...dataProps,...htmlProps,className:css,disabled:disabled,form:form,id:id,onClick:onClick,role:"button",tabIndex:tabIndex,type:htmlType,value:value,children:[icon&&isValidEmoji(icon)&&jsxs(Flex,{align:"center",children:[jsx(Icon,{icon:icon}),count&&jsx(Caption,{paddingLeft:"xxs",size:"xs",children:count})]}),!isValidEmoji(icon)&&jsx(Icon,{icon:icon?icon:"face-smile-plus"})]})}else{return jsx("button",{...ariaProps,...dataProps,...htmlProps,className:css,disabled:disabled,form:form,id:id,onClick:onClick,role:"button",tabIndex:tabIndex,type:htmlType,value:value,children:ifLoading()})}};return jsx(Fragment,{children:displayButton()})};const Checkbox=forwardRef(((props,ref)=>{const{aria:aria={},checked:checked=false,children:children,className:className,dark:dark=false,data:data={},disabled:disabled=false,error:error=false,htmlOptions:htmlOptions={},id:id,indeterminate:indeterminate=false,name:name="",onChange:onChange=()=>{},requiredIndicator:requiredIndicator=false,tabIndex:tabIndex,text:text="",value:value=""}=props;const internalRef=useRef(null);const setRefs=el=>{internalRef.current=el;if(typeof ref==="function"){ref(el)}else if(ref){ref.current=el}};const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_checkbox_kit",checked?"checked":null,error?"error":null,indeterminate?"indeterminate":null),globalProps(props),className);useEffect((()=>{if(internalRef.current){internalRef.current.checked=checked;internalRef.current.indeterminate=indeterminate}}),[indeterminate,checked]);const checkboxChildren=()=>{if(children)return children;else return jsx("input",{defaultChecked:checked,disabled:disabled,name:name,onChange:onChange,ref:setRefs,tabIndex:tabIndex,type:"checkbox",value:value})};return jsxs("label",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:[jsx(Fragment,{children:checkboxChildren()}),!indeterminate&&jsx("span",{className:"pb_checkbox_checkmark",children:jsx(Icon,{className:"check_icon",fixedWidth:true,icon:"check"})}),indeterminate&&jsx("span",{className:"pb_checkbox_indeterminate",children:jsx(Icon,{className:"indeterminate_icon",fixedWidth:true,icon:"minus"})}),jsxs(Body,{className:"pb_checkbox_label",dark:dark,status:error?"negative":null,variant:null,children:[text,requiredIndicator&&jsx("span",{"aria-hidden":"true",className:"pb_required_indicator",style:{color:colors.error,marginLeft:spacing.space_xs},children:"*"})]})]})}));Checkbox.displayName="Checkbox";const CircleIconButton=props=>{const{aria:aria={},className:className,dark:dark,data:data={},disabled:disabled,htmlOptions:htmlOptions={},icon:icon,id:id,loading:loading=false,onClick:onClick=noop,type:type,target:target,link:link,newWindow:newWindow,variant:variant,size:size="default"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const sizeClass=size==="sm"?"size_small":"";const classes=classnames(buildCss("pb_circle_icon_button_kit"),sizeClass,globalProps(props),className);return jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:jsx(Button,{aria:aria,dark:dark,disabled:disabled,htmlType:type,link:link,loading:loading,newWindow:newWindow,onClick:onClick,target:target,text:null,variant:variant,children:jsx(Icon,{fixedWidth:true,htmlOptions:{"aria-hidden":true},icon:icon})})})};const showElement=elem=>{elem.style.display="block";const height=elem.scrollHeight+"px";elem.style.height=height;elem.classList.add("is-visible");elem.style.overflow="hidden";window.setTimeout((()=>{if(!elem.classList.contains("is-visible")){elem.classList.add("is-visible")}elem.style.height="";elem.style.overflow="visible"}),300)};const hideElement=elem=>{elem.style.height=elem.scrollHeight+"px";window.setTimeout((()=>{elem.style.height="0";elem.style.paddingTop="0";elem.style.paddingBottom="0";elem.style.overflow="hidden"}),1);window.setTimeout((()=>{elem.classList.remove("is-visible");elem.style.overflow=""}),300)};const CollapsibleContext=createContext({});const CollapsibleContent=({children:children,className:className,...props})=>{const context=useContext(CollapsibleContext);const contentCSS=buildCss("pb_collapsible_content_kit");const contentSpacing=globalProps(props);const contentRef=useRef(null);useEffect((()=>{if(contentRef.current){if(context.collapsed){hideElement(contentRef.current)}else{showElement(contentRef.current)}}}),[context.collapsed]);return jsx("div",{className:classnames(contentCSS,contentSpacing,"toggle-content",className),"data-collapsible-content":"true",ref:contentRef,children:children})};const FlexItem=props=>{const{children:children,className:className,fixedSize:fixedSize,grow:grow,htmlOptions:htmlOptions={},shrink:shrink,flex:flex="none",order:order="none",alignSelf:alignSelf,displayFlex:displayFlex}=props;const growClass=grow===true?"pb_flex_item_kit_grow":"";const displayFlexClass=displayFlex===true?"pb_flex_item_kit_display_flex":"";const flexClass=flex!=="none"?`pb_flex_item_kit_flex_${flex}`:"";const shrinkClass=shrink===true?"pb_flex_item_kit_shrink":"";const alignSelfClass=alignSelf?`pb_flex_item_kit_align_self_${alignSelf}`:"";const fixedStyle=fixedSize!==void 0?{flexBasis:`${fixedSize}`}:null;const orderClass=order!=="none"?`pb_flex_item_kit_order_${order}`:"";const dynamicInlineProps=globalInlineProps(props);const{style:htmlStyle,...htmlOptionsWithoutStyle}=htmlOptions;const htmlStyleObj=htmlStyle&&typeof htmlStyle==="object"?htmlStyle:{};const combinedStyles={...htmlStyleObj,...fixedStyle,...dynamicInlineProps};const htmlProps=buildHtmlProps(htmlOptionsWithoutStyle);return jsx("div",{...htmlProps,className:classnames("pb_flex_item_kit",growClass,shrinkClass,flexClass,displayFlexClass,orderClass,alignSelfClass,globalProps(props),className),style:combinedStyles,children:children})};const colorMap={default:"text_lt_default",light:"text_lt_light",lighter:"text_lt_lighter",link:"primary",error:"error",success:"text_dk_success_sm"};const CollapsibleIcon=({collapsed:collapsed,icon:icon,iconSize:iconSize,iconColor:iconColor,onIconClick:onIconClick})=>{const color=colorMap[iconColor];const showIcon=icon2=>{if(icon2==="none"){return[]}else if(typeof icon2==="string"){return[icon2,icon2]}return icon2};const handleIconClick=e=>{if(onIconClick){e.stopPropagation();onIconClick()}};return jsx(Fragment,{children:icon!=="none"?collapsed?jsx("div",{className:"icon_wrapper",onClick:e=>handleIconClick(e),style:{verticalAlign:"middle"},children:jsx(Icon,{color:color,icon:icon?showIcon(icon)[0]:"chevron-down",size:iconSize})},icon?showIcon(icon)[0]:"chevron-down"):jsx("div",{className:"icon_wrapper",onClick:e=>handleIconClick(e),style:{verticalAlign:"middle"},children:jsx(Icon,{color:color,icon:icon?showIcon(icon)[1]:"chevron-up",size:iconSize})},icon?showIcon(icon)[1]:"chevron-up"):jsx("div",{})})};const CollapsibleMain=({children:children,className:className,cursor:cursor="pointer",...props})=>{const{collapsed:collapsed,toggle:toggle,icon:icon,iconSize:iconSize,iconColor:iconColor,onIconClick:onIconClick,onClick:onClick}=useContext(CollapsibleContext);const mainCSS=buildCss("pb_collapsible_main_kit");const mainSpacing=globalProps(props,{cursor:cursor});const handleCollapsibleClick=()=>{onClick&&onClick();const disableToggle=onClick&&onClick();if(disableToggle!==true){toggle()}};return jsx("div",{className:classnames(mainCSS,mainSpacing,className),children:jsx("div",{onClick:handleCollapsibleClick,children:jsxs(Flex,{spacing:"between",vertical:"center",children:[jsx(FlexItem,{children:children}),jsx(FlexItem,{children:jsx(CollapsibleIcon,{collapsed:collapsed,icon:icon,iconColor:iconColor,iconSize:iconSize,onIconClick:onIconClick})})]})})})};const Collapsible=({aria:aria={},className:className,children:children,collapsed:collapsed=true,data:data={},htmlOptions:htmlOptions={},icon:icon,iconColor:iconColor="default",iconSize:iconSize,onIconClick:onIconClick,onClick:onClick,id:id,tag:tag="div",...props})=>{const[isCollapsed,toggle,setIsCollapsed]=useCollapsible(collapsed);useEffect((()=>{setIsCollapsed(collapsed)}),[collapsed]);if(children.length!==2){throw new Error("Collapsible requires <CollapsibleMain> and <CollapsibleContent> to function properly.")}const FirstChild=children[0];const Main=FirstChild.type===CollapsibleMain?FirstChild:null;const Content=children[1];const{children:mainChildren=null,...mainProps}=Main?Main.props:{};const{children:contentChildren,...contentProps}=Content.props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_collapsible_kit"),globalProps(props),className);const dynamicInlineProps=globalInlineProps(props);const Tag=`${tag}`;return jsx(CollapsibleContext.Provider,{value:{collapsed:isCollapsed,toggle:toggle,icon:icon,iconSize:iconSize,iconColor:iconColor,onIconClick:onIconClick,onClick:onClick},children:jsxs(Tag,{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,style:dynamicInlineProps,children:[Main?jsx(CollapsibleMain,{...mainProps,children:mainChildren}):FirstChild,jsx(CollapsibleContent,{...contentProps,children:contentChildren})]})})};Collapsible.Main=CollapsibleMain;Collapsible.Content=CollapsibleContent;Collapsible.Icon=CollapsibleIcon;const SectionSeparator=props=>{const{aria:aria={},children:children,className:className,color:color="default",data:data={},htmlOptions:htmlOptions={},id:id,lineStyle:lineStyle="solid",orientation:orientation="horizontal",text:text,dark:dark=false,variant:variant="card"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames("pb_section_separator_kit",`pb_section_separator_${variant}`,`pb_section_separator_${orientation}`,lineStyle==="dashed"?"pb_section_separator_dashed":"pb_section_separator_solid",color!=="default"?`pb_section_separator_color_${color}`:"pb_section_separator_color_default",globalProps(props),className);const dynamicInlineProps=globalInlineProps(props);return jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,style:dynamicInlineProps,children:children&&children||text&&jsx("span",{children:jsx(Caption,{dark:dark,text:text})})})};var warning_1;var hasRequiredWarning;function requireWarning(){if(hasRequiredWarning)return warning_1;hasRequiredWarning=1;var warning2=function(){};warning_1=warning2;return warning_1}const ListItem=props=>{const{aria:aria={},children:children,className:className,data:data={},enableDrag:enableDrag,dragId:dragId,dragHandle:dragHandle=true,htmlOptions:htmlOptions={},id:id,tabIndex:tabIndex}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_item_kit"),globalProps(props),className);return jsx(Fragment,{children:enableDrag?jsx(Draggable.Item,{dragId:dragId,children:jsxs("li",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,tabIndex:tabIndex,children:[dragHandle&&jsx("span",{className:"pb_draggable_handle",style:{verticalAlign:"middle"},children:jsx(Body,{color:"light",children:jsx(Icon,{icon:"grip-dots-vertical",verticalAlign:"middle"})})}),children]})}):jsx("li",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,tabIndex:tabIndex,children:children})})};const List=props=>{const{aria:aria={},borderless:borderless=false,children:children,className:className,dark:dark=false,data:data={},enableDrag:enableDrag=false,htmlOptions:htmlOptions={},id:id,layout:layout="",ordered:ordered=false,role:role,size:size="",tabIndex:tabIndex,xpadding:xpadding=false,variant:variant,text:text}=props;const layoutClass={left:"layout_left",right:"layout_right",default:""};const childrenWithProps=React__default.Children.map(children,(child=>React__default.cloneElement(child,{text:text,variant:variant,enableDrag:enableDrag})));const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_list_kit",layoutClass[layout],size,{dark:dark,borderless:borderless,ordered:ordered,xpadding:xpadding}),globalProps(props),className);return jsx(Fragment,{children:enableDrag?jsx(Draggable.Container,{children:jsx("div",{className:classes,children:ordered?jsx("ol",{...ariaProps,...dataProps,...htmlProps,className:className,id:id,role:role,tabIndex:tabIndex,children:childrenWithProps}):jsx("ul",{...ariaProps,...dataProps,...htmlProps,className:className,id:id,role:role,tabIndex:tabIndex,children:childrenWithProps})})}):jsx("div",{className:classes,children:ordered?jsx("ol",{...ariaProps,...dataProps,...htmlProps,className:className,id:id,role:role,tabIndex:tabIndex,children:childrenWithProps}):jsx("ul",{...ariaProps,...dataProps,...htmlProps,className:className,id:id,role:role,tabIndex:tabIndex,children:childrenWithProps})})})};const toQuickPickRange=(start,end)=>[startOfDay(start),endOfDay(end)];const calculateDateRange=(timePeriod,amount)=>{const endDate=new Date;const startDate=new Date;switch(timePeriod){case"days":startDate.setDate(endDate.getDate()-amount);break;case"weeks":startDate.setDate(endDate.getDate()-amount*7);break;case"months":startDate.setMonth(endDate.getMonth()-amount);break;case"quarters":startDate.setMonth(endDate.getMonth()-amount*3);break;case"years":startDate.setFullYear(endDate.getFullYear()-amount);break;default:throw new Error("Invalid time period")}return toQuickPickRange(startDate,endDate)};const formatDate=date=>{const day=String(date.getDate()).padStart(2,"0");const month=String(date.getMonth()+1).padStart(2,"0");const year=date.getFullYear();return`${month}/${day}/${year}`};const parseCustomDateBoundary=value=>{if(value instanceof Date)return value;if(stringHasExplicitTime(value)){return parseQuickPickDateTime(value)??new Date(value)}return parseQuickPickDateOnly(value)??new Date(value)};const boundaryHasExplicitTime=value=>value instanceof Date||stringHasExplicitTime(value);const createOptionFromCustomDate=customDate=>{let dateRange;if(Array.isArray(customDate.value)){const startRaw=parseCustomDateBoundary(customDate.value[0]);const endRaw=parseCustomDateBoundary(customDate.value[1]);const startHasTime=boundaryHasExplicitTime(customDate.value[0]);const endHasTime=boundaryHasExplicitTime(customDate.value[1]);dateRange=[startHasTime?startRaw:startOfDay(startRaw),endHasTime?endRaw:endOfDay(endRaw)]}else{dateRange=calculateDateRange(customDate.value.timePeriod,customDate.value.amount)}return{label:customDate.label,value:dateRange,formattedStartDate:formatDate(dateRange[0]),formattedEndDate:formatDate(dateRange[1]),id:`quickpick-${customDate.label.toLowerCase().replace(/\s+/g,"-")}`}};const option=(label,start,end,id)=>{const value=toQuickPickRange(start,end);return{label:label,value:value,formattedStartDate:formatDate(value[0]),formattedEndDate:formatDate(value[1]),id:id}};const getQuickPickOptions=(rangeEndsToday=false,customQuickPickDates)=>{const today=new Date;const yesterday=DateTime.getYesterdayDate(new Date);const thisWeekStartDate=DateTime.getFirstDayOfWeek(new Date);const thisWeekEndDate=rangeEndsToday?new Date:DateTime.getLastDayOfWeek(new Date);const lastWeekStartDate=DateTime.getPreviousWeekStartDate(new Date);const lastWeekEndDate=DateTime.getPreviousWeekEndDate(new Date);const thisMonthStartDate=DateTime.getMonthStartDate(new Date);const thisMonthEndDate=rangeEndsToday?new Date:DateTime.getMonthEndDate(new Date);const lastMonthStartDate=DateTime.getPreviousMonthStartDate(new Date);const lastMonthEndDate=DateTime.getPreviousMonthEndDate(new Date);const thisQuarterStartDate=DateTime.getQuarterStartDate(new Date);const thisQuarterEndDate=rangeEndsToday?new Date:DateTime.getQuarterEndDate(new Date);const lastQuarterStartDate=DateTime.getPreviousQuarterStartDate(new Date);const lastQuarterEndDate=DateTime.getPreviousQuarterEndDate(new Date);const thisYearStartDate=DateTime.getYearStartDate(new Date);const thisYearEndDate=rangeEndsToday?new Date:DateTime.getYearEndDate(new Date);const lastYearStartDate=DateTime.getPreviousYearStartDate(new Date);const lastYearEndDate=DateTime.getPreviousYearEndDate(new Date);const defaultOptions=[option("Today",today,today,"quickpick-today"),option("Yesterday",yesterday,yesterday,"quickpick-yesterday"),option("This Week",thisWeekStartDate,thisWeekEndDate,"quickpick-this-week"),option("This Month",thisMonthStartDate,thisMonthEndDate,"quickpick-this-month"),option("This Quarter",thisQuarterStartDate,thisQuarterEndDate,"quickpick-this-quarter"),option("This Year",thisYearStartDate,thisYearEndDate,"quickpick-this-year"),option("Last Week",lastWeekStartDate,lastWeekEndDate,"quickpick-last-week"),option("Last Month",lastMonthStartDate,lastMonthEndDate,"quickpick-last-month"),option("Last Quarter",lastQuarterStartDate,lastQuarterEndDate,"quickpick-last-quarter"),option("Last Year",lastYearStartDate,lastYearEndDate,"quickpick-last-year")];if(customQuickPickDates&&customQuickPickDates.dates&&customQuickPickDates.dates.length>0){const customOptions=customQuickPickDates.dates.map(createOptionFromCustomDate);if(customQuickPickDates.override===false){return[...defaultOptions,...customOptions]}return customOptions}return defaultOptions};var ManagerReferenceNodeContext=React.createContext();var ManagerReferenceNodeSetterContext=React.createContext();function Manager(_ref){var children=_ref.children;var _React$useState=React.useState(null),referenceNode=_React$useState[0],setReferenceNode=_React$useState[1];var hasUnmounted=React.useRef(false);React.useEffect((function(){return function(){hasUnmounted.current=true}}),[]);var handleSetReferenceNode=React.useCallback((function(node){if(!hasUnmounted.current){setReferenceNode(node)}}),[]);return React.createElement(ManagerReferenceNodeContext.Provider,{value:referenceNode},React.createElement(ManagerReferenceNodeSetterContext.Provider,{value:handleSetReferenceNode},children))}var unwrapArray=function unwrapArray2(arg){return Array.isArray(arg)?arg[0]:arg};var safeInvoke=function safeInvoke2(fn){if(typeof fn==="function"){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return fn.apply(void 0,args)}};var setRef=function setRef2(ref,node){if(typeof ref==="function"){return safeInvoke(ref,node)}else if(ref!=null){ref.current=node}};var fromEntries=function fromEntries2(entries){return entries.reduce((function(acc,_ref){var key=_ref[0],value=_ref[1];acc[key]=value;return acc}),{})};var useIsomorphicLayoutEffect=typeof window!=="undefined"&&window.document&&window.document.createElement?React.useLayoutEffect:React.useEffect;var reactFastCompare;var hasRequiredReactFastCompare;function requireReactFastCompare(){if(hasRequiredReactFastCompare)return reactFastCompare;hasRequiredReactFastCompare=1;var hasElementType=typeof Element!=="undefined";var hasMap=typeof Map==="function";var hasSet=typeof Set==="function";var hasArrayBuffer=typeof ArrayBuffer==="function"&&!!ArrayBuffer.isView;function equal(a,b){if(a===b)return true;if(a&&b&&typeof a=="object"&&typeof b=="object"){if(a.constructor!==b.constructor)return false;var length,i,keys;if(Array.isArray(a)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return false;return true}var it;if(hasMap&&a instanceof Map&&b instanceof Map){if(a.size!==b.size)return false;it=a.entries();while(!(i=it.next()).done)if(!b.has(i.value[0]))return false;it=a.entries();while(!(i=it.next()).done)if(!equal(i.value[1],b.get(i.value[0])))return false;return true}if(hasSet&&a instanceof Set&&b instanceof Set){if(a.size!==b.size)return false;it=a.entries();while(!(i=it.next()).done)if(!b.has(i.value[0]))return false;return true}if(hasArrayBuffer&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(b)){length=a.length;if(length!=b.length)return false;for(i=length;i--!==0;)if(a[i]!==b[i])return false;return true}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();keys=Object.keys(a);length=keys.length;if(length!==Object.keys(b).length)return false;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return false;if(hasElementType&&a instanceof Element)return false;for(i=length;i--!==0;){if((keys[i]==="_owner"||keys[i]==="__v"||keys[i]==="__o")&&a.$$typeof){continue}if(!equal(a[keys[i]],b[keys[i]]))return false}return true}return a!==a&&b!==b}reactFastCompare=function isEqual2(a,b){try{return equal(a,b)}catch(error){if((error.message||"").match(/stack|recursion/i)){console.warn("react-fast-compare cannot handle circular refs");return false}throw error}};return reactFastCompare}var reactFastCompareExports=requireReactFastCompare();const isEqual=getDefaultExportFromCjs(reactFastCompareExports);var EMPTY_MODIFIERS$1=[];var usePopper=function usePopper2(referenceElement,popperElement,options){if(options===void 0){options={}}var prevOptions=React.useRef(null);var optionsWithDefaults={onFirstUpdate:options.onFirstUpdate,placement:options.placement||"bottom",strategy:options.strategy||"absolute",modifiers:options.modifiers||EMPTY_MODIFIERS$1};var _React$useState=React.useState({styles:{popper:{position:optionsWithDefaults.strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),state=_React$useState[0],setState=_React$useState[1];var updateStateModifier=React.useMemo((function(){return{name:"updateState",enabled:true,phase:"write",fn:function fn(_ref){var state2=_ref.state;var elements=Object.keys(state2.elements);ReactDOM.flushSync((function(){setState({styles:fromEntries(elements.map((function(element){return[element,state2.styles[element]||{}]}))),attributes:fromEntries(elements.map((function(element){return[element,state2.attributes[element]]})))})}))},requires:["computeStyles"]}}),[]);var popperOptions=React.useMemo((function(){var newOptions={onFirstUpdate:optionsWithDefaults.onFirstUpdate,placement:optionsWithDefaults.placement,strategy:optionsWithDefaults.strategy,modifiers:[].concat(optionsWithDefaults.modifiers,[updateStateModifier,{name:"applyStyles",enabled:false}])};if(isEqual(prevOptions.current,newOptions)){return prevOptions.current||newOptions}else{prevOptions.current=newOptions;return newOptions}}),[optionsWithDefaults.onFirstUpdate,optionsWithDefaults.placement,optionsWithDefaults.strategy,optionsWithDefaults.modifiers,updateStateModifier]);var popperInstanceRef=React.useRef();useIsomorphicLayoutEffect((function(){if(popperInstanceRef.current){popperInstanceRef.current.setOptions(popperOptions)}}),[popperOptions]);useIsomorphicLayoutEffect((function(){if(referenceElement==null||popperElement==null){return}var createPopper$1=options.createPopper||createPopper;var popperInstance=createPopper$1(referenceElement,popperElement,popperOptions);popperInstanceRef.current=popperInstance;return function(){popperInstance.destroy();popperInstanceRef.current=null}}),[referenceElement,popperElement,options.createPopper]);return{state:popperInstanceRef.current?popperInstanceRef.current.state:null,styles:state.styles,attributes:state.attributes,update:popperInstanceRef.current?popperInstanceRef.current.update:null,forceUpdate:popperInstanceRef.current?popperInstanceRef.current.forceUpdate:null}};var NOOP=function NOOP2(){return void 0};var NOOP_PROMISE=function NOOP_PROMISE2(){return Promise.resolve(null)};var EMPTY_MODIFIERS=[];function Popper(_ref){var _ref$placement=_ref.placement,placement=_ref$placement===void 0?"bottom":_ref$placement,_ref$strategy=_ref.strategy,strategy=_ref$strategy===void 0?"absolute":_ref$strategy,_ref$modifiers=_ref.modifiers,modifiers=_ref$modifiers===void 0?EMPTY_MODIFIERS:_ref$modifiers,referenceElement=_ref.referenceElement,onFirstUpdate=_ref.onFirstUpdate,innerRef=_ref.innerRef,children=_ref.children;var referenceNode=React.useContext(ManagerReferenceNodeContext);var _React$useState=React.useState(null),popperElement=_React$useState[0],setPopperElement=_React$useState[1];var _React$useState2=React.useState(null),arrowElement=_React$useState2[0],setArrowElement=_React$useState2[1];React.useEffect((function(){setRef(innerRef,popperElement)}),[innerRef,popperElement]);var options=React.useMemo((function(){return{placement:placement,strategy:strategy,onFirstUpdate:onFirstUpdate,modifiers:[].concat(modifiers,[{name:"arrow",enabled:arrowElement!=null,options:{element:arrowElement}}])}}),[placement,strategy,onFirstUpdate,modifiers,arrowElement]);var _usePopper=usePopper(referenceElement||referenceNode,popperElement,options),state=_usePopper.state,styles=_usePopper.styles,forceUpdate=_usePopper.forceUpdate,update=_usePopper.update;var childrenProps=React.useMemo((function(){return{ref:setPopperElement,style:styles.popper,placement:state?state.placement:placement,hasPopperEscaped:state&&state.modifiersData.hide?state.modifiersData.hide.hasPopperEscaped:null,isReferenceHidden:state&&state.modifiersData.hide?state.modifiersData.hide.isReferenceHidden:null,arrowProps:{style:styles.arrow,ref:setArrowElement},forceUpdate:forceUpdate||NOOP,update:update||NOOP_PROMISE}}),[setPopperElement,setArrowElement,placement,state,styles,update,forceUpdate]);return unwrapArray(children)(childrenProps)}var warningExports=requireWarning();const warning=getDefaultExportFromCjs(warningExports);function Reference(_ref){var children=_ref.children,innerRef=_ref.innerRef;var setReferenceNode=React.useContext(ManagerReferenceNodeSetterContext);var refHandler=React.useCallback((function(node){setRef(innerRef,node);safeInvoke(setReferenceNode,node)}),[innerRef,setReferenceNode]);React.useEffect((function(){return function(){return setRef(innerRef,null)}}),[]);React.useEffect((function(){warning(Boolean(setReferenceNode),"`Reference` should not be used outside of a `Manager` component.")}),[setReferenceNode]);return unwrapArray(children)({ref:refHandler})}const POPOVER_MODIFIERS={offset:{enabled:true,name:"offset",options:{offset:[0,20]},phase:"main"}};const popoverModifiers=({modifiers:modifiers,offset:offset})=>offset?modifiers.concat([POPOVER_MODIFIERS.offset]):modifiers;const getAppendTarget=(appendTo,targetId)=>{if(appendTo&&appendTo!=="body"){if(appendTo==="parent"){const referenceWrapper2=document.querySelector(`#reference-${targetId}`);if(referenceWrapper2==null?void 0:referenceWrapper2.parentElement){return referenceWrapper2.parentElement}}const selectorMatch=document.querySelector(appendTo);if(selectorMatch instanceof HTMLElement)return selectorMatch}const referenceWrapper=document.querySelector(`#reference-${targetId}`);const fullscreenOverlay=resolveFullscreenOverlayForElement(referenceWrapper);if(fullscreenOverlay)return fullscreenOverlay;return document.body};const Popover=props=>{const{aria:aria={},className:className,children:children,data:data={},htmlOptions:htmlOptions={},id:id,modifiers:modifiers,offset:offset,placement:placement,referenceElement:referenceElement,zIndex:zIndex,maxHeight:maxHeight,maxWidth:maxWidth,minHeight:minHeight,minWidth:minWidth,width:width,targetId:targetId}=props;const items=globalProps(props).split(" ");const filteredItems=items.filter((item=>!item.includes("min-width")&&!item.includes("width")));const filteredGlobalProps=filteredItems.join(" ");const popoverSpacing=filteredGlobalProps.includes("dark")||!filteredGlobalProps?"p_sm":filteredGlobalProps;const overflowHandling=maxHeight||maxWidth?"overflow_handling":"";const zIndexStyle=zIndex?{zIndex:zIndex}:{};const[selectMenuPortalTarget,setSelectMenuPortalTarget]=useState(null);const floatingRootRef=useCallback((node=>{setSelectMenuPortalTarget(node)}),[]);const menuPortalApi=useMemo((()=>({selectMenuPortalTarget:selectMenuPortalTarget})),[selectMenuPortalTarget]);const widthHeightStyles=()=>Object.assign({},maxHeight?{maxHeight:maxHeight}:{},maxWidth?{maxWidth:maxWidth}:{},minHeight?{minHeight:minHeight}:{},minWidth?{minWidth:minWidth}:{},width?{width:width}:{});const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_popover_kit"),filteredGlobalProps,className);return jsx(Popper,{modifiers:popoverModifiers({modifiers:modifiers,offset:offset||false}),placement:placement,referenceElement:referenceElement,children:({placement:placement2,ref:ref,style:style})=>jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,"data-placement":placement2,id:id,ref:ref,style:Object.assign({},style,zIndexStyle),children:jsx("div",{className:classnames(`${buildCss("pb_popover_tooltip")} show`),children:jsx("div",{className:classnames("pb_popover_body",popoverSpacing),id:targetId,style:widthHeightStyles(),...targetId?{[PB_FLOATING_OWNER_ATTR]:targetId}:{},children:jsxs(DialogContext.Provider,{value:menuPortalApi,children:[jsx("div",{className:classnames("pb_popover_scroll_region",overflowHandling),children:children}),jsx("div",{"aria-hidden":"true",className:"pb_popover_floating_root","data-pb-dialog-floating-root":"true",...targetId?{[PB_FLOATING_OWNER_ATTR]:targetId}:{},ref:floatingRootRef})]})})})})})};const PbReactPopover=props=>{const[targetId]=useState(uniqueId("id-"));const{appendTo:appendTo,className:className,children:children,modifiers:modifiers=[],offset:offset=false,placement:placement="left",portal:portal="body",reference:reference,referenceElement:referenceElement,show:show=false,usePortal:usePortal=true,zIndex:zIndex,maxHeight:maxHeight,maxWidth:maxWidth,minHeight:minHeight,minWidth:minWidth,width:width,closeOnClick:closeOnClick,shouldClosePopover:shouldClosePopover=noop}=props;const shouldClosePopoverRef=useRef(shouldClosePopover);useEffect((()=>{shouldClosePopoverRef.current=shouldClosePopover}),[shouldClosePopover]);useEffect((()=>{if(!closeOnClick)return;const handleClick=e=>{const targetEl=e.target instanceof Element?e.target:null;const targetIsPopover=(targetEl==null?void 0:targetEl.closest("#"+targetId))!==null||isPortaledFloatingKitInteraction(e.target,targetId,e.clientX,e.clientY);const targetIsReference=(targetEl==null?void 0:targetEl.closest("#reference-"+targetId))!==null;const shouldClose=()=>{setTimeout((()=>shouldClosePopoverRef.current(true)),0)};switch(closeOnClick){case"outside":if(!targetIsPopover&&!targetIsReference)shouldClose();break;case"inside":if(isPortaledFloatingKitInteraction(e.target,targetId,e.clientX,e.clientY))return;if(targetIsPopover)shouldClose();break;case"any":if(isPortaledFloatingKitInteraction(e.target,targetId,e.clientX,e.clientY))return;if(targetIsPopover||!targetIsPopover&&!targetIsReference)shouldClose();break}};document.body.addEventListener("click",handleClick,{capture:true});return()=>{document.body.removeEventListener("click",handleClick,{capture:true})}}),[targetId,closeOnClick]);const popoverComponent=jsx(Popover,{className:className,maxHeight:maxHeight,maxWidth:maxWidth,minHeight:minHeight,minWidth:minWidth,modifiers:modifiers,offset:offset,placement:placement,referenceElement:referenceElement,targetId:targetId,width:width,zIndex:zIndex,...props,children:children});return jsx(Manager,{children:jsxs(Fragment,{children:[reference&&!referenceElement&&jsx(Reference,{children:({ref:ref})=>jsx("span",{className:"pb_popover_reference_wrapper",id:"reference-"+targetId,ref:ref,children:jsx(reference.type,{...reference.props})})}),show&&(usePortal?jsx(Fragment,{children:ReactDOM__default.createPortal(popoverComponent,getAppendTarget(appendTo,targetId))}):popoverComponent)]})})};const dropdownOptionsFor=config=>{var _a;if(config.variant==="quickpick"&&!((_a=config.options)==null?void 0:_a.length)){return getQuickPickOptions(config.rangeEndsToday,config.customQuickPickDates).map((opt=>({value:opt.id||opt.label,label:opt.label})))}return(config.options||[]).map((opt=>({value:opt.id||opt.value||opt.label,label:opt.label})))};const labelFor=(config,value)=>{if(config.type==="select"){const match=config.options.find((opt=>opt.value===value));if(match)return match.text||match.value}if(config.type==="dropdown"){const match=dropdownOptionsFor(config).find((opt=>opt.value===value));if(match)return match.label||match.value}return value};const ChipVisual=({dark:dark,name:name,displayValue:displayValue})=>jsxs("div",{className:"pb_interactive_filter_container",children:[jsx(Caption,{dark:dark,text:name}),jsxs(Flex,{alignItems:"center",gap:"xxs",children:[jsx(Title,{dark:dark,size:4,text:displayValue||"—"}),jsx(Icon,{color:"primary",fixedWidth:true,icon:"angle-down",size:"xs"})]})]});const InlineCalendar=({calendarValue:calendarValue,config:config,onSinglePick:onSinglePick})=>{const containerRef=useRef(null);useEffect((()=>{if(!containerRef.current)return;const fp=flatpickr(containerRef.current,{inline:true,defaultDate:calendarValue||void 0,mode:config.mode||"single",dateFormat:config.format||"m/d/Y",minDate:config.minDate,maxDate:config.maxDate,nextArrow:'<i class="far fa-angle-right"></i>',prevArrow:'<i class="far fa-angle-left"></i>',onChange:(_selectedDates,dateStr)=>{config.onChange(dateStr);if((config.mode||"single")==="single")onSinglePick()}});return()=>fp.destroy()}),[calendarValue]);return jsx("div",{ref:containerRef})};const InteractiveFilter=({dark:dark=false,name:name,value:value,editorValue:editorValue,config:config})=>{const[open,setOpen]=useState(false);const pickerId=useMemo((()=>uniqueId("interactive-filter-date-")),[]);const displayValue=labelFor(config,value);const activeValue=editorValue??config.editorValue??value;const renderEditor=()=>{switch(config.type){case"select":case"dropdown":{const options=config.type==="dropdown"?dropdownOptionsFor(config):config.options.map((opt=>({value:opt.value,label:opt.text||opt.value})));return jsx("ul",{className:"pb_interactive_filter_options",role:"listbox",children:options.map((option2=>{const isActive=option2.value===activeValue;return jsx("li",{"aria-selected":isActive,className:`pb_interactive_filter_option${isActive?" active":""}`,onClick:()=>{config.onChange(option2.value);setOpen(false)},onKeyDown:event=>{if(event.key==="Enter"||event.key===" "){event.preventDefault();config.onChange(option2.value);setOpen(false)}},role:"option",tabIndex:0,children:jsx("span",{children:option2.label})},option2.value)}))})}case"date-picker":return jsx(InlineCalendar,{calendarValue:activeValue,config:config,onSinglePick:()=>setOpen(false)})}};const trigger=jsx("button",{"aria-expanded":open,"aria-haspopup":"dialog",className:`pb_interactive_filter_trigger${dark?" dark":""}`,"data-picker-id":pickerId,onClick:()=>setOpen((prev=>!prev)),type:"button",children:jsx(ChipVisual,{dark:dark,displayValue:displayValue,name:name})});return jsx(PbReactPopover,{closeOnClick:"outside",offset:true,placement:"bottom-start",reference:trigger,shouldClosePopover:()=>setOpen(false),show:open,zIndex:10,children:jsx("div",{className:`pb_interactive_filter_editor pb_interactive_filter_editor--${config.type}`,children:renderEditor()})})};const hiddenFilters=value=>isEmpty(value)&&value!==true;const CurrentFilters=({dark:dark,filters:filters,interactiveFilters:interactiveFilters={}})=>{const displayableFilters=omitBy(filters,hiddenFilters);return jsxs("div",{className:"maskContainer",children:[isEmpty(filters)&&jsx("div",{className:"filters",children:jsx(Body,{color:"light",paddingLeft:"xs",size:4,tag:"span",text:"No Filter Selected"})}),!isEmpty(filters)&&jsxs("div",{className:"filters",children:[jsx("div",{className:"left_gradient"}),map(displayableFilters,((value,name)=>{const interactiveConfig=interactiveFilters[name];return jsx("div",{className:`filter${interactiveConfig?" interactive":""}`,children:interactiveConfig?jsx(InteractiveFilter,{config:interactiveConfig,dark:dark,editorValue:interactiveConfig.editorValue,name:String(name),value:interactiveConfig.value!==void 0?interactiveConfig.value:value===true?"":value}):value===true?jsx(Title,{dark:dark,size:4,tag:"h4",text:`${name}`}):jsxs("div",{children:[jsx(Caption,{dark:dark,text:`${name}`}),jsx(Title,{dark:dark,size:4,tag:"h4",text:value})]})},`filter-${name}`)})),jsx("div",{className:"right_gradient"})]})]})};const FilterBackground=props=>{const{background:background=true,className:className,children:children,dark:dark,htmlOptions:htmlOptions={}}=props;const htmlProps=buildHtmlProps(htmlOptions);return jsx("div",{...htmlProps,className:classnames(`pb_filter_kit ${className}`,globalProps(props)),children:background?jsx(Card,{dark:dark,padding:"none",children:children}):jsx(Fragment,{children:children})})};const FiltersPopover=({children:children,dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement="bottom-start",popoverProps:popoverProps})=>{const[hide,updateHide]=useState(true);const toggle=()=>updateHide(!hide);const filterButton=jsx(CircleIconButton,{dark:dark,icon:"filter",id:"filter",onClick:toggle,variant:"secondary"});return jsx(PbReactPopover,{closeOnClick:"outside",maxHeight:maxHeight,minWidth:minWidth,placement:placement,reference:filterButton,shouldClosePopover:updateHide,show:!hide,...popoverProps,children:jsx("div",{className:"pb-form",children:typeof children==="function"?children({closePopover:()=>updateHide(true)}):children})})};const TitleCount=props=>{const{align:align="left",aria:aria={},className:className,dark:dark=false,data:data={},htmlOptions:htmlOptions={},count:count,id:id,title:title,size:size="sm"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const css=classnames(buildCss("pb_title_count_kit",align,size),globalProps(props),className);const formatCount=count.toLocaleString();return jsxs("div",{...ariaProps,...dataProps,...htmlProps,...globalEventProps(props),className:css,id:id,children:[jsx(Title,{className:title!==void 0?"pb_title_count_text":"",dark:dark,size:size==="lg"?3:4,text:title}),jsx(Body,{color:"light",dark:dark,children:count&&formatCount})]})};const resultsText=results=>results==1?"Result":"Results";const formatResultsCount=n=>n.toLocaleString();const ResultsCount=({dark:dark,results:results,title:title})=>{const resultTitle=()=>{if(results==null)return null;return jsx(TitleCount,{align:"center",count:results,dark:dark,title:`${resultsText(results)}:`})};const justResults=()=>{if(results==null)return null;return jsx(Caption,{className:"filter-results",dark:dark,size:"xs",text:`${formatResultsCount(results)} ${resultsText(results)}`})};const displayResultsCount=()=>{if(results!=null&&results>=0&&title){return jsx(Fragment,{children:resultTitle()})}else if(results!=null&&results>=0){return jsx(Fragment,{children:justResults()})}else{return jsx("div",{})}};return jsx(Fragment,{children:displayResultsCount()})};const nextValue=(value,name)=>{const current=find(value,{name:name});return{name:name,dir:current&&current.dir=="asc"?"desc":"asc"}};const directionIcon=dir=>dir=="asc"?"arrow-up-wide-short":"arrow-down-short-wide";const renderOptions=(options,value,handleChange)=>map(options,((label,name)=>{const next=nextValue(value,String(name));return jsx(ListItem,{children:jsx(Button,{htmlType:void 0,onClick:partial(handleChange,next),text:` ${label}`,variant:"link"})},`option-${next.name}-${next.dir}`)}));const SortMenu=({dark:dark,options:options,value:value,onChange:onChange})=>{const[hide,updateHide]=useState(true);const toggle=()=>updateHide(!hide);const handleChange=value2=>{updateHide(true);onChange([value2])};const sortButton=jsx(Button,{dark:dark,htmlType:void 0,id:"sort-button",onClick:toggle,paddingRight:"none",variant:"link",children:map(value,(({dir:dir,name:name})=>jsxs("span",{children:[` ${options[name]}`,jsx(Icon,{dark:dark,icon:directionIcon(dir)})]},`current-sort-${name}-${dir}`)))});return jsx(PbReactPopover,{className:"pb_filter_sort_menu",closeOnClick:"outside",padding:"none",placement:"bottom",reference:sortButton,shouldClosePopover:updateHide,show:!hide,children:jsx(List,{children:renderOptions(options,value,handleChange)})})};const FilterSingle=({onSortChange:onSortChange,sortOptions:sortOptions,sortValue:sortValue,filters:filters,interactiveFilters:interactiveFilters,results:results,children:children,dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,...bgProps})=>jsx(FilterBackground,{dark:dark,...bgProps,children:jsxs(Flex,{orientation:"row",paddingRight:"lg",vertical:"center",children:[children&&jsxs(Fragment,{children:[jsx(FiltersPopover,{dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,children:children}),jsx(CurrentFilters,{dark:dark,filters:filters,interactiveFilters:interactiveFilters})]}),jsx(ResultsCount,{dark:dark,results:results}),!isEmpty(sortOptions)&&jsx(SortMenu,{dark:dark,onChange:onSortChange,options:sortOptions,value:sortValue})]})});const FilterDouble=({onSortChange:onSortChange,sortOptions:sortOptions,sortValue:sortValue,filters:filters,interactiveFilters:interactiveFilters,results:results,children:children,dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,...bgProps})=>jsxs(FilterBackground,{dark:dark,...bgProps,children:[jsxs(Flex,{orientation:"row",vertical:"center",children:[jsx(FiltersPopover,{dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,children:children}),jsx(CurrentFilters,{dark:dark,filters:filters,interactiveFilters:interactiveFilters})]}),jsx(SectionSeparator,{dark:dark}),jsxs(Flex,{className:"filter-bottom",orientation:"row",spacing:"between",vertical:"center",children:[jsx(ResultsCount,{dark:dark,results:results,title:true}),jsxs(Flex,{orientation:"row",vertical:"center",children:[jsx(Caption,{dark:dark,text:"sort by:"}),jsx(SortMenu,{dark:dark,onChange:onSortChange,options:sortOptions,value:sortValue})]})]})]});const FilterResponsive=({children:children,dark:dark,filters:filters,interactiveFilters:interactiveFilters,maxHeight:maxHeight,minWidth:minWidth,onSortChange:onSortChange,placement:placement,popoverProps:popoverProps,results:results,sortOptions:sortOptions,sortValue:sortValue,...bgProps})=>{const showSort=!isEmpty(sortOptions);return jsx(FilterBackground,{dark:dark,...bgProps,children:jsxs("div",{className:"pb_filter_responsive_layout",children:[jsxs("div",{className:"pb_filter_responsive_filters",children:[children&&jsx(FiltersPopover,{dark:dark,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,children:children}),jsx(CurrentFilters,{dark:dark,filters:filters,interactiveFilters:interactiveFilters})]}),jsx("div",{className:"pb_filter_responsive_results_inline",children:jsx(ResultsCount,{dark:dark,results:results})}),jsx("div",{className:"pb_filter_responsive_sep",children:jsx(SectionSeparator,{dark:dark})}),jsxs("div",{className:"pb_filter_responsive_bottom filter-bottom",children:[jsx("div",{className:"pb_filter_responsive_results_bar",children:jsx(ResultsCount,{dark:dark,results:results,title:true})}),jsx("div",{className:"pb_filter_responsive_sort",children:showSort&&jsxs(Fragment,{children:[jsx(Caption,{className:"pb_filter_responsive_sort_label",dark:dark,text:"sort by:"}),jsx(SortMenu,{dark:dark,onChange:onSortChange,options:sortOptions,value:sortValue})]})})]})]})})};const FilterSidebar=({onCollapse:onCollapse,onSortChange:onSortChange,sortOptions:sortOptions,sortValue:sortValue,filters:filters,results:results,children:children,dark:dark,isCollapsed:isCollapsed,maxHeight:maxHeight,minWidth:minWidth,placement:placement,popoverProps:popoverProps,...bgProps})=>jsxs(FilterBackground,{dark:dark,...bgProps,children:[jsx(Card.Body,{paddingX:"sm",paddingY:"xs",children:jsxs(Flex,{align:"center",justify:"between",orientation:"row",children:[jsx(ResultsCount,{dark:dark,results:results,title:true}),jsx("div",{onClick:onCollapse,children:jsx(Caption,{color:"link",cursor:"pointer",size:"xs",text:isCollapsed?"Expand All":"Collapse All"})})]})}),jsx(SectionSeparator,{dark:dark}),jsx(Fragment,{children:children})]});const FilterSection=({children:children,collapsible:collapsible=false,collapsed:collapsed=true,headerText:headerText})=>{if(collapsible){return jsxs(Collapsible,{collapsed:collapsed,padding:"none",children:[jsx(Collapsible.Main,{paddingX:"sm",paddingY:"xs",children:jsx(Caption,{children:headerText})}),jsx(Collapsible.Content,{className:"filter_section_collapsible",paddingX:"sm",children:children})]})}return jsx(Body,{paddingTop:"xs",paddingX:"sm",children:jsxs(Fragment,{children:[headerText&&jsx(Caption,{marginBottom:"sm",children:headerText}),children]})})};const Filter=({double:double=false,responsive:responsive,variant:variant,...templateProps})=>{const{children:children,className:className,...layoutProps}=templateProps;const useResponsiveStacked=responsive==="stacked"&&Boolean(children);const mergedClassName=classnames(useResponsiveStacked&&"pb_filter_responsive",className);const displayFilter=()=>{if(variant==="sidebar"){return jsx(FilterSidebar,{className:className,...layoutProps,children:children})}if(useResponsiveStacked){return jsx(FilterResponsive,{...layoutProps,className:mergedClassName,children:children})}if(double===true){return jsx(FilterDouble,{...layoutProps,className:className,children:children})}return jsx(FilterSingle,{...layoutProps,className:className,children:children})};return jsx(Fragment,{children:displayFilter()})};Filter.Section=FilterSection;const LoadingInline=props=>{const{align:align="left",aria:aria={},className:className,color:color="light",data:data={},dark:dark=false,htmlOptions:htmlOptions={},id:id,text:text=" Loading",variant:variant="dotted"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss(`pb_loading_inline_kit_${align}`),globalProps(props),className);return jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:jsxs(Body,{color:color,dark:dark,children:[jsx(Icon,{aria:{label:"loading icon"},fixedWidth:true,icon:variant==="dotted"?"spinner":variant==="solid"?"circle-notch":void 0,pulse:true}),text]})})};const Nav=props=>{const{aria:aria={},borderless:borderless=false,children:children,className:className,data:data={},dark:dark=false,extendedUnderline:extendedUnderline=false,highlight:highlight=true,htmlOptions:htmlOptions={},id:id,link:link="#",onClick:onClick,orientation:orientation="vertical",title:title="",variant:variant="normal",itemSpacing:itemSpacing}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const cardCss=classnames(buildCss("pb_nav_list",variant,orientation,{highlight:highlight,borderless:borderless}),variant==="normal"&&orientation==="horizontal"&&extendedUnderline&&"pb_nav_extended_underline",globalProps(props),className);const childrenWithProps=React__default.Children.map(children,(child=>{if(React__default.isValidElement(child)){const childProps={orientation:orientation,variant:variant,itemSpacing:itemSpacing};return React__default.cloneElement(child,childProps)}return child}));return jsxs("nav",{...ariaProps,...dataProps,...htmlProps,className:cardCss,id:id,children:[title&&jsx("div",{className:"pb_nav_list_title",children:jsx("a",{className:"pb_nav_list_item_link_text",href:link,onClick:onClick,children:jsx(Caption,{dark:dark,size:"md",text:`${title}`})})}),jsx("div",{className:"pb_nav_wrapper",children:childrenWithProps})]})};const NavItem=props=>{const fontWeightDefault=(orientation2,variant2)=>orientation2==="horizontal"&&variant2==="subtle"?"regular":orientation2==="horizontal"&&variant2==="normal"?"bold":"regular";const{active:active=false,highlighted_border:highlighted_border=true,aria:aria={},orientation:orientation,variant:variant,fontWeight:fontWeight=fontWeightDefault(orientation,variant),children:children,className:className,collapsible:collapsible,data:data={},dark:dark=false,fontSize:fontSize="normal",htmlOptions:htmlOptions={},iconLeft:iconLeft,iconRight:iconRight,onIconRightClick:onIconRightClick,onIconLeftClick:onIconLeftClick,id:id,imageUrl:imageUrl,link:link,onClick:onClick,target:target="_self",text:text="",collapsibleTrail:collapsibleTrail,collapsed:collapsed,itemSpacing:itemSpacing,margin:margin,marginBottom:marginBottom,marginTop:marginTop,marginRight:marginRight,marginLeft:marginLeft,marginX:marginX,marginY:marginY,disabled:disabled=false}=props;const spacingMarginProps={margin:margin,marginBottom:marginBottom,marginTop:marginTop,marginRight:marginRight,marginLeft:marginLeft,marginX:marginX,marginY:marginY};const filterItemSpacing=obj=>{const filteredPadding2={};const filteredMargin2={};for(const key in obj){if(key.startsWith("padding")){filteredPadding2[key]=obj[key]}else if(key.startsWith("margin")){filteredMargin2[key]=obj[key]}}return{filteredPadding:filteredPadding2,filteredMargin:filteredMargin2}};const{filteredPadding:filteredPadding,filteredMargin:filteredMargin}=filterItemSpacing(itemSpacing);const finalItemSpacing={...filteredMargin||{},...Object.entries(spacingMarginProps).reduce(((acc,[prop,value])=>{if(value){acc[prop]=value}return acc}),{})};const filteredProps={...props};filteredProps==null?true:delete filteredProps.margin;filteredProps==null?true:delete filteredProps.marginX;filteredProps==null?true:delete filteredProps.marginY;filteredProps==null?true:delete filteredProps.marginBottom;filteredProps==null?true:delete filteredProps.marginTop;filteredProps==null?true:delete filteredProps.marginRight;filteredProps==null?true:delete filteredProps.marginLeft;const isLink=!!link&&!disabled;const Tag=isLink?"a":"div";const activeClass=active===true?"active":"";const highlightedBorderClass=active===true&&highlighted_border===false?"highlighted_border_none":"";const collapsibleTrailClass=collapsible&&collapsibleTrail?"collapsible_trail":"";const disabledClass=disabled?"pb_nav_item_disabled":"";const fontSizeMapping={small:"font_size_small",normal:"font_size_normal"};const fontWeightMapping={bold:"font_bold",bolder:"font_bolder",regular:"font_regular"};const fontSizeClass=fontSizeMapping[fontSize];const fontWeightClass=fontWeightMapping[fontWeight];const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const tagClasses=classnames(collapsible?"pb_nav_list_item_link_collapsible":"pb_nav_list_item_link");const classes=classnames(buildCss("pb_nav_list_kit_item",activeClass,highlightedBorderClass),collapsible?buildCss("pb_collapsible_nav_item",activeClass,highlightedBorderClass):"",fontSizeClass,fontWeightClass,tagClasses,collapsible?globalProps(filteredProps,{...filteredPadding}):globalProps(props,{...itemSpacing}),disabledClass,className);const handleIconClick=e=>{if(onIconLeftClick){e.stopPropagation();onIconLeftClick()}};const childrenWithProps=React__default.Children.map(children,(child=>{if(React__default.isValidElement(child)){const childProps={itemSpacing:itemSpacing,...disabled&&{disabled:disabled}};return React__default.cloneElement(child,childProps)}return child}));const collapsibleClasses=buildCss("collapsible_nav_wrapper",activeClass,highlightedBorderClass,collapsibleTrailClass,disabledClass);const handleKeyDown=e=>{if(!disabled&&!isLink&&(e.key==="Enter"||e.key===" ")){e.preventDefault();onClick==null?void 0:onClick()}};const handleClick=e=>{if(disabled){e.preventDefault();e.stopPropagation();return}onClick==null?void 0:onClick()};return jsx(Fragment,{children:collapsible?jsx(Fragment,{children:jsxs(Collapsible,{className:collapsibleClasses,collapsed:collapsed,icon:iconRight&&iconRight,iconSize:"xs",id:id,onClick:disabled?void 0:onClick,onIconClick:disabled?void 0:onIconRightClick,children:[jsx(Collapsible.Main,{className:globalProps({...finalItemSpacing}),dark:dark,children:jsxs(Tag,{...ariaProps,...dataProps,...htmlProps,className:classes,href:isLink?link:void 0,id:id,role:!isLink?"button":void 0,tabIndex:!isLink?0:void 0,target:isLink?target:void 0,children:[imageUrl&&jsx("div",{className:"pb_nav_list_item_icon_section_collapsible",onClick:e=>handleIconClick(e),onKeyDown:!isLink?handleKeyDown:void 0,children:jsx(Image,{className:"pb_nav_img_wrapper",url:imageUrl})},imageUrl),iconLeft&&jsx("div",{className:"pb_nav_list_item_icon_section_collapsible",onClick:e=>handleIconClick(e),children:jsx(Icon,{className:"pb_nav_list_item_icon_left_collapsible",fixedWidth:true,icon:iconLeft})},iconLeft),jsx("span",{className:"pb_nav_list_item_text_collapsible",children:text})]})}),jsx(Collapsible.Content,{children:childrenWithProps})]})}):jsxs(Tag,{...ariaProps,...dataProps,...htmlProps,"aria-disabled":disabled,className:classes,href:isLink?link:void 0,id:id,onClick:handleClick,onKeyDown:!isLink?handleKeyDown:void 0,role:!isLink?"button":void 0,tabIndex:disabled?-1:!isLink?0:void 0,target:isLink?target:void 0,children:[imageUrl&&jsx("div",{className:"pb_nav_list_item_icon_section",children:jsx(Image,{className:"pb_nav_img_wrapper",url:imageUrl})},imageUrl),iconLeft&&jsx("div",{className:"pb_nav_list_item_icon_section",children:jsx(Icon,{className:"pb_nav_list_item_icon_left",fixedWidth:true,icon:iconLeft})},iconLeft),jsx("span",{className:"pb_nav_list_item_text",children:text||children}),iconRight&&jsx("div",{className:"pb_nav_list_item_icon_section",children:jsx(Icon,{className:"pb_nav_list_item_icon_right",fixedWidth:true,icon:iconRight})},iconRight)]})})};const Pagination=props=>{const{aria:aria={},className:className,data:data={},htmlOptions:htmlOptions={},id:id,current:current=1,onChange:onChange,range:range=5,total:total=1}=props;const[currentPage,setCurrentPage]=useState(current);const[isMobile,setIsMobile]=useState(false);const[isDropdownOpen,setIsDropdownOpen]=useState(false);const[dropdownPosition,setDropdownPosition]=useState("below");const dropdownRef=useRef(null);useEffect((()=>{const checkMobile=()=>{setIsMobile(window.innerWidth<=767)};checkMobile();let timeoutId=null;const throttledCheckMobile=()=>{if(timeoutId===null){timeoutId=setTimeout((()=>{checkMobile();timeoutId=null}),150)}};window.addEventListener("resize",throttledCheckMobile);return()=>{window.removeEventListener("resize",throttledCheckMobile);if(timeoutId)clearTimeout(timeoutId)}}),[]);useEffect((()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsDropdownOpen(false)}};if(isDropdownOpen){document.addEventListener("mousedown",handleClickOutside)}return()=>{document.removeEventListener("mousedown",handleClickOutside)}}),[isDropdownOpen]);const checkDropdownPosition=()=>{if(dropdownRef.current){const rect=dropdownRef.current.getBoundingClientRect();const dropdownHeight=200;const spaceBelow=window.innerHeight-rect.bottom;const spaceAbove=rect.top;if(spaceBelow<dropdownHeight&&spaceAbove>spaceBelow){setDropdownPosition("above")}else{setDropdownPosition("below")}}};const handleDropdownToggle=()=>{if(!isDropdownOpen){checkDropdownPosition()}setIsDropdownOpen(!isDropdownOpen)};const handlePageChange=pageNumber=>{if(pageNumber>=1&&pageNumber<=total){setCurrentPage(pageNumber);setIsDropdownOpen(false);if(onChange){onChange(pageNumber)}}};const createPageOptions=()=>{const options=[];for(let pageNumber=1;pageNumber<=total;pageNumber++){options.push({label:String(pageNumber),value:String(pageNumber),id:`page-${pageNumber}`})}return options};const renderPageButtons=()=>{const buttons=[];let rangeStart=Math.max(1,currentPage-Math.floor(range/2));let rangeEnd=Math.min(total,rangeStart+range-1);if(rangeEnd-rangeStart+1<range){if(rangeStart>1){rangeStart=Math.max(1,rangeEnd-range+1)}else{rangeEnd=Math.min(total,rangeStart+range-1)}}if(rangeStart>1){buttons.push(jsx("li",{className:"pagination-number",onClick:()=>handlePageChange(1),children:"1"},1))}if(rangeStart>2){buttons.push(jsx("li",{className:"pagination-number",onClick:()=>handlePageChange(2),children:"2"},2))}for(let i=rangeStart;i<=rangeEnd;i++){buttons.push(jsx("li",{className:`pagination-number ${i===currentPage?"active":""}`,onClick:()=>handlePageChange(i),children:i},i))}if(rangeEnd<total-1){buttons.push(jsx("li",{className:`pagination-number ${total-1===currentPage?"active":""}`,onClick:()=>handlePageChange(total-1),children:total-1},total-1))}if(rangeEnd<total){buttons.push(jsx("li",{className:`pagination-number ${total===currentPage?"active":""}`,onClick:()=>handlePageChange(total),children:total},total))}return buttons};useEffect((()=>{if(current>=1&&current<=total){setCurrentPage(current)}}),[current,total]);const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames(buildCss("pb_paginate"),globalProps(props),className);if(total<=1){return null}return jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:jsx("div",{className:`pb_pagination ${isMobile?"pb_pagination_mobile":""}`,children:isMobile?jsxs(Flex,{alignItems:"center",children:[jsx("li",{className:`pagination-left ${currentPage===1?"disabled":""}`,onClick:()=>handlePageChange(currentPage-1),children:jsxs(Flex,{alignItems:"center",children:[jsx(Icon,{icon:"chevron-left"}),jsx(Detail,{color:"default",marginLeft:"xxs",children:"Prev"})]})}),jsxs("div",{className:"pagination-dropdown",ref:dropdownRef,children:[jsx("div",{className:"pagination-dropdown-trigger",onClick:handleDropdownToggle,children:jsxs(Flex,{alignItems:"center",gap:"xxs",justify:"between",children:[jsx(Detail,{bold:true,color:"default",children:currentPage}),jsxs(Detail,{color:"default",children:["of ",total]}),jsx(Icon,{color:"primary",icon:isDropdownOpen?"chevron-up":"chevron-down",size:"xs"})]})}),isDropdownOpen&&jsx("div",{className:`pagination-dropdown-menu ${dropdownPosition}`,children:createPageOptions().map((option2=>jsx("div",{className:`pagination-dropdown-option ${Number(option2.value)===currentPage?"active":""}`,onClick:()=>handlePageChange(Number(option2.value)),children:jsxs(Body,{children:["Page ",option2.label]})},option2.id)))})]}),jsx("li",{className:`pagination-right ${currentPage===total?"disabled":""}`,onClick:()=>handlePageChange(currentPage+1),children:jsxs(Flex,{alignItems:"center",children:[jsx(Detail,{color:"default",marginRight:"xxs",children:"Next"}),jsx(Icon,{icon:"chevron-right"})]})})]}):jsxs(Fragment,{children:[jsx("li",{className:`pagination-left ${currentPage===1?"disabled":""}`,onClick:()=>handlePageChange(currentPage-1),children:jsx(Icon,{icon:"chevron-left"})}),renderPageButtons(),jsx("li",{className:`pagination-right ${currentPage===total?"disabled":""}`,onClick:()=>handlePageChange(currentPage+1),children:jsx(Icon,{icon:"chevron-right"})})]})})})};const TableHead=props=>{const{aria:aria={},children:children,className:className,data:data={},headerStyle:headerStyle="default",htmlOptions:htmlOptions={},id:id,tag:tag="table"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames("pb_table_thead",{pb_table_thead_borderless:headerStyle==="borderless"||headerStyle==="floating",pb_table_thead_floating:headerStyle==="floating"},globalProps(props),className);const isTableTag=tag==="table";return jsx(Fragment,{children:isTableTag?jsx("thead",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children}):jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children})})};const isEmptySortMenuItem=item=>Object.keys(item).length===0;const isSortingStyle=sortMenu=>Array.isArray(sortMenu)&&sortMenu.length>0&&!(sortMenu.length===1&&isEmptySortMenuItem(sortMenu[0]));const getActiveItem=sortMenu=>{let activeItem={};sortMenu.forEach((item=>{if(item.active===true){activeItem=item}}));return activeItem};const getSortItems=sortMenu=>[...new Set(sortMenu.map((item=>item.item)).filter(Boolean))];const getSortItemsFor=(sortMenu,sortItem)=>sortMenu.filter((item=>item.item===sortItem));const getActiveOrFirstItem=items=>{const activeItem=items.find((item=>item.active===true));return activeItem||items[0]};const getNextLink=(sortMenu,sortItem="")=>{var _a;const sortMenuFor=sortItem?getSortItemsFor(sortMenu,sortItem):sortMenu;if(sortMenuFor.every((item=>item.active===false))){return((_a=sortMenuFor[0])==null?void 0:_a.link)||""}let link="";sortMenuFor.forEach(((item,index)=>{var _a2;if(item.active===true){const nextIndex=(index+1)%sortMenuFor.length;link=((_a2=sortMenuFor[nextIndex])==null?void 0:_a2.link)||""}}));return link};const getSortIcon=(direction,active)=>{switch(direction){case"asc":return active?"sort-amount-up":"";case"desc":return active?"sort-amount-down":"";default:return"arrow-up-arrow-down"}};const isDropdownSelect=(sortMenu,colSpan,sortDropdown)=>isSortingStyle(sortMenu)&&(sortDropdown===true||sortDropdown!==false&&colSpan!=null&&colSpan>1);const TableHeader=props=>{const{alignContent:alignContent="center",aria:aria={},children:children,className:className,colSpan:colSpan,data:data={},headerStyle:headerStyle="default",htmlOptions:htmlOptions={},id:id,justifySortIcon:justifySortIcon="between",placement:placement="bottom-end",sortDropdown:sortDropdown,sortMenu:sortMenu=[{}],tag:tag="table",text:text}=props;const[showSortPopover,setShowSortPopover]=useState(false);const{colSpan:htmlColSpan,colspan:htmlColspan,...restHtmlOptions}=htmlOptions;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(restHtmlOptions);const classes=classnames("pb_table_th",{pb_table_thead_borderless:headerStyle==="borderless"||headerStyle==="floating",pb_table_thead_floating:headerStyle==="floating"},globalProps(props),className);const isTableTag=tag==="table";const resolvedColSpan=colSpan??htmlColSpan??htmlColspan;const sortingEnabled=isSortingStyle(sortMenu);const dropdownEnabled=isTableTag&&isDropdownSelect(sortMenu,resolvedColSpan,sortDropdown);const activeItem=sortingEnabled?getActiveItem(sortMenu):{};const nextLink=sortingEnabled?getNextLink(sortMenu):"";const sortIconName=sortingEnabled?getSortIcon(activeItem.direction,activeItem.active):"";const isSortActive=Object.keys(activeItem).length>0;const linkStyle=isSortActive?void 0:{color:"#687887"};const headerId=id||(dropdownEnabled?uniqueId("pb-th"):void 0);const closeSortPopover=shouldClose=>{setShowSortPopover(!shouldClose)};const handleSortLinkClick=event=>{if(!dropdownEnabled)return;event.preventDefault();event.stopPropagation();setShowSortPopover((open=>!open))};const sortLink=jsx("a",{href:dropdownEnabled?"#":nextLink,onClick:handleSortLinkClick,style:linkStyle,children:jsx(Flex,{align:alignContent,className:"pb_th_link",justify:justifySortIcon,children:jsxs(Fragment,{children:[text||children,sortIconName!==""&&jsx(Icon,{className:isSortActive?"pb_th_active":"",fixedWidth:true,icon:sortIconName,paddingLeft:"xs"})]})})});const sortDropdownMenu=dropdownEnabled&&jsx(PbReactPopover,{className:"pb_filter_sort_menu",closeOnClick:"outside",padding:"none",placement:placement,reference:sortLink,shouldClosePopover:closeSortPopover,show:showSortPopover,children:jsx(Nav,{className:"pb_table_header_dropdown",data:{"pb-table-header":headerId},children:getSortItems(sortMenu).map((sortItemName=>{const item=getActiveOrFirstItem(getSortItemsFor(sortMenu,sortItemName));return jsx(NavItem,{active:item.active,className:"header_nav_item",highlighted_border:false,iconRight:getSortIcon(item.direction,item.active),link:getNextLink(sortMenu,sortItemName),onClick:()=>setShowSortPopover(false),padding:"xs",text:item.item||""},sortItemName)}))})});const headerContent=(()=>{if(!sortingEnabled)return text||children;if(dropdownEnabled)return sortDropdownMenu;return sortLink})();return jsx(Fragment,{children:isTableTag?jsx("th",{...ariaProps,...dataProps,...htmlProps,className:classes,...resolvedColSpan!=null&&{colSpan:resolvedColSpan},id:headerId,children:headerContent}):jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:headerId,children:headerContent})})};const TableBody=props=>{const{aria:aria={},children:children,className:className,data:data={},draggableContainer:draggableContainer=false,htmlOptions:htmlOptions={},id:id,tag:tag="table"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const classes=classnames("pb_table_tbody",globalProps(props),className);const isTableTag=tag==="table";return jsx(Fragment,{children:isTableTag?draggableContainer?jsx(Draggable.Container,{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,tag:"tbody",children:children}):jsx("tbody",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children}):draggableContainer?jsx(Draggable.Container,{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children}):jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children})})};const TableRow=props=>{const{aria:aria={},children:children,collapsible:collapsible,collapsibleContent:collapsibleContent,collapsibleSideHighlight:collapsibleSideHighlight=true,className:className,data:data={},dark:dark=false,dragId:dragId,draggableItem:draggableItem=false,headerStyle:headerStyle="default",htmlOptions:htmlOptions={},id:id,toggleCellId:toggleCellId,sideHighlightColor:sideHighlightColor="none",tag:tag="table"}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const sideHighlightClass=sideHighlightColor!=""?`side_highlight_${sideHighlightColor}`:null;const[isCollapsed,setIsCollapsed]=useCollapsible(true);const collapsibleRow=collapsible&&isCollapsed===true?"collapsible_table_row":null;const classes=classnames(buildCss("pb_table_row_kit",sideHighlightClass),"pb_table_tr",{pb_table_tr_borderless_header:headerStyle==="borderless"},collapsibleRow,globalProps(props),className);const isTableTag=tag==="table";const colSpan=React__default.Children.count(children);const handleRowClick=event=>{if(toggleCellId){const target=event.target;const clickedCell=target.closest(`#${toggleCellId}`);const isIconClick=target instanceof SVGElement&&(target.matches("svg.pb_custom_icon")||target.closest("svg.pb_custom_icon"));if(clickedCell||clickedCell&&isIconClick){setIsCollapsed(!isCollapsed)}}else{setIsCollapsed(!isCollapsed)}};return jsx(Fragment,{children:collapsible?isTableTag?jsxs(Fragment,{children:[jsx("tr",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,onClick:e=>handleRowClick(e),style:{cursor:toggleCellId?"default":"pointer"},children:children}),jsx("tr",{children:jsxs(Collapsible,{collapsed:isCollapsed,dark:dark,htmlOptions:{colSpan:colSpan},padding:"none",tag:"td",children:[jsx("tr",{}),jsx(Collapsible.Content,{className:collapsibleSideHighlight?`table_collapsible_side_highlight`:"",dark:dark,margin:"none",padding:"none",children:collapsibleContent})]})})]}):jsxs(Fragment,{children:[jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,onClick:handleRowClick,style:{cursor:"pointer"},children:children}),jsx("tr",{children:jsxs(Collapsible,{collapsed:isCollapsed,dark:dark,htmlOptions:{colSpan:colSpan},padding:"none",tag:"td",children:[jsx("tr",{}),jsx(Collapsible.Content,{className:collapsibleSideHighlight?`table_collapsible_side_highlight`:"",dark:dark,margin:"none",padding:"none",children:collapsibleContent})]})})]}):isTableTag?draggableItem?jsx(Draggable.Item,{...ariaProps,...dataProps,...htmlProps,className:classes,dragId:dragId,tag:"tr",children:children}):jsx("tr",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children}):draggableItem?jsx(Draggable.Item,{...ariaProps,...dataProps,...htmlProps,className:classes,dragId:dragId,children:children}):jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:children})})};const TableCell=props=>{const{aria:aria={},children:children,className:className,colSpan:colSpan,data:data={},htmlOptions:htmlOptions={},id:id,tag:tag="table",text:text}=props;const{colSpan:htmlColSpan,colspan:htmlColspan,...restHtmlOptions}=htmlOptions;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(restHtmlOptions);const classes=classnames("pb_table_td",globalProps(props),className);const isTableTag=tag==="table";const resolvedColSpan=colSpan??htmlColSpan??htmlColspan;return jsx(Fragment,{children:isTableTag?jsx("td",{...ariaProps,...dataProps,...htmlProps,className:classes,...resolvedColSpan!=null&&{colSpan:resolvedColSpan},id:id,children:text||children}):jsx("div",{...ariaProps,...dataProps,...htmlProps,className:classes,id:id,children:text||children})})};const addDataTitle=()=>{const tables=document.querySelectorAll(".table-responsive-collapse");[].forEach.call(tables,(table=>{const headers=[];[].forEach.call(table.querySelectorAll("th"),(header=>{const colSpan=header.colSpan;for(let i=0;i<colSpan;i++){headers.push(header.textContent.replace(/\r?\n|\r/,""))}}));[].forEach.call(table.querySelectorAll("tbody tr"),(row=>{[].forEach.call(row.cells,((cell,headerIndex)=>{cell.setAttribute("data-title",headers[headerIndex])}))}))}))};const Table=props=>{const{aria:aria={},variant:variant="default",cardProps:cardProps={},titleProps:titleProps={},children:children,className:className,collapse:collapse=(variant==="withFilter"?"md":"sm"),container:container=true,dark:dark,data:data={},dataTable:dataTable=false,disableHover:disableHover=false,filterProps:filterProps={},filterContent:filterContent,headerStyle:headerStyle="default",htmlOptions:htmlOptions={},id:id,outerPadding:outerPadding="",pagination:pagination,responsive:responsive="collapse",size:size="sm",sticky:sticky=false,stickyLeftColumn:stickyLeftColumn=[],stickyRightColumn:stickyRightColumn=[],striped:striped=false,tag:tag="table",title:title,contrastBorder:contrastBorder=false,verticalBorder:verticalBorder=false}=props;const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const tableCollapseCss=responsive==="collapse"?`table-collapse-${collapse}`:"";const contrastBorderCss=contrastBorder?"contrast-border":"";const verticalBorderCss=verticalBorder?"vertical-border":"";const spaceCssName=outerPadding!=="none"?"space_":"";const outerPaddingCss=outerPadding?`outer_padding_${spaceCssName}${outerPadding}`:"";const isTableTag=tag==="table";const dynamicInlineProps=globalInlineProps(props);const[tableNode,setTableNode]=useState(null);const setTableRef=useCallback((node=>{setTableNode((current=>current===node?current:node))}),[]);const isFilterVariant=variant==="withFilter";const effectiveContainer=isFilterVariant?false:container;const classNames=classnames("pb_table",`table-${size}`,`table-responsive-${responsive}`,{"table-card":effectiveContainer,"table-dark":dark,data_table:dataTable,"no-hover":disableHover,"sticky-header":sticky,"sticky-left-column":stickyLeftColumn.length,"sticky-right-column":stickyRightColumn.length,striped:striped,"header-borderless":headerStyle==="borderless","header-floating":headerStyle==="floating",[outerPaddingCss]:outerPadding!==""},globalProps(props),tableCollapseCss,contrastBorderCss,verticalBorderCss,className);useEffect((()=>{if(!tableNode)return;if(!stickyLeftColumn.length&&!stickyRightColumn.length)return;const applyStickyOffsets=()=>{if(stickyLeftColumn.length){applyStickyColumns(tableNode,stickyLeftColumn,"left")}if(stickyRightColumn.length){applyStickyColumns(tableNode,stickyRightColumn,"right")}};const cancelSchedule=scheduleStickyColumns(applyStickyOffsets);window.addEventListener("resize",applyStickyOffsets);let resizeObserver;if(typeof ResizeObserver!=="undefined"){resizeObserver=new ResizeObserver(applyStickyOffsets);resizeObserver.observe(tableNode)}return()=>{cancelSchedule();window.removeEventListener("resize",applyStickyOffsets);resizeObserver==null?void 0:resizeObserver.disconnect()}}),[tableNode,stickyLeftColumn,stickyRightColumn]);useEffect((()=>{addDataTitle()}),[]);const tableElementProps={...ariaProps,...dataProps,...htmlProps,className:classNames,id:id,style:dynamicInlineProps};const renderTableElement=()=>isTableTag?jsx("table",{...tableElementProps,ref:setTableRef,children:children}):jsx("div",{...tableElementProps,ref:setTableRef,children:children});const renderTable=()=>{if(responsive==="scroll"){return jsx("div",{className:"table-responsive-scroll",children:renderTableElement()})}return renderTableElement()};const renderCardVariant=()=>{const tableElement=responsive==="scroll"?jsx("div",{className:"table-responsive-scroll",children:renderTableElement()}):renderTableElement();const defaultFilterProps={background:false,maxHeight:"50vh",minWidth:"xs",popoverProps:{width:"350px"}};const mergedFilterProps={...defaultFilterProps,...filterProps};const defaultCardProps={padding:"none"};const mergedCardProps={...defaultCardProps,...cardProps};const defaultTitleProps={size:3,paddingY:"md"};const mergedTitleProps={...defaultTitleProps,...titleProps};return jsxs(Fragment,{children:[title&&jsx(Title,{...mergedTitleProps,text:title}),jsx(Card,{...mergedCardProps,children:jsxs(Flex,{align:"stretch",flexDirection:"column",gap:"none",children:[filterContent&&jsx(Filter,{...mergedFilterProps,children:filterContent}),filterContent&&jsx(SectionSeparator,{}),pagination&&jsxs(Fragment,{children:[pagination,jsx(SectionSeparator,{})]}),tableElement,pagination&&jsx(Fragment,{children:pagination})]})})]})};return jsx(Fragment,{children:isFilterVariant?renderCardVariant():renderTable()})};Table.Head=TableHead;Table.Header=TableHeader;Table.Body=TableBody;Table.Row=TableRow;Table.Cell=TableCell;export{Button as B,Checkbox as C,FlexItem as F,LoadingInline as L,Nav as N,PbReactPopover as P,SectionSeparator as S,Table as T,Pagination as a,CircleIconButton as b,ListItem as c,List as d,NavItem as e,Collapsible as f,getQuickPickOptions as g,Filter as h,TableRow as i,TitleCount as j,requireWarning as r};