@fragmentsx/fragments-client 0.1.0 → 0.2.0-dev-20260901074721
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 +8 -2
- package/dist/$area/assets-readiness.test.d.ts +13 -0
- package/dist/$area/assets-readiness.test.d.ts.map +1 -0
- package/dist/$area/index.d.ts +30 -1
- package/dist/$area/index.d.ts.map +1 -1
- package/dist/$cssChunks/index.d.ts +1 -6
- package/dist/$cssChunks/index.d.ts.map +1 -1
- package/dist/$fragments/index.d.ts +16 -2
- package/dist/$fragments/index.d.ts.map +1 -1
- package/dist/$fragments/index.test.d.ts +3 -0
- package/dist/$fragments/index.test.d.ts.map +1 -1
- package/dist/createFragmentsClient.d.ts +15 -7
- package/dist/createFragmentsClient.d.ts.map +1 -1
- package/dist/dist-declarations.test.d.ts +2 -0
- package/dist/dist-declarations.test.d.ts.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +935 -870
- package/dist/namespaces.d.ts +92 -0
- package/dist/namespaces.d.ts.map +1 -0
- package/dist/stylesheet.d.ts +33 -0
- package/dist/stylesheet.d.ts.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,13 +30,19 @@ pnpm add @fragmentsx/fragments-client
|
|
|
30
30
|
import { createFragmentsClient } from '@fragmentsx/fragments-client';
|
|
31
31
|
|
|
32
32
|
const client = createFragmentsClient({
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
apiToken: process.env.FRAGMENTS_API_TOKEN,
|
|
34
|
+
backendEndpoint: 'https://api.example.com',
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
const area = await client.$area.resolve('home');
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
`apiToken` обязателен. Остальные опции — `backendEndpoint` (источник
|
|
41
|
+
манифеста; по умолчанию `window.location.origin`), `projectId?: number`,
|
|
42
|
+
`referer?`, `timeout?`, `plugins?` и `inject?` (callback монтирования CSS в
|
|
43
|
+
DOM; в браузере передайте `injectStylesheet` из `@fragmentsx/runtime-react`
|
|
44
|
+
или используйте готовый `createBrowserClient` оттуда же).
|
|
45
|
+
|
|
40
46
|
## Пара с runtime-react
|
|
41
47
|
|
|
42
48
|
`@fragmentsx/runtime-react` — React-обвязка над этим пакетом
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Гейт инварианта D-2 (quick-260831-etq): пока в браузере грузятся вложенные
|
|
3
|
+
* ассеты области (JS-модули + CSS фрагментов, CSS-чанки), `$area` не должна
|
|
4
|
+
* выглядеть разрешённой ни для `has`, ни для `read` — иначе Suspense
|
|
5
|
+
* раскрывается раньше времени и вся правка FOUC обнуляется.
|
|
6
|
+
*
|
|
7
|
+
* Environment пакета — node (`vitest.config.ts`), поэтому реальный `isBrowser`
|
|
8
|
+
* здесь `false`; для этого файла он подменяется на модульном уровне —
|
|
9
|
+
* `vi.mock("../utils/isBrowser", ...)` — иначе гейт D-2 (браузерная ветка
|
|
10
|
+
* `$area.resolve`) не будет достигнут вовсе.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=assets-readiness.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assets-readiness.test.d.ts","sourceRoot":"","sources":["../../src/$area/assets-readiness.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
package/dist/$area/index.d.ts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { Plugin } from '@graph-state/core';
|
|
2
2
|
import { ResolvedValue } from '../types';
|
|
3
|
+
import { InjectFn } from '../stylesheet';
|
|
3
4
|
/**
|
|
4
5
|
* Тип resolved value из $area.resolve — subset manifest без fragment refs.
|
|
5
6
|
* useArea (Plan 07) потребляет именно этот контракт.
|
|
6
7
|
*/
|
|
7
8
|
export interface AreaResolveResult {
|
|
8
9
|
rootFragmentId: number;
|
|
10
|
+
/**
|
|
11
|
+
* Quick 260831-dor (INT-10): id выбранного варианта — вход для атрибуции
|
|
12
|
+
* на стороне площадки-потребителя. Обязательное и nullable, а не `?`:
|
|
13
|
+
* потребитель делает одну проверку на `null`, а не две (отсутствие поля
|
|
14
|
+
* vs присутствие с undefined). `null`, а не `0` — у числа нет честного
|
|
15
|
+
* «пустого» обитателя: `0` неотличим от настоящего id и молча испортил бы
|
|
16
|
+
* префикс атрибуции, то есть превратил бы громкий сбой в тихий. `null` —
|
|
17
|
+
* честное «сервер не сообщил».
|
|
18
|
+
*/
|
|
19
|
+
variantId: number | null;
|
|
9
20
|
/**
|
|
10
21
|
* Phase 73, B-02/B-06: готовые значения props корневого артефакта — привязки
|
|
11
22
|
* `{$ref:{scope,name}}` из `Variant.props` уже разрешены сервером. Автоподстановки
|
|
@@ -38,6 +49,14 @@ export interface AreaNamespace {
|
|
|
38
49
|
* - Miss → вызывает state.$fetch.get(), populate side-effects.
|
|
39
50
|
* - Concurrent calls для того же code → dedup через in-flight Map.
|
|
40
51
|
*
|
|
52
|
+
* quick-260831-etq (D-2/D-7): семантика расширена — в браузере промис
|
|
53
|
+
* резолвится не по приходу манифеста, а по settled-готовности вложенных
|
|
54
|
+
* ассетов (JS-модули + CSS всех фрагментов манифеста, включая вложенные, +
|
|
55
|
+
* CSS-чанки). Сбой или таймаут загрузки CSS трактуются как готовность —
|
|
56
|
+
* область раскрывается без стилей, а не зависает; сбой JS-модуля идёт
|
|
57
|
+
* прежним маршрутом (`FragmentsLoadError` из `$fragments.read`). На сервере
|
|
58
|
+
* (`isBrowser === false`) ожидание не стартует вовсе.
|
|
59
|
+
*
|
|
41
60
|
* @param code - area code
|
|
42
61
|
* @param opts.timeout - таймаут в мс (AbortSignal.timeout — через fetchPlugin)
|
|
43
62
|
*/
|
|
@@ -61,9 +80,19 @@ export interface AreaNamespace {
|
|
|
61
80
|
has: (code: string) => boolean;
|
|
62
81
|
}
|
|
63
82
|
/**
|
|
64
|
-
*
|
|
83
|
+
* createAreaPlugin — фабрика areaPlugin с DI seam для DOM-инъекции
|
|
84
|
+
* (quick-260831-etq, D-5: `globalCssUrl` — поле области, инжектится здесь, а
|
|
85
|
+
* не в `$fragments.populate`).
|
|
65
86
|
*
|
|
66
87
|
* Все cache Map'ы per-state (closure-scoped) → per-request SSR isolation natural (D-13).
|
|
67
88
|
*/
|
|
89
|
+
export declare function createAreaPlugin(opts: {
|
|
90
|
+
inject: InjectFn;
|
|
91
|
+
}): Plugin;
|
|
92
|
+
/**
|
|
93
|
+
* Pre-baked instance — обратная совместимость для прямых импортов и
|
|
94
|
+
* существующих тестов (quick-260831-etq). Без канала готовности: default
|
|
95
|
+
* inject не несёт `loaded`, `readyOf` трактует это как «ждать нечего».
|
|
96
|
+
*/
|
|
68
97
|
export declare const areaPlugin: Plugin;
|
|
69
98
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$area/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$area/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAuB,aAAa,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAe9C;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnF;;;;;OAKG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAC1C;;;;;;OAMG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,MAAM,CA2JnE;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAqD,CAAC"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { Plugin } from '@graph-state/core';
|
|
2
|
-
|
|
3
|
-
* Тип функции injection — принимает URL и ключ, возвращает cleanup callback.
|
|
4
|
-
* Реализуется через `injectStylesheet` из `@fragmentsx/runtime-react`.
|
|
5
|
-
* В SSR (isBrowser = false) — injectStylesheet сам возвращает noop.
|
|
6
|
-
*/
|
|
7
|
-
type InjectFn = (href: string, key: string) => () => void;
|
|
2
|
+
import { InjectFn } from '../stylesheet';
|
|
8
3
|
/**
|
|
9
4
|
* Опции factory.
|
|
10
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$cssChunks/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$cssChunks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,UAAU,iCAAiC;IACzC;;;;OAIG;IACH,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iCAAiC,GAAG,MAAM,CAmC1F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Plugin } from '@graph-state/core';
|
|
2
2
|
import { FragmentRef } from '../types';
|
|
3
|
+
import { InjectFn } from '../stylesheet';
|
|
3
4
|
/**
|
|
4
5
|
* DI importer seam — signature для production и тестового importer'а.
|
|
5
6
|
* Default: `(url) => import(url)` (native dynamic import).
|
|
@@ -23,10 +24,16 @@ export interface CreateFragmentsCachePluginOpts {
|
|
|
23
24
|
* Передайте `vi.fn()` mock в тестах (WARNING-2 resolution).
|
|
24
25
|
*/
|
|
25
26
|
importer?: Importer;
|
|
27
|
+
/**
|
|
28
|
+
* DI seam для ранней DOM-инъекции собственного CSS фрагмента (quick-260831-etq,
|
|
29
|
+
* D-5): вызывается ровно один раз на новый id с непустым `ref.cssUrl`.
|
|
30
|
+
* Default — no-op cleanup без канала готовности (SSR/test).
|
|
31
|
+
*/
|
|
32
|
+
inject?: InjectFn;
|
|
26
33
|
}
|
|
27
34
|
/**
|
|
28
35
|
* Публичный тип $fragments namespace — используется downstream (runtime-react).
|
|
29
|
-
* Typed augmentation GraphState.$fragments в src/
|
|
36
|
+
* Typed augmentation GraphState.$fragments в src/namespaces.ts (D-05).
|
|
30
37
|
*/
|
|
31
38
|
export interface FragmentsCacheNamespace {
|
|
32
39
|
/** Проверяет наличие id в кэше (любой status). */
|
|
@@ -43,8 +50,15 @@ export interface FragmentsCacheNamespace {
|
|
|
43
50
|
* Populate кэша параллельными `import(moduleUrl)` вызовами.
|
|
44
51
|
* Idempotent: уже cached id → skip.
|
|
45
52
|
* Cross-area dedup natural — один import() per unique id.
|
|
53
|
+
*
|
|
54
|
+
* quick-260831-etq (D-2/D-3/D-5): возвращает `Promise<void>`, который
|
|
55
|
+
* settles, когда settled все промисы импорта модулей и все `assetsLoaded`
|
|
56
|
+
* (готовность собственного CSS и шрифтов) по ВСЕМ id из `refs` — включая
|
|
57
|
+
* id, уже закэшированные ранее (cross-area dedup). Отклонённый импорт/CSS
|
|
58
|
+
* не отвергает возвращённый промис (`allSettled`) — потребители,
|
|
59
|
+
* игнорирующие возврат, продолжают работать как раньше.
|
|
46
60
|
*/
|
|
47
|
-
populate: (refs: Record<number, FragmentRef>) => void
|
|
61
|
+
populate: (refs: Record<number, FragmentRef>) => Promise<void>;
|
|
48
62
|
/**
|
|
49
63
|
* Sync getter для FragmentRef metadata (cssUrl, fontsUrl и т.д.).
|
|
50
64
|
* Используется Area composition для FragmentStylesheet preamble injection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$fragments/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/$fragments/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;;;;;GAQG;AACH,KAAK,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AA6CD;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;;;;;OAOG;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAChD;;;;;;;;;;;;OAYG;IACH,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;IAC/C;;;;;;;;;;;;;;OAcG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,CAAC,EAAE,8BAA8B,GACpC,MAAM,CAuJR;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAqC,CAAC"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* Тесты для $fragments cache namespace (Req #10 + D-08).
|
|
3
3
|
* Verifies Suspense protocol, idempotency, cross-area dedup через DI importer (WARNING-2 resolution).
|
|
4
4
|
* Test 8 — real-import smoke без DI для validation factory wiring.
|
|
5
|
+
*
|
|
6
|
+
* quick-260831-etq: гейт BLOCKER-4 на канале ранней DOM-инъекции CSS/шрифтов —
|
|
7
|
+
* см. describe-блок в конце файла.
|
|
5
8
|
*/
|
|
6
9
|
export {};
|
|
7
10
|
//# sourceMappingURL=index.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/$fragments/index.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/$fragments/index.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Plugin } from '@graph-state/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Production: `injectStylesheet` из `@fragmentsx/runtime-react`.
|
|
5
|
-
* Default: noop (для SSR и node/test environments).
|
|
6
|
-
*/
|
|
7
|
-
type InjectFn = (href: string, key: string) => () => void;
|
|
2
|
+
import { FilterOverrides } from './namespaces';
|
|
3
|
+
import { InjectFn } from './stylesheet';
|
|
8
4
|
/**
|
|
9
5
|
* Options для createFragmentsClient.
|
|
10
6
|
*
|
|
@@ -23,6 +19,19 @@ export interface Options {
|
|
|
23
19
|
* Production: `inject = injectStylesheet` из `@fragmentsx/runtime-react`.
|
|
24
20
|
*/
|
|
25
21
|
inject?: InjectFn;
|
|
22
|
+
/**
|
|
23
|
+
* quick 260830-rvp, INT-07: значения таргетинга (гео/ip/устройство/страница),
|
|
24
|
+
* уходящие в заголовки `X-Filter-*` при каждом запросе (fetchPlugin читает их
|
|
25
|
+
* лениво из `state.env.filterOverrides`). Живая смена после создания клиента —
|
|
26
|
+
* через `client.setFilters(...)`, монтируемый ниже.
|
|
27
|
+
*/
|
|
28
|
+
filterOverrides?: FilterOverrides;
|
|
29
|
+
/**
|
|
30
|
+
* quick 260830-rvp, INT-07: включает заголовок `X-Debug` на каждом запросе.
|
|
31
|
+
* Задаётся только при создании клиента — живого сеттера намеренно нет
|
|
32
|
+
* (T-rvp-02): флаг нельзя поднять из пользовательского ввода на лету.
|
|
33
|
+
*/
|
|
34
|
+
debug?: boolean;
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Создаёт compiled-only GraphState client.
|
|
@@ -32,5 +41,4 @@ export interface Options {
|
|
|
32
41
|
* const client = createFragmentsClient({ apiToken: 'your-token' });
|
|
33
42
|
*/
|
|
34
43
|
export declare const createFragmentsClient: (options: Options) => import('@graph-state/core').GraphState<import('@graph-state/core').SystemFields, "GlobalManager">;
|
|
35
|
-
export {};
|
|
36
44
|
//# sourceMappingURL=createFragmentsClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFragmentsClient.d.ts","sourceRoot":"","sources":["../src/createFragmentsClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"createFragmentsClient.d.ts","sourceRoot":"","sources":["../src/createFragmentsClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAe7C;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,sGAmErD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-declarations.test.d.ts","sourceRoot":"","sources":["../src/dist-declarations.test.ts"],"names":[],"mappings":""}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ze=require("@graph-state/core"),et=require("@graph-state/checkers");class q extends Error{constructor(r,t,a,u){super(t),this.code=r,this.details=a,this.status=u,this.name="FragmentsAreaError",Object.setPrototypeOf(this,q.prototype)}}class X extends Error{constructor(r,t){super(`Manifest apiVersion mismatch: expected ${r}, received ${t}`),this.expected=r,this.received=t,this.name="FragmentsApiVersionError",Object.setPrototypeOf(this,X.prototype)}}class W extends Error{constructor(r,t,a){super(`Failed to load fragment ${r} from ${t}`),this.fragmentId=r,this.moduleUrl=t,this.cause=a,this.name="FragmentsLoadError",Object.setPrototypeOf(this,W.prototype)}}const j=(...e)=>e.reduce((r,t)=>(r[t]=t,r),{}),O=j("Fragment","FragmentInstance","Instance","Collection","ArrayItem","Breakpoint","Frame","Image","Text","SolidPaintStyle","CssLink","Variable","ComputedValue","TransformValue","StopColor","LinearGradient","CssChunk","Border","Paint","Link","Interaction","Classname","GoalEvent","MutateEvent","TextHighlight","TextStyleMark","ImagePaint"),H=j("auto","fill"),ne=j("None","Solid","Dashed","Dotted"),tt=j("_blank","none"),ae=j("None","Solid","LinearGradient","RadialGradient","ConicGradient","Image"),le=j("Auto","Contain","Cover"),rt=j("Min","Center","Max","Stretch","Scale"),ie=j("absolute","relative"),V=j("Fixed","Hug","Fill","Relative"),se=j("none","flex"),oe=j("vertical","horizontal"),ce=j("start","center","end"),ue=j("start","center","end","space-between","space-around"),Ee=j("none","uppercase","lowercase","capitalize"),J=j("none","underline","line-through"),nt=j("loop","appear","hover","tap"),at=j("fade","slide","bounce","wiggle","increase"),g=j("Event","String","Link","Boolean","Array","Color","ComponentInstance","Date","Enum","Number","Image","Object","Goal"),fe=j("normal","nowrap","pre","pre-wrap","pre-line","break-spaces"),pe=j("visible","hidden","scroll"),lt=j("convert","exists","equals","startWith","endWith","contains","dateBefore","dateAfter","dateBetween","feature","notFeature","gt","gte","lt","lte","convertFromBoolean","negative"),it=j("canvas","document"),st=j("viewport","parent","fixed"),Ce=j("click","mouseover","appear"),he=j("goal","mutate","callback","tracker"),ot=j("AreaScope","InstanceScope","FragmentScope","CollectionScope","CollectionItemScope"),ct=j("Global","Fragment"),Oe=3,ut=Object.freeze(Object.defineProperty({__proto__:null,MAX_SCHEMA_DEPTH:Oe,borderType:ne,constrain:rt,createConstants:j,cssChunkScopeTypes:ct,effectName:at,effectType:nt,eventMode:he,fragmentGrowingMode:H,imagePaintScaleModes:le,interactions:Ce,layerAlign:ce,layerDirection:oe,layerDistribute:ue,layerMode:se,linkTarget:tt,nodes:O,overflow:pe,paintMode:ae,positionType:ie,renderMode:st,renderTarget:it,scopeTypes:ot,sizing:V,textDecorations:J,textTransform:Ee,variableTransforms:lt,variableType:g,whiteSpace:fe},Symbol.toStringTag,{value:"Module"}));function ft(e){return{lang:(e==null?void 0:e.lang)??void 0,message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??void 0,abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??void 0}}function pt(e,r){var t;return(t=void 0)==null?void 0:t.get(r)}function L(e){var r,t;const a=typeof e;return a==="string"?`"${e}"`:a==="number"||a==="bigint"||a==="boolean"?`${e}`:a==="object"||a==="function"?(e&&((t=(r=Object.getPrototypeOf(e))==null?void 0:r.constructor)==null?void 0:t.name))??"null":a}function w(e,r,t,a,u){const c=u&&"input"in u?u.input:t.value,o=(u==null?void 0:u.expected)??e.expects??null,i=(u==null?void 0:u.received)??L(c),f={kind:e.kind,type:e.type,input:c,expected:o,received:i,message:`Invalid ${r}: ${o?`Expected ${o} but r`:"R"}eceived ${i}`,requirement:e.requirement,path:u==null?void 0:u.path,issues:u==null?void 0:u.issues,lang:a.lang,abortEarly:a.abortEarly,abortPipeEarly:a.abortPipeEarly},m=e.kind==="schema",p=(u==null?void 0:u.message)??e.message??pt(e.reference,f.lang)??(m?(f.lang,void 0):null)??a.message??(f.lang,void 0);p!==void 0&&(f.message=typeof p=="function"?p(f):p),m&&(t.typed=!1),t.issues?t.issues.push(f):t.issues=[f]}function P(e){return{version:1,vendor:"valibot",validate(r){return e["~run"]({value:r},ft())}}}function Te(e,r){return Object.hasOwn(e,r)&&r!=="__proto__"&&r!=="prototype"&&r!=="constructor"}function K(e,r){const t=[...new Set(e)];return t.length>1?`(${t.join(` ${r} `)})`:t[0]??"never"}function we(e,r){return{kind:"validation",type:"check",reference:we,async:!1,expects:null,requirement:e,message:r,"~run"(t,a){return t.typed&&!this.requirement(t.value)&&w(this,"input",t,a),t}}}function be(e,r){return{kind:"validation",type:"max_value",reference:be,async:!1,expects:`<=${e instanceof Date?e.toJSON():L(e)}`,requirement:e,message:r,"~run"(t,a){return t.typed&&!(t.value<=this.requirement)&&w(this,"value",t,a,{received:t.value instanceof Date?t.value.toJSON():L(t.value)}),t}}}function Pe(e){return{kind:"metadata",type:"metadata",reference:Pe,metadata:e}}function B(e,r){return{kind:"validation",type:"min_value",reference:B,async:!1,expects:`>=${e instanceof Date?e.toJSON():L(e)}`,requirement:e,message:r,"~run"(t,a){return t.typed&&!(t.value>=this.requirement)&&w(this,"value",t,a,{received:t.value instanceof Date?t.value.toJSON():L(t.value)}),t}}}function Fe(e){return{kind:"transformation",type:"transform",reference:Fe,async:!1,operation:e,"~run"(r){return r.value=this.operation(r.value),r}}}function Ie(e,r,t){return typeof e.fallback=="function"?e.fallback(r,t):e.fallback}function U(e,r,t){return typeof e.default=="function"?e.default(r,t):e.default}function ye(){return{kind:"schema",type:"any",reference:ye,expects:"any",async:!1,get"~standard"(){return P(this)},"~run"(e){return e.typed=!0,e}}}function M(e,r){return{kind:"schema",type:"array",reference:M,expects:"Array",async:!1,item:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){var u;const c=t.value;if(Array.isArray(c)){t.typed=!0,t.value=[];for(let o=0;o<c.length;o++){const i=c[o],f=this.item["~run"]({value:i},a);if(f.issues){const m={type:"array",origin:"value",input:c,key:o,value:i};for(const p of f.issues)p.path?p.path.unshift(m):p.path=[m],(u=t.issues)==null||u.push(p);if(t.issues||(t.issues=f.issues),a.abortEarly){t.typed=!1;break}}f.typed||(t.typed=!1),t.value.push(f.value)}}else w(this,"type",t,a);return t}}}function v(e){return{kind:"schema",type:"boolean",reference:v,expects:"boolean",async:!1,message:e,get"~standard"(){return P(this)},"~run"(r,t){return typeof r.value=="boolean"?r.typed=!0:w(this,"type",r,t),r}}}function R(e,r){const t=[];for(const a in e)(`${+a}`!==a||typeof e[a]!="string"||!Object.is(e[e[a]],+a))&&t.push(e[a]);return{kind:"schema",type:"enum",reference:R,expects:K(t.map(L),"|"),async:!1,enum:e,options:t,message:r,get"~standard"(){return P(this)},"~run"(a,u){return this.options.includes(a.value)?a.typed=!0:w(this,"type",a,u),a}}}function Y(e){return{kind:"schema",type:"lazy",reference:Y,expects:"unknown",async:!1,getter:e,get"~standard"(){return P(this)},"~run"(r,t){return this.getter(r.value)["~run"](r,t)}}}function F(e,r){return{kind:"schema",type:"literal",reference:F,expects:L(e),async:!1,literal:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){return t.value===this.literal?t.typed=!0:w(this,"type",t,a),t}}}function de(e,r){return{kind:"schema",type:"loose_object",reference:de,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){var u;const c=t.value;if(c&&typeof c=="object"){t.typed=!0,t.value={};for(const o in this.entries){const i=this.entries[o];if(o in c||(i.type==="exact_optional"||i.type==="optional"||i.type==="nullish")&&i.default!==void 0){const f=o in c?c[o]:U(i),m=i["~run"]({value:f},a);if(m.issues){const p={type:"object",origin:"value",input:c,key:o,value:f};for(const h of m.issues)h.path?h.path.unshift(p):h.path=[p],(u=t.issues)==null||u.push(h);if(t.issues||(t.issues=m.issues),a.abortEarly){t.typed=!1;break}}m.typed||(t.typed=!1),t.value[o]=m.value}else if(i.fallback!==void 0)t.value[o]=Ie(i);else if(i.type!=="exact_optional"&&i.type!=="optional"&&i.type!=="nullish"&&(w(this,"key",t,a,{input:void 0,expected:`"${o}"`,path:[{type:"object",origin:"key",input:c,key:o,value:c[o]}]}),a.abortEarly))break}if(!t.issues||!a.abortEarly)for(const o in c)Te(c,o)&&!(o in this.entries)&&(t.value[o]=c[o])}else w(this,"type",t,a);return t}}}function Ae(e){return{kind:"schema",type:"never",reference:Ae,expects:"never",async:!1,message:e,get"~standard"(){return P(this)},"~run"(r,t){return w(this,"type",r,t),r}}}function S(e,r){return{kind:"schema",type:"nullable",reference:S,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:r,get"~standard"(){return P(this)},"~run"(t,a){return t.value===null&&(this.default!==void 0&&(t.value=U(this,t,a)),t.value===null)?(t.typed=!0,t):this.wrapped["~run"](t,a)}}}function y(e){return{kind:"schema",type:"number",reference:y,expects:"number",async:!1,message:e,get"~standard"(){return P(this)},"~run"(r,t){return typeof r.value=="number"&&!isNaN(r.value)?r.typed=!0:w(this,"type",r,t),r}}}function b(e,r){return{kind:"schema",type:"object",reference:b,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){var u;const c=t.value;if(c&&typeof c=="object"){t.typed=!0,t.value={};for(const o in this.entries){const i=this.entries[o];if(o in c||(i.type==="exact_optional"||i.type==="optional"||i.type==="nullish")&&i.default!==void 0){const f=o in c?c[o]:U(i),m=i["~run"]({value:f},a);if(m.issues){const p={type:"object",origin:"value",input:c,key:o,value:f};for(const h of m.issues)h.path?h.path.unshift(p):h.path=[p],(u=t.issues)==null||u.push(h);if(t.issues||(t.issues=m.issues),a.abortEarly){t.typed=!1;break}}m.typed||(t.typed=!1),t.value[o]=m.value}else if(i.fallback!==void 0)t.value[o]=Ie(i);else if(i.type!=="exact_optional"&&i.type!=="optional"&&i.type!=="nullish"&&(w(this,"key",t,a,{input:void 0,expected:`"${o}"`,path:[{type:"object",origin:"key",input:c,key:o,value:c[o]}]}),a.abortEarly))break}}else w(this,"type",t,a);return t}}}function s(e,r){return{kind:"schema",type:"optional",reference:s,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:r,get"~standard"(){return P(this)},"~run"(t,a){return t.value===void 0&&(this.default!==void 0&&(t.value=U(this,t,a)),t.value===void 0)?(t.typed=!0,t):this.wrapped["~run"](t,a)}}}function T(e,r){return{kind:"schema",type:"picklist",reference:T,expects:K(e.map(L),"|"),async:!1,options:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){return this.options.includes(t.value)?t.typed=!0:w(this,"type",t,a),t}}}function z(e,r,t){return{kind:"schema",type:"record",reference:z,expects:"Object",async:!1,key:e,value:r,message:t,get"~standard"(){return P(this)},"~run"(a,u){var c,o;const i=a.value;if(i&&typeof i=="object"){a.typed=!0,a.value={};for(const f in i)if(Te(i,f)){const m=i[f],p=this.key["~run"]({value:f},u);if(p.issues){const d={type:"object",origin:"key",input:i,key:f,value:m};for(const k of p.issues)k.path=[d],(c=a.issues)==null||c.push(k);if(a.issues||(a.issues=p.issues),u.abortEarly){a.typed=!1;break}}const h=this.value["~run"]({value:m},u);if(h.issues){const d={type:"object",origin:"value",input:i,key:f,value:m};for(const k of h.issues)k.path?k.path.unshift(d):k.path=[d],(o=a.issues)==null||o.push(k);if(a.issues||(a.issues=h.issues),u.abortEarly){a.typed=!1;break}}(!p.typed||!h.typed)&&(a.typed=!1),p.typed&&(a.value[p.value]=h.value)}}else w(this,"type",a,u);return a}}}function l(e){return{kind:"schema",type:"string",reference:l,expects:"string",async:!1,message:e,get"~standard"(){return P(this)},"~run"(r,t){return typeof r.value=="string"?r.typed=!0:w(this,"type",r,t),r}}}function Se(e){let r;if(e)for(const t of e)r?r.push(...t.issues):r=t.issues;return r}function $(e,r){return{kind:"schema",type:"union",reference:$,expects:K(e.map(t=>t.expects),"|"),async:!1,options:e,message:r,get"~standard"(){return P(this)},"~run"(t,a){let u,c,o;for(const i of this.options){const f=i["~run"]({value:t.value},a);if(f.typed)if(f.issues)c?c.push(f):c=[f];else{u=f;break}else o?o.push(f):o=[f]}if(u)return u;if(c){if(c.length===1)return c[0];w(this,"type",t,a,{issues:Se(c)}),t.typed=!0}else{if((o==null?void 0:o.length)===1)return o[0];w(this,"type",t,a,{issues:Se(o)})}return t}}}function Q(){return{kind:"schema",type:"unknown",reference:Q,expects:"unknown",async:!1,get"~standard"(){return P(this)},"~run"(e){return e.typed=!0,e}}}function Me(e,r,t){return{kind:"schema",type:"variant",reference:Me,expects:"Object",async:!1,key:e,options:r,message:t,get"~standard"(){return P(this)},"~run"(a,u){const c=a.value;if(c&&typeof c=="object"){let o,i=0,f=this.key,m=[];const p=(h,d)=>{for(const k of h.options){if(k.type==="variant")p(k,new Set(d).add(k.key));else{let E=!0,A=0;for(const x of d){const G=k.entries[x];if(x in c?G["~run"]({typed:!1,value:c[x]},u).issues:G.type!=="exact_optional"&&G.type!=="optional"&&G.type!=="nullish"){E=!1,f!==x&&(i<A||i===A&&x in c&&!(f in c))&&(i=A,f=x,m=[]),f===x&&m.push(k.entries[x].expects);break}A++}if(E){const x=k["~run"]({value:c},u);(!o||!o.typed&&x.typed)&&(o=x)}}if(o&&!o.issues)break}};if(p(this,new Set([this.key])),o)return o;w(this,"type",a,u,{input:c[f],expected:K(m,"|"),path:[{type:"object",origin:"value",input:c,key:f,value:c[f]}]})}else w(this,"type",a,u);return a}}}function _(...e){return{...e[0],pipe:e,get"~standard"(){return P(this)},"~run"(r,t){for(const a of e)if(a.kind!=="metadata"){if(r.issues&&(a.kind==="schema"||a.kind==="transformation")){r.typed=!1;break}(!r.issues||!t.abortEarly&&!t.abortPipeEarly)&&(r=a["~run"](r,t))}return r}}}const _e=we(e=>e.split(":").length===2),me=e=>{const r=t=>typeof t=="number"?`${t}px`:t;return n($([y(),l()]),{...e,fallback:e==null?void 0:e.fallback,transform:r})},C=_(l(),_e),n=(e,r)=>{const t=(r==null?void 0:r.overridable)??!0,a=(r==null?void 0:r.variable)??!1,u=[e];return a&&u.push(_(l(),_e)),t&&u.push(ye()),_(s($(u)),Fe((r==null?void 0:r.transform)??(c=>c)),Pe(r??{}))},ve=b({children:n(M(l()),{fallback:[],overridable:!1})}),I=b({_id:$([l(),y()]),_type:T(Object.keys(O))}),D=b({overrides:n(M(l()),{overridable:!1}),overrideFrom:n(S(l()),{overridable:!1})}),Z=b({position:n(R(Object.keys(ie)),{fallback:ie.absolute}),top:n(S(y()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),left:n(S(y()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),right:n(S(y()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),bottom:n(S(y()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),centerAnchorX:n(y(),{fallback:.5}),centerAnchorY:n(y(),{fallback:.5})}),ee=b({opacity:n(_(y(),B(0),be(1)),{fallback:1,variable:!0}),visible:n(v(),{fallback:!0,variable:!0}),rotate:n(y(),{fallback:null}),zIndex:n(y(),{fallback:null}),classnames:n(M(C),{fallback:[]})}),te=b({widthType:n(T(Object.keys(V)),{fallback:V.Fixed}),heightType:n(T(Object.keys(V)),{fallback:V.Fixed}),width:n(_(y(),B(0)),{fallback:0,transform:Math.ceil}),height:n(_(y(),B(0)),{fallback:0,transform:Math.ceil}),aspectRatio:n(y(),{fallback:-1}),minWidth:n(S(_(y(),B(-1))),{fallback:-1,transform:Math.ceil}),minWidthType:n(T(Object.keys(V)),{fallback:V.Fixed}),maxWidth:n(S(_(y(),B(-1))),{fallback:-1,transform:Math.ceil}),maxWidthType:n(T(Object.keys(V)),{fallback:V.Fixed}),minHeight:n(S(_(y(),B(-1))),{fallback:-1,transform:Math.ceil}),minHeightType:n(T(Object.keys(V)),{fallback:V.Fixed}),maxHeight:n(S(_(y(),B(-1))),{fallback:-1,transform:Math.ceil}),maxHeightType:n(T(Object.keys(V)),{fallback:V.Fixed})}),$e=b({layerMode:n(T(Object.keys(se)),{fallback:se.none}),layerAlign:n(T(Object.keys(ce)),{fallback:ce.start}),layerDirection:n(T(Object.keys(oe)),{fallback:oe.horizontal}),layerDistribute:n(T(Object.keys(ue)),{fallback:ue.start}),layerWrap:n(v(),{fallback:!1}),layerGap:n(_(y(),B(0)),{fallback:0}),padding:me({fallback:"0px"})}),ht=n(T(Object.keys(pe)),{fallback:pe.hidden}),bt=me({fallback:"0px"}),re=b({interactions:n(M(C),{fallback:[]})}),ke=b({cssOverride:n(l(),{fallback:""})}),yt=_(b({name:n(l(),{fallback:"Frame",overridable:!1}),isBreakpoint:n(v(),{fallback:!1,overridable:!1}),isPrimary:n(v(),{fallback:!1,overridable:!1}),border:n(C),paint:n(C),link:n(C),...ve.entries,...I.entries,...D.entries,parent:n(S(l()),{overridable:!1}),...Z.entries,...ee.entries,...te.entries,...$e.entries,...re.entries,...ke.entries,overflow:ht,borderRadius:bt})),dt=b({type:F("text"),text:l(),marks:s(M(b({rangeKey:l()})))}),mt=b({type:F("mention"),ref:l(),fallback:s(l())}),vt=b({type:F("hardBreak")}),kt=$([dt,mt,vt]),gt=b({type:F("paragraph"),content:M(kt)}),St=b({type:F("doc"),content:M(gt)}),xt=b({name:n(l(),{fallback:"Text",overridable:!1}),content:n(l(),{fallback:""}),doc:n(St,{fallback:{type:"doc",content:[]}}),styleRanges:n(M(C),{fallback:[]}),whiteSpace:n(R(Object.keys(fe)),{fallback:fe.pre}),textAlign:n(l(),{fallback:"left"}),fontSize:n(y(),{fallback:null,variable:!0}),fontWeight:n($([l(),y()]),{fallback:null,variable:!0}),fontFamily:n(l(),{fallback:null,variable:!0}),color:n(l(),{fallback:null,variable:!0}),lineHeight:n(y(),{fallback:null,variable:!0}),letterSpacing:n(y(),{fallback:null,variable:!0}),textDecoration:n(T(Object.keys(J)),{fallback:null}),textTransform:n(T(Object.keys(Ee)),{fallback:null}),parent:n(S(l()),{overridable:!1}),link:n(C),highlight:n(C),contentBinding:n(C),...I.entries,...D.entries,...ke.entries,...Z.entries,...ee.entries,...te.entries,...re.entries}),jt=b({name:n(l(),{fallback:"Fragment",overridable:!1}),parent:n(S(l()),{overridable:!1}),horizontalGrow:n(R(Object.keys(H)),{fallback:H.fill,overridable:!1}),verticalGrow:n(R(Object.keys(H)),{fallback:H.auto,overridable:!1}),properties:n(M(l()),{fallback:[],overridable:!1}),propsObject:n(S(C),{fallback:null,overridable:!1}),cssChunks:n(M(C),{fallback:[],overridable:!1}),...I.entries,...ve.entries}),Et=b({name:n(l(),{fallback:"Instance",overridable:!1}),fragment:n(y()),parent:n(S(l()),{overridable:!1}),props:n($([C,z(l(),$([l(),y(),v(),b({code:l(),name:l()})]))]),{fallback:{}}),link:n(C),...I.entries,...D.entries,...Z.entries,...te.entries,...ee.entries,...re.entries}),Ct=_(b({name:n(l(),{fallback:"Collection",overridable:!1}),parent:n(S(l()),{overridable:!1}),source:n(C,{}),border:n(C),paint:n(C),link:n(C),...ve.entries,...I.entries,...D.entries,...Z.entries,...ee.entries,...te.entries,...$e.entries,...re.entries,...ke.entries})),Ot=b({...D.entries,parent:n(S(l()),{overridable:!1}),position:n(_(y(),be(1),B(0)),{fallback:0}),value:n(l(),{fallback:"#000",variable:!0}),...I.entries}),Tt=b({...D.entries,parent:n(S(l()),{overridable:!1}),angle:n(y(),{fallback:0}),stops:n(M(C),{fallback:[]}),...I.entries}),wt=b({parent:n(S(l()),{overridable:!1}),chunkId:n(y()),enabled:n(v(),{fallback:!0,variable:!0}),...I.entries}),Pt=b({...D.entries,parent:n(S(l()),{overridable:!1}),type:n(T(Object.keys(ne)),{fallback:ne.None}),width:me({fallback:"1px"}),paint:n(C),...I.entries}),Ft=b({...D.entries,parent:n(S(l()),{overridable:!1}),type:n(T(Object.keys(ae)),{fallback:ae.None}),solid:n(l(),{fallback:"#fff"}),linearGradient:n(C),image:n(C),...I.entries}),It=b({...I.entries,...D.entries,parent:n(S(l()),{overridable:!1}),src:n(l()),scale:n(T(Object.keys(le)),{fallback:le.Auto})}),At=b({...D.entries,...I.entries,parent:n(S(l()),{overridable:!1}),href:n(l(),{fallback:null}),isNewTab:n(v(),{fallback:!0})}),Mt=b({parent:n(S(l()),{overridable:!1}),...I.entries,on:R(Object.keys(Ce)),event:n(C)}),_t=b({parent:n(S(l()),{overridable:!1}),value:n(l(),{fallback:""}),enabled:n(v(),{fallback:!0,variable:!0}),...I.entries}),$t=b({parent:n(S(l()),{overridable:!1}),goalId:n(y(),{overridable:!1}),...I.entries}),Vt=b({parent:n(S(l()),{overridable:!1}),target:n(C),value:n(ye()),...I.entries}),Dt=b({color:n(l(),{fallback:null}),lineHeight:n(y(),{fallback:null}),fontSize:n(y(),{fallback:null}),fontWeight:n($([l(),y()]),{fallback:400}),fontFamily:n(l(),{fallback:null}),textDecoration:n(T(Object.keys(J)),{fallback:null}),parent:n(S(l()),{overridable:!1}),...I.entries}),Gt=b({...D.entries,parent:n(S(l()),{overridable:!1}),color:n(l(),{fallback:null,variable:!0}),fontSize:n(y(),{fallback:null,variable:!0}),fontWeight:n($([l(),y()]),{fallback:400,variable:!0}),fontFamily:n(l(),{fallback:null,variable:!0}),lineHeight:n(y(),{fallback:null,variable:!0}),letterSpacing:n(y(),{fallback:null,variable:!0}),textDecoration:n(T(Object.keys(J)),{fallback:null,variable:!0}),...I.entries}),Ve=b({name:s(l(),"Number"),type:s(F(g.Number),g.Number),defaultValue:s(y(),0),required:s(v(),!1),editable:s(v(),!0),min:s(y(),1),max:s(y(),100),step:s(y(),1),displayStepper:s(v(),!0)}),De=b({name:s(l(),"Boolean"),type:s(F(g.Boolean),g.Boolean),defaultValue:s(v(),!1),required:s(v(),!1),editable:s(v(),!0)}),Ge=b({name:s(l(),"String"),type:s(F(g.String),g.String),defaultValue:s(l(),""),required:s(v(),!1),editable:s(v(),!0),placeholder:s(l(),""),isTextarea:s(v(),!1),isRich:s(v(),!1)}),Be=b({name:s(l(),"String"),type:s(F(g.Color),g.Color),defaultValue:s(l(),"#000"),required:s(v(),!1),editable:s(v(),!0)}),Bt=b({name:s(l(),"Event"),type:s(F(g.Event),g.Event),mode:s(T(Object.keys(he)),he.callback),defaultValue:s(Q(),null),required:s(v(),!1),editable:s(v(),!0)}),Ne=b({name:s(l(),"Link"),type:s(F(g.Link),g.Link),defaultValue:s(l(),""),required:s(v(),!1),editable:s(v(),!0)}),Le=b({name:s(l(),"Option"),type:s(F(g.Enum),g.Enum),defaultValue:s(l(),""),required:s(v(),!1),editable:s(v(),!0),cases:s(M(b({id:l(),name:l()})),[])}),Re=b({name:s(l(),"Image"),type:s(F(g.Image),g.Image),defaultValue:s(S(l()),null),required:s(v(),!1),editable:s(v(),!0)});function He(e){return b({name:s(l(),"Object"),type:s(F(g.Object),g.Object),defaultValue:s(z(l(),Q()),{}),fields:s(z(l(),Y(()=>We(e+1))),{}),required:s(v(),!1),editable:s(v(),!0)})}function qe(e){return b({name:s(l(),"Collection"),type:s(F(g.Array),g.Array),defaultValue:s(M(Q()),[]),definition:s(S(Y(()=>We(e+1))),null),required:s(v(),!1),editable:s(v(),!0)})}function We(e){return e>Oe?Ae():Me("type",[Ge,Ve,De,Be,Le,Ne,Re,He(e),qe(e)])}const Nt=He(0),Lt=qe(0),Rt=b({name:s(l(),"Goal"),type:s(F(g.Goal),g.Goal),defaultValue:s(S(y()),null),required:s(v(),!1),editable:s(v(),!0)});g.Number+"",g.Boolean+"",g.String+"",g.Color+"",g.Event+"",g.Link+"",g.Enum+"",g.Object+"",g.Image+"",g.Array+"",g.Goal+"";O.Frame+"",O.Text+"",O.Fragment+"",O.Instance+"",O.Collection+"",O.StopColor+"",O.LinearGradient+"",O.CssChunk+"",O.Border+"",O.Paint+"",O.ImagePaint+"",O.Link+"",O.Interaction+"",O.Classname+"",O.GoalEvent+"",O.MutateEvent+"",O.TextHighlight+"",O.TextStyleMark+"";const ze=Y(()=>de({_type:l(),_id:$([l(),y()]),children:s(M($([l(),ze])))}));O.Fragment;const Xe=(...e)=>e.reduce((r,t)=>(r[t]=t,r),{}),Ht={"Content-Type":"application/json"},qt=(e,r={},t={})=>{const{timeout:a}=t,u=new Map;return{get:(i,f={})=>{const m=`${e}${i}`;if(u.has(m))return u.get(m);const p=f.timeout??a,h=p!=null?AbortSignal.timeout(p):void 0,d=typeof r=="function"?r():r,k=fetch(m,{method:"GET",headers:{...Ht,...d},signal:h}).then(async E=>{if(!E.ok){let x={};try{x=await E.json()}catch{x={error:{code:"UNKNOWN",message:E.statusText}}}return{ok:!1,errorBody:x,status:E.status}}let A;try{A=await E.json()}catch{A=null}return{ok:!0,data:A,status:E.status}}).finally(()=>{u.delete(m)});return u.set(m,k),k},getAbsolute:i=>{fetch(i,{method:"GET",mode:"no-cors",credentials:"omit",keepalive:!0}).catch(f=>{console.error(f)})}}},Wt=e=>({sendBeacon:(t,a)=>{if(!t||typeof navigator>"u"||typeof(navigator==null?void 0:navigator.sendBeacon)!="function")return!1;try{return navigator.sendBeacon.bind(navigator)(t,a)}catch(u){return console.error(u),!1}}}),zt=e=>{var f,m,p,h;const r=(f=e==null?void 0:e.env)==null?void 0:f.backendEndpoint,t=(m=e==null?void 0:e.env)==null?void 0:m.apiToken,a=(p=e==null?void 0:e.env)==null?void 0:p.referer;if(!r)return;const u=()=>{var E,A,x;const d=(E=e==null?void 0:e.env)==null?void 0:E.filterOverrides,k={};return t&&(k["X-Api-Key"]=t),a&&(k.Referer=a),d!=null&&d.deviceType&&(k["X-Filter-Device-Type"]=d.deviceType),d!=null&&d.osType&&(k["X-Filter-OS-Type"]=d.osType),d!=null&&d.page&&(k["X-Filter-Page"]=d.page),(A=d==null?void 0:d.geo)!=null&&A.code?k["X-Filter-Geo"]=d.geo.code:d!=null&&d.ip&&(k["X-Filter-IP"]=d.ip),(x=e==null?void 0:e.env)!=null&&x.debug&&(k["X-Debug"]="true"),k},c=(h=e==null?void 0:e.env)==null?void 0:h.timeout,o=qt(r,u,{timeout:c}),i=Wt();e.$fetch={get:o.get,sendBeacon:i.sendBeacon,getAbsolute:o.getAbsolute}},Xt=typeof window<"u",xe=new Set,Jt=e=>{try{const r=new Image;r.referrerPolicy="no-referrer";const t=()=>{r.removeEventListener("load",t),r.removeEventListener("error",t),xe.delete(r)};r.addEventListener("load",t,{once:!0}),r.addEventListener("error",t,{once:!0}),xe.add(r),r.src=e}catch{}},Kt=(e,r)=>{if(typeof r!="function")return!1;try{return r(e),!0}catch{return!1}},Ut=e=>{if(typeof navigator>"u"||typeof navigator.sendBeacon!="function")return!1;try{return navigator.sendBeacon(e)}catch{return!1}},Yt=(e,r,t)=>{if(!Xt)return;const a=e==null?void 0:e.trim();if(a){if(typeof r=="function")try{if(r(a)===!0)return}catch{}Ut(a)||Kt(a,t)||Jt(a)}},je=Xe("INIT_SESSION","RELEASE_SESSION","REACH_PROJECT_GOAL"),Je=e=>{const r=(u,c)=>{var i;if(u!==je.REACH_PROJECT_GOAL||!c)return;const o=new URLSearchParams({goal_id:String(c.goalId),variant_id:String(c.variantId),area_id:String(c.areaId),campaign_id:String(c.campaignId)});(i=e.$fetch)==null||i.get(`/api/metric/goal?${o}`).catch(()=>{})},t=u=>{r(je.REACH_PROJECT_GOAL,u)},a=u=>{var o,i;const c=((o=e.$fetch)==null?void 0:o.getAbsolute)!=null?f=>e.$fetch.getAbsolute(f):void 0;Yt(u,(i=e==null?void 0:e.$fetch)==null?void 0:i.sendBeacon,c)};e.$metrics={reachGoal:t,trackAdPixel:a}},Ke=e=>{const r=new Map,t=new Map,a=new Map,u=(i,f)=>{if(r.has(i))return Promise.resolve(r.get(i));if(t.has(i))return t.get(i);a.delete(i);const m=`/api/area/${i}/compiled`,p=(async()=>{var E,A,x,G,ge;const h=await e.$fetch.get(m);if(!h.ok){const N=h.errorBody;throw new q(((E=N==null?void 0:N.error)==null?void 0:E.code)??"UNKNOWN",((A=N==null?void 0:N.error)==null?void 0:A.message)??String(h.status),(x=N==null?void 0:N.error)==null?void 0:x.details,h.status)}const d=h.data;if(d.apiVersion!==1)throw new X(1,d.apiVersion);(G=e.$fragments)==null||G.populate(d.fragments??{}),(ge=e.$cssChunks)==null||ge.populate(d.cssChunks??{});const k={rootFragmentId:d.rootFragmentId,props:d.props??{},projectProperties:d.projectProperties??{},globalCssUrl:d.globalCssUrl??null};return r.set(i,k),k})();return t.set(i,p),p.catch(h=>{a.set(i,h)}).finally(()=>{t.delete(i)}),p},c=i=>{if(r.has(i))return r.get(i);throw t.has(i)?t.get(i):a.has(i)?a.get(i):new q("AREA_NOT_RESOLVED",`Area ${i} not resolved — call $area.resolve(code) before read()`)},o=i=>r.has(i)||a.has(i);e.$area={resolve:u,read:c,has:o}};function Ue(e){const r=(e==null?void 0:e.importer)??(t=>import(t));return t=>{const a=new Map,u=p=>a.has(p),c=p=>{var h;return(h=a.get(p))==null?void 0:h.ref},o=p=>{var h;return(h=a.get(p))==null?void 0:h.schema},i=p=>{var h;return(h=a.get(p))==null?void 0:h.scopeClass},f=p=>{const h=a.get(p);if(h===void 0)throw new W(p,"",new Error(`Fragment ${p} not populated — call populate() before read()`));if(h.status==="pending")throw h.promise;if(h.status==="error")throw h.error;return h.component},m=p=>{Object.entries(p).forEach(([h,d])=>{const k=Number(h);if(a.has(k))return;const E={status:"pending",promise:Promise.resolve(),ref:d},A=r(d.moduleUrl).then(x=>(E.status="success",E.component=x.default,E.schema=x.schema,E.scopeClass=typeof x.scopeClass=="string"?x.scopeClass:void 0,x.default),x=>{const G=new W(k,d.moduleUrl,x);throw E.status="error",E.error=G,G});E.promise=A,a.set(k,E),A.catch(()=>{})})};t.$fragments={has:u,read:f,populate:m,getRef:c,getSchema:o,getScopeClass:i}}}const Ye=Ue();function Qe(e){return r=>{const t=new Map;r.$cssChunks={has:a=>t.has(a),populate:a=>{for(const[u,c]of Object.entries(a)){const o=Number(u);if(t.has(o))continue;const i=e.inject(c.cssUrl,`chunk:${o}`);t.set(o,{ref:c,cleanup:i})}}}}}const Qt=Xe("GlobalManager"),Zt=e=>{const r=()=>()=>{};return Ze.createState({_type:"GlobalManager",initialState:{},skip:[et.allowTypes([...Object.keys(ut.nodes),...Object.keys(Qt)])],plugins:[t=>{t.env={backendEndpoint:(e==null?void 0:e.backendEndpoint)??"https://client-api.fragmentsx.com",apiToken:e==null?void 0:e.apiToken,referer:e==null?void 0:e.referer,timeout:e==null?void 0:e.timeout}},t=>{(e==null?void 0:e.projectId)!=null&&(t.$project={projectId:e.projectId})},...(e==null?void 0:e.plugins)??[],zt,Je,Ke,Ye,Qe({inject:(e==null?void 0:e.inject)??r})]})};exports.FragmentsApiVersionError=X;exports.FragmentsAreaError=q;exports.FragmentsLoadError=W;exports.areaPlugin=Ke;exports.createCssChunksCachePlugin=Qe;exports.createFragmentsCachePlugin=Ue;exports.createFragmentsClient=Zt;exports.fragmentsCachePlugin=Ye;exports.globalMetricsPlugin=Je;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ct=require("@graph-state/core"),ut=require("@graph-state/checkers");class U extends Error{constructor(r,t,n,s){super(t),this.code=r,this.details=n,this.status=s,this.name="FragmentsAreaError",Object.setPrototypeOf(this,U.prototype)}}class Q extends Error{constructor(r,t){super(`Manifest apiVersion mismatch: expected ${r}, received ${t}`),this.expected=r,this.received=t,this.name="FragmentsApiVersionError",Object.setPrototypeOf(this,Q.prototype)}}class X extends Error{constructor(r,t,n){super(`Failed to load fragment ${r} from ${t}`),this.fragmentId=r,this.moduleUrl=t,this.cause=n,this.name="FragmentsLoadError",Object.setPrototypeOf(this,X.prototype)}}const x=(...e)=>e.reduce((r,t)=>(r[t]=t,r),{}),O=x("Fragment","FragmentInstance","Instance","Collection","ArrayItem","Breakpoint","Frame","Image","Text","SolidPaintStyle","CssLink","Variable","ComputedValue","TransformValue","StopColor","LinearGradient","CssChunk","Border","Paint","Link","Interaction","Classname","GoalEvent","MutateEvent","TextHighlight","TextStyleMark","ImagePaint"),z=x("auto","fill"),oe=x("None","Solid","Dashed","Dotted"),ft=x("_blank","none"),ce=x("None","Solid","LinearGradient","RadialGradient","ConicGradient","Image"),ue=x("Auto","Contain","Cover"),pt=x("Min","Center","Max","Stretch","Scale"),fe=x("absolute","relative"),G=x("Fixed","Hug","Fill","Relative"),pe=x("none","flex"),de=x("vertical","horizontal"),he=x("start","center","end"),be=x("start","center","end","space-between","space-around"),Fe=x("none","uppercase","lowercase","capitalize"),Z=x("none","underline","line-through"),dt=x("loop","appear","hover","tap"),ht=x("fade","slide","bounce","wiggle","increase"),g=x("Event","String","Link","Boolean","Array","Color","ComponentInstance","Date","Enum","Number","Image","Object","Goal"),ye=x("normal","nowrap","pre","pre-wrap","pre-line","break-spaces"),me=x("visible","hidden","scroll"),bt=x("convert","exists","equals","startWith","endWith","contains","dateBefore","dateAfter","dateBetween","feature","notFeature","gt","gte","lt","lte","convertFromBoolean","negative"),yt=x("canvas","document"),mt=x("viewport","parent","fixed"),Ie=x("click","mouseover","appear"),ve=x("goal","mutate","callback","tracker"),vt=x("AreaScope","InstanceScope","FragmentScope","CollectionScope","CollectionItemScope"),kt=x("Global","Fragment"),_e=3,gt=Object.freeze(Object.defineProperty({__proto__:null,MAX_SCHEMA_DEPTH:_e,borderType:oe,constrain:pt,createConstants:x,cssChunkScopeTypes:kt,effectName:ht,effectType:dt,eventMode:ve,fragmentGrowingMode:z,imagePaintScaleModes:ue,interactions:Ie,layerAlign:he,layerDirection:de,layerDistribute:be,layerMode:pe,linkTarget:ft,nodes:O,overflow:me,paintMode:ce,positionType:fe,renderMode:mt,renderTarget:yt,scopeTypes:vt,sizing:G,textDecorations:Z,textTransform:Fe,variableTransforms:bt,variableType:g,whiteSpace:ye},Symbol.toStringTag,{value:"Module"}));function St(e){return{lang:(e==null?void 0:e.lang)??void 0,message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??void 0,abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??void 0}}function xt(e,r){var t;return(t=void 0)==null?void 0:t.get(r)}function R(e){var r,t;const n=typeof e;return n==="string"?`"${e}"`:n==="number"||n==="bigint"||n==="boolean"?`${e}`:n==="object"||n==="function"?(e&&((t=(r=Object.getPrototypeOf(e))==null?void 0:r.constructor)==null?void 0:t.name))??"null":n}function w(e,r,t,n,s){const o=s&&"input"in s?s.input:t.value,c=(s==null?void 0:s.expected)??e.expects??null,f=(s==null?void 0:s.received)??R(o),i={kind:e.kind,type:e.type,input:o,expected:c,received:f,message:`Invalid ${r}: ${c?`Expected ${c} but r`:"R"}eceived ${f}`,requirement:e.requirement,path:s==null?void 0:s.path,issues:s==null?void 0:s.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},m=e.kind==="schema",v=(s==null?void 0:s.message)??e.message??xt(e.reference,i.lang)??(m?(i.lang,void 0):null)??n.message??(i.lang,void 0);v!==void 0&&(i.message=typeof v=="function"?v(i):v),m&&(t.typed=!1),t.issues?t.issues.push(i):t.issues=[i]}function A(e){return{version:1,vendor:"valibot",validate(r){return e["~run"]({value:r},St())}}}function Me(e,r){return Object.hasOwn(e,r)&&r!=="__proto__"&&r!=="prototype"&&r!=="constructor"}function ee(e,r){const t=[...new Set(e)];return t.length>1?`(${t.join(` ${r} `)})`:t[0]??"never"}function $e(e,r){return{kind:"validation",type:"check",reference:$e,async:!1,expects:null,requirement:e,message:r,"~run"(t,n){return t.typed&&!this.requirement(t.value)&&w(this,"input",t,n),t}}}function ke(e,r){return{kind:"validation",type:"max_value",reference:ke,async:!1,expects:`<=${e instanceof Date?e.toJSON():R(e)}`,requirement:e,message:r,"~run"(t,n){return t.typed&&!(t.value<=this.requirement)&&w(this,"value",t,n,{received:t.value instanceof Date?t.value.toJSON():R(t.value)}),t}}}function Ve(e){return{kind:"metadata",type:"metadata",reference:Ve,metadata:e}}function B(e,r){return{kind:"validation",type:"min_value",reference:B,async:!1,expects:`>=${e instanceof Date?e.toJSON():R(e)}`,requirement:e,message:r,"~run"(t,n){return t.typed&&!(t.value>=this.requirement)&&w(this,"value",t,n,{received:t.value instanceof Date?t.value.toJSON():R(t.value)}),t}}}function De(e){return{kind:"transformation",type:"transform",reference:De,async:!1,operation:e,"~run"(r){return r.value=this.operation(r.value),r}}}function Ge(e,r,t){return typeof e.fallback=="function"?e.fallback(r,t):e.fallback}function te(e,r,t){return typeof e.default=="function"?e.default(r,t):e.default}function ge(){return{kind:"schema",type:"any",reference:ge,expects:"any",async:!1,get"~standard"(){return A(this)},"~run"(e){return e.typed=!0,e}}}function $(e,r){return{kind:"schema",type:"array",reference:$,expects:"Array",async:!1,item:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){var s;const o=t.value;if(Array.isArray(o)){t.typed=!0,t.value=[];for(let c=0;c<o.length;c++){const f=o[c],i=this.item["~run"]({value:f},n);if(i.issues){const m={type:"array",origin:"value",input:o,key:c,value:f};for(const v of i.issues)v.path?v.path.unshift(m):v.path=[m],(s=t.issues)==null||s.push(v);if(t.issues||(t.issues=i.issues),n.abortEarly){t.typed=!1;break}}i.typed||(t.typed=!1),t.value.push(i.value)}}else w(this,"type",t,n);return t}}}function k(e){return{kind:"schema",type:"boolean",reference:k,expects:"boolean",async:!1,message:e,get"~standard"(){return A(this)},"~run"(r,t){return typeof r.value=="boolean"?r.typed=!0:w(this,"type",r,t),r}}}function q(e,r){const t=[];for(const n in e)(`${+n}`!==n||typeof e[n]!="string"||!Object.is(e[e[n]],+n))&&t.push(e[n]);return{kind:"schema",type:"enum",reference:q,expects:ee(t.map(R),"|"),async:!1,enum:e,options:t,message:r,get"~standard"(){return A(this)},"~run"(n,s){return this.options.includes(n.value)?n.typed=!0:w(this,"type",n,s),n}}}function re(e){return{kind:"schema",type:"lazy",reference:re,expects:"unknown",async:!1,getter:e,get"~standard"(){return A(this)},"~run"(r,t){return this.getter(r.value)["~run"](r,t)}}}function I(e,r){return{kind:"schema",type:"literal",reference:I,expects:R(e),async:!1,literal:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){return t.value===this.literal?t.typed=!0:w(this,"type",t,n),t}}}function Se(e,r){return{kind:"schema",type:"loose_object",reference:Se,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){var s;const o=t.value;if(o&&typeof o=="object"){t.typed=!0,t.value={};for(const c in this.entries){const f=this.entries[c];if(c in o||(f.type==="exact_optional"||f.type==="optional"||f.type==="nullish")&&f.default!==void 0){const i=c in o?o[c]:te(f),m=f["~run"]({value:i},n);if(m.issues){const v={type:"object",origin:"value",input:o,key:c,value:i};for(const b of m.issues)b.path?b.path.unshift(v):b.path=[v],(s=t.issues)==null||s.push(b);if(t.issues||(t.issues=m.issues),n.abortEarly){t.typed=!1;break}}m.typed||(t.typed=!1),t.value[c]=m.value}else if(f.fallback!==void 0)t.value[c]=Ge(f);else if(f.type!=="exact_optional"&&f.type!=="optional"&&f.type!=="nullish"&&(w(this,"key",t,n,{input:void 0,expected:`"${c}"`,path:[{type:"object",origin:"key",input:o,key:c,value:o[c]}]}),n.abortEarly))break}if(!t.issues||!n.abortEarly)for(const c in o)Me(o,c)&&!(c in this.entries)&&(t.value[c]=o[c])}else w(this,"type",t,n);return t}}}function Le(e){return{kind:"schema",type:"never",reference:Le,expects:"never",async:!1,message:e,get"~standard"(){return A(this)},"~run"(r,t){return w(this,"type",r,t),r}}}function S(e,r){return{kind:"schema",type:"nullable",reference:S,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:r,get"~standard"(){return A(this)},"~run"(t,n){return t.value===null&&(this.default!==void 0&&(t.value=te(this,t,n)),t.value===null)?(t.typed=!0,t):this.wrapped["~run"](t,n)}}}function h(e){return{kind:"schema",type:"number",reference:h,expects:"number",async:!1,message:e,get"~standard"(){return A(this)},"~run"(r,t){return typeof r.value=="number"&&!isNaN(r.value)?r.typed=!0:w(this,"type",r,t),r}}}function d(e,r){return{kind:"schema",type:"object",reference:d,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){var s;const o=t.value;if(o&&typeof o=="object"){t.typed=!0,t.value={};for(const c in this.entries){const f=this.entries[c];if(c in o||(f.type==="exact_optional"||f.type==="optional"||f.type==="nullish")&&f.default!==void 0){const i=c in o?o[c]:te(f),m=f["~run"]({value:i},n);if(m.issues){const v={type:"object",origin:"value",input:o,key:c,value:i};for(const b of m.issues)b.path?b.path.unshift(v):b.path=[v],(s=t.issues)==null||s.push(b);if(t.issues||(t.issues=m.issues),n.abortEarly){t.typed=!1;break}}m.typed||(t.typed=!1),t.value[c]=m.value}else if(f.fallback!==void 0)t.value[c]=Ge(f);else if(f.type!=="exact_optional"&&f.type!=="optional"&&f.type!=="nullish"&&(w(this,"key",t,n,{input:void 0,expected:`"${c}"`,path:[{type:"object",origin:"key",input:o,key:c,value:o[c]}]}),n.abortEarly))break}}else w(this,"type",t,n);return t}}}function u(e,r){return{kind:"schema",type:"optional",reference:u,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:r,get"~standard"(){return A(this)},"~run"(t,n){return t.value===void 0&&(this.default!==void 0&&(t.value=te(this,t,n)),t.value===void 0)?(t.typed=!0,t):this.wrapped["~run"](t,n)}}}function P(e,r){return{kind:"schema",type:"picklist",reference:P,expects:ee(e.map(R),"|"),async:!1,options:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){return this.options.includes(t.value)?t.typed=!0:w(this,"type",t,n),t}}}function Y(e,r,t){return{kind:"schema",type:"record",reference:Y,expects:"Object",async:!1,key:e,value:r,message:t,get"~standard"(){return A(this)},"~run"(n,s){var o,c;const f=n.value;if(f&&typeof f=="object"){n.typed=!0,n.value={};for(const i in f)if(Me(f,i)){const m=f[i],v=this.key["~run"]({value:i},s);if(v.issues){const p={type:"object",origin:"key",input:f,key:i,value:m};for(const y of v.issues)y.path=[p],(o=n.issues)==null||o.push(y);if(n.issues||(n.issues=v.issues),s.abortEarly){n.typed=!1;break}}const b=this.value["~run"]({value:m},s);if(b.issues){const p={type:"object",origin:"value",input:f,key:i,value:m};for(const y of b.issues)y.path?y.path.unshift(p):y.path=[p],(c=n.issues)==null||c.push(y);if(n.issues||(n.issues=b.issues),s.abortEarly){n.typed=!1;break}}(!v.typed||!b.typed)&&(n.typed=!1),v.typed&&(n.value[v.value]=b.value)}}else w(this,"type",n,s);return n}}}function l(e){return{kind:"schema",type:"string",reference:l,expects:"string",async:!1,message:e,get"~standard"(){return A(this)},"~run"(r,t){return typeof r.value=="string"?r.typed=!0:w(this,"type",r,t),r}}}function Te(e){let r;if(e)for(const t of e)r?r.push(...t.issues):r=t.issues;return r}function D(e,r){return{kind:"schema",type:"union",reference:D,expects:ee(e.map(t=>t.expects),"|"),async:!1,options:e,message:r,get"~standard"(){return A(this)},"~run"(t,n){let s,o,c;for(const f of this.options){const i=f["~run"]({value:t.value},n);if(i.typed)if(i.issues)o?o.push(i):o=[i];else{s=i;break}else c?c.push(i):c=[i]}if(s)return s;if(o){if(o.length===1)return o[0];w(this,"type",t,n,{issues:Te(o)}),t.typed=!0}else{if((c==null?void 0:c.length)===1)return c[0];w(this,"type",t,n,{issues:Te(c)})}return t}}}function ne(){return{kind:"schema",type:"unknown",reference:ne,expects:"unknown",async:!1,get"~standard"(){return A(this)},"~run"(e){return e.typed=!0,e}}}function Be(e,r,t){return{kind:"schema",type:"variant",reference:Be,expects:"Object",async:!1,key:e,options:r,message:t,get"~standard"(){return A(this)},"~run"(n,s){const o=n.value;if(o&&typeof o=="object"){let c,f=0,i=this.key,m=[];const v=(b,p)=>{for(const y of b.options){if(y.type==="variant")v(y,new Set(p).add(y.key));else{let j=!0,T=0;for(const C of p){const F=y.entries[C];if(C in o?F["~run"]({typed:!1,value:o[C]},s).issues:F.type!=="exact_optional"&&F.type!=="optional"&&F.type!=="nullish"){j=!1,i!==C&&(f<T||f===T&&C in o&&!(i in o))&&(f=T,i=C,m=[]),i===C&&m.push(y.entries[C].expects);break}T++}if(j){const C=y["~run"]({value:o},s);(!c||!c.typed&&C.typed)&&(c=C)}}if(c&&!c.issues)break}};if(v(this,new Set([this.key])),c)return c;w(this,"type",n,s,{input:o[i],expected:ee(m,"|"),path:[{type:"object",origin:"value",input:o,key:i,value:o[i]}]})}else w(this,"type",n,s);return n}}}function V(...e){return{...e[0],pipe:e,get"~standard"(){return A(this)},"~run"(r,t){for(const n of e)if(n.kind!=="metadata"){if(r.issues&&(n.kind==="schema"||n.kind==="transformation")){r.typed=!1;break}(!r.issues||!t.abortEarly&&!t.abortPipeEarly)&&(r=n["~run"](r,t))}return r}}}const Ne=$e(e=>e.split(":").length===2),xe=e=>{const r=t=>typeof t=="number"?`${t}px`:t;return a(D([h(),l()]),{...e,fallback:e==null?void 0:e.fallback,transform:r})},E=V(l(),Ne),a=(e,r)=>{const t=(r==null?void 0:r.overridable)??!0,n=(r==null?void 0:r.variable)??!1,s=[e];return n&&s.push(V(l(),Ne)),t&&s.push(ge()),V(u(D(s)),De((r==null?void 0:r.transform)??(o=>o)),Ve(r??{}))},je=d({children:a($(l()),{fallback:[],overridable:!1})}),_=d({_id:D([l(),h()]),_type:P(Object.keys(O))}),L=d({overrides:a($(l()),{overridable:!1}),overrideFrom:a(S(l()),{overridable:!1})}),ae=d({position:a(q(Object.keys(fe)),{fallback:fe.absolute}),top:a(S(h()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),left:a(S(h()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),right:a(S(h()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),bottom:a(S(h()),{fallback:null,transform:e=>typeof e=="number"?Math.ceil(e):e}),centerAnchorX:a(h(),{fallback:.5}),centerAnchorY:a(h(),{fallback:.5})}),le=d({opacity:a(V(h(),B(0),ke(1)),{fallback:1,variable:!0}),visible:a(k(),{fallback:!0,variable:!0}),rotate:a(h(),{fallback:null}),zIndex:a(h(),{fallback:null}),classnames:a($(E),{fallback:[]})}),se=d({widthType:a(P(Object.keys(G)),{fallback:G.Fixed}),heightType:a(P(Object.keys(G)),{fallback:G.Fixed}),width:a(V(h(),B(0)),{fallback:0,transform:Math.ceil}),height:a(V(h(),B(0)),{fallback:0,transform:Math.ceil}),aspectRatio:a(h(),{fallback:-1}),minWidth:a(S(V(h(),B(-1))),{fallback:-1,transform:Math.ceil}),minWidthType:a(P(Object.keys(G)),{fallback:G.Fixed}),maxWidth:a(S(V(h(),B(-1))),{fallback:-1,transform:Math.ceil}),maxWidthType:a(P(Object.keys(G)),{fallback:G.Fixed}),minHeight:a(S(V(h(),B(-1))),{fallback:-1,transform:Math.ceil}),minHeightType:a(P(Object.keys(G)),{fallback:G.Fixed}),maxHeight:a(S(V(h(),B(-1))),{fallback:-1,transform:Math.ceil}),maxHeightType:a(P(Object.keys(G)),{fallback:G.Fixed})}),Re=d({layerMode:a(P(Object.keys(pe)),{fallback:pe.none}),layerAlign:a(P(Object.keys(he)),{fallback:he.start}),layerDirection:a(P(Object.keys(de)),{fallback:de.horizontal}),layerDistribute:a(P(Object.keys(be)),{fallback:be.start}),layerWrap:a(k(),{fallback:!1}),layerGap:a(V(h(),B(0)),{fallback:0}),padding:xe({fallback:"0px"})}),jt=a(P(Object.keys(me)),{fallback:me.hidden}),Ct=xe({fallback:"0px"}),ie=d({interactions:a($(E),{fallback:[]})}),Ce=d({cssOverride:a(l(),{fallback:""})}),Et=V(d({name:a(l(),{fallback:"Frame",overridable:!1}),isBreakpoint:a(k(),{fallback:!1,overridable:!1}),isPrimary:a(k(),{fallback:!1,overridable:!1}),border:a(E),paint:a(E),link:a(E),...je.entries,..._.entries,...L.entries,parent:a(S(l()),{overridable:!1}),...ae.entries,...le.entries,...se.entries,...Re.entries,...ie.entries,...Ce.entries,overflow:jt,borderRadius:Ct})),Ot=d({type:I("text"),text:l(),marks:u($(d({rangeKey:l()})))}),Pt=d({type:I("mention"),ref:l(),fallback:u(l())}),Tt=d({type:I("hardBreak")}),wt=D([Ot,Pt,Tt]),At=d({type:I("paragraph"),content:$(wt)}),Ft=d({type:I("doc"),content:$(At)}),It=d({name:a(l(),{fallback:"Text",overridable:!1}),content:a(l(),{fallback:""}),doc:a(Ft,{fallback:{type:"doc",content:[]}}),styleRanges:a($(E),{fallback:[]}),whiteSpace:a(q(Object.keys(ye)),{fallback:ye.pre}),textAlign:a(l(),{fallback:"left"}),fontSize:a(h(),{fallback:null,variable:!0}),fontWeight:a(D([l(),h()]),{fallback:null,variable:!0}),fontFamily:a(l(),{fallback:null,variable:!0}),color:a(l(),{fallback:null,variable:!0}),lineHeight:a(h(),{fallback:null,variable:!0}),letterSpacing:a(h(),{fallback:null,variable:!0}),textDecoration:a(P(Object.keys(Z)),{fallback:null}),textTransform:a(P(Object.keys(Fe)),{fallback:null}),parent:a(S(l()),{overridable:!1}),link:a(E),highlight:a(E),contentBinding:a(E),..._.entries,...L.entries,...Ce.entries,...ae.entries,...le.entries,...se.entries,...ie.entries}),_t=d({name:a(l(),{fallback:"Fragment",overridable:!1}),parent:a(S(l()),{overridable:!1}),horizontalGrow:a(q(Object.keys(z)),{fallback:z.fill,overridable:!1}),verticalGrow:a(q(Object.keys(z)),{fallback:z.auto,overridable:!1}),properties:a($(l()),{fallback:[],overridable:!1}),propsObject:a(S(E),{fallback:null,overridable:!1}),cssChunks:a($(E),{fallback:[],overridable:!1}),..._.entries,...je.entries}),Mt=d({name:a(l(),{fallback:"Instance",overridable:!1}),fragment:a(h()),parent:a(S(l()),{overridable:!1}),props:a(D([E,Y(l(),D([l(),h(),k(),d({code:l(),name:l()})]))]),{fallback:{}}),link:a(E),..._.entries,...L.entries,...ae.entries,...se.entries,...le.entries,...ie.entries}),$t=V(d({name:a(l(),{fallback:"Collection",overridable:!1}),parent:a(S(l()),{overridable:!1}),source:a(E,{}),border:a(E),paint:a(E),link:a(E),...je.entries,..._.entries,...L.entries,...ae.entries,...le.entries,...se.entries,...Re.entries,...ie.entries,...Ce.entries})),Vt=d({...L.entries,parent:a(S(l()),{overridable:!1}),position:a(V(h(),ke(1),B(0)),{fallback:0}),value:a(l(),{fallback:"#000",variable:!0}),..._.entries}),Dt=d({...L.entries,parent:a(S(l()),{overridable:!1}),angle:a(h(),{fallback:0}),stops:a($(E),{fallback:[]}),..._.entries}),Gt=d({parent:a(S(l()),{overridable:!1}),chunkId:a(h()),enabled:a(k(),{fallback:!0,variable:!0}),..._.entries}),Lt=d({...L.entries,parent:a(S(l()),{overridable:!1}),type:a(P(Object.keys(oe)),{fallback:oe.None}),width:xe({fallback:"1px"}),paint:a(E),..._.entries}),Bt=d({...L.entries,parent:a(S(l()),{overridable:!1}),type:a(P(Object.keys(ce)),{fallback:ce.None}),solid:a(l(),{fallback:"#fff"}),linearGradient:a(E),image:a(E),..._.entries}),Nt=d({..._.entries,...L.entries,parent:a(S(l()),{overridable:!1}),src:a(l()),scale:a(P(Object.keys(ue)),{fallback:ue.Auto})}),Rt=d({...L.entries,..._.entries,parent:a(S(l()),{overridable:!1}),href:a(l(),{fallback:null}),isNewTab:a(k(),{fallback:!0})}),Ht=d({parent:a(S(l()),{overridable:!1}),..._.entries,on:q(Object.keys(Ie)),event:a(E)}),qt=d({parent:a(S(l()),{overridable:!1}),value:a(l(),{fallback:""}),enabled:a(k(),{fallback:!0,variable:!0}),..._.entries}),Kt=d({parent:a(S(l()),{overridable:!1}),goalId:a(h(),{overridable:!1}),..._.entries}),Wt=d({parent:a(S(l()),{overridable:!1}),target:a(E),value:a(ge()),..._.entries}),zt=d({color:a(l(),{fallback:null}),lineHeight:a(h(),{fallback:null}),fontSize:a(h(),{fallback:null}),fontWeight:a(D([l(),h()]),{fallback:400}),fontFamily:a(l(),{fallback:null}),textDecoration:a(P(Object.keys(Z)),{fallback:null}),parent:a(S(l()),{overridable:!1}),..._.entries}),Ut=d({...L.entries,parent:a(S(l()),{overridable:!1}),color:a(l(),{fallback:null,variable:!0}),fontSize:a(h(),{fallback:null,variable:!0}),fontWeight:a(D([l(),h()]),{fallback:400,variable:!0}),fontFamily:a(l(),{fallback:null,variable:!0}),lineHeight:a(h(),{fallback:null,variable:!0}),letterSpacing:a(h(),{fallback:null,variable:!0}),textDecoration:a(P(Object.keys(Z)),{fallback:null,variable:!0}),..._.entries}),He=d({name:u(l(),"Number"),type:u(I(g.Number),g.Number),defaultValue:u(h(),0),required:u(k(),!1),editable:u(k(),!0),min:u(h(),1),max:u(h(),100),step:u(h(),1),displayStepper:u(k(),!0)}),qe=d({name:u(l(),"Boolean"),type:u(I(g.Boolean),g.Boolean),defaultValue:u(k(),!1),required:u(k(),!1),editable:u(k(),!0)}),Ke=d({name:u(l(),"String"),type:u(I(g.String),g.String),defaultValue:u(l(),""),required:u(k(),!1),editable:u(k(),!0),placeholder:u(l(),""),isTextarea:u(k(),!1),isRich:u(k(),!1)}),We=d({name:u(l(),"String"),type:u(I(g.Color),g.Color),defaultValue:u(l(),"#000"),required:u(k(),!1),editable:u(k(),!0)}),Xt=d({name:u(l(),"Event"),type:u(I(g.Event),g.Event),mode:u(P(Object.keys(ve)),ve.callback),defaultValue:u(ne(),null),required:u(k(),!1),editable:u(k(),!0)}),ze=d({name:u(l(),"Link"),type:u(I(g.Link),g.Link),defaultValue:u(l(),""),required:u(k(),!1),editable:u(k(),!0)}),Ue=d({name:u(l(),"Option"),type:u(I(g.Enum),g.Enum),defaultValue:u(l(),""),required:u(k(),!1),editable:u(k(),!0),cases:u($(d({id:l(),name:l()})),[])}),Xe=d({name:u(l(),"Image"),type:u(I(g.Image),g.Image),defaultValue:u(S(l()),null),required:u(k(),!1),editable:u(k(),!0)});function Je(e){return d({name:u(l(),"Object"),type:u(I(g.Object),g.Object),defaultValue:u(Y(l(),ne()),{}),fields:u(Y(l(),re(()=>Qe(e+1))),{}),required:u(k(),!1),editable:u(k(),!0)})}function Ye(e){return d({name:u(l(),"Collection"),type:u(I(g.Array),g.Array),defaultValue:u($(ne()),[]),definition:u(S(re(()=>Qe(e+1))),null),required:u(k(),!1),editable:u(k(),!0)})}function Qe(e){return e>_e?Le():Be("type",[Ke,He,qe,We,Ue,ze,Xe,Je(e),Ye(e)])}const Jt=Je(0),Yt=Ye(0),Qt=d({name:u(l(),"Goal"),type:u(I(g.Goal),g.Goal),defaultValue:u(S(h()),null),required:u(k(),!1),editable:u(k(),!0)});g.Number+"",g.Boolean+"",g.String+"",g.Color+"",g.Event+"",g.Link+"",g.Enum+"",g.Object+"",g.Image+"",g.Array+"",g.Goal+"";O.Frame+"",O.Text+"",O.Fragment+"",O.Instance+"",O.Collection+"",O.StopColor+"",O.LinearGradient+"",O.CssChunk+"",O.Border+"",O.Paint+"",O.ImagePaint+"",O.Link+"",O.Interaction+"",O.Classname+"",O.GoalEvent+"",O.MutateEvent+"",O.TextHighlight+"",O.TextStyleMark+"";const Ze=re(()=>Se({_type:l(),_id:D([l(),h()]),children:u($(D([l(),Ze])))}));O.Fragment;const et=(...e)=>e.reduce((r,t)=>(r[t]=t,r),{}),Zt={"Content-Type":"application/json"},er=(e,r={},t={})=>{const{timeout:n}=t,s=new Map;return{get:(f,i={})=>{const m=`${e}${f}`;if(s.has(m))return s.get(m);const v=i.timeout??n,b=v!=null?AbortSignal.timeout(v):void 0,p=typeof r=="function"?r():r,y=fetch(m,{method:"GET",headers:{...Zt,...p},signal:b}).then(async j=>{if(!j.ok){let C={};try{C=await j.json()}catch{C={error:{code:"UNKNOWN",message:j.statusText}}}return{ok:!1,errorBody:C,status:j.status}}let T;try{T=await j.json()}catch{T=null}return{ok:!0,data:T,status:j.status}}).finally(()=>{s.delete(m)});return s.set(m,y),y},getAbsolute:f=>{fetch(f,{method:"GET",mode:"no-cors",credentials:"omit",keepalive:!0}).catch(i=>{console.error(i)})}}},tr=e=>({sendBeacon:(t,n)=>{if(!t||typeof navigator>"u"||typeof(navigator==null?void 0:navigator.sendBeacon)!="function")return!1;try{return navigator.sendBeacon.bind(navigator)(t,n)}catch(s){return console.error(s),!1}}}),rr=e=>{var i,m,v,b;const r=(i=e==null?void 0:e.env)==null?void 0:i.backendEndpoint,t=(m=e==null?void 0:e.env)==null?void 0:m.apiToken,n=(v=e==null?void 0:e.env)==null?void 0:v.referer;if(!r)return;const s=()=>{var j,T,C;const p=(j=e==null?void 0:e.env)==null?void 0:j.filterOverrides,y={};return t&&(y["X-Api-Key"]=t),n&&(y.Referer=n),p!=null&&p.deviceType&&(y["X-Filter-Device-Type"]=p.deviceType),p!=null&&p.osType&&(y["X-Filter-OS-Type"]=p.osType),p!=null&&p.page&&(y["X-Filter-Page"]=p.page),(T=p==null?void 0:p.geo)!=null&&T.code?y["X-Filter-Geo"]=p.geo.code:p!=null&&p.ip&&(y["X-Filter-IP"]=p.ip),(C=e==null?void 0:e.env)!=null&&C.debug&&(y["X-Debug"]="true"),y},o=(b=e==null?void 0:e.env)==null?void 0:b.timeout,c=er(r,s,{timeout:o}),f=tr();e.$fetch={get:c.get,sendBeacon:f.sendBeacon,getAbsolute:c.getAbsolute}},tt=typeof window<"u",we=new Set,nr=e=>{try{const r=new Image;r.referrerPolicy="no-referrer";const t=()=>{r.removeEventListener("load",t),r.removeEventListener("error",t),we.delete(r)};r.addEventListener("load",t,{once:!0}),r.addEventListener("error",t,{once:!0}),we.add(r),r.src=e}catch{}},ar=(e,r)=>{if(typeof r!="function")return!1;try{return r(e),!0}catch{return!1}},lr=e=>{if(typeof navigator>"u"||typeof navigator.sendBeacon!="function")return!1;try{return navigator.sendBeacon(e)}catch{return!1}},sr=(e,r,t)=>{if(!tt)return;const n=e==null?void 0:e.trim();if(n){if(typeof r=="function")try{if(r(n)===!0)return}catch{}lr(n)||ar(n,t)||nr(n)}},Ae=et("INIT_SESSION","RELEASE_SESSION","REACH_PROJECT_GOAL"),rt=e=>{const r=(s,o)=>{var f;if(s!==Ae.REACH_PROJECT_GOAL||!o)return;const c=new URLSearchParams({goal_id:String(o.goalId),variant_id:String(o.variantId),area_id:String(o.areaId),campaign_id:String(o.campaignId)});(f=e.$fetch)==null||f.get(`/api/metric/goal?${c}`).catch(()=>{})},t=s=>{r(Ae.REACH_PROJECT_GOAL,s)},n=s=>{var c,f;const o=((c=e.$fetch)==null?void 0:c.getAbsolute)!=null?i=>e.$fetch.getAbsolute(i):void 0;sr(s,(f=e==null?void 0:e.$fetch)==null?void 0:f.sendBeacon,o)};e.$metrics={reachGoal:t,trackAdPixel:n}},J=e=>(e==null?void 0:e.loaded)??Promise.resolve(),nt=e=>`fragment:${e}:css`,at=e=>`fragment:${e}:fonts`,lt=e=>`chunk:${e}`,st="global";function it(e){return r=>{const t=new Map,n=new Map,s=new Map,o=(i,m)=>{if(t.has(i))return Promise.resolve(t.get(i));if(n.has(i))return n.get(i);s.delete(i);const v=`/api/area/${i}/compiled`,b=(async()=>{var H,M,W,Oe,Pe;const p=await r.$fetch.get(v);if(!p.ok){const N=p.errorBody;throw new U(((H=N==null?void 0:N.error)==null?void 0:H.code)??"UNKNOWN",((M=N==null?void 0:N.error)==null?void 0:M.message)??String(p.status),(W=N==null?void 0:N.error)==null?void 0:W.details,p.status)}const y=p.data;if(y.apiVersion!==1)throw new Q(1,y.apiVersion);const j=y.globalCssUrl??null,T=j?J(e.inject(j,st)):Promise.resolve(),C=(Oe=r.$fragments)==null?void 0:Oe.populate(y.fragments??{}),F=(Pe=r.$cssChunks)==null?void 0:Pe.populate(y.cssChunks??{});tt&&await Promise.allSettled([C,F,T]);const K={rootFragmentId:y.rootFragmentId,variantId:y.variantId??null,props:y.props??{},projectProperties:y.projectProperties??{},globalCssUrl:j};return t.set(i,K),K})();return n.set(i,b),b.catch(p=>{s.set(i,p)}).finally(()=>{n.delete(i)}),b},c=i=>{if(t.has(i))return t.get(i);throw n.has(i)?n.get(i):s.has(i)?s.get(i):new U("AREA_NOT_RESOLVED",`Area ${i} not resolved — call $area.resolve(code) before read()`)},f=i=>t.has(i)||s.has(i);r.$area={resolve:o,read:c,has:f}}}const ir=it({inject:()=>()=>{}});function Ee(e){const r=(e==null?void 0:e.importer)??(n=>import(n)),t=(e==null?void 0:e.inject)??(()=>()=>{});return n=>{const s=new Map,o=b=>s.has(b),c=b=>{var p;return(p=s.get(b))==null?void 0:p.ref},f=b=>{var p;return(p=s.get(b))==null?void 0:p.schema},i=b=>{var p;return(p=s.get(b))==null?void 0:p.scopeClass},m=b=>{const p=s.get(b);if(p===void 0)throw new X(b,"",new Error(`Fragment ${b} not populated — call populate() before read()`));if(p.status==="pending")throw p.promise;if(p.status==="error")throw p.error;return p.component},v=b=>{const p=[];return Object.entries(b).forEach(([y,j])=>{const T=Number(y);if(!s.has(T)){const F={status:"pending",promise:Promise.resolve(),ref:j,assetsLoaded:Promise.resolve(),cssCleanups:[]},K=r(j.moduleUrl).then(M=>(F.status="success",F.component=M.default,F.schema=M.schema,F.scopeClass=typeof M.scopeClass=="string"?M.scopeClass:void 0,M.default),M=>{const W=new X(T,j.moduleUrl,M);throw F.status="error",F.error=W,W});F.promise=K;const H=[];if(j.cssUrl){const M=t(j.cssUrl,nt(T));F.cssCleanups.push(M),H.push(J(M))}if(j.fontsUrl){const M=t(j.fontsUrl,at(T));F.cssCleanups.push(M),H.push(J(M))}H.length>0&&(F.assetsLoaded=Promise.allSettled(H).then(()=>{})),s.set(T,F),K.catch(()=>{})}const C=s.get(T);p.push(C.promise,C.assetsLoaded)}),Promise.allSettled(p).then(()=>{})};n.$fragments={has:o,read:m,populate:v,getRef:c,getSchema:f,getScopeClass:i}}}const or=Ee();function ot(e){return r=>{const t=new Map;r.$cssChunks={has:n=>t.has(n),populate:n=>{const s=[];for(const[o,c]of Object.entries(n)){const f=Number(o);if(!t.has(f))if(c.cssUrl){const i=e.inject(c.cssUrl,lt(f));t.set(f,{ref:c,cleanup:i,loaded:J(i)})}else t.set(f,{ref:c,cleanup:()=>{},loaded:Promise.resolve()});s.push(t.get(f).loaded)}return Promise.allSettled(s).then(()=>{})}}}}const cr=et("GlobalManager"),ur=e=>{const r=()=>()=>{},t=(e==null?void 0:e.inject)??r;return ct.createState({_type:"GlobalManager",initialState:{},skip:[ut.allowTypes([...Object.keys(gt.nodes),...Object.keys(cr)])],plugins:[n=>{n.env={backendEndpoint:(e==null?void 0:e.backendEndpoint)??"https://client-api.fragmentsx.com",apiToken:e==null?void 0:e.apiToken,referer:e==null?void 0:e.referer,timeout:e==null?void 0:e.timeout,filterOverrides:e==null?void 0:e.filterOverrides,debug:e==null?void 0:e.debug}},n=>{n.setFilters=s=>{var o;n.env={...n.env,filterOverrides:{...(o=n.env)==null?void 0:o.filterOverrides,...s}}}},n=>{(e==null?void 0:e.projectId)!=null&&(n.$project={projectId:e.projectId})},...(e==null?void 0:e.plugins)??[],rr,rt,it({inject:t}),Ee({inject:t}),ot({inject:t})]})};exports.AREA_GLOBAL_CSS_KEY=st;exports.FragmentsApiVersionError=Q;exports.FragmentsAreaError=U;exports.FragmentsLoadError=X;exports.areaPlugin=ir;exports.createCssChunksCachePlugin=ot;exports.createFragmentsCachePlugin=Ee;exports.createFragmentsClient=ur;exports.cssChunkKey=lt;exports.fragmentCssKey=nt;exports.fragmentFontsKey=at;exports.fragmentsCachePlugin=or;exports.globalMetricsPlugin=rt;exports.readyOf=J;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,11 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Экспортирует: types, errors, createFragmentsClient, $area, $fragments, $cssChunks, metrics.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* quick 260830-rvp (INT-08): тип-реэкспорт из `./namespaces` (обычный модуль, не
|
|
7
|
+
* `.d.ts`) вместо трёхслэшевой директивы на `declarations.d.ts` — та гарантировала
|
|
8
|
+
* попадание ambient-аугментации GraphState в граф компиляции ТОЛЬКО внутри пакета;
|
|
9
|
+
* `vite-plugin-dts` стирал директиву при генерации деклараций, и наружу пакета
|
|
10
|
+
* (`dist/`) аугментация не доезжала вовсе. Тип-реэкспорт заставляет dts-плагин
|
|
11
|
+
* положить `dist/namespaces.d.ts` рядом с `dist/index.d.ts` и сослаться на него
|
|
12
|
+
* оттуда — потребитель (runtime-react, playgrounds) получает аугментацию вместе
|
|
13
|
+
* с пакетом. Гейт на факт сборки — `src/dist-declarations.test.ts`.
|
|
9
14
|
*/
|
|
10
15
|
export type { AreaResolveResponse, FragmentRef, CssChunkRef, ResolvedValue, FieldId, } from './types';
|
|
16
|
+
export type { FragmentsEnv, FilterOverrides, AreaNamespace, FetchNamespace, CssChunksNamespace, } from './namespaces';
|
|
11
17
|
export { FragmentsAreaError, FragmentsApiVersionError, FragmentsLoadError, } from './errors';
|
|
12
18
|
export { createFragmentsClient } from './createFragmentsClient';
|
|
13
19
|
export type { Options as CreateFragmentsClientOptions } from './createFragmentsClient';
|
|
@@ -17,4 +23,6 @@ export { createCssChunksCachePlugin } from './$cssChunks';
|
|
|
17
23
|
export { areaPlugin } from './$area';
|
|
18
24
|
export type { AreaResolveResult } from './$area';
|
|
19
25
|
export { globalMetricsPlugin } from './metrics/globalMetrics';
|
|
26
|
+
export { readyOf, fragmentCssKey, fragmentFontsKey, cssChunkKey, AREA_GLOBAL_CSS_KEY, } from './stylesheet';
|
|
27
|
+
export type { StylesheetHandle, InjectFn } from './stylesheet';
|
|
20
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,aAAa,EACb,OAAO,GACR,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAChF,YAAY,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAE5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,EACL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|