construct-hub 0.2.50 → 0.2.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. package/.jsii +2 -2
  2. package/lib/construct-hub.js +1 -1
  3. package/lib/package-sources/code-artifact.js +1 -1
  4. package/lib/package-sources/npmjs.js +1 -1
  5. package/lib/package-tag/index.js +2 -2
  6. package/lib/spdx-license.js +1 -1
  7. package/package.json +2 -2
  8. package/website/asset-manifest.json +37 -37
  9. package/website/index.html +1 -1
  10. package/website/service-worker.js +1 -1
  11. package/website/service-worker.js.map +1 -1
  12. package/website/static/js/{0.476ccc35.chunk.js → 0.14ae620d.chunk.js} +2 -2
  13. package/website/static/js/{0.476ccc35.chunk.js.map → 0.14ae620d.chunk.js.map} +1 -1
  14. package/website/static/js/{1.dce521b7.chunk.js → 1.ba696ffb.chunk.js} +2 -2
  15. package/website/static/js/{1.dce521b7.chunk.js.map → 1.ba696ffb.chunk.js.map} +1 -1
  16. package/website/static/js/{10.511ed889.chunk.js → 10.48221095.chunk.js} +2 -2
  17. package/website/static/js/{10.511ed889.chunk.js.map → 10.48221095.chunk.js.map} +1 -1
  18. package/website/static/js/{11.fedfcf57.chunk.js → 11.c3c4095a.chunk.js} +2 -2
  19. package/website/static/js/{11.fedfcf57.chunk.js.map → 11.c3c4095a.chunk.js.map} +1 -1
  20. package/website/static/js/{12.f223385d.chunk.js → 12.cadd501c.chunk.js} +2 -2
  21. package/website/static/js/{12.f223385d.chunk.js.map → 12.cadd501c.chunk.js.map} +1 -1
  22. package/website/static/js/13.fe1e2da5.chunk.js +2 -0
  23. package/website/static/js/{13.97b408c9.chunk.js.map → 13.fe1e2da5.chunk.js.map} +1 -1
  24. package/website/static/js/{14.5a16949a.chunk.js → 14.0902aefd.chunk.js} +2 -2
  25. package/website/static/js/{14.5a16949a.chunk.js.map → 14.0902aefd.chunk.js.map} +1 -1
  26. package/website/static/js/{15.d29607c9.chunk.js → 15.50336305.chunk.js} +2 -2
  27. package/website/static/js/{15.d29607c9.chunk.js.map → 15.50336305.chunk.js.map} +1 -1
  28. package/website/static/js/{2.8028f8f1.chunk.js → 2.5cef3eb0.chunk.js} +2 -2
  29. package/website/static/js/{2.8028f8f1.chunk.js.map → 2.5cef3eb0.chunk.js.map} +1 -1
  30. package/website/static/js/{5.9ad3252f.chunk.js → 5.a2fc9d7c.chunk.js} +3 -3
  31. package/website/static/js/{5.9ad3252f.chunk.js.LICENSE.txt → 5.a2fc9d7c.chunk.js.LICENSE.txt} +0 -0
  32. package/website/static/js/{5.9ad3252f.chunk.js.map → 5.a2fc9d7c.chunk.js.map} +1 -1
  33. package/website/static/js/6.c49f34c2.chunk.js +3 -0
  34. package/website/static/js/{6.e67c67fc.chunk.js.LICENSE.txt → 6.c49f34c2.chunk.js.LICENSE.txt} +0 -0
  35. package/website/static/js/{6.e67c67fc.chunk.js.map → 6.c49f34c2.chunk.js.map} +1 -1
  36. package/website/static/js/{7.85487e43.chunk.js → 7.4fcbd19f.chunk.js} +2 -2
  37. package/website/static/js/{7.85487e43.chunk.js.map → 7.4fcbd19f.chunk.js.map} +1 -1
  38. package/website/static/js/8.31a21ecd.chunk.js +2 -0
  39. package/website/static/js/8.31a21ecd.chunk.js.map +1 -0
  40. package/website/static/js/9.e8c984d8.chunk.js +2 -0
  41. package/website/static/js/9.e8c984d8.chunk.js.map +1 -0
  42. package/website/static/js/main.65f1e14b.chunk.js +2 -0
  43. package/website/static/js/main.65f1e14b.chunk.js.map +1 -0
  44. package/website/static/js/{runtime-main.fc2986a7.js → runtime-main.d3c4ab29.js} +2 -2
  45. package/website/static/js/{runtime-main.fc2986a7.js.map → runtime-main.d3c4ab29.js.map} +1 -1
  46. package/website/static/js/13.97b408c9.chunk.js +0 -2
  47. package/website/static/js/6.e67c67fc.chunk.js +0 -3
  48. package/website/static/js/8.e3d4e000.chunk.js +0 -2
  49. package/website/static/js/8.e3d4e000.chunk.js.map +0 -1
  50. package/website/static/js/9.a24ba07b.chunk.js +0 -2
  51. package/website/static/js/9.a24ba07b.chunk.js.map +0 -1
  52. package/website/static/js/main.3e01d988.chunk.js +0 -2
  53. package/website/static/js/main.3e01d988.chunk.js.map +0 -1
@@ -1,2 +1,2 @@
1
- (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[10],{307:function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return s}));var r=n(17),o=n(20),a=n(13),i=n(0);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var l=Object(r.a)((function(e,t){var n=e.isExternal,r=e.target,l=e.rel,s=e.className,d=u(e,["isExternal","target","rel","className"]);return i.createElement(o.a.a,c({},d,{ref:t,className:Object(a.d)("chakra-linkbox__overlay",s),rel:n?"noopener noreferrer":l,target:n?"_blank":r,__css:{position:"static","&::before":{content:"''",cursor:"inherit",display:"block",position:"absolute",top:0,left:0,zIndex:0,width:"100%",height:"100%"}}}))})),s=Object(r.a)((function(e,t){var n=e.className,r=u(e,["className"]);return i.createElement(o.a.div,c({ref:t,position:"relative"},r,{className:Object(a.d)("chakra-linkbox",n),__css:{"a[href]:not(.chakra-linkbox__overlay), abbr[title]":{position:"relative",zIndex:1}}}))}))},308:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",displayName:"ChevronRightIcon"})},358:function(e,t){},361:function(e,t,n){"use strict";n.d(t,"b",(function(){return g})),n.d(t,"a",(function(){return y}));var r=n(5),o=n(17),a=n(20),i=n(13),c=n(8),u=n(116),l=n(0),s=n(4),d=n(145),b=n(114),v=n(154);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e){void 0===e&&(e={});var t=e,n=t.onChange,o=t.value,a=t.defaultValue,i=t.name,u=t.isDisabled,f=t.isFocusable,O=t.isNative,j=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["onChange","value","defaultValue","name","isDisabled","isFocusable","isNative"]),h=l.useState(a||""),m=Object(r.a)(h,2),g=m[0],y=m[1],k=Object(d.a)(o,g),P=Object(r.a)(k,2),C=P[0],w=P[1],N=l.useRef(null),_=l.useCallback((function(){var e=N.current;if(e){var t="input:not(:disabled):checked",n=e.querySelector(t);if(n)n.focus();else{t="input:not(:disabled)";var r=e.querySelector(t);null==r||r.focus()}}}),[]),E=Object(b.b)(void 0,"radio"),x=i||E,S=l.useCallback((function(e){var t=Object(c.f)(e)?e.target.value:e;C||y(t),null==n||n(String(t))}),[n,C]),R=l.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),p({},e,{ref:Object(v.a)(t,N),role:"radiogroup"})}),[]),D=l.useCallback((function(e,t){var n;void 0===e&&(e={}),void 0===t&&(t=null);var r=O?"checked":"isChecked";return p({},e,(n={ref:t,name:x},Object(s.a)(n,r,null!=w?e.value===w:void 0),Object(s.a)(n,"onChange",S),Object(s.a)(n,"data-radiogroup",!0),n))}),[O,x,S,w]);return{getRootProps:R,getRadioProps:D,name:x,ref:N,focus:_,setValue:y,value:w,onChange:S,isDisabled:u,isFocusable:f,htmlProps:j}}function O(){return O=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},O.apply(this,arguments)}var j=Object(u.a)({name:"RadioGroupContext",strict:!1}),h=Object(r.a)(j,2),m=h[0],g=h[1],y=Object(o.a)((function(e,t){var n=e.colorScheme,r=e.size,o=e.variant,c=e.children,u=e.className,s=e.isDisabled,d=e.isFocusable,b=f(function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["colorScheme","size","variant","children","className","isDisabled","isFocusable"])),v=b.value,p=b.onChange,j=b.getRootProps,h=b.name,g=b.htmlProps,y=l.useMemo((function(){return{name:h,size:r,onChange:p,colorScheme:n,value:v,variant:o,isDisabled:s,isFocusable:d}}),[h,r,p,n,v,o,s,d]),k=j(g,t),P=Object(i.d)("chakra-radio-group",u);return l.createElement(m,{value:y},l.createElement(a.a.div,O({},k,{className:P}),c))}));c.a&&(y.displayName="RadioGroup")},363:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",displayName:"ChevronLeftIcon"})},364:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z",displayName:"DownloadIcon",viewBox:"0 0 14 14"})},587:function(e,t,n){"use strict";n.d(t,"a",(function(){return oe})),n.d(t,"g",(function(){return ae})),n.d(t,"e",(function(){return ie})),n.d(t,"f",(function(){return ce})),n.d(t,"c",(function(){return ue})),n.d(t,"d",(function(){return le})),n.d(t,"b",(function(){return se}));var r=n(197),o=n(54),a=n(34),i=n(46),c=n(17),u=n(20),l=n(29),s=n(8),d=n(13),b=n(0),v=n.n(b),p=n(5),f=n(116),O=Object(f.a)({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`"}),j=Object(p.a)(O,2),h=j[0],m=j[1],g=n(179),y=n(48),k=n.n(y);function P(){return P=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}var C=function(e){if(e)return k()(e,{enter:{visibility:"visible"},exit:{transitionEnd:{visibility:"hidden"}}})},w=Object(g.a)(u.a.section),N=v.a.forwardRef((function(e,t){var n=m().isOpen;return v.a.createElement(w,P({ref:t,variants:C(e.variants)},e,{initial:!1,animate:n?"enter":"exit"}))}));N.defaultProps={variants:{exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}}};var _=n(4),E=n(200),x=n(114);var S=n(38),R=n(176);function D(e){return!!e.touches}var F={pageX:0,pageY:0};function L(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||F;return{x:n[t+"X"],y:n[t+"Y"]}}function M(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function I(e,t){return void 0===t&&(t="page"),{point:D(e)?L(e,t):M(e,t)}}var B=function(e,t){void 0===t&&(t=!1);var n,r=function(t){return e(t,I(t))};return t?(n=r,function(e){var t=e instanceof Object(d.g)(e).MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},z={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},A={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function T(e){return d.j&&null===window.onpointerdown?e:d.j&&null===window.ontouchstart?A[e]:d.j&&null===window.onmousedown?z[e]:e}var K=n(181);function q(e){var t,n,r,o,a,i=e.ref,c=e.elements,u=e.enabled,l=(t="Safari",!!d.j&&function(e){var t=e.userAgent,n=e.vendor,r=/(android)/i.test(t);switch(!0){case/CriOS/.test(t):return"Chrome for iOS";case/Edg\//.test(t):return"Edge";case r&&/Silk\//.test(t):return"Silk";case/Chrome/.test(t)&&/Google Inc/.test(n):return"Chrome";case/Firefox\/\d+\.\d+$/.test(t):return"Firefox";case r:return"AOSP";case/MSIE|Trident/.test(t):return"IE";case/Safari/.test(e.userAgent)&&/Apple Computer/.test(t):return"Safari";case/AppleWebKit/.test(t):return"WebKit";default:return null}}(window.navigator)===t);n=function(){return Object(d.h)(i.current)},r="pointerdown",o=function(e){if(l&&u){var t=e.target,n=(null!=c?c:[i]).some((function(e){var n=Object(s.j)(e)?e.current:e;return Object(d.c)(n,t)}));!Object(S.a)(t)&&n&&(e.preventDefault(),Object(R.a)(t))}},Object(K.a)(T(r),B(o,"pointerdown"===r),n,a)}var U=n(210),Z=n(196),H=n(126),W={preventScroll:!0,shouldFocus:!1};var G=n(221),V=n(24),X=n(154),Y=n(211),J=n(195);function Q(){return Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var $="click",ee="hover";function te(e){void 0===e&&(e={});var t=e,n=t.closeOnBlur,r=void 0===n||n,o=t.closeOnEsc,a=void 0===o||o,i=t.initialFocusRef,c=t.id,u=t.returnFocusOnClose,v=void 0===u||u,f=t.autoFocus,O=void 0===f||f,j=t.arrowSize,h=t.arrowShadowColor,m=t.trigger,g=void 0===m?$:m,y=t.openDelay,k=void 0===y?200:y,P=t.closeDelay,C=void 0===P?200:P,w=t.isLazy,N=t.lazyBehavior,S=void 0===N?"unmount":N,D=t.computePositionOnMount,F=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["closeOnBlur","closeOnEsc","initialFocusRef","id","returnFocusOnClose","autoFocus","arrowSize","arrowShadowColor","trigger","openDelay","closeDelay","isLazy","lazyBehavior","computePositionOnMount"]),L=Object(E.a)(e),M=L.isOpen,I=L.onClose,B=L.onOpen,z=L.onToggle,A=Object(b.useRef)(null),T=Object(b.useRef)(null),te=Object(b.useRef)(!1),ne=Object(b.useRef)(!1);M&&(ne.current=!0);var re=Object(b.useState)(!1),oe=Object(p.a)(re,2),ae=oe[0],ie=oe[1],ce=Object(b.useState)(!1),ue=Object(p.a)(ce,2),le=ue[0],se=ue[1],de=Object(x.c)(c,"popover-trigger","popover-content","popover-header","popover-body"),be=Object(p.a)(de,4),ve=be[0],pe=be[1],fe=be[2],Oe=be[3],je=Object(G.a)(Q({},F,{enabled:M||!!D})),he=je.referenceRef,me=je.getArrowProps,ge=je.getPopperProps,ye=je.getArrowInnerProps,ke=je.forceUpdate;q({enabled:M,ref:A}),Object(U.a)(T,{focusRef:A,visible:M,shouldFocus:v&&g===$}),function(e,t){void 0===t&&(t=W);var n=t,r=n.focusRef,o=n.preventScroll,a=n.shouldFocus,i=n.visible,c=Object(s.j)(e)?e.current:e,u=a&&i,l=Object(b.useCallback)((function(){if(c&&u&&!Object(d.c)(c,document.activeElement))if(null!=r&&r.current)Object(R.a)(r.current,{preventScroll:o,nextTick:!0});else{var e=Object(Z.a)(c);e.length>0&&Object(R.a)(e[0],{preventScroll:o,nextTick:!0})}}),[u,o,c,r]);Object(H.a)((function(){l()}),[l]),Object(K.a)("transitionend",l,c)}(T,{focusRef:i,visible:M,shouldFocus:O&&g===$});var Pe=Object(Y.a)({hasBeenSelected:ne.current,isLazy:w,lazyBehavior:S,isSelected:M}),Ce=Object(b.useCallback)((function(e,t){var n;void 0===e&&(e={}),void 0===t&&(t=null);var o=Q({},e,{style:Q({},e.style,(n={transformOrigin:V.a.transformOrigin.varRef},Object(_.a)(n,V.a.arrowSize.var,j?Object(J.b)(j):void 0),Object(_.a)(n,V.a.arrowShadowColor.var,h),n)),ref:Object(X.a)(T,t),children:Pe?e.children:null,id:pe,tabIndex:-1,role:"dialog",onKeyDown:Object(l.b)(e.onKeyDown,(function(e){a&&"Escape"===e.key&&I()})),onBlur:Object(l.b)(e.onBlur,(function(e){var t=Object(d.i)(e),n=Object(d.c)(T.current,t),o=Object(d.c)(A.current,t);M&&r&&(!n&&!o)&&I()})),"aria-labelledby":ae?fe:void 0,"aria-describedby":le?Oe:void 0});return g===ee&&(o.role="tooltip",o.onMouseEnter=Object(l.b)(e.onMouseEnter,(function(){te.current=!0})),o.onMouseLeave=Object(l.b)(e.onMouseLeave,(function(){te.current=!1,setTimeout(I,C)}))),o}),[Pe,pe,ae,fe,le,Oe,g,a,I,M,r,C,h,j]),we=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ge(Q({},e,{style:Q({visibility:M?"visible":"hidden"},e.style)}),t)}),[M,ge]),Ne=Object(b.useRef)(),_e=Object(b.useRef)(),Ee=Object(b.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=Q({},e,{ref:Object(X.a)(A,t,he),id:ve,"aria-haspopup":"dialog","aria-expanded":M,"aria-controls":pe});return g===$&&(n.onClick=Object(l.b)(e.onClick,z)),g===ee&&(n.onFocus=Object(l.b)(e.onFocus,B),n.onBlur=Object(l.b)(e.onBlur,I),n.onKeyDown=Object(l.b)(e.onKeyDown,(function(e){"Escape"===e.key&&I()})),n.onMouseEnter=Object(l.b)(e.onMouseEnter,(function(){te.current=!0,Ne.current=window.setTimeout(B,k)})),n.onMouseLeave=Object(l.b)(e.onMouseLeave,(function(){te.current=!1,Ne.current&&(clearTimeout(Ne.current),Ne.current=void 0),_e.current=window.setTimeout((function(){!1===te.current&&I()}),C)}))),n}),[ve,M,pe,g,he,z,B,I,k,C]);Object(b.useEffect)((function(){return function(){Ne.current&&clearTimeout(Ne.current),_e.current&&clearTimeout(_e.current)}}),[]);var xe=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Q({},e,{id:fe,ref:Object(X.a)(t,(function(e){ie(!!e)}))})}),[fe]),Se=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Q({},e,{id:Oe,ref:Object(X.a)(t,(function(e){se(!!e)}))})}),[Oe]);return{forceUpdate:ke,isOpen:M,onClose:I,getArrowProps:me,getArrowInnerProps:ye,getPopoverPositionerProps:we,getPopoverProps:Ce,getTriggerProps:Ee,getHeaderProps:xe,getBodyProps:Se}}function ne(){return ne=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ne.apply(this,arguments)}function re(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var oe=function(e){var t=Object(o.a)("Popover",e),n=Object(a.b)(e),r=n.children,c=te(ne({},re(n,["children"]),{direction:Object(i.e)().direction}));return b.createElement(h,{value:c},b.createElement(i.b,{value:t},Object(l.e)(r,{isOpen:c.isOpen,onClose:c.onClose,forceUpdate:c.forceUpdate})))};s.a&&(oe.displayName="Popover");var ae=function(e){var t=b.Children.only(e.children),n=m().getTriggerProps;return b.cloneElement(t,n(t.props,t.ref))};s.a&&(ae.displayName="PopoverTrigger");var ie=Object(c.a)((function(e,t){var n=e.rootProps,r=re(e,["rootProps"]),o=m(),a=o.getPopoverProps,c=o.getPopoverPositionerProps,l=Object(i.d)(),s=ne({position:"relative",display:"flex",flexDirection:"column"},l.content);return b.createElement(u.a.div,ne({},c(n),{__css:l.popper,className:"chakra-popover__popper"}),b.createElement(N,ne({},a(r,t),{className:Object(d.d)("chakra-popover__content",e.className),__css:s})))}));s.a&&(ie.displayName="PopoverContent");var ce=Object(c.a)((function(e,t){var n=m().getHeaderProps,r=Object(i.d)();return b.createElement(u.a.header,ne({},n(e,t),{className:Object(d.d)("chakra-popover__header",e.className),__css:r.header}))}));s.a&&(ce.displayName="PopoverHeader");var ue=Object(c.a)((function(e,t){var n=m().getBodyProps,r=Object(i.d)();return b.createElement(u.a.div,ne({},n(e,t),{className:Object(d.d)("chakra-popover__body",e.className),__css:r.body}))}));s.a&&(ue.displayName="PopoverBody");s.a;var le=function(e){var t=m().onClose;return b.createElement(r.a,ne({size:"sm",onClick:t,position:"absolute",borderRadius:"md",top:"0.25rem",insetEnd:"0.5rem",padding:"0.5rem"},e))};s.a&&(le.displayName="PopoverCloseButton");var se=function(e){var t,n=e.bg,r=e.bgColor,o=e.backgroundColor,a=m(),c=a.getArrowProps,l=a.getArrowInnerProps,s=Object(i.d)(),v=null!=(t=null!=n?n:r)?t:o;return b.createElement(u.a.div,ne({},c(),{className:"chakra-popover__arrow-positioner"}),b.createElement(u.a.div,ne({className:Object(d.d)("chakra-popover__arrow",e.className)},l(e),{__css:ne({},s.arrow,{"--popper-arrow-bg":v?"colors."+v+", "+v:void 0})})))};s.a&&(se.displayName="PopoverArrow")},602:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z",displayName:"QuestionIcon"})},614:function(e,t,n){"use strict";n.d(t,"a",(function(){return w}));var r=n(5),o=n(17),a=n(54),i=n(34),c=n(9),u=n(20),l=n(29),s=n(27),d=n(8),b=n(0),v=n(361),p=n(148),f=n(114),O=n(177),j=n(145),h=n(154),m=n(13),g=n(178);function y(){return y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function k(e){void 0===e&&(e={});var t=e,n=t.defaultIsChecked,o=t.defaultChecked,a=void 0===o?n:o,i=t.isChecked,c=t.isFocusable,u=t.isDisabled,s=t.isReadOnly,d=t.isRequired,k=t.onChange,C=t.isInvalid,w=t.name,N=t.value,_=t.id,E=t["data-radiogroup"],x=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["defaultIsChecked","defaultChecked","isChecked","isFocusable","isDisabled","isReadOnly","isRequired","onChange","isInvalid","name","value","id","data-radiogroup"]),S=Object(f.b)(void 0,"radio"),R=Object(p.a)(),D=Object(v.b)(),F=!!R&&!(!!D||!!E)?R.id:S;F=null!=_?_:F;var L=null!=u?u:null==R?void 0:R.isDisabled,M=null!=s?s:null==R?void 0:R.isReadOnly,I=null!=d?d:null==R?void 0:R.isRequired,B=null!=C?C:null==R?void 0:R.isInvalid,z=Object(O.a)(),A=Object(r.a)(z,2),T=A[0],K=A[1],q=Object(O.a)(),U=Object(r.a)(q,2),Z=U[0],H=U[1],W=Object(O.a)(),G=Object(r.a)(W,2),V=G[0],X=G[1],Y=Object(b.useRef)(null),J=Object(b.useState)(Boolean(a)),Q=Object(r.a)(J,2),$=Q[0],ee=Q[1],te=Object(j.a)(i,$),ne=Object(r.a)(te,2),re=ne[0],oe=ne[1];Object(l.f)({condition:!!n,message:'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.'});var ae=Object(b.useCallback)((function(e){M||L?e.preventDefault():(re||ee(e.target.checked),null==k||k(e))}),[re,L,M,k]),ie=Object(b.useCallback)((function(e){" "===e.key&&X.on()}),[X]),ce=Object(b.useCallback)((function(e){" "===e.key&&X.off()}),[X]),ue=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),y({},e,{ref:t,"data-active":Object(m.e)(V),"data-hover":Object(m.e)(Z),"data-disabled":Object(m.e)(L),"data-invalid":Object(m.e)(B),"data-checked":Object(m.e)(oe),"data-focus":Object(m.e)(T),"data-readonly":Object(m.e)(M),"aria-hidden":!0,onMouseDown:Object(l.b)(e.onMouseDown,X.on),onMouseUp:Object(l.b)(e.onMouseUp,X.off),onMouseEnter:Object(l.b)(e.onMouseEnter,H.on),onMouseLeave:Object(l.b)(e.onMouseLeave,H.off)})}),[V,Z,L,B,oe,T,M,X.on,X.off,H.on,H.off]),le=null!=R?R:{},se=le.onFocus,de=le.onBlur,be=Object(b.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=L&&!c;return y({},e,{id:F,ref:Object(h.a)(t,Y),type:"radio",name:w,value:N,onChange:Object(l.b)(e.onChange,ae),onBlur:Object(l.b)(de,e.onBlur,K.off),onFocus:Object(l.b)(se,e.onFocus,K.on),onKeyDown:Object(l.b)(e.onKeyDown,ie),onKeyUp:Object(l.b)(e.onKeyUp,ce),checked:oe,disabled:n,readOnly:M,required:I,"aria-invalid":Object(m.b)(B),"aria-disabled":Object(m.b)(n),"aria-readonly":Object(m.b)(M),"aria-required":Object(m.b)(I),style:g.b})}),[L,c,F,w,N,ae,de,K,se,ie,ce,oe,M,I,B]);return{state:{isInvalid:B,isFocused:T,isChecked:oe,isActive:V,isHovered:Z,isDisabled:L,isReadOnly:M,isRequired:I},getCheckboxProps:ue,getInputProps:be,getLabelProps:function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),y({},e,{ref:t,onMouseDown:Object(l.b)(e.onMouseDown,P),onTouchStart:Object(l.b)(e.onTouchStart,P),"data-disabled":Object(m.e)(L),"data-checked":Object(m.e)(oe),"data-invalid":Object(m.e)(B)})},getRootProps:function(t,n){return void 0===n&&(n=null),y({},e,{ref:n,"data-disabled":Object(m.e)(L),"data-checked":Object(m.e)(oe),"data-invalid":Object(m.e)(B)})},htmlProps:x}}function P(e){e.preventDefault(),e.stopPropagation()}function C(){return C=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}var w=Object(o.a)((function(e,t){var n,o=Object(v.b)(),d=e.onChange,p=e.value,f=Object(a.a)("Radio",C({},o,e)),O=Object(i.b)(e),j=O.spacing,h=void 0===j?"0.5rem":j,m=O.children,g=O.isFullWidth,y=O.isDisabled,P=void 0===y?null==o?void 0:o.isDisabled:y,w=O.isFocusable,N=void 0===w?null==o?void 0:o.isFocusable:w,_=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(O,["spacing","children","isFullWidth","isDisabled","isFocusable"]),E=e.isChecked;null!=(null==o?void 0:o.value)&&null!=p&&(E=o.value===p);var x=d;null!=o&&o.onChange&&null!=p&&(x=Object(l.a)(o.onChange,d));var S=k(C({},_,{isChecked:E,isFocusable:N,isDisabled:P,onChange:x,name:null!=(n=null==e?void 0:e.name)?n:null==o?void 0:o.name})),R=S.getInputProps,D=S.getCheckboxProps,F=S.getLabelProps,L=S.getRootProps,M=S.htmlProps,I=Object(s.i)(M,c.layoutPropNames),B=Object(r.a)(I,2),z=B[0],A=D(B[1]),T=R({},t),K=F(),q=Object.assign(z,L()),U=C({width:g?"full":void 0,display:"inline-flex",alignItems:"center",verticalAlign:"top"},f.container),Z=C({display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},f.control),H=C({userSelect:"none",marginStart:h},f.label);return b.createElement(u.a.label,C({className:"chakra-radio"},q,{__css:U}),b.createElement("input",C({className:"chakra-radio__input"},T)),b.createElement(u.a.span,C({className:"chakra-radio__control"},A,{__css:Z})),m&&b.createElement(u.a.span,C({className:"chakra-radio__label"},K,{__css:H}),m))}));d.a&&(w.displayName="Radio")},9:function(e,t,n){"use strict";var r=n(60);n.o(r,"layoutPropNames")&&n.d(t,"layoutPropNames",(function(){return r.layoutPropNames}));var o=n(358);n.o(o,"layoutPropNames")&&n.d(t,"layoutPropNames",(function(){return o.layoutPropNames}))}}]);
2
- //# sourceMappingURL=10.511ed889.chunk.js.map
1
+ (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[10],{307:function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return s}));var r=n(17),o=n(20),a=n(13),i=n(0);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(this,arguments)}function u(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var l=Object(r.a)((function(e,t){var n=e.isExternal,r=e.target,l=e.rel,s=e.className,d=u(e,["isExternal","target","rel","className"]);return i.createElement(o.a.a,c({},d,{ref:t,className:Object(a.d)("chakra-linkbox__overlay",s),rel:n?"noopener noreferrer":l,target:n?"_blank":r,__css:{position:"static","&::before":{content:"''",cursor:"inherit",display:"block",position:"absolute",top:0,left:0,zIndex:0,width:"100%",height:"100%"}}}))})),s=Object(r.a)((function(e,t){var n=e.className,r=u(e,["className"]);return i.createElement(o.a.div,c({ref:t,position:"relative"},r,{className:Object(a.d)("chakra-linkbox",n),__css:{"a[href]:not(.chakra-linkbox__overlay), abbr[title]":{position:"relative",zIndex:1}}}))}))},308:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",displayName:"ChevronRightIcon"})},358:function(e,t){},361:function(e,t,n){"use strict";n.d(t,"b",(function(){return g})),n.d(t,"a",(function(){return y}));var r=n(5),o=n(17),a=n(20),i=n(13),c=n(8),u=n(117),l=n(0),s=n(4),d=n(145),b=n(115),v=n(154);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e){void 0===e&&(e={});var t=e,n=t.onChange,o=t.value,a=t.defaultValue,i=t.name,u=t.isDisabled,f=t.isFocusable,O=t.isNative,j=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["onChange","value","defaultValue","name","isDisabled","isFocusable","isNative"]),h=l.useState(a||""),m=Object(r.a)(h,2),g=m[0],y=m[1],k=Object(d.a)(o,g),P=Object(r.a)(k,2),C=P[0],w=P[1],N=l.useRef(null),_=l.useCallback((function(){var e=N.current;if(e){var t="input:not(:disabled):checked",n=e.querySelector(t);if(n)n.focus();else{t="input:not(:disabled)";var r=e.querySelector(t);null==r||r.focus()}}}),[]),E=Object(b.b)(void 0,"radio"),x=i||E,S=l.useCallback((function(e){var t=Object(c.f)(e)?e.target.value:e;C||y(t),null==n||n(String(t))}),[n,C]),R=l.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),p({},e,{ref:Object(v.a)(t,N),role:"radiogroup"})}),[]),D=l.useCallback((function(e,t){var n;void 0===e&&(e={}),void 0===t&&(t=null);var r=O?"checked":"isChecked";return p({},e,(n={ref:t,name:x},Object(s.a)(n,r,null!=w?e.value===w:void 0),Object(s.a)(n,"onChange",S),Object(s.a)(n,"data-radiogroup",!0),n))}),[O,x,S,w]);return{getRootProps:R,getRadioProps:D,name:x,ref:N,focus:_,setValue:y,value:w,onChange:S,isDisabled:u,isFocusable:f,htmlProps:j}}function O(){return O=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},O.apply(this,arguments)}var j=Object(u.a)({name:"RadioGroupContext",strict:!1}),h=Object(r.a)(j,2),m=h[0],g=h[1],y=Object(o.a)((function(e,t){var n=e.colorScheme,r=e.size,o=e.variant,c=e.children,u=e.className,s=e.isDisabled,d=e.isFocusable,b=f(function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["colorScheme","size","variant","children","className","isDisabled","isFocusable"])),v=b.value,p=b.onChange,j=b.getRootProps,h=b.name,g=b.htmlProps,y=l.useMemo((function(){return{name:h,size:r,onChange:p,colorScheme:n,value:v,variant:o,isDisabled:s,isFocusable:d}}),[h,r,p,n,v,o,s,d]),k=j(g,t),P=Object(i.d)("chakra-radio-group",u);return l.createElement(m,{value:y},l.createElement(a.a.div,O({},k,{className:P}),c))}));c.a&&(y.displayName="RadioGroup")},363:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",displayName:"ChevronLeftIcon"})},364:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z",displayName:"DownloadIcon",viewBox:"0 0 14 14"})},587:function(e,t,n){"use strict";n.d(t,"a",(function(){return oe})),n.d(t,"g",(function(){return ae})),n.d(t,"e",(function(){return ie})),n.d(t,"f",(function(){return ce})),n.d(t,"c",(function(){return ue})),n.d(t,"d",(function(){return le})),n.d(t,"b",(function(){return se}));var r=n(197),o=n(55),a=n(34),i=n(46),c=n(17),u=n(20),l=n(29),s=n(8),d=n(13),b=n(0),v=n.n(b),p=n(5),f=n(117),O=Object(f.a)({name:"PopoverContext",errorMessage:"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`"}),j=Object(p.a)(O,2),h=j[0],m=j[1],g=n(179),y=n(48),k=n.n(y);function P(){return P=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}var C=function(e){if(e)return k()(e,{enter:{visibility:"visible"},exit:{transitionEnd:{visibility:"hidden"}}})},w=Object(g.a)(u.a.section),N=v.a.forwardRef((function(e,t){var n=m().isOpen;return v.a.createElement(w,P({ref:t,variants:C(e.variants)},e,{initial:!1,animate:n?"enter":"exit"}))}));N.defaultProps={variants:{exit:{opacity:0,scale:.95,transition:{duration:.1,ease:[.4,0,1,1]}},enter:{scale:1,opacity:1,transition:{duration:.15,ease:[0,0,.2,1]}}}};var _=n(4),E=n(200),x=n(115);var S=n(38),R=n(176);function D(e){return!!e.touches}var F={pageX:0,pageY:0};function L(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||F;return{x:n[t+"X"],y:n[t+"Y"]}}function M(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function I(e,t){return void 0===t&&(t="page"),{point:D(e)?L(e,t):M(e,t)}}var B=function(e,t){void 0===t&&(t=!1);var n,r=function(t){return e(t,I(t))};return t?(n=r,function(e){var t=e instanceof Object(d.g)(e).MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},z={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},A={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function T(e){return d.j&&null===window.onpointerdown?e:d.j&&null===window.ontouchstart?A[e]:d.j&&null===window.onmousedown?z[e]:e}var K=n(181);function q(e){var t,n,r,o,a,i=e.ref,c=e.elements,u=e.enabled,l=(t="Safari",!!d.j&&function(e){var t=e.userAgent,n=e.vendor,r=/(android)/i.test(t);switch(!0){case/CriOS/.test(t):return"Chrome for iOS";case/Edg\//.test(t):return"Edge";case r&&/Silk\//.test(t):return"Silk";case/Chrome/.test(t)&&/Google Inc/.test(n):return"Chrome";case/Firefox\/\d+\.\d+$/.test(t):return"Firefox";case r:return"AOSP";case/MSIE|Trident/.test(t):return"IE";case/Safari/.test(e.userAgent)&&/Apple Computer/.test(t):return"Safari";case/AppleWebKit/.test(t):return"WebKit";default:return null}}(window.navigator)===t);n=function(){return Object(d.h)(i.current)},r="pointerdown",o=function(e){if(l&&u){var t=e.target,n=(null!=c?c:[i]).some((function(e){var n=Object(s.j)(e)?e.current:e;return Object(d.c)(n,t)}));!Object(S.a)(t)&&n&&(e.preventDefault(),Object(R.a)(t))}},Object(K.a)(T(r),B(o,"pointerdown"===r),n,a)}var U=n(210),Z=n(196),H=n(127),W={preventScroll:!0,shouldFocus:!1};var G=n(221),V=n(24),X=n(154),Y=n(211),J=n(195);function Q(){return Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}var $="click",ee="hover";function te(e){void 0===e&&(e={});var t=e,n=t.closeOnBlur,r=void 0===n||n,o=t.closeOnEsc,a=void 0===o||o,i=t.initialFocusRef,c=t.id,u=t.returnFocusOnClose,v=void 0===u||u,f=t.autoFocus,O=void 0===f||f,j=t.arrowSize,h=t.arrowShadowColor,m=t.trigger,g=void 0===m?$:m,y=t.openDelay,k=void 0===y?200:y,P=t.closeDelay,C=void 0===P?200:P,w=t.isLazy,N=t.lazyBehavior,S=void 0===N?"unmount":N,D=t.computePositionOnMount,F=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["closeOnBlur","closeOnEsc","initialFocusRef","id","returnFocusOnClose","autoFocus","arrowSize","arrowShadowColor","trigger","openDelay","closeDelay","isLazy","lazyBehavior","computePositionOnMount"]),L=Object(E.a)(e),M=L.isOpen,I=L.onClose,B=L.onOpen,z=L.onToggle,A=Object(b.useRef)(null),T=Object(b.useRef)(null),te=Object(b.useRef)(!1),ne=Object(b.useRef)(!1);M&&(ne.current=!0);var re=Object(b.useState)(!1),oe=Object(p.a)(re,2),ae=oe[0],ie=oe[1],ce=Object(b.useState)(!1),ue=Object(p.a)(ce,2),le=ue[0],se=ue[1],de=Object(x.c)(c,"popover-trigger","popover-content","popover-header","popover-body"),be=Object(p.a)(de,4),ve=be[0],pe=be[1],fe=be[2],Oe=be[3],je=Object(G.a)(Q({},F,{enabled:M||!!D})),he=je.referenceRef,me=je.getArrowProps,ge=je.getPopperProps,ye=je.getArrowInnerProps,ke=je.forceUpdate;q({enabled:M,ref:A}),Object(U.a)(T,{focusRef:A,visible:M,shouldFocus:v&&g===$}),function(e,t){void 0===t&&(t=W);var n=t,r=n.focusRef,o=n.preventScroll,a=n.shouldFocus,i=n.visible,c=Object(s.j)(e)?e.current:e,u=a&&i,l=Object(b.useCallback)((function(){if(c&&u&&!Object(d.c)(c,document.activeElement))if(null!=r&&r.current)Object(R.a)(r.current,{preventScroll:o,nextTick:!0});else{var e=Object(Z.a)(c);e.length>0&&Object(R.a)(e[0],{preventScroll:o,nextTick:!0})}}),[u,o,c,r]);Object(H.a)((function(){l()}),[l]),Object(K.a)("transitionend",l,c)}(T,{focusRef:i,visible:M,shouldFocus:O&&g===$});var Pe=Object(Y.a)({hasBeenSelected:ne.current,isLazy:w,lazyBehavior:S,isSelected:M}),Ce=Object(b.useCallback)((function(e,t){var n;void 0===e&&(e={}),void 0===t&&(t=null);var o=Q({},e,{style:Q({},e.style,(n={transformOrigin:V.a.transformOrigin.varRef},Object(_.a)(n,V.a.arrowSize.var,j?Object(J.b)(j):void 0),Object(_.a)(n,V.a.arrowShadowColor.var,h),n)),ref:Object(X.a)(T,t),children:Pe?e.children:null,id:pe,tabIndex:-1,role:"dialog",onKeyDown:Object(l.b)(e.onKeyDown,(function(e){a&&"Escape"===e.key&&I()})),onBlur:Object(l.b)(e.onBlur,(function(e){var t=Object(d.i)(e),n=Object(d.c)(T.current,t),o=Object(d.c)(A.current,t);M&&r&&(!n&&!o)&&I()})),"aria-labelledby":ae?fe:void 0,"aria-describedby":le?Oe:void 0});return g===ee&&(o.role="tooltip",o.onMouseEnter=Object(l.b)(e.onMouseEnter,(function(){te.current=!0})),o.onMouseLeave=Object(l.b)(e.onMouseLeave,(function(){te.current=!1,setTimeout(I,C)}))),o}),[Pe,pe,ae,fe,le,Oe,g,a,I,M,r,C,h,j]),we=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ge(Q({},e,{style:Q({visibility:M?"visible":"hidden"},e.style)}),t)}),[M,ge]),Ne=Object(b.useRef)(),_e=Object(b.useRef)(),Ee=Object(b.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=Q({},e,{ref:Object(X.a)(A,t,he),id:ve,"aria-haspopup":"dialog","aria-expanded":M,"aria-controls":pe});return g===$&&(n.onClick=Object(l.b)(e.onClick,z)),g===ee&&(n.onFocus=Object(l.b)(e.onFocus,B),n.onBlur=Object(l.b)(e.onBlur,I),n.onKeyDown=Object(l.b)(e.onKeyDown,(function(e){"Escape"===e.key&&I()})),n.onMouseEnter=Object(l.b)(e.onMouseEnter,(function(){te.current=!0,Ne.current=window.setTimeout(B,k)})),n.onMouseLeave=Object(l.b)(e.onMouseLeave,(function(){te.current=!1,Ne.current&&(clearTimeout(Ne.current),Ne.current=void 0),_e.current=window.setTimeout((function(){!1===te.current&&I()}),C)}))),n}),[ve,M,pe,g,he,z,B,I,k,C]);Object(b.useEffect)((function(){return function(){Ne.current&&clearTimeout(Ne.current),_e.current&&clearTimeout(_e.current)}}),[]);var xe=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Q({},e,{id:fe,ref:Object(X.a)(t,(function(e){ie(!!e)}))})}),[fe]),Se=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),Q({},e,{id:Oe,ref:Object(X.a)(t,(function(e){se(!!e)}))})}),[Oe]);return{forceUpdate:ke,isOpen:M,onClose:I,getArrowProps:me,getArrowInnerProps:ye,getPopoverPositionerProps:we,getPopoverProps:Ce,getTriggerProps:Ee,getHeaderProps:xe,getBodyProps:Se}}function ne(){return ne=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ne.apply(this,arguments)}function re(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}var oe=function(e){var t=Object(o.a)("Popover",e),n=Object(a.b)(e),r=n.children,c=te(ne({},re(n,["children"]),{direction:Object(i.e)().direction}));return b.createElement(h,{value:c},b.createElement(i.b,{value:t},Object(l.e)(r,{isOpen:c.isOpen,onClose:c.onClose,forceUpdate:c.forceUpdate})))};s.a&&(oe.displayName="Popover");var ae=function(e){var t=b.Children.only(e.children),n=m().getTriggerProps;return b.cloneElement(t,n(t.props,t.ref))};s.a&&(ae.displayName="PopoverTrigger");var ie=Object(c.a)((function(e,t){var n=e.rootProps,r=re(e,["rootProps"]),o=m(),a=o.getPopoverProps,c=o.getPopoverPositionerProps,l=Object(i.d)(),s=ne({position:"relative",display:"flex",flexDirection:"column"},l.content);return b.createElement(u.a.div,ne({},c(n),{__css:l.popper,className:"chakra-popover__popper"}),b.createElement(N,ne({},a(r,t),{className:Object(d.d)("chakra-popover__content",e.className),__css:s})))}));s.a&&(ie.displayName="PopoverContent");var ce=Object(c.a)((function(e,t){var n=m().getHeaderProps,r=Object(i.d)();return b.createElement(u.a.header,ne({},n(e,t),{className:Object(d.d)("chakra-popover__header",e.className),__css:r.header}))}));s.a&&(ce.displayName="PopoverHeader");var ue=Object(c.a)((function(e,t){var n=m().getBodyProps,r=Object(i.d)();return b.createElement(u.a.div,ne({},n(e,t),{className:Object(d.d)("chakra-popover__body",e.className),__css:r.body}))}));s.a&&(ue.displayName="PopoverBody");s.a;var le=function(e){var t=m().onClose;return b.createElement(r.a,ne({size:"sm",onClick:t,position:"absolute",borderRadius:"md",top:"0.25rem",insetEnd:"0.5rem",padding:"0.5rem"},e))};s.a&&(le.displayName="PopoverCloseButton");var se=function(e){var t,n=e.bg,r=e.bgColor,o=e.backgroundColor,a=m(),c=a.getArrowProps,l=a.getArrowInnerProps,s=Object(i.d)(),v=null!=(t=null!=n?n:r)?t:o;return b.createElement(u.a.div,ne({},c(),{className:"chakra-popover__arrow-positioner"}),b.createElement(u.a.div,ne({className:Object(d.d)("chakra-popover__arrow",e.className)},l(e),{__css:ne({},s.arrow,{"--popper-arrow-bg":v?"colors."+v+", "+v:void 0})})))};s.a&&(se.displayName="PopoverArrow")},602:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(78),o=Object(r.a)({d:"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z",displayName:"QuestionIcon"})},614:function(e,t,n){"use strict";n.d(t,"a",(function(){return w}));var r=n(5),o=n(17),a=n(55),i=n(34),c=n(9),u=n(20),l=n(29),s=n(27),d=n(8),b=n(0),v=n(361),p=n(148),f=n(115),O=n(177),j=n(145),h=n(154),m=n(13),g=n(178);function y(){return y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function k(e){void 0===e&&(e={});var t=e,n=t.defaultIsChecked,o=t.defaultChecked,a=void 0===o?n:o,i=t.isChecked,c=t.isFocusable,u=t.isDisabled,s=t.isReadOnly,d=t.isRequired,k=t.onChange,C=t.isInvalid,w=t.name,N=t.value,_=t.id,E=t["data-radiogroup"],x=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,["defaultIsChecked","defaultChecked","isChecked","isFocusable","isDisabled","isReadOnly","isRequired","onChange","isInvalid","name","value","id","data-radiogroup"]),S=Object(f.b)(void 0,"radio"),R=Object(p.a)(),D=Object(v.b)(),F=!!R&&!(!!D||!!E)?R.id:S;F=null!=_?_:F;var L=null!=u?u:null==R?void 0:R.isDisabled,M=null!=s?s:null==R?void 0:R.isReadOnly,I=null!=d?d:null==R?void 0:R.isRequired,B=null!=C?C:null==R?void 0:R.isInvalid,z=Object(O.a)(),A=Object(r.a)(z,2),T=A[0],K=A[1],q=Object(O.a)(),U=Object(r.a)(q,2),Z=U[0],H=U[1],W=Object(O.a)(),G=Object(r.a)(W,2),V=G[0],X=G[1],Y=Object(b.useRef)(null),J=Object(b.useState)(Boolean(a)),Q=Object(r.a)(J,2),$=Q[0],ee=Q[1],te=Object(j.a)(i,$),ne=Object(r.a)(te,2),re=ne[0],oe=ne[1];Object(l.f)({condition:!!n,message:'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.'});var ae=Object(b.useCallback)((function(e){M||L?e.preventDefault():(re||ee(e.target.checked),null==k||k(e))}),[re,L,M,k]),ie=Object(b.useCallback)((function(e){" "===e.key&&X.on()}),[X]),ce=Object(b.useCallback)((function(e){" "===e.key&&X.off()}),[X]),ue=Object(b.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),y({},e,{ref:t,"data-active":Object(m.e)(V),"data-hover":Object(m.e)(Z),"data-disabled":Object(m.e)(L),"data-invalid":Object(m.e)(B),"data-checked":Object(m.e)(oe),"data-focus":Object(m.e)(T),"data-readonly":Object(m.e)(M),"aria-hidden":!0,onMouseDown:Object(l.b)(e.onMouseDown,X.on),onMouseUp:Object(l.b)(e.onMouseUp,X.off),onMouseEnter:Object(l.b)(e.onMouseEnter,H.on),onMouseLeave:Object(l.b)(e.onMouseLeave,H.off)})}),[V,Z,L,B,oe,T,M,X.on,X.off,H.on,H.off]),le=null!=R?R:{},se=le.onFocus,de=le.onBlur,be=Object(b.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=L&&!c;return y({},e,{id:F,ref:Object(h.a)(t,Y),type:"radio",name:w,value:N,onChange:Object(l.b)(e.onChange,ae),onBlur:Object(l.b)(de,e.onBlur,K.off),onFocus:Object(l.b)(se,e.onFocus,K.on),onKeyDown:Object(l.b)(e.onKeyDown,ie),onKeyUp:Object(l.b)(e.onKeyUp,ce),checked:oe,disabled:n,readOnly:M,required:I,"aria-invalid":Object(m.b)(B),"aria-disabled":Object(m.b)(n),"aria-readonly":Object(m.b)(M),"aria-required":Object(m.b)(I),style:g.b})}),[L,c,F,w,N,ae,de,K,se,ie,ce,oe,M,I,B]);return{state:{isInvalid:B,isFocused:T,isChecked:oe,isActive:V,isHovered:Z,isDisabled:L,isReadOnly:M,isRequired:I},getCheckboxProps:ue,getInputProps:be,getLabelProps:function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),y({},e,{ref:t,onMouseDown:Object(l.b)(e.onMouseDown,P),onTouchStart:Object(l.b)(e.onTouchStart,P),"data-disabled":Object(m.e)(L),"data-checked":Object(m.e)(oe),"data-invalid":Object(m.e)(B)})},getRootProps:function(t,n){return void 0===n&&(n=null),y({},e,{ref:n,"data-disabled":Object(m.e)(L),"data-checked":Object(m.e)(oe),"data-invalid":Object(m.e)(B)})},htmlProps:x}}function P(e){e.preventDefault(),e.stopPropagation()}function C(){return C=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}var w=Object(o.a)((function(e,t){var n,o=Object(v.b)(),d=e.onChange,p=e.value,f=Object(a.a)("Radio",C({},o,e)),O=Object(i.b)(e),j=O.spacing,h=void 0===j?"0.5rem":j,m=O.children,g=O.isFullWidth,y=O.isDisabled,P=void 0===y?null==o?void 0:o.isDisabled:y,w=O.isFocusable,N=void 0===w?null==o?void 0:o.isFocusable:w,_=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(O,["spacing","children","isFullWidth","isDisabled","isFocusable"]),E=e.isChecked;null!=(null==o?void 0:o.value)&&null!=p&&(E=o.value===p);var x=d;null!=o&&o.onChange&&null!=p&&(x=Object(l.a)(o.onChange,d));var S=k(C({},_,{isChecked:E,isFocusable:N,isDisabled:P,onChange:x,name:null!=(n=null==e?void 0:e.name)?n:null==o?void 0:o.name})),R=S.getInputProps,D=S.getCheckboxProps,F=S.getLabelProps,L=S.getRootProps,M=S.htmlProps,I=Object(s.i)(M,c.layoutPropNames),B=Object(r.a)(I,2),z=B[0],A=D(B[1]),T=R({},t),K=F(),q=Object.assign(z,L()),U=C({width:g?"full":void 0,display:"inline-flex",alignItems:"center",verticalAlign:"top"},f.container),Z=C({display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},f.control),H=C({userSelect:"none",marginStart:h},f.label);return b.createElement(u.a.label,C({className:"chakra-radio"},q,{__css:U}),b.createElement("input",C({className:"chakra-radio__input"},T)),b.createElement(u.a.span,C({className:"chakra-radio__control"},A,{__css:Z})),m&&b.createElement(u.a.span,C({className:"chakra-radio__label"},K,{__css:H}),m))}));d.a&&(w.displayName="Radio")},9:function(e,t,n){"use strict";var r=n(61);n.o(r,"layoutPropNames")&&n.d(t,"layoutPropNames",(function(){return r.layoutPropNames}));var o=n(358);n.o(o,"layoutPropNames")&&n.d(t,"layoutPropNames",(function(){return o.layoutPropNames}))}}]);
2
+ //# sourceMappingURL=10.48221095.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/link-box.tsx","../../../src/ChevronRight.tsx","../../../src/use-radio-group.ts","../../../src/radio-group.tsx","../../../src/ChevronLeft.tsx","../../../src/Download.tsx","../../../src/popover-context.ts","../../../src/popover-transition.tsx","../../../src/pointer-event.ts","../../../src/use-focus-on-pointerdown.ts","../../../src/user-agent.ts","../../../src/use-pointer-event.ts","../../../src/use-focus-on-show.ts","../../../src/use-popover.ts","../../../src/popover.tsx","../../../src/Question.tsx","../../../src/use-radio.ts","../../../src/radio.tsx","../../../src/index.ts"],"names":["LinkOverlay","forwardRef","className","ref","cx","rel","isExternal","target","__css","position","content","cursor","display","top","left","zIndex","width","height","LinkBox","ChevronRightIcon","createIcon","d","displayName","useRadioGroup","props","onChange","value","name","isNative","React","defaultValue","useControllableProp","valueProp","focus","rootNode","query","firstEnabledAndCheckedInput","firstEnabledInput","fallbackName","useId","undefined","nameProp","eventOrValue","nextValue","isInputEvent","setValue","onChangeProp","String","getRootProps","forwardedRef","mergeRefs","role","getRadioProps","checkedKey","isDisabled","isFocusable","htmlProps","createContext","strict","RadioGroup","group","size","colorScheme","variant","groupProps","_className","ChevronLeftIcon","DownloadIcon","viewBox","errorMessage","mergeVariants","variants","mergeWith","enter","visibility","exit","transitionEnd","Section","motion","chakra","PopoverTransition","isOpen","usePopoverContext","initial","animate","opacity","scale","transition","duration","ease","isTouchEvent","event","defaultPagePoint","pageX","pageY","pointFromTouch","e","pointType","point","x","y","pointFromMouse","extractEventInfo","wrapPointerEventHandler","shouldFilterPrimaryPointer","eventHandler","listener","handler","isMouseEvent","getEventWindow","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","isBrowser","window","useFocusOnPointerDown","browser","enabled","isSafari","navigator","userAgent","vendor","android","test","ua","getUserAgentBrowser","getOwnerDocument","isValidTarget","elements","elementOrRef","el","isRefObject","contains","isActiveElement","useEventListener","eventName","defaultOptions","preventScroll","shouldFocus","TRIGGER","usePopover","closeOnBlur","closeOnEsc","returnFocusOnClose","autoFocus","trigger","openDelay","closeDelay","lazyBehavior","computePositionOnMount","useDisclosure","onToggle","triggerRef","useRef","popoverRef","isHoveringRef","hasBeenOpened","useState","useIds","usePopper","forceUpdate","useFocusOnHide","focusRef","visible","options","element","onFocus","useCallback","document","nextTick","tabbableEls","getAllFocusable","useUpdateEffect","useFocusOnShow","shouldRenderChildren","determineLazyBehavior","hasBeenSelected","isLazy","isSelected","getPopoverProps","_ref","popoverProps","style","transformOrigin","popperCSSVars","arrowSize","px","arrowShadowColor","children","id","tabIndex","onKeyDown","callAllHandlers","onClose","onBlur","relatedTarget","getRelatedTarget","targetIsPopover","targetIsTrigger","hasHeader","headerId","hasBody","bodyId","setTimeout","getPopoverPositionerProps","getPopperProps","openTimeout","closeTimeout","getTriggerProps","triggerProps","popoverId","clearTimeout","useEffect","getHeaderProps","node","setHasHeader","getBodyProps","setHasBody","getArrowProps","getArrowInnerProps","Popover","styles","useMultiStyleConfig","omitThemingProps","context","direction","useTheme","runIfFn","PopoverTrigger","child","PopoverContent","rootProps","useStyles","contentStyles","flexDirection","contentProps","PopoverHeader","header","PopoverBody","body","PopoverCloseButton","onClick","borderRadius","insetEnd","padding","PopoverArrow","backgroundColor","arrowBg","bg","QuestionIcon","useRadio","defaultChecked","isChecked","isReadOnly","isRequired","isInvalid","dataRadioGroup","uuid","formControl","useFormControlContext","useRadioGroupContext","isWithinFormControl","idProp","isDisabledProp","isReadOnlyProp","isRequiredProp","isInvalidProp","useBoolean","Boolean","warn","condition","message","handleChange","setChecked","isControlled","setActive","onKeyUp","getCheckboxProps","dataAttr","onMouseDown","onMouseUp","onMouseEnter","setHovering","onMouseLeave","getInputProps","trulyDisabled","type","setFocused","checked","disabled","readOnly","required","ariaAttr","visuallyHiddenStyle","state","isFocused","isActive","isHovered","getLabelProps","onTouchStart","pros","stop","Radio","ownProps","spacing","callAll","split","checkboxProps","inputProps","labelProps","Object","rootStyles","isFullWidth","alignItems","verticalAlign","checkboxStyles","justifyContent","flexShrink","labelStyles","userSelect","marginStart"],"mappings":"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","file":"static/js/10.511ed889.chunk.js","sourcesContent":["import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">((props, ref) => {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n})\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">((props, ref) => {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\n )\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronRightIcon = createIcon({\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\",\n displayName: \"ChevronRightIcon\",\n})\n","import { useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { StringOrNumber, isInputEvent } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\n\ntype EventOrValue = React.ChangeEvent<HTMLInputElement> | StringOrNumber\n\nexport interface UseRadioGroupProps {\n /**\n * The value of the radio to be `checked`\n * (in controlled mode)\n */\n value?: StringOrNumber\n /**\n * The value of the radio to be `checked`\n * initially (in uncontrolled mode)\n */\n defaultValue?: StringOrNumber\n /**\n * Function called once a radio is checked\n * @param nextValue the value of the checked radio\n */\n onChange?(nextValue: string): void\n /**\n * If `true`, all wrapped radio inputs will be disabled\n */\n isDisabled?: boolean\n\n /**\n * If `true` and `isDisabled` is true, all wrapped radio inputs will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * The `name` attribute forwarded to each `radio` element\n */\n name?: string\n /**\n * If `true`, input elements will receive\n * `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs\n */\n isNative?: boolean\n}\n\ntype RadioPropGetter = PropGetter<\n HTMLInputElement,\n { onChange?: (e: EventOrValue) => void; value?: StringOrNumber } & Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"size\" | \"value\"\n >\n>\n\n/**\n * React hook to manage a group of radio inputs\n */\nexport function useRadioGroup(props: UseRadioGroupProps = {}) {\n const {\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n name: nameProp,\n isDisabled,\n isFocusable,\n isNative,\n ...htmlProps\n } = props\n\n const [valueState, setValue] = React.useState<StringOrNumber>(\n defaultValue || \"\",\n )\n const [isControlled, value] = useControllableProp(valueProp, valueState)\n\n const ref = React.useRef<any>(null)\n\n const focus = React.useCallback(() => {\n const rootNode = ref.current\n if (!rootNode) return\n\n let query = `input:not(:disabled):checked`\n\n const firstEnabledAndCheckedInput = rootNode.querySelector(\n query,\n ) as HTMLElement\n\n if (firstEnabledAndCheckedInput) {\n firstEnabledAndCheckedInput.focus()\n return\n }\n\n query = `input:not(:disabled)`\n\n const firstEnabledInput = rootNode.querySelector(query) as HTMLElement\n firstEnabledInput?.focus()\n }, [])\n\n /**\n * All radio options must use the same name\n */\n const fallbackName = useId(undefined, `radio`)\n const name = nameProp || fallbackName\n\n const onChange = React.useCallback(\n (eventOrValue: EventOrValue) => {\n const nextValue = isInputEvent(eventOrValue)\n ? eventOrValue.target.value\n : eventOrValue\n\n if (!isControlled) {\n setValue(nextValue)\n }\n\n onChangeProp?.(String(nextValue))\n },\n [onChangeProp, isControlled],\n )\n\n const getRootProps: PropGetter = React.useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ref: mergeRefs(forwardedRef, ref),\n role: \"radiogroup\",\n }),\n [],\n )\n\n const getRadioProps: RadioPropGetter = React.useCallback(\n (props = {}, ref = null) => {\n const checkedKey = isNative ? \"checked\" : \"isChecked\"\n return {\n ...props,\n ref,\n name,\n [checkedKey]: value != null ? props.value === value : undefined,\n onChange,\n \"data-radiogroup\": true,\n }\n },\n [isNative, name, onChange, value],\n )\n\n return {\n getRootProps,\n getRadioProps,\n name,\n ref,\n focus,\n setValue,\n value,\n onChange,\n isDisabled,\n isFocusable,\n htmlProps,\n }\n}\n\nexport type UseRadioGroupReturn = ReturnType<typeof useRadioGroup>\n","import {\n chakra,\n forwardRef,\n ThemingProps,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { cx, __DEV__ } from \"@chakra-ui/utils\"\nimport { createContext } from \"@chakra-ui/react-utils\"\nimport * as React from \"react\"\nimport {\n useRadioGroup,\n UseRadioGroupProps,\n UseRadioGroupReturn,\n} from \"./use-radio-group\"\n\nexport interface RadioGroupContext\n extends Pick<\n UseRadioGroupReturn,\n \"onChange\" | \"value\" | \"name\" | \"isDisabled\" | \"isFocusable\"\n >,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {}\n\nconst [\n RadioGroupProvider,\n useRadioGroupContext,\n] = createContext<RadioGroupContext>({\n name: \"RadioGroupContext\",\n strict: false,\n})\n\nexport { useRadioGroupContext }\n\ntype Omitted =\n | \"onChange\"\n | \"value\"\n | \"defaultValue\"\n | \"defaultChecked\"\n | \"children\"\nexport interface RadioGroupProps\n extends UseRadioGroupProps,\n Omit<HTMLChakraProps<\"div\">, Omitted>,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {\n children: React.ReactNode\n}\n\n/**\n * Used for multiple radios which are bound in one group,\n * and it indicates which option is selected.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, \"div\">((props, ref) => {\n const {\n colorScheme,\n size,\n variant,\n children,\n className,\n isDisabled,\n isFocusable,\n ...rest\n } = props\n\n const { value, onChange, getRootProps, name, htmlProps } = useRadioGroup(rest)\n\n const group = React.useMemo(\n () => ({\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n }),\n [\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n ],\n )\n\n const groupProps = getRootProps(htmlProps, ref)\n const _className = cx(\"chakra-radio-group\", className)\n\n return (\n <RadioGroupProvider value={group}>\n <chakra.div {...groupProps} className={_className}>\n {children}\n </chakra.div>\n </RadioGroupProvider>\n )\n})\n\nif (__DEV__) {\n RadioGroup.displayName = \"RadioGroup\"\n}\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronLeftIcon = createIcon({\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\",\n displayName: \"ChevronLeftIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const DownloadIcon = createIcon({\n d:\n \"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z\",\n displayName: \"DownloadIcon\",\n viewBox: \"0 0 14 14\",\n})\n","import { createContext } from \"@chakra-ui/react-utils\"\nimport { UsePopoverReturn } from \"./use-popover\"\n\nexport const [\n PopoverProvider,\n usePopoverContext,\n] = createContext<UsePopoverReturn>({\n name: \"PopoverContext\",\n errorMessage:\n \"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`\",\n})\n","import { chakra, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { HTMLMotionProps, motion, Variant } from \"framer-motion\"\nimport { mergeWith } from \"@chakra-ui/utils\"\nimport React from \"react\"\nimport { usePopoverContext } from \"./popover-context\"\n\n// TODO: consider moving this to some util\ntype HTMLMotionChakraProps<T extends keyof React.ReactHTML> = Omit<\n HTMLChakraProps<T>,\n keyof HTMLMotionProps<T>\n> &\n Omit<\n HTMLMotionProps<T>,\n | \"style\"\n | \"onDrag\"\n | \"onDragEnd\"\n | \"onDragStart\"\n | \"onAnimationStart\"\n | \"variants\"\n > & {\n variants?: MotionVariants\n }\n\ntype MotionVariants = Partial<Record<\"enter\" | \"exit\", Variant>>\n\nconst mergeVariants = (variants?: MotionVariants) => {\n if (!variants) return\n return mergeWith(variants, {\n enter: {\n visibility: \"visible\",\n },\n exit: {\n transitionEnd: {\n visibility: \"hidden\",\n },\n },\n })\n}\n\nconst scaleFade: MotionVariants = {\n exit: {\n opacity: 0,\n scale: 0.95,\n transition: {\n duration: 0.1,\n ease: [0.4, 0, 1, 1],\n },\n },\n enter: {\n scale: 1,\n opacity: 1,\n transition: {\n duration: 0.15,\n ease: [0, 0, 0.2, 1],\n },\n },\n}\n\nconst Section = motion(chakra.section)\n\nexport interface PopoverTransitionProps\n extends HTMLMotionChakraProps<\"section\"> {}\n\nexport const PopoverTransition = React.forwardRef(\n (props: HTMLMotionChakraProps<\"section\">, ref: React.Ref<any>) => {\n const { isOpen } = usePopoverContext()\n return (\n <Section\n ref={ref}\n variants={mergeVariants(props.variants)}\n {...props}\n initial={false}\n animate={isOpen ? \"enter\" : \"exit\"}\n />\n )\n },\n)\n\nPopoverTransition.defaultProps = {\n variants: scaleFade,\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport { addDomEvent, getEventWindow, isBrowser } from \"./dom\"\n\nexport type AnyPointerEvent = MouseEvent | TouchEvent | PointerEvent\n\ntype PointType = \"page\" | \"client\"\n\nexport function isMouseEvent(event: AnyPointerEvent): event is MouseEvent {\n const win = getEventWindow(event)\n\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (\n typeof win.PointerEvent !== \"undefined\" &&\n event instanceof win.PointerEvent\n ) {\n return !!(event.pointerType === \"mouse\")\n }\n\n return event instanceof win.MouseEvent\n}\n\nexport function isTouchEvent(event: AnyPointerEvent): event is TouchEvent {\n const hasTouches = !!(event as TouchEvent).touches\n return hasTouches\n}\n\nexport interface Point {\n x: number\n y: number\n}\n\nexport interface PointerEventInfo {\n point: Point\n}\n\nexport type EventHandler = (\n event: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler: EventListener): EventListener {\n return (event: Event) => {\n const win = getEventWindow(event)\n const isMouseEvent = event instanceof win.MouseEvent\n const isPrimaryPointer =\n !isMouseEvent || (isMouseEvent && (event as MouseEvent).button === 0)\n if (isPrimaryPointer) {\n eventHandler(event)\n }\n }\n}\n\nexport type EventListenerWithPointInfo = (\n e: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\nconst defaultPagePoint = { pageX: 0, pageY: 0 }\n\nfunction pointFromTouch(e: TouchEvent, pointType: PointType = \"page\") {\n const primaryTouch = e.touches[0] || e.changedTouches[0]\n const point = primaryTouch || defaultPagePoint\n\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nfunction pointFromMouse(\n point: MouseEvent | PointerEvent,\n pointType: PointType = \"page\",\n) {\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nexport function extractEventInfo(\n event: AnyPointerEvent,\n pointType: PointType = \"page\",\n): PointerEventInfo {\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n }\n}\n\nexport function getViewportPointFromEvent(event: AnyPointerEvent) {\n return extractEventInfo(event, \"client\")\n}\n\nexport const wrapPointerEventHandler = (\n handler: EventListenerWithPointInfo,\n shouldFilterPrimaryPointer = false,\n): EventListener => {\n const listener: EventListener = (event: any) =>\n handler(event, extractEventInfo(event))\n\n return shouldFilterPrimaryPointer ? filterPrimaryPointer(listener) : listener\n}\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nconst supportsPointerEvents = () => isBrowser && window.onpointerdown === null\nconst supportsTouchEvents = () => isBrowser && window.ontouchstart === null\nconst supportsMouseEvents = () => isBrowser && window.onmousedown === null\n\ninterface PointerNameMap {\n pointerdown: string\n pointermove: string\n pointerup: string\n pointercancel: string\n pointerover?: string\n pointerout?: string\n pointerenter?: string\n pointerleave?: string\n}\n\nconst mouseEventNames: PointerNameMap = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n}\n\nconst touchEventNames: PointerNameMap = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n}\n\nexport function getPointerEventName(name: string): string {\n if (supportsPointerEvents()) {\n return name\n }\n if (supportsTouchEvents()) {\n return touchEventNames[name]\n }\n if (supportsMouseEvents()) {\n return mouseEventNames[name]\n }\n\n return name\n}\n\nexport function addPointerEvent(\n target: EventTarget,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return addDomEvent(\n target,\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n options,\n )\n}\n\nexport function isMultiTouchEvent(event: AnyPointerEvent) {\n return isTouchEvent(event) && event.touches.length > 1\n}\n","import {\n contains,\n detectBrowser,\n focus,\n getOwnerDocument,\n isActiveElement,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport { RefObject } from \"react\"\nimport { usePointerEvent } from \"./use-pointer-event\"\n\nexport interface UseFocusOnMouseDownProps {\n enabled?: boolean\n ref: RefObject<HTMLElement>\n elements?: Array<RefObject<HTMLElement> | HTMLElement | null>\n}\n\n/**\n * Polyfill to get `relatedTarget` working correctly consistently\n * across all browsers.\n *\n * It ensures that elements receives focus on pointer down if\n * it's not the active active element.\n *\n * @internal\n */\nexport function useFocusOnPointerDown(props: UseFocusOnMouseDownProps) {\n const { ref, elements, enabled } = props\n\n const isSafari = detectBrowser(\"Safari\")\n const doc = () => getOwnerDocument(ref.current)\n\n usePointerEvent(doc, \"pointerdown\", (event) => {\n if (!isSafari || !enabled) return\n const target = event.target as HTMLElement\n\n const els = elements ?? [ref]\n const isValidTarget = els.some((elementOrRef) => {\n const el = isRefObject(elementOrRef) ? elementOrRef.current : elementOrRef\n return contains(el, target)\n })\n\n if (!isActiveElement(target) && isValidTarget) {\n event.preventDefault()\n focus(target)\n }\n })\n}\n","import { isBrowser } from \"./dom\"\n\nfunction getUserAgentBrowser(navigator: Navigator) {\n const { userAgent: ua, vendor } = navigator\n const android = /(android)/i.test(ua)\n\n switch (true) {\n case /CriOS/.test(ua):\n return \"Chrome for iOS\"\n case /Edg\\//.test(ua):\n return \"Edge\"\n case android && /Silk\\//.test(ua):\n return \"Silk\"\n case /Chrome/.test(ua) && /Google Inc/.test(vendor):\n return \"Chrome\"\n case /Firefox\\/\\d+\\.\\d+$/.test(ua):\n return \"Firefox\"\n case android:\n return \"AOSP\"\n case /MSIE|Trident/.test(ua):\n return \"IE\"\n case /Safari/.test(navigator.userAgent) && /Apple Computer/.test(ua):\n return \"Safari\"\n case /AppleWebKit/.test(ua):\n return \"WebKit\"\n default:\n return null\n }\n}\n\nexport type UserAgentBrowser = NonNullable<\n ReturnType<typeof getUserAgentBrowser>\n>\n\nfunction getUserAgentOS(navigator: Navigator) {\n const { userAgent: ua, platform } = navigator\n switch (true) {\n case /Android/.test(ua):\n return \"Android\"\n case /iPhone|iPad|iPod/.test(platform):\n return \"iOS\"\n case /Win/.test(platform):\n return \"Windows\"\n case /Mac/.test(platform):\n return \"Mac\"\n case /CrOS/.test(ua):\n return \"Chrome OS\"\n case /Firefox/.test(ua):\n return \"Firefox OS\"\n default:\n return null\n }\n}\n\nexport type UserAgentOS = NonNullable<ReturnType<typeof getUserAgentOS>>\n\nexport function detectDeviceType(navigator: Navigator) {\n const { userAgent: ua } = navigator\n if (/(tablet)|(iPad)|(Nexus 9)/i.test(ua)) return \"tablet\"\n if (/(mobi)/i.test(ua)) return \"phone\"\n return \"desktop\"\n}\n\nexport type UserAgentDeviceType = NonNullable<\n ReturnType<typeof detectDeviceType>\n>\n\nexport function detectOS(os: UserAgentOS) {\n if (!isBrowser) return false\n return getUserAgentOS(window.navigator) === os\n}\n\nexport function detectBrowser(browser: UserAgentBrowser) {\n if (!isBrowser) return false\n return getUserAgentBrowser(window.navigator) === browser\n}\n\nexport function detectTouch() {\n if (!isBrowser) return false\n return (\n window.ontouchstart === null &&\n window.ontouchmove === null &&\n window.ontouchend === null\n )\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport {\n EventListenerWithPointInfo,\n getPointerEventName,\n wrapPointerEventHandler,\n} from \"@chakra-ui/utils\"\nimport { EventListenerEnv, useEventListener } from \"./use-event-listener\"\n\n/**\n * @internal\n */\nexport function usePointerEvent(\n env: EventListenerEnv,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return useEventListener(\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n env,\n options,\n )\n}\n","import {\n contains,\n focus,\n FocusableElement,\n getAllFocusable,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport React, { useCallback } from \"react\"\nimport { useEventListener } from \"./use-event-listener\"\nimport { useUpdateEffect } from \"./use-update-effect\"\n\nexport interface UseFocusOnShowOptions {\n visible?: boolean\n shouldFocus?: boolean\n preventScroll?: boolean\n focusRef?: React.RefObject<FocusableElement>\n}\n\nconst defaultOptions: UseFocusOnShowOptions = {\n preventScroll: true,\n shouldFocus: false,\n}\n\nexport function useFocusOnShow<T extends HTMLElement>(\n target: React.RefObject<T> | T,\n options = defaultOptions,\n) {\n const { focusRef, preventScroll, shouldFocus, visible } = options\n const element = isRefObject(target) ? target.current : target\n\n const autoFocus = shouldFocus && visible\n\n const onFocus = useCallback(() => {\n if (!element || !autoFocus) return\n\n if (contains(element, document.activeElement as HTMLElement)) return\n\n if (focusRef?.current) {\n focus(focusRef.current, { preventScroll, nextTick: true })\n } else {\n const tabbableEls = getAllFocusable(element)\n if (tabbableEls.length > 0) {\n focus(tabbableEls[0], { preventScroll, nextTick: true })\n }\n }\n }, [autoFocus, preventScroll, element, focusRef])\n\n useUpdateEffect(() => {\n onFocus()\n }, [onFocus])\n\n useEventListener(\"transitionend\", onFocus, element)\n}\n","import {\n useDisclosure,\n useFocusOnHide,\n useFocusOnPointerDown,\n useFocusOnShow,\n useIds,\n} from \"@chakra-ui/hooks\"\nimport { popperCSSVars, usePopper, UsePopperProps } from \"@chakra-ui/popper\"\nimport { HTMLProps, mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport {\n callAllHandlers,\n contains,\n determineLazyBehavior,\n FocusableElement,\n getRelatedTarget,\n LazyBehavior,\n px,\n} from \"@chakra-ui/utils\"\nimport { RefObject, useCallback, useEffect, useRef, useState } from \"react\"\n\nconst TRIGGER = {\n click: \"click\",\n hover: \"hover\",\n} as const\n\nexport interface UsePopoverProps extends UsePopperProps {\n /**\n * The html `id` attribute of the popover.\n * If not provided, we generate a unique id.\n *\n * This `id` is also used to auto-generate the `aria-labelledby`\n * and `aria-decribedby` attributes that points to the `PopoverHeader` and `PopoverBody`\n */\n id?: string\n /**\n * If `true`, the popover will be opened in controlled mode.\n */\n isOpen?: boolean\n /**\n * If `true`, the popover will be initially opened.\n */\n defaultIsOpen?: boolean\n /**\n * The `ref` of the element that should receive focus when the popover opens.\n */\n initialFocusRef?: RefObject<FocusableElement>\n /**\n * If `true`, focus will be returned to the element that triggers the popover\n * when it closes\n */\n returnFocusOnClose?: boolean\n /**\n * If `true`, focus will be transferred to the first interactive element\n * when the popover opens\n */\n autoFocus?: boolean\n /**\n * If `true`, the popover will close when you blur out it by\n * clicking outside or tabbing out\n */\n closeOnBlur?: boolean\n /**\n * If `true`, the popover will close when you hit the `Esc` key\n */\n closeOnEsc?: boolean\n /**\n * Callback fired when the popover opens\n */\n onOpen?: () => void\n /**\n * Callback fired when the popover closes\n */\n onClose?: () => void\n /**\n * The size of the popover arrow\n */\n arrowSize?: number\n /**\n * The `box-shadow` of the popover arrow\n */\n arrowShadowColor?: string\n /**\n * The interaction that triggers the popover.\n *\n * `hover` - means the popover will open when you hover with mouse or\n * focus with keyboard on the popover trigger\n *\n * `click` - means the popover will open on click or\n * press `Enter` to `Space` on keyboard\n */\n trigger?: keyof typeof TRIGGER\n openDelay?: number\n closeDelay?: number\n /**\n * Performance 🚀:\n * If `true`, the PopoverContent rendering will be deferred\n * until the popover is open.\n */\n isLazy?: boolean\n /**\n * Performance 🚀:\n * The lazy behavior of popover's content when not visible.\n * Only works when `isLazy={true}`\n *\n * - \"unmount\": The popover's content is always unmounted when not open.\n * - \"keepMounted\": The popover's content initially unmounted,\n * but stays mounted when popover is open.\n *\n * @default \"unmount\"\n */\n lazyBehavior?: LazyBehavior\n /**\n * If `true`, the popover will be positioned when it mounts\n * (even if it's not open)\n *\n * Note 🚨: We don't recommend using this in a popover/menu intensive UI or page\n * as it might affect scrolling performance.\n */\n computePositionOnMount?: boolean\n}\n\n/**\n * @internal\n */\nexport function usePopover(props: UsePopoverProps = {}) {\n const {\n closeOnBlur = true,\n closeOnEsc = true,\n initialFocusRef,\n id,\n returnFocusOnClose = true,\n autoFocus = true,\n arrowSize,\n arrowShadowColor,\n trigger = TRIGGER.click,\n openDelay = 200,\n closeDelay = 200,\n isLazy,\n lazyBehavior = \"unmount\",\n computePositionOnMount,\n ...popperProps\n } = props\n\n const { isOpen, onClose, onOpen, onToggle } = useDisclosure(props)\n\n const triggerRef = useRef<HTMLElement>(null)\n const popoverRef = useRef<HTMLElement>(null)\n\n const isHoveringRef = useRef(false)\n\n const hasBeenOpened = useRef(false)\n if (isOpen) {\n hasBeenOpened.current = true\n }\n\n const [hasHeader, setHasHeader] = useState(false)\n const [hasBody, setHasBody] = useState(false)\n\n const [triggerId, popoverId, headerId, bodyId] = useIds(\n id,\n \"popover-trigger\",\n \"popover-content\",\n \"popover-header\",\n \"popover-body\",\n )\n\n const {\n referenceRef,\n getArrowProps,\n getPopperProps,\n getArrowInnerProps,\n forceUpdate,\n } = usePopper({\n ...popperProps,\n enabled: isOpen || !!computePositionOnMount,\n })\n\n useFocusOnPointerDown({\n enabled: isOpen,\n ref: triggerRef,\n })\n\n useFocusOnHide(popoverRef, {\n focusRef: triggerRef,\n visible: isOpen,\n shouldFocus: returnFocusOnClose && trigger === TRIGGER.click,\n })\n\n useFocusOnShow(popoverRef, {\n focusRef: initialFocusRef,\n visible: isOpen,\n shouldFocus: autoFocus && trigger === TRIGGER.click,\n })\n\n const shouldRenderChildren = determineLazyBehavior({\n hasBeenSelected: hasBeenOpened.current,\n isLazy,\n lazyBehavior,\n isSelected: isOpen,\n })\n\n const getPopoverProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const popoverProps: HTMLProps = {\n ...props,\n style: {\n ...props.style,\n transformOrigin: popperCSSVars.transformOrigin.varRef,\n [popperCSSVars.arrowSize.var]: arrowSize ? px(arrowSize) : undefined,\n [popperCSSVars.arrowShadowColor.var]: arrowShadowColor,\n },\n ref: mergeRefs(popoverRef, _ref),\n children: shouldRenderChildren ? props.children : null,\n id: popoverId,\n tabIndex: -1,\n role: \"dialog\",\n onKeyDown: callAllHandlers(props.onKeyDown, (event) => {\n if (closeOnEsc && event.key === \"Escape\") {\n onClose()\n }\n }),\n onBlur: callAllHandlers(props.onBlur, (event) => {\n const relatedTarget = getRelatedTarget(event)\n const targetIsPopover = contains(popoverRef.current, relatedTarget)\n const targetIsTrigger = contains(triggerRef.current, relatedTarget)\n const isValidBlur = !targetIsPopover && !targetIsTrigger\n\n if (isOpen && closeOnBlur && isValidBlur) {\n onClose()\n }\n }),\n \"aria-labelledby\": hasHeader ? headerId : undefined,\n \"aria-describedby\": hasBody ? bodyId : undefined,\n }\n\n if (trigger === TRIGGER.hover) {\n popoverProps.role = \"tooltip\"\n popoverProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n })\n popoverProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n setTimeout(onClose, closeDelay)\n })\n }\n\n return popoverProps\n },\n [\n shouldRenderChildren,\n popoverId,\n hasHeader,\n headerId,\n hasBody,\n bodyId,\n trigger,\n closeOnEsc,\n onClose,\n isOpen,\n closeOnBlur,\n closeDelay,\n arrowShadowColor,\n arrowSize,\n ],\n )\n\n const getPopoverPositionerProps: PropGetter = useCallback(\n (props = {}, forwardedRef = null) =>\n getPopperProps(\n {\n ...props,\n style: {\n visibility: isOpen ? \"visible\" : \"hidden\",\n ...props.style,\n },\n },\n forwardedRef,\n ),\n [isOpen, getPopperProps],\n )\n\n const openTimeout = useRef<number>()\n const closeTimeout = useRef<number>()\n\n const getTriggerProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const triggerProps: HTMLProps = {\n ...props,\n ref: mergeRefs(triggerRef, _ref, referenceRef),\n id: triggerId,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": isOpen,\n \"aria-controls\": popoverId,\n }\n\n if (trigger === TRIGGER.click) {\n triggerProps.onClick = callAllHandlers(props.onClick, onToggle)\n }\n\n if (trigger === TRIGGER.hover) {\n /**\n * Any content that shows on pointer hover should also show on keyboard focus.\n * Consider focus and blur to be the `hover` for keyboard users.\n *\n * @see https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html\n */\n triggerProps.onFocus = callAllHandlers(props.onFocus, onOpen)\n triggerProps.onBlur = callAllHandlers(props.onBlur, onClose)\n\n /**\n * Any content that shows on hover or focus must be dismissible.\n * This case pressing `Escape` will dismiss the popover\n */\n triggerProps.onKeyDown = callAllHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Escape\") {\n onClose()\n }\n })\n\n triggerProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n openTimeout.current = window.setTimeout(onOpen, openDelay)\n })\n\n triggerProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n openTimeout.current = undefined\n }\n\n closeTimeout.current = window.setTimeout(() => {\n if (isHoveringRef.current === false) {\n onClose()\n }\n }, closeDelay)\n })\n }\n\n return triggerProps\n },\n [\n triggerId,\n isOpen,\n popoverId,\n trigger,\n referenceRef,\n onToggle,\n onOpen,\n onClose,\n openDelay,\n closeDelay,\n ],\n )\n\n useEffect(() => {\n return () => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n }\n if (closeTimeout.current) {\n clearTimeout(closeTimeout.current)\n }\n }\n }, [])\n\n const getHeaderProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: headerId,\n ref: mergeRefs(ref, (node: HTMLElement | null) => {\n setHasHeader(!!node)\n }),\n }),\n [headerId],\n )\n\n const getBodyProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: bodyId,\n ref: mergeRefs(ref, (node) => {\n setHasBody(!!node)\n }),\n }),\n [bodyId],\n )\n\n return {\n forceUpdate,\n isOpen,\n onClose,\n getArrowProps,\n getArrowInnerProps,\n getPopoverPositionerProps,\n getPopoverProps,\n getTriggerProps,\n getHeaderProps,\n getBodyProps,\n }\n}\n\nexport type UsePopoverReturn = ReturnType<typeof usePopover>\n","import { CloseButton, CloseButtonProps } from \"@chakra-ui/close-button\"\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\"\nimport {\n chakra,\n forwardRef,\n HTMLChakraProps,\n omitThemingProps,\n StylesProvider,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n useStyles,\n useTheme,\n} from \"@chakra-ui/system\"\nimport { cx, runIfFn, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { PopoverProvider, usePopoverContext } from \"./popover-context\"\nimport { PopoverTransition, PopoverTransitionProps } from \"./popover-transition\"\nimport { usePopover, UsePopoverProps } from \"./use-popover\"\n\nexport { usePopoverContext }\n\nexport interface PopoverProps extends UsePopoverProps, ThemingProps<\"Popover\"> {\n /**\n * The content of the popover. It is usually the `PopoverTrigger`,\n * and `PopoverContent`\n */\n children?: MaybeRenderProp<{\n isOpen: boolean\n onClose: () => void\n forceUpdate: (() => void) | undefined\n }>\n}\n\n/**\n * Popover is used to bring attention to specific user interface elements,\n * typically to suggest an action or to guide users through a new experience.\n */\nexport const Popover: React.FC<PopoverProps> = (props) => {\n const styles = useMultiStyleConfig(\"Popover\", props)\n\n const { children, ...rest } = omitThemingProps(props)\n const theme = useTheme()\n const context = usePopover({ ...rest, direction: theme.direction })\n\n return (\n <PopoverProvider value={context}>\n <StylesProvider value={styles}>\n {runIfFn(children, {\n isOpen: context.isOpen,\n onClose: context.onClose,\n forceUpdate: context.forceUpdate,\n })}\n </StylesProvider>\n </PopoverProvider>\n )\n}\n\nif (__DEV__) {\n Popover.displayName = \"Popover\"\n}\n\n/**\n * PopoverTrigger opens the popover's content. It must be an interactive element\n * such as `button` or `a`.\n */\nexport const PopoverTrigger: React.FC = (props) => {\n // enforce a single child\n const child: any = React.Children.only(props.children)\n const { getTriggerProps } = usePopoverContext()\n return React.cloneElement(child, getTriggerProps(child.props, child.ref))\n}\n\nif (__DEV__) {\n PopoverTrigger.displayName = \"PopoverTrigger\"\n}\n\nexport interface PopoverContentProps extends PopoverTransitionProps {\n rootProps?: HTMLChakraProps<\"div\">\n}\n\nexport const PopoverContent = forwardRef<PopoverContentProps, \"section\">(\n (props, ref) => {\n const { rootProps, ...contentProps } = props\n\n const { getPopoverProps, getPopoverPositionerProps } = usePopoverContext()\n\n const styles = useStyles()\n const contentStyles: SystemStyleObject = {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n ...styles.content,\n }\n\n return (\n <chakra.div\n {...getPopoverPositionerProps(rootProps)}\n __css={styles.popper}\n className=\"chakra-popover__popper\"\n >\n <PopoverTransition\n {...getPopoverProps(contentProps, ref)}\n className={cx(\"chakra-popover__content\", props.className)}\n __css={contentStyles}\n />\n </chakra.div>\n )\n },\n)\n\nif (__DEV__) {\n PopoverContent.displayName = \"PopoverContent\"\n}\n\nexport interface PopoverHeaderProps extends HTMLChakraProps<\"header\"> {}\n\n/**\n * PopoverHeader is the accessible header or label\n * for the popover's content and it is first announced by screenreaders.\n */\nexport const PopoverHeader = forwardRef<PopoverHeaderProps, \"header\">(\n (props, ref) => {\n const { getHeaderProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.header\n {...getHeaderProps(props, ref)}\n className={cx(\"chakra-popover__header\", props.className)}\n __css={styles.header}\n />\n )\n },\n)\n\nif (__DEV__) {\n PopoverHeader.displayName = \"PopoverHeader\"\n}\n\nexport interface PopoverBodyProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * PopoverBody is the main content area for the popover. Should contain\n * at least one interactive element.\n */\nexport const PopoverBody = forwardRef<PopoverBodyProps, \"div\">((props, ref) => {\n const { getBodyProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.div\n {...getBodyProps(props, ref)}\n className={cx(\"chakra-popover__body\", props.className)}\n __css={styles.body}\n />\n )\n})\n\nif (__DEV__) {\n PopoverBody.displayName = \"PopoverBody\"\n}\nexport interface PopoverFooterProps extends HTMLChakraProps<\"footer\"> {}\n\nexport const PopoverFooter: React.FC<PopoverFooterProps> = (props) => {\n const styles = useStyles()\n return (\n <chakra.footer\n {...props}\n className={cx(\"chakra-popover__footer\", props.className)}\n __css={styles.footer}\n />\n )\n}\n\nif (__DEV__) {\n PopoverFooter.displayName = \"PopoverFooter\"\n}\n\nexport type PopoverCloseButtonProps = CloseButtonProps\n\nexport const PopoverCloseButton: React.FC<CloseButtonProps> = (props) => {\n const { onClose } = usePopoverContext()\n return (\n <CloseButton\n size=\"sm\"\n onClick={onClose}\n position=\"absolute\"\n borderRadius=\"md\"\n top=\"0.25rem\"\n insetEnd=\"0.5rem\"\n padding=\"0.5rem\"\n {...props}\n />\n )\n}\n\nif (__DEV__) {\n PopoverCloseButton.displayName = \"PopoverCloseButton\"\n}\n\nexport interface PopoverArrowProps extends HTMLChakraProps<\"div\"> {}\n\nexport const PopoverArrow: React.FC<PopoverArrowProps> = (props) => {\n const { bg, bgColor, backgroundColor } = props\n const { getArrowProps, getArrowInnerProps } = usePopoverContext()\n const styles = useStyles()\n const arrowBg = bg ?? bgColor ?? backgroundColor\n return (\n <chakra.div\n {...getArrowProps()}\n className=\"chakra-popover__arrow-positioner\"\n >\n <chakra.div\n className={cx(\"chakra-popover__arrow\", props.className)}\n {...getArrowInnerProps(props)}\n __css={{\n ...styles.arrow,\n \"--popper-arrow-bg\": arrowBg\n ? `colors.${arrowBg}, ${arrowBg}`\n : undefined,\n }}\n />\n </chakra.div>\n )\n}\n\nif (__DEV__) {\n PopoverArrow.displayName = \"PopoverArrow\"\n}\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const QuestionIcon = createIcon({\n d:\n \"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z\",\n displayName: \"QuestionIcon\",\n})\n","import { useFormControlContext } from \"@chakra-ui/form-control\"\nimport { useBoolean, useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport { ariaAttr, callAllHandlers, dataAttr, warn } from \"@chakra-ui/utils\"\nimport { visuallyHiddenStyle } from \"@chakra-ui/visually-hidden\"\nimport {\n ChangeEvent,\n SyntheticEvent,\n useCallback,\n useRef,\n useState,\n} from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\n\n/**\n * @todo use the `useClickable` hook here\n * to manage the isFocusable & isDisabled props\n */\nexport interface UseRadioProps {\n /**\n * id assigned to input\n */\n id?: string\n /**\n * The name of the input field in a radio\n * (Useful for form submission).\n */\n name?: string\n /**\n * The value to be used in the radio button.\n * This is the value that will be returned on form submission.\n */\n value?: string | number\n /**\n * If `true`, the radio will be checked.\n * You'll need to pass `onChange` to update its value (since it is now controlled)\n */\n isChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n *\n * @deprecated Please use `defaultChecked` which mirrors the default prop\n * name for radio elements.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n */\n defaultChecked?: boolean\n /**\n * If `true`, the radio will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` and `isDisabled` is true, the radio will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * If `true`, the radio will be read-only\n */\n isReadOnly?: boolean\n /**\n * If `true`, the radio button will be invalid. This also sets `aria-invalid` to `true`.\n */\n isInvalid?: boolean\n /**\n * If `true`, the radio button will be required. This also sets `aria-required` to `true`.\n */\n isRequired?: boolean\n /**\n * Function called when checked state of the `input` changes\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void\n /**\n * @internal\n */\n \"data-radiogroup\"?: any\n}\n\nexport function useRadio(props: UseRadioProps = {}) {\n const {\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isChecked: isCheckedProp,\n isFocusable,\n isDisabled: isDisabledProp,\n isReadOnly: isReadOnlyProp,\n isRequired: isRequiredProp,\n onChange,\n isInvalid: isInvalidProp,\n name,\n value,\n id: idProp,\n \"data-radiogroup\": dataRadioGroup,\n ...htmlProps\n } = props\n\n const uuid = useId(undefined, \"radio\")\n\n const formControl = useFormControlContext()\n const group = useRadioGroupContext()\n\n const isWithinRadioGroup = !!group || !!dataRadioGroup\n const isWithinFormControl = !!formControl\n\n let id = isWithinFormControl && !isWithinRadioGroup ? formControl.id : uuid\n id = idProp ?? id\n\n const isDisabled = isDisabledProp ?? formControl?.isDisabled\n const isReadOnly = isReadOnlyProp ?? formControl?.isReadOnly\n const isRequired = isRequiredProp ?? formControl?.isRequired\n const isInvalid = isInvalidProp ?? formControl?.isInvalid\n\n const [isFocused, setFocused] = useBoolean()\n const [isHovered, setHovering] = useBoolean()\n const [isActive, setActive] = useBoolean()\n\n const ref = useRef<HTMLInputElement>(null)\n\n const [isCheckedState, setChecked] = useState(Boolean(defaultChecked))\n\n const [isControlled, isChecked] = useControllableProp(\n isCheckedProp,\n isCheckedState,\n )\n\n warn({\n condition: !!defaultIsChecked,\n message:\n 'The \"defaultIsChecked\" prop has been deprecated and will be removed in a future version. ' +\n 'Please use the \"defaultChecked\" prop instead, which mirrors default React checkbox behavior.',\n })\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n if (isReadOnly || isDisabled) {\n event.preventDefault()\n return\n }\n\n if (!isControlled) {\n setChecked(event.target.checked)\n }\n\n onChange?.(event)\n },\n [isControlled, isDisabled, isReadOnly, onChange],\n )\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.on()\n }\n },\n [setActive],\n )\n\n const onKeyUp = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.off()\n }\n },\n [setActive],\n )\n\n const getCheckboxProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n \"data-active\": dataAttr(isActive),\n \"data-hover\": dataAttr(isHovered),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-checked\": dataAttr(isChecked),\n \"data-focus\": dataAttr(isFocused),\n \"data-readonly\": dataAttr(isReadOnly),\n \"aria-hidden\": true,\n onMouseDown: callAllHandlers(props.onMouseDown, setActive.on),\n onMouseUp: callAllHandlers(props.onMouseUp, setActive.off),\n onMouseEnter: callAllHandlers(props.onMouseEnter, setHovering.on),\n onMouseLeave: callAllHandlers(props.onMouseLeave, setHovering.off),\n }),\n [\n isActive,\n isHovered,\n isDisabled,\n isInvalid,\n isChecked,\n isFocused,\n isReadOnly,\n setActive.on,\n setActive.off,\n setHovering.on,\n setHovering.off,\n ],\n )\n\n const { onFocus, onBlur } = formControl ?? {}\n\n const getInputProps: PropGetter<HTMLInputElement> = useCallback(\n (props = {}, forwardedRef = null) => {\n const trulyDisabled = isDisabled && !isFocusable\n\n return {\n ...props,\n id,\n ref: mergeRefs(forwardedRef, ref),\n type: \"radio\",\n name,\n value,\n onChange: callAllHandlers(props.onChange, handleChange),\n onBlur: callAllHandlers(onBlur, props.onBlur, setFocused.off),\n onFocus: callAllHandlers(onFocus, props.onFocus, setFocused.on),\n onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown),\n onKeyUp: callAllHandlers(props.onKeyUp, onKeyUp),\n checked: isChecked,\n disabled: trulyDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n \"aria-invalid\": ariaAttr(isInvalid),\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"aria-readonly\": ariaAttr(isReadOnly),\n \"aria-required\": ariaAttr(isRequired),\n style: visuallyHiddenStyle,\n }\n },\n [\n isDisabled,\n isFocusable,\n id,\n name,\n value,\n handleChange,\n onBlur,\n setFocused,\n onFocus,\n onKeyDown,\n onKeyUp,\n isChecked,\n isReadOnly,\n isRequired,\n isInvalid,\n ],\n )\n\n const getLabelProps: PropGetter = (props = {}, ref = null) => ({\n ...props,\n ref,\n onMouseDown: callAllHandlers(props.onMouseDown, stop),\n onTouchStart: callAllHandlers(props.onTouchStart, stop),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n const getRootProps: PropGetter = (pros, ref = null) => ({\n ...props,\n ref,\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n return {\n state: {\n isInvalid,\n isFocused,\n isChecked,\n isActive,\n isHovered,\n isDisabled,\n isReadOnly,\n isRequired,\n },\n getCheckboxProps,\n getInputProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n }\n}\n\n/**\n * Prevent `onBlur` being fired when the checkbox label is touched\n */\nfunction stop(event: SyntheticEvent) {\n event.preventDefault()\n event.stopPropagation()\n}\n\nexport type UseRadioReturn = ReturnType<typeof useRadio>\n","import {\n chakra,\n forwardRef,\n layoutPropNames,\n omitThemingProps,\n SystemProps,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { callAll, split, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\nimport { useRadio, UseRadioProps } from \"./use-radio\"\n\ntype Omitted = \"onChange\" | \"defaultChecked\" | \"checked\"\ninterface BaseControlProps extends Omit<HTMLChakraProps<\"div\">, Omitted> {}\n\nexport interface RadioProps\n extends UseRadioProps,\n ThemingProps<\"Radio\">,\n BaseControlProps {\n /**\n * The spacing between the checkbox and its label text\n * @default 0.5rem\n * @type SystemProps[\"marginLeft\"]\n */\n spacing?: SystemProps[\"marginLeft\"]\n /**\n * If `true`, the radio will occupy the full width of its parent container\n *\n * @deprecated\n * This component defaults to 100% width,\n * please use the props `maxWidth` or `width` to configure\n */\n isFullWidth?: boolean\n}\n\n/**\n * Radio component is used in forms when a user needs to select a single value from\n * several options.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const Radio = forwardRef<RadioProps, \"input\">((props, ref) => {\n const group = useRadioGroupContext()\n const { onChange: onChangeProp, value: valueProp } = props\n\n const styles = useMultiStyleConfig(\"Radio\", { ...group, ...props })\n\n const ownProps = omitThemingProps(props)\n\n const {\n spacing = \"0.5rem\",\n children,\n isFullWidth,\n isDisabled = group?.isDisabled,\n isFocusable = group?.isFocusable,\n ...rest\n } = ownProps\n\n let isChecked = props.isChecked\n if (group?.value != null && valueProp != null) {\n isChecked = group.value === valueProp\n }\n\n let onChange = onChangeProp\n if (group?.onChange && valueProp != null) {\n onChange = callAll(group.onChange, onChangeProp)\n }\n\n const name = props?.name ?? group?.name\n\n const {\n getInputProps,\n getCheckboxProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n } = useRadio({\n ...rest,\n isChecked,\n isFocusable,\n isDisabled,\n onChange,\n name,\n })\n\n const [layoutProps, otherProps] = split(htmlProps, layoutPropNames as any)\n\n const checkboxProps = getCheckboxProps(otherProps)\n const inputProps = getInputProps({}, ref)\n const labelProps = getLabelProps()\n const rootProps = Object.assign(layoutProps, getRootProps())\n\n const rootStyles = {\n width: isFullWidth ? \"full\" : undefined,\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n ...styles.container,\n }\n\n const checkboxStyles = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n ...styles.control,\n }\n\n const labelStyles: SystemStyleObject = {\n userSelect: \"none\",\n marginStart: spacing,\n ...styles.label,\n }\n\n return (\n <chakra.label className=\"chakra-radio\" {...rootProps} __css={rootStyles}>\n <input className=\"chakra-radio__input\" {...inputProps} />\n <chakra.span\n className=\"chakra-radio__control\"\n {...checkboxProps}\n __css={checkboxStyles}\n />\n {children && (\n <chakra.span\n className=\"chakra-radio__label\"\n {...labelProps}\n __css={labelStyles}\n >\n {children}\n </chakra.span>\n )}\n </chakra.label>\n )\n})\n\nif (__DEV__) {\n Radio.displayName = \"Radio\"\n}\n","export * from \"@chakra-ui/color-mode\"\nexport * from \"@chakra-ui/styled-system\"\nexport { keyframes } from \"@emotion/react\"\nexport type { Interpolation } from \"@emotion/react\"\nexport * from \"./hooks\"\nexport * from \"./system.types\"\nexport * from \"./providers\"\nexport { omitThemingProps } from \"./system.utils\"\nexport * from \"./system\"\nexport * from \"./forward-ref\"\nexport * from \"./use-style-config\"\nexport { shouldForwardProp } from \"./should-forward-prop\"\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/link-box.tsx","../../../src/ChevronRight.tsx","../../../src/use-radio-group.ts","../../../src/radio-group.tsx","../../../src/ChevronLeft.tsx","../../../src/Download.tsx","../../../src/popover-context.ts","../../../src/popover-transition.tsx","../../../src/pointer-event.ts","../../../src/use-focus-on-pointerdown.ts","../../../src/user-agent.ts","../../../src/use-pointer-event.ts","../../../src/use-focus-on-show.ts","../../../src/use-popover.ts","../../../src/popover.tsx","../../../src/Question.tsx","../../../src/use-radio.ts","../../../src/radio.tsx","../../../src/index.ts"],"names":["LinkOverlay","forwardRef","className","ref","cx","rel","isExternal","target","__css","position","content","cursor","display","top","left","zIndex","width","height","LinkBox","ChevronRightIcon","createIcon","d","displayName","useRadioGroup","props","onChange","value","name","isNative","React","defaultValue","useControllableProp","valueProp","focus","rootNode","query","firstEnabledAndCheckedInput","firstEnabledInput","fallbackName","useId","undefined","nameProp","eventOrValue","nextValue","isInputEvent","setValue","onChangeProp","String","getRootProps","forwardedRef","mergeRefs","role","getRadioProps","checkedKey","isDisabled","isFocusable","htmlProps","createContext","strict","RadioGroup","group","size","colorScheme","variant","groupProps","_className","ChevronLeftIcon","DownloadIcon","viewBox","errorMessage","mergeVariants","variants","mergeWith","enter","visibility","exit","transitionEnd","Section","motion","chakra","PopoverTransition","isOpen","usePopoverContext","initial","animate","opacity","scale","transition","duration","ease","isTouchEvent","event","defaultPagePoint","pageX","pageY","pointFromTouch","e","pointType","point","x","y","pointFromMouse","extractEventInfo","wrapPointerEventHandler","shouldFilterPrimaryPointer","eventHandler","listener","handler","isMouseEvent","getEventWindow","mouseEventNames","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","touchEventNames","getPointerEventName","isBrowser","window","useFocusOnPointerDown","browser","enabled","isSafari","navigator","userAgent","vendor","android","test","ua","getUserAgentBrowser","getOwnerDocument","isValidTarget","elements","elementOrRef","el","isRefObject","contains","isActiveElement","useEventListener","eventName","defaultOptions","preventScroll","shouldFocus","TRIGGER","usePopover","closeOnBlur","closeOnEsc","returnFocusOnClose","autoFocus","trigger","openDelay","closeDelay","lazyBehavior","computePositionOnMount","useDisclosure","onToggle","triggerRef","useRef","popoverRef","isHoveringRef","hasBeenOpened","useState","useIds","usePopper","forceUpdate","useFocusOnHide","focusRef","visible","options","element","onFocus","useCallback","document","nextTick","tabbableEls","getAllFocusable","useUpdateEffect","useFocusOnShow","shouldRenderChildren","determineLazyBehavior","hasBeenSelected","isLazy","isSelected","getPopoverProps","_ref","popoverProps","style","transformOrigin","popperCSSVars","arrowSize","px","arrowShadowColor","children","id","tabIndex","onKeyDown","callAllHandlers","onClose","onBlur","relatedTarget","getRelatedTarget","targetIsPopover","targetIsTrigger","hasHeader","headerId","hasBody","bodyId","setTimeout","getPopoverPositionerProps","getPopperProps","openTimeout","closeTimeout","getTriggerProps","triggerProps","popoverId","clearTimeout","useEffect","getHeaderProps","node","setHasHeader","getBodyProps","setHasBody","getArrowProps","getArrowInnerProps","Popover","styles","useMultiStyleConfig","omitThemingProps","context","direction","useTheme","runIfFn","PopoverTrigger","child","PopoverContent","rootProps","useStyles","contentStyles","flexDirection","contentProps","PopoverHeader","header","PopoverBody","body","PopoverCloseButton","onClick","borderRadius","insetEnd","padding","PopoverArrow","backgroundColor","arrowBg","bg","QuestionIcon","useRadio","defaultChecked","isChecked","isReadOnly","isRequired","isInvalid","dataRadioGroup","uuid","formControl","useFormControlContext","useRadioGroupContext","isWithinFormControl","idProp","isDisabledProp","isReadOnlyProp","isRequiredProp","isInvalidProp","useBoolean","Boolean","warn","condition","message","handleChange","setChecked","isControlled","setActive","onKeyUp","getCheckboxProps","dataAttr","onMouseDown","onMouseUp","onMouseEnter","setHovering","onMouseLeave","getInputProps","trulyDisabled","type","setFocused","checked","disabled","readOnly","required","ariaAttr","visuallyHiddenStyle","state","isFocused","isActive","isHovered","getLabelProps","onTouchStart","pros","stop","Radio","ownProps","spacing","callAll","split","checkboxProps","inputProps","labelProps","Object","rootStyles","isFullWidth","alignItems","verticalAlign","checkboxStyles","justifyContent","flexShrink","labelStyles","userSelect","marginStart"],"mappings":"kkBAWO,IAAMA,EAAcC,aAAkC,cAC3D,IAAM,EAAN,EAAM,aAAN,EAAM,SAAN,EAAM,IAA2BC,EAAjC,EAAiCA,UAAjC,iDACA,OACE,gBAAC,IAAD,UAEEC,IAFF,EAGED,UAAWE,YAAG,0BAHhB,GAIEC,IAAKC,EAAa,sBAJpB,EAKEC,OAAQD,EAAa,SALvB,EAMEE,MAAO,CACLC,SADK,SAEL,YAAa,CACXC,QADW,KAEXC,OAFW,UAGXC,QAHW,QAIXH,SAJW,WAKXI,IALW,EAMXC,KANW,EAOXC,OAPW,EAQXC,MARW,OASXC,OAAQ,eAeLC,EAAUjB,aAAgC,cAC/C,IAAEC,EAAR,EAAQA,UAAR,qBAEA,OACE,gBAAC,IAAD,OACEC,IADF,EAEEM,SAAS,YAFX,GAIEP,UAAWE,YAAG,iBAJhB,GAKEI,MAAO,CAEL,qDAAsD,CACpDC,SADoD,WAEpDM,OAAQ,W,iCC3DlB,8CAEaI,EAAmBC,YAAW,CACzCC,EADyC,iDAEzCC,YAAa,sB,qaCqDR,SAASC,EAAcC,QAAgC,IAAhCA,MAA4B,IACxD,QAAM,EAAN,EACEC,SADI,EAAN,EAEEC,MAFI,EAAN,EAAM,eAAN,EAIEC,KAJI,EAAN,EAAM,aAAN,EAAM,YAOJC,EAPF,EAOEA,SAPF,E,oIAAA,qFAWA,EAA+BC,WAC7BC,GADF,uBAAM,EAAN,KAAM,EAAN,KAGA,EAA8BC,YAAoBC,EAAlD,sBAAM,EAAN,KAAM,EAAN,KAEM7B,EAAM0B,SAAZ,MAEMI,EAAQ,eAAkB,WAC9B,IAAMC,EAAW/B,EAAjB,QACA,MAEA,IAAIgC,EAAJ,+BAEMC,EAA8BF,gBAApC,GAIA,KACEE,cADF,CAKAD,yBAEA,IAAME,EAAoBH,gBAA1B,GACAG,uBAlBF,IAwBMC,EAAeC,iBAAMC,EAA3B,SACMb,EAAOc,GAAb,EAEMhB,EAAW,eACdiB,YACC,IAAMC,EAAYC,eACdF,SADcE,MAAlB,EAIA,GACEC,KAGFC,WAAeC,OAAfD,MAEF,CAACA,EAZH,IAeME,EAA2B,eAC/B,8BAACxB,MAAD,aAAayB,MAAb,cAEE9C,IAAK+C,YAAUD,EAFjB,GAGEE,KAAM,iBAJV,IASMC,EAAiC,eACrC,cAA4B,eAA3B5B,MAAQ,SAAmB,IAAfrB,MAAM,MACjB,IAAMkD,EAAazB,EAAW,UAA9B,YACA,kBAEEzB,MACAwB,QAHF,cAIE,EAAcD,QAAgBF,UAAhBE,OAJhB,6CAME,mBAAmB,GANrB,MASF,CAACE,EAAUD,EAAMF,EAZnB,IAeA,MAAO,CACLuB,eACAI,gBACAzB,OACAxB,MACA8B,QACAY,WACAnB,QACAD,WACA6B,aACAC,cACAC,a,gNCnIJ,MAGIC,YAAiC,CACnC9B,KADmC,oBAEnC+B,QAAQ,IALV,mBAAM,EAAN,KAAM,EAAN,KA6BaC,EAAa1D,aAAmC,cAC3D,IAAM,EAAN,EAAM,cAAN,EAAM,OAAN,EAAM,UAAN,EAAM,WAAN,EAAM,YAAN,EAAM,WAOJsD,EAPF,EAOEA,YAIF,EAA2DhC,E,oIAX3D,wFAWM,EAAN,EAAM,QAAN,EAAM,WAAN,EAAM,eAAN,EAAM,KAAuCiC,EAA7C,EAA6CA,UAEvCI,EAAQ,WACZ,iBAAO,CACLjC,OACAkC,OACApC,WACAqC,cACApC,QACAqC,UACAT,aACAC,iBAEF,CAAC,EAAD,YAXF,IAuBMS,EAAahB,EAAaQ,EAAhC,GACMS,EAAa7D,YAAG,qBAAtB,GAEA,OACE,mBAAoBsB,MAAOkC,GACzB,gBAAC,IAAD,YAA4B1D,UAAW+D,IAF3C,OASE,EAAJ,IACEN,6B,iCCrGF,8CAEaO,EAAkB9C,YAAW,CACxCC,EADwC,gDAExCC,YAAa,qB,iCCJf,8CAEa6C,EAAe/C,YAAW,CACrCC,EADqC,+MAGrCC,YAHqC,eAIrC8C,QAAS,e,kYCHJ,EAGHX,YAAgC,CAClC9B,KADkC,iBAElC0C,aACE,oHANG,mBAAM,EAAN,KAAM,EAAN,K,0OCsBP,IAAMC,EAAiBC,YACrB,KACA,OAAOC,IAAUD,EAAU,CACzBE,MAAO,CACLC,WAAY,WAEdC,KAAM,CACJC,cAAe,CACbF,WAAY,cAyBdG,EAAUC,YAAOC,IAAvB,SAKaC,EAAoB,gBAC/B,cACE,IAAQC,EAAWC,IAAXD,OACR,OACE,uBACE9E,IADF,EAEEoE,SAAUD,EAAc9C,EAAD,WAFzB,GAIE2D,SAJF,EAKEC,QAASH,EAAS,QAAU,aAMpCD,eAAiC,CAC/BT,SAxCgC,CAChCI,KAAM,CACJU,QADI,EAEJC,MAFI,IAGJC,WAAY,CACVC,SADU,GAEVC,KAAM,CAAC,GAAK,EAAG,EAAG,KAGtBhB,MAAO,CACLa,MADK,EAELD,QAFK,EAGLE,WAAY,CACVC,SADU,IAEVC,KAAM,CAAC,EAAG,EAAG,GAAK,O,kDC5BjB,SAASC,EAAaC,GAE3B,QADsBA,EAAtB,QAuCF,IAAMC,EAAmB,CAAEC,MAAF,EAAYC,MAAO,GAE5C,SAASC,EAAeC,EAAxB,QAAsE,IAA/BC,MAAuB,QAC5D,IACMC,EADeF,cAAgBA,iBAArC,IACA,EAEA,MAAO,CACLG,EAAGD,EAASD,EADP,KAELG,EAAGF,EAASD,EAAJ,MAIZ,SAASI,EAAe,EAAxB,GAIE,YADA,IADAJ,MAAuB,QAEhB,CACLE,EAAGD,EAASD,EADP,KAELG,EAAGF,EAASD,EAAJ,MAIL,SAASK,EAAiB,EAA1B,GAIL,YADkB,IADlBL,MAAuB,QAEhB,CACLC,MAAOR,KACHK,EAAeJ,EADZD,GAEHW,EAAeV,EAAOM,IAQvB,IAAMM,EAA0B,SAAC,EAAD,QAGnB,IADlBC,OAA6B,GAE7B,IA1D4BC,EA0DtBC,EAA2Bf,YAAD,OAC9BgB,EAAQhB,EAAOW,EADjB,KAGA,OAAOE,GA7DqBC,EA6DK,EA5DzBd,YACN,IACMiB,EAAejB,aADTkB,YAAZ,GACA,aAEGD,GAAiBA,GADpB,IACqCjB,EAAD,SAElCc,OAsDJ,GAmBIK,EAAkC,CACtCC,YADsC,YAEtCC,YAFsC,YAGtCC,UAHsC,UAItCC,cAJsC,cAKtCC,YALsC,YAMtCC,WANsC,WAOtCC,aAPsC,aAQtCC,aAAc,cAGVC,EAAkC,CACtCR,YADsC,aAEtCC,YAFsC,YAGtCC,UAHsC,WAItCC,cAAe,eAGV,SAASM,EAAoB7F,GAClC,OAlCkC8F,KAApC,OAAiDC,qBAmC7C,EAlC8BD,KAAlC,OAA+CC,oBAqCpCH,EAAP,GApC8BE,KAAlC,OAA+CC,mBAuCpCZ,EAAP,GAGF,E,aCnIK,SAASa,EAAsBnG,GACpC,IC6C4BoG,ECzDE,EAAzB,MFYC,EAAN,EAAM,MAAN,EAAM,SAAiBC,EAAvB,EAAuBA,QAEjBC,GC2CsBF,ED3C5B,WC4CA,KAvEF,SAA6BG,GAC3B,IAAM,EAAN,EAAQC,UAAeC,EAAvB,EAAuBA,OACjBC,EAAU,aAAaC,KAA7B,GAEA,WACE,IAAK,QAAQA,KAAb,GACE,uBACF,IAAK,QAAQA,KAAb,GACE,aACF,KAAKD,GAAW,SAASC,KAAzB,GACE,aACF,IAAK,SAASA,KAAKC,IAAO,aAAaD,KAAvC,GACE,eACF,IAAK,qBAAqBA,KAA1B,GACE,gBACF,OACE,aACF,IAAK,eAAeA,KAApB,GACE,WACF,IAAK,SAASA,KAAKJ,EAAd,YAAsC,iBAAiBI,KAA5D,GACE,eACF,IAAK,cAAcA,KAAnB,GACE,eACF,QACE,aAgDGE,CAAoBX,OAApBW,aAAP,GC3D8B,EFelB,kBAAMC,YAAiBnI,EAAnC,UEfK,EFiBgB,cEjBhB,EFiBgCwF,YACnC,GAAKmC,GAAL,GACA,IAAMvH,EAASoF,EAAf,OAGM4C,GADG,MAAGC,EAAH,EAAe,CAAxB,IACsB,MAAUC,YAC9B,IAAMC,EAAKC,eAA4BF,EAA5BE,QAAX,EACA,OAAOC,YAASF,EAAhB,OAGGG,YAAD,IAAJ,IACElD,mBACA1D,kBEvBG6G,YACLtB,EADqB,GAErBjB,EAAwBI,EAFH,gBAEYoC,GAFZ,EAAvB,G,+BCHIC,EAAwC,CAC5CC,eAD4C,EAE5CC,aAAa,G,gQCAf,IAAMC,EAAU,QAAVA,GAEG,QAsGF,SAASC,GAAW5H,QAA6B,IAA7BA,MAAyB,IAClD,YACE6H,mBADF,aAEEC,kBAFF,SAAM,EAAN,EAAM,kBAAN,EAAM,GAAN,IAKEC,0BALF,aAMEC,iBANF,SAAM,EAAN,EAAM,YAAN,EAAM,iBAAN,IASEC,eATF,MASYN,EATZ,MAUEO,iBAVF,MAAM,IAAN,MAWEC,kBAXF,MAAM,IAAN,EAAM,EAAN,EAAM,OAAN,IAaEC,oBAbF,MAAM,UAAN,EAcEC,EAdF,EAcEA,uBAdF,E,oIAAA,4MAkBA,EAA8CC,YAA9C,GAAM,EAAN,EAAM,SAAN,EAAM,UAAN,EAAM,OAA2BC,EAAjC,EAAiCA,SAE3BC,EAAaC,iBAAnB,MACMC,EAAaD,iBAAnB,MAEME,GAAgBF,kBAAtB,GAEMG,GAAgBH,kBAAtB,GACA,IACEG,eAGF,OAAkCC,oBAAlC,wBAAM,GAAN,MAAM,GAAN,MACA,GAA8BA,oBAA9B,wBAAM,GAAN,MAAM,GAAN,MAEA,GAAiDC,YAAO,EAAD,qDAAvD,qCAAM,GAAN,MAAM,GAAN,MAAM,GAAN,MAAM,GAAN,MAQA,GAMIC,YAAU,EAAD,MAEX1C,QAAS5C,KAAY4E,KARjB,GAAN,GAAM,gBAAN,GAAM,iBAAN,GAAM,kBAAN,GAAM,mBAKJW,GALF,GAKEA,YAMF7C,EAAsB,CACpBE,QADoB,EAEpB1H,IAAK6J,IAGPS,YAAeP,EAAY,CACzBQ,SADyB,EAEzBC,QAFyB,EAGzBzB,YAAaK,GAAsBE,IAAYN,IDlK5C,mBAGL,IADAyB,MAAU5B,GAEV,QAAM,EAAN,EAAM,WAAN,EAAM,gBAAN,EAAM,YAAwC2B,EAA9C,EAA8CA,QACxCE,EAAUlC,eAAsBpI,EAAtBoI,QAAhB,EAEMa,EAAYN,GAAlB,EAEM4B,EAAUC,uBAAY,WAC1B,GAAKF,GAAL,IAEIjC,YAASiC,EAASG,SAAtB,eAEA,SAAIN,KAAJ,QACEzI,YAAMyI,EAAD,QAAmB,CAAEzB,gBAAegC,UAAU,QAC9C,CACL,IAAMC,EAAcC,YAApB,GACID,SAAJ,GACEjJ,YAAMiJ,EAAD,GAAiB,CAAEjC,gBAAegC,UAAU,OAGpD,CAACzB,EAAWP,EAAe4B,EAb9B,IAeAO,aAAgB,WACdN,MACC,CAFHM,IAIAtC,YAAiB,gBAAiBgC,EAAlChC,GCyIAuC,CAAenB,EAAY,CACzBQ,SADyB,EAEzBC,QAFyB,EAGzBzB,YAAaM,GAAaC,IAAYN,IAGxC,IAAMmC,GAAuBC,YAAsB,CACjDC,gBAAiBpB,GADgC,QAEjDqB,SACA7B,eACA8B,WAAYzG,IAGR0G,GAA8BZ,uBAClC,cAA6B,eAA5BvJ,MAAQ,SAAoB,IAAhBoK,MAAO,MAClB,IAAMC,EAA0B,EAAH,MAE3BC,MAAO,EAAF,GACAtK,EADA,UAEHuK,gBAAiBC,oBAFd,sBAGFA,cAAD,IAA+BC,EAAYC,YAAH,QAHrC,iBAIFF,qBAAD,IAAsCG,GAJnC,IAMLhM,IAAK+C,YAAUgH,EARY,GAS3BkC,SAAUd,GAAuB9J,EAAH,SATH,KAU3B6K,GAV2B,GAW3BC,UAX2B,EAY3BnJ,KAZ2B,SAa3BoJ,UAAWC,YAAgBhL,EAAD,WAAmBmE,YACvC2D,GAAJ,WAAkB3D,OAChB8G,OAGJC,OAAQF,YAAgBhL,EAAD,QAAgBmE,YACrC,IAAMgH,EAAgBC,YAAtB,GACMC,EAAkBjE,YAASsB,EAAD,QAAhC,GACM4C,EAAkBlE,YAASoB,EAAD,QAAhC,GAGI/E,QAFiB4H,IAArB,IAGEJ,OAGJ,kBAAmBM,GAAYC,QA5BJ,EA6B3B,mBAAoBC,GAAUC,QAAS1K,IAczC,OAXIiH,IAAYN,KACd0C,iBACAA,eAA4BW,YAAgBhL,EAAD,cAAqB,WAC9D2I,iBAEF0B,eAA4BW,YAAgBhL,EAAD,cAAqB,WAC9D2I,cACAgD,WAAWV,EAAXU,OAIJ,IAEF,CAAC,GAAD,6BA/CF,IAiEMC,GAAwCrC,uBAC5C,8BAACvJ,MAAD,aAAayB,MAAb,MACEoK,GAAe,EAAD,MAGVvB,MAAO,EAAF,CACHpH,WAAYO,EAAS,UAAY,UAC9BzD,EAFA,SAJX,KAWA,CAACyD,EAZH,KAeMqI,GAAcrD,mBACdsD,GAAetD,mBAEfuD,GAA8BzC,uBAClC,mBAA6B,IAA5BvJ,MAAQ,SAAoB,IAAhBoK,MAAO,MAClB,IAAM6B,EAA0B,EAAH,MAE3BtN,IAAK+C,YAAU8G,EAAY4B,EAFA,IAG3BS,GAH2B,GAI3B,gBAJ2B,SAK3B,gBAL2B,EAM3B,gBAAiBqB,KAgDnB,OA7CIjE,IAAYN,IACdsE,UAAuBjB,YAAgBhL,EAAD,QAAtCiM,IAGEhE,IAAYN,KAOdsE,UAAuBjB,YAAgBhL,EAAD,QAAtCiM,GACAA,SAAsBjB,YAAgBhL,EAAD,OAArCiM,GAMAA,YAAyBjB,YAAgBhL,EAAD,WAAmBmE,YACzD,WAAIA,OACF8G,OAIJgB,eAA4BjB,YAAgBhL,EAAD,cAAqB,WAC9D2I,cACAmD,WAAsB5F,oBAAtB4F,MAGFG,eAA4BjB,YAAgBhL,EAAD,cAAqB,WAC9D2I,cAEImD,GAAJ,UACEK,aAAaL,GAAbK,SACAL,mBAGFC,WAAuB7F,OAAA,YAAkB,YACvC,IAAIyC,YACFsC,MAFJc,OAQJ,IAEF,CAAC,GAAD,kBA1DF,IAwEAK,qBAAU,WACR,OAAO,WACDN,GAAJ,SACEK,aAAaL,GAAbK,SAEEJ,GAAJ,SACEI,aAAaJ,GAAbI,YANNC,IAWA,IAAMC,GAA6B9C,uBACjC,8BAACvJ,MAAD,aAAarB,MAAb,cAEEkM,GAFF,GAGElM,IAAK+C,YAAU/C,GAAM2N,YACnBC,eAGJ,CARF,KAWMC,GAA2BjD,uBAC/B,8BAACvJ,MAAD,aAAarB,MAAb,cAEEkM,GAFF,GAGElM,IAAK+C,YAAU/C,GAAM2N,YACnBG,eAGJ,CARF,KAWA,MAAO,CACLzD,eACAvF,SACAwH,UACAyB,iBACAC,sBACAf,6BACAzB,mBACA6B,mBACAK,kBACAG,iB,0VCzWG,IAAMI,GAAmC5M,YAC9C,IAAM6M,EAASC,YAAoB,UAAnC,GAEA,EAA8BC,YAA9B,GAAQnC,EAAR,EAAQA,SAEFoC,EAAUpF,GAAW,GAAD,GAF1B,mBAE0B,CAAYqF,UADxBC,cACyCD,aAEvD,OACE,mBAAiB/M,MAAO8M,GACtB,qBAAgB9M,MAAO2M,GACpBM,YAAQvC,EAAU,CACjBnH,OAAQuJ,EADS,OAEjB/B,QAAS+B,EAFQ,QAGjBhE,YAAagE,EAAQhE,iBAO3B,EAAJ,IACE4D,0BAOK,IAAMQ,GAA4BpN,YAEvC,IAAMqN,EAAahN,gBAAoBL,EAAvC,UACQgM,EAAoBtI,IAApBsI,gBACR,OAAO3L,iBAA0B2L,EAAgBqB,EAAD,MAAcA,EAA9D,OAGE,EAAJ,IACED,iCAOK,IAAME,GAAiB7O,aAC5B,cACQ,IAAE8O,EAAR,EAAQA,UAAR,sBAEA,EAAuD7J,IAAjD,EAAN,EAAM,gBAAmBkI,EAAzB,EAAyBA,0BAEnBiB,EAASW,cACTC,EAAmC,GAAH,CACpCxO,SADoC,WAEpCG,QAFoC,OAGpCsO,cAAe,UACZb,EAJL,SAOA,OACE,gBAAC,IAAD,UACMjB,EADN,IAEE5M,MAAO6N,EAFT,OAGEnO,UAAU,2BAEV,wBACMyL,EAAgBwD,EADtB,IAEEjP,UAAWE,YAAG,0BAA2BoB,EAF3C,WAGEhB,MAAOyO,SAOb,EAAJ,IACEH,iCASK,IAAMM,GAAgBnP,aAC3B,cACE,IAAQ4N,EAAmB3I,IAAnB2I,eAEFQ,EAASW,cAEf,OACE,gBAAC,IAAD,aACMnB,EAAerM,EADrB,IAEEtB,UAAWE,YAAG,yBAA0BoB,EAF1C,WAGEhB,MAAO6N,EAAOgB,aAMlB,EAAJ,IACED,gCASK,IAAME,GAAcrP,aAAoC,cAC7D,IAAQ+N,EAAiB9I,IAAjB8I,aAEFK,EAASW,cAEf,OACE,gBAAC,IAAD,UACMhB,EAAaxM,EADnB,IAEEtB,UAAWE,YAAG,uBAAwBoB,EAFxC,WAGEhB,MAAO6N,EAAOkB,WAKhB,EAAJ,IACED,8BAeE,EAAJ,EAMO,IAAME,GAAkDhO,YAC7D,IAAQiL,EAAYvH,IAAZuH,QACR,OACE,wBACE5I,KADF,KAEE4L,QAFF,EAGEhP,SAHF,WAIEiP,aAJF,KAKE7O,IALF,UAME8O,SANF,SAOEC,QAAQ,UARZ,KAcE,EAAJ,IACEJ,qCAKK,IAAMK,GAA6CrO,YAAU,MAC5D,EAAN,EAAM,KAAN,EAAM,QAAesO,EAArB,EAAqBA,gBACrB,EAA8C5K,IAAxC,EAAN,EAAM,cAAiBiJ,EAAvB,EAAuBA,mBACjBE,EAASW,cACTe,EAAO,eAAGC,EAAH,OAAb,EACA,OACE,gBAAC,IAAD,UACM9B,IADN,CAEEhO,UAAU,qCAEV,gBAAC,IAAD,QACEA,UAAWE,YAAG,wBAAyBoB,EAA1B,YACT2M,EAFN,IAGE3N,MAAK,MACA6N,EADA,OAEH,oBAAqB0B,EAAO,wBAExBvN,SAOV,EAAJ,IACEqN,gC,iCCtOF,8CAEaI,EAAe7O,YAAW,CACrCC,EADqC,qNAGrCC,YAAa,kB,0aC2ER,SAAS4O,EAAS1O,QAA2B,IAA3BA,MAAuB,IAC9C,QAAM,EAAN,EAAM,iBAAN,IAEE2O,sBAFF,MAAM,EAAN,EAAM,EAAN,EAGEC,UAHI,EAAN,EAAM,cAAN,EAKE9M,WALI,EAAN,EAME+M,WANI,EAAN,EAOEC,WAPI,EAAN,EAAM,WAAN,EASEC,UATI,EAAN,EAAM,OAAN,EAAM,QAAN,EAYElE,GACmBmE,EAbrB,EAaE,mBAbF,E,oIAAA,wKAiBMC,EAAOlO,iBAAMC,EAAnB,SAEMkO,EAAcC,cACd/M,EAAQgN,cAKVvE,IAFJ,OAD2B,KAA3B,GAGsDqE,EAA7CG,GAAT,EACAxE,EAAE,MAAGyE,EAAH,EAAFzE,EAEA,IAAM/I,EAAU,MAAGyN,EAAH,QAAqBL,OAArB,EAAqBA,EAArC,WACML,EAAU,MAAGW,EAAH,QAAqBN,OAArB,EAAqBA,EAArC,WACMJ,EAAU,MAAGW,EAAH,QAAqBP,OAArB,EAAqBA,EAArC,WACMH,EAAS,MAAGW,EAAH,QAAoBR,OAApB,EAAoBA,EAAnC,UAEA,EAAgCS,cAAhC,mBAAM,EAAN,KAAM,EAAN,KACA,EAAiCA,cAAjC,mBAAM,EAAN,KAAM,EAAN,KACA,EAA8BA,cAA9B,mBAAM,EAAN,KAAM,EAAN,KAEMhR,EAAM8J,iBAAZ,MAEA,EAAqCI,mBAAS+G,QAA9C,uBAAM,EAAN,KAAM,GAAN,KAEA,GAAkCrP,YAAoB,EAAtD,wBAAM,GAAN,MAAM,GAAN,MAKAsP,YAAK,CACHC,YADG,EAEHC,QACE,0LAIJ,IAAMC,GAAezG,uBAClBpF,YACK0K,GAAJ,EACE1K,oBAIF,IACE8L,GAAW9L,SAAX8L,SAGFhQ,iBAEF,CAACiQ,GAAcpO,EAAY+M,EAb7B,IAgBM9D,GAAYxB,uBACfpF,YACC,MAAIA,OACFgM,SAGJ,CANF,IASMC,GAAU7G,uBACbpF,YACC,MAAIA,OACFgM,UAGJ,CANF,IASME,GAA+B9G,uBACnC,8BAACvJ,MAAD,aAAarB,MAAb,cAEEA,MACA,cAAe2R,YAHjB,GAIE,aAAcA,YAJhB,GAKE,gBAAiBA,YALnB,GAME,eAAgBA,YANlB,GAOE,eAAgBA,YAPlB,IAQE,aAAcA,YARhB,GASE,gBAAiBA,YATnB,GAUE,eAVF,EAWEC,YAAavF,YAAgBhL,EAAD,YAAoBmQ,EAXlD,IAYEK,UAAWxF,YAAgBhL,EAAD,UAAkBmQ,EAZ9C,KAaEM,aAAczF,YAAgBhL,EAAD,aAAqB0Q,EAbpD,IAcEC,aAAc3F,YAAgBhL,EAAD,aAAqB0Q,EAArB,SAE/B,CAAC,EAAD,aAQEP,EARF,GASEA,EATF,IAUEO,EAVF,GAWEA,EA5BJ,MAgCA,GAAM,MAAsBxB,EAAtB,EAAN,GAAM,GAAN,GAAM,QAAWhE,GAAjB,GAAiBA,OAEX0F,GAA8CrH,uBAClD,mBAAqC,IAApCvJ,MAAQ,SAA4B,IAAxByB,MAAe,MAC1B,IAAMoP,EAAgB/O,IAAtB,EAEA,eAEE+I,KACAlM,IAAK+C,YAAUD,EAHjB,GAIEqP,KAJF,QAKE3Q,OACAD,QACAD,SAAU+K,YAAgBhL,EAAD,SAP3B,IAQEkL,OAAQF,YAAgBE,GAAQlL,EAAT,OAAuB+Q,EARhD,KASEzH,QAAS0B,YAAgB1B,GAAStJ,EAAV,QAAyB+Q,EATnD,IAUEhG,UAAWC,YAAgBhL,EAAD,UAV5B,IAWEoQ,QAASpF,YAAgBhL,EAAD,QAX1B,IAYEgR,QAZF,GAaEC,SAbF,EAcEC,SAdF,EAeEC,SAfF,EAgBE,eAAgBC,YAhBlB,GAiBE,gBAAiBA,YAjBnB,GAkBE,gBAAiBA,YAlBnB,GAmBE,gBAAiBA,YAnBnB,GAoBE9G,MAAO+G,QAGX,CAAC,EAAD,gCA3BF,IAgEA,MAAO,CACLC,MAAO,CACLvC,YACAwC,YACA3C,aACA4C,WACAC,YACA3P,aACA+M,aACAC,cAEFuB,oBACAO,iBACAc,cA/BgC,SAAC1R,EAAD,mBAACA,MAAD,aAAarB,MAAb,cAEhCA,MACA4R,YAAavF,YAAgBhL,EAAD,YAHI,GAIhC2R,aAAc3G,YAAgBhL,EAAD,aAJG,GAKhC,gBAAiBsQ,YALe,GAMhC,eAAgBA,YANgB,IAOhC,eAAgBA,YAASvB,MAyBzBvN,aAtB+B,SAACoQ,EAAMjT,GAAP,gBAAOA,MAAP,cAE/BA,MACA,gBAAiB2R,YAHc,GAI/B,eAAgBA,YAJe,IAK/B,eAAgBA,YAASvB,MAkBzB/M,aAOJ,SAAS6P,EAAK1N,GACZA,mBACAA,oB,gNCrPK,IAAM2N,EAAQrT,aAAgC,cAAgB,MAC7D2D,EAAQgN,cACR,EAAN,EAAQnP,SAA+BO,EAAvC,EAAgCN,MAE1B2M,EAASC,YAAoB,QAAS,EAAV,KAAlC,IAEMiF,EAAWhF,YAAjB,GAEA,IACEiF,eADF,MAAM,SAAN,EAAM,EAAN,EAAM,WAAN,EAAM,YAAN,IAIElQ,kBAJF,MAIY,MAAGM,OAAH,EAAGA,EAJT,WAAN,MAKEL,mBALF,MAKa,MAAGK,OAAH,EAAGA,EAAOL,YALvB,I,oIAAA,oEASI6M,EAAY5O,EAAhB,UACI,aAAAoC,OAAA,EAAAA,EAAA,QAAJ,MAA4B5B,IAC1BoO,EAAYxM,UAAZwM,GAGF,IAAI3O,EAAJ,EACImC,qBAAJ,MAAuB5B,IACrBP,EAAWgS,YAAQ7P,EAAD,SAAlBnC,IAGF,IAEA,EAMIyO,EAAS,EAAD,MAEVE,YACA7M,cACAD,aACA7B,WACAE,KAdQ,eAAGH,OAAH,EAAGA,EAAH,cAAkBoC,OAAlB,EAAkBA,EAA5B,QAEM,EAAN,EAAM,gBAAN,EAAM,mBAAN,EAAM,gBAAN,EAAM,aAKJJ,EALF,EAKEA,UAUF,EAAkCkQ,YAAMlQ,EAAxC,sCAAM,EAAN,KAEMmQ,EAAgB9B,EAFtB,MAGM+B,EAAaxB,EAAc,GAAjC,GACMyB,EAAaX,IACbnE,EAAY+E,gBAA2B9Q,KAEvC+Q,EAAa,EAAH,CACd/S,MAAOgT,EAAc,YADP,EAEdpT,QAFc,cAGdqT,WAHc,SAIdC,cAAe,OACZ7F,EALL,WAQM8F,EAAiB,EAAH,CAClBvT,QADkB,cAElBqT,WAFkB,SAGlBG,eAHkB,SAIlBC,WAAY,GACThG,EALL,SAQMiG,EAAiC,EAAH,CAClCC,WADkC,OAElCC,YAAahB,GACVnF,EAHL,OAMA,OACE,gBAAC,IAAD,SAAcnO,UAAU,gBAAxB,GAAsDM,MAAOuT,IAC3D,2BAAO7T,UAAU,uBADnB,IAEE,gBAAC,IAAD,QACEA,UAAU,yBADZ,GAGEM,MAAO2T,KAER/H,GACC,gBAAC,IAAD,QACElM,UAAU,uBADZ,GAGEM,MAAO8T,IAZf,OAqBE,EAAJ,IACEhB,wB,+BC5IF","file":"static/js/10.48221095.chunk.js","sourcesContent":["import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">((props, ref) => {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n})\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">((props, ref) => {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\n )\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronRightIcon = createIcon({\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\",\n displayName: \"ChevronRightIcon\",\n})\n","import { useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { StringOrNumber, isInputEvent } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\n\ntype EventOrValue = React.ChangeEvent<HTMLInputElement> | StringOrNumber\n\nexport interface UseRadioGroupProps {\n /**\n * The value of the radio to be `checked`\n * (in controlled mode)\n */\n value?: StringOrNumber\n /**\n * The value of the radio to be `checked`\n * initially (in uncontrolled mode)\n */\n defaultValue?: StringOrNumber\n /**\n * Function called once a radio is checked\n * @param nextValue the value of the checked radio\n */\n onChange?(nextValue: string): void\n /**\n * If `true`, all wrapped radio inputs will be disabled\n */\n isDisabled?: boolean\n\n /**\n * If `true` and `isDisabled` is true, all wrapped radio inputs will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * The `name` attribute forwarded to each `radio` element\n */\n name?: string\n /**\n * If `true`, input elements will receive\n * `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs\n */\n isNative?: boolean\n}\n\ntype RadioPropGetter = PropGetter<\n HTMLInputElement,\n { onChange?: (e: EventOrValue) => void; value?: StringOrNumber } & Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"onChange\" | \"size\" | \"value\"\n >\n>\n\n/**\n * React hook to manage a group of radio inputs\n */\nexport function useRadioGroup(props: UseRadioGroupProps = {}) {\n const {\n onChange: onChangeProp,\n value: valueProp,\n defaultValue,\n name: nameProp,\n isDisabled,\n isFocusable,\n isNative,\n ...htmlProps\n } = props\n\n const [valueState, setValue] = React.useState<StringOrNumber>(\n defaultValue || \"\",\n )\n const [isControlled, value] = useControllableProp(valueProp, valueState)\n\n const ref = React.useRef<any>(null)\n\n const focus = React.useCallback(() => {\n const rootNode = ref.current\n if (!rootNode) return\n\n let query = `input:not(:disabled):checked`\n\n const firstEnabledAndCheckedInput = rootNode.querySelector(\n query,\n ) as HTMLElement\n\n if (firstEnabledAndCheckedInput) {\n firstEnabledAndCheckedInput.focus()\n return\n }\n\n query = `input:not(:disabled)`\n\n const firstEnabledInput = rootNode.querySelector(query) as HTMLElement\n firstEnabledInput?.focus()\n }, [])\n\n /**\n * All radio options must use the same name\n */\n const fallbackName = useId(undefined, `radio`)\n const name = nameProp || fallbackName\n\n const onChange = React.useCallback(\n (eventOrValue: EventOrValue) => {\n const nextValue = isInputEvent(eventOrValue)\n ? eventOrValue.target.value\n : eventOrValue\n\n if (!isControlled) {\n setValue(nextValue)\n }\n\n onChangeProp?.(String(nextValue))\n },\n [onChangeProp, isControlled],\n )\n\n const getRootProps: PropGetter = React.useCallback(\n (props = {}, forwardedRef = null) => ({\n ...props,\n ref: mergeRefs(forwardedRef, ref),\n role: \"radiogroup\",\n }),\n [],\n )\n\n const getRadioProps: RadioPropGetter = React.useCallback(\n (props = {}, ref = null) => {\n const checkedKey = isNative ? \"checked\" : \"isChecked\"\n return {\n ...props,\n ref,\n name,\n [checkedKey]: value != null ? props.value === value : undefined,\n onChange,\n \"data-radiogroup\": true,\n }\n },\n [isNative, name, onChange, value],\n )\n\n return {\n getRootProps,\n getRadioProps,\n name,\n ref,\n focus,\n setValue,\n value,\n onChange,\n isDisabled,\n isFocusable,\n htmlProps,\n }\n}\n\nexport type UseRadioGroupReturn = ReturnType<typeof useRadioGroup>\n","import {\n chakra,\n forwardRef,\n ThemingProps,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { cx, __DEV__ } from \"@chakra-ui/utils\"\nimport { createContext } from \"@chakra-ui/react-utils\"\nimport * as React from \"react\"\nimport {\n useRadioGroup,\n UseRadioGroupProps,\n UseRadioGroupReturn,\n} from \"./use-radio-group\"\n\nexport interface RadioGroupContext\n extends Pick<\n UseRadioGroupReturn,\n \"onChange\" | \"value\" | \"name\" | \"isDisabled\" | \"isFocusable\"\n >,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {}\n\nconst [\n RadioGroupProvider,\n useRadioGroupContext,\n] = createContext<RadioGroupContext>({\n name: \"RadioGroupContext\",\n strict: false,\n})\n\nexport { useRadioGroupContext }\n\ntype Omitted =\n | \"onChange\"\n | \"value\"\n | \"defaultValue\"\n | \"defaultChecked\"\n | \"children\"\nexport interface RadioGroupProps\n extends UseRadioGroupProps,\n Omit<HTMLChakraProps<\"div\">, Omitted>,\n Omit<ThemingProps<\"Radio\">, \"orientation\"> {\n children: React.ReactNode\n}\n\n/**\n * Used for multiple radios which are bound in one group,\n * and it indicates which option is selected.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, \"div\">((props, ref) => {\n const {\n colorScheme,\n size,\n variant,\n children,\n className,\n isDisabled,\n isFocusable,\n ...rest\n } = props\n\n const { value, onChange, getRootProps, name, htmlProps } = useRadioGroup(rest)\n\n const group = React.useMemo(\n () => ({\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n }),\n [\n name,\n size,\n onChange,\n colorScheme,\n value,\n variant,\n isDisabled,\n isFocusable,\n ],\n )\n\n const groupProps = getRootProps(htmlProps, ref)\n const _className = cx(\"chakra-radio-group\", className)\n\n return (\n <RadioGroupProvider value={group}>\n <chakra.div {...groupProps} className={_className}>\n {children}\n </chakra.div>\n </RadioGroupProvider>\n )\n})\n\nif (__DEV__) {\n RadioGroup.displayName = \"RadioGroup\"\n}\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronLeftIcon = createIcon({\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\",\n displayName: \"ChevronLeftIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const DownloadIcon = createIcon({\n d:\n \"M11.2857,6.05714 L10.08571,4.85714 L7.85714,7.14786 L7.85714,1 L6.14286,1 L6.14286,7.14786 L3.91429,4.85714 L2.71429,6.05714 L7,10.42857 L11.2857,6.05714 Z M1,11.2857 L1,13 L13,13 L13,11.2857 L1,11.2857 Z\",\n displayName: \"DownloadIcon\",\n viewBox: \"0 0 14 14\",\n})\n","import { createContext } from \"@chakra-ui/react-utils\"\nimport { UsePopoverReturn } from \"./use-popover\"\n\nexport const [\n PopoverProvider,\n usePopoverContext,\n] = createContext<UsePopoverReturn>({\n name: \"PopoverContext\",\n errorMessage:\n \"usePopoverContext: `context` is undefined. Seems you forgot to wrap all popover components within `<Popover />`\",\n})\n","import { chakra, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { HTMLMotionProps, motion, Variant } from \"framer-motion\"\nimport { mergeWith } from \"@chakra-ui/utils\"\nimport React from \"react\"\nimport { usePopoverContext } from \"./popover-context\"\n\n// TODO: consider moving this to some util\ntype HTMLMotionChakraProps<T extends keyof React.ReactHTML> = Omit<\n HTMLChakraProps<T>,\n keyof HTMLMotionProps<T>\n> &\n Omit<\n HTMLMotionProps<T>,\n | \"style\"\n | \"onDrag\"\n | \"onDragEnd\"\n | \"onDragStart\"\n | \"onAnimationStart\"\n | \"variants\"\n > & {\n variants?: MotionVariants\n }\n\ntype MotionVariants = Partial<Record<\"enter\" | \"exit\", Variant>>\n\nconst mergeVariants = (variants?: MotionVariants) => {\n if (!variants) return\n return mergeWith(variants, {\n enter: {\n visibility: \"visible\",\n },\n exit: {\n transitionEnd: {\n visibility: \"hidden\",\n },\n },\n })\n}\n\nconst scaleFade: MotionVariants = {\n exit: {\n opacity: 0,\n scale: 0.95,\n transition: {\n duration: 0.1,\n ease: [0.4, 0, 1, 1],\n },\n },\n enter: {\n scale: 1,\n opacity: 1,\n transition: {\n duration: 0.15,\n ease: [0, 0, 0.2, 1],\n },\n },\n}\n\nconst Section = motion(chakra.section)\n\nexport interface PopoverTransitionProps\n extends HTMLMotionChakraProps<\"section\"> {}\n\nexport const PopoverTransition = React.forwardRef(\n (props: HTMLMotionChakraProps<\"section\">, ref: React.Ref<any>) => {\n const { isOpen } = usePopoverContext()\n return (\n <Section\n ref={ref}\n variants={mergeVariants(props.variants)}\n {...props}\n initial={false}\n animate={isOpen ? \"enter\" : \"exit\"}\n />\n )\n },\n)\n\nPopoverTransition.defaultProps = {\n variants: scaleFade,\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport { addDomEvent, getEventWindow, isBrowser } from \"./dom\"\n\nexport type AnyPointerEvent = MouseEvent | TouchEvent | PointerEvent\n\ntype PointType = \"page\" | \"client\"\n\nexport function isMouseEvent(event: AnyPointerEvent): event is MouseEvent {\n const win = getEventWindow(event)\n\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (\n typeof win.PointerEvent !== \"undefined\" &&\n event instanceof win.PointerEvent\n ) {\n return !!(event.pointerType === \"mouse\")\n }\n\n return event instanceof win.MouseEvent\n}\n\nexport function isTouchEvent(event: AnyPointerEvent): event is TouchEvent {\n const hasTouches = !!(event as TouchEvent).touches\n return hasTouches\n}\n\nexport interface Point {\n x: number\n y: number\n}\n\nexport interface PointerEventInfo {\n point: Point\n}\n\nexport type EventHandler = (\n event: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler: EventListener): EventListener {\n return (event: Event) => {\n const win = getEventWindow(event)\n const isMouseEvent = event instanceof win.MouseEvent\n const isPrimaryPointer =\n !isMouseEvent || (isMouseEvent && (event as MouseEvent).button === 0)\n if (isPrimaryPointer) {\n eventHandler(event)\n }\n }\n}\n\nexport type EventListenerWithPointInfo = (\n e: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\nconst defaultPagePoint = { pageX: 0, pageY: 0 }\n\nfunction pointFromTouch(e: TouchEvent, pointType: PointType = \"page\") {\n const primaryTouch = e.touches[0] || e.changedTouches[0]\n const point = primaryTouch || defaultPagePoint\n\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nfunction pointFromMouse(\n point: MouseEvent | PointerEvent,\n pointType: PointType = \"page\",\n) {\n return {\n x: point[`${pointType}X`],\n y: point[`${pointType}Y`],\n }\n}\n\nexport function extractEventInfo(\n event: AnyPointerEvent,\n pointType: PointType = \"page\",\n): PointerEventInfo {\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n }\n}\n\nexport function getViewportPointFromEvent(event: AnyPointerEvent) {\n return extractEventInfo(event, \"client\")\n}\n\nexport const wrapPointerEventHandler = (\n handler: EventListenerWithPointInfo,\n shouldFilterPrimaryPointer = false,\n): EventListener => {\n const listener: EventListener = (event: any) =>\n handler(event, extractEventInfo(event))\n\n return shouldFilterPrimaryPointer ? filterPrimaryPointer(listener) : listener\n}\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nconst supportsPointerEvents = () => isBrowser && window.onpointerdown === null\nconst supportsTouchEvents = () => isBrowser && window.ontouchstart === null\nconst supportsMouseEvents = () => isBrowser && window.onmousedown === null\n\ninterface PointerNameMap {\n pointerdown: string\n pointermove: string\n pointerup: string\n pointercancel: string\n pointerover?: string\n pointerout?: string\n pointerenter?: string\n pointerleave?: string\n}\n\nconst mouseEventNames: PointerNameMap = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n}\n\nconst touchEventNames: PointerNameMap = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n}\n\nexport function getPointerEventName(name: string): string {\n if (supportsPointerEvents()) {\n return name\n }\n if (supportsTouchEvents()) {\n return touchEventNames[name]\n }\n if (supportsMouseEvents()) {\n return mouseEventNames[name]\n }\n\n return name\n}\n\nexport function addPointerEvent(\n target: EventTarget,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return addDomEvent(\n target,\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n options,\n )\n}\n\nexport function isMultiTouchEvent(event: AnyPointerEvent) {\n return isTouchEvent(event) && event.touches.length > 1\n}\n","import {\n contains,\n detectBrowser,\n focus,\n getOwnerDocument,\n isActiveElement,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport { RefObject } from \"react\"\nimport { usePointerEvent } from \"./use-pointer-event\"\n\nexport interface UseFocusOnMouseDownProps {\n enabled?: boolean\n ref: RefObject<HTMLElement>\n elements?: Array<RefObject<HTMLElement> | HTMLElement | null>\n}\n\n/**\n * Polyfill to get `relatedTarget` working correctly consistently\n * across all browsers.\n *\n * It ensures that elements receives focus on pointer down if\n * it's not the active active element.\n *\n * @internal\n */\nexport function useFocusOnPointerDown(props: UseFocusOnMouseDownProps) {\n const { ref, elements, enabled } = props\n\n const isSafari = detectBrowser(\"Safari\")\n const doc = () => getOwnerDocument(ref.current)\n\n usePointerEvent(doc, \"pointerdown\", (event) => {\n if (!isSafari || !enabled) return\n const target = event.target as HTMLElement\n\n const els = elements ?? [ref]\n const isValidTarget = els.some((elementOrRef) => {\n const el = isRefObject(elementOrRef) ? elementOrRef.current : elementOrRef\n return contains(el, target)\n })\n\n if (!isActiveElement(target) && isValidTarget) {\n event.preventDefault()\n focus(target)\n }\n })\n}\n","import { isBrowser } from \"./dom\"\n\nfunction getUserAgentBrowser(navigator: Navigator) {\n const { userAgent: ua, vendor } = navigator\n const android = /(android)/i.test(ua)\n\n switch (true) {\n case /CriOS/.test(ua):\n return \"Chrome for iOS\"\n case /Edg\\//.test(ua):\n return \"Edge\"\n case android && /Silk\\//.test(ua):\n return \"Silk\"\n case /Chrome/.test(ua) && /Google Inc/.test(vendor):\n return \"Chrome\"\n case /Firefox\\/\\d+\\.\\d+$/.test(ua):\n return \"Firefox\"\n case android:\n return \"AOSP\"\n case /MSIE|Trident/.test(ua):\n return \"IE\"\n case /Safari/.test(navigator.userAgent) && /Apple Computer/.test(ua):\n return \"Safari\"\n case /AppleWebKit/.test(ua):\n return \"WebKit\"\n default:\n return null\n }\n}\n\nexport type UserAgentBrowser = NonNullable<\n ReturnType<typeof getUserAgentBrowser>\n>\n\nfunction getUserAgentOS(navigator: Navigator) {\n const { userAgent: ua, platform } = navigator\n switch (true) {\n case /Android/.test(ua):\n return \"Android\"\n case /iPhone|iPad|iPod/.test(platform):\n return \"iOS\"\n case /Win/.test(platform):\n return \"Windows\"\n case /Mac/.test(platform):\n return \"Mac\"\n case /CrOS/.test(ua):\n return \"Chrome OS\"\n case /Firefox/.test(ua):\n return \"Firefox OS\"\n default:\n return null\n }\n}\n\nexport type UserAgentOS = NonNullable<ReturnType<typeof getUserAgentOS>>\n\nexport function detectDeviceType(navigator: Navigator) {\n const { userAgent: ua } = navigator\n if (/(tablet)|(iPad)|(Nexus 9)/i.test(ua)) return \"tablet\"\n if (/(mobi)/i.test(ua)) return \"phone\"\n return \"desktop\"\n}\n\nexport type UserAgentDeviceType = NonNullable<\n ReturnType<typeof detectDeviceType>\n>\n\nexport function detectOS(os: UserAgentOS) {\n if (!isBrowser) return false\n return getUserAgentOS(window.navigator) === os\n}\n\nexport function detectBrowser(browser: UserAgentBrowser) {\n if (!isBrowser) return false\n return getUserAgentBrowser(window.navigator) === browser\n}\n\nexport function detectTouch() {\n if (!isBrowser) return false\n return (\n window.ontouchstart === null &&\n window.ontouchmove === null &&\n window.ontouchend === null\n )\n}\n","/**\n * Credit goes to `framer-motion` of this useful utilities.\n * License can be found here: https://github.com/framer/motion\n */\n\nimport {\n EventListenerWithPointInfo,\n getPointerEventName,\n wrapPointerEventHandler,\n} from \"@chakra-ui/utils\"\nimport { EventListenerEnv, useEventListener } from \"./use-event-listener\"\n\n/**\n * @internal\n */\nexport function usePointerEvent(\n env: EventListenerEnv,\n eventName: string,\n handler: EventListenerWithPointInfo,\n options?: AddEventListenerOptions,\n) {\n return useEventListener(\n getPointerEventName(eventName),\n wrapPointerEventHandler(handler, eventName === \"pointerdown\"),\n env,\n options,\n )\n}\n","import {\n contains,\n focus,\n FocusableElement,\n getAllFocusable,\n isRefObject,\n} from \"@chakra-ui/utils\"\nimport React, { useCallback } from \"react\"\nimport { useEventListener } from \"./use-event-listener\"\nimport { useUpdateEffect } from \"./use-update-effect\"\n\nexport interface UseFocusOnShowOptions {\n visible?: boolean\n shouldFocus?: boolean\n preventScroll?: boolean\n focusRef?: React.RefObject<FocusableElement>\n}\n\nconst defaultOptions: UseFocusOnShowOptions = {\n preventScroll: true,\n shouldFocus: false,\n}\n\nexport function useFocusOnShow<T extends HTMLElement>(\n target: React.RefObject<T> | T,\n options = defaultOptions,\n) {\n const { focusRef, preventScroll, shouldFocus, visible } = options\n const element = isRefObject(target) ? target.current : target\n\n const autoFocus = shouldFocus && visible\n\n const onFocus = useCallback(() => {\n if (!element || !autoFocus) return\n\n if (contains(element, document.activeElement as HTMLElement)) return\n\n if (focusRef?.current) {\n focus(focusRef.current, { preventScroll, nextTick: true })\n } else {\n const tabbableEls = getAllFocusable(element)\n if (tabbableEls.length > 0) {\n focus(tabbableEls[0], { preventScroll, nextTick: true })\n }\n }\n }, [autoFocus, preventScroll, element, focusRef])\n\n useUpdateEffect(() => {\n onFocus()\n }, [onFocus])\n\n useEventListener(\"transitionend\", onFocus, element)\n}\n","import {\n useDisclosure,\n useFocusOnHide,\n useFocusOnPointerDown,\n useFocusOnShow,\n useIds,\n} from \"@chakra-ui/hooks\"\nimport { popperCSSVars, usePopper, UsePopperProps } from \"@chakra-ui/popper\"\nimport { HTMLProps, mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport {\n callAllHandlers,\n contains,\n determineLazyBehavior,\n FocusableElement,\n getRelatedTarget,\n LazyBehavior,\n px,\n} from \"@chakra-ui/utils\"\nimport { RefObject, useCallback, useEffect, useRef, useState } from \"react\"\n\nconst TRIGGER = {\n click: \"click\",\n hover: \"hover\",\n} as const\n\nexport interface UsePopoverProps extends UsePopperProps {\n /**\n * The html `id` attribute of the popover.\n * If not provided, we generate a unique id.\n *\n * This `id` is also used to auto-generate the `aria-labelledby`\n * and `aria-decribedby` attributes that points to the `PopoverHeader` and `PopoverBody`\n */\n id?: string\n /**\n * If `true`, the popover will be opened in controlled mode.\n */\n isOpen?: boolean\n /**\n * If `true`, the popover will be initially opened.\n */\n defaultIsOpen?: boolean\n /**\n * The `ref` of the element that should receive focus when the popover opens.\n */\n initialFocusRef?: RefObject<FocusableElement>\n /**\n * If `true`, focus will be returned to the element that triggers the popover\n * when it closes\n */\n returnFocusOnClose?: boolean\n /**\n * If `true`, focus will be transferred to the first interactive element\n * when the popover opens\n */\n autoFocus?: boolean\n /**\n * If `true`, the popover will close when you blur out it by\n * clicking outside or tabbing out\n */\n closeOnBlur?: boolean\n /**\n * If `true`, the popover will close when you hit the `Esc` key\n */\n closeOnEsc?: boolean\n /**\n * Callback fired when the popover opens\n */\n onOpen?: () => void\n /**\n * Callback fired when the popover closes\n */\n onClose?: () => void\n /**\n * The size of the popover arrow\n */\n arrowSize?: number\n /**\n * The `box-shadow` of the popover arrow\n */\n arrowShadowColor?: string\n /**\n * The interaction that triggers the popover.\n *\n * `hover` - means the popover will open when you hover with mouse or\n * focus with keyboard on the popover trigger\n *\n * `click` - means the popover will open on click or\n * press `Enter` to `Space` on keyboard\n */\n trigger?: keyof typeof TRIGGER\n openDelay?: number\n closeDelay?: number\n /**\n * Performance 🚀:\n * If `true`, the PopoverContent rendering will be deferred\n * until the popover is open.\n */\n isLazy?: boolean\n /**\n * Performance 🚀:\n * The lazy behavior of popover's content when not visible.\n * Only works when `isLazy={true}`\n *\n * - \"unmount\": The popover's content is always unmounted when not open.\n * - \"keepMounted\": The popover's content initially unmounted,\n * but stays mounted when popover is open.\n *\n * @default \"unmount\"\n */\n lazyBehavior?: LazyBehavior\n /**\n * If `true`, the popover will be positioned when it mounts\n * (even if it's not open)\n *\n * Note 🚨: We don't recommend using this in a popover/menu intensive UI or page\n * as it might affect scrolling performance.\n */\n computePositionOnMount?: boolean\n}\n\n/**\n * @internal\n */\nexport function usePopover(props: UsePopoverProps = {}) {\n const {\n closeOnBlur = true,\n closeOnEsc = true,\n initialFocusRef,\n id,\n returnFocusOnClose = true,\n autoFocus = true,\n arrowSize,\n arrowShadowColor,\n trigger = TRIGGER.click,\n openDelay = 200,\n closeDelay = 200,\n isLazy,\n lazyBehavior = \"unmount\",\n computePositionOnMount,\n ...popperProps\n } = props\n\n const { isOpen, onClose, onOpen, onToggle } = useDisclosure(props)\n\n const triggerRef = useRef<HTMLElement>(null)\n const popoverRef = useRef<HTMLElement>(null)\n\n const isHoveringRef = useRef(false)\n\n const hasBeenOpened = useRef(false)\n if (isOpen) {\n hasBeenOpened.current = true\n }\n\n const [hasHeader, setHasHeader] = useState(false)\n const [hasBody, setHasBody] = useState(false)\n\n const [triggerId, popoverId, headerId, bodyId] = useIds(\n id,\n \"popover-trigger\",\n \"popover-content\",\n \"popover-header\",\n \"popover-body\",\n )\n\n const {\n referenceRef,\n getArrowProps,\n getPopperProps,\n getArrowInnerProps,\n forceUpdate,\n } = usePopper({\n ...popperProps,\n enabled: isOpen || !!computePositionOnMount,\n })\n\n useFocusOnPointerDown({\n enabled: isOpen,\n ref: triggerRef,\n })\n\n useFocusOnHide(popoverRef, {\n focusRef: triggerRef,\n visible: isOpen,\n shouldFocus: returnFocusOnClose && trigger === TRIGGER.click,\n })\n\n useFocusOnShow(popoverRef, {\n focusRef: initialFocusRef,\n visible: isOpen,\n shouldFocus: autoFocus && trigger === TRIGGER.click,\n })\n\n const shouldRenderChildren = determineLazyBehavior({\n hasBeenSelected: hasBeenOpened.current,\n isLazy,\n lazyBehavior,\n isSelected: isOpen,\n })\n\n const getPopoverProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const popoverProps: HTMLProps = {\n ...props,\n style: {\n ...props.style,\n transformOrigin: popperCSSVars.transformOrigin.varRef,\n [popperCSSVars.arrowSize.var]: arrowSize ? px(arrowSize) : undefined,\n [popperCSSVars.arrowShadowColor.var]: arrowShadowColor,\n },\n ref: mergeRefs(popoverRef, _ref),\n children: shouldRenderChildren ? props.children : null,\n id: popoverId,\n tabIndex: -1,\n role: \"dialog\",\n onKeyDown: callAllHandlers(props.onKeyDown, (event) => {\n if (closeOnEsc && event.key === \"Escape\") {\n onClose()\n }\n }),\n onBlur: callAllHandlers(props.onBlur, (event) => {\n const relatedTarget = getRelatedTarget(event)\n const targetIsPopover = contains(popoverRef.current, relatedTarget)\n const targetIsTrigger = contains(triggerRef.current, relatedTarget)\n const isValidBlur = !targetIsPopover && !targetIsTrigger\n\n if (isOpen && closeOnBlur && isValidBlur) {\n onClose()\n }\n }),\n \"aria-labelledby\": hasHeader ? headerId : undefined,\n \"aria-describedby\": hasBody ? bodyId : undefined,\n }\n\n if (trigger === TRIGGER.hover) {\n popoverProps.role = \"tooltip\"\n popoverProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n })\n popoverProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n setTimeout(onClose, closeDelay)\n })\n }\n\n return popoverProps\n },\n [\n shouldRenderChildren,\n popoverId,\n hasHeader,\n headerId,\n hasBody,\n bodyId,\n trigger,\n closeOnEsc,\n onClose,\n isOpen,\n closeOnBlur,\n closeDelay,\n arrowShadowColor,\n arrowSize,\n ],\n )\n\n const getPopoverPositionerProps: PropGetter = useCallback(\n (props = {}, forwardedRef = null) =>\n getPopperProps(\n {\n ...props,\n style: {\n visibility: isOpen ? \"visible\" : \"hidden\",\n ...props.style,\n },\n },\n forwardedRef,\n ),\n [isOpen, getPopperProps],\n )\n\n const openTimeout = useRef<number>()\n const closeTimeout = useRef<number>()\n\n const getTriggerProps: PropGetter = useCallback(\n (props = {}, _ref = null) => {\n const triggerProps: HTMLProps = {\n ...props,\n ref: mergeRefs(triggerRef, _ref, referenceRef),\n id: triggerId,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": isOpen,\n \"aria-controls\": popoverId,\n }\n\n if (trigger === TRIGGER.click) {\n triggerProps.onClick = callAllHandlers(props.onClick, onToggle)\n }\n\n if (trigger === TRIGGER.hover) {\n /**\n * Any content that shows on pointer hover should also show on keyboard focus.\n * Consider focus and blur to be the `hover` for keyboard users.\n *\n * @see https://www.w3.org/WAI/WCAG21/Understanding/content-on-hover-or-focus.html\n */\n triggerProps.onFocus = callAllHandlers(props.onFocus, onOpen)\n triggerProps.onBlur = callAllHandlers(props.onBlur, onClose)\n\n /**\n * Any content that shows on hover or focus must be dismissible.\n * This case pressing `Escape` will dismiss the popover\n */\n triggerProps.onKeyDown = callAllHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Escape\") {\n onClose()\n }\n })\n\n triggerProps.onMouseEnter = callAllHandlers(props.onMouseEnter, () => {\n isHoveringRef.current = true\n openTimeout.current = window.setTimeout(onOpen, openDelay)\n })\n\n triggerProps.onMouseLeave = callAllHandlers(props.onMouseLeave, () => {\n isHoveringRef.current = false\n\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n openTimeout.current = undefined\n }\n\n closeTimeout.current = window.setTimeout(() => {\n if (isHoveringRef.current === false) {\n onClose()\n }\n }, closeDelay)\n })\n }\n\n return triggerProps\n },\n [\n triggerId,\n isOpen,\n popoverId,\n trigger,\n referenceRef,\n onToggle,\n onOpen,\n onClose,\n openDelay,\n closeDelay,\n ],\n )\n\n useEffect(() => {\n return () => {\n if (openTimeout.current) {\n clearTimeout(openTimeout.current)\n }\n if (closeTimeout.current) {\n clearTimeout(closeTimeout.current)\n }\n }\n }, [])\n\n const getHeaderProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: headerId,\n ref: mergeRefs(ref, (node: HTMLElement | null) => {\n setHasHeader(!!node)\n }),\n }),\n [headerId],\n )\n\n const getBodyProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n id: bodyId,\n ref: mergeRefs(ref, (node) => {\n setHasBody(!!node)\n }),\n }),\n [bodyId],\n )\n\n return {\n forceUpdate,\n isOpen,\n onClose,\n getArrowProps,\n getArrowInnerProps,\n getPopoverPositionerProps,\n getPopoverProps,\n getTriggerProps,\n getHeaderProps,\n getBodyProps,\n }\n}\n\nexport type UsePopoverReturn = ReturnType<typeof usePopover>\n","import { CloseButton, CloseButtonProps } from \"@chakra-ui/close-button\"\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\"\nimport {\n chakra,\n forwardRef,\n HTMLChakraProps,\n omitThemingProps,\n StylesProvider,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n useStyles,\n useTheme,\n} from \"@chakra-ui/system\"\nimport { cx, runIfFn, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { PopoverProvider, usePopoverContext } from \"./popover-context\"\nimport { PopoverTransition, PopoverTransitionProps } from \"./popover-transition\"\nimport { usePopover, UsePopoverProps } from \"./use-popover\"\n\nexport { usePopoverContext }\n\nexport interface PopoverProps extends UsePopoverProps, ThemingProps<\"Popover\"> {\n /**\n * The content of the popover. It is usually the `PopoverTrigger`,\n * and `PopoverContent`\n */\n children?: MaybeRenderProp<{\n isOpen: boolean\n onClose: () => void\n forceUpdate: (() => void) | undefined\n }>\n}\n\n/**\n * Popover is used to bring attention to specific user interface elements,\n * typically to suggest an action or to guide users through a new experience.\n */\nexport const Popover: React.FC<PopoverProps> = (props) => {\n const styles = useMultiStyleConfig(\"Popover\", props)\n\n const { children, ...rest } = omitThemingProps(props)\n const theme = useTheme()\n const context = usePopover({ ...rest, direction: theme.direction })\n\n return (\n <PopoverProvider value={context}>\n <StylesProvider value={styles}>\n {runIfFn(children, {\n isOpen: context.isOpen,\n onClose: context.onClose,\n forceUpdate: context.forceUpdate,\n })}\n </StylesProvider>\n </PopoverProvider>\n )\n}\n\nif (__DEV__) {\n Popover.displayName = \"Popover\"\n}\n\n/**\n * PopoverTrigger opens the popover's content. It must be an interactive element\n * such as `button` or `a`.\n */\nexport const PopoverTrigger: React.FC = (props) => {\n // enforce a single child\n const child: any = React.Children.only(props.children)\n const { getTriggerProps } = usePopoverContext()\n return React.cloneElement(child, getTriggerProps(child.props, child.ref))\n}\n\nif (__DEV__) {\n PopoverTrigger.displayName = \"PopoverTrigger\"\n}\n\nexport interface PopoverContentProps extends PopoverTransitionProps {\n rootProps?: HTMLChakraProps<\"div\">\n}\n\nexport const PopoverContent = forwardRef<PopoverContentProps, \"section\">(\n (props, ref) => {\n const { rootProps, ...contentProps } = props\n\n const { getPopoverProps, getPopoverPositionerProps } = usePopoverContext()\n\n const styles = useStyles()\n const contentStyles: SystemStyleObject = {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n ...styles.content,\n }\n\n return (\n <chakra.div\n {...getPopoverPositionerProps(rootProps)}\n __css={styles.popper}\n className=\"chakra-popover__popper\"\n >\n <PopoverTransition\n {...getPopoverProps(contentProps, ref)}\n className={cx(\"chakra-popover__content\", props.className)}\n __css={contentStyles}\n />\n </chakra.div>\n )\n },\n)\n\nif (__DEV__) {\n PopoverContent.displayName = \"PopoverContent\"\n}\n\nexport interface PopoverHeaderProps extends HTMLChakraProps<\"header\"> {}\n\n/**\n * PopoverHeader is the accessible header or label\n * for the popover's content and it is first announced by screenreaders.\n */\nexport const PopoverHeader = forwardRef<PopoverHeaderProps, \"header\">(\n (props, ref) => {\n const { getHeaderProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.header\n {...getHeaderProps(props, ref)}\n className={cx(\"chakra-popover__header\", props.className)}\n __css={styles.header}\n />\n )\n },\n)\n\nif (__DEV__) {\n PopoverHeader.displayName = \"PopoverHeader\"\n}\n\nexport interface PopoverBodyProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * PopoverBody is the main content area for the popover. Should contain\n * at least one interactive element.\n */\nexport const PopoverBody = forwardRef<PopoverBodyProps, \"div\">((props, ref) => {\n const { getBodyProps } = usePopoverContext()\n\n const styles = useStyles()\n\n return (\n <chakra.div\n {...getBodyProps(props, ref)}\n className={cx(\"chakra-popover__body\", props.className)}\n __css={styles.body}\n />\n )\n})\n\nif (__DEV__) {\n PopoverBody.displayName = \"PopoverBody\"\n}\nexport interface PopoverFooterProps extends HTMLChakraProps<\"footer\"> {}\n\nexport const PopoverFooter: React.FC<PopoverFooterProps> = (props) => {\n const styles = useStyles()\n return (\n <chakra.footer\n {...props}\n className={cx(\"chakra-popover__footer\", props.className)}\n __css={styles.footer}\n />\n )\n}\n\nif (__DEV__) {\n PopoverFooter.displayName = \"PopoverFooter\"\n}\n\nexport type PopoverCloseButtonProps = CloseButtonProps\n\nexport const PopoverCloseButton: React.FC<CloseButtonProps> = (props) => {\n const { onClose } = usePopoverContext()\n return (\n <CloseButton\n size=\"sm\"\n onClick={onClose}\n position=\"absolute\"\n borderRadius=\"md\"\n top=\"0.25rem\"\n insetEnd=\"0.5rem\"\n padding=\"0.5rem\"\n {...props}\n />\n )\n}\n\nif (__DEV__) {\n PopoverCloseButton.displayName = \"PopoverCloseButton\"\n}\n\nexport interface PopoverArrowProps extends HTMLChakraProps<\"div\"> {}\n\nexport const PopoverArrow: React.FC<PopoverArrowProps> = (props) => {\n const { bg, bgColor, backgroundColor } = props\n const { getArrowProps, getArrowInnerProps } = usePopoverContext()\n const styles = useStyles()\n const arrowBg = bg ?? bgColor ?? backgroundColor\n return (\n <chakra.div\n {...getArrowProps()}\n className=\"chakra-popover__arrow-positioner\"\n >\n <chakra.div\n className={cx(\"chakra-popover__arrow\", props.className)}\n {...getArrowInnerProps(props)}\n __css={{\n ...styles.arrow,\n \"--popper-arrow-bg\": arrowBg\n ? `colors.${arrowBg}, ${arrowBg}`\n : undefined,\n }}\n />\n </chakra.div>\n )\n}\n\nif (__DEV__) {\n PopoverArrow.displayName = \"PopoverArrow\"\n}\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const QuestionIcon = createIcon({\n d:\n \"M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm0,19a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,12,19Zm1.6-6.08a1,1,0,0,0-.6.917,1,1,0,1,1-2,0,3,3,0,0,1,1.8-2.75A2,2,0,1,0,10,9.255a1,1,0,1,1-2,0,4,4,0,1,1,5.6,3.666Z\",\n displayName: \"QuestionIcon\",\n})\n","import { useFormControlContext } from \"@chakra-ui/form-control\"\nimport { useBoolean, useControllableProp, useId } from \"@chakra-ui/hooks\"\nimport { mergeRefs, PropGetter } from \"@chakra-ui/react-utils\"\nimport { ariaAttr, callAllHandlers, dataAttr, warn } from \"@chakra-ui/utils\"\nimport { visuallyHiddenStyle } from \"@chakra-ui/visually-hidden\"\nimport {\n ChangeEvent,\n SyntheticEvent,\n useCallback,\n useRef,\n useState,\n} from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\n\n/**\n * @todo use the `useClickable` hook here\n * to manage the isFocusable & isDisabled props\n */\nexport interface UseRadioProps {\n /**\n * id assigned to input\n */\n id?: string\n /**\n * The name of the input field in a radio\n * (Useful for form submission).\n */\n name?: string\n /**\n * The value to be used in the radio button.\n * This is the value that will be returned on form submission.\n */\n value?: string | number\n /**\n * If `true`, the radio will be checked.\n * You'll need to pass `onChange` to update its value (since it is now controlled)\n */\n isChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n *\n * @deprecated Please use `defaultChecked` which mirrors the default prop\n * name for radio elements.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the radio will be initially checked.\n */\n defaultChecked?: boolean\n /**\n * If `true`, the radio will be disabled\n */\n isDisabled?: boolean\n /**\n * If `true` and `isDisabled` is true, the radio will remain\n * focusable but not interactive.\n */\n isFocusable?: boolean\n /**\n * If `true`, the radio will be read-only\n */\n isReadOnly?: boolean\n /**\n * If `true`, the radio button will be invalid. This also sets `aria-invalid` to `true`.\n */\n isInvalid?: boolean\n /**\n * If `true`, the radio button will be required. This also sets `aria-required` to `true`.\n */\n isRequired?: boolean\n /**\n * Function called when checked state of the `input` changes\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void\n /**\n * @internal\n */\n \"data-radiogroup\"?: any\n}\n\nexport function useRadio(props: UseRadioProps = {}) {\n const {\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isChecked: isCheckedProp,\n isFocusable,\n isDisabled: isDisabledProp,\n isReadOnly: isReadOnlyProp,\n isRequired: isRequiredProp,\n onChange,\n isInvalid: isInvalidProp,\n name,\n value,\n id: idProp,\n \"data-radiogroup\": dataRadioGroup,\n ...htmlProps\n } = props\n\n const uuid = useId(undefined, \"radio\")\n\n const formControl = useFormControlContext()\n const group = useRadioGroupContext()\n\n const isWithinRadioGroup = !!group || !!dataRadioGroup\n const isWithinFormControl = !!formControl\n\n let id = isWithinFormControl && !isWithinRadioGroup ? formControl.id : uuid\n id = idProp ?? id\n\n const isDisabled = isDisabledProp ?? formControl?.isDisabled\n const isReadOnly = isReadOnlyProp ?? formControl?.isReadOnly\n const isRequired = isRequiredProp ?? formControl?.isRequired\n const isInvalid = isInvalidProp ?? formControl?.isInvalid\n\n const [isFocused, setFocused] = useBoolean()\n const [isHovered, setHovering] = useBoolean()\n const [isActive, setActive] = useBoolean()\n\n const ref = useRef<HTMLInputElement>(null)\n\n const [isCheckedState, setChecked] = useState(Boolean(defaultChecked))\n\n const [isControlled, isChecked] = useControllableProp(\n isCheckedProp,\n isCheckedState,\n )\n\n warn({\n condition: !!defaultIsChecked,\n message:\n 'The \"defaultIsChecked\" prop has been deprecated and will be removed in a future version. ' +\n 'Please use the \"defaultChecked\" prop instead, which mirrors default React checkbox behavior.',\n })\n\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n if (isReadOnly || isDisabled) {\n event.preventDefault()\n return\n }\n\n if (!isControlled) {\n setChecked(event.target.checked)\n }\n\n onChange?.(event)\n },\n [isControlled, isDisabled, isReadOnly, onChange],\n )\n\n const onKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.on()\n }\n },\n [setActive],\n )\n\n const onKeyUp = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \" \") {\n setActive.off()\n }\n },\n [setActive],\n )\n\n const getCheckboxProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n \"data-active\": dataAttr(isActive),\n \"data-hover\": dataAttr(isHovered),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-invalid\": dataAttr(isInvalid),\n \"data-checked\": dataAttr(isChecked),\n \"data-focus\": dataAttr(isFocused),\n \"data-readonly\": dataAttr(isReadOnly),\n \"aria-hidden\": true,\n onMouseDown: callAllHandlers(props.onMouseDown, setActive.on),\n onMouseUp: callAllHandlers(props.onMouseUp, setActive.off),\n onMouseEnter: callAllHandlers(props.onMouseEnter, setHovering.on),\n onMouseLeave: callAllHandlers(props.onMouseLeave, setHovering.off),\n }),\n [\n isActive,\n isHovered,\n isDisabled,\n isInvalid,\n isChecked,\n isFocused,\n isReadOnly,\n setActive.on,\n setActive.off,\n setHovering.on,\n setHovering.off,\n ],\n )\n\n const { onFocus, onBlur } = formControl ?? {}\n\n const getInputProps: PropGetter<HTMLInputElement> = useCallback(\n (props = {}, forwardedRef = null) => {\n const trulyDisabled = isDisabled && !isFocusable\n\n return {\n ...props,\n id,\n ref: mergeRefs(forwardedRef, ref),\n type: \"radio\",\n name,\n value,\n onChange: callAllHandlers(props.onChange, handleChange),\n onBlur: callAllHandlers(onBlur, props.onBlur, setFocused.off),\n onFocus: callAllHandlers(onFocus, props.onFocus, setFocused.on),\n onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown),\n onKeyUp: callAllHandlers(props.onKeyUp, onKeyUp),\n checked: isChecked,\n disabled: trulyDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n \"aria-invalid\": ariaAttr(isInvalid),\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"aria-readonly\": ariaAttr(isReadOnly),\n \"aria-required\": ariaAttr(isRequired),\n style: visuallyHiddenStyle,\n }\n },\n [\n isDisabled,\n isFocusable,\n id,\n name,\n value,\n handleChange,\n onBlur,\n setFocused,\n onFocus,\n onKeyDown,\n onKeyUp,\n isChecked,\n isReadOnly,\n isRequired,\n isInvalid,\n ],\n )\n\n const getLabelProps: PropGetter = (props = {}, ref = null) => ({\n ...props,\n ref,\n onMouseDown: callAllHandlers(props.onMouseDown, stop),\n onTouchStart: callAllHandlers(props.onTouchStart, stop),\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n const getRootProps: PropGetter = (pros, ref = null) => ({\n ...props,\n ref,\n \"data-disabled\": dataAttr(isDisabled),\n \"data-checked\": dataAttr(isChecked),\n \"data-invalid\": dataAttr(isInvalid),\n })\n\n return {\n state: {\n isInvalid,\n isFocused,\n isChecked,\n isActive,\n isHovered,\n isDisabled,\n isReadOnly,\n isRequired,\n },\n getCheckboxProps,\n getInputProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n }\n}\n\n/**\n * Prevent `onBlur` being fired when the checkbox label is touched\n */\nfunction stop(event: SyntheticEvent) {\n event.preventDefault()\n event.stopPropagation()\n}\n\nexport type UseRadioReturn = ReturnType<typeof useRadio>\n","import {\n chakra,\n forwardRef,\n layoutPropNames,\n omitThemingProps,\n SystemProps,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { callAll, split, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { useRadioGroupContext } from \"./radio-group\"\nimport { useRadio, UseRadioProps } from \"./use-radio\"\n\ntype Omitted = \"onChange\" | \"defaultChecked\" | \"checked\"\ninterface BaseControlProps extends Omit<HTMLChakraProps<\"div\">, Omitted> {}\n\nexport interface RadioProps\n extends UseRadioProps,\n ThemingProps<\"Radio\">,\n BaseControlProps {\n /**\n * The spacing between the checkbox and its label text\n * @default 0.5rem\n * @type SystemProps[\"marginLeft\"]\n */\n spacing?: SystemProps[\"marginLeft\"]\n /**\n * If `true`, the radio will occupy the full width of its parent container\n *\n * @deprecated\n * This component defaults to 100% width,\n * please use the props `maxWidth` or `width` to configure\n */\n isFullWidth?: boolean\n}\n\n/**\n * Radio component is used in forms when a user needs to select a single value from\n * several options.\n *\n * @see Docs https://chakra-ui.com/radio\n */\nexport const Radio = forwardRef<RadioProps, \"input\">((props, ref) => {\n const group = useRadioGroupContext()\n const { onChange: onChangeProp, value: valueProp } = props\n\n const styles = useMultiStyleConfig(\"Radio\", { ...group, ...props })\n\n const ownProps = omitThemingProps(props)\n\n const {\n spacing = \"0.5rem\",\n children,\n isFullWidth,\n isDisabled = group?.isDisabled,\n isFocusable = group?.isFocusable,\n ...rest\n } = ownProps\n\n let isChecked = props.isChecked\n if (group?.value != null && valueProp != null) {\n isChecked = group.value === valueProp\n }\n\n let onChange = onChangeProp\n if (group?.onChange && valueProp != null) {\n onChange = callAll(group.onChange, onChangeProp)\n }\n\n const name = props?.name ?? group?.name\n\n const {\n getInputProps,\n getCheckboxProps,\n getLabelProps,\n getRootProps,\n htmlProps,\n } = useRadio({\n ...rest,\n isChecked,\n isFocusable,\n isDisabled,\n onChange,\n name,\n })\n\n const [layoutProps, otherProps] = split(htmlProps, layoutPropNames as any)\n\n const checkboxProps = getCheckboxProps(otherProps)\n const inputProps = getInputProps({}, ref)\n const labelProps = getLabelProps()\n const rootProps = Object.assign(layoutProps, getRootProps())\n\n const rootStyles = {\n width: isFullWidth ? \"full\" : undefined,\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"top\",\n ...styles.container,\n }\n\n const checkboxStyles = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n ...styles.control,\n }\n\n const labelStyles: SystemStyleObject = {\n userSelect: \"none\",\n marginStart: spacing,\n ...styles.label,\n }\n\n return (\n <chakra.label className=\"chakra-radio\" {...rootProps} __css={rootStyles}>\n <input className=\"chakra-radio__input\" {...inputProps} />\n <chakra.span\n className=\"chakra-radio__control\"\n {...checkboxProps}\n __css={checkboxStyles}\n />\n {children && (\n <chakra.span\n className=\"chakra-radio__label\"\n {...labelProps}\n __css={labelStyles}\n >\n {children}\n </chakra.span>\n )}\n </chakra.label>\n )\n})\n\nif (__DEV__) {\n Radio.displayName = \"Radio\"\n}\n","export * from \"@chakra-ui/color-mode\"\nexport * from \"@chakra-ui/styled-system\"\nexport { keyframes } from \"@emotion/react\"\nexport type { Interpolation } from \"@emotion/react\"\nexport * from \"./hooks\"\nexport * from \"./system.types\"\nexport * from \"./providers\"\nexport { omitThemingProps } from \"./system.utils\"\nexport * from \"./system\"\nexport * from \"./forward-ref\"\nexport * from \"./use-style-config\"\nexport { shouldForwardProp } from \"./should-forward-prop\"\n"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[11],{241:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var c=n(0),a=n(21),r=function(){var e=Object(a.h)().search;return Object(c.useMemo)((function(){return new URLSearchParams(e)}),[e])}},304:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var c=n(6),a=n(205),r=n(33),o=n(1),i=function(e){var t=e.icon,n=e.offset,i=e.getPageUrl,s={"aria-label":"Page ".concat(n," link"),borderRadius:"md",borderColor:"blue.500",colorScheme:"blue",icon:Object(o.jsx)(t,{color:"blue.500",h:5,w:5}),mx:2,h:10,w:10,variant:"outline"};return void 0!==n?Object(o.jsx)(a.a,Object(c.a)(Object(c.a)({},s),{},{as:r.b,to:i({offset:n})})):Object(o.jsx)(a.a,Object(c.a)(Object(c.a)({},s),{},{disabled:!0}))}},305:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var c=n(5),a=n(207),r=n(229),o=n(198),i=n(0),s=n(21),u=n(1),l=function(e){var t=e.pageLimit,n=e.offset,l=e.getPageUrl,f=Object(i.useState)((n+1).toString()),j=Object(c.a)(f,2),b=j[0],d=j[1],g=Object(s.g)().push;Object(i.useEffect)((function(){d((n+1).toString())}),[n]);return Object(u.jsxs)(a.a,{align:"center",as:"form",mx:2,onSubmit:function(e){e.preventDefault(),g(l({offset:parseInt(b)-1}))},children:[Object(u.jsx)(r.a,{colorScheme:"blue",h:10,max:t+1,min:1,name:"page",onChange:function(e){e.preventDefault(),d(e.target.value)},p:0,textAlign:"center",type:"number",value:b,w:10}),Object(u.jsxs)(o.a,{ml:2,w:"max-content",children:["of ",t+1]})]})}},306:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var c=25},611:function(e,t,n){"use strict";n.r(t),n.d(t,"SearchResults",(function(){return q})),n.d(t,"default",(function(){return q}));var c=n(6),a=n(207),r=n(194),o=n(209),i=n(0),s=n(21),u=n(360),l=n(236),f=n(359),j=n(14),b=n(120),d=n(88),g=n(241),O=n(85),h=n(363),p=n(308),x=n(147),v=n(304),m=n(305),S=n(594),w=n(153),y=n(33),U=n(1),P={children:"Next Page",colorScheme:"blue",rightIcon:Object(U.jsx)(S.a,{color:"white"})},L=function(e){var t=e.nextPageUrl;return t?Object(U.jsx)(w.a,Object(c.a)(Object(c.a)({},P),{},{as:y.b,to:t})):Object(U.jsx)(w.a,Object(c.a)(Object(c.a)({},P),{},{disabled:!0}))},E=function(e){var t=e.offset,n=e.pageLimit,c=e.getPageUrl,r=t<n?t+1:void 0,o=t>0?t-1:void 0;return Object(U.jsxs)(x.a,{alignItems:"center",pt:4,templateColumns:"repeat(3, 1fr)",templateRows:"1fr",children:[Object(U.jsx)(x.b,{colStart:2,justifySelf:"center",children:Object(U.jsx)(L,{nextPageUrl:r?c({offset:r}):void 0})}),Object(U.jsx)(x.b,{colStart:3,justifySelf:"end",children:Object(U.jsxs)(a.a,{align:"center",justify:"center",py:4,children:[Object(U.jsx)(m.a,{getPageUrl:c,offset:t,pageLimit:n}),Object(U.jsx)(v.a,{getPageUrl:c,icon:h.a,offset:o}),Object(U.jsx)(v.a,{getPageUrl:c,icon:p.a,offset:r})]})})]})},R=n(198),C=function(e){var t=e.children;return Object(U.jsx)(R.a,{as:"em",color:"blue.500",fontWeight:"bold",children:t})},I=function(e){var t=e.limit,n=e.offset,c=e.count,a=e.filtered,r=t*n,o=r+t;return Object(U.jsxs)(R.a,{children:["Displaying"," ",Object(U.jsxs)(C,{children:[c?r+1:c," - ",o>c?c:o]})," ","of ",Object(U.jsx)(C,{children:c})," ",a?"search results":"constructs","."]})},N=n(306),q=function(){var e,t,n=Object(g.a)(),h=decodeURIComponent(null!==(e=n.get(j.b.SEARCH_QUERY))&&void 0!==e?e:""),p=n.get(j.b.LANGUAGE),x=Object(d.a)({defaultQuery:null!==h&&void 0!==h?h:void 0,defaultLanguage:null!==p&&void 0!==p?p:void 0}),v=function(e){var t=parseInt(e);return"NaN"==="".concat(t)?0:t}(null!==(t=n.get(j.b.OFFSET))&&void 0!==t?t:"0"),m=Object(s.g)().push,S=Object(b.a)({query:h,offset:v,limit:N.a,language:p}),w=S.results,y=S.page,P=S.pageLimit,L=function(e){var t,n;return Object(O.c)({query:null!==(t=e.q)&&void 0!==t?t:h,language:null!==p&&void 0!==p?p:void 0,offset:null!==(n=e.offset)&&void 0!==n?n:v})};return Object(i.useEffect)((function(){w.length&&(v<0||v>P)&&m(L(v<0?{offset:0}:{offset:P}))}),[w,P,v]),Object(i.useEffect)((function(){h!==x.query&&x.setQuery(h)}),[h]),Object(U.jsx)(l.a,{meta:{title:h||"Search",description:h?"".concat(w.length," results for ").concat(h," at Construct Hub"):"Search reusable components for your cloud application"},pageName:"search",children:Object(U.jsxs)(a.a,{direction:"column",maxW:"100vw",children:[Object(U.jsx)(r.a,{p:4,children:Object(U.jsx)(u.a,Object(c.a)({},x))}),Object(U.jsx)(o.a,{}),Object(U.jsxs)(r.a,{p:4,children:[Object(U.jsx)(a.a,{align:"center",justify:"space-between",pb:4,wrap:"wrap",children:Object(U.jsx)(I,{count:w.length,filtered:!!h,limit:N.a,offset:v})}),Object(U.jsx)(f.a,{language:null!==p&&void 0!==p?p:void 0,results:y}),Object(U.jsx)(E,{getPageUrl:L,limit:N.a,offset:v,pageLimit:P})]})]})})}}}]);
2
- //# sourceMappingURL=11.fedfcf57.chunk.js.map
1
+ (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[11],{241:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var c=n(0),a=n(21),r=function(){var e=Object(a.h)().search;return Object(c.useMemo)((function(){return new URLSearchParams(e)}),[e])}},304:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var c=n(6),a=n(205),r=n(33),o=n(1),i=function(e){var t=e.icon,n=e.offset,i=e.getPageUrl,s={"aria-label":"Page ".concat(n," link"),borderRadius:"md",borderColor:"blue.500",colorScheme:"blue",icon:Object(o.jsx)(t,{color:"blue.500",h:5,w:5}),mx:2,h:10,w:10,variant:"outline"};return void 0!==n?Object(o.jsx)(a.a,Object(c.a)(Object(c.a)({},s),{},{as:r.b,to:i({offset:n})})):Object(o.jsx)(a.a,Object(c.a)(Object(c.a)({},s),{},{disabled:!0}))}},305:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var c=n(5),a=n(207),r=n(229),o=n(198),i=n(0),s=n(21),u=n(1),l=function(e){var t=e.pageLimit,n=e.offset,l=e.getPageUrl,f=Object(i.useState)((n+1).toString()),j=Object(c.a)(f,2),b=j[0],d=j[1],g=Object(s.g)().push;Object(i.useEffect)((function(){d((n+1).toString())}),[n]);return Object(u.jsxs)(a.a,{align:"center",as:"form",mx:2,onSubmit:function(e){e.preventDefault(),g(l({offset:parseInt(b)-1}))},children:[Object(u.jsx)(r.a,{colorScheme:"blue",h:10,max:t+1,min:1,name:"page",onChange:function(e){e.preventDefault(),d(e.target.value)},p:0,textAlign:"center",type:"number",value:b,w:10}),Object(u.jsxs)(o.a,{ml:2,w:"max-content",children:["of ",t+1]})]})}},306:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var c=25},611:function(e,t,n){"use strict";n.r(t),n.d(t,"SearchResults",(function(){return q})),n.d(t,"default",(function(){return q}));var c=n(6),a=n(207),r=n(194),o=n(209),i=n(0),s=n(21),u=n(360),l=n(236),f=n(359),j=n(14),b=n(121),d=n(88),g=n(241),O=n(85),h=n(363),p=n(308),x=n(147),v=n(304),m=n(305),S=n(594),w=n(153),y=n(33),U=n(1),P={children:"Next Page",colorScheme:"blue",rightIcon:Object(U.jsx)(S.a,{color:"white"})},L=function(e){var t=e.nextPageUrl;return t?Object(U.jsx)(w.a,Object(c.a)(Object(c.a)({},P),{},{as:y.b,to:t})):Object(U.jsx)(w.a,Object(c.a)(Object(c.a)({},P),{},{disabled:!0}))},E=function(e){var t=e.offset,n=e.pageLimit,c=e.getPageUrl,r=t<n?t+1:void 0,o=t>0?t-1:void 0;return Object(U.jsxs)(x.a,{alignItems:"center",pt:4,templateColumns:"repeat(3, 1fr)",templateRows:"1fr",children:[Object(U.jsx)(x.b,{colStart:2,justifySelf:"center",children:Object(U.jsx)(L,{nextPageUrl:r?c({offset:r}):void 0})}),Object(U.jsx)(x.b,{colStart:3,justifySelf:"end",children:Object(U.jsxs)(a.a,{align:"center",justify:"center",py:4,children:[Object(U.jsx)(m.a,{getPageUrl:c,offset:t,pageLimit:n}),Object(U.jsx)(v.a,{getPageUrl:c,icon:h.a,offset:o}),Object(U.jsx)(v.a,{getPageUrl:c,icon:p.a,offset:r})]})})]})},R=n(198),C=function(e){var t=e.children;return Object(U.jsx)(R.a,{as:"em",color:"blue.500",fontWeight:"bold",children:t})},I=function(e){var t=e.limit,n=e.offset,c=e.count,a=e.filtered,r=t*n,o=r+t;return Object(U.jsxs)(R.a,{children:["Displaying"," ",Object(U.jsxs)(C,{children:[c?r+1:c," - ",o>c?c:o]})," ","of ",Object(U.jsx)(C,{children:c})," ",a?"search results":"constructs","."]})},N=n(306),q=function(){var e,t,n=Object(g.a)(),h=decodeURIComponent(null!==(e=n.get(j.b.SEARCH_QUERY))&&void 0!==e?e:""),p=n.get(j.b.LANGUAGE),x=Object(d.a)({defaultQuery:null!==h&&void 0!==h?h:void 0,defaultLanguage:null!==p&&void 0!==p?p:void 0}),v=function(e){var t=parseInt(e);return"NaN"==="".concat(t)?0:t}(null!==(t=n.get(j.b.OFFSET))&&void 0!==t?t:"0"),m=Object(s.g)().push,S=Object(b.a)({query:h,offset:v,limit:N.a,language:p}),w=S.results,y=S.page,P=S.pageLimit,L=function(e){var t,n;return Object(O.c)({query:null!==(t=e.q)&&void 0!==t?t:h,language:null!==p&&void 0!==p?p:void 0,offset:null!==(n=e.offset)&&void 0!==n?n:v})};return Object(i.useEffect)((function(){w.length&&(v<0||v>P)&&m(L(v<0?{offset:0}:{offset:P}))}),[w,P,v]),Object(i.useEffect)((function(){h!==x.query&&x.setQuery(h)}),[h]),Object(U.jsx)(l.a,{meta:{title:h||"Search",description:h?"".concat(w.length," results for ").concat(h," at Construct Hub"):"Search reusable components for your cloud application"},pageName:"search",children:Object(U.jsxs)(a.a,{direction:"column",maxW:"100vw",children:[Object(U.jsx)(r.a,{p:4,children:Object(U.jsx)(u.a,Object(c.a)({},x))}),Object(U.jsx)(o.a,{}),Object(U.jsxs)(r.a,{p:4,children:[Object(U.jsx)(a.a,{align:"center",justify:"space-between",pb:4,wrap:"wrap",children:Object(U.jsx)(I,{count:w.length,filtered:!!h,limit:N.a,offset:v})}),Object(U.jsx)(f.a,{language:null!==p&&void 0!==p?p:void 0,results:y}),Object(U.jsx)(E,{getPageUrl:L,limit:N.a,offset:v,pageLimit:P})]})]})})}}}]);
2
+ //# sourceMappingURL=11.c3c4095a.chunk.js.map