@civitai/blocks-react 0.30.0 → 0.32.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/README.md CHANGED
@@ -479,6 +479,47 @@ function MatureSection() {
479
479
  }
480
480
  ```
481
481
 
482
+ ## Direct-load fallback ("Open on Civitai")
483
+
484
+ A block is served from its own origin `<slug>.civit.ai` but is designed to run
485
+ **embedded** in the Civitai host iframe at `civitai.com/apps/run/<slug>`, which
486
+ delivers the runtime context via the `BLOCK_INIT` handshake. If someone opens the
487
+ bare `<slug>.civit.ai` URL **directly** (a shared link, a social crawl), no parent
488
+ ever sends `BLOCK_INIT`, so `ready` never flips and the block hangs on its loading
489
+ spinner forever.
490
+
491
+ Wrap your app root once in `<BlockGate>` (from `/ui`) to degrade that into a
492
+ branded landing instead:
493
+
494
+ ```tsx
495
+ import { BlockGate } from '@civitai/blocks-react/ui';
496
+
497
+ // A DIRECT (unembedded) top-level load shows an "Open on Civitai" card linking to
498
+ // civitai.com/apps/run/<slug>. Embedded — and the dev harness, which posts a fake
499
+ // BLOCK_INIT — are a transparent pass-through, so the happy path is unchanged.
500
+ createRoot(container).render(
501
+ <BlockGate>
502
+ <App />
503
+ </BlockGate>,
504
+ );
505
+ ```
506
+
507
+ The trigger is precise: the fallback shows **only** when the block is top-level
508
+ (`window.self === window.top`) **and** no `BLOCK_INIT` arrives within a short
509
+ timeout (`~2s`, override with `<BlockGate timeoutMs={…}>`). Framed blocks never
510
+ trip it; the harness posts `BLOCK_INIT` immediately, so it never trips there
511
+ either. On a non-`*.civit.ai` host (e.g. `localhost` in dev), it shows a neutral
512
+ "waiting for the host" state — never a broken `apps/run/localhost` link.
513
+
514
+ Building your own landing? The primitives are exported from the package root:
515
+
516
+ ```tsx
517
+ import { useDirectLoad, hostToRunUrl } from '@civitai/blocks-react';
518
+
519
+ const directLoad = useDirectLoad(); // true iff top-level AND no BLOCK_INIT within the timeout
520
+ const runUrl = hostToRunUrl('my-app.civit.ai'); // 'https://civitai.com/apps/run/my-app' | null (null = not a civit.ai host)
521
+ ```
522
+
482
523
  ## The `/ui` subexport
483
524
 
484
525
  Opinionated components, imported separately so a transport-only block stays lean.
@@ -0,0 +1,32 @@
1
+ export interface UseDirectLoadOptions {
2
+ /**
3
+ * Milliseconds to wait for `BLOCK_INIT` before treating a top-level load as a
4
+ * direct (unembedded) load. Defaults to {@link DIRECT_LOAD_TIMEOUT_MS}.
5
+ */
6
+ timeoutMs?: number;
7
+ }
8
+ /**
9
+ * Detect a DIRECT (unembedded) top-level load of a block and, after a short
10
+ * grace period, report it so the SDK can show an "Open on Civitai" fallback
11
+ * instead of hanging on the perpetual loading state.
12
+ *
13
+ * Returns `true` ONLY when BOTH hold:
14
+ * 1. The block is TOP-LEVEL (`window.self === window.top` — not in the host
15
+ * iframe), AND
16
+ * 2. No `BLOCK_INIT` has landed (`ready` is still `false`) within `timeoutMs`.
17
+ *
18
+ * This is precise by construction:
19
+ * - An EMBEDDED block (framed) is never top-level → always `false`, even before
20
+ * `ready`. The embedded happy path is untouched.
21
+ * - The dev harness / `createMockHost` runs the block top-level BUT posts
22
+ * `BLOCK_INIT` immediately (a `setTimeout(0)` macrotask), so `ready` flips
23
+ * long before `timeoutMs` and the timer is cleared → always `false`. The dev
24
+ * flow is untouched.
25
+ * - A real direct load (nobody sends `BLOCK_INIT`) stays top-level + not-ready
26
+ * past `timeoutMs` → `true`.
27
+ *
28
+ * Once `ready` flips it stays authoritative: this can never return `true` while
29
+ * `ready` is `true`, so a late init can't leave a stuck fallback.
30
+ */
31
+ export declare function useDirectLoad(options?: UseDirectLoadOptions): boolean;
32
+ //# sourceMappingURL=useDirectLoad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirectLoad.d.ts","sourceRoot":"","sources":["../../src/hooks/useDirectLoad.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAerE"}
@@ -0,0 +1,64 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { DIRECT_LOAD_TIMEOUT_MS } from '../internal/directLoad.js';
3
+ import { useTransportSnapshot } from './useBlockContext.js';
4
+ /**
5
+ * True iff the current window is the TOP-LEVEL browsing context — i.e. the
6
+ * block is NOT running inside an iframe.
7
+ *
8
+ * Uses the `window.self === window.top` IDENTITY comparison, which is always
9
+ * safe: it never reads a property off a (potentially cross-origin) parent, so
10
+ * it cannot throw a SecurityError the way `window.top.location` would. When
11
+ * embedded in the civitai host, `window.top` is the host's top frame — a
12
+ * different object — so this is `false`; when loaded directly it is `true`.
13
+ */
14
+ function isTopLevel() {
15
+ if (typeof window === 'undefined')
16
+ return false; // SSR / no DOM → not a direct browser load
17
+ try {
18
+ return window.self === window.top;
19
+ }
20
+ catch {
21
+ // Defensive: if some exotic engine throws on the identity read, treat it as
22
+ // embedded (fail safe — never show the fallback to a genuinely-framed block).
23
+ return false;
24
+ }
25
+ }
26
+ /**
27
+ * Detect a DIRECT (unembedded) top-level load of a block and, after a short
28
+ * grace period, report it so the SDK can show an "Open on Civitai" fallback
29
+ * instead of hanging on the perpetual loading state.
30
+ *
31
+ * Returns `true` ONLY when BOTH hold:
32
+ * 1. The block is TOP-LEVEL (`window.self === window.top` — not in the host
33
+ * iframe), AND
34
+ * 2. No `BLOCK_INIT` has landed (`ready` is still `false`) within `timeoutMs`.
35
+ *
36
+ * This is precise by construction:
37
+ * - An EMBEDDED block (framed) is never top-level → always `false`, even before
38
+ * `ready`. The embedded happy path is untouched.
39
+ * - The dev harness / `createMockHost` runs the block top-level BUT posts
40
+ * `BLOCK_INIT` immediately (a `setTimeout(0)` macrotask), so `ready` flips
41
+ * long before `timeoutMs` and the timer is cleared → always `false`. The dev
42
+ * flow is untouched.
43
+ * - A real direct load (nobody sends `BLOCK_INIT`) stays top-level + not-ready
44
+ * past `timeoutMs` → `true`.
45
+ *
46
+ * Once `ready` flips it stays authoritative: this can never return `true` while
47
+ * `ready` is `true`, so a late init can't leave a stuck fallback.
48
+ */
49
+ export function useDirectLoad(options) {
50
+ const timeoutMs = options?.timeoutMs ?? DIRECT_LOAD_TIMEOUT_MS;
51
+ const ready = useTransportSnapshot().ready;
52
+ // Sampled once per mount — top-level-ness doesn't change during a page's life.
53
+ const [topLevel] = useState(isTopLevel);
54
+ const [elapsed, setElapsed] = useState(false);
55
+ useEffect(() => {
56
+ // No timer needed when embedded, or once BLOCK_INIT has already landed.
57
+ if (ready || !topLevel)
58
+ return;
59
+ const id = setTimeout(() => setElapsed(true), timeoutMs);
60
+ return () => clearTimeout(id);
61
+ }, [ready, topLevel, timeoutMs]);
62
+ return topLevel && !ready && elapsed;
63
+ }
64
+ //# sourceMappingURL=useDirectLoad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDirectLoad.js","sourceRoot":"","sources":["../../src/hooks/useDirectLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAU5D;;;;;;;;;GASG;AACH,SAAS,UAAU;IACjB,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,CAAC,2CAA2C;IAC5F,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;QAC5E,8EAA8E;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa,CAAC,OAA8B;IAC1D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,sBAAsB,CAAC;IAC/D,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC,KAAK,CAAC;IAC3C,+EAA+E;IAC/E,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAU,UAAU,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,wEAAwE;QACxE,IAAI,KAAK,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC/B,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjC,OAAO,QAAQ,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;AACvC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -52,6 +52,9 @@ export { useDomainMaturity } from './hooks/useDomainMaturity.js';
52
52
  export type { DomainMaturity } from './hooks/useDomainMaturity.js';
53
53
  export { SfwGate } from './hooks/SfwGate.js';
54
54
  export type { SfwGateProps } from './hooks/SfwGate.js';
55
+ export { useDirectLoad } from './hooks/useDirectLoad.js';
56
+ export type { UseDirectLoadOptions } from './hooks/useDirectLoad.js';
57
+ export { hostToRunUrl, DIRECT_LOAD_TIMEOUT_MS } from './internal/directLoad.js';
55
58
  export { useAppStorage } from './hooks/useAppStorage.js';
56
59
  export type { AppStorageKeyEntry, AppStorageListResult, AppStorageQuota, UseAppStorage, } from './hooks/useAppStorage.js';
57
60
  export { useSharedStorage } from './hooks/useSharedStorage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -38,6 +38,8 @@ export { useRequestConsent } from './hooks/useRequestConsent.js';
38
38
  export { useBlockAnalytics } from './hooks/useBlockAnalytics.js';
39
39
  export { useDomainMaturity } from './hooks/useDomainMaturity.js';
40
40
  export { SfwGate } from './hooks/SfwGate.js';
41
+ export { useDirectLoad } from './hooks/useDirectLoad.js';
42
+ export { hostToRunUrl, DIRECT_LOAD_TIMEOUT_MS } from './internal/directLoad.js';
41
43
  export { useAppStorage } from './hooks/useAppStorage.js';
42
44
  export { useSharedStorage } from './hooks/useSharedStorage.js';
43
45
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAa3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAa3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAOzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Direct-load (unembedded) detection helpers.
3
+ *
4
+ * A block is served from its OWN origin `<slug>.civit.ai` but is designed to
5
+ * run EMBEDDED inside the civitai.com host iframe at
6
+ * `civitai.com/apps/run/<slug>`, which delivers the runtime context (viewer,
7
+ * scoped token, theme) via the postMessage `BLOCK_INIT` handshake. When a block
8
+ * is opened DIRECTLY — a top-level navigation to its bare `<slug>.civit.ai`
9
+ * origin (shared link, social crawl, someone pasting the URL) — no parent ever
10
+ * sends `BLOCK_INIT`, so the block's `ready` gate never flips and it hangs on a
11
+ * loading spinner forever. These helpers let the SDK degrade that into a
12
+ * branded "Open on Civitai" landing.
13
+ *
14
+ * Pure + framework-agnostic on purpose — {@link hostToRunUrl} is exhaustively
15
+ * unit-testable, and the React glue (the `useDirectLoad` hook + the
16
+ * `<BlockGate>` / `<DirectLoadFallback>` UI) builds on it.
17
+ */
18
+ /**
19
+ * Default milliseconds to wait for `BLOCK_INIT` before concluding a TOP-LEVEL
20
+ * load is a direct (unembedded) load and showing the fallback.
21
+ *
22
+ * Chosen well ABOVE the dev harness's init latency and below anything a human
23
+ * would tolerate staring at a spinner. The `createMockHost` / `<Harness>` dev
24
+ * host posts `BLOCK_INIT` on a `setTimeout(0)` macrotask (see
25
+ * `mockHost.ts` → `after(0, … BLOCK_INIT …)`), so `ready` flips almost
26
+ * immediately there and this timeout NEVER elapses in the harness — the
27
+ * fallback is reserved for the genuine "nobody is ever going to send
28
+ * BLOCK_INIT" case. Overridable via the hook/component `timeoutMs` prop.
29
+ */
30
+ export declare const DIRECT_LOAD_TIMEOUT_MS = 2000;
31
+ /** The Civitai host that serves the embedded block run route. */
32
+ export declare const CIVITAI_HOST = "civitai.com";
33
+ /** The deployed-block origin suffix (`<slug>.civit.ai`). */
34
+ export declare const CIVIT_AI_SUFFIX = ".civit.ai";
35
+ /**
36
+ * Derive the canonical Civitai host route for a block served from a
37
+ * `<slug>.civit.ai` origin.
38
+ *
39
+ * - A deployed block host (`<slug>.civit.ai`) → `https://civitai.com/apps/run/<slug>`,
40
+ * where the slug is the FIRST DNS label of the hostname.
41
+ * - Anything else — `localhost` (dev without the harness), an IP, a bare
42
+ * `civit.ai`, or a non-civit.ai host — → `null`. The caller MUST NOT render a
43
+ * `civitai.com/apps/run/…` redirect in that case (there is no meaningful
44
+ * target — never a broken `apps/run/localhost` link); show a neutral
45
+ * "waiting for the host" state instead.
46
+ *
47
+ * Case-insensitive (hostnames are), tolerant of a trailing FQDN dot.
48
+ *
49
+ * @example hostToRunUrl('model-benchmarking.civit.ai') // 'https://civitai.com/apps/run/model-benchmarking'
50
+ * @example hostToRunUrl('localhost') // null
51
+ * @example hostToRunUrl('civit.ai') // null
52
+ */
53
+ export declare function hostToRunUrl(hostname: string | null | undefined): string | null;
54
+ //# sourceMappingURL=directLoad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directLoad.d.ts","sourceRoot":"","sources":["../../src/internal/directLoad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAE1C,4DAA4D;AAC5D,eAAO,MAAM,eAAe,cAAc,CAAC;AAK3C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAgB/E"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Direct-load (unembedded) detection helpers.
3
+ *
4
+ * A block is served from its OWN origin `<slug>.civit.ai` but is designed to
5
+ * run EMBEDDED inside the civitai.com host iframe at
6
+ * `civitai.com/apps/run/<slug>`, which delivers the runtime context (viewer,
7
+ * scoped token, theme) via the postMessage `BLOCK_INIT` handshake. When a block
8
+ * is opened DIRECTLY — a top-level navigation to its bare `<slug>.civit.ai`
9
+ * origin (shared link, social crawl, someone pasting the URL) — no parent ever
10
+ * sends `BLOCK_INIT`, so the block's `ready` gate never flips and it hangs on a
11
+ * loading spinner forever. These helpers let the SDK degrade that into a
12
+ * branded "Open on Civitai" landing.
13
+ *
14
+ * Pure + framework-agnostic on purpose — {@link hostToRunUrl} is exhaustively
15
+ * unit-testable, and the React glue (the `useDirectLoad` hook + the
16
+ * `<BlockGate>` / `<DirectLoadFallback>` UI) builds on it.
17
+ */
18
+ /**
19
+ * Default milliseconds to wait for `BLOCK_INIT` before concluding a TOP-LEVEL
20
+ * load is a direct (unembedded) load and showing the fallback.
21
+ *
22
+ * Chosen well ABOVE the dev harness's init latency and below anything a human
23
+ * would tolerate staring at a spinner. The `createMockHost` / `<Harness>` dev
24
+ * host posts `BLOCK_INIT` on a `setTimeout(0)` macrotask (see
25
+ * `mockHost.ts` → `after(0, … BLOCK_INIT …)`), so `ready` flips almost
26
+ * immediately there and this timeout NEVER elapses in the harness — the
27
+ * fallback is reserved for the genuine "nobody is ever going to send
28
+ * BLOCK_INIT" case. Overridable via the hook/component `timeoutMs` prop.
29
+ */
30
+ export const DIRECT_LOAD_TIMEOUT_MS = 2000;
31
+ /** The Civitai host that serves the embedded block run route. */
32
+ export const CIVITAI_HOST = 'civitai.com';
33
+ /** The deployed-block origin suffix (`<slug>.civit.ai`). */
34
+ export const CIVIT_AI_SUFFIX = '.civit.ai';
35
+ /** A single DNS label (the slug), lowercased. */
36
+ const DNS_LABEL = /^[a-z0-9-]+$/;
37
+ /**
38
+ * Derive the canonical Civitai host route for a block served from a
39
+ * `<slug>.civit.ai` origin.
40
+ *
41
+ * - A deployed block host (`<slug>.civit.ai`) → `https://civitai.com/apps/run/<slug>`,
42
+ * where the slug is the FIRST DNS label of the hostname.
43
+ * - Anything else — `localhost` (dev without the harness), an IP, a bare
44
+ * `civit.ai`, or a non-civit.ai host — → `null`. The caller MUST NOT render a
45
+ * `civitai.com/apps/run/…` redirect in that case (there is no meaningful
46
+ * target — never a broken `apps/run/localhost` link); show a neutral
47
+ * "waiting for the host" state instead.
48
+ *
49
+ * Case-insensitive (hostnames are), tolerant of a trailing FQDN dot.
50
+ *
51
+ * @example hostToRunUrl('model-benchmarking.civit.ai') // 'https://civitai.com/apps/run/model-benchmarking'
52
+ * @example hostToRunUrl('localhost') // null
53
+ * @example hostToRunUrl('civit.ai') // null
54
+ */
55
+ export function hostToRunUrl(hostname) {
56
+ if (!hostname)
57
+ return null;
58
+ // Normalize: trim, lowercase, strip any trailing FQDN dot(s). The trailing-dot
59
+ // strip is a manual linear trim rather than a `/\.+$/` regex, which backtracks
60
+ // O(n^2) on a string of many dots (ReDoS — CodeQL js/polynomial-redos).
61
+ const normalized = hostname.trim().toLowerCase();
62
+ let end = normalized.length;
63
+ while (end > 0 && normalized.charCodeAt(end - 1) === 46 /* '.' */)
64
+ end -= 1;
65
+ const host = normalized.slice(0, end);
66
+ if (!host.endsWith(CIVIT_AI_SUFFIX))
67
+ return null; // not a deployed block host
68
+ // The slug is the FIRST DNS label (`<slug>.civit.ai`). Extra labels beyond
69
+ // the first are ignored — deployed block origins are single-label — but the
70
+ // first label must be a valid, non-empty DNS label.
71
+ const slug = host.slice(0, host.length - CIVIT_AI_SUFFIX.length).split('.')[0] ?? '';
72
+ if (!slug || !DNS_LABEL.test(slug))
73
+ return null;
74
+ return `https://${CIVITAI_HOST}/apps/run/${slug}`;
75
+ }
76
+ //# sourceMappingURL=directLoad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directLoad.js","sourceRoot":"","sources":["../../src/internal/directLoad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C,iEAAiE;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C,iDAAiD;AACjD,MAAM,SAAS,GAAG,cAAc,CAAC;AAEjC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAmC;IAC9D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IAC5B,OAAO,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS;QAAE,GAAG,IAAI,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,4BAA4B;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,OAAO,WAAW,YAAY,aAAa,IAAI,EAAE,CAAC;AACpD,CAAC"}
@@ -198,8 +198,8 @@ const DEFAULT_BUZZ_BALANCE = { blue: 1000, green: 0, yellow: 5000 };
198
198
  * Default Buzz-transaction ledger reported on `GET_BUZZ_TRANSACTIONS`. `date`s
199
199
  * are `Date` INSTANCES (not ISO strings) to mirror the REAL host, which forwards
200
200
  * the raw tRPC `result` over structured-clone `postMessage` (see the DATE WIRE
201
- * CAVEAT on `BlockBuzzTransaction`). Newest-first; `externalTransactionId` nulled
202
- * on the purchase row exactly as the host's projection does.
201
+ * CAVEAT on `BlockBuzzTransaction`). Newest-first; `externalTransactionId` is
202
+ * `null` on every row, exactly as the host's projection does (default-deny; #3192).
203
203
  */
204
204
  const DEFAULT_BUZZ_TRANSACTIONS = [
205
205
  {
@@ -225,7 +225,7 @@ const DEFAULT_BUZZ_TRANSACTIONS = [
225
225
  fromAccountType: 'yellow',
226
226
  toAccountType: 'yellow',
227
227
  description: 'Buzz purchase',
228
- // Host nulls externalTransactionId on Purchase rows (processor-ref leak class).
228
+ // Host nulls externalTransactionId on EVERY block-facing row (default-deny; #3192).
229
229
  externalTransactionId: null,
230
230
  },
231
231
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"mockHost.js","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockHost.js","sourceRoot":"","sources":["../../src/internal/mockHost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Props for {@link DirectLoadFallback}.
4
+ */
5
+ export interface DirectLoadFallbackProps {
6
+ /**
7
+ * Override the hostname used to derive the `civitai.com/apps/run/<slug>` URL.
8
+ * Defaults to `window.location.hostname`. Primarily a testing seam.
9
+ */
10
+ hostname?: string;
11
+ /**
12
+ * When set (and a run URL could be derived), auto-navigate the top window to
13
+ * the run URL after this many milliseconds. OFF by default — a click-to-open
14
+ * landing is the safe default (no surprise navigation; good for shared links,
15
+ * social unfurls, and SEO). The visible button is always the primary path.
16
+ */
17
+ autoRedirectMs?: number;
18
+ }
19
+ /**
20
+ * The branded "Open on Civitai" landing shown when a block is loaded DIRECTLY
21
+ * (top-level at its bare `<slug>.civit.ai` origin) instead of embedded in the
22
+ * civitai host — the graceful degrade for what would otherwise be a perpetual
23
+ * loading spinner.
24
+ *
25
+ * Two states, chosen from the (overridable) hostname:
26
+ * - Deployed block host (`<slug>.civit.ai`): a card with an "Open on Civitai"
27
+ * link to `https://civitai.com/apps/run/<slug>` (a real anchor — right/middle
28
+ * click, shareable, crawlable). Optional {@link DirectLoadFallbackProps.autoRedirectMs}
29
+ * auto-redirect on top of the button.
30
+ * - Non-civit.ai host (e.g. `localhost` in dev without the harness): a neutral
31
+ * "waiting for the Civitai host" card with a dev hint — NEVER a broken
32
+ * `apps/run/localhost` link.
33
+ *
34
+ * Theme-aware via `prefers-color-scheme` (there is no host `theme` on a direct
35
+ * load) and styled with the `/ui` pack's tokens.
36
+ */
37
+ export declare function DirectLoadFallback({ hostname, autoRedirectMs, }: DirectLoadFallbackProps): React.JSX.Element;
38
+ /**
39
+ * Props for {@link BlockGate}.
40
+ */
41
+ export interface BlockGateProps {
42
+ /** The block app. Rendered whenever the block is NOT a direct (unembedded) load. */
43
+ children: ReactNode;
44
+ /**
45
+ * Milliseconds to wait for `BLOCK_INIT` before treating a top-level load as a
46
+ * direct load. Forwarded to {@link useDirectLoad}. Defaults to 2000ms.
47
+ */
48
+ timeoutMs?: number;
49
+ /** Override the fallback rendered on a direct load. Defaults to {@link DirectLoadFallback}. */
50
+ fallback?: ReactNode;
51
+ /** Forwarded to the default {@link DirectLoadFallback} (testing seam). */
52
+ hostname?: string;
53
+ /** Forwarded to the default {@link DirectLoadFallback}. */
54
+ autoRedirectMs?: number;
55
+ }
56
+ /**
57
+ * Drop-in wrapper that shows the {@link DirectLoadFallback} when a block is
58
+ * loaded DIRECTLY (top-level, no `BLOCK_INIT` within the timeout) and otherwise
59
+ * renders `children` unchanged.
60
+ *
61
+ * Wrap your app root once so EVERY SDK-built block degrades gracefully instead
62
+ * of hanging on a loading spinner when its `<slug>.civit.ai` URL is opened
63
+ * directly:
64
+ *
65
+ * ```tsx
66
+ * import { BlockGate } from '@civitai/blocks-react/ui';
67
+ *
68
+ * createRoot(el).render(
69
+ * <BlockGate>
70
+ * <App />
71
+ * </BlockGate>,
72
+ * );
73
+ * ```
74
+ *
75
+ * The embedded happy path and the dev harness are untouched — see
76
+ * {@link useDirectLoad} for exactly why the trigger can't fire in either.
77
+ */
78
+ export declare function BlockGate({ children, timeoutMs, fallback, hostname, autoRedirectMs, }: BlockGateProps): React.JSX.Element;
79
+ //# sourceMappingURL=BlockGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockGate.d.ts","sourceRoot":"","sources":["../../src/ui/BlockGate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAkD5D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA8BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,cAAc,GACf,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+D7C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,cAAc,GACf,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAQpC"}
@@ -0,0 +1,143 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { hostToRunUrl } from '../internal/directLoad.js';
4
+ import { useDirectLoad } from '../hooks/useDirectLoad.js';
5
+ import { Card } from './Card.js';
6
+ import { Stack } from './Stack.js';
7
+ import { useBlocksStyles } from './styles.js';
8
+ /**
9
+ * Read the OS/browser color-scheme preference, live.
10
+ *
11
+ * A directly-loaded block has NO `BLOCK_INIT`, so there is no host `theme` to
12
+ * set `data-theme` from (the usual gotcha-#60 path). We fall back to
13
+ * `prefers-color-scheme` so the fallback card still themes correctly in light
14
+ * AND dark. Guarded for SSR / engines without `matchMedia`.
15
+ */
16
+ function usePrefersColorScheme() {
17
+ const [dark, setDark] = useState(() => {
18
+ if (typeof window === 'undefined' || typeof window.matchMedia !== 'function')
19
+ return false;
20
+ try {
21
+ return window.matchMedia('(prefers-color-scheme: dark)').matches;
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ });
27
+ useEffect(() => {
28
+ if (typeof window === 'undefined' || typeof window.matchMedia !== 'function')
29
+ return;
30
+ let mql;
31
+ try {
32
+ mql = window.matchMedia('(prefers-color-scheme: dark)');
33
+ }
34
+ catch {
35
+ return;
36
+ }
37
+ const onChange = (e) => setDark(e.matches);
38
+ // Modern browsers: addEventListener. Older Safari: addListener.
39
+ if (typeof mql.addEventListener === 'function') {
40
+ mql.addEventListener('change', onChange);
41
+ return () => mql.removeEventListener('change', onChange);
42
+ }
43
+ if (typeof mql.addListener === 'function') {
44
+ mql.addListener(onChange);
45
+ return () => mql.removeListener(onChange);
46
+ }
47
+ return;
48
+ }, []);
49
+ return dark ? 'dark' : 'light';
50
+ }
51
+ const wrapperStyle = {
52
+ minHeight: '100%',
53
+ minWidth: 0,
54
+ display: 'flex',
55
+ alignItems: 'center',
56
+ justifyContent: 'center',
57
+ padding: 24,
58
+ boxSizing: 'border-box',
59
+ background: 'var(--ci-color-surface-2)',
60
+ color: 'var(--ci-color-text)',
61
+ };
62
+ const brandStyle = {
63
+ fontSize: 12,
64
+ fontWeight: 700,
65
+ letterSpacing: '0.08em',
66
+ textTransform: 'uppercase',
67
+ color: 'var(--ci-color-primary)',
68
+ };
69
+ const titleStyle = { fontSize: 18, fontWeight: 700 };
70
+ const bodyStyle = {
71
+ fontSize: 14,
72
+ lineHeight: 1.5,
73
+ color: 'var(--ci-color-text-dimmed)',
74
+ };
75
+ /**
76
+ * The branded "Open on Civitai" landing shown when a block is loaded DIRECTLY
77
+ * (top-level at its bare `<slug>.civit.ai` origin) instead of embedded in the
78
+ * civitai host — the graceful degrade for what would otherwise be a perpetual
79
+ * loading spinner.
80
+ *
81
+ * Two states, chosen from the (overridable) hostname:
82
+ * - Deployed block host (`<slug>.civit.ai`): a card with an "Open on Civitai"
83
+ * link to `https://civitai.com/apps/run/<slug>` (a real anchor — right/middle
84
+ * click, shareable, crawlable). Optional {@link DirectLoadFallbackProps.autoRedirectMs}
85
+ * auto-redirect on top of the button.
86
+ * - Non-civit.ai host (e.g. `localhost` in dev without the harness): a neutral
87
+ * "waiting for the Civitai host" card with a dev hint — NEVER a broken
88
+ * `apps/run/localhost` link.
89
+ *
90
+ * Theme-aware via `prefers-color-scheme` (there is no host `theme` on a direct
91
+ * load) and styled with the `/ui` pack's tokens.
92
+ */
93
+ export function DirectLoadFallback({ hostname, autoRedirectMs, }) {
94
+ useBlocksStyles();
95
+ const theme = usePrefersColorScheme();
96
+ const resolvedHost = hostname ?? (typeof window !== 'undefined' ? window.location?.hostname : undefined);
97
+ const runUrl = hostToRunUrl(resolvedHost);
98
+ useEffect(() => {
99
+ if (!runUrl || autoRedirectMs == null || typeof window === 'undefined')
100
+ return;
101
+ const id = setTimeout(() => {
102
+ try {
103
+ // Navigate the TOP frame (equals self on a direct load; correct either way).
104
+ (window.top ?? window).location.href = runUrl;
105
+ }
106
+ catch {
107
+ window.location.href = runUrl;
108
+ }
109
+ }, autoRedirectMs);
110
+ return () => clearTimeout(id);
111
+ }, [runUrl, autoRedirectMs]);
112
+ return (_jsx("div", { "data-theme": theme, "data-civitai-block-direct-load": "true", style: wrapperStyle, children: _jsx(Card, { withBorder: true, padding: "lg", style: { maxWidth: 420, width: '100%', textAlign: 'center' }, children: _jsxs(Stack, { gap: 12, align: "center", children: [_jsx("span", { style: brandStyle, children: "Civitai App" }), runUrl ? (_jsxs(_Fragment, { children: [_jsx("strong", { style: titleStyle, children: "Open this app on Civitai" }), _jsx("span", { style: bodyStyle, children: "This is a Civitai App. It runs inside Civitai, where you can sign in and use it." }), _jsx("a", { "data-civitai-ui": "button", "data-variant": "filled", "data-size": "lg", "data-full-width": "true", "data-civitai-block-open-on-civitai": "true", href: runUrl, target: "_top", rel: "noopener", children: "Open on Civitai" })] })) : (_jsxs(_Fragment, { children: [_jsx("strong", { style: titleStyle, children: "Waiting for the Civitai host\u2026" }), _jsx("span", { style: bodyStyle, role: "status", children: "This is a Civitai App. It\u2019s meant to run inside the Civitai host. In local development, load it through the block dev harness." })] }))] }) }) }));
113
+ }
114
+ /**
115
+ * Drop-in wrapper that shows the {@link DirectLoadFallback} when a block is
116
+ * loaded DIRECTLY (top-level, no `BLOCK_INIT` within the timeout) and otherwise
117
+ * renders `children` unchanged.
118
+ *
119
+ * Wrap your app root once so EVERY SDK-built block degrades gracefully instead
120
+ * of hanging on a loading spinner when its `<slug>.civit.ai` URL is opened
121
+ * directly:
122
+ *
123
+ * ```tsx
124
+ * import { BlockGate } from '@civitai/blocks-react/ui';
125
+ *
126
+ * createRoot(el).render(
127
+ * <BlockGate>
128
+ * <App />
129
+ * </BlockGate>,
130
+ * );
131
+ * ```
132
+ *
133
+ * The embedded happy path and the dev harness are untouched — see
134
+ * {@link useDirectLoad} for exactly why the trigger can't fire in either.
135
+ */
136
+ export function BlockGate({ children, timeoutMs, fallback, hostname, autoRedirectMs, }) {
137
+ const directLoad = useDirectLoad({ timeoutMs });
138
+ if (directLoad) {
139
+ return (_jsx(_Fragment, { children: fallback ?? _jsx(DirectLoadFallback, { hostname: hostname, autoRedirectMs: autoRedirectMs }) }));
140
+ }
141
+ return _jsx(_Fragment, { children: children });
142
+ }
143
+ //# sourceMappingURL=BlockGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockGate.js","sourceRoot":"","sources":["../../src/ui/BlockGate.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ export type SegmentedControlSize = 'sm' | 'md' | 'lg';
2
+ /** One segment for the declarative `data` prop. */
3
+ export interface SegmentedControlItem {
4
+ value: string;
5
+ label: React.ReactNode;
6
+ disabled?: boolean;
7
+ }
8
+ export interface SegmentedControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
9
+ /** The segments, in display order. */
10
+ data: SegmentedControlItem[];
11
+ /** Current value (controlled). */
12
+ value: string;
13
+ /** Fires with the newly-selected segment's value. */
14
+ onChange: (value: string) => void;
15
+ /** Stretch to the container width; segments become equal-width. */
16
+ fullWidth?: boolean;
17
+ /** Size preset. Defaults to `'md'`, mirroring `<Button>` sizes. */
18
+ size?: SegmentedControlSize;
19
+ /** Disable the whole control (every segment). */
20
+ disabled?: boolean;
21
+ /** Accessible name for the group when there's no visible label. */
22
+ 'aria-label'?: string;
23
+ }
24
+ /**
25
+ * Horizontal view / tab switcher — the `role="tablist"` primitive block authors
26
+ * previously hand-rolled as a Group-of-Buttons. Controlled: pass `value` +
27
+ * `onChange(value)`. Each segment is a `role="tab"` button; ArrowLeft/ArrowRight
28
+ * rove selection across the enabled segments (a11y expectation for a tablist).
29
+ * Auto-themed via `useBlocksStyles()`; the `data-size` / `data-full-width`
30
+ * attributes drive the injected CSS.
31
+ *
32
+ * @example
33
+ * <SegmentedControl
34
+ * aria-label="Gallery view"
35
+ * value={view}
36
+ * onChange={setView}
37
+ * data={[
38
+ * { value: 'grid', label: 'Grid' },
39
+ * { value: 'list', label: 'List' },
40
+ * ]}
41
+ * />
42
+ */
43
+ export declare const SegmentedControl: import("react").ForwardRefExoticComponent<SegmentedControlProps & import("react").RefAttributes<HTMLDivElement>>;
44
+ //# sourceMappingURL=SegmentedControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../src/ui/SegmentedControl.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC9D,sCAAsC;IACtC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,kHA0F5B,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useRef } from 'react';
3
+ import { useBlocksStyles } from './styles.js';
4
+ /**
5
+ * Horizontal view / tab switcher — the `role="tablist"` primitive block authors
6
+ * previously hand-rolled as a Group-of-Buttons. Controlled: pass `value` +
7
+ * `onChange(value)`. Each segment is a `role="tab"` button; ArrowLeft/ArrowRight
8
+ * rove selection across the enabled segments (a11y expectation for a tablist).
9
+ * Auto-themed via `useBlocksStyles()`; the `data-size` / `data-full-width`
10
+ * attributes drive the injected CSS.
11
+ *
12
+ * @example
13
+ * <SegmentedControl
14
+ * aria-label="Gallery view"
15
+ * value={view}
16
+ * onChange={setView}
17
+ * data={[
18
+ * { value: 'grid', label: 'Grid' },
19
+ * { value: 'list', label: 'List' },
20
+ * ]}
21
+ * />
22
+ */
23
+ export const SegmentedControl = forwardRef(function SegmentedControl({ data, value, onChange, fullWidth = false, size = 'md', disabled = false, onKeyDown, ...rest }, ref) {
24
+ useBlocksStyles();
25
+ // Refs to each segment button, so a keyboard rove can move DOM focus to the
26
+ // newly-selected tab (roving tabindex).
27
+ const tabRefs = useRef([]);
28
+ // Move selection to the next enabled segment in `dir` (+1 / -1), wrapping.
29
+ // Returns the resolved index, or -1 if no enabled segment exists.
30
+ const moveTo = (fromIndex, dir) => {
31
+ const n = data.length;
32
+ for (let step = 1; step <= n; step++) {
33
+ const i = (fromIndex + dir * step + n * step) % n;
34
+ const item = data[i];
35
+ if (item && !item.disabled)
36
+ return i;
37
+ }
38
+ return -1;
39
+ };
40
+ const handleKeyDown = (e) => {
41
+ if (!disabled && (e.key === 'ArrowRight' || e.key === 'ArrowLeft')) {
42
+ const current = data.findIndex((item) => item.value === value);
43
+ const from = current === -1 ? 0 : current;
44
+ const next = moveTo(from, e.key === 'ArrowRight' ? 1 : -1);
45
+ const nextItem = next === -1 ? undefined : data[next];
46
+ if (nextItem && nextItem.value !== value) {
47
+ e.preventDefault();
48
+ onChange(nextItem.value);
49
+ tabRefs.current[next]?.focus();
50
+ }
51
+ }
52
+ onKeyDown?.(e);
53
+ };
54
+ return (_jsx("div", { ref: ref, ...rest, "data-civitai-ui": "segmented-control", "data-size": size, "data-full-width": fullWidth ? 'true' : undefined, "data-disabled": disabled ? 'true' : undefined, role: "tablist", "aria-disabled": disabled || undefined, onKeyDown: handleKeyDown, children: data.map((item, i) => {
55
+ const selected = item.value === value;
56
+ const isDisabled = disabled || item.disabled;
57
+ return (_jsx("button", { ref: (el) => {
58
+ tabRefs.current[i] = el;
59
+ }, type: "button", role: "tab", "data-civitai-ui-segment": true, "aria-selected": selected, "data-active": selected || undefined, disabled: isDisabled,
60
+ // Roving tabindex: only the selected tab is in the tab order.
61
+ tabIndex: selected ? 0 : -1, onClick: () => {
62
+ if (isDisabled || selected)
63
+ return;
64
+ onChange(item.value);
65
+ }, children: item.label }, item.value));
66
+ }) }));
67
+ });
68
+ //# sourceMappingURL=SegmentedControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../../src/ui/SegmentedControl.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@
17
17
  */
18
18
  export { SettingsForm, SettingsFormError, isFieldVisible } from './SettingsForm.js';
19
19
  export type { SettingsFormProps } from './SettingsForm.js';
20
+ export { BlockGate, DirectLoadFallback } from './BlockGate.js';
21
+ export type { BlockGateProps, DirectLoadFallbackProps } from './BlockGate.js';
20
22
  export { injectBlocksStyles, useBlocksStyles, BLOCKS_UI_STYLES, } from './styles.js';
21
23
  export { Button } from './Button.js';
22
24
  export type { ButtonProps, ButtonVariant, ButtonSize } from './Button.js';
@@ -46,4 +48,6 @@ export { Select } from './Select.js';
46
48
  export type { SelectProps, SelectOption } from './Select.js';
47
49
  export { Collapse } from './Collapse.js';
48
50
  export type { CollapseProps } from './Collapse.js';
51
+ export { SegmentedControl } from './SegmentedControl.js';
52
+ export type { SegmentedControlProps, SegmentedControlItem, SegmentedControlSize, } from './SegmentedControl.js';
49
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
package/dist/ui/index.js CHANGED
@@ -17,6 +17,10 @@
17
17
  */
18
18
  // W3 — manifest-driven settings form (host-themed native controls).
19
19
  export { SettingsForm, SettingsFormError, isFieldVisible } from './SettingsForm.js';
20
+ // Direct-load (unembedded) fallback — the branded "Open on Civitai" landing
21
+ // that replaces the perpetual loading spinner when a block's <slug>.civit.ai
22
+ // URL is opened top-level instead of embedded in the Civitai host.
23
+ export { BlockGate, DirectLoadFallback } from './BlockGate.js';
20
24
  // W6 — runtime style injection.
21
25
  export { injectBlocksStyles, useBlocksStyles, BLOCKS_UI_STYLES, } from './styles.js';
22
26
  // W6 — component pack.
@@ -34,4 +38,5 @@ export { Slider } from './Slider.js';
34
38
  export { NumberInput } from './NumberInput.js';
35
39
  export { Select } from './Select.js';
36
40
  export { Collapse } from './Collapse.js';
41
+ export { SegmentedControl } from './SegmentedControl.js';
37
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpF,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,oEAAoE;AACpE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGpF,4EAA4E;AAC5E,6EAA6E;AAC7E,mEAAmE;AACnE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAG/D,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,uBAAuB;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** The full stylesheet shipped by the pack. Exported for SSR/manual use. */
2
- export declare const BLOCKS_UI_STYLES = "\n:root {\n --ci-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n --ci-radius: 8px;\n --ci-color-text: #1a1a1a;\n --ci-color-text-dimmed: #6b7280;\n --ci-color-surface: #ffffff;\n --ci-color-surface-2: #f4f4f5;\n --ci-color-border: #e0e0e3;\n --ci-color-primary: #228be6;\n --ci-color-primary-hover: #1c7ed6;\n --ci-color-primary-fg: #ffffff;\n --ci-color-error: #e03131;\n --ci-color-success: #2f9e44;\n --ci-color-warning: #f08c00;\n --ci-color-info: #1971c2;\n}\n\n[data-theme='light'] {\n --ci-color-text: #1a1a1a;\n --ci-color-text-dimmed: #6b7280;\n --ci-color-surface: #ffffff;\n --ci-color-surface-2: #f4f4f5;\n --ci-color-border: #e0e0e3;\n}\n\n[data-theme='dark'] {\n --ci-color-text: #e6e6e6;\n --ci-color-text-dimmed: #909296;\n --ci-color-surface: #1a1b1e;\n --ci-color-surface-2: #25262b;\n --ci-color-border: #2c2e33;\n --ci-color-primary: #228be6;\n --ci-color-primary-hover: #339af0;\n --ci-color-primary-fg: #ffffff;\n --ci-color-error: #ff6b6b;\n --ci-color-success: #51cf66;\n --ci-color-warning: #ffa94d;\n --ci-color-info: #4dabf7;\n}\n\n\n[data-civitai-ui] {\n box-sizing: border-box;\n font-family: var(--ci-font);\n}\n[data-civitai-ui] *,\n[data-civitai-ui] *::before,\n[data-civitai-ui] *::after {\n box-sizing: border-box;\n}\n\n/* ----- Button ----- */\n[data-civitai-ui='button'] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n border: 1px solid transparent;\n border-radius: var(--ci-radius);\n font-family: var(--ci-font);\n font-weight: 600;\n line-height: 1;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n}\n[data-civitai-ui='button'][data-size='sm'] { height: 30px; padding: 0 14px; font-size: 13px; }\n[data-civitai-ui='button'][data-size='md'] { height: 36px; padding: 0 18px; font-size: 14px; }\n[data-civitai-ui='button'][data-size='lg'] { height: 44px; padding: 0 22px; font-size: 16px; }\n[data-civitai-ui='button'][data-full-width='true'] { width: 100%; }\n[data-civitai-ui='button'][data-variant='filled'] {\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='button'][data-variant='filled']:hover:not(:disabled) {\n background: var(--ci-color-primary-hover);\n border-color: var(--ci-color-primary-hover);\n}\n[data-civitai-ui='button'][data-variant='light'] {\n background: color-mix(in srgb, var(--ci-color-primary) 12%, transparent);\n color: var(--ci-color-primary);\n border-color: transparent;\n}\n[data-civitai-ui='button'][data-variant='light']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 22%, transparent);\n}\n[data-civitai-ui='button'][data-variant='outline'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='button'][data-variant='outline']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 10%, transparent);\n}\n[data-civitai-ui='button'][data-variant='subtle'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: transparent;\n}\n[data-civitai-ui='button'][data-variant='subtle']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 10%, transparent);\n}\n[data-civitai-ui='button']:disabled,\n[data-civitai-ui='button'][aria-busy='true'] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui='button'] [data-civitai-ui-section] {\n display: inline-flex;\n align-items: center;\n}\n\n/* ----- TextInput / Textarea / NumberInput / Select / Slider ----- */\n[data-civitai-ui='text-input'],\n[data-civitai-ui='textarea'],\n[data-civitai-ui='number-input'],\n[data-civitai-ui='select'],\n[data-civitai-ui='slider'] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n[data-civitai-ui-label] {\n font-size: 14px;\n font-weight: 600;\n color: var(--ci-color-text);\n}\n[data-civitai-ui-required] {\n color: var(--ci-color-error);\n margin-left: 2px;\n}\n[data-civitai-ui-description] {\n font-size: 12px;\n color: var(--ci-color-text-dimmed);\n}\n[data-civitai-ui-error] {\n font-size: 12px;\n color: var(--ci-color-error);\n}\n[data-civitai-ui-control] {\n width: 100%;\n font-family: var(--ci-font);\n font-size: 14px;\n color: var(--ci-color-text);\n background: var(--ci-color-surface);\n border: 1px solid var(--ci-color-border);\n border-radius: var(--ci-radius);\n padding: 8px 12px;\n transition: border-color 120ms ease;\n}\n[data-civitai-ui-control]:focus {\n outline: none;\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui-control][aria-invalid='true'] {\n border-color: var(--ci-color-error);\n}\n[data-civitai-ui-control]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\ntextarea[data-civitai-ui-control] {\n resize: vertical;\n line-height: 1.5;\n}\n\n/* ----- Card ----- */\n[data-civitai-ui='card'] {\n background: var(--ci-color-surface);\n border-radius: var(--ci-radius);\n color: var(--ci-color-text);\n}\n[data-civitai-ui='card'][data-with-border='true'] {\n border: 1px solid var(--ci-color-border);\n}\n[data-civitai-ui='card'][data-padding='sm'] { padding: 10px; }\n[data-civitai-ui='card'][data-padding='md'] { padding: 16px; }\n[data-civitai-ui='card'][data-padding='lg'] { padding: 24px; }\n\n/* ----- Stack / Group ----- */\n[data-civitai-ui='stack'] {\n display: flex;\n flex-direction: column;\n}\n[data-civitai-ui='group'] {\n display: flex;\n flex-direction: row;\n}\n\n/* ----- Alert ----- */\n[data-civitai-ui='alert'] {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 12px 14px;\n border-radius: var(--ci-radius);\n border: 1px solid transparent;\n font-size: 14px;\n color: var(--ci-color-text);\n}\n[data-civitai-ui='alert'][data-color='info'] {\n background: color-mix(in srgb, var(--ci-color-info) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-info) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='success'] {\n background: color-mix(in srgb, var(--ci-color-success) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-success) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='warning'] {\n background: color-mix(in srgb, var(--ci-color-warning) 14%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-warning) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='error'] {\n background: color-mix(in srgb, var(--ci-color-error) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-error) 35%, transparent);\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-body] {\n flex: 1;\n min-width: 0;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-title] {\n font-weight: 600;\n margin-bottom: 2px;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-close] {\n background: transparent;\n border: none;\n cursor: pointer;\n color: inherit;\n font-size: 16px;\n line-height: 1;\n padding: 0;\n opacity: 0.7;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-close]:hover {\n opacity: 1;\n}\n\n/* ----- Loader ----- */\n[data-civitai-ui='loader'] {\n display: inline-block;\n border-radius: 50%;\n border-style: solid;\n border-color: color-mix(in srgb, currentColor 25%, transparent);\n border-top-color: currentColor;\n color: var(--ci-color-primary);\n animation: civitai-ui-spin 0.7s linear infinite;\n}\n[data-civitai-ui='loader'][data-size='sm'] { width: 16px; height: 16px; border-width: 2px; }\n[data-civitai-ui='loader'][data-size='md'] { width: 22px; height: 22px; border-width: 3px; }\n[data-civitai-ui='loader'][data-size='lg'] { width: 32px; height: 32px; border-width: 4px; }\n@keyframes civitai-ui-spin {\n to { transform: rotate(360deg); }\n}\n[data-civitai-ui='button'] [data-civitai-ui='loader'] {\n color: currentColor;\n}\n\n/* ----- Badge ----- */\n[data-civitai-ui='badge'] {\n display: inline-flex;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 999px;\n font-weight: 600;\n line-height: 1;\n white-space: nowrap;\n text-transform: uppercase;\n letter-spacing: 0.02em;\n}\n[data-civitai-ui='badge'][data-size='sm'] { height: 18px; padding: 0 8px; font-size: 10px; }\n[data-civitai-ui='badge'][data-size='md'] { height: 22px; padding: 0 10px; font-size: 11px; }\n[data-civitai-ui='badge'][data-size='lg'] { height: 26px; padding: 0 12px; font-size: 13px; }\n[data-civitai-ui='badge'][data-variant='filled'] {\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='badge'][data-variant='light'] {\n background: color-mix(in srgb, var(--ci-color-primary) 14%, transparent);\n color: var(--ci-color-primary);\n}\n[data-civitai-ui='badge'][data-variant='outline'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: var(--ci-color-primary);\n}\n\n/* ----- Modal ----- */\n[data-civitai-ui='modal-overlay'] {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.55);\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: 32px 16px;\n overflow-y: auto;\n z-index: 1000;\n}\n[data-civitai-ui='modal'] {\n background: var(--ci-color-surface);\n color: var(--ci-color-text);\n border: 1px solid var(--ci-color-border);\n border-radius: var(--ci-radius);\n box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);\n width: 100%;\n max-width: 440px;\n outline: none;\n}\n[data-civitai-ui='modal'][data-size='sm'] { max-width: 340px; }\n[data-civitai-ui='modal'][data-size='md'] { max-width: 440px; }\n[data-civitai-ui='modal'][data-size='lg'] { max-width: 620px; }\n[data-civitai-ui='modal'] [data-civitai-ui-modal-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 16px 18px;\n border-bottom: 1px solid var(--ci-color-border);\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-title] {\n font-size: 16px;\n font-weight: 700;\n margin: 0;\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-close] {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ci-color-text-dimmed);\n font-size: 20px;\n line-height: 1;\n padding: 0;\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-close]:hover {\n color: var(--ci-color-text);\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-body] {\n padding: 18px;\n}\n\n/* ----- Slider ----- */\n[data-civitai-ui='slider'] [data-civitai-ui-label] {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 8px;\n}\n[data-civitai-ui-slider-value] {\n font-weight: 500;\n color: var(--ci-color-text-dimmed);\n font-variant-numeric: tabular-nums;\n}\n[data-civitai-ui-range] {\n width: 100%;\n margin: 0;\n accent-color: var(--ci-color-primary);\n cursor: pointer;\n}\n[data-civitai-ui-range]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui-range]:focus-visible {\n outline: 2px solid var(--ci-color-primary);\n outline-offset: 2px;\n}\n\n/* ----- Collapse ----- */\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-trigger] {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 6px 0;\n background: transparent;\n border: none;\n font-family: var(--ci-font);\n font-size: 14px;\n font-weight: 600;\n color: var(--ci-color-text);\n text-align: left;\n cursor: pointer;\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-trigger]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-chevron] {\n display: inline-block;\n width: 1em;\n color: var(--ci-color-text-dimmed);\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-region] {\n padding-top: 4px;\n}\n";
2
+ export declare const BLOCKS_UI_STYLES = "\n:root {\n --ci-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n --ci-radius: 8px;\n --ci-color-text: #1a1a1a;\n --ci-color-text-dimmed: #6b7280;\n --ci-color-surface: #ffffff;\n --ci-color-surface-2: #f4f4f5;\n --ci-color-border: #e0e0e3;\n --ci-color-primary: #228be6;\n --ci-color-primary-hover: #1c7ed6;\n --ci-color-primary-fg: #ffffff;\n --ci-color-error: #e03131;\n --ci-color-success: #2f9e44;\n --ci-color-warning: #f08c00;\n --ci-color-info: #1971c2;\n}\n\n[data-theme='light'] {\n --ci-color-text: #1a1a1a;\n --ci-color-text-dimmed: #6b7280;\n --ci-color-surface: #ffffff;\n --ci-color-surface-2: #f4f4f5;\n --ci-color-border: #e0e0e3;\n}\n\n[data-theme='dark'] {\n --ci-color-text: #e6e6e6;\n --ci-color-text-dimmed: #909296;\n --ci-color-surface: #1a1b1e;\n --ci-color-surface-2: #25262b;\n --ci-color-border: #2c2e33;\n --ci-color-primary: #228be6;\n --ci-color-primary-hover: #339af0;\n --ci-color-primary-fg: #ffffff;\n --ci-color-error: #ff6b6b;\n --ci-color-success: #51cf66;\n --ci-color-warning: #ffa94d;\n --ci-color-info: #4dabf7;\n}\n\n\n[data-civitai-ui] {\n box-sizing: border-box;\n font-family: var(--ci-font);\n}\n[data-civitai-ui] *,\n[data-civitai-ui] *::before,\n[data-civitai-ui] *::after {\n box-sizing: border-box;\n}\n\n/* ----- Button ----- */\n[data-civitai-ui='button'] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n border: 1px solid transparent;\n border-radius: var(--ci-radius);\n font-family: var(--ci-font);\n font-weight: 600;\n line-height: 1;\n cursor: pointer;\n user-select: none;\n text-decoration: none;\n transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n}\n[data-civitai-ui='button'][data-size='sm'] { height: 30px; padding: 0 14px; font-size: 13px; }\n[data-civitai-ui='button'][data-size='md'] { height: 36px; padding: 0 18px; font-size: 14px; }\n[data-civitai-ui='button'][data-size='lg'] { height: 44px; padding: 0 22px; font-size: 16px; }\n[data-civitai-ui='button'][data-full-width='true'] { width: 100%; }\n[data-civitai-ui='button'][data-variant='filled'] {\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='button'][data-variant='filled']:hover:not(:disabled) {\n background: var(--ci-color-primary-hover);\n border-color: var(--ci-color-primary-hover);\n}\n[data-civitai-ui='button'][data-variant='light'] {\n background: color-mix(in srgb, var(--ci-color-primary) 12%, transparent);\n color: var(--ci-color-primary);\n border-color: transparent;\n}\n[data-civitai-ui='button'][data-variant='light']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 22%, transparent);\n}\n[data-civitai-ui='button'][data-variant='outline'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='button'][data-variant='outline']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 10%, transparent);\n}\n[data-civitai-ui='button'][data-variant='subtle'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: transparent;\n}\n[data-civitai-ui='button'][data-variant='subtle']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--ci-color-primary) 10%, transparent);\n}\n[data-civitai-ui='button']:disabled,\n[data-civitai-ui='button'][aria-busy='true'] {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui='button'] [data-civitai-ui-section] {\n display: inline-flex;\n align-items: center;\n}\n\n/* ----- TextInput / Textarea / NumberInput / Select / Slider ----- */\n[data-civitai-ui='text-input'],\n[data-civitai-ui='textarea'],\n[data-civitai-ui='number-input'],\n[data-civitai-ui='select'],\n[data-civitai-ui='slider'] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n[data-civitai-ui-label] {\n font-size: 14px;\n font-weight: 600;\n color: var(--ci-color-text);\n}\n[data-civitai-ui-required] {\n color: var(--ci-color-error);\n margin-left: 2px;\n}\n[data-civitai-ui-description] {\n font-size: 12px;\n color: var(--ci-color-text-dimmed);\n}\n[data-civitai-ui-error] {\n font-size: 12px;\n color: var(--ci-color-error);\n}\n[data-civitai-ui-control] {\n width: 100%;\n font-family: var(--ci-font);\n font-size: 14px;\n color: var(--ci-color-text);\n background: var(--ci-color-surface);\n border: 1px solid var(--ci-color-border);\n border-radius: var(--ci-radius);\n padding: 8px 12px;\n transition: border-color 120ms ease;\n}\n[data-civitai-ui-control]:focus {\n outline: none;\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui-control][aria-invalid='true'] {\n border-color: var(--ci-color-error);\n}\n[data-civitai-ui-control]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\ntextarea[data-civitai-ui-control] {\n resize: vertical;\n line-height: 1.5;\n}\n\n/* ----- Card ----- */\n[data-civitai-ui='card'] {\n background: var(--ci-color-surface);\n border-radius: var(--ci-radius);\n color: var(--ci-color-text);\n}\n[data-civitai-ui='card'][data-with-border='true'] {\n border: 1px solid var(--ci-color-border);\n}\n[data-civitai-ui='card'][data-padding='sm'] { padding: 10px; }\n[data-civitai-ui='card'][data-padding='md'] { padding: 16px; }\n[data-civitai-ui='card'][data-padding='lg'] { padding: 24px; }\n\n/* ----- Stack / Group ----- */\n[data-civitai-ui='stack'] {\n display: flex;\n flex-direction: column;\n}\n[data-civitai-ui='group'] {\n display: flex;\n flex-direction: row;\n}\n\n/* ----- Alert ----- */\n[data-civitai-ui='alert'] {\n display: flex;\n gap: 10px;\n align-items: flex-start;\n padding: 12px 14px;\n border-radius: var(--ci-radius);\n border: 1px solid transparent;\n font-size: 14px;\n color: var(--ci-color-text);\n}\n[data-civitai-ui='alert'][data-color='info'] {\n background: color-mix(in srgb, var(--ci-color-info) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-info) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='success'] {\n background: color-mix(in srgb, var(--ci-color-success) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-success) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='warning'] {\n background: color-mix(in srgb, var(--ci-color-warning) 14%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-warning) 35%, transparent);\n}\n[data-civitai-ui='alert'][data-color='error'] {\n background: color-mix(in srgb, var(--ci-color-error) 12%, transparent);\n border-color: color-mix(in srgb, var(--ci-color-error) 35%, transparent);\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-body] {\n flex: 1;\n min-width: 0;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-title] {\n font-weight: 600;\n margin-bottom: 2px;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-close] {\n background: transparent;\n border: none;\n cursor: pointer;\n color: inherit;\n font-size: 16px;\n line-height: 1;\n padding: 0;\n opacity: 0.7;\n}\n[data-civitai-ui='alert'] [data-civitai-ui-alert-close]:hover {\n opacity: 1;\n}\n\n/* ----- Loader ----- */\n[data-civitai-ui='loader'] {\n display: inline-block;\n border-radius: 50%;\n border-style: solid;\n border-color: color-mix(in srgb, currentColor 25%, transparent);\n border-top-color: currentColor;\n color: var(--ci-color-primary);\n animation: civitai-ui-spin 0.7s linear infinite;\n}\n[data-civitai-ui='loader'][data-size='sm'] { width: 16px; height: 16px; border-width: 2px; }\n[data-civitai-ui='loader'][data-size='md'] { width: 22px; height: 22px; border-width: 3px; }\n[data-civitai-ui='loader'][data-size='lg'] { width: 32px; height: 32px; border-width: 4px; }\n@keyframes civitai-ui-spin {\n to { transform: rotate(360deg); }\n}\n[data-civitai-ui='button'] [data-civitai-ui='loader'] {\n color: currentColor;\n}\n\n/* ----- Badge ----- */\n[data-civitai-ui='badge'] {\n display: inline-flex;\n align-items: center;\n border: 1px solid transparent;\n border-radius: 999px;\n font-weight: 600;\n line-height: 1;\n white-space: nowrap;\n text-transform: uppercase;\n letter-spacing: 0.02em;\n}\n[data-civitai-ui='badge'][data-size='sm'] { height: 18px; padding: 0 8px; font-size: 10px; }\n[data-civitai-ui='badge'][data-size='md'] { height: 22px; padding: 0 10px; font-size: 11px; }\n[data-civitai-ui='badge'][data-size='lg'] { height: 26px; padding: 0 12px; font-size: 13px; }\n[data-civitai-ui='badge'][data-variant='filled'] {\n background: var(--ci-color-primary);\n color: var(--ci-color-primary-fg);\n border-color: var(--ci-color-primary);\n}\n[data-civitai-ui='badge'][data-variant='light'] {\n background: color-mix(in srgb, var(--ci-color-primary) 14%, transparent);\n color: var(--ci-color-primary);\n}\n[data-civitai-ui='badge'][data-variant='outline'] {\n background: transparent;\n color: var(--ci-color-primary);\n border-color: var(--ci-color-primary);\n}\n\n/* ----- Modal ----- */\n[data-civitai-ui='modal-overlay'] {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.55);\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding: 32px 16px;\n overflow-y: auto;\n z-index: 1000;\n}\n[data-civitai-ui='modal'] {\n background: var(--ci-color-surface);\n color: var(--ci-color-text);\n border: 1px solid var(--ci-color-border);\n border-radius: var(--ci-radius);\n box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);\n width: 100%;\n max-width: 440px;\n outline: none;\n}\n[data-civitai-ui='modal'][data-size='sm'] { max-width: 340px; }\n[data-civitai-ui='modal'][data-size='md'] { max-width: 440px; }\n[data-civitai-ui='modal'][data-size='lg'] { max-width: 620px; }\n[data-civitai-ui='modal'] [data-civitai-ui-modal-header] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 16px 18px;\n border-bottom: 1px solid var(--ci-color-border);\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-title] {\n font-size: 16px;\n font-weight: 700;\n margin: 0;\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-close] {\n background: transparent;\n border: none;\n cursor: pointer;\n color: var(--ci-color-text-dimmed);\n font-size: 20px;\n line-height: 1;\n padding: 0;\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-close]:hover {\n color: var(--ci-color-text);\n}\n[data-civitai-ui='modal'] [data-civitai-ui-modal-body] {\n padding: 18px;\n}\n\n/* ----- Slider ----- */\n[data-civitai-ui='slider'] [data-civitai-ui-label] {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n gap: 8px;\n}\n[data-civitai-ui-slider-value] {\n font-weight: 500;\n color: var(--ci-color-text-dimmed);\n font-variant-numeric: tabular-nums;\n}\n[data-civitai-ui-range] {\n width: 100%;\n margin: 0;\n accent-color: var(--ci-color-primary);\n cursor: pointer;\n}\n[data-civitai-ui-range]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui-range]:focus-visible {\n outline: 2px solid var(--ci-color-primary);\n outline-offset: 2px;\n}\n\n/* ----- Collapse ----- */\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-trigger] {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n padding: 6px 0;\n background: transparent;\n border: none;\n font-family: var(--ci-font);\n font-size: 14px;\n font-weight: 600;\n color: var(--ci-color-text);\n text-align: left;\n cursor: pointer;\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-trigger]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-chevron] {\n display: inline-block;\n width: 1em;\n color: var(--ci-color-text-dimmed);\n}\n[data-civitai-ui='collapse'] [data-civitai-ui-collapse-region] {\n padding-top: 4px;\n}\n\n/* ----- SegmentedControl ----- */\n[data-civitai-ui='segmented-control'] {\n display: inline-flex;\n flex-direction: row;\n gap: 2px;\n padding: 3px;\n background: var(--ci-color-surface-2);\n border: 1px solid var(--ci-color-border);\n border-radius: var(--ci-radius);\n vertical-align: middle;\n}\n[data-civitai-ui='segmented-control'][data-full-width='true'] {\n display: flex;\n width: 100%;\n}\n[data-civitai-ui='segmented-control'] [data-civitai-ui-segment] {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: calc(var(--ci-radius) - 3px);\n background: transparent;\n color: var(--ci-color-text-dimmed);\n font-family: var(--ci-font);\n font-weight: 600;\n line-height: 1;\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease;\n}\n[data-civitai-ui='segmented-control'][data-full-width='true'] [data-civitai-ui-segment] {\n flex: 1 1 0;\n}\n[data-civitai-ui='segmented-control'][data-size='sm'] [data-civitai-ui-segment] { height: 24px; padding: 0 12px; font-size: 13px; }\n[data-civitai-ui='segmented-control'][data-size='md'] [data-civitai-ui-segment] { height: 30px; padding: 0 16px; font-size: 14px; }\n[data-civitai-ui='segmented-control'][data-size='lg'] [data-civitai-ui-segment] { height: 38px; padding: 0 20px; font-size: 16px; }\n[data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:hover:not(:disabled):not([data-active]) {\n color: var(--ci-color-text);\n background: color-mix(in srgb, var(--ci-color-text) 6%, transparent);\n}\n[data-civitai-ui='segmented-control'] [data-civitai-ui-segment][data-active] {\n background: var(--ci-color-surface);\n color: var(--ci-color-primary);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);\n}\n[data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:focus-visible {\n outline: 2px solid var(--ci-color-primary);\n outline-offset: 1px;\n}\n[data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n[data-civitai-ui='segmented-control'][data-disabled='true'] {\n opacity: 0.7;\n}\n";
3
3
  /**
4
4
  * Inject the pack's stylesheet into a document's `<head>` exactly once.
5
5
  * Idempotent: subsequent calls (including from other components) detect the
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAubA,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,+wXAAgC,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgBvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAkfA,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,47bAAgC,CAAC;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgBvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC"}
package/dist/ui/styles.js CHANGED
@@ -431,6 +431,65 @@ textarea[data-civitai-ui-control] {
431
431
  [data-civitai-ui='collapse'] [data-civitai-ui-collapse-region] {
432
432
  padding-top: 4px;
433
433
  }
434
+
435
+ /* ----- SegmentedControl ----- */
436
+ [data-civitai-ui='segmented-control'] {
437
+ display: inline-flex;
438
+ flex-direction: row;
439
+ gap: 2px;
440
+ padding: 3px;
441
+ background: var(--ci-color-surface-2);
442
+ border: 1px solid var(--ci-color-border);
443
+ border-radius: var(--ci-radius);
444
+ vertical-align: middle;
445
+ }
446
+ [data-civitai-ui='segmented-control'][data-full-width='true'] {
447
+ display: flex;
448
+ width: 100%;
449
+ }
450
+ [data-civitai-ui='segmented-control'] [data-civitai-ui-segment] {
451
+ flex: 0 0 auto;
452
+ display: inline-flex;
453
+ align-items: center;
454
+ justify-content: center;
455
+ border: none;
456
+ border-radius: calc(var(--ci-radius) - 3px);
457
+ background: transparent;
458
+ color: var(--ci-color-text-dimmed);
459
+ font-family: var(--ci-font);
460
+ font-weight: 600;
461
+ line-height: 1;
462
+ white-space: nowrap;
463
+ cursor: pointer;
464
+ user-select: none;
465
+ transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
466
+ }
467
+ [data-civitai-ui='segmented-control'][data-full-width='true'] [data-civitai-ui-segment] {
468
+ flex: 1 1 0;
469
+ }
470
+ [data-civitai-ui='segmented-control'][data-size='sm'] [data-civitai-ui-segment] { height: 24px; padding: 0 12px; font-size: 13px; }
471
+ [data-civitai-ui='segmented-control'][data-size='md'] [data-civitai-ui-segment] { height: 30px; padding: 0 16px; font-size: 14px; }
472
+ [data-civitai-ui='segmented-control'][data-size='lg'] [data-civitai-ui-segment] { height: 38px; padding: 0 20px; font-size: 16px; }
473
+ [data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:hover:not(:disabled):not([data-active]) {
474
+ color: var(--ci-color-text);
475
+ background: color-mix(in srgb, var(--ci-color-text) 6%, transparent);
476
+ }
477
+ [data-civitai-ui='segmented-control'] [data-civitai-ui-segment][data-active] {
478
+ background: var(--ci-color-surface);
479
+ color: var(--ci-color-primary);
480
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
481
+ }
482
+ [data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:focus-visible {
483
+ outline: 2px solid var(--ci-color-primary);
484
+ outline-offset: 1px;
485
+ }
486
+ [data-civitai-ui='segmented-control'] [data-civitai-ui-segment]:disabled {
487
+ opacity: 0.55;
488
+ cursor: not-allowed;
489
+ }
490
+ [data-civitai-ui='segmented-control'][data-disabled='true'] {
491
+ opacity: 0.7;
492
+ }
434
493
  `;
435
494
  /** The full stylesheet shipped by the pack. Exported for SSR/manual use. */
436
495
  export const BLOCKS_UI_STYLES = `${TOKENS}\n${COMPONENT_CSS}`;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AAEH,6EAA6E;AAC7E,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyWrB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,MAAM,KAAK,aAAa,EAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAc;IAC/C,MAAM,MAAM,GACV,GAAG,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,yCAAyC;IACzC,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,YAAY,GAAG,CAAC;QAAE,OAAO;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AAEH,6EAA6E;AAC7E,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoarB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,MAAM,KAAK,aAAa,EAAE,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAc;IAC/C,MAAM,MAAM,GACV,GAAG,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,yCAAyC;IACzC,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,YAAY,GAAG,CAAC;QAAE,OAAO;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,oEAAoE;QACpE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civitai/blocks-react",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "React hooks and iframe transport for Civitai Apps. Pairs with @civitai/app-sdk/blocks.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -43,7 +43,7 @@
43
43
  "react-dom": "^19.0.0",
44
44
  "typescript": "^5.9.2",
45
45
  "vitest": "^4.1.7",
46
- "@civitai/app-sdk": "^0.25.0"
46
+ "@civitai/app-sdk": "^0.25.1"
47
47
  },
48
48
  "publishConfig": {
49
49
  "access": "public"