@aiquants/menu-bar 1.18.1 → 1.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
- (function(N,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-router-dom"],a):(N=typeof globalThis<"u"?globalThis:N||self,a(N["@aiquants/menu-bar"]={},N.React,N.ReactRouterDOM))})(this,(function(N,a,Q){"use strict";var U={exports:{}},D={};var oe;function ge(){if(oe)return D;oe=1;var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function s(o,c,l){var u=null;if(l!==void 0&&(u=""+l),c.key!==void 0&&(u=""+c.key),"key"in c){l={};for(var m in c)m!=="key"&&(l[m]=c[m])}else l=c;return c=l.ref,{$$typeof:n,type:o,key:u,ref:c!==void 0?c:null,props:l}}return D.Fragment=t,D.jsx=s,D.jsxs=s,D}var Y={};var le;function ve(){return le||(le=1,process.env.NODE_ENV!=="production"&&(function(){function n(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ne?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case p:return"Fragment";case j:return"Profiler";case R:return"StrictMode";case H:return"Suspense";case ee:return"SuspenseList";case W:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case i:return"Portal";case I:return e.displayName||"Context";case _:return(e._context.displayName||"Context")+".Consumer";case L:var d=e.render;return e=e.displayName,e||(e=d.displayName||d.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case te:return d=e.displayName||null,d!==null?d:n(e.type)||"Memo";case V:d=e._payload,e=e._init;try{return n(e(d))}catch{}}return null}function t(e){return""+e}function s(e){try{t(e);var d=!1}catch{d=!0}if(d){d=console;var x=d.error,y=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return x.call(d,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",y),t(e)}}function o(e){if(e===p)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===V)return"<...>";try{var d=n(e);return d?"<"+d+">":"<...>"}catch{return"<...>"}}function c(){var e=T.A;return e===null?null:e.getOwner()}function l(){return Error("react-stack-top-frame")}function u(e){if(Z.call(e,"key")){var d=Object.getOwnPropertyDescriptor(e,"key").get;if(d&&d.isReactWarning)return!1}return e.key!==void 0}function m(e,d){function x(){F||(F=!0,console.error("%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://react.dev/link/special-props)",d))}x.isReactWarning=!0,Object.defineProperty(e,"key",{get:x,configurable:!0})}function b(){var e=n(this.type);return k[e]||(k[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function h(e,d,x,y,B,se){var g=x.ref;return e={$$typeof:P,type:e,key:d,props:x,_owner:y},(g!==void 0?g:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:b}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:B}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:se}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,d,x,y,B,se){var g=d.children;if(g!==void 0)if(y)if(re(g)){for(y=0;y<g.length;y++)w(g[y]);Object.freeze&&Object.freeze(g)}else console.error("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 w(g);if(Z.call(d,"key")){g=n(e);var z=Object.keys(d).filter(function(Be){return Be!=="key"});y=0<z.length?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}",J[g+y]||(z=0<z.length?"{"+z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(E,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-router-dom"],a):(E=typeof globalThis<"u"?globalThis:E||self,a(E["@aiquants/menu-bar"]={},E.React,E.ReactRouterDOM))})(this,(function(E,a,B){"use strict";var U={exports:{}},D={};var oe;function ke(){if(oe)return D;oe=1;var n=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function s(o,c,i){var d=null;if(i!==void 0&&(d=""+i),c.key!==void 0&&(d=""+c.key),"key"in c){i={};for(var g in c)g!=="key"&&(i[g]=c[g])}else i=c;return c=i.ref,{$$typeof:n,type:o,key:d,ref:c!==void 0?c:null,props:i}}return D.Fragment=t,D.jsx=s,D.jsxs=s,D}var Y={};var ie;function ve(){return ie||(ie=1,process.env.NODE_ENV!=="production"&&(function(){function n(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ne?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case h:return"Fragment";case A:return"Profiler";case P:return"StrictMode";case H:return"Suspense";case ee:return"SuspenseList";case W:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case l:return"Portal";case I:return e.displayName||"Context";case x:return(e._context.displayName||"Context")+".Consumer";case L:var u=e.render;return e=e.displayName,e||(e=u.displayName||u.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case te:return u=e.displayName||null,u!==null?u:n(e.type)||"Memo";case V:u=e._payload,e=e._init;try{return n(e(u))}catch{}}return null}function t(e){return""+e}function s(e){try{t(e);var u=!1}catch{u=!0}if(u){u=console;var p=u.error,_=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return p.call(u,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",_),t(e)}}function o(e){if(e===h)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===V)return"<...>";try{var u=n(e);return u?"<"+u+">":"<...>"}catch{return"<...>"}}function c(){var e=R.A;return e===null?null:e.getOwner()}function i(){return Error("react-stack-top-frame")}function d(e){if(Z.call(e,"key")){var u=Object.getOwnPropertyDescriptor(e,"key").get;if(u&&u.isReactWarning)return!1}return e.key!==void 0}function g(e,u){function p(){F||(F=!0,console.error("%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://react.dev/link/special-props)",u))}p.isReactWarning=!0,Object.defineProperty(e,"key",{get:p,configurable:!0})}function k(){var e=n(this.type);return y[e]||(y[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function w(e,u,p,_,q,se){var j=p.ref;return e={$$typeof:m,type:e,key:u,props:p,_owner:_},(j!==void 0?j:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:k}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:se}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,u,p,_,q,se){var j=u.children;if(j!==void 0)if(_)if(re(j)){for(_=0;_<j.length;_++)N(j[_]);Object.freeze&&Object.freeze(j)}else console.error("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 N(j);if(Z.call(u,"key")){j=n(e);var z=Object.keys(u).filter(function(qe){return qe!=="key"});_=0<z.length?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}",J[j+_]||(z=0<z.length?"{"+z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
5
5
  let props = %s;
6
- <%s key={someKey} {...props} />`,y,g,z,g),J[g+y]=!0)}if(g=null,x!==void 0&&(s(x),g=""+x),u(d)&&(s(d.key),g=""+d.key),"key"in d){x={};for(var ae in d)ae!=="key"&&(x[ae]=d[ae])}else x=d;return g&&m(x,typeof e=="function"?e.displayName||e.name||"Unknown":e),h(e,g,x,c(),B,se)}function w(e){v(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===V&&(e._payload.status==="fulfilled"?v(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function v(e){return typeof e=="object"&&e!==null&&e.$$typeof===P}var S=a,P=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),I=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),T=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=Object.prototype.hasOwnProperty,re=Array.isArray,O=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(e){return e()}};var F,k={},C=S.react_stack_bottom_frame.bind(S,l)(),A=O(o(l)),J={};Y.Fragment=p,Y.jsx=function(e,d,x){var y=1e4>T.recentlyCreatedOwnerStacks++;return f(e,d,x,!1,y?Error("react-stack-top-frame"):C,y?O(o(e)):A)},Y.jsxs=function(e,d,x){var y=1e4>T.recentlyCreatedOwnerStacks++;return f(e,d,x,!0,y?Error("react-stack-top-frame"):C,y?O(o(e)):A)}})()),Y}var ie;function we(){return ie||(ie=1,process.env.NODE_ENV==="production"?U.exports=ge():U.exports=ve()),U.exports}var r=we();const Ne=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_e=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,s,o)=>o?o.toUpperCase():s.toLowerCase()),ce=n=>{const t=_e(n);return t.charAt(0).toUpperCase()+t.slice(1)},ue=(...n)=>n.filter((t,s,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===s).join(" ").trim(),je=n=>{for(const t in n)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var Ee={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ce=a.forwardRef(({color:n="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:c="",children:l,iconNode:u,...m},b)=>a.createElement("svg",{ref:b,...Ee,width:t,height:t,stroke:n,strokeWidth:o?Number(s)*24/Number(t):s,className:ue("lucide",c),...!l&&!je(m)&&{"aria-hidden":"true"},...m},[...u.map(([h,f])=>a.createElement(h,f)),...Array.isArray(l)?l:[l]]));const M=(n,t)=>{const s=a.forwardRef(({className:o,...c},l)=>a.createElement(Ce,{ref:l,iconNode:t,className:ue(`lucide-${Ne(ce(n))}`,`lucide-${n}`,o),...c}));return s.displayName=ce(n),s};const Se=M("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Me=M("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Pe="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NiZDVlMSI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==",de=({to:n,className:t,children:s})=>r.jsx("a",{href:n,className:t,children:s}),Re=n=>{const{user:t,LinkComponent:s=de}=n;return r.jsx("div",{className:"w-full",children:t?r.jsxs("div",{className:"aiquants-session-card group relative flex flex-col gap-2 rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-sm backdrop-blur-md transition-all duration-200 hover:border-white/30 hover:bg-white/15 dark:border-slate-700/60 dark:bg-slate-800/60 dark:hover:border-slate-600/80 dark:hover:bg-slate-800/90",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[r.jsxs("div",{className:"relative shrink-0",children:[r.jsx("div",{className:"h-8 w-8 overflow-hidden rounded-full border border-white/40 shadow-xs dark:border-slate-500",children:r.jsx("img",{className:"h-full w-full rounded-full object-cover",src:t.photo||Pe,alt:t.displayName||"user profile"})}),r.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full border-2 border-slate-900 bg-emerald-400",title:"Online"})]}),r.jsxs("div",{className:"min-w-0 flex-1 leading-tight",children:[r.jsx("div",{className:"truncate font-semibold text-xs text-white tracking-tight dark:text-slate-100",title:t.displayName,children:t.displayName}),r.jsx("div",{className:"mt-0.5 font-medium text-[10px] text-white/75 tracking-tight dark:text-slate-400",children:"Google Account"})]})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-1.5 border-white/15 border-t pt-1.5 dark:border-slate-700/50",children:[r.jsxs(s,{className:"flex items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-2 py-1 font-medium text-[11px] text-white transition-all duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80",to:"/",children:[r.jsx(Me,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"truncate",children:"プロフィール"})]}),r.jsxs(s,{className:"flex items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-2 py-1 font-medium text-[11px] text-white transition-all duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80",to:"https://myaccount.google.com/",children:[r.jsx(Se,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"truncate",children:"Google"})]})]})]}):r.jsx("div",{className:"aiquants-session-card flex items-center justify-between rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-xs dark:border-slate-700/60 dark:bg-slate-800/60",children:r.jsx("span",{className:"font-medium text-white/90 text-xs dark:text-slate-200",children:"ログインしてください"})})})},G="aiquants-menu-pin-change";let E={pinned:!1,width:0};const X=(n=240)=>{if(typeof window>"u"||typeof document>"u")return{pinned:!1,width:0};try{const t=getComputedStyle(document.documentElement).getPropertyValue("--aiquants-menu-pinned-width").trim();if(t){const l=Number.parseInt(t,10);if(!Number.isNaN(l)){const u=l>0,m=u?l||n:0;return E.pinned===u&&E.width===m||(E={pinned:u,width:m}),E}}const o=localStorage.getItem("aiquants-menu-pinned")==="true",c=o?n:0;return E.pinned===o&&E.width===c||(E={pinned:o,width:c}),E}catch{return{pinned:!1,width:0}}},q=(n,t)=>{if(typeof window>"u")return;const s={pinned:n,width:t};(E.pinned!==n||E.width!==t)&&(E=s);const o=new CustomEvent(G,{detail:s,bubbles:!0,cancelable:!1});window.dispatchEvent(o)},fe=(n,t)=>{if(typeof window>"u")return()=>{};const{immediate:s=!0,defaultPinnedWidth:o=240}=t??{};if(s){const l=X(o);n(l)}const c=l=>{const u=l;u.detail&&n(u.detail)};return window.addEventListener(G,c,{passive:!0}),()=>{window.removeEventListener(G,c)}},Te=n=>{const t=n?.defaultPinnedWidth??240,s=n?.initialPinned??!1,o=a.useCallback(u=>fe(()=>{u()},{immediate:!1,defaultPinnedWidth:t}),[t]),c=a.useCallback(()=>X(t),[t]),l=a.useCallback(()=>({pinned:s,width:s?t:0}),[s,t]);return a.useSyncExternalStore(o,c,l)};const Oe=M("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);const he=M("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);const me=M("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);const Ae=M("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Ie=M("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const pe=M("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const Le=M("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);const ze=M("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const De=M("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),Ye=typeof window<"u"?a.useLayoutEffect:a.useEffect,be="aiquants-menu-scroll",xe=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),He={report:pe,slip:pe,table:De,chart:Ae,download:Ie,lock:ze,href:Le},Ve=({mark:n,children:t})=>{const s=n?He[n]:void 0;return s?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(s,{className:"h-3.5 w-3.5 shrink-0"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:t})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:t})},K=(n,t)=>t?{menu:{id:n.id,title:n.title,href:n.href},submenu:{subid:t.subid,title:t.title,href:t.href,mark:t.mark,new:t.new}}:{menu:{id:n.id,title:n.title,href:n.href}},We=({item:n,parentMenu:t,onMenuSelected:s})=>{if(n.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const o=r.jsx(Ve,{mark:n.mark,children:n.title}),c={onClick:()=>{s&&s(K(t,n))}};return n.new?r.jsx("a",{href:n.href,rel:"noopener noreferrer",target:"_blank",...c,children:o}):xe.test(n.href)?r.jsx("a",{href:n.href,...c,children:o}):r.jsx(Q.Link,{to:n.href,...c,children:o})},ke=n=>n?n.split(/[?#]/)[0].replace(/(?!^\/)\/$/,""):"",ye=(n,t)=>{const s=t!=="/"&&t.endsWith("/")?t.slice(0,-1):t;for(const o of n){if(ke(o.href)===s)return o.id;if(o.submenu){for(const c of o.submenu)if(ke(c.href)===s)return o.id}}return null},Fe=n=>{const{menuList:t,onMenuSelected:s,pinnedSubmenuIds:o=[],onToggleSubmenuPin:c}=n;let l="";try{l=Q.useLocation().pathname}catch{typeof window<"u"&&(l=window.location.pathname)}const u=a.useMemo(()=>ye(t,l),[t,l]),[m,b]=a.useState(u),h=a.useRef(l),f=a.useRef(u!==null);a.useEffect(()=>{if(h.current!==l&&(h.current=l,f.current=!1),!f.current){const i=ye(t,l);i!==null&&(b(i),f.current=!0)}},[l,t]);const w=a.useCallback(i=>{o.includes(i)||b(R=>R===i?null:i)},[o]),v=a.useRef(null);Ye(()=>{const i=v.current;if(i)try{const p=sessionStorage.getItem(be);if(p!==null){const R=Number.parseFloat(p);Number.isNaN(R)||(i.scrollTop=R)}}catch{}},[]);const S=a.useCallback(()=>{const i=v.current;if(i)try{sessionStorage.setItem(be,String(i.scrollTop))}catch{}},[]),P=a.useMemo(()=>r.jsx(r.Fragment,{children:t.map(i=>r.jsx("div",{children:i.href?r.jsx("div",{className:"aiquants-menu-list-item relative mb-0.5 ml-1 flex items-center rounded-l-xl px-2.5 py-1 text-xs before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm",children:xe.test(i.href)?r.jsx("a",{href:i.href,onClick:()=>{s&&s(K(i))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:i.title})}):r.jsx(Q.Link,{to:i.href,onClick:()=>{s&&s(K(i))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:i.title})})}):r.jsxs("details",{className:"aiquants-menu-accordion-details",open:i.id===m||o.includes(i.id),children:[r.jsxs("summary",{className:"aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 list-none rounded-l-xl px-2.5 py-1 text-xs outline-none before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm",onClick:p=>{p.preventDefault(),w(i.id)},onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),w(i.id))},children:[r.jsx("span",{children:i.title}),r.jsx("button",{type:"button",onClick:p=>{p.stopPropagation(),p.preventDefault(),c&&c(i.id)},className:`aiquants-submenu-pin-button ${o.includes(i.id)?"pinned":""}`,title:o.includes(i.id)?"ピン留め解除":"ピン留め",children:o.includes(i.id)?r.jsx(he,{size:13}):r.jsx(me,{size:13})})]}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm",children:i.submenu.map(p=>r.jsx("div",{className:"aiquants-menu-accordion-container block w-full whitespace-nowrap py-0.5 text-xs",children:r.jsx(We,{item:p,parentMenu:i,onMenuSelected:s})},p.subid))})]})},i.id))}),[t,s,m,w,o]);return r.jsx("div",{ref:v,onScroll:S,className:"hidden-scrollbar h-0 grow overflow-y-scroll",children:P})},Ue=n=>{const{menuList:t,menuHeader:s,open:o,onMenuSelected:c,onClickSignout:l,theme:u,toggleTheme:m,isPinned:b,onTogglePin:h,pinnedSubmenuIds:f,onToggleSubmenuPin:w}=n;return r.jsxs("div",{className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-dvh w-[240px] select-none flex-col transition-transform duration-500 ${o?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex shrink-0 flex-col justify-center border-white/15 border-b px-2.5 py-2 dark:border-slate-700/60",children:s}),r.jsx("div",{className:"flex grow flex-col overflow-y-auto",children:r.jsx(Fe,{menuList:t,onMenuSelected:c,pinnedSubmenuIds:f,onToggleSubmenuPin:w})}),r.jsx("div",{className:"border-white/15 border-t px-2.5 py-1.5 dark:border-slate-700/60",children:r.jsxs("div",{className:"flex items-center justify-between gap-1.5",children:[r.jsx("button",{type:"button",onClick:h,"data-aqmb-pin-button":!0,className:`flex h-7 items-center justify-center rounded-md px-2 text-[11px] text-white shadow-2xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-300/60 ${b?"bg-amber-500 hover:bg-amber-600 dark:bg-amber-600 dark:hover:bg-amber-500":"border border-white/20 bg-white/10 hover:bg-white/20 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600"}`,title:b?"ピン留め解除":"ピン留め","aria-label":b?"ピン留め解除":"ピン留め",children:b?r.jsx(he,{size:12}):r.jsx(me,{size:12})}),r.jsx("button",{type:"button",onClick:m,"data-aqmb-theme-button":!0,className:"group relative flex h-7 items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 text-[11px] text-white shadow-2xs backdrop-blur-xs transition-all duration-200 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600",title:u==="dark"?"ライトモードに切り替え":"ダークモードに切り替え","aria-label":u==="dark"?"ライトモードに切り替え":"ダークモードに切り替え",children:r.jsx("span",{className:"text-xs transition-transform duration-200 group-hover:scale-110",children:u==="dark"?"🌞":"🌙"})}),r.jsxs("button",{type:"button","data-aqmb-signout-button":!0,className:"aiquants-signout-button flex h-7 flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md bg-red-500/90 px-2.5 font-medium text-[11px] text-white shadow-2xs transition-colors duration-200 hover:bg-red-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60 dark:bg-red-600/90 dark:hover:bg-red-500",onClick:l,children:[r.jsx(Oe,{size:11,className:"shrink-0"}),r.jsx("span",{children:"サインアウト"})]})]})})]})},Ge=n=>{const{isOverlay:t,onOverlayClick:s}=n;return r.jsx("button",{type:"button",className:`fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${t?"opacity-100":"pointer-events-none opacity-0"}`,onClick:s})},Ze=n=>{const{open:t,onMenuOpen:s,onMenuClose:o,theme:c}=n,l=a.useRef(t),u=a.useRef(null),m=a.useRef(null),b=a.useRef(null),h=a.useRef(null),f=a.useRef(null),w=a.useCallback(()=>{if(u.current&&m.current&&b.current&&h.current&&f.current){const j=c==="dark"?"#fff":"#000";u.current.style.backgroundColor=j,u.current.style.width="100%",u.current.style.height="3px",u.current.style.transform="",m.current.style.opacity="1",m.current.style.backgroundColor=j,b.current.style.opacity="1",b.current.style.backgroundColor=j,h.current.style.backgroundColor=j,h.current.style.width="100%",h.current.style.height="3px",h.current.style.transform="",f.current.style.color=j,f.current.classList.remove("after:content-['close']"),f.current.classList.remove("after:ml-0.5"),f.current.classList.add("after:content-['menu']"),f.current.classList.add("after:-ml-0.5"),l.current=!0}},[c]),v=a.useCallback(()=>{u.current&&m.current&&b.current&&h.current&&f.current&&(u.current.style.backgroundColor="#fff",u.current.style.width="32px",u.current.style.height="4px",u.current.style.transform="translateY(9px) rotate(-45deg)",m.current.style.opacity="0",b.current.style.opacity="0",h.current.style.backgroundColor="#fff",h.current.style.width="32px",h.current.style.height="4px",h.current.style.transform="translateY(-9px) rotate(45deg)",f.current.style.color="#fff",f.current.classList.remove("after:content-['menu']"),f.current.classList.remove("after:-ml-0.5"),f.current.classList.add("after:content-['close']"),f.current.classList.add("after:ml-0.5"),l.current=!1)},[]),S=a.useCallback(()=>{w(),o&&o()},[w,o]),P=a.useCallback(()=>{v(),s&&s()},[v,s]),i=a.useCallback(()=>{l.current?P():S()},[S,P]),p=a.useCallback(j=>{j.currentTarget.blur()},[]),R=a.useCallback(j=>{j.preventDefault()},[]);return a.useEffect(()=>{t?w():v()},[t,w,v]),r.jsxs("button",{type:"button","data-aqmb-menu-switch":!0,className:"aiquants-menu-switch inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden",onClick:i,onFocus:p,onMouseDown:R,tabIndex:-1,children:[r.jsx("span",{className:"absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none",ref:u}),r.jsx("span",{className:"absolute top-1.5 left-0 box-border inline-block h-[3px] w-full select-none",ref:m}),r.jsx("span",{className:"absolute top-3 left-0 box-border inline-block h-[3px] w-full select-none",ref:b}),r.jsx("span",{className:"absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none",ref:h}),r.jsx("div",{className:"absolute w-full text-xs after:mt-2 after:block",ref:f})]})},$=typeof window<"u"?a.useLayoutEffect:a.useEffect,Je=n=>{const{menuList:t,menuHeader:s,onClickSignout:o,isMenuhide:c,isMenuHide:l,theme:u,toggleTheme:m,onMenuNavigate:b,isPinned:h,pinnedWidth:f=240,onPinChange:w,pinnedSubmenuIds:v,initialPinnedSubmenuIds:S,onSubmenuPinChange:P,closeOnEscape:i="auto"}=n,p=l??c??!1,[R,j]=a.useState(()=>{try{return localStorage.getItem("aiquants-menu-pinned")==="true"}catch{return!1}}),_=h!==void 0?h:R,[I,L]=a.useState(_);a.useEffect(()=>{_&&L(!0)},[_]);const[H,ee]=a.useState(()=>{if(S)return S;try{const k=localStorage.getItem("aiquants-submenu-pinned");if(k){const C=JSON.parse(k);if(Array.isArray(C))return C.filter(A=>typeof A=="number")}}catch{}return[]}),te=v!==void 0?v:H,V=a.useCallback(k=>{const C=v!==void 0?v:H,A=C.includes(k)?C.filter(J=>J!==k):[...C,k];if(v===void 0){ee(A);try{localStorage.setItem("aiquants-submenu-pinned",JSON.stringify(A))}catch{}}P&&P(A)},[v,H,P]),W=a.useRef(w);$(()=>{W.current=w},[w]),$(()=>{const k=_?f:0,C=`${k}px`;document.documentElement.style.setProperty("--aiquants-menu-pinned-width",C),q(_,k)},[_,f]),$(()=>()=>{document.documentElement.style.setProperty("--aiquants-menu-pinned-width","0px"),q(!1,0)},[]);const ne=a.useCallback(()=>{L(!0)},[]),T=a.useCallback(()=>{if(L(!1),h===void 0){j(!1);try{localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(!1,0)},[h]),Z=a.useCallback(()=>{const k=!_,C=k?f:0;if(h===void 0){j(k);try{k?localStorage.setItem("aiquants-menu-pinned","true"):localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(k,C)},[_,h,f]),re=a.useCallback(k=>{b&&b(k),_||L(!1)},[b,_]),O=a.useCallback(k=>{k.key==="Escape"&&T()},[T]),F=i===!0||i==="auto"&&!_;return a.useEffect(()=>(I&&F?window.addEventListener("keydown",O):window.removeEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}),[I,F,O]),p?null:r.jsxs("div",{className:`aiquants-menu-bar ${u}`,children:[r.jsx(Ze,{onMenuClose:T,onMenuOpen:ne,open:!I,theme:u}),r.jsx(Ue,{menuList:t,menuHeader:s,onClickSignout:o,onMenuSelected:re,open:I,theme:u,toggleTheme:m,isPinned:_,onTogglePin:Z,pinnedSubmenuIds:te,onToggleSubmenuPin:V}),r.jsx(Ge,{isOverlay:I&&!_,onOverlayClick:T})]})};N.DefaultLink=de,N.MENU_PIN_CHANGE_EVENT=G,N.MenuBar=Je,N.SessionInfo=Re,N.dispatchMenuPinChange=q,N.getInitialPinState=X,N.subscribeMenuPinChange=fe,N.useMenuPinState=Te,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})}));
6
+ <%s key={someKey} {...props} />`,_,j,z,j),J[j+_]=!0)}if(j=null,p!==void 0&&(s(p),j=""+p),d(u)&&(s(u.key),j=""+u.key),"key"in u){p={};for(var ae in u)ae!=="key"&&(p[ae]=u[ae])}else p=u;return j&&g(p,typeof e=="function"?e.displayName||e.name||"Unknown":e),w(e,j,p,c(),q,se)}function N(e){v(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===V&&(e._payload.status==="fulfilled"?v(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function v(e){return typeof e=="object"&&e!==null&&e.$$typeof===m}var b=a,m=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),A=Symbol.for("react.profiler"),x=Symbol.for("react.consumer"),I=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),R=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=Object.prototype.hasOwnProperty,re=Array.isArray,T=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(e){return e()}};var F,y={},C=b.react_stack_bottom_frame.bind(b,i)(),O=T(o(i)),J={};Y.Fragment=h,Y.jsx=function(e,u,p){var _=1e4>R.recentlyCreatedOwnerStacks++;return f(e,u,p,!1,_?Error("react-stack-top-frame"):C,_?T(o(e)):O)},Y.jsxs=function(e,u,p){var _=1e4>R.recentlyCreatedOwnerStacks++;return f(e,u,p,!0,_?Error("react-stack-top-frame"):C,_?T(o(e)):O)}})()),Y}var le;function we(){return le||(le=1,process.env.NODE_ENV==="production"?U.exports=ke():U.exports=ve()),U.exports}var r=we();const Ne=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_e=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,s,o)=>o?o.toUpperCase():s.toLowerCase()),ce=n=>{const t=_e(n);return t.charAt(0).toUpperCase()+t.slice(1)},ue=(...n)=>n.filter((t,s,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===s).join(" ").trim(),je=n=>{for(const t in n)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var Ee={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Se=a.forwardRef(({color:n="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:c="",children:i,iconNode:d,...g},k)=>a.createElement("svg",{ref:k,...Ee,width:t,height:t,stroke:n,strokeWidth:o?Number(s)*24/Number(t):s,className:ue("lucide",c),...!i&&!je(g)&&{"aria-hidden":"true"},...g},[...d.map(([w,f])=>a.createElement(w,f)),...Array.isArray(i)?i:[i]]));const M=(n,t)=>{const s=a.forwardRef(({className:o,...c},i)=>a.createElement(Se,{ref:i,iconNode:t,className:ue(`lucide-${Ne(ce(n))}`,`lucide-${n}`,o),...c}));return s.displayName=ce(n),s};const Ce=M("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Me=M("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Pe="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NiZDVlMSI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==",de=({to:n,className:t,children:s})=>r.jsx("a",{href:n,className:t,children:s}),Re=n=>{const{user:t,LinkComponent:s=de}=n;return r.jsx("div",{className:"w-full",children:t?r.jsxs("div",{className:"aiquants-session-card group relative flex flex-col gap-2 rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-sm backdrop-blur-md transition-all duration-200 hover:border-white/30 hover:bg-white/15 dark:border-slate-700/60 dark:bg-slate-800/60 dark:hover:border-slate-600/80 dark:hover:bg-slate-800/90",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[r.jsxs("div",{className:"relative shrink-0",children:[r.jsx("div",{className:"h-8 w-8 overflow-hidden rounded-full border border-white/40 shadow-xs dark:border-slate-500",children:r.jsx("img",{className:"h-full w-full rounded-full object-cover",src:t.photo||Pe,alt:t.displayName||"user profile"})}),r.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full border-2 border-slate-900 bg-emerald-400",title:"Online"})]}),r.jsxs("div",{className:"min-w-0 flex-1 leading-tight",children:[r.jsx("div",{className:"truncate font-semibold text-white text-xs tracking-tight dark:text-slate-100",title:t.displayName,children:t.displayName}),r.jsx("div",{className:"mt-0.5 font-medium text-[10px] text-white/75 tracking-tight dark:text-slate-400",children:"Google Account"})]})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-1.5 border-white/15 border-t pt-1.5 dark:border-slate-700/50",children:[r.jsxs(s,{className:"flex items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-2 py-1 font-medium text-[11px] text-white transition-all duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80",to:"/",children:[r.jsx(Me,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"truncate",children:"プロフィール"})]}),r.jsxs(s,{className:"flex items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-2 py-1 font-medium text-[11px] text-white transition-all duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80",to:"https://myaccount.google.com/",children:[r.jsx(Ce,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"truncate",children:"Google"})]})]})]}):r.jsx("div",{className:"aiquants-session-card flex items-center justify-between rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-xs dark:border-slate-700/60 dark:bg-slate-800/60",children:r.jsx("span",{className:"font-medium text-white/90 text-xs dark:text-slate-200",children:"ログインしてください"})})})},G="aiquants-menu-pin-change";let S={pinned:!1,width:0};const Q=(n=240)=>{if(typeof window>"u"||typeof document>"u")return{pinned:!1,width:0};try{const t=getComputedStyle(document.documentElement).getPropertyValue("--aiquants-menu-pinned-width").trim();if(t){const i=Number.parseInt(t,10);if(!Number.isNaN(i)){const d=i>0,g=d?i||n:0;return S.pinned===d&&S.width===g||(S={pinned:d,width:g}),S}}const o=localStorage.getItem("aiquants-menu-pinned")==="true",c=o?n:0;return S.pinned===o&&S.width===c||(S={pinned:o,width:c}),S}catch{return{pinned:!1,width:0}}},X=(n,t)=>{if(typeof window>"u")return;const s={pinned:n,width:t};(S.pinned!==n||S.width!==t)&&(S=s);const o=new CustomEvent(G,{detail:s,bubbles:!0,cancelable:!1});window.dispatchEvent(o)},fe=(n,t)=>{if(typeof window>"u")return()=>{};const{immediate:s=!0,defaultPinnedWidth:o=240}=t??{};if(s){const i=Q(o);n(i)}const c=i=>{const d=i;d.detail&&n(d.detail)};return window.addEventListener(G,c,{passive:!0}),()=>{window.removeEventListener(G,c)}},Te=n=>{const t=n?.defaultPinnedWidth??240,s=n?.initialPinned??!1,o=a.useCallback(d=>fe(()=>{d()},{immediate:!1,defaultPinnedWidth:t}),[t]),c=a.useCallback(()=>Q(t),[t]),i=a.useCallback(()=>({pinned:s,width:s?t:0}),[s,t]);return a.useSyncExternalStore(o,c,i)};const Oe=M("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);const he=M("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);const me=M("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);const Ae=M("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Ie=M("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const pe=M("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const Le=M("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);const ze=M("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const De=M("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),Ye=typeof window<"u"?a.useLayoutEffect:a.useEffect,be="aiquants-menu-scroll",xe=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),He={report:pe,slip:pe,table:De,chart:Ae,download:Ie,lock:ze,href:Le},Ve=({mark:n,children:t})=>{const s=n?He[n]:void 0;return s?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(s,{className:"h-3.5 w-3.5 shrink-0"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:t})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:t})},K=(n,t)=>t?{menu:{id:n.id,title:n.title,href:n.href},submenu:{subid:t.subid,title:t.title,href:t.href,mark:t.mark,new:t.new}}:{menu:{id:n.id,title:n.title,href:n.href}},We=({item:n,parentMenu:t,onMenuSelected:s})=>{if(n.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const o=r.jsx(Ve,{mark:n.mark,children:n.title}),c={onClick:()=>{s&&s(K(t,n))}};return n.new?r.jsx("a",{href:n.href,rel:"noopener noreferrer",target:"_blank",...c,children:o}):xe.test(n.href)?r.jsx("a",{href:n.href,...c,children:o}):r.jsx(B.Link,{to:n.href,...c,children:o})},ye=n=>n?n.split(/[?#]/)[0].replace(/(?!^\/)\/$/,""):"",ge=(n,t)=>{const s=t!=="/"&&t.endsWith("/")?t.slice(0,-1):t;for(const o of n){if(ye(o.href)===s)return o.id;if(o.submenu){for(const c of o.submenu)if(ye(c.href)===s)return o.id}}return null},Fe=n=>{const{menuList:t,onMenuSelected:s,pinnedSubmenuIds:o=[],onToggleSubmenuPin:c}=n;let i="";try{i=B.useLocation().pathname}catch{typeof window<"u"&&(i=window.location.pathname)}const d=a.useMemo(()=>ge(t,i),[t,i]),[g,k]=a.useState(d),w=a.useRef(i),f=a.useRef(d!==null);a.useEffect(()=>{if(w.current!==i&&(w.current=i,f.current=!1),!f.current){const l=ge(t,i);l!==null&&(k(l),f.current=!0)}},[i,t]);const N=a.useCallback(l=>{o.includes(l)||k(P=>P===l?null:l)},[o]),v=a.useRef(null);Ye(()=>{const l=v.current;if(l)try{const h=sessionStorage.getItem(be);if(h!==null){const P=Number.parseFloat(h);Number.isNaN(P)||(l.scrollTop=P)}}catch{}},[]);const b=a.useCallback(()=>{const l=v.current;if(l)try{sessionStorage.setItem(be,String(l.scrollTop))}catch{}},[]),m=a.useMemo(()=>r.jsx(r.Fragment,{children:t.map(l=>r.jsx("div",{children:l.href?r.jsx("div",{className:"aiquants-menu-list-item relative mb-0.5 ml-1 flex items-center rounded-l-xl px-2.5 py-1 text-xs before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm",children:xe.test(l.href)?r.jsx("a",{href:l.href,onClick:()=>{s&&s(K(l))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:l.title})}):r.jsx(B.Link,{to:l.href,onClick:()=>{s&&s(K(l))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:l.title})})}):r.jsxs("details",{className:"aiquants-menu-accordion-details",open:l.id===g||o.includes(l.id),children:[r.jsxs("summary",{className:"aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 list-none rounded-l-xl px-2.5 py-1 text-xs outline-none before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm",onClick:h=>{h.preventDefault(),N(l.id)},onKeyDown:h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),N(l.id))},children:[r.jsx("span",{children:l.title}),r.jsx("button",{type:"button",onClick:h=>{h.stopPropagation(),h.preventDefault(),c&&c(l.id)},className:`aiquants-submenu-pin-button ${o.includes(l.id)?"pinned":""}`,title:o.includes(l.id)?"ピン留め解除":"ピン留め",children:o.includes(l.id)?r.jsx(he,{size:13}):r.jsx(me,{size:13})})]}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm",children:l.submenu.map(h=>r.jsx("div",{className:"aiquants-menu-accordion-container block w-full whitespace-nowrap py-0.5 text-xs",children:r.jsx(We,{item:h,parentMenu:l,onMenuSelected:s})},h.subid))})]})},l.id))}),[t,s,g,N,o]);return r.jsx("div",{ref:v,onScroll:b,className:"hidden-scrollbar h-0 grow overflow-y-scroll",children:m})},Ue=n=>{const{menuList:t,menuHeader:s,open:o,onMenuSelected:c,onClickSignout:i,theme:d,toggleTheme:g,isPinned:k,onTogglePin:w,pinnedSubmenuIds:f,onToggleSubmenuPin:N}=n;return r.jsxs("div",{className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-dvh w-[240px] select-none flex-col transition-transform duration-500 ${o?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex shrink-0 flex-col justify-center border-white/15 border-b px-2.5 py-2 dark:border-slate-700/60",children:s}),r.jsx("div",{className:"flex grow flex-col overflow-y-auto",children:r.jsx(Fe,{menuList:t,onMenuSelected:c,pinnedSubmenuIds:f,onToggleSubmenuPin:N})}),r.jsx("div",{className:"border-white/15 border-t px-2.5 py-1.5 dark:border-slate-700/60",children:r.jsxs("div",{className:"flex items-center justify-between gap-1.5",children:[r.jsx("button",{type:"button",onClick:w,"data-aqmb-pin-button":!0,className:`flex h-7 items-center justify-center rounded-md px-2 text-[11px] text-white shadow-2xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-300/60 ${k?"bg-amber-500 hover:bg-amber-600 dark:bg-amber-600 dark:hover:bg-amber-500":"border border-white/20 bg-white/10 hover:bg-white/20 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600"}`,title:k?"ピン留め解除":"ピン留め","aria-label":k?"ピン留め解除":"ピン留め",children:k?r.jsx(he,{size:12}):r.jsx(me,{size:12})}),r.jsx("button",{type:"button",onClick:g,"data-aqmb-theme-button":!0,className:"group relative flex h-7 items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 text-[11px] text-white shadow-2xs backdrop-blur-xs transition-all duration-200 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600",title:d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え","aria-label":d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え",children:r.jsx("span",{className:"text-xs transition-transform duration-200 group-hover:scale-110",children:d==="dark"?"🌞":"🌙"})}),r.jsxs("button",{type:"button","data-aqmb-signout-button":!0,className:"aiquants-signout-button flex h-7 flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md bg-red-500/90 px-2.5 font-medium text-[11px] text-white shadow-2xs transition-colors duration-200 hover:bg-red-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60 dark:bg-red-600/90 dark:hover:bg-red-500",onClick:i,children:[r.jsx(Oe,{size:11,className:"shrink-0"}),r.jsx("span",{children:"サインアウト"})]})]})})]})},Ge=n=>{const{isOverlay:t,onOverlayClick:s}=n;return r.jsx("button",{type:"button",className:`fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${t?"opacity-100":"pointer-events-none opacity-0"}`,onClick:s})},Ze=n=>{const{open:t,isOpen:s,onMenuOpen:o,onMenuClose:c,onToggle:i,theme:d="light",className:g}=n,k=t??(s!==void 0?!s:!0),w=a.useRef(k),f=a.useRef(null),N=a.useRef(null),v=a.useRef(null),b=a.useRef(null),m=a.useRef(null),l=a.useCallback(()=>{if(f.current&&N.current&&v.current&&b.current&&m.current){const x=d==="dark"?"#fff":"#000";f.current.style.backgroundColor=x,f.current.style.width="100%",f.current.style.height="3px",f.current.style.transform="none",N.current.style.opacity="1",N.current.style.backgroundColor=x,v.current.style.opacity="1",v.current.style.backgroundColor=x,b.current.style.backgroundColor=x,b.current.style.width="100%",b.current.style.height="3px",b.current.style.transform="none",m.current.style.color=x,m.current.classList.remove("after:content-['close']"),m.current.classList.remove("after:ml-0.5"),m.current.classList.add("after:content-['menu']"),m.current.classList.add("after:-ml-0.5"),w.current=!0}},[d]),h=a.useCallback(()=>{f.current&&N.current&&v.current&&b.current&&m.current&&(f.current.style.backgroundColor="#fff",f.current.style.width="32px",f.current.style.height="4px",f.current.style.transform="translateY(9px) rotate(-45deg)",N.current.style.opacity="0",v.current.style.opacity="0",b.current.style.backgroundColor="#fff",b.current.style.width="32px",b.current.style.height="4px",b.current.style.transform="translateY(-9px) rotate(45deg)",m.current.style.color="#fff",m.current.classList.remove("after:content-['menu']"),m.current.classList.remove("after:-ml-0.5"),m.current.classList.add("after:content-['close']"),m.current.classList.add("after:ml-0.5"),w.current=!1)},[]);a.useEffect(()=>{k?l():h()},[k,l,h]);const P=a.useCallback(()=>{w.current?(h(),o?.(),i?.(!0)):(l(),c?.(),i?.(!1))},[h,l,o,c,i]),A=!k;return r.jsxs("button",{type:"button","data-aqmb-menu-switch":"true","aria-label":A?"Close menu":"Open menu","aria-expanded":A,className:`aiquants-menu-switch z-[2147483647] inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden ${g||""}`,onClick:P,children:[r.jsx("span",{ref:f,className:"absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500"}),r.jsx("span",{ref:N,className:"absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500"}),r.jsx("span",{ref:v,className:"absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500"}),r.jsx("span",{ref:b,className:"absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500"}),r.jsx("div",{ref:m,className:"absolute w-full text-xs transition-all duration-500 after:mt-2 after:block"})]})},$=typeof window<"u"?a.useLayoutEffect:a.useEffect,Je=n=>{const{menuList:t,menuHeader:s,onClickSignout:o,isMenuhide:c,isMenuHide:i,theme:d,toggleTheme:g,onMenuNavigate:k,isPinned:w,pinnedWidth:f=240,onPinChange:N,pinnedSubmenuIds:v,initialPinnedSubmenuIds:b,onSubmenuPinChange:m,closeOnEscape:l="auto"}=n,h=i??c??!1,[P,A]=a.useState(()=>{try{return localStorage.getItem("aiquants-menu-pinned")==="true"}catch{return!1}}),x=w!==void 0?w:P,[I,L]=a.useState(x);a.useEffect(()=>{x&&L(!0)},[x]);const[H,ee]=a.useState(()=>{if(b)return b;try{const y=localStorage.getItem("aiquants-submenu-pinned");if(y){const C=JSON.parse(y);if(Array.isArray(C))return C.filter(O=>typeof O=="number")}}catch{}return[]}),te=v!==void 0?v:H,V=a.useCallback(y=>{const C=v!==void 0?v:H,O=C.includes(y)?C.filter(J=>J!==y):[...C,y];if(v===void 0){ee(O);try{localStorage.setItem("aiquants-submenu-pinned",JSON.stringify(O))}catch{}}m&&m(O)},[v,H,m]),W=a.useRef(N);$(()=>{W.current=N},[N]),$(()=>{const y=x?f:0,C=`${y}px`;document.documentElement.style.setProperty("--aiquants-menu-pinned-width",C),X(x,y)},[x,f]),$(()=>()=>{document.documentElement.style.setProperty("--aiquants-menu-pinned-width","0px"),X(!1,0)},[]);const ne=a.useCallback(()=>{L(!0)},[]),R=a.useCallback(()=>{if(L(!1),w===void 0){A(!1);try{localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(!1,0)},[w]),Z=a.useCallback(()=>{const y=!x,C=y?f:0;if(w===void 0){A(y);try{y?localStorage.setItem("aiquants-menu-pinned","true"):localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(y,C)},[x,w,f]),re=a.useCallback(y=>{k&&k(y),x||L(!1)},[k,x]),T=a.useCallback(y=>{y.key==="Escape"&&R()},[R]),F=l===!0||l==="auto"&&!x;return a.useEffect(()=>(I&&F?window.addEventListener("keydown",T):window.removeEventListener("keydown",T),()=>{window.removeEventListener("keydown",T)}),[I,F,T]),h?null:r.jsxs("div",{className:`aiquants-menu-bar ${d}`,children:[r.jsx(Ze,{onMenuClose:R,onMenuOpen:ne,open:!I,theme:d}),r.jsx(Ue,{menuList:t,menuHeader:s,onClickSignout:o,onMenuSelected:re,open:I,theme:d,toggleTheme:g,isPinned:x,onTogglePin:Z,pinnedSubmenuIds:te,onToggleSubmenuPin:V}),r.jsx(Ge,{isOverlay:I&&!x,onOverlayClick:R})]})};E.DefaultLink=de,E.MENU_PIN_CHANGE_EVENT=G,E.MenuBar=Je,E.SessionInfo=Re,E.dispatchMenuPinChange=X,E.getInitialPinState=Q,E.subscribeMenuPinChange=fe,E.useMenuPinState=Te,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
2
  /*! @aiquants/menu-bar standalone CSS — 非 Tailwind ホスト専用。ホストの Tailwind ビルドと混在させないこと (同名ユーティリティ重複でカスケード反転が起きる) */
3
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:""}}}@layer theme{:root,:host{--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:2147480000}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{white-space:nowrap;background-color:#2563eb;min-width:0}.aiquants-menu-bar.light .aiquants-signout-button:hover,.aiquants-menu-bar .aiquants-signout-button:hover{background-color:#1e40af}.aiquants-menu-bar.dark .aiquants-menu-list-item{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:all .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{contain:content;transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-switch{position:var(--aqmb-switch-position,fixed);top:var(--aqmb-switch-top,6px);right:var(--aqmb-switch-right,8px);left:var(--aqmb-switch-left,auto);bottom:var(--aqmb-switch-bottom,auto);z-index:var(--aqmb-switch-z-index,2147480000)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3{top:calc(var(--spacing) * 3)}.top-\[18px\]{top:18px}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.left-0{left:calc(var(--spacing) * 0)}.z-2147483640{z-index:2147483640}.z-2147483642{z-index:2147483642}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[3px\]{height:3px}.h-\[27px\]{height:27px}.h-full{height:100%}.h-px{height:1px}.min-h-dvh{min-height:100dvh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[27px\]{width:27px}.w-\[240px\]{width:240px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-900{border-color:var(--color-slate-900)}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-red-500\/90{background-color:#fb2c36e6}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/90{background-color:color-mix(in oklab, var(--color-red-500) 90%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.object-cover{object-fit:cover}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.align-middle{vertical-align:middle}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-sky-600{color:var(--color-sky-600)}.text-white{color:var(--color-white)}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.before\:mr-2:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 2)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-2:before{content:var(--tw-content);height:calc(var(--spacing) * 2)}.before\:w-2:before{content:var(--tw-content);width:calc(var(--spacing) * 2)}.before\:shrink-0:before{content:var(--tw-content);flex-shrink:0}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:mt-2:after{content:var(--tw-content);margin-top:calc(var(--spacing) * 2)}.after\:-ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing) * -.5)}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing) * .5)}.after\:block:after{content:var(--tw-content);display:block}.after\:content-\[\'close\'\]:after{--tw-content:"close";content:var(--tw-content)}.after\:content-\[\'menu\'\]:after{--tw-content:"menu";content:var(--tw-content)}@media (hover:hover){.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:#ffa3a399}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-red-300) 60%, transparent)}}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:40rem){.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:#45556c80}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 50%, transparent)}}.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:#45556c99}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 60%, transparent)}}.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-amber-600:where(.dark,.dark *){background-color:var(--color-amber-600)}.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:#e40014e6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-600) 90%, transparent)}}.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:text-sky-400:where(.dark,.dark *){color:var(--color-sky-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}@media (hover:hover){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-amber-500:where(.dark,.dark *):hover{background-color:var(--color-amber-500)}.dark\:hover\:bg-red-500:where(.dark,.dark *):hover{background-color:var(--color-red-500)}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
3
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:""}}}@layer theme{:root,:host{--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:2147480000}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{white-space:nowrap;background-color:#2563eb;min-width:0}.aiquants-menu-bar.light .aiquants-signout-button:hover,.aiquants-menu-bar .aiquants-signout-button:hover{background-color:#1e40af}.aiquants-menu-bar.dark .aiquants-menu-list-item{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:all .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{contain:content;transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-switch{position:var(--aqmb-switch-position,fixed);top:var(--aqmb-switch-top,6px);right:var(--aqmb-switch-right,8px);left:var(--aqmb-switch-left,auto);bottom:var(--aqmb-switch-bottom,auto);z-index:var(--aqmb-switch-z-index,2147480000)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-\[6px\]{top:6px}.top-\[12px\]{top:12px}.top-\[18px\]{top:18px}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.left-0{left:calc(var(--spacing) * 0)}.z-2147483640{z-index:2147483640}.z-2147483642{z-index:2147483642}.z-\[2147483647\]{z-index:2147483647}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-\[3px\]{height:3px}.h-\[27px\]{height:27px}.h-full{height:100%}.h-px{height:1px}.min-h-dvh{min-height:100dvh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[27px\]{width:27px}.w-\[240px\]{width:240px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-900{border-color:var(--color-slate-900)}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-red-500\/90{background-color:#fb2c36e6}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/90{background-color:color-mix(in oklab, var(--color-red-500) 90%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.object-cover{object-fit:cover}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.align-middle{vertical-align:middle}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-sky-600{color:var(--color-sky-600)}.text-white{color:var(--color-white)}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.before\:mr-2:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 2)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-2:before{content:var(--tw-content);height:calc(var(--spacing) * 2)}.before\:w-2:before{content:var(--tw-content);width:calc(var(--spacing) * 2)}.before\:shrink-0:before{content:var(--tw-content);flex-shrink:0}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:mt-2:after{content:var(--tw-content);margin-top:calc(var(--spacing) * 2)}.after\:-ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing) * -.5)}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:calc(var(--spacing) * .5)}.after\:block:after{content:var(--tw-content);display:block}.after\:content-\[\'close\'\]:after{--tw-content:"close";content:var(--tw-content)}.after\:content-\[\'menu\'\]:after{--tw-content:"menu";content:var(--tw-content)}@media (hover:hover){.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:#ffa3a399}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-red-300) 60%, transparent)}}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:40rem){.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:#45556c80}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 50%, transparent)}}.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:#45556c99}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 60%, transparent)}}.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-amber-600:where(.dark,.dark *){background-color:var(--color-amber-600)}.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:#e40014e6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-600) 90%, transparent)}}.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:text-sky-400:where(.dark,.dark *){color:var(--color-sky-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}@media (hover:hover){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-amber-500:where(.dark,.dark *):hover{background-color:var(--color-amber-500)}.dark\:hover\:bg-red-500:where(.dark,.dark *):hover{background-color:var(--color-red-500)}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiquants/menu-bar",
3
- "version": "1.18.1",
3
+ "version": "1.18.2",
4
4
  "private": false,
5
5
  "description": "A React menu bar component with authentication support and theming",
6
6
  "keywords": [
@@ -62,7 +62,7 @@ export const SessionInfo = (props: SessionInfoProps): React.JSX.Element => {
62
62
  <span className="absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full border-2 border-slate-900 bg-emerald-400" title="Online" />
63
63
  </div>
64
64
  <div className="min-w-0 flex-1 leading-tight">
65
- <div className="truncate font-semibold text-xs text-white tracking-tight dark:text-slate-100" title={user.displayName}>
65
+ <div className="truncate font-semibold text-white text-xs tracking-tight dark:text-slate-100" title={user.displayName}>
66
66
  {user.displayName}
67
67
  </div>
68
68
  <div className="mt-0.5 font-medium text-[10px] text-white/75 tracking-tight dark:text-slate-400">Google Account</div>
@@ -1,118 +1,134 @@
1
- import type { FocusEvent, MouseEvent } from "react"
2
1
  import { useCallback, useEffect, useRef } from "react"
3
2
  import type { Theme } from "../types"
4
3
 
5
- interface IMenuSwitchProps {
6
- open: boolean
4
+ export interface IMenuSwitchProps {
5
+ /**
6
+ * MenuBar コンポーネントからの指示:
7
+ * open === true (または !isOpen): メニューは「閉じている」状態 ➔ 4本線ハンバーガーを表示
8
+ * open === false (または isOpen): メニューは「開いている」状態 ➔ ✕印を表示
9
+ */
10
+ open?: boolean
11
+ isOpen?: boolean
7
12
  onMenuOpen?: () => void
8
13
  onMenuClose?: () => void
9
- theme: Theme
14
+ onToggle?: (nextOpen: boolean) => void
15
+ theme?: Theme
16
+ pinned?: boolean
17
+ isPinned?: boolean
18
+ className?: string
10
19
  }
11
20
 
12
21
  /**
13
- * Renders the toggle button that switches the main menu visibility.
14
- * メインメニューの表示状態を切り替えるトグルボタンを描画。
22
+ * 4本線バーと✕印アニメーションの従前の仕様の MenuSwitch コンポーネント。
15
23
  */
16
24
  export const MenuSwitch = (props: IMenuSwitchProps): React.JSX.Element => {
17
- const { open, onMenuOpen, onMenuClose, theme } = props
18
- const state = useRef(open)
25
+ const { open, isOpen, onMenuOpen, onMenuClose, onToggle, theme = "light", className } = props
26
+
27
+ // メニューが閉じた状態(=4本線表示)かどうか
28
+ // open が指定されている場合は open (open === !isMenuOpen)
29
+ // isOpen が指定されている場合は !isOpen
30
+ const isClosed = open ?? (isOpen !== undefined ? !isOpen : true)
31
+
32
+ const stateRef = useRef(isClosed)
33
+
19
34
  const refSpan1 = useRef<HTMLSpanElement>(null)
20
35
  const refSpan2 = useRef<HTMLSpanElement>(null)
21
36
  const refSpan3 = useRef<HTMLSpanElement>(null)
22
37
  const refSpan4 = useRef<HTMLSpanElement>(null)
23
38
  const refMenuString = useRef<HTMLDivElement>(null)
24
39
 
25
- const styleOpen = useCallback(() => {
40
+ // 4本線ハンバーガーを表示(メニューが閉じている時)
41
+ const showHamburgerStyle = useCallback(() => {
26
42
  if (refSpan1.current && refSpan2.current && refSpan3.current && refSpan4.current && refMenuString.current) {
27
43
  const color = theme === "dark" ? "#fff" : "#000"
28
44
  refSpan1.current.style.backgroundColor = color
29
45
  refSpan1.current.style.width = "100%"
30
46
  refSpan1.current.style.height = "3px"
31
- refSpan1.current.style.transform = ""
47
+ refSpan1.current.style.transform = "none"
48
+
32
49
  refSpan2.current.style.opacity = "1"
33
50
  refSpan2.current.style.backgroundColor = color
51
+
34
52
  refSpan3.current.style.opacity = "1"
35
53
  refSpan3.current.style.backgroundColor = color
54
+
36
55
  refSpan4.current.style.backgroundColor = color
37
56
  refSpan4.current.style.width = "100%"
38
57
  refSpan4.current.style.height = "3px"
39
- refSpan4.current.style.transform = ""
58
+ refSpan4.current.style.transform = "none"
59
+
40
60
  refMenuString.current.style.color = color
41
61
  refMenuString.current.classList.remove("after:content-['close']")
42
62
  refMenuString.current.classList.remove("after:ml-0.5")
43
63
  refMenuString.current.classList.add("after:content-['menu']")
44
64
  refMenuString.current.classList.add("after:-ml-0.5")
45
- state.current = true
65
+ stateRef.current = true
46
66
  }
47
67
  }, [theme])
48
68
 
49
- const styleClose = useCallback(() => {
69
+ // ✕印を表示(メニューが開いている時)
70
+ const showCrossStyle = useCallback(() => {
50
71
  if (refSpan1.current && refSpan2.current && refSpan3.current && refSpan4.current && refMenuString.current) {
51
- // クローズボタンは背景オーバーレイが暗いため、常に白色
72
+ // 開いている時は背景オーバーレイが暗いため常に白色
52
73
  refSpan1.current.style.backgroundColor = "#fff"
53
74
  refSpan1.current.style.width = "32px"
54
75
  refSpan1.current.style.height = "4px"
55
76
  refSpan1.current.style.transform = "translateY(9px) rotate(-45deg)"
77
+
56
78
  refSpan2.current.style.opacity = "0"
57
79
  refSpan3.current.style.opacity = "0"
80
+
58
81
  refSpan4.current.style.backgroundColor = "#fff"
59
82
  refSpan4.current.style.width = "32px"
60
83
  refSpan4.current.style.height = "4px"
61
84
  refSpan4.current.style.transform = "translateY(-9px) rotate(45deg)"
85
+
62
86
  refMenuString.current.style.color = "#fff"
63
87
  refMenuString.current.classList.remove("after:content-['menu']")
64
88
  refMenuString.current.classList.remove("after:-ml-0.5")
65
89
  refMenuString.current.classList.add("after:content-['close']")
66
90
  refMenuString.current.classList.add("after:ml-0.5")
67
- state.current = false
91
+ stateRef.current = false
68
92
  }
69
93
  }, [])
70
94
 
71
- const handleOpen = useCallback(() => {
72
- styleOpen()
73
- if (onMenuClose) {
74
- onMenuClose()
75
- }
76
- }, [styleOpen, onMenuClose])
77
-
78
- const handleClose = useCallback(() => {
79
- styleClose()
80
- if (onMenuOpen) {
81
- onMenuOpen()
95
+ useEffect(() => {
96
+ if (isClosed) {
97
+ showHamburgerStyle()
98
+ } else {
99
+ showCrossStyle()
82
100
  }
83
- }, [styleClose, onMenuOpen])
101
+ }, [isClosed, showHamburgerStyle, showCrossStyle])
84
102
 
85
103
  const handleToggle = useCallback(() => {
86
- if (state.current) {
87
- handleClose()
104
+ if (stateRef.current) {
105
+ // 現在 4本線(閉じている状態) ➔ クリックでメニューを開く
106
+ showCrossStyle()
107
+ onMenuOpen?.()
108
+ onToggle?.(true)
88
109
  } else {
89
- handleOpen()
110
+ // 現在 ✕印(開いている状態) ➔ クリックでメニューを閉じる
111
+ showHamburgerStyle()
112
+ onMenuClose?.()
113
+ onToggle?.(false)
90
114
  }
91
- }, [handleOpen, handleClose])
92
-
93
- const handleFocus = useCallback((event: FocusEvent<HTMLButtonElement>) => {
94
- event.currentTarget.blur()
95
- }, [])
115
+ }, [showCrossStyle, showHamburgerStyle, onMenuOpen, onMenuClose, onToggle])
96
116
 
97
- const handleMouseDown = useCallback((event: MouseEvent<HTMLButtonElement>) => {
98
- event.preventDefault()
99
- }, [])
100
-
101
- useEffect(() => {
102
- if (open) {
103
- styleOpen()
104
- } else {
105
- styleClose()
106
- }
107
- }, [open, styleOpen, styleClose])
117
+ const isMenuOpened = !isClosed
108
118
 
109
119
  return (
110
- <button type="button" data-aqmb-menu-switch className="aiquants-menu-switch inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden" onClick={handleToggle} onFocus={handleFocus} onMouseDown={handleMouseDown} tabIndex={-1}>
111
- <span className="absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none" ref={refSpan1} />
112
- <span className="absolute top-1.5 left-0 box-border inline-block h-[3px] w-full select-none" ref={refSpan2} />
113
- <span className="absolute top-3 left-0 box-border inline-block h-[3px] w-full select-none" ref={refSpan3} />
114
- <span className="absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none" ref={refSpan4} />
115
- <div className="absolute w-full text-xs after:mt-2 after:block" ref={refMenuString} />
120
+ <button
121
+ type="button"
122
+ data-aqmb-menu-switch="true"
123
+ aria-label={isMenuOpened ? "Close menu" : "Open menu"}
124
+ aria-expanded={isMenuOpened}
125
+ className={`aiquants-menu-switch z-[2147483647] inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden ${className || ""}`}
126
+ onClick={handleToggle}>
127
+ <span ref={refSpan1} className="absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500" />
128
+ <span ref={refSpan2} className="absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500" />
129
+ <span ref={refSpan3} className="absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500" />
130
+ <span ref={refSpan4} className="absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none transition-all duration-500" />
131
+ <div ref={refMenuString} className="absolute w-full text-xs transition-all duration-500 after:mt-2 after:block" />
116
132
  </button>
117
133
  )
118
134
  }