@aiquants/menu-bar 1.22.0 → 1.23.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/CHANGELOG.md +52 -4
- package/README.md +19 -10
- package/dist/index.es.js +70 -70
- package/dist/index.umd.js +2 -2
- package/dist/styles/menu-bar.css +1 -1
- package/dist/styles/menu-bar.standalone.css +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,54 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 1.23.0 (2026-10-31)
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- **The list's rows are 2.25rem (36px) tall.** Under every pointer, the list's links, the group headings and the links
|
|
8
|
+
inside a group are 2.25rem tall (one 1.25rem body line with 0.5rem above and below) in place of 2.75rem (44px), and a
|
|
9
|
+
group heading's pin button is 2.25rem × 2.25rem, so a top-level row (a link or a group heading, with the 0.125rem
|
|
10
|
+
margin below it) takes 38px of the list instead of 46px, and a link inside a group, which has no margin, takes 36px
|
|
11
|
+
instead of 44px. The rows stay past the 24px minimum of WCAG 2.5.8 (AA) and no longer reach the 44px of 2.5.5 (AAA);
|
|
12
|
+
the footer's buttons and the links of `SessionInfo` keep 2.75rem.
|
|
13
|
+
- **The short-viewport threshold is 16.8125rem (269px).** With the shorter rows, the viewport height at or below which
|
|
14
|
+
the whole drawer scrolls as one (the signed-in `SessionInfo` header, the footer and two rows of the list) falls from
|
|
15
|
+
17.8125rem.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **The wheel or a touch drag over the open drawer no longer scrolls the page behind it.** The drawer
|
|
20
|
+
(`.aiquants-menu-content`) and the list's scroll container (`.aiquants-menu-list-scroller`) declare
|
|
21
|
+
`overscroll-behavior: contain`, so a scroll the drawer cannot take is no longer handed on to the page: over a list
|
|
22
|
+
that fits, over the header and the footer, at either end of a list that overflows, and at the ends of the whole
|
|
23
|
+
drawer on a short viewport. Before, the page scrolled in every one of these, with the drawer overlaid or pinned.
|
|
24
|
+
- **The wheel or a touch drag over the backdrop no longer scrolls the page.** While shown, the backdrop is a scroll
|
|
25
|
+
container with nothing to scroll (`overflow-hidden`) and `overscroll-behavior: contain`.
|
|
26
|
+
- Where nothing under the pointer can scroll (a list that fits, the header or the footer on a tall viewport, the
|
|
27
|
+
backdrop), the containment holds in the browsers that treat such a container as a boundary, Chrome/Edge 144+ and
|
|
28
|
+
Firefox 150+; Safari still scrolls the page there (WebKit bug 243452). At the ends of a list or a drawer that
|
|
29
|
+
scrolls, every supported browser stops the scroll. The wheel over the switch, which is not part of the drawer, still
|
|
30
|
+
scrolls the page.
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
- The README has a "Scroll Containment" key feature and a "Drawer Layout and Scrolling" section: what stays in the
|
|
35
|
+
drawer, the browsers the containment needs where nothing under the pointer can scroll, and the switch, over which
|
|
36
|
+
the wheel still scrolls the page. "Browser Support" and "CSS Classes" say the same.
|
|
37
|
+
- The README's `SessionInfo` section says its two links sit side by side, as they have since 1.22.1.
|
|
38
|
+
|
|
39
|
+
## 1.22.1 (2026-10-29)
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- **The two links of `SessionInfo` (Profile and Google) are placed side by side.** In place of stacking them vertically in full-width rows (which consumed unnecessary vertical space), the links are arranged in two columns (`grid-cols-2`). With their text at the `caption` step (11px, `CAPTION_TEXT_CLASS_NAME`), the 6-character Japanese label 「プロフィール」 (66 to 67.3px) fits in one line within the 96px button (71px usable width), while maintaining the minimum 44 × 44px target size (WCAG 2.5.5). The card's vertical height is reduced by 50px (3.125rem).
|
|
44
|
+
- **The short-viewport scroll threshold is updated to 17.8125rem (285px).** With the more compact `SessionInfo` card height (reduced from 10.375rem + 3px to 7.25rem + 3px), the threshold for scrolling the whole drawer as one is lowered to 17.8125rem (header 8.25rem + 4px, footer 3.5rem + 1px, 2 rows of the list 5.75rem).
|
|
45
|
+
- `engines` declares pnpm `>=8.0.0` in place of npm.
|
|
46
|
+
|
|
47
|
+
### Documentation
|
|
48
|
+
|
|
49
|
+
- Installation shows `pnpm add` only.
|
|
50
|
+
|
|
51
|
+
## 1.22.0 (2026-10-26)
|
|
4
52
|
|
|
5
53
|
### Changed
|
|
6
54
|
|
|
@@ -21,8 +69,8 @@
|
|
|
21
69
|
sizes (`text-[11px]`, `text-[10px]`) are gone. The package reads `--aqmb-font-size-body`, `--aqmb-line-height-body`,
|
|
22
70
|
`--aqmb-font-size-caption` and `--aqmb-line-height-caption` without declaring them, so a host can bind them on
|
|
23
71
|
`:root` to its own type scale (README, "Text Size").
|
|
24
|
-
- **On a short viewport the whole drawer scrolls as one.** The drawer is never taller than the viewport.
|
|
25
|
-
viewport height of 20.9375rem (335px at the default font size: the signed-in `SessionInfo` header, the footer and two
|
|
72
|
+
- **On a short viewport the whole drawer scrolls as one.** The drawer is never taller than the viewport. At a
|
|
73
|
+
viewport height of 20.9375rem or less (335px at the default font size: the signed-in `SessionInfo` header, the footer and two
|
|
26
74
|
rows of the list), the header, the list and the footer scroll together, so the footer stays reachable at high zoom
|
|
27
75
|
(360 × 225 CSS px, a 1440 × 900 window at 400 %). On taller viewports the header and the footer stay in place and only
|
|
28
76
|
the list scrolls, as before. The list's region and scroll container take their layout from the new component
|
|
@@ -41,7 +89,7 @@
|
|
|
41
89
|
theme buttons share the first line and the sign-out button takes the second), the row wraps, with its gap as the row
|
|
42
90
|
gap, instead of overflowing sideways, and every button keeps at least 2.75rem. The sign-out button no longer shrinks
|
|
43
91
|
below its content (`min-width: 0` is removed). At the default root the row stays one line.
|
|
44
|
-
- **
|
|
92
|
+
- **No control transitions every property any more.** The theme button, the `SessionInfo` card and its links, and
|
|
45
93
|
the submenu pin buttons transitioned every property (`transition-all`, `transition: all`), so right after a change of
|
|
46
94
|
the root font size their rem padding and minimum sizes moved for 0.15–0.3 s before settling. The theme button, the card
|
|
47
95
|
and the pin buttons now transition their colours only, and the links their colours and their press scale
|
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ A React menu bar component with authentication support and theming for modern we
|
|
|
10
10
|
- **Session Management**: Built-in session information display with user profiles
|
|
11
11
|
- **Pinning**: Keep the drawer open while navigating, with the pinned width exposed as a CSS variable and an event
|
|
12
12
|
- **Accessible**: Named switch with `aria-expanded`, an inert closed drawer, focus that returns to the switch, visible focus rings, reduced-motion and forced-colors support
|
|
13
|
+
- **Scroll Containment**: The wheel or a touch drag over the open drawer, or over the backdrop, does not scroll the page behind it (where nothing under the pointer can scroll, this needs Chrome/Edge 144+ or Firefox 150+; see "Drawer Layout and Scrolling")
|
|
13
14
|
- **Configurable Switch**: Position, size, layering and caption of the open/close switch set through CSS custom properties
|
|
14
15
|
- **TypeScript Support**: Full TypeScript definitions included
|
|
15
16
|
- **React Router Integration**: Built for React Router with generic link component support
|
|
@@ -18,7 +19,7 @@ A React menu bar component with authentication support and theming for modern we
|
|
|
18
19
|
## Installation
|
|
19
20
|
|
|
20
21
|
```bash
|
|
21
|
-
|
|
22
|
+
pnpm add @aiquants/menu-bar
|
|
22
23
|
```
|
|
23
24
|
|
|
24
25
|
Peer dependencies: `react` and `react-dom` `^19.2.7`, and `react-router-dom` `^7.7.1`. The package's `engines` field asks for Node.js 18 or later.
|
|
@@ -275,21 +276,26 @@ Example — a 44px target (WCAG 2.5.5, AAA), the same under every pointer. Set t
|
|
|
275
276
|
|
|
276
277
|
The drawing stays 24px and the box becomes 48 × 48 with 12px of inline padding, at 4px from the top; its focus ring spans 0 to 56px, exactly the band. Anything you lay out beside the switch should reserve the box B rather than the drawing S (for example `max(var(--aqmb-switch-size), var(--aqmb-switch-target-size))`).
|
|
277
278
|
|
|
278
|
-
|
|
279
|
+
## Drawer Layout and Scrolling
|
|
279
280
|
|
|
280
|
-
|
|
281
|
+
Under every pointer (a mouse, a pen or a finger) the footer's pin, theme and sign-out buttons and the links of `SessionInfo` are at least 2.75rem × 2.75rem (44 × 44 px at the default root font size, the WCAG 2.5.5 target). The list's rows are 2.25rem tall (36px: one 1.25rem body line with 0.5rem above and below, past the 24px minimum of WCAG 2.5.8): every link of the list fills its row (the rows have no block padding of their own), and the group headings, the links inside a group and the group headings' pin buttons (2.25rem × 2.25rem) are as tall.
|
|
282
|
+
|
|
283
|
+
The drawer is never taller than the viewport. On a viewport at most 16.8125rem tall (269px at the default font size: the signed-in `SessionInfo` header, the footer and two rows of the list), the header, the list and the footer scroll together as one, so nothing is cut off or out of reach at high zoom (for example 360 × 225 CSS px, a 1440 × 900 window at 400 %); on taller viewports the header and the footer stay in place and only the list scrolls.
|
|
281
284
|
The threshold is in rem, so it rises with the browser's default font-size setting as the drawer's parts do. With a header of your own that is taller than `SessionInfo`, the drawer still scrolls as a whole once the header and the footer alone no longer fit.
|
|
282
285
|
|
|
286
|
+
Scrolling over the drawer stays in the drawer. The drawer and the list's scroll container are boundaries of scroll chaining (`overscroll-behavior: contain`), and so is the backdrop while it is shown (a scroll container with nothing to scroll): the wheel or a touch drag over the open drawer, overlaid or pinned, scrolls the list (on a short viewport, the whole drawer) and stops at its ends instead of moving on to the page behind it, and over the backdrop it scrolls nothing.
|
|
287
|
+
Where nothing under the pointer can scroll (a list that fits, the header or the footer on a tall viewport, the backdrop), this needs a browser that treats a scroll container with nothing to scroll as a boundary: Chrome/Edge 144+ and Firefox 150+ do, Safari does not ([WebKit bug 243452](https://bugs.webkit.org/show_bug.cgi?id=243452)) and scrolls the page there. The switch is not part of the drawer, so the wheel over it scrolls the page.
|
|
288
|
+
|
|
283
289
|
## Text Size
|
|
284
290
|
|
|
285
291
|
The drawer's controls and list rows draw their text on two steps of a type scale, each read from a custom property with the step's default as its fallback. The defaults are in rem, so the text follows page zoom and the browser's root font-size setting.
|
|
286
292
|
|
|
287
293
|
| Custom property | Default | Text |
|
|
288
294
|
| --- | --- | --- |
|
|
289
|
-
| `--aqmb-font-size-body` | `0.8125rem` (13px at the default root font size) | The primary text of
|
|
295
|
+
| `--aqmb-font-size-body` | `0.8125rem` (13px at the default root font size) | The primary text of controls and rows: the footer's pin, theme and sign-out buttons, the list's links and group headings, and the links inside a group. From a viewport 40rem wide up, the list's top-level links and group headings use `text-sm` (0.875rem, 14px) instead |
|
|
290
296
|
| `--aqmb-line-height-body` | `1.25rem` (20px) | The line of that text |
|
|
291
|
-
| `--aqmb-font-size-caption` | `0.6875rem` (11px) | The supplementary "Google Account" label of `SessionInfo` |
|
|
292
|
-
| `--aqmb-line-height-caption` | `1.25rem` (20px) | The line of that
|
|
297
|
+
| `--aqmb-font-size-caption` | `0.6875rem` (11px) | The links and supplementary "Google Account" label of `SessionInfo` |
|
|
298
|
+
| `--aqmb-line-height-caption` | `1.25rem` (20px) | The line of that text |
|
|
293
299
|
|
|
294
300
|
The package only reads these properties and never declares them, so a host can bind them on `:root`, for example to its own type scale:
|
|
295
301
|
|
|
@@ -303,7 +309,7 @@ The package only reads these properties and never declares them, so a host can b
|
|
|
303
309
|
```
|
|
304
310
|
|
|
305
311
|
The drawer stays 240px wide. At the default sizes the sign-out label (about 78px) fits on one line beside the two 44px buttons with about 5px to spare; with a larger body size, or a root font size above 16px, it wraps inside its button, which grows taller, and above a root of about 23px the footer row wraps and the button takes a line of its own.
|
|
306
|
-
A label of the list longer than its row wraps the same way, even inside an unbreakable word, and its row grows past 2.
|
|
312
|
+
A label of the list longer than its row wraps the same way, even inside an unbreakable word, and its row grows past 2.25rem; the name and the links of `SessionInfo` wrap too, so no label is cut off.
|
|
307
313
|
|
|
308
314
|
## Theming
|
|
309
315
|
|
|
@@ -494,6 +500,7 @@ The main menu bar component that includes:
|
|
|
494
500
|
- Header slot (`menuHeader`) and navigation menu
|
|
495
501
|
- Pin, theme toggle and sign-out buttons
|
|
496
502
|
- Backdrop that closes the drawer when pressed
|
|
503
|
+
- Scrolling that stays in the drawer, off the page behind the drawer and the backdrop
|
|
497
504
|
- Focus management and current page highlighting
|
|
498
505
|
|
|
499
506
|
### SessionInfo
|
|
@@ -501,7 +508,7 @@ The main menu bar component that includes:
|
|
|
501
508
|
A standalone session information component that displays:
|
|
502
509
|
|
|
503
510
|
- The user's avatar (a default icon when `photo` is empty), display name and a "Google Account" label (at the caption step, see "Text Size"). The name and the label wrap, even inside an unbreakable word, rather than being cut to an ellipsis
|
|
504
|
-
- Two links rendered through the customizable `LinkComponent` (default: `DefaultLink`, a plain `<a>`): a profile link to `/` and a link to `https://myaccount.google.com/`. They
|
|
511
|
+
- Two links rendered through the customizable `LinkComponent` (default: `DefaultLink`, a plain `<a>`): a profile link to `/` and a link to `https://myaccount.google.com/`. They sit side by side, each half the card's inner width and at least 2.75rem tall (44px at the default root font size), its label at the caption step, wrapping onto more lines (the link growing taller) when a large root font size leaves it too little width
|
|
505
512
|
- A "please sign in" card ("ログインしてください") when `user` is `null`
|
|
506
513
|
|
|
507
514
|
The card carries `data-aqmb-session-card` in both states. Sign-out is not part of `SessionInfo`: it is the drawer's sign-out button, which calls `onClickSignout`.
|
|
@@ -534,9 +541,9 @@ Hand-written component classes use the `.aiquants-` prefix (the modifiers are th
|
|
|
534
541
|
|
|
535
542
|
- `.aiquants-menu-bar` - Main container (with the theme class `light` or `dark`)
|
|
536
543
|
- `.aiquants-menu-switch` - Open/close switch (`.aiquants-menu-switch-bars`, `.aiquants-menu-switch-bar`, `.aiquants-menu-switch-caption`)
|
|
537
|
-
- `.aiquants-menu-content` - Drawer (never taller than the viewport; it scrolls as a whole on a short one)
|
|
544
|
+
- `.aiquants-menu-content` - Drawer (never taller than the viewport; it scrolls as a whole on a short one, and is a boundary of scroll chaining)
|
|
538
545
|
- `.aiquants-menu-list-region` - The list's region between the drawer's header and footer
|
|
539
|
-
- `.aiquants-menu-list-scroller` - The list's scroll container (`data-aqmb-menu-list`) on a tall viewport
|
|
546
|
+
- `.aiquants-menu-list-scroller` - The list's scroll container (`data-aqmb-menu-list`) on a tall viewport, a boundary of scroll chaining
|
|
540
547
|
- `.aiquants-menu-list-item` - Menu item and group summary
|
|
541
548
|
- `.aiquants-session-card` - Session information card
|
|
542
549
|
|
|
@@ -552,6 +559,8 @@ These classes are a styling contract, not DOM hooks — use the `data-aqmb-*` at
|
|
|
552
559
|
|
|
553
560
|
These are the versions Tailwind CSS v4, which builds both stylesheets, targets. The stylesheets also sit in cascade layers, which an older browser drops whole, and the closed drawer and the backdrop rely on the HTML `inert` attribute.
|
|
554
561
|
|
|
562
|
+
Every one of these versions stops a scroll at the ends of a list or a drawer that scrolls. Keeping the wheel off the page where nothing under the pointer can scroll (a list that fits, the header or the footer, the backdrop) needs Chrome/Edge 144+ or Firefox 150+; Safari and older versions scroll the page there.
|
|
563
|
+
|
|
555
564
|
## Development
|
|
556
565
|
|
|
557
566
|
```bash
|
package/dist/index.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useLocation as
|
|
1
|
+
import Ae, { forwardRef as we, createElement as oe, useCallback as _, useSyncExternalStore as Re, useMemo as ue, useState as X, useRef as L, useEffect as F, useLayoutEffect as ye } from "react";
|
|
2
|
+
import { useLocation as Ie, Link as Ne } from "react-router-dom";
|
|
3
3
|
var J = { exports: {} }, V = {};
|
|
4
4
|
var de;
|
|
5
|
-
function
|
|
5
|
+
function Oe() {
|
|
6
6
|
if (de) return V;
|
|
7
7
|
de = 1;
|
|
8
8
|
var t = /* @__PURE__ */ Symbol.for("react.transitional.element"), n = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
@@ -25,7 +25,7 @@ function Ie() {
|
|
|
25
25
|
}
|
|
26
26
|
var W = {};
|
|
27
27
|
var fe;
|
|
28
|
-
function
|
|
28
|
+
function qe() {
|
|
29
29
|
return fe || (fe = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
30
30
|
function t(e) {
|
|
31
31
|
if (e == null) return null;
|
|
@@ -50,13 +50,13 @@ function Oe() {
|
|
|
50
50
|
switch (typeof e.tag == "number" && console.error(
|
|
51
51
|
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
52
52
|
), e.$$typeof) {
|
|
53
|
-
case
|
|
53
|
+
case R:
|
|
54
54
|
return "Portal";
|
|
55
55
|
case T:
|
|
56
56
|
return e.displayName || "Context";
|
|
57
57
|
case k:
|
|
58
58
|
return (e._context.displayName || "Context") + ".Consumer";
|
|
59
|
-
case
|
|
59
|
+
case I:
|
|
60
60
|
var i = e.render;
|
|
61
61
|
return e = e.displayName, e || (e = i.displayName || i.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
62
62
|
case K:
|
|
@@ -102,7 +102,7 @@ function Oe() {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
function l() {
|
|
105
|
-
var e =
|
|
105
|
+
var e = O.A;
|
|
106
106
|
return e === null ? null : e.getOwner();
|
|
107
107
|
}
|
|
108
108
|
function o() {
|
|
@@ -181,10 +181,10 @@ function Oe() {
|
|
|
181
181
|
else N(v);
|
|
182
182
|
if (P.call(i, "key")) {
|
|
183
183
|
v = t(e);
|
|
184
|
-
var
|
|
185
|
-
return
|
|
184
|
+
var q = Object.keys(i).filter(function(Pe) {
|
|
185
|
+
return Pe !== "key";
|
|
186
186
|
});
|
|
187
|
-
b = 0 <
|
|
187
|
+
b = 0 < q.length ? "{key: someKey, " + q.join(": ..., ") + ": ...}" : "{key: someKey}", h[v + b] || (q = 0 < q.length ? "{" + q.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
188
188
|
`A props object containing a "key" prop is being spread into JSX:
|
|
189
189
|
let props = %s;
|
|
190
190
|
<%s {...props} />
|
|
@@ -193,7 +193,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
193
193
|
<%s key={someKey} {...props} />`,
|
|
194
194
|
b,
|
|
195
195
|
v,
|
|
196
|
-
|
|
196
|
+
q,
|
|
197
197
|
v
|
|
198
198
|
), h[v + b] = !0);
|
|
199
199
|
}
|
|
@@ -220,7 +220,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
220
220
|
function w(e) {
|
|
221
221
|
return typeof e == "object" && e !== null && e.$$typeof === C;
|
|
222
222
|
}
|
|
223
|
-
var j =
|
|
223
|
+
var j = Ae, C = /* @__PURE__ */ Symbol.for("react.transitional.element"), R = /* @__PURE__ */ Symbol.for("react.portal"), c = /* @__PURE__ */ Symbol.for("react.fragment"), p = /* @__PURE__ */ Symbol.for("react.strict_mode"), S = /* @__PURE__ */ Symbol.for("react.profiler"), k = /* @__PURE__ */ Symbol.for("react.consumer"), T = /* @__PURE__ */ Symbol.for("react.context"), I = /* @__PURE__ */ Symbol.for("react.forward_ref"), D = /* @__PURE__ */ Symbol.for("react.suspense"), Q = /* @__PURE__ */ Symbol.for("react.suspense_list"), K = /* @__PURE__ */ Symbol.for("react.memo"), z = /* @__PURE__ */ Symbol.for("react.lazy"), H = /* @__PURE__ */ Symbol.for("react.activity"), U = /* @__PURE__ */ Symbol.for("react.client.reference"), O = j.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, P = Object.prototype.hasOwnProperty, ee = Array.isArray, M = console.createTask ? console.createTask : function() {
|
|
224
224
|
return null;
|
|
225
225
|
};
|
|
226
226
|
j = {
|
|
@@ -233,7 +233,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
233
233
|
o
|
|
234
234
|
)(), Y = M(s(o)), h = {};
|
|
235
235
|
W.Fragment = c, W.jsx = function(e, i, f) {
|
|
236
|
-
var b = 1e4 >
|
|
236
|
+
var b = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
237
237
|
return y(
|
|
238
238
|
e,
|
|
239
239
|
i,
|
|
@@ -243,7 +243,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
243
243
|
b ? M(s(e)) : Y
|
|
244
244
|
);
|
|
245
245
|
}, W.jsxs = function(e, i, f) {
|
|
246
|
-
var b = 1e4 >
|
|
246
|
+
var b = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
247
247
|
return y(
|
|
248
248
|
e,
|
|
249
249
|
i,
|
|
@@ -256,22 +256,22 @@ React keys must be passed directly to JSX without using spread:
|
|
|
256
256
|
})()), W;
|
|
257
257
|
}
|
|
258
258
|
var me;
|
|
259
|
-
function
|
|
260
|
-
return me || (me = 1, process.env.NODE_ENV === "production" ? J.exports =
|
|
259
|
+
function Le() {
|
|
260
|
+
return me || (me = 1, process.env.NODE_ENV === "production" ? J.exports = Oe() : J.exports = qe()), J.exports;
|
|
261
261
|
}
|
|
262
|
-
var r =
|
|
263
|
-
const
|
|
262
|
+
var r = Le();
|
|
263
|
+
const $e = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), De = (t) => t.replace(
|
|
264
264
|
/^([A-Z])|[\s-_]+(\w)/g,
|
|
265
265
|
(n, a, s) => s ? s.toUpperCase() : a.toLowerCase()
|
|
266
266
|
), he = (t) => {
|
|
267
|
-
const n =
|
|
267
|
+
const n = De(t);
|
|
268
268
|
return n.charAt(0).toUpperCase() + n.slice(1);
|
|
269
|
-
}, _e = (...t) => t.filter((n, a, s) => !!n && n.trim() !== "" && s.indexOf(n) === a).join(" ").trim(),
|
|
269
|
+
}, _e = (...t) => t.filter((n, a, s) => !!n && n.trim() !== "" && s.indexOf(n) === a).join(" ").trim(), ze = (t) => {
|
|
270
270
|
for (const n in t)
|
|
271
271
|
if (n.startsWith("aria-") || n === "role" || n === "title")
|
|
272
272
|
return !0;
|
|
273
273
|
};
|
|
274
|
-
var
|
|
274
|
+
var He = {
|
|
275
275
|
xmlns: "http://www.w3.org/2000/svg",
|
|
276
276
|
width: 24,
|
|
277
277
|
height: 24,
|
|
@@ -282,7 +282,7 @@ var ze = {
|
|
|
282
282
|
strokeLinecap: "round",
|
|
283
283
|
strokeLinejoin: "round"
|
|
284
284
|
};
|
|
285
|
-
const
|
|
285
|
+
const Ye = we(
|
|
286
286
|
({
|
|
287
287
|
color: t = "currentColor",
|
|
288
288
|
size: n = 24,
|
|
@@ -296,13 +296,13 @@ const He = we(
|
|
|
296
296
|
"svg",
|
|
297
297
|
{
|
|
298
298
|
ref: m,
|
|
299
|
-
...
|
|
299
|
+
...He,
|
|
300
300
|
width: n,
|
|
301
301
|
height: n,
|
|
302
302
|
stroke: t,
|
|
303
303
|
strokeWidth: s ? Number(a) * 24 / Number(n) : a,
|
|
304
304
|
className: _e("lucide", l),
|
|
305
|
-
...!o && !
|
|
305
|
+
...!o && !ze(d) && { "aria-hidden": "true" },
|
|
306
306
|
...d
|
|
307
307
|
},
|
|
308
308
|
[
|
|
@@ -313,11 +313,11 @@ const He = we(
|
|
|
313
313
|
);
|
|
314
314
|
const E = (t, n) => {
|
|
315
315
|
const a = we(
|
|
316
|
-
({ className: s, ...l }, o) => oe(
|
|
316
|
+
({ className: s, ...l }, o) => oe(Ye, {
|
|
317
317
|
ref: o,
|
|
318
318
|
iconNode: n,
|
|
319
319
|
className: _e(
|
|
320
|
-
`lucide-${
|
|
320
|
+
`lucide-${$e(he(t))}`,
|
|
321
321
|
`lucide-${t}`,
|
|
322
322
|
s
|
|
323
323
|
),
|
|
@@ -326,15 +326,15 @@ const E = (t, n) => {
|
|
|
326
326
|
);
|
|
327
327
|
return a.displayName = he(t), a;
|
|
328
328
|
};
|
|
329
|
-
const
|
|
329
|
+
const Ve = [
|
|
330
330
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
331
331
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
332
332
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
333
|
-
],
|
|
334
|
-
const
|
|
333
|
+
], We = E("external-link", Ve);
|
|
334
|
+
const Fe = [
|
|
335
335
|
["path", { d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2", key: "975kel" }],
|
|
336
336
|
["circle", { cx: "12", cy: "7", r: "4", key: "17ys0d" }]
|
|
337
|
-
],
|
|
337
|
+
], Ue = E("user", Fe), $ = "text-[length:var(--aqmb-font-size-body,0.8125rem)] leading-[var(--aqmb-line-height-body,1.25rem)]", je = "text-[length:var(--aqmb-font-size-caption,0.6875rem)] leading-[var(--aqmb-line-height-caption,1.25rem)]", Ge = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NiZDVlMSI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==", Be = ({ to: t, className: n, children: a }) => /* @__PURE__ */ r.jsx("a", { href: t, className: n, children: a }), pe = `flex min-h-11 items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-1 py-1 font-medium ${je} text-white transition duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80`, _t = (t) => {
|
|
338
338
|
const { user: n, LinkComponent: a = Be } = t;
|
|
339
339
|
return /* @__PURE__ */ r.jsx("div", { className: "w-full", children: n ? /* @__PURE__ */ r.jsxs(
|
|
340
340
|
"div",
|
|
@@ -349,16 +349,16 @@ const We = [
|
|
|
349
349
|
] }),
|
|
350
350
|
/* @__PURE__ */ r.jsxs("div", { className: "min-w-0 flex-1 leading-tight", children: [
|
|
351
351
|
/* @__PURE__ */ r.jsx("div", { className: "font-semibold text-white text-xs tracking-tight dark:text-slate-100", children: n.displayName }),
|
|
352
|
-
/* @__PURE__ */ r.jsx("div", { className: `mt-0.5 font-medium ${
|
|
352
|
+
/* @__PURE__ */ r.jsx("div", { className: `mt-0.5 font-medium ${je} text-white/75 tracking-tight dark:text-slate-400`, children: "Google Account" })
|
|
353
353
|
] })
|
|
354
354
|
] }),
|
|
355
|
-
/* @__PURE__ */ r.jsxs("div", { className: "grid grid-cols-
|
|
355
|
+
/* @__PURE__ */ r.jsxs("div", { className: "grid grid-cols-2 gap-1.5 border-white/15 border-t pt-1.5 dark:border-slate-700/50", children: [
|
|
356
356
|
/* @__PURE__ */ r.jsxs(a, { className: pe, to: "/", children: [
|
|
357
|
-
/* @__PURE__ */ r.jsx(
|
|
357
|
+
/* @__PURE__ */ r.jsx(Ue, { size: 11, className: "shrink-0 opacity-80" }),
|
|
358
358
|
/* @__PURE__ */ r.jsx("span", { className: "min-w-0 text-center", children: "プロフィール" })
|
|
359
359
|
] }),
|
|
360
360
|
/* @__PURE__ */ r.jsxs(a, { className: pe, to: "https://myaccount.google.com/", children: [
|
|
361
|
-
/* @__PURE__ */ r.jsx(
|
|
361
|
+
/* @__PURE__ */ r.jsx(We, { size: 11, className: "shrink-0 opacity-80" }),
|
|
362
362
|
/* @__PURE__ */ r.jsx("span", { className: "min-w-0 text-center", children: "Google" })
|
|
363
363
|
] })
|
|
364
364
|
] })
|
|
@@ -367,7 +367,7 @@ const We = [
|
|
|
367
367
|
) : /* @__PURE__ */ r.jsx("div", { "data-aqmb-session-card": !0, className: "aiquants-session-card flex items-center justify-between rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-xs dark:border-slate-700/60 dark:bg-slate-800/60", children: /* @__PURE__ */ r.jsx("span", { className: "font-medium text-white/90 text-xs dark:text-slate-200", children: "ログインしてください" }) }) });
|
|
368
368
|
}, ie = "aiquants-menu-pin-change";
|
|
369
369
|
let g = { pinned: !1, width: 0, active: !1 };
|
|
370
|
-
const
|
|
370
|
+
const Ee = (t = 240) => {
|
|
371
371
|
if (typeof window > "u" || typeof document > "u")
|
|
372
372
|
return { pinned: !1, width: 0, active: !1 };
|
|
373
373
|
try {
|
|
@@ -400,7 +400,7 @@ const je = (t = 240) => {
|
|
|
400
400
|
};
|
|
401
401
|
const { immediate: a = !0, defaultPinnedWidth: s = 240 } = n ?? {};
|
|
402
402
|
if (a) {
|
|
403
|
-
const o =
|
|
403
|
+
const o = Ee(s);
|
|
404
404
|
t(o);
|
|
405
405
|
}
|
|
406
406
|
const l = (o) => {
|
|
@@ -419,11 +419,11 @@ const je = (t = 240) => {
|
|
|
419
419
|
{ immediate: !1, defaultPinnedWidth: n }
|
|
420
420
|
),
|
|
421
421
|
[n]
|
|
422
|
-
), l = _(() =>
|
|
422
|
+
), l = _(() => Ee(n), [n]), o = _(() => ({
|
|
423
423
|
pinned: a,
|
|
424
424
|
width: a ? n : 0
|
|
425
425
|
}), [a, n]);
|
|
426
|
-
return
|
|
426
|
+
return Re(s, l, o);
|
|
427
427
|
};
|
|
428
428
|
const Je = [
|
|
429
429
|
["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
|
|
@@ -439,7 +439,7 @@ const Qe = [
|
|
|
439
439
|
key: "1nkz8b"
|
|
440
440
|
}
|
|
441
441
|
]
|
|
442
|
-
],
|
|
442
|
+
], Se = E("pin", Qe);
|
|
443
443
|
const Ke = [
|
|
444
444
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
445
445
|
["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89", key: "znwnzq" }],
|
|
@@ -451,7 +451,7 @@ const Ke = [
|
|
|
451
451
|
key: "c9qhm2"
|
|
452
452
|
}
|
|
453
453
|
]
|
|
454
|
-
],
|
|
454
|
+
], Te = E("pin-off", Ke);
|
|
455
455
|
const et = [
|
|
456
456
|
["path", { d: "M5 21v-6", key: "1hz6c0" }],
|
|
457
457
|
["path", { d: "M12 21V9", key: "uvy0l4" }],
|
|
@@ -488,7 +488,7 @@ const ct = [
|
|
|
488
488
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
489
489
|
["path", { d: "M3 9h18", key: "1pudct" }],
|
|
490
490
|
["path", { d: "M3 15h18", key: "5xshup" }]
|
|
491
|
-
], ut = E("table", ct), le = "flex min-h-
|
|
491
|
+
], ut = E("table", ct), le = "flex min-h-9 flex-1 items-center", dt = "min-h-9 min-w-9", ft = typeof window < "u" ? ye : F, xe = "aiquants-menu-scroll", Ce = new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/), mt = {
|
|
492
492
|
report: ve,
|
|
493
493
|
slip: ve,
|
|
494
494
|
table: ut,
|
|
@@ -531,12 +531,12 @@ const ct = [
|
|
|
531
531
|
s && s(ce(n, t));
|
|
532
532
|
}
|
|
533
533
|
};
|
|
534
|
-
return t.new ? /* @__PURE__ */ r.jsx("a", { href: t.href, rel: "noopener noreferrer", target: "_blank", ...o, children: l }) :
|
|
535
|
-
},
|
|
536
|
-
const s =
|
|
534
|
+
return t.new ? /* @__PURE__ */ r.jsx("a", { href: t.href, rel: "noopener noreferrer", target: "_blank", ...o, children: l }) : Ce.test(t.href) ? /* @__PURE__ */ r.jsx("a", { href: t.href, ...o, children: l }) : /* @__PURE__ */ r.jsx(Ne, { to: t.href, ...o, children: l });
|
|
535
|
+
}, Me = (t) => t ? t.split(/[?#]/)[0].replace(/(?!^\/)\/$/, "") : "", ge = (t, n, a) => {
|
|
536
|
+
const s = Me(t);
|
|
537
537
|
return s === "" ? -1 : s === a || n === "prefix" && s !== "/" && a.startsWith(`${s}/`) ? s.length : -1;
|
|
538
538
|
}, bt = (t, n) => {
|
|
539
|
-
const a =
|
|
539
|
+
const a = Me(n);
|
|
540
540
|
let s = null, l = -1;
|
|
541
541
|
for (const o of t) {
|
|
542
542
|
const u = ge(o.href, o.match, a);
|
|
@@ -551,11 +551,11 @@ const ct = [
|
|
|
551
551
|
const { menuList: n, onMenuSelected: a, pinnedSubmenuIds: s = [], onToggleSubmenuPin: l } = t;
|
|
552
552
|
let o = "";
|
|
553
553
|
try {
|
|
554
|
-
o =
|
|
554
|
+
o = Ie().pathname;
|
|
555
555
|
} catch {
|
|
556
556
|
typeof window < "u" && (o = window.location.pathname);
|
|
557
557
|
}
|
|
558
|
-
const u = ue(() => bt(n, o), [n, o]), d = u === null ? null : u.menuId, [m, x] = X(d), y =
|
|
558
|
+
const u = ue(() => bt(n, o), [n, o]), d = u === null ? null : u.menuId, [m, x] = X(d), y = L(o), N = L(d !== null);
|
|
559
559
|
F(() => {
|
|
560
560
|
y.current !== o && (y.current = o, N.current = !1), !N.current && d !== null && (x(d), N.current = !0);
|
|
561
561
|
}, [o, d]);
|
|
@@ -564,7 +564,7 @@ const ct = [
|
|
|
564
564
|
s.includes(c) || x((S) => S === c ? null : c);
|
|
565
565
|
},
|
|
566
566
|
[s]
|
|
567
|
-
), j =
|
|
567
|
+
), j = L(null);
|
|
568
568
|
ft(() => {
|
|
569
569
|
const c = j.current;
|
|
570
570
|
if (c)
|
|
@@ -584,7 +584,7 @@ const ct = [
|
|
|
584
584
|
sessionStorage.setItem(xe, String(c.scrollTop));
|
|
585
585
|
} catch {
|
|
586
586
|
}
|
|
587
|
-
}, []),
|
|
587
|
+
}, []), R = ue(() => /* @__PURE__ */ r.jsx(r.Fragment, { children: n.map((c) => /* @__PURE__ */ r.jsx("div", { children: c.href ? /* @__PURE__ */ r.jsx("div", { className: `aiquants-menu-list-item relative mb-0.5 ml-1 flex items-center rounded-l-xl px-2.5 ${$} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm`, children: Ce.test(c.href) ? /* @__PURE__ */ r.jsx(
|
|
588
588
|
"a",
|
|
589
589
|
{
|
|
590
590
|
href: c.href,
|
|
@@ -610,7 +610,7 @@ const ct = [
|
|
|
610
610
|
/* @__PURE__ */ r.jsxs(
|
|
611
611
|
"summary",
|
|
612
612
|
{
|
|
613
|
-
className: `aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 min-h-
|
|
613
|
+
className: `aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 min-h-9 list-none rounded-l-xl px-2.5 ${$} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] focus-visible:outline-2 focus-visible:outline-current focus-visible:-outline-offset-2 sm:text-sm`,
|
|
614
614
|
onClick: (p) => {
|
|
615
615
|
p.preventDefault(), w(c.id);
|
|
616
616
|
},
|
|
@@ -629,15 +629,15 @@ const ct = [
|
|
|
629
629
|
},
|
|
630
630
|
className: `aiquants-submenu-pin-button ${dt} ${s.includes(c.id) ? "pinned" : ""}`,
|
|
631
631
|
title: s.includes(c.id) ? "ピン留め解除" : "ピン留め",
|
|
632
|
-
children: s.includes(c.id) ? /* @__PURE__ */ r.jsx(
|
|
632
|
+
children: s.includes(c.id) ? /* @__PURE__ */ r.jsx(Se, { size: 13 }) : /* @__PURE__ */ r.jsx(Te, { size: 13 })
|
|
633
633
|
}
|
|
634
634
|
)
|
|
635
635
|
]
|
|
636
636
|
}
|
|
637
637
|
),
|
|
638
|
-
/* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm", children: c.submenu.map((p) => /* @__PURE__ */ r.jsx("div", { className: `aiquants-menu-accordion-container block w-full ${
|
|
638
|
+
/* @__PURE__ */ r.jsx("div", { className: "aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm", children: c.submenu.map((p) => /* @__PURE__ */ r.jsx("div", { className: `aiquants-menu-accordion-container block w-full ${$}`, children: /* @__PURE__ */ r.jsx(pt, { item: p, parentMenu: c, isCurrent: re(u, c.id, p.subid), onMenuSelected: a }) }, p.subid)) })
|
|
639
639
|
] }) }, c.id)) }), [n, a, m, w, s, u]);
|
|
640
|
-
return /* @__PURE__ */ r.jsx("div", { ref: j, onScroll: C, "data-aqmb-menu-list": !0, className: "aiquants-menu-list-scroller hidden-scrollbar", children:
|
|
640
|
+
return /* @__PURE__ */ r.jsx("div", { ref: j, onScroll: C, "data-aqmb-menu-list": !0, className: "aiquants-menu-list-scroller hidden-scrollbar", children: R });
|
|
641
641
|
}, ae = "min-h-11", ke = "min-w-11", xt = (t) => {
|
|
642
642
|
const { menuList: n, menuHeader: a, open: s, onMenuSelected: l, onClickSignout: o, theme: u, toggleTheme: d, isPinned: m, onTogglePin: x, pinnedSubmenuIds: y, onToggleSubmenuPin: N, ref: w } = t;
|
|
643
643
|
return /* @__PURE__ */ r.jsxs(
|
|
@@ -657,10 +657,10 @@ const ct = [
|
|
|
657
657
|
type: "button",
|
|
658
658
|
onClick: x,
|
|
659
659
|
"data-aqmb-pin-button": !0,
|
|
660
|
-
className: `flex ${ae} ${ke} items-center justify-center rounded-md px-2 ${
|
|
660
|
+
className: `flex ${ae} ${ke} items-center justify-center rounded-md px-2 ${$} text-white shadow-2xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-300/60 ${m ? "bg-amber-500 hover:bg-amber-600 dark:bg-amber-600 dark:hover:bg-amber-500" : "border border-white/20 bg-white/10 hover:bg-white/20 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600"}`,
|
|
661
661
|
title: m ? "ピン留め解除" : "ピン留め",
|
|
662
662
|
"aria-label": m ? "ピン留め解除" : "ピン留め",
|
|
663
|
-
children: m ? /* @__PURE__ */ r.jsx(
|
|
663
|
+
children: m ? /* @__PURE__ */ r.jsx(Se, { size: 12 }) : /* @__PURE__ */ r.jsx(Te, { size: 12 })
|
|
664
664
|
}
|
|
665
665
|
),
|
|
666
666
|
/* @__PURE__ */ r.jsx(
|
|
@@ -669,7 +669,7 @@ const ct = [
|
|
|
669
669
|
type: "button",
|
|
670
670
|
onClick: d,
|
|
671
671
|
"data-aqmb-theme-button": !0,
|
|
672
|
-
className: `group relative flex ${ae} ${ke} items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 ${
|
|
672
|
+
className: `group relative flex ${ae} ${ke} items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 ${$} text-white shadow-2xs backdrop-blur-xs transition-colors duration-200 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600`,
|
|
673
673
|
title: u === "dark" ? "ライトモードに切り替え" : "ダークモードに切り替え",
|
|
674
674
|
"aria-label": u === "dark" ? "ライトモードに切り替え" : "ダークモードに切り替え",
|
|
675
675
|
children: /* @__PURE__ */ r.jsx("span", { className: "transition-transform duration-200 group-hover:scale-110", children: u === "dark" ? "🌞" : "🌙" })
|
|
@@ -680,7 +680,7 @@ const ct = [
|
|
|
680
680
|
{
|
|
681
681
|
type: "button",
|
|
682
682
|
"data-aqmb-signout-button": !0,
|
|
683
|
-
className: `aiquants-signout-button flex ${ae} flex-1 items-center justify-center gap-1.5 rounded-md bg-red-500/90 px-2.5 font-medium ${
|
|
683
|
+
className: `aiquants-signout-button flex ${ae} flex-1 items-center justify-center gap-1.5 rounded-md bg-red-500/90 px-2.5 font-medium ${$} text-white shadow-2xs transition-colors duration-200 hover:bg-red-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60 dark:bg-red-600/90 dark:hover:bg-red-500`,
|
|
684
684
|
onClick: o,
|
|
685
685
|
children: [
|
|
686
686
|
/* @__PURE__ */ r.jsx(Xe, { size: 11, className: "shrink-0" }),
|
|
@@ -702,7 +702,7 @@ const ct = [
|
|
|
702
702
|
"aria-hidden": "true",
|
|
703
703
|
"data-aqmb-menu-overlay": !0,
|
|
704
704
|
inert: !n,
|
|
705
|
-
className: `fixed inset-0 z-2147483640 bg-black/50 motion-safe:transition-opacity motion-safe:duration-500 ${n ? "opacity-100" : "pointer-events-none opacity-0"}`,
|
|
705
|
+
className: `fixed inset-0 z-2147483640 overflow-hidden overscroll-contain bg-black/50 motion-safe:transition-opacity motion-safe:duration-500 ${n ? "opacity-100" : "pointer-events-none opacity-0"}`,
|
|
706
706
|
onMouseDown: gt,
|
|
707
707
|
onClick: a
|
|
708
708
|
}
|
|
@@ -731,16 +731,16 @@ const ct = [
|
|
|
731
731
|
pinnedSubmenuIds: w,
|
|
732
732
|
initialPinnedSubmenuIds: j,
|
|
733
733
|
onSubmenuPinChange: C,
|
|
734
|
-
closeOnEscape:
|
|
734
|
+
closeOnEscape: R = "auto"
|
|
735
735
|
} = t, c = o ?? l ?? !1, [p, S] = X(() => {
|
|
736
736
|
try {
|
|
737
737
|
return localStorage.getItem("aiquants-menu-pinned") === "true";
|
|
738
738
|
} catch {
|
|
739
739
|
return !1;
|
|
740
740
|
}
|
|
741
|
-
}), k = x !== void 0 ? x : p, [T,
|
|
741
|
+
}), k = x !== void 0 ? x : p, [T, I] = X(k);
|
|
742
742
|
F(() => {
|
|
743
|
-
k &&
|
|
743
|
+
k && I(!0);
|
|
744
744
|
}, [k]);
|
|
745
745
|
const [D, Q] = X(() => {
|
|
746
746
|
if (j)
|
|
@@ -768,7 +768,7 @@ const ct = [
|
|
|
768
768
|
C && C(i);
|
|
769
769
|
},
|
|
770
770
|
[w, D, C]
|
|
771
|
-
), H =
|
|
771
|
+
), H = L(N);
|
|
772
772
|
se(() => {
|
|
773
773
|
H.current = N;
|
|
774
774
|
}, [N]), se(() => {
|
|
@@ -777,12 +777,12 @@ const ct = [
|
|
|
777
777
|
}, [k, y, T]), se(() => () => {
|
|
778
778
|
document.documentElement.style.setProperty("--aiquants-menu-pinned-width", "0px"), be(!1, 0);
|
|
779
779
|
}, []);
|
|
780
|
-
const U =
|
|
781
|
-
|
|
780
|
+
const U = L(null), O = L(null), P = _(() => {
|
|
781
|
+
O.current?.contains(document.activeElement) && U.current?.focus();
|
|
782
782
|
}, []), ee = _(() => {
|
|
783
|
-
|
|
783
|
+
I(!0);
|
|
784
784
|
}, []), M = _(() => {
|
|
785
|
-
if (P(),
|
|
785
|
+
if (P(), I(!1), x === void 0) {
|
|
786
786
|
S(!1);
|
|
787
787
|
try {
|
|
788
788
|
localStorage.removeItem("aiquants-menu-pinned");
|
|
@@ -802,7 +802,7 @@ const ct = [
|
|
|
802
802
|
H.current?.(h, e);
|
|
803
803
|
}, [k, x, y]), B = _(
|
|
804
804
|
(h) => {
|
|
805
|
-
m && m(h), k || (P(),
|
|
805
|
+
m && m(h), k || (P(), I(!1));
|
|
806
806
|
},
|
|
807
807
|
[m, k, P]
|
|
808
808
|
), A = _(
|
|
@@ -810,7 +810,7 @@ const ct = [
|
|
|
810
810
|
h.key === "Escape" && M();
|
|
811
811
|
},
|
|
812
812
|
[M]
|
|
813
|
-
), Y =
|
|
813
|
+
), Y = R === !0 || R === "auto" && !k;
|
|
814
814
|
return F(() => (T && Y ? window.addEventListener("keydown", A) : window.removeEventListener("keydown", A), () => {
|
|
815
815
|
window.removeEventListener("keydown", A);
|
|
816
816
|
}), [T, Y, A]), c ? null : /* @__PURE__ */ r.jsxs("div", { className: `aiquants-menu-bar ${u}`, children: [
|
|
@@ -818,7 +818,7 @@ const ct = [
|
|
|
818
818
|
/* @__PURE__ */ r.jsx(
|
|
819
819
|
xt,
|
|
820
820
|
{
|
|
821
|
-
ref:
|
|
821
|
+
ref: O,
|
|
822
822
|
menuList: n,
|
|
823
823
|
menuHeader: a,
|
|
824
824
|
onClickSignout: s,
|
|
@@ -841,7 +841,7 @@ export {
|
|
|
841
841
|
Et as MenuBar,
|
|
842
842
|
_t as SessionInfo,
|
|
843
843
|
be as dispatchMenuPinChange,
|
|
844
|
-
|
|
844
|
+
Ee as getInitialPinState,
|
|
845
845
|
Ze as subscribeMenuPinChange,
|
|
846
846
|
jt as useMenuPinState
|
|
847
847
|
};
|
package/dist/index.umd.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
(function(y,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("react"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-router-dom"],c):(y=typeof globalThis<"u"?globalThis:y||self,c(y["@aiquants/menu-bar"]={},y.React,y.ReactRouterDOM))})(this,(function(y,c,Q){"use strict";var U={exports:{}},z={};var ue;function
|
|
1
|
+
(function(y,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("react"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-router-dom"],c):(y=typeof globalThis<"u"?globalThis:y||self,c(y["@aiquants/menu-bar"]={},y.React,y.ReactRouterDOM))})(this,(function(y,c,Q){"use strict";var U={exports:{}},z={};var ue;function Se(){if(ue)return z;ue=1;var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function a(s,l,o){var d=null;if(o!==void 0&&(d=""+o),l.key!==void 0&&(d=""+l.key),"key"in l){o={};for(var f in l)f!=="key"&&(o[f]=l[f])}else o=l;return l=o.ref,{$$typeof:t,type:s,key:d,ref:l!==void 0?l:null,props:o}}return z.Fragment=n,z.jsx=a,z.jsxs=a,z}var H={};var de;function Ce(){return de||(de=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===B?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case u:return"Fragment";case C:return"Profiler";case p:return"StrictMode";case Y:return"Suspense";case se:return"SuspenseList";case W:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case O:return"Portal";case T:return e.displayName||"Context";case w:return(e._context.displayName||"Context")+".Consumer";case L:var i=e.render;return e=e.displayName,e||(e=i.displayName||i.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case oe:return i=e.displayName||null,i!==null?i:t(e.type)||"Memo";case V:i=e._payload,e=e._init;try{return t(e(i))}catch{}}return null}function n(e){return""+e}function a(e){try{n(e);var i=!1}catch{i=!0}if(i){i=console;var m=i.error,v=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return m.call(i,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",v),n(e)}}function s(e){if(e===u)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===V)return"<...>";try{var i=t(e);return i?"<"+i+">":"<...>"}catch{return"<...>"}}function l(){var e=D.A;return e===null?null:e.getOwner()}function o(){return Error("react-stack-top-frame")}function d(e){if(R.call(e,"key")){var i=Object.getOwnPropertyDescriptor(e,"key").get;if(i&&i.isReactWarning)return!1}return e.key!==void 0}function f(e,i){function m(){Z||(Z=!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)",i))}m.isReactWarning=!0,Object.defineProperty(e,"key",{get:m,configurable:!0})}function h(){var e=t(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 k(e,i,m,v,X,ce){var x=m.ref;return e={$$typeof:M,type:e,key:i,props:m,_owner:v},(x!==void 0?x:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:h}):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:X}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ce}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function _(e,i,m,v,X,ce){var x=i.children;if(x!==void 0)if(v)if(ie(x)){for(v=0;v<x.length;v++)E(x[v]);Object.freeze&&Object.freeze(x)}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 E(x);if(R.call(i,"key")){x=t(e);var q=Object.keys(i).filter(function(at){return at!=="key"});v=0<q.length?"{key: someKey, "+q.join(": ..., ")+": ...}":"{key: someKey}",b[x+v]||(q=0<q.length?"{"+q.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,v,x,q,x),b[x+v]=!0)}if(x=null,m!==void 0&&(a(m),x=""+m),d(i)&&(a(i.key),x=""+i.key),"key"in i){m={};for(var le in i)le!=="key"&&(m[le]=i[le])}else m=i;return x&&f(m,typeof e=="function"?e.displayName||e.name||"Unknown":e),k(e,x,m,l(),X,ce)}function E(e){N(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===V&&(e._payload.status==="fulfilled"?N(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function N(e){return typeof e=="object"&&e!==null&&e.$$typeof===M}var S=c,M=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),w=Symbol.for("react.consumer"),T=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),oe=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),B=Symbol.for("react.client.reference"),D=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A=Object.prototype.hasOwnProperty,ie=Array.isArray,P=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(e){return e()}};var Z,J={},I=S.react_stack_bottom_frame.bind(S,o)(),F=P(s(o)),b={};H.Fragment=u,H.jsx=function(e,i,m){var v=1e4>D.recentlyCreatedOwnerStacks++;return _(e,i,m,!1,v?Error("react-stack-top-frame"):I,v?P(s(e)):F)},H.jsxs=function(e,i,m){var v=1e4>D.recentlyCreatedOwnerStacks++;return _(e,i,m,!0,v?Error("react-stack-top-frame"):I,v?P(s(e)):F)}})()),H}var fe;function Ce(){return fe||(fe=1,process.env.NODE_ENV==="production"?U.exports=je():U.exports=Se()),U.exports}var r=Ce();const Te=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Me=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,a,s)=>s?s.toUpperCase():a.toLowerCase()),me=t=>{const n=Me(t);return n.charAt(0).toUpperCase()+n.slice(1)},he=(...t)=>t.filter((n,a,s)=>!!n&&n.trim()!==""&&s.indexOf(n)===a).join(" ").trim(),Pe=t=>{for(const n in t)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};var Re={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ae=c.forwardRef(({color:t="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:l="",children:o,iconNode:d,...f},h)=>c.createElement("svg",{ref:h,...Re,width:n,height:n,stroke:t,strokeWidth:s?Number(a)*24/Number(n):a,className:he("lucide",l),...!o&&!Pe(f)&&{"aria-hidden":"true"},...f},[...d.map(([k,_])=>c.createElement(k,_)),...Array.isArray(o)?o:[o]]));const j=(t,n)=>{const a=c.forwardRef(({className:s,...l},o)=>c.createElement(Ae,{ref:o,iconNode:n,className:he(`lucide-${Te(me(t))}`,`lucide-${t}`,s),...l}));return a.displayName=me(t),a};const Ie=j("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Oe=j("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),R="text-[length:var(--aqmb-font-size-body,0.8125rem)] leading-[var(--aqmb-line-height-body,1.25rem)]",Le="text-[length:var(--aqmb-font-size-caption,0.6875rem)] leading-[var(--aqmb-line-height-caption,1.25rem)]",De="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NiZDVlMSI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==",be=({to:t,className:n,children:a})=>r.jsx("a",{href:t,className:n,children:a}),pe=`flex min-h-11 items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-1 py-1 font-medium ${R} text-white transition duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80`,qe=t=>{const{user:n,LinkComponent:a=be}=t;return r.jsx("div",{className:"w-full",children:n?r.jsxs("div",{"data-aqmb-session-card":!0,className:"aiquants-session-card group relative flex flex-col gap-2 rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-sm backdrop-blur-md transition-colors duration-200 hover:border-white/30 hover:bg-white/15 dark:border-slate-700/60 dark:bg-slate-800/60 dark:hover:border-slate-600/80 dark:hover:bg-slate-800/90",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[r.jsxs("div",{className:"relative shrink-0",children:[r.jsx("div",{className:"h-8 w-8 overflow-hidden rounded-full border border-white/40 shadow-xs dark:border-slate-500",children:r.jsx("img",{className:"h-full w-full rounded-full object-cover",src:n.photo||De,alt:n.displayName||"user profile"})}),r.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full border-2 border-slate-900 bg-emerald-400",title:"Online"})]}),r.jsxs("div",{className:"min-w-0 flex-1 leading-tight",children:[r.jsx("div",{className:"font-semibold text-white text-xs tracking-tight dark:text-slate-100",children:n.displayName}),r.jsx("div",{className:`mt-0.5 font-medium ${Le} text-white/75 tracking-tight dark:text-slate-400`,children:"Google Account"})]})]}),r.jsxs("div",{className:"grid grid-cols-1 gap-1.5 border-white/15 border-t pt-1.5 dark:border-slate-700/50",children:[r.jsxs(a,{className:pe,to:"/",children:[r.jsx(Oe,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"min-w-0 text-center",children:"プロフィール"})]}),r.jsxs(a,{className:pe,to:"https://myaccount.google.com/",children:[r.jsx(Ie,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"min-w-0 text-center",children:"Google"})]})]})]}):r.jsx("div",{"data-aqmb-session-card":!0,className:"aiquants-session-card flex items-center justify-between rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-xs dark:border-slate-700/60 dark:bg-slate-800/60",children:r.jsx("span",{className:"font-medium text-white/90 text-xs dark:text-slate-200",children:"ログインしてください"})})})},G="aiquants-menu-pin-change";let g={pinned:!1,width:0,active:!1};const K=(t=240)=>{if(typeof window>"u"||typeof document>"u")return{pinned:!1,width:0,active:!1};try{const n=getComputedStyle(document.documentElement).getPropertyValue("--aiquants-menu-pinned-width").trim();if(n){const d=Number.parseInt(n,10);if(!Number.isNaN(d)){const f=d>0,h=f?d||t:0,k=g.active??f;return g.pinned===f&&g.width===h&&g.active===k||(g={pinned:f,width:h,active:k}),g}}const s=localStorage.getItem("aiquants-menu-pinned")==="true",l=s?t:0,o=g.active??s;return g.pinned===s&&g.width===l&&g.active===o||(g={pinned:s,width:l,active:o}),g}catch{return{pinned:!1,width:0,active:!1}}},$=(t,n,a)=>{if(typeof window>"u")return;const s=a??t,l={pinned:t,width:n,active:s};(g.pinned!==t||g.width!==n||g.active!==s)&&(g=l);const o=new CustomEvent(G,{detail:l,bubbles:!0,cancelable:!1});window.dispatchEvent(o)},ve=(t,n)=>{if(typeof window>"u")return()=>{};const{immediate:a=!0,defaultPinnedWidth:s=240}=n??{};if(a){const o=K(s);t(o)}const l=o=>{const d=o;d.detail&&t(d.detail)};return window.addEventListener(G,l,{passive:!0}),()=>{window.removeEventListener(G,l)}},ze=t=>{const n=t?.defaultPinnedWidth??240,a=t?.initialPinned??!1,s=c.useCallback(d=>ve(()=>{d()},{immediate:!1,defaultPinnedWidth:n}),[n]),l=c.useCallback(()=>K(n),[n]),o=c.useCallback(()=>({pinned:a,width:a?n:0}),[a,n]);return c.useSyncExternalStore(s,l,o)};const He=j("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);const xe=j("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);const ge=j("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);const Ye=j("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Ve=j("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const ke=j("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const We=j("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);const Fe=j("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const Ue=j("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),ee="flex min-h-11 flex-1 items-center",Ge="min-h-11 min-w-11",Be=typeof window<"u"?c.useLayoutEffect:c.useEffect,we="aiquants-menu-scroll",ye=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),Ze={report:ke,slip:ke,table:Ue,chart:Ye,download:Ve,lock:Fe,href:We},Je=({mark:t,children:n})=>{const a=t?Ze[t]:void 0;return a?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(a,{className:"h-3.5 w-3.5 shrink-0"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:n})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:n})},te=(t,n)=>n?{menu:{id:t.id,title:t.title,href:t.href},submenu:{subid:n.subid,title:n.title,href:n.href,mark:n.mark,new:n.new}}:{menu:{id:t.id,title:t.title,href:t.href}},Xe=({item:t,parentMenu:n,isCurrent:a,onMenuSelected:s})=>{if(t.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const l=r.jsx(Je,{mark:t.mark,children:t.title}),o={className:ee,"aria-current":a?"page":void 0,onClick:()=>{s&&s(te(n,t))}};return t.new?r.jsx("a",{href:t.href,rel:"noopener noreferrer",target:"_blank",...o,children:l}):ye.test(t.href)?r.jsx("a",{href:t.href,...o,children:l}):r.jsx(Q.Link,{to:t.href,...o,children:l})},Ne=t=>t?t.split(/[?#]/)[0].replace(/(?!^\/)\/$/,""):"",_e=(t,n,a)=>{const s=Ne(t);return s===""?-1:s===a||n==="prefix"&&s!=="/"&&a.startsWith(`${s}/`)?s.length:-1},Qe=(t,n)=>{const a=Ne(n);let s=null,l=-1;for(const o of t){const d=_e(o.href,o.match,a);if(d>l&&(s={menuId:o.id,subid:null},l=d),o.submenu)for(const f of o.submenu){const h=_e(f.href,f.match,a);h>l&&(s={menuId:o.id,subid:f.subid},l=h)}}return s},ne=(t,n,a)=>t!==null&&t.menuId===n&&t.subid===a,Ke=t=>{const{menuList:n,onMenuSelected:a,pinnedSubmenuIds:s=[],onToggleSubmenuPin:l}=t;let o="";try{o=Q.useLocation().pathname}catch{typeof window<"u"&&(o=window.location.pathname)}const d=c.useMemo(()=>Qe(n,o),[n,o]),f=d===null?null:d.menuId,[h,k]=c.useState(f),_=c.useRef(o),E=c.useRef(f!==null);c.useEffect(()=>{_.current!==o&&(_.current=o,E.current=!1),!E.current&&f!==null&&(k(f),E.current=!0)},[o,f]);const N=c.useCallback(u=>{s.includes(u)||k(C=>C===u?null:u)},[s]),S=c.useRef(null);Be(()=>{const u=S.current;if(u)try{const p=sessionStorage.getItem(we);if(p!==null){const C=Number.parseFloat(p);Number.isNaN(C)||(u.scrollTop=C)}}catch{}},[]);const M=c.useCallback(()=>{const u=S.current;if(u)try{sessionStorage.setItem(we,String(u.scrollTop))}catch{}},[]),O=c.useMemo(()=>r.jsx(r.Fragment,{children:n.map(u=>r.jsx("div",{children:u.href?r.jsx("div",{className:`aiquants-menu-list-item relative mb-0.5 ml-1 flex items-center rounded-l-xl px-2.5 ${R} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm`,children:ye.test(u.href)?r.jsx("a",{href:u.href,className:ee,"aria-current":ne(d,u.id,null)?"page":void 0,onClick:()=>{a&&a(te(u))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:u.title})}):r.jsx(Q.Link,{to:u.href,className:ee,"aria-current":ne(d,u.id,null)?"page":void 0,onClick:()=>{a&&a(te(u))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:u.title})})}):r.jsxs("details",{className:"aiquants-menu-accordion-details",open:u.id===h||s.includes(u.id),children:[r.jsxs("summary",{className:`aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 min-h-11 list-none rounded-l-xl px-2.5 ${R} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] focus-visible:outline-2 focus-visible:outline-current focus-visible:-outline-offset-2 sm:text-sm`,onClick:p=>{p.preventDefault(),N(u.id)},onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),N(u.id))},children:[r.jsx("span",{children:u.title}),r.jsx("button",{type:"button","data-aqmb-submenu-pin-button":!0,onClick:p=>{p.stopPropagation(),p.preventDefault(),l&&l(u.id)},className:`aiquants-submenu-pin-button ${Ge} ${s.includes(u.id)?"pinned":""}`,title:s.includes(u.id)?"ピン留め解除":"ピン留め",children:s.includes(u.id)?r.jsx(xe,{size:13}):r.jsx(ge,{size:13})})]}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm",children:u.submenu.map(p=>r.jsx("div",{className:`aiquants-menu-accordion-container block w-full ${R}`,children:r.jsx(Xe,{item:p,parentMenu:u,isCurrent:ne(d,u.id,p.subid),onMenuSelected:a})},p.subid))})]})},u.id))}),[n,a,h,N,s,d]);return r.jsx("div",{ref:S,onScroll:M,"data-aqmb-menu-list":!0,className:"aiquants-menu-list-scroller hidden-scrollbar",children:O})},re="min-h-11",Ee="min-w-11",$e=t=>{const{menuList:n,menuHeader:a,open:s,onMenuSelected:l,onClickSignout:o,theme:d,toggleTheme:f,isPinned:h,onTogglePin:k,pinnedSubmenuIds:_,onToggleSubmenuPin:E,ref:N}=t;return r.jsxs("div",{ref:N,"data-aqmb-menu-content":!0,inert:!s,className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-dvh w-[240px] select-none flex-col motion-safe:transition-transform motion-safe:duration-500 ${s?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex shrink-0 flex-col justify-center border-white/15 border-b px-2.5 py-2 dark:border-slate-700/60",children:a}),r.jsx("div",{className:"aiquants-menu-list-region",children:r.jsx(Ke,{menuList:n,onMenuSelected:l,pinnedSubmenuIds:_,onToggleSubmenuPin:E})}),r.jsx("div",{className:"border-white/15 border-t px-2.5 py-1.5 dark:border-slate-700/60",children:r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-1.5",children:[r.jsx("button",{type:"button",onClick:k,"data-aqmb-pin-button":!0,className:`flex ${re} ${Ee} items-center justify-center rounded-md px-2 ${R} text-white shadow-2xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-300/60 ${h?"bg-amber-500 hover:bg-amber-600 dark:bg-amber-600 dark:hover:bg-amber-500":"border border-white/20 bg-white/10 hover:bg-white/20 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600"}`,title:h?"ピン留め解除":"ピン留め","aria-label":h?"ピン留め解除":"ピン留め",children:h?r.jsx(xe,{size:12}):r.jsx(ge,{size:12})}),r.jsx("button",{type:"button",onClick:f,"data-aqmb-theme-button":!0,className:`group relative flex ${re} ${Ee} items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 ${R} text-white shadow-2xs backdrop-blur-xs transition-colors duration-200 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600`,title:d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え","aria-label":d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え",children:r.jsx("span",{className:"transition-transform duration-200 group-hover:scale-110",children:d==="dark"?"🌞":"🌙"})}),r.jsxs("button",{type:"button","data-aqmb-signout-button":!0,className:`aiquants-signout-button flex ${re} flex-1 items-center justify-center gap-1.5 rounded-md bg-red-500/90 px-2.5 font-medium ${R} text-white shadow-2xs transition-colors duration-200 hover:bg-red-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60 dark:bg-red-600/90 dark:hover:bg-red-500`,onClick:o,children:[r.jsx(He,{size:11,className:"shrink-0"}),r.jsx("span",{className:"text-center",children:"サインアウト"})]})]})})]})},et=t=>{t.preventDefault()},tt=t=>{const{isOverlay:n,onOverlayClick:a}=t;return r.jsx("div",{"aria-hidden":"true","data-aqmb-menu-overlay":!0,inert:!n,className:`fixed inset-0 z-2147483640 bg-black/50 motion-safe:transition-opacity motion-safe:duration-500 ${n?"opacity-100":"pointer-events-none opacity-0"}`,onMouseDown:et,onClick:a})},nt=({isMenuOpen:t,onMenuOpen:n,onMenuClose:a,ref:s})=>r.jsxs("button",{ref:s,type:"button","data-aqmb-menu-switch":"true","aria-label":t?"Close menu":"Open menu","aria-expanded":t,className:"aiquants-menu-switch",onClick:t?a:n,children:[r.jsxs("span",{className:"aiquants-menu-switch-bars",children:[r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"})]}),r.jsx("span",{className:"aiquants-menu-switch-caption","aria-hidden":"true",children:t?"close":"menu"})]}),ae=typeof window<"u"?c.useLayoutEffect:c.useEffect,rt=t=>{const{menuList:n,menuHeader:a,onClickSignout:s,isMenuhide:l,isMenuHide:o,theme:d,toggleTheme:f,onMenuNavigate:h,isPinned:k,pinnedWidth:_=240,onPinChange:E,pinnedSubmenuIds:N,initialPinnedSubmenuIds:S,onSubmenuPinChange:M,closeOnEscape:O="auto"}=t,u=o??l??!1,[p,C]=c.useState(()=>{try{return localStorage.getItem("aiquants-menu-pinned")==="true"}catch{return!1}}),w=k!==void 0?k:p,[T,L]=c.useState(w);c.useEffect(()=>{w&&L(!0)},[w]);const[Y,se]=c.useState(()=>{if(S)return S;try{const b=localStorage.getItem("aiquants-submenu-pinned");if(b){const e=JSON.parse(b);if(Array.isArray(e))return e.filter(i=>typeof i=="number")}}catch{}return[]}),oe=N!==void 0?N:Y,V=c.useCallback(b=>{const e=N!==void 0?N:Y,i=e.includes(b)?e.filter(m=>m!==b):[...e,b];if(N===void 0){se(i);try{localStorage.setItem("aiquants-submenu-pinned",JSON.stringify(i))}catch{}}M&&M(i)},[N,Y,M]),W=c.useRef(E);ae(()=>{W.current=E},[E]),ae(()=>{const b=w?_:0,e=`${b}px`;document.documentElement.style.setProperty("--aiquants-menu-pinned-width",e),$(w,b,T||w)},[w,_,T]),ae(()=>()=>{document.documentElement.style.setProperty("--aiquants-menu-pinned-width","0px"),$(!1,0)},[]);const B=c.useRef(null),D=c.useRef(null),A=c.useCallback(()=>{D.current?.contains(document.activeElement)&&B.current?.focus()},[]),ie=c.useCallback(()=>{L(!0)},[]),P=c.useCallback(()=>{if(A(),L(!1),k===void 0){C(!1);try{localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(!1,0)},[k,A]),Z=c.useCallback(()=>{const b=!w,e=b?_:0;if(k===void 0){C(b);try{b?localStorage.setItem("aiquants-menu-pinned","true"):localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(b,e)},[w,k,_]),J=c.useCallback(b=>{h&&h(b),w||(A(),L(!1))},[h,w,A]),I=c.useCallback(b=>{b.key==="Escape"&&P()},[P]),F=O===!0||O==="auto"&&!w;return c.useEffect(()=>(T&&F?window.addEventListener("keydown",I):window.removeEventListener("keydown",I),()=>{window.removeEventListener("keydown",I)}),[T,F,I]),u?null:r.jsxs("div",{className:`aiquants-menu-bar ${d}`,children:[r.jsx(nt,{ref:B,isMenuOpen:T,onMenuOpen:ie,onMenuClose:P}),r.jsx($e,{ref:D,menuList:n,menuHeader:a,onClickSignout:s,onMenuSelected:J,open:T,theme:d,toggleTheme:f,isPinned:w,onTogglePin:Z,pinnedSubmenuIds:oe,onToggleSubmenuPin:V}),r.jsx(tt,{isOverlay:T&&!w,onOverlayClick:P})]})};y.DefaultLink=be,y.MENU_PIN_CHANGE_EVENT=G,y.MenuBar=rt,y.SessionInfo=qe,y.dispatchMenuPinChange=$,y.getInitialPinState=K,y.subscribeMenuPinChange=ve,y.useMenuPinState=ze,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
|
|
6
|
+
<%s key={someKey} {...props} />`,v,x,q,x),b[x+v]=!0)}if(x=null,m!==void 0&&(a(m),x=""+m),d(i)&&(a(i.key),x=""+i.key),"key"in i){m={};for(var le in i)le!=="key"&&(m[le]=i[le])}else m=i;return x&&f(m,typeof e=="function"?e.displayName||e.name||"Unknown":e),k(e,x,m,l(),X,ce)}function E(e){N(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===V&&(e._payload.status==="fulfilled"?N(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function N(e){return typeof e=="object"&&e!==null&&e.$$typeof===M}var S=c,M=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),w=Symbol.for("react.consumer"),T=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),se=Symbol.for("react.suspense_list"),oe=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),B=Symbol.for("react.client.reference"),D=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=Object.prototype.hasOwnProperty,ie=Array.isArray,P=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(e){return e()}};var Z,J={},A=S.react_stack_bottom_frame.bind(S,o)(),F=P(s(o)),b={};H.Fragment=u,H.jsx=function(e,i,m){var v=1e4>D.recentlyCreatedOwnerStacks++;return _(e,i,m,!1,v?Error("react-stack-top-frame"):A,v?P(s(e)):F)},H.jsxs=function(e,i,m){var v=1e4>D.recentlyCreatedOwnerStacks++;return _(e,i,m,!0,v?Error("react-stack-top-frame"):A,v?P(s(e)):F)}})()),H}var fe;function Te(){return fe||(fe=1,process.env.NODE_ENV==="production"?U.exports=Se():U.exports=Ce()),U.exports}var r=Te();const Me=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Pe=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,a,s)=>s?s.toUpperCase():a.toLowerCase()),me=t=>{const n=Pe(t);return n.charAt(0).toUpperCase()+n.slice(1)},he=(...t)=>t.filter((n,a,s)=>!!n&&n.trim()!==""&&s.indexOf(n)===a).join(" ").trim(),Re=t=>{for(const n in t)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};var Ae={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Ie=c.forwardRef(({color:t="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:l="",children:o,iconNode:d,...f},h)=>c.createElement("svg",{ref:h,...Ae,width:n,height:n,stroke:t,strokeWidth:s?Number(a)*24/Number(n):a,className:he("lucide",l),...!o&&!Re(f)&&{"aria-hidden":"true"},...f},[...d.map(([k,_])=>c.createElement(k,_)),...Array.isArray(o)?o:[o]]));const j=(t,n)=>{const a=c.forwardRef(({className:s,...l},o)=>c.createElement(Ie,{ref:o,iconNode:n,className:he(`lucide-${Me(me(t))}`,`lucide-${t}`,s),...l}));return a.displayName=me(t),a};const Oe=j("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);const Le=j("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),I="text-[length:var(--aqmb-font-size-body,0.8125rem)] leading-[var(--aqmb-line-height-body,1.25rem)]",be="text-[length:var(--aqmb-font-size-caption,0.6875rem)] leading-[var(--aqmb-line-height-caption,1.25rem)]",De="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI2NiZDVlMSI+PHBhdGggZD0iTTEyIDEyYzIuMjEgMCA0LTEuNzkgNC00cy0xLjc5LTQtNC00LTQgMS43OS00IDQgMS43OSA0IDQgNHptMCAyYy0yLjY3IDAtOCAxLjM0LTggNHYyaDE2di0yYzAtMi42Ni01LjMzLTQtOC00eiIvPjwvc3ZnPg==",pe=({to:t,className:n,children:a})=>r.jsx("a",{href:t,className:n,children:a}),ve=`flex min-h-11 items-center justify-center gap-1 rounded-md border border-white/15 bg-white/10 px-1 py-1 font-medium ${be} text-white transition duration-150 hover:bg-white/25 active:scale-95 dark:border-slate-600/50 dark:bg-slate-700/50 dark:text-slate-200 dark:hover:bg-slate-600/80`,qe=t=>{const{user:n,LinkComponent:a=pe}=t;return r.jsx("div",{className:"w-full",children:n?r.jsxs("div",{"data-aqmb-session-card":!0,className:"aiquants-session-card group relative flex flex-col gap-2 rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-sm backdrop-blur-md transition-colors duration-200 hover:border-white/30 hover:bg-white/15 dark:border-slate-700/60 dark:bg-slate-800/60 dark:hover:border-slate-600/80 dark:hover:bg-slate-800/90",children:[r.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[r.jsxs("div",{className:"relative shrink-0",children:[r.jsx("div",{className:"h-8 w-8 overflow-hidden rounded-full border border-white/40 shadow-xs dark:border-slate-500",children:r.jsx("img",{className:"h-full w-full rounded-full object-cover",src:n.photo||De,alt:n.displayName||"user profile"})}),r.jsx("span",{className:"absolute -right-0.5 -bottom-0.5 h-2.5 w-2.5 rounded-full border-2 border-slate-900 bg-emerald-400",title:"Online"})]}),r.jsxs("div",{className:"min-w-0 flex-1 leading-tight",children:[r.jsx("div",{className:"font-semibold text-white text-xs tracking-tight dark:text-slate-100",children:n.displayName}),r.jsx("div",{className:`mt-0.5 font-medium ${be} text-white/75 tracking-tight dark:text-slate-400`,children:"Google Account"})]})]}),r.jsxs("div",{className:"grid grid-cols-2 gap-1.5 border-white/15 border-t pt-1.5 dark:border-slate-700/50",children:[r.jsxs(a,{className:ve,to:"/",children:[r.jsx(Le,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"min-w-0 text-center",children:"プロフィール"})]}),r.jsxs(a,{className:ve,to:"https://myaccount.google.com/",children:[r.jsx(Oe,{size:11,className:"shrink-0 opacity-80"}),r.jsx("span",{className:"min-w-0 text-center",children:"Google"})]})]})]}):r.jsx("div",{"data-aqmb-session-card":!0,className:"aiquants-session-card flex items-center justify-between rounded-xl border border-white/20 bg-white/10 p-2.5 shadow-xs dark:border-slate-700/60 dark:bg-slate-800/60",children:r.jsx("span",{className:"font-medium text-white/90 text-xs dark:text-slate-200",children:"ログインしてください"})})})},G="aiquants-menu-pin-change";let g={pinned:!1,width:0,active:!1};const K=(t=240)=>{if(typeof window>"u"||typeof document>"u")return{pinned:!1,width:0,active:!1};try{const n=getComputedStyle(document.documentElement).getPropertyValue("--aiquants-menu-pinned-width").trim();if(n){const d=Number.parseInt(n,10);if(!Number.isNaN(d)){const f=d>0,h=f?d||t:0,k=g.active??f;return g.pinned===f&&g.width===h&&g.active===k||(g={pinned:f,width:h,active:k}),g}}const s=localStorage.getItem("aiquants-menu-pinned")==="true",l=s?t:0,o=g.active??s;return g.pinned===s&&g.width===l&&g.active===o||(g={pinned:s,width:l,active:o}),g}catch{return{pinned:!1,width:0,active:!1}}},$=(t,n,a)=>{if(typeof window>"u")return;const s=a??t,l={pinned:t,width:n,active:s};(g.pinned!==t||g.width!==n||g.active!==s)&&(g=l);const o=new CustomEvent(G,{detail:l,bubbles:!0,cancelable:!1});window.dispatchEvent(o)},xe=(t,n)=>{if(typeof window>"u")return()=>{};const{immediate:a=!0,defaultPinnedWidth:s=240}=n??{};if(a){const o=K(s);t(o)}const l=o=>{const d=o;d.detail&&t(d.detail)};return window.addEventListener(G,l,{passive:!0}),()=>{window.removeEventListener(G,l)}},ze=t=>{const n=t?.defaultPinnedWidth??240,a=t?.initialPinned??!1,s=c.useCallback(d=>xe(()=>{d()},{immediate:!1,defaultPinnedWidth:n}),[n]),l=c.useCallback(()=>K(n),[n]),o=c.useCallback(()=>({pinned:a,width:a?n:0}),[a,n]);return c.useSyncExternalStore(s,l,o)};const He=j("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);const ge=j("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);const ke=j("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);const Ye=j("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Ve=j("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const we=j("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const We=j("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);const Fe=j("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const Ue=j("table",[["path",{d:"M12 3v18",key:"108xh3"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}]]),ee="flex min-h-9 flex-1 items-center",Ge="min-h-9 min-w-9",Be=typeof window<"u"?c.useLayoutEffect:c.useEffect,ye="aiquants-menu-scroll",Ne=new RegExp(/(^https?:\/\/)|(\.(html|htm)?$)/),Ze={report:we,slip:we,table:Ue,chart:Ye,download:Ve,lock:Fe,href:We},Je=({mark:t,children:n})=>{const a=t?Ze[t]:void 0;return a?r.jsxs("div",{className:"flex flex-nowrap items-center",children:[r.jsx(a,{className:"h-3.5 w-3.5 shrink-0"}),r.jsx("div",{className:"aiquants-menu-link mx-1 hover:underline",children:n})]}):r.jsx("span",{className:"mx-1 text-sky-600 hover:underline dark:text-sky-400",children:n})},te=(t,n)=>n?{menu:{id:t.id,title:t.title,href:t.href},submenu:{subid:n.subid,title:n.title,href:n.href,mark:n.mark,new:n.new}}:{menu:{id:t.id,title:t.title,href:t.href}},Xe=({item:t,parentMenu:n,isCurrent:a,onMenuSelected:s})=>{if(t.href==="separator")return r.jsx("hr",{className:"aiquants-menu-separator mx-2 my-1 h-px"});const l=r.jsx(Je,{mark:t.mark,children:t.title}),o={className:ee,"aria-current":a?"page":void 0,onClick:()=>{s&&s(te(n,t))}};return t.new?r.jsx("a",{href:t.href,rel:"noopener noreferrer",target:"_blank",...o,children:l}):Ne.test(t.href)?r.jsx("a",{href:t.href,...o,children:l}):r.jsx(Q.Link,{to:t.href,...o,children:l})},_e=t=>t?t.split(/[?#]/)[0].replace(/(?!^\/)\/$/,""):"",Ee=(t,n,a)=>{const s=_e(t);return s===""?-1:s===a||n==="prefix"&&s!=="/"&&a.startsWith(`${s}/`)?s.length:-1},Qe=(t,n)=>{const a=_e(n);let s=null,l=-1;for(const o of t){const d=Ee(o.href,o.match,a);if(d>l&&(s={menuId:o.id,subid:null},l=d),o.submenu)for(const f of o.submenu){const h=Ee(f.href,f.match,a);h>l&&(s={menuId:o.id,subid:f.subid},l=h)}}return s},ne=(t,n,a)=>t!==null&&t.menuId===n&&t.subid===a,Ke=t=>{const{menuList:n,onMenuSelected:a,pinnedSubmenuIds:s=[],onToggleSubmenuPin:l}=t;let o="";try{o=Q.useLocation().pathname}catch{typeof window<"u"&&(o=window.location.pathname)}const d=c.useMemo(()=>Qe(n,o),[n,o]),f=d===null?null:d.menuId,[h,k]=c.useState(f),_=c.useRef(o),E=c.useRef(f!==null);c.useEffect(()=>{_.current!==o&&(_.current=o,E.current=!1),!E.current&&f!==null&&(k(f),E.current=!0)},[o,f]);const N=c.useCallback(u=>{s.includes(u)||k(C=>C===u?null:u)},[s]),S=c.useRef(null);Be(()=>{const u=S.current;if(u)try{const p=sessionStorage.getItem(ye);if(p!==null){const C=Number.parseFloat(p);Number.isNaN(C)||(u.scrollTop=C)}}catch{}},[]);const M=c.useCallback(()=>{const u=S.current;if(u)try{sessionStorage.setItem(ye,String(u.scrollTop))}catch{}},[]),O=c.useMemo(()=>r.jsx(r.Fragment,{children:n.map(u=>r.jsx("div",{children:u.href?r.jsx("div",{className:`aiquants-menu-list-item relative mb-0.5 ml-1 flex items-center rounded-l-xl px-2.5 ${I} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] sm:text-sm`,children:Ne.test(u.href)?r.jsx("a",{href:u.href,className:ee,"aria-current":ne(d,u.id,null)?"page":void 0,onClick:()=>{a&&a(te(u))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:u.title})}):r.jsx(Q.Link,{to:u.href,className:ee,"aria-current":ne(d,u.id,null)?"page":void 0,onClick:()=>{a&&a(te(u))},children:r.jsx("span",{className:"aiquants-menu-link hover:underline",children:u.title})})}):r.jsxs("details",{className:"aiquants-menu-accordion-details",open:u.id===h||s.includes(u.id),children:[r.jsxs("summary",{className:`aiquants-menu-list-item aiquants-menu-accordion-summary relative mb-0.5 ml-1 min-h-9 list-none rounded-l-xl px-2.5 ${I} before:mr-2 before:inline-block before:h-2 before:w-2 before:shrink-0 before:rounded-full before:content-[''] focus-visible:outline-2 focus-visible:outline-current focus-visible:-outline-offset-2 sm:text-sm`,onClick:p=>{p.preventDefault(),N(u.id)},onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),N(u.id))},children:[r.jsx("span",{children:u.title}),r.jsx("button",{type:"button","data-aqmb-submenu-pin-button":!0,onClick:p=>{p.stopPropagation(),p.preventDefault(),l&&l(u.id)},className:`aiquants-submenu-pin-button ${Ge} ${s.includes(u.id)?"pinned":""}`,title:s.includes(u.id)?"ピン留め解除":"ピン留め",children:s.includes(u.id)?r.jsx(ge,{size:13}):r.jsx(ke,{size:13})})]}),r.jsx("div",{className:"aiquants-menu-submenu pointer-events-auto my-0.5 mr-1 ml-3.5 rounded-lg px-2 py-1 shadow-sm",children:u.submenu.map(p=>r.jsx("div",{className:`aiquants-menu-accordion-container block w-full ${I}`,children:r.jsx(Xe,{item:p,parentMenu:u,isCurrent:ne(d,u.id,p.subid),onMenuSelected:a})},p.subid))})]})},u.id))}),[n,a,h,N,s,d]);return r.jsx("div",{ref:S,onScroll:M,"data-aqmb-menu-list":!0,className:"aiquants-menu-list-scroller hidden-scrollbar",children:O})},re="min-h-11",je="min-w-11",$e=t=>{const{menuList:n,menuHeader:a,open:s,onMenuSelected:l,onClickSignout:o,theme:d,toggleTheme:f,isPinned:h,onTogglePin:k,pinnedSubmenuIds:_,onToggleSubmenuPin:E,ref:N}=t;return r.jsxs("div",{ref:N,"data-aqmb-menu-content":!0,inert:!s,className:`aiquants-menu-content fixed top-0 right-0 z-2147483642 flex min-h-dvh w-[240px] select-none flex-col motion-safe:transition-transform motion-safe:duration-500 ${s?"aiquants-menu-translate-x-0":"aiquants-menu-translate-x-250"}`,children:[r.jsx("div",{className:"flex shrink-0 flex-col justify-center border-white/15 border-b px-2.5 py-2 dark:border-slate-700/60",children:a}),r.jsx("div",{className:"aiquants-menu-list-region",children:r.jsx(Ke,{menuList:n,onMenuSelected:l,pinnedSubmenuIds:_,onToggleSubmenuPin:E})}),r.jsx("div",{className:"border-white/15 border-t px-2.5 py-1.5 dark:border-slate-700/60",children:r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-1.5",children:[r.jsx("button",{type:"button",onClick:k,"data-aqmb-pin-button":!0,className:`flex ${re} ${je} items-center justify-center rounded-md px-2 ${I} text-white shadow-2xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-300/60 ${h?"bg-amber-500 hover:bg-amber-600 dark:bg-amber-600 dark:hover:bg-amber-500":"border border-white/20 bg-white/10 hover:bg-white/20 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600"}`,title:h?"ピン留め解除":"ピン留め","aria-label":h?"ピン留め解除":"ピン留め",children:h?r.jsx(ge,{size:12}):r.jsx(ke,{size:12})}),r.jsx("button",{type:"button",onClick:f,"data-aqmb-theme-button":!0,className:`group relative flex ${re} ${je} items-center justify-center rounded-md border border-white/20 bg-white/10 px-2 ${I} text-white shadow-2xs backdrop-blur-xs transition-colors duration-200 hover:bg-white/20 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 dark:border-slate-600/60 dark:bg-slate-700/60 dark:hover:bg-slate-600`,title:d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え","aria-label":d==="dark"?"ライトモードに切り替え":"ダークモードに切り替え",children:r.jsx("span",{className:"transition-transform duration-200 group-hover:scale-110",children:d==="dark"?"🌞":"🌙"})}),r.jsxs("button",{type:"button","data-aqmb-signout-button":!0,className:`aiquants-signout-button flex ${re} flex-1 items-center justify-center gap-1.5 rounded-md bg-red-500/90 px-2.5 font-medium ${I} text-white shadow-2xs transition-colors duration-200 hover:bg-red-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-red-300/60 dark:bg-red-600/90 dark:hover:bg-red-500`,onClick:o,children:[r.jsx(He,{size:11,className:"shrink-0"}),r.jsx("span",{className:"text-center",children:"サインアウト"})]})]})})]})},et=t=>{t.preventDefault()},tt=t=>{const{isOverlay:n,onOverlayClick:a}=t;return r.jsx("div",{"aria-hidden":"true","data-aqmb-menu-overlay":!0,inert:!n,className:`fixed inset-0 z-2147483640 overflow-hidden overscroll-contain bg-black/50 motion-safe:transition-opacity motion-safe:duration-500 ${n?"opacity-100":"pointer-events-none opacity-0"}`,onMouseDown:et,onClick:a})},nt=({isMenuOpen:t,onMenuOpen:n,onMenuClose:a,ref:s})=>r.jsxs("button",{ref:s,type:"button","data-aqmb-menu-switch":"true","aria-label":t?"Close menu":"Open menu","aria-expanded":t,className:"aiquants-menu-switch",onClick:t?a:n,children:[r.jsxs("span",{className:"aiquants-menu-switch-bars",children:[r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"}),r.jsx("span",{className:"aiquants-menu-switch-bar"})]}),r.jsx("span",{className:"aiquants-menu-switch-caption","aria-hidden":"true",children:t?"close":"menu"})]}),ae=typeof window<"u"?c.useLayoutEffect:c.useEffect,rt=t=>{const{menuList:n,menuHeader:a,onClickSignout:s,isMenuhide:l,isMenuHide:o,theme:d,toggleTheme:f,onMenuNavigate:h,isPinned:k,pinnedWidth:_=240,onPinChange:E,pinnedSubmenuIds:N,initialPinnedSubmenuIds:S,onSubmenuPinChange:M,closeOnEscape:O="auto"}=t,u=o??l??!1,[p,C]=c.useState(()=>{try{return localStorage.getItem("aiquants-menu-pinned")==="true"}catch{return!1}}),w=k!==void 0?k:p,[T,L]=c.useState(w);c.useEffect(()=>{w&&L(!0)},[w]);const[Y,se]=c.useState(()=>{if(S)return S;try{const b=localStorage.getItem("aiquants-submenu-pinned");if(b){const e=JSON.parse(b);if(Array.isArray(e))return e.filter(i=>typeof i=="number")}}catch{}return[]}),oe=N!==void 0?N:Y,V=c.useCallback(b=>{const e=N!==void 0?N:Y,i=e.includes(b)?e.filter(m=>m!==b):[...e,b];if(N===void 0){se(i);try{localStorage.setItem("aiquants-submenu-pinned",JSON.stringify(i))}catch{}}M&&M(i)},[N,Y,M]),W=c.useRef(E);ae(()=>{W.current=E},[E]),ae(()=>{const b=w?_:0,e=`${b}px`;document.documentElement.style.setProperty("--aiquants-menu-pinned-width",e),$(w,b,T||w)},[w,_,T]),ae(()=>()=>{document.documentElement.style.setProperty("--aiquants-menu-pinned-width","0px"),$(!1,0)},[]);const B=c.useRef(null),D=c.useRef(null),R=c.useCallback(()=>{D.current?.contains(document.activeElement)&&B.current?.focus()},[]),ie=c.useCallback(()=>{L(!0)},[]),P=c.useCallback(()=>{if(R(),L(!1),k===void 0){C(!1);try{localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(!1,0)},[k,R]),Z=c.useCallback(()=>{const b=!w,e=b?_:0;if(k===void 0){C(b);try{b?localStorage.setItem("aiquants-menu-pinned","true"):localStorage.removeItem("aiquants-menu-pinned")}catch{}}W.current?.(b,e)},[w,k,_]),J=c.useCallback(b=>{h&&h(b),w||(R(),L(!1))},[h,w,R]),A=c.useCallback(b=>{b.key==="Escape"&&P()},[P]),F=O===!0||O==="auto"&&!w;return c.useEffect(()=>(T&&F?window.addEventListener("keydown",A):window.removeEventListener("keydown",A),()=>{window.removeEventListener("keydown",A)}),[T,F,A]),u?null:r.jsxs("div",{className:`aiquants-menu-bar ${d}`,children:[r.jsx(nt,{ref:B,isMenuOpen:T,onMenuOpen:ie,onMenuClose:P}),r.jsx($e,{ref:D,menuList:n,menuHeader:a,onClickSignout:s,onMenuSelected:J,open:T,theme:d,toggleTheme:f,isPinned:w,onTogglePin:Z,pinnedSubmenuIds:oe,onToggleSubmenuPin:V}),r.jsx(tt,{isOverlay:T&&!w,onOverlayClick:P})]})};y.DefaultLink=pe,y.MENU_PIN_CHANGE_EVENT=G,y.MenuBar=rt,y.SessionInfo=qe,y.dispatchMenuPinChange=$,y.getInitialPinState=K,y.subscribeMenuPinChange=xe,y.useMenuPinState=ze,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/styles/menu-bar.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:calc(infinity);--aqmb-switch-size:27px;--aqmb-switch-target-size:0px;--aqmb-switch-caption-display:block}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{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{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-session-card{overflow-wrap:anywhere}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:color .3s,background-color .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-content{max-block-size:100dvh;overflow-y:auto}.aiquants-menu-list-region{flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.aiquants-menu-list-scroller{overflow-wrap:anywhere;flex-grow:1;block-size:0;overflow-y:scroll}@media (max-height:
|
|
2
|
+
@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:calc(infinity);--aqmb-switch-size:27px;--aqmb-switch-target-size:0px;--aqmb-switch-caption-display:block}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{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{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-session-card{overflow-wrap:anywhere}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:color .3s,background-color .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-content{overscroll-behavior:contain;max-block-size:100dvh;overflow-y:auto}.aiquants-menu-list-region{flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.aiquants-menu-list-scroller{overscroll-behavior:contain;overflow-wrap:anywhere;flex-grow:1;block-size:0;overflow-y:scroll}@media (max-height:16.8125rem){.aiquants-menu-list-region{flex:none;overflow-y:visible}.aiquants-menu-list-scroller{flex:none;block-size:auto;overflow-y:visible}}.aiquants-menu-switch{--_aqmb-switch-bar:calc(var(--aqmb-switch-size,27px) / 9);--_aqmb-switch-box:max(var(--aqmb-switch-size,27px), var(--aqmb-switch-target-size,0px));position:var(--aqmb-switch-position,fixed);top:var(--aqmb-switch-top,6px);right:var(--aqmb-switch-right,8px);left:var(--aqmb-switch-left,auto);bottom:var(--aqmb-switch-bottom,auto);z-index:var(--aqmb-switch-z-index,calc(infinity));box-sizing:border-box;inline-size:var(--_aqmb-switch-box);block-size:var(--_aqmb-switch-box);padding-block:0;padding-inline:calc((var(--_aqmb-switch-box) - var(--aqmb-switch-size,27px)) / 2);vertical-align:middle;color:#000;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:safe center;display:inline-flex}.aiquants-menu-bar.dark .aiquants-menu-switch,.aiquants-menu-switch[aria-expanded=true]{color:#fff}.aiquants-menu-switch:focus-visible{outline-offset:2px;outline:2px solid}.aiquants-menu-switch-bars{block-size:calc(7 * var(--_aqmb-switch-bar));flex:none;position:relative}.aiquants-menu-switch-bar{inline-size:100%;block-size:var(--_aqmb-switch-bar);background-color:currentColor;position:absolute;top:0;left:0}.aiquants-menu-switch-bar:nth-child(2){top:calc(2 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(3){top:calc(4 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(4){top:calc(6 * var(--_aqmb-switch-bar))}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child,.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){inline-size:calc(var(--aqmb-switch-size,27px) * 32 / 27);block-size:calc(var(--aqmb-switch-size,27px) * 4 / 27)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child{transform:translateY(calc(3 * var(--_aqmb-switch-bar))) rotate(-45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){transform:translateY(calc(-3 * var(--_aqmb-switch-bar))) rotate(45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(2),.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(3){opacity:0}.aiquants-menu-switch-caption{display:var(--aqmb-switch-caption-display,block);flex:none;margin-block-start:calc(.5rem - 5 * var(--aqmb-switch-size,27px) / 18);margin-inline-start:-.125rem;font-size:.75rem;line-height:1rem}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-caption{margin-inline-start:.125rem}@media (prefers-reduced-motion:no-preference){.aiquants-menu-switch{transition:color .5s cubic-bezier(.4,0,.2,1)}.aiquants-menu-switch-bar{transition-property:inline-size,block-size,transform,opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media (forced-colors:active){.aiquants-menu-switch-bar{forced-color-adjust:none;background-color:buttontext}}}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
2
|
/*! @aiquants/menu-bar standalone CSS — 非 Tailwind ホスト専用。ホストの Tailwind ビルドと混在させないこと (同名ユーティリティ重複でカスケード反転が起きる) */
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:calc(infinity);--aqmb-switch-size:27px;--aqmb-switch-target-size:0px;--aqmb-switch-caption-display:block}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{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{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-session-card{overflow-wrap:anywhere}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:color .3s,background-color .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-content{max-block-size:100dvh;overflow-y:auto}.aiquants-menu-list-region{flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.aiquants-menu-list-scroller{overflow-wrap:anywhere;flex-grow:1;block-size:0;overflow-y:scroll}@media (max-height:20.9375rem){.aiquants-menu-list-region{flex:none;overflow-y:visible}.aiquants-menu-list-scroller{flex:none;block-size:auto;overflow-y:visible}}.aiquants-menu-switch{--_aqmb-switch-bar:calc(var(--aqmb-switch-size,27px) / 9);--_aqmb-switch-box:max(var(--aqmb-switch-size,27px), var(--aqmb-switch-target-size,0px));position:var(--aqmb-switch-position,fixed);top:var(--aqmb-switch-top,6px);right:var(--aqmb-switch-right,8px);left:var(--aqmb-switch-left,auto);bottom:var(--aqmb-switch-bottom,auto);z-index:var(--aqmb-switch-z-index,calc(infinity));box-sizing:border-box;inline-size:var(--_aqmb-switch-box);block-size:var(--_aqmb-switch-box);padding-block:0;padding-inline:calc((var(--_aqmb-switch-box) - var(--aqmb-switch-size,27px)) / 2);vertical-align:middle;color:#000;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:safe center;display:inline-flex}.aiquants-menu-bar.dark .aiquants-menu-switch,.aiquants-menu-switch[aria-expanded=true]{color:#fff}.aiquants-menu-switch:focus-visible{outline-offset:2px;outline:2px solid}.aiquants-menu-switch-bars{block-size:calc(7 * var(--_aqmb-switch-bar));flex:none;position:relative}.aiquants-menu-switch-bar{inline-size:100%;block-size:var(--_aqmb-switch-bar);background-color:currentColor;position:absolute;top:0;left:0}.aiquants-menu-switch-bar:nth-child(2){top:calc(2 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(3){top:calc(4 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(4){top:calc(6 * var(--_aqmb-switch-bar))}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child,.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){inline-size:calc(var(--aqmb-switch-size,27px) * 32 / 27);block-size:calc(var(--aqmb-switch-size,27px) * 4 / 27)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child{transform:translateY(calc(3 * var(--_aqmb-switch-bar))) rotate(-45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){transform:translateY(calc(-3 * var(--_aqmb-switch-bar))) rotate(45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(2),.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(3){opacity:0}.aiquants-menu-switch-caption{display:var(--aqmb-switch-caption-display,block);flex:none;margin-block-start:calc(.5rem - 5 * var(--aqmb-switch-size,27px) / 18);margin-inline-start:-.125rem;font-size:.75rem;line-height:1rem}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-caption{margin-inline-start:.125rem}@media (prefers-reduced-motion:no-preference){.aiquants-menu-switch{transition:color .5s cubic-bezier(.4,0,.2,1)}.aiquants-menu-switch-bar{transition-property:inline-size,block-size,transform,opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media (forced-colors:active){.aiquants-menu-switch-bar{forced-color-adjust:none;background-color:buttontext}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.z-2147483640{z-index:2147483640}.z-2147483642{z-index:2147483642}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h-px{height:1px}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-dvh{min-height:100dvh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[240px\]{width:240px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-11{min-width:calc(var(--spacing) * 11)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-900{border-color:var(--color-slate-900)}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-red-500\/90{background-color:#fb2c36e6}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/90{background-color:color-mix(in oklab, var(--color-red-500) 90%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.object-cover{object-fit:cover}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[length\:var\(--aqmb-font-size-body\,0\.8125rem\)\]{font-size:var(--aqmb-font-size-body,.8125rem)}.text-\[length\:var\(--aqmb-font-size-caption\,0\.6875rem\)\]{font-size:var(--aqmb-font-size-caption,.6875rem)}.leading-\[var\(--aqmb-line-height-body\,1\.25rem\)\]{--tw-leading:var(--aqmb-line-height-body,1.25rem);line-height:var(--aqmb-line-height-body,1.25rem)}.leading-\[var\(--aqmb-line-height-caption\,1\.25rem\)\]{--tw-leading:var(--aqmb-line-height-caption,1.25rem);line-height:var(--aqmb-line-height-caption,1.25rem)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-sky-600{color:var(--color-sky-600)}.text-white{color:var(--color-white)}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.before\:mr-2:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 2)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-2:before{content:var(--tw-content);height:calc(var(--spacing) * 2)}.before\:w-2:before{content:var(--tw-content);width:calc(var(--spacing) * 2)}.before\:shrink-0:before{content:var(--tw-content);flex-shrink:0}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:#ffa3a399}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-red-300) 60%, transparent)}}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-current:focus-visible{outline-color:currentColor}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:duration-500{--tw-duration:.5s;transition-duration:.5s}}@media (min-width:40rem){.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:#45556c80}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 50%, transparent)}}.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:#45556c99}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 60%, transparent)}}.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-amber-600:where(.dark,.dark *){background-color:var(--color-amber-600)}.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:#e40014e6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-600) 90%, transparent)}}.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:text-sky-400:where(.dark,.dark *){color:var(--color-sky-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}@media (hover:hover){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-amber-500:where(.dark,.dark *):hover{background-color:var(--color-amber-500)}.dark\:hover\:bg-red-500:where(.dark,.dark *):hover{background-color:var(--color-red-500)}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-600:oklch(58.8% .158 241.966);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--blur-xs:4px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root{--aiquants-menu-pinned-width:0px;--aqmb-switch-position:fixed;--aqmb-switch-top:6px;--aqmb-switch-right:8px;--aqmb-switch-left:auto;--aqmb-switch-bottom:auto;--aqmb-switch-z-index:calc(infinity);--aqmb-switch-size:27px;--aqmb-switch-target-size:0px;--aqmb-switch-caption-display:block}.aiquants-menu-bar{font-size:1rem;line-height:1.5;position:relative}.aiquants-menu-bar *{box-sizing:border-box}.aiquants-menu-bar a,.aiquants-menu-bar button{cursor:pointer;background:0 0;border:none;text-decoration:none}.aiquants-menu-bar.dark{color-scheme:dark}.aiquants-menu-bar.dark .aiquants-menu-content{background-color:#0f172a}.aiquants-menu-bar.light .aiquants-menu-content,.aiquants-menu-bar .aiquants-menu-content{background-color:#0369a1}.aiquants-menu-bar.dark .aiquants-signout-button{background-color:#334155}.aiquants-menu-bar.dark .aiquants-signout-button:hover{background-color:#475569}.aiquants-menu-bar.light .aiquants-signout-button,.aiquants-menu-bar .aiquants-signout-button{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{color:#d1d5db;background-color:#334155}.aiquants-menu-bar.dark .aiquants-menu-list-item:before{background-color:#94a3b8}.aiquants-menu-bar.dark .aiquants-menu-submenu{background-color:#1e293b}.aiquants-menu-bar.dark .aiquants-menu-link{color:#38bdf8}.aiquants-menu-bar.dark .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar.light .aiquants-menu-list-item,.aiquants-menu-bar .aiquants-menu-list-item{color:#4b5563;background-color:#bae6fd}.aiquants-menu-bar.light .aiquants-menu-list-item:before,.aiquants-menu-bar .aiquants-menu-list-item:before{background-color:#fff}.aiquants-menu-bar.light .aiquants-menu-submenu,.aiquants-menu-bar .aiquants-menu-submenu{background-color:#fafafa}.aiquants-menu-bar.light .aiquants-menu-link,.aiquants-menu-bar .aiquants-menu-link{color:#0284c7}.aiquants-menu-bar.light .aiquants-menu-separator,.aiquants-menu-bar .aiquants-menu-separator{border-color:#4b5563}.aiquants-menu-bar .aiquants-menu-separator{border-top:1px solid;height:0}.aiquants-menu-bar .aiquants-session-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aiquants-session-card{overflow-wrap:anywhere}.aiquants-menu-accordion-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.aiquants-menu-accordion-summary::-webkit-details-marker{display:none}.aiquants-menu-accordion-summary span{text-align:left;flex-grow:1}.aiquants-submenu-pin-button{border-radius:.25rem;justify-content:center;align-items:center;padding:.15rem;transition:color .3s,background-color .3s;display:inline-flex}.aiquants-menu-bar.light .aiquants-submenu-pin-button{color:#4b556366}.aiquants-menu-bar.light .aiquants-submenu-pin-button:hover{color:#4b5563cc;background-color:#4b55631a}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned{color:#d97706}.aiquants-menu-bar.light .aiquants-submenu-pin-button.pinned:hover{color:#b45309;background-color:#d977061a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button{color:#fff6}.aiquants-menu-bar.dark .aiquants-submenu-pin-button:hover{color:#fffc;background-color:#ffffff1a}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned{color:#f59e0b}.aiquants-menu-bar.dark .aiquants-submenu-pin-button.pinned:hover{color:#fbbf24;background-color:#f59e0b26}.aiquants-menu-accordion-container{transition:block-size .5s}.aiquants-menu-translate-x-0{transform:translate(0)}.aiquants-menu-translate-x-250{transform:translate(250px)}.aiquants-menu-content{overscroll-behavior:contain;max-block-size:100dvh;overflow-y:auto}.aiquants-menu-list-region{flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.aiquants-menu-list-scroller{overscroll-behavior:contain;overflow-wrap:anywhere;flex-grow:1;block-size:0;overflow-y:scroll}@media (max-height:16.8125rem){.aiquants-menu-list-region{flex:none;overflow-y:visible}.aiquants-menu-list-scroller{flex:none;block-size:auto;overflow-y:visible}}.aiquants-menu-switch{--_aqmb-switch-bar:calc(var(--aqmb-switch-size,27px) / 9);--_aqmb-switch-box:max(var(--aqmb-switch-size,27px), var(--aqmb-switch-target-size,0px));position:var(--aqmb-switch-position,fixed);top:var(--aqmb-switch-top,6px);right:var(--aqmb-switch-right,8px);left:var(--aqmb-switch-left,auto);bottom:var(--aqmb-switch-bottom,auto);z-index:var(--aqmb-switch-z-index,calc(infinity));box-sizing:border-box;inline-size:var(--_aqmb-switch-box);block-size:var(--_aqmb-switch-box);padding-block:0;padding-inline:calc((var(--_aqmb-switch-box) - var(--aqmb-switch-size,27px)) / 2);vertical-align:middle;color:#000;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:safe center;display:inline-flex}.aiquants-menu-bar.dark .aiquants-menu-switch,.aiquants-menu-switch[aria-expanded=true]{color:#fff}.aiquants-menu-switch:focus-visible{outline-offset:2px;outline:2px solid}.aiquants-menu-switch-bars{block-size:calc(7 * var(--_aqmb-switch-bar));flex:none;position:relative}.aiquants-menu-switch-bar{inline-size:100%;block-size:var(--_aqmb-switch-bar);background-color:currentColor;position:absolute;top:0;left:0}.aiquants-menu-switch-bar:nth-child(2){top:calc(2 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(3){top:calc(4 * var(--_aqmb-switch-bar))}.aiquants-menu-switch-bar:nth-child(4){top:calc(6 * var(--_aqmb-switch-bar))}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child,.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){inline-size:calc(var(--aqmb-switch-size,27px) * 32 / 27);block-size:calc(var(--aqmb-switch-size,27px) * 4 / 27)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:first-child{transform:translateY(calc(3 * var(--_aqmb-switch-bar))) rotate(-45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(4){transform:translateY(calc(-3 * var(--_aqmb-switch-bar))) rotate(45deg)}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(2),.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-bar:nth-child(3){opacity:0}.aiquants-menu-switch-caption{display:var(--aqmb-switch-caption-display,block);flex:none;margin-block-start:calc(.5rem - 5 * var(--aqmb-switch-size,27px) / 18);margin-inline-start:-.125rem;font-size:.75rem;line-height:1rem}.aiquants-menu-switch[aria-expanded=true] .aiquants-menu-switch-caption{margin-inline-start:.125rem}@media (prefers-reduced-motion:no-preference){.aiquants-menu-switch{transition:color .5s cubic-bezier(.4,0,.2,1)}.aiquants-menu-switch-bar{transition-property:inline-size,block-size,transform,opacity;transition-duration:.5s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media (forced-colors:active){.aiquants-menu-switch-bar{forced-color-adjust:none;background-color:buttontext}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.z-2147483640{z-index:2147483640}.z-2147483642{z-index:2147483642}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-3\.5{margin-left:calc(var(--spacing) * 3.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.h-px{height:1px}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-dvh{min-height:100dvh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-\[240px\]{width:240px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-11{min-width:calc(var(--spacing) * 11)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.overflow-hidden{overflow:hidden}.overscroll-contain{overscroll-behavior:contain}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-slate-900{border-color:var(--color-slate-900)}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab, red, red)){.border-white\/40{border-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-red-500\/90{background-color:#fb2c36e6}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/90{background-color:color-mix(in oklab, var(--color-red-500) 90%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.object-cover{object-fit:cover}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[length\:var\(--aqmb-font-size-body\,0\.8125rem\)\]{font-size:var(--aqmb-font-size-body,.8125rem)}.text-\[length\:var\(--aqmb-font-size-caption\,0\.6875rem\)\]{font-size:var(--aqmb-font-size-caption,.6875rem)}.leading-\[var\(--aqmb-line-height-body\,1\.25rem\)\]{--tw-leading:var(--aqmb-line-height-body,1.25rem);line-height:var(--aqmb-line-height-body,1.25rem)}.leading-\[var\(--aqmb-line-height-caption\,1\.25rem\)\]{--tw-leading:var(--aqmb-line-height-caption,1.25rem);line-height:var(--aqmb-line-height-caption,1.25rem)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-sky-600{color:var(--color-sky-600)}.text-white{color:var(--color-white)}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.opacity-0{opacity:0}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.before\:mr-2:before{content:var(--tw-content);margin-right:calc(var(--spacing) * 2)}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-2:before{content:var(--tw-content);height:calc(var(--spacing) * 2)}.before\:w-2:before{content:var(--tw-content);width:calc(var(--spacing) * 2)}.before\:shrink-0:before{content:var(--tw-content);flex-shrink:0}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:#ffd23699}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-amber-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-amber-300) 60%, transparent)}}.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:#ffa3a399}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-red-300\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-red-300) 60%, transparent)}}.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:#fff6}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-white\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-current:focus-visible{outline-color:currentColor}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (prefers-reduced-motion:no-preference){.motion-safe\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\:duration-500{--tw-duration:.5s;transition-duration:.5s}}@media (min-width:40rem){.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:#45556c80}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 50%, transparent)}}.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:#45556c99}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-600\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-600) 60%, transparent)}}.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/50:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:border-slate-700\/60:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-amber-600:where(.dark,.dark *){background-color:var(--color-amber-600)}.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:#e40014e6}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-600\/90:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-red-600) 90%, transparent)}}.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:#31415880}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:#31415899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-700\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-700) 60%, transparent)}}.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.dark\:text-sky-400:where(.dark,.dark *){color:var(--color-sky-400)}.dark\:text-slate-100:where(.dark,.dark *){color:var(--color-slate-100)}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}@media (hover:hover){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:border-slate-600\/80:where(.dark,.dark *):hover{border-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-amber-500:where(.dark,.dark *):hover{background-color:var(--color-amber-500)}.dark\:hover\:bg-red-500:where(.dark,.dark *):hover{background-color:var(--color-red-500)}.dark\:hover\:bg-slate-600:where(.dark,.dark *):hover{background-color:var(--color-slate-600)}.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-600\/80:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:#1d293de6}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-slate-800\/90:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-slate-800) 90%, transparent)}}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiquants/menu-bar",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A React menu bar component with authentication support and theming",
|
|
6
6
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
],
|
|
39
39
|
"engines": {
|
|
40
40
|
"node": ">=18.0.0",
|
|
41
|
-
"
|
|
41
|
+
"pnpm": ">=8.0.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^19.2.7",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"react-router-dom": "^7.7.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@playwright/test": "^1.
|
|
49
|
+
"@playwright/test": "^1.64.1",
|
|
50
50
|
"@tailwindcss/cli": "^4.1.18",
|
|
51
51
|
"@tailwindcss/vite": "^4.1.18",
|
|
52
52
|
"@testing-library/react": "^16.3.0",
|