titaned-frontend-library 1.0.20 → 1.0.22
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/components/AnnouncementBanner.scss +16 -33
- package/dist/index.cjs +6 -6
- package/dist/index.css +1 -1
- package/dist/index.js +188 -192
- package/dist/interfaces/components.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/common/AnnouncementBanner/AnnouncementBanner.scss +16 -33
- package/src/components/common/AnnouncementBanner/AnnouncementBanner.tsx +14 -13
- package/src/interfaces/components.ts +1 -0
|
@@ -4,13 +4,26 @@
|
|
|
4
4
|
align-items: center;
|
|
5
5
|
justify-content: left;
|
|
6
6
|
position: relative;
|
|
7
|
-
background-color: var(--bg-body);
|
|
8
7
|
color: var(--text-primary);
|
|
9
8
|
padding: 6px 20px;
|
|
10
9
|
line-height: 1.2;
|
|
11
10
|
word-break: break-word;
|
|
12
|
-
overflow: hidden;
|
|
13
11
|
flex-wrap: wrap;
|
|
12
|
+
transform-origin: top;
|
|
13
|
+
|
|
14
|
+
transform: scaleY(0);
|
|
15
|
+
opacity: 0;
|
|
16
|
+
transition: transform 0.8s ease, opacity 0.8s ease;
|
|
17
|
+
|
|
18
|
+
&.showBanner {
|
|
19
|
+
transform: scaleY(1);
|
|
20
|
+
opacity: 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&.hideBanner {
|
|
24
|
+
transform: scaleY(0);
|
|
25
|
+
opacity: 0;
|
|
26
|
+
}
|
|
14
27
|
|
|
15
28
|
|
|
16
29
|
.announcement-content {
|
|
@@ -18,7 +31,7 @@
|
|
|
18
31
|
text-align: left;
|
|
19
32
|
|
|
20
33
|
h1, h2, h3, h4, h5, h6, p, span, strong, em, i, b {
|
|
21
|
-
margin: 0
|
|
34
|
+
margin: 0;
|
|
22
35
|
color: var(--text-primary);
|
|
23
36
|
}
|
|
24
37
|
|
|
@@ -68,36 +81,6 @@
|
|
|
68
81
|
height: 18px;
|
|
69
82
|
width: 18px;
|
|
70
83
|
}
|
|
71
|
-
|
|
72
|
-
&.showBanner {
|
|
73
|
-
animation: expandBanner 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
&.hideBanner {
|
|
77
|
-
animation: collapseBanner 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
@keyframes expandBanner {
|
|
82
|
-
from {
|
|
83
|
-
max-height: 0;
|
|
84
|
-
opacity: 0;
|
|
85
|
-
}
|
|
86
|
-
to {
|
|
87
|
-
max-height: 100px;
|
|
88
|
-
opacity: 1;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
@keyframes collapseBanner {
|
|
93
|
-
from {
|
|
94
|
-
max-height: 100px;
|
|
95
|
-
opacity: 1;
|
|
96
|
-
}
|
|
97
|
-
to {
|
|
98
|
-
max-height: 0;
|
|
99
|
-
opacity: 0;
|
|
100
|
-
}
|
|
101
84
|
}
|
|
102
85
|
|
|
103
86
|
@media only screen and (max-width: 650px) {
|
package/dist/index.cjs
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),x=require("@openedx/paragon");function _r(t){const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),x=require("@openedx/paragon");function _r(t){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(i,s,n.get?n:{enumerable:!0,get:()=>t[s]})}}return i.default=t,Object.freeze(i)}const $=_r(b);var je={exports:{}},pe={};/*
|
|
2
2
|
object-assign
|
|
3
3
|
(c) Sindre Sorhus
|
|
4
4
|
@license MIT
|
|
5
|
-
*/var Re,qe;function tr(){if(qe)return Re;qe=1;var t=Object.getOwnPropertySymbols,
|
|
5
|
+
*/var Re,qe;function tr(){if(qe)return Re;qe=1;var t=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;function n(h){if(h==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(h)}function v(){try{if(!Object.assign)return!1;var h=new String("abc");if(h[5]="de",Object.getOwnPropertyNames(h)[0]==="5")return!1;for(var j={},p=0;p<10;p++)j["_"+String.fromCharCode(p)]=p;var g=Object.getOwnPropertyNames(j).map(function(c){return j[c]});if(g.join("")!=="0123456789")return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(c){o[c]=c}),Object.keys(Object.assign({},o)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Re=v()?Object.assign:function(h,j){for(var p,g=n(h),o,c=1;c<arguments.length;c++){p=Object(arguments[c]);for(var d in p)i.call(p,d)&&(g[d]=p[d]);if(t){o=t(p);for(var f=0;f<o.length;f++)s.call(p,o[f])&&(g[o[f]]=p[o[f]])}}return g},Re}/** @license React v17.0.2
|
|
6
6
|
* react-jsx-runtime.production.min.js
|
|
7
7
|
*
|
|
8
8
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
9
9
|
*
|
|
10
10
|
* This source code is licensed under the MIT license found in the
|
|
11
11
|
* LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/var We;function Er(){if(We)return pe;We=1,tr();var t=b,
|
|
12
|
+
*/var We;function Er(){if(We)return pe;We=1,tr();var t=b,i=60103;if(pe.Fragment=60107,typeof Symbol=="function"&&Symbol.for){var s=Symbol.for;i=s("react.element"),pe.Fragment=s("react.fragment")}var n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,v=Object.prototype.hasOwnProperty,h={key:!0,ref:!0,__self:!0,__source:!0};function j(p,g,o){var c,d={},f=null,y=null;o!==void 0&&(f=""+o),g.key!==void 0&&(f=""+g.key),g.ref!==void 0&&(y=g.ref);for(c in g)v.call(g,c)&&!h.hasOwnProperty(c)&&(d[c]=g[c]);if(p&&p.defaultProps)for(c in g=p.defaultProps,g)d[c]===void 0&&(d[c]=g[c]);return{$$typeof:i,type:p,key:f,ref:y,props:d,_owner:n.current}}return pe.jsx=j,pe.jsxs=j,pe}var ke={};/** @license React v17.0.2
|
|
13
13
|
* react-jsx-runtime.development.js
|
|
14
14
|
*
|
|
15
15
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
16
16
|
*
|
|
17
17
|
* This source code is licensed under the MIT license found in the
|
|
18
18
|
* LICENSE file in the root directory of this source tree.
|
|
19
|
-
*/var Ke;function Sr(){return Ke||(Ke=1,(function(t){process.env.NODE_ENV!=="production"&&(function(){var
|
|
19
|
+
*/var Ke;function Sr(){return Ke||(Ke=1,(function(t){process.env.NODE_ENV!=="production"&&(function(){var i=b,s=tr(),n=60103,v=60106;t.Fragment=60107;var h=60108,j=60114,p=60109,g=60110,o=60112,c=60113,d=60120,f=60115,y=60116,u=60121,P=60122,G=60117,E=60129,D=60131;if(typeof Symbol=="function"&&Symbol.for){var O=Symbol.for;n=O("react.element"),v=O("react.portal"),t.Fragment=O("react.fragment"),h=O("react.strict_mode"),j=O("react.profiler"),p=O("react.provider"),g=O("react.context"),o=O("react.forward_ref"),c=O("react.suspense"),d=O("react.suspense_list"),f=O("react.memo"),y=O("react.lazy"),u=O("react.block"),P=O("react.server.block"),G=O("react.fundamental"),O("react.scope"),O("react.opaque.id"),E=O("react.debug_trace_mode"),O("react.offscreen"),D=O("react.legacy_hidden")}var X=typeof Symbol=="function"&&Symbol.iterator,L="@@iterator";function Z(e){if(e===null||typeof e!="object")return null;var a=X&&e[X]||e[L];return typeof a=="function"?a:null}var F=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function R(e){{for(var a=arguments.length,l=new Array(a>1?a-1:0),w=1;w<a;w++)l[w-1]=arguments[w];Q("error",e,l)}}function Q(e,a,l){{var w=F.ReactDebugCurrentFrame,T=w.getStackAddendum();T!==""&&(a+="%s",l=l.concat([T]));var k=l.map(function(S){return""+S});k.unshift("Warning: "+a),Function.prototype.apply.call(console[e],console,k)}}var ee=!1;function z(e){return!!(typeof e=="string"||typeof e=="function"||e===t.Fragment||e===j||e===E||e===h||e===c||e===d||e===D||ee||typeof e=="object"&&e!==null&&(e.$$typeof===y||e.$$typeof===f||e.$$typeof===p||e.$$typeof===g||e.$$typeof===o||e.$$typeof===G||e.$$typeof===u||e[0]===P))}function H(e,a,l){var w=a.displayName||a.name||"";return e.displayName||(w!==""?l+"("+w+")":l)}function q(e){return e.displayName||"Context"}function M(e){if(e==null)return null;if(typeof e.tag=="number"&&R("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case t.Fragment:return"Fragment";case v:return"Portal";case j:return"Profiler";case h:return"StrictMode";case c:return"Suspense";case d:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case g:var a=e;return q(a)+".Consumer";case p:var l=e;return q(l._context)+".Provider";case o:return H(e,e.render,"ForwardRef");case f:return M(e.type);case u:return M(e._render);case y:{var w=e,T=w._payload,k=w._init;try{return M(k(T))}catch{return null}}}return null}var V=0,C,W,K,B,oe,J,ne;function ce(){}ce.__reactDisabledLog=!0;function le(){{if(V===0){C=console.log,W=console.info,K=console.warn,B=console.error,oe=console.group,J=console.groupCollapsed,ne=console.groupEnd;var e={configurable:!0,enumerable:!0,value:ce,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}V++}}function Ie(){{if(V--,V===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:s({},e,{value:C}),info:s({},e,{value:W}),warn:s({},e,{value:K}),error:s({},e,{value:B}),group:s({},e,{value:oe}),groupCollapsed:s({},e,{value:J}),groupEnd:s({},e,{value:ne})})}V<0&&R("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=F.ReactCurrentDispatcher,ue;function ie(e,a,l){{if(ue===void 0)try{throw Error()}catch(T){var w=T.stack.trim().match(/\n( *(at )?)/);ue=w&&w[1]||""}return`
|
|
20
20
|
`+ue+e}}var de=!1,se;{var we=typeof WeakMap=="function"?WeakMap:Map;se=new we}function ge(e,a){if(!e||de)return"";{var l=se.get(e);if(l!==void 0)return l}var w;de=!0;var T=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var k;k=me.current,me.current=null,le();try{if(a){var S=function(){throw Error()};if(Object.defineProperty(S.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(S,[])}catch(te){w=te}Reflect.construct(e,[],S)}else{try{S.call()}catch(te){w=te}e.call(S.prototype)}}else{try{throw Error()}catch(te){w=te}e()}}catch(te){if(te&&w&&typeof te.stack=="string"){for(var _=te.stack.split(`
|
|
21
21
|
`),Y=w.stack.split(`
|
|
22
22
|
`),I=_.length-1,A=Y.length-1;I>=1&&A>=0&&_[I]!==Y[A];)A--;for(;I>=1&&A>=0;I--,A--)if(_[I]!==Y[A]){if(I!==1||A!==1)do if(I--,A--,A<0||_[I]!==Y[A]){var re=`
|
|
23
|
-
`+_[I].replace(" at new "," at ");return typeof e=="function"&&se.set(e,re),re}while(I>=1&&A>=0);break}}}finally{de=!1,me.current=k,Ie(),Error.prepareStackTrace=T}var he=e?e.displayName||e.name:"",Ve=he?ie(he):"";return typeof e=="function"&&se.set(e,Ve),Ve}function ve(e,a,l){return ge(e,!1)}function ye(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function ae(e,a,l){if(e==null)return"";if(typeof e=="function")return ge(e,ye(e));if(typeof e=="string")return ie(e);switch(e){case c:return ie("Suspense");case d:return ie("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case o:return ve(e.render);case
|
|
23
|
+
`+_[I].replace(" at new "," at ");return typeof e=="function"&&se.set(e,re),re}while(I>=1&&A>=0);break}}}finally{de=!1,me.current=k,Ie(),Error.prepareStackTrace=T}var he=e?e.displayName||e.name:"",Ve=he?ie(he):"";return typeof e=="function"&&se.set(e,Ve),Ve}function ve(e,a,l){return ge(e,!1)}function ye(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function ae(e,a,l){if(e==null)return"";if(typeof e=="function")return ge(e,ye(e));if(typeof e=="string")return ie(e);switch(e){case c:return ie("Suspense");case d:return ie("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case o:return ve(e.render);case f:return ae(e.type,a,l);case u:return ve(e._render);case y:{var w=e,T=w._payload,k=w._init;try{return ae(k(T),a,l)}catch{}}}return""}var m={},N=F.ReactDebugCurrentFrame;function U(e){if(e){var a=e._owner,l=ae(e.type,e._source,a?a.type:null);N.setExtraStackFrame(l)}else N.setExtraStackFrame(null)}function xe(e,a,l,w,T){{var k=Function.call.bind(Object.prototype.hasOwnProperty);for(var S in e)if(k(e,S)){var _=void 0;try{if(typeof e[S]!="function"){var Y=Error((w||"React class")+": "+l+" type `"+S+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[S]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Y.name="Invariant Violation",Y}_=e[S](a,S,w,l,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(I){_=I}_&&!(_ instanceof Error)&&(U(T),R("%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).",w||"React class",l,S,typeof _),U(null)),_ instanceof Error&&!(_.message in m)&&(m[_.message]=!0,U(T),R("Failed %s type: %s",l,_.message),U(null))}}}var Pe=F.ReactCurrentOwner,Ee=Object.prototype.hasOwnProperty,or={key:!0,ref:!0,__self:!0,__source:!0},Ae,Me;function cr(e){if(Ee.call(e,"ref")){var a=Object.getOwnPropertyDescriptor(e,"ref").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function lr(e){if(Ee.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return e.key!==void 0}function ur(e,a){typeof e.ref=="string"&&Pe.current}function dr(e,a){{var l=function(){Ae||(Ae=!0,R("%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)",a))};l.isReactWarning=!0,Object.defineProperty(e,"key",{get:l,configurable:!0})}}function fr(e,a){{var l=function(){Me||(Me=!0,R("%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)",a))};l.isReactWarning=!0,Object.defineProperty(e,"ref",{get:l,configurable:!0})}}var hr=function(e,a,l,w,T,k,S){var _={$$typeof:n,type:e,key:a,ref:l,props:S,_owner:k};return _._store={},Object.defineProperty(_._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(_,"_self",{configurable:!1,enumerable:!1,writable:!1,value:w}),Object.defineProperty(_,"_source",{configurable:!1,enumerable:!1,writable:!1,value:T}),Object.freeze&&(Object.freeze(_.props),Object.freeze(_)),_};function pr(e,a,l,w,T){{var k,S={},_=null,Y=null;l!==void 0&&(_=""+l),lr(a)&&(_=""+a.key),cr(a)&&(Y=a.ref,ur(a,T));for(k in a)Ee.call(a,k)&&!or.hasOwnProperty(k)&&(S[k]=a[k]);if(e&&e.defaultProps){var I=e.defaultProps;for(k in I)S[k]===void 0&&(S[k]=I[k])}if(_||Y){var A=typeof e=="function"?e.displayName||e.name||"Unknown":e;_&&dr(S,A),Y&&fr(S,A)}return hr(e,_,Y,T,w,Pe.current,S)}}var Se=F.ReactCurrentOwner,De=F.ReactDebugCurrentFrame;function fe(e){if(e){var a=e._owner,l=ae(e.type,e._source,a?a.type:null);De.setExtraStackFrame(l)}else De.setExtraStackFrame(null)}var Ce;Ce=!1;function Oe(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function $e(){{if(Se.current){var e=M(Se.current.type);if(e)return`
|
|
24
24
|
|
|
25
25
|
Check the render method of \``+e+"`."}return""}}function mr(e){return""}var Le={};function gr(e){{var a=$e();if(!a){var l=typeof e=="string"?e:e.displayName||e.name;l&&(a=`
|
|
26
26
|
|
|
27
|
-
Check the top-level render call using <`+l+">.")}return a}}function He(e,a){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var l=gr(a);if(Le[l])return;Le[l]=!0;var w="";e&&e._owner&&e._owner!==Se.current&&(w=" It was passed a child from "+M(e._owner.type)+"."),fe(e),R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',l,w),fe(null)}}function Fe(e,a){{if(typeof e!="object")return;if(Array.isArray(e))for(var l=0;l<e.length;l++){var w=e[l];Oe(w)&&He(w,a)}else if(Oe(e))e._store&&(e._store.validated=!0);else if(e){var T=Z(e);if(typeof T=="function"&&T!==e.entries)for(var k=T.call(e),S;!(S=k.next()).done;)Oe(S.value)&&He(S.value,a)}}}function vr(e){{var a=e.type;if(a==null||typeof a=="string")return;var l;if(typeof a=="function")l=a.propTypes;else if(typeof a=="object"&&(a.$$typeof===o||a.$$typeof===p))l=a.propTypes;else return;if(l){var w=M(a);xe(l,e.props,"prop",w,e)}else if(a.PropTypes!==void 0&&!Ce){Ce=!0;var T=M(a);R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",T||"Unknown")}typeof a.getDefaultProps=="function"&&!a.getDefaultProps.isReactClassApproved&&R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function xr(e){{for(var a=Object.keys(e.props),l=0;l<a.length;l++){var w=a[l];if(w!=="children"&&w!=="key"){fe(e),R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",w),fe(null);break}}e.ref!==null&&(fe(e),R("Invalid attribute `ref` supplied to `React.Fragment`."),fe(null))}}function ze(e,a,l,w,T,k){{var S=z(e);if(!S){var _="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(_+=" 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 Y=mr();Y?_+=Y:_+=$e();var I;e===null?I="null":Array.isArray(e)?I="array":e!==void 0&&e.$$typeof===n?(I="<"+(M(e.type)||"Unknown")+" />",_=" Did you accidentally export a JSX literal instead of a component?"):I=typeof e,R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",I,_)}var A=pr(e,a,l,T,k);if(A==null)return A;if(S){var re=a.children;if(re!==void 0)if(w)if(Array.isArray(re)){for(var he=0;he<re.length;he++)Fe(re[he],e);Object.freeze&&Object.freeze(re)}else R("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 Fe(re,e)}return e===t.Fragment?xr(A):vr(A),A}}function br(e,a,l){return ze(e,a,l,!0)}function wr(e,a,l){return ze(e,a,l,!1)}var yr=wr,jr=br;t.jsx=yr,t.jsxs=jr})()})(ke)),ke}var Ye;function Cr(){return Ye||(Ye=1,process.env.NODE_ENV==="production"?je.exports=Er():je.exports=Sr()),je.exports}var r=Cr();const Or=({contactInfo:t,quickLinks:s,exploreLinks:i,logoUrl:n,copyrights:g})=>{const h=j=>j??"left";return r.jsxs("footer",{className:"footer",children:[r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:`section ${h(t.align)}`,children:[r.jsx("div",{className:"footer-brand-logo",children:r.jsx("img",{src:n,alt:"Logo"})}),r.jsx("p",{children:t.content.shortdesc}),r.jsxs("p",{children:[t.content.location.label,", ",t.content.location.value]}),r.jsxs("p",{children:["📞 ",t.content.phonenumber]})]}),r.jsx("div",{className:`section ${h(s.align)}`,children:r.jsxs("ul",{children:[r.jsx("h3",{children:"Quick Links"}),s.content.map((j,f)=>r.jsx("li",{children:r.jsx("a",{href:j.link,children:j.label})},f))]})}),r.jsx("div",{className:`section ${h(i.align)}`,children:r.jsxs("ul",{children:[r.jsx("h3",{children:"Explore"}),i.content.map((j,f)=>r.jsx("li",{children:r.jsx("a",{href:j.link,children:j.label})},f))]})})]}),r.jsx("div",{className:"copyright",children:r.jsx("p",{children:g})})]})},nr=b.createContext(void 0),Rr=({children:t})=>{const[s,i]=b.useState(!1),n=()=>{i(h=>!h)},g=h=>{i(h)};return r.jsx(nr.Provider,{value:{isCollapsed:s,toggleSidebar:n,setSidebarCollapsed:g},children:t})},Ne=()=>{const t=b.useContext(nr);if(t===void 0)throw new Error("useSidebar must be used within a SidebarProvider");return t},kr=({buttons:t,onNavigate:s,presentPath:i})=>{const{isCollapsed:n,setSidebarCollapsed:g}=Ne(),[h,j]=b.useState(!0),f=b.useRef(null),[v,o]=b.useState(()=>document.dir==="rtl"||document.documentElement.dir==="rtl");return b.useEffect(()=>{const c=()=>{o(document.dir==="rtl"||document.documentElement.dir==="rtl")},d=new MutationObserver(c);return d.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}),()=>d.disconnect()},[]),b.useEffect(()=>{const c=t.some(d=>d.path===i);j(c),!c&&!n&&i.includes("/course/")&&!i.includes("/learning/course/")&&g(!0)},[i]),b.useEffect(()=>{const c=d=>{!h&&f.current&&!f.current.contains(d.target)&&i.includes("/course/")&&!i.includes("/learning/course/")&&(n||g(!0))};return document.addEventListener("mousedown",c),()=>{document.removeEventListener("mousedown",c)}},[h,n,g]),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`sidebar ${n?"collapsed":""}`,ref:f,children:r.jsx("div",{className:"sidebar-buttons",children:t.map(c=>{const d=c.path===i||(i.includes("/course/")||i.includes("/course_rerun/"))&&c.path==="/my-courses"||i.includes("/library/")&&c.path==="/libraries"||i.includes("/taxonomy/")&&c.path==="/taxonomies";return r.jsx(x.OverlayTrigger,{placement:v?"left":"right",overlay:r.jsx(x.Tooltip,{id:`tooltip-${c.path}`,children:c.label}),show:n?void 0:!1,popperConfig:{modifiers:[{name:"preventOverflow",options:{altAxis:!0,boundary:"viewport"}}]},children:r.jsx(x.Button,{variant:"tertiary",className:`sidebar-btn ${d?"pgn-btn-active":"pgn-btn-inactive"}`,onClick:()=>s(c.path),children:r.jsxs("div",{className:"btn-content",children:[r.jsx("span",{className:"icon-container",children:c.icon}),r.jsx("span",{className:"btn-label",children:c.label})]})})},c.path)})})}),!h&&!n&&r.jsx("div",{className:"sidebar-extra-space"})]})},Tr=(t=768)=>{const[s,i]=b.useState(!1);return b.useEffect(()=>{const n=()=>{i(window.innerWidth<=t)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[t]),s},Nr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z",fill:"currentColor"})),Je=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M10.09 15.59 11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM21 3H3v6h2V5h14v14H5v-4H3v6h18V3z",fill:"currentColor"})),Ue=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M21 3H3v18h18V3zm-8.99 15c-.7 0-1.26-.56-1.26-1.26 0-.71.56-1.25 1.26-1.25.71 0 1.25.54 1.25 1.25-.01.69-.54 1.26-1.25 1.26zm3.01-7.4c-.76 1.11-1.48 1.46-1.87 2.17-.16.29-.22.48-.22 1.41h-1.82c0-.49-.08-1.29.31-1.98.49-.87 1.42-1.39 1.96-2.16.57-.81.25-2.33-1.37-2.33-1.06 0-1.58.8-1.8 1.48l-1.65-.7C9.01 7.15 10.22 6 11.99 6c1.48 0 2.49.67 3.01 1.52.44.72.7 2.07.02 3.08z",fill:"currentColor"})),Ir=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z",fill:"currentColor"})),Pr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z",fill:"currentColor"})),Ge=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M12 22c1.1 0 2-.9 2-2h-4a2 2 0 0 0 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V2.5h-3v2.18C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z",fill:"currentColor"})),Ar=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M19 19H5V5h7V3H3v18h18v-9h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z",fill:"currentColor"})),Mr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5Zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14Z",fill:"currentColor"})),Xe=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z",fill:"currentColor"})),Dr=({id:t,buttonTitle:s,items:i})=>r.jsx(x.DropdownButton,{id:t,title:s,variant:"tertiary",className:"mr-2",children:i.map(n=>r.jsx(x.Dropdown.Item,{href:n.href,as:"a",className:"small",children:n.title},`${n.title}-dropdown-item`))}),Ze=({username:t,authenticatedUserAvatar:s,isMobile:i,menuItems:n})=>{const g=s?r.jsx("img",{className:"d-block w-100 h-100",src:s,alt:t,"data-testid":"avatar-image"}):r.jsx(x.Avatar,{size:"sm",className:"mr-2",alt:"avatar","data-testid":"avatar-icon"}),h=i?g:r.jsxs(r.Fragment,{children:[t," ",g]});return r.jsx(Dr,{buttonTitle:h,id:"user-dropdown-menu",items:n})};var be={},Qe;function $r(){if(Qe)return be;Qe=1,Object.defineProperty(be,"__esModule",{value:!0}),be.parse=j,be.serialize=o;const t=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,s=/^[\u0021-\u003A\u003C-\u007E]*$/,i=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,n=/^[\u0020-\u003A\u003D-\u007E]*$/,g=Object.prototype.toString,h=(()=>{const p=function(){};return p.prototype=Object.create(null),p})();function j(p,y){const u=new h,P=p.length;if(P<2)return u;const G=(y==null?void 0:y.decode)||c;let E=0;do{const D=p.indexOf("=",E);if(D===-1)break;const O=p.indexOf(";",E),X=O===-1?P:O;if(D>X){E=p.lastIndexOf(";",D-1)+1;continue}const L=f(p,E,D),Z=v(p,D,L),F=p.slice(L,Z);if(u[F]===void 0){let R=f(p,D+1,X),Q=v(p,X,R);const ee=G(p.slice(R,Q));u[F]=ee}E=X+1}while(E<P);return u}function f(p,y,u){do{const P=p.charCodeAt(y);if(P!==32&&P!==9)return y}while(++y<u);return u}function v(p,y,u){for(;y>u;){const P=p.charCodeAt(--y);if(P!==32&&P!==9)return y+1}return u}function o(p,y,u){const P=(u==null?void 0:u.encode)||encodeURIComponent;if(!t.test(p))throw new TypeError(`argument name is invalid: ${p}`);const G=P(y);if(!s.test(G))throw new TypeError(`argument val is invalid: ${y}`);let E=p+"="+G;if(!u)return E;if(u.maxAge!==void 0){if(!Number.isInteger(u.maxAge))throw new TypeError(`option maxAge is invalid: ${u.maxAge}`);E+="; Max-Age="+u.maxAge}if(u.domain){if(!i.test(u.domain))throw new TypeError(`option domain is invalid: ${u.domain}`);E+="; Domain="+u.domain}if(u.path){if(!n.test(u.path))throw new TypeError(`option path is invalid: ${u.path}`);E+="; Path="+u.path}if(u.expires){if(!d(u.expires)||!Number.isFinite(u.expires.valueOf()))throw new TypeError(`option expires is invalid: ${u.expires}`);E+="; Expires="+u.expires.toUTCString()}if(u.httpOnly&&(E+="; HttpOnly"),u.secure&&(E+="; Secure"),u.partitioned&&(E+="; Partitioned"),u.priority)switch(typeof u.priority=="string"?u.priority.toLowerCase():void 0){case"low":E+="; Priority=Low";break;case"medium":E+="; Priority=Medium";break;case"high":E+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${u.priority}`)}if(u.sameSite)switch(typeof u.sameSite=="string"?u.sameSite.toLowerCase():u.sameSite){case!0:case"strict":E+="; SameSite=Strict";break;case"lax":E+="; SameSite=Lax";break;case"none":E+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${u.sameSite}`)}return E}function c(p){if(p.indexOf("%")===-1)return p;try{return decodeURIComponent(p)}catch{return p}}function d(p){return g.call(p)==="[object Date]"}return be}var _e=$r();function Lr(){const t=typeof global>"u"?void 0:global.TEST_HAS_DOCUMENT_COOKIE;return typeof t=="boolean"?t:typeof document=="object"&&typeof document.cookie=="string"}function Hr(t){return typeof t=="string"?_e.parse(t):typeof t=="object"&&t!==null?t:{}}function Te(t,s={}){const i=Fr(t);if(!s.doNotParse)try{return JSON.parse(i)}catch{}return t}function Fr(t){return t&&t[0]==="j"&&t[1]===":"?t.substr(2):t}class zr{constructor(s,i={}){this.changeListeners=[],this.HAS_DOCUMENT_COOKIE=!1,this.update=()=>{if(!this.HAS_DOCUMENT_COOKIE)return;const g=this.cookies;this.cookies=_e.parse(document.cookie),this._checkChanges(g)};const n=typeof document>"u"?"":document.cookie;this.cookies=Hr(s||n),this.defaultSetOptions=i,this.HAS_DOCUMENT_COOKIE=Lr()}_emitChange(s){for(let i=0;i<this.changeListeners.length;++i)this.changeListeners[i](s)}_checkChanges(s){new Set(Object.keys(s).concat(Object.keys(this.cookies))).forEach(n=>{s[n]!==this.cookies[n]&&this._emitChange({name:n,value:Te(this.cookies[n])})})}_startPolling(){this.pollingInterval=setInterval(this.update,300)}_stopPolling(){this.pollingInterval&&clearInterval(this.pollingInterval)}get(s,i={}){return i.doNotUpdate||this.update(),Te(this.cookies[s],i)}getAll(s={}){s.doNotUpdate||this.update();const i={};for(let n in this.cookies)i[n]=Te(this.cookies[n],s);return i}set(s,i,n){n?n=Object.assign(Object.assign({},this.defaultSetOptions),n):n=this.defaultSetOptions;const g=typeof i=="string"?i:JSON.stringify(i);this.cookies=Object.assign(Object.assign({},this.cookies),{[s]:g}),this.HAS_DOCUMENT_COOKIE&&(document.cookie=_e.serialize(s,g,n)),this._emitChange({name:s,value:i,options:n})}remove(s,i){const n=i=Object.assign(Object.assign(Object.assign({},this.defaultSetOptions),i),{expires:new Date(1970,1,1,0,0,1),maxAge:0});this.cookies=Object.assign({},this.cookies),delete this.cookies[s],this.HAS_DOCUMENT_COOKIE&&(document.cookie=_e.serialize(s,"",n)),this._emitChange({name:s,value:void 0,options:i})}addChangeListener(s){this.changeListeners.push(s),this.HAS_DOCUMENT_COOKIE&&this.changeListeners.length===1&&(typeof window=="object"&&"cookieStore"in window?window.cookieStore.addEventListener("change",this.update):this._startPolling())}removeChangeListener(s){const i=this.changeListeners.indexOf(s);i>=0&&this.changeListeners.splice(i,1),this.HAS_DOCUMENT_COOKIE&&this.changeListeners.length===0&&(typeof window=="object"&&"cookieStore"in window?window.cookieStore.removeEventListener("change",this.update):this._stopPolling())}removeAllChangeListeners(){for(;this.changeListeners.length>0;)this.removeChangeListener(this.changeListeners[0])}}class Vr{constructor(s){if(!s.host)throw new Error("MeiliSearch host is required");if(!s.apiKey)throw new Error("MeiliSearch apiKey is required");if(!s.indexName)throw new Error("MeiliSearch indexName is required");this.config=s,this.headers={"Content-Type":"application/json",Authorization:`Bearer ${s.apiKey}`,"X-Meilisearch-Client":"Meilisearch JavaScript (v0.41.0)"}}updateHeadersFromClient(s){s&&s.httpRequest&&s.httpRequest.headers&&(this.headers={"Content-Type":s.httpRequest.headers["Content-Type"]||"application/json",Authorization:s.httpRequest.headers.Authorization||`Bearer ${this.config.apiKey}`,"X-Meilisearch-Client":s.httpRequest.headers["X-Meilisearch-Client"]||"Meilisearch JavaScript (v0.41.0)"})}async search(s,i={}){const{limit:n=20,offset:g=0,filter:h=['type = "course_block"'],attributesToHighlight:j=["display_name","description","published"],attributesToCrop:f=["description","published"],sort:v=[]}=i;if(!this.config.indexName)throw new Error("MeiliSearch indexName is required");const o={queries:[{indexUid:this.config.indexName,q:s,filter:[[],...h],attributesToHighlight:j,highlightPreTag:"__meili-highlight__",highlightPostTag:"__/meili-highlight__",attributesToCrop:f,sort:v,offset:g,limit:n},{indexUid:this.config.indexName,facets:["block_type","content.problem_types"],filter:h,limit:0}]},c={...this.headers};try{const d=await fetch(`${this.config.host}/multi-search`,{method:"POST",headers:c,body:JSON.stringify(o)});if(!d.ok)throw new Error(`MeiliSearch API error: ${d.status} ${d.statusText}`);const p=await d.json(),y=p.results[0],u=p.results[1];return{hits:y.hits||[],totalHits:y.estimatedTotalHits||0,facets:u.facetDistribution,processingTimeMs:y.processingTimeMs}}catch(d){throw console.error("MeiliSearch service error:",d),new Error(`Search failed: ${d instanceof Error?d.message:"Unknown error"}`)}}async simpleSearch(s,i={}){const{limit:n=20,offset:g=0,filter:h=['type = "course_block"'],attributesToHighlight:j=["display_name","description","published"],attributesToCrop:f=["description","published"],sort:v=[]}=i,o={queries:[{indexUid:this.config.indexName,q:s,filter:[[],...h],attributesToHighlight:j,highlightPreTag:"__meili-highlight__",highlightPostTag:"__/meili-highlight__",attributesToCrop:f,sort:v,offset:g,limit:n}]},c={...this.headers};try{const d=await fetch(`${this.config.host}/multi-search`,{method:"POST",headers:c,body:JSON.stringify(o)});if(!d.ok)throw new Error(`MeiliSearch API error: ${d.status} ${d.statusText}`);const y=(await d.json()).results[0];return{hits:y.hits||[],totalHits:y.estimatedTotalHits||0,processingTimeMs:y.processingTimeMs}}catch(d){throw console.error("MeiliSearch service error:",d),new Error(`Search failed: ${d instanceof Error?d.message:"Unknown error"}`)}}async checkConnection(){try{return(await fetch(`${this.config.host}/health`,{method:"GET",headers:{Authorization:`Bearer ${this.config.apiKey}`,"X-Meilisearch-Client":"Meilisearch JavaScript (v0.41.0)"}})).ok}catch(s){return console.error("MeiliSearch connection check failed:",s),!1}}}const ir=t=>new Vr(t);function sr(t,s){const{contextKey:i,usageKey:n}=t;return i?i.startsWith("course-v1:")?`${s||""}/course/${i}?show=${encodeURIComponent(n||"")}`:i.startsWith("library-v1:")?`${s||""}/library/${i}`:"#":"#"}function qr(t,s,i){const n=sr(t,s);return n==="#"?(console.warn("Could not generate URL for search hit:",t),"#"):(i?i(n):(n.startsWith("http"),window.location.href=n),n)}const Be=({text:t,highlightTag:s="__meili-highlight__"})=>{if(!t)return null;const i="__/meili-highlight__",n=t.split(s),g=[];return n.forEach((h,j)=>{if(j===0)h&&g.push(h);else{const f=h.indexOf(i);if(f!==-1){const v=h.substring(0,f),o=h.substring(f+i.length);v&&g.push(r.jsx("mark",{className:"search-highlight",children:v},`highlight-${j}`)),o&&g.push(o)}else g.push(r.jsx("mark",{className:"search-highlight",children:h},`highlight-${j}`))}}),r.jsx(r.Fragment,{children:g})};function Wr(t){return{html:"text",video:"video",problem:"quiz",vertical:"folder",sequential:"folder",chapter:"folder",about:"info",static_tab:"text",openassessment:"quiz",lti_consumer:"link",pdf:"file",scorm:"file",itembank:"library",library_content:"library"}[t]||"text"}const er=({result:t,onNavigate:s,baseUrl:i})=>{var v,o;const n=c=>{var y;c.preventDefault(),c.stopPropagation();const d={id:t.id,blockType:t.block_type||t.type,contextKey:t.context_key,usageKey:t.usage_key,breadcrumbs:((y=t.breadcrumbs)==null?void 0:y.map(u=>({displayName:u.display_name,usageKey:u.usage_key})))||[]};if(t.url){s?s(t.url):window.location.href=t.url;return}qr(d,i,s)==="#"&&(s?s(`/search-result/${t.id}`):window.location.href=`/search-result/${t.id}`)},g=c=>{var y;c.preventDefault(),c.stopPropagation();const d={id:t.id,blockType:t.block_type||t.type,contextKey:t.context_key,usageKey:t.usage_key,breadcrumbs:((y=t.breadcrumbs)==null?void 0:y.map(u=>({displayName:u.display_name,usageKey:u.usage_key})))||[]},p=sr(d,i);p&&p!=="#"&&window.open(p,"_blank")},h=((v=t._formatted)==null?void 0:v.display_name)||t.display_name,j=((o=t._formatted)==null?void 0:o.description)||t.description,f=t.block_type||t.type;return r.jsx("div",{className:"search-result-item",onClick:n,role:"button",tabIndex:0,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&n(c)},children:r.jsxs("div",{className:"search-result-content",children:[r.jsx("div",{className:"search-result-icon",children:r.jsx(x.Icon,{src:Wr(f)})}),r.jsxs("div",{className:"search-result-text",children:[r.jsx("div",{className:"search-result-title",children:r.jsx(Be,{text:h})}),j&&r.jsx("div",{className:"search-result-description",children:r.jsx(Be,{text:j})}),t.breadcrumbs&&t.breadcrumbs.length>0&&r.jsx("div",{className:"search-result-breadcrumbs",children:t.breadcrumbs.map(c=>c.display_name).join(" / ")})]}),r.jsx("div",{className:"search-result-actions",children:r.jsx(x.IconButton,{src:Ar,iconAs:x.Icon,onClick:g,alt:"Open in new window",size:"sm"})})]})})},rr=new zr,Kr=({logoUrl:t,menuList:s,loginSignupButtons:i,authenticatedUser:n=null,userMenuItems:g,menuAlignment:h,onLanguageChange:j,getBaseUrl:f,meiliSearchConfig:v,headerButtons:o,languageSelectorList:c})=>{const d=Tr(),{toggleSidebar:p,setSidebarCollapsed:y}=Ne(),[u,P]=b.useState(()=>rr.get("openedx-language-preference")||"en"),[G,E]=b.useState(!1),[D,O]=b.useState(!1),[X,L]=b.useState(!1),[Z,F]=b.useState(""),[R,Q]=b.useState([]),[ee,z]=b.useState(!1),[H,q]=b.useState(null),[M,V]=b.useState(0),[C,W]=b.useState(!1),[K,B]=b.useState(5),oe=b.useRef(null),J=b.useRef(null),ne=b.useRef(v?ir(v):null),ce=b.useRef(!1);b.useEffect(()=>{v!=null&&v.client&&ne.current&&ne.current.updateHeadersFromClient(v.client)},[v==null?void 0:v.client]),b.useEffect(()=>()=>{J.current&&clearTimeout(J.current)},[]),b.useEffect(()=>{document.body.dir=u==="ar"?"rtl":"ltr"},[u]),b.useEffect(()=>{d&&!ce.current?(y(!0),ce.current=!0):d||(ce.current=!1)},[d,y]),b.useEffect(()=>{if(!D)return;function m(N){oe.current&&!oe.current.contains(N.target)&&O(!1)}return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[D]);const le=m=>{P(m),rr.set("openedx-language-preference",m,{path:f?f():"/"}),j&&j()},me=h&&{left:"justify-content-start",center:"justify-content-center",right:"justify-content-end"}[h.toLowerCase()]||"justify-content-start",ue=async m=>{if(!m.trim()||!v||!ne.current){Q([]),V(0),L(!1),W(!1);return}z(!0),q(null),L(!1),B(5);try{const N=await ne.current.simpleSearch(m,{limit:20,offset:0});Q(N.hits),V(N.totalHits),L(N.totalHits===0),W(!0)}catch(N){q(N instanceof Error?N.message:"Search failed"),L(!0),Q([]),V(0)}finally{z(!1)}},ie=m=>{F(m),ue(m),d&&G&&E(!1)},de=m=>{F(m),X&&m.trim()===""&&(L(!1),W(!1)),J.current&&clearTimeout(J.current),m.trim().length>0?J.current=setTimeout(()=>{ue(m)},500):(Q([]),V(0),L(!1),W(!1))},se=()=>{J.current&&(clearTimeout(J.current),J.current=null),F(""),Q([]),V(0),L(!1),W(!1),q(null),z(!1)},we=()=>{F(""),Q([]),V(0),L(!1),W(!1),q(null),z(!1),B(5),J.current&&(clearTimeout(J.current),J.current=null)},ge=()=>{B(m=>Math.min(m+10,R.length))},ve=m=>{if(c&&c.length>0){const U=c.find(xe=>xe[m]);if(U)return U[m]}return{en:"English",ar:"Arabic",hi:"Hindi"}[m]||m.toUpperCase()},ye=()=>c&&c.length>0?c.map((m,N)=>{const[U,xe]=Object.entries(m)[0];return r.jsx(x.Dropdown.Item,{onClick:()=>le(U),children:xe},`lang-${U}-${N}`)}):r.jsxs(r.Fragment,{children:[r.jsx(x.Dropdown.Item,{onClick:()=>le("en"),children:"English"}),r.jsx(x.Dropdown.Item,{onClick:()=>le("ar"),children:"Arabic"}),r.jsx(x.Dropdown.Item,{onClick:()=>le("hi"),children:"Hindi"})]}),ae=(o==null?void 0:o.reSync)||(o==null?void 0:o.contextSwitcher)||(o==null?void 0:o.help)||(o==null?void 0:o.notification)||(o==null?void 0:o.translation);return r.jsxs(x.Navbar,{expand:"lg",className:"navbarContainer py-1",children:[r.jsxs("div",{className:"d-flex align-items-center",children:[r.jsx("div",{className:"toggle-sidebar-icon",children:r.jsx(x.IconButton,{src:Ir,iconAs:x.Icon,alt:"Toggle Sidebar",onClick:p,className:"ms-2 ml-2",onMouseDown:m=>m.stopPropagation()})}),r.jsx(x.Navbar.Brand,{href:"/",className:"navbar-brand",children:r.jsx("img",{src:t,alt:"Logo"})})]}),n!==null&&r.jsx(r.Fragment,{children:d?r.jsx("div",{className:"d-flex justify-content-between align-items-center ml-auto",children:r.jsxs("div",{className:"d-flex align-items-center navbar-buttons",children:[v&&r.jsx(x.IconButton,{src:Mr,iconAs:x.Icon,alt:"Search",onClick:()=>E(!0)}),r.jsx("div",{className:"ml-2 usermenu-dropdown-mobile",children:r.jsx(Ze,{username:n==null?void 0:n.username,authenticatedUserAvatar:n==null?void 0:n.avatar,isMobile:d,isAdmin:n==null?void 0:n.administrator,menuItems:g})}),ae&&r.jsx(x.IconButton,{src:Pr,iconAs:x.Icon,alt:"More",onMouseDown:m=>m.stopPropagation(),onClick:()=>O(m=>!m)}),D&&ae&&r.jsxs("div",{className:"more-menu-dropdown",ref:oe,children:[r.jsxs("div",{className:"more-menu-icons-row",children:[(o==null?void 0:o.reSync)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Xe,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Re-Sync"})}),(o==null?void 0:o.contextSwitcher)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Je,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Switch to User Mode"})}),(o==null?void 0:o.help)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ue,iconAs:x.Icon,alt:"Help",tooltipPlacement:"bottom",tooltipContent:"Help"})}),(o==null?void 0:o.notification)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ge,iconAs:x.Icon,alt:"Notifications",tooltipPlacement:"bottom",tooltipContent:"Notifications"})})]}),(o==null?void 0:o.translation)&&r.jsxs(x.Dropdown,{className:"language-dropdown",children:[r.jsx(x.Dropdown.Toggle,{variant:"tertiary",id:"language-dropdown",children:ve(u)}),r.jsx(x.Dropdown.Menu,{children:ye()})]})]})]})}):r.jsxs(r.Fragment,{children:[v&&r.jsx("div",{className:"d-flex align-items-center justify-content-start flex-grow-1 ml-4",children:r.jsxs("div",{style:{width:"30rem",position:"relative"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",border:"2px solid #ccc",borderRadius:"25px",padding:"8px 16px",background:"#fff",position:"relative"},children:[r.jsx("input",{type:"text",value:Z,onChange:m=>{de(m.target.value)},onKeyDown:m=>{m.key==="Enter"&&ie(Z)},placeholder:"Search",style:{flex:1,border:"none",outline:"none",fontSize:"16px",background:"transparent",padding:"4px"},autoComplete:"off"}),Z&&r.jsx("button",{type:"button",onClick:()=>{se()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",marginRight:"8px"},children:"✕"})]}),ee&&r.jsxs("div",{className:"search-loading-spinner-container",children:[r.jsx("div",{className:"search-loading-spinner"}),r.jsx("span",{children:"Searching..."})]}),X&&!ee&&r.jsx("div",{className:"no-results-message-desktop",children:r.jsx("p",{children:"We didn't find anything matching your search"})}),H&&r.jsx("div",{className:"search-error-message-desktop",children:r.jsxs("p",{children:["Search error: ",H]})}),C&&R.length>0&&r.jsxs("div",{className:"search-results-dropdown",children:[r.jsx("div",{className:"search-results-header",children:r.jsxs("span",{children:[M," result",M!==1?"s":""," found"]})}),r.jsxs("div",{className:"search-results-list",children:[R.slice(0,K).map((m,N)=>r.jsx(er,{result:m,onNavigate:U=>{we(),window.location.href=U},baseUrl:f?f():void 0},m.id||N)),K<R.length&&r.jsx("div",{className:"search-results-more",children:r.jsxs("button",{onClick:ge,style:{background:"none",border:"none",color:"#007bff",cursor:"pointer",padding:"8px 16px",width:"100%",textAlign:"center",fontSize:"14px"},children:["Show ",Math.min(10,R.length-K)," more results"]})})]})]})]})}),r.jsxs("div",{className:"d-flex align-items-center gap-2 ms-auto order-lg-3",children:[(o==null?void 0:o.reSync)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Xe,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Re-Sync"})}),(o==null?void 0:o.contextSwitcher)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Je,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Switch to User Mode"})}),(o==null?void 0:o.help)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ue,iconAs:x.Icon,alt:"Help",tooltipPlacement:"bottom",tooltipContent:"Help"})}),(o==null?void 0:o.notification)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ge,iconAs:x.Icon,alt:"Notifications",tooltipPlacement:"bottom",tooltipContent:"Notifications"})}),(o==null?void 0:o.translation)&&r.jsxs(x.Dropdown,{className:"language-dropdown",children:[r.jsx(x.Dropdown.Toggle,{variant:"tertiary",id:"language-dropdown",children:ve(u)}),r.jsx(x.Dropdown.Menu,{children:ye()})]}),r.jsx("div",{className:"usermenu-dropdown",children:r.jsx(Ze,{username:n==null?void 0:n.username,authenticatedUserAvatar:n==null?void 0:n.avatar,isMobile:d,isAdmin:n==null?void 0:n.administrator,menuItems:g})})]})]})}),n===null&&r.jsxs(r.Fragment,{children:[r.jsx(x.Navbar.Toggle,{"aria-controls":"main-navbar-nav"}),r.jsx("div",{className:"d-flex align-items-center gap-2 ms-auto order-lg-3",children:i&&r.jsxs(r.Fragment,{children:[r.jsx(x.Button,{variant:"primary",children:"Log In"}),r.jsx(x.Button,{variant:"outline-primary",children:"Sign Up"})]})})]}),r.jsx(x.Navbar.Collapse,{id:"main-navbar-nav",className:"justify-content-between",children:r.jsx(x.Nav,{className:`nav-gap gap-3 flex-grow-1 ${me}`,children:n===null&&s.map(m=>m.subMenu?r.jsx(x.NavDropdown,{title:m.label,id:`nav-dropdown-${m.label}`,children:m.subMenu.map(N=>r.jsx(x.NavDropdown.Item,{onClick:()=>console.log("Selected submenu:",N.label),children:N.label},`sub-${N.label}`))},`menu-${m.label}`):r.jsx(x.Nav.Link,{as:"span",className:"text-uppercase fw-semibold",children:m.label},`menu-${m.label}`))})}),v&&G&&r.jsxs("div",{className:"fixed-search-bar",children:[r.jsxs("div",{className:"fixed-search-bar-inner",children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",border:"2px solid #ccc",borderRadius:"25px",padding:"12px 16px",background:"#fff",position:"relative",width:"100%"},children:[r.jsx("input",{type:"text",value:Z,onChange:m=>{de(m.target.value)},onKeyDown:m=>{m.key==="Enter"&&ie(Z)},placeholder:"Search",style:{flex:1,border:"none",outline:"none",fontSize:"18px",background:"transparent",padding:"4px"},autoComplete:"off",autoFocus:!0}),Z&&r.jsx("button",{type:"button",onClick:()=>{se()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",marginRight:"8px",fontSize:"18px"},children:"✕"})]}),r.jsx("button",{className:"close-search-bar",type:"button",onClick:()=>E(!1),"aria-label":"Close Search",children:"×"})]}),ee&&r.jsxs("div",{className:"search-loading-spinner-container",children:[r.jsx("div",{className:"search-loading-spinner"}),r.jsx("span",{children:"Searching..."})]}),X&&!ee&&r.jsx("div",{className:"no-results-message",children:r.jsx("p",{children:"We didn't find anything matching your search"})}),H&&r.jsx("div",{className:"search-error-message",children:r.jsxs("p",{children:["Search error: ",H]})}),C&&R.length>0&&r.jsxs("div",{className:"search-results-mobile",children:[r.jsx("div",{className:"search-results-header",children:r.jsxs("span",{children:[M," result",M!==1?"s":""," found"]})}),r.jsxs("div",{className:"search-results-list",children:[R.slice(0,K).map((m,N)=>r.jsx(er,{result:m,onNavigate:U=>{we(),window.location.href=U},baseUrl:f?f():void 0},m.id||N)),K<R.length&&r.jsx("div",{className:"search-results-more",children:r.jsxs("button",{onClick:ge,style:{background:"none",border:"none",color:"#007bff",cursor:"pointer",padding:"12px 16px",width:"100%",textAlign:"center",fontSize:"16px"},children:["Show ",Math.min(10,R.length-K)," more results"]})})]})]})]})]})},ar=b.createContext(void 0),Yr=({children:t,meiliSearchConfig:s})=>{const[i,n]=b.useState(""),[g,h]=b.useState([]),[j,f]=b.useState(0),[v,o]=b.useState(!1),[c,d]=b.useState(!1),[p,y]=b.useState(null),[u,P]=b.useState(0),[G,E]=b.useState(!1),[D,O]=b.useState(!1),[X,L]=b.useState(null),Z=ir(s),F=async z=>{if(!z.trim()){Q();return}o(!0),d(!1),y(null),P(0);try{const H=await Z.search(z,{limit:20,offset:0}),q=H.hits.map(C=>{var W,K,B;return{id:C.id,title:((W=C._formatted)==null?void 0:W.display_name)||C.display_name,type:C.type,url:C.url,description:((K=C._formatted)==null?void 0:K.description)||C.description,block_type:C.block_type,published:((B=C._formatted)==null?void 0:B.published)||C.published,_formatted:C._formatted}}),M=H.totalHits,V=q.length===20&&M>q.length;h(q),f(M),E(V),L(H.facets||null)}catch(H){console.error("Search error:",H),d(!0),y(H instanceof Error?H.message:"Search failed"),h([]),f(0),E(!1),L(null)}finally{o(!1)}},R=async()=>{if(!(!G||D)){O(!0);try{const z=u+20,H=await Z.simpleSearch(i,{limit:20,offset:z}),q=H.hits.map(C=>{var W,K,B;return{id:C.id,title:((W=C._formatted)==null?void 0:W.display_name)||C.display_name,type:C.type,url:C.url,description:((K=C._formatted)==null?void 0:K.description)||C.description,block_type:C.block_type,published:((B=C._formatted)==null?void 0:B.published)||C.published,_formatted:C._formatted}}),M=H.totalHits,V=q.length===20&&M>g.length+q.length;h(C=>[...C,...q]),f(M),E(V),P(z)}catch(z){console.error("Error fetching next page:",z),d(!0),y(z instanceof Error?z.message:"Failed to load more results")}finally{O(!1)}}},Q=()=>{n(""),h([]),f(0),d(!1),y(null),P(0),E(!1),L(null)},ee={searchKeywords:i,setSearchKeywords:n,searchResults:g,totalHits:j,isLoading:v,hasError:c,errorMessage:p,facets:X,performSearch:F,clearSearch:Q,hasNextPage:G,fetchNextPage:R,isFetchingNextPage:D};return r.jsx(ar.Provider,{value:ee,children:t})},Jr=()=>{const t=b.useContext(ar);if(t===void 0)throw new Error("useSimpleSearch must be used within a SimpleSearchProvider");return t},Ur=t=>{try{if(t.status!==200)throw new Error("Failed to fetch theme config");const s=t.data.theme_colors;if(!s||typeof s!="object")throw new Error("Invalid theme_colors in API response");const i=document.documentElement;for(const n in s)if(Object.prototype.hasOwnProperty.call(s,n)){const g=s[n];i.style.setProperty(`--${n.replace(/_/g,"-")}`,g)}}catch(s){console.error("Error applying theme from API:",s.message);const i={primary:"#2B2399",primary_alt:"#3C32B5",primary_hover:"#E2E1F9",primary_active:"#1F1A7D",primary_light:"#E2E1F9",secondary:"#7A8AFF",secondary_alt:"#5C6EF0",secondary_hover:"#ECEEFF",secondary_active:"#4A5BD1",secondary_light:"#ECEEFF"},n=document.documentElement;for(const g in i)if(Object.prototype.hasOwnProperty.call(i,g)){const h=i[g];n.style.setProperty(`--${g.replace(/_/g,"-")}`,h)}}},Gr=({announcementType:t,data:s})=>{const[i,n]=b.useState(()=>{const f=localStorage.getItem(t);return f?(Date.now()-parseInt(f,10))/36e5>=24:!0}),[g,h]=b.useState(!1),j=()=>{h(!0),setTimeout(()=>{n(!1),h(!1),localStorage.setItem(t,Date.now().toString())},1e3)};return b.useEffect(()=>{const v=setInterval(()=>{const o=localStorage.getItem(t);o&&(Date.now()-parseInt(o,10))/36e5>=24&&(localStorage.removeItem(t),n(!0))},36e5);return()=>clearInterval(v)},[t]),!s||s.trim()===""||!i&&!g?null:r.jsxs("div",{className:`announcement-banner ${g?"hideBanner":"showBanner"}`,style:{display:!i&&!g?"none":"flex"},children:[r.jsx("div",{className:"announcement-content",dangerouslySetInnerHTML:{__html:s}}),r.jsx(x.Icon,{src:Nr,className:"close-icon",onClick:j,"aria-label":"Close announcement banner"})]})};exports.AnnouncementBanner=Gr;exports.Footer=Or;exports.MainHeader=Kr;exports.Sidebar=kr;exports.SidebarProvider=Rr;exports.SimpleSearchProvider=Yr;exports.dynamicTheme=Ur;exports.useSidebar=Ne;exports.useSimpleSearch=Jr;
|
|
27
|
+
Check the top-level render call using <`+l+">.")}return a}}function He(e,a){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var l=gr(a);if(Le[l])return;Le[l]=!0;var w="";e&&e._owner&&e._owner!==Se.current&&(w=" It was passed a child from "+M(e._owner.type)+"."),fe(e),R('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',l,w),fe(null)}}function Fe(e,a){{if(typeof e!="object")return;if(Array.isArray(e))for(var l=0;l<e.length;l++){var w=e[l];Oe(w)&&He(w,a)}else if(Oe(e))e._store&&(e._store.validated=!0);else if(e){var T=Z(e);if(typeof T=="function"&&T!==e.entries)for(var k=T.call(e),S;!(S=k.next()).done;)Oe(S.value)&&He(S.value,a)}}}function vr(e){{var a=e.type;if(a==null||typeof a=="string")return;var l;if(typeof a=="function")l=a.propTypes;else if(typeof a=="object"&&(a.$$typeof===o||a.$$typeof===f))l=a.propTypes;else return;if(l){var w=M(a);xe(l,e.props,"prop",w,e)}else if(a.PropTypes!==void 0&&!Ce){Ce=!0;var T=M(a);R("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",T||"Unknown")}typeof a.getDefaultProps=="function"&&!a.getDefaultProps.isReactClassApproved&&R("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function xr(e){{for(var a=Object.keys(e.props),l=0;l<a.length;l++){var w=a[l];if(w!=="children"&&w!=="key"){fe(e),R("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",w),fe(null);break}}e.ref!==null&&(fe(e),R("Invalid attribute `ref` supplied to `React.Fragment`."),fe(null))}}function ze(e,a,l,w,T,k){{var S=z(e);if(!S){var _="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(_+=" 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 Y=mr();Y?_+=Y:_+=$e();var I;e===null?I="null":Array.isArray(e)?I="array":e!==void 0&&e.$$typeof===n?(I="<"+(M(e.type)||"Unknown")+" />",_=" Did you accidentally export a JSX literal instead of a component?"):I=typeof e,R("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",I,_)}var A=pr(e,a,l,T,k);if(A==null)return A;if(S){var re=a.children;if(re!==void 0)if(w)if(Array.isArray(re)){for(var he=0;he<re.length;he++)Fe(re[he],e);Object.freeze&&Object.freeze(re)}else R("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 Fe(re,e)}return e===t.Fragment?xr(A):vr(A),A}}function br(e,a,l){return ze(e,a,l,!0)}function wr(e,a,l){return ze(e,a,l,!1)}var yr=wr,jr=br;t.jsx=yr,t.jsxs=jr})()})(ke)),ke}var Ye;function Cr(){return Ye||(Ye=1,process.env.NODE_ENV==="production"?je.exports=Er():je.exports=Sr()),je.exports}var r=Cr();const Or=({contactInfo:t,quickLinks:i,exploreLinks:s,logoUrl:n,copyrights:v})=>{const h=j=>j??"left";return r.jsxs("footer",{className:"footer",children:[r.jsxs("div",{className:"container",children:[r.jsxs("div",{className:`section ${h(t.align)}`,children:[r.jsx("div",{className:"footer-brand-logo",children:r.jsx("img",{src:n,alt:"Logo"})}),r.jsx("p",{children:t.content.shortdesc}),r.jsxs("p",{children:[t.content.location.label,", ",t.content.location.value]}),r.jsxs("p",{children:["📞 ",t.content.phonenumber]})]}),r.jsx("div",{className:`section ${h(i.align)}`,children:r.jsxs("ul",{children:[r.jsx("h3",{children:"Quick Links"}),i.content.map((j,p)=>r.jsx("li",{children:r.jsx("a",{href:j.link,children:j.label})},p))]})}),r.jsx("div",{className:`section ${h(s.align)}`,children:r.jsxs("ul",{children:[r.jsx("h3",{children:"Explore"}),s.content.map((j,p)=>r.jsx("li",{children:r.jsx("a",{href:j.link,children:j.label})},p))]})})]}),r.jsx("div",{className:"copyright",children:r.jsx("p",{children:v})})]})},nr=b.createContext(void 0),Rr=({children:t})=>{const[i,s]=b.useState(!1),n=()=>{s(h=>!h)},v=h=>{s(h)};return r.jsx(nr.Provider,{value:{isCollapsed:i,toggleSidebar:n,setSidebarCollapsed:v},children:t})},Ne=()=>{const t=b.useContext(nr);if(t===void 0)throw new Error("useSidebar must be used within a SidebarProvider");return t},kr=({buttons:t,onNavigate:i,presentPath:s})=>{const{isCollapsed:n,setSidebarCollapsed:v}=Ne(),[h,j]=b.useState(!0),p=b.useRef(null),[g,o]=b.useState(()=>document.dir==="rtl"||document.documentElement.dir==="rtl");return b.useEffect(()=>{const c=()=>{o(document.dir==="rtl"||document.documentElement.dir==="rtl")},d=new MutationObserver(c);return d.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]}),()=>d.disconnect()},[]),b.useEffect(()=>{const c=t.some(d=>d.path===s);j(c),!c&&!n&&s.includes("/course/")&&!s.includes("/learning/course/")&&v(!0)},[s]),b.useEffect(()=>{const c=d=>{!h&&p.current&&!p.current.contains(d.target)&&s.includes("/course/")&&!s.includes("/learning/course/")&&(n||v(!0))};return document.addEventListener("mousedown",c),()=>{document.removeEventListener("mousedown",c)}},[h,n,v]),r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`sidebar ${n?"collapsed":""}`,ref:p,children:r.jsx("div",{className:"sidebar-buttons",children:t.map(c=>{const d=c.path===s||(s.includes("/course/")||s.includes("/course_rerun/"))&&c.path==="/my-courses"||s.includes("/library/")&&c.path==="/libraries"||s.includes("/taxonomy/")&&c.path==="/taxonomies";return r.jsx(x.OverlayTrigger,{placement:g?"left":"right",overlay:r.jsx(x.Tooltip,{id:`tooltip-${c.path}`,children:c.label}),show:n?void 0:!1,popperConfig:{modifiers:[{name:"preventOverflow",options:{altAxis:!0,boundary:"viewport"}}]},children:r.jsx(x.Button,{variant:"tertiary",className:`sidebar-btn ${d?"pgn-btn-active":"pgn-btn-inactive"}`,onClick:()=>i(c.path),children:r.jsxs("div",{className:"btn-content",children:[r.jsx("span",{className:"icon-container",children:c.icon}),r.jsx("span",{className:"btn-label",children:c.label})]})})},c.path)})})}),!h&&!n&&r.jsx("div",{className:"sidebar-extra-space"})]})},Tr=(t=768)=>{const[i,s]=b.useState(!1);return b.useEffect(()=>{const n=()=>{s(window.innerWidth<=t)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[t]),i},Nr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z",fill:"currentColor"})),Je=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M10.09 15.59 11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM21 3H3v6h2V5h14v14H5v-4H3v6h18V3z",fill:"currentColor"})),Ue=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M21 3H3v18h18V3zm-8.99 15c-.7 0-1.26-.56-1.26-1.26 0-.71.56-1.25 1.26-1.25.71 0 1.25.54 1.25 1.25-.01.69-.54 1.26-1.25 1.26zm3.01-7.4c-.76 1.11-1.48 1.46-1.87 2.17-.16.29-.22.48-.22 1.41h-1.82c0-.49-.08-1.29.31-1.98.49-.87 1.42-1.39 1.96-2.16.57-.81.25-2.33-1.37-2.33-1.06 0-1.58.8-1.8 1.48l-1.65-.7C9.01 7.15 10.22 6 11.99 6c1.48 0 2.49.67 3.01 1.52.44.72.7 2.07.02 3.08z",fill:"currentColor"})),Ir=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z",fill:"currentColor"})),Pr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z",fill:"currentColor"})),Ge=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M12 22c1.1 0 2-.9 2-2h-4a2 2 0 0 0 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V2.5h-3v2.18C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z",fill:"currentColor"})),Ar=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M19 19H5V5h7V3H3v18h18v-9h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z",fill:"currentColor"})),Mr=t=>$.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},$.createElement("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5Zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14Z",fill:"currentColor"})),Xe=t=>$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",...t},$.createElement("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0 0 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 0 0 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z",fill:"currentColor"})),Dr=({id:t,buttonTitle:i,items:s})=>r.jsx(x.DropdownButton,{id:t,title:i,variant:"tertiary",className:"mr-2",children:s.map(n=>r.jsx(x.Dropdown.Item,{href:n.href,as:"a",className:"small",children:n.title},`${n.title}-dropdown-item`))}),Ze=({username:t,authenticatedUserAvatar:i,isMobile:s,menuItems:n})=>{const v=i?r.jsx("img",{className:"d-block w-100 h-100",src:i,alt:t,"data-testid":"avatar-image"}):r.jsx(x.Avatar,{size:"sm",className:"mr-2",alt:"avatar","data-testid":"avatar-icon"}),h=s?v:r.jsxs(r.Fragment,{children:[t," ",v]});return r.jsx(Dr,{buttonTitle:h,id:"user-dropdown-menu",items:n})};var be={},Qe;function $r(){if(Qe)return be;Qe=1,Object.defineProperty(be,"__esModule",{value:!0}),be.parse=j,be.serialize=o;const t=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,i=/^[\u0021-\u003A\u003C-\u007E]*$/,s=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,n=/^[\u0020-\u003A\u003D-\u007E]*$/,v=Object.prototype.toString,h=(()=>{const f=function(){};return f.prototype=Object.create(null),f})();function j(f,y){const u=new h,P=f.length;if(P<2)return u;const G=(y==null?void 0:y.decode)||c;let E=0;do{const D=f.indexOf("=",E);if(D===-1)break;const O=f.indexOf(";",E),X=O===-1?P:O;if(D>X){E=f.lastIndexOf(";",D-1)+1;continue}const L=p(f,E,D),Z=g(f,D,L),F=f.slice(L,Z);if(u[F]===void 0){let R=p(f,D+1,X),Q=g(f,X,R);const ee=G(f.slice(R,Q));u[F]=ee}E=X+1}while(E<P);return u}function p(f,y,u){do{const P=f.charCodeAt(y);if(P!==32&&P!==9)return y}while(++y<u);return u}function g(f,y,u){for(;y>u;){const P=f.charCodeAt(--y);if(P!==32&&P!==9)return y+1}return u}function o(f,y,u){const P=(u==null?void 0:u.encode)||encodeURIComponent;if(!t.test(f))throw new TypeError(`argument name is invalid: ${f}`);const G=P(y);if(!i.test(G))throw new TypeError(`argument val is invalid: ${y}`);let E=f+"="+G;if(!u)return E;if(u.maxAge!==void 0){if(!Number.isInteger(u.maxAge))throw new TypeError(`option maxAge is invalid: ${u.maxAge}`);E+="; Max-Age="+u.maxAge}if(u.domain){if(!s.test(u.domain))throw new TypeError(`option domain is invalid: ${u.domain}`);E+="; Domain="+u.domain}if(u.path){if(!n.test(u.path))throw new TypeError(`option path is invalid: ${u.path}`);E+="; Path="+u.path}if(u.expires){if(!d(u.expires)||!Number.isFinite(u.expires.valueOf()))throw new TypeError(`option expires is invalid: ${u.expires}`);E+="; Expires="+u.expires.toUTCString()}if(u.httpOnly&&(E+="; HttpOnly"),u.secure&&(E+="; Secure"),u.partitioned&&(E+="; Partitioned"),u.priority)switch(typeof u.priority=="string"?u.priority.toLowerCase():void 0){case"low":E+="; Priority=Low";break;case"medium":E+="; Priority=Medium";break;case"high":E+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${u.priority}`)}if(u.sameSite)switch(typeof u.sameSite=="string"?u.sameSite.toLowerCase():u.sameSite){case!0:case"strict":E+="; SameSite=Strict";break;case"lax":E+="; SameSite=Lax";break;case"none":E+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${u.sameSite}`)}return E}function c(f){if(f.indexOf("%")===-1)return f;try{return decodeURIComponent(f)}catch{return f}}function d(f){return v.call(f)==="[object Date]"}return be}var _e=$r();function Lr(){const t=typeof global>"u"?void 0:global.TEST_HAS_DOCUMENT_COOKIE;return typeof t=="boolean"?t:typeof document=="object"&&typeof document.cookie=="string"}function Hr(t){return typeof t=="string"?_e.parse(t):typeof t=="object"&&t!==null?t:{}}function Te(t,i={}){const s=Fr(t);if(!i.doNotParse)try{return JSON.parse(s)}catch{}return t}function Fr(t){return t&&t[0]==="j"&&t[1]===":"?t.substr(2):t}class zr{constructor(i,s={}){this.changeListeners=[],this.HAS_DOCUMENT_COOKIE=!1,this.update=()=>{if(!this.HAS_DOCUMENT_COOKIE)return;const v=this.cookies;this.cookies=_e.parse(document.cookie),this._checkChanges(v)};const n=typeof document>"u"?"":document.cookie;this.cookies=Hr(i||n),this.defaultSetOptions=s,this.HAS_DOCUMENT_COOKIE=Lr()}_emitChange(i){for(let s=0;s<this.changeListeners.length;++s)this.changeListeners[s](i)}_checkChanges(i){new Set(Object.keys(i).concat(Object.keys(this.cookies))).forEach(n=>{i[n]!==this.cookies[n]&&this._emitChange({name:n,value:Te(this.cookies[n])})})}_startPolling(){this.pollingInterval=setInterval(this.update,300)}_stopPolling(){this.pollingInterval&&clearInterval(this.pollingInterval)}get(i,s={}){return s.doNotUpdate||this.update(),Te(this.cookies[i],s)}getAll(i={}){i.doNotUpdate||this.update();const s={};for(let n in this.cookies)s[n]=Te(this.cookies[n],i);return s}set(i,s,n){n?n=Object.assign(Object.assign({},this.defaultSetOptions),n):n=this.defaultSetOptions;const v=typeof s=="string"?s:JSON.stringify(s);this.cookies=Object.assign(Object.assign({},this.cookies),{[i]:v}),this.HAS_DOCUMENT_COOKIE&&(document.cookie=_e.serialize(i,v,n)),this._emitChange({name:i,value:s,options:n})}remove(i,s){const n=s=Object.assign(Object.assign(Object.assign({},this.defaultSetOptions),s),{expires:new Date(1970,1,1,0,0,1),maxAge:0});this.cookies=Object.assign({},this.cookies),delete this.cookies[i],this.HAS_DOCUMENT_COOKIE&&(document.cookie=_e.serialize(i,"",n)),this._emitChange({name:i,value:void 0,options:s})}addChangeListener(i){this.changeListeners.push(i),this.HAS_DOCUMENT_COOKIE&&this.changeListeners.length===1&&(typeof window=="object"&&"cookieStore"in window?window.cookieStore.addEventListener("change",this.update):this._startPolling())}removeChangeListener(i){const s=this.changeListeners.indexOf(i);s>=0&&this.changeListeners.splice(s,1),this.HAS_DOCUMENT_COOKIE&&this.changeListeners.length===0&&(typeof window=="object"&&"cookieStore"in window?window.cookieStore.removeEventListener("change",this.update):this._stopPolling())}removeAllChangeListeners(){for(;this.changeListeners.length>0;)this.removeChangeListener(this.changeListeners[0])}}class Vr{constructor(i){if(!i.host)throw new Error("MeiliSearch host is required");if(!i.apiKey)throw new Error("MeiliSearch apiKey is required");if(!i.indexName)throw new Error("MeiliSearch indexName is required");this.config=i,this.headers={"Content-Type":"application/json",Authorization:`Bearer ${i.apiKey}`,"X-Meilisearch-Client":"Meilisearch JavaScript (v0.41.0)"}}updateHeadersFromClient(i){i&&i.httpRequest&&i.httpRequest.headers&&(this.headers={"Content-Type":i.httpRequest.headers["Content-Type"]||"application/json",Authorization:i.httpRequest.headers.Authorization||`Bearer ${this.config.apiKey}`,"X-Meilisearch-Client":i.httpRequest.headers["X-Meilisearch-Client"]||"Meilisearch JavaScript (v0.41.0)"})}async search(i,s={}){const{limit:n=20,offset:v=0,filter:h=['type = "course_block"'],attributesToHighlight:j=["display_name","description","published"],attributesToCrop:p=["description","published"],sort:g=[]}=s;if(!this.config.indexName)throw new Error("MeiliSearch indexName is required");const o={queries:[{indexUid:this.config.indexName,q:i,filter:[[],...h],attributesToHighlight:j,highlightPreTag:"__meili-highlight__",highlightPostTag:"__/meili-highlight__",attributesToCrop:p,sort:g,offset:v,limit:n},{indexUid:this.config.indexName,facets:["block_type","content.problem_types"],filter:h,limit:0}]},c={...this.headers};try{const d=await fetch(`${this.config.host}/multi-search`,{method:"POST",headers:c,body:JSON.stringify(o)});if(!d.ok)throw new Error(`MeiliSearch API error: ${d.status} ${d.statusText}`);const f=await d.json(),y=f.results[0],u=f.results[1];return{hits:y.hits||[],totalHits:y.estimatedTotalHits||0,facets:u.facetDistribution,processingTimeMs:y.processingTimeMs}}catch(d){throw console.error("MeiliSearch service error:",d),new Error(`Search failed: ${d instanceof Error?d.message:"Unknown error"}`)}}async simpleSearch(i,s={}){const{limit:n=20,offset:v=0,filter:h=['type = "course_block"'],attributesToHighlight:j=["display_name","description","published"],attributesToCrop:p=["description","published"],sort:g=[]}=s,o={queries:[{indexUid:this.config.indexName,q:i,filter:[[],...h],attributesToHighlight:j,highlightPreTag:"__meili-highlight__",highlightPostTag:"__/meili-highlight__",attributesToCrop:p,sort:g,offset:v,limit:n}]},c={...this.headers};try{const d=await fetch(`${this.config.host}/multi-search`,{method:"POST",headers:c,body:JSON.stringify(o)});if(!d.ok)throw new Error(`MeiliSearch API error: ${d.status} ${d.statusText}`);const y=(await d.json()).results[0];return{hits:y.hits||[],totalHits:y.estimatedTotalHits||0,processingTimeMs:y.processingTimeMs}}catch(d){throw console.error("MeiliSearch service error:",d),new Error(`Search failed: ${d instanceof Error?d.message:"Unknown error"}`)}}async checkConnection(){try{return(await fetch(`${this.config.host}/health`,{method:"GET",headers:{Authorization:`Bearer ${this.config.apiKey}`,"X-Meilisearch-Client":"Meilisearch JavaScript (v0.41.0)"}})).ok}catch(i){return console.error("MeiliSearch connection check failed:",i),!1}}}const ir=t=>new Vr(t);function sr(t,i){const{contextKey:s,usageKey:n}=t;return s?s.startsWith("course-v1:")?`${i||""}/course/${s}?show=${encodeURIComponent(n||"")}`:s.startsWith("library-v1:")?`${i||""}/library/${s}`:"#":"#"}function qr(t,i,s){const n=sr(t,i);return n==="#"?(console.warn("Could not generate URL for search hit:",t),"#"):(s?s(n):(n.startsWith("http"),window.location.href=n),n)}const Be=({text:t,highlightTag:i="__meili-highlight__"})=>{if(!t)return null;const s="__/meili-highlight__",n=t.split(i),v=[];return n.forEach((h,j)=>{if(j===0)h&&v.push(h);else{const p=h.indexOf(s);if(p!==-1){const g=h.substring(0,p),o=h.substring(p+s.length);g&&v.push(r.jsx("mark",{className:"search-highlight",children:g},`highlight-${j}`)),o&&v.push(o)}else v.push(r.jsx("mark",{className:"search-highlight",children:h},`highlight-${j}`))}}),r.jsx(r.Fragment,{children:v})};function Wr(t){return{html:"text",video:"video",problem:"quiz",vertical:"folder",sequential:"folder",chapter:"folder",about:"info",static_tab:"text",openassessment:"quiz",lti_consumer:"link",pdf:"file",scorm:"file",itembank:"library",library_content:"library"}[t]||"text"}const er=({result:t,onNavigate:i,baseUrl:s})=>{var g,o;const n=c=>{var y;c.preventDefault(),c.stopPropagation();const d={id:t.id,blockType:t.block_type||t.type,contextKey:t.context_key,usageKey:t.usage_key,breadcrumbs:((y=t.breadcrumbs)==null?void 0:y.map(u=>({displayName:u.display_name,usageKey:u.usage_key})))||[]};if(t.url){i?i(t.url):window.location.href=t.url;return}qr(d,s,i)==="#"&&(i?i(`/search-result/${t.id}`):window.location.href=`/search-result/${t.id}`)},v=c=>{var y;c.preventDefault(),c.stopPropagation();const d={id:t.id,blockType:t.block_type||t.type,contextKey:t.context_key,usageKey:t.usage_key,breadcrumbs:((y=t.breadcrumbs)==null?void 0:y.map(u=>({displayName:u.display_name,usageKey:u.usage_key})))||[]},f=sr(d,s);f&&f!=="#"&&window.open(f,"_blank")},h=((g=t._formatted)==null?void 0:g.display_name)||t.display_name,j=((o=t._formatted)==null?void 0:o.description)||t.description,p=t.block_type||t.type;return r.jsx("div",{className:"search-result-item",onClick:n,role:"button",tabIndex:0,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&n(c)},children:r.jsxs("div",{className:"search-result-content",children:[r.jsx("div",{className:"search-result-icon",children:r.jsx(x.Icon,{src:Wr(p)})}),r.jsxs("div",{className:"search-result-text",children:[r.jsx("div",{className:"search-result-title",children:r.jsx(Be,{text:h})}),j&&r.jsx("div",{className:"search-result-description",children:r.jsx(Be,{text:j})}),t.breadcrumbs&&t.breadcrumbs.length>0&&r.jsx("div",{className:"search-result-breadcrumbs",children:t.breadcrumbs.map(c=>c.display_name).join(" / ")})]}),r.jsx("div",{className:"search-result-actions",children:r.jsx(x.IconButton,{src:Ar,iconAs:x.Icon,onClick:v,alt:"Open in new window",size:"sm"})})]})})},rr=new zr,Kr=({logoUrl:t,menuList:i,loginSignupButtons:s,authenticatedUser:n=null,userMenuItems:v,menuAlignment:h,onLanguageChange:j,getBaseUrl:p,meiliSearchConfig:g,headerButtons:o,languageSelectorList:c})=>{const d=Tr(),{toggleSidebar:f,setSidebarCollapsed:y}=Ne(),[u,P]=b.useState(()=>rr.get("openedx-language-preference")||"en"),[G,E]=b.useState(!1),[D,O]=b.useState(!1),[X,L]=b.useState(!1),[Z,F]=b.useState(""),[R,Q]=b.useState([]),[ee,z]=b.useState(!1),[H,q]=b.useState(null),[M,V]=b.useState(0),[C,W]=b.useState(!1),[K,B]=b.useState(5),oe=b.useRef(null),J=b.useRef(null),ne=b.useRef(g?ir(g):null),ce=b.useRef(!1);b.useEffect(()=>{g!=null&&g.client&&ne.current&&ne.current.updateHeadersFromClient(g.client)},[g==null?void 0:g.client]),b.useEffect(()=>()=>{J.current&&clearTimeout(J.current)},[]),b.useEffect(()=>{document.body.dir=u==="ar"?"rtl":"ltr"},[u]),b.useEffect(()=>{d&&!ce.current?(y(!0),ce.current=!0):d||(ce.current=!1)},[d,y]),b.useEffect(()=>{if(!D)return;function m(N){oe.current&&!oe.current.contains(N.target)&&O(!1)}return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[D]);const le=m=>{P(m),rr.set("openedx-language-preference",m,{path:p?p():"/"}),j&&j()},me=h&&{left:"justify-content-start",center:"justify-content-center",right:"justify-content-end"}[h.toLowerCase()]||"justify-content-start",ue=async m=>{if(!m.trim()||!g||!ne.current){Q([]),V(0),L(!1),W(!1);return}z(!0),q(null),L(!1),B(5);try{const N=await ne.current.simpleSearch(m,{limit:20,offset:0});Q(N.hits),V(N.totalHits),L(N.totalHits===0),W(!0)}catch(N){q(N instanceof Error?N.message:"Search failed"),L(!0),Q([]),V(0)}finally{z(!1)}},ie=m=>{F(m),ue(m),d&&G&&E(!1)},de=m=>{F(m),X&&m.trim()===""&&(L(!1),W(!1)),J.current&&clearTimeout(J.current),m.trim().length>0?J.current=setTimeout(()=>{ue(m)},500):(Q([]),V(0),L(!1),W(!1))},se=()=>{J.current&&(clearTimeout(J.current),J.current=null),F(""),Q([]),V(0),L(!1),W(!1),q(null),z(!1)},we=()=>{F(""),Q([]),V(0),L(!1),W(!1),q(null),z(!1),B(5),J.current&&(clearTimeout(J.current),J.current=null)},ge=()=>{B(m=>Math.min(m+10,R.length))},ve=m=>{if(c&&c.length>0){const U=c.find(xe=>xe[m]);if(U)return U[m]}return{en:"English",ar:"Arabic",hi:"Hindi"}[m]||m.toUpperCase()},ye=()=>c&&c.length>0?c.map((m,N)=>{const[U,xe]=Object.entries(m)[0];return r.jsx(x.Dropdown.Item,{onClick:()=>le(U),children:xe},`lang-${U}-${N}`)}):r.jsxs(r.Fragment,{children:[r.jsx(x.Dropdown.Item,{onClick:()=>le("en"),children:"English"}),r.jsx(x.Dropdown.Item,{onClick:()=>le("ar"),children:"Arabic"}),r.jsx(x.Dropdown.Item,{onClick:()=>le("hi"),children:"Hindi"})]}),ae=(o==null?void 0:o.reSync)||(o==null?void 0:o.contextSwitcher)||(o==null?void 0:o.help)||(o==null?void 0:o.notification)||(o==null?void 0:o.translation);return r.jsxs(x.Navbar,{expand:"lg",className:"navbarContainer py-1",children:[r.jsxs("div",{className:"d-flex align-items-center",children:[r.jsx("div",{className:"toggle-sidebar-icon",children:r.jsx(x.IconButton,{src:Ir,iconAs:x.Icon,alt:"Toggle Sidebar",onClick:f,className:"ms-2 ml-2",onMouseDown:m=>m.stopPropagation()})}),r.jsx(x.Navbar.Brand,{href:"/",className:"navbar-brand",children:r.jsx("img",{src:t,alt:"Logo"})})]}),n!==null&&r.jsx(r.Fragment,{children:d?r.jsx("div",{className:"d-flex justify-content-between align-items-center ml-auto",children:r.jsxs("div",{className:"d-flex align-items-center navbar-buttons",children:[g&&r.jsx(x.IconButton,{src:Mr,iconAs:x.Icon,alt:"Search",onClick:()=>E(!0)}),r.jsx("div",{className:"ml-2 usermenu-dropdown-mobile",children:r.jsx(Ze,{username:n==null?void 0:n.username,authenticatedUserAvatar:n==null?void 0:n.avatar,isMobile:d,isAdmin:n==null?void 0:n.administrator,menuItems:v})}),ae&&r.jsx(x.IconButton,{src:Pr,iconAs:x.Icon,alt:"More",onMouseDown:m=>m.stopPropagation(),onClick:()=>O(m=>!m)}),D&&ae&&r.jsxs("div",{className:"more-menu-dropdown",ref:oe,children:[r.jsxs("div",{className:"more-menu-icons-row",children:[(o==null?void 0:o.reSync)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Xe,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Re-Sync"})}),(o==null?void 0:o.contextSwitcher)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Je,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Switch to User Mode"})}),(o==null?void 0:o.help)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ue,iconAs:x.Icon,alt:"Help",tooltipPlacement:"bottom",tooltipContent:"Help"})}),(o==null?void 0:o.notification)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ge,iconAs:x.Icon,alt:"Notifications",tooltipPlacement:"bottom",tooltipContent:"Notifications"})})]}),(o==null?void 0:o.translation)&&r.jsxs(x.Dropdown,{className:"language-dropdown",children:[r.jsx(x.Dropdown.Toggle,{variant:"tertiary",id:"language-dropdown",children:ve(u)}),r.jsx(x.Dropdown.Menu,{children:ye()})]})]})]})}):r.jsxs(r.Fragment,{children:[g&&r.jsx("div",{className:"d-flex align-items-center justify-content-start flex-grow-1 ml-4",children:r.jsxs("div",{style:{width:"30rem",position:"relative"},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",border:"2px solid #ccc",borderRadius:"25px",padding:"8px 16px",background:"#fff",position:"relative"},children:[r.jsx("input",{type:"text",value:Z,onChange:m=>{de(m.target.value)},onKeyDown:m=>{m.key==="Enter"&&ie(Z)},placeholder:"Search",style:{flex:1,border:"none",outline:"none",fontSize:"16px",background:"transparent",padding:"4px"},autoComplete:"off"}),Z&&r.jsx("button",{type:"button",onClick:()=>{se()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",marginRight:"8px"},children:"✕"})]}),ee&&r.jsxs("div",{className:"search-loading-spinner-container",children:[r.jsx("div",{className:"search-loading-spinner"}),r.jsx("span",{children:"Searching..."})]}),X&&!ee&&r.jsx("div",{className:"no-results-message-desktop",children:r.jsx("p",{children:"We didn't find anything matching your search"})}),H&&r.jsx("div",{className:"search-error-message-desktop",children:r.jsxs("p",{children:["Search error: ",H]})}),C&&R.length>0&&r.jsxs("div",{className:"search-results-dropdown",children:[r.jsx("div",{className:"search-results-header",children:r.jsxs("span",{children:[M," result",M!==1?"s":""," found"]})}),r.jsxs("div",{className:"search-results-list",children:[R.slice(0,K).map((m,N)=>r.jsx(er,{result:m,onNavigate:U=>{we(),window.location.href=U},baseUrl:p?p():void 0},m.id||N)),K<R.length&&r.jsx("div",{className:"search-results-more",children:r.jsxs("button",{onClick:ge,style:{background:"none",border:"none",color:"#007bff",cursor:"pointer",padding:"8px 16px",width:"100%",textAlign:"center",fontSize:"14px"},children:["Show ",Math.min(10,R.length-K)," more results"]})})]})]})]})}),r.jsxs("div",{className:"d-flex align-items-center gap-2 ms-auto order-lg-3",children:[(o==null?void 0:o.reSync)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Xe,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Re-Sync"})}),(o==null?void 0:o.contextSwitcher)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Je,iconAs:x.Icon,alt:"Sync",tooltipPlacement:"bottom",tooltipContent:"Switch to User Mode"})}),(o==null?void 0:o.help)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ue,iconAs:x.Icon,alt:"Help",tooltipPlacement:"bottom",tooltipContent:"Help"})}),(o==null?void 0:o.notification)&&r.jsx("div",{className:"icon-curved-square",children:r.jsx(x.IconButtonWithTooltip,{src:Ge,iconAs:x.Icon,alt:"Notifications",tooltipPlacement:"bottom",tooltipContent:"Notifications"})}),(o==null?void 0:o.translation)&&r.jsxs(x.Dropdown,{className:"language-dropdown",children:[r.jsx(x.Dropdown.Toggle,{variant:"tertiary",id:"language-dropdown",children:ve(u)}),r.jsx(x.Dropdown.Menu,{children:ye()})]}),r.jsx("div",{className:"usermenu-dropdown",children:r.jsx(Ze,{username:n==null?void 0:n.username,authenticatedUserAvatar:n==null?void 0:n.avatar,isMobile:d,isAdmin:n==null?void 0:n.administrator,menuItems:v})})]})]})}),n===null&&r.jsxs(r.Fragment,{children:[r.jsx(x.Navbar.Toggle,{"aria-controls":"main-navbar-nav"}),r.jsx("div",{className:"d-flex align-items-center gap-2 ms-auto order-lg-3",children:s&&r.jsxs(r.Fragment,{children:[r.jsx(x.Button,{variant:"primary",children:"Log In"}),r.jsx(x.Button,{variant:"outline-primary",children:"Sign Up"})]})})]}),r.jsx(x.Navbar.Collapse,{id:"main-navbar-nav",className:"justify-content-between",children:r.jsx(x.Nav,{className:`nav-gap gap-3 flex-grow-1 ${me}`,children:n===null&&i.map(m=>m.subMenu?r.jsx(x.NavDropdown,{title:m.label,id:`nav-dropdown-${m.label}`,children:m.subMenu.map(N=>r.jsx(x.NavDropdown.Item,{onClick:()=>console.log("Selected submenu:",N.label),children:N.label},`sub-${N.label}`))},`menu-${m.label}`):r.jsx(x.Nav.Link,{as:"span",className:"text-uppercase fw-semibold",children:m.label},`menu-${m.label}`))})}),g&&G&&r.jsxs("div",{className:"fixed-search-bar",children:[r.jsxs("div",{className:"fixed-search-bar-inner",children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",border:"2px solid #ccc",borderRadius:"25px",padding:"12px 16px",background:"#fff",position:"relative",width:"100%"},children:[r.jsx("input",{type:"text",value:Z,onChange:m=>{de(m.target.value)},onKeyDown:m=>{m.key==="Enter"&&ie(Z)},placeholder:"Search",style:{flex:1,border:"none",outline:"none",fontSize:"18px",background:"transparent",padding:"4px"},autoComplete:"off",autoFocus:!0}),Z&&r.jsx("button",{type:"button",onClick:()=>{se()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",marginRight:"8px",fontSize:"18px"},children:"✕"})]}),r.jsx("button",{className:"close-search-bar",type:"button",onClick:()=>E(!1),"aria-label":"Close Search",children:"×"})]}),ee&&r.jsxs("div",{className:"search-loading-spinner-container",children:[r.jsx("div",{className:"search-loading-spinner"}),r.jsx("span",{children:"Searching..."})]}),X&&!ee&&r.jsx("div",{className:"no-results-message",children:r.jsx("p",{children:"We didn't find anything matching your search"})}),H&&r.jsx("div",{className:"search-error-message",children:r.jsxs("p",{children:["Search error: ",H]})}),C&&R.length>0&&r.jsxs("div",{className:"search-results-mobile",children:[r.jsx("div",{className:"search-results-header",children:r.jsxs("span",{children:[M," result",M!==1?"s":""," found"]})}),r.jsxs("div",{className:"search-results-list",children:[R.slice(0,K).map((m,N)=>r.jsx(er,{result:m,onNavigate:U=>{we(),window.location.href=U},baseUrl:p?p():void 0},m.id||N)),K<R.length&&r.jsx("div",{className:"search-results-more",children:r.jsxs("button",{onClick:ge,style:{background:"none",border:"none",color:"#007bff",cursor:"pointer",padding:"12px 16px",width:"100%",textAlign:"center",fontSize:"16px"},children:["Show ",Math.min(10,R.length-K)," more results"]})})]})]})]})]})},ar=b.createContext(void 0),Yr=({children:t,meiliSearchConfig:i})=>{const[s,n]=b.useState(""),[v,h]=b.useState([]),[j,p]=b.useState(0),[g,o]=b.useState(!1),[c,d]=b.useState(!1),[f,y]=b.useState(null),[u,P]=b.useState(0),[G,E]=b.useState(!1),[D,O]=b.useState(!1),[X,L]=b.useState(null),Z=ir(i),F=async z=>{if(!z.trim()){Q();return}o(!0),d(!1),y(null),P(0);try{const H=await Z.search(z,{limit:20,offset:0}),q=H.hits.map(C=>{var W,K,B;return{id:C.id,title:((W=C._formatted)==null?void 0:W.display_name)||C.display_name,type:C.type,url:C.url,description:((K=C._formatted)==null?void 0:K.description)||C.description,block_type:C.block_type,published:((B=C._formatted)==null?void 0:B.published)||C.published,_formatted:C._formatted}}),M=H.totalHits,V=q.length===20&&M>q.length;h(q),p(M),E(V),L(H.facets||null)}catch(H){console.error("Search error:",H),d(!0),y(H instanceof Error?H.message:"Search failed"),h([]),p(0),E(!1),L(null)}finally{o(!1)}},R=async()=>{if(!(!G||D)){O(!0);try{const z=u+20,H=await Z.simpleSearch(s,{limit:20,offset:z}),q=H.hits.map(C=>{var W,K,B;return{id:C.id,title:((W=C._formatted)==null?void 0:W.display_name)||C.display_name,type:C.type,url:C.url,description:((K=C._formatted)==null?void 0:K.description)||C.description,block_type:C.block_type,published:((B=C._formatted)==null?void 0:B.published)||C.published,_formatted:C._formatted}}),M=H.totalHits,V=q.length===20&&M>v.length+q.length;h(C=>[...C,...q]),p(M),E(V),P(z)}catch(z){console.error("Error fetching next page:",z),d(!0),y(z instanceof Error?z.message:"Failed to load more results")}finally{O(!1)}}},Q=()=>{n(""),h([]),p(0),d(!1),y(null),P(0),E(!1),L(null)},ee={searchKeywords:s,setSearchKeywords:n,searchResults:v,totalHits:j,isLoading:g,hasError:c,errorMessage:f,facets:X,performSearch:F,clearSearch:Q,hasNextPage:G,fetchNextPage:R,isFetchingNextPage:D};return r.jsx(ar.Provider,{value:ee,children:t})},Jr=()=>{const t=b.useContext(ar);if(t===void 0)throw new Error("useSimpleSearch must be used within a SimpleSearchProvider");return t},Ur=t=>{try{if(t.status!==200)throw new Error("Failed to fetch theme config");const i=t.data.theme_colors;if(!i||typeof i!="object")throw new Error("Invalid theme_colors in API response");const s=document.documentElement;for(const n in i)if(Object.prototype.hasOwnProperty.call(i,n)){const v=i[n];s.style.setProperty(`--${n.replace(/_/g,"-")}`,v)}}catch(i){console.error("Error applying theme from API:",i.message);const s={primary:"#2B2399",primary_alt:"#3C32B5",primary_hover:"#E2E1F9",primary_active:"#1F1A7D",primary_light:"#E2E1F9",secondary:"#7A8AFF",secondary_alt:"#5C6EF0",secondary_hover:"#ECEEFF",secondary_active:"#4A5BD1",secondary_light:"#ECEEFF"},n=document.documentElement;for(const v in s)if(Object.prototype.hasOwnProperty.call(s,v)){const h=s[v];n.style.setProperty(`--${v.replace(/_/g,"-")}`,h)}}},Gr=({announcementType:t,data:i,backgroundColor:s})=>{const[n,v]=b.useState(()=>{const g=localStorage.getItem(t);return g?(Date.now()-parseInt(g,10))/36e5>=24:!0}),[h,j]=b.useState("showBanner"),p=()=>{j("hideBanner"),setTimeout(()=>{v(!1),localStorage.setItem(t,Date.now().toString())},800)};return b.useEffect(()=>{n&&j("showBanner")},[n]),b.useEffect(()=>{const o=setInterval(()=>{const c=localStorage.getItem(t);c&&(Date.now()-parseInt(c,10))/36e5>=24&&(localStorage.removeItem(t),v(!0))},36e5);return()=>clearInterval(o)},[t]),!i||i.trim()===""||!n?null:r.jsxs("div",{className:`announcement-banner ${h}`,style:{backgroundColor:s||"var(--bg-body)"},children:[r.jsx("div",{className:"announcement-content",dangerouslySetInnerHTML:{__html:i}}),r.jsx(x.Icon,{src:Nr,className:"close-icon",onClick:p,"aria-label":"Close announcement banner"})]})};exports.AnnouncementBanner=Gr;exports.Footer=Or;exports.MainHeader=Kr;exports.Sidebar=kr;exports.SidebarProvider=Rr;exports.SimpleSearchProvider=Yr;exports.dynamicTheme=Ur;exports.useSidebar=Ne;exports.useSimpleSearch=Jr;
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.footer{background-color:#000;padding:1rem 2rem;color:#fff}.container{display:flex;justify-content:space-between;flex-wrap:wrap;height:15rem}.section{flex:1;margin:1rem;min-width:12.5rem;display:flex;flex-direction:column;text-align:left}.section .footer-brand-logo{padding:0;display:flex;align-items:center;margin-bottom:.5rem}.section .footer-brand-logo img{max-width:100%;height:auto;object-fit:contain;max-height:5rem}.left{order:1;align-items:flex-start}.center{order:2;align-items:center}.right{order:3;align-items:flex-end}.section h3{color:#fff;margin-bottom:1rem}.section ul{list-style:none;padding:0}.section ul li{margin-bottom:.625rem}.section ul li a{color:#fff;text-decoration:none}.section ul li a:hover{text-decoration:underline}.copyright{text-align:center;margin-top:1.25rem;font-size:.875rem;color:#737477}.h3Adjust{margin-left:-1.5rem}.sidebar{width:200px;min-height:100vh;background-color:var(--bg-surface);border-right:1px solid var(--border-color);position:relative;transition:all .3s ease;display:flex;flex-direction:column;padding:0;z-index:101;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:visible}.sidebar.collapsed{width:80px;min-width:50px;padding:0;transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .sidebar-btn{padding:14px 0 14px 10px;justify-content:center;position:relative;z-index:25}.sidebar.collapsed .sidebar-btn .btn-content{flex-direction:column;align-items:center;gap:0}.sidebar.collapsed .sidebar-btn .btn-content .btn-label{display:none;opacity:0;max-width:0;margin-left:0}.sidebar.non-standard-route:not(.collapsed){width:200px;position:fixed;top:6rem;left:0;z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;transform:translate(0);margin-right:80px}.sidebar .sidebar-buttons{display:flex;flex-direction:column;gap:4px;margin-top:1.5rem;margin-right:1rem}.sidebar .sidebar-btn{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:14px 10px;border-radius:0 32px 32px 0;background:transparent;color:var(--text-secondary);font-weight:500;font-size:16px;border:none;transition:background .2s,color .2s;margin:2px 0;text-align:left}.sidebar .sidebar-btn .btn-content{display:flex;flex-direction:row;align-items:center;width:100%}.sidebar .sidebar-btn .icon-container{font-size:22px;display:flex;align-items:center;justify-content:center;min-width:28px}.sidebar .sidebar-btn .btn-label{font-size:14px;font-weight:500;color:inherit;white-space:nowrap;transition:opacity .2s,max-width .2s,margin .2s;opacity:1;max-width:200px;margin-left:.5rem}.pgn-btn-active{background:var(--primary)!important;color:var(--text-white)!important}.pgn-btn-active:hover{background-color:var(--primary-light)!important;color:var(--primary)!important}.pgn-btn-active:hover .icon-container,.pgn-btn-active:hover .btn-label{color:var(--primary)!important}.pgn-btn-active .icon-container,.pgn-btn-active .btn-label{color:var(--text-white)!important}.sidebar-btn.pgn-btn-inactive{color:var(--text-secondary)!important}.sidebar-btn.pgn-btn-inactive:hover{color:var(--primary)!important}.sidebar-extra-space{width:80px}[dir=rtl] .sidebar .tooltip.bs-tooltip-left{margin-right:8px}[dir=rtl] .sidebar.collapsed .tooltip.bs-tooltip-left{transform:translate(-4px)}@media(max-width:768px){.sidebar.collapsed{display:none!important}}.mainHeaderContainer{display:flex}.navbarContainer{background-color:var(--bg-surface);box-shadow:0 2px 4px #0000001a;height:6rem;position:relative;display:flex;align-items:center;padding-right:3rem}.navbarContainer .navbar-brand{padding:0;display:flex;align-items:center;margin:0}.navbarContainer .navbar-brand img{max-width:100%;height:auto;object-fit:contain;max-height:5rem;padding-top:.5rem;padding-bottom:.5rem}.navbarContainer .navbar-collapse{background-color:var(--c8);border-radius:0 0 .5rem .5rem;padding:1rem}.navbarContainer .d-flex.align-items-center.justify-content-center{position:absolute;left:50%;transform:translate(-50%);width:auto;z-index:1}.navbarContainer .toggle-sidebar-icon{display:flex;align-items:center;margin:0;margin-right:1rem}.navbarContainer .search-field-custom{max-width:30rem}@media(max-width:767px){.navbarContainer{padding-right:.25rem;display:flex;align-items:center;gap:.25rem;height:5rem;justify-content:flex-start}.navbarContainer .navbar-brand img{max-width:5rem;height:auto;object-fit:contain;max-height:5rem;padding-top:.2rem;padding-bottom:.2rem}.navbarContainer .toggle-sidebar-icon{margin:0;padding:0}.navbarContainer .more-menu-dropdown{position:absolute;top:100%;right:1rem;background-color:var(--bg-surface);border-radius:.5rem;box-shadow:0 2px 8px #00000026;padding:1rem;z-index:1000;display:flex;flex-direction:column;min-width:200px}.navbarContainer .more-menu-dropdown .more-menu-icons-row{display:flex;flex-direction:row;gap:.5rem;width:100%;margin-bottom:.5rem}.navbarContainer .more-menu-dropdown .more-menu-icons-row .icon-curved-square{flex:1;display:flex}.navbarContainer .more-menu-dropdown .more-menu-icons-row .icon-curved-square .btn-icon{width:100%;height:100%;padding:.5rem;display:flex;align-items:center;justify-content:center}.navbarContainer .more-menu-dropdown .language-dropdown{width:100%;margin-top:.5rem;margin-bottom:.5rem}.navbarContainer .toggle-sidebar-icon{margin-left:0;padding-left:0}}.buttonListContainer{display:grid;grid-template-columns:1fr auto;align-items:center;flex:1}.navbarList{display:flex;gap:2rem;padding:0;margin:0;list-style-type:none}.navbarList li{cursor:pointer;color:var(--c6)}.navbarList li:hover{color:var(--c2)}.navbarButtons{display:flex;gap:.5rem;margin-left:auto}.navbarListLeft{justify-self:start;margin-left:4rem}.navbarListCenter{justify-self:center}.navbarListRight{justify-self:end;margin-right:4rem}.menuButton{padding:.75rem 1.25rem;font-weight:600;text-transform:uppercase;color:var(--c6);background-color:var(--bg-surface);outline:none!important;border-color:var(--bg-surface)!important;width:8rem}.mainHeaderContainer{display:flex;position:relative}.nav-gap{gap:3rem}.dropdown-menu{min-width:15rem!important}.search-field-custom{background:var(--bg-surface);border:2px solid var(--primary-light)!important;border-radius:30px!important;padding:.3rem .6rem!important;display:flex;align-items:center;box-shadow:none!important;min-height:35px;position:relative;pointer-events:auto!important}.search-field-custom input{background:transparent!important;border:none!important;box-shadow:none!important;color:var(--text-light)!important;font-size:1.1rem;font-weight:500;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.search-field-custom input::placeholder{color:var(--text-secondary, #697586)!important;opacity:1}.search-field-custom .pgn__searchfield-form{outline:none!important;border:none!important}.search-field-custom input:focus{outline:none!important;box-shadow:none!important}.pgn__searchfield.has-focus:not(.pgn__searchfield--external):after{border:none!important}.pgn__searchfield:hover,.pgn__searchfield:active{border:2px solid var(--primary)!important}.icon-curved-square .btn-icon.btn-icon-primary{background-color:var(--primary-light)!important;margin-right:1rem}.icon-curved-square .btn-icon.btn-icon-primary:hover,.icon-curved-square .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.icon-curved-square .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.icon-curved-square .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.language-dropdown .btn-tertiary{background-color:var(--primary-light);border-radius:25px}.language-dropdown .btn-tertiary:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.language-dropdown .btn-tertiary.dropdown-toggle{background-color:var(--primary-light)!important;color:var(--primary)!important}.language-dropdown .btn-tertiary.dropdown-toggle:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown{margin-left:1rem}.usermenu-dropdown .btn-tertiary{border-radius:10px}.usermenu-dropdown .btn-tertiary:after{flex-shrink:0;margin-left:.5rem!important;display:inline-block!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary{background-color:var(--primary-light)}.toggle-sidebar-icon .btn-icon.btn-icon-primary:hover{background-color:var(--primary);color:var(--primary-light)!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.toggle-sidebar-icon .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.search-modal .modal-content{border-radius:.5rem}.search-modal .modal-header{border-bottom:none;padding:1rem 1.5rem}.search-modal .modal-body{padding:0 1.5rem 1.5rem}.fixed-search-bar{position:fixed;top:0;left:0;width:100vw;z-index:2000;background:#fffffffa;box-shadow:0 2px 8px #0000001a;padding:1rem .5rem;display:flex;justify-content:center;align-items:center}.fixed-search-bar-inner{width:100%;max-width:600px;position:relative;display:flex;align-items:center}.fixed-search-bar .close-search-bar{background:none;border:none;font-size:2rem;color:var(--text-muted);margin-left:.5rem;cursor:pointer;line-height:1;transition:color .2s}.fixed-search-bar .close-search-bar:hover{color:var(--text-primary)}.no-results-message{text-align:center;padding:1rem;margin-top:1rem;color:var(--text-muted);font-size:1rem;background-color:var(--bg-surface);border-radius:.5rem;border:1px solid var(--border-color)}.no-results-message p{margin:0;font-weight:400}.no-results-message-desktop{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.no-results-message-desktop p{margin:0;font-weight:400}.search-loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-loading-spinner-container{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.search-error-message-desktop{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--danger);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;text-align:center;color:var(--danger);font-size:.9rem}.search-error-message-desktop p{margin:0;font-weight:400}.search-results-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #00000026;margin-top:.5rem;max-height:400px;overflow-y:auto}.search-results-dropdown .search-results-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-body);font-size:.875rem;font-weight:600;color:var(--text-muted)}.search-results-dropdown .search-results-list{max-height:300px;overflow-y:auto}.search-results-dropdown .search-result-item{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.search-results-dropdown .search-result-item:hover{background-color:var(--bg-hover)}.search-results-dropdown .search-result-item:last-child{border-bottom:none}.search-results-dropdown .search-result-item .search-result-content{display:flex;align-items:flex-start;gap:.75rem}.search-results-dropdown .search-result-item .search-result-icon{flex-shrink:0;margin-top:.125rem;color:var(--text-muted)}.search-results-dropdown .search-result-item .search-result-text{flex:1;min-width:0}.search-results-dropdown .search-result-item .search-result-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem;line-height:1.3}.search-results-dropdown .search-result-item .search-result-description{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-results-dropdown .search-result-item .search-result-breadcrumbs{color:var(--text-muted);font-size:.75rem;line-height:1.2;margin-top:.25rem}.search-results-dropdown .search-result-item .search-result-actions{flex-shrink:0;margin-top:.125rem}.search-results-dropdown .search-result-item .search-result-meta{display:flex;align-items:center;gap:.5rem}.search-results-dropdown .search-result-item .search-result-meta .search-result-type{background-color:var(--bg-surface);color:var(--text-muted);padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.search-results-dropdown .search-highlight{background-color:var(--bg-hover);padding:.125rem .25rem;border-radius:.25rem;font-weight:600}.search-results-dropdown .search-results-more{padding:0;text-align:center;background-color:var(--bg-body);border-top:1px solid var(--border-color)}.search-results-dropdown .search-results-more button{background:none;border:none;color:var(--primary);cursor:pointer;padding:8px 16px;width:100%;text-align:center;font-size:14px;transition:background-color .2s}.search-results-dropdown .search-results-more button:hover{background-color:var(--bg-hover)}.search-results-mobile{margin-top:1rem;background-color:var(--bg-surface);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;max-height:60vh;overflow-y:auto}.search-results-mobile .search-results-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-body);font-size:.875rem;font-weight:600;color:var(--text-muted)}.search-results-mobile .search-results-list{max-height:50vh;overflow-y:auto}.search-results-mobile .search-result-item{padding:1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.search-results-mobile .search-result-item:hover{background-color:var(--bg-hover)}.search-results-mobile .search-result-item:last-child{border-bottom:none}.search-results-mobile .search-result-item .search-result-content{display:flex;align-items:flex-start;gap:1rem}.search-results-mobile .search-result-item .search-result-icon{flex-shrink:0;margin-top:.25rem;color:var(--text-muted)}.search-results-mobile .search-result-item .search-result-text{flex:1;min-width:0}.search-results-mobile .search-result-item .search-result-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;line-height:1.3}.search-results-mobile .search-result-item .search-result-description{color:var(--text-muted);font-size:.875rem;line-height:1.4;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.search-results-mobile .search-result-item .search-result-breadcrumbs{color:var(--text-muted);font-size:.8rem;line-height:1.2;margin-top:.5rem}.search-results-mobile .search-result-item .search-result-actions{flex-shrink:0;margin-top:.25rem}.search-results-mobile .search-result-item .search-result-meta{display:flex;align-items:center;gap:.5rem}.search-results-mobile .search-result-item .search-result-meta .search-result-type{background-color:var(--bg-hover);color:var(--text-secondary);padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.search-error-message{margin-top:1rem;padding:1rem;background-color:var(--bg-disabled);border:1px solid var(--danger);border-radius:.5rem;color:var(--danger);text-align:center}.search-error-message p{margin:0;font-weight:400}.navbar-buttons .btn-icon.btn-icon-primary{background-color:var(--primary-light)}.navbar-buttons .btn-icon.btn-icon-primary:hover{background-color:var(--primary);color:var(--primary-light)!important}.navbar-buttons .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.navbar-buttons .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.navbar-buttons .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown-mobile .btn-tertiary{background-color:var(--primary-light);border-radius:25px}.usermenu-dropdown-mobile .btn-tertiary:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown-mobile .btn-tertiary.dropdown-toggle{background-color:var(--primary-light)!important;color:var(--primary)!important}.usermenu-dropdown-mobile .btn-tertiary.dropdown-toggle:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}:root{--primary: #2B2399;--primary-alt: #3C32B5;--primary-hover: #E2E1F9;--primary-active: #1F1A7D;--primary-light: #E2E1F9;--secondary: #7A8AFF;--secondary-alt: #5C6EF0;--secondary-hover: #ECEEFF;--secondary-active: #4A5BD1;--secondary-light: #ECEEFF;--disabled: #bdbdbd;--success: #358F0A;--success-hover: #2d7908;--success-light: #eaf6e6;--warning: #FFCD29;--warning-hover: #e6b800;--warning-light: #fff8e6;--danger: #dc3545;--danger-hover: #c82333;--danger-light: #fbecec;--info: #0B8E77;--info-hover: #097a66;--info-light: #e6f5f2;--text-primary: #121926;--text-secondary: #9e9f9e;--text-muted: #6b7280;--text-light: #364152;--text-white: #ffffff;--bg-body: #f4f7ff;--bg-surface: #ffffff;--bg-hover: #f9fafb;--bg-disabled: #e5e7eb;--border-color: #e5e6e6;--border-color-hover: #d1d5db}.btn{border-radius:4px;font-weight:500;transition:all .2s ease-in-out}.btn-primary{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important;border-radius:8px!important}.btn-primary:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-alt)!important}.btn-primary:active,.btn-primary.active{background-color:var(--primary-active)!important;border-color:var(--primary-active)!important;color:var(--primary-light)!important}.btn-primary:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-primary:focus:before{border:none!important}.btn-primary:focus-visible{outline:none!important}.btn-outline-primary{color:var(--primary)!important;border-color:var(--primary)!important;background-color:transparent!important;border-radius:8px!important}.btn-outline-primary:hover{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important}.btn-outline-primary:active,.btn-outline-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-outline-primary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-outline-primary:focus:before{border:none!important}.btn-outline-primary:focus-visible{outline:none!important}.btn-secondary{color:var(--primary-light)!important;background-color:var(--secondary)!important;border-color:var(--secondary)!important;border-radius:8px!important}.btn-secondary:hover{background-color:var(--secondary-hover)!important;border-color:var(--secondary-hover)!important;color:var(--secondary-hover)!important}.btn-secondary:active,.btn-secondary.active{background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-secondary:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-secondary:focus-visible{outline:none!important}.btn-outline-secondary{color:var(--secondary);border-color:var(--secondary);background-color:transparent;border-radius:8px}.btn-outline-secondary:hover{color:var(--primary-light);background-color:var(--secondary);border-color:var(--secondary)}.btn-outline-secondary:active,.btn-outline-secondary.active{color:var(--primary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-outline-secondary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-outline-secondary:focus:before{border:none!important}.btn-outline-secondary:focus-visible{outline:none!important}.btn-tertiary{color:var(--primary)!important;background-color:transparent;border:none!important;border-radius:8px}.btn-tertiary:hover{color:var(--primary-light);background-color:var(--primary-light)!important}.btn-tertiary:active,.btn-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-tertiary:disabled{color:var(--disabled)!important}.btn-tertiary:focus:before{border:none!important;border:solid 2px transparent}.btn-tertiary:focus-visible{outline:none!important}.btn-outline-tertiary{color:var(--primary)!important;background-color:transparent!important;border:none!important;border-radius:8px}.btn-outline-tertiary:hover{color:var(--primary-hover);background-color:var(--primary-light)}.btn-outline-tertiary:active,.btn-outline-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-outline-tertiary:disabled{color:var(--disabled)!important}.btn-outline-tertiary:focus:before{border:none!important}.btn-outline-tertiary:focus-visible{outline:none!important}.btn-brand{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important;border-radius:8px!important}.btn-brand:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-alt)!important}.btn-brand:active,.btn-brand.active{background-color:var(--primary-active)!important;border-color:var(--primary-active)!important;color:var(--primary-light)!important}.btn-brand:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-brand:focus:before{border:none!important}.btn-brand:focus-visible{outline:none!important}.dropdown-menu{border-radius:4px;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;padding:.5rem 0}.dropdown-item{color:#333;padding:.5rem 1rem}.dropdown-item:hover{background-color:var(--primary-light);color:var(--primary)}.dropdown-item:active,.dropdown-item.active{background-color:var(--primary);color:#fff}.dropdown-item:disabled{color:rgba(var(--secondary-rgb),.5)}.form-control{border-radius:8px;border:1px solid #ced4da}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25)}.form-control:disabled{background-color:#e9ecef}.badge{font-weight:500;padding:.35em .65em;border-radius:4px}.badge-primary{background-color:var(--primary)!important;color:#fff}.badge-secondary{background-color:var(--secondary);color:#fff}.alert{border-radius:4px;border:1px solid transparent}.alert-primary{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.pgn__bubble.pgn__bubble-primary{background-color:var(--primary);color:#fff}.pgn__data-table th{color:var(--secondary)}.pgn__data-table .pgn__data-table-cell-wrap{max-width:unset}.pgn__data-table .pgn__data-table-footer{border-top:none;justify-content:center}.card{border-radius:16px;box-shadow:none!important}.nav-link{color:var(--secondary)}.nav-link:hover{color:var(--primary)}.nav-link.active{color:var(--primary);font-weight:500}.nav-tabs .nav-link.active:focus:before,.nav-tabs .nav-link:focus:before,.nav-tabs .nav-link:focus-visible:before{border:none!important}.nav-tabs .nav-link{color:var(--text-primary)!important}.nav-tabs .nav-link.active{color:var(--primary)!important;border-bottom:2px solid var(--primary)!important}.pgn__modal .pgn__modal-header{padding:1.5rem;border-bottom:1px solid rgba(0,0,0,.1)}.pgn__modal .pgn__modal-header h2{color:var(--primary);font-size:1.375rem;line-height:1.75rem}.pgn__modal .pgn__modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.1)}.pgn__form-group{margin-bottom:1rem}.pgn__form-group .pgn__form-label{font-weight:500;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.pgn__form-group .pgn__form-control-description{font-size:.75rem;color:var(--text-primary);margin-top:.25rem}.pgn__form-checkbox,.pgn__form-radio{margin:.5rem 0;display:flex;align-items:flex-start}.pgn__form-checkbox input,.pgn__form-radio input{margin-right:.5rem;margin-top:.25rem}.pgn__form-checkbox.pgn__form-control-disabled,.pgn__form-radio.pgn__form-control-disabled{opacity:.5;cursor:not-allowed}.pgn__form-checkbox-input,.pgn__form-radio-input{width:1rem;height:1rem}.pgn__form-checkbox-input:checked,.pgn__form-radio-input:checked{background-color:var(--primary);border-color:var(--primary)}.pgn__form-checkbox-input:focus,.pgn__form-radio-input:focus{box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25);border-color:var(--primary)}.pgn__selectable_box{border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:1rem;transition:all .2s ease-in-out;cursor:pointer}.pgn__selectable_box:hover,.pgn__selectable_box.pgn__selectable_box-active{border-color:var(--primary);background-color:var(--primary-light)}.pgn__selectable_box.pgn__selectable_box-invalid{border-color:var(--danger)}.pgn__selectable_box-set{display:grid;gap:1rem;margin:1rem 0}.btn-success{color:#fff;background-color:var(--success);border-color:var(--success)}.btn-success:hover{background-color:var(--success-hover);border-color:var(--success-hover)}.btn-success:active,.btn-success.active{background-color:var(--success-hover)!important;border-color:var(--success-hover)!important}.btn-success:disabled{opacity:.5}.btn-warning{color:#000;background-color:var(--warning);border-color:var(--warning)}.btn-warning:hover{background-color:var(--warning-hover);border-color:var(--warning-hover)}.btn-warning:active,.btn-warning.active{background-color:var(--warning-hover)!important;border-color:var(--warning-hover)!important}.btn-warning:disabled{opacity:.5}.btn-danger{color:#fff;background-color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background-color:var(--danger-hover);border-color:var(--danger-hover)}.btn-danger:active,.btn-danger.active{background-color:var(--danger-hover)!important;border-color:var(--danger-hover)!important}.btn-danger:disabled{opacity:.5}.btn-info{color:#fff;background-color:var(--info);border-color:var(--info)}.btn-info:hover{background-color:var(--info-hover);border-color:var(--info-hover)}.btn-info:active,.btn-info.active{background-color:var(--info-hover)!important;border-color:var(--info-hover)!important}.btn-info:disabled{opacity:.5}.btn-icon:focus{color:var(--primary)!important}.btn-icon.btn-icon-primary{color:var(--primary)}.btn-icon.btn-icon-primary:hover{color:var(--primary-alt)!important;background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-icon.btn-icon-primary:active,.btn-icon.btn-icon-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-icon.btn-icon-primary:disabled{color:var(--disabled)!important}.btn-icon.btn-icon-primary:focus{box-shadow:none!important}.btn-icon.btn-icon-secondary{color:var(--secondary)}.btn-icon.btn-icon-secondary:hover{color:var(--secondary-alt)!important;background-color:var(--secondary-hover);border-color:var(--secondary-hover)}.btn-icon.btn-icon-secondary:active,.btn-icon.btn-icon-secondary.active{color:var(--secondary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-icon.btn-icon-secondary:disabled{color:var(--disabled)!important}.btn-icon.btn-icon-secondary:focus{box-shadow:none!important}.btn-icon.btn-outline-primary{color:var(--primary);border-color:var(--primary);background-color:transparent}.btn-icon.btn-outline-primary .pgn__icon{color:var(--primary)}.btn-icon.btn-outline-primary:hover{color:var(--primary-light);background-color:var(--primary);border-color:var(--primary)}.btn-icon.btn-outline-primary:hover .pgn__icon{color:var(--primary-light)}.btn-icon.btn-outline-primary:active,.btn-icon.btn-outline-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-icon.btn-outline-primary:active .pgn__icon,.btn-icon.btn-outline-primary.active .pgn__icon{color:var(--primary-light)!important}.btn-icon.btn-outline-primary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-icon.btn-outline-primary:disabled .pgn__icon{color:var(--disabled)!important}.btn-icon.btn-outline-secondary{color:var(--secondary);border-color:var(--secondary);background-color:transparent}.btn-icon.btn-outline-secondary .pgn__icon{color:var(--secondary)}.btn-icon.btn-outline-secondary:hover{color:var(--primary-light);background-color:var(--secondary);border-color:var(--secondary)}.btn-icon.btn-outline-secondary:hover .pgn__icon{color:var(--primary-light)}.btn-icon.btn-outline-secondary:active,.btn-icon.btn-outline-secondary.active{color:var(--primary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-icon.btn-outline-secondary:active .pgn__icon,.btn-icon.btn-outline-secondary.active .pgn__icon{color:var(--primary-light)!important}.btn-icon.btn-outline-secondary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-icon.btn-outline-secondary:disabled .pgn__icon{color:var(--disabled)!important}.btn-icon.btn-tertiary{color:var(--primary);background-color:transparent;border:none}.btn-icon.btn-tertiary .dropdown-toggle{background-color:var(--primary-light)!important}.btn-icon.btn-tertiary .pgn__icon{color:var(--primary)}.btn-icon.btn-tertiary:hover{color:var(--primary-hover);background-color:var(--primary-light)}.btn-icon.btn-tertiary:hover .pgn__icon{color:var(--primary-hover)}.btn-icon.btn-tertiary:active,.btn-icon.btn-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-icon.btn-tertiary:active .pgn__icon,.btn-icon.btn-tertiary.active .pgn__icon{color:var(--primary-active)!important}.btn-icon.btn-tertiary:disabled{color:var(--disabled)!important}.btn-icon.btn-tertiary:disabled .pgn__icon{color:var(--disabled)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-danger{color:var(--danger)!important}.text-info{color:var(--info)!important}.pgn__icon.text-primary{color:var(--text-primary)!important}.pgn__icon.text-secondary{color:var(--text-secondary)!important}.pgn__icon.text-success{color:var(--success)!important}.pgn__icon.text-warning{color:var(--warning)!important}.pgn__icon.text-danger{color:var(--danger)!important}.pgn__icon.text-info{color:var(--info)!important}.cursor-pointer{cursor:pointer}.custom-outline-section .row{box-shadow:none!important;border:1px solid #e1e1e1}[data-tooltip]{position:relative;margin:0 5px;height:20px}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:50%;transform:translate(-50%);top:calc(100% + 8px);padding:8px 12px;background:var(--text-primary);color:var(--text-white);border-radius:6px;box-shadow:0 4px 8px #0003;white-space:normal;z-index:10;font-size:12px;line-height:1.4;max-width:250px;width:max-content;text-align:center}[data-tooltip]:hover:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;border:6px solid transparent;border-bottom-color:var(--text-primary);z-index:11}.ca-breadcrumb-bg{width:100%;padding:.5rem 0 0}.ca-breadcrumb-container{margin:0 auto;padding:0 32px}.ca-breadcrumb{color:#b0b7c3;font-size:14px;margin-bottom:8px}.ca-breadcrumb .ca-breadcrumb-icon{opacity:.7}.ca-breadcrumb .ca-breadcrumb-icon .custom-icon{width:16px;height:16px;margin-right:4px}.ca-breadcrumb .ca-breadcrumb-divider{margin:0 8px}.ca-breadcrumb .ca-breadcrumb-current{color:#6b7280}.ca-title{font-weight:600;font-size:20px;color:#22223b}.ca-main-layout{display:flex;min-height:100vh;align-items:flex-start}.ca-sidebar{min-width:220px;max-width:260px;background:transparent;z-index:2;border-radius:0!important;padding-bottom:0!important;box-sizing:border-box;margin:16px 0 0 16px;border-radius:16px;position:sticky;top:32px;align-self:flex-start;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.ca-main-content{flex:1;padding-top:1rem}.ca-mobile-nav{display:none;width:100%;padding:16px;padding-left:1.5rem;padding-right:1.5rem;border-bottom:1px solid #eee}.ca-mobile-nav-select{width:100%;padding:12px 30px 12px 12px;font-size:1rem;border:1px solid #ccc;border-radius:8px;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px center;background-size:10px 10px}@media(max-width:768px){.ca-sidebar{display:none}.ca-mobile-nav{display:block}.ca-main-layout{flex-direction:column}}.announcement-banner{width:100%;display:flex;align-items:center;justify-content:left;position:relative;background-color:var(--bg-body);color:var(--text-primary);padding:6px 20px;line-height:1.2;word-break:break-word;overflow:hidden;flex-wrap:wrap}.announcement-banner .announcement-content{flex:1 1 auto;text-align:left}.announcement-banner .announcement-content h1,.announcement-banner .announcement-content h2,.announcement-banner .announcement-content h3,.announcement-banner .announcement-content h4,.announcement-banner .announcement-content h5,.announcement-banner .announcement-content h6,.announcement-banner .announcement-content p,.announcement-banner .announcement-content span,.announcement-banner .announcement-content strong,.announcement-banner .announcement-content em,.announcement-banner .announcement-content i,.announcement-banner .announcement-content b{margin:.25em 0;color:var(--text-primary)}.announcement-banner .announcement-content a{color:var(--primary);text-decoration:underline}.announcement-banner .announcement-content a:hover{color:var(--primary-hover)}.announcement-banner .announcement-content ul,.announcement-banner .announcement-content ol{margin:.5em 0;padding-left:1.5em}.announcement-banner .announcement-content li{margin:.25em 0}.announcement-banner .announcement-content img{max-width:100%;height:auto}.announcement-banner .announcement-content table{width:100%;border-collapse:collapse;margin:.5em 0}.announcement-banner .announcement-content th,.announcement-banner .announcement-content td{border:1px solid var(--border-color);padding:.5em;text-align:left}.announcement-banner .announcement-content th{background-color:var(--primary-light)}.announcement-banner .close-icon{position:absolute;right:18px;cursor:pointer;height:18px;width:18px}.announcement-banner.showBanner{animation:expandBanner 1s cubic-bezier(.4,0,.2,1) forwards}.announcement-banner.hideBanner{animation:collapseBanner 1s cubic-bezier(.4,0,.2,1) forwards}@keyframes expandBanner{0%{max-height:0;opacity:0}to{max-height:100px;opacity:1}}@keyframes collapseBanner{0%{max-height:100px;opacity:1}to{max-height:0;opacity:0}}@media only screen and (max-width:650px){.announcement-banner{flex-direction:column;text-align:center}.announcement-banner .close-icon{right:10px;top:5px}}
|
|
1
|
+
.footer{background-color:#000;padding:1rem 2rem;color:#fff}.container{display:flex;justify-content:space-between;flex-wrap:wrap;height:15rem}.section{flex:1;margin:1rem;min-width:12.5rem;display:flex;flex-direction:column;text-align:left}.section .footer-brand-logo{padding:0;display:flex;align-items:center;margin-bottom:.5rem}.section .footer-brand-logo img{max-width:100%;height:auto;object-fit:contain;max-height:5rem}.left{order:1;align-items:flex-start}.center{order:2;align-items:center}.right{order:3;align-items:flex-end}.section h3{color:#fff;margin-bottom:1rem}.section ul{list-style:none;padding:0}.section ul li{margin-bottom:.625rem}.section ul li a{color:#fff;text-decoration:none}.section ul li a:hover{text-decoration:underline}.copyright{text-align:center;margin-top:1.25rem;font-size:.875rem;color:#737477}.h3Adjust{margin-left:-1.5rem}.sidebar{width:200px;min-height:100vh;background-color:var(--bg-surface);border-right:1px solid var(--border-color);position:relative;transition:all .3s ease;display:flex;flex-direction:column;padding:0;z-index:101;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:visible}.sidebar.collapsed{width:80px;min-width:50px;padding:0;transition:width .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .sidebar-btn{padding:14px 0 14px 10px;justify-content:center;position:relative;z-index:25}.sidebar.collapsed .sidebar-btn .btn-content{flex-direction:column;align-items:center;gap:0}.sidebar.collapsed .sidebar-btn .btn-content .btn-label{display:none;opacity:0;max-width:0;margin-left:0}.sidebar.non-standard-route:not(.collapsed){width:200px;position:fixed;top:6rem;left:0;z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;transform:translate(0);margin-right:80px}.sidebar .sidebar-buttons{display:flex;flex-direction:column;gap:4px;margin-top:1.5rem;margin-right:1rem}.sidebar .sidebar-btn{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:14px 10px;border-radius:0 32px 32px 0;background:transparent;color:var(--text-secondary);font-weight:500;font-size:16px;border:none;transition:background .2s,color .2s;margin:2px 0;text-align:left}.sidebar .sidebar-btn .btn-content{display:flex;flex-direction:row;align-items:center;width:100%}.sidebar .sidebar-btn .icon-container{font-size:22px;display:flex;align-items:center;justify-content:center;min-width:28px}.sidebar .sidebar-btn .btn-label{font-size:14px;font-weight:500;color:inherit;white-space:nowrap;transition:opacity .2s,max-width .2s,margin .2s;opacity:1;max-width:200px;margin-left:.5rem}.pgn-btn-active{background:var(--primary)!important;color:var(--text-white)!important}.pgn-btn-active:hover{background-color:var(--primary-light)!important;color:var(--primary)!important}.pgn-btn-active:hover .icon-container,.pgn-btn-active:hover .btn-label{color:var(--primary)!important}.pgn-btn-active .icon-container,.pgn-btn-active .btn-label{color:var(--text-white)!important}.sidebar-btn.pgn-btn-inactive{color:var(--text-secondary)!important}.sidebar-btn.pgn-btn-inactive:hover{color:var(--primary)!important}.sidebar-extra-space{width:80px}[dir=rtl] .sidebar .tooltip.bs-tooltip-left{margin-right:8px}[dir=rtl] .sidebar.collapsed .tooltip.bs-tooltip-left{transform:translate(-4px)}@media(max-width:768px){.sidebar.collapsed{display:none!important}}.mainHeaderContainer{display:flex}.navbarContainer{background-color:var(--bg-surface);box-shadow:0 2px 4px #0000001a;height:6rem;position:relative;display:flex;align-items:center;padding-right:3rem}.navbarContainer .navbar-brand{padding:0;display:flex;align-items:center;margin:0}.navbarContainer .navbar-brand img{max-width:100%;height:auto;object-fit:contain;max-height:5rem;padding-top:.5rem;padding-bottom:.5rem}.navbarContainer .navbar-collapse{background-color:var(--c8);border-radius:0 0 .5rem .5rem;padding:1rem}.navbarContainer .d-flex.align-items-center.justify-content-center{position:absolute;left:50%;transform:translate(-50%);width:auto;z-index:1}.navbarContainer .toggle-sidebar-icon{display:flex;align-items:center;margin:0;margin-right:1rem}.navbarContainer .search-field-custom{max-width:30rem}@media(max-width:767px){.navbarContainer{padding-right:.25rem;display:flex;align-items:center;gap:.25rem;height:5rem;justify-content:flex-start}.navbarContainer .navbar-brand img{max-width:5rem;height:auto;object-fit:contain;max-height:5rem;padding-top:.2rem;padding-bottom:.2rem}.navbarContainer .toggle-sidebar-icon{margin:0;padding:0}.navbarContainer .more-menu-dropdown{position:absolute;top:100%;right:1rem;background-color:var(--bg-surface);border-radius:.5rem;box-shadow:0 2px 8px #00000026;padding:1rem;z-index:1000;display:flex;flex-direction:column;min-width:200px}.navbarContainer .more-menu-dropdown .more-menu-icons-row{display:flex;flex-direction:row;gap:.5rem;width:100%;margin-bottom:.5rem}.navbarContainer .more-menu-dropdown .more-menu-icons-row .icon-curved-square{flex:1;display:flex}.navbarContainer .more-menu-dropdown .more-menu-icons-row .icon-curved-square .btn-icon{width:100%;height:100%;padding:.5rem;display:flex;align-items:center;justify-content:center}.navbarContainer .more-menu-dropdown .language-dropdown{width:100%;margin-top:.5rem;margin-bottom:.5rem}.navbarContainer .toggle-sidebar-icon{margin-left:0;padding-left:0}}.buttonListContainer{display:grid;grid-template-columns:1fr auto;align-items:center;flex:1}.navbarList{display:flex;gap:2rem;padding:0;margin:0;list-style-type:none}.navbarList li{cursor:pointer;color:var(--c6)}.navbarList li:hover{color:var(--c2)}.navbarButtons{display:flex;gap:.5rem;margin-left:auto}.navbarListLeft{justify-self:start;margin-left:4rem}.navbarListCenter{justify-self:center}.navbarListRight{justify-self:end;margin-right:4rem}.menuButton{padding:.75rem 1.25rem;font-weight:600;text-transform:uppercase;color:var(--c6);background-color:var(--bg-surface);outline:none!important;border-color:var(--bg-surface)!important;width:8rem}.mainHeaderContainer{display:flex;position:relative}.nav-gap{gap:3rem}.dropdown-menu{min-width:15rem!important}.search-field-custom{background:var(--bg-surface);border:2px solid var(--primary-light)!important;border-radius:30px!important;padding:.3rem .6rem!important;display:flex;align-items:center;box-shadow:none!important;min-height:35px;position:relative;pointer-events:auto!important}.search-field-custom input{background:transparent!important;border:none!important;box-shadow:none!important;color:var(--text-light)!important;font-size:1.1rem;font-weight:500;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}.search-field-custom input::placeholder{color:var(--text-secondary, #697586)!important;opacity:1}.search-field-custom .pgn__searchfield-form{outline:none!important;border:none!important}.search-field-custom input:focus{outline:none!important;box-shadow:none!important}.pgn__searchfield.has-focus:not(.pgn__searchfield--external):after{border:none!important}.pgn__searchfield:hover,.pgn__searchfield:active{border:2px solid var(--primary)!important}.icon-curved-square .btn-icon.btn-icon-primary{background-color:var(--primary-light)!important;margin-right:1rem}.icon-curved-square .btn-icon.btn-icon-primary:hover,.icon-curved-square .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.icon-curved-square .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.icon-curved-square .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.language-dropdown .btn-tertiary{background-color:var(--primary-light);border-radius:25px}.language-dropdown .btn-tertiary:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.language-dropdown .btn-tertiary.dropdown-toggle{background-color:var(--primary-light)!important;color:var(--primary)!important}.language-dropdown .btn-tertiary.dropdown-toggle:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown{margin-left:1rem}.usermenu-dropdown .btn-tertiary{border-radius:10px}.usermenu-dropdown .btn-tertiary:after{flex-shrink:0;margin-left:.5rem!important;display:inline-block!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary{background-color:var(--primary-light)}.toggle-sidebar-icon .btn-icon.btn-icon-primary:hover{background-color:var(--primary);color:var(--primary-light)!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.toggle-sidebar-icon .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.toggle-sidebar-icon .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.search-modal .modal-content{border-radius:.5rem}.search-modal .modal-header{border-bottom:none;padding:1rem 1.5rem}.search-modal .modal-body{padding:0 1.5rem 1.5rem}.fixed-search-bar{position:fixed;top:0;left:0;width:100vw;z-index:2000;background:#fffffffa;box-shadow:0 2px 8px #0000001a;padding:1rem .5rem;display:flex;justify-content:center;align-items:center}.fixed-search-bar-inner{width:100%;max-width:600px;position:relative;display:flex;align-items:center}.fixed-search-bar .close-search-bar{background:none;border:none;font-size:2rem;color:var(--text-muted);margin-left:.5rem;cursor:pointer;line-height:1;transition:color .2s}.fixed-search-bar .close-search-bar:hover{color:var(--text-primary)}.no-results-message{text-align:center;padding:1rem;margin-top:1rem;color:var(--text-muted);font-size:1rem;background-color:var(--bg-surface);border-radius:.5rem;border:1px solid var(--border-color)}.no-results-message p{margin:0;font-weight:400}.no-results-message-desktop{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.no-results-message-desktop p{margin:0;font-weight:400}.search-loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:8px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-loading-spinner-container{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.search-error-message-desktop{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--danger);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-top:.5rem;text-align:center;color:var(--danger);font-size:.9rem}.search-error-message-desktop p{margin:0;font-weight:400}.search-results-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #00000026;margin-top:.5rem;max-height:400px;overflow-y:auto}.search-results-dropdown .search-results-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-body);font-size:.875rem;font-weight:600;color:var(--text-muted)}.search-results-dropdown .search-results-list{max-height:300px;overflow-y:auto}.search-results-dropdown .search-result-item{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.search-results-dropdown .search-result-item:hover{background-color:var(--bg-hover)}.search-results-dropdown .search-result-item:last-child{border-bottom:none}.search-results-dropdown .search-result-item .search-result-content{display:flex;align-items:flex-start;gap:.75rem}.search-results-dropdown .search-result-item .search-result-icon{flex-shrink:0;margin-top:.125rem;color:var(--text-muted)}.search-results-dropdown .search-result-item .search-result-text{flex:1;min-width:0}.search-results-dropdown .search-result-item .search-result-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem;line-height:1.3}.search-results-dropdown .search-result-item .search-result-description{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-results-dropdown .search-result-item .search-result-breadcrumbs{color:var(--text-muted);font-size:.75rem;line-height:1.2;margin-top:.25rem}.search-results-dropdown .search-result-item .search-result-actions{flex-shrink:0;margin-top:.125rem}.search-results-dropdown .search-result-item .search-result-meta{display:flex;align-items:center;gap:.5rem}.search-results-dropdown .search-result-item .search-result-meta .search-result-type{background-color:var(--bg-surface);color:var(--text-muted);padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.search-results-dropdown .search-highlight{background-color:var(--bg-hover);padding:.125rem .25rem;border-radius:.25rem;font-weight:600}.search-results-dropdown .search-results-more{padding:0;text-align:center;background-color:var(--bg-body);border-top:1px solid var(--border-color)}.search-results-dropdown .search-results-more button{background:none;border:none;color:var(--primary);cursor:pointer;padding:8px 16px;width:100%;text-align:center;font-size:14px;transition:background-color .2s}.search-results-dropdown .search-results-more button:hover{background-color:var(--bg-hover)}.search-results-mobile{margin-top:1rem;background-color:var(--bg-surface);border-radius:.5rem;box-shadow:0 2px 8px #0000001a;max-height:60vh;overflow-y:auto}.search-results-mobile .search-results-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-body);font-size:.875rem;font-weight:600;color:var(--text-muted)}.search-results-mobile .search-results-list{max-height:50vh;overflow-y:auto}.search-results-mobile .search-result-item{padding:1rem;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.search-results-mobile .search-result-item:hover{background-color:var(--bg-hover)}.search-results-mobile .search-result-item:last-child{border-bottom:none}.search-results-mobile .search-result-item .search-result-content{display:flex;align-items:flex-start;gap:1rem}.search-results-mobile .search-result-item .search-result-icon{flex-shrink:0;margin-top:.25rem;color:var(--text-muted)}.search-results-mobile .search-result-item .search-result-text{flex:1;min-width:0}.search-results-mobile .search-result-item .search-result-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;line-height:1.3}.search-results-mobile .search-result-item .search-result-description{color:var(--text-muted);font-size:.875rem;line-height:1.4;margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.search-results-mobile .search-result-item .search-result-breadcrumbs{color:var(--text-muted);font-size:.8rem;line-height:1.2;margin-top:.5rem}.search-results-mobile .search-result-item .search-result-actions{flex-shrink:0;margin-top:.25rem}.search-results-mobile .search-result-item .search-result-meta{display:flex;align-items:center;gap:.5rem}.search-results-mobile .search-result-item .search-result-meta .search-result-type{background-color:var(--bg-hover);color:var(--text-secondary);padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.search-error-message{margin-top:1rem;padding:1rem;background-color:var(--bg-disabled);border:1px solid var(--danger);border-radius:.5rem;color:var(--danger);text-align:center}.search-error-message p{margin:0;font-weight:400}.navbar-buttons .btn-icon.btn-icon-primary{background-color:var(--primary-light)}.navbar-buttons .btn-icon.btn-icon-primary:hover{background-color:var(--primary);color:var(--primary-light)!important}.navbar-buttons .btn-icon.btn-icon-primary:active{background-color:var(--primary)!important;color:var(--primary-light)!important}.navbar-buttons .btn-icon.btn-icon-primary:focus{background-color:var(--primary-light);color:var(--primary)}.navbar-buttons .btn-icon.btn-icon-primary:focus:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown-mobile .btn-tertiary{background-color:var(--primary-light);border-radius:25px}.usermenu-dropdown-mobile .btn-tertiary:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}.usermenu-dropdown-mobile .btn-tertiary.dropdown-toggle{background-color:var(--primary-light)!important;color:var(--primary)!important}.usermenu-dropdown-mobile .btn-tertiary.dropdown-toggle:hover{background-color:var(--primary)!important;color:var(--primary-light)!important}:root{--primary: #2B2399;--primary-alt: #3C32B5;--primary-hover: #E2E1F9;--primary-active: #1F1A7D;--primary-light: #E2E1F9;--secondary: #7A8AFF;--secondary-alt: #5C6EF0;--secondary-hover: #ECEEFF;--secondary-active: #4A5BD1;--secondary-light: #ECEEFF;--disabled: #bdbdbd;--success: #358F0A;--success-hover: #2d7908;--success-light: #eaf6e6;--warning: #FFCD29;--warning-hover: #e6b800;--warning-light: #fff8e6;--danger: #dc3545;--danger-hover: #c82333;--danger-light: #fbecec;--info: #0B8E77;--info-hover: #097a66;--info-light: #e6f5f2;--text-primary: #121926;--text-secondary: #9e9f9e;--text-muted: #6b7280;--text-light: #364152;--text-white: #ffffff;--bg-body: #f4f7ff;--bg-surface: #ffffff;--bg-hover: #f9fafb;--bg-disabled: #e5e7eb;--border-color: #e5e6e6;--border-color-hover: #d1d5db}.btn{border-radius:4px;font-weight:500;transition:all .2s ease-in-out}.btn-primary{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important;border-radius:8px!important}.btn-primary:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-alt)!important}.btn-primary:active,.btn-primary.active{background-color:var(--primary-active)!important;border-color:var(--primary-active)!important;color:var(--primary-light)!important}.btn-primary:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-primary:focus:before{border:none!important}.btn-primary:focus-visible{outline:none!important}.btn-outline-primary{color:var(--primary)!important;border-color:var(--primary)!important;background-color:transparent!important;border-radius:8px!important}.btn-outline-primary:hover{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important}.btn-outline-primary:active,.btn-outline-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-outline-primary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-outline-primary:focus:before{border:none!important}.btn-outline-primary:focus-visible{outline:none!important}.btn-secondary{color:var(--primary-light)!important;background-color:var(--secondary)!important;border-color:var(--secondary)!important;border-radius:8px!important}.btn-secondary:hover{background-color:var(--secondary-hover)!important;border-color:var(--secondary-hover)!important;color:var(--secondary-hover)!important}.btn-secondary:active,.btn-secondary.active{background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-secondary:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-secondary:focus-visible{outline:none!important}.btn-outline-secondary{color:var(--secondary);border-color:var(--secondary);background-color:transparent;border-radius:8px}.btn-outline-secondary:hover{color:var(--primary-light);background-color:var(--secondary);border-color:var(--secondary)}.btn-outline-secondary:active,.btn-outline-secondary.active{color:var(--primary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-outline-secondary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-outline-secondary:focus:before{border:none!important}.btn-outline-secondary:focus-visible{outline:none!important}.btn-tertiary{color:var(--primary)!important;background-color:transparent;border:none!important;border-radius:8px}.btn-tertiary:hover{color:var(--primary-light);background-color:var(--primary-light)!important}.btn-tertiary:active,.btn-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-tertiary:disabled{color:var(--disabled)!important}.btn-tertiary:focus:before{border:none!important;border:solid 2px transparent}.btn-tertiary:focus-visible{outline:none!important}.btn-outline-tertiary{color:var(--primary)!important;background-color:transparent!important;border:none!important;border-radius:8px}.btn-outline-tertiary:hover{color:var(--primary-hover);background-color:var(--primary-light)}.btn-outline-tertiary:active,.btn-outline-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-outline-tertiary:disabled{color:var(--disabled)!important}.btn-outline-tertiary:focus:before{border:none!important}.btn-outline-tertiary:focus-visible{outline:none!important}.btn-brand{color:var(--primary-light)!important;background-color:var(--primary)!important;border-color:var(--primary)!important;border-radius:8px!important}.btn-brand:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--primary-alt)!important}.btn-brand:active,.btn-brand.active{background-color:var(--primary-active)!important;border-color:var(--primary-active)!important;color:var(--primary-light)!important}.btn-brand:disabled{background-color:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--primary-alt)!important}.btn-brand:focus:before{border:none!important}.btn-brand:focus-visible{outline:none!important}.dropdown-menu{border-radius:4px;border:1px solid rgba(0,0,0,.1);box-shadow:0 2px 4px #0000001a;padding:.5rem 0}.dropdown-item{color:#333;padding:.5rem 1rem}.dropdown-item:hover{background-color:var(--primary-light);color:var(--primary)}.dropdown-item:active,.dropdown-item.active{background-color:var(--primary);color:#fff}.dropdown-item:disabled{color:rgba(var(--secondary-rgb),.5)}.form-control{border-radius:8px;border:1px solid #ced4da}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25)}.form-control:disabled{background-color:#e9ecef}.badge{font-weight:500;padding:.35em .65em;border-radius:4px}.badge-primary{background-color:var(--primary)!important;color:#fff}.badge-secondary{background-color:var(--secondary);color:#fff}.alert{border-radius:4px;border:1px solid transparent}.alert-primary{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary)}.pgn__bubble.pgn__bubble-primary{background-color:var(--primary);color:#fff}.pgn__data-table th{color:var(--secondary)}.pgn__data-table .pgn__data-table-cell-wrap{max-width:unset}.pgn__data-table .pgn__data-table-footer{border-top:none;justify-content:center}.card{border-radius:16px;box-shadow:none!important}.nav-link{color:var(--secondary)}.nav-link:hover{color:var(--primary)}.nav-link.active{color:var(--primary);font-weight:500}.nav-tabs .nav-link.active:focus:before,.nav-tabs .nav-link:focus:before,.nav-tabs .nav-link:focus-visible:before{border:none!important}.nav-tabs .nav-link{color:var(--text-primary)!important}.nav-tabs .nav-link.active{color:var(--primary)!important;border-bottom:2px solid var(--primary)!important}.pgn__modal .pgn__modal-header{padding:1.5rem;border-bottom:1px solid rgba(0,0,0,.1)}.pgn__modal .pgn__modal-header h2{color:var(--primary);font-size:1.375rem;line-height:1.75rem}.pgn__modal .pgn__modal-footer{padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.1)}.pgn__form-group{margin-bottom:1rem}.pgn__form-group .pgn__form-label{font-weight:500;font-size:.875rem;color:var(--text-primary);margin-bottom:.5rem}.pgn__form-group .pgn__form-control-description{font-size:.75rem;color:var(--text-primary);margin-top:.25rem}.pgn__form-checkbox,.pgn__form-radio{margin:.5rem 0;display:flex;align-items:flex-start}.pgn__form-checkbox input,.pgn__form-radio input{margin-right:.5rem;margin-top:.25rem}.pgn__form-checkbox.pgn__form-control-disabled,.pgn__form-radio.pgn__form-control-disabled{opacity:.5;cursor:not-allowed}.pgn__form-checkbox-input,.pgn__form-radio-input{width:1rem;height:1rem}.pgn__form-checkbox-input:checked,.pgn__form-radio-input:checked{background-color:var(--primary);border-color:var(--primary)}.pgn__form-checkbox-input:focus,.pgn__form-radio-input:focus{box-shadow:0 0 0 .2rem rgba(var(--primary-rgb),.25);border-color:var(--primary)}.pgn__selectable_box{border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:1rem;transition:all .2s ease-in-out;cursor:pointer}.pgn__selectable_box:hover,.pgn__selectable_box.pgn__selectable_box-active{border-color:var(--primary);background-color:var(--primary-light)}.pgn__selectable_box.pgn__selectable_box-invalid{border-color:var(--danger)}.pgn__selectable_box-set{display:grid;gap:1rem;margin:1rem 0}.btn-success{color:#fff;background-color:var(--success);border-color:var(--success)}.btn-success:hover{background-color:var(--success-hover);border-color:var(--success-hover)}.btn-success:active,.btn-success.active{background-color:var(--success-hover)!important;border-color:var(--success-hover)!important}.btn-success:disabled{opacity:.5}.btn-warning{color:#000;background-color:var(--warning);border-color:var(--warning)}.btn-warning:hover{background-color:var(--warning-hover);border-color:var(--warning-hover)}.btn-warning:active,.btn-warning.active{background-color:var(--warning-hover)!important;border-color:var(--warning-hover)!important}.btn-warning:disabled{opacity:.5}.btn-danger{color:#fff;background-color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background-color:var(--danger-hover);border-color:var(--danger-hover)}.btn-danger:active,.btn-danger.active{background-color:var(--danger-hover)!important;border-color:var(--danger-hover)!important}.btn-danger:disabled{opacity:.5}.btn-info{color:#fff;background-color:var(--info);border-color:var(--info)}.btn-info:hover{background-color:var(--info-hover);border-color:var(--info-hover)}.btn-info:active,.btn-info.active{background-color:var(--info-hover)!important;border-color:var(--info-hover)!important}.btn-info:disabled{opacity:.5}.btn-icon:focus{color:var(--primary)!important}.btn-icon.btn-icon-primary{color:var(--primary)}.btn-icon.btn-icon-primary:hover{color:var(--primary-alt)!important;background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-icon.btn-icon-primary:active,.btn-icon.btn-icon-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-icon.btn-icon-primary:disabled{color:var(--disabled)!important}.btn-icon.btn-icon-primary:focus{box-shadow:none!important}.btn-icon.btn-icon-secondary{color:var(--secondary)}.btn-icon.btn-icon-secondary:hover{color:var(--secondary-alt)!important;background-color:var(--secondary-hover);border-color:var(--secondary-hover)}.btn-icon.btn-icon-secondary:active,.btn-icon.btn-icon-secondary.active{color:var(--secondary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-icon.btn-icon-secondary:disabled{color:var(--disabled)!important}.btn-icon.btn-icon-secondary:focus{box-shadow:none!important}.btn-icon.btn-outline-primary{color:var(--primary);border-color:var(--primary);background-color:transparent}.btn-icon.btn-outline-primary .pgn__icon{color:var(--primary)}.btn-icon.btn-outline-primary:hover{color:var(--primary-light);background-color:var(--primary);border-color:var(--primary)}.btn-icon.btn-outline-primary:hover .pgn__icon{color:var(--primary-light)}.btn-icon.btn-outline-primary:active,.btn-icon.btn-outline-primary.active{color:var(--primary-light)!important;background-color:var(--primary-active)!important;border-color:var(--primary-active)!important}.btn-icon.btn-outline-primary:active .pgn__icon,.btn-icon.btn-outline-primary.active .pgn__icon{color:var(--primary-light)!important}.btn-icon.btn-outline-primary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-icon.btn-outline-primary:disabled .pgn__icon{color:var(--disabled)!important}.btn-icon.btn-outline-secondary{color:var(--secondary);border-color:var(--secondary);background-color:transparent}.btn-icon.btn-outline-secondary .pgn__icon{color:var(--secondary)}.btn-icon.btn-outline-secondary:hover{color:var(--primary-light);background-color:var(--secondary);border-color:var(--secondary)}.btn-icon.btn-outline-secondary:hover .pgn__icon{color:var(--primary-light)}.btn-icon.btn-outline-secondary:active,.btn-icon.btn-outline-secondary.active{color:var(--primary-light)!important;background-color:var(--secondary-active)!important;border-color:var(--secondary-active)!important}.btn-icon.btn-outline-secondary:active .pgn__icon,.btn-icon.btn-outline-secondary.active .pgn__icon{color:var(--primary-light)!important}.btn-icon.btn-outline-secondary:disabled{color:var(--disabled)!important;border-color:var(--disabled)!important}.btn-icon.btn-outline-secondary:disabled .pgn__icon{color:var(--disabled)!important}.btn-icon.btn-tertiary{color:var(--primary);background-color:transparent;border:none}.btn-icon.btn-tertiary .dropdown-toggle{background-color:var(--primary-light)!important}.btn-icon.btn-tertiary .pgn__icon{color:var(--primary)}.btn-icon.btn-tertiary:hover{color:var(--primary-hover);background-color:var(--primary-light)}.btn-icon.btn-tertiary:hover .pgn__icon{color:var(--primary-hover)}.btn-icon.btn-tertiary:active,.btn-icon.btn-tertiary.active{color:var(--primary-active)!important;background-color:var(--primary-light)!important}.btn-icon.btn-tertiary:active .pgn__icon,.btn-icon.btn-tertiary.active .pgn__icon{color:var(--primary-active)!important}.btn-icon.btn-tertiary:disabled{color:var(--disabled)!important}.btn-icon.btn-tertiary:disabled .pgn__icon{color:var(--disabled)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-success{color:var(--success)!important}.text-warning{color:var(--warning)!important}.text-danger{color:var(--danger)!important}.text-info{color:var(--info)!important}.pgn__icon.text-primary{color:var(--text-primary)!important}.pgn__icon.text-secondary{color:var(--text-secondary)!important}.pgn__icon.text-success{color:var(--success)!important}.pgn__icon.text-warning{color:var(--warning)!important}.pgn__icon.text-danger{color:var(--danger)!important}.pgn__icon.text-info{color:var(--info)!important}.cursor-pointer{cursor:pointer}.custom-outline-section .row{box-shadow:none!important;border:1px solid #e1e1e1}[data-tooltip]{position:relative;margin:0 5px;height:20px}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:50%;transform:translate(-50%);top:calc(100% + 8px);padding:8px 12px;background:var(--text-primary);color:var(--text-white);border-radius:6px;box-shadow:0 4px 8px #0003;white-space:normal;z-index:10;font-size:12px;line-height:1.4;max-width:250px;width:max-content;text-align:center}[data-tooltip]:hover:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:100%;border:6px solid transparent;border-bottom-color:var(--text-primary);z-index:11}.ca-breadcrumb-bg{width:100%;padding:.5rem 0 0}.ca-breadcrumb-container{margin:0 auto;padding:0 32px}.ca-breadcrumb{color:#b0b7c3;font-size:14px;margin-bottom:8px}.ca-breadcrumb .ca-breadcrumb-icon{opacity:.7}.ca-breadcrumb .ca-breadcrumb-icon .custom-icon{width:16px;height:16px;margin-right:4px}.ca-breadcrumb .ca-breadcrumb-divider{margin:0 8px}.ca-breadcrumb .ca-breadcrumb-current{color:#6b7280}.ca-title{font-weight:600;font-size:20px;color:#22223b}.ca-main-layout{display:flex;min-height:100vh;align-items:flex-start}.ca-sidebar{min-width:220px;max-width:260px;background:transparent;z-index:2;border-radius:0!important;padding-bottom:0!important;box-sizing:border-box;margin:16px 0 0 16px;border-radius:16px;position:sticky;top:32px;align-self:flex-start;overflow-y:auto;overflow-x:hidden;height:calc(100vh - 32px);max-height:calc(100vh - 32px)}.ca-main-content{flex:1;padding-top:1rem}.ca-mobile-nav{display:none;width:100%;padding:16px;padding-left:1.5rem;padding-right:1.5rem;border-bottom:1px solid #eee}.ca-mobile-nav-select{width:100%;padding:12px 30px 12px 12px;font-size:1rem;border:1px solid #ccc;border-radius:8px;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px center;background-size:10px 10px}@media(max-width:768px){.ca-sidebar{display:none}.ca-mobile-nav{display:block}.ca-main-layout{flex-direction:column}}.announcement-banner{width:100%;display:flex;align-items:center;justify-content:left;position:relative;color:var(--text-primary);padding:6px 20px;line-height:1.2;word-break:break-word;flex-wrap:wrap;transform-origin:top;transform:scaleY(0);opacity:0;transition:transform .8s ease,opacity .8s ease}.announcement-banner.showBanner{transform:scaleY(1);opacity:1}.announcement-banner.hideBanner{transform:scaleY(0);opacity:0}.announcement-banner .announcement-content{flex:1 1 auto;text-align:left}.announcement-banner .announcement-content h1,.announcement-banner .announcement-content h2,.announcement-banner .announcement-content h3,.announcement-banner .announcement-content h4,.announcement-banner .announcement-content h5,.announcement-banner .announcement-content h6,.announcement-banner .announcement-content p,.announcement-banner .announcement-content span,.announcement-banner .announcement-content strong,.announcement-banner .announcement-content em,.announcement-banner .announcement-content i,.announcement-banner .announcement-content b{margin:0;color:var(--text-primary)}.announcement-banner .announcement-content a{color:var(--primary);text-decoration:underline}.announcement-banner .announcement-content a:hover{color:var(--primary-hover)}.announcement-banner .announcement-content ul,.announcement-banner .announcement-content ol{margin:.5em 0;padding-left:1.5em}.announcement-banner .announcement-content li{margin:.25em 0}.announcement-banner .announcement-content img{max-width:100%;height:auto}.announcement-banner .announcement-content table{width:100%;border-collapse:collapse;margin:.5em 0}.announcement-banner .announcement-content th,.announcement-banner .announcement-content td{border:1px solid var(--border-color);padding:.5em;text-align:left}.announcement-banner .announcement-content th{background-color:var(--primary-light)}.announcement-banner .close-icon{position:absolute;right:18px;cursor:pointer;height:18px;width:18px}@media only screen and (max-width:650px){.announcement-banner{flex-direction:column;text-align:center}.announcement-banner .close-icon{right:10px;top:5px}}
|