@trafilea/afrodita-components 5.0.0-beta.33 → 5.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.css +3 -1
- package/build/index.d.ts +6 -6
- package/build/index.esm.css +3 -1
- package/build/index.esm.js +1934 -352
- package/build/index.esm.js.map +1 -1
- package/build/index.js +1934 -352
- package/build/index.js.map +1 -1
- package/package.json +3 -1
package/build/index.js
CHANGED
|
@@ -498,8 +498,8 @@ var Icon = {
|
|
|
498
498
|
Emoji: Emoji,
|
|
499
499
|
};
|
|
500
500
|
|
|
501
|
-
function _extends$
|
|
502
|
-
_extends$
|
|
501
|
+
function _extends$2() {
|
|
502
|
+
_extends$2 = Object.assign || function (target) {
|
|
503
503
|
for (var i = 1; i < arguments.length; i++) {
|
|
504
504
|
var source = arguments[i];
|
|
505
505
|
|
|
@@ -513,7 +513,7 @@ function _extends$1() {
|
|
|
513
513
|
return target;
|
|
514
514
|
};
|
|
515
515
|
|
|
516
|
-
return _extends$
|
|
516
|
+
return _extends$2.apply(this, arguments);
|
|
517
517
|
}
|
|
518
518
|
|
|
519
519
|
function memoize(fn) {
|
|
@@ -714,7 +714,7 @@ var from = String.fromCharCode;
|
|
|
714
714
|
* @param {object}
|
|
715
715
|
* @return {object}
|
|
716
716
|
*/
|
|
717
|
-
var assign = Object.assign;
|
|
717
|
+
var assign$1 = Object.assign;
|
|
718
718
|
|
|
719
719
|
/**
|
|
720
720
|
* @param {string} value
|
|
@@ -840,7 +840,7 @@ function node$1 (value, root, parent, type, props, children, length) {
|
|
|
840
840
|
* @return {object}
|
|
841
841
|
*/
|
|
842
842
|
function copy (root, props) {
|
|
843
|
-
return assign(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
|
|
843
|
+
return assign$1(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
|
|
844
844
|
}
|
|
845
845
|
|
|
846
846
|
/**
|
|
@@ -1844,9 +1844,9 @@ var createCache = function createCache(options) {
|
|
|
1844
1844
|
|
|
1845
1845
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
1846
1846
|
|
|
1847
|
-
var reactIs$
|
|
1847
|
+
var reactIs$2 = {exports: {}};
|
|
1848
1848
|
|
|
1849
|
-
var reactIs_production_min = {};
|
|
1849
|
+
var reactIs_production_min$1 = {};
|
|
1850
1850
|
|
|
1851
1851
|
/** @license React v16.13.1
|
|
1852
1852
|
* react-is.production.min.js
|
|
@@ -1856,14 +1856,14 @@ var reactIs_production_min = {};
|
|
|
1856
1856
|
* This source code is licensed under the MIT license found in the
|
|
1857
1857
|
* LICENSE file in the root directory of this source tree.
|
|
1858
1858
|
*/
|
|
1859
|
-
var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k$
|
|
1860
|
-
Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w$
|
|
1861
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k$
|
|
1862
|
-
reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A$
|
|
1863
|
-
reactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};
|
|
1864
|
-
reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q$
|
|
1859
|
+
var b$1="function"===typeof Symbol&&Symbol.for,c$1=b$1?Symbol.for("react.element"):60103,d$1=b$1?Symbol.for("react.portal"):60106,e$1=b$1?Symbol.for("react.fragment"):60107,f$1=b$1?Symbol.for("react.strict_mode"):60108,g$1=b$1?Symbol.for("react.profiler"):60114,h$1=b$1?Symbol.for("react.provider"):60109,k$2=b$1?Symbol.for("react.context"):60110,l$1=b$1?Symbol.for("react.async_mode"):60111,m$1=b$1?Symbol.for("react.concurrent_mode"):60111,n$1=b$1?Symbol.for("react.forward_ref"):60112,p$1=b$1?Symbol.for("react.suspense"):60113,q$2=b$1?
|
|
1860
|
+
Symbol.for("react.suspense_list"):60120,r$1=b$1?Symbol.for("react.memo"):60115,t$1=b$1?Symbol.for("react.lazy"):60116,v$1=b$1?Symbol.for("react.block"):60121,w$2=b$1?Symbol.for("react.fundamental"):60117,x$2=b$1?Symbol.for("react.responder"):60118,y$1=b$1?Symbol.for("react.scope"):60119;
|
|
1861
|
+
function z$1(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$1:switch(a=a.type,a){case l$1:case m$1:case e$1:case g$1:case f$1:case p$1:return a;default:switch(a=a&&a.$$typeof,a){case k$2:case n$1:case t$1:case r$1:case h$1:return a;default:return u}}case d$1:return u}}}function A$2(a){return z$1(a)===m$1}reactIs_production_min$1.AsyncMode=l$1;reactIs_production_min$1.ConcurrentMode=m$1;reactIs_production_min$1.ContextConsumer=k$2;reactIs_production_min$1.ContextProvider=h$1;reactIs_production_min$1.Element=c$1;reactIs_production_min$1.ForwardRef=n$1;reactIs_production_min$1.Fragment=e$1;reactIs_production_min$1.Lazy=t$1;reactIs_production_min$1.Memo=r$1;reactIs_production_min$1.Portal=d$1;
|
|
1862
|
+
reactIs_production_min$1.Profiler=g$1;reactIs_production_min$1.StrictMode=f$1;reactIs_production_min$1.Suspense=p$1;reactIs_production_min$1.isAsyncMode=function(a){return A$2(a)||z$1(a)===l$1};reactIs_production_min$1.isConcurrentMode=A$2;reactIs_production_min$1.isContextConsumer=function(a){return z$1(a)===k$2};reactIs_production_min$1.isContextProvider=function(a){return z$1(a)===h$1};reactIs_production_min$1.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$1};reactIs_production_min$1.isForwardRef=function(a){return z$1(a)===n$1};reactIs_production_min$1.isFragment=function(a){return z$1(a)===e$1};reactIs_production_min$1.isLazy=function(a){return z$1(a)===t$1};
|
|
1863
|
+
reactIs_production_min$1.isMemo=function(a){return z$1(a)===r$1};reactIs_production_min$1.isPortal=function(a){return z$1(a)===d$1};reactIs_production_min$1.isProfiler=function(a){return z$1(a)===g$1};reactIs_production_min$1.isStrictMode=function(a){return z$1(a)===f$1};reactIs_production_min$1.isSuspense=function(a){return z$1(a)===p$1};
|
|
1864
|
+
reactIs_production_min$1.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e$1||a===m$1||a===g$1||a===f$1||a===p$1||a===q$2||"object"===typeof a&&null!==a&&(a.$$typeof===t$1||a.$$typeof===r$1||a.$$typeof===h$1||a.$$typeof===k$2||a.$$typeof===n$1||a.$$typeof===w$2||a.$$typeof===x$2||a.$$typeof===y$1||a.$$typeof===v$1)};reactIs_production_min$1.typeOf=z$1;
|
|
1865
1865
|
|
|
1866
|
-
var reactIs_development = {};
|
|
1866
|
+
var reactIs_development$1 = {};
|
|
1867
1867
|
|
|
1868
1868
|
/** @license React v16.13.1
|
|
1869
1869
|
* react-is.development.js
|
|
@@ -2013,44 +2013,44 @@ function isSuspense(object) {
|
|
|
2013
2013
|
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
|
2014
2014
|
}
|
|
2015
2015
|
|
|
2016
|
-
reactIs_development.AsyncMode = AsyncMode;
|
|
2017
|
-
reactIs_development.ConcurrentMode = ConcurrentMode;
|
|
2018
|
-
reactIs_development.ContextConsumer = ContextConsumer;
|
|
2019
|
-
reactIs_development.ContextProvider = ContextProvider;
|
|
2020
|
-
reactIs_development.Element = Element;
|
|
2021
|
-
reactIs_development.ForwardRef = ForwardRef;
|
|
2022
|
-
reactIs_development.Fragment = Fragment;
|
|
2023
|
-
reactIs_development.Lazy = Lazy;
|
|
2024
|
-
reactIs_development.Memo = Memo;
|
|
2025
|
-
reactIs_development.Portal = Portal;
|
|
2026
|
-
reactIs_development.Profiler = Profiler;
|
|
2027
|
-
reactIs_development.StrictMode = StrictMode;
|
|
2028
|
-
reactIs_development.Suspense = Suspense;
|
|
2029
|
-
reactIs_development.isAsyncMode = isAsyncMode;
|
|
2030
|
-
reactIs_development.isConcurrentMode = isConcurrentMode;
|
|
2031
|
-
reactIs_development.isContextConsumer = isContextConsumer;
|
|
2032
|
-
reactIs_development.isContextProvider = isContextProvider;
|
|
2033
|
-
reactIs_development.isElement = isElement;
|
|
2034
|
-
reactIs_development.isForwardRef = isForwardRef;
|
|
2035
|
-
reactIs_development.isFragment = isFragment;
|
|
2036
|
-
reactIs_development.isLazy = isLazy;
|
|
2037
|
-
reactIs_development.isMemo = isMemo;
|
|
2038
|
-
reactIs_development.isPortal = isPortal;
|
|
2039
|
-
reactIs_development.isProfiler = isProfiler;
|
|
2040
|
-
reactIs_development.isStrictMode = isStrictMode;
|
|
2041
|
-
reactIs_development.isSuspense = isSuspense;
|
|
2042
|
-
reactIs_development.isValidElementType = isValidElementType;
|
|
2043
|
-
reactIs_development.typeOf = typeOf;
|
|
2016
|
+
reactIs_development$1.AsyncMode = AsyncMode;
|
|
2017
|
+
reactIs_development$1.ConcurrentMode = ConcurrentMode;
|
|
2018
|
+
reactIs_development$1.ContextConsumer = ContextConsumer;
|
|
2019
|
+
reactIs_development$1.ContextProvider = ContextProvider;
|
|
2020
|
+
reactIs_development$1.Element = Element;
|
|
2021
|
+
reactIs_development$1.ForwardRef = ForwardRef;
|
|
2022
|
+
reactIs_development$1.Fragment = Fragment;
|
|
2023
|
+
reactIs_development$1.Lazy = Lazy;
|
|
2024
|
+
reactIs_development$1.Memo = Memo;
|
|
2025
|
+
reactIs_development$1.Portal = Portal;
|
|
2026
|
+
reactIs_development$1.Profiler = Profiler;
|
|
2027
|
+
reactIs_development$1.StrictMode = StrictMode;
|
|
2028
|
+
reactIs_development$1.Suspense = Suspense;
|
|
2029
|
+
reactIs_development$1.isAsyncMode = isAsyncMode;
|
|
2030
|
+
reactIs_development$1.isConcurrentMode = isConcurrentMode;
|
|
2031
|
+
reactIs_development$1.isContextConsumer = isContextConsumer;
|
|
2032
|
+
reactIs_development$1.isContextProvider = isContextProvider;
|
|
2033
|
+
reactIs_development$1.isElement = isElement;
|
|
2034
|
+
reactIs_development$1.isForwardRef = isForwardRef;
|
|
2035
|
+
reactIs_development$1.isFragment = isFragment;
|
|
2036
|
+
reactIs_development$1.isLazy = isLazy;
|
|
2037
|
+
reactIs_development$1.isMemo = isMemo;
|
|
2038
|
+
reactIs_development$1.isPortal = isPortal;
|
|
2039
|
+
reactIs_development$1.isProfiler = isProfiler;
|
|
2040
|
+
reactIs_development$1.isStrictMode = isStrictMode;
|
|
2041
|
+
reactIs_development$1.isSuspense = isSuspense;
|
|
2042
|
+
reactIs_development$1.isValidElementType = isValidElementType;
|
|
2043
|
+
reactIs_development$1.typeOf = typeOf;
|
|
2044
2044
|
})();
|
|
2045
2045
|
}
|
|
2046
2046
|
|
|
2047
2047
|
if (process.env.NODE_ENV === 'production') {
|
|
2048
|
-
reactIs$
|
|
2048
|
+
reactIs$2.exports = reactIs_production_min$1;
|
|
2049
2049
|
} else {
|
|
2050
|
-
reactIs$
|
|
2050
|
+
reactIs$2.exports = reactIs_development$1;
|
|
2051
2051
|
}
|
|
2052
2052
|
|
|
2053
|
-
var reactIs = reactIs$
|
|
2053
|
+
var reactIs$1 = reactIs$2.exports;
|
|
2054
2054
|
var FORWARD_REF_STATICS = {
|
|
2055
2055
|
'$$typeof': true,
|
|
2056
2056
|
render: true,
|
|
@@ -2067,8 +2067,8 @@ var MEMO_STATICS = {
|
|
|
2067
2067
|
type: true
|
|
2068
2068
|
};
|
|
2069
2069
|
var TYPE_STATICS = {};
|
|
2070
|
-
TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
|
|
2071
|
-
TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
|
|
2070
|
+
TYPE_STATICS[reactIs$1.ForwardRef] = FORWARD_REF_STATICS;
|
|
2071
|
+
TYPE_STATICS[reactIs$1.Memo] = MEMO_STATICS;
|
|
2072
2072
|
|
|
2073
2073
|
var isBrowser$4 = typeof document !== 'undefined';
|
|
2074
2074
|
function getRegisteredStyles(registered, registeredStyles, classNames) {
|
|
@@ -2535,7 +2535,7 @@ var serializeStyles = function serializeStyles(args, registered, mergedProps) {
|
|
|
2535
2535
|
};
|
|
2536
2536
|
|
|
2537
2537
|
var isBrowser$3 = typeof document !== 'undefined';
|
|
2538
|
-
var hasOwnProperty$
|
|
2538
|
+
var hasOwnProperty$2 = {}.hasOwnProperty;
|
|
2539
2539
|
|
|
2540
2540
|
var EmotionCacheContext = /* #__PURE__ */React$2.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case
|
|
2541
2541
|
// because this module is primarily intended for the browser and node
|
|
@@ -2611,7 +2611,7 @@ var getTheme = function getTheme(outerTheme, theme) {
|
|
|
2611
2611
|
throw new Error('[ThemeProvider] Please make your theme prop a plain object');
|
|
2612
2612
|
}
|
|
2613
2613
|
|
|
2614
|
-
return _extends$
|
|
2614
|
+
return _extends$2({}, outerTheme, theme);
|
|
2615
2615
|
};
|
|
2616
2616
|
|
|
2617
2617
|
var createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {
|
|
@@ -2697,7 +2697,7 @@ var createEmotionProps = function createEmotionProps(type, props) {
|
|
|
2697
2697
|
var newProps = {};
|
|
2698
2698
|
|
|
2699
2699
|
for (var key in props) {
|
|
2700
|
-
if (hasOwnProperty$
|
|
2700
|
+
if (hasOwnProperty$2.call(props, key)) {
|
|
2701
2701
|
newProps[key] = props[key];
|
|
2702
2702
|
}
|
|
2703
2703
|
}
|
|
@@ -2774,7 +2774,7 @@ var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {
|
|
|
2774
2774
|
var newProps = {};
|
|
2775
2775
|
|
|
2776
2776
|
for (var key in props) {
|
|
2777
|
-
if (hasOwnProperty$
|
|
2777
|
+
if (hasOwnProperty$2.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
|
|
2778
2778
|
newProps[key] = props[key];
|
|
2779
2779
|
}
|
|
2780
2780
|
}
|
|
@@ -3338,7 +3338,7 @@ var createStyled = function createStyled(tag, options) {
|
|
|
3338
3338
|
});
|
|
3339
3339
|
|
|
3340
3340
|
Styled.withComponent = function (nextTag, nextOptions) {
|
|
3341
|
-
return createStyled(nextTag, _extends$
|
|
3341
|
+
return createStyled(nextTag, _extends$2({}, options, nextOptions, {
|
|
3342
3342
|
shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
|
|
3343
3343
|
})).apply(void 0, styles);
|
|
3344
3344
|
};
|
|
@@ -3569,14 +3569,14 @@ var templateObject_1$17;
|
|
|
3569
3569
|
|
|
3570
3570
|
var Fragment = jsxRuntime.Fragment;
|
|
3571
3571
|
function jsx(type, props, key) {
|
|
3572
|
-
if (!hasOwnProperty$
|
|
3572
|
+
if (!hasOwnProperty$2.call(props, 'css')) {
|
|
3573
3573
|
return jsxRuntime.jsx(type, props, key);
|
|
3574
3574
|
}
|
|
3575
3575
|
|
|
3576
3576
|
return jsxRuntime.jsx(Emotion, createEmotionProps(type, props), key);
|
|
3577
3577
|
}
|
|
3578
3578
|
function jsxs(type, props, key) {
|
|
3579
|
-
if (!hasOwnProperty$
|
|
3579
|
+
if (!hasOwnProperty$2.call(props, 'css')) {
|
|
3580
3580
|
return jsxRuntime.jsxs(type, props, key);
|
|
3581
3581
|
}
|
|
3582
3582
|
|
|
@@ -3685,10 +3685,10 @@ var ButtonSecondaryOutline = function (props) {
|
|
|
3685
3685
|
} }), void 0));
|
|
3686
3686
|
};
|
|
3687
3687
|
|
|
3688
|
-
function k(){let e=[],t=[],r={enqueue(o){t.push(o);},requestAnimationFrame(...o){let n=requestAnimationFrame(...o);r.add(()=>cancelAnimationFrame(n));},nextFrame(...o){r.requestAnimationFrame(()=>{r.requestAnimationFrame(...o);});},setTimeout(...o){let n=setTimeout(...o);r.add(()=>clearTimeout(n));},add(o){e.push(o);},dispose(){for(let o of e.splice(0))o();},async workQueue(){for(let o of t.splice(0))await o();}};return r}function Q(){let[e]=React$2.useState(k);return React$2.useEffect(()=>()=>e.dispose(),[e]),e}var x=typeof window!="undefined"?React$2.useLayoutEffect:React$2.useEffect;var yt={serverHandoffComplete:!1};function q(){let[e,t]=React$2.useState(yt.serverHandoffComplete);return React$2.useEffect(()=>{e!==!0&&t(!0);},[e]),React$2.useEffect(()=>{yt.serverHandoffComplete===!1&&(yt.serverHandoffComplete=!0);},[]),e}var or=0;function to(){return ++or}function A(){let e=q(),[t,r]=React$2.useState(e?to:null);return x(()=>{t===null&&r(to());},[t]),t!=null?""+t:void 0}function ke(e){let t=React$2.useRef(e);return React$2.useEffect(()=>{t.current=e;},[e]),t}function ee(e,t){let[r,o]=React$2.useState(e),n=ke(e);return x(()=>o(n.current),[n,o,...t]),r}function I(...e){let t=React$2.useRef(e);return React$2.useEffect(()=>{t.current=e;},[e]),React$2.useCallback(r=>{for(let o of t.current)o!=null&&(typeof o=="function"?o(r):o.current=r);},[t])}function S(e,t,...r){if(e in t){let n=t[e];return typeof n=="function"?n(...r):n}let o=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(n=>`"${n}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,S),o}function E({props:e,slot:t,defaultTag:r,features:o,visible:n=!0,name:i}){if(n)return _e(e,t,r,i);let a=o!=null?o:0;if(a&2){let{static:l=!1,...s}=e;if(l)return _e(s,t,r,i)}if(a&1){let{unmount:l=!0,...s}=e;return S(l?0:1,{[0](){return null},[1](){return _e({...s,hidden:!0,style:{display:"none"}},t,r,i)}})}return _e(e,t,r,i)}function _e(e,t={},r,o){let{as:n=r,children:i,refName:a="ref",...l}=gt(e,["unmount","static"]),s=e.ref!==void 0?{[a]:e.ref}:{},u=typeof i=="function"?i(t):i;if(l.className&&typeof l.className=="function"&&(l.className=l.className(t)),n===React$2.Fragment&&Object.keys(l).length>0){if(!React$2.isValidElement(u)||Array.isArray(u)&&u.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${o} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(l).map(c=>` - ${c}`).join(`
|
|
3688
|
+
function k$1(){let e=[],t=[],r={enqueue(o){t.push(o);},requestAnimationFrame(...o){let n=requestAnimationFrame(...o);r.add(()=>cancelAnimationFrame(n));},nextFrame(...o){r.requestAnimationFrame(()=>{r.requestAnimationFrame(...o);});},setTimeout(...o){let n=setTimeout(...o);r.add(()=>clearTimeout(n));},add(o){e.push(o);},dispose(){for(let o of e.splice(0))o();},async workQueue(){for(let o of t.splice(0))await o();}};return r}function Q(){let[e]=React$2.useState(k$1);return React$2.useEffect(()=>()=>e.dispose(),[e]),e}var x$1=typeof window!="undefined"?React$2.useLayoutEffect:React$2.useEffect;var yt={serverHandoffComplete:!1};function q$1(){let[e,t]=React$2.useState(yt.serverHandoffComplete);return React$2.useEffect(()=>{e!==!0&&t(!0);},[e]),React$2.useEffect(()=>{yt.serverHandoffComplete===!1&&(yt.serverHandoffComplete=!0);},[]),e}var or=0;function to(){return ++or}function A$1(){let e=q$1(),[t,r]=React$2.useState(e?to:null);return x$1(()=>{t===null&&r(to());},[t]),t!=null?""+t:void 0}function ke(e){let t=React$2.useRef(e);return React$2.useEffect(()=>{t.current=e;},[e]),t}function ee(e,t){let[r,o]=React$2.useState(e),n=ke(e);return x$1(()=>o(n.current),[n,o,...t]),r}function I(...e){let t=React$2.useRef(e);return React$2.useEffect(()=>{t.current=e;},[e]),React$2.useCallback(r=>{for(let o of t.current)o!=null&&(typeof o=="function"?o(r):o.current=r);},[t])}function S(e,t,...r){if(e in t){let n=t[e];return typeof n=="function"?n(...r):n}let o=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map(n=>`"${n}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,S),o}function E({props:e,slot:t,defaultTag:r,features:o,visible:n=!0,name:i}){if(n)return _e(e,t,r,i);let a=o!=null?o:0;if(a&2){let{static:l=!1,...s}=e;if(l)return _e(s,t,r,i)}if(a&1){let{unmount:l=!0,...s}=e;return S(l?0:1,{[0](){return null},[1](){return _e({...s,hidden:!0,style:{display:"none"}},t,r,i)}})}return _e(e,t,r,i)}function _e(e,t={},r,o){let{as:n=r,children:i,refName:a="ref",...l}=gt(e,["unmount","static"]),s=e.ref!==void 0?{[a]:e.ref}:{},u=typeof i=="function"?i(t):i;if(l.className&&typeof l.className=="function"&&(l.className=l.className(t)),n===React$2.Fragment&&Object.keys(l).length>0){if(!React$2.isValidElement(u)||Array.isArray(u)&&u.length>1)throw new Error(['Passing props on "Fragment"!',"",`The current component <${o} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(l).map(c=>` - ${c}`).join(`
|
|
3689
3689
|
`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(c=>` - ${c}`).join(`
|
|
3690
3690
|
`)].join(`
|
|
3691
|
-
`));return React$2.cloneElement(u,Object.assign({},fr(mr(gt(l,["ref"])),u.props,["onClick"]),s))}return React$2.createElement(n,Object.assign({},gt(l,["ref"]),n!==React$2.Fragment&&s),u)}function fr(e,t,r){let o=Object.assign({},e);for(let n of r)e[n]!==void 0&&t[n]!==void 0&&Object.assign(o,{[n](i){i.defaultPrevented||e[n](i),i.defaultPrevented||t[n](i);}});return o}function D(e){var t;return Object.assign(React$2.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function mr(e){let t=Object.assign({},e);for(let r in t)t[r]===void 0&&delete t[r];return t}function gt(e,t=[]){let r=Object.assign({},e);for(let o of t)o in r&&delete r[o];return r}function br(e){throw new Error("Unexpected object: "+e)}function ae(e,t){let r=t.resolveItems();if(r.length<=0)return null;let o=t.resolveActiveIndex(),n=o!=null?o:-1,i=(()=>{switch(e.focus){case 0:return r.findIndex(a=>!t.resolveDisabled(a));case 1:{let a=r.slice().reverse().findIndex((l,s,u)=>n!==-1&&u.length-s-1>=n?!1:!t.resolveDisabled(l));return a===-1?a:r.length-1-a}case 2:return r.findIndex((a,l)=>l<=n?!1:!t.resolveDisabled(a));case 3:{let a=r.slice().reverse().findIndex(l=>!t.resolveDisabled(l));return a===-1?a:r.length-1-a}case 4:return r.findIndex(a=>t.resolveId(a)===e.id);case 5:return null;default:br(e);}})();return i===-1?o:i}function G(e){let t=e.parentElement,r=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(r=t),t=t.parentElement;let o=(t==null?void 0:t.getAttribute("disabled"))==="";return o&&Tr(r)?!1:o}function Tr(e){if(!e)return !1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return !1;t=t.previousElementSibling;}return !0}function w(e,t,r){let o=React$2.useRef(t);o.current=t,React$2.useEffect(()=>{function n(i){o.current.call(window,i);}return window.addEventListener(e,n,r),()=>window.removeEventListener(e,n,r)},[e,r]);}var Pt=React$2.createContext(null);Pt.displayName="OpenClosedContext";function _(){return React$2.useContext(Pt)}function W({value:e,children:t}){return React__default["default"].createElement(Pt.Provider,{value:e},t)}function ro(e){var r;if(e.type)return e.type;let t=(r=e.as)!=null?r:"button";if(typeof t=="string"&&t.toLowerCase()==="button")return "button"}function U(e,t){let[r,o]=React$2.useState(()=>ro(e));return x(()=>{o(ro(e));},[e.type,e.as]),x(()=>{r||!t.current||t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&o("button");},[r,t]),r}function se({container:e,accept:t,walk:r,enabled:o=!0}){let n=React$2.useRef(t),i=React$2.useRef(r);React$2.useEffect(()=>{n.current=t,i.current=r;},[t,r]),x(()=>{if(!e||!o)return;let a=n.current,l=i.current,s=Object.assign(c=>a(c),{acceptNode:a}),u=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,s,!1);for(;u.nextNode();)l(u.currentNode);},[e,o,n,i]);}var Ar={[1](e){return e.disabled||e.comboboxState===1?e:{...e,activeOptionIndex:null,comboboxState:1}},[0](e){return e.disabled||e.comboboxState===0?e:{...e,comboboxState:0}},[2](e,t){return e.disabled===t.disabled?e:{...e,disabled:t.disabled}},[3](e,t){if(e.disabled||e.optionsRef.current&&!e.optionsPropsRef.current.static&&e.comboboxState===1)return e;let r=ae(t,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.activeOptionIndex===r?e:{...e,activeOptionIndex:r}},[4]:(e,t)=>{var i;let r=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,o=Array.from((i=e.optionsRef.current)==null?void 0:i.querySelectorAll('[id^="headlessui-combobox-option-"]')).reduce((a,l,s)=>Object.assign(a,{[l.id]:s}),{}),n=[...e.options,{id:t.id,dataRef:t.dataRef}].sort((a,l)=>o[a.id]-o[l.id]);return {...e,options:n,activeOptionIndex:(()=>r===null?null:n.indexOf(r))()}},[5]:(e,t)=>{let r=e.options.slice(),o=e.activeOptionIndex!==null?r[e.activeOptionIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,options:r,activeOptionIndex:(()=>n===e.activeOptionIndex||o===null?null:r.indexOf(o))()}}},vt=React$2.createContext(null);vt.displayName="ComboboxContext";function pe(e){let t=React$2.useContext(vt);if(t===null){let r=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,pe),r}return t}var Rt=React$2.createContext(null);Rt.displayName="ComboboxActions";function Ue(){let e=React$2.useContext(Rt);if(e===null){let t=new Error("ComboboxActions is missing a parent <Combobox /> component.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Ue),t}return e}function hr(e,t){return S(t.type,Ar,e,t)}var Or=React$2.Fragment,Ir=D(function(t,r){let{value:o,onChange:n,disabled:i=!1,...a}=t,l=React$2.useRef({value:o,onChange:n}),s=React$2.useRef({static:!1,hold:!1}),u=React$2.useRef({displayValue:void 0}),c=React$2.useReducer(hr,{comboboxState:1,comboboxPropsRef:l,optionsPropsRef:s,inputPropsRef:u,labelRef:React$2.createRef(),inputRef:React$2.createRef(),buttonRef:React$2.createRef(),optionsRef:React$2.createRef(),disabled:i,options:[],activeOptionIndex:null}),[{comboboxState:m,options:b,activeOptionIndex:T,optionsRef:y,inputRef:p,buttonRef:f},d]=c;x(()=>{l.current.value=o;},[o,l]),x(()=>{l.current.onChange=n;},[n,l]),x(()=>d({type:2,disabled:i}),[i]),w("mousedown",O=>{var N,K,V;let L=O.target;m===0&&(((N=f.current)==null?void 0:N.contains(L))||((K=p.current)==null?void 0:K.contains(L))||((V=y.current)==null?void 0:V.contains(L))||d({type:1}));});let P=T===null?null:b[T].dataRef.current.value,C=React$2.useMemo(()=>({open:m===0,disabled:i,activeIndex:T,activeOption:P}),[m,i,b,T]),R=React$2.useCallback(()=>{if(!p.current||o===void 0)return;let O=u.current.displayValue;typeof O=="function"?p.current.value=O(o):typeof o=="string"&&(p.current.value=o);},[o,p,u]),g=React$2.useCallback(O=>{let L=b.find(K=>K.id===O);if(!L)return;let{dataRef:N}=L;l.current.onChange(N.current.value),R();},[b,l,p]),v=React$2.useCallback(()=>{if(T!==null){let{dataRef:O}=b[T];l.current.onChange(O.current.value),R();}},[T,b,l,p]),h=React$2.useMemo(()=>({selectOption:g,selectActiveOption:v}),[g,v]);return x(()=>{m===1&&R();},[R,m]),x(R,[R]),React__default["default"].createElement(Rt.Provider,{value:h},React__default["default"].createElement(vt.Provider,{value:c},React__default["default"].createElement(W,{value:S(m,{[0]:0,[1]:1})},E({props:r===null?a:{...a,ref:r},slot:C,defaultTag:Or,name:"Combobox"}))))}),Lr="input",Dr=D(function(t,r){var R,g;let{value:o,onChange:n,displayValue:i,...a}=t,[l,s]=pe("Combobox.Input"),u=Ue(),c=I(l.inputRef,r),m=l.inputPropsRef,b=`headlessui-combobox-input-${A()}`,T=Q(),y=ke(n);x(()=>{m.current.displayValue=i;},[i,m]);let p=React$2.useCallback(v=>{switch(v.key){case"Enter":v.preventDefault(),v.stopPropagation(),u.selectActiveOption(),s({type:1});break;case"ArrowDown":return v.preventDefault(),v.stopPropagation(),S(l.comboboxState,{[0]:()=>s({type:3,focus:2}),[1]:()=>{s({type:0}),T.nextFrame(()=>{l.comboboxPropsRef.current.value||s({type:3,focus:0});});}});case"ArrowUp":return v.preventDefault(),v.stopPropagation(),S(l.comboboxState,{[0]:()=>s({type:3,focus:1}),[1]:()=>{s({type:0}),T.nextFrame(()=>{l.comboboxPropsRef.current.value||s({type:3,focus:3});});}});case"Home":case"PageUp":return v.preventDefault(),v.stopPropagation(),s({type:3,focus:0});case"End":case"PageDown":return v.preventDefault(),v.stopPropagation(),s({type:3,focus:3});case"Escape":return v.preventDefault(),l.optionsRef.current&&!l.optionsPropsRef.current.static&&v.stopPropagation(),s({type:1});case"Tab":u.selectActiveOption(),s({type:1});break}},[T,s,l,u]),f=React$2.useCallback(v=>{var h;s({type:0}),(h=y.current)==null||h.call(y,v);},[s,y]),d=ee(()=>{if(!!l.labelRef.current)return [l.labelRef.current.id].join(" ")},[l.labelRef.current]),P=React$2.useMemo(()=>({open:l.comboboxState===0,disabled:l.disabled}),[l]),C={ref:c,id:b,role:"combobox",type:"text","aria-controls":(R=l.optionsRef.current)==null?void 0:R.id,"aria-expanded":l.disabled?void 0:l.comboboxState===0,"aria-activedescendant":l.activeOptionIndex===null||(g=l.options[l.activeOptionIndex])==null?void 0:g.id,"aria-labelledby":d,disabled:l.disabled,onKeyDown:p,onChange:f};return E({props:{...a,...C},slot:P,defaultTag:Lr,name:"Combobox.Input"})}),Mr="button",Fr=D(function(t,r){var p;let[o,n]=pe("Combobox.Button"),i=Ue(),a=I(o.buttonRef,r),l=`headlessui-combobox-button-${A()}`,s=Q(),u=React$2.useCallback(f=>{switch(f.key){case"ArrowDown":return f.preventDefault(),f.stopPropagation(),o.comboboxState===1&&(n({type:0}),s.nextFrame(()=>{o.comboboxPropsRef.current.value||n({type:3,focus:0});})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});case"ArrowUp":return f.preventDefault(),f.stopPropagation(),o.comboboxState===1&&(n({type:0}),s.nextFrame(()=>{o.comboboxPropsRef.current.value||n({type:3,focus:3});})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});case"Escape":return f.preventDefault(),o.optionsRef.current&&!o.optionsPropsRef.current.static&&f.stopPropagation(),n({type:1}),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})})}},[s,n,o,i]),c=React$2.useCallback(f=>{if(G(f.currentTarget))return f.preventDefault();o.comboboxState===0?n({type:1}):(f.preventDefault(),n({type:0})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});},[n,s,o]),m=ee(()=>{if(!!o.labelRef.current)return [o.labelRef.current.id,l].join(" ")},[o.labelRef.current,l]),b=React$2.useMemo(()=>({open:o.comboboxState===0,disabled:o.disabled}),[o]),T=t,y={ref:a,id:l,type:U(t,o.buttonRef),tabIndex:-1,"aria-haspopup":!0,"aria-controls":(p=o.optionsRef.current)==null?void 0:p.id,"aria-expanded":o.disabled?void 0:o.comboboxState===0,"aria-labelledby":m,disabled:o.disabled,onClick:c,onKeyDown:u};return E({props:{...T,...y},slot:b,defaultTag:Mr,name:"Combobox.Button"})}),wr="label";function kr(e){let[t]=pe("Combobox.Label"),r=`headlessui-combobox-label-${A()}`,o=React$2.useCallback(()=>{var a;return (a=t.inputRef.current)==null?void 0:a.focus({preventScroll:!0})},[t.inputRef]),n=React$2.useMemo(()=>({open:t.comboboxState===0,disabled:t.disabled}),[t]),i={ref:t.labelRef,id:r,onClick:o};return E({props:{...e,...i},slot:n,defaultTag:wr,name:"Combobox.Label"})}var _r="ul",Gr=1|2,Hr=D(function(t,r){var y;let{hold:o=!1,...n}=t,[i]=pe("Combobox.Options"),{optionsPropsRef:a}=i,l=I(i.optionsRef,r),s=`headlessui-combobox-options-${A()}`,u=_(),c=(()=>u!==null?u===0:i.comboboxState===0)();x(()=>{var p;a.current.static=(p=t.static)!=null?p:!1;},[a,t.static]),x(()=>{a.current.hold=o;},[o,a]),se({container:i.optionsRef.current,enabled:i.comboboxState===0,accept(p){return p.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:p.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(p){p.setAttribute("role","none");}});let m=ee(()=>{var p,f,d;return (d=(p=i.labelRef.current)==null?void 0:p.id)!=null?d:(f=i.buttonRef.current)==null?void 0:f.id},[i.labelRef.current,i.buttonRef.current]),b=React$2.useMemo(()=>({open:i.comboboxState===0}),[i]),T={"aria-activedescendant":i.activeOptionIndex===null||(y=i.options[i.activeOptionIndex])==null?void 0:y.id,"aria-labelledby":m,role:"listbox",id:s,ref:l};return E({props:{...n,...T},slot:b,defaultTag:_r,features:Gr,visible:c,name:"Combobox.Options"})}),Ur="li";function Br(e){let{disabled:t=!1,value:r,...o}=e,[n,i]=pe("Combobox.Option"),a=Ue(),l=`headlessui-combobox-option-${A()}`,s=n.activeOptionIndex!==null?n.options[n.activeOptionIndex].id===l:!1,u=n.comboboxPropsRef.current.value===r,c=React$2.useRef({disabled:t,value:r});x(()=>{c.current.disabled=t;},[c,t]),x(()=>{c.current.value=r;},[c,r]),x(()=>{var P,C;c.current.textValue=(C=(P=document.getElementById(l))==null?void 0:P.textContent)==null?void 0:C.toLowerCase();},[c,l]);let m=React$2.useCallback(()=>a.selectOption(l),[a,l]);x(()=>(i({type:4,id:l,dataRef:c}),()=>i({type:5,id:l})),[c,l]),x(()=>{n.comboboxState===0&&(!u||i({type:3,focus:4,id:l}));},[n.comboboxState,u,l]),x(()=>{if(n.comboboxState!==0||!s)return;let P=k();return P.requestAnimationFrame(()=>{var C,R;(R=(C=document.getElementById(l))==null?void 0:C.scrollIntoView)==null||R.call(C,{block:"nearest"});}),P.dispose},[l,s,n.comboboxState,n.activeOptionIndex]);let b=React$2.useCallback(P=>{if(t)return P.preventDefault();m(),i({type:1}),k().nextFrame(()=>{var C;return (C=n.inputRef.current)==null?void 0:C.focus({preventScroll:!0})});},[i,n.inputRef,t,m]),T=React$2.useCallback(()=>{if(t)return i({type:3,focus:5});i({type:3,focus:4,id:l});},[t,l,i]),y=React$2.useCallback(()=>{t||s||i({type:3,focus:4,id:l});},[t,s,l,i]),p=React$2.useCallback(()=>{t||!s||n.optionsPropsRef.current.hold||i({type:3,focus:5});},[t,s,i,n.comboboxState,n.comboboxPropsRef]),f=React$2.useMemo(()=>({active:s,selected:u,disabled:t}),[s,u,t]);return E({props:{...o,...{id:l,role:"option",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":u===!0?!0:void 0,disabled:void 0,onClick:b,onFocus:T,onPointerMove:y,onMouseMove:y,onPointerLeave:p,onMouseLeave:p}},slot:f,defaultTag:Ur,name:"Combobox.Option"})}Object.assign(Ir,{Input:Dr,Button:Fr,Label:kr,Options:Hr,Option:Br});var Et=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");function xe(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Et))}function de(e,t=0){return e===document.body?!1:S(t,{[0](){return e.matches(Et)},[1](){let r=e;for(;r!==null;){if(r.matches(Et))return !0;r=r.parentElement;}return !1}})}function ce(e){e==null||e.focus({preventScroll:!0});}function M(e,t){let r=Array.isArray(e)?e.slice().sort((c,m)=>{let b=c.compareDocumentPosition(m);return b&Node.DOCUMENT_POSITION_FOLLOWING?-1:b&Node.DOCUMENT_POSITION_PRECEDING?1:0}):xe(e),o=document.activeElement,n=(()=>{if(t&(1|4))return 1;if(t&(2|8))return -1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),i=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,r.indexOf(o))-1;if(t&4)return Math.max(0,r.indexOf(o))+1;if(t&8)return r.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),a=t&32?{preventScroll:!0}:{},l=0,s=r.length,u;do{if(l>=s||l+s<=0)return 0;let c=i+l;if(t&16)c=(c+s)%s;else {if(c<0)return 3;if(c>=s)return 1}u=r[c],u==null||u.focus(a),l+=n;}while(u!==document.activeElement);return u.hasAttribute("tabindex")||u.setAttribute("tabindex","0"),2}function Be(){let e=React$2.useRef(!1);return React$2.useEffect(()=>(e.current=!0,()=>{e.current=!1;}),[]),e}function Ne(e,t=30,{initialFocus:r,containers:o}={}){let n=React$2.useRef(typeof window!="undefined"?document.activeElement:null),i=React$2.useRef(null),a=Be(),l=Boolean(t&16),s=Boolean(t&2);React$2.useEffect(()=>{!l||(n.current=document.activeElement);},[l]),React$2.useEffect(()=>{if(!!l)return ()=>{ce(n.current),n.current=null;}},[l]),React$2.useEffect(()=>{if(!s||!e.current)return;let u=document.activeElement;if(r==null?void 0:r.current){if((r==null?void 0:r.current)===u){i.current=u;return}}else if(e.current.contains(u)){i.current=u;return}(r==null?void 0:r.current)?ce(r.current):M(e.current,1)===0&&console.warn("There are no focusable elements inside the <FocusTrap />"),i.current=document.activeElement;},[e,r,s]),w("keydown",u=>{!(t&4)||!e.current||u.key==="Tab"&&(u.preventDefault(),M(e.current,(u.shiftKey?2:4)|16)===2&&(i.current=document.activeElement));}),w("focus",u=>{if(!(t&8))return;let c=new Set(o==null?void 0:o.current);if(c.add(e),!c.size)return;let m=i.current;if(!m||!a.current)return;let b=u.target;b&&b instanceof HTMLElement?Kr(c,b)?(i.current=b,ce(b)):(u.preventDefault(),u.stopPropagation(),ce(m)):ce(i.current);},!0);}function Kr(e,t){var r;for(let o of e)if((r=o.current)==null?void 0:r.contains(t))return !0;return !1}var fe=new Set,J=new Map;function po(e){e.setAttribute("aria-hidden","true"),e.inert=!0;}function co(e){let t=J.get(e);!t||(t["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert);}function fo(e,t=!0){x(()=>{if(!t||!e.current)return;let r=e.current;fe.add(r);for(let o of J.keys())o.contains(r)&&(co(o),J.delete(o));return document.querySelectorAll("body > *").forEach(o=>{if(o instanceof HTMLElement){for(let n of fe)if(o.contains(n))return;fe.size===1&&(J.set(o,{"aria-hidden":o.getAttribute("aria-hidden"),inert:o.inert}),po(o));}}),()=>{if(fe.delete(r),fe.size>0)document.querySelectorAll("body > *").forEach(o=>{if(o instanceof HTMLElement&&!J.has(o)){for(let n of fe)if(o.contains(n))return;J.set(o,{"aria-hidden":o.getAttribute("aria-hidden"),inert:o.inert}),po(o);}});else for(let o of J.keys())co(o),J.delete(o);}},[t]);}var mo=React$2.createContext(!1);function bo(){return React$2.useContext(mo)}function At(e){return React__default["default"].createElement(mo.Provider,{value:e.force},e.children)}function Xr(){let e=bo(),t=React$2.useContext(Po),[r,o]=React$2.useState(()=>{if(!e&&t!==null||typeof window=="undefined")return null;let n=document.getElementById("headlessui-portal-root");if(n)return n;let i=document.createElement("div");return i.setAttribute("id","headlessui-portal-root"),document.body.appendChild(i)});return React$2.useEffect(()=>{r!==null&&(document.body.contains(r)||document.body.appendChild(r));},[r]),React$2.useEffect(()=>{e||t!==null&&o(t.current);},[t,o,e]),r}var Jr=React$2.Fragment;function We(e){let t=e,r=Xr(),[o]=React$2.useState(()=>typeof window=="undefined"?null:document.createElement("div")),n=q();return x(()=>{if(!!r&&!!o)return r.appendChild(o),()=>{var i;!r||!o||(r.removeChild(o),r.childNodes.length<=0&&((i=r.parentElement)==null||i.removeChild(r)));}},[r,o]),n?!r||!o?null:reactDom.createPortal(E({props:t,defaultTag:Jr,name:"Portal"}),o):null}var Zr=React$2.Fragment,Po=React$2.createContext(null);function en(e){let{target:t,...r}=e;return React__default["default"].createElement(Po.Provider,{value:t},E({props:r,defaultTag:Zr,name:"Popover.Group"}))}We.Group=en;var vo=React$2.createContext(null);function Ro(){let e=React$2.useContext(vo);if(e===null){let t=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Ro),t}return e}function re(){let[e,t]=React$2.useState([]);return [e.length>0?e.join(" "):void 0,React$2.useMemo(()=>function(o){let n=React$2.useCallback(a=>(t(l=>[...l,a]),()=>t(l=>{let s=l.slice(),u=s.indexOf(a);return u!==-1&&s.splice(u,1),s})),[]),i=React$2.useMemo(()=>({register:n,slot:o.slot,name:o.name,props:o.props}),[n,o.slot,o.name,o.props]);return React__default["default"].createElement(vo.Provider,{value:i},o.children)},[t])]}var an="p";function me(e){let t=Ro(),r=`headlessui-description-${A()}`;x(()=>t.register(r),[r,t.register]);let o=e,n={...t.props,id:r};return E({props:{...o,...n},slot:t.slot||{},defaultTag:an,name:t.name||"Description"})}var ht=React$2.createContext(()=>{});ht.displayName="StackContext";function cn(){return React$2.useContext(ht)}function Eo({children:e,onUpdate:t,type:r,element:o}){let n=cn(),i=React$2.useCallback((...a)=>{t==null||t(...a),n(...a);},[n,t]);return x(()=>(i(0,r,o),()=>i(1,r,o)),[i,r,o]),React__default["default"].createElement(ht.Provider,{value:i},e)}var yn={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},Ve=React$2.createContext(null);Ve.displayName="DialogContext";function It(e){let t=React$2.useContext(Ve);if(t===null){let r=new Error(`<${e} /> is missing a parent <${An.displayName} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,It),r}return t}function gn(e,t){return S(t.type,yn,e,t)}var Pn="div",xn=1|2,vn=D(function(t,r){let{open:o,onClose:n,initialFocus:i,...a}=t,[l,s]=React$2.useState(0),u=_();o===void 0&&u!==null&&(o=S(u,{[0]:!0,[1]:!1}));let c=React$2.useRef(new Set),m=React$2.useRef(null),b=I(m,r),T=t.hasOwnProperty("open")||u!==null,y=t.hasOwnProperty("onClose");if(!T&&!y)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!T)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!y)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(typeof o!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${o}`);if(typeof n!="function")throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${n}`);let p=o?0:1,f=(()=>u!==null?u===0:p===0)(),[d,P]=React$2.useReducer(gn,{titleId:null,descriptionId:null}),C=React$2.useCallback(()=>n(!1),[n]),R=React$2.useCallback(F=>P({type:0,id:F}),[P]),v=q()&&p===0,h=l>1,O=React$2.useContext(Ve)!==null;Ne(m,v?S(h?"parent":"leaf",{parent:16,leaf:30}):1,{initialFocus:i,containers:c}),fo(m,h?v:!1),w("mousedown",F=>{var H;let $=F.target;p===0&&(h||((H=m.current)==null?void 0:H.contains($))||C());}),w("keydown",F=>{F.key==="Escape"&&p===0&&(h||(F.preventDefault(),F.stopPropagation(),C()));}),React$2.useEffect(()=>{if(p!==0||O)return;let F=document.documentElement.style.overflow,$=document.documentElement.style.paddingRight,H=window.innerWidth-document.documentElement.clientWidth;return document.documentElement.style.overflow="hidden",document.documentElement.style.paddingRight=`${H}px`,()=>{document.documentElement.style.overflow=F,document.documentElement.style.paddingRight=$;}},[p,O]),React$2.useEffect(()=>{if(p!==0||!m.current)return;let F=new IntersectionObserver($=>{for(let H of $)H.boundingClientRect.x===0&&H.boundingClientRect.y===0&&H.boundingClientRect.width===0&&H.boundingClientRect.height===0&&C();});return F.observe(m.current),()=>F.disconnect()},[p,m,C]);let[N,K]=re(),V=`headlessui-dialog-${A()}`,Fe=React$2.useMemo(()=>[{dialogState:p,close:C,setTitleId:R},d],[p,d,C,R]),ge=React$2.useMemo(()=>({open:p===0}),[p]),we={ref:b,id:V,role:"dialog","aria-modal":p===0?!0:void 0,"aria-labelledby":d.titleId,"aria-describedby":N,onClick(F){F.stopPropagation();}},X=a;return React__default["default"].createElement(Eo,{type:"Dialog",element:m,onUpdate:React$2.useCallback((F,$,H)=>{$==="Dialog"&&S(F,{[0](){c.current.add(H),s(Pe=>Pe+1);},[1](){c.current.add(H),s(Pe=>Pe-1);}});},[])},React__default["default"].createElement(At,{force:!0},React__default["default"].createElement(We,null,React__default["default"].createElement(Ve.Provider,{value:Fe},React__default["default"].createElement(We.Group,{target:m},React__default["default"].createElement(At,{force:!1},React__default["default"].createElement(K,{slot:ge,name:"Dialog.Description"},E({props:{...X,...we},slot:ge,defaultTag:Pn,features:xn,visible:f,name:"Dialog"}))))))))}),Rn="div",En=D(function(t,r){let[{dialogState:o,close:n}]=It("Dialog.Overlay"),i=I(r),a=`headlessui-dialog-overlay-${A()}`,l=React$2.useCallback(m=>{if(m.target===m.currentTarget){if(G(m.currentTarget))return m.preventDefault();m.preventDefault(),m.stopPropagation(),n();}},[n]),s=React$2.useMemo(()=>({open:o===0}),[o]);return E({props:{...t,...{ref:i,id:a,"aria-hidden":!0,onClick:l}},slot:s,defaultTag:Rn,name:"Dialog.Overlay"})}),Cn="h2";function Sn(e){let[{dialogState:t,setTitleId:r}]=It("Dialog.Title"),o=`headlessui-dialog-title-${A()}`;React$2.useEffect(()=>(r(o),()=>r(null)),[o,r]);let n=React$2.useMemo(()=>({open:t===0}),[t]);return E({props:{...e,...{id:o}},slot:n,defaultTag:Cn,name:"Dialog.Title"})}var An=Object.assign(vn,{Overlay:En,Title:Sn,Description:me});var Ln={[0]:e=>({...e,disclosureState:S(e.disclosureState,{[0]:1,[1]:0})}),[1]:e=>e.disclosureState===1?e:{...e,disclosureState:1},[4](e){return e.linkedPanel===!0?e:{...e,linkedPanel:!0}},[5](e){return e.linkedPanel===!1?e:{...e,linkedPanel:!1}},[2](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[3](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},Mt=React$2.createContext(null);Mt.displayName="DisclosureContext";function Ft(e){let t=React$2.useContext(Mt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ye.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ft),r}return t}var wt=React$2.createContext(null);wt.displayName="DisclosureAPIContext";function Ao(e){let t=React$2.useContext(wt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ye.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ao),r}return t}var kt=React$2.createContext(null);kt.displayName="DisclosurePanelContext";function Dn(){return React$2.useContext(kt)}function Mn(e,t){return S(t.type,Ln,e,t)}var Fn=React$2.Fragment;function Ye(e){let{defaultOpen:t=!1,...r}=e,o=`headlessui-disclosure-button-${A()}`,n=`headlessui-disclosure-panel-${A()}`,i=React$2.useReducer(Mn,{disclosureState:t?0:1,linkedPanel:!1,buttonId:o,panelId:n}),[{disclosureState:a},l]=i;React$2.useEffect(()=>l({type:2,buttonId:o}),[o,l]),React$2.useEffect(()=>l({type:3,panelId:n}),[n,l]);let s=React$2.useCallback(m=>{l({type:1});let b=(()=>m?m instanceof HTMLElement?m:m.current instanceof HTMLElement?m.current:document.getElementById(o):document.getElementById(o))();b==null||b.focus();},[l,o]),u=React$2.useMemo(()=>({close:s}),[s]),c=React$2.useMemo(()=>({open:a===0,close:s}),[a,s]);return React__default["default"].createElement(Mt.Provider,{value:i},React__default["default"].createElement(wt.Provider,{value:u},React__default["default"].createElement(W,{value:S(a,{[0]:0,[1]:1})},E({props:r,slot:c,defaultTag:Fn,name:"Disclosure"}))))}var wn="button",kn=D(function(t,r){let[o,n]=Ft("Disclosure.Button"),i=React$2.useRef(null),a=I(i,r),l=Dn(),s=l===null?!1:l===o.panelId,u=React$2.useCallback(f=>{var d;if(s){if(o.disclosureState===1)return;switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopPropagation(),n({type:0}),(d=document.getElementById(o.buttonId))==null||d.focus();break}}else switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopPropagation(),n({type:0});break}},[n,s,o.disclosureState,o.buttonId]),c=React$2.useCallback(f=>{switch(f.key){case" ":f.preventDefault();break}},[]),m=React$2.useCallback(f=>{var d;G(f.currentTarget)||t.disabled||(s?(n({type:0}),(d=document.getElementById(o.buttonId))==null||d.focus()):n({type:0}));},[n,t.disabled,o.buttonId,s]),b=React$2.useMemo(()=>({open:o.disclosureState===0}),[o]),T=U(t,i),y=t,p=s?{ref:a,type:T,onKeyDown:u,onClick:m}:{ref:a,id:o.buttonId,type:T,"aria-expanded":t.disabled?void 0:o.disclosureState===0,"aria-controls":o.linkedPanel?o.panelId:void 0,onKeyDown:u,onKeyUp:c,onClick:m};return E({props:{...y,...p},slot:b,defaultTag:wn,name:"Disclosure.Button"})}),_n="div",Gn=1|2,Hn=D(function(t,r){let[o,n]=Ft("Disclosure.Panel"),{close:i}=Ao("Disclosure.Panel"),a=I(r,()=>{o.linkedPanel||n({type:4});}),l=_(),s=(()=>l!==null?l===0:o.disclosureState===0)();React$2.useEffect(()=>()=>n({type:5}),[n]),React$2.useEffect(()=>{var b;o.disclosureState===1&&((b=t.unmount)!=null?b:!0)&&n({type:5});},[o.disclosureState,t.unmount,n]);let u=React$2.useMemo(()=>({open:o.disclosureState===0,close:i}),[o,i]),c={ref:a,id:o.panelId},m=t;return React__default["default"].createElement(kt.Provider,{value:o.panelId},E({props:{...m,...c},slot:u,defaultTag:_n,features:Gn,visible:s,name:"Disclosure.Panel"}))});Ye.Button=kn;Ye.Panel=Hn;var $n={[1](e){return e.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1}},[0](e){return e.disabled||e.listboxState===0?e:{...e,listboxState:0}},[2](e,t){return e.disabled===t.disabled?e:{...e,disabled:t.disabled}},[3](e,t){return e.orientation===t.orientation?e:{...e,orientation:t.orientation}},[4](e,t){if(e.disabled||e.listboxState===1)return e;let r=ae(t,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.searchQuery===""&&e.activeOptionIndex===r?e:{...e,searchQuery:"",activeOptionIndex:r}},[5]:(e,t)=>{if(e.disabled||e.listboxState===1)return e;let o=e.searchQuery!==""?0:1,n=e.searchQuery+t.value.toLowerCase(),a=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+o).concat(e.options.slice(0,e.activeOptionIndex+o)):e.options).find(s=>{var u;return !s.dataRef.current.disabled&&((u=s.dataRef.current.textValue)==null?void 0:u.startsWith(n))}),l=a?e.options.indexOf(a):-1;return l===-1||l===e.activeOptionIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeOptionIndex:l}},[6](e){return e.disabled||e.listboxState===1||e.searchQuery===""?e:{...e,searchQuery:""}},[7]:(e,t)=>{var n;let r=Array.from((n=e.optionsRef.current)==null?void 0:n.querySelectorAll('[id^="headlessui-listbox-option-"]')).reduce((i,a,l)=>Object.assign(i,{[a.id]:l}),{}),o=[...e.options,{id:t.id,dataRef:t.dataRef}].sort((i,a)=>r[i.id]-r[a.id]);return {...e,options:o}},[8]:(e,t)=>{let r=e.options.slice(),o=e.activeOptionIndex!==null?r[e.activeOptionIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,options:r,activeOptionIndex:(()=>n===e.activeOptionIndex||o===null?null:r.indexOf(o))()}}},Gt=React$2.createContext(null);Gt.displayName="ListboxContext";function Re(e){let t=React$2.useContext(Gt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ee.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Re),r}return t}function Qn(e,t){return S(t.type,$n,e,t)}var qn=React$2.Fragment;function Ee(e){let{value:t,onChange:r,disabled:o=!1,horizontal:n=!1,...i}=e,a=n?"horizontal":"vertical",l=React$2.useReducer(Qn,{listboxState:1,propsRef:{current:{value:t,onChange:r}},labelRef:React$2.createRef(),buttonRef:React$2.createRef(),optionsRef:React$2.createRef(),disabled:o,orientation:a,options:[],searchQuery:"",activeOptionIndex:null}),[{listboxState:s,propsRef:u,optionsRef:c,buttonRef:m},b]=l;x(()=>{u.current.value=t;},[t,u]),x(()=>{u.current.onChange=r;},[r,u]),x(()=>b({type:2,disabled:o}),[o]),x(()=>b({type:3,orientation:a}),[a]),w("mousedown",y=>{var f,d,P;let p=y.target;s===0&&(((f=m.current)==null?void 0:f.contains(p))||((d=c.current)==null?void 0:d.contains(p))||(b({type:1}),de(p,1)||(y.preventDefault(),(P=m.current)==null||P.focus())));});let T=React$2.useMemo(()=>({open:s===0,disabled:o}),[s,o]);return React__default["default"].createElement(Gt.Provider,{value:l},React__default["default"].createElement(W,{value:S(s,{[0]:0,[1]:1})},E({props:i,slot:T,defaultTag:qn,name:"Listbox"})))}var zn="button",Yn=D(function(t,r){var p;let[o,n]=Re("Listbox.Button"),i=I(o.buttonRef,r),a=`headlessui-listbox-button-${A()}`,l=Q(),s=React$2.useCallback(f=>{switch(f.key){case" ":case"Enter":case"ArrowDown":f.preventDefault(),n({type:0}),l.nextFrame(()=>{o.propsRef.current.value||n({type:4,focus:0});});break;case"ArrowUp":f.preventDefault(),n({type:0}),l.nextFrame(()=>{o.propsRef.current.value||n({type:4,focus:3});});break}},[n,o,l]),u=React$2.useCallback(f=>{switch(f.key){case" ":f.preventDefault();break}},[]),c=React$2.useCallback(f=>{if(G(f.currentTarget))return f.preventDefault();o.listboxState===0?(n({type:1}),l.nextFrame(()=>{var d;return (d=o.buttonRef.current)==null?void 0:d.focus({preventScroll:!0})})):(f.preventDefault(),n({type:0}));},[n,l,o]),m=ee(()=>{if(!!o.labelRef.current)return [o.labelRef.current.id,a].join(" ")},[o.labelRef.current,a]),b=React$2.useMemo(()=>({open:o.listboxState===0,disabled:o.disabled}),[o]),T=t,y={ref:i,id:a,type:U(t,o.buttonRef),"aria-haspopup":!0,"aria-controls":(p=o.optionsRef.current)==null?void 0:p.id,"aria-expanded":o.disabled?void 0:o.listboxState===0,"aria-labelledby":m,disabled:o.disabled,onKeyDown:s,onKeyUp:u,onClick:c};return E({props:{...T,...y},slot:b,defaultTag:zn,name:"Listbox.Button"})}),Xn="label";function Jn(e){let[t]=Re("Listbox.Label"),r=`headlessui-listbox-label-${A()}`,o=React$2.useCallback(()=>{var a;return (a=t.buttonRef.current)==null?void 0:a.focus({preventScroll:!0})},[t.buttonRef]),n=React$2.useMemo(()=>({open:t.listboxState===0,disabled:t.disabled}),[t]),i={ref:t.labelRef,id:r,onClick:o};return E({props:{...e,...i},slot:n,defaultTag:Xn,name:"Listbox.Label"})}var Zn="ul",ei=1|2,ti=D(function(t,r){var f;let[o,n]=Re("Listbox.Options"),i=I(o.optionsRef,r),a=`headlessui-listbox-options-${A()}`,l=Q(),s=Q(),u=_(),c=(()=>u!==null?u===0:o.listboxState===0)();x(()=>{let d=o.optionsRef.current;!d||o.listboxState===0&&d!==document.activeElement&&d.focus({preventScroll:!0});},[o.listboxState,o.optionsRef]);let m=React$2.useCallback(d=>{switch(s.dispose(),d.key){case" ":if(o.searchQuery!=="")return d.preventDefault(),d.stopPropagation(),n({type:5,value:d.key});case"Enter":if(d.preventDefault(),d.stopPropagation(),n({type:1}),o.activeOptionIndex!==null){let{dataRef:P}=o.options[o.activeOptionIndex];o.propsRef.current.onChange(P.current.value);}k().nextFrame(()=>{var P;return (P=o.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});break;case S(o.orientation,{vertical:"ArrowDown",horizontal:"ArrowRight"}):return d.preventDefault(),d.stopPropagation(),n({type:4,focus:2});case S(o.orientation,{vertical:"ArrowUp",horizontal:"ArrowLeft"}):return d.preventDefault(),d.stopPropagation(),n({type:4,focus:1});case"Home":case"PageUp":return d.preventDefault(),d.stopPropagation(),n({type:4,focus:0});case"End":case"PageDown":return d.preventDefault(),d.stopPropagation(),n({type:4,focus:3});case"Escape":return d.preventDefault(),d.stopPropagation(),n({type:1}),l.nextFrame(()=>{var P;return (P=o.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});case"Tab":d.preventDefault(),d.stopPropagation();break;default:d.key.length===1&&(n({type:5,value:d.key}),s.setTimeout(()=>n({type:6}),350));break}},[l,n,s,o]),b=ee(()=>{var d,P,C;return (C=(d=o.labelRef.current)==null?void 0:d.id)!=null?C:(P=o.buttonRef.current)==null?void 0:P.id},[o.labelRef.current,o.buttonRef.current]),T=React$2.useMemo(()=>({open:o.listboxState===0}),[o]),y={"aria-activedescendant":o.activeOptionIndex===null||(f=o.options[o.activeOptionIndex])==null?void 0:f.id,"aria-labelledby":b,"aria-orientation":o.orientation,id:a,onKeyDown:m,role:"listbox",tabIndex:0,ref:i};return E({props:{...t,...y},slot:T,defaultTag:Zn,features:ei,visible:c,name:"Listbox.Options"})}),oi="li";function ri(e){let{disabled:t=!1,value:r,...o}=e,[n,i]=Re("Listbox.Option"),a=`headlessui-listbox-option-${A()}`,l=n.activeOptionIndex!==null?n.options[n.activeOptionIndex].id===a:!1,s=n.propsRef.current.value===r,u=React$2.useRef({disabled:t,value:r});x(()=>{u.current.disabled=t;},[u,t]),x(()=>{u.current.value=r;},[u,r]),x(()=>{var d,P;u.current.textValue=(P=(d=document.getElementById(a))==null?void 0:d.textContent)==null?void 0:P.toLowerCase();},[u,a]);let c=React$2.useCallback(()=>n.propsRef.current.onChange(r),[n.propsRef,r]);x(()=>(i({type:7,id:a,dataRef:u}),()=>i({type:8,id:a})),[u,a]),x(()=>{var d,P;n.listboxState===0&&(!s||(i({type:4,focus:4,id:a}),(P=(d=document.getElementById(a))==null?void 0:d.focus)==null||P.call(d)));},[n.listboxState]),x(()=>{if(n.listboxState!==0||!l)return;let d=k();return d.requestAnimationFrame(()=>{var P,C;(C=(P=document.getElementById(a))==null?void 0:P.scrollIntoView)==null||C.call(P,{block:"nearest"});}),d.dispose},[a,l,n.listboxState,n.activeOptionIndex]);let m=React$2.useCallback(d=>{if(t)return d.preventDefault();c(),i({type:1}),k().nextFrame(()=>{var P;return (P=n.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});},[i,n.buttonRef,t,c]),b=React$2.useCallback(()=>{if(t)return i({type:4,focus:5});i({type:4,focus:4,id:a});},[t,a,i]),T=React$2.useCallback(()=>{t||l||i({type:4,focus:4,id:a});},[t,l,a,i]),y=React$2.useCallback(()=>{t||!l||i({type:4,focus:5});},[t,l,i]),p=React$2.useMemo(()=>({active:l,selected:s,disabled:t}),[l,s,t]);return E({props:{...o,...{id:a,role:"option",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":s===!0?!0:void 0,disabled:void 0,onClick:m,onFocus:b,onPointerMove:T,onMouseMove:T,onPointerLeave:y,onMouseLeave:y}},slot:p,defaultTag:oi,name:"Listbox.Option"})}Ee.Button=Yn;Ee.Label=Jn;Ee.Options=ti;Ee.Option=ri;var ui={[1](e){return e.menuState===1?e:{...e,activeItemIndex:null,menuState:1}},[0](e){return e.menuState===0?e:{...e,menuState:0}},[2]:(e,t)=>{let r=ae(t,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.searchQuery===""&&e.activeItemIndex===r?e:{...e,searchQuery:"",activeItemIndex:r}},[3]:(e,t)=>{let o=e.searchQuery!==""?0:1,n=e.searchQuery+t.value.toLowerCase(),a=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+o).concat(e.items.slice(0,e.activeItemIndex+o)):e.items).find(s=>{var u;return ((u=s.dataRef.current.textValue)==null?void 0:u.startsWith(n))&&!s.dataRef.current.disabled}),l=a?e.items.indexOf(a):-1;return l===-1||l===e.activeItemIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeItemIndex:l}},[4](e){return e.searchQuery===""?e:{...e,searchQuery:"",searchActiveItemIndex:null}},[5]:(e,t)=>{var n;let r=Array.from((n=e.itemsRef.current)==null?void 0:n.querySelectorAll('[id^="headlessui-menu-item-"]')).reduce((i,a,l)=>Object.assign(i,{[a.id]:l}),{}),o=[...e.items,{id:t.id,dataRef:t.dataRef}].sort((i,a)=>r[i.id]-r[a.id]);return {...e,items:o}},[6]:(e,t)=>{let r=e.items.slice(),o=e.activeItemIndex!==null?r[e.activeItemIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,items:r,activeItemIndex:(()=>n===e.activeItemIndex||o===null?null:r.indexOf(o))()}}},Ht=React$2.createContext(null);Ht.displayName="MenuContext";function Je(e){let t=React$2.useContext(Ht);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ze.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Je),r}return t}function pi(e,t){return S(t.type,ui,e,t)}var di=React$2.Fragment;function Ze(e){let t=React$2.useReducer(pi,{menuState:1,buttonRef:React$2.createRef(),itemsRef:React$2.createRef(),items:[],searchQuery:"",activeItemIndex:null}),[{menuState:r,itemsRef:o,buttonRef:n},i]=t;w("mousedown",l=>{var u,c,m;let s=l.target;r===0&&(((u=n.current)==null?void 0:u.contains(s))||((c=o.current)==null?void 0:c.contains(s))||(i({type:1}),de(s,1)||(l.preventDefault(),(m=n.current)==null||m.focus())));});let a=React$2.useMemo(()=>({open:r===0}),[r]);return React__default["default"].createElement(Ht.Provider,{value:t},React__default["default"].createElement(W,{value:S(r,{[0]:0,[1]:1})},E({props:e,slot:a,defaultTag:di,name:"Menu"})))}var ci="button",fi=D(function(t,r){var y;let[o,n]=Je("Menu.Button"),i=I(o.buttonRef,r),a=`headlessui-menu-button-${A()}`,l=Q(),s=React$2.useCallback(p=>{switch(p.key){case" ":case"Enter":case"ArrowDown":p.preventDefault(),p.stopPropagation(),n({type:0}),l.nextFrame(()=>n({type:2,focus:0}));break;case"ArrowUp":p.preventDefault(),p.stopPropagation(),n({type:0}),l.nextFrame(()=>n({type:2,focus:3}));break}},[n,l]),u=React$2.useCallback(p=>{switch(p.key){case" ":p.preventDefault();break}},[]),c=React$2.useCallback(p=>{if(G(p.currentTarget))return p.preventDefault();t.disabled||(o.menuState===0?(n({type:1}),l.nextFrame(()=>{var f;return (f=o.buttonRef.current)==null?void 0:f.focus({preventScroll:!0})})):(p.preventDefault(),p.stopPropagation(),n({type:0})));},[n,l,o,t.disabled]),m=React$2.useMemo(()=>({open:o.menuState===0}),[o]),b=t,T={ref:i,id:a,type:U(t,o.buttonRef),"aria-haspopup":!0,"aria-controls":(y=o.itemsRef.current)==null?void 0:y.id,"aria-expanded":t.disabled?void 0:o.menuState===0,onKeyDown:s,onKeyUp:u,onClick:c};return E({props:{...b,...T},slot:m,defaultTag:ci,name:"Menu.Button"})}),mi="div",bi=1|2,Ti=D(function(t,r){var p,f;let[o,n]=Je("Menu.Items"),i=I(o.itemsRef,r),a=`headlessui-menu-items-${A()}`,l=Q(),s=_(),u=(()=>s!==null?s===0:o.menuState===0)();React$2.useEffect(()=>{let d=o.itemsRef.current;!d||o.menuState===0&&d!==document.activeElement&&d.focus({preventScroll:!0});},[o.menuState,o.itemsRef]),se({container:o.itemsRef.current,enabled:o.menuState===0,accept(d){return d.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:d.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(d){d.setAttribute("role","none");}});let c=React$2.useCallback(d=>{var P;switch(l.dispose(),d.key){case" ":if(o.searchQuery!=="")return d.preventDefault(),d.stopPropagation(),n({type:3,value:d.key});case"Enter":if(d.preventDefault(),d.stopPropagation(),n({type:1}),o.activeItemIndex!==null){let{id:C}=o.items[o.activeItemIndex];(P=document.getElementById(C))==null||P.click();}k().nextFrame(()=>{var C;return (C=o.buttonRef.current)==null?void 0:C.focus({preventScroll:!0})});break;case"ArrowDown":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:2});case"ArrowUp":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:1});case"Home":case"PageUp":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:0});case"End":case"PageDown":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:3});case"Escape":d.preventDefault(),d.stopPropagation(),n({type:1}),k().nextFrame(()=>{var C;return (C=o.buttonRef.current)==null?void 0:C.focus({preventScroll:!0})});break;case"Tab":d.preventDefault(),d.stopPropagation();break;default:d.key.length===1&&(n({type:3,value:d.key}),l.setTimeout(()=>n({type:4}),350));break}},[n,l,o]),m=React$2.useCallback(d=>{switch(d.key){case" ":d.preventDefault();break}},[]),b=React$2.useMemo(()=>({open:o.menuState===0}),[o]),T={"aria-activedescendant":o.activeItemIndex===null||(p=o.items[o.activeItemIndex])==null?void 0:p.id,"aria-labelledby":(f=o.buttonRef.current)==null?void 0:f.id,id:a,onKeyDown:c,onKeyUp:m,role:"menu",tabIndex:0,ref:i};return E({props:{...t,...T},slot:b,defaultTag:mi,features:bi,visible:u,name:"Menu.Items"})}),yi=React$2.Fragment;function gi(e){let{disabled:t=!1,onClick:r,...o}=e,[n,i]=Je("Menu.Item"),a=`headlessui-menu-item-${A()}`,l=n.activeItemIndex!==null?n.items[n.activeItemIndex].id===a:!1;x(()=>{if(n.menuState!==0||!l)return;let p=k();return p.requestAnimationFrame(()=>{var f,d;(d=(f=document.getElementById(a))==null?void 0:f.scrollIntoView)==null||d.call(f,{block:"nearest"});}),p.dispose},[a,l,n.menuState,n.activeItemIndex]);let s=React$2.useRef({disabled:t});x(()=>{s.current.disabled=t;},[s,t]),x(()=>{var p,f;s.current.textValue=(f=(p=document.getElementById(a))==null?void 0:p.textContent)==null?void 0:f.toLowerCase();},[s,a]),x(()=>(i({type:5,id:a,dataRef:s}),()=>i({type:6,id:a})),[s,a]);let u=React$2.useCallback(p=>{if(t)return p.preventDefault();if(i({type:1}),k().nextFrame(()=>{var f;return (f=n.buttonRef.current)==null?void 0:f.focus({preventScroll:!0})}),r)return r(p)},[i,n.buttonRef,t,r]),c=React$2.useCallback(()=>{if(t)return i({type:2,focus:5});i({type:2,focus:4,id:a});},[t,a,i]),m=React$2.useCallback(()=>{t||l||i({type:2,focus:4,id:a});},[t,l,a,i]),b=React$2.useCallback(()=>{t||!l||i({type:2,focus:5});},[t,l,i]),T=React$2.useMemo(()=>({active:l,disabled:t}),[l,t]);return E({props:{...o,...{id:a,role:"menuitem",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,disabled:void 0,onClick:u,onFocus:c,onPointerMove:m,onMouseMove:m,onPointerLeave:b,onMouseLeave:b}},slot:T,defaultTag:yi,name:"Menu.Item"})}Ze.Button=fi;Ze.Items=Ti;Ze.Item=gi;var vi={[0]:e=>({...e,popoverState:S(e.popoverState,{[0]:1,[1]:0})}),[1](e){return e.popoverState===1?e:{...e,popoverState:1}},[2](e,t){return e.button===t.button?e:{...e,button:t.button}},[3](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[4](e,t){return e.panel===t.panel?e:{...e,panel:t.panel}},[5](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},Ut=React$2.createContext(null);Ut.displayName="PopoverContext";function ot(e){let t=React$2.useContext(Ut);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Te.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,ot),r}return t}var Bt=React$2.createContext(null);Bt.displayName="PopoverAPIContext";function Mo(e){let t=React$2.useContext(Bt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Te.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Mo),r}return t}var Nt=React$2.createContext(null);Nt.displayName="PopoverGroupContext";function Fo(){return React$2.useContext(Nt)}var Wt=React$2.createContext(null);Wt.displayName="PopoverPanelContext";function Ri(){return React$2.useContext(Wt)}function Ei(e,t){return S(t.type,vi,e,t)}var Ci="div";function Te(e){let t=`headlessui-popover-button-${A()}`,r=`headlessui-popover-panel-${A()}`,o=React$2.useReducer(Ei,{popoverState:1,button:null,buttonId:t,panel:null,panelId:r}),[{popoverState:n,button:i,panel:a},l]=o;React$2.useEffect(()=>l({type:3,buttonId:t}),[t,l]),React$2.useEffect(()=>l({type:5,panelId:r}),[r,l]);let s=React$2.useMemo(()=>({buttonId:t,panelId:r,close:()=>l({type:1})}),[t,r,l]),u=Fo(),c=u==null?void 0:u.registerPopover,m=React$2.useCallback(()=>{var p;return (p=u==null?void 0:u.isFocusWithinPopoverGroup())!=null?p:(i==null?void 0:i.contains(document.activeElement))||(a==null?void 0:a.contains(document.activeElement))},[u,i,a]);React$2.useEffect(()=>c==null?void 0:c(s),[c,s]),w("focus",()=>{n===0&&(m()||!i||!a||l({type:1}));},!0),w("mousedown",p=>{let f=p.target;n===0&&((i==null?void 0:i.contains(f))||(a==null?void 0:a.contains(f))||(l({type:1}),de(f,1)||(p.preventDefault(),i==null||i.focus())));});let b=React$2.useCallback(p=>{l({type:1});let f=(()=>p?p instanceof HTMLElement?p:p.current instanceof HTMLElement?p.current:i:i)();f==null||f.focus();},[l,i]),T=React$2.useMemo(()=>({close:b}),[b]),y=React$2.useMemo(()=>({open:n===0,close:b}),[n,b]);return React__default["default"].createElement(Ut.Provider,{value:o},React__default["default"].createElement(Bt.Provider,{value:T},React__default["default"].createElement(W,{value:S(n,{[0]:0,[1]:1})},E({props:e,slot:y,defaultTag:Ci,name:"Popover"}))))}var Si="button",Ai=D(function(t,r){let[o,n]=ot("Popover.Button"),i=React$2.useRef(null),a=Fo(),l=a==null?void 0:a.closeOthers,s=Ri(),u=s===null?!1:s===o.panelId,c=I(i,r,u?null:g=>n({type:2,button:g})),m=I(i,r),b=React$2.useRef(null),T=React$2.useRef(typeof window=="undefined"?null:document.activeElement);w("focus",()=>{T.current=b.current,b.current=document.activeElement;},!0);let y=React$2.useCallback(g=>{var v,h;if(u){if(o.popoverState===1)return;switch(g.key){case" ":case"Enter":g.preventDefault(),g.stopPropagation(),n({type:1}),(v=o.button)==null||v.focus();break}}else switch(g.key){case" ":case"Enter":g.preventDefault(),g.stopPropagation(),o.popoverState===1&&(l==null||l(o.buttonId)),n({type:0});break;case"Escape":if(o.popoverState!==0)return l==null?void 0:l(o.buttonId);if(!i.current||!i.current.contains(document.activeElement))return;g.preventDefault(),g.stopPropagation(),n({type:1});break;case"Tab":if(o.popoverState!==0||!o.panel||!o.button)return;if(g.shiftKey){if(!T.current||((h=o.button)==null?void 0:h.contains(T.current))||o.panel.contains(T.current))return;let O=xe(),L=O.indexOf(T.current);if(O.indexOf(o.button)>L)return;g.preventDefault(),g.stopPropagation(),M(o.panel,8);}else g.preventDefault(),g.stopPropagation(),M(o.panel,1);break}},[n,o.popoverState,o.buttonId,o.button,o.panel,i,l,u]),p=React$2.useCallback(g=>{var v;if(!u&&(g.key===" "&&g.preventDefault(),o.popoverState===0&&!!o.panel&&!!o.button))switch(g.key){case"Tab":if(!T.current||((v=o.button)==null?void 0:v.contains(T.current))||o.panel.contains(T.current))return;let h=xe(),O=h.indexOf(T.current);if(h.indexOf(o.button)>O)return;g.preventDefault(),g.stopPropagation(),M(o.panel,8);break}},[o.popoverState,o.panel,o.button,u]),f=React$2.useCallback(g=>{var v,h;G(g.currentTarget)||t.disabled||(u?(n({type:1}),(v=o.button)==null||v.focus()):(o.popoverState===1&&(l==null||l(o.buttonId)),(h=o.button)==null||h.focus(),n({type:0})));},[n,o.button,o.popoverState,o.buttonId,t.disabled,l,u]),d=React$2.useMemo(()=>({open:o.popoverState===0}),[o]),P=U(t,i),C=t,R=u?{ref:m,type:P,onKeyDown:y,onClick:f}:{ref:c,id:o.buttonId,type:P,"aria-expanded":t.disabled?void 0:o.popoverState===0,"aria-controls":o.panel?o.panelId:void 0,onKeyDown:y,onKeyUp:p,onClick:f};return E({props:{...C,...R},slot:d,defaultTag:Si,name:"Popover.Button"})}),hi="div",Oi=1|2,Ii=D(function(t,r){let[{popoverState:o},n]=ot("Popover.Overlay"),i=I(r),a=`headlessui-popover-overlay-${A()}`,l=_(),s=(()=>l!==null?l===0:o===0)(),u=React$2.useCallback(T=>{if(G(T.currentTarget))return T.preventDefault();n({type:1});},[n]),c=React$2.useMemo(()=>({open:o===0}),[o]);return E({props:{...t,...{ref:i,id:a,"aria-hidden":!0,onClick:u}},slot:c,defaultTag:hi,features:Oi,visible:s,name:"Popover.Overlay"})}),Li$1="div",Di=1|2,Mi=D(function(t,r){let{focus:o=!1,...n}=t,[i,a]=ot("Popover.Panel"),{close:l}=Mo("Popover.Panel"),s=React$2.useRef(null),u=I(s,r,p=>{a({type:4,panel:p});}),c=_(),m=(()=>c!==null?c===0:i.popoverState===0)(),b=React$2.useCallback(p=>{var f;switch(p.key){case"Escape":if(i.popoverState!==0||!s.current||!s.current.contains(document.activeElement))return;p.preventDefault(),p.stopPropagation(),a({type:1}),(f=i.button)==null||f.focus();break}},[i,s,a]);React$2.useEffect(()=>()=>a({type:4,panel:null}),[a]),React$2.useEffect(()=>{var p;t.static||i.popoverState===1&&((p=t.unmount)!=null?p:!0)&&a({type:4,panel:null});},[i.popoverState,t.unmount,t.static,a]),React$2.useEffect(()=>{if(!o||i.popoverState!==0||!s.current)return;let p=document.activeElement;s.current.contains(p)||M(s.current,1);},[o,s,i.popoverState]),w("keydown",p=>{var d;if(i.popoverState!==0||!s.current||p.key!=="Tab"||!document.activeElement||!s.current||!s.current.contains(document.activeElement))return;p.preventDefault();let f=M(s.current,p.shiftKey?2:4);if(f===3)return (d=i.button)==null?void 0:d.focus();if(f===1){if(!i.button)return;let P=xe(),C=P.indexOf(i.button),R=P.splice(C+1).filter(g=>{var v;return !((v=s.current)==null?void 0:v.contains(g))});M(R,1)===0&&M(document.body,1);}}),w("focus",()=>{var p;!o||i.popoverState===0&&(!s.current||((p=s.current)==null?void 0:p.contains(document.activeElement))||a({type:1}));},!0);let T=React$2.useMemo(()=>({open:i.popoverState===0,close:l}),[i,l]),y={ref:u,id:i.panelId,onKeyDown:b};return React__default["default"].createElement(Wt.Provider,{value:i.panelId},E({props:{...n,...y},slot:T,defaultTag:Li$1,features:Di,visible:m,name:"Popover.Panel"}))}),Fi="div";function wi(e){let t=React$2.useRef(null),[r,o]=React$2.useState([]),n=React$2.useCallback(b=>{o(T=>{let y=T.indexOf(b);if(y!==-1){let p=T.slice();return p.splice(y,1),p}return T});},[o]),i=React$2.useCallback(b=>(o(T=>[...T,b]),()=>n(b)),[o,n]),a=React$2.useCallback(()=>{var T;let b=document.activeElement;return ((T=t.current)==null?void 0:T.contains(b))?!0:r.some(y=>{var p,f;return ((p=document.getElementById(y.buttonId))==null?void 0:p.contains(b))||((f=document.getElementById(y.panelId))==null?void 0:f.contains(b))})},[t,r]),l=React$2.useCallback(b=>{for(let T of r)T.buttonId!==b&&T.close();},[r]),s=React$2.useMemo(()=>({registerPopover:i,unregisterPopover:n,isFocusWithinPopoverGroup:a,closeOthers:l}),[i,n,a,l]),u=React$2.useMemo(()=>({}),[]),c={ref:t},m=e;return React__default["default"].createElement(Nt.Provider,{value:s},E({props:{...m,...c},slot:u,defaultTag:Fi,name:"Popover.Group"}))}Te.Button=Ai;Te.Overlay=Ii;Te.Panel=Mi;Te.Group=wi;function wo(e=0){let[t,r]=React$2.useState(e),o=React$2.useCallback(l=>r(s=>s|l),[r]),n=React$2.useCallback(l=>Boolean(t&l),[t]),i=React$2.useCallback(l=>r(s=>s&~l),[r]),a=React$2.useCallback(l=>r(s=>s^l),[r]);return {addFlag:o,hasFlag:n,removeFlag:i,toggleFlag:a}}var _o=React$2.createContext(null);function Go(){let e=React$2.useContext(_o);if(e===null){let t=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Go),t}return e}function Ae(){let[e,t]=React$2.useState([]);return [e.length>0?e.join(" "):void 0,React$2.useMemo(()=>function(o){let n=React$2.useCallback(a=>(t(l=>[...l,a]),()=>t(l=>{let s=l.slice(),u=s.indexOf(a);return u!==-1&&s.splice(u,1),s})),[]),i=React$2.useMemo(()=>({register:n,slot:o.slot,name:o.name,props:o.props}),[n,o.slot,o.name,o.props]);return React__default["default"].createElement(_o.Provider,{value:i},o.children)},[t])]}var Ni="label";function nt(e){let{passive:t=!1,...r}=e,o=Go(),n=`headlessui-label-${A()}`;x(()=>o.register(n),[n,o.register]);let i={...o.props,id:n},a={...r,...i};return t&&delete a.onClick,E({props:a,slot:o.slot||{},defaultTag:Ni,name:o.name||"Label"})}var Vi={[0](e,t){return {...e,options:[...e.options,{id:t.id,element:t.element,propsRef:t.propsRef}]}},[1](e,t){let r=e.options.slice(),o=e.options.findIndex(n=>n.id===t.id);return o===-1?e:(r.splice(o,1),{...e,options:r})}},jt=React$2.createContext(null);jt.displayName="RadioGroupContext";function Ho(e){let t=React$2.useContext(jt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${lt.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ho),r}return t}function $i(e,t){return S(t.type,Vi,e,t)}var Qi="div";function lt(e){let{value:t,onChange:r,disabled:o=!1,...n}=e,[{options:i},a]=React$2.useReducer($i,{options:[]}),[l,s]=Ae(),[u,c]=re(),m=`headlessui-radiogroup-${A()}`,b=React$2.useRef(null),T=React$2.useMemo(()=>i.find(R=>!R.propsRef.current.disabled),[i]),y=React$2.useMemo(()=>i.some(R=>R.propsRef.current.value===t),[i,t]),p=React$2.useCallback(R=>{var v;if(o||R===t)return !1;let g=(v=i.find(h=>h.propsRef.current.value===R))==null?void 0:v.propsRef.current;return (g==null?void 0:g.disabled)?!1:(r(R),!0)},[r,t,o,i]);se({container:b.current,accept(R){return R.getAttribute("role")==="radio"?NodeFilter.FILTER_REJECT:R.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(R){R.setAttribute("role","none");}});let f=React$2.useCallback(R=>{if(!b.current)return;let v=i.filter(h=>h.propsRef.current.disabled===!1).map(h=>h.element.current);switch(R.key){case"ArrowLeft":case"ArrowUp":if(R.preventDefault(),R.stopPropagation(),M(v,2|16)===2){let O=i.find(L=>L.element.current===document.activeElement);O&&p(O.propsRef.current.value);}break;case"ArrowRight":case"ArrowDown":if(R.preventDefault(),R.stopPropagation(),M(v,4|16)===2){let O=i.find(L=>L.element.current===document.activeElement);O&&p(O.propsRef.current.value);}break;case" ":{R.preventDefault(),R.stopPropagation();let h=i.find(O=>O.element.current===document.activeElement);h&&p(h.propsRef.current.value);}break}},[b,i,p]),d=React$2.useCallback(R=>(a({type:0,...R}),()=>a({type:1,id:R.id})),[a]),P=React$2.useMemo(()=>({registerOption:d,firstOption:T,containsCheckedOption:y,change:p,disabled:o,value:t}),[d,T,y,p,o,t]),C={ref:b,id:m,role:"radiogroup","aria-labelledby":l,"aria-describedby":u,onKeyDown:f};return React__default["default"].createElement(c,{name:"RadioGroup.Description"},React__default["default"].createElement(s,{name:"RadioGroup.Label"},React__default["default"].createElement(jt.Provider,{value:P},E({props:{...n,...C},defaultTag:Qi,name:"RadioGroup"}))))}var qi="div";function zi(e){let t=React$2.useRef(null),r=`headlessui-radiogroup-option-${A()}`,[o,n]=Ae(),[i,a]=re(),{addFlag:l,removeFlag:s,hasFlag:u}=wo(1),{value:c,disabled:m=!1,...b}=e,T=React$2.useRef({value:c,disabled:m});x(()=>{T.current.value=c;},[c,T]),x(()=>{T.current.disabled=m;},[m,T]);let{registerOption:y,disabled:p,change:f,firstOption:d,containsCheckedOption:P,value:C}=Ho("RadioGroup.Option");x(()=>y({id:r,element:t,propsRef:T}),[r,y,t,e]);let R=React$2.useCallback(()=>{var V;!f(c)||(l(2),(V=t.current)==null||V.focus());},[l,f,c]),g=React$2.useCallback(()=>l(2),[l]),v=React$2.useCallback(()=>s(2),[s]),h=(d==null?void 0:d.id)===r,O=p||m,L=C===c,N={ref:t,id:r,role:"radio","aria-checked":L?"true":"false","aria-labelledby":o,"aria-describedby":i,"aria-disabled":O?!0:void 0,tabIndex:(()=>O?-1:L||!P&&h?0:-1)(),onClick:O?void 0:R,onFocus:O?void 0:g,onBlur:O?void 0:v},K=React$2.useMemo(()=>({checked:L,disabled:O,active:u(2)}),[L,O,u]);return React__default["default"].createElement(a,{name:"RadioGroup.Description"},React__default["default"].createElement(n,{name:"RadioGroup.Label"},E({props:{...b,...N},slot:K,defaultTag:qi,name:"RadioGroup.Option"})))}lt.Option=zi;lt.Label=nt;lt.Description=me;var $t=React$2.createContext(null);$t.displayName="GroupContext";var zt=React$2.createContext(null);zt.displayName="TabsContext";var dt=React$2.createContext(null);dt.displayName="TransitionContext";var ct=React$2.createContext(null);ct.displayName="NestingContext";
|
|
3691
|
+
`));return React$2.cloneElement(u,Object.assign({},fr(mr(gt(l,["ref"])),u.props,["onClick"]),s))}return React$2.createElement(n,Object.assign({},gt(l,["ref"]),n!==React$2.Fragment&&s),u)}function fr(e,t,r){let o=Object.assign({},e);for(let n of r)e[n]!==void 0&&t[n]!==void 0&&Object.assign(o,{[n](i){i.defaultPrevented||e[n](i),i.defaultPrevented||t[n](i);}});return o}function D(e){var t;return Object.assign(React$2.forwardRef(e),{displayName:(t=e.displayName)!=null?t:e.name})}function mr(e){let t=Object.assign({},e);for(let r in t)t[r]===void 0&&delete t[r];return t}function gt(e,t=[]){let r=Object.assign({},e);for(let o of t)o in r&&delete r[o];return r}function br(e){throw new Error("Unexpected object: "+e)}function ae(e,t){let r=t.resolveItems();if(r.length<=0)return null;let o=t.resolveActiveIndex(),n=o!=null?o:-1,i=(()=>{switch(e.focus){case 0:return r.findIndex(a=>!t.resolveDisabled(a));case 1:{let a=r.slice().reverse().findIndex((l,s,u)=>n!==-1&&u.length-s-1>=n?!1:!t.resolveDisabled(l));return a===-1?a:r.length-1-a}case 2:return r.findIndex((a,l)=>l<=n?!1:!t.resolveDisabled(a));case 3:{let a=r.slice().reverse().findIndex(l=>!t.resolveDisabled(l));return a===-1?a:r.length-1-a}case 4:return r.findIndex(a=>t.resolveId(a)===e.id);case 5:return null;default:br(e);}})();return i===-1?o:i}function G(e){let t=e.parentElement,r=null;for(;t&&!(t instanceof HTMLFieldSetElement);)t instanceof HTMLLegendElement&&(r=t),t=t.parentElement;let o=(t==null?void 0:t.getAttribute("disabled"))==="";return o&&Tr(r)?!1:o}function Tr(e){if(!e)return !1;let t=e.previousElementSibling;for(;t!==null;){if(t instanceof HTMLLegendElement)return !1;t=t.previousElementSibling;}return !0}function w$1(e,t,r){let o=React$2.useRef(t);o.current=t,React$2.useEffect(()=>{function n(i){o.current.call(window,i);}return window.addEventListener(e,n,r),()=>window.removeEventListener(e,n,r)},[e,r]);}var Pt=React$2.createContext(null);Pt.displayName="OpenClosedContext";function _(){return React$2.useContext(Pt)}function W({value:e,children:t}){return React__default["default"].createElement(Pt.Provider,{value:e},t)}function ro(e){var r;if(e.type)return e.type;let t=(r=e.as)!=null?r:"button";if(typeof t=="string"&&t.toLowerCase()==="button")return "button"}function U(e,t){let[r,o]=React$2.useState(()=>ro(e));return x$1(()=>{o(ro(e));},[e.type,e.as]),x$1(()=>{r||!t.current||t.current instanceof HTMLButtonElement&&!t.current.hasAttribute("type")&&o("button");},[r,t]),r}function se({container:e,accept:t,walk:r,enabled:o=!0}){let n=React$2.useRef(t),i=React$2.useRef(r);React$2.useEffect(()=>{n.current=t,i.current=r;},[t,r]),x$1(()=>{if(!e||!o)return;let a=n.current,l=i.current,s=Object.assign(c=>a(c),{acceptNode:a}),u=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,s,!1);for(;u.nextNode();)l(u.currentNode);},[e,o,n,i]);}var Ar={[1](e){return e.disabled||e.comboboxState===1?e:{...e,activeOptionIndex:null,comboboxState:1}},[0](e){return e.disabled||e.comboboxState===0?e:{...e,comboboxState:0}},[2](e,t){return e.disabled===t.disabled?e:{...e,disabled:t.disabled}},[3](e,t){if(e.disabled||e.optionsRef.current&&!e.optionsPropsRef.current.static&&e.comboboxState===1)return e;let r=ae(t,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.activeOptionIndex===r?e:{...e,activeOptionIndex:r}},[4]:(e,t)=>{var i;let r=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,o=Array.from((i=e.optionsRef.current)==null?void 0:i.querySelectorAll('[id^="headlessui-combobox-option-"]')).reduce((a,l,s)=>Object.assign(a,{[l.id]:s}),{}),n=[...e.options,{id:t.id,dataRef:t.dataRef}].sort((a,l)=>o[a.id]-o[l.id]);return {...e,options:n,activeOptionIndex:(()=>r===null?null:n.indexOf(r))()}},[5]:(e,t)=>{let r=e.options.slice(),o=e.activeOptionIndex!==null?r[e.activeOptionIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,options:r,activeOptionIndex:(()=>n===e.activeOptionIndex||o===null?null:r.indexOf(o))()}}},vt=React$2.createContext(null);vt.displayName="ComboboxContext";function pe(e){let t=React$2.useContext(vt);if(t===null){let r=new Error(`<${e} /> is missing a parent <Combobox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,pe),r}return t}var Rt=React$2.createContext(null);Rt.displayName="ComboboxActions";function Ue(){let e=React$2.useContext(Rt);if(e===null){let t=new Error("ComboboxActions is missing a parent <Combobox /> component.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Ue),t}return e}function hr(e,t){return S(t.type,Ar,e,t)}var Or=React$2.Fragment,Ir=D(function(t,r){let{value:o,onChange:n,disabled:i=!1,...a}=t,l=React$2.useRef({value:o,onChange:n}),s=React$2.useRef({static:!1,hold:!1}),u=React$2.useRef({displayValue:void 0}),c=React$2.useReducer(hr,{comboboxState:1,comboboxPropsRef:l,optionsPropsRef:s,inputPropsRef:u,labelRef:React$2.createRef(),inputRef:React$2.createRef(),buttonRef:React$2.createRef(),optionsRef:React$2.createRef(),disabled:i,options:[],activeOptionIndex:null}),[{comboboxState:m,options:b,activeOptionIndex:T,optionsRef:y,inputRef:p,buttonRef:f},d]=c;x$1(()=>{l.current.value=o;},[o,l]),x$1(()=>{l.current.onChange=n;},[n,l]),x$1(()=>d({type:2,disabled:i}),[i]),w$1("mousedown",O=>{var N,K,V;let L=O.target;m===0&&(((N=f.current)==null?void 0:N.contains(L))||((K=p.current)==null?void 0:K.contains(L))||((V=y.current)==null?void 0:V.contains(L))||d({type:1}));});let P=T===null?null:b[T].dataRef.current.value,C=React$2.useMemo(()=>({open:m===0,disabled:i,activeIndex:T,activeOption:P}),[m,i,b,T]),R=React$2.useCallback(()=>{if(!p.current||o===void 0)return;let O=u.current.displayValue;typeof O=="function"?p.current.value=O(o):typeof o=="string"&&(p.current.value=o);},[o,p,u]),g=React$2.useCallback(O=>{let L=b.find(K=>K.id===O);if(!L)return;let{dataRef:N}=L;l.current.onChange(N.current.value),R();},[b,l,p]),v=React$2.useCallback(()=>{if(T!==null){let{dataRef:O}=b[T];l.current.onChange(O.current.value),R();}},[T,b,l,p]),h=React$2.useMemo(()=>({selectOption:g,selectActiveOption:v}),[g,v]);return x$1(()=>{m===1&&R();},[R,m]),x$1(R,[R]),React__default["default"].createElement(Rt.Provider,{value:h},React__default["default"].createElement(vt.Provider,{value:c},React__default["default"].createElement(W,{value:S(m,{[0]:0,[1]:1})},E({props:r===null?a:{...a,ref:r},slot:C,defaultTag:Or,name:"Combobox"}))))}),Lr="input",Dr=D(function(t,r){var R,g;let{value:o,onChange:n,displayValue:i,...a}=t,[l,s]=pe("Combobox.Input"),u=Ue(),c=I(l.inputRef,r),m=l.inputPropsRef,b=`headlessui-combobox-input-${A$1()}`,T=Q(),y=ke(n);x$1(()=>{m.current.displayValue=i;},[i,m]);let p=React$2.useCallback(v=>{switch(v.key){case"Enter":v.preventDefault(),v.stopPropagation(),u.selectActiveOption(),s({type:1});break;case"ArrowDown":return v.preventDefault(),v.stopPropagation(),S(l.comboboxState,{[0]:()=>s({type:3,focus:2}),[1]:()=>{s({type:0}),T.nextFrame(()=>{l.comboboxPropsRef.current.value||s({type:3,focus:0});});}});case"ArrowUp":return v.preventDefault(),v.stopPropagation(),S(l.comboboxState,{[0]:()=>s({type:3,focus:1}),[1]:()=>{s({type:0}),T.nextFrame(()=>{l.comboboxPropsRef.current.value||s({type:3,focus:3});});}});case"Home":case"PageUp":return v.preventDefault(),v.stopPropagation(),s({type:3,focus:0});case"End":case"PageDown":return v.preventDefault(),v.stopPropagation(),s({type:3,focus:3});case"Escape":return v.preventDefault(),l.optionsRef.current&&!l.optionsPropsRef.current.static&&v.stopPropagation(),s({type:1});case"Tab":u.selectActiveOption(),s({type:1});break}},[T,s,l,u]),f=React$2.useCallback(v=>{var h;s({type:0}),(h=y.current)==null||h.call(y,v);},[s,y]),d=ee(()=>{if(!!l.labelRef.current)return [l.labelRef.current.id].join(" ")},[l.labelRef.current]),P=React$2.useMemo(()=>({open:l.comboboxState===0,disabled:l.disabled}),[l]),C={ref:c,id:b,role:"combobox",type:"text","aria-controls":(R=l.optionsRef.current)==null?void 0:R.id,"aria-expanded":l.disabled?void 0:l.comboboxState===0,"aria-activedescendant":l.activeOptionIndex===null||(g=l.options[l.activeOptionIndex])==null?void 0:g.id,"aria-labelledby":d,disabled:l.disabled,onKeyDown:p,onChange:f};return E({props:{...a,...C},slot:P,defaultTag:Lr,name:"Combobox.Input"})}),Mr="button",Fr=D(function(t,r){var p;let[o,n]=pe("Combobox.Button"),i=Ue(),a=I(o.buttonRef,r),l=`headlessui-combobox-button-${A$1()}`,s=Q(),u=React$2.useCallback(f=>{switch(f.key){case"ArrowDown":return f.preventDefault(),f.stopPropagation(),o.comboboxState===1&&(n({type:0}),s.nextFrame(()=>{o.comboboxPropsRef.current.value||n({type:3,focus:0});})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});case"ArrowUp":return f.preventDefault(),f.stopPropagation(),o.comboboxState===1&&(n({type:0}),s.nextFrame(()=>{o.comboboxPropsRef.current.value||n({type:3,focus:3});})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});case"Escape":return f.preventDefault(),o.optionsRef.current&&!o.optionsPropsRef.current.static&&f.stopPropagation(),n({type:1}),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})})}},[s,n,o,i]),c=React$2.useCallback(f=>{if(G(f.currentTarget))return f.preventDefault();o.comboboxState===0?n({type:1}):(f.preventDefault(),n({type:0})),s.nextFrame(()=>{var d;return (d=o.inputRef.current)==null?void 0:d.focus({preventScroll:!0})});},[n,s,o]),m=ee(()=>{if(!!o.labelRef.current)return [o.labelRef.current.id,l].join(" ")},[o.labelRef.current,l]),b=React$2.useMemo(()=>({open:o.comboboxState===0,disabled:o.disabled}),[o]),T=t,y={ref:a,id:l,type:U(t,o.buttonRef),tabIndex:-1,"aria-haspopup":!0,"aria-controls":(p=o.optionsRef.current)==null?void 0:p.id,"aria-expanded":o.disabled?void 0:o.comboboxState===0,"aria-labelledby":m,disabled:o.disabled,onClick:c,onKeyDown:u};return E({props:{...T,...y},slot:b,defaultTag:Mr,name:"Combobox.Button"})}),wr="label";function kr(e){let[t]=pe("Combobox.Label"),r=`headlessui-combobox-label-${A$1()}`,o=React$2.useCallback(()=>{var a;return (a=t.inputRef.current)==null?void 0:a.focus({preventScroll:!0})},[t.inputRef]),n=React$2.useMemo(()=>({open:t.comboboxState===0,disabled:t.disabled}),[t]),i={ref:t.labelRef,id:r,onClick:o};return E({props:{...e,...i},slot:n,defaultTag:wr,name:"Combobox.Label"})}var _r="ul",Gr=1|2,Hr=D(function(t,r){var y;let{hold:o=!1,...n}=t,[i]=pe("Combobox.Options"),{optionsPropsRef:a}=i,l=I(i.optionsRef,r),s=`headlessui-combobox-options-${A$1()}`,u=_(),c=(()=>u!==null?u===0:i.comboboxState===0)();x$1(()=>{var p;a.current.static=(p=t.static)!=null?p:!1;},[a,t.static]),x$1(()=>{a.current.hold=o;},[o,a]),se({container:i.optionsRef.current,enabled:i.comboboxState===0,accept(p){return p.getAttribute("role")==="option"?NodeFilter.FILTER_REJECT:p.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(p){p.setAttribute("role","none");}});let m=ee(()=>{var p,f,d;return (d=(p=i.labelRef.current)==null?void 0:p.id)!=null?d:(f=i.buttonRef.current)==null?void 0:f.id},[i.labelRef.current,i.buttonRef.current]),b=React$2.useMemo(()=>({open:i.comboboxState===0}),[i]),T={"aria-activedescendant":i.activeOptionIndex===null||(y=i.options[i.activeOptionIndex])==null?void 0:y.id,"aria-labelledby":m,role:"listbox",id:s,ref:l};return E({props:{...n,...T},slot:b,defaultTag:_r,features:Gr,visible:c,name:"Combobox.Options"})}),Ur="li";function Br(e){let{disabled:t=!1,value:r,...o}=e,[n,i]=pe("Combobox.Option"),a=Ue(),l=`headlessui-combobox-option-${A$1()}`,s=n.activeOptionIndex!==null?n.options[n.activeOptionIndex].id===l:!1,u=n.comboboxPropsRef.current.value===r,c=React$2.useRef({disabled:t,value:r});x$1(()=>{c.current.disabled=t;},[c,t]),x$1(()=>{c.current.value=r;},[c,r]),x$1(()=>{var P,C;c.current.textValue=(C=(P=document.getElementById(l))==null?void 0:P.textContent)==null?void 0:C.toLowerCase();},[c,l]);let m=React$2.useCallback(()=>a.selectOption(l),[a,l]);x$1(()=>(i({type:4,id:l,dataRef:c}),()=>i({type:5,id:l})),[c,l]),x$1(()=>{n.comboboxState===0&&(!u||i({type:3,focus:4,id:l}));},[n.comboboxState,u,l]),x$1(()=>{if(n.comboboxState!==0||!s)return;let P=k$1();return P.requestAnimationFrame(()=>{var C,R;(R=(C=document.getElementById(l))==null?void 0:C.scrollIntoView)==null||R.call(C,{block:"nearest"});}),P.dispose},[l,s,n.comboboxState,n.activeOptionIndex]);let b=React$2.useCallback(P=>{if(t)return P.preventDefault();m(),i({type:1}),k$1().nextFrame(()=>{var C;return (C=n.inputRef.current)==null?void 0:C.focus({preventScroll:!0})});},[i,n.inputRef,t,m]),T=React$2.useCallback(()=>{if(t)return i({type:3,focus:5});i({type:3,focus:4,id:l});},[t,l,i]),y=React$2.useCallback(()=>{t||s||i({type:3,focus:4,id:l});},[t,s,l,i]),p=React$2.useCallback(()=>{t||!s||n.optionsPropsRef.current.hold||i({type:3,focus:5});},[t,s,i,n.comboboxState,n.comboboxPropsRef]),f=React$2.useMemo(()=>({active:s,selected:u,disabled:t}),[s,u,t]);return E({props:{...o,...{id:l,role:"option",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":u===!0?!0:void 0,disabled:void 0,onClick:b,onFocus:T,onPointerMove:y,onMouseMove:y,onPointerLeave:p,onMouseLeave:p}},slot:f,defaultTag:Ur,name:"Combobox.Option"})}Object.assign(Ir,{Input:Dr,Button:Fr,Label:kr,Options:Hr,Option:Br});var Et=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");function xe(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Et))}function de(e,t=0){return e===document.body?!1:S(t,{[0](){return e.matches(Et)},[1](){let r=e;for(;r!==null;){if(r.matches(Et))return !0;r=r.parentElement;}return !1}})}function ce(e){e==null||e.focus({preventScroll:!0});}function M(e,t){let r=Array.isArray(e)?e.slice().sort((c,m)=>{let b=c.compareDocumentPosition(m);return b&Node.DOCUMENT_POSITION_FOLLOWING?-1:b&Node.DOCUMENT_POSITION_PRECEDING?1:0}):xe(e),o=document.activeElement,n=(()=>{if(t&(1|4))return 1;if(t&(2|8))return -1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),i=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,r.indexOf(o))-1;if(t&4)return Math.max(0,r.indexOf(o))+1;if(t&8)return r.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),a=t&32?{preventScroll:!0}:{},l=0,s=r.length,u;do{if(l>=s||l+s<=0)return 0;let c=i+l;if(t&16)c=(c+s)%s;else {if(c<0)return 3;if(c>=s)return 1}u=r[c],u==null||u.focus(a),l+=n;}while(u!==document.activeElement);return u.hasAttribute("tabindex")||u.setAttribute("tabindex","0"),2}function Be(){let e=React$2.useRef(!1);return React$2.useEffect(()=>(e.current=!0,()=>{e.current=!1;}),[]),e}function Ne(e,t=30,{initialFocus:r,containers:o}={}){let n=React$2.useRef(typeof window!="undefined"?document.activeElement:null),i=React$2.useRef(null),a=Be(),l=Boolean(t&16),s=Boolean(t&2);React$2.useEffect(()=>{!l||(n.current=document.activeElement);},[l]),React$2.useEffect(()=>{if(!!l)return ()=>{ce(n.current),n.current=null;}},[l]),React$2.useEffect(()=>{if(!s||!e.current)return;let u=document.activeElement;if(r==null?void 0:r.current){if((r==null?void 0:r.current)===u){i.current=u;return}}else if(e.current.contains(u)){i.current=u;return}(r==null?void 0:r.current)?ce(r.current):M(e.current,1)===0&&console.warn("There are no focusable elements inside the <FocusTrap />"),i.current=document.activeElement;},[e,r,s]),w$1("keydown",u=>{!(t&4)||!e.current||u.key==="Tab"&&(u.preventDefault(),M(e.current,(u.shiftKey?2:4)|16)===2&&(i.current=document.activeElement));}),w$1("focus",u=>{if(!(t&8))return;let c=new Set(o==null?void 0:o.current);if(c.add(e),!c.size)return;let m=i.current;if(!m||!a.current)return;let b=u.target;b&&b instanceof HTMLElement?Kr(c,b)?(i.current=b,ce(b)):(u.preventDefault(),u.stopPropagation(),ce(m)):ce(i.current);},!0);}function Kr(e,t){var r;for(let o of e)if((r=o.current)==null?void 0:r.contains(t))return !0;return !1}var fe=new Set,J=new Map;function po(e){e.setAttribute("aria-hidden","true"),e.inert=!0;}function co(e){let t=J.get(e);!t||(t["aria-hidden"]===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",t["aria-hidden"]),e.inert=t.inert);}function fo(e,t=!0){x$1(()=>{if(!t||!e.current)return;let r=e.current;fe.add(r);for(let o of J.keys())o.contains(r)&&(co(o),J.delete(o));return document.querySelectorAll("body > *").forEach(o=>{if(o instanceof HTMLElement){for(let n of fe)if(o.contains(n))return;fe.size===1&&(J.set(o,{"aria-hidden":o.getAttribute("aria-hidden"),inert:o.inert}),po(o));}}),()=>{if(fe.delete(r),fe.size>0)document.querySelectorAll("body > *").forEach(o=>{if(o instanceof HTMLElement&&!J.has(o)){for(let n of fe)if(o.contains(n))return;J.set(o,{"aria-hidden":o.getAttribute("aria-hidden"),inert:o.inert}),po(o);}});else for(let o of J.keys())co(o),J.delete(o);}},[t]);}var mo=React$2.createContext(!1);function bo(){return React$2.useContext(mo)}function At(e){return React__default["default"].createElement(mo.Provider,{value:e.force},e.children)}function Xr(){let e=bo(),t=React$2.useContext(Po),[r,o]=React$2.useState(()=>{if(!e&&t!==null||typeof window=="undefined")return null;let n=document.getElementById("headlessui-portal-root");if(n)return n;let i=document.createElement("div");return i.setAttribute("id","headlessui-portal-root"),document.body.appendChild(i)});return React$2.useEffect(()=>{r!==null&&(document.body.contains(r)||document.body.appendChild(r));},[r]),React$2.useEffect(()=>{e||t!==null&&o(t.current);},[t,o,e]),r}var Jr=React$2.Fragment;function We(e){let t=e,r=Xr(),[o]=React$2.useState(()=>typeof window=="undefined"?null:document.createElement("div")),n=q$1();return x$1(()=>{if(!!r&&!!o)return r.appendChild(o),()=>{var i;!r||!o||(r.removeChild(o),r.childNodes.length<=0&&((i=r.parentElement)==null||i.removeChild(r)));}},[r,o]),n?!r||!o?null:reactDom.createPortal(E({props:t,defaultTag:Jr,name:"Portal"}),o):null}var Zr=React$2.Fragment,Po=React$2.createContext(null);function en(e){let{target:t,...r}=e;return React__default["default"].createElement(Po.Provider,{value:t},E({props:r,defaultTag:Zr,name:"Popover.Group"}))}We.Group=en;var vo=React$2.createContext(null);function Ro(){let e=React$2.useContext(vo);if(e===null){let t=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Ro),t}return e}function re(){let[e,t]=React$2.useState([]);return [e.length>0?e.join(" "):void 0,React$2.useMemo(()=>function(o){let n=React$2.useCallback(a=>(t(l=>[...l,a]),()=>t(l=>{let s=l.slice(),u=s.indexOf(a);return u!==-1&&s.splice(u,1),s})),[]),i=React$2.useMemo(()=>({register:n,slot:o.slot,name:o.name,props:o.props}),[n,o.slot,o.name,o.props]);return React__default["default"].createElement(vo.Provider,{value:i},o.children)},[t])]}var an="p";function me(e){let t=Ro(),r=`headlessui-description-${A$1()}`;x$1(()=>t.register(r),[r,t.register]);let o=e,n={...t.props,id:r};return E({props:{...o,...n},slot:t.slot||{},defaultTag:an,name:t.name||"Description"})}var ht=React$2.createContext(()=>{});ht.displayName="StackContext";function cn(){return React$2.useContext(ht)}function Eo({children:e,onUpdate:t,type:r,element:o}){let n=cn(),i=React$2.useCallback((...a)=>{t==null||t(...a),n(...a);},[n,t]);return x$1(()=>(i(0,r,o),()=>i(1,r,o)),[i,r,o]),React__default["default"].createElement(ht.Provider,{value:i},e)}var yn={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},Ve=React$2.createContext(null);Ve.displayName="DialogContext";function It(e){let t=React$2.useContext(Ve);if(t===null){let r=new Error(`<${e} /> is missing a parent <${An.displayName} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,It),r}return t}function gn(e,t){return S(t.type,yn,e,t)}var Pn="div",xn=1|2,vn=D(function(t,r){let{open:o,onClose:n,initialFocus:i,...a}=t,[l,s]=React$2.useState(0),u=_();o===void 0&&u!==null&&(o=S(u,{[0]:!0,[1]:!1}));let c=React$2.useRef(new Set),m=React$2.useRef(null),b=I(m,r),T=t.hasOwnProperty("open")||u!==null,y=t.hasOwnProperty("onClose");if(!T&&!y)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!T)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!y)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(typeof o!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${o}`);if(typeof n!="function")throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${n}`);let p=o?0:1,f=(()=>u!==null?u===0:p===0)(),[d,P]=React$2.useReducer(gn,{titleId:null,descriptionId:null}),C=React$2.useCallback(()=>n(!1),[n]),R=React$2.useCallback(F=>P({type:0,id:F}),[P]),v=q$1()&&p===0,h=l>1,O=React$2.useContext(Ve)!==null;Ne(m,v?S(h?"parent":"leaf",{parent:16,leaf:30}):1,{initialFocus:i,containers:c}),fo(m,h?v:!1),w$1("mousedown",F=>{var H;let $=F.target;p===0&&(h||((H=m.current)==null?void 0:H.contains($))||C());}),w$1("keydown",F=>{F.key==="Escape"&&p===0&&(h||(F.preventDefault(),F.stopPropagation(),C()));}),React$2.useEffect(()=>{if(p!==0||O)return;let F=document.documentElement.style.overflow,$=document.documentElement.style.paddingRight,H=window.innerWidth-document.documentElement.clientWidth;return document.documentElement.style.overflow="hidden",document.documentElement.style.paddingRight=`${H}px`,()=>{document.documentElement.style.overflow=F,document.documentElement.style.paddingRight=$;}},[p,O]),React$2.useEffect(()=>{if(p!==0||!m.current)return;let F=new IntersectionObserver($=>{for(let H of $)H.boundingClientRect.x===0&&H.boundingClientRect.y===0&&H.boundingClientRect.width===0&&H.boundingClientRect.height===0&&C();});return F.observe(m.current),()=>F.disconnect()},[p,m,C]);let[N,K]=re(),V=`headlessui-dialog-${A$1()}`,Fe=React$2.useMemo(()=>[{dialogState:p,close:C,setTitleId:R},d],[p,d,C,R]),ge=React$2.useMemo(()=>({open:p===0}),[p]),we={ref:b,id:V,role:"dialog","aria-modal":p===0?!0:void 0,"aria-labelledby":d.titleId,"aria-describedby":N,onClick(F){F.stopPropagation();}},X=a;return React__default["default"].createElement(Eo,{type:"Dialog",element:m,onUpdate:React$2.useCallback((F,$,H)=>{$==="Dialog"&&S(F,{[0](){c.current.add(H),s(Pe=>Pe+1);},[1](){c.current.add(H),s(Pe=>Pe-1);}});},[])},React__default["default"].createElement(At,{force:!0},React__default["default"].createElement(We,null,React__default["default"].createElement(Ve.Provider,{value:Fe},React__default["default"].createElement(We.Group,{target:m},React__default["default"].createElement(At,{force:!1},React__default["default"].createElement(K,{slot:ge,name:"Dialog.Description"},E({props:{...X,...we},slot:ge,defaultTag:Pn,features:xn,visible:f,name:"Dialog"}))))))))}),Rn="div",En=D(function(t,r){let[{dialogState:o,close:n}]=It("Dialog.Overlay"),i=I(r),a=`headlessui-dialog-overlay-${A$1()}`,l=React$2.useCallback(m=>{if(m.target===m.currentTarget){if(G(m.currentTarget))return m.preventDefault();m.preventDefault(),m.stopPropagation(),n();}},[n]),s=React$2.useMemo(()=>({open:o===0}),[o]);return E({props:{...t,...{ref:i,id:a,"aria-hidden":!0,onClick:l}},slot:s,defaultTag:Rn,name:"Dialog.Overlay"})}),Cn="h2";function Sn(e){let[{dialogState:t,setTitleId:r}]=It("Dialog.Title"),o=`headlessui-dialog-title-${A$1()}`;React$2.useEffect(()=>(r(o),()=>r(null)),[o,r]);let n=React$2.useMemo(()=>({open:t===0}),[t]);return E({props:{...e,...{id:o}},slot:n,defaultTag:Cn,name:"Dialog.Title"})}var An=Object.assign(vn,{Overlay:En,Title:Sn,Description:me});var Ln={[0]:e=>({...e,disclosureState:S(e.disclosureState,{[0]:1,[1]:0})}),[1]:e=>e.disclosureState===1?e:{...e,disclosureState:1},[4](e){return e.linkedPanel===!0?e:{...e,linkedPanel:!0}},[5](e){return e.linkedPanel===!1?e:{...e,linkedPanel:!1}},[2](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[3](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},Mt=React$2.createContext(null);Mt.displayName="DisclosureContext";function Ft(e){let t=React$2.useContext(Mt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ye.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ft),r}return t}var wt=React$2.createContext(null);wt.displayName="DisclosureAPIContext";function Ao(e){let t=React$2.useContext(wt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ye.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ao),r}return t}var kt=React$2.createContext(null);kt.displayName="DisclosurePanelContext";function Dn(){return React$2.useContext(kt)}function Mn(e,t){return S(t.type,Ln,e,t)}var Fn=React$2.Fragment;function Ye(e){let{defaultOpen:t=!1,...r}=e,o=`headlessui-disclosure-button-${A$1()}`,n=`headlessui-disclosure-panel-${A$1()}`,i=React$2.useReducer(Mn,{disclosureState:t?0:1,linkedPanel:!1,buttonId:o,panelId:n}),[{disclosureState:a},l]=i;React$2.useEffect(()=>l({type:2,buttonId:o}),[o,l]),React$2.useEffect(()=>l({type:3,panelId:n}),[n,l]);let s=React$2.useCallback(m=>{l({type:1});let b=(()=>m?m instanceof HTMLElement?m:m.current instanceof HTMLElement?m.current:document.getElementById(o):document.getElementById(o))();b==null||b.focus();},[l,o]),u=React$2.useMemo(()=>({close:s}),[s]),c=React$2.useMemo(()=>({open:a===0,close:s}),[a,s]);return React__default["default"].createElement(Mt.Provider,{value:i},React__default["default"].createElement(wt.Provider,{value:u},React__default["default"].createElement(W,{value:S(a,{[0]:0,[1]:1})},E({props:r,slot:c,defaultTag:Fn,name:"Disclosure"}))))}var wn="button",kn=D(function(t,r){let[o,n]=Ft("Disclosure.Button"),i=React$2.useRef(null),a=I(i,r),l=Dn(),s=l===null?!1:l===o.panelId,u=React$2.useCallback(f=>{var d;if(s){if(o.disclosureState===1)return;switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopPropagation(),n({type:0}),(d=document.getElementById(o.buttonId))==null||d.focus();break}}else switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopPropagation(),n({type:0});break}},[n,s,o.disclosureState,o.buttonId]),c=React$2.useCallback(f=>{switch(f.key){case" ":f.preventDefault();break}},[]),m=React$2.useCallback(f=>{var d;G(f.currentTarget)||t.disabled||(s?(n({type:0}),(d=document.getElementById(o.buttonId))==null||d.focus()):n({type:0}));},[n,t.disabled,o.buttonId,s]),b=React$2.useMemo(()=>({open:o.disclosureState===0}),[o]),T=U(t,i),y=t,p=s?{ref:a,type:T,onKeyDown:u,onClick:m}:{ref:a,id:o.buttonId,type:T,"aria-expanded":t.disabled?void 0:o.disclosureState===0,"aria-controls":o.linkedPanel?o.panelId:void 0,onKeyDown:u,onKeyUp:c,onClick:m};return E({props:{...y,...p},slot:b,defaultTag:wn,name:"Disclosure.Button"})}),_n="div",Gn=1|2,Hn=D(function(t,r){let[o,n]=Ft("Disclosure.Panel"),{close:i}=Ao("Disclosure.Panel"),a=I(r,()=>{o.linkedPanel||n({type:4});}),l=_(),s=(()=>l!==null?l===0:o.disclosureState===0)();React$2.useEffect(()=>()=>n({type:5}),[n]),React$2.useEffect(()=>{var b;o.disclosureState===1&&((b=t.unmount)!=null?b:!0)&&n({type:5});},[o.disclosureState,t.unmount,n]);let u=React$2.useMemo(()=>({open:o.disclosureState===0,close:i}),[o,i]),c={ref:a,id:o.panelId},m=t;return React__default["default"].createElement(kt.Provider,{value:o.panelId},E({props:{...m,...c},slot:u,defaultTag:_n,features:Gn,visible:s,name:"Disclosure.Panel"}))});Ye.Button=kn;Ye.Panel=Hn;var $n={[1](e){return e.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1}},[0](e){return e.disabled||e.listboxState===0?e:{...e,listboxState:0}},[2](e,t){return e.disabled===t.disabled?e:{...e,disabled:t.disabled}},[3](e,t){return e.orientation===t.orientation?e:{...e,orientation:t.orientation}},[4](e,t){if(e.disabled||e.listboxState===1)return e;let r=ae(t,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.searchQuery===""&&e.activeOptionIndex===r?e:{...e,searchQuery:"",activeOptionIndex:r}},[5]:(e,t)=>{if(e.disabled||e.listboxState===1)return e;let o=e.searchQuery!==""?0:1,n=e.searchQuery+t.value.toLowerCase(),a=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+o).concat(e.options.slice(0,e.activeOptionIndex+o)):e.options).find(s=>{var u;return !s.dataRef.current.disabled&&((u=s.dataRef.current.textValue)==null?void 0:u.startsWith(n))}),l=a?e.options.indexOf(a):-1;return l===-1||l===e.activeOptionIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeOptionIndex:l}},[6](e){return e.disabled||e.listboxState===1||e.searchQuery===""?e:{...e,searchQuery:""}},[7]:(e,t)=>{var n;let r=Array.from((n=e.optionsRef.current)==null?void 0:n.querySelectorAll('[id^="headlessui-listbox-option-"]')).reduce((i,a,l)=>Object.assign(i,{[a.id]:l}),{}),o=[...e.options,{id:t.id,dataRef:t.dataRef}].sort((i,a)=>r[i.id]-r[a.id]);return {...e,options:o}},[8]:(e,t)=>{let r=e.options.slice(),o=e.activeOptionIndex!==null?r[e.activeOptionIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,options:r,activeOptionIndex:(()=>n===e.activeOptionIndex||o===null?null:r.indexOf(o))()}}},Gt=React$2.createContext(null);Gt.displayName="ListboxContext";function Re(e){let t=React$2.useContext(Gt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ee.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Re),r}return t}function Qn(e,t){return S(t.type,$n,e,t)}var qn=React$2.Fragment;function Ee(e){let{value:t,onChange:r,disabled:o=!1,horizontal:n=!1,...i}=e,a=n?"horizontal":"vertical",l=React$2.useReducer(Qn,{listboxState:1,propsRef:{current:{value:t,onChange:r}},labelRef:React$2.createRef(),buttonRef:React$2.createRef(),optionsRef:React$2.createRef(),disabled:o,orientation:a,options:[],searchQuery:"",activeOptionIndex:null}),[{listboxState:s,propsRef:u,optionsRef:c,buttonRef:m},b]=l;x$1(()=>{u.current.value=t;},[t,u]),x$1(()=>{u.current.onChange=r;},[r,u]),x$1(()=>b({type:2,disabled:o}),[o]),x$1(()=>b({type:3,orientation:a}),[a]),w$1("mousedown",y=>{var f,d,P;let p=y.target;s===0&&(((f=m.current)==null?void 0:f.contains(p))||((d=c.current)==null?void 0:d.contains(p))||(b({type:1}),de(p,1)||(y.preventDefault(),(P=m.current)==null||P.focus())));});let T=React$2.useMemo(()=>({open:s===0,disabled:o}),[s,o]);return React__default["default"].createElement(Gt.Provider,{value:l},React__default["default"].createElement(W,{value:S(s,{[0]:0,[1]:1})},E({props:i,slot:T,defaultTag:qn,name:"Listbox"})))}var zn="button",Yn=D(function(t,r){var p;let[o,n]=Re("Listbox.Button"),i=I(o.buttonRef,r),a=`headlessui-listbox-button-${A$1()}`,l=Q(),s=React$2.useCallback(f=>{switch(f.key){case" ":case"Enter":case"ArrowDown":f.preventDefault(),n({type:0}),l.nextFrame(()=>{o.propsRef.current.value||n({type:4,focus:0});});break;case"ArrowUp":f.preventDefault(),n({type:0}),l.nextFrame(()=>{o.propsRef.current.value||n({type:4,focus:3});});break}},[n,o,l]),u=React$2.useCallback(f=>{switch(f.key){case" ":f.preventDefault();break}},[]),c=React$2.useCallback(f=>{if(G(f.currentTarget))return f.preventDefault();o.listboxState===0?(n({type:1}),l.nextFrame(()=>{var d;return (d=o.buttonRef.current)==null?void 0:d.focus({preventScroll:!0})})):(f.preventDefault(),n({type:0}));},[n,l,o]),m=ee(()=>{if(!!o.labelRef.current)return [o.labelRef.current.id,a].join(" ")},[o.labelRef.current,a]),b=React$2.useMemo(()=>({open:o.listboxState===0,disabled:o.disabled}),[o]),T=t,y={ref:i,id:a,type:U(t,o.buttonRef),"aria-haspopup":!0,"aria-controls":(p=o.optionsRef.current)==null?void 0:p.id,"aria-expanded":o.disabled?void 0:o.listboxState===0,"aria-labelledby":m,disabled:o.disabled,onKeyDown:s,onKeyUp:u,onClick:c};return E({props:{...T,...y},slot:b,defaultTag:zn,name:"Listbox.Button"})}),Xn="label";function Jn(e){let[t]=Re("Listbox.Label"),r=`headlessui-listbox-label-${A$1()}`,o=React$2.useCallback(()=>{var a;return (a=t.buttonRef.current)==null?void 0:a.focus({preventScroll:!0})},[t.buttonRef]),n=React$2.useMemo(()=>({open:t.listboxState===0,disabled:t.disabled}),[t]),i={ref:t.labelRef,id:r,onClick:o};return E({props:{...e,...i},slot:n,defaultTag:Xn,name:"Listbox.Label"})}var Zn="ul",ei=1|2,ti=D(function(t,r){var f;let[o,n]=Re("Listbox.Options"),i=I(o.optionsRef,r),a=`headlessui-listbox-options-${A$1()}`,l=Q(),s=Q(),u=_(),c=(()=>u!==null?u===0:o.listboxState===0)();x$1(()=>{let d=o.optionsRef.current;!d||o.listboxState===0&&d!==document.activeElement&&d.focus({preventScroll:!0});},[o.listboxState,o.optionsRef]);let m=React$2.useCallback(d=>{switch(s.dispose(),d.key){case" ":if(o.searchQuery!=="")return d.preventDefault(),d.stopPropagation(),n({type:5,value:d.key});case"Enter":if(d.preventDefault(),d.stopPropagation(),n({type:1}),o.activeOptionIndex!==null){let{dataRef:P}=o.options[o.activeOptionIndex];o.propsRef.current.onChange(P.current.value);}k$1().nextFrame(()=>{var P;return (P=o.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});break;case S(o.orientation,{vertical:"ArrowDown",horizontal:"ArrowRight"}):return d.preventDefault(),d.stopPropagation(),n({type:4,focus:2});case S(o.orientation,{vertical:"ArrowUp",horizontal:"ArrowLeft"}):return d.preventDefault(),d.stopPropagation(),n({type:4,focus:1});case"Home":case"PageUp":return d.preventDefault(),d.stopPropagation(),n({type:4,focus:0});case"End":case"PageDown":return d.preventDefault(),d.stopPropagation(),n({type:4,focus:3});case"Escape":return d.preventDefault(),d.stopPropagation(),n({type:1}),l.nextFrame(()=>{var P;return (P=o.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});case"Tab":d.preventDefault(),d.stopPropagation();break;default:d.key.length===1&&(n({type:5,value:d.key}),s.setTimeout(()=>n({type:6}),350));break}},[l,n,s,o]),b=ee(()=>{var d,P,C;return (C=(d=o.labelRef.current)==null?void 0:d.id)!=null?C:(P=o.buttonRef.current)==null?void 0:P.id},[o.labelRef.current,o.buttonRef.current]),T=React$2.useMemo(()=>({open:o.listboxState===0}),[o]),y={"aria-activedescendant":o.activeOptionIndex===null||(f=o.options[o.activeOptionIndex])==null?void 0:f.id,"aria-labelledby":b,"aria-orientation":o.orientation,id:a,onKeyDown:m,role:"listbox",tabIndex:0,ref:i};return E({props:{...t,...y},slot:T,defaultTag:Zn,features:ei,visible:c,name:"Listbox.Options"})}),oi="li";function ri(e){let{disabled:t=!1,value:r,...o}=e,[n,i]=Re("Listbox.Option"),a=`headlessui-listbox-option-${A$1()}`,l=n.activeOptionIndex!==null?n.options[n.activeOptionIndex].id===a:!1,s=n.propsRef.current.value===r,u=React$2.useRef({disabled:t,value:r});x$1(()=>{u.current.disabled=t;},[u,t]),x$1(()=>{u.current.value=r;},[u,r]),x$1(()=>{var d,P;u.current.textValue=(P=(d=document.getElementById(a))==null?void 0:d.textContent)==null?void 0:P.toLowerCase();},[u,a]);let c=React$2.useCallback(()=>n.propsRef.current.onChange(r),[n.propsRef,r]);x$1(()=>(i({type:7,id:a,dataRef:u}),()=>i({type:8,id:a})),[u,a]),x$1(()=>{var d,P;n.listboxState===0&&(!s||(i({type:4,focus:4,id:a}),(P=(d=document.getElementById(a))==null?void 0:d.focus)==null||P.call(d)));},[n.listboxState]),x$1(()=>{if(n.listboxState!==0||!l)return;let d=k$1();return d.requestAnimationFrame(()=>{var P,C;(C=(P=document.getElementById(a))==null?void 0:P.scrollIntoView)==null||C.call(P,{block:"nearest"});}),d.dispose},[a,l,n.listboxState,n.activeOptionIndex]);let m=React$2.useCallback(d=>{if(t)return d.preventDefault();c(),i({type:1}),k$1().nextFrame(()=>{var P;return (P=n.buttonRef.current)==null?void 0:P.focus({preventScroll:!0})});},[i,n.buttonRef,t,c]),b=React$2.useCallback(()=>{if(t)return i({type:4,focus:5});i({type:4,focus:4,id:a});},[t,a,i]),T=React$2.useCallback(()=>{t||l||i({type:4,focus:4,id:a});},[t,l,a,i]),y=React$2.useCallback(()=>{t||!l||i({type:4,focus:5});},[t,l,i]),p=React$2.useMemo(()=>({active:l,selected:s,disabled:t}),[l,s,t]);return E({props:{...o,...{id:a,role:"option",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,"aria-selected":s===!0?!0:void 0,disabled:void 0,onClick:m,onFocus:b,onPointerMove:T,onMouseMove:T,onPointerLeave:y,onMouseLeave:y}},slot:p,defaultTag:oi,name:"Listbox.Option"})}Ee.Button=Yn;Ee.Label=Jn;Ee.Options=ti;Ee.Option=ri;var ui={[1](e){return e.menuState===1?e:{...e,activeItemIndex:null,menuState:1}},[0](e){return e.menuState===0?e:{...e,menuState:0}},[2]:(e,t)=>{let r=ae(t,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:o=>o.id,resolveDisabled:o=>o.dataRef.current.disabled});return e.searchQuery===""&&e.activeItemIndex===r?e:{...e,searchQuery:"",activeItemIndex:r}},[3]:(e,t)=>{let o=e.searchQuery!==""?0:1,n=e.searchQuery+t.value.toLowerCase(),a=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+o).concat(e.items.slice(0,e.activeItemIndex+o)):e.items).find(s=>{var u;return ((u=s.dataRef.current.textValue)==null?void 0:u.startsWith(n))&&!s.dataRef.current.disabled}),l=a?e.items.indexOf(a):-1;return l===-1||l===e.activeItemIndex?{...e,searchQuery:n}:{...e,searchQuery:n,activeItemIndex:l}},[4](e){return e.searchQuery===""?e:{...e,searchQuery:"",searchActiveItemIndex:null}},[5]:(e,t)=>{var n;let r=Array.from((n=e.itemsRef.current)==null?void 0:n.querySelectorAll('[id^="headlessui-menu-item-"]')).reduce((i,a,l)=>Object.assign(i,{[a.id]:l}),{}),o=[...e.items,{id:t.id,dataRef:t.dataRef}].sort((i,a)=>r[i.id]-r[a.id]);return {...e,items:o}},[6]:(e,t)=>{let r=e.items.slice(),o=e.activeItemIndex!==null?r[e.activeItemIndex]:null,n=r.findIndex(i=>i.id===t.id);return n!==-1&&r.splice(n,1),{...e,items:r,activeItemIndex:(()=>n===e.activeItemIndex||o===null?null:r.indexOf(o))()}}},Ht=React$2.createContext(null);Ht.displayName="MenuContext";function Je(e){let t=React$2.useContext(Ht);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Ze.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Je),r}return t}function pi(e,t){return S(t.type,ui,e,t)}var di=React$2.Fragment;function Ze(e){let t=React$2.useReducer(pi,{menuState:1,buttonRef:React$2.createRef(),itemsRef:React$2.createRef(),items:[],searchQuery:"",activeItemIndex:null}),[{menuState:r,itemsRef:o,buttonRef:n},i]=t;w$1("mousedown",l=>{var u,c,m;let s=l.target;r===0&&(((u=n.current)==null?void 0:u.contains(s))||((c=o.current)==null?void 0:c.contains(s))||(i({type:1}),de(s,1)||(l.preventDefault(),(m=n.current)==null||m.focus())));});let a=React$2.useMemo(()=>({open:r===0}),[r]);return React__default["default"].createElement(Ht.Provider,{value:t},React__default["default"].createElement(W,{value:S(r,{[0]:0,[1]:1})},E({props:e,slot:a,defaultTag:di,name:"Menu"})))}var ci="button",fi=D(function(t,r){var y;let[o,n]=Je("Menu.Button"),i=I(o.buttonRef,r),a=`headlessui-menu-button-${A$1()}`,l=Q(),s=React$2.useCallback(p=>{switch(p.key){case" ":case"Enter":case"ArrowDown":p.preventDefault(),p.stopPropagation(),n({type:0}),l.nextFrame(()=>n({type:2,focus:0}));break;case"ArrowUp":p.preventDefault(),p.stopPropagation(),n({type:0}),l.nextFrame(()=>n({type:2,focus:3}));break}},[n,l]),u=React$2.useCallback(p=>{switch(p.key){case" ":p.preventDefault();break}},[]),c=React$2.useCallback(p=>{if(G(p.currentTarget))return p.preventDefault();t.disabled||(o.menuState===0?(n({type:1}),l.nextFrame(()=>{var f;return (f=o.buttonRef.current)==null?void 0:f.focus({preventScroll:!0})})):(p.preventDefault(),p.stopPropagation(),n({type:0})));},[n,l,o,t.disabled]),m=React$2.useMemo(()=>({open:o.menuState===0}),[o]),b=t,T={ref:i,id:a,type:U(t,o.buttonRef),"aria-haspopup":!0,"aria-controls":(y=o.itemsRef.current)==null?void 0:y.id,"aria-expanded":t.disabled?void 0:o.menuState===0,onKeyDown:s,onKeyUp:u,onClick:c};return E({props:{...b,...T},slot:m,defaultTag:ci,name:"Menu.Button"})}),mi="div",bi=1|2,Ti=D(function(t,r){var p,f;let[o,n]=Je("Menu.Items"),i=I(o.itemsRef,r),a=`headlessui-menu-items-${A$1()}`,l=Q(),s=_(),u=(()=>s!==null?s===0:o.menuState===0)();React$2.useEffect(()=>{let d=o.itemsRef.current;!d||o.menuState===0&&d!==document.activeElement&&d.focus({preventScroll:!0});},[o.menuState,o.itemsRef]),se({container:o.itemsRef.current,enabled:o.menuState===0,accept(d){return d.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:d.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(d){d.setAttribute("role","none");}});let c=React$2.useCallback(d=>{var P;switch(l.dispose(),d.key){case" ":if(o.searchQuery!=="")return d.preventDefault(),d.stopPropagation(),n({type:3,value:d.key});case"Enter":if(d.preventDefault(),d.stopPropagation(),n({type:1}),o.activeItemIndex!==null){let{id:C}=o.items[o.activeItemIndex];(P=document.getElementById(C))==null||P.click();}k$1().nextFrame(()=>{var C;return (C=o.buttonRef.current)==null?void 0:C.focus({preventScroll:!0})});break;case"ArrowDown":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:2});case"ArrowUp":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:1});case"Home":case"PageUp":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:0});case"End":case"PageDown":return d.preventDefault(),d.stopPropagation(),n({type:2,focus:3});case"Escape":d.preventDefault(),d.stopPropagation(),n({type:1}),k$1().nextFrame(()=>{var C;return (C=o.buttonRef.current)==null?void 0:C.focus({preventScroll:!0})});break;case"Tab":d.preventDefault(),d.stopPropagation();break;default:d.key.length===1&&(n({type:3,value:d.key}),l.setTimeout(()=>n({type:4}),350));break}},[n,l,o]),m=React$2.useCallback(d=>{switch(d.key){case" ":d.preventDefault();break}},[]),b=React$2.useMemo(()=>({open:o.menuState===0}),[o]),T={"aria-activedescendant":o.activeItemIndex===null||(p=o.items[o.activeItemIndex])==null?void 0:p.id,"aria-labelledby":(f=o.buttonRef.current)==null?void 0:f.id,id:a,onKeyDown:c,onKeyUp:m,role:"menu",tabIndex:0,ref:i};return E({props:{...t,...T},slot:b,defaultTag:mi,features:bi,visible:u,name:"Menu.Items"})}),yi=React$2.Fragment;function gi(e){let{disabled:t=!1,onClick:r,...o}=e,[n,i]=Je("Menu.Item"),a=`headlessui-menu-item-${A$1()}`,l=n.activeItemIndex!==null?n.items[n.activeItemIndex].id===a:!1;x$1(()=>{if(n.menuState!==0||!l)return;let p=k$1();return p.requestAnimationFrame(()=>{var f,d;(d=(f=document.getElementById(a))==null?void 0:f.scrollIntoView)==null||d.call(f,{block:"nearest"});}),p.dispose},[a,l,n.menuState,n.activeItemIndex]);let s=React$2.useRef({disabled:t});x$1(()=>{s.current.disabled=t;},[s,t]),x$1(()=>{var p,f;s.current.textValue=(f=(p=document.getElementById(a))==null?void 0:p.textContent)==null?void 0:f.toLowerCase();},[s,a]),x$1(()=>(i({type:5,id:a,dataRef:s}),()=>i({type:6,id:a})),[s,a]);let u=React$2.useCallback(p=>{if(t)return p.preventDefault();if(i({type:1}),k$1().nextFrame(()=>{var f;return (f=n.buttonRef.current)==null?void 0:f.focus({preventScroll:!0})}),r)return r(p)},[i,n.buttonRef,t,r]),c=React$2.useCallback(()=>{if(t)return i({type:2,focus:5});i({type:2,focus:4,id:a});},[t,a,i]),m=React$2.useCallback(()=>{t||l||i({type:2,focus:4,id:a});},[t,l,a,i]),b=React$2.useCallback(()=>{t||!l||i({type:2,focus:5});},[t,l,i]),T=React$2.useMemo(()=>({active:l,disabled:t}),[l,t]);return E({props:{...o,...{id:a,role:"menuitem",tabIndex:t===!0?void 0:-1,"aria-disabled":t===!0?!0:void 0,disabled:void 0,onClick:u,onFocus:c,onPointerMove:m,onMouseMove:m,onPointerLeave:b,onMouseLeave:b}},slot:T,defaultTag:yi,name:"Menu.Item"})}Ze.Button=fi;Ze.Items=Ti;Ze.Item=gi;var vi={[0]:e=>({...e,popoverState:S(e.popoverState,{[0]:1,[1]:0})}),[1](e){return e.popoverState===1?e:{...e,popoverState:1}},[2](e,t){return e.button===t.button?e:{...e,button:t.button}},[3](e,t){return e.buttonId===t.buttonId?e:{...e,buttonId:t.buttonId}},[4](e,t){return e.panel===t.panel?e:{...e,panel:t.panel}},[5](e,t){return e.panelId===t.panelId?e:{...e,panelId:t.panelId}}},Ut=React$2.createContext(null);Ut.displayName="PopoverContext";function ot(e){let t=React$2.useContext(Ut);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Te.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,ot),r}return t}var Bt=React$2.createContext(null);Bt.displayName="PopoverAPIContext";function Mo(e){let t=React$2.useContext(Bt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${Te.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Mo),r}return t}var Nt=React$2.createContext(null);Nt.displayName="PopoverGroupContext";function Fo(){return React$2.useContext(Nt)}var Wt=React$2.createContext(null);Wt.displayName="PopoverPanelContext";function Ri(){return React$2.useContext(Wt)}function Ei(e,t){return S(t.type,vi,e,t)}var Ci="div";function Te(e){let t=`headlessui-popover-button-${A$1()}`,r=`headlessui-popover-panel-${A$1()}`,o=React$2.useReducer(Ei,{popoverState:1,button:null,buttonId:t,panel:null,panelId:r}),[{popoverState:n,button:i,panel:a},l]=o;React$2.useEffect(()=>l({type:3,buttonId:t}),[t,l]),React$2.useEffect(()=>l({type:5,panelId:r}),[r,l]);let s=React$2.useMemo(()=>({buttonId:t,panelId:r,close:()=>l({type:1})}),[t,r,l]),u=Fo(),c=u==null?void 0:u.registerPopover,m=React$2.useCallback(()=>{var p;return (p=u==null?void 0:u.isFocusWithinPopoverGroup())!=null?p:(i==null?void 0:i.contains(document.activeElement))||(a==null?void 0:a.contains(document.activeElement))},[u,i,a]);React$2.useEffect(()=>c==null?void 0:c(s),[c,s]),w$1("focus",()=>{n===0&&(m()||!i||!a||l({type:1}));},!0),w$1("mousedown",p=>{let f=p.target;n===0&&((i==null?void 0:i.contains(f))||(a==null?void 0:a.contains(f))||(l({type:1}),de(f,1)||(p.preventDefault(),i==null||i.focus())));});let b=React$2.useCallback(p=>{l({type:1});let f=(()=>p?p instanceof HTMLElement?p:p.current instanceof HTMLElement?p.current:i:i)();f==null||f.focus();},[l,i]),T=React$2.useMemo(()=>({close:b}),[b]),y=React$2.useMemo(()=>({open:n===0,close:b}),[n,b]);return React__default["default"].createElement(Ut.Provider,{value:o},React__default["default"].createElement(Bt.Provider,{value:T},React__default["default"].createElement(W,{value:S(n,{[0]:0,[1]:1})},E({props:e,slot:y,defaultTag:Ci,name:"Popover"}))))}var Si="button",Ai=D(function(t,r){let[o,n]=ot("Popover.Button"),i=React$2.useRef(null),a=Fo(),l=a==null?void 0:a.closeOthers,s=Ri(),u=s===null?!1:s===o.panelId,c=I(i,r,u?null:g=>n({type:2,button:g})),m=I(i,r),b=React$2.useRef(null),T=React$2.useRef(typeof window=="undefined"?null:document.activeElement);w$1("focus",()=>{T.current=b.current,b.current=document.activeElement;},!0);let y=React$2.useCallback(g=>{var v,h;if(u){if(o.popoverState===1)return;switch(g.key){case" ":case"Enter":g.preventDefault(),g.stopPropagation(),n({type:1}),(v=o.button)==null||v.focus();break}}else switch(g.key){case" ":case"Enter":g.preventDefault(),g.stopPropagation(),o.popoverState===1&&(l==null||l(o.buttonId)),n({type:0});break;case"Escape":if(o.popoverState!==0)return l==null?void 0:l(o.buttonId);if(!i.current||!i.current.contains(document.activeElement))return;g.preventDefault(),g.stopPropagation(),n({type:1});break;case"Tab":if(o.popoverState!==0||!o.panel||!o.button)return;if(g.shiftKey){if(!T.current||((h=o.button)==null?void 0:h.contains(T.current))||o.panel.contains(T.current))return;let O=xe(),L=O.indexOf(T.current);if(O.indexOf(o.button)>L)return;g.preventDefault(),g.stopPropagation(),M(o.panel,8);}else g.preventDefault(),g.stopPropagation(),M(o.panel,1);break}},[n,o.popoverState,o.buttonId,o.button,o.panel,i,l,u]),p=React$2.useCallback(g=>{var v;if(!u&&(g.key===" "&&g.preventDefault(),o.popoverState===0&&!!o.panel&&!!o.button))switch(g.key){case"Tab":if(!T.current||((v=o.button)==null?void 0:v.contains(T.current))||o.panel.contains(T.current))return;let h=xe(),O=h.indexOf(T.current);if(h.indexOf(o.button)>O)return;g.preventDefault(),g.stopPropagation(),M(o.panel,8);break}},[o.popoverState,o.panel,o.button,u]),f=React$2.useCallback(g=>{var v,h;G(g.currentTarget)||t.disabled||(u?(n({type:1}),(v=o.button)==null||v.focus()):(o.popoverState===1&&(l==null||l(o.buttonId)),(h=o.button)==null||h.focus(),n({type:0})));},[n,o.button,o.popoverState,o.buttonId,t.disabled,l,u]),d=React$2.useMemo(()=>({open:o.popoverState===0}),[o]),P=U(t,i),C=t,R=u?{ref:m,type:P,onKeyDown:y,onClick:f}:{ref:c,id:o.buttonId,type:P,"aria-expanded":t.disabled?void 0:o.popoverState===0,"aria-controls":o.panel?o.panelId:void 0,onKeyDown:y,onKeyUp:p,onClick:f};return E({props:{...C,...R},slot:d,defaultTag:Si,name:"Popover.Button"})}),hi="div",Oi=1|2,Ii=D(function(t,r){let[{popoverState:o},n]=ot("Popover.Overlay"),i=I(r),a=`headlessui-popover-overlay-${A$1()}`,l=_(),s=(()=>l!==null?l===0:o===0)(),u=React$2.useCallback(T=>{if(G(T.currentTarget))return T.preventDefault();n({type:1});},[n]),c=React$2.useMemo(()=>({open:o===0}),[o]);return E({props:{...t,...{ref:i,id:a,"aria-hidden":!0,onClick:u}},slot:c,defaultTag:hi,features:Oi,visible:s,name:"Popover.Overlay"})}),Li$1="div",Di=1|2,Mi=D(function(t,r){let{focus:o=!1,...n}=t,[i,a]=ot("Popover.Panel"),{close:l}=Mo("Popover.Panel"),s=React$2.useRef(null),u=I(s,r,p=>{a({type:4,panel:p});}),c=_(),m=(()=>c!==null?c===0:i.popoverState===0)(),b=React$2.useCallback(p=>{var f;switch(p.key){case"Escape":if(i.popoverState!==0||!s.current||!s.current.contains(document.activeElement))return;p.preventDefault(),p.stopPropagation(),a({type:1}),(f=i.button)==null||f.focus();break}},[i,s,a]);React$2.useEffect(()=>()=>a({type:4,panel:null}),[a]),React$2.useEffect(()=>{var p;t.static||i.popoverState===1&&((p=t.unmount)!=null?p:!0)&&a({type:4,panel:null});},[i.popoverState,t.unmount,t.static,a]),React$2.useEffect(()=>{if(!o||i.popoverState!==0||!s.current)return;let p=document.activeElement;s.current.contains(p)||M(s.current,1);},[o,s,i.popoverState]),w$1("keydown",p=>{var d;if(i.popoverState!==0||!s.current||p.key!=="Tab"||!document.activeElement||!s.current||!s.current.contains(document.activeElement))return;p.preventDefault();let f=M(s.current,p.shiftKey?2:4);if(f===3)return (d=i.button)==null?void 0:d.focus();if(f===1){if(!i.button)return;let P=xe(),C=P.indexOf(i.button),R=P.splice(C+1).filter(g=>{var v;return !((v=s.current)==null?void 0:v.contains(g))});M(R,1)===0&&M(document.body,1);}}),w$1("focus",()=>{var p;!o||i.popoverState===0&&(!s.current||((p=s.current)==null?void 0:p.contains(document.activeElement))||a({type:1}));},!0);let T=React$2.useMemo(()=>({open:i.popoverState===0,close:l}),[i,l]),y={ref:u,id:i.panelId,onKeyDown:b};return React__default["default"].createElement(Wt.Provider,{value:i.panelId},E({props:{...n,...y},slot:T,defaultTag:Li$1,features:Di,visible:m,name:"Popover.Panel"}))}),Fi="div";function wi(e){let t=React$2.useRef(null),[r,o]=React$2.useState([]),n=React$2.useCallback(b=>{o(T=>{let y=T.indexOf(b);if(y!==-1){let p=T.slice();return p.splice(y,1),p}return T});},[o]),i=React$2.useCallback(b=>(o(T=>[...T,b]),()=>n(b)),[o,n]),a=React$2.useCallback(()=>{var T;let b=document.activeElement;return ((T=t.current)==null?void 0:T.contains(b))?!0:r.some(y=>{var p,f;return ((p=document.getElementById(y.buttonId))==null?void 0:p.contains(b))||((f=document.getElementById(y.panelId))==null?void 0:f.contains(b))})},[t,r]),l=React$2.useCallback(b=>{for(let T of r)T.buttonId!==b&&T.close();},[r]),s=React$2.useMemo(()=>({registerPopover:i,unregisterPopover:n,isFocusWithinPopoverGroup:a,closeOthers:l}),[i,n,a,l]),u=React$2.useMemo(()=>({}),[]),c={ref:t},m=e;return React__default["default"].createElement(Nt.Provider,{value:s},E({props:{...m,...c},slot:u,defaultTag:Fi,name:"Popover.Group"}))}Te.Button=Ai;Te.Overlay=Ii;Te.Panel=Mi;Te.Group=wi;function wo(e=0){let[t,r]=React$2.useState(e),o=React$2.useCallback(l=>r(s=>s|l),[r]),n=React$2.useCallback(l=>Boolean(t&l),[t]),i=React$2.useCallback(l=>r(s=>s&~l),[r]),a=React$2.useCallback(l=>r(s=>s^l),[r]);return {addFlag:o,hasFlag:n,removeFlag:i,toggleFlag:a}}var _o=React$2.createContext(null);function Go(){let e=React$2.useContext(_o);if(e===null){let t=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(t,Go),t}return e}function Ae(){let[e,t]=React$2.useState([]);return [e.length>0?e.join(" "):void 0,React$2.useMemo(()=>function(o){let n=React$2.useCallback(a=>(t(l=>[...l,a]),()=>t(l=>{let s=l.slice(),u=s.indexOf(a);return u!==-1&&s.splice(u,1),s})),[]),i=React$2.useMemo(()=>({register:n,slot:o.slot,name:o.name,props:o.props}),[n,o.slot,o.name,o.props]);return React__default["default"].createElement(_o.Provider,{value:i},o.children)},[t])]}var Ni="label";function nt(e){let{passive:t=!1,...r}=e,o=Go(),n=`headlessui-label-${A$1()}`;x$1(()=>o.register(n),[n,o.register]);let i={...o.props,id:n},a={...r,...i};return t&&delete a.onClick,E({props:a,slot:o.slot||{},defaultTag:Ni,name:o.name||"Label"})}var Vi={[0](e,t){return {...e,options:[...e.options,{id:t.id,element:t.element,propsRef:t.propsRef}]}},[1](e,t){let r=e.options.slice(),o=e.options.findIndex(n=>n.id===t.id);return o===-1?e:(r.splice(o,1),{...e,options:r})}},jt=React$2.createContext(null);jt.displayName="RadioGroupContext";function Ho(e){let t=React$2.useContext(jt);if(t===null){let r=new Error(`<${e} /> is missing a parent <${lt.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ho),r}return t}function $i(e,t){return S(t.type,Vi,e,t)}var Qi="div";function lt(e){let{value:t,onChange:r,disabled:o=!1,...n}=e,[{options:i},a]=React$2.useReducer($i,{options:[]}),[l,s]=Ae(),[u,c]=re(),m=`headlessui-radiogroup-${A$1()}`,b=React$2.useRef(null),T=React$2.useMemo(()=>i.find(R=>!R.propsRef.current.disabled),[i]),y=React$2.useMemo(()=>i.some(R=>R.propsRef.current.value===t),[i,t]),p=React$2.useCallback(R=>{var v;if(o||R===t)return !1;let g=(v=i.find(h=>h.propsRef.current.value===R))==null?void 0:v.propsRef.current;return (g==null?void 0:g.disabled)?!1:(r(R),!0)},[r,t,o,i]);se({container:b.current,accept(R){return R.getAttribute("role")==="radio"?NodeFilter.FILTER_REJECT:R.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(R){R.setAttribute("role","none");}});let f=React$2.useCallback(R=>{if(!b.current)return;let v=i.filter(h=>h.propsRef.current.disabled===!1).map(h=>h.element.current);switch(R.key){case"ArrowLeft":case"ArrowUp":if(R.preventDefault(),R.stopPropagation(),M(v,2|16)===2){let O=i.find(L=>L.element.current===document.activeElement);O&&p(O.propsRef.current.value);}break;case"ArrowRight":case"ArrowDown":if(R.preventDefault(),R.stopPropagation(),M(v,4|16)===2){let O=i.find(L=>L.element.current===document.activeElement);O&&p(O.propsRef.current.value);}break;case" ":{R.preventDefault(),R.stopPropagation();let h=i.find(O=>O.element.current===document.activeElement);h&&p(h.propsRef.current.value);}break}},[b,i,p]),d=React$2.useCallback(R=>(a({type:0,...R}),()=>a({type:1,id:R.id})),[a]),P=React$2.useMemo(()=>({registerOption:d,firstOption:T,containsCheckedOption:y,change:p,disabled:o,value:t}),[d,T,y,p,o,t]),C={ref:b,id:m,role:"radiogroup","aria-labelledby":l,"aria-describedby":u,onKeyDown:f};return React__default["default"].createElement(c,{name:"RadioGroup.Description"},React__default["default"].createElement(s,{name:"RadioGroup.Label"},React__default["default"].createElement(jt.Provider,{value:P},E({props:{...n,...C},defaultTag:Qi,name:"RadioGroup"}))))}var qi="div";function zi(e){let t=React$2.useRef(null),r=`headlessui-radiogroup-option-${A$1()}`,[o,n]=Ae(),[i,a]=re(),{addFlag:l,removeFlag:s,hasFlag:u}=wo(1),{value:c,disabled:m=!1,...b}=e,T=React$2.useRef({value:c,disabled:m});x$1(()=>{T.current.value=c;},[c,T]),x$1(()=>{T.current.disabled=m;},[m,T]);let{registerOption:y,disabled:p,change:f,firstOption:d,containsCheckedOption:P,value:C}=Ho("RadioGroup.Option");x$1(()=>y({id:r,element:t,propsRef:T}),[r,y,t,e]);let R=React$2.useCallback(()=>{var V;!f(c)||(l(2),(V=t.current)==null||V.focus());},[l,f,c]),g=React$2.useCallback(()=>l(2),[l]),v=React$2.useCallback(()=>s(2),[s]),h=(d==null?void 0:d.id)===r,O=p||m,L=C===c,N={ref:t,id:r,role:"radio","aria-checked":L?"true":"false","aria-labelledby":o,"aria-describedby":i,"aria-disabled":O?!0:void 0,tabIndex:(()=>O?-1:L||!P&&h?0:-1)(),onClick:O?void 0:R,onFocus:O?void 0:g,onBlur:O?void 0:v},K=React$2.useMemo(()=>({checked:L,disabled:O,active:u(2)}),[L,O,u]);return React__default["default"].createElement(a,{name:"RadioGroup.Description"},React__default["default"].createElement(n,{name:"RadioGroup.Label"},E({props:{...b,...N},slot:K,defaultTag:qi,name:"RadioGroup.Option"})))}lt.Option=zi;lt.Label=nt;lt.Description=me;var $t=React$2.createContext(null);$t.displayName="GroupContext";var zt=React$2.createContext(null);zt.displayName="TabsContext";var dt=React$2.createContext(null);dt.displayName="TransitionContext";var ct=React$2.createContext(null);ct.displayName="NestingContext";
|
|
3692
3692
|
|
|
3693
3693
|
var BaseSelectButton = function (_a) {
|
|
3694
3694
|
var children = _a.children, as = _a.as;
|
|
@@ -4486,12 +4486,12 @@ var Container$C = newStyled.div(templateObject_1$Z || (templateObject_1$Z = __ma
|
|
|
4486
4486
|
var borderColor = _a.borderColor;
|
|
4487
4487
|
return borderColor;
|
|
4488
4488
|
});
|
|
4489
|
-
var Image$
|
|
4489
|
+
var Image$3 = newStyled.img(templateObject_2$C || (templateObject_2$C = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n"], ["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n"])));
|
|
4490
4490
|
var PatternSelector = function (_a) {
|
|
4491
4491
|
var url = _a.url, selected = _a.selected, testId = _a.testId;
|
|
4492
4492
|
var theme = useTheme();
|
|
4493
4493
|
var outerBorder = selected ? theme.colors.shades['550'].color : 'transparent';
|
|
4494
|
-
return (jsxRuntime.jsx(Container$C, __assign$1({ "data-testid": testId, borderColor: outerBorder }, { children: jsxRuntime.jsx(Image$
|
|
4494
|
+
return (jsxRuntime.jsx(Container$C, __assign$1({ "data-testid": testId, borderColor: outerBorder }, { children: jsxRuntime.jsx(Image$3, { src: url, alt: "pattern" }, void 0) }), void 0));
|
|
4495
4495
|
};
|
|
4496
4496
|
var templateObject_1$Z, templateObject_2$C;
|
|
4497
4497
|
|
|
@@ -4551,14 +4551,14 @@ var MultiColorPicker = function (_a) {
|
|
|
4551
4551
|
return (jsxRuntime.jsxs(ColorRadioGroup$1, __assign$1({ value: selectedColor, onChange: onChangeHandler }, { children: [jsxRuntime.jsx(ColorRadioGroup$1.Label, { label: label, values: valueLabels }, void 0), jsxRuntime.jsx(ColorRadioGroup$1.OptionsContainer, { children: renderOptions(selectedColor, options) }, void 0)] }), void 0));
|
|
4552
4552
|
};
|
|
4553
4553
|
|
|
4554
|
-
var Image$
|
|
4554
|
+
var Image$2 = newStyled.img(templateObject_1$Y || (templateObject_1$Y = __makeTemplateObject(["\n width: 4.063rem;\n height: 5.375rem;\n box-sizing: border-box;\n cursor: pointer;\n border: ", ";\n"], ["\n width: 4.063rem;\n height: 5.375rem;\n box-sizing: border-box;\n cursor: pointer;\n border: ", ";\n"])), function (_a) {
|
|
4555
4555
|
var selected = _a.selected, theme = _a.theme;
|
|
4556
4556
|
return selected ? "0.063rem solid ".concat(theme.colors.shades['700'].color) : 'inherit';
|
|
4557
4557
|
});
|
|
4558
4558
|
var ImageSmallPreview = function (_a) {
|
|
4559
4559
|
var imageUrl = _a.imageUrl, alt = _a.alt, _b = _a.selected, selected = _b === void 0 ? false : _b, className = _a.className;
|
|
4560
4560
|
var theme = useTheme();
|
|
4561
|
-
return jsxRuntime.jsx(Image$
|
|
4561
|
+
return jsxRuntime.jsx(Image$2, { className: className, src: imageUrl, alt: alt, selected: selected, theme: theme }, void 0);
|
|
4562
4562
|
};
|
|
4563
4563
|
var templateObject_1$Y;
|
|
4564
4564
|
|
|
@@ -4928,7 +4928,7 @@ var Symbol$2 = _Symbol;
|
|
|
4928
4928
|
var objectProto$1 = Object.prototype;
|
|
4929
4929
|
|
|
4930
4930
|
/** Used to check objects for own properties. */
|
|
4931
|
-
var hasOwnProperty = objectProto$1.hasOwnProperty;
|
|
4931
|
+
var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
|
|
4932
4932
|
|
|
4933
4933
|
/**
|
|
4934
4934
|
* Used to resolve the
|
|
@@ -4948,7 +4948,7 @@ var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : undefined;
|
|
|
4948
4948
|
* @returns {string} Returns the raw `toStringTag`.
|
|
4949
4949
|
*/
|
|
4950
4950
|
function getRawTag$1(value) {
|
|
4951
|
-
var isOwn = hasOwnProperty.call(value, symToStringTag$1),
|
|
4951
|
+
var isOwn = hasOwnProperty$1.call(value, symToStringTag$1),
|
|
4952
4952
|
tag = value[symToStringTag$1];
|
|
4953
4953
|
|
|
4954
4954
|
try {
|
|
@@ -6453,7 +6453,7 @@ var Track = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
6453
6453
|
onMouseOver: onMouseOver,
|
|
6454
6454
|
onMouseLeave: onMouseLeave
|
|
6455
6455
|
};
|
|
6456
|
-
return /*#__PURE__*/React__default["default"].createElement("div", _extends$
|
|
6456
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _extends$2({
|
|
6457
6457
|
ref: this.handleRef,
|
|
6458
6458
|
className: "slick-track",
|
|
6459
6459
|
style: this.props.trackStyle
|
|
@@ -6609,7 +6609,7 @@ var PrevArrow = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
6609
6609
|
if (this.props.prevArrow) {
|
|
6610
6610
|
prevArrow = /*#__PURE__*/React__default["default"].cloneElement(this.props.prevArrow, _objectSpread2(_objectSpread2({}, prevArrowProps), customProps));
|
|
6611
6611
|
} else {
|
|
6612
|
-
prevArrow = /*#__PURE__*/React__default["default"].createElement("button", _extends$
|
|
6612
|
+
prevArrow = /*#__PURE__*/React__default["default"].createElement("button", _extends$2({
|
|
6613
6613
|
key: "0",
|
|
6614
6614
|
type: "button"
|
|
6615
6615
|
}, prevArrowProps), " ", "Previous");
|
|
@@ -6675,7 +6675,7 @@ var NextArrow = /*#__PURE__*/function (_React$PureComponent2) {
|
|
|
6675
6675
|
if (this.props.nextArrow) {
|
|
6676
6676
|
nextArrow = /*#__PURE__*/React__default["default"].cloneElement(this.props.nextArrow, _objectSpread2(_objectSpread2({}, nextArrowProps), customProps));
|
|
6677
6677
|
} else {
|
|
6678
|
-
nextArrow = /*#__PURE__*/React__default["default"].createElement("button", _extends$
|
|
6678
|
+
nextArrow = /*#__PURE__*/React__default["default"].createElement("button", _extends$2({
|
|
6679
6679
|
key: "1",
|
|
6680
6680
|
type: "button"
|
|
6681
6681
|
}, nextArrowProps), " ", "Next");
|
|
@@ -8378,9 +8378,9 @@ var InnerSlider = /*#__PURE__*/function (_React$Component) {
|
|
|
8378
8378
|
};
|
|
8379
8379
|
}
|
|
8380
8380
|
|
|
8381
|
-
return /*#__PURE__*/React__default["default"].createElement("div", innerSliderProps, !_this.props.unslick ? prevArrow : "", /*#__PURE__*/React__default["default"].createElement("div", _extends$
|
|
8381
|
+
return /*#__PURE__*/React__default["default"].createElement("div", innerSliderProps, !_this.props.unslick ? prevArrow : "", /*#__PURE__*/React__default["default"].createElement("div", _extends$2({
|
|
8382
8382
|
ref: _this.listRefHandler
|
|
8383
|
-
}, listProps), /*#__PURE__*/React__default["default"].createElement(Track, _extends$
|
|
8383
|
+
}, listProps), /*#__PURE__*/React__default["default"].createElement(Track, _extends$2({
|
|
8384
8384
|
ref: _this.trackRefHandler
|
|
8385
8385
|
}, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : "", !_this.props.unslick ? dots : "");
|
|
8386
8386
|
});
|
|
@@ -8793,7 +8793,7 @@ var Slider = /*#__PURE__*/function (_React$Component) {
|
|
|
8793
8793
|
settings.unslick = true;
|
|
8794
8794
|
}
|
|
8795
8795
|
|
|
8796
|
-
return /*#__PURE__*/React__default["default"].createElement(InnerSlider, _extends$
|
|
8796
|
+
return /*#__PURE__*/React__default["default"].createElement(InnerSlider, _extends$2({
|
|
8797
8797
|
style: this.props.style,
|
|
8798
8798
|
ref: this.innerSliderRefHandler
|
|
8799
8799
|
}, settings), newChildren);
|
|
@@ -8875,7 +8875,7 @@ var Container$B = newStyled.div(templateObject_3$q || (templateObject_3$q = __ma
|
|
|
8875
8875
|
var position = _a.position;
|
|
8876
8876
|
return (position == 'horizontal' ? horizontalStyles : verticalStyles);
|
|
8877
8877
|
});
|
|
8878
|
-
var Button$3 = newStyled.button(templateObject_4$i || (templateObject_4$i = __makeTemplateObject(["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"], ["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"])));
|
|
8878
|
+
var Button$3 = newStyled.button(templateObject_4$i || (templateObject_4$i = __makeTemplateObject(["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n outline: none;\n"], ["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n outline: none;\n"])));
|
|
8879
8879
|
var ImagePreviewList = function (_a) {
|
|
8880
8880
|
var images = _a.images, selectedImage = _a.selectedImage, onClick = _a.onClick, dataTestId = _a.dataTestId, position = _a.position;
|
|
8881
8881
|
return (jsxRuntime.jsx(Container$B, __assign$1({ "data-testid": dataTestId, position: position, className: position }, { children: position == 'horizontal' ? (jsxRuntime.jsx("div", __assign$1({ style: { maxWidth: '360px' } }, { children: jsxRuntime.jsx(SliderNavigation, __assign$1({ speed: 200, infinite: false, arrows: {
|
|
@@ -8886,238 +8886,1818 @@ var ImagePreviewList = function (_a) {
|
|
|
8886
8886
|
};
|
|
8887
8887
|
var templateObject_1$W, templateObject_2$B, templateObject_3$q, templateObject_4$i;
|
|
8888
8888
|
|
|
8889
|
-
var
|
|
8890
|
-
var Image = function (_a) {
|
|
8891
|
-
var src = _a.src, alt = _a.alt, height = _a.height, width = _a.width, borderRadius = _a.borderRadius, objectFit = _a.objectFit, objectPosition = _a.objectPosition, className = _a.className;
|
|
8892
|
-
return (jsxRuntime.jsx(Img, { src: src, alt: alt, height: height, width: width, borderRadius: borderRadius, objectFit: objectFit, objectPosition: objectPosition, className: className }, void 0));
|
|
8893
|
-
};
|
|
8894
|
-
var templateObject_1$V;
|
|
8889
|
+
var propTypes = {exports: {}};
|
|
8895
8890
|
|
|
8896
|
-
var
|
|
8897
|
-
var TopTagContainer$2 = newStyled.div(templateObject_2$A || (templateObject_2$A = __makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n"], ["\n position: absolute;\n left: 0;\n top: 0;\n"])));
|
|
8898
|
-
var BottomTagContainer$2 = newStyled.div(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"], ["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"])));
|
|
8899
|
-
var ImageProductWithTags$1 = function (_a) {
|
|
8900
|
-
var image = _a.image, DiscountTagElement = _a.DiscountTagElement, BestSellerTagElement = _a.BestSellerTagElement, testId = _a.testId, position = _a.position;
|
|
8901
|
-
return (jsxRuntime.jsxs(Container$A, __assign$1({ "data-testid": testId, className: "stylefor".concat(position) }, { children: [jsxRuntime.jsx(Image, { src: image.imageUrl, alt: image.alt, objectFit: "cover", objectPosition: "center", width: position == 'horizontal' ? '360px' : '530px', height: position == 'horizontal' ? 'auto' : '720px' }, void 0), jsxRuntime.jsx(TopTagContainer$2, { children: DiscountTagElement }, void 0), jsxRuntime.jsx(BottomTagContainer$2, { children: BestSellerTagElement }, void 0)] }), void 0));
|
|
8902
|
-
};
|
|
8903
|
-
var templateObject_1$U, templateObject_2$A, templateObject_3$p;
|
|
8891
|
+
var reactIs = {exports: {}};
|
|
8904
8892
|
|
|
8905
|
-
var
|
|
8906
|
-
var ProductGallery = function (_a) {
|
|
8907
|
-
var images = _a.images, selectedValue = _a.selectedValue, DiscountTagElement = _a.DiscountTagElement, BestSellerTagElement = _a.BestSellerTagElement, productImageDataTestId = _a.productImageDataTestId, previewListDataTestId = _a.previewListDataTestId, thumbnailPosition = _a.thumbnailPosition;
|
|
8908
|
-
var initialValue = selectedValue && images.includes(selectedValue) ? selectedValue : images[0];
|
|
8909
|
-
var _b = React$2.useState(initialValue), selectedImage = _b[0], setSelectedImage = _b[1];
|
|
8910
|
-
React$2.useEffect(function () {
|
|
8911
|
-
setSelectedImage(initialValue);
|
|
8912
|
-
}, [initialValue]);
|
|
8913
|
-
return (jsxRuntime.jsxs(Container$z, { children: [jsxRuntime.jsx(ImagePreviewList, { images: images, selectedImage: selectedImage, dataTestId: previewListDataTestId, onClick: function (value) {
|
|
8914
|
-
setSelectedImage(value);
|
|
8915
|
-
}, position: thumbnailPosition }, void 0), jsxRuntime.jsx(ImageProductWithTags$1, { image: selectedImage, DiscountTagElement: DiscountTagElement, BestSellerTagElement: BestSellerTagElement, testId: productImageDataTestId, position: thumbnailPosition }, void 0)] }, void 0));
|
|
8916
|
-
};
|
|
8917
|
-
var templateObject_1$T;
|
|
8893
|
+
var reactIs_production_min = {};
|
|
8918
8894
|
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
8924
|
-
|
|
8925
|
-
|
|
8926
|
-
|
|
8927
|
-
|
|
8928
|
-
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
});
|
|
8934
|
-
},
|
|
8935
|
-
small: function (theme) {
|
|
8936
|
-
return css({
|
|
8937
|
-
svg: {
|
|
8938
|
-
width: theme.component.stars.element.small.width,
|
|
8939
|
-
height: theme.component.stars.element.small.height,
|
|
8940
|
-
marginRight: theme.component.stars.element.small.marginRight,
|
|
8941
|
-
},
|
|
8942
|
-
});
|
|
8943
|
-
},
|
|
8944
|
-
medium: function (theme) {
|
|
8945
|
-
return css({
|
|
8946
|
-
svg: {
|
|
8947
|
-
width: theme.component.stars.element.medium.width,
|
|
8948
|
-
height: theme.component.stars.element.medium.height,
|
|
8949
|
-
marginRight: theme.component.stars.element.medium.marginRight,
|
|
8950
|
-
},
|
|
8951
|
-
});
|
|
8952
|
-
},
|
|
8953
|
-
large: function (theme) {
|
|
8954
|
-
return css({
|
|
8955
|
-
svg: {
|
|
8956
|
-
width: theme.component.stars.element.large.width,
|
|
8957
|
-
height: theme.component.stars.element.large.height,
|
|
8958
|
-
marginRight: theme.component.stars.element.large.marginRight,
|
|
8959
|
-
},
|
|
8960
|
-
});
|
|
8961
|
-
},
|
|
8962
|
-
};
|
|
8963
|
-
var Container$y = newStyled.div(templateObject_1$S || (templateObject_1$S = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
8964
|
-
var templateObject_1$S;
|
|
8895
|
+
/** @license React v16.13.1
|
|
8896
|
+
* react-is.production.min.js
|
|
8897
|
+
*
|
|
8898
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
8899
|
+
*
|
|
8900
|
+
* This source code is licensed under the MIT license found in the
|
|
8901
|
+
* LICENSE file in the root directory of this source tree.
|
|
8902
|
+
*/
|
|
8903
|
+
var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
|
|
8904
|
+
Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
|
|
8905
|
+
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r;reactIs_production_min.Portal=d;
|
|
8906
|
+
reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min.isConcurrentMode=A;reactIs_production_min.isContextConsumer=function(a){return z(a)===k};reactIs_production_min.isContextProvider=function(a){return z(a)===h};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min.isForwardRef=function(a){return z(a)===n};reactIs_production_min.isFragment=function(a){return z(a)===e};reactIs_production_min.isLazy=function(a){return z(a)===t};
|
|
8907
|
+
reactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};
|
|
8908
|
+
reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min.typeOf=z;
|
|
8965
8909
|
|
|
8966
|
-
var
|
|
8967
|
-
var size = _a.size, theme = _a.theme;
|
|
8968
|
-
return [
|
|
8969
|
-
StarStyles.baseStyles(),
|
|
8970
|
-
StarStyles[size](theme),
|
|
8971
|
-
];
|
|
8972
|
-
});
|
|
8973
|
-
var sizes = {
|
|
8974
|
-
xsmall: { width: 0.75, height: 0.75 },
|
|
8975
|
-
small: { width: 1, height: 1 },
|
|
8976
|
-
medium: { width: 1.5, height: 1.5 },
|
|
8977
|
-
large: { width: 2.5, height: 2.5 },
|
|
8978
|
-
};
|
|
8979
|
-
var StarList = function (_a) {
|
|
8980
|
-
var rating = _a.rating, starsNumber = _a.starsNumber, fill = _a.fill, _b = _a.size, size = _b === void 0 ? exports.ComponentSize.Medium : _b;
|
|
8981
|
-
var theme = useTheme();
|
|
8982
|
-
return (jsxRuntime.jsx(Container$y, { children: __spreadArray([], new Array(starsNumber), true).map(function (_, index) {
|
|
8983
|
-
return (jsxRuntime.jsx(StarContainer, __assign$1({ "data-testid": "star-container", size: size, theme: theme }, { children: index < Math.floor(rating) ? (jsxRuntime.jsx(Icon.PDP.Star, __assign$1({}, sizes[size], { fill: fill }), void 0)) : index === Math.floor(rating) && rating % 1 != 0 ? (jsxRuntime.jsx(Icon.PDP.StarHalf, __assign$1({}, sizes[size], { fill: fill }), void 0)) : (jsxRuntime.jsx(Icon.PDP.StarEmpty, __assign$1({}, sizes[size], { fill: fill }), void 0)) }), index));
|
|
8984
|
-
}) }, void 0));
|
|
8985
|
-
};
|
|
8910
|
+
var reactIs_development = {};
|
|
8986
8911
|
|
|
8987
|
-
|
|
8988
|
-
|
|
8989
|
-
|
|
8990
|
-
|
|
8991
|
-
|
|
8992
|
-
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
});
|
|
8996
|
-
},
|
|
8997
|
-
xsmall: function (theme) {
|
|
8998
|
-
return css({
|
|
8999
|
-
fontSize: theme.component.rating.size.xsmall.fontSize,
|
|
9000
|
-
lineHeight: theme.component.rating.size.xsmall.lineHeight,
|
|
9001
|
-
marginLeft: '0.172rem',
|
|
9002
|
-
});
|
|
9003
|
-
},
|
|
9004
|
-
small: function (theme) {
|
|
9005
|
-
return css({
|
|
9006
|
-
fontSize: theme.component.rating.size.small.fontSize,
|
|
9007
|
-
lineHeight: theme.component.rating.size.small.lineHeight,
|
|
9008
|
-
marginLeft: '0.313rem',
|
|
9009
|
-
});
|
|
9010
|
-
},
|
|
9011
|
-
medium: function (theme) {
|
|
9012
|
-
return css({
|
|
9013
|
-
fontSize: theme.component.rating.size.medium.fontSize,
|
|
9014
|
-
lineHeight: theme.component.rating.size.medium.lineHeight,
|
|
9015
|
-
marginLeft: '0.438rem',
|
|
9016
|
-
});
|
|
9017
|
-
},
|
|
9018
|
-
large: function (theme) {
|
|
9019
|
-
return css({
|
|
9020
|
-
fontSize: theme.component.rating.size.large.fontSize,
|
|
9021
|
-
lineHeight: theme.component.rating.size.large.lineHeight,
|
|
9022
|
-
marginLeft: '0.563rem',
|
|
9023
|
-
});
|
|
9024
|
-
},
|
|
9025
|
-
};
|
|
9026
|
-
var Container$x = newStyled.div(templateObject_1$R || (templateObject_1$R = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
9027
|
-
var templateObject_1$R;
|
|
8912
|
+
/** @license React v16.13.1
|
|
8913
|
+
* react-is.development.js
|
|
8914
|
+
*
|
|
8915
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
8916
|
+
*
|
|
8917
|
+
* This source code is licensed under the MIT license found in the
|
|
8918
|
+
* LICENSE file in the root directory of this source tree.
|
|
8919
|
+
*/
|
|
9028
8920
|
|
|
9029
|
-
var CustomLabel = newStyled.div(function (_a) {
|
|
9030
|
-
var theme = _a.theme, size = _a.size, wrapWithParenthesis = _a.wrapWithParenthesis;
|
|
9031
|
-
return [
|
|
9032
|
-
LabelStyles.baseStyles(theme),
|
|
9033
|
-
LabelStyles[size](theme),
|
|
9034
|
-
{
|
|
9035
|
-
':before': {
|
|
9036
|
-
content: wrapWithParenthesis ? '"("' : '""',
|
|
9037
|
-
},
|
|
9038
|
-
':after': {
|
|
9039
|
-
content: wrapWithParenthesis ? '")"' : '""',
|
|
9040
|
-
},
|
|
9041
|
-
},
|
|
9042
|
-
];
|
|
9043
|
-
});
|
|
9044
|
-
var starsNumber = 5;
|
|
9045
|
-
var Rating = function (_a) {
|
|
9046
|
-
var _b = _a.size, size = _b === void 0 ? exports.ComponentSize.Medium : _b, reviews = _a.reviews, reviewsText = _a.reviewsText, rating = _a.rating, _c = _a.wrapWithParenthesis, wrapWithParenthesis = _c === void 0 ? false : _c;
|
|
9047
|
-
var theme = useTheme();
|
|
9048
|
-
return (jsxRuntime.jsxs(Container$x, { children: [jsxRuntime.jsx(StarList, { rating: rating, size: size, starsNumber: starsNumber, fill: theme.component.stars.element.color }, void 0), jsxRuntime.jsxs(CustomLabel, __assign$1({ theme: theme, size: size, wrapWithParenthesis: wrapWithParenthesis, "data-testid": "CustomLabel" }, { children: [reviews, " ", reviewsText] }), void 0)] }, void 0));
|
|
9049
|
-
};
|
|
9050
8921
|
|
|
9051
|
-
var Container$w = newStyled.div(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject(["\n display: flex;\n align-items: center;\n font-size: 0.88rem;\n"], ["\n display: flex;\n align-items: center;\n font-size: 0.88rem;\n"])));
|
|
9052
|
-
var P$2 = newStyled.p(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n margin: 0 0.25rem;\n font-weight: 700;\n color: ", ";\n"], ["\n margin: 0 0.25rem;\n font-weight: 700;\n color: ", ";\n"])), function (props) { return props.theme.colors.shades['550'].color; });
|
|
9053
|
-
var textButtonStyles = function (theme) { return ({
|
|
9054
|
-
border: 'none',
|
|
9055
|
-
background: 'transparent',
|
|
9056
|
-
padding: 0,
|
|
9057
|
-
textDecoration: 'underline',
|
|
9058
|
-
color: theme.colors.shades['400'].color,
|
|
9059
|
-
lineHeight: '1.13rem',
|
|
9060
|
-
cursor: 'pointer',
|
|
9061
|
-
}); };
|
|
9062
|
-
var FitPredictor = function (_a) {
|
|
9063
|
-
var onClick = _a.onClick;
|
|
9064
|
-
var theme = useTheme();
|
|
9065
|
-
return (jsxs(Container$w, __assign$1({ theme: theme }, { children: [jsx(Container$w, { children: jsx(Icon.Other.FitPredictor, { width: 1.125, height: 1.125, fill: theme.colors.shades['550'].color }, void 0) }, void 0), jsx(P$2, __assign$1({ theme: theme }, { children: "FIT PREDICTOR" }), void 0), jsx(BaseButton, __assign$1({ css: textButtonStyles(theme), onClick: onClick }, { children: "Calculate your size" }), void 0)] }), void 0));
|
|
9066
|
-
};
|
|
9067
|
-
var templateObject_1$Q, templateObject_2$z;
|
|
9068
8922
|
|
|
9069
|
-
|
|
9070
|
-
|
|
9071
|
-
|
|
9072
|
-
|
|
9073
|
-
|
|
9074
|
-
|
|
9075
|
-
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
var
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
|
|
9087
|
-
|
|
9088
|
-
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
var
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
8923
|
+
if (process.env.NODE_ENV !== "production") {
|
|
8924
|
+
(function() {
|
|
8925
|
+
|
|
8926
|
+
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
|
|
8927
|
+
// nor polyfill, then a plain number is used for performance.
|
|
8928
|
+
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
8929
|
+
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
8930
|
+
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
|
|
8931
|
+
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
|
|
8932
|
+
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
|
|
8933
|
+
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
|
|
8934
|
+
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
|
|
8935
|
+
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
|
|
8936
|
+
// (unstable) APIs that have been removed. Can we remove the symbols?
|
|
8937
|
+
|
|
8938
|
+
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
|
|
8939
|
+
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
|
|
8940
|
+
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
|
|
8941
|
+
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
|
|
8942
|
+
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
|
|
8943
|
+
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
|
|
8944
|
+
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
|
|
8945
|
+
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
|
|
8946
|
+
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
|
|
8947
|
+
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
|
|
8948
|
+
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
|
|
8949
|
+
|
|
8950
|
+
function isValidElementType(type) {
|
|
8951
|
+
return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
8952
|
+
type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
|
|
8953
|
+
}
|
|
8954
|
+
|
|
8955
|
+
function typeOf(object) {
|
|
8956
|
+
if (typeof object === 'object' && object !== null) {
|
|
8957
|
+
var $$typeof = object.$$typeof;
|
|
8958
|
+
|
|
8959
|
+
switch ($$typeof) {
|
|
8960
|
+
case REACT_ELEMENT_TYPE:
|
|
8961
|
+
var type = object.type;
|
|
8962
|
+
|
|
8963
|
+
switch (type) {
|
|
8964
|
+
case REACT_ASYNC_MODE_TYPE:
|
|
8965
|
+
case REACT_CONCURRENT_MODE_TYPE:
|
|
8966
|
+
case REACT_FRAGMENT_TYPE:
|
|
8967
|
+
case REACT_PROFILER_TYPE:
|
|
8968
|
+
case REACT_STRICT_MODE_TYPE:
|
|
8969
|
+
case REACT_SUSPENSE_TYPE:
|
|
8970
|
+
return type;
|
|
8971
|
+
|
|
8972
|
+
default:
|
|
8973
|
+
var $$typeofType = type && type.$$typeof;
|
|
8974
|
+
|
|
8975
|
+
switch ($$typeofType) {
|
|
8976
|
+
case REACT_CONTEXT_TYPE:
|
|
8977
|
+
case REACT_FORWARD_REF_TYPE:
|
|
8978
|
+
case REACT_LAZY_TYPE:
|
|
8979
|
+
case REACT_MEMO_TYPE:
|
|
8980
|
+
case REACT_PROVIDER_TYPE:
|
|
8981
|
+
return $$typeofType;
|
|
8982
|
+
|
|
8983
|
+
default:
|
|
8984
|
+
return $$typeof;
|
|
8985
|
+
}
|
|
8986
|
+
|
|
8987
|
+
}
|
|
8988
|
+
|
|
8989
|
+
case REACT_PORTAL_TYPE:
|
|
8990
|
+
return $$typeof;
|
|
8991
|
+
}
|
|
8992
|
+
}
|
|
8993
|
+
|
|
8994
|
+
return undefined;
|
|
8995
|
+
} // AsyncMode is deprecated along with isAsyncMode
|
|
8996
|
+
|
|
8997
|
+
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
|
8998
|
+
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
|
8999
|
+
var ContextConsumer = REACT_CONTEXT_TYPE;
|
|
9000
|
+
var ContextProvider = REACT_PROVIDER_TYPE;
|
|
9001
|
+
var Element = REACT_ELEMENT_TYPE;
|
|
9002
|
+
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
|
9003
|
+
var Fragment = REACT_FRAGMENT_TYPE;
|
|
9004
|
+
var Lazy = REACT_LAZY_TYPE;
|
|
9005
|
+
var Memo = REACT_MEMO_TYPE;
|
|
9006
|
+
var Portal = REACT_PORTAL_TYPE;
|
|
9007
|
+
var Profiler = REACT_PROFILER_TYPE;
|
|
9008
|
+
var StrictMode = REACT_STRICT_MODE_TYPE;
|
|
9009
|
+
var Suspense = REACT_SUSPENSE_TYPE;
|
|
9010
|
+
var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
|
|
9011
|
+
|
|
9012
|
+
function isAsyncMode(object) {
|
|
9013
|
+
{
|
|
9014
|
+
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
|
9015
|
+
hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
|
|
9016
|
+
|
|
9017
|
+
console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
|
|
9018
|
+
}
|
|
9019
|
+
}
|
|
9020
|
+
|
|
9021
|
+
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
|
9022
|
+
}
|
|
9023
|
+
function isConcurrentMode(object) {
|
|
9024
|
+
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
|
9025
|
+
}
|
|
9026
|
+
function isContextConsumer(object) {
|
|
9027
|
+
return typeOf(object) === REACT_CONTEXT_TYPE;
|
|
9028
|
+
}
|
|
9029
|
+
function isContextProvider(object) {
|
|
9030
|
+
return typeOf(object) === REACT_PROVIDER_TYPE;
|
|
9031
|
+
}
|
|
9032
|
+
function isElement(object) {
|
|
9033
|
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
9034
|
+
}
|
|
9035
|
+
function isForwardRef(object) {
|
|
9036
|
+
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
|
9037
|
+
}
|
|
9038
|
+
function isFragment(object) {
|
|
9039
|
+
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
|
9040
|
+
}
|
|
9041
|
+
function isLazy(object) {
|
|
9042
|
+
return typeOf(object) === REACT_LAZY_TYPE;
|
|
9043
|
+
}
|
|
9044
|
+
function isMemo(object) {
|
|
9045
|
+
return typeOf(object) === REACT_MEMO_TYPE;
|
|
9046
|
+
}
|
|
9047
|
+
function isPortal(object) {
|
|
9048
|
+
return typeOf(object) === REACT_PORTAL_TYPE;
|
|
9049
|
+
}
|
|
9050
|
+
function isProfiler(object) {
|
|
9051
|
+
return typeOf(object) === REACT_PROFILER_TYPE;
|
|
9052
|
+
}
|
|
9053
|
+
function isStrictMode(object) {
|
|
9054
|
+
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
|
9055
|
+
}
|
|
9056
|
+
function isSuspense(object) {
|
|
9057
|
+
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
|
9058
|
+
}
|
|
9059
|
+
|
|
9060
|
+
reactIs_development.AsyncMode = AsyncMode;
|
|
9061
|
+
reactIs_development.ConcurrentMode = ConcurrentMode;
|
|
9062
|
+
reactIs_development.ContextConsumer = ContextConsumer;
|
|
9063
|
+
reactIs_development.ContextProvider = ContextProvider;
|
|
9064
|
+
reactIs_development.Element = Element;
|
|
9065
|
+
reactIs_development.ForwardRef = ForwardRef;
|
|
9066
|
+
reactIs_development.Fragment = Fragment;
|
|
9067
|
+
reactIs_development.Lazy = Lazy;
|
|
9068
|
+
reactIs_development.Memo = Memo;
|
|
9069
|
+
reactIs_development.Portal = Portal;
|
|
9070
|
+
reactIs_development.Profiler = Profiler;
|
|
9071
|
+
reactIs_development.StrictMode = StrictMode;
|
|
9072
|
+
reactIs_development.Suspense = Suspense;
|
|
9073
|
+
reactIs_development.isAsyncMode = isAsyncMode;
|
|
9074
|
+
reactIs_development.isConcurrentMode = isConcurrentMode;
|
|
9075
|
+
reactIs_development.isContextConsumer = isContextConsumer;
|
|
9076
|
+
reactIs_development.isContextProvider = isContextProvider;
|
|
9077
|
+
reactIs_development.isElement = isElement;
|
|
9078
|
+
reactIs_development.isForwardRef = isForwardRef;
|
|
9079
|
+
reactIs_development.isFragment = isFragment;
|
|
9080
|
+
reactIs_development.isLazy = isLazy;
|
|
9081
|
+
reactIs_development.isMemo = isMemo;
|
|
9082
|
+
reactIs_development.isPortal = isPortal;
|
|
9083
|
+
reactIs_development.isProfiler = isProfiler;
|
|
9084
|
+
reactIs_development.isStrictMode = isStrictMode;
|
|
9085
|
+
reactIs_development.isSuspense = isSuspense;
|
|
9086
|
+
reactIs_development.isValidElementType = isValidElementType;
|
|
9087
|
+
reactIs_development.typeOf = typeOf;
|
|
9088
|
+
})();
|
|
9089
|
+
}
|
|
9090
|
+
|
|
9091
|
+
if (process.env.NODE_ENV === 'production') {
|
|
9092
|
+
reactIs.exports = reactIs_production_min;
|
|
9093
|
+
} else {
|
|
9094
|
+
reactIs.exports = reactIs_development;
|
|
9095
|
+
}
|
|
9096
|
+
|
|
9097
|
+
/*
|
|
9098
|
+
object-assign
|
|
9099
|
+
(c) Sindre Sorhus
|
|
9100
|
+
@license MIT
|
|
9101
|
+
*/
|
|
9102
|
+
/* eslint-disable no-unused-vars */
|
|
9103
|
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
9104
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
9105
|
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
9106
|
+
|
|
9107
|
+
function toObject(val) {
|
|
9108
|
+
if (val === null || val === undefined) {
|
|
9109
|
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
|
9110
|
+
}
|
|
9111
|
+
|
|
9112
|
+
return Object(val);
|
|
9113
|
+
}
|
|
9114
|
+
|
|
9115
|
+
function shouldUseNative() {
|
|
9116
|
+
try {
|
|
9117
|
+
if (!Object.assign) {
|
|
9118
|
+
return false;
|
|
9119
|
+
}
|
|
9120
|
+
|
|
9121
|
+
// Detect buggy property enumeration order in older V8 versions.
|
|
9122
|
+
|
|
9123
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
|
9124
|
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
|
9125
|
+
test1[5] = 'de';
|
|
9126
|
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
9127
|
+
return false;
|
|
9128
|
+
}
|
|
9129
|
+
|
|
9130
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
9131
|
+
var test2 = {};
|
|
9132
|
+
for (var i = 0; i < 10; i++) {
|
|
9133
|
+
test2['_' + String.fromCharCode(i)] = i;
|
|
9134
|
+
}
|
|
9135
|
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
9136
|
+
return test2[n];
|
|
9137
|
+
});
|
|
9138
|
+
if (order2.join('') !== '0123456789') {
|
|
9139
|
+
return false;
|
|
9140
|
+
}
|
|
9141
|
+
|
|
9142
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
9143
|
+
var test3 = {};
|
|
9144
|
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
9145
|
+
test3[letter] = letter;
|
|
9146
|
+
});
|
|
9147
|
+
if (Object.keys(Object.assign({}, test3)).join('') !==
|
|
9148
|
+
'abcdefghijklmnopqrst') {
|
|
9149
|
+
return false;
|
|
9150
|
+
}
|
|
9151
|
+
|
|
9152
|
+
return true;
|
|
9153
|
+
} catch (err) {
|
|
9154
|
+
// We don't expect any of the above to throw, but better to be safe.
|
|
9155
|
+
return false;
|
|
9156
|
+
}
|
|
9157
|
+
}
|
|
9158
|
+
|
|
9159
|
+
var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
|
|
9160
|
+
var from;
|
|
9161
|
+
var to = toObject(target);
|
|
9162
|
+
var symbols;
|
|
9163
|
+
|
|
9164
|
+
for (var s = 1; s < arguments.length; s++) {
|
|
9165
|
+
from = Object(arguments[s]);
|
|
9166
|
+
|
|
9167
|
+
for (var key in from) {
|
|
9168
|
+
if (hasOwnProperty.call(from, key)) {
|
|
9169
|
+
to[key] = from[key];
|
|
9170
|
+
}
|
|
9171
|
+
}
|
|
9172
|
+
|
|
9173
|
+
if (getOwnPropertySymbols) {
|
|
9174
|
+
symbols = getOwnPropertySymbols(from);
|
|
9175
|
+
for (var i = 0; i < symbols.length; i++) {
|
|
9176
|
+
if (propIsEnumerable.call(from, symbols[i])) {
|
|
9177
|
+
to[symbols[i]] = from[symbols[i]];
|
|
9178
|
+
}
|
|
9179
|
+
}
|
|
9180
|
+
}
|
|
9181
|
+
}
|
|
9182
|
+
|
|
9183
|
+
return to;
|
|
9184
|
+
};
|
|
9185
|
+
|
|
9186
|
+
/**
|
|
9187
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
9188
|
+
*
|
|
9189
|
+
* This source code is licensed under the MIT license found in the
|
|
9190
|
+
* LICENSE file in the root directory of this source tree.
|
|
9191
|
+
*/
|
|
9192
|
+
|
|
9193
|
+
var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
9194
|
+
|
|
9195
|
+
var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
|
|
9196
|
+
|
|
9197
|
+
var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
9198
|
+
|
|
9199
|
+
/**
|
|
9200
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
9201
|
+
*
|
|
9202
|
+
* This source code is licensed under the MIT license found in the
|
|
9203
|
+
* LICENSE file in the root directory of this source tree.
|
|
9204
|
+
*/
|
|
9205
|
+
|
|
9206
|
+
var printWarning$1 = function() {};
|
|
9207
|
+
|
|
9208
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9209
|
+
var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
|
|
9210
|
+
var loggedTypeFailures = {};
|
|
9211
|
+
var has$1 = has$2;
|
|
9212
|
+
|
|
9213
|
+
printWarning$1 = function(text) {
|
|
9214
|
+
var message = 'Warning: ' + text;
|
|
9215
|
+
if (typeof console !== 'undefined') {
|
|
9216
|
+
console.error(message);
|
|
9217
|
+
}
|
|
9218
|
+
try {
|
|
9219
|
+
// --- Welcome to debugging React ---
|
|
9220
|
+
// This error was thrown as a convenience so that you can use this stack
|
|
9221
|
+
// to find the callsite that caused this warning to fire.
|
|
9222
|
+
throw new Error(message);
|
|
9223
|
+
} catch (x) { /**/ }
|
|
9224
|
+
};
|
|
9225
|
+
}
|
|
9226
|
+
|
|
9227
|
+
/**
|
|
9228
|
+
* Assert that the values match with the type specs.
|
|
9229
|
+
* Error messages are memorized and will only be shown once.
|
|
9230
|
+
*
|
|
9231
|
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
|
9232
|
+
* @param {object} values Runtime values that need to be type-checked
|
|
9233
|
+
* @param {string} location e.g. "prop", "context", "child context"
|
|
9234
|
+
* @param {string} componentName Name of the component for error messages.
|
|
9235
|
+
* @param {?Function} getStack Returns the component stack.
|
|
9236
|
+
* @private
|
|
9237
|
+
*/
|
|
9238
|
+
function checkPropTypes$1(typeSpecs, values, location, componentName, getStack) {
|
|
9239
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9240
|
+
for (var typeSpecName in typeSpecs) {
|
|
9241
|
+
if (has$1(typeSpecs, typeSpecName)) {
|
|
9242
|
+
var error;
|
|
9243
|
+
// Prop type validation may throw. In case they do, we don't want to
|
|
9244
|
+
// fail the render phase where it didn't fail before. So we log it.
|
|
9245
|
+
// After these have been cleaned up, we'll let them throw.
|
|
9246
|
+
try {
|
|
9247
|
+
// This is intentionally an invariant that gets caught. It's the same
|
|
9248
|
+
// behavior as without this statement except with a better message.
|
|
9249
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
|
9250
|
+
var err = Error(
|
|
9251
|
+
(componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
|
|
9252
|
+
'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
|
|
9253
|
+
'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
|
|
9254
|
+
);
|
|
9255
|
+
err.name = 'Invariant Violation';
|
|
9256
|
+
throw err;
|
|
9257
|
+
}
|
|
9258
|
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$2);
|
|
9259
|
+
} catch (ex) {
|
|
9260
|
+
error = ex;
|
|
9261
|
+
}
|
|
9262
|
+
if (error && !(error instanceof Error)) {
|
|
9263
|
+
printWarning$1(
|
|
9264
|
+
(componentName || 'React class') + ': type specification of ' +
|
|
9265
|
+
location + ' `' + typeSpecName + '` is invalid; the type checker ' +
|
|
9266
|
+
'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
|
|
9267
|
+
'You may have forgotten to pass an argument to the type checker ' +
|
|
9268
|
+
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
|
|
9269
|
+
'shape all require an argument).'
|
|
9270
|
+
);
|
|
9271
|
+
}
|
|
9272
|
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
|
9273
|
+
// Only monitor this failure once because there tends to be a lot of the
|
|
9274
|
+
// same error.
|
|
9275
|
+
loggedTypeFailures[error.message] = true;
|
|
9276
|
+
|
|
9277
|
+
var stack = getStack ? getStack() : '';
|
|
9278
|
+
|
|
9279
|
+
printWarning$1(
|
|
9280
|
+
'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
|
|
9281
|
+
);
|
|
9282
|
+
}
|
|
9283
|
+
}
|
|
9284
|
+
}
|
|
9285
|
+
}
|
|
9286
|
+
}
|
|
9287
|
+
|
|
9288
|
+
/**
|
|
9289
|
+
* Resets warning cache when testing.
|
|
9290
|
+
*
|
|
9291
|
+
* @private
|
|
9292
|
+
*/
|
|
9293
|
+
checkPropTypes$1.resetWarningCache = function() {
|
|
9294
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9295
|
+
loggedTypeFailures = {};
|
|
9296
|
+
}
|
|
9297
|
+
};
|
|
9298
|
+
|
|
9299
|
+
var checkPropTypes_1 = checkPropTypes$1;
|
|
9300
|
+
|
|
9301
|
+
/**
|
|
9302
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
9303
|
+
*
|
|
9304
|
+
* This source code is licensed under the MIT license found in the
|
|
9305
|
+
* LICENSE file in the root directory of this source tree.
|
|
9306
|
+
*/
|
|
9307
|
+
|
|
9308
|
+
var ReactIs$1 = reactIs.exports;
|
|
9309
|
+
var assign = objectAssign;
|
|
9310
|
+
|
|
9311
|
+
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
9312
|
+
var has = has$2;
|
|
9313
|
+
var checkPropTypes = checkPropTypes_1;
|
|
9314
|
+
|
|
9315
|
+
var printWarning = function() {};
|
|
9316
|
+
|
|
9317
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9318
|
+
printWarning = function(text) {
|
|
9319
|
+
var message = 'Warning: ' + text;
|
|
9320
|
+
if (typeof console !== 'undefined') {
|
|
9321
|
+
console.error(message);
|
|
9322
|
+
}
|
|
9323
|
+
try {
|
|
9324
|
+
// --- Welcome to debugging React ---
|
|
9325
|
+
// This error was thrown as a convenience so that you can use this stack
|
|
9326
|
+
// to find the callsite that caused this warning to fire.
|
|
9327
|
+
throw new Error(message);
|
|
9328
|
+
} catch (x) {}
|
|
9329
|
+
};
|
|
9330
|
+
}
|
|
9331
|
+
|
|
9332
|
+
function emptyFunctionThatReturnsNull() {
|
|
9333
|
+
return null;
|
|
9334
|
+
}
|
|
9335
|
+
|
|
9336
|
+
var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
9337
|
+
/* global Symbol */
|
|
9338
|
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
|
9339
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
|
9340
|
+
|
|
9341
|
+
/**
|
|
9342
|
+
* Returns the iterator method function contained on the iterable object.
|
|
9343
|
+
*
|
|
9344
|
+
* Be sure to invoke the function with the iterable as context:
|
|
9345
|
+
*
|
|
9346
|
+
* var iteratorFn = getIteratorFn(myIterable);
|
|
9347
|
+
* if (iteratorFn) {
|
|
9348
|
+
* var iterator = iteratorFn.call(myIterable);
|
|
9349
|
+
* ...
|
|
9350
|
+
* }
|
|
9351
|
+
*
|
|
9352
|
+
* @param {?object} maybeIterable
|
|
9353
|
+
* @return {?function}
|
|
9354
|
+
*/
|
|
9355
|
+
function getIteratorFn(maybeIterable) {
|
|
9356
|
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
|
9357
|
+
if (typeof iteratorFn === 'function') {
|
|
9358
|
+
return iteratorFn;
|
|
9359
|
+
}
|
|
9360
|
+
}
|
|
9361
|
+
|
|
9362
|
+
/**
|
|
9363
|
+
* Collection of methods that allow declaration and validation of props that are
|
|
9364
|
+
* supplied to React components. Example usage:
|
|
9365
|
+
*
|
|
9366
|
+
* var Props = require('ReactPropTypes');
|
|
9367
|
+
* var MyArticle = React.createClass({
|
|
9368
|
+
* propTypes: {
|
|
9369
|
+
* // An optional string prop named "description".
|
|
9370
|
+
* description: Props.string,
|
|
9371
|
+
*
|
|
9372
|
+
* // A required enum prop named "category".
|
|
9373
|
+
* category: Props.oneOf(['News','Photos']).isRequired,
|
|
9374
|
+
*
|
|
9375
|
+
* // A prop named "dialog" that requires an instance of Dialog.
|
|
9376
|
+
* dialog: Props.instanceOf(Dialog).isRequired
|
|
9377
|
+
* },
|
|
9378
|
+
* render: function() { ... }
|
|
9379
|
+
* });
|
|
9380
|
+
*
|
|
9381
|
+
* A more formal specification of how these methods are used:
|
|
9382
|
+
*
|
|
9383
|
+
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
|
|
9384
|
+
* decl := ReactPropTypes.{type}(.isRequired)?
|
|
9385
|
+
*
|
|
9386
|
+
* Each and every declaration produces a function with the same signature. This
|
|
9387
|
+
* allows the creation of custom validation functions. For example:
|
|
9388
|
+
*
|
|
9389
|
+
* var MyLink = React.createClass({
|
|
9390
|
+
* propTypes: {
|
|
9391
|
+
* // An optional string or URI prop named "href".
|
|
9392
|
+
* href: function(props, propName, componentName) {
|
|
9393
|
+
* var propValue = props[propName];
|
|
9394
|
+
* if (propValue != null && typeof propValue !== 'string' &&
|
|
9395
|
+
* !(propValue instanceof URI)) {
|
|
9396
|
+
* return new Error(
|
|
9397
|
+
* 'Expected a string or an URI for ' + propName + ' in ' +
|
|
9398
|
+
* componentName
|
|
9399
|
+
* );
|
|
9400
|
+
* }
|
|
9401
|
+
* }
|
|
9402
|
+
* },
|
|
9403
|
+
* render: function() {...}
|
|
9404
|
+
* });
|
|
9405
|
+
*
|
|
9406
|
+
* @internal
|
|
9407
|
+
*/
|
|
9408
|
+
|
|
9409
|
+
var ANONYMOUS = '<<anonymous>>';
|
|
9410
|
+
|
|
9411
|
+
// Important!
|
|
9412
|
+
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
|
9413
|
+
var ReactPropTypes = {
|
|
9414
|
+
array: createPrimitiveTypeChecker('array'),
|
|
9415
|
+
bigint: createPrimitiveTypeChecker('bigint'),
|
|
9416
|
+
bool: createPrimitiveTypeChecker('boolean'),
|
|
9417
|
+
func: createPrimitiveTypeChecker('function'),
|
|
9418
|
+
number: createPrimitiveTypeChecker('number'),
|
|
9419
|
+
object: createPrimitiveTypeChecker('object'),
|
|
9420
|
+
string: createPrimitiveTypeChecker('string'),
|
|
9421
|
+
symbol: createPrimitiveTypeChecker('symbol'),
|
|
9422
|
+
|
|
9423
|
+
any: createAnyTypeChecker(),
|
|
9424
|
+
arrayOf: createArrayOfTypeChecker,
|
|
9425
|
+
element: createElementTypeChecker(),
|
|
9426
|
+
elementType: createElementTypeTypeChecker(),
|
|
9427
|
+
instanceOf: createInstanceTypeChecker,
|
|
9428
|
+
node: createNodeChecker(),
|
|
9429
|
+
objectOf: createObjectOfTypeChecker,
|
|
9430
|
+
oneOf: createEnumTypeChecker,
|
|
9431
|
+
oneOfType: createUnionTypeChecker,
|
|
9432
|
+
shape: createShapeTypeChecker,
|
|
9433
|
+
exact: createStrictShapeTypeChecker,
|
|
9434
|
+
};
|
|
9435
|
+
|
|
9436
|
+
/**
|
|
9437
|
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
|
9438
|
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
|
9439
|
+
*/
|
|
9440
|
+
/*eslint-disable no-self-compare*/
|
|
9441
|
+
function is(x, y) {
|
|
9442
|
+
// SameValue algorithm
|
|
9443
|
+
if (x === y) {
|
|
9444
|
+
// Steps 1-5, 7-10
|
|
9445
|
+
// Steps 6.b-6.e: +0 != -0
|
|
9446
|
+
return x !== 0 || 1 / x === 1 / y;
|
|
9447
|
+
} else {
|
|
9448
|
+
// Step 6.a: NaN == NaN
|
|
9449
|
+
return x !== x && y !== y;
|
|
9450
|
+
}
|
|
9451
|
+
}
|
|
9452
|
+
/*eslint-enable no-self-compare*/
|
|
9453
|
+
|
|
9454
|
+
/**
|
|
9455
|
+
* We use an Error-like object for backward compatibility as people may call
|
|
9456
|
+
* PropTypes directly and inspect their output. However, we don't use real
|
|
9457
|
+
* Errors anymore. We don't inspect their stack anyway, and creating them
|
|
9458
|
+
* is prohibitively expensive if they are created too often, such as what
|
|
9459
|
+
* happens in oneOfType() for any type before the one that matched.
|
|
9460
|
+
*/
|
|
9461
|
+
function PropTypeError(message, data) {
|
|
9462
|
+
this.message = message;
|
|
9463
|
+
this.data = data && typeof data === 'object' ? data: {};
|
|
9464
|
+
this.stack = '';
|
|
9465
|
+
}
|
|
9466
|
+
// Make `instanceof Error` still work for returned errors.
|
|
9467
|
+
PropTypeError.prototype = Error.prototype;
|
|
9468
|
+
|
|
9469
|
+
function createChainableTypeChecker(validate) {
|
|
9470
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9471
|
+
var manualPropTypeCallCache = {};
|
|
9472
|
+
var manualPropTypeWarningCount = 0;
|
|
9473
|
+
}
|
|
9474
|
+
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
|
9475
|
+
componentName = componentName || ANONYMOUS;
|
|
9476
|
+
propFullName = propFullName || propName;
|
|
9477
|
+
|
|
9478
|
+
if (secret !== ReactPropTypesSecret$1) {
|
|
9479
|
+
if (throwOnDirectAccess) {
|
|
9480
|
+
// New behavior only for users of `prop-types` package
|
|
9481
|
+
var err = new Error(
|
|
9482
|
+
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
9483
|
+
'Use `PropTypes.checkPropTypes()` to call them. ' +
|
|
9484
|
+
'Read more at http://fb.me/use-check-prop-types'
|
|
9485
|
+
);
|
|
9486
|
+
err.name = 'Invariant Violation';
|
|
9487
|
+
throw err;
|
|
9488
|
+
} else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
|
|
9489
|
+
// Old behavior for people using React.PropTypes
|
|
9490
|
+
var cacheKey = componentName + ':' + propName;
|
|
9491
|
+
if (
|
|
9492
|
+
!manualPropTypeCallCache[cacheKey] &&
|
|
9493
|
+
// Avoid spamming the console because they are often not actionable except for lib authors
|
|
9494
|
+
manualPropTypeWarningCount < 3
|
|
9495
|
+
) {
|
|
9496
|
+
printWarning(
|
|
9497
|
+
'You are manually calling a React.PropTypes validation ' +
|
|
9498
|
+
'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
|
|
9499
|
+
'and will throw in the standalone `prop-types` package. ' +
|
|
9500
|
+
'You may be seeing this warning due to a third-party PropTypes ' +
|
|
9501
|
+
'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
|
|
9502
|
+
);
|
|
9503
|
+
manualPropTypeCallCache[cacheKey] = true;
|
|
9504
|
+
manualPropTypeWarningCount++;
|
|
9505
|
+
}
|
|
9506
|
+
}
|
|
9507
|
+
}
|
|
9508
|
+
if (props[propName] == null) {
|
|
9509
|
+
if (isRequired) {
|
|
9510
|
+
if (props[propName] === null) {
|
|
9511
|
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
|
9512
|
+
}
|
|
9513
|
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
|
9514
|
+
}
|
|
9515
|
+
return null;
|
|
9516
|
+
} else {
|
|
9517
|
+
return validate(props, propName, componentName, location, propFullName);
|
|
9518
|
+
}
|
|
9519
|
+
}
|
|
9520
|
+
|
|
9521
|
+
var chainedCheckType = checkType.bind(null, false);
|
|
9522
|
+
chainedCheckType.isRequired = checkType.bind(null, true);
|
|
9523
|
+
|
|
9524
|
+
return chainedCheckType;
|
|
9525
|
+
}
|
|
9526
|
+
|
|
9527
|
+
function createPrimitiveTypeChecker(expectedType) {
|
|
9528
|
+
function validate(props, propName, componentName, location, propFullName, secret) {
|
|
9529
|
+
var propValue = props[propName];
|
|
9530
|
+
var propType = getPropType(propValue);
|
|
9531
|
+
if (propType !== expectedType) {
|
|
9532
|
+
// `propValue` being instance of, say, date/regexp, pass the 'object'
|
|
9533
|
+
// check, but we can offer a more precise error message here rather than
|
|
9534
|
+
// 'of type `object`'.
|
|
9535
|
+
var preciseType = getPreciseType(propValue);
|
|
9536
|
+
|
|
9537
|
+
return new PropTypeError(
|
|
9538
|
+
'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
|
|
9539
|
+
{expectedType: expectedType}
|
|
9540
|
+
);
|
|
9541
|
+
}
|
|
9542
|
+
return null;
|
|
9543
|
+
}
|
|
9544
|
+
return createChainableTypeChecker(validate);
|
|
9545
|
+
}
|
|
9546
|
+
|
|
9547
|
+
function createAnyTypeChecker() {
|
|
9548
|
+
return createChainableTypeChecker(emptyFunctionThatReturnsNull);
|
|
9549
|
+
}
|
|
9550
|
+
|
|
9551
|
+
function createArrayOfTypeChecker(typeChecker) {
|
|
9552
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9553
|
+
if (typeof typeChecker !== 'function') {
|
|
9554
|
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
|
|
9555
|
+
}
|
|
9556
|
+
var propValue = props[propName];
|
|
9557
|
+
if (!Array.isArray(propValue)) {
|
|
9558
|
+
var propType = getPropType(propValue);
|
|
9559
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
|
|
9560
|
+
}
|
|
9561
|
+
for (var i = 0; i < propValue.length; i++) {
|
|
9562
|
+
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret$1);
|
|
9563
|
+
if (error instanceof Error) {
|
|
9564
|
+
return error;
|
|
9565
|
+
}
|
|
9566
|
+
}
|
|
9567
|
+
return null;
|
|
9568
|
+
}
|
|
9569
|
+
return createChainableTypeChecker(validate);
|
|
9570
|
+
}
|
|
9571
|
+
|
|
9572
|
+
function createElementTypeChecker() {
|
|
9573
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9574
|
+
var propValue = props[propName];
|
|
9575
|
+
if (!isValidElement(propValue)) {
|
|
9576
|
+
var propType = getPropType(propValue);
|
|
9577
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
|
|
9578
|
+
}
|
|
9579
|
+
return null;
|
|
9580
|
+
}
|
|
9581
|
+
return createChainableTypeChecker(validate);
|
|
9582
|
+
}
|
|
9583
|
+
|
|
9584
|
+
function createElementTypeTypeChecker() {
|
|
9585
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9586
|
+
var propValue = props[propName];
|
|
9587
|
+
if (!ReactIs$1.isValidElementType(propValue)) {
|
|
9588
|
+
var propType = getPropType(propValue);
|
|
9589
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
|
|
9590
|
+
}
|
|
9591
|
+
return null;
|
|
9592
|
+
}
|
|
9593
|
+
return createChainableTypeChecker(validate);
|
|
9594
|
+
}
|
|
9595
|
+
|
|
9596
|
+
function createInstanceTypeChecker(expectedClass) {
|
|
9597
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9598
|
+
if (!(props[propName] instanceof expectedClass)) {
|
|
9599
|
+
var expectedClassName = expectedClass.name || ANONYMOUS;
|
|
9600
|
+
var actualClassName = getClassName(props[propName]);
|
|
9601
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
|
|
9602
|
+
}
|
|
9603
|
+
return null;
|
|
9604
|
+
}
|
|
9605
|
+
return createChainableTypeChecker(validate);
|
|
9606
|
+
}
|
|
9607
|
+
|
|
9608
|
+
function createEnumTypeChecker(expectedValues) {
|
|
9609
|
+
if (!Array.isArray(expectedValues)) {
|
|
9610
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9611
|
+
if (arguments.length > 1) {
|
|
9612
|
+
printWarning(
|
|
9613
|
+
'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
|
|
9614
|
+
'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
|
|
9615
|
+
);
|
|
9616
|
+
} else {
|
|
9617
|
+
printWarning('Invalid argument supplied to oneOf, expected an array.');
|
|
9618
|
+
}
|
|
9619
|
+
}
|
|
9620
|
+
return emptyFunctionThatReturnsNull;
|
|
9621
|
+
}
|
|
9622
|
+
|
|
9623
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9624
|
+
var propValue = props[propName];
|
|
9625
|
+
for (var i = 0; i < expectedValues.length; i++) {
|
|
9626
|
+
if (is(propValue, expectedValues[i])) {
|
|
9627
|
+
return null;
|
|
9628
|
+
}
|
|
9629
|
+
}
|
|
9630
|
+
|
|
9631
|
+
var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
|
|
9632
|
+
var type = getPreciseType(value);
|
|
9633
|
+
if (type === 'symbol') {
|
|
9634
|
+
return String(value);
|
|
9635
|
+
}
|
|
9636
|
+
return value;
|
|
9637
|
+
});
|
|
9638
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
|
9639
|
+
}
|
|
9640
|
+
return createChainableTypeChecker(validate);
|
|
9641
|
+
}
|
|
9642
|
+
|
|
9643
|
+
function createObjectOfTypeChecker(typeChecker) {
|
|
9644
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9645
|
+
if (typeof typeChecker !== 'function') {
|
|
9646
|
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
|
|
9647
|
+
}
|
|
9648
|
+
var propValue = props[propName];
|
|
9649
|
+
var propType = getPropType(propValue);
|
|
9650
|
+
if (propType !== 'object') {
|
|
9651
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
9652
|
+
}
|
|
9653
|
+
for (var key in propValue) {
|
|
9654
|
+
if (has(propValue, key)) {
|
|
9655
|
+
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
9656
|
+
if (error instanceof Error) {
|
|
9657
|
+
return error;
|
|
9658
|
+
}
|
|
9659
|
+
}
|
|
9660
|
+
}
|
|
9661
|
+
return null;
|
|
9662
|
+
}
|
|
9663
|
+
return createChainableTypeChecker(validate);
|
|
9664
|
+
}
|
|
9665
|
+
|
|
9666
|
+
function createUnionTypeChecker(arrayOfTypeCheckers) {
|
|
9667
|
+
if (!Array.isArray(arrayOfTypeCheckers)) {
|
|
9668
|
+
process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
|
|
9669
|
+
return emptyFunctionThatReturnsNull;
|
|
9670
|
+
}
|
|
9671
|
+
|
|
9672
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
9673
|
+
var checker = arrayOfTypeCheckers[i];
|
|
9674
|
+
if (typeof checker !== 'function') {
|
|
9675
|
+
printWarning(
|
|
9676
|
+
'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
|
|
9677
|
+
'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
|
|
9678
|
+
);
|
|
9679
|
+
return emptyFunctionThatReturnsNull;
|
|
9680
|
+
}
|
|
9681
|
+
}
|
|
9682
|
+
|
|
9683
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9684
|
+
var expectedTypes = [];
|
|
9685
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
9686
|
+
var checker = arrayOfTypeCheckers[i];
|
|
9687
|
+
var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1);
|
|
9688
|
+
if (checkerResult == null) {
|
|
9689
|
+
return null;
|
|
9690
|
+
}
|
|
9691
|
+
if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
|
|
9692
|
+
expectedTypes.push(checkerResult.data.expectedType);
|
|
9693
|
+
}
|
|
9694
|
+
}
|
|
9695
|
+
var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
|
|
9696
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
|
|
9697
|
+
}
|
|
9698
|
+
return createChainableTypeChecker(validate);
|
|
9699
|
+
}
|
|
9700
|
+
|
|
9701
|
+
function createNodeChecker() {
|
|
9702
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9703
|
+
if (!isNode(props[propName])) {
|
|
9704
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
|
|
9705
|
+
}
|
|
9706
|
+
return null;
|
|
9707
|
+
}
|
|
9708
|
+
return createChainableTypeChecker(validate);
|
|
9709
|
+
}
|
|
9710
|
+
|
|
9711
|
+
function invalidValidatorError(componentName, location, propFullName, key, type) {
|
|
9712
|
+
return new PropTypeError(
|
|
9713
|
+
(componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
|
|
9714
|
+
'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
|
|
9715
|
+
);
|
|
9716
|
+
}
|
|
9717
|
+
|
|
9718
|
+
function createShapeTypeChecker(shapeTypes) {
|
|
9719
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9720
|
+
var propValue = props[propName];
|
|
9721
|
+
var propType = getPropType(propValue);
|
|
9722
|
+
if (propType !== 'object') {
|
|
9723
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
9724
|
+
}
|
|
9725
|
+
for (var key in shapeTypes) {
|
|
9726
|
+
var checker = shapeTypes[key];
|
|
9727
|
+
if (typeof checker !== 'function') {
|
|
9728
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
9729
|
+
}
|
|
9730
|
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
9731
|
+
if (error) {
|
|
9732
|
+
return error;
|
|
9733
|
+
}
|
|
9734
|
+
}
|
|
9735
|
+
return null;
|
|
9736
|
+
}
|
|
9737
|
+
return createChainableTypeChecker(validate);
|
|
9738
|
+
}
|
|
9739
|
+
|
|
9740
|
+
function createStrictShapeTypeChecker(shapeTypes) {
|
|
9741
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
9742
|
+
var propValue = props[propName];
|
|
9743
|
+
var propType = getPropType(propValue);
|
|
9744
|
+
if (propType !== 'object') {
|
|
9745
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
9746
|
+
}
|
|
9747
|
+
// We need to check all keys in case some are required but missing from props.
|
|
9748
|
+
var allKeys = assign({}, props[propName], shapeTypes);
|
|
9749
|
+
for (var key in allKeys) {
|
|
9750
|
+
var checker = shapeTypes[key];
|
|
9751
|
+
if (has(shapeTypes, key) && typeof checker !== 'function') {
|
|
9752
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
9753
|
+
}
|
|
9754
|
+
if (!checker) {
|
|
9755
|
+
return new PropTypeError(
|
|
9756
|
+
'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
|
|
9757
|
+
'\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
|
|
9758
|
+
'\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
|
|
9759
|
+
);
|
|
9760
|
+
}
|
|
9761
|
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
9762
|
+
if (error) {
|
|
9763
|
+
return error;
|
|
9764
|
+
}
|
|
9765
|
+
}
|
|
9766
|
+
return null;
|
|
9767
|
+
}
|
|
9768
|
+
|
|
9769
|
+
return createChainableTypeChecker(validate);
|
|
9770
|
+
}
|
|
9771
|
+
|
|
9772
|
+
function isNode(propValue) {
|
|
9773
|
+
switch (typeof propValue) {
|
|
9774
|
+
case 'number':
|
|
9775
|
+
case 'string':
|
|
9776
|
+
case 'undefined':
|
|
9777
|
+
return true;
|
|
9778
|
+
case 'boolean':
|
|
9779
|
+
return !propValue;
|
|
9780
|
+
case 'object':
|
|
9781
|
+
if (Array.isArray(propValue)) {
|
|
9782
|
+
return propValue.every(isNode);
|
|
9783
|
+
}
|
|
9784
|
+
if (propValue === null || isValidElement(propValue)) {
|
|
9785
|
+
return true;
|
|
9786
|
+
}
|
|
9787
|
+
|
|
9788
|
+
var iteratorFn = getIteratorFn(propValue);
|
|
9789
|
+
if (iteratorFn) {
|
|
9790
|
+
var iterator = iteratorFn.call(propValue);
|
|
9791
|
+
var step;
|
|
9792
|
+
if (iteratorFn !== propValue.entries) {
|
|
9793
|
+
while (!(step = iterator.next()).done) {
|
|
9794
|
+
if (!isNode(step.value)) {
|
|
9795
|
+
return false;
|
|
9796
|
+
}
|
|
9797
|
+
}
|
|
9798
|
+
} else {
|
|
9799
|
+
// Iterator will provide entry [k,v] tuples rather than values.
|
|
9800
|
+
while (!(step = iterator.next()).done) {
|
|
9801
|
+
var entry = step.value;
|
|
9802
|
+
if (entry) {
|
|
9803
|
+
if (!isNode(entry[1])) {
|
|
9804
|
+
return false;
|
|
9805
|
+
}
|
|
9806
|
+
}
|
|
9807
|
+
}
|
|
9808
|
+
}
|
|
9809
|
+
} else {
|
|
9810
|
+
return false;
|
|
9811
|
+
}
|
|
9812
|
+
|
|
9813
|
+
return true;
|
|
9814
|
+
default:
|
|
9815
|
+
return false;
|
|
9816
|
+
}
|
|
9817
|
+
}
|
|
9818
|
+
|
|
9819
|
+
function isSymbol(propType, propValue) {
|
|
9820
|
+
// Native Symbol.
|
|
9821
|
+
if (propType === 'symbol') {
|
|
9822
|
+
return true;
|
|
9823
|
+
}
|
|
9824
|
+
|
|
9825
|
+
// falsy value can't be a Symbol
|
|
9826
|
+
if (!propValue) {
|
|
9827
|
+
return false;
|
|
9828
|
+
}
|
|
9829
|
+
|
|
9830
|
+
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
|
9831
|
+
if (propValue['@@toStringTag'] === 'Symbol') {
|
|
9832
|
+
return true;
|
|
9833
|
+
}
|
|
9834
|
+
|
|
9835
|
+
// Fallback for non-spec compliant Symbols which are polyfilled.
|
|
9836
|
+
if (typeof Symbol === 'function' && propValue instanceof Symbol) {
|
|
9837
|
+
return true;
|
|
9838
|
+
}
|
|
9839
|
+
|
|
9840
|
+
return false;
|
|
9841
|
+
}
|
|
9842
|
+
|
|
9843
|
+
// Equivalent of `typeof` but with special handling for array and regexp.
|
|
9844
|
+
function getPropType(propValue) {
|
|
9845
|
+
var propType = typeof propValue;
|
|
9846
|
+
if (Array.isArray(propValue)) {
|
|
9847
|
+
return 'array';
|
|
9848
|
+
}
|
|
9849
|
+
if (propValue instanceof RegExp) {
|
|
9850
|
+
// Old webkits (at least until Android 4.0) return 'function' rather than
|
|
9851
|
+
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/
|
|
9852
|
+
// passes PropTypes.object.
|
|
9853
|
+
return 'object';
|
|
9854
|
+
}
|
|
9855
|
+
if (isSymbol(propType, propValue)) {
|
|
9856
|
+
return 'symbol';
|
|
9857
|
+
}
|
|
9858
|
+
return propType;
|
|
9859
|
+
}
|
|
9860
|
+
|
|
9861
|
+
// This handles more types than `getPropType`. Only used for error messages.
|
|
9862
|
+
// See `createPrimitiveTypeChecker`.
|
|
9863
|
+
function getPreciseType(propValue) {
|
|
9864
|
+
if (typeof propValue === 'undefined' || propValue === null) {
|
|
9865
|
+
return '' + propValue;
|
|
9866
|
+
}
|
|
9867
|
+
var propType = getPropType(propValue);
|
|
9868
|
+
if (propType === 'object') {
|
|
9869
|
+
if (propValue instanceof Date) {
|
|
9870
|
+
return 'date';
|
|
9871
|
+
} else if (propValue instanceof RegExp) {
|
|
9872
|
+
return 'regexp';
|
|
9873
|
+
}
|
|
9874
|
+
}
|
|
9875
|
+
return propType;
|
|
9876
|
+
}
|
|
9877
|
+
|
|
9878
|
+
// Returns a string that is postfixed to a warning about an invalid type.
|
|
9879
|
+
// For example, "undefined" or "of type array"
|
|
9880
|
+
function getPostfixForTypeWarning(value) {
|
|
9881
|
+
var type = getPreciseType(value);
|
|
9882
|
+
switch (type) {
|
|
9883
|
+
case 'array':
|
|
9884
|
+
case 'object':
|
|
9885
|
+
return 'an ' + type;
|
|
9886
|
+
case 'boolean':
|
|
9887
|
+
case 'date':
|
|
9888
|
+
case 'regexp':
|
|
9889
|
+
return 'a ' + type;
|
|
9890
|
+
default:
|
|
9891
|
+
return type;
|
|
9892
|
+
}
|
|
9893
|
+
}
|
|
9894
|
+
|
|
9895
|
+
// Returns class name of the object, if any.
|
|
9896
|
+
function getClassName(propValue) {
|
|
9897
|
+
if (!propValue.constructor || !propValue.constructor.name) {
|
|
9898
|
+
return ANONYMOUS;
|
|
9899
|
+
}
|
|
9900
|
+
return propValue.constructor.name;
|
|
9901
|
+
}
|
|
9902
|
+
|
|
9903
|
+
ReactPropTypes.checkPropTypes = checkPropTypes;
|
|
9904
|
+
ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
|
|
9905
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
9906
|
+
|
|
9907
|
+
return ReactPropTypes;
|
|
9908
|
+
};
|
|
9909
|
+
|
|
9910
|
+
/**
|
|
9911
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
9912
|
+
*
|
|
9913
|
+
* This source code is licensed under the MIT license found in the
|
|
9914
|
+
* LICENSE file in the root directory of this source tree.
|
|
9915
|
+
*/
|
|
9916
|
+
|
|
9917
|
+
var ReactPropTypesSecret = ReactPropTypesSecret_1;
|
|
9918
|
+
|
|
9919
|
+
function emptyFunction() {}
|
|
9920
|
+
function emptyFunctionWithReset() {}
|
|
9921
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
9922
|
+
|
|
9923
|
+
var factoryWithThrowingShims = function() {
|
|
9924
|
+
function shim(props, propName, componentName, location, propFullName, secret) {
|
|
9925
|
+
if (secret === ReactPropTypesSecret) {
|
|
9926
|
+
// It is still safe when called from React.
|
|
9927
|
+
return;
|
|
9928
|
+
}
|
|
9929
|
+
var err = new Error(
|
|
9930
|
+
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
9931
|
+
'Use PropTypes.checkPropTypes() to call them. ' +
|
|
9932
|
+
'Read more at http://fb.me/use-check-prop-types'
|
|
9933
|
+
);
|
|
9934
|
+
err.name = 'Invariant Violation';
|
|
9935
|
+
throw err;
|
|
9936
|
+
} shim.isRequired = shim;
|
|
9937
|
+
function getShim() {
|
|
9938
|
+
return shim;
|
|
9939
|
+
} // Important!
|
|
9940
|
+
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
|
9941
|
+
var ReactPropTypes = {
|
|
9942
|
+
array: shim,
|
|
9943
|
+
bigint: shim,
|
|
9944
|
+
bool: shim,
|
|
9945
|
+
func: shim,
|
|
9946
|
+
number: shim,
|
|
9947
|
+
object: shim,
|
|
9948
|
+
string: shim,
|
|
9949
|
+
symbol: shim,
|
|
9950
|
+
|
|
9951
|
+
any: shim,
|
|
9952
|
+
arrayOf: getShim,
|
|
9953
|
+
element: shim,
|
|
9954
|
+
elementType: shim,
|
|
9955
|
+
instanceOf: getShim,
|
|
9956
|
+
node: shim,
|
|
9957
|
+
objectOf: getShim,
|
|
9958
|
+
oneOf: getShim,
|
|
9959
|
+
oneOfType: getShim,
|
|
9960
|
+
shape: getShim,
|
|
9961
|
+
exact: getShim,
|
|
9962
|
+
|
|
9963
|
+
checkPropTypes: emptyFunctionWithReset,
|
|
9964
|
+
resetWarningCache: emptyFunction
|
|
9965
|
+
};
|
|
9966
|
+
|
|
9967
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
9968
|
+
|
|
9969
|
+
return ReactPropTypes;
|
|
9970
|
+
};
|
|
9971
|
+
|
|
9972
|
+
/**
|
|
9973
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
9974
|
+
*
|
|
9975
|
+
* This source code is licensed under the MIT license found in the
|
|
9976
|
+
* LICENSE file in the root directory of this source tree.
|
|
9977
|
+
*/
|
|
9978
|
+
|
|
9979
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
9980
|
+
var ReactIs = reactIs.exports;
|
|
9981
|
+
|
|
9982
|
+
// By explicitly using `prop-types` you are opting into new development behavior.
|
|
9983
|
+
// http://fb.me/prop-types-in-prod
|
|
9984
|
+
var throwOnDirectAccess = true;
|
|
9985
|
+
propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);
|
|
9986
|
+
} else {
|
|
9987
|
+
// By explicitly using `prop-types` you are opting into new production behavior.
|
|
9988
|
+
// http://fb.me/prop-types-in-prod
|
|
9989
|
+
propTypes.exports = factoryWithThrowingShims();
|
|
9990
|
+
}
|
|
9991
|
+
|
|
9992
|
+
var PropTypes = propTypes.exports;
|
|
9993
|
+
|
|
9994
|
+
function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
|
|
9995
|
+
|
|
9996
|
+
var Image$1 = function Image(_ref) {
|
|
9997
|
+
var src = _ref.src,
|
|
9998
|
+
sources = _ref.sources,
|
|
9999
|
+
width = _ref.width,
|
|
10000
|
+
height = _ref.height,
|
|
10001
|
+
hasSpacer = _ref.hasSpacer,
|
|
10002
|
+
imgAttributes = _ref.imgAttributes,
|
|
10003
|
+
isZoomed = _ref.isZoomed,
|
|
10004
|
+
fadeDuration = _ref.fadeDuration;
|
|
10005
|
+
var createSpacer = width && height && hasSpacer;
|
|
10006
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
10007
|
+
style: {
|
|
10008
|
+
paddingTop: createSpacer ? height / width * 100 + "%" : null
|
|
10009
|
+
}
|
|
10010
|
+
}, sources && sources.length > 0 ? /*#__PURE__*/React__default["default"].createElement("picture", null, sources.map(function (source, i) {
|
|
10011
|
+
return /*#__PURE__*/React__default["default"].createElement(React$2.Fragment, {
|
|
10012
|
+
key: i
|
|
10013
|
+
}, source.srcSet && /*#__PURE__*/React__default["default"].createElement("source", source));
|
|
10014
|
+
}), /*#__PURE__*/React__default["default"].createElement("img", _extends$1({}, imgAttributes, {
|
|
10015
|
+
className: "iiz__img " + (imgAttributes.className || '') + " " + (isZoomed ? 'iiz__img--hidden' : '') + " " + (createSpacer ? 'iiz__img--abs' : ''),
|
|
10016
|
+
style: {
|
|
10017
|
+
transition: "linear 0ms opacity " + (isZoomed ? fadeDuration : 0) + "ms, linear " + fadeDuration + "ms visibility " + (isZoomed ? fadeDuration : 0) + "ms"
|
|
10018
|
+
},
|
|
10019
|
+
src: src,
|
|
10020
|
+
width: width,
|
|
10021
|
+
height: height
|
|
10022
|
+
}))) : /*#__PURE__*/React__default["default"].createElement("img", _extends$1({}, imgAttributes, {
|
|
10023
|
+
className: "iiz__img " + (imgAttributes.className || '') + " " + (isZoomed ? 'iiz__img--hidden' : '') + " " + (createSpacer ? 'iiz__img--abs' : ''),
|
|
10024
|
+
style: {
|
|
10025
|
+
transition: "linear 0ms opacity " + (isZoomed ? fadeDuration : 0) + "ms, linear " + fadeDuration + "ms visibility " + (isZoomed ? fadeDuration : 0) + "ms"
|
|
10026
|
+
},
|
|
10027
|
+
src: src,
|
|
10028
|
+
width: width,
|
|
10029
|
+
height: height
|
|
10030
|
+
})));
|
|
10031
|
+
};
|
|
10032
|
+
|
|
10033
|
+
Image$1.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
10034
|
+
src: PropTypes.string.isRequired,
|
|
10035
|
+
sources: PropTypes.array,
|
|
10036
|
+
width: PropTypes.number,
|
|
10037
|
+
height: PropTypes.number,
|
|
10038
|
+
hasSpacer: PropTypes.bool,
|
|
10039
|
+
imgAttributes: PropTypes.object,
|
|
10040
|
+
fadeDuration: PropTypes.number,
|
|
10041
|
+
isZoomed: PropTypes.bool
|
|
10042
|
+
} : {};
|
|
10043
|
+
|
|
10044
|
+
var ZoomImage = function ZoomImage(_ref) {
|
|
10045
|
+
var src = _ref.src,
|
|
10046
|
+
fadeDuration = _ref.fadeDuration,
|
|
10047
|
+
top = _ref.top,
|
|
10048
|
+
left = _ref.left,
|
|
10049
|
+
isZoomed = _ref.isZoomed,
|
|
10050
|
+
onLoad = _ref.onLoad,
|
|
10051
|
+
onDragStart = _ref.onDragStart,
|
|
10052
|
+
onDragEnd = _ref.onDragEnd,
|
|
10053
|
+
onClose = _ref.onClose,
|
|
10054
|
+
onFadeOut = _ref.onFadeOut;
|
|
10055
|
+
return /*#__PURE__*/React__default["default"].createElement(React$2.Fragment, null, /*#__PURE__*/React__default["default"].createElement("img", {
|
|
10056
|
+
className: "iiz__zoom-img " + (isZoomed ? 'iiz__zoom-img--visible' : ''),
|
|
10057
|
+
style: {
|
|
10058
|
+
top: top,
|
|
10059
|
+
left: left,
|
|
10060
|
+
transition: "linear " + fadeDuration + "ms opacity, linear " + fadeDuration + "ms visibility"
|
|
10061
|
+
},
|
|
10062
|
+
src: src,
|
|
10063
|
+
onLoad: onLoad,
|
|
10064
|
+
onTouchStart: onDragStart,
|
|
10065
|
+
onTouchEnd: onDragEnd,
|
|
10066
|
+
onMouseDown: onDragStart,
|
|
10067
|
+
onMouseUp: onDragEnd,
|
|
10068
|
+
onTransitionEnd: onFadeOut,
|
|
10069
|
+
draggable: "false",
|
|
10070
|
+
alt: ""
|
|
10071
|
+
}), onClose && /*#__PURE__*/React__default["default"].createElement("button", {
|
|
10072
|
+
className: "iiz__btn iiz__close " + (isZoomed ? 'iiz__close--visible' : ''),
|
|
10073
|
+
style: {
|
|
10074
|
+
transition: "linear " + fadeDuration + "ms opacity, linear " + fadeDuration + "ms visibility"
|
|
10075
|
+
},
|
|
10076
|
+
onClick: onClose,
|
|
10077
|
+
"aria-label": "Zoom Out"
|
|
10078
|
+
}));
|
|
10079
|
+
};
|
|
10080
|
+
|
|
10081
|
+
ZoomImage.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
10082
|
+
src: PropTypes.string,
|
|
10083
|
+
fadeDuration: PropTypes.number,
|
|
10084
|
+
top: PropTypes.number,
|
|
10085
|
+
left: PropTypes.number,
|
|
10086
|
+
isZoomed: PropTypes.bool,
|
|
10087
|
+
onLoad: PropTypes.func,
|
|
10088
|
+
onDragStart: PropTypes.func,
|
|
10089
|
+
onDragEnd: PropTypes.func,
|
|
10090
|
+
onClose: PropTypes.func,
|
|
10091
|
+
onFadeOut: PropTypes.func
|
|
10092
|
+
} : {};
|
|
10093
|
+
|
|
10094
|
+
var FullscreenPortal = function FullscreenPortal(_ref) {
|
|
10095
|
+
var children = _ref.children;
|
|
10096
|
+
|
|
10097
|
+
var _useState = React$2.useState(function () {
|
|
10098
|
+
var el = document.createElement('div');
|
|
10099
|
+
el.classList.add('iiz__zoom-portal');
|
|
10100
|
+
return el;
|
|
10101
|
+
}),
|
|
10102
|
+
portal = _useState[0];
|
|
10103
|
+
|
|
10104
|
+
React$2.useEffect(function () {
|
|
10105
|
+
document.body.appendChild(portal);
|
|
10106
|
+
return function () {
|
|
10107
|
+
return document.body.removeChild(portal);
|
|
10108
|
+
};
|
|
10109
|
+
}, [portal]);
|
|
10110
|
+
return reactDom.createPortal(children, portal);
|
|
10111
|
+
};
|
|
10112
|
+
|
|
10113
|
+
FullscreenPortal.propTypes = {
|
|
10114
|
+
children: PropTypes.element
|
|
10115
|
+
};
|
|
10116
|
+
|
|
10117
|
+
var _this = undefined;
|
|
10118
|
+
|
|
10119
|
+
var InnerImageZoom = function InnerImageZoom(_ref) {
|
|
10120
|
+
var _ref$moveType = _ref.moveType,
|
|
10121
|
+
moveType = _ref$moveType === void 0 ? 'pan' : _ref$moveType,
|
|
10122
|
+
_ref$zoomType = _ref.zoomType,
|
|
10123
|
+
zoomType = _ref$zoomType === void 0 ? 'click' : _ref$zoomType,
|
|
10124
|
+
src = _ref.src,
|
|
10125
|
+
sources = _ref.sources,
|
|
10126
|
+
width = _ref.width,
|
|
10127
|
+
height = _ref.height,
|
|
10128
|
+
hasSpacer = _ref.hasSpacer,
|
|
10129
|
+
_ref$imgAttributes = _ref.imgAttributes,
|
|
10130
|
+
imgAttributes = _ref$imgAttributes === void 0 ? {} : _ref$imgAttributes,
|
|
10131
|
+
zoomSrc = _ref.zoomSrc,
|
|
10132
|
+
_ref$zoomScale = _ref.zoomScale,
|
|
10133
|
+
zoomScale = _ref$zoomScale === void 0 ? 1 : _ref$zoomScale,
|
|
10134
|
+
zoomPreload = _ref.zoomPreload,
|
|
10135
|
+
_ref$fadeDuration = _ref.fadeDuration,
|
|
10136
|
+
fadeDuration = _ref$fadeDuration === void 0 ? 150 : _ref$fadeDuration,
|
|
10137
|
+
fullscreenOnMobile = _ref.fullscreenOnMobile,
|
|
10138
|
+
_ref$mobileBreakpoint = _ref.mobileBreakpoint,
|
|
10139
|
+
mobileBreakpoint = _ref$mobileBreakpoint === void 0 ? 640 : _ref$mobileBreakpoint,
|
|
10140
|
+
hideCloseButton = _ref.hideCloseButton,
|
|
10141
|
+
hideHint = _ref.hideHint,
|
|
10142
|
+
className = _ref.className,
|
|
10143
|
+
afterZoomIn = _ref.afterZoomIn,
|
|
10144
|
+
afterZoomOut = _ref.afterZoomOut;
|
|
10145
|
+
var img = React$2.useRef(null);
|
|
10146
|
+
var zoomImg = React$2.useRef(null);
|
|
10147
|
+
var imgProps = React$2.useRef({});
|
|
10148
|
+
|
|
10149
|
+
var _useState = React$2.useState(zoomPreload),
|
|
10150
|
+
isActive = _useState[0],
|
|
10151
|
+
setIsActive = _useState[1];
|
|
10152
|
+
|
|
10153
|
+
var _useState2 = React$2.useState(false),
|
|
10154
|
+
isTouch = _useState2[0],
|
|
10155
|
+
setIsTouch = _useState2[1];
|
|
10156
|
+
|
|
10157
|
+
var _useState3 = React$2.useState(false),
|
|
10158
|
+
isZoomed = _useState3[0],
|
|
10159
|
+
setIsZoomed = _useState3[1];
|
|
10160
|
+
|
|
10161
|
+
var _useState4 = React$2.useState(false),
|
|
10162
|
+
isFullscreen = _useState4[0],
|
|
10163
|
+
setIsFullscreen = _useState4[1];
|
|
10164
|
+
|
|
10165
|
+
var _useState5 = React$2.useState(false),
|
|
10166
|
+
isDragging = _useState5[0],
|
|
10167
|
+
setIsDragging = _useState5[1];
|
|
10168
|
+
|
|
10169
|
+
var _useState6 = React$2.useState(false),
|
|
10170
|
+
isValidDrag = _useState6[0],
|
|
10171
|
+
setIsValidDrag = _useState6[1];
|
|
10172
|
+
|
|
10173
|
+
var _useState7 = React$2.useState(false),
|
|
10174
|
+
isFading = _useState7[0],
|
|
10175
|
+
setIsFading = _useState7[1];
|
|
10176
|
+
|
|
10177
|
+
var _useState8 = React$2.useState(moveType),
|
|
10178
|
+
currentMoveType = _useState8[0],
|
|
10179
|
+
setCurrentMoveType = _useState8[1];
|
|
10180
|
+
|
|
10181
|
+
var _useState9 = React$2.useState(0),
|
|
10182
|
+
left = _useState9[0],
|
|
10183
|
+
setLeft = _useState9[1];
|
|
10184
|
+
|
|
10185
|
+
var _useState10 = React$2.useState(0),
|
|
10186
|
+
top = _useState10[0],
|
|
10187
|
+
setTop = _useState10[1];
|
|
10188
|
+
|
|
10189
|
+
var handleMouseEnter = function handleMouseEnter(e) {
|
|
10190
|
+
setIsActive(true);
|
|
10191
|
+
zoomType === 'hover' && !isZoomed && handleClick(e);
|
|
10192
|
+
};
|
|
10193
|
+
|
|
10194
|
+
var handleTouchStart = function handleTouchStart() {
|
|
10195
|
+
setIsTouch(true);
|
|
10196
|
+
setIsFullscreen(getFullscreenStatus(fullscreenOnMobile, mobileBreakpoint));
|
|
10197
|
+
setCurrentMoveType('drag');
|
|
10198
|
+
};
|
|
10199
|
+
|
|
10200
|
+
var handleClick = function handleClick(e) {
|
|
10201
|
+
if (isZoomed) {
|
|
10202
|
+
if (isTouch) {
|
|
10203
|
+
hideCloseButton && handleClose();
|
|
10204
|
+
} else {
|
|
10205
|
+
!isValidDrag && zoomOut();
|
|
10206
|
+
}
|
|
10207
|
+
|
|
10208
|
+
return;
|
|
10209
|
+
}
|
|
10210
|
+
|
|
10211
|
+
isTouch && setIsActive(true);
|
|
10212
|
+
|
|
10213
|
+
if (zoomImg.current) {
|
|
10214
|
+
handleLoad({
|
|
10215
|
+
target: zoomImg.current
|
|
10216
|
+
});
|
|
10217
|
+
zoomIn(e.pageX, e.pageY);
|
|
10218
|
+
} else {
|
|
10219
|
+
imgProps.current.onLoadCallback = zoomIn.bind(_this, e.pageX, e.pageY);
|
|
10220
|
+
}
|
|
10221
|
+
};
|
|
10222
|
+
|
|
10223
|
+
var handleLoad = function handleLoad(e) {
|
|
10224
|
+
var scaledDimensions = getScaledDimensions(e.target, zoomScale);
|
|
10225
|
+
zoomImg.current = e.target;
|
|
10226
|
+
zoomImg.current.setAttribute('width', scaledDimensions.width);
|
|
10227
|
+
zoomImg.current.setAttribute('height', scaledDimensions.height);
|
|
10228
|
+
imgProps.current.scaledDimensions = scaledDimensions;
|
|
10229
|
+
imgProps.current.bounds = getBounds(img.current, false);
|
|
10230
|
+
imgProps.current.ratios = getRatios(imgProps.current.bounds, scaledDimensions);
|
|
10231
|
+
|
|
10232
|
+
if (imgProps.current.onLoadCallback) {
|
|
10233
|
+
imgProps.current.onLoadCallback();
|
|
10234
|
+
imgProps.current.onLoadCallback = null;
|
|
10235
|
+
}
|
|
10236
|
+
};
|
|
10237
|
+
|
|
10238
|
+
var handleMouseMove = function handleMouseMove(e) {
|
|
10239
|
+
var left = e.pageX - imgProps.current.offsets.x;
|
|
10240
|
+
var top = e.pageY - imgProps.current.offsets.y;
|
|
10241
|
+
left = Math.max(Math.min(left, imgProps.current.bounds.width), 0);
|
|
10242
|
+
top = Math.max(Math.min(top, imgProps.current.bounds.height), 0);
|
|
10243
|
+
setLeft(left * -imgProps.current.ratios.x);
|
|
10244
|
+
setTop(top * -imgProps.current.ratios.y);
|
|
10245
|
+
};
|
|
10246
|
+
|
|
10247
|
+
var handleDragStart = function handleDragStart(e) {
|
|
10248
|
+
imgProps.current.offsets = getOffsets(e.pageX || e.changedTouches[0].pageX, e.pageY || e.changedTouches[0].pageY, zoomImg.current.offsetLeft, zoomImg.current.offsetTop);
|
|
10249
|
+
setIsDragging(true);
|
|
10250
|
+
|
|
10251
|
+
if (!isTouch) {
|
|
10252
|
+
imgProps.current.eventPosition = {
|
|
10253
|
+
x: e.pageX,
|
|
10254
|
+
y: e.pageY
|
|
10255
|
+
};
|
|
10256
|
+
}
|
|
10257
|
+
};
|
|
10258
|
+
|
|
10259
|
+
var handleDragMove = React$2.useCallback(function (e) {
|
|
10260
|
+
e.stopPropagation();
|
|
10261
|
+
var left = (e.pageX || e.changedTouches[0].pageX) - imgProps.current.offsets.x;
|
|
10262
|
+
var top = (e.pageY || e.changedTouches[0].pageY) - imgProps.current.offsets.y;
|
|
10263
|
+
left = Math.max(Math.min(left, 0), (imgProps.current.scaledDimensions.width - imgProps.current.bounds.width) * -1);
|
|
10264
|
+
top = Math.max(Math.min(top, 0), (imgProps.current.scaledDimensions.height - imgProps.current.bounds.height) * -1);
|
|
10265
|
+
setLeft(left);
|
|
10266
|
+
setTop(top);
|
|
10267
|
+
}, []);
|
|
10268
|
+
|
|
10269
|
+
var handleDragEnd = function handleDragEnd(e) {
|
|
10270
|
+
setIsDragging(false);
|
|
10271
|
+
|
|
10272
|
+
if (!isTouch) {
|
|
10273
|
+
var moveX = Math.abs(e.pageX - imgProps.current.eventPosition.x);
|
|
10274
|
+
var moveY = Math.abs(e.pageY - imgProps.current.eventPosition.y);
|
|
10275
|
+
setIsValidDrag(moveX > 5 || moveY > 5);
|
|
10276
|
+
}
|
|
10277
|
+
};
|
|
10278
|
+
|
|
10279
|
+
var handleMouseLeave = function handleMouseLeave(e) {
|
|
10280
|
+
currentMoveType === 'drag' && isZoomed ? handleDragEnd(e) : handleClose();
|
|
10281
|
+
};
|
|
10282
|
+
|
|
10283
|
+
var handleClose = function handleClose() {
|
|
10284
|
+
if (!isZoomed || isFullscreen || !fadeDuration) {
|
|
10285
|
+
handleFadeOut({}, true);
|
|
10286
|
+
} else {
|
|
10287
|
+
setIsFading(true);
|
|
10288
|
+
}
|
|
10289
|
+
|
|
10290
|
+
zoomOut();
|
|
10291
|
+
};
|
|
10292
|
+
|
|
10293
|
+
var handleFadeOut = function handleFadeOut(e, noTransition) {
|
|
10294
|
+
if (noTransition || e.propertyName === 'opacity' && img.current.contains(e.target)) {
|
|
10295
|
+
if (zoomPreload && isTouch || !zoomPreload) {
|
|
10296
|
+
zoomImg.current = null;
|
|
10297
|
+
imgProps.current = getDefaults();
|
|
10298
|
+
setIsActive(false);
|
|
10299
|
+
}
|
|
10300
|
+
|
|
10301
|
+
setIsTouch(false);
|
|
10302
|
+
setIsFullscreen(false);
|
|
10303
|
+
setCurrentMoveType(moveType);
|
|
10304
|
+
setIsFading(false);
|
|
10305
|
+
}
|
|
10306
|
+
};
|
|
10307
|
+
|
|
10308
|
+
var initialMove = function initialMove(pageX, pageY) {
|
|
10309
|
+
imgProps.current.offsets = getOffsets(window.pageXOffset, window.pageYOffset, -imgProps.current.bounds.left, -imgProps.current.bounds.top);
|
|
10310
|
+
handleMouseMove({
|
|
10311
|
+
pageX: pageX,
|
|
10312
|
+
pageY: pageY
|
|
10313
|
+
});
|
|
10314
|
+
};
|
|
10315
|
+
|
|
10316
|
+
var initialDrag = function initialDrag(pageX, pageY) {
|
|
10317
|
+
var initialPageX = (pageX - (window.pageXOffset + imgProps.current.bounds.left)) * -imgProps.current.ratios.x;
|
|
10318
|
+
var initialPageY = (pageY - (window.pageYOffset + imgProps.current.bounds.top)) * -imgProps.current.ratios.y;
|
|
10319
|
+
initialPageX = initialPageX + (isFullscreen ? (window.innerWidth - imgProps.current.bounds.width) / 2 : 0);
|
|
10320
|
+
initialPageY = initialPageY + (isFullscreen ? (window.innerHeight - imgProps.current.bounds.height) / 2 : 0);
|
|
10321
|
+
imgProps.current.bounds = getBounds(img.current, isFullscreen);
|
|
10322
|
+
imgProps.current.offsets = getOffsets(0, 0, 0, 0);
|
|
10323
|
+
handleDragMove({
|
|
10324
|
+
changedTouches: [{
|
|
10325
|
+
pageX: initialPageX,
|
|
10326
|
+
pageY: initialPageY
|
|
10327
|
+
}],
|
|
10328
|
+
preventDefault: function preventDefault() {},
|
|
10329
|
+
stopPropagation: function stopPropagation() {}
|
|
10330
|
+
});
|
|
10331
|
+
};
|
|
10332
|
+
|
|
10333
|
+
var zoomIn = function zoomIn(pageX, pageY) {
|
|
10334
|
+
setIsZoomed(true);
|
|
10335
|
+
currentMoveType === 'drag' ? initialDrag(pageX, pageY) : initialMove(pageX, pageY);
|
|
10336
|
+
afterZoomIn && afterZoomIn();
|
|
10337
|
+
};
|
|
10338
|
+
|
|
10339
|
+
var zoomOut = function zoomOut() {
|
|
10340
|
+
setIsZoomed(false);
|
|
10341
|
+
afterZoomOut && afterZoomOut();
|
|
10342
|
+
};
|
|
10343
|
+
|
|
10344
|
+
var getDefaults = function getDefaults() {
|
|
10345
|
+
return {
|
|
10346
|
+
onLoadCallback: null,
|
|
10347
|
+
bounds: {},
|
|
10348
|
+
offsets: {},
|
|
10349
|
+
ratios: {},
|
|
10350
|
+
eventPosition: {},
|
|
10351
|
+
scaledDimensions: {}
|
|
10352
|
+
};
|
|
10353
|
+
};
|
|
10354
|
+
|
|
10355
|
+
var getBounds = function getBounds(img, isFullscreen) {
|
|
10356
|
+
if (isFullscreen) {
|
|
10357
|
+
return {
|
|
10358
|
+
width: window.innerWidth,
|
|
10359
|
+
height: window.innerHeight,
|
|
10360
|
+
left: 0,
|
|
10361
|
+
top: 0
|
|
10362
|
+
};
|
|
10363
|
+
}
|
|
10364
|
+
|
|
10365
|
+
return img.getBoundingClientRect();
|
|
10366
|
+
};
|
|
10367
|
+
|
|
10368
|
+
var getOffsets = function getOffsets(pageX, pageY, left, top) {
|
|
10369
|
+
return {
|
|
10370
|
+
x: pageX - left,
|
|
10371
|
+
y: pageY - top
|
|
10372
|
+
};
|
|
10373
|
+
};
|
|
10374
|
+
|
|
10375
|
+
var getRatios = function getRatios(bounds, dimensions) {
|
|
10376
|
+
return {
|
|
10377
|
+
x: (dimensions.width - bounds.width) / bounds.width,
|
|
10378
|
+
y: (dimensions.height - bounds.height) / bounds.height
|
|
10379
|
+
};
|
|
10380
|
+
};
|
|
10381
|
+
|
|
10382
|
+
var getFullscreenStatus = function getFullscreenStatus(fullscreenOnMobile, mobileBreakpoint) {
|
|
10383
|
+
return fullscreenOnMobile && window.matchMedia && window.matchMedia("(max-width: " + mobileBreakpoint + "px)").matches;
|
|
10384
|
+
};
|
|
10385
|
+
|
|
10386
|
+
var getScaledDimensions = function getScaledDimensions(zoomImg, zoomScale) {
|
|
10387
|
+
return {
|
|
10388
|
+
width: zoomImg.naturalWidth * zoomScale,
|
|
10389
|
+
height: zoomImg.naturalHeight * zoomScale
|
|
10390
|
+
};
|
|
10391
|
+
};
|
|
10392
|
+
|
|
10393
|
+
var zoomImageProps = {
|
|
10394
|
+
src: zoomSrc || src,
|
|
10395
|
+
fadeDuration: isFullscreen ? 0 : fadeDuration,
|
|
10396
|
+
top: top,
|
|
10397
|
+
left: left,
|
|
10398
|
+
isZoomed: isZoomed,
|
|
10399
|
+
onLoad: handleLoad,
|
|
10400
|
+
onDragStart: currentMoveType === 'drag' ? handleDragStart : null,
|
|
10401
|
+
onDragEnd: currentMoveType === 'drag' ? handleDragEnd : null,
|
|
10402
|
+
onClose: !hideCloseButton && currentMoveType === 'drag' ? handleClose : null,
|
|
10403
|
+
onFadeOut: isFading ? handleFadeOut : null
|
|
10404
|
+
};
|
|
10405
|
+
React$2.useEffect(function () {
|
|
10406
|
+
imgProps.current = getDefaults();
|
|
10407
|
+
}, []);
|
|
10408
|
+
React$2.useEffect(function () {
|
|
10409
|
+
getFullscreenStatus(fullscreenOnMobile, mobileBreakpoint) && setIsActive(false);
|
|
10410
|
+
}, [fullscreenOnMobile, mobileBreakpoint]);
|
|
10411
|
+
React$2.useEffect(function () {
|
|
10412
|
+
if (!zoomImg.current) {
|
|
10413
|
+
return;
|
|
10414
|
+
}
|
|
10415
|
+
|
|
10416
|
+
var eventType = isTouch ? 'touchmove' : 'mousemove';
|
|
10417
|
+
|
|
10418
|
+
if (isDragging) {
|
|
10419
|
+
zoomImg.current.addEventListener(eventType, handleDragMove, {
|
|
10420
|
+
passive: true
|
|
10421
|
+
});
|
|
10422
|
+
} else {
|
|
10423
|
+
zoomImg.current.removeEventListener(eventType, handleDragMove);
|
|
10424
|
+
}
|
|
10425
|
+
}, [isDragging, isTouch, handleDragMove]);
|
|
10426
|
+
return /*#__PURE__*/React__default["default"].createElement("figure", {
|
|
10427
|
+
className: "iiz " + (currentMoveType === 'drag' ? 'iiz--drag' : '') + " " + (className ? className : ''),
|
|
10428
|
+
style: {
|
|
10429
|
+
width: width
|
|
10430
|
+
},
|
|
10431
|
+
ref: img,
|
|
10432
|
+
onTouchStart: isZoomed ? null : handleTouchStart,
|
|
10433
|
+
onClick: handleClick,
|
|
10434
|
+
onMouseEnter: isTouch ? null : handleMouseEnter,
|
|
10435
|
+
onMouseMove: currentMoveType === 'drag' || !isZoomed ? null : handleMouseMove,
|
|
10436
|
+
onMouseLeave: isTouch ? null : handleMouseLeave
|
|
10437
|
+
}, /*#__PURE__*/React__default["default"].createElement(Image$1, {
|
|
10438
|
+
src: src,
|
|
10439
|
+
sources: sources,
|
|
10440
|
+
width: width,
|
|
10441
|
+
height: height,
|
|
10442
|
+
hasSpacer: hasSpacer,
|
|
10443
|
+
imgAttributes: imgAttributes,
|
|
10444
|
+
fadeDuration: fadeDuration,
|
|
10445
|
+
isZoomed: isZoomed
|
|
10446
|
+
}), isActive && /*#__PURE__*/React__default["default"].createElement(React$2.Fragment, null, isFullscreen ? /*#__PURE__*/React__default["default"].createElement(FullscreenPortal, null, /*#__PURE__*/React__default["default"].createElement(ZoomImage, zoomImageProps)) : /*#__PURE__*/React__default["default"].createElement(ZoomImage, zoomImageProps)), !hideHint && !isZoomed && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
10447
|
+
className: "iiz__btn iiz__hint"
|
|
10448
|
+
}));
|
|
10449
|
+
};
|
|
10450
|
+
|
|
10451
|
+
InnerImageZoom.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
10452
|
+
moveType: PropTypes.string,
|
|
10453
|
+
zoomType: PropTypes.string,
|
|
10454
|
+
src: PropTypes.string.isRequired,
|
|
10455
|
+
sources: PropTypes.array,
|
|
10456
|
+
width: PropTypes.number,
|
|
10457
|
+
height: PropTypes.number,
|
|
10458
|
+
hasSpacer: PropTypes.bool,
|
|
10459
|
+
imgAttributes: PropTypes.object,
|
|
10460
|
+
zoomSrc: PropTypes.string,
|
|
10461
|
+
zoomScale: PropTypes.number,
|
|
10462
|
+
zoomPreload: PropTypes.bool,
|
|
10463
|
+
fadeDuration: PropTypes.number,
|
|
10464
|
+
fullscreenOnMobile: PropTypes.bool,
|
|
10465
|
+
mobileBreakpoint: PropTypes.number,
|
|
10466
|
+
hideCloseButton: PropTypes.bool,
|
|
10467
|
+
hideHint: PropTypes.bool,
|
|
10468
|
+
className: PropTypes.string,
|
|
10469
|
+
afterZoomIn: PropTypes.func,
|
|
10470
|
+
afterZoomOut: PropTypes.func
|
|
10471
|
+
} : {};
|
|
10472
|
+
|
|
10473
|
+
var Container$A = newStyled.div(templateObject_1$V || (templateObject_1$V = __makeTemplateObject(["\n position: relative;\n height: '45rem' &.styleforhorizontal {\n height: '30rem';\n }\n"], ["\n position: relative;\n height: '45rem' &.styleforhorizontal {\n height: '30rem';\n }\n"])));
|
|
10474
|
+
var TopTagContainer$2 = newStyled.div(templateObject_2$A || (templateObject_2$A = __makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n"], ["\n position: absolute;\n left: 0;\n top: 0;\n"])));
|
|
10475
|
+
var BottomTagContainer$2 = newStyled.div(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"], ["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"])));
|
|
10476
|
+
var ImageProductWithTags$1 = function (_a) {
|
|
10477
|
+
var image = _a.image, topTag = _a.topTag, bottomTag = _a.bottomTag, testId = _a.testId, position = _a.position;
|
|
10478
|
+
return (jsxRuntime.jsxs(Container$A, __assign$1({ "data-testid": testId, className: "stylefor".concat(position) }, { children: [jsxRuntime.jsx(InnerImageZoom, { src: image.imageUrl, zoomSrc: image.imageUrl, zoomType: "hover", imgAttributes: {
|
|
10479
|
+
alt: image.alt,
|
|
10480
|
+
style: { objectFit: 'cover', objectPosition: 'center' },
|
|
10481
|
+
}, width: position == 'horizontal' ? 360 : 530, height: position == 'horizontal' ? 480 : 720, hideHint: true }, void 0), jsxRuntime.jsx(TopTagContainer$2, { children: topTag }, void 0), jsxRuntime.jsx(BottomTagContainer$2, { children: bottomTag }, void 0)] }), void 0));
|
|
10482
|
+
};
|
|
10483
|
+
var templateObject_1$V, templateObject_2$A, templateObject_3$p;
|
|
10484
|
+
|
|
10485
|
+
var Container$z = newStyled.div(templateObject_1$U || (templateObject_1$U = __makeTemplateObject(["\n display: grid;\n grid-template-columns: auto auto;\n grid-column-gap: 20px;\n max-height: 45rem;\n width: fit-content;\n"], ["\n display: grid;\n grid-template-columns: auto auto;\n grid-column-gap: 20px;\n max-height: 45rem;\n width: fit-content;\n"])));
|
|
10486
|
+
var ProductGallery = function (_a) {
|
|
10487
|
+
var images = _a.images, selectedValue = _a.selectedValue, topTag = _a.topTag, bottomTag = _a.bottomTag, productImageDataTestId = _a.productImageDataTestId, previewListDataTestId = _a.previewListDataTestId, thumbnailPosition = _a.thumbnailPosition;
|
|
10488
|
+
var initialValue = selectedValue && images.includes(selectedValue) ? selectedValue : images[0];
|
|
10489
|
+
var _b = React$2.useState(initialValue), selectedImage = _b[0], setSelectedImage = _b[1];
|
|
10490
|
+
React$2.useEffect(function () {
|
|
10491
|
+
setSelectedImage(initialValue);
|
|
10492
|
+
}, [initialValue]);
|
|
10493
|
+
return (jsxRuntime.jsxs(Container$z, { children: [jsxRuntime.jsx(ImagePreviewList, { images: images, selectedImage: selectedImage, dataTestId: previewListDataTestId, onClick: function (value) {
|
|
10494
|
+
setSelectedImage(value);
|
|
10495
|
+
}, position: thumbnailPosition }, void 0), jsxRuntime.jsx(ImageProductWithTags$1, { image: selectedImage, topTag: topTag, bottomTag: bottomTag, testId: productImageDataTestId, position: thumbnailPosition }, void 0)] }, void 0));
|
|
10496
|
+
};
|
|
10497
|
+
var templateObject_1$U;
|
|
10498
|
+
|
|
10499
|
+
/* base styles & size variants */
|
|
10500
|
+
var StarStyles = {
|
|
10501
|
+
baseStyles: function () {
|
|
10502
|
+
return css({
|
|
10503
|
+
display: 'flex',
|
|
10504
|
+
});
|
|
10505
|
+
},
|
|
10506
|
+
xsmall: function (theme) {
|
|
10507
|
+
return css({
|
|
10508
|
+
svg: {
|
|
10509
|
+
width: theme.component.stars.element.xsmall.width,
|
|
10510
|
+
height: theme.component.stars.element.xsmall.height,
|
|
10511
|
+
marginRight: theme.component.stars.element.xsmall.marginRight,
|
|
10512
|
+
},
|
|
10513
|
+
});
|
|
10514
|
+
},
|
|
10515
|
+
small: function (theme) {
|
|
10516
|
+
return css({
|
|
10517
|
+
svg: {
|
|
10518
|
+
width: theme.component.stars.element.small.width,
|
|
10519
|
+
height: theme.component.stars.element.small.height,
|
|
10520
|
+
marginRight: theme.component.stars.element.small.marginRight,
|
|
10521
|
+
},
|
|
10522
|
+
});
|
|
10523
|
+
},
|
|
10524
|
+
medium: function (theme) {
|
|
10525
|
+
return css({
|
|
10526
|
+
svg: {
|
|
10527
|
+
width: theme.component.stars.element.medium.width,
|
|
10528
|
+
height: theme.component.stars.element.medium.height,
|
|
10529
|
+
marginRight: theme.component.stars.element.medium.marginRight,
|
|
10530
|
+
},
|
|
10531
|
+
});
|
|
10532
|
+
},
|
|
10533
|
+
large: function (theme) {
|
|
10534
|
+
return css({
|
|
10535
|
+
svg: {
|
|
10536
|
+
width: theme.component.stars.element.large.width,
|
|
10537
|
+
height: theme.component.stars.element.large.height,
|
|
10538
|
+
marginRight: theme.component.stars.element.large.marginRight,
|
|
10539
|
+
},
|
|
10540
|
+
});
|
|
10541
|
+
},
|
|
10542
|
+
};
|
|
10543
|
+
var Container$y = newStyled.div(templateObject_1$T || (templateObject_1$T = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
10544
|
+
var templateObject_1$T;
|
|
10545
|
+
|
|
10546
|
+
var StarContainer = newStyled.div(function (_a) {
|
|
10547
|
+
var size = _a.size, theme = _a.theme;
|
|
10548
|
+
return [
|
|
10549
|
+
StarStyles.baseStyles(),
|
|
10550
|
+
StarStyles[size](theme),
|
|
10551
|
+
];
|
|
10552
|
+
});
|
|
10553
|
+
var sizes = {
|
|
10554
|
+
xsmall: { width: 0.75, height: 0.75 },
|
|
10555
|
+
small: { width: 1, height: 1 },
|
|
10556
|
+
medium: { width: 1.5, height: 1.5 },
|
|
10557
|
+
large: { width: 2.5, height: 2.5 },
|
|
10558
|
+
};
|
|
10559
|
+
var StarList = function (_a) {
|
|
10560
|
+
var rating = _a.rating, starsNumber = _a.starsNumber, fill = _a.fill, _b = _a.size, size = _b === void 0 ? exports.ComponentSize.Medium : _b;
|
|
10561
|
+
var theme = useTheme();
|
|
10562
|
+
return (jsxRuntime.jsx(Container$y, { children: __spreadArray([], new Array(starsNumber), true).map(function (_, index) {
|
|
10563
|
+
return (jsxRuntime.jsx(StarContainer, __assign$1({ "data-testid": "star-container", size: size, theme: theme }, { children: index < Math.floor(rating) ? (jsxRuntime.jsx(Icon.PDP.Star, __assign$1({}, sizes[size], { fill: fill }), void 0)) : index === Math.floor(rating) && rating % 1 != 0 ? (jsxRuntime.jsx(Icon.PDP.StarHalf, __assign$1({}, sizes[size], { fill: fill }), void 0)) : (jsxRuntime.jsx(Icon.PDP.StarEmpty, __assign$1({}, sizes[size], { fill: fill }), void 0)) }), index));
|
|
10564
|
+
}) }, void 0));
|
|
10565
|
+
};
|
|
10566
|
+
|
|
10567
|
+
/* base styles & size variants */
|
|
10568
|
+
var LabelStyles = {
|
|
10569
|
+
baseStyles: function (theme) {
|
|
10570
|
+
return css({
|
|
10571
|
+
margin: '0',
|
|
10572
|
+
display: 'flex',
|
|
10573
|
+
color: theme.colors.pallete.secondary.color,
|
|
10574
|
+
fontWeight: theme.component.rating.fontWeight,
|
|
10575
|
+
});
|
|
10576
|
+
},
|
|
10577
|
+
xsmall: function (theme) {
|
|
10578
|
+
return css({
|
|
10579
|
+
fontSize: theme.component.rating.size.xsmall.fontSize,
|
|
10580
|
+
lineHeight: theme.component.rating.size.xsmall.lineHeight,
|
|
10581
|
+
marginLeft: '0.172rem',
|
|
10582
|
+
});
|
|
10583
|
+
},
|
|
10584
|
+
small: function (theme) {
|
|
10585
|
+
return css({
|
|
10586
|
+
fontSize: theme.component.rating.size.small.fontSize,
|
|
10587
|
+
lineHeight: theme.component.rating.size.small.lineHeight,
|
|
10588
|
+
marginLeft: '0.313rem',
|
|
10589
|
+
});
|
|
10590
|
+
},
|
|
10591
|
+
medium: function (theme) {
|
|
10592
|
+
return css({
|
|
10593
|
+
fontSize: theme.component.rating.size.medium.fontSize,
|
|
10594
|
+
lineHeight: theme.component.rating.size.medium.lineHeight,
|
|
10595
|
+
marginLeft: '0.438rem',
|
|
10596
|
+
});
|
|
10597
|
+
},
|
|
10598
|
+
large: function (theme) {
|
|
10599
|
+
return css({
|
|
10600
|
+
fontSize: theme.component.rating.size.large.fontSize,
|
|
10601
|
+
lineHeight: theme.component.rating.size.large.lineHeight,
|
|
10602
|
+
marginLeft: '0.563rem',
|
|
10603
|
+
});
|
|
10604
|
+
},
|
|
10605
|
+
};
|
|
10606
|
+
var Container$x = newStyled.div(templateObject_1$S || (templateObject_1$S = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
10607
|
+
var templateObject_1$S;
|
|
10608
|
+
|
|
10609
|
+
var CustomLabel = newStyled.div(function (_a) {
|
|
10610
|
+
var theme = _a.theme, size = _a.size, wrapWithParenthesis = _a.wrapWithParenthesis;
|
|
10611
|
+
return [
|
|
10612
|
+
LabelStyles.baseStyles(theme),
|
|
10613
|
+
LabelStyles[size](theme),
|
|
10614
|
+
{
|
|
10615
|
+
':before': {
|
|
10616
|
+
content: wrapWithParenthesis ? '"("' : '""',
|
|
10617
|
+
},
|
|
10618
|
+
':after': {
|
|
10619
|
+
content: wrapWithParenthesis ? '")"' : '""',
|
|
10620
|
+
},
|
|
10621
|
+
},
|
|
10622
|
+
];
|
|
10623
|
+
});
|
|
10624
|
+
var starsNumber = 5;
|
|
10625
|
+
var Rating = function (_a) {
|
|
10626
|
+
var _b = _a.size, size = _b === void 0 ? exports.ComponentSize.Medium : _b, reviews = _a.reviews, reviewsText = _a.reviewsText, rating = _a.rating, _c = _a.wrapWithParenthesis, wrapWithParenthesis = _c === void 0 ? false : _c;
|
|
10627
|
+
var theme = useTheme();
|
|
10628
|
+
return (jsxRuntime.jsxs(Container$x, { children: [jsxRuntime.jsx(StarList, { rating: rating, size: size, starsNumber: starsNumber, fill: theme.component.stars.element.color }, void 0), jsxRuntime.jsxs(CustomLabel, __assign$1({ theme: theme, size: size, wrapWithParenthesis: wrapWithParenthesis, "data-testid": "CustomLabel" }, { children: [reviews, " ", reviewsText] }), void 0)] }, void 0));
|
|
10629
|
+
};
|
|
10630
|
+
|
|
10631
|
+
var Container$w = newStyled.div(templateObject_1$R || (templateObject_1$R = __makeTemplateObject(["\n display: flex;\n align-items: center;\n font-size: 0.88rem;\n"], ["\n display: flex;\n align-items: center;\n font-size: 0.88rem;\n"])));
|
|
10632
|
+
var P$2 = newStyled.p(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n margin: 0 0.25rem;\n font-weight: 700;\n color: ", ";\n"], ["\n margin: 0 0.25rem;\n font-weight: 700;\n color: ", ";\n"])), function (props) { return props.theme.colors.shades['550'].color; });
|
|
10633
|
+
var textButtonStyles = function (theme) { return ({
|
|
10634
|
+
border: 'none',
|
|
10635
|
+
background: 'transparent',
|
|
10636
|
+
padding: 0,
|
|
10637
|
+
textDecoration: 'underline',
|
|
10638
|
+
color: theme.colors.shades['400'].color,
|
|
10639
|
+
lineHeight: '1.13rem',
|
|
10640
|
+
cursor: 'pointer',
|
|
10641
|
+
}); };
|
|
10642
|
+
var FitPredictor = function (_a) {
|
|
10643
|
+
var onClick = _a.onClick;
|
|
10644
|
+
var theme = useTheme();
|
|
10645
|
+
return (jsxs(Container$w, __assign$1({ theme: theme }, { children: [jsx(Container$w, { children: jsx(Icon.Other.FitPredictor, { width: 1.125, height: 1.125, fill: theme.colors.shades['550'].color }, void 0) }, void 0), jsx(P$2, __assign$1({ theme: theme }, { children: "FIT PREDICTOR" }), void 0), jsx(BaseButton, __assign$1({ css: textButtonStyles(theme), onClick: onClick }, { children: "Calculate your size" }), void 0)] }), void 0));
|
|
10646
|
+
};
|
|
10647
|
+
var templateObject_1$R, templateObject_2$z;
|
|
10648
|
+
|
|
10649
|
+
var H2$2 = newStyled.h2(function (_a) {
|
|
10650
|
+
var color = _a.color;
|
|
10651
|
+
return ({
|
|
10652
|
+
textAlign: 'center',
|
|
10653
|
+
fontWeight: 400,
|
|
10654
|
+
fontStyle: 'normal',
|
|
10655
|
+
fontSize: '0.875rem',
|
|
10656
|
+
lineHeight: '1.375rem',
|
|
10657
|
+
color: color,
|
|
10658
|
+
margin: '0.938rem 4.188rem',
|
|
10659
|
+
});
|
|
10660
|
+
});
|
|
10661
|
+
var Bar = newStyled.div(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject(["\n @keyframes loading {\n 0% {\n transform: translateX(0);\n }\n to {\n transform: translateX(400%);\n }\n }\n\n height: 0.5rem;\n background-color: ", ";\n width: ", ";\n border-radius: 0.25rem;\n position: absolute;\n left: ", ";\n animation: ", ";\n"], ["\n @keyframes loading {\n 0% {\n transform: translateX(0);\n }\n to {\n transform: translateX(400%);\n }\n }\n\n height: 0.5rem;\n background-color: ", ";\n width: ", ";\n border-radius: 0.25rem;\n position: absolute;\n left: ", ";\n animation: ", ";\n"])), function (_a) {
|
|
10662
|
+
var backgroundColor = _a.backgroundColor;
|
|
10663
|
+
return backgroundColor;
|
|
10664
|
+
}, function (_a) {
|
|
10665
|
+
var percent = _a.percent;
|
|
10666
|
+
return (percent ? getBarWithBasedOnPercent(percent) : '50%');
|
|
10667
|
+
}, function (_a) {
|
|
10668
|
+
var percent = _a.percent;
|
|
10669
|
+
return (percent ? '0' : '-50%');
|
|
10670
|
+
}, function (_a) {
|
|
10671
|
+
var percent = _a.percent;
|
|
10672
|
+
return (percent ? 'none' : 'loading 1s ease-in 0.5s infinite');
|
|
10673
|
+
});
|
|
10674
|
+
var Background = newStyled.div(function (_a) {
|
|
10675
|
+
var backgroundColor = _a.backgroundColor;
|
|
10676
|
+
return ({
|
|
10677
|
+
height: '0.5rem',
|
|
10678
|
+
width: '100%',
|
|
10679
|
+
backgroundColor: backgroundColor,
|
|
10680
|
+
borderRadius: '0.25rem',
|
|
10681
|
+
position: 'absolute',
|
|
10682
|
+
});
|
|
10683
|
+
});
|
|
10684
|
+
var Container$v = newStyled.div(function (_a) {
|
|
10685
|
+
var widthAuto = _a.widthAuto;
|
|
10686
|
+
return ({
|
|
10687
|
+
width: widthAuto ? 'auto' : 'fit-content',
|
|
10688
|
+
position: 'relative',
|
|
10689
|
+
overflow: 'hidden',
|
|
10690
|
+
});
|
|
10691
|
+
});
|
|
10692
|
+
var getBarWithBasedOnPercent = function (percent) {
|
|
10693
|
+
return percent <= 100 && percent >= 0 ? "".concat(percent, "%") : '0%';
|
|
10694
|
+
};
|
|
10695
|
+
var ProgressBar = function (_a) {
|
|
10696
|
+
var description = _a.description, fillColor = _a.fillColor, _b = _a.widthAuto, widthAuto = _b === void 0 ? true : _b, percent = _a.percent;
|
|
10697
|
+
var theme = useTheme();
|
|
9118
10698
|
return (jsxRuntime.jsxs(Container$v, __assign$1({ "data-testid": "PBContainer", widthAuto: widthAuto }, { children: [jsxRuntime.jsx(Background, __assign$1({ backgroundColor: theme.colors.shades['100'].color }, { children: jsxRuntime.jsx(Bar, { "data-testid": "PBBar", backgroundColor: fillColor, percent: percent }, void 0) }), void 0), description && jsxRuntime.jsx(H2$2, __assign$1({ color: theme.colors.pallete.secondary.color }, { children: description }), void 0)] }), void 0));
|
|
9119
10699
|
};
|
|
9120
|
-
var templateObject_1$
|
|
10700
|
+
var templateObject_1$Q;
|
|
9121
10701
|
|
|
9122
10702
|
var getStylesBySize$3 = function (size) {
|
|
9123
10703
|
switch (size) {
|
|
@@ -9138,7 +10718,7 @@ var getStylesBySize$3 = function (size) {
|
|
|
9138
10718
|
};
|
|
9139
10719
|
}
|
|
9140
10720
|
};
|
|
9141
|
-
var Container$u = newStyled.div(templateObject_1$
|
|
10721
|
+
var Container$u = newStyled.div(templateObject_1$P || (templateObject_1$P = __makeTemplateObject(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: background-color 0.1s ease;\n\n svg {\n margin: ", ";\n }\n\n &:hover {\n background-color: ", ";\n cursor: pointer;\n }\n\n &.disabled {\n background-color: ", ";\n cursor: not-allowed;\n\n svg path {\n fill: ", ";\n }\n }\n"], ["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: background-color 0.1s ease;\n\n svg {\n margin: ", ";\n }\n\n &:hover {\n background-color: ", ";\n cursor: pointer;\n }\n\n &.disabled {\n background-color: ", ";\n cursor: not-allowed;\n\n svg path {\n fill: ", ";\n }\n }\n"])), function (_a) {
|
|
9142
10722
|
var backgroundColor = _a.backgroundColor;
|
|
9143
10723
|
return backgroundColor;
|
|
9144
10724
|
}, function (_a) {
|
|
@@ -9168,7 +10748,7 @@ var IconButton = function (_a) {
|
|
|
9168
10748
|
var theme = useTheme();
|
|
9169
10749
|
return (jsxRuntime.jsx(Container$u, __assign$1({ className: disabled ? 'disabled' : '', backgroundColor: theme.component.button.primary.active.backgroundColor, hoverBackgroundColor: theme.component.button.secondary.active.backgroundColor, disabledColor: theme.colors.shades['50'].color, disabledIconColor: theme.colors.shades['200'].color, size: size, "data-testid": "Container", onClick: disabled ? function () { } : onClick }, { children: children }), void 0));
|
|
9170
10750
|
};
|
|
9171
|
-
var templateObject_1$
|
|
10751
|
+
var templateObject_1$P;
|
|
9172
10752
|
|
|
9173
10753
|
var TooltipArrow = function (_a) {
|
|
9174
10754
|
var height = _a.height, width = _a.width, fill = _a.fill, stroke = _a.stroke;
|
|
@@ -9248,7 +10828,7 @@ var getTooltipAlignItems = function (position, align) {
|
|
|
9248
10828
|
}
|
|
9249
10829
|
};
|
|
9250
10830
|
|
|
9251
|
-
var Wrapper$5 = newStyled.div(templateObject_1$
|
|
10831
|
+
var Wrapper$5 = newStyled.div(templateObject_1$O || (templateObject_1$O = __makeTemplateObject(["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n cursor: pointer;\n\n &:hover {\n .tooltip-container {\n visibility: visible;\n opacity: 1;\n }\n }\n"], ["\n display: flex;\n flex-direction: ", ";\n align-items: center;\n cursor: pointer;\n\n &:hover {\n .tooltip-container {\n visibility: visible;\n opacity: 1;\n }\n }\n"])), function (_a) {
|
|
9252
10832
|
var position = _a.position;
|
|
9253
10833
|
return getWrapperFlexDirection(position);
|
|
9254
10834
|
});
|
|
@@ -9296,7 +10876,7 @@ var Title$5 = newStyled.h1(templateObject_6$7 || (templateObject_6$7 = __makeTem
|
|
|
9296
10876
|
return color;
|
|
9297
10877
|
});
|
|
9298
10878
|
var IconContainer$5 = newStyled.div(templateObject_7$4 || (templateObject_7$4 = __makeTemplateObject(["\n width: 1.375rem;\n height: 1.125rem;\n margin-right: 0.563rem;\n"], ["\n width: 1.375rem;\n height: 1.125rem;\n margin-right: 0.563rem;\n"])));
|
|
9299
|
-
var templateObject_1$
|
|
10879
|
+
var templateObject_1$O, templateObject_2$y, templateObject_3$o, templateObject_4$h, templateObject_5$a, templateObject_6$7, templateObject_7$4;
|
|
9300
10880
|
|
|
9301
10881
|
var Tooltip = function (_a) {
|
|
9302
10882
|
var children = _a.children, position = _a.position, text = _a.text, _b = _a.align, align = _b === void 0 ? 'center' : _b, onClick = _a.onClick, header = _a.header;
|
|
@@ -9448,7 +11028,7 @@ var ContainerStyles = {
|
|
|
9448
11028
|
},
|
|
9449
11029
|
};
|
|
9450
11030
|
|
|
9451
|
-
var Wrapper$4 = newStyled.div(templateObject_1$
|
|
11031
|
+
var Wrapper$4 = newStyled.div(templateObject_1$N || (templateObject_1$N = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
|
|
9452
11032
|
var Container$t = newStyled.div(__assign$1({}, ContainerStyles.baseStyles), function (props) { return [ContainerStyles[props.size](props.theme)]; });
|
|
9453
11033
|
var Input$2 = newStyled.input(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n position: absolute;\n opacity: 0;\n cursor: ", ";\n height: 100%;\n width: 100%;\n margin: 0;\n"], ["\n position: absolute;\n opacity: 0;\n cursor: ", ";\n height: 100%;\n width: 100%;\n margin: 0;\n"])), function (_a) {
|
|
9454
11034
|
var disabled = _a.disabled;
|
|
@@ -9467,7 +11047,7 @@ var RadioInput = function (_a) {
|
|
|
9467
11047
|
};
|
|
9468
11048
|
return (jsxRuntime.jsxs(Wrapper$4, { children: [jsxRuntime.jsxs(Container$t, __assign$1({ theme: theme, size: size, "data-testid": "container" }, { children: [jsxRuntime.jsx(Input$2, { id: "".concat(name, "-").concat(id), type: "radio", name: name, value: value, checked: checked, onChange: function (e) { return (disabled ? null : handleChange(e, label)); }, disabled: disabled }, void 0), jsxRuntime.jsx(CustomRadio, { size: size, isChecked: checked, disabled: disabled, theme: theme, "data-testid": "custom-radio" }, void 0)] }), void 0), jsxRuntime.jsx(Label$3, __assign$1({ htmlFor: "".concat(name, "-").concat(id), "data-testid": "label", variant: "regular", size: size, disabled: disabled }, { children: label }), void 0)] }, void 0));
|
|
9469
11049
|
};
|
|
9470
|
-
var templateObject_1$
|
|
11050
|
+
var templateObject_1$N, templateObject_2$x;
|
|
9471
11051
|
|
|
9472
11052
|
var RadioGroupInput = function (_a) {
|
|
9473
11053
|
var name = _a.name, _b = _a.options, options = _b === void 0 ? [] : _b, value = _a.value, onChange = _a.onChange, _c = _a.size, size = _c === void 0 ? exports.ComponentSize.Medium : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d;
|
|
@@ -9481,16 +11061,16 @@ var RadioGroupInput = function (_a) {
|
|
|
9481
11061
|
}) }), void 0));
|
|
9482
11062
|
};
|
|
9483
11063
|
|
|
9484
|
-
var Wrapper$3 = newStyled.div(templateObject_1$
|
|
11064
|
+
var Wrapper$3 = newStyled.div(templateObject_1$M || (templateObject_1$M = __makeTemplateObject(["\n padding: 0.625rem 1.5rem;\n"], ["\n padding: 0.625rem 1.5rem;\n"])));
|
|
9485
11065
|
var Container$s = newStyled.div(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"], ["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
9486
11066
|
var Minimalistic = function (_a) {
|
|
9487
11067
|
var _b = _a.backgroundColor, backgroundColor = _b === void 0 ? '#FFF6EF' : _b, _c = _a.borderColor, borderColor = _c === void 0 ? '#E7C9B2' : _c, originalPrice = _a.originalPrice, price = _a.price, savingPrice = _a.savingPrice, getMorePayLessText = _a.getMorePayLessText, youAreSavingText = _a.youAreSavingText, getQtyForText = _a.getQtyForText, discount = _a.discount, offText = _a.offText, _d = _a.widthAuto, widthAuto = _d === void 0 ? false : _d, _e = _a.testId, testId = _e === void 0 ? 'minimalistic' : _e;
|
|
9488
11068
|
var theme = useTheme();
|
|
9489
11069
|
return (jsxRuntime.jsx(Card$2, __assign$1({ backgroundColor: backgroundColor, widthAuto: widthAuto, border: { borderColor: borderColor, borderWidth: '0.063rem' }, flex: false }, { children: jsxRuntime.jsxs(Wrapper$3, { children: [jsxRuntime.jsxs(Container$s, __assign$1({ "data-testid": "".concat(testId, "-section") }, { children: [jsxRuntime.jsx(Text$5, __assign$1({ variant: "body", weight: "demi", size: "small", style: { margin: '0.1rem 1.25rem 0.1rem 0' } }, { children: getMorePayLessText }), void 0), jsxRuntime.jsx(PriceLabel, { finalPrice: price, originalPrice: originalPrice, color: theme.colors.pallete.secondary.color, size: exports.ComponentSize.Small, testId: testId }, void 0)] }), void 0), jsxRuntime.jsxs(Container$s, __assign$1({ "data-testid": "".concat(testId, "-section-bottom") }, { children: [jsxRuntime.jsxs(Text$5, __assign$1({ variant: "body", weight: "demi", style: { color: '#d3373c', margin: '0.1rem 1.25rem 0.1rem 0' }, size: "small" }, { children: [getQtyForText, " ", discount, "% ", offText.toLocaleUpperCase()] }), void 0), jsxRuntime.jsxs(Text$5, __assign$1({ variant: "body", weight: "regular", size: "small" }, { children: [youAreSavingText, ": ", savingPrice] }), void 0)] }), void 0)] }, void 0) }), void 0));
|
|
9490
11070
|
};
|
|
9491
|
-
var templateObject_1$
|
|
11071
|
+
var templateObject_1$M, templateObject_2$w;
|
|
9492
11072
|
|
|
9493
|
-
var Container$r = newStyled.div(templateObject_1$
|
|
11073
|
+
var Container$r = newStyled.div(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n padding: 0.625rem 1.5rem;\n"], ["\n padding: 0.625rem 1.5rem;\n"])));
|
|
9494
11074
|
var Title$4 = newStyled.h1(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["\n font-weight: 700;\n font-size: 1rem;\n line-height: 1.25rem;\n color: ", ";\n margin: 0;\n margin-bottom: 0.125rem;\n text-align: center;\n"], ["\n font-weight: 700;\n font-size: 1rem;\n line-height: 1.25rem;\n color: ", ";\n margin: 0;\n margin-bottom: 0.125rem;\n text-align: center;\n"])), function (props) { return props.color; });
|
|
9495
11075
|
var Details$1 = newStyled.span(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n display: flex;\n align-items: center;\n font-weight: 400;\n font-size: 1rem;\n margin: 0;\n line-height: 1.5rem;\n justify-content: center;\n color: ", ";\n"], ["\n display: flex;\n align-items: center;\n font-weight: 400;\n font-size: 1rem;\n margin: 0;\n line-height: 1.5rem;\n justify-content: center;\n color: ", ";\n"])), function (props) { return props.color; });
|
|
9496
11076
|
var PriceContainer$1 = newStyled.span(templateObject_4$g || (templateObject_4$g = __makeTemplateObject(["\n margin: 0 0.313rem;\n display: flex;\n align-items: center;\n"], ["\n margin: 0 0.313rem;\n display: flex;\n align-items: center;\n"])));
|
|
@@ -9499,19 +11079,19 @@ var Simple = function (_a) {
|
|
|
9499
11079
|
var theme = useTheme();
|
|
9500
11080
|
return (jsxRuntime.jsx(Card$2, __assign$1({ backgroundColor: backgroundColor, widthAuto: widthAuto }, { children: jsxRuntime.jsxs(Container$r, { children: [jsxRuntime.jsx(Title$4, __assign$1({ color: theme.colors.pallete.secondary.color, "data-testid": "Title" }, { children: title }), void 0), jsxRuntime.jsxs(Details$1, __assign$1({ color: theme.colors.pallete.secondary.color, "data-testid": "Details" }, { children: [anyQtyForText, jsxRuntime.jsx(PriceContainer$1, __assign$1({ "data-testid": "Price" }, { children: jsxRuntime.jsx(PriceLabel, { finalPrice: price, color: "#d3373c", size: exports.ComponentSize.Small }, void 0) }), void 0), "+ ", freeShippingText] }), void 0)] }, void 0) }), void 0));
|
|
9501
11081
|
};
|
|
9502
|
-
var templateObject_1$
|
|
11082
|
+
var templateObject_1$L, templateObject_2$v, templateObject_3$n, templateObject_4$g;
|
|
9503
11083
|
|
|
9504
11084
|
var Bundle = {
|
|
9505
11085
|
Minimalistic: Minimalistic,
|
|
9506
11086
|
Simple: Simple,
|
|
9507
11087
|
};
|
|
9508
11088
|
|
|
9509
|
-
var Container$q = newStyled.div(templateObject_1$
|
|
11089
|
+
var Container$q = newStyled.div(templateObject_1$K || (templateObject_1$K = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n"])));
|
|
9510
11090
|
var Tag$1 = function (_a) {
|
|
9511
11091
|
var text = _a.text, className = _a.className;
|
|
9512
11092
|
return jsxRuntime.jsx(Container$q, __assign$1({ className: className }, { children: text }), void 0);
|
|
9513
11093
|
};
|
|
9514
|
-
var templateObject_1$
|
|
11094
|
+
var templateObject_1$K;
|
|
9515
11095
|
|
|
9516
11096
|
var getStylesBySize$2 = function (size) {
|
|
9517
11097
|
switch (size) {
|
|
@@ -9614,7 +11194,7 @@ var Timer = function (_a) {
|
|
|
9614
11194
|
return (jsxRuntime.jsxs("div", __assign$1({ "data-testid": "Time" }, { children: [(hours || displayZeroValues) && "".concat(hours, "h "), (minutes || displayZeroValues) && "".concat(minutes, "m "), seconds, "s"] }), void 0));
|
|
9615
11195
|
};
|
|
9616
11196
|
|
|
9617
|
-
var Label$1 = newStyled.span(templateObject_1$
|
|
11197
|
+
var Label$1 = newStyled.span(templateObject_1$J || (templateObject_1$J = __makeTemplateObject(["\n font-weight: 600;\n color: ", ";\n font-size: 1.125rem;\n line-height: 1.75rem;\n"], ["\n font-weight: 600;\n color: ", ";\n font-size: 1.125rem;\n line-height: 1.75rem;\n"])), function (_a) {
|
|
9618
11198
|
var color = _a.color;
|
|
9619
11199
|
return color;
|
|
9620
11200
|
});
|
|
@@ -9627,7 +11207,7 @@ var InputLabel = function (_a) {
|
|
|
9627
11207
|
var theme = useTheme();
|
|
9628
11208
|
return (jsxRuntime.jsxs(Label$1, __assign$1({ color: isDisabled ? theme.colors.shades['250'].color : theme.colors.shades['700'].color }, { children: [label, isRequired && jsxRuntime.jsx(MandatoryIcon, __assign$1({ color: theme.colors.semantic.urgent.color }, { children: "*" }), void 0)] }), void 0));
|
|
9629
11209
|
};
|
|
9630
|
-
var templateObject_1$
|
|
11210
|
+
var templateObject_1$J, templateObject_2$u;
|
|
9631
11211
|
|
|
9632
11212
|
/**
|
|
9633
11213
|
* @returns number formatted with "," and 2 decimals as string
|
|
@@ -9681,16 +11261,16 @@ var formatPrice = function (value, _a) {
|
|
|
9681
11261
|
}).format(valueToFormat);
|
|
9682
11262
|
};
|
|
9683
11263
|
|
|
9684
|
-
var ErrorText = newStyled.h3(templateObject_1$
|
|
11264
|
+
var ErrorText = newStyled.h3(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n color: ", " !important;\n font-size: 0.75rem;\n font-weight: 600;\n margin: 0;\n font-height: 1rem;\n margin-left: 0.313rem;\n"], ["\n color: ", " !important;\n font-size: 0.75rem;\n font-weight: 600;\n margin: 0;\n font-height: 1rem;\n margin-left: 0.313rem;\n"])), function (props) { return props.color; });
|
|
9685
11265
|
var ErrorContainer = newStyled.div(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n display: flex;\n align-items: center;\n margin-top: 0.25rem;\n"], ["\n display: flex;\n align-items: center;\n margin-top: 0.25rem;\n"])));
|
|
9686
11266
|
var Error$1 = function (_a) {
|
|
9687
11267
|
var error = _a.error;
|
|
9688
11268
|
var theme = useTheme();
|
|
9689
11269
|
return (jsxRuntime.jsxs(ErrorContainer, { children: [jsxRuntime.jsx(Icon.Actions.LightExclamation, { fill: theme.colors.semantic.urgent.color, width: 0.875, height: 0.875 }, void 0), jsxRuntime.jsx(ErrorText, __assign$1({ color: theme.colors.semantic.urgent.color }, { children: error }), void 0)] }, void 0));
|
|
9690
11270
|
};
|
|
9691
|
-
var templateObject_1$
|
|
11271
|
+
var templateObject_1$I, templateObject_2$t;
|
|
9692
11272
|
|
|
9693
|
-
var Container$p = newStyled.div(templateObject_1$
|
|
11273
|
+
var Container$p = newStyled.div(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["\n input {\n border-color: ", ";\n }\n"], ["\n input {\n border-color: ", ";\n }\n"])), function (_a) {
|
|
9694
11274
|
var color = _a.color;
|
|
9695
11275
|
return color;
|
|
9696
11276
|
});
|
|
@@ -9741,7 +11321,7 @@ var InputWrapper = newStyled.div(templateObject_3$m || (templateObject_3$m = __m
|
|
|
9741
11321
|
var size = _a.size;
|
|
9742
11322
|
return (size === 'small' ? '36px' : '44px');
|
|
9743
11323
|
});
|
|
9744
|
-
var templateObject_1$
|
|
11324
|
+
var templateObject_1$H, templateObject_2$s, templateObject_3$m;
|
|
9745
11325
|
|
|
9746
11326
|
var BaseInput = function (_a) {
|
|
9747
11327
|
var _b;
|
|
@@ -9815,7 +11395,7 @@ var Button$2 = function (_a) {
|
|
|
9815
11395
|
throw new Error("Invalid button variant ".concat(variant));
|
|
9816
11396
|
};
|
|
9817
11397
|
|
|
9818
|
-
var Container$o = newStyled.div(templateObject_1$
|
|
11398
|
+
var Container$o = newStyled.div(templateObject_1$G || (templateObject_1$G = __makeTemplateObject(["\n overflow: hidden;\n\n input {\n border-radius: ", ";\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: none;\n width: 100%;\n }\n"], ["\n overflow: hidden;\n\n input {\n border-radius: ", ";\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: none;\n width: 100%;\n }\n"])), function (_a) {
|
|
9819
11399
|
var theme = _a.theme;
|
|
9820
11400
|
return theme.component.inputCustom.input.borderRadius;
|
|
9821
11401
|
});
|
|
@@ -9834,9 +11414,9 @@ var Custom = function (_a) {
|
|
|
9834
11414
|
}); }, [variant, onClick, text, rest.disabled]);
|
|
9835
11415
|
return (jsxRuntime.jsx(Container$o, __assign$1({ theme: theme }, { children: jsxRuntime.jsx(BaseInput, __assign$1({}, rest, { children: jsxRuntime.jsx(ButtonContainer$1, __assign$1({ theme: theme }, { children: jsxRuntime.jsx(Button$2, __assign$1({}, props), void 0) }), void 0) }), void 0) }), void 0));
|
|
9836
11416
|
};
|
|
9837
|
-
var templateObject_1$
|
|
11417
|
+
var templateObject_1$G, templateObject_2$r;
|
|
9838
11418
|
|
|
9839
|
-
var SuccessContainer = newStyled.div(templateObject_1$
|
|
11419
|
+
var SuccessContainer = newStyled.div(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n height: ", ";\n display: flex;\n"], ["\n height: ", ";\n display: flex;\n"])), function (_a) {
|
|
9840
11420
|
var size = _a.size;
|
|
9841
11421
|
return (size === 'small' ? '36px' : '');
|
|
9842
11422
|
});
|
|
@@ -9846,9 +11426,9 @@ var Success = function (_a) {
|
|
|
9846
11426
|
var children = _a.children, successText = _a.successText, size = _a.size;
|
|
9847
11427
|
return (jsxRuntime.jsxs(SuccessContainer, __assign$1({ size: size }, { children: [jsxRuntime.jsxs(SuccessMessage, { children: [jsxRuntime.jsx(Icon.Actions.Check, { fill: "#5EAD63", width: 1.375, height: 1.063 }, void 0), jsxRuntime.jsx(SuccessText, { children: successText }, void 0)] }, void 0), children] }), void 0));
|
|
9848
11428
|
};
|
|
9849
|
-
var templateObject_1$
|
|
11429
|
+
var templateObject_1$F, templateObject_2$q, templateObject_3$l;
|
|
9850
11430
|
|
|
9851
|
-
var ButtonContainer = newStyled.div(templateObject_1$
|
|
11431
|
+
var ButtonContainer = newStyled.div(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n margin-left: 0.625rem;\n\n button {\n width: 100%;\n height: 100%;\n background-color: ", ";\n }\n"], ["\n margin-left: 0.625rem;\n\n button {\n width: 100%;\n height: 100%;\n background-color: ", ";\n }\n"])), function (_a) {
|
|
9852
11432
|
var status = _a.status, type = _a.type, theme = _a.theme;
|
|
9853
11433
|
return status === exports.InputValidationType.Empty &&
|
|
9854
11434
|
type === 'primary' &&
|
|
@@ -9865,9 +11445,9 @@ var BasePlusButton = function (_a) {
|
|
|
9865
11445
|
}
|
|
9866
11446
|
return (jsxRuntime.jsx(BaseInput, __assign$1({}, rest, { onValidation: setStatus, onChange: onChangeInput }, { children: jsxRuntime.jsx(ButtonContainer, __assign$1({ status: status, type: "primary", theme: theme }, { children: jsxRuntime.jsx(ButtonSecondary, { text: text, onClick: function () { return onClick(inputValue); }, disabled: rest.disabled || status === exports.InputValidationType.Error }, void 0) }), void 0) }), void 0));
|
|
9867
11447
|
};
|
|
9868
|
-
var templateObject_1$
|
|
11448
|
+
var templateObject_1$E;
|
|
9869
11449
|
|
|
9870
|
-
var Container$n = newStyled.div(templateObject_1$
|
|
11450
|
+
var Container$n = newStyled.div(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n input {\n padding-right: 2.688rem;\n }\n"], ["\n input {\n padding-right: 2.688rem;\n }\n"])));
|
|
9871
11451
|
var IconContainer$4 = newStyled.div(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n position: absolute;\n right: 0.875rem;\n width: 1.125rem;\n height: 100%;\n display: flex;\n align-items: center;\n\n svg path {\n fill: ", ";\n }\n"], ["\n position: absolute;\n right: 0.875rem;\n width: 1.125rem;\n height: 100%;\n display: flex;\n align-items: center;\n\n svg path {\n fill: ", ";\n }\n"])), function (props) { return props.color; });
|
|
9872
11452
|
var BasePlusIcon = function (_a) {
|
|
9873
11453
|
var Icon = _a.Icon, rest = __rest(_a, ["Icon"]);
|
|
@@ -9879,7 +11459,7 @@ var BasePlusIcon = function (_a) {
|
|
|
9879
11459
|
? theme.colors.semantic.urgent.color
|
|
9880
11460
|
: '' }, { children: React$2.createElement(Icon, { fill: theme.colors.shades['250'].color }) }), void 0) }), void 0) }, void 0));
|
|
9881
11461
|
};
|
|
9882
|
-
var templateObject_1$
|
|
11462
|
+
var templateObject_1$D, templateObject_2$p;
|
|
9883
11463
|
|
|
9884
11464
|
var Input$1 = {
|
|
9885
11465
|
Simple: BaseInput,
|
|
@@ -9888,7 +11468,7 @@ var Input$1 = {
|
|
|
9888
11468
|
SimplePlusIcon: BasePlusIcon,
|
|
9889
11469
|
};
|
|
9890
11470
|
|
|
9891
|
-
var Container$m = newStyled.div(templateObject_1$
|
|
11471
|
+
var Container$m = newStyled.div(templateObject_1$C || (templateObject_1$C = __makeTemplateObject(["\n width: ", ";\n height: ", ";\n border: 0.063rem solid ", ";\n border-radius: 0.25rem;\n padding: 0.375rem;\n cursor: ", ";\n"], ["\n width: ", ";\n height: ", ";\n border: 0.063rem solid ", ";\n border-radius: 0.25rem;\n padding: 0.375rem;\n cursor: ", ";\n"])), function (_a) {
|
|
9892
11472
|
var width = _a.width;
|
|
9893
11473
|
return width;
|
|
9894
11474
|
}, function (_a) {
|
|
@@ -9906,9 +11486,9 @@ var PaymentMethod = function (_a) {
|
|
|
9906
11486
|
var theme = useTheme();
|
|
9907
11487
|
return (jsxRuntime.jsx(Container$m, __assign$1({ width: width, height: height, borderColor: theme.colors.shades['100'].color, isClickable: Boolean(onClick), onClick: onClick, "data-testid": "payment-method-container" }, { children: React$2.createElement(Icon) }), void 0));
|
|
9908
11488
|
};
|
|
9909
|
-
var templateObject_1$
|
|
11489
|
+
var templateObject_1$C;
|
|
9910
11490
|
|
|
9911
|
-
var Text$4 = newStyled.h3(templateObject_1$
|
|
11491
|
+
var Text$4 = newStyled.h3(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n background-color: ", ";\n margin: 0;\n padding: 0.25rem 0.5rem;\n font-size: 0.625rem;\n font-weight: 700;\n line-height: 0.875rem;\n border-radius: 0.125rem;\n display: initial;\n color: ", ";\n"], ["\n background-color: ", ";\n margin: 0;\n padding: 0.25rem 0.5rem;\n font-size: 0.625rem;\n font-weight: 700;\n line-height: 0.875rem;\n border-radius: 0.125rem;\n display: initial;\n color: ", ";\n"])), function (_a) {
|
|
9912
11492
|
var backgroundColor = _a.backgroundColor;
|
|
9913
11493
|
return backgroundColor;
|
|
9914
11494
|
}, function (_a) {
|
|
@@ -9920,9 +11500,9 @@ var OfferBanner = function (_a) {
|
|
|
9920
11500
|
var theme = useTheme();
|
|
9921
11501
|
return (jsxRuntime.jsx(Text$4, __assign$1({ backgroundColor: backgroundColor, color: theme.colors.shades['700'].color, "data-testid": "OfferBanner" }, { children: discountAppliedText }), void 0));
|
|
9922
11502
|
};
|
|
9923
|
-
var templateObject_1$
|
|
11503
|
+
var templateObject_1$B;
|
|
9924
11504
|
|
|
9925
|
-
var Wrapper$2 = newStyled.div(templateObject_1$
|
|
11505
|
+
var Wrapper$2 = newStyled.div(templateObject_1$A || (templateObject_1$A = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n"], ["\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n"])));
|
|
9926
11506
|
var GrandTotal = newStyled.h1(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n margin: 0;\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: 700;\n color: ", ";\n display: flex;\n align-items: center;\n"], ["\n margin: 0;\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: 700;\n color: ", ";\n display: flex;\n align-items: center;\n"])), function (props) { return props.color; });
|
|
9927
11507
|
var Currency = newStyled.span(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n margin: 0;\n margin-right: 0.625rem;\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 600;\n"], ["\n margin: 0;\n margin-right: 0.625rem;\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 600;\n"])));
|
|
9928
11508
|
var Container$l = newStyled.div(templateObject_4$f || (templateObject_4$f = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 0.625rem;\n color: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 0.625rem;\n color: ", ";\n"])), function (props) { return props.highlightColor; });
|
|
@@ -9932,9 +11512,9 @@ var Total = function (_a) {
|
|
|
9932
11512
|
var theme = useTheme();
|
|
9933
11513
|
return (jsxRuntime.jsxs(Wrapper$2, __assign$1({ "data-testid": "total-wrapper" }, { children: [jsxRuntime.jsxs(GrandTotal, __assign$1({ color: theme.colors.shades['550'].color }, { children: [jsxRuntime.jsx(Currency, { children: currency }, void 0), total] }), void 0), saving && (jsxRuntime.jsxs(Container$l, __assign$1({ "data-testid": "subtotal-container", highlightColor: highlightColor }, { children: [jsxRuntime.jsx(Discount, { children: saving.savingText }, void 0), jsxRuntime.jsx(Discount, { children: saving.amount }, void 0)] }), void 0))] }), void 0));
|
|
9934
11514
|
};
|
|
9935
|
-
var templateObject_1$
|
|
11515
|
+
var templateObject_1$A, templateObject_2$o, templateObject_3$k, templateObject_4$f, templateObject_5$9;
|
|
9936
11516
|
|
|
9937
|
-
var Wrapper$1 = newStyled.div(templateObject_1$
|
|
11517
|
+
var Wrapper$1 = newStyled.div(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), function (_a) {
|
|
9938
11518
|
var color = _a.color;
|
|
9939
11519
|
return color;
|
|
9940
11520
|
});
|
|
@@ -9952,14 +11532,14 @@ var Subtotal = function (_a) {
|
|
|
9952
11532
|
return (jsxRuntime.jsxs(ItemContainer, { children: [jsxRuntime.jsxs(CouponItem, __assign$1({ color: highlightColor }, { children: [coupon.couponText, " ", c.code, " ", coupon.appliedText] }), void 0), jsxRuntime.jsx(CouponItem, __assign$1({ color: highlightColor }, { children: c.amount }), void 0)] }, i));
|
|
9953
11533
|
})] }), void 0));
|
|
9954
11534
|
};
|
|
9955
|
-
var templateObject_1$
|
|
11535
|
+
var templateObject_1$z, templateObject_2$n, templateObject_3$j, templateObject_4$e;
|
|
9956
11536
|
|
|
9957
11537
|
var Totals = {
|
|
9958
11538
|
Total: Total,
|
|
9959
11539
|
Subtotal: Subtotal,
|
|
9960
11540
|
};
|
|
9961
11541
|
|
|
9962
|
-
var Container$k = newStyled.div(templateObject_1$
|
|
11542
|
+
var Container$k = newStyled.div(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n padding: 0.625rem 1.25rem;\n background-color: ", ";\n border-radius: 0.313rem;\n display: flex;\n margin-bottom: 0.938rem;\n"], ["\n padding: 0.625rem 1.25rem;\n background-color: ", ";\n border-radius: 0.313rem;\n display: flex;\n margin-bottom: 0.938rem;\n"])), function (props) { return props.color; });
|
|
9963
11543
|
var IconContainer$3 = newStyled.div(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n width: 1rem;\n height: 0.875rem;\n margin-right: 0.5rem;\n margin-top: 0.125rem;\n"], ["\n width: 1rem;\n height: 0.875rem;\n margin-right: 0.5rem;\n margin-top: 0.125rem;\n"])));
|
|
9964
11544
|
var Text$3 = newStyled.p(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 400;\n margin: 0;\n color: ", ";\n"], ["\n font-size: 0.875rem;\n line-height: 1.375rem;\n font-weight: 400;\n margin: 0;\n color: ", ";\n"])), function (props) { return props.color; });
|
|
9965
11545
|
var Details = newStyled.span(templateObject_4$d || (templateObject_4$d = __makeTemplateObject(["\n color: ", ";\n font-weight: 700;\n"], ["\n color: ", ";\n font-weight: 700;\n"])), function (props) { return props.color; });
|
|
@@ -9967,7 +11547,7 @@ var Note = function (_a) {
|
|
|
9967
11547
|
var accentColor = _a.accentColor, color = _a.color, backgroundColor = _a.backgroundColor, importantNoteText = _a.importantNoteText, text = _a.text;
|
|
9968
11548
|
return (jsxRuntime.jsxs(Container$k, __assign$1({ color: backgroundColor, "data-testid": "Container" }, { children: [jsxRuntime.jsx(IconContainer$3, { children: jsxRuntime.jsx(Icon.Actions.LightExclamation, { fill: accentColor }, void 0) }, void 0), jsxRuntime.jsx("div", { children: jsxRuntime.jsxs(Text$3, __assign$1({ color: color }, { children: [jsxRuntime.jsxs(Details, __assign$1({ color: accentColor }, { children: [importantNoteText, ":"] }), void 0), " ", text] }), void 0) }, void 0)] }), void 0));
|
|
9969
11549
|
};
|
|
9970
|
-
var templateObject_1$
|
|
11550
|
+
var templateObject_1$y, templateObject_2$m, templateObject_3$i, templateObject_4$d;
|
|
9971
11551
|
|
|
9972
11552
|
/* eslint-disable no-param-reassign */
|
|
9973
11553
|
var index$1 = function (breakpoints) {
|
|
@@ -10053,7 +11633,7 @@ var mediaQueries = index$1(["@media(max-width: 900px)", "@media(min-width: 900px
|
|
|
10053
11633
|
literal: true,
|
|
10054
11634
|
});
|
|
10055
11635
|
|
|
10056
|
-
var Title$3 = newStyled.h1(templateObject_1$
|
|
11636
|
+
var Title$3 = newStyled.h1(templateObject_1$x || (templateObject_1$x = __makeTemplateObject(["\n color: ", ";\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 600;\n margin: 0;\n text-align: center;\n"], ["\n color: ", ";\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 600;\n margin: 0;\n text-align: center;\n"])), function (props) { return props.color; });
|
|
10057
11637
|
var Line = newStyled.div(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n width: 100%;\n height: 0.063rem;\n background-color: ", ";\n margin: 0.938rem 0;\n"], ["\n width: 100%;\n height: 0.063rem;\n background-color: ", ";\n margin: 0.938rem 0;\n"])), function (props) { return props.backgroundColor; });
|
|
10058
11638
|
var Row$1 = newStyled.div(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n display: flex;\n ", "\n justify-content: space-between;\n align-items: flex-start;\n"], ["\n display: flex;\n ", "\n justify-content: space-between;\n align-items: flex-start;\n"])), mediaQueries({
|
|
10059
11639
|
flexDirection: ['column', 'row'],
|
|
@@ -10082,27 +11662,27 @@ var DeliveryDetails = function (_a) {
|
|
|
10082
11662
|
var theme = useTheme();
|
|
10083
11663
|
return (jsxRuntime.jsxs("div", __assign$1({ "data-testid": "DeliveryDetails" }, { children: [jsxRuntime.jsx(Title$3, __assign$1({ color: theme.colors.pallete.secondary.color }, { children: deliveryDetailsText }), void 0), jsxRuntime.jsx(Line, { backgroundColor: theme.colors.shades['100'].color }, void 0), note && jsxRuntime.jsx(Note, __assign$1({}, note), void 0), jsxRuntime.jsxs(Row$1, __assign$1({ "data-testid": "DD-row", theme: theme }, { children: [jsxRuntime.jsxs(Col$1, __assign$1({ theme: theme }, { children: [jsxRuntime.jsxs(SectionTitle, __assign$1({ theme: theme }, { children: [jsxRuntime.jsx(IconContainer$2, __assign$1({ theme: theme }, { children: jsxRuntime.jsx(Icon.PDP.Clock, {}, void 0) }), void 0), arrivingBy.title] }), void 0), jsxRuntime.jsx(SectionDetails, __assign$1({ color: theme.colors.shades['700'].color }, { children: arrivingBy.details }), void 0)] }), void 0), jsxRuntime.jsxs(Col$1, __assign$1({ theme: theme }, { children: [jsxRuntime.jsxs(SectionTitle, __assign$1({ theme: theme }, { children: [jsxRuntime.jsx(IconContainer$2, __assign$1({ theme: theme }, { children: jsxRuntime.jsx(Icon.Navigation.MapMarker, {}, void 0) }), void 0), shippingTo.title] }), void 0), jsxRuntime.jsx(SectionDetails, __assign$1({ color: theme.colors.shades['700'].color }, { children: shippingTo.details }), void 0)] }), void 0), jsxRuntime.jsxs(Col$1, __assign$1({ theme: theme }, { children: [jsxRuntime.jsxs(SectionTitle, __assign$1({ theme: theme }, { children: [jsxRuntime.jsx(IconContainer$2, __assign$1({ theme: theme }, { children: jsxRuntime.jsx(Icon.Messaging.Messenger, {}, void 0) }), void 0), instantOrderUpdate.title] }), void 0), jsxRuntime.jsx(SectionDetails, __assign$1({ color: theme.colors.shades['700'].color }, { children: instantOrderUpdate.details }), void 0), jsxRuntime.jsxs(KeepMeUpdated, __assign$1({ onClick: instantOrderUpdate.keepMeUpdated.onClick, borderColor: theme.colors.shades['150'].color }, { children: [jsxRuntime.jsx(Icon.Messaging.Messenger, { width: 1, height: 1, fill: "#0078FF" }, void 0), instantOrderUpdate.keepMeUpdated.title] }), void 0)] }), void 0)] }), void 0)] }), void 0));
|
|
10084
11664
|
};
|
|
10085
|
-
var templateObject_1$
|
|
11665
|
+
var templateObject_1$x, templateObject_2$l, templateObject_3$h, templateObject_4$c, templateObject_5$8, templateObject_6$6, templateObject_7$3, templateObject_8$1;
|
|
10086
11666
|
|
|
10087
|
-
var Container$j = newStyled.div(templateObject_1$
|
|
11667
|
+
var Container$j = newStyled.div(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n"], ["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n"])));
|
|
10088
11668
|
var H1$2 = newStyled.h1(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n margin: 0;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 700;\n color: ", ";\n margin-right: 0.313rem;\n"], ["\n margin: 0;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 700;\n color: ", ";\n margin-right: 0.313rem;\n"])), function (props) { return props.color; });
|
|
10089
11669
|
var ScrollToTop = function (_a) {
|
|
10090
11670
|
var scrollToTopText = _a.scrollToTopText, onClick = _a.onClick;
|
|
10091
11671
|
var theme = useTheme();
|
|
10092
11672
|
return (jsxRuntime.jsxs(Container$j, __assign$1({ onClick: onClick, "data-testid": "Container" }, { children: [jsxRuntime.jsx(H1$2, __assign$1({ color: theme.colors.shades['700'].color }, { children: scrollToTopText }), void 0), jsxRuntime.jsx(Icon.Arrows.ChevronUpSolid, { width: 1.375, height: 1.375, fill: theme.colors.pallete.primary.color }, void 0)] }), void 0));
|
|
10093
11673
|
};
|
|
10094
|
-
var templateObject_1$
|
|
11674
|
+
var templateObject_1$w, templateObject_2$k;
|
|
10095
11675
|
|
|
10096
|
-
var Container$i = newStyled.div(templateObject_1$
|
|
11676
|
+
var Container$i = newStyled.div(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #dfefeb;\n padding: 0.75rem 0;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #dfefeb;\n padding: 0.75rem 0;\n"])));
|
|
10097
11677
|
var H1$1 = newStyled.h1(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n margin: 0;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 600;\n color: ", ";\n margin-left: 0.625rem;\n"], ["\n margin: 0;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 600;\n color: ", ";\n margin-left: 0.625rem;\n"])), function (props) { return props.color; });
|
|
10098
11678
|
var OrderBar = function (_a) {
|
|
10099
11679
|
var message = _a.message;
|
|
10100
11680
|
var theme = useTheme();
|
|
10101
11681
|
return (jsxRuntime.jsxs(Container$i, { children: [jsxRuntime.jsx(Icon.Actions.Check, { width: 1.25, height: 0.875, fill: "#2F806A" }, void 0), jsxRuntime.jsx(H1$1, __assign$1({ color: theme.colors.shades['700'].color }, { children: message }), void 0)] }, void 0));
|
|
10102
11682
|
};
|
|
10103
|
-
var templateObject_1$
|
|
11683
|
+
var templateObject_1$v, templateObject_2$j;
|
|
10104
11684
|
|
|
10105
|
-
var TableElement = newStyled.table(templateObject_1$
|
|
11685
|
+
var TableElement = newStyled.table(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n box-sizing: border-box;\n border-radius: 0.5rem;\n border: 0.063rem solid ", ";\n border-spacing: 0;\n font-size: 0.875rem;\n line-height: 3.125rem;\n width: 100%;\n color: ", ";\n"], ["\n box-sizing: border-box;\n border-radius: 0.5rem;\n border: 0.063rem solid ", ";\n border-spacing: 0;\n font-size: 0.875rem;\n line-height: 3.125rem;\n width: 100%;\n color: ", ";\n"])), function (props) { return props.borderColor; }, function (props) { return props.color; });
|
|
10106
11686
|
var TableCell = newStyled.td(templateObject_2$i || (templateObject_2$i = __makeTemplateObject(["\n border-bottom: 0.063rem solid ", ";\n border-right: 0.063rem solid ", ";\n padding: 0 1.25rem;\n text-align: center;\n\n &:last-child {\n border-right: none;\n }\n\n &:first-of-type {\n font-weight: 700;\n }\n"], ["\n border-bottom: 0.063rem solid ", ";\n border-right: 0.063rem solid ", ";\n padding: 0 1.25rem;\n text-align: center;\n\n &:last-child {\n border-right: none;\n }\n\n &:first-of-type {\n font-weight: 700;\n }\n"])), function (props) { return props.borderColor; }, function (props) { return props.borderColor; });
|
|
10107
11687
|
var TableHead = newStyled.th(templateObject_3$g || (templateObject_3$g = __makeTemplateObject(["\n border-bottom: 0.063rem solid ", ";\n border-right: 0.063rem solid ", ";\n font-weight: 700;\n\n &:last-child {\n border-right: none;\n }\n"], ["\n border-bottom: 0.063rem solid ", ";\n border-right: 0.063rem solid ", ";\n font-weight: 700;\n\n &:last-child {\n border-right: none;\n }\n"])), function (props) { return props.borderColor; }, function (props) { return props.borderColor; });
|
|
10108
11688
|
var TableRow = newStyled.tr(templateObject_4$b || (templateObject_4$b = __makeTemplateObject(["\n &:last-child {\n td {\n border-bottom: none;\n }\n }\n\n &.background {\n background-color: ", ";\n }\n"], ["\n &:last-child {\n td {\n border-bottom: none;\n }\n }\n\n &.background {\n background-color: ", ";\n }\n"])), function (props) { return props.backgroundColor; });
|
|
@@ -10111,7 +11691,14 @@ var SizeTable = function (_a) {
|
|
|
10111
11691
|
var theme = useTheme();
|
|
10112
11692
|
return (jsxRuntime.jsxs(TableElement, __assign$1({ color: theme.colors.shades['700'].color, borderColor: theme.colors.shades['100'].color }, { children: [jsxRuntime.jsx("thead", { children: jsxRuntime.jsx(TableRow, __assign$1({ backgroundColor: theme.colors.shades['10'].color }, { children: headers.map(function (header, index) { return (jsxRuntime.jsx(TableHead, __assign$1({ borderColor: theme.colors.shades['100'].color }, { children: header }), index)); }) }), void 0) }, void 0), jsxRuntime.jsx("tbody", { children: data.map(function (row, index) { return (jsxRuntime.jsx(TableRow, __assign$1({ className: index % 2 !== 0 ? '' : 'background', backgroundColor: theme.colors.shades['10'].color }, { children: row.map(function (cell, index) { return (jsxRuntime.jsx(TableCell, __assign$1({ borderColor: theme.colors.shades['100'].color }, { children: cell }), index)); }) }), index)); }) }, void 0)] }), void 0));
|
|
10113
11693
|
};
|
|
10114
|
-
var templateObject_1$
|
|
11694
|
+
var templateObject_1$u, templateObject_2$i, templateObject_3$g, templateObject_4$b;
|
|
11695
|
+
|
|
11696
|
+
var Img = newStyled.img(templateObject_1$t || (templateObject_1$t = __makeTemplateObject(["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n object-fit: ", ";\n object-position: ", ";\n"], ["\n height: ", ";\n width: ", ";\n border-radius: ", ";\n object-fit: ", ";\n object-position: ", ";\n"])), function (props) { return props.height; }, function (props) { return props.width; }, function (props) { return props.borderRadius; }, function (props) { return props.objectFit; }, function (props) { return props.objectPosition; });
|
|
11697
|
+
var Image = function (_a) {
|
|
11698
|
+
var src = _a.src, alt = _a.alt, height = _a.height, width = _a.width, borderRadius = _a.borderRadius, objectFit = _a.objectFit, objectPosition = _a.objectPosition, className = _a.className;
|
|
11699
|
+
return (jsxRuntime.jsx(Img, { src: src, alt: alt, height: height, width: width, borderRadius: borderRadius, objectFit: objectFit, objectPosition: objectPosition, className: className }, void 0));
|
|
11700
|
+
};
|
|
11701
|
+
var templateObject_1$t;
|
|
10115
11702
|
|
|
10116
11703
|
var Container$h = newStyled.div(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n width: auto;\n"], ["\n display: flex;\n flex-direction: row;\n width: auto;\n"])));
|
|
10117
11704
|
var ImageContainer$1 = newStyled.div(templateObject_2$h || (templateObject_2$h = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
@@ -10954,16 +12541,16 @@ function useSwipeable(options) {
|
|
|
10954
12541
|
return handlers;
|
|
10955
12542
|
}
|
|
10956
12543
|
|
|
10957
|
-
var Container$7 = newStyled.div(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n position: relative;\n max-height: 31.875rem;\n"], ["\n position: relative;\n max-height: 31.875rem;\n"])));
|
|
12544
|
+
var Container$7 = newStyled.div(templateObject_1$e || (templateObject_1$e = __makeTemplateObject(["\n position: relative;\n max-height: 31.875rem;\n overflow: hidden;\n"], ["\n position: relative;\n max-height: 31.875rem;\n overflow: hidden;\n"])));
|
|
10958
12545
|
var TopTagContainer = newStyled.div(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n"], ["\n position: absolute;\n left: 0;\n top: 0;\n"])));
|
|
10959
12546
|
var BottomTagContainer = newStyled.div(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"], ["\n position: absolute;\n bottom: 3.75rem;\n left: 0;\n"])));
|
|
10960
12547
|
var ImageProductWithTags = React$2.forwardRef(function ImageProductWithTags(_a, ref) {
|
|
10961
|
-
var image = _a.image,
|
|
10962
|
-
return (jsxRuntime.jsxs(Container$7, __assign$1({ "data-testid": testId, ref: ref }, { children: [jsxRuntime.jsx(
|
|
12548
|
+
var image = _a.image, topTag = _a.topTag, bottomTag = _a.bottomTag, testId = _a.testId;
|
|
12549
|
+
return (jsxRuntime.jsxs(Container$7, __assign$1({ "data-testid": testId, ref: ref }, { children: [jsxRuntime.jsx(InnerImageZoom, { src: image.imageUrl, zoomSrc: image.imageUrl, zoomType: "hover", imgAttributes: { alt: image.alt, width: '100%', height: '510px' }, height: 510, fullscreenOnMobile: true, className: "zoomWrapper" }, void 0), jsxRuntime.jsx(TopTagContainer, { children: topTag }, void 0), jsxRuntime.jsx(BottomTagContainer, { children: bottomTag }, void 0)] }), void 0));
|
|
10963
12550
|
});
|
|
10964
12551
|
var templateObject_1$e, templateObject_2$7, templateObject_3$7;
|
|
10965
12552
|
|
|
10966
|
-
var Button = newStyled.button(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n background: transparent;\n border: none;\n padding: 0.188rem 0.625rem;\n"], ["\n background: transparent;\n border: none;\n padding: 0.188rem 0.625rem;\n"])));
|
|
12553
|
+
var Button = newStyled.button(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n background: transparent;\n border: none;\n padding: 0.188rem 0.625rem;\n z-index: 99;\n top: calc(50% - 40px);\n height: 40px !important;\n"], ["\n background: transparent;\n border: none;\n padding: 0.188rem 0.625rem;\n z-index: 99;\n top: calc(50% - 40px);\n height: 40px !important;\n"])));
|
|
10967
12554
|
var ArrowButton = function (_a) {
|
|
10968
12555
|
var Icon = _a.Icon, onClick = _a.onClick, className = _a.className;
|
|
10969
12556
|
return (jsxRuntime.jsx(Button, __assign$1({ className: className, type: "button", onClick: onClick }, { children: Icon }), void 0));
|
|
@@ -10999,7 +12586,7 @@ var templateObject_1$b, templateObject_2$6, templateObject_3$6;
|
|
|
10999
12586
|
|
|
11000
12587
|
var Container$5 = newStyled.div(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n height: fit-content;\n position: relative;\n max-width: 450px;\n"], ["\n display: flex;\n flex-direction: column;\n height: fit-content;\n position: relative;\n max-width: 450px;\n"])));
|
|
11001
12588
|
var ProductGalleryMobile = function (_a) {
|
|
11002
|
-
var images = _a.images, selectedValue = _a.selectedValue,
|
|
12589
|
+
var images = _a.images, selectedValue = _a.selectedValue, topTag = _a.topTag, bottomTag = _a.bottomTag, productImageDataTestId = _a.productImageDataTestId, slideDotsDataTestId = _a.slideDotsDataTestId;
|
|
11003
12590
|
var _b = React$2.useState(0), index = _b[0], setIndex = _b[1];
|
|
11004
12591
|
React$2.useEffect(function () {
|
|
11005
12592
|
if (selectedValue == null) {
|
|
@@ -11009,23 +12596,18 @@ var ProductGalleryMobile = function (_a) {
|
|
|
11009
12596
|
}, [selectedValue, images]);
|
|
11010
12597
|
var _c = React$2.useState(function () { return images[index]; }), selectedImage = _c[0], setSelectedImage = _c[1];
|
|
11011
12598
|
var handlers = useSwipeable({
|
|
11012
|
-
|
|
11013
|
-
|
|
11014
|
-
setIndex(function (index) {
|
|
11015
|
-
if (dir === 'Left') {
|
|
11016
|
-
return Math.min(index + 1, images.length - 1);
|
|
11017
|
-
}
|
|
11018
|
-
if (dir === 'Right') {
|
|
11019
|
-
return Math.max(index - 1, 0);
|
|
11020
|
-
}
|
|
11021
|
-
return index;
|
|
11022
|
-
});
|
|
12599
|
+
onSwipedLeft: React$2.useCallback(function (e) {
|
|
12600
|
+
console.log(e);
|
|
12601
|
+
setIndex(function (index) { return Math.min(index + 1, images.length - 1); });
|
|
11023
12602
|
}, [images.length]),
|
|
12603
|
+
onSwipedRight: React$2.useCallback(function () {
|
|
12604
|
+
setIndex(function (index) { return Math.max(index - 1, 0); });
|
|
12605
|
+
}, []),
|
|
11024
12606
|
});
|
|
11025
12607
|
React$2.useEffect(function () {
|
|
11026
12608
|
setSelectedImage(images[index]);
|
|
11027
12609
|
}, [index, images]);
|
|
11028
|
-
return (jsxRuntime.jsxs(Container$5, { children: [jsxRuntime.jsx(ImageProductWithTags, __assign$1({}, handlers, { image: selectedImage,
|
|
12610
|
+
return (jsxRuntime.jsxs(Container$5, { children: [jsxRuntime.jsx(ImageProductWithTags, __assign$1({}, handlers, { image: selectedImage, topTag: topTag, bottomTag: bottomTag, testId: productImageDataTestId }), void 0), jsxRuntime.jsx(SlideNavigation, { quantity: images.length, selectedIndex: images.indexOf(selectedImage), onNavigate: setIndex, testId: slideDotsDataTestId }, void 0)] }, void 0));
|
|
11029
12611
|
};
|
|
11030
12612
|
var templateObject_1$a;
|
|
11031
12613
|
|