@aiquants/menu-bar 1.1.0 → 1.3.0

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/MenuBar.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IMenu } from './contents/MenuList';
1
+ import { IMenu, MenuNavigationPayload } from './contents/MenuList';
2
2
  import { Theme } from './types';
3
3
 
4
4
  /**
@@ -11,6 +11,7 @@ import { Theme } from './types';
11
11
  * @property {boolean} [isMenuhide] - Whether to hide the menu. メニューを非表示にするかどうか。
12
12
  * @property {Theme} theme - The current theme.
13
13
  * @property {() => void} toggleTheme - Function to toggle the theme.
14
+ * @property {(payload: MenuNavigationPayload) => void} [onMenuNavigate] - Function to receive menu navigation events. メニュー遷移イベントを受け取る関数。
14
15
  */
15
16
  interface IMenuBarProps {
16
17
  menuList: IMenu[];
@@ -19,6 +20,7 @@ interface IMenuBarProps {
19
20
  isMenuhide?: boolean;
20
21
  theme: Theme;
21
22
  toggleTheme: () => void;
23
+ onMenuNavigate?(payload: MenuNavigationPayload): void;
22
24
  }
23
25
  /**
24
26
  * @function MenuBar
@@ -1,5 +1,5 @@
1
1
  import { Theme } from '../types';
2
- import { IMenu } from './MenuList';
2
+ import { IMenu, MenuNavigationPayload } from './MenuList';
3
3
 
4
4
  /**
5
5
  * @interface IMenuContentProps
@@ -8,7 +8,7 @@ import { IMenu } from './MenuList';
8
8
  * @property {IMenu[]} menuList - The list of menu items. メニュー項目のリスト。
9
9
  * @property {React.ReactNode} [menuHeader] - The header content of the menu. メニューのヘッダーコンテンツ。
10
10
  * @property {boolean} open - Whether the menu is open. メニューが開いているかどうか。
11
- * @property {() => void} onMenuSelected - Function to handle menu item selection. メニュー項目選択を処理する関数。
11
+ * @property {(payload: MenuNavigationPayload) => void} onMenuSelected - Function to handle menu item selection. メニュー項目選択を処理する関数。
12
12
  * @property {() => void} onClickSignout - Function to handle sign out. サインアウトを処理する関数。
13
13
  * @property {Theme} theme - The current theme.
14
14
  * @property {() => void} toggleTheme - Function to toggle the theme.
@@ -17,7 +17,7 @@ interface IMenuContentProps {
17
17
  menuList: IMenu[];
18
18
  menuHeader?: React.ReactNode;
19
19
  open: boolean;
20
- onMenuSelected(): void;
20
+ onMenuSelected(payload: MenuNavigationPayload): void;
21
21
  onClickSignout(): void;
22
22
  theme: Theme;
23
23
  toggleTheme: () => void;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @module MenuList
3
+ * @description This module provides the list of menu items.
4
+ * @description このモジュールは、メニュー項目のリストを提供します。
5
+ */
1
6
  /**
2
7
  * @interface ISubmenu
3
8
  * @description Interface for a submenu item.
@@ -30,16 +35,27 @@ export interface IMenu {
30
35
  href?: string;
31
36
  submenu: ISubmenu[];
32
37
  }
38
+ /**
39
+ * @typedef MenuNavigationPayload
40
+ * @description Payload emitted when a menu or submenu item is selected.
41
+ * @description メニューまたはサブメニューが選択された際に発火するペイロード。
42
+ * @property {{ id: number; title: string; href?: string }} menu - Selected menu metadata.
43
+ * @property {{ subid: number; title?: string; href: string; mark?: string; new?: boolean }} [submenu] - Selected submenu metadata.
44
+ */
45
+ export type MenuNavigationPayload = {
46
+ menu: Pick<IMenu, "id" | "title" | "href">;
47
+ submenu?: Pick<ISubmenu, "subid" | "title" | "href" | "mark" | "new">;
48
+ };
33
49
  /**
34
50
  * @interface IMenuListProps
35
51
  * @description Props for the MenuList component.
36
52
  * @description MenuList コンポーネントの Props。
37
53
  * @property {IMenu[]} menuList - The list of menu items. メニュー項目のリスト。
38
- * @property {() => void} [onMenuSelected] - Function to handle menu item selection. メニュー項目選択を処理する関数。
54
+ * @property {(payload: MenuNavigationPayload) => void} [onMenuSelected] - Function to handle menu item selection. メニュー項目選択を処理する関数。
39
55
  */
40
56
  interface IMenuListProps {
41
57
  menuList: IMenu[];
42
- onMenuSelected?(): void;
58
+ onMenuSelected?(payload: MenuNavigationPayload): void;
43
59
  }
44
60
  /**
45
61
  * @function MenuList
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export type { LinkProps, SessionInfoProps } from './components/SessionInfo';
2
2
  export { DefaultLink, SessionInfo } from './components/SessionInfo';
3
- export type { IMenu, ISubmenu } from './contents/MenuList';
3
+ export type { IMenu, ISubmenu, MenuNavigationPayload } from './contents/MenuList';
4
4
  export { MenuBar } from './MenuBar';
5
5
  export type { Theme } from './types';
6
6
  export type { UserProfile } from './types/user';
package/dist/index.es.js CHANGED
@@ -1,7 +1,7 @@
1
- import le, { useState as J, useCallback as v, useMemo as ie, useRef as w, useEffect as V } from "react";
2
- import { Link as G } from "react-router-dom";
3
- import { Link as ce, Lock as ue, Download as de, BarChart as fe, Table as me, FileText as F } from "lucide-react";
4
- var T = { exports: {} }, _ = {};
1
+ import ie, { useState as X, useCallback as g, useMemo as ce, useRef as E, useEffect as B } from "react";
2
+ import { Link as ue, Lock as de, Download as fe, BarChart as me, Table as xe, FileText as U } from "lucide-react";
3
+ import { Link as H } from "react-router-dom";
4
+ var O = { exports: {} }, N = {};
5
5
  /**
6
6
  * @license React
7
7
  * react-jsx-runtime.production.js
@@ -11,29 +11,29 @@ var T = { exports: {} }, _ = {};
11
11
  * This source code is licensed under the MIT license found in the
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
- var W;
15
- function xe() {
16
- if (W) return _;
17
- W = 1;
18
- var s = Symbol.for("react.transitional.element"), a = Symbol.for("react.fragment");
19
- function o(f, m, l) {
20
- var i = null;
21
- if (l !== void 0 && (i = "" + l), m.key !== void 0 && (i = "" + m.key), "key" in m) {
22
- l = {};
23
- for (var n in m)
24
- n !== "key" && (l[n] = m[n]);
25
- } else l = m;
26
- return m = l.ref, {
27
- $$typeof: s,
14
+ var J;
15
+ function pe() {
16
+ if (J) return N;
17
+ J = 1;
18
+ var t = Symbol.for("react.transitional.element"), o = Symbol.for("react.fragment");
19
+ function a(f, i, c) {
20
+ var u = null;
21
+ if (c !== void 0 && (u = "" + c), i.key !== void 0 && (u = "" + i.key), "key" in i) {
22
+ c = {};
23
+ for (var s in i)
24
+ s !== "key" && (c[s] = i[s]);
25
+ } else c = i;
26
+ return i = c.ref, {
27
+ $$typeof: t,
28
28
  type: f,
29
- key: i,
30
- ref: m !== void 0 ? m : null,
31
- props: l
29
+ key: u,
30
+ ref: i !== void 0 ? i : null,
31
+ props: c
32
32
  };
33
33
  }
34
- return _.Fragment = a, _.jsx = o, _.jsxs = o, _;
34
+ return N.Fragment = o, N.jsx = a, N.jsxs = a, N;
35
35
  }
36
- var N = {};
36
+ var R = {};
37
37
  /**
38
38
  * @license React
39
39
  * react-jsx-runtime.development.js
@@ -43,26 +43,26 @@ var N = {};
43
43
  * This source code is licensed under the MIT license found in the
44
44
  * LICENSE file in the root directory of this source tree.
45
45
  */
46
- var z;
47
- function pe() {
48
- return z || (z = 1, process.env.NODE_ENV !== "production" && (function() {
49
- function s(e) {
46
+ var V;
47
+ function he() {
48
+ return V || (V = 1, process.env.NODE_ENV !== "production" && (function() {
49
+ function t(e) {
50
50
  if (e == null) return null;
51
51
  if (typeof e == "function")
52
- return e.$$typeof === se ? null : e.displayName || e.name || null;
52
+ return e.$$typeof === oe ? null : e.displayName || e.name || null;
53
53
  if (typeof e == "string") return e;
54
54
  switch (e) {
55
- case y:
55
+ case _:
56
56
  return "Fragment";
57
- case H:
57
+ case k:
58
58
  return "Profiler";
59
- case B:
59
+ case C:
60
60
  return "StrictMode";
61
- case ee:
62
- return "Suspense";
63
61
  case re:
62
+ return "Suspense";
63
+ case te:
64
64
  return "SuspenseList";
65
- case ne:
65
+ case se:
66
66
  return "Activity";
67
67
  }
68
68
  if (typeof e == "object")
@@ -71,98 +71,98 @@ function pe() {
71
71
  ), e.$$typeof) {
72
72
  case S:
73
73
  return "Portal";
74
- case Q:
74
+ case K:
75
75
  return e.displayName || "Context";
76
- case Z:
76
+ case Q:
77
77
  return (e._context.displayName || "Context") + ".Consumer";
78
- case K:
79
- var t = e.render;
80
- return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
81
- case te:
82
- return t = e.displayName || null, t !== null ? t : s(e.type) || "Memo";
83
- case O:
84
- t = e._payload, e = e._init;
78
+ case ee:
79
+ var n = e.render;
80
+ return e = e.displayName, e || (e = n.displayName || n.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
81
+ case ne:
82
+ return n = e.displayName || null, n !== null ? n : t(e.type) || "Memo";
83
+ case A:
84
+ n = e._payload, e = e._init;
85
85
  try {
86
- return s(e(t));
86
+ return t(e(n));
87
87
  } catch {
88
88
  }
89
89
  }
90
90
  return null;
91
91
  }
92
- function a(e) {
92
+ function o(e) {
93
93
  return "" + e;
94
94
  }
95
- function o(e) {
95
+ function a(e) {
96
96
  try {
97
- a(e);
98
- var t = !1;
97
+ o(e);
98
+ var n = !1;
99
99
  } catch {
100
- t = !0;
100
+ n = !0;
101
101
  }
102
- if (t) {
103
- t = console;
104
- var u = t.error, x = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
105
- return u.call(
106
- t,
102
+ if (n) {
103
+ n = console;
104
+ var d = n.error, m = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
105
+ return d.call(
106
+ n,
107
107
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
108
- x
109
- ), a(e);
108
+ m
109
+ ), o(e);
110
110
  }
111
111
  }
112
112
  function f(e) {
113
- if (e === y) return "<>";
114
- if (typeof e == "object" && e !== null && e.$$typeof === O)
113
+ if (e === _) return "<>";
114
+ if (typeof e == "object" && e !== null && e.$$typeof === A)
115
115
  return "<...>";
116
116
  try {
117
- var t = s(e);
118
- return t ? "<" + t + ">" : "<...>";
117
+ var n = t(e);
118
+ return n ? "<" + n + ">" : "<...>";
119
119
  } catch {
120
120
  return "<...>";
121
121
  }
122
122
  }
123
- function m() {
124
- var e = C.A;
123
+ function i() {
124
+ var e = P.A;
125
125
  return e === null ? null : e.getOwner();
126
126
  }
127
- function l() {
127
+ function c() {
128
128
  return Error("react-stack-top-frame");
129
129
  }
130
- function i(e) {
131
- if (M.call(e, "key")) {
132
- var t = Object.getOwnPropertyDescriptor(e, "key").get;
133
- if (t && t.isReactWarning) return !1;
130
+ function u(e) {
131
+ if (D.call(e, "key")) {
132
+ var n = Object.getOwnPropertyDescriptor(e, "key").get;
133
+ if (n && n.isReactWarning) return !1;
134
134
  }
135
135
  return e.key !== void 0;
136
136
  }
137
- function n(e, t) {
138
- function u() {
139
- q || (q = !0, console.error(
137
+ function s(e, n) {
138
+ function d() {
139
+ Y || (Y = !0, console.error(
140
140
  "%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)",
141
- t
141
+ n
142
142
  ));
143
143
  }
144
- u.isReactWarning = !0, Object.defineProperty(e, "key", {
145
- get: u,
144
+ d.isReactWarning = !0, Object.defineProperty(e, "key", {
145
+ get: d,
146
146
  configurable: !0
147
147
  });
148
148
  }
149
- function c() {
150
- var e = s(this.type);
151
- return I[e] || (I[e] = !0, console.error(
149
+ function l() {
150
+ var e = t(this.type);
151
+ return $[e] || ($[e] = !0, console.error(
152
152
  "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."
153
153
  )), e = this.props.ref, e !== void 0 ? e : null;
154
154
  }
155
- function h(e, t, u, x, R, P) {
156
- var p = u.ref;
155
+ function h(e, n, d, m, T, L) {
156
+ var x = d.ref;
157
157
  return e = {
158
- $$typeof: E,
158
+ $$typeof: w,
159
159
  type: e,
160
- key: t,
161
- props: u,
162
- _owner: x
163
- }, (p !== void 0 ? p : null) !== null ? Object.defineProperty(e, "ref", {
160
+ key: n,
161
+ props: d,
162
+ _owner: m
163
+ }, (x !== void 0 ? x : null) !== null ? Object.defineProperty(e, "ref", {
164
164
  enumerable: !1,
165
- get: c
165
+ get: l
166
166
  }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
167
167
  configurable: !1,
168
168
  enumerable: !1,
@@ -177,177 +177,216 @@ function pe() {
177
177
  configurable: !1,
178
178
  enumerable: !1,
179
179
  writable: !0,
180
- value: R
180
+ value: T
181
181
  }), Object.defineProperty(e, "_debugTask", {
182
182
  configurable: !1,
183
183
  enumerable: !1,
184
184
  writable: !0,
185
- value: P
185
+ value: L
186
186
  }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
187
187
  }
188
- function d(e, t, u, x, R, P) {
189
- var p = t.children;
190
- if (p !== void 0)
191
- if (x)
192
- if (oe(p)) {
193
- for (x = 0; x < p.length; x++)
194
- g(p[x]);
195
- Object.freeze && Object.freeze(p);
188
+ function p(e, n, d, m, T, L) {
189
+ var x = n.children;
190
+ if (x !== void 0)
191
+ if (m)
192
+ if (ae(x)) {
193
+ for (m = 0; m < x.length; m++)
194
+ b(x[m]);
195
+ Object.freeze && Object.freeze(x);
196
196
  } else
197
197
  console.error(
198
198
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
199
199
  );
200
- else g(p);
201
- if (M.call(t, "key")) {
202
- p = s(e);
203
- var j = Object.keys(t).filter(function(ae) {
204
- return ae !== "key";
200
+ else b(x);
201
+ if (D.call(n, "key")) {
202
+ x = t(e);
203
+ var j = Object.keys(n).filter(function(le) {
204
+ return le !== "key";
205
205
  });
206
- x = 0 < j.length ? "{key: someKey, " + j.join(": ..., ") + ": ...}" : "{key: someKey}", D[p + x] || (j = 0 < j.length ? "{" + j.join(": ..., ") + ": ...}" : "{}", console.error(
206
+ m = 0 < j.length ? "{key: someKey, " + j.join(": ..., ") + ": ...}" : "{key: someKey}", z[x + m] || (j = 0 < j.length ? "{" + j.join(": ..., ") + ": ...}" : "{}", console.error(
207
207
  `A props object containing a "key" prop is being spread into JSX:
208
208
  let props = %s;
209
209
  <%s {...props} />
210
210
  React keys must be passed directly to JSX without using spread:
211
211
  let props = %s;
212
212
  <%s key={someKey} {...props} />`,
213
+ m,
213
214
  x,
214
- p,
215
215
  j,
216
- p
217
- ), D[p + x] = !0);
216
+ x
217
+ ), z[x + m] = !0);
218
218
  }
219
- if (p = null, u !== void 0 && (o(u), p = "" + u), i(t) && (o(t.key), p = "" + t.key), "key" in t) {
220
- u = {};
221
- for (var L in t)
222
- L !== "key" && (u[L] = t[L]);
223
- } else u = t;
224
- return p && n(
225
- u,
219
+ if (x = null, d !== void 0 && (a(d), x = "" + d), u(n) && (a(n.key), x = "" + n.key), "key" in n) {
220
+ d = {};
221
+ for (var q in n)
222
+ q !== "key" && (d[q] = n[q]);
223
+ } else d = n;
224
+ return x && s(
225
+ d,
226
226
  typeof e == "function" ? e.displayName || e.name || "Unknown" : e
227
227
  ), h(
228
228
  e,
229
- p,
230
- u,
231
- m(),
232
- R,
233
- P
229
+ x,
230
+ d,
231
+ i(),
232
+ T,
233
+ L
234
234
  );
235
235
  }
236
- function g(e) {
237
- b(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === O && (e._payload.status === "fulfilled" ? b(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
238
- }
239
236
  function b(e) {
240
- return typeof e == "object" && e !== null && e.$$typeof === E;
237
+ y(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === A && (e._payload.status === "fulfilled" ? y(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
238
+ }
239
+ function y(e) {
240
+ return typeof e == "object" && e !== null && e.$$typeof === w;
241
241
  }
242
- var k = le, E = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), B = Symbol.for("react.strict_mode"), H = Symbol.for("react.profiler"), Z = Symbol.for("react.consumer"), Q = Symbol.for("react.context"), K = Symbol.for("react.forward_ref"), ee = Symbol.for("react.suspense"), re = Symbol.for("react.suspense_list"), te = Symbol.for("react.memo"), O = Symbol.for("react.lazy"), ne = Symbol.for("react.activity"), se = Symbol.for("react.client.reference"), C = k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, M = Object.prototype.hasOwnProperty, oe = Array.isArray, A = console.createTask ? console.createTask : function() {
242
+ var v = ie, w = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), _ = Symbol.for("react.fragment"), C = Symbol.for("react.strict_mode"), k = Symbol.for("react.profiler"), Q = Symbol.for("react.consumer"), K = Symbol.for("react.context"), ee = Symbol.for("react.forward_ref"), re = Symbol.for("react.suspense"), te = Symbol.for("react.suspense_list"), ne = Symbol.for("react.memo"), A = Symbol.for("react.lazy"), se = Symbol.for("react.activity"), oe = Symbol.for("react.client.reference"), P = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, D = Object.prototype.hasOwnProperty, ae = Array.isArray, M = console.createTask ? console.createTask : function() {
243
243
  return null;
244
244
  };
245
- k = {
245
+ v = {
246
246
  react_stack_bottom_frame: function(e) {
247
247
  return e();
248
248
  }
249
249
  };
250
- var q, I = {}, Y = k.react_stack_bottom_frame.bind(
251
- k,
252
- l
253
- )(), $ = A(f(l)), D = {};
254
- N.Fragment = y, N.jsx = function(e, t, u) {
255
- var x = 1e4 > C.recentlyCreatedOwnerStacks++;
256
- return d(
250
+ var Y, $ = {}, F = v.react_stack_bottom_frame.bind(
251
+ v,
252
+ c
253
+ )(), W = M(f(c)), z = {};
254
+ R.Fragment = _, R.jsx = function(e, n, d) {
255
+ var m = 1e4 > P.recentlyCreatedOwnerStacks++;
256
+ return p(
257
257
  e,
258
- t,
259
- u,
258
+ n,
259
+ d,
260
260
  !1,
261
- x ? Error("react-stack-top-frame") : Y,
262
- x ? A(f(e)) : $
261
+ m ? Error("react-stack-top-frame") : F,
262
+ m ? M(f(e)) : W
263
263
  );
264
- }, N.jsxs = function(e, t, u) {
265
- var x = 1e4 > C.recentlyCreatedOwnerStacks++;
266
- return d(
264
+ }, R.jsxs = function(e, n, d) {
265
+ var m = 1e4 > P.recentlyCreatedOwnerStacks++;
266
+ return p(
267
267
  e,
268
- t,
269
- u,
268
+ n,
269
+ d,
270
270
  !0,
271
- x ? Error("react-stack-top-frame") : Y,
272
- x ? A(f(e)) : $
271
+ m ? Error("react-stack-top-frame") : F,
272
+ m ? M(f(e)) : W
273
273
  );
274
274
  };
275
- })()), N;
275
+ })()), R;
276
276
  }
277
- var U;
278
- function he() {
279
- return U || (U = 1, process.env.NODE_ENV === "production" ? T.exports = xe() : T.exports = pe()), T.exports;
277
+ var G;
278
+ function be() {
279
+ return G || (G = 1, process.env.NODE_ENV === "production" ? O.exports = pe() : O.exports = he()), O.exports;
280
280
  }
281
- var r = he();
282
- const be = ({ to: s, className: a, children: o }) => /* @__PURE__ */ r.jsx("a", { href: s, className: a, children: o }), Te = (s) => {
283
- const { user: a, LinkComponent: o = be } = s;
284
- return /* @__PURE__ */ r.jsx("div", { className: "max-h-20 max-w-52", children: /* @__PURE__ */ r.jsx("div", { className: "flex grow flex-col", children: a ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
281
+ var r = be();
282
+ const ve = ({ to: t, className: o, children: a }) => /* @__PURE__ */ r.jsx("a", { href: t, className: o, children: a }), Oe = (t) => {
283
+ const { user: o, LinkComponent: a = ve } = t;
284
+ return /* @__PURE__ */ r.jsx("div", { className: "max-h-20 max-w-52", children: /* @__PURE__ */ r.jsx("div", { className: "flex grow flex-col", children: o ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
285
285
  /* @__PURE__ */ r.jsxs("div", { className: "flex flex-row", children: [
286
- /* @__PURE__ */ r.jsx("div", { className: "aiquants-session-photo m-1 h-14 w-14 p-0.5", children: /* @__PURE__ */ r.jsx("img", { className: "object-contain", src: a.photo, "aria-label": "profile photo" }) }),
286
+ /* @__PURE__ */ r.jsx("div", { className: "aiquants-session-photo m-1 h-14 w-14 p-0.5", children: /* @__PURE__ */ r.jsx("img", { className: "object-contain", src: o.photo, "aria-label": "profile photo" }) }),
287
287
  /* @__PURE__ */ r.jsxs("div", { className: "mx-1 flex flex-col", children: [
288
- /* @__PURE__ */ r.jsx(o, { className: "aiquants-session-link my-1 rounded-lg px-2 text-center text-xs", to: "/", children: "プロフィールを編集" }),
289
- /* @__PURE__ */ r.jsx(o, { className: "aiquants-session-link rounded-lg px-2 text-center text-xs", to: "/", children: "プロフィール" }),
290
- /* @__PURE__ */ r.jsx(o, { className: "aiquants-session-link my-1 rounded-lg px-2 text-center text-xs", to: "https://myaccount.google.com/", children: "Google Account" })
288
+ /* @__PURE__ */ r.jsx(a, { className: "aiquants-session-link my-1 rounded-lg px-2 text-center text-xs", to: "/", children: "プロフィールを編集" }),
289
+ /* @__PURE__ */ r.jsx(a, { className: "aiquants-session-link rounded-lg px-2 text-center text-xs", to: "/", children: "プロフィール" }),
290
+ /* @__PURE__ */ r.jsx(a, { className: "aiquants-session-link my-1 rounded-lg px-2 text-center text-xs", to: "https://myaccount.google.com/", children: "Google Account" })
291
291
  ] })
292
292
  ] }),
293
- /* @__PURE__ */ r.jsx("div", { className: "aiquants-session-info mb-1 min-h-[1em] w-full rounded-r-lg px-2 py-0.5 text-xs", children: a.displayName })
293
+ /* @__PURE__ */ r.jsx("div", { className: "aiquants-session-info mb-1 min-h-[1em] w-full rounded-r-lg px-2 py-0.5 text-xs", children: o.displayName })
294
294
  ] }) : /* @__PURE__ */ r.jsx("div", { className: "aiquants-session-info mb-1 min-h-[1em] w-9/12 rounded-r-lg py-0.5 pl-1 text-xs", children: "ログインはこちら" }) }) });
295
- }, X = new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/), ve = {
296
- report: F,
297
- slip: F,
298
- table: me,
299
- chart: fe,
300
- download: de,
301
- lock: ue,
302
- href: ce
303
- }, ge = ({ mark: s, children: a }) => {
304
- const o = s ? ve[s] : void 0;
305
- return o ? /* @__PURE__ */ r.jsxs("div", { className: "flex flex-nowrap items-center", children: [
306
- /* @__PURE__ */ r.jsx(o, { className: "h-4 w-4" }),
307
- /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-link mx-1 hover:underline", children: a })
308
- ] }) : /* @__PURE__ */ r.jsx("span", { className: "mx-1 text-sky-600 hover:underline dark:text-sky-400", children: a });
309
- }, ke = ({ item: s, onMenuSelected: a }) => {
310
- if (s.href === "separator")
295
+ }, Z = new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/), ge = {
296
+ report: U,
297
+ slip: U,
298
+ table: xe,
299
+ chart: me,
300
+ download: fe,
301
+ lock: de,
302
+ href: ue
303
+ }, ke = ({ mark: t, children: o }) => {
304
+ const a = t ? ge[t] : void 0;
305
+ return a ? /* @__PURE__ */ r.jsxs("div", { className: "flex flex-nowrap items-center", children: [
306
+ /* @__PURE__ */ r.jsx(a, { className: "h-4 w-4" }),
307
+ /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-link mx-1 hover:underline", children: o })
308
+ ] }) : /* @__PURE__ */ r.jsx("span", { className: "mx-1 text-sky-600 hover:underline dark:text-sky-400", children: o });
309
+ }, I = (t, o) => o ? {
310
+ menu: {
311
+ id: t.id,
312
+ title: t.title,
313
+ href: t.href
314
+ },
315
+ submenu: {
316
+ subid: o.subid,
317
+ title: o.title,
318
+ href: o.href,
319
+ mark: o.mark,
320
+ new: o.new
321
+ }
322
+ } : {
323
+ menu: {
324
+ id: t.id,
325
+ title: t.title,
326
+ href: t.href
327
+ }
328
+ }, ye = ({ item: t, parentMenu: o, onMenuSelected: a }) => {
329
+ if (t.href === "separator")
311
330
  return /* @__PURE__ */ r.jsx("hr", { className: "aiquants-menu-separator mx-2 my-1 h-px" });
312
- const o = /* @__PURE__ */ r.jsx(ge, { mark: s.mark, children: s.title }), f = {
313
- onClick: a
331
+ const f = /* @__PURE__ */ r.jsx(ke, { mark: t.mark, children: t.title }), i = {
332
+ onClick: () => {
333
+ a && a(I(o, t));
334
+ }
314
335
  };
315
- return s.new ? /* @__PURE__ */ r.jsx("a", { href: s.href, rel: "noopener noreferrer", target: "_blank", ...f, children: o }) : X.test(s.href) ? /* @__PURE__ */ r.jsx("a", { href: s.href, ...f, children: o }) : /* @__PURE__ */ r.jsx(G, { to: s.href, ...f, children: o });
316
- }, ye = (s) => {
317
- const { menuList: a, onMenuSelected: o } = s, [f, m] = J(null), l = v((n) => {
318
- m((c) => c === n ? null : n);
319
- }, []), i = ie(() => /* @__PURE__ */ r.jsx(r.Fragment, { children: a.map((n) => /* @__PURE__ */ r.jsx("div", { children: n.href ? /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-list-item before:-mt-1 relative mb-1 ml-1 h-full rounded-l-2xl p-2 align-middle text-sm before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']", children: X.test(n.href) ? /* @__PURE__ */ r.jsx("a", { href: n.href, onClick: o, children: /* @__PURE__ */ r.jsx("span", { className: "aiquants-menu-link hover:underline", children: n.title }) }) : /* @__PURE__ */ r.jsx(G, { to: n.href, onClick: o, children: /* @__PURE__ */ r.jsx("span", { className: "aiquants-menu-link hover:underline", children: n.title }) }) }) : /* @__PURE__ */ r.jsxs("details", { className: "menu-accordion-details", open: n.id === f, children: [
336
+ return t.new ? /* @__PURE__ */ r.jsx("a", { href: t.href, rel: "noopener noreferrer", target: "_blank", ...i, children: f }) : Z.test(t.href) ? /* @__PURE__ */ r.jsx("a", { href: t.href, ...i, children: f }) : /* @__PURE__ */ r.jsx(H, { to: t.href, ...i, children: f });
337
+ }, we = (t) => {
338
+ const { menuList: o, onMenuSelected: a } = t, [f, i] = X(null), c = g((s) => {
339
+ i((l) => l === s ? null : s);
340
+ }, []), u = ce(() => /* @__PURE__ */ r.jsx(r.Fragment, { children: o.map((s) => /* @__PURE__ */ r.jsx("div", { children: s.href ? /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-list-item before:-mt-1 relative mb-1 ml-1 h-full rounded-l-2xl p-2 align-middle text-sm before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']", children: Z.test(s.href) ? /* @__PURE__ */ r.jsx(
341
+ "a",
342
+ {
343
+ href: s.href,
344
+ onClick: () => {
345
+ a && a(I(s));
346
+ },
347
+ children: /* @__PURE__ */ r.jsx("span", { className: "aiquants-menu-link hover:underline", children: s.title })
348
+ }
349
+ ) : /* @__PURE__ */ r.jsx(
350
+ H,
351
+ {
352
+ to: s.href,
353
+ onClick: () => {
354
+ a && a(I(s));
355
+ },
356
+ children: /* @__PURE__ */ r.jsx("span", { className: "aiquants-menu-link hover:underline", children: s.title })
357
+ }
358
+ ) }) : /* @__PURE__ */ r.jsxs("details", { className: "menu-accordion-details", open: s.id === f, children: [
320
359
  /* @__PURE__ */ r.jsx(
321
360
  "summary",
322
361
  {
323
362
  className: "aiquants-menu-list-item menu-accordion-summary before:-mt-1 relative mb-1 ml-1 h-full list-none rounded-l-2xl p-2 align-middle text-sm outline-none before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']",
324
- onClick: (c) => {
325
- c.preventDefault(), l(n.id);
363
+ onClick: (l) => {
364
+ l.preventDefault(), c(s.id);
326
365
  },
327
- onKeyDown: (c) => {
328
- (c.key === "Enter" || c.key === " ") && (c.preventDefault(), l(n.id));
366
+ onKeyDown: (l) => {
367
+ (l.key === "Enter" || l.key === " ") && (l.preventDefault(), c(s.id));
329
368
  },
330
- children: /* @__PURE__ */ r.jsx("span", { children: n.title })
369
+ children: /* @__PURE__ */ r.jsx("span", { children: s.title })
331
370
  }
332
371
  ),
333
- /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-submenu pointer-events-auto my-1 mr-1 ml-4 rounded p-2 shadow-md", children: n.submenu.map((c) => /* @__PURE__ */ r.jsx("div", { className: "menu-accordion-container block w-full whitespace-nowrap text-sm", children: /* @__PURE__ */ r.jsx(ke, { item: c, onMenuSelected: o }) }, c.subid)) })
334
- ] }) }, n.id)) }), [a, o, f, l]);
335
- return /* @__PURE__ */ r.jsx("div", { className: "hidden-scrollbar h-0 grow overflow-y-scroll", children: i });
336
- }, je = (s) => {
337
- const { menuList: a, menuHeader: o, open: f, onMenuSelected: m, onClickSignout: l, theme: i, toggleTheme: n } = s;
372
+ /* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-submenu pointer-events-auto my-1 mr-1 ml-4 rounded p-2 shadow-md", children: s.submenu.map((l) => /* @__PURE__ */ r.jsx("div", { className: "menu-accordion-container block w-full whitespace-nowrap text-sm", children: /* @__PURE__ */ r.jsx(ye, { item: l, parentMenu: s, onMenuSelected: a }) }, l.subid)) })
373
+ ] }) }, s.id)) }), [o, a, f, c]);
374
+ return /* @__PURE__ */ r.jsx("div", { className: "hidden-scrollbar h-0 grow overflow-y-scroll", children: u });
375
+ }, je = (t) => {
376
+ const { menuList: o, menuHeader: a, open: f, onMenuSelected: i, onClickSignout: c, theme: u, toggleTheme: s } = t;
338
377
  return /* @__PURE__ */ r.jsxs("div", { className: `aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-screen w-[250px] select-none flex-col transition-transform duration-500 ${f ? "aiquants-menu-translate-x-0" : "aiquants-menu-translate-x-250"}`, children: [
339
- /* @__PURE__ */ r.jsx("div", { className: "flex h-[100px] flex-col", children: o }),
340
- /* @__PURE__ */ r.jsx("div", { className: "flex grow flex-col", children: /* @__PURE__ */ r.jsx(ye, { menuList: a, onMenuSelected: m }) }),
378
+ /* @__PURE__ */ r.jsx("div", { className: "flex h-[100px] flex-col", children: a }),
379
+ /* @__PURE__ */ r.jsx("div", { className: "flex grow flex-col", children: /* @__PURE__ */ r.jsx(we, { menuList: o, onMenuSelected: i }) }),
341
380
  /* @__PURE__ */ r.jsx("div", { className: "px-4 pt-2 pb-4", children: /* @__PURE__ */ r.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
342
381
  /* @__PURE__ */ r.jsxs(
343
382
  "button",
344
383
  {
345
384
  type: "button",
346
- onClick: n,
385
+ onClick: s,
347
386
  className: "group relative flex flex-1 items-center gap-2 rounded-lg border border-white/15 bg-white/10 px-3 py-2 font-medium text-white text-xs shadow-sm backdrop-blur-sm transition-all duration-300 hover:border-white/25 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 focus-visible:ring-offset-0 dark:border-gray-600/40 dark:bg-gray-800/80 dark:hover:border-gray-500/60 dark:hover:bg-gray-700",
348
387
  children: [
349
- /* @__PURE__ */ r.jsx("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-white/20 backdrop-blur-sm transition-all duration-300 group-hover:scale-110 group-hover:bg-white/30 dark:bg-gray-600/60 dark:group-hover:bg-gray-500/70", children: /* @__PURE__ */ r.jsx("span", { className: "text-sm transition-transform duration-300 group-hover:scale-110", children: i === "dark" ? "🌞" : "🌙" }) }),
350
- /* @__PURE__ */ r.jsx("span", { className: "text-white transition-colors duration-300 group-hover:text-white/90 dark:text-gray-200 dark:group-hover:text-white", children: i === "dark" ? "Light" : "Dark" }),
388
+ /* @__PURE__ */ r.jsx("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-white/20 backdrop-blur-sm transition-all duration-300 group-hover:scale-110 group-hover:bg-white/30 dark:bg-gray-600/60 dark:group-hover:bg-gray-500/70", children: /* @__PURE__ */ r.jsx("span", { className: "text-sm transition-transform duration-300 group-hover:scale-110", children: u === "dark" ? "🌞" : "🌙" }) }),
389
+ /* @__PURE__ */ r.jsx("span", { className: "text-white transition-colors duration-300 group-hover:text-white/90 dark:text-gray-200 dark:group-hover:text-white", children: u === "dark" ? "Light" : "Dark" }),
351
390
  /* @__PURE__ */ r.jsx("div", { className: "absolute inset-0 rounded-lg bg-gradient-to-r from-transparent via-white/5 to-transparent opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:via-gray-400/10" })
352
391
  ]
353
392
  }
@@ -357,63 +396,67 @@ const be = ({ to: s, className: a, children: o }) => /* @__PURE__ */ r.jsx("a",
357
396
  {
358
397
  type: "button",
359
398
  className: "aiquants-signout-button flex items-center justify-center rounded-md bg-red-500/90 px-3 py-2 font-medium text-white text-xs shadow-sm transition-colors duration-300 hover:bg-red-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60",
360
- onClick: l,
399
+ onClick: c,
361
400
  children: "サインアウト"
362
401
  }
363
402
  )
364
403
  ] }) })
365
404
  ] });
366
- }, we = (s) => {
367
- const { isOverlay: a, onOverlayClick: o } = s;
368
- return /* @__PURE__ */ r.jsx("button", { type: "button", className: `fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${a ? "opacity-100" : "pointer-events-none opacity-0"}`, onClick: o });
369
- }, Ee = (s) => {
370
- const { open: a, onMenuOpen: o, onMenuClose: f, theme: m } = s, l = w(a), i = w(null), n = w(null), c = w(null), h = w(null), d = w(null), g = v(() => {
371
- if (i.current && n.current && c.current && h.current && d.current) {
372
- const y = m === "dark" ? "#fff" : "#000";
373
- i.current.style.backgroundColor = y, i.current.style.width = "100%", i.current.style.height = "3px", i.current.style.transform = "", n.current.style.opacity = "1", n.current.style.backgroundColor = y, c.current.style.opacity = "1", c.current.style.backgroundColor = y, h.current.style.backgroundColor = y, h.current.style.width = "100%", h.current.style.height = "3px", h.current.style.transform = "", d.current.style.color = y, d.current.classList.remove("after:content-['close']"), d.current.classList.remove("after:ml-0.5"), d.current.classList.add("after:content-['menu']"), d.current.classList.add("after:-ml-0.5"), l.current = !0;
405
+ }, Ee = (t) => {
406
+ const { isOverlay: o, onOverlayClick: a } = t;
407
+ return /* @__PURE__ */ r.jsx("button", { type: "button", className: `fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${o ? "opacity-100" : "pointer-events-none opacity-0"}`, onClick: a });
408
+ }, _e = (t) => {
409
+ const { open: o, onMenuOpen: a, onMenuClose: f, theme: i } = t, c = E(o), u = E(null), s = E(null), l = E(null), h = E(null), p = E(null), b = g(() => {
410
+ if (u.current && s.current && l.current && h.current && p.current) {
411
+ const k = i === "dark" ? "#fff" : "#000";
412
+ u.current.style.backgroundColor = k, u.current.style.width = "100%", u.current.style.height = "3px", u.current.style.transform = "", s.current.style.opacity = "1", s.current.style.backgroundColor = k, l.current.style.opacity = "1", l.current.style.backgroundColor = k, h.current.style.backgroundColor = k, h.current.style.width = "100%", h.current.style.height = "3px", h.current.style.transform = "", p.current.style.color = k, p.current.classList.remove("after:content-['close']"), p.current.classList.remove("after:ml-0.5"), p.current.classList.add("after:content-['menu']"), p.current.classList.add("after:-ml-0.5"), c.current = !0;
374
413
  }
375
- }, [m]), b = v(() => {
376
- i.current && n.current && c.current && h.current && d.current && (i.current.style.backgroundColor = "#fff", i.current.style.width = "32px", i.current.style.height = "4px", i.current.style.transform = "translateY(9px) rotate(-45deg)", n.current.style.opacity = "0", c.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)", d.current.style.color = "#fff", d.current.classList.remove("after:content-['menu']"), d.current.classList.remove("after:-ml-0.5"), d.current.classList.add("after:content-['close']"), d.current.classList.add("after:ml-0.5"), l.current = !1);
377
- }, []), k = v(() => {
378
- g(), f && f();
379
- }, [g, f]), E = v(() => {
380
- b(), o && o();
381
- }, [b, o]), S = v(() => {
382
- l.current ? E() : k();
383
- }, [k, E]);
384
- return V(() => {
385
- a ? g() : b();
386
- }, [a, g, b]), /* @__PURE__ */ r.jsxs("button", { type: "button", className: "fixed top-5 right-5 z-2147483648 inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden", onClick: S, children: [
387
- /* @__PURE__ */ r.jsx("span", { className: "absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none", ref: i }),
388
- /* @__PURE__ */ r.jsx("span", { className: "absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none", ref: n }),
389
- /* @__PURE__ */ r.jsx("span", { className: "absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none", ref: c }),
414
+ }, [i]), y = g(() => {
415
+ u.current && s.current && l.current && h.current && p.current && (u.current.style.backgroundColor = "#fff", u.current.style.width = "32px", u.current.style.height = "4px", u.current.style.transform = "translateY(9px) rotate(-45deg)", s.current.style.opacity = "0", l.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)", p.current.style.color = "#fff", p.current.classList.remove("after:content-['menu']"), p.current.classList.remove("after:-ml-0.5"), p.current.classList.add("after:content-['close']"), p.current.classList.add("after:ml-0.5"), c.current = !1);
416
+ }, []), v = g(() => {
417
+ b(), f && f();
418
+ }, [b, f]), w = g(() => {
419
+ y(), a && a();
420
+ }, [y, a]), S = g(() => {
421
+ c.current ? w() : v();
422
+ }, [v, w]), _ = g((k) => {
423
+ k.currentTarget.blur();
424
+ }, []), C = g((k) => {
425
+ k.preventDefault();
426
+ }, []);
427
+ return B(() => {
428
+ o ? b() : y();
429
+ }, [o, b, y]), /* @__PURE__ */ r.jsxs("button", { type: "button", className: "fixed top-5 right-5 z-2147483648 inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden", onClick: S, onFocus: _, onMouseDown: C, tabIndex: -1, children: [
430
+ /* @__PURE__ */ r.jsx("span", { className: "absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none", ref: u }),
431
+ /* @__PURE__ */ r.jsx("span", { className: "absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none", ref: s }),
432
+ /* @__PURE__ */ r.jsx("span", { className: "absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none", ref: l }),
390
433
  /* @__PURE__ */ r.jsx("span", { className: "absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none", ref: h }),
391
- /* @__PURE__ */ r.jsx("div", { className: "absolute w-full text-xs after:mt-2 after:block", ref: d })
434
+ /* @__PURE__ */ r.jsx("div", { className: "absolute w-full text-xs after:mt-2 after:block", ref: p })
392
435
  ] });
393
- }, Se = (s) => {
394
- const { menuList: a, menuHeader: o, onClickSignout: f, isMenuhide: m, theme: l, toggleTheme: i } = s, [n, c] = J(!1), h = v(() => {
395
- c(!0);
396
- }, []), d = v(() => {
397
- c(!1);
398
- }, []), g = v(() => {
399
- c(!1);
400
- }, []), b = v(
401
- (k) => {
402
- if (k.key === "Escape")
403
- return d(), !1;
436
+ }, Se = (t) => {
437
+ const { menuList: o, menuHeader: a, onClickSignout: f, isMenuhide: i, theme: c, toggleTheme: u, onMenuNavigate: s } = t, [l, h] = X(!1), p = g(() => {
438
+ h(!0);
439
+ }, []), b = g(() => {
440
+ h(!1);
441
+ }, []), y = g((w) => {
442
+ s && s(w), h(!1);
443
+ }, [s]), v = g(
444
+ (w) => {
445
+ if (w.key === "Escape")
446
+ return b(), !1;
404
447
  },
405
- [d]
448
+ [b]
406
449
  );
407
- return V(() => (n ? window.addEventListener("keydown", b, { passive: !0 }) : window.removeEventListener("keydown", b), () => {
408
- window.removeEventListener("keydown", b);
409
- }), [n, b]), m ? /* @__PURE__ */ r.jsx(r.Fragment, {}) : /* @__PURE__ */ r.jsxs("div", { className: `aiquants-menu-bar ${l}`, children: [
410
- /* @__PURE__ */ r.jsx(Ee, { onMenuClose: d, onMenuOpen: h, open: !n, theme: l }),
411
- /* @__PURE__ */ r.jsx(je, { menuList: a, menuHeader: o, onClickSignout: f, onMenuSelected: g, open: n, theme: l, toggleTheme: i }),
412
- /* @__PURE__ */ r.jsx(we, { isOverlay: n, onOverlayClick: d })
450
+ return B(() => (l ? window.addEventListener("keydown", v, { passive: !0 }) : window.removeEventListener("keydown", v), () => {
451
+ window.removeEventListener("keydown", v);
452
+ }), [l, v]), i ? /* @__PURE__ */ r.jsx(r.Fragment, {}) : /* @__PURE__ */ r.jsxs("div", { className: `aiquants-menu-bar ${c}`, children: [
453
+ /* @__PURE__ */ r.jsx(_e, { onMenuClose: b, onMenuOpen: p, open: !l, theme: c }),
454
+ /* @__PURE__ */ r.jsx(je, { menuList: o, menuHeader: a, onClickSignout: f, onMenuSelected: y, open: l, theme: c, toggleTheme: u }),
455
+ /* @__PURE__ */ r.jsx(Ee, { isOverlay: l, onOverlayClick: b })
413
456
  ] });
414
457
  };
415
458
  export {
416
- be as DefaultLink,
459
+ ve as DefaultLink,
417
460
  Se as MenuBar,
418
- Te as SessionInfo
461
+ Oe as SessionInfo
419
462
  };
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(k,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("react"),require("react-router-dom"),require("lucide-react")):typeof define=="function"&&define.amd?define(["exports","react","react-router-dom","lucide-react"],l):(k=typeof globalThis<"u"?globalThis:k||self,l(k["@aiquants/menu-bar"]={},k.React,k.ReactRouterDOM,k["lucide-react"]))})(this,(function(k,l,I,w){"use strict";var T={exports:{}},_={};/**
1
+ (function(g,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("react"),require("lucide-react"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react","lucide-react","react-router-dom"],l):(g=typeof globalThis<"u"?globalThis:g||self,l(g["@aiquants/menu-bar"]={},g.React,g["lucide-react"],g.ReactRouterDOM))})(this,(function(g,l,E,F){"use strict";var C={exports:{}},N={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Y;function X(){if(Y)return _;Y=1;var s=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function o(m,x,c){var i=null;if(c!==void 0&&(i=""+c),x.key!==void 0&&(i=""+x.key),"key"in x){c={};for(var n in x)n!=="key"&&(c[n]=x[n])}else c=x;return x=c.ref,{$$typeof:s,type:m,key:i,ref:x!==void 0?x:null,props:c}}return _.Fragment=a,_.jsx=o,_.jsxs=o,_}var N={};/**
9
+ */var W;function Q(){if(W)return N;W=1;var t=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function a(m,i,u){var d=null;if(u!==void 0&&(d=""+u),i.key!==void 0&&(d=""+i.key),"key"in i){u={};for(var s in i)s!=="key"&&(u[s]=i[s])}else u=i;return i=u.ref,{$$typeof:t,type:m,key:d,ref:i!==void 0?i:null,props:u}}return N.Fragment=o,N.jsx=a,N.jsxs=a,N}var R={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,9 +14,9 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var D;function H(){return D||(D=1,process.env.NODE_ENV!=="production"&&(function(){function s(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===pe?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case j:return"Fragment";case le:return"Profiler";case ae:return"StrictMode";case de:return"Suspense";case fe:return"SuspenseList";case xe: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 S:return"Portal";case ie:return e.displayName||"Context";case ce:return(e._context.displayName||"Context")+".Consumer";case ue:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case me:return t=e.displayName||null,t!==null?t:s(e.type)||"Memo";case O:t=e._payload,e=e._init;try{return s(e(t))}catch{}}return null}function a(e){return""+e}function o(e){try{a(e);var t=!1}catch{t=!0}if(t){t=console;var d=t.error,p=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return d.call(t,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",p),a(e)}}function m(e){if(e===j)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===O)return"<...>";try{var t=s(e);return t?"<"+t+">":"<...>"}catch{return"<...>"}}function x(){var e=A.A;return e===null?null:e.getOwner()}function c(){return Error("react-stack-top-frame")}function i(e){if(U.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function n(e,t){function d(){q||(q=!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)",t))}d.isReactWarning=!0,Object.defineProperty(e,"key",{get:d,configurable:!0})}function u(){var e=s(this.type);return J[e]||(J[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 b(e,t,d,p,C,M){var h=d.ref;return e={$$typeof:R,type:e,key:t,props:d,_owner:p},(h!==void 0?h:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:u}):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:C}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:M}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function f(e,t,d,p,C,M){var h=t.children;if(h!==void 0)if(p)if(he(h)){for(p=0;p<h.length;p++)g(h[p]);Object.freeze&&Object.freeze(h)}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 g(h);if(U.call(t,"key")){h=s(e);var E=Object.keys(t).filter(function(be){return be!=="key"});p=0<E.length?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}",B[h+p]||(E=0<E.length?"{"+E.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var z;function K(){return z||(z=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===he?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case T:return"Fragment";case y:return"Profiler";case M:return"StrictMode";case fe:return"Suspense";case me:return"SuspenseList";case pe: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 A:return"Portal";case ue:return e.displayName||"Context";case ie:return(e._context.displayName||"Context")+".Consumer";case de:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case xe:return n=e.displayName||null,n!==null?n:t(e.type)||"Memo";case P:n=e._payload,e=e._init;try{return t(e(n))}catch{}}return null}function o(e){return""+e}function a(e){try{o(e);var n=!1}catch{n=!0}if(n){n=console;var f=n.error,x=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return f.call(n,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",x),o(e)}}function m(e){if(e===T)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===P)return"<...>";try{var n=t(e);return n?"<"+n+">":"<...>"}catch{return"<...>"}}function i(){var e=L.A;return e===null?null:e.getOwner()}function u(){return Error("react-stack-top-frame")}function d(e){if(G.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return e.key!==void 0}function s(e,n){function f(){q||(q=!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)",n))}f.isReactWarning=!0,Object.defineProperty(e,"key",{get:f,configurable:!0})}function c(){var e=t(this.type);return B[e]||(B[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 b(e,n,f,x,S,D){var p=f.ref;return e={$$typeof:j,type:e,key:n,props:f,_owner:x},(p!==void 0?p:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:c}):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:S}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:D}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function h(e,n,f,x,S,D){var p=n.children;if(p!==void 0)if(x)if(be(p)){for(x=0;x<p.length;x++)v(p[x]);Object.freeze&&Object.freeze(p)}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 v(p);if(G.call(n,"key")){p=t(e);var _=Object.keys(n).filter(function(ve){return ve!=="key"});x=0<_.length?"{key: someKey, "+_.join(": ..., ")+": ...}":"{key: someKey}",Z[p+x]||(_=0<_.length?"{"+_.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
18
  let props = %s;
19
19
  <%s {...props} />
20
20
  React keys must be passed directly to JSX without using spread:
21
21
  let props = %s;
22
- <%s key={someKey} {...props} />`,p,h,E,h),B[h+p]=!0)}if(h=null,d!==void 0&&(o(d),h=""+d),i(t)&&(o(t.key),h=""+t.key),"key"in t){d={};for(var L in t)L!=="key"&&(d[L]=t[L])}else d=t;return h&&n(d,typeof e=="function"?e.displayName||e.name||"Unknown":e),b(e,h,d,x(),C,M)}function g(e){v(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===O&&(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===R}var y=l,R=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),ae=Symbol.for("react.strict_mode"),le=Symbol.for("react.profiler"),ce=Symbol.for("react.consumer"),ie=Symbol.for("react.context"),ue=Symbol.for("react.forward_ref"),de=Symbol.for("react.suspense"),fe=Symbol.for("react.suspense_list"),me=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),xe=Symbol.for("react.activity"),pe=Symbol.for("react.client.reference"),A=y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=Object.prototype.hasOwnProperty,he=Array.isArray,P=console.createTask?console.createTask:function(){return null};y={react_stack_bottom_frame:function(e){return e()}};var q,J={},V=y.react_stack_bottom_frame.bind(y,c)(),G=P(m(c)),B={};N.Fragment=j,N.jsx=function(e,t,d){var p=1e4>A.recentlyCreatedOwnerStacks++;return f(e,t,d,!1,p?Error("react-stack-top-frame"):V,p?P(m(e)):G)},N.jsxs=function(e,t,d){var p=1e4>A.recentlyCreatedOwnerStacks++;return f(e,t,d,!0,p?Error("react-stack-top-frame"):V,p?P(m(e)):G)}})()),N}var F;function Z(){return F||(F=1,process.env.NODE_ENV==="production"?T.exports=X():T.exports=H()),T.exports}var r=Z();const W=({to:s,className:a,children:o})=>r.jsx("a",{href:s,className:a,children:o}),Q=s=>{const{user:a,LinkComponent:o=W}=s;return r.jsx("div",{className:"max-h-20 max-w-52",children:r.jsx("div",{className:"flex grow flex-col",children:a?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex flex-row",children:[r.jsx("div",{className:"aiquants-session-photo m-1 h-14 w-14 p-0.5",children:r.jsx("img",{className:"object-contain",src:a.photo,"aria-label":"profile photo"})}),r.jsxs("div",{className:"mx-1 flex flex-col",children:[r.jsx(o,{className:"aiquants-session-link my-1 rounded-lg px-2 text-center text-xs",to:"/",children:"プロフィールを編集"}),r.jsx(o,{className:"aiquants-session-link rounded-lg px-2 text-center text-xs",to:"/",children:"プロフィール"}),r.jsx(o,{className:"aiquants-session-link my-1 rounded-lg px-2 text-center text-xs",to:"https://myaccount.google.com/",children:"Google Account"})]})]}),r.jsx("div",{className:"aiquants-session-info mb-1 min-h-[1em] w-full rounded-r-lg px-2 py-0.5 text-xs",children:a.displayName})]}):r.jsx("div",{className:"aiquants-session-info mb-1 min-h-[1em] w-9/12 rounded-r-lg py-0.5 pl-1 text-xs",children:"ログインはこちら"})})})},z=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),K={report:w.FileText,slip:w.FileText,table:w.Table,chart:w.BarChart,download:w.Download,lock:w.Lock,href:w.Link},$=({mark:s,children:a})=>{const o=s?K[s]:void 0;return o?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(o,{className:"h-4 w-4"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:a})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:a})},ee=({item:s,onMenuSelected:a})=>{if(s.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const o=r.jsx($,{mark:s.mark,children:s.title}),m={onClick:a};return s.new?r.jsx("a",{href:s.href,rel:"noopener noreferrer",target:"_blank",...m,children:o}):z.test(s.href)?r.jsx("a",{href:s.href,...m,children:o}):r.jsx(I.Link,{to:s.href,...m,children:o})},re=s=>{const{menuList:a,onMenuSelected:o}=s,[m,x]=l.useState(null),c=l.useCallback(n=>{x(u=>u===n?null:n)},[]),i=l.useMemo(()=>r.jsx(r.Fragment,{children:a.map(n=>r.jsx("div",{children:n.href?r.jsx("div",{className:"aiquants-menu-list-item before:-mt-1 relative mb-1 ml-1 h-full rounded-l-2xl p-2 align-middle text-sm before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']",children:z.test(n.href)?r.jsx("a",{href:n.href,onClick:o,children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:n.title})}):r.jsx(I.Link,{to:n.href,onClick:o,children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:n.title})})}):r.jsxs("details",{className:"menu-accordion-details",open:n.id===m,children:[r.jsx("summary",{className:"aiquants-menu-list-item menu-accordion-summary before:-mt-1 relative mb-1 ml-1 h-full list-none rounded-l-2xl p-2 align-middle text-sm outline-none before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']",onClick:u=>{u.preventDefault(),c(n.id)},onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),c(n.id))},children:r.jsx("span",{children:n.title})}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-1 mr-1 ml-4 rounded p-2 shadow-md",children:n.submenu.map(u=>r.jsx("div",{className:"menu-accordion-container block w-full whitespace-nowrap text-sm",children:r.jsx(ee,{item:u,onMenuSelected:o})},u.subid))})]})},n.id))}),[a,o,m,c]);return r.jsx("div",{className:"hidden-scrollbar h-0 grow overflow-y-scroll",children:i})},te=s=>{const{menuList:a,menuHeader:o,open:m,onMenuSelected:x,onClickSignout:c,theme:i,toggleTheme:n}=s;return r.jsxs("div",{className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-screen w-[250px] select-none flex-col transition-transform duration-500 ${m?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex h-[100px] flex-col",children:o}),r.jsx("div",{className:"flex grow flex-col",children:r.jsx(re,{menuList:a,onMenuSelected:x})}),r.jsx("div",{className:"px-4 pt-2 pb-4",children:r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsxs("button",{type:"button",onClick:n,className:"group relative flex flex-1 items-center gap-2 rounded-lg border border-white/15 bg-white/10 px-3 py-2 font-medium text-white text-xs shadow-sm backdrop-blur-sm transition-all duration-300 hover:border-white/25 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 focus-visible:ring-offset-0 dark:border-gray-600/40 dark:bg-gray-800/80 dark:hover:border-gray-500/60 dark:hover:bg-gray-700",children:[r.jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-white/20 backdrop-blur-sm transition-all duration-300 group-hover:scale-110 group-hover:bg-white/30 dark:bg-gray-600/60 dark:group-hover:bg-gray-500/70",children:r.jsx("span",{className:"text-sm transition-transform duration-300 group-hover:scale-110",children:i==="dark"?"🌞":"🌙"})}),r.jsx("span",{className:"text-white transition-colors duration-300 group-hover:text-white/90 dark:text-gray-200 dark:group-hover:text-white",children:i==="dark"?"Light":"Dark"}),r.jsx("div",{className:"absolute inset-0 rounded-lg bg-gradient-to-r from-transparent via-white/5 to-transparent opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:via-gray-400/10"})]}),r.jsx("button",{type:"button",className:"aiquants-signout-button flex items-center justify-center rounded-md bg-red-500/90 px-3 py-2 font-medium text-white text-xs shadow-sm transition-colors duration-300 hover:bg-red-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60",onClick:c,children:"サインアウト"})]})})]})},ne=s=>{const{isOverlay:a,onOverlayClick:o}=s;return r.jsx("button",{type:"button",className:`fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${a?"opacity-100":"pointer-events-none opacity-0"}`,onClick:o})},se=s=>{const{open:a,onMenuOpen:o,onMenuClose:m,theme:x}=s,c=l.useRef(a),i=l.useRef(null),n=l.useRef(null),u=l.useRef(null),b=l.useRef(null),f=l.useRef(null),g=l.useCallback(()=>{if(i.current&&n.current&&u.current&&b.current&&f.current){const j=x==="dark"?"#fff":"#000";i.current.style.backgroundColor=j,i.current.style.width="100%",i.current.style.height="3px",i.current.style.transform="",n.current.style.opacity="1",n.current.style.backgroundColor=j,u.current.style.opacity="1",u.current.style.backgroundColor=j,b.current.style.backgroundColor=j,b.current.style.width="100%",b.current.style.height="3px",b.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"),c.current=!0}},[x]),v=l.useCallback(()=>{i.current&&n.current&&u.current&&b.current&&f.current&&(i.current.style.backgroundColor="#fff",i.current.style.width="32px",i.current.style.height="4px",i.current.style.transform="translateY(9px) rotate(-45deg)",n.current.style.opacity="0",u.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)",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"),c.current=!1)},[]),y=l.useCallback(()=>{g(),m&&m()},[g,m]),R=l.useCallback(()=>{v(),o&&o()},[v,o]),S=l.useCallback(()=>{c.current?R():y()},[y,R]);return l.useEffect(()=>{a?g():v()},[a,g,v]),r.jsxs("button",{type:"button",className:"fixed top-5 right-5 z-2147483648 inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden",onClick:S,children:[r.jsx("span",{className:"absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none",ref:i}),r.jsx("span",{className:"absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none",ref:n}),r.jsx("span",{className:"absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none",ref:u}),r.jsx("span",{className:"absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none",ref:b}),r.jsx("div",{className:"absolute w-full text-xs after:mt-2 after:block",ref:f})]})},oe=s=>{const{menuList:a,menuHeader:o,onClickSignout:m,isMenuhide:x,theme:c,toggleTheme:i}=s,[n,u]=l.useState(!1),b=l.useCallback(()=>{u(!0)},[]),f=l.useCallback(()=>{u(!1)},[]),g=l.useCallback(()=>{u(!1)},[]),v=l.useCallback(y=>{if(y.key==="Escape")return f(),!1},[f]);return l.useEffect(()=>(n?window.addEventListener("keydown",v,{passive:!0}):window.removeEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}),[n,v]),x?r.jsx(r.Fragment,{}):r.jsxs("div",{className:`aiquants-menu-bar ${c}`,children:[r.jsx(se,{onMenuClose:f,onMenuOpen:b,open:!n,theme:c}),r.jsx(te,{menuList:a,menuHeader:o,onClickSignout:m,onMenuSelected:g,open:n,theme:c,toggleTheme:i}),r.jsx(ne,{isOverlay:n,onOverlayClick:f})]})};k.DefaultLink=W,k.MenuBar=oe,k.SessionInfo=Q,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}));
22
+ <%s key={someKey} {...props} />`,x,p,_,p),Z[p+x]=!0)}if(p=null,f!==void 0&&(a(f),p=""+f),d(n)&&(a(n.key),p=""+n.key),"key"in n){f={};for(var Y in n)Y!=="key"&&(f[Y]=n[Y])}else f=n;return p&&s(f,typeof e=="function"?e.displayName||e.name||"Unknown":e),b(e,p,f,i(),S,D)}function v(e){w(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===P&&(e._payload.status==="fulfilled"?w(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function w(e){return typeof e=="object"&&e!==null&&e.$$typeof===j}var k=l,j=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),ie=Symbol.for("react.consumer"),ue=Symbol.for("react.context"),de=Symbol.for("react.forward_ref"),fe=Symbol.for("react.suspense"),me=Symbol.for("react.suspense_list"),xe=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),pe=Symbol.for("react.activity"),he=Symbol.for("react.client.reference"),L=k.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=Object.prototype.hasOwnProperty,be=Array.isArray,I=console.createTask?console.createTask:function(){return null};k={react_stack_bottom_frame:function(e){return e()}};var q,B={},X=k.react_stack_bottom_frame.bind(k,u)(),H=I(m(u)),Z={};R.Fragment=T,R.jsx=function(e,n,f){var x=1e4>L.recentlyCreatedOwnerStacks++;return h(e,n,f,!1,x?Error("react-stack-top-frame"):X,x?I(m(e)):H)},R.jsxs=function(e,n,f){var x=1e4>L.recentlyCreatedOwnerStacks++;return h(e,n,f,!0,x?Error("react-stack-top-frame"):X,x?I(m(e)):H)}})()),R}var U;function $(){return U||(U=1,process.env.NODE_ENV==="production"?C.exports=Q():C.exports=K()),C.exports}var r=$();const J=({to:t,className:o,children:a})=>r.jsx("a",{href:t,className:o,children:a}),ee=t=>{const{user:o,LinkComponent:a=J}=t;return r.jsx("div",{className:"max-h-20 max-w-52",children:r.jsx("div",{className:"flex grow flex-col",children:o?r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex flex-row",children:[r.jsx("div",{className:"aiquants-session-photo m-1 h-14 w-14 p-0.5",children:r.jsx("img",{className:"object-contain",src:o.photo,"aria-label":"profile photo"})}),r.jsxs("div",{className:"mx-1 flex flex-col",children:[r.jsx(a,{className:"aiquants-session-link my-1 rounded-lg px-2 text-center text-xs",to:"/",children:"プロフィールを編集"}),r.jsx(a,{className:"aiquants-session-link rounded-lg px-2 text-center text-xs",to:"/",children:"プロフィール"}),r.jsx(a,{className:"aiquants-session-link my-1 rounded-lg px-2 text-center text-xs",to:"https://myaccount.google.com/",children:"Google Account"})]})]}),r.jsx("div",{className:"aiquants-session-info mb-1 min-h-[1em] w-full rounded-r-lg px-2 py-0.5 text-xs",children:o.displayName})]}):r.jsx("div",{className:"aiquants-session-info mb-1 min-h-[1em] w-9/12 rounded-r-lg py-0.5 pl-1 text-xs",children:"ログインはこちら"})})})},V=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),re={report:E.FileText,slip:E.FileText,table:E.Table,chart:E.BarChart,download:E.Download,lock:E.Lock,href:E.Link},te=({mark:t,children:o})=>{const a=t?re[t]:void 0;return a?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(a,{className:"h-4 w-4"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:o})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:o})},O=(t,o)=>o?{menu:{id:t.id,title:t.title,href:t.href},submenu:{subid:o.subid,title:o.title,href:o.href,mark:o.mark,new:o.new}}:{menu:{id:t.id,title:t.title,href:t.href}},ne=({item:t,parentMenu:o,onMenuSelected:a})=>{if(t.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const m=r.jsx(te,{mark:t.mark,children:t.title}),i={onClick:()=>{a&&a(O(o,t))}};return t.new?r.jsx("a",{href:t.href,rel:"noopener noreferrer",target:"_blank",...i,children:m}):V.test(t.href)?r.jsx("a",{href:t.href,...i,children:m}):r.jsx(F.Link,{to:t.href,...i,children:m})},se=t=>{const{menuList:o,onMenuSelected:a}=t,[m,i]=l.useState(null),u=l.useCallback(s=>{i(c=>c===s?null:s)},[]),d=l.useMemo(()=>r.jsx(r.Fragment,{children:o.map(s=>r.jsx("div",{children:s.href?r.jsx("div",{className:"aiquants-menu-list-item before:-mt-1 relative mb-1 ml-1 h-full rounded-l-2xl p-2 align-middle text-sm before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']",children:V.test(s.href)?r.jsx("a",{href:s.href,onClick:()=>{a&&a(O(s))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:s.title})}):r.jsx(F.Link,{to:s.href,onClick:()=>{a&&a(O(s))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:s.title})})}):r.jsxs("details",{className:"menu-accordion-details",open:s.id===m,children:[r.jsx("summary",{className:"aiquants-menu-list-item menu-accordion-summary before:-mt-1 relative mb-1 ml-1 h-full list-none rounded-l-2xl p-2 align-middle text-sm outline-none before:mr-2 before:inline-block before:h-4 before:w-4 before:rounded-full before:align-middle before:content-['']",onClick:c=>{c.preventDefault(),u(s.id)},onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),u(s.id))},children:r.jsx("span",{children:s.title})}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-1 mr-1 ml-4 rounded p-2 shadow-md",children:s.submenu.map(c=>r.jsx("div",{className:"menu-accordion-container block w-full whitespace-nowrap text-sm",children:r.jsx(ne,{item:c,parentMenu:s,onMenuSelected:a})},c.subid))})]})},s.id))}),[o,a,m,u]);return r.jsx("div",{className:"hidden-scrollbar h-0 grow overflow-y-scroll",children:d})},oe=t=>{const{menuList:o,menuHeader:a,open:m,onMenuSelected:i,onClickSignout:u,theme:d,toggleTheme:s}=t;return r.jsxs("div",{className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-screen w-[250px] select-none flex-col transition-transform duration-500 ${m?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex h-[100px] flex-col",children:a}),r.jsx("div",{className:"flex grow flex-col",children:r.jsx(se,{menuList:o,onMenuSelected:i})}),r.jsx("div",{className:"px-4 pt-2 pb-4",children:r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsxs("button",{type:"button",onClick:s,className:"group relative flex flex-1 items-center gap-2 rounded-lg border border-white/15 bg-white/10 px-3 py-2 font-medium text-white text-xs shadow-sm backdrop-blur-sm transition-all duration-300 hover:border-white/25 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 focus-visible:ring-offset-0 dark:border-gray-600/40 dark:bg-gray-800/80 dark:hover:border-gray-500/60 dark:hover:bg-gray-700",children:[r.jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded-full bg-white/20 backdrop-blur-sm transition-all duration-300 group-hover:scale-110 group-hover:bg-white/30 dark:bg-gray-600/60 dark:group-hover:bg-gray-500/70",children:r.jsx("span",{className:"text-sm transition-transform duration-300 group-hover:scale-110",children:d==="dark"?"🌞":"🌙"})}),r.jsx("span",{className:"text-white transition-colors duration-300 group-hover:text-white/90 dark:text-gray-200 dark:group-hover:text-white",children:d==="dark"?"Light":"Dark"}),r.jsx("div",{className:"absolute inset-0 rounded-lg bg-gradient-to-r from-transparent via-white/5 to-transparent opacity-0 transition-opacity duration-300 group-hover:opacity-100 dark:via-gray-400/10"})]}),r.jsx("button",{type:"button",className:"aiquants-signout-button flex items-center justify-center rounded-md bg-red-500/90 px-3 py-2 font-medium text-white text-xs shadow-sm transition-colors duration-300 hover:bg-red-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60",onClick:u,children:"サインアウト"})]})})]})},ae=t=>{const{isOverlay:o,onOverlayClick:a}=t;return r.jsx("button",{type:"button",className:`fixed inset-0 z-2147483640 cursor-default bg-black/50 transition-opacity duration-500 ${o?"opacity-100":"pointer-events-none opacity-0"}`,onClick:a})},le=t=>{const{open:o,onMenuOpen:a,onMenuClose:m,theme:i}=t,u=l.useRef(o),d=l.useRef(null),s=l.useRef(null),c=l.useRef(null),b=l.useRef(null),h=l.useRef(null),v=l.useCallback(()=>{if(d.current&&s.current&&c.current&&b.current&&h.current){const y=i==="dark"?"#fff":"#000";d.current.style.backgroundColor=y,d.current.style.width="100%",d.current.style.height="3px",d.current.style.transform="",s.current.style.opacity="1",s.current.style.backgroundColor=y,c.current.style.opacity="1",c.current.style.backgroundColor=y,b.current.style.backgroundColor=y,b.current.style.width="100%",b.current.style.height="3px",b.current.style.transform="",h.current.style.color=y,h.current.classList.remove("after:content-['close']"),h.current.classList.remove("after:ml-0.5"),h.current.classList.add("after:content-['menu']"),h.current.classList.add("after:-ml-0.5"),u.current=!0}},[i]),w=l.useCallback(()=>{d.current&&s.current&&c.current&&b.current&&h.current&&(d.current.style.backgroundColor="#fff",d.current.style.width="32px",d.current.style.height="4px",d.current.style.transform="translateY(9px) rotate(-45deg)",s.current.style.opacity="0",c.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)",h.current.style.color="#fff",h.current.classList.remove("after:content-['menu']"),h.current.classList.remove("after:-ml-0.5"),h.current.classList.add("after:content-['close']"),h.current.classList.add("after:ml-0.5"),u.current=!1)},[]),k=l.useCallback(()=>{v(),m&&m()},[v,m]),j=l.useCallback(()=>{w(),a&&a()},[w,a]),A=l.useCallback(()=>{u.current?j():k()},[k,j]),T=l.useCallback(y=>{y.currentTarget.blur()},[]),M=l.useCallback(y=>{y.preventDefault()},[]);return l.useEffect(()=>{o?v():w()},[o,v,w]),r.jsxs("button",{type:"button",className:"fixed top-5 right-5 z-2147483648 inline-block h-[27px] w-[27px] cursor-pointer align-middle outline-hidden",onClick:A,onFocus:T,onMouseDown:M,tabIndex:-1,children:[r.jsx("span",{className:"absolute top-0 left-0 box-border inline-block h-[3px] w-full select-none",ref:d}),r.jsx("span",{className:"absolute top-[6px] left-0 box-border inline-block h-[3px] w-full select-none",ref:s}),r.jsx("span",{className:"absolute top-[12px] left-0 box-border inline-block h-[3px] w-full select-none",ref:c}),r.jsx("span",{className:"absolute top-[18px] left-0 box-border inline-block h-[3px] w-full select-none",ref:b}),r.jsx("div",{className:"absolute w-full text-xs after:mt-2 after:block",ref:h})]})},ce=t=>{const{menuList:o,menuHeader:a,onClickSignout:m,isMenuhide:i,theme:u,toggleTheme:d,onMenuNavigate:s}=t,[c,b]=l.useState(!1),h=l.useCallback(()=>{b(!0)},[]),v=l.useCallback(()=>{b(!1)},[]),w=l.useCallback(j=>{s&&s(j),b(!1)},[s]),k=l.useCallback(j=>{if(j.key==="Escape")return v(),!1},[v]);return l.useEffect(()=>(c?window.addEventListener("keydown",k,{passive:!0}):window.removeEventListener("keydown",k),()=>{window.removeEventListener("keydown",k)}),[c,k]),i?r.jsx(r.Fragment,{}):r.jsxs("div",{className:`aiquants-menu-bar ${u}`,children:[r.jsx(le,{onMenuClose:v,onMenuOpen:h,open:!c,theme:u}),r.jsx(oe,{menuList:o,menuHeader:a,onClickSignout:m,onMenuSelected:w,open:c,theme:u,toggleTheme:d}),r.jsx(ae,{isOverlay:c,onOverlayClick:v})]})};g.DefaultLink=J,g.MenuBar=ce,g.SessionInfo=ee,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})}));
package/dist/menuBar.css CHANGED
@@ -1 +1 @@
1
- .aiquants-menu-bar{font-size:1rem;line-height:1.5}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{text-decoration:none;border:none;background:none;cursor:pointer}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pointer-events-none{pointer-events:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pointer-events-auto{pointer-events:auto}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .visible{visibility:visible}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .fixed{position:fixed}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .absolute{position:absolute}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .relative{position:relative}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .inset-0{inset:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .left-0{left:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .right-0{right:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .right-5{right:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-0{top:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-5{top:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[12px\]{top:12px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[18px\]{top:18px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[6px\]{top:6px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483640{z-index:2147483640}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483642{z-index:2147483642}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483648{z-index:2147483648}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .m-1{margin:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mx-1{margin-left:.25rem;margin-right:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mx-2{margin-left:.5rem;margin-right:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .my-1{margin-top:.25rem;margin-bottom:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mb-1{margin-bottom:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .ml-1{margin-left:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .ml-4{margin-left:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mr-1{margin-right:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .box-border{box-sizing:border-box}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .block{display:block}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .inline-block{display:inline-block}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex{display:flex}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .table{display:table}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-0{height:0px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-14{height:3.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-4{height:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-5{height:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[100px\]{height:100px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[27px\]{height:27px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[3px\]{height:3px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-full{height:100%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-px{height:1px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .max-h-20{max-height:5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .min-h-\[1em\]{min-height:1em}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .min-h-screen{min-height:100vh}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-14{width:3.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-4{width:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-5{width:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-9\/12{width:75%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-\[250px\]{width:250px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-\[27px\]{width:27px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-full{width:100%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .max-w-52{max-width:13rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-1{flex:1 1 0%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .grow{flex-grow:1}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .cursor-default{cursor:default}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .cursor-pointer{cursor:pointer}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .list-none{list-style-type:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-row{flex-direction:row}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-col{flex-direction:column}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-nowrap{flex-wrap:nowrap}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .items-center{align-items:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .justify-center{justify-content:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .justify-between{justify-content:space-between}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .gap-2{gap:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .overflow-y-scroll{overflow-y:scroll}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .whitespace-nowrap{white-space:nowrap}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded{border-radius:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-full{border-radius:9999px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-lg{border-radius:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-md{border-radius:.375rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .border{border-width:1px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .border-white\/15{border-color:#ffffff26}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-black\/50{background-color:#00000080}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-red-500\/90{background-color:#ef4444e6}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-white\/10{background-color:#ffffff1a}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-white\/20{background-color:#fff3}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .via-white\/5{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .object-contain{-o-object-fit:contain;object-fit:contain}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .p-0\.5{padding:.125rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .p-2{padding:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-2{padding-left:.5rem;padding-right:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-3{padding-left:.75rem;padding-right:.75rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-4{padding-left:1rem;padding-right:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .py-2{padding-top:.5rem;padding-bottom:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pb-4{padding-bottom:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pl-1{padding-left:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pt-2{padding-top:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-center{text-align:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .align-middle{vertical-align:middle}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-sm{font-size:.875rem;line-height:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-xs{font-size:.75rem;line-height:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .font-medium{font-weight:500}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .opacity-0{opacity:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .opacity-100{opacity:1}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .outline-none{outline:2px solid transparent;outline-offset:2px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .duration-300{transition-duration:.3s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .duration-500{transition-duration:.5s}.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{background-color:#2563eb}.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{background-color:#334155;color:#d1d5db}.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{background-color:#bae6fd;color:#4b5563}.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.dark .aiquants-session-photo{background-color:#27272a}.aiquants-menu-bar.dark .aiquants-session-link,.aiquants-menu-bar.dark .aiquants-session-info{background-color:#334155;color:#e2e8f0}.aiquants-menu-bar.light .aiquants-session-photo,.aiquants-menu-bar .aiquants-session-photo{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-session-link,.aiquants-menu-bar .aiquants-session-link,.aiquants-menu-bar.light .aiquants-session-info,.aiquants-menu-bar .aiquants-session-info{background-color:#dcfce7;color:#000}.aiquants-menu-accordion-summary{display:block;align-items:left;cursor:pointer}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-container{transition:block-size .5s;contain:content}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.before\:-mt-1:before{content:var(--tw-content);margin-top:-.25rem}.before\:mr-2:before{content:var(--tw-content);margin-right:.5rem}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-4:before{content:var(--tw-content);height:1rem}.before\:w-4:before{content:var(--tw-content);width:1rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:align-middle:before{content:var(--tw-content);vertical-align:middle}.before\:content-\[\'\'\]:before{--tw-content: "";content:var(--tw-content)}.after\:-ml-0\.5:after{content:var(--tw-content);margin-left:-.125rem}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:.125rem}.after\:mt-2:after{content:var(--tw-content);margin-top:.5rem}.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)}.hover\:border-white\/25:hover{border-color:#ffffff40}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color: rgb(252 165 165 / .6)}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color: rgb(255 255 255 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/30{background-color:#ffffff4d}.group:hover .group-hover\:text-white\/90{color:#ffffffe6}.group:hover .group-hover\:opacity-100{opacity:1}@media(prefers-color-scheme:dark){.dark\:border-gray-600\/40{border-color:#4b556366}.dark\:bg-gray-600\/60{background-color:#4b556399}.dark\:bg-gray-800\/80{background-color:#1f2937cc}.dark\:via-gray-400\/10{--tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(156 163 175 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:hover\:border-gray-500\/60:hover{border-color:#6b728099}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.group:hover .dark\:group-hover\:bg-gray-500\/70{background-color:#6b7280b3}.group:hover .dark\:group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}}
1
+ .aiquants-menu-bar{font-size:1rem;line-height:1.5}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{text-decoration:none;border:none;background:none;cursor:pointer}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pointer-events-none{pointer-events:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pointer-events-auto{pointer-events:auto}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .visible{visibility:visible}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .fixed{position:fixed}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .absolute{position:absolute}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .relative{position:relative}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .inset-0{inset:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .left-0{left:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .right-0{right:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .right-5{right:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-0{top:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-5{top:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[12px\]{top:12px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[18px\]{top:18px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .top-\[6px\]{top:6px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483640{z-index:2147483640}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483642{z-index:2147483642}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .z-2147483648{z-index:2147483648}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .m-1{margin:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mx-1{margin-left:.25rem;margin-right:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mx-2{margin-left:.5rem;margin-right:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .my-1{margin-top:.25rem;margin-bottom:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mb-1{margin-bottom:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .ml-1{margin-left:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .ml-4{margin-left:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .mr-1{margin-right:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .box-border{box-sizing:border-box}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .block{display:block}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .inline-block{display:inline-block}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex{display:flex}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .table{display:table}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-0{height:0px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-14{height:3.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-4{height:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-5{height:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[100px\]{height:100px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[27px\]{height:27px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-\[3px\]{height:3px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-full{height:100%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .h-px{height:1px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .max-h-20{max-height:5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .min-h-\[1em\]{min-height:1em}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .min-h-screen{min-height:100vh}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-14{width:3.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-4{width:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-5{width:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-9\/12{width:75%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-\[250px\]{width:250px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-\[27px\]{width:27px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .w-full{width:100%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .max-w-52{max-width:13rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-1{flex:1 1 0%}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .grow{flex-grow:1}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .cursor-default{cursor:default}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .cursor-pointer{cursor:pointer}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .list-none{list-style-type:none}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-row{flex-direction:row}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-col{flex-direction:column}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .flex-nowrap{flex-wrap:nowrap}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .items-center{align-items:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .justify-center{justify-content:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .justify-between{justify-content:space-between}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .gap-2{gap:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .overflow-y-scroll{overflow-y:scroll}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .whitespace-nowrap{white-space:nowrap}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded{border-radius:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-full{border-radius:9999px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-lg{border-radius:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-md{border-radius:.375rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .border{border-width:1px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .border-white\/15{border-color:#ffffff26}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-black\/50{background-color:#00000080}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-red-500\/90{background-color:#ef4444e6}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-white\/10{background-color:#ffffff1a}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-white\/20{background-color:#fff3}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .via-white\/5{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .object-contain{-o-object-fit:contain;object-fit:contain}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .p-0\.5{padding:.125rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .p-2{padding:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-2{padding-left:.5rem;padding-right:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-3{padding-left:.75rem;padding-right:.75rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .px-4{padding-left:1rem;padding-right:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .py-2{padding-top:.5rem;padding-bottom:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pb-4{padding-bottom:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pl-1{padding-left:.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .pt-2{padding-top:.5rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-center{text-align:center}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .align-middle{vertical-align:middle}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-sm{font-size:.875rem;line-height:1.25rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-xs{font-size:.75rem;line-height:1rem}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .font-medium{font-weight:500}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .opacity-0{opacity:0}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .opacity-100{opacity:1}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .outline-none{outline:2px solid transparent;outline-offset:2px}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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)}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .duration-300{transition-duration:.3s}:is(.aiquants-menu-bar,.aiquants-menu-bar *) .duration-500{transition-duration:.5s}.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{background-color:#2563eb}.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{background-color:#334155;color:#d1d5db}.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{background-color:#bae6fd;color:#4b5563}.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.dark .aiquants-session-photo{background-color:#27272a}.aiquants-menu-bar.dark .aiquants-session-link,.aiquants-menu-bar.dark .aiquants-session-info{background-color:#334155;color:#e2e8f0}.aiquants-menu-bar.light .aiquants-session-photo,.aiquants-menu-bar .aiquants-session-photo{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-session-link,.aiquants-menu-bar .aiquants-session-link,.aiquants-menu-bar.light .aiquants-session-info,.aiquants-menu-bar .aiquants-session-info{background-color:#dcfce7;color:#000}.aiquants-menu-accordion-summary{display:block;align-items:left;cursor:pointer}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-container{transition:block-size .5s;contain:content}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.before\:-mt-1:before{content:var(--tw-content);margin-top:-.25rem}.before\:mr-2:before{content:var(--tw-content);margin-right:.5rem}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-4:before{content:var(--tw-content);height:1rem}.before\:w-4:before{content:var(--tw-content);width:1rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:align-middle:before{content:var(--tw-content);vertical-align:middle}.before\:content-\[\'\'\]:before{--tw-content: "";content:var(--tw-content)}.after\:-ml-0\.5:after{content:var(--tw-content);margin-left:-.125rem}.after\:ml-0\.5:after{content:var(--tw-content);margin-left:.125rem}.after\:mt-2:after{content:var(--tw-content);margin-top:.5rem}.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)}.hover\:border-white\/25:hover{border-color:#ffffff40}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:underline:hover{text-decoration-line:underline}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color: rgb(252 165 165 / .6)}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color: rgb(255 255 255 / .4)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/30{background-color:#ffffff4d}.group:hover .group-hover\:text-white\/90{color:#ffffffe6}.group:hover .group-hover\:opacity-100{opacity:1}@media(prefers-color-scheme:dark){.dark\:border-gray-600\/40{border-color:#4b556366}.dark\:bg-gray-600\/60{background-color:#4b556399}.dark\:bg-gray-800\/80{background-color:#1f2937cc}.dark\:via-gray-400\/10{--tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(156 163 175 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.dark\:text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-sky-400{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:hover\:border-gray-500\/60:hover{border-color:#6b728099}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.group:hover .dark\:group-hover\:bg-gray-500\/70{background-color:#6b7280b3}.group:hover .dark\:group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiquants/menu-bar",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "A React menu bar component with authentication support and theming",
6
6
  "keywords": [