wizr-quiz 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +0 -1
- package/dist/index.mjs +0 -1
- package/package.json +12 -4
- package/rollup.config-1745339193645.cjs +0 -50
- package/rollup.config.js +0 -45
- package/src/assets/Timer.svg +0 -3
- package/src/assets/close.svg +0 -4
- package/src/assets/downArrow.svg +0 -11
- package/src/assets/fonts/patron/patron-black.woff2 +0 -0
- package/src/assets/fonts/patron/patron-blackitalic.woff2 +0 -0
- package/src/assets/fonts/patron/patron-bold.woff2 +0 -0
- package/src/assets/fonts/patron/patron-bolditalic.woff2 +0 -0
- package/src/assets/fonts/patron/patron-italic.woff2 +0 -0
- package/src/assets/fonts/patron/patron-light.woff2 +0 -0
- package/src/assets/fonts/patron/patron-lightitalic.woff2 +0 -0
- package/src/assets/fonts/patron/patron-medium.woff2 +0 -0
- package/src/assets/fonts/patron/patron-mediumitalic.woff2 +0 -0
- package/src/assets/fonts/patron/patron-regular.woff2 +0 -0
- package/src/assets/fonts/patron/patron-thin.woff2 +0 -0
- package/src/assets/fonts/patron/patron-thinitalic.woff2 +0 -0
- package/src/assets/fonts/quintus/Quintus_B_trial.ttf +0 -0
- package/src/assets/fonts/quintus/Quintus_R_trial.ttf +0 -0
- package/src/assets/react.svg +0 -1
- package/src/components/Options.tsx +0 -27
- package/src/components/Question.tsx +0 -18
- package/src/components/Quiz.tsx +0 -297
- package/src/components/Timer.tsx +0 -53
- package/src/components/loader.tsx +0 -12
- package/src/components/quizEndScreen.tsx +0 -20
- package/src/components/tabSwitchModal.tsx +0 -30
- package/src/hooks/useDisableCopyPaste.ts +0 -25
- package/src/hooks/useTabSwitch.tsx +0 -29
- package/src/index.ts +0 -3
- package/src/styles/fonts.css +0 -44
- package/src/styles/loader.css +0 -27
- package/src/styles/options.css +0 -58
- package/src/styles/question.css +0 -40
- package/src/styles/quiz.css +0 -267
- package/src/styles/quizEndScreen.css +0 -33
- package/src/styles/tabSwitchModal.css +0 -78
- package/src/styles/timer.css +0 -5
- package/src/svg.d.ts +0 -6
- package/src/types/index.ts +0 -60
- package/tsconfig.json +0 -20
- package/wizr-quiz-1.0.0.tgz +0 -0
- package/wizr-sdk-1.0.0.tgz +0 -0
package/dist/index.js
CHANGED
|
@@ -8,4 +8,3 @@
|
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/function f(){return c||(c=1,"production"!==process.env.NODE_ENV&&function(){var e=n,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),y=Symbol.iterator;var b=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];!function(n,e,t){var r=b.ReactDebugCurrentFrame,o=r.getStackAddendum();""!==o&&(e+="%s",t=t.concat([o]));var i=t.map((function(n){return String(n)}));i.unshift("Warning: "+e),Function.prototype.apply.call(console[n],console,i)}("error",n,t)}var v;function x(n){return n.displayName||"Context"}function w(n){if(null==n)return null;if("number"==typeof n.tag&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof n)return n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case o:return"Fragment";case r:return"Portal";case a:return"Profiler";case i:return"StrictMode";case f:return"Suspense";case p:return"SuspenseList"}if("object"==typeof n)switch(n.$$typeof){case c:return x(n)+".Consumer";case s:return x(n._context)+".Provider";case l:return function(n,e,t){var r=n.displayName;if(r)return r;var o=e.displayName||e.name||"";return""!==o?t+"("+o+")":t}(n,n.render,"ForwardRef");case d:var e=n.displayName||null;return null!==e?e:w(n.type)||"Memo";case m:var t=n,u=t._payload,h=t._init;try{return w(h(u))}catch(n){return null}}return null}v=Symbol.for("react.module.reference");var k,j,E,S,z,_,O,N=Object.assign,P=0;function R(){}R.__reactDisabledLog=!0;var T,q=b.ReactCurrentDispatcher;function C(n,e,t){if(void 0===T)try{throw Error()}catch(n){var r=n.stack.trim().match(/\n( *(at )?)/);T=r&&r[1]||""}return"\n"+T+n}var L,I=!1,D="function"==typeof WeakMap?WeakMap:Map;function $(n,e){if(!n||I)return"";var t,r=L.get(n);if(void 0!==r)return r;I=!0;var o,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=q.current,q.current=null,function(){if(0===P){k=console.log,j=console.info,E=console.warn,S=console.error,z=console.group,_=console.groupCollapsed,O=console.groupEnd;var n={configurable:!0,enumerable:!0,value:R,writable:!0};Object.defineProperties(console,{info:n,log:n,warn:n,error:n,group:n,groupCollapsed:n,groupEnd:n})}P++}();try{if(e){var a=function(){throw Error()};if(Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(a,[])}catch(n){t=n}Reflect.construct(n,[],a)}else{try{a.call()}catch(n){t=n}n.call(a.prototype)}}else{try{throw Error()}catch(n){t=n}n()}}catch(e){if(e&&t&&"string"==typeof e.stack){for(var s=e.stack.split("\n"),c=t.stack.split("\n"),l=s.length-1,u=c.length-1;l>=1&&u>=0&&s[l]!==c[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==c[u]){if(1!==l||1!==u)do{if(l--,--u<0||s[l]!==c[u]){var f="\n"+s[l].replace(" at new "," at ");return n.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",n.displayName)),"function"==typeof n&&L.set(n,f),f}}while(l>=1&&u>=0);break}}}finally{I=!1,q.current=o,function(){if(0==--P){var n={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:N({},n,{value:k}),info:N({},n,{value:j}),warn:N({},n,{value:E}),error:N({},n,{value:S}),group:N({},n,{value:z}),groupCollapsed:N({},n,{value:_}),groupEnd:N({},n,{value:O})})}P<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var p=n?n.displayName||n.name:"",d=p?C(p):"";return"function"==typeof n&&L.set(n,d),d}function F(n,e,t){if(null==n)return"";if("function"==typeof n)return $(n,!(!(r=n.prototype)||!r.isReactComponent));var r;if("string"==typeof n)return C(n);switch(n){case f:return C("Suspense");case p:return C("SuspenseList")}if("object"==typeof n)switch(n.$$typeof){case l:return $(n.render,!1);case d:return F(n.type,e,t);case m:var o=n,i=o._payload,a=o._init;try{return F(a(i),e,t)}catch(n){}}return""}L=new D;var A=Object.prototype.hasOwnProperty,B={},M=b.ReactDebugCurrentFrame;function W(n){if(n){var e=n._owner,t=F(n.type,n._source,e?e.type:null);M.setExtraStackFrame(t)}else M.setExtraStackFrame(null)}var U=Array.isArray;function H(n){return U(n)}function Y(n){return""+n}function V(n){if(function(n){try{return Y(n),!1}catch(n){return!0}}(n))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(n){return"function"==typeof Symbol&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object"}(n)),Y(n)}var K,J,Q=b.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};function G(n,e,r,o,i){var a,s={},c=null,l=null;for(a in void 0!==r&&(V(r),c=""+r),function(n){if(A.call(n,"key")){var e=Object.getOwnPropertyDescriptor(n,"key").get;if(e&&e.isReactWarning)return!1}return void 0!==n.key}(e)&&(V(e.key),c=""+e.key),function(n){if(A.call(n,"ref")){var e=Object.getOwnPropertyDescriptor(n,"ref").get;if(e&&e.isReactWarning)return!1}return void 0!==n.ref}(e)&&(l=e.ref,function(n){"string"==typeof n.ref&&Q.current}(e)),e)A.call(e,a)&&!X.hasOwnProperty(a)&&(s[a]=e[a]);if(n&&n.defaultProps){var u=n.defaultProps;for(a in u)void 0===s[a]&&(s[a]=u[a])}if(c||l){var f="function"==typeof n?n.displayName||n.name||"Unknown":n;c&&function(n,e){var t=function(){K||(K=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};t.isReactWarning=!0,Object.defineProperty(n,"key",{get:t,configurable:!0})}(s,f),l&&function(n,e){var t=function(){J||(J=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};t.isReactWarning=!0,Object.defineProperty(n,"ref",{get:t,configurable:!0})}(s,f)}return function(n,e,r,o,i,a,s){var c={$$typeof:t,type:n,key:e,ref:r,props:s,_owner:a,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}(n,c,l,i,o,Q.current,s)}var Z,nn=b.ReactCurrentOwner,en=b.ReactDebugCurrentFrame;function tn(n){if(n){var e=n._owner,t=F(n.type,n._source,e?e.type:null);en.setExtraStackFrame(t)}else en.setExtraStackFrame(null)}function rn(n){return"object"==typeof n&&null!==n&&n.$$typeof===t}function on(){if(nn.current){var n=w(nn.current.type);if(n)return"\n\nCheck the render method of `"+n+"`."}return""}Z=!1;var an={};function sn(n,e){if(n._store&&!n._store.validated&&null==n.key){n._store.validated=!0;var t=function(n){var e=on();if(!e){var t="string"==typeof n?n:n.displayName||n.name;t&&(e="\n\nCheck the top-level render call using <"+t+">.")}return e}(e);if(!an[t]){an[t]=!0;var r="";n&&n._owner&&n._owner!==nn.current&&(r=" It was passed a child from "+w(n._owner.type)+"."),tn(n),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,r),tn(null)}}}function cn(n,e){if("object"==typeof n)if(H(n))for(var t=0;t<n.length;t++){var r=n[t];rn(r)&&sn(r,e)}else if(rn(n))n._store&&(n._store.validated=!0);else if(n){var o=function(n){if(null===n||"object"!=typeof n)return null;var e=y&&n[y]||n["@@iterator"];return"function"==typeof e?e:null}(n);if("function"==typeof o&&o!==n.entries)for(var i,a=o.call(n);!(i=a.next()).done;)rn(i.value)&&sn(i.value,e)}}function ln(n){var e,t=n.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)e=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==l&&t.$$typeof!==d)return;e=t.propTypes}if(e){var r=w(t);!function(n,e,t,r,o){var i=Function.call.bind(A);for(var a in n)if(i(n,a)){var s=void 0;try{if("function"!=typeof n[a]){var c=Error((r||"React class")+": "+t+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof n[a]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}s=n[a](e,a,r,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(n){s=n}!s||s instanceof Error||(W(o),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",t,a,typeof s),W(null)),s instanceof Error&&!(s.message in B)&&(B[s.message]=!0,W(o),g("Failed %s type: %s",t,s.message),W(null))}}(e,n.props,"prop",r,n)}else if(void 0!==t.PropTypes&&!Z){Z=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",w(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var un={};function fn(n,e,r,u,y,b){var x=function(n){return"string"==typeof n||"function"==typeof n||n===o||n===a||n===i||n===f||n===p||n===h||"object"==typeof n&&null!==n&&(n.$$typeof===m||n.$$typeof===d||n.$$typeof===s||n.$$typeof===c||n.$$typeof===l||n.$$typeof===v||void 0!==n.getModuleId)}(n);if(!x){var k="";(void 0===n||"object"==typeof n&&null!==n&&0===Object.keys(n).length)&&(k+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var j;k+=on(),null===n?j="null":H(n)?j="array":void 0!==n&&n.$$typeof===t?(j="<"+(w(n.type)||"Unknown")+" />",k=" Did you accidentally export a JSX literal instead of a component?"):j=typeof n,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",j,k)}var E=G(n,e,r,y,b);if(null==E)return E;if(x){var S=e.children;if(void 0!==S)if(u)if(H(S)){for(var z=0;z<S.length;z++)cn(S[z],n);Object.freeze&&Object.freeze(S)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else cn(S,n)}if(A.call(e,"key")){var _=w(n),O=Object.keys(e).filter((function(n){return"key"!==n})),N=O.length>0?"{key: someKey, "+O.join(": ..., ")+": ...}":"{key: someKey}";if(!un[_+N])g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',N,_,O.length>0?"{"+O.join(": ..., ")+": ...}":"{}",_),un[_+N]=!0}return n===o?function(n){for(var e=Object.keys(n.props),t=0;t<e.length;t++){var r=e[t];if("children"!==r&&"key"!==r){tn(n),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),tn(null);break}}null!==n.ref&&(tn(n),g("Invalid attribute `ref` supplied to `React.Fragment`."),tn(null))}(E):ln(E),E}var pn=function(n,e,t){return fn(n,e,t,!1)},dn=function(n,e,t){return fn(n,e,t,!0)};u.Fragment=o,u.jsx=pn,u.jsxs=dn}()),u}var p=(l||(l=1,"production"===process.env.NODE_ENV?a.exports=function(){if(i)return s;i=1;var e=n,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(n,e,r){var i,s={},l=null,u=null;for(i in void 0!==r&&(l=""+r),void 0!==e.key&&(l=""+e.key),void 0!==e.ref&&(u=e.ref),e)o.call(e,i)&&!c.hasOwnProperty(i)&&(s[i]=e[i]);if(n&&n.defaultProps)for(i in e=n.defaultProps)void 0===s[i]&&(s[i]=e[i]);return{$$typeof:t,type:n,key:l,ref:u,props:s,_owner:a.current}}return s.Fragment=r,s.jsx=l,s.jsxs=l,s}():a.exports=f()),a.exports);function d(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}d('/* .questionHtmlWrapper ul {\n list-style-type: disc;\n padding-left: 1.5rem;\n list-style-position: inside;\n}\n\n.questionHtmlWrapper ol {\n list-style-type: disc;\n padding-left: 1.5rem;\n list-style-position: inside;\n} */\n\n.question-text {\n font-size: 1.15rem;\n font-weight: 600;\n color: #161c20;\n font-family: "Patron", sans-serif;\n line-height: 25px;\n}\n\ncode {\n font-size: 0.8rem;\n font-weight: normal;\n}\n\n@media (max-width: 1320px) {\n .question-text {\n font-size: 1rem;\n }\n .questionHtmlWrapper code {\n font-size: 0.8rem;\n }\n}\n\n@media (max-width: 768px) {\n .question-text {\n font-size: 0.95rem;\n line-height: 22px;\n }\n}\n');var m=function(n){var e=n.question;return p.jsx("div",{className:"question-html-wrapper",children:p.jsx("h2",{className:"question-text",dangerouslySetInnerHTML:{__html:e}})})};d('.options-container {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.option-btn {\n width: 100%;\n padding: 12px;\n border-radius: 8px;\n background: #ffffff;\n cursor: pointer;\n transition: 0.3s;\n color: #161c20;\n border: none;\n text-align: left;\n border: 1px solid #e7e7e7;\n}\n\n.option-btn:hover {\n background: #e1d8c9;\n}\n\n.option-btn.selected {\n background: #b59b7b;\n}\n\n.option-text {\n font-size: 1rem;\n font-weight: 500;\n line-height: 22px;\n letter-spacing: -0.1%;\n font-family: "Patron", sans-serif;\n}\n\n.option-image {\n max-width: 100%;\n height: auto;\n border-radius: 5px;\n}\n\n.option-code {\n background-color: #1e1e1e;\n color: white;\n padding: 8px;\n border-radius: 5px;\n}\n\n@media (max-width: 768px) {\n .option-text {\n font-size: 0.95rem;\n line-height: 21px;\n }\n\n .option-btn:hover {\n background: #b59b7b;\n }\n}\n');var h,y=function(n){var e=n.options,t=n.selectedOption,r=n.onSelect,o=n.loading;return p.jsx("div",{className:"options-container",children:e.map((function(n){return p.jsx("button",{disabled:o,className:"option-btn ".concat(t===n.id&&"selected"),onClick:function(){return r(n.id)},children:n.text&&p.jsx("span",{className:"option-text",children:n.text})},n.id)}))})};function b(){return b=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},b.apply(null,arguments)}var g=function(n){return t.createElement("svg",b({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none"},n),h||(h=t.createElement("path",{fill:"#1D1B21",d:"M8 2.5a6 6 0 1 0 6 6 6.006 6.006 0 0 0-6-6m2.854 3.854-2.5 2.5a.5.5 0 0 1-.708-.708l2.5-2.5a.5.5 0 1 1 .708.708M6 1a.5.5 0 0 1 .5-.5h3a.5.5 0 1 1 0 1h-3A.5.5 0 0 1 6 1"})))};d(".timer {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n");var v=function(e){var t=e.duration,r=e.markQuizComplete,o=e.isEndScreenOpen,i=n.useState(t),a=i[0],s=i[1],c=n.useRef(null);n.useEffect((function(){return c.current&&clearInterval(c.current),c.current=setInterval((function(){s((function(n){return n>0?n-1:0}))}),1e3),function(){c.current&&clearInterval(c.current)}}),[t]),n.useEffect((function(){0===a&&(r(),c.current&&clearInterval(c.current))}),[a,r]),n.useEffect((function(){o&&c.current&&clearInterval(c.current)}),[o]);var l,u,f;return p.jsxs("div",{className:"timer",children:[p.jsx(g,{}),p.jsx("span",{children:(l=a,u=Math.floor(l/60),f=l%60,"".concat(u,":").concat(f<10?"0":"").concat(f))})]})};d('/* Modal Background Overlay */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n}\n\n/* Modal Box */\n.modal-content {\n background: #222;\n color: #fff;\n padding: 20px;\n border-radius: 10px;\n width: 400px;\n text-align: center;\n position: relative;\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);\n}\n\n/* Close Button */\n.modal-close {\n position: absolute;\n top: 10px;\n right: 15px;\n background: none;\n border: none;\n font-size: 24px;\n color: #fff;\n cursor: pointer;\n font-family: "Patron", sans-serif;\n}\n\n/* Header */\n.modal-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-bottom: 10px;\n font-family: "Patron", sans-serif;\n}\n\n/* Warning Icon */\n.modal-icon {\n font-size: 32px;\n color: #ffcc00;\n}\n\n/* Text */\n.modal-text {\n font-size: 14px;\n color: #ccc;\n margin-bottom: 20px;\n font-family: "Patron", sans-serif;\n}\n\n/* Button */\n.modal-button {\n background: #fff;\n color: #222;\n border: none;\n padding: 10px 20px;\n border-radius: 20px;\n font-size: 14px;\n cursor: pointer;\n transition: 0.3s;\n font-family: "Patron", sans-serif;\n}\n\n.modal-button:hover {\n background: #ddd;\n}\n');var x=function(n){var e=n.open,t=n.onClose;return e?p.jsx("div",{className:"modal-overlay",children:p.jsxs("div",{className:"modal-content",children:[p.jsx("button",{className:"modal-close",onClick:t,children:"×"}),p.jsxs("div",{className:"modal-header",children:[p.jsx("span",{className:"modal-icon",children:"⚠️"}),p.jsx("h2",{children:"Tab Switch Detected"})]}),p.jsx("p",{className:"modal-text",children:"Any further attempts to switch tabs or change browser windows will result in disqualification from the assessment."}),p.jsx("button",{className:"modal-button",onClick:t,children:"Understood"})]})}):null};d('.end-screen-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #222;\n color: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n}\n\n/* Content */\n.end-screen-content {\n text-align: center;\n font-size: 20px;\n font-weight: bold;\n font-family: "Patron", sans-serif;\n}\n\n.end-screen-close {\n position: absolute;\n top: 20px;\n right: 20px;\n background: none;\n border: none;\n font-size: 24px;\n color: #fff;\n cursor: pointer;\n font-family: "Patron", sans-serif;\n}\n');var w,k,j,E=function(n){var e=n.open;return n.onClose,e?p.jsx("div",{className:"end-screen-overlay",children:p.jsx("div",{className:"end-screen-content",children:p.jsx("p",{children:"Your quiz has ended due to switching tabs too many times."})})}):null};function S(){return S=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},S.apply(null,arguments)}var z=function(n){return t.createElement("svg",S({xmlns:"http://www.w3.org/2000/svg",width:38,height:38,fill:"none"},n),w||(w=t.createElement("rect",{width:38,height:38,fill:"#151515",rx:19})),k||(k=t.createElement("g",{clipPath:"url(#downArrow_svg__a)"},t.createElement("path",{fill:"#fff",d:"M8.758 21.194c.037.14.145.36.234.492.09.136 2.138 2.222 4.556 4.636 5.035 5.03 4.594 4.655 5.452 4.655.427 0 .525-.015.727-.113.182-.094 1.18-1.06 4.725-4.594 2.47-2.465 4.546-4.57 4.612-4.678.145-.243.248-.623.248-.91 0-.454-.295-1.077-.637-1.335-.342-.263-.97-.399-1.397-.3-.534.122-.576.16-3.319 2.873-2.667 2.649-2.878 2.883-3.117 3.46-.08.201-.084-.043-.108-8.442l-.023-8.649-.127-.267a1.84 1.84 0 0 0-.796-.84c-.282-.154-.32-.159-.788-.159-.445 0-.516.015-.75.132-.464.239-.788.633-.919 1.12-.056.211-.065 1.608-.065 8.756v8.508l-.136-.281a3.7 3.7 0 0 0-.347-.563c-.117-.154-1.36-1.425-2.761-2.817-1.945-1.94-2.602-2.569-2.78-2.658-.914-.454-1.94-.13-2.376.75-.178.361-.22.83-.108 1.224"}))),j||(j=t.createElement("defs",null,t.createElement("clipPath",{id:"downArrow_svg__a"},t.createElement("path",{fill:"#fff",d:"M7 31V7h24v24z"})))))};d(".loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-spinner {\n border: 8px solid rgba(255, 255, 255, 0.2);\n border-top: 8px solid white;\n border-radius: 50%;\n width: 60px;\n height: 60px;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n");var _=function(){return p.jsx("div",{className:"loader-overlay",children:p.jsx("div",{className:"loader-spinner"})})};d('* {\n box-sizing: border-box;\n}\n\n.quiz-page {\n position: fixed;\n background: white;\n width: 100vw;\n min-height: 100dvh;\n top: 0;\n left: 0;\n z-index: 100;\n box-sizing: border-box;\n overflow-y: auto; /* ensure scrolling works */\n display: flex;\n flex-direction: column;\n}\n\n.quiz-page-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n border-radius: 16px;\n margin: 24px 16px 0px 16px;\n height: 100%;\n background: #f8f5f2; /* Same background color */\n}\n\n/* Ticker stays in a row on all devices */\n.quiz-ticker {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 20px;\n border-bottom: 1px solid #e1d8c9;\n}\n\n.quiz-ticker-right {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n padding-right: 2rem;\n}\n\n.quiz-container {\n flex-grow: 1;\n width: 100%;\n display: flex;\n flex-direction: row; /* side-by-side on desktop */\n align-items: flex-start;\n padding: 24px 56px 24px;\n border-radius: 10px;\n justify-content: space-between;\n box-sizing: border-box;\n max-width: 1600px;\n margin: 0 auto;\n max-height: 80dvh;\n overflow: auto;\n gap: 2rem;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n}\n\n.quiz-container::-webkit-scrollbar {\n display: none;\n}\n\n/* Left & Right columns on desktop */\n.quiz-left {\n width: 100%;\n max-width: 650px;\n overflow: auto;\n scrollbar-width: thin;\n scrollbar-color: #ccc transparent; /* thumb color, track color */\n}\n\n/* WebKit-based browsers (Chrome, Safari, Edge) */\n.quiz-left::-webkit-scrollbar {\n width: 6px; /* slim scrollbar */\n}\n\n.quiz-left::-webkit-scrollbar-thumb {\n background-color: #ccc; /* grey thumb */\n border-radius: 4px;\n}\n\n.quiz-left::-webkit-scrollbar-track {\n background: transparent; /* optional: transparent track */\n}\n\n.quiz-right {\n max-width: 622px;\n width: 100%;\n}\n\n.quiz-right-head {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.choose-option {\n font-size: 1rem;\n font-family: "Patron", sans-serif;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: 0.2%;\n}\n\n.question-count {\n font-size: 0.9rem;\n font-family: "Patron", sans-serif;\n color: #161c20;\n font-weight: 500;\n line-height: 1.2rem;\n}\n\n.options-container {\n display: flex;\n flex-direction: column;\n gap: 18px;\n margin-top: 12px;\n}\n\n.mobile-next-btn {\n display: none;\n}\n\n/* Button Styles */\n.prev-btn,\n.next-btn {\n padding: 10px 54px;\n background: #000000;\n color: #ffffff;\n border: none;\n border-radius: 24px;\n cursor: pointer;\n transition: 0.3s;\n font-size: 0.9rem;\n font-weight: 500;\n font-family: "Patron", sans-serif;\n line-height: 21px;\n}\n\n.prev-btn {\n background: #5d4037;\n}\n\n.next-btn:disabled {\n background: #d7ccc8;\n cursor: not-allowed;\n}\n\n.scroll-down-btn {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 999;\n border: none;\n border-radius: 50%;\n padding: 4px;\n cursor: pointer;\n font-size: 20px;\n transition: background 0.3s;\n}\n\n.bounce {\n animation: bounce 1.6s infinite;\n}\n\n@keyframes bounce {\n 0%,\n 20%,\n 50%,\n 80%,\n 100% {\n transform: translateY(0px);\n }\n 40% {\n transform: translateY(-4px);\n }\n 60% {\n transform: translateY(-2px);\n }\n}\n\n/* RESPONSIVE LAYOUT */\n@media (max-width: 768px) {\n /* Stack quiz content vertically on mobile */\n\n .quiz-page-container {\n flex-direction: column;\n padding: 16px;\n gap: 1rem;\n overflow-y: auto;\n margin: 0;\n border-radius: 0;\n }\n\n .quiz-container {\n flex-direction: column;\n padding: 0;\n justify-content: space-between;\n }\n\n .quiz-ticker {\n padding: 3px 20px;\n }\n\n .quiz-left {\n max-height: none;\n overflow: initial;\n }\n\n .quiz-ticker-right {\n padding-right: 0px;\n }\n\n .choose-option {\n font-size: 0.95rem;\n }\n /* Keep the ticker in a row at the top (no change) */\n\n /* Fix the next button at the bottom on mobile */\n .next-btn-container {\n display: none;\n }\n\n .mobile-next-btn {\n display: block;\n position: fixed;\n left: 0;\n bottom: 0;\n margin: 0 auto;\n text-align: center;\n z-index: 101;\n width: 100%;\n padding: 12px 0;\n border-top: 1px solid #dddddd;\n background: #f8f5f2; /* Same background color */\n }\n\n .next-btn {\n padding: 12px 72px;\n }\n\n .question-count {\n font-size: 0.95rem;\n }\n .option-btn {\n font-size: 0.8rem;\n padding: 10px;\n }\n}\n\n@media (max-width: 768px) and (max-height: 800px) {\n .quiz-container {\n padding-bottom: 65px;\n }\n}\n\n@media (max-width: 768px) and (max-height: 500px) {\n .quiz-container {\n padding-bottom: 100px;\n }\n}\n');d('/* Thin (100) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-thin.woff2") format("woff2");\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n}\n\n/* Light (300) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-light.woff2") format("woff2");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n\n/* Regular (400) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-regular.woff2") format("woff2");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n/* Medium (500) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-medium.woff2") format("woff2");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n/* Bold (700) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-bold.woff2") format("woff2");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n');module.exports=function(e){var t=e.quizId,i=e.userId,a=e.tabSwitchLimit,s=e.onQuizComplete,c=e.baseURL,l=e.token,u=n.useState(!1),f=u[0],d=u[1],h=n.useState(0),b=h[0],g=h[1],w=n.useState(null),k=w[0],j=w[1],S=n.useState(null),O=S[0],N=S[1],P=n.useState(!1),R=P[0],T=P[1],q=n.useState(!1),C=q[0],L=q[1],I=n.useState(!1),D=I[0],$=I[1],F=function(e){void 0===e&&(e=3);var t=n.useState(0),r=t[0],o=t[1],i=n.useState(!1),a=i[0],s=i[1];return n.useEffect((function(){var n=function(){document.hidden&&o((function(n){return n+1}))};return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}}),[]),n.useEffect((function(){r>=e&&s(!0)}),[r,e]),{switchCount:r,isLimitReached:a}}(a),A=F.isLimitReached,B=F.switchCount,M=n.useRef([]);n.useEffect((function(){var n=function(n){return n.preventDefault()},e=function(n){return n.preventDefault()},t=function(n){return n.preventDefault()};return document.addEventListener("copy",n),document.addEventListener("cut",n),document.addEventListener("paste",n),document.addEventListener("selectstart",e),document.addEventListener("contextmenu",t),function(){document.removeEventListener("copy",n),document.removeEventListener("cut",n),document.removeEventListener("paste",n),document.removeEventListener("selectstart",e),document.removeEventListener("contextmenu",t)}}),[]),n.useEffect((function(){r(void 0,void 0,void 0,(function(){var n;return o(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,fetch("".concat(c,"/user-assessment/").concat(t,"/").concat(i,"/get-session-data"),{headers:{Authorization:"Bearer ".concat(l)}})];case 1:return[4,e.sent().json()];case 2:return n=e.sent(),N(n),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}}))}))}),[t,i]);var W=n.useRef(null),U=n.useState(!1),H=U[0],Y=U[1],V=n.useState(!1),K=V[0],J=V[1];n.useEffect((function(){if(O){var n=W.current;if(n){var e=function(){var e=n.scrollHeight>n.clientHeight,t=n.scrollTop+n.clientHeight>=n.scrollHeight-15;e?(t&&J(!0),Y(!t&&!K)):(Y(!1),J(!1))},t=requestAnimationFrame((function(){setTimeout(e,100)}));return n.addEventListener("scroll",e),window.addEventListener("resize",e),function(){cancelAnimationFrame(t),n.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}}}),[O,b,K]);if(n.useEffect((function(){B>0&&B<3&&T(!0)}),[B]),n.useEffect((function(){A&&L(!0)}),[A]),n.useEffect((function(){return function(){M.current.forEach((function(n){return clearTimeout(n)})),M.current=[]}}),[]),!O)return p.jsx(_,{});function Q(){T(!1),L(!1)}var X=O.questions,G=function(n,e,t,i){return r(void 0,void 0,void 0,(function(){return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,fetch("".concat(c,"/user-assessment/").concat(n,"/").concat(t,"/").concat(e,"/submit-answer"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(l)},body:JSON.stringify({optionIds:[i]})})];case 1:case 2:return r.sent(),[3,3];case 3:return[2]}}))}))},Z=function(){return r(void 0,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),[4,fetch("".concat(c,"/user-assessment/").concat(t,"/").concat(i,"/mark-quiz-complete"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(l)}})];case 1:return n.sent().ok?(d(!0),[4,s()]):[3,3];case 2:return n.sent(),[3,3];case 3:return[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}}))}))},nn=function(){return r(void 0,void 0,void 0,(function(){var n;return o(this,(function(e){switch(e.label){case 0:if(!k)return[2];$(!0),e.label=1;case 1:return e.trys.push([1,,6,7]),[4,G(t,X[b].id,i,k)];case 2:return e.sent(),b!==X.length-1?[3,4]:[4,Z()];case 3:return e.sent(),[3,5];case 4:j(null),n=null===window||void 0===window?void 0:window.setTimeout((function(){g((function(n){return n+1}));var n=window.setTimeout((function(){J(!1)}),150);M.current.push(n)}),300),M.current.push(n),e.label=5;case 5:return[3,7];case 6:return n=null===window||void 0===window?void 0:window.setTimeout((function(){$(!1)}),300),M.current.push(n),[7];case 7:return[2]}}))}))};function en(){return D?"Submitting":b===X.length-1?"Submit":"Next"}return f?null:p.jsxs("div",{className:"quiz-page",children:[p.jsxs("div",{className:"quiz-page-container",children:[p.jsxs("div",{className:"quiz-ticker",children:[p.jsxs("h3",{className:"question-count",children:["Questions: ",b+1,"/",X.length]}),p.jsx("div",{className:"quiz-ticker-right",children:p.jsx(v,{markQuizComplete:Z,duration:O.duration,isEndScreenOpen:C})})]}),p.jsxs("div",{className:"quiz-container",ref:W,children:[p.jsx("div",{className:"quiz-left",children:p.jsx(m,{question:X[b].text})}),p.jsxs("div",{className:"quiz-right",children:[p.jsxs("div",{className:"quiz-right-head",children:[p.jsx("h3",{className:"choose-option",children:"Choose the right option"}),p.jsx("div",{className:"next-btn-container",children:p.jsx("button",{className:"next-btn",disabled:!k||D,onClick:nn,children:en()})}),p.jsx("div",{className:"mobile-next-btn",children:p.jsx("button",{className:"next-btn",disabled:!k||D,onClick:nn,children:en()})})]}),p.jsx(y,{loading:D,options:X[b].options,selectedOption:k,onSelect:j})]})]})]}),p.jsx(x,{open:R,onClose:Q}),p.jsx(E,{open:C,onClose:Q}),H&&p.jsx("button",{className:"scroll-down-btn bounce",onClick:function(){var n=W.current;n&&(n.scrollTo({top:n.scrollHeight+10,behavior:"smooth"}),J(!0),Y(!1))},children:p.jsx(z,{})})]})};
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -8,4 +8,3 @@ import*as n from"react";import e,{useState as t,useRef as r,useEffect as o}from"
|
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/function d(){return u||(u=1,"production"!==process.env.NODE_ENV&&function(){var n=e,t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.for("react.offscreen"),y=Symbol.iterator;var b=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r<e;r++)t[r-1]=arguments[r];!function(n,e,t){var r=b.ReactDebugCurrentFrame,o=r.getStackAddendum();""!==o&&(e+="%s",t=t.concat([o]));var i=t.map((function(n){return String(n)}));i.unshift("Warning: "+e),Function.prototype.apply.call(console[n],console,i)}("error",n,t)}var v;function x(n){return n.displayName||"Context"}function w(n){if(null==n)return null;if("number"==typeof n.tag&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof n)return n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case o:return"Fragment";case r:return"Portal";case a:return"Profiler";case i:return"StrictMode";case u:return"Suspense";case f:return"SuspenseList"}if("object"==typeof n)switch(n.$$typeof){case c:return x(n)+".Consumer";case s:return x(n._context)+".Provider";case l:return function(n,e,t){var r=n.displayName;if(r)return r;var o=e.displayName||e.name||"";return""!==o?t+"("+o+")":t}(n,n.render,"ForwardRef");case d:var e=n.displayName||null;return null!==e?e:w(n.type)||"Memo";case m:var t=n,p=t._payload,h=t._init;try{return w(h(p))}catch(n){return null}}return null}v=Symbol.for("react.module.reference");var k,j,E,_,z,S,O,N=Object.assign,P=0;function T(){}T.__reactDisabledLog=!0;var q,R=b.ReactCurrentDispatcher;function C(n,e,t){if(void 0===q)try{throw Error()}catch(n){var r=n.stack.trim().match(/\n( *(at )?)/);q=r&&r[1]||""}return"\n"+q+n}var L,I=!1,$="function"==typeof WeakMap?WeakMap:Map;function D(n,e){if(!n||I)return"";var t,r=L.get(n);if(void 0!==r)return r;I=!0;var o,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,o=R.current,R.current=null,function(){if(0===P){k=console.log,j=console.info,E=console.warn,_=console.error,z=console.group,S=console.groupCollapsed,O=console.groupEnd;var n={configurable:!0,enumerable:!0,value:T,writable:!0};Object.defineProperties(console,{info:n,log:n,warn:n,error:n,group:n,groupCollapsed:n,groupEnd:n})}P++}();try{if(e){var a=function(){throw Error()};if(Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(a,[])}catch(n){t=n}Reflect.construct(n,[],a)}else{try{a.call()}catch(n){t=n}n.call(a.prototype)}}else{try{throw Error()}catch(n){t=n}n()}}catch(e){if(e&&t&&"string"==typeof e.stack){for(var s=e.stack.split("\n"),c=t.stack.split("\n"),l=s.length-1,u=c.length-1;l>=1&&u>=0&&s[l]!==c[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==c[u]){if(1!==l||1!==u)do{if(l--,--u<0||s[l]!==c[u]){var f="\n"+s[l].replace(" at new "," at ");return n.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",n.displayName)),"function"==typeof n&&L.set(n,f),f}}while(l>=1&&u>=0);break}}}finally{I=!1,R.current=o,function(){if(0==--P){var n={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:N({},n,{value:k}),info:N({},n,{value:j}),warn:N({},n,{value:E}),error:N({},n,{value:_}),group:N({},n,{value:z}),groupCollapsed:N({},n,{value:S}),groupEnd:N({},n,{value:O})})}P<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var p=n?n.displayName||n.name:"",d=p?C(p):"";return"function"==typeof n&&L.set(n,d),d}function F(n,e,t){if(null==n)return"";if("function"==typeof n)return D(n,!(!(r=n.prototype)||!r.isReactComponent));var r;if("string"==typeof n)return C(n);switch(n){case u:return C("Suspense");case f:return C("SuspenseList")}if("object"==typeof n)switch(n.$$typeof){case l:return D(n.render,!1);case d:return F(n.type,e,t);case m:var o=n,i=o._payload,a=o._init;try{return F(a(i),e,t)}catch(n){}}return""}L=new $;var A=Object.prototype.hasOwnProperty,B={},M=b.ReactDebugCurrentFrame;function W(n){if(n){var e=n._owner,t=F(n.type,n._source,e?e.type:null);M.setExtraStackFrame(t)}else M.setExtraStackFrame(null)}var U=Array.isArray;function H(n){return U(n)}function Y(n){return""+n}function V(n){if(function(n){try{return Y(n),!1}catch(n){return!0}}(n))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(n){return"function"==typeof Symbol&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object"}(n)),Y(n)}var K,J,Q=b.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};function G(n,e,r,o,i){var a,s={},c=null,l=null;for(a in void 0!==r&&(V(r),c=""+r),function(n){if(A.call(n,"key")){var e=Object.getOwnPropertyDescriptor(n,"key").get;if(e&&e.isReactWarning)return!1}return void 0!==n.key}(e)&&(V(e.key),c=""+e.key),function(n){if(A.call(n,"ref")){var e=Object.getOwnPropertyDescriptor(n,"ref").get;if(e&&e.isReactWarning)return!1}return void 0!==n.ref}(e)&&(l=e.ref,function(n){"string"==typeof n.ref&&Q.current}(e)),e)A.call(e,a)&&!X.hasOwnProperty(a)&&(s[a]=e[a]);if(n&&n.defaultProps){var u=n.defaultProps;for(a in u)void 0===s[a]&&(s[a]=u[a])}if(c||l){var f="function"==typeof n?n.displayName||n.name||"Unknown":n;c&&function(n,e){var t=function(){K||(K=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};t.isReactWarning=!0,Object.defineProperty(n,"key",{get:t,configurable:!0})}(s,f),l&&function(n,e){var t=function(){J||(J=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};t.isReactWarning=!0,Object.defineProperty(n,"ref",{get:t,configurable:!0})}(s,f)}return function(n,e,r,o,i,a,s){var c={$$typeof:t,type:n,key:e,ref:r,props:s,_owner:a,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}(n,c,l,i,o,Q.current,s)}var Z,nn=b.ReactCurrentOwner,en=b.ReactDebugCurrentFrame;function tn(n){if(n){var e=n._owner,t=F(n.type,n._source,e?e.type:null);en.setExtraStackFrame(t)}else en.setExtraStackFrame(null)}function rn(n){return"object"==typeof n&&null!==n&&n.$$typeof===t}function on(){if(nn.current){var n=w(nn.current.type);if(n)return"\n\nCheck the render method of `"+n+"`."}return""}Z=!1;var an={};function sn(n,e){if(n._store&&!n._store.validated&&null==n.key){n._store.validated=!0;var t=function(n){var e=on();if(!e){var t="string"==typeof n?n:n.displayName||n.name;t&&(e="\n\nCheck the top-level render call using <"+t+">.")}return e}(e);if(!an[t]){an[t]=!0;var r="";n&&n._owner&&n._owner!==nn.current&&(r=" It was passed a child from "+w(n._owner.type)+"."),tn(n),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,r),tn(null)}}}function cn(n,e){if("object"==typeof n)if(H(n))for(var t=0;t<n.length;t++){var r=n[t];rn(r)&&sn(r,e)}else if(rn(n))n._store&&(n._store.validated=!0);else if(n){var o=function(n){if(null===n||"object"!=typeof n)return null;var e=y&&n[y]||n["@@iterator"];return"function"==typeof e?e:null}(n);if("function"==typeof o&&o!==n.entries)for(var i,a=o.call(n);!(i=a.next()).done;)rn(i.value)&&sn(i.value,e)}}function ln(n){var e,t=n.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)e=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==l&&t.$$typeof!==d)return;e=t.propTypes}if(e){var r=w(t);!function(n,e,t,r,o){var i=Function.call.bind(A);for(var a in n)if(i(n,a)){var s=void 0;try{if("function"!=typeof n[a]){var c=Error((r||"React class")+": "+t+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof n[a]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}s=n[a](e,a,r,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(n){s=n}!s||s instanceof Error||(W(o),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",t,a,typeof s),W(null)),s instanceof Error&&!(s.message in B)&&(B[s.message]=!0,W(o),g("Failed %s type: %s",t,s.message),W(null))}}(e,n.props,"prop",r,n)}else if(void 0!==t.PropTypes&&!Z){Z=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",w(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var un={};function fn(n,e,r,p,y,b){var x=function(n){return"string"==typeof n||"function"==typeof n||n===o||n===a||n===i||n===u||n===f||n===h||"object"==typeof n&&null!==n&&(n.$$typeof===m||n.$$typeof===d||n.$$typeof===s||n.$$typeof===c||n.$$typeof===l||n.$$typeof===v||void 0!==n.getModuleId)}(n);if(!x){var k="";(void 0===n||"object"==typeof n&&null!==n&&0===Object.keys(n).length)&&(k+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var j;k+=on(),null===n?j="null":H(n)?j="array":void 0!==n&&n.$$typeof===t?(j="<"+(w(n.type)||"Unknown")+" />",k=" Did you accidentally export a JSX literal instead of a component?"):j=typeof n,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",j,k)}var E=G(n,e,r,y,b);if(null==E)return E;if(x){var _=e.children;if(void 0!==_)if(p)if(H(_)){for(var z=0;z<_.length;z++)cn(_[z],n);Object.freeze&&Object.freeze(_)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else cn(_,n)}if(A.call(e,"key")){var S=w(n),O=Object.keys(e).filter((function(n){return"key"!==n})),N=O.length>0?"{key: someKey, "+O.join(": ..., ")+": ...}":"{key: someKey}";if(!un[S+N])g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',N,S,O.length>0?"{"+O.join(": ..., ")+": ...}":"{}",S),un[S+N]=!0}return n===o?function(n){for(var e=Object.keys(n.props),t=0;t<e.length;t++){var r=e[t];if("children"!==r&&"key"!==r){tn(n),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),tn(null);break}}null!==n.ref&&(tn(n),g("Invalid attribute `ref` supplied to `React.Fragment`."),tn(null))}(E):ln(E),E}var pn=function(n,e,t){return fn(n,e,t,!1)},dn=function(n,e,t){return fn(n,e,t,!0)};p.Fragment=o,p.jsx=pn,p.jsxs=dn}()),p}var m=(f||(f=1,"production"===process.env.NODE_ENV?c.exports=function(){if(s)return l;s=1;var n=e,t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function c(n,e,r){var s,c={},l=null,u=null;for(s in void 0!==r&&(l=""+r),void 0!==e.key&&(l=""+e.key),void 0!==e.ref&&(u=e.ref),e)o.call(e,s)&&!a.hasOwnProperty(s)&&(c[s]=e[s]);if(n&&n.defaultProps)for(s in e=n.defaultProps)void 0===c[s]&&(c[s]=e[s]);return{$$typeof:t,type:n,key:l,ref:u,props:c,_owner:i.current}}return l.Fragment=r,l.jsx=c,l.jsxs=c,l}():c.exports=d()),c.exports);function h(n,e){void 0===e&&(e={});var t=e.insertAt;if(n&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}h('/* .questionHtmlWrapper ul {\n list-style-type: disc;\n padding-left: 1.5rem;\n list-style-position: inside;\n}\n\n.questionHtmlWrapper ol {\n list-style-type: disc;\n padding-left: 1.5rem;\n list-style-position: inside;\n} */\n\n.question-text {\n font-size: 1.15rem;\n font-weight: 600;\n color: #161c20;\n font-family: "Patron", sans-serif;\n line-height: 25px;\n}\n\ncode {\n font-size: 0.8rem;\n font-weight: normal;\n}\n\n@media (max-width: 1320px) {\n .question-text {\n font-size: 1rem;\n }\n .questionHtmlWrapper code {\n font-size: 0.8rem;\n }\n}\n\n@media (max-width: 768px) {\n .question-text {\n font-size: 0.95rem;\n line-height: 22px;\n }\n}\n');var y=function(n){var e=n.question;return m.jsx("div",{className:"question-html-wrapper",children:m.jsx("h2",{className:"question-text",dangerouslySetInnerHTML:{__html:e}})})};h('.options-container {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.option-btn {\n width: 100%;\n padding: 12px;\n border-radius: 8px;\n background: #ffffff;\n cursor: pointer;\n transition: 0.3s;\n color: #161c20;\n border: none;\n text-align: left;\n border: 1px solid #e7e7e7;\n}\n\n.option-btn:hover {\n background: #e1d8c9;\n}\n\n.option-btn.selected {\n background: #b59b7b;\n}\n\n.option-text {\n font-size: 1rem;\n font-weight: 500;\n line-height: 22px;\n letter-spacing: -0.1%;\n font-family: "Patron", sans-serif;\n}\n\n.option-image {\n max-width: 100%;\n height: auto;\n border-radius: 5px;\n}\n\n.option-code {\n background-color: #1e1e1e;\n color: white;\n padding: 8px;\n border-radius: 5px;\n}\n\n@media (max-width: 768px) {\n .option-text {\n font-size: 0.95rem;\n line-height: 21px;\n }\n\n .option-btn:hover {\n background: #b59b7b;\n }\n}\n');var b,g=function(n){var e=n.options,t=n.selectedOption,r=n.onSelect,o=n.loading;return m.jsx("div",{className:"options-container",children:e.map((function(n){return m.jsx("button",{disabled:o,className:"option-btn ".concat(t===n.id&&"selected"),onClick:function(){return r(n.id)},children:n.text&&m.jsx("span",{className:"option-text",children:n.text})},n.id)}))})};function v(){return v=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},v.apply(null,arguments)}var x=function(e){return n.createElement("svg",v({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none"},e),b||(b=n.createElement("path",{fill:"#1D1B21",d:"M8 2.5a6 6 0 1 0 6 6 6.006 6.006 0 0 0-6-6m2.854 3.854-2.5 2.5a.5.5 0 0 1-.708-.708l2.5-2.5a.5.5 0 1 1 .708.708M6 1a.5.5 0 0 1 .5-.5h3a.5.5 0 1 1 0 1h-3A.5.5 0 0 1 6 1"})))};h(".timer {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n");var w=function(n){var e=n.duration,i=n.markQuizComplete,a=n.isEndScreenOpen,s=t(e),c=s[0],l=s[1],u=r(null);o((function(){return u.current&&clearInterval(u.current),u.current=setInterval((function(){l((function(n){return n>0?n-1:0}))}),1e3),function(){u.current&&clearInterval(u.current)}}),[e]),o((function(){0===c&&(i(),u.current&&clearInterval(u.current))}),[c,i]),o((function(){a&&u.current&&clearInterval(u.current)}),[a]);var f,p,d;return m.jsxs("div",{className:"timer",children:[m.jsx(x,{}),m.jsx("span",{children:(f=c,p=Math.floor(f/60),d=f%60,"".concat(p,":").concat(d<10?"0":"").concat(d))})]})};h('/* Modal Background Overlay */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n}\n\n/* Modal Box */\n.modal-content {\n background: #222;\n color: #fff;\n padding: 20px;\n border-radius: 10px;\n width: 400px;\n text-align: center;\n position: relative;\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);\n}\n\n/* Close Button */\n.modal-close {\n position: absolute;\n top: 10px;\n right: 15px;\n background: none;\n border: none;\n font-size: 24px;\n color: #fff;\n cursor: pointer;\n font-family: "Patron", sans-serif;\n}\n\n/* Header */\n.modal-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-bottom: 10px;\n font-family: "Patron", sans-serif;\n}\n\n/* Warning Icon */\n.modal-icon {\n font-size: 32px;\n color: #ffcc00;\n}\n\n/* Text */\n.modal-text {\n font-size: 14px;\n color: #ccc;\n margin-bottom: 20px;\n font-family: "Patron", sans-serif;\n}\n\n/* Button */\n.modal-button {\n background: #fff;\n color: #222;\n border: none;\n padding: 10px 20px;\n border-radius: 20px;\n font-size: 14px;\n cursor: pointer;\n transition: 0.3s;\n font-family: "Patron", sans-serif;\n}\n\n.modal-button:hover {\n background: #ddd;\n}\n');var k=function(n){var e=n.open,t=n.onClose;return e?m.jsx("div",{className:"modal-overlay",children:m.jsxs("div",{className:"modal-content",children:[m.jsx("button",{className:"modal-close",onClick:t,children:"×"}),m.jsxs("div",{className:"modal-header",children:[m.jsx("span",{className:"modal-icon",children:"⚠️"}),m.jsx("h2",{children:"Tab Switch Detected"})]}),m.jsx("p",{className:"modal-text",children:"Any further attempts to switch tabs or change browser windows will result in disqualification from the assessment."}),m.jsx("button",{className:"modal-button",onClick:t,children:"Understood"})]})}):null};h('.end-screen-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #222;\n color: #fff;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n}\n\n/* Content */\n.end-screen-content {\n text-align: center;\n font-size: 20px;\n font-weight: bold;\n font-family: "Patron", sans-serif;\n}\n\n.end-screen-close {\n position: absolute;\n top: 20px;\n right: 20px;\n background: none;\n border: none;\n font-size: 24px;\n color: #fff;\n cursor: pointer;\n font-family: "Patron", sans-serif;\n}\n');var j,E,_,z=function(n){var e=n.open;return n.onClose,e?m.jsx("div",{className:"end-screen-overlay",children:m.jsx("div",{className:"end-screen-content",children:m.jsx("p",{children:"Your quiz has ended due to switching tabs too many times."})})}):null};function S(){return S=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},S.apply(null,arguments)}var O=function(e){return n.createElement("svg",S({xmlns:"http://www.w3.org/2000/svg",width:38,height:38,fill:"none"},e),j||(j=n.createElement("rect",{width:38,height:38,fill:"#151515",rx:19})),E||(E=n.createElement("g",{clipPath:"url(#downArrow_svg__a)"},n.createElement("path",{fill:"#fff",d:"M8.758 21.194c.037.14.145.36.234.492.09.136 2.138 2.222 4.556 4.636 5.035 5.03 4.594 4.655 5.452 4.655.427 0 .525-.015.727-.113.182-.094 1.18-1.06 4.725-4.594 2.47-2.465 4.546-4.57 4.612-4.678.145-.243.248-.623.248-.91 0-.454-.295-1.077-.637-1.335-.342-.263-.97-.399-1.397-.3-.534.122-.576.16-3.319 2.873-2.667 2.649-2.878 2.883-3.117 3.46-.08.201-.084-.043-.108-8.442l-.023-8.649-.127-.267a1.84 1.84 0 0 0-.796-.84c-.282-.154-.32-.159-.788-.159-.445 0-.516.015-.75.132-.464.239-.788.633-.919 1.12-.056.211-.065 1.608-.065 8.756v8.508l-.136-.281a3.7 3.7 0 0 0-.347-.563c-.117-.154-1.36-1.425-2.761-2.817-1.945-1.94-2.602-2.569-2.78-2.658-.914-.454-1.94-.13-2.376.75-.178.361-.22.83-.108 1.224"}))),_||(_=n.createElement("defs",null,n.createElement("clipPath",{id:"downArrow_svg__a"},n.createElement("path",{fill:"#fff",d:"M7 31V7h24v24z"})))))};h(".loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-spinner {\n border: 8px solid rgba(255, 255, 255, 0.2);\n border-top: 8px solid white;\n border-radius: 50%;\n width: 60px;\n height: 60px;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n");var N=function(){return m.jsx("div",{className:"loader-overlay",children:m.jsx("div",{className:"loader-spinner"})})};h('* {\n box-sizing: border-box;\n}\n\n.quiz-page {\n position: fixed;\n background: white;\n width: 100vw;\n min-height: 100dvh;\n top: 0;\n left: 0;\n z-index: 100;\n box-sizing: border-box;\n overflow-y: auto; /* ensure scrolling works */\n display: flex;\n flex-direction: column;\n}\n\n.quiz-page-container {\n flex: 1;\n display: flex;\n flex-direction: column;\n border-radius: 16px;\n margin: 24px 16px 0px 16px;\n height: 100%;\n background: #f8f5f2; /* Same background color */\n}\n\n/* Ticker stays in a row on all devices */\n.quiz-ticker {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 20px;\n border-bottom: 1px solid #e1d8c9;\n}\n\n.quiz-ticker-right {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2rem;\n padding-right: 2rem;\n}\n\n.quiz-container {\n flex-grow: 1;\n width: 100%;\n display: flex;\n flex-direction: row; /* side-by-side on desktop */\n align-items: flex-start;\n padding: 24px 56px 24px;\n border-radius: 10px;\n justify-content: space-between;\n box-sizing: border-box;\n max-width: 1600px;\n margin: 0 auto;\n max-height: 80dvh;\n overflow: auto;\n gap: 2rem;\n scrollbar-width: none; /* Firefox */\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n}\n\n.quiz-container::-webkit-scrollbar {\n display: none;\n}\n\n/* Left & Right columns on desktop */\n.quiz-left {\n width: 100%;\n max-width: 650px;\n overflow: auto;\n scrollbar-width: thin;\n scrollbar-color: #ccc transparent; /* thumb color, track color */\n}\n\n/* WebKit-based browsers (Chrome, Safari, Edge) */\n.quiz-left::-webkit-scrollbar {\n width: 6px; /* slim scrollbar */\n}\n\n.quiz-left::-webkit-scrollbar-thumb {\n background-color: #ccc; /* grey thumb */\n border-radius: 4px;\n}\n\n.quiz-left::-webkit-scrollbar-track {\n background: transparent; /* optional: transparent track */\n}\n\n.quiz-right {\n max-width: 622px;\n width: 100%;\n}\n\n.quiz-right-head {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.choose-option {\n font-size: 1rem;\n font-family: "Patron", sans-serif;\n font-weight: 500;\n line-height: 32px;\n letter-spacing: 0.2%;\n}\n\n.question-count {\n font-size: 0.9rem;\n font-family: "Patron", sans-serif;\n color: #161c20;\n font-weight: 500;\n line-height: 1.2rem;\n}\n\n.options-container {\n display: flex;\n flex-direction: column;\n gap: 18px;\n margin-top: 12px;\n}\n\n.mobile-next-btn {\n display: none;\n}\n\n/* Button Styles */\n.prev-btn,\n.next-btn {\n padding: 10px 54px;\n background: #000000;\n color: #ffffff;\n border: none;\n border-radius: 24px;\n cursor: pointer;\n transition: 0.3s;\n font-size: 0.9rem;\n font-weight: 500;\n font-family: "Patron", sans-serif;\n line-height: 21px;\n}\n\n.prev-btn {\n background: #5d4037;\n}\n\n.next-btn:disabled {\n background: #d7ccc8;\n cursor: not-allowed;\n}\n\n.scroll-down-btn {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 999;\n border: none;\n border-radius: 50%;\n padding: 4px;\n cursor: pointer;\n font-size: 20px;\n transition: background 0.3s;\n}\n\n.bounce {\n animation: bounce 1.6s infinite;\n}\n\n@keyframes bounce {\n 0%,\n 20%,\n 50%,\n 80%,\n 100% {\n transform: translateY(0px);\n }\n 40% {\n transform: translateY(-4px);\n }\n 60% {\n transform: translateY(-2px);\n }\n}\n\n/* RESPONSIVE LAYOUT */\n@media (max-width: 768px) {\n /* Stack quiz content vertically on mobile */\n\n .quiz-page-container {\n flex-direction: column;\n padding: 16px;\n gap: 1rem;\n overflow-y: auto;\n margin: 0;\n border-radius: 0;\n }\n\n .quiz-container {\n flex-direction: column;\n padding: 0;\n justify-content: space-between;\n }\n\n .quiz-ticker {\n padding: 3px 20px;\n }\n\n .quiz-left {\n max-height: none;\n overflow: initial;\n }\n\n .quiz-ticker-right {\n padding-right: 0px;\n }\n\n .choose-option {\n font-size: 0.95rem;\n }\n /* Keep the ticker in a row at the top (no change) */\n\n /* Fix the next button at the bottom on mobile */\n .next-btn-container {\n display: none;\n }\n\n .mobile-next-btn {\n display: block;\n position: fixed;\n left: 0;\n bottom: 0;\n margin: 0 auto;\n text-align: center;\n z-index: 101;\n width: 100%;\n padding: 12px 0;\n border-top: 1px solid #dddddd;\n background: #f8f5f2; /* Same background color */\n }\n\n .next-btn {\n padding: 12px 72px;\n }\n\n .question-count {\n font-size: 0.95rem;\n }\n .option-btn {\n font-size: 0.8rem;\n padding: 10px;\n }\n}\n\n@media (max-width: 768px) and (max-height: 800px) {\n .quiz-container {\n padding-bottom: 65px;\n }\n}\n\n@media (max-width: 768px) and (max-height: 500px) {\n .quiz-container {\n padding-bottom: 100px;\n }\n}\n');h('/* Thin (100) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-thin.woff2") format("woff2");\n font-weight: 100;\n font-style: normal;\n font-display: swap;\n}\n\n/* Light (300) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-light.woff2") format("woff2");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n}\n\n/* Regular (400) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-regular.woff2") format("woff2");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n\n/* Medium (500) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-medium.woff2") format("woff2");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n\n/* Bold (700) */\n@font-face {\n font-family: "Patron";\n src: url("../assets/fonts/patron/patron-bold.woff2") format("woff2");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n}\n');var P=function(n){var e=n.quizId,s=n.userId,c=n.tabSwitchLimit,l=n.onQuizComplete,u=n.baseURL,f=n.token,p=t(!1),d=p[0],h=p[1],b=t(0),v=b[0],x=b[1],j=t(null),E=j[0],_=j[1],S=t(null),P=S[0],T=S[1],q=t(!1),R=q[0],C=q[1],L=t(!1),I=L[0],$=L[1],D=t(!1),F=D[0],A=D[1],B=function(n){void 0===n&&(n=3);var e=t(0),r=e[0],i=e[1],a=t(!1),s=a[0],c=a[1];return o((function(){var n=function(){document.hidden&&i((function(n){return n+1}))};return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}}),[]),o((function(){r>=n&&c(!0)}),[r,n]),{switchCount:r,isLimitReached:s}}(c),M=B.isLimitReached,W=B.switchCount,U=r([]);o((function(){var n=function(n){return n.preventDefault()},e=function(n){return n.preventDefault()},t=function(n){return n.preventDefault()};return document.addEventListener("copy",n),document.addEventListener("cut",n),document.addEventListener("paste",n),document.addEventListener("selectstart",e),document.addEventListener("contextmenu",t),function(){document.removeEventListener("copy",n),document.removeEventListener("cut",n),document.removeEventListener("paste",n),document.removeEventListener("selectstart",e),document.removeEventListener("contextmenu",t)}}),[]),o((function(){i(void 0,void 0,void 0,(function(){var n;return a(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch("".concat(u,"/user-assessment/").concat(e,"/").concat(s,"/get-session-data"),{headers:{Authorization:"Bearer ".concat(f)}})];case 1:return[4,t.sent().json()];case 2:return n=t.sent(),T(n),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}}))}))}),[e,s]);var H=r(null),Y=t(!1),V=Y[0],K=Y[1],J=t(!1),Q=J[0],X=J[1];o((function(){if(P){var n=H.current;if(n){var e=function(){var e=n.scrollHeight>n.clientHeight,t=n.scrollTop+n.clientHeight>=n.scrollHeight-15;e?(t&&X(!0),K(!t&&!Q)):(K(!1),X(!1))},t=requestAnimationFrame((function(){setTimeout(e,100)}));return n.addEventListener("scroll",e),window.addEventListener("resize",e),function(){cancelAnimationFrame(t),n.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}}}),[P,v,Q]);if(o((function(){W>0&&W<3&&C(!0)}),[W]),o((function(){M&&$(!0)}),[M]),o((function(){return function(){U.current.forEach((function(n){return clearTimeout(n)})),U.current=[]}}),[]),!P)return m.jsx(N,{});function G(){C(!1),$(!1)}var Z=P.questions,nn=function(n,e,t,r){return i(void 0,void 0,void 0,(function(){return a(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,fetch("".concat(u,"/user-assessment/").concat(n,"/").concat(t,"/").concat(e,"/submit-answer"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(f)},body:JSON.stringify({optionIds:[r]})})];case 1:case 2:return o.sent(),[3,3];case 3:return[2]}}))}))},en=function(){return i(void 0,void 0,void 0,(function(){return a(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),[4,fetch("".concat(u,"/user-assessment/").concat(e,"/").concat(s,"/mark-quiz-complete"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(f)}})];case 1:return n.sent().ok?(h(!0),[4,l()]):[3,3];case 2:return n.sent(),[3,3];case 3:return[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}}))}))},tn=function(){return i(void 0,void 0,void 0,(function(){var n;return a(this,(function(t){switch(t.label){case 0:if(!E)return[2];A(!0),t.label=1;case 1:return t.trys.push([1,,6,7]),[4,nn(e,Z[v].id,s,E)];case 2:return t.sent(),v!==Z.length-1?[3,4]:[4,en()];case 3:return t.sent(),[3,5];case 4:_(null),n=null===window||void 0===window?void 0:window.setTimeout((function(){x((function(n){return n+1}));var n=window.setTimeout((function(){X(!1)}),150);U.current.push(n)}),300),U.current.push(n),t.label=5;case 5:return[3,7];case 6:return n=null===window||void 0===window?void 0:window.setTimeout((function(){A(!1)}),300),U.current.push(n),[7];case 7:return[2]}}))}))};function rn(){return F?"Submitting":v===Z.length-1?"Submit":"Next"}return d?null:m.jsxs("div",{className:"quiz-page",children:[m.jsxs("div",{className:"quiz-page-container",children:[m.jsxs("div",{className:"quiz-ticker",children:[m.jsxs("h3",{className:"question-count",children:["Questions: ",v+1,"/",Z.length]}),m.jsx("div",{className:"quiz-ticker-right",children:m.jsx(w,{markQuizComplete:en,duration:P.duration,isEndScreenOpen:I})})]}),m.jsxs("div",{className:"quiz-container",ref:H,children:[m.jsx("div",{className:"quiz-left",children:m.jsx(y,{question:Z[v].text})}),m.jsxs("div",{className:"quiz-right",children:[m.jsxs("div",{className:"quiz-right-head",children:[m.jsx("h3",{className:"choose-option",children:"Choose the right option"}),m.jsx("div",{className:"next-btn-container",children:m.jsx("button",{className:"next-btn",disabled:!E||F,onClick:tn,children:rn()})}),m.jsx("div",{className:"mobile-next-btn",children:m.jsx("button",{className:"next-btn",disabled:!E||F,onClick:tn,children:rn()})})]}),m.jsx(g,{loading:F,options:Z[v].options,selectedOption:E,onSelect:_})]})]})]}),m.jsx(k,{open:R,onClose:G}),m.jsx(z,{open:I,onClose:G}),V&&m.jsx("button",{className:"scroll-down-btn bounce",onClick:function(){var n=H.current;n&&(n.scrollTo({top:n.scrollHeight+10,behavior:"smooth"}),X(!0),K(!1))},children:m.jsx(O,{})})]})};export{P as default};
|
|
11
|
-
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wizr-quiz",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/"
|
|
9
|
+
],
|
|
7
10
|
"scripts": {
|
|
8
11
|
"build": "rollup -c --bundleConfigAsCjs"
|
|
9
12
|
},
|
|
10
|
-
"keywords": [
|
|
11
|
-
|
|
13
|
+
"keywords": [
|
|
14
|
+
"react",
|
|
15
|
+
"quiz",
|
|
16
|
+
"typescript",
|
|
17
|
+
"sdk"
|
|
18
|
+
],
|
|
19
|
+
"author": "Wizr",
|
|
12
20
|
"license": "ISC",
|
|
13
|
-
"description": "",
|
|
21
|
+
"description": "A React SDK for creating interactive quizzes",
|
|
14
22
|
"devDependencies": {
|
|
15
23
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
16
24
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var resolve = require('@rollup/plugin-node-resolve');
|
|
6
|
-
var commonjs = require('@rollup/plugin-commonjs');
|
|
7
|
-
var typescript = require('@rollup/plugin-typescript');
|
|
8
|
-
var dts = require('rollup-plugin-dts');
|
|
9
|
-
var terser = require('@rollup/plugin-terser');
|
|
10
|
-
var peerDepsExternal = require('rollup-plugin-peer-deps-external');
|
|
11
|
-
var svgr = require('@svgr/rollup');
|
|
12
|
-
var postcss = require('rollup-plugin-postcss');
|
|
13
|
-
|
|
14
|
-
const packageJson = require("./package.json");
|
|
15
|
-
|
|
16
|
-
var rollup_config = [
|
|
17
|
-
{
|
|
18
|
-
input: "src/index.ts",
|
|
19
|
-
output: [
|
|
20
|
-
{
|
|
21
|
-
file: packageJson.main,
|
|
22
|
-
format: "cjs",
|
|
23
|
-
sourcemap: true,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
file: packageJson.module,
|
|
27
|
-
format: "esm",
|
|
28
|
-
sourcemap: true,
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
plugins: [
|
|
32
|
-
peerDepsExternal(),
|
|
33
|
-
resolve(),
|
|
34
|
-
commonjs(),
|
|
35
|
-
typescript({ tsconfig: "./tsconfig.json" }),
|
|
36
|
-
terser(),
|
|
37
|
-
svgr(),
|
|
38
|
-
postcss(),
|
|
39
|
-
],
|
|
40
|
-
external: ["react", "react-dom"],
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
input: "src/index.ts",
|
|
44
|
-
output: [{ file: packageJson.types }],
|
|
45
|
-
plugins: [dts.default()],
|
|
46
|
-
external: [/\.css$/],
|
|
47
|
-
},
|
|
48
|
-
];
|
|
49
|
-
|
|
50
|
-
exports.default = rollup_config;
|
package/rollup.config.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import resolve from "@rollup/plugin-node-resolve";
|
|
2
|
-
import commonjs from "@rollup/plugin-commonjs";
|
|
3
|
-
import typescript from "@rollup/plugin-typescript";
|
|
4
|
-
import dts from "rollup-plugin-dts";
|
|
5
|
-
import terser from "@rollup/plugin-terser";
|
|
6
|
-
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
|
7
|
-
import svgr from "@svgr/rollup";
|
|
8
|
-
|
|
9
|
-
import postcss from "rollup-plugin-postcss";
|
|
10
|
-
|
|
11
|
-
const packageJson = require("./package.json");
|
|
12
|
-
|
|
13
|
-
export default [
|
|
14
|
-
{
|
|
15
|
-
input: "src/index.ts",
|
|
16
|
-
output: [
|
|
17
|
-
{
|
|
18
|
-
file: packageJson.main,
|
|
19
|
-
format: "cjs",
|
|
20
|
-
sourcemap: true,
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
file: packageJson.module,
|
|
24
|
-
format: "esm",
|
|
25
|
-
sourcemap: true,
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
plugins: [
|
|
29
|
-
peerDepsExternal(),
|
|
30
|
-
resolve(),
|
|
31
|
-
commonjs(),
|
|
32
|
-
typescript({ tsconfig: "./tsconfig.json" }),
|
|
33
|
-
terser(),
|
|
34
|
-
svgr(),
|
|
35
|
-
postcss(),
|
|
36
|
-
],
|
|
37
|
-
external: ["react", "react-dom"],
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
input: "src/index.ts",
|
|
41
|
-
output: [{ file: packageJson.types }],
|
|
42
|
-
plugins: [dts.default()],
|
|
43
|
-
external: [/\.css$/],
|
|
44
|
-
},
|
|
45
|
-
];
|
package/src/assets/Timer.svg
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M8 2.5C6.81331 2.5 5.65328 2.85189 4.66658 3.51118C3.67989 4.17047 2.91085 5.10754 2.45673 6.2039C2.0026 7.30026 1.88378 8.50665 2.11529 9.67054C2.3468 10.8344 2.91825 11.9035 3.75736 12.7426C4.59648 13.5818 5.66558 14.1532 6.82946 14.3847C7.99335 14.6162 9.19975 14.4974 10.2961 14.0433C11.3925 13.5892 12.3295 12.8201 12.9888 11.8334C13.6481 10.8467 14 9.68669 14 8.5C13.9982 6.90926 13.3655 5.38419 12.2406 4.25937C11.1158 3.13454 9.59074 2.50182 8 2.5ZM10.8538 6.35375L8.35375 8.85375C8.3073 8.9002 8.25215 8.93705 8.19145 8.9622C8.13075 8.98734 8.0657 9.00028 8 9.00028C7.93431 9.00028 7.86925 8.98734 7.80855 8.9622C7.74786 8.93705 7.69271 8.9002 7.64625 8.85375C7.5998 8.80729 7.56295 8.75214 7.53781 8.69145C7.51266 8.63075 7.49972 8.5657 7.49972 8.5C7.49972 8.4343 7.51266 8.36925 7.53781 8.30855C7.56295 8.24785 7.5998 8.1927 7.64625 8.14625L10.1463 5.64625C10.1927 5.59979 10.2479 5.56294 10.3086 5.5378C10.3693 5.51266 10.4343 5.49972 10.5 5.49972C10.5657 5.49972 10.6308 5.51266 10.6915 5.5378C10.7521 5.56294 10.8073 5.59979 10.8538 5.64625C10.9002 5.6927 10.9371 5.74786 10.9622 5.80855C10.9873 5.86925 11.0003 5.9343 11.0003 6C11.0003 6.0657 10.9873 6.13075 10.9622 6.19145C10.9371 6.25214 10.9002 6.30729 10.8538 6.35375ZM6 1C6 0.867392 6.05268 0.740215 6.14645 0.646447C6.24022 0.552678 6.36739 0.5 6.5 0.5H9.5C9.63261 0.5 9.75979 0.552678 9.85356 0.646447C9.94732 0.740215 10 0.867392 10 1C10 1.13261 9.94732 1.25979 9.85356 1.35355C9.75979 1.44732 9.63261 1.5 9.5 1.5H6.5C6.36739 1.5 6.24022 1.44732 6.14645 1.35355C6.05268 1.25979 6 1.13261 6 1Z" fill="#1D1B21"/>
|
|
3
|
-
</svg>
|
package/src/assets/close.svg
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<rect width="34" height="34" rx="17" fill="#EEEAE8"/>
|
|
3
|
-
<path d="M21.9998 12C21.8436 11.8438 21.6317 11.756 21.4107 11.756C21.1897 11.756 20.9778 11.8438 20.8215 12L16.9998 15.8217L13.1782 12C13.0219 11.8438 12.81 11.756 12.589 11.756C12.368 11.756 12.1561 11.8438 11.9998 12C11.8436 12.1563 11.7559 12.3682 11.7559 12.5892C11.7559 12.8101 11.8436 13.0221 11.9998 13.1783L15.8215 17L11.9998 20.8217C11.8436 20.9779 11.7559 21.1899 11.7559 21.4108C11.7559 21.6318 11.8436 21.8437 11.9998 22C12.1561 22.1562 12.368 22.244 12.589 22.244C12.81 22.244 13.0219 22.1562 13.1782 22L16.9998 18.1783L20.8215 22C20.9778 22.1562 21.1897 22.244 21.4107 22.244C21.6317 22.244 21.8436 22.1562 21.9998 22C22.1561 21.8437 22.2438 21.6318 22.2438 21.4108C22.2438 21.1899 22.1561 20.9779 21.9998 20.8217L18.1782 17L21.9998 13.1783C22.1561 13.0221 22.2438 12.8101 22.2438 12.5892C22.2438 12.3682 22.1561 12.1563 21.9998 12Z" fill="black"/>
|
|
4
|
-
</svg>
|
package/src/assets/downArrow.svg
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<svg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<rect width="38" height="38" rx="19" fill="#151515"/>
|
|
3
|
-
<g clip-path="url(#clip0_3814_2711)">
|
|
4
|
-
<path d="M8.75781 21.1938C8.79531 21.3344 8.90312 21.5547 8.99219 21.686C9.08125 21.8219 11.1297 23.9078 13.5484 26.3219C18.5828 31.3516 18.1422 30.9766 19 30.9766C19.4266 30.9766 19.525 30.9625 19.7266 30.8641C19.9094 30.7703 20.9078 29.8047 24.4516 26.2703C26.9219 23.8047 28.9984 21.7 29.0641 21.5922C29.2094 21.3485 29.3125 20.9688 29.3125 20.6828C29.3125 20.2282 29.0172 19.6047 28.675 19.3469C28.3328 19.0844 27.7047 18.9485 27.2781 19.0469C26.7437 19.1688 26.7016 19.2063 23.9594 21.9203C21.2922 24.5688 21.0812 24.8032 20.8422 25.3797C20.7625 25.5813 20.7578 25.3375 20.7344 16.9375L20.7109 8.2891L20.5844 8.02191C20.4203 7.66566 20.1391 7.37503 19.7875 7.18285C19.5062 7.02816 19.4687 7.02347 19 7.02347C18.5547 7.02347 18.4844 7.03753 18.25 7.15472C17.7859 7.39378 17.4625 7.78753 17.3312 8.27503C17.275 8.48597 17.2656 9.88285 17.2656 17.0313L17.2656 25.5391L17.1297 25.2578C17.0594 25.1032 16.9 24.85 16.7828 24.6953C16.6656 24.5407 15.4234 23.2703 14.0219 21.8782C12.0766 19.9375 11.4203 19.3094 11.2422 19.2203C10.3281 18.7657 9.30156 19.0891 8.86562 19.9703C8.6875 20.3313 8.64531 20.8 8.75781 21.1938Z" fill="white"/>
|
|
5
|
-
</g>
|
|
6
|
-
<defs>
|
|
7
|
-
<clipPath id="clip0_3814_2711">
|
|
8
|
-
<rect width="24" height="24" fill="white" transform="translate(7 31) rotate(-90)"/>
|
|
9
|
-
</clipPath>
|
|
10
|
-
</defs>
|
|
11
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/assets/react.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { OptionsProps } from "../types";
|
|
3
|
-
import "../styles/options.css";
|
|
4
|
-
|
|
5
|
-
const Options = ({
|
|
6
|
-
options,
|
|
7
|
-
selectedOption,
|
|
8
|
-
onSelect,
|
|
9
|
-
loading,
|
|
10
|
-
}: OptionsProps) => {
|
|
11
|
-
return (
|
|
12
|
-
<div className="options-container">
|
|
13
|
-
{options.map((option) => (
|
|
14
|
-
<button
|
|
15
|
-
disabled={loading}
|
|
16
|
-
key={option.id}
|
|
17
|
-
className={`option-btn ${selectedOption === option.id && "selected"}`}
|
|
18
|
-
onClick={() => onSelect(option.id)}
|
|
19
|
-
>
|
|
20
|
-
{option.text && <span className="option-text">{option.text}</span>}
|
|
21
|
-
</button>
|
|
22
|
-
))}
|
|
23
|
-
</div>
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export default Options;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { QuestionProps } from "../types";
|
|
3
|
-
import "../styles/question.css";
|
|
4
|
-
|
|
5
|
-
const Question = ({ question }: QuestionProps) => {
|
|
6
|
-
return (
|
|
7
|
-
<div className="question-html-wrapper" >
|
|
8
|
-
<h2
|
|
9
|
-
className="question-text"
|
|
10
|
-
dangerouslySetInnerHTML={{
|
|
11
|
-
__html: question,
|
|
12
|
-
}}
|
|
13
|
-
/>
|
|
14
|
-
</div>
|
|
15
|
-
);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default Question;
|