@sonata-innovations/fiber-types 2.2.0 → 2.5.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/AGENTS.md ADDED
@@ -0,0 +1,52 @@
1
+ # @sonata-innovations/fiber-types — Agent Guide
2
+
3
+ The Fiber schema, as TypeScript types and as JSON Schema. Every other Fiber package depends on this one, which makes it the canonical home for the **Flow** (input) and **FlowData** (output) contracts.
4
+
5
+ Docs in this package are versioned with the code you installed. Read them from `node_modules/@sonata-innovations/fiber-types/docs/`.
6
+
7
+ ## Documentation map
8
+
9
+ | Read this | When |
10
+ |---|---|
11
+ | `docs/fiber-concepts.md` | You are new to Fiber. The Flow/Screen/Component model, Flow vs FlowData, how builders and the render engine relate. |
12
+ | `docs/schema/flow-quick-reference.md` | **Start here to construct Flow JSON.** Compact reference: the 30 component types and their value shapes, conditions, validation, options, widths, markup. |
13
+ | `docs/schema/flow-schema.md` | Exhaustive per-property reference for every component type and config field. |
14
+ | `docs/schema/flow-schema.json` | Machine-validatable JSON Schema (draft 2020-12) for a Flow. Validate with `ajv`. |
15
+ | `docs/schema/flow-data-schema.md` | The shape of the data FBRE hands back: per-type value shapes, exclusion rules, containers, calculations. |
16
+ | `docs/schema/flow-data-schema.json` | Machine-validatable JSON Schema for FlowData. |
17
+
18
+ **Validate a Flow you generated** rather than trusting it by inspection:
19
+
20
+ ```bash
21
+ npx ajv-cli validate --spec=draft2020 \
22
+ -s node_modules/@sonata-innovations/fiber-types/docs/schema/flow-schema.json \
23
+ -d my-flow.json
24
+ ```
25
+
26
+ ## What this package exports
27
+
28
+ - **Schema types** — `Flow`, `FlowScreen`, `Component` (a discriminated union keyed on `type`), `ComponentProperties`, `FlowMetadata`, `FlowConfiguration`, `ThemeConfig`, `NavigationConfig`, `ControlsConfig`, `ConfirmationConfig`
29
+ - **Output types** — `FlowData`, `ScreenData`, `ComponentData`, `CalculationData`, `FileUploadData`, `RangeValue`
30
+ - **Condition & validation types** — `FlowConditionConfig`, `ConditionRule`, `ConditionOperator` (19 operators), `FlowValidationConfig`, `ValidationRule` (17 validators)
31
+ - **Preset/template data** — `PresetData`, `TemplateData` (the serializable definitions FBT accepts)
32
+ - **Component manifest** — `COMPONENT_VARIANT_TYPES`, `ComponentType`, `ComponentOfType<K>`, `ComponentPropertiesByType`
33
+ - **Utilities** — `generateUUID`, `regenerateComponentUUIDs`, `regenerateFlowUUIDs`, `normalizeConditionalOrder`, `getValidationConfig`, `getComponentDisplayLabel`
34
+
35
+ ## Facts worth knowing before you generate a Flow
36
+
37
+ - **30 component types.** Display types (`header`, `text`, `divider`, `callout`, `table`) never appear in FlowData; `computed` does.
38
+ - **19 condition operators, 17 validators.** Exact lists are in the quick reference.
39
+ - **Validation `pattern` rules take `params.regex`**, not `params.pattern`. A `pattern` key is ignored and the rule silently always passes.
40
+ - **Options must be `{ label, value }` objects**, not bare strings. `value` may be a string or a number.
41
+ - **Option-bearing components do not default to their first option.** Initial value is `null` unless `properties.defaultValue` matches an option's `value`.
42
+ - **Never set runtime-only fields** (`value`, `valid`, `addedComponents`) in Flow JSON.
43
+ - **`theme.fontFamily` may be an object, not just a string.** `{ family, src }` names a font the renderer loads itself; a bare string assumes the host page already has it. Narrow before treating it as a stack.
44
+ - **`Component` is a discriminated union.** Narrow on `component.type` and `properties` narrows with it; use `ComponentOfType<"inputText">` to name one variant.
45
+ - **If an AI/LLM generated the flow**, run `normalizeConditionalOrder(flow)` before handing it to FBTL — it reorders conditionals to sit after their triggers, structurally only, and is idempotent.
46
+
47
+ ## Companion packages
48
+
49
+ - `@sonata-innovations/fiber-fbre` — renders a Flow, returns FlowData
50
+ - `@sonata-innovations/fiber-fbt` — full drag-and-drop builder
51
+ - `@sonata-innovations/fiber-fbtl` — lite builder for non-technical end users
52
+ - `@sonata-innovations/fiber-shared` — the condition, validation, markup, and formula engines
package/CHANGELOG.md ADDED
@@ -0,0 +1,92 @@
1
+ # Changelog — @sonata-innovations/fiber-types
2
+
3
+ All notable changes to the Fiber schema types. Dates are release dates.
4
+
5
+ ## 2.5.0 — 2026-08-20
6
+
7
+ ### Added
8
+
9
+ - **`ThemeConfig.fontFamily` now also accepts a loadable font config** — `{ family, src?, faces?, stack? }`, with the new `FontFamilyConfig`, `FontFaceConfig` and `FontSource` types exported. A plain family string still works and still means "the host page already loads this font"; the object form carries the sources a renderer needs to register the face itself. This is what makes a brand font work inside a shadow root, where an `@font-face` declared in the root's stylesheet is never registered at all. The schema (`flow-schema.json`) accepts either shape.
10
+
11
+ Widening the type is source-compatible for anything that *sets* `fontFamily`, but code that *reads* it as a `string` needs to narrow. `isFontFamilyConfig` and `fontFamilyStack` are exported from `@sonata-innovations/fiber-fbre` for that.
12
+
13
+ ## 2.4.0 — 2026-07-11 (never published)
14
+
15
+ > The version bump landed in the repo but was never tagged, so npm went 2.3.0 → 2.5.0. The change below ships as part of 2.5.0.
16
+
17
+
18
+ ### Added
19
+
20
+ - `ComponentInputType` (`"text" | "email" | "tel" | "url" | "password"`) is now exported from the package index. It is the declared type of the `inputText` component's `inputType` property and was the only property-level union not re-exported — every sibling (`ComponentWidth`, `DateFormat`, `ComponentCalloutVariant`, `SignatureMode`, …) already was. Consumers can now type a helper against it directly instead of restating the string union. No runtime or schema change: the `inputType` values are unchanged and were already documented in `flow-schema.json`.
21
+
22
+ ## 2.3.0 — 2026-07-10
23
+
24
+ ### Added
25
+
26
+ - Documentation now ships inside the package under `docs/`, plus an `AGENTS.md` routing guide at the package root. This package is the canonical home of the schema docs (`docs/schema/`), including the machine-validatable `flow-schema.json` and `flow-data-schema.json` — every other Fiber package depends on this one, so the schema is always present in `node_modules`.
27
+
28
+ ### Fixed
29
+
30
+ - `flow-data-schema.json` rejected output that FBRE actually emits: `confirm` was missing from the component type enum, `value` was required on entries that legitimately have no `value` key (containers, and a confirm that was ticked then unticked), and the base64 file-upload shape did not match the wire format. It now validates real FlowData.
31
+ - Documentation corrections: there are **30** component types (not 24) and **19** condition operators (not 20); option-bearing components such as `radio` do **not** default to their first option (the initial value is `null` unless `defaultValue` matches an option); `pattern` validation rules take `params.regex`, not `params.pattern`; the undocumented `showBorder` property on group and repeater is now in the schema; `${...}` references resolve against calculations, then component values, then context.
32
+ - `FileUploadBase64Data` declared a required field `lastModifiedData` — a typo for `lastModifiedDate` that was never emitted, so reading it always yielded `undefined`. It is now an optional `lastModifiedDate?: string`, matching the wire format and `flow-data-schema.json`. FBRE now emits the value as an ISO-8601 string rather than passing the deprecated `Date` object through unchanged. Code that read `lastModifiedData` will no longer type-check; it was reading a field that never existed at runtime.
33
+ - `FlowScreen.conditions` was typed `FlowConditionConfig | {}`, so an empty object `{}` type-checked even though the schema requires `action` and `when` and rejects it at validation. The `| {}` is removed; the field now matches `Component.conditions` (`FlowConditionConfig | undefined`), so a malformed `{}` is caught at compile time instead of at ajv validation.
34
+
35
+ ## 2.2.0 — 2026-07-03
36
+
37
+ ### Added
38
+
39
+ - `ConfirmationConfig` on `FlowConfiguration` — the terminal "thank you" screen (`show`, `title`, `body`).
40
+
41
+ ## 2.1.0 — 2026-06-10
42
+
43
+ ### Added
44
+
45
+ - `ThemeConfig` palette knobs: `background`, `surface`, `text`, `border`, `radius`, `fontFamily`, `error`, `success`, `warning`.
46
+ - `stepperStyle` on `ControlsConfig`.
47
+
48
+ ### Changed
49
+
50
+ - **`colorScheme: "light" | "dark"` replaces the `darkMode` boolean.** There is no runtime fallback — pre-migrate stored flows.
51
+
52
+ ## 2.0.1 — 2026-06-09
53
+
54
+ ### Fixed
55
+
56
+ - The package emits explicit `.js` import extensions (NodeNext resolution), so it resolves under native Node ESM and server-side rendering.
57
+
58
+ ## 2.0.0 — 2026-05-19
59
+
60
+ ### Changed — breaking
61
+
62
+ - **`Component` is a discriminated union keyed on `type`.** `component.properties` narrows to the matching `Component*Properties` shape after a `type` check. The Flow JSON itself is unchanged; this is a TypeScript-surface change.
63
+ - Added `ComponentOfType<K>` and `ComponentPropertiesByType`.
64
+ - A single component manifest is now the source of component metadata, with `assertManifestTypeMapParity` guarding it at build time.
65
+ - `generateUUID` has a single export site.
66
+ - Removed the dead `ComponentInputType` export.
67
+
68
+ ### Added
69
+
70
+ - `getValidationConfig` and `getComponentDisplayLabel` accessors for narrowed access.
71
+
72
+ ## 1.0.6 — 2026-05-18
73
+
74
+ ### Added
75
+
76
+ - `normalizeConditionalOrder(flow)` — a pure structural reorder that moves each top-level conditional to sit immediately after its trigger, so generator-authored (AI/LLM) flows group correctly in FBTL. Never rewrites conditions, properties, uuids, or labels; idempotent; leaves cycles and dangling sources in place.
77
+
78
+ ## 1.0.4 — 2026-03-20
79
+
80
+ ### Added
81
+
82
+ - Calculation results in the FlowData output (`FlowData.calculations`).
83
+
84
+ ## 1.0.1 – 1.0.3 — 2026-03-04
85
+
86
+ ### Added
87
+
88
+ - `FlowModeType` (`"standard" | "conversational"`) and the four conversational styles.
89
+ - Four additional standard styles; `stepperStyle` as independent config.
90
+ - `signature` and `computed` component types.
91
+ - Computation layer: `repeater` component, `Flow.calculations`, and rich option metadata (`OptionItem.metadata`).
92
+ - `cardSelect` component; optional `label` on `table`.
package/README.md ADDED
@@ -0,0 +1,105 @@
1
+ # @sonata-innovations/fiber-types
2
+
3
+ TypeScript types and JSON Schema for **Fiber** — a system for building and rendering data-collection forms.
4
+
5
+ This package defines the two contracts every other Fiber package speaks:
6
+
7
+ - **Flow** — the JSON document a builder produces and the render engine consumes
8
+ - **FlowData** — the collected responses the render engine hands back
9
+
10
+ It has no runtime dependencies and is the foundation of the Fiber dependency graph, which makes it the canonical home for the schema documentation.
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ npm install @sonata-innovations/fiber-types
16
+ ```
17
+
18
+ Most consumers get this package transitively — it is a dependency of `fiber-fbre`, `fiber-fbt`, `fiber-fbtl`, and `fiber-shared`. Install it directly when you generate or inspect Flow JSON without rendering it.
19
+
20
+ ## Documentation
21
+
22
+ Full docs ship inside this package under `docs/`, so they always match the version you installed. Start with `AGENTS.md` at the package root, or read them online at **[github.com/sonata-innovations/fiber-docs](https://github.com/sonata-innovations/fiber-docs)**.
23
+
24
+ | Document | What it covers |
25
+ |---|---|
26
+ | `docs/fiber-concepts.md` | The Flow/Screen/Component model, Flow vs FlowData |
27
+ | `docs/schema/flow-quick-reference.md` | Compact reference: 30 component types and their value shapes, conditions, validation, widths, markup |
28
+ | `docs/schema/flow-schema.md` | Exhaustive per-property reference |
29
+ | `docs/schema/flow-schema.json` | Machine-validatable JSON Schema (draft 2020-12) for a Flow |
30
+ | `docs/schema/flow-data-schema.md` | The shape of the data the render engine returns |
31
+ | `docs/schema/flow-data-schema.json` | Machine-validatable JSON Schema for FlowData |
32
+
33
+ ## Validate a Flow
34
+
35
+ The JSON Schema is the enforceable contract. Validate anything you generate rather than trusting it by inspection:
36
+
37
+ ```bash
38
+ npx ajv-cli validate --spec=draft2020 \
39
+ -s node_modules/@sonata-innovations/fiber-types/docs/schema/flow-schema.json \
40
+ -d my-flow.json
41
+ ```
42
+
43
+ ## What's exported
44
+
45
+ ```ts
46
+ import type {
47
+ Flow, FlowScreen, Component, ComponentProperties,
48
+ FlowMetadata, FlowConfiguration, ThemeConfig, NavigationConfig,
49
+ ControlsConfig, ConfirmationConfig, FontFamilyConfig,
50
+ FlowData, ScreenData, ComponentData, CalculationData,
51
+ FileUploadData, RangeValue,
52
+ FlowConditionConfig, ConditionRule, ConditionOperator,
53
+ FlowValidationConfig, ValidationRule,
54
+ PresetData, TemplateData,
55
+ ComponentType, ComponentOfType, ComponentPropertiesByType,
56
+ } from "@sonata-innovations/fiber-types";
57
+
58
+ import {
59
+ generateUUID,
60
+ regenerateComponentUUIDs,
61
+ regenerateFlowUUIDs,
62
+ normalizeConditionalOrder,
63
+ getValidationConfig,
64
+ getComponentDisplayLabel,
65
+ COMPONENT_VARIANT_TYPES,
66
+ } from "@sonata-innovations/fiber-types";
67
+ ```
68
+
69
+ Those are the headline types. Every **per-component property shape**
70
+ (`ComponentInputProperties`, `ComponentOptionProperties`, `ComponentRepeaterProperties`, …)
71
+ and every **property-level union** (`ComponentWidth`, `DateFormat`, `ComponentInputType`,
72
+ `ComponentCalloutVariant`, `SignatureMode`, `OptionItem`, `TableColumn`, …) is exported too —
73
+ import them when you need to type a helper against a single property rather than a whole component.
74
+
75
+ `Component` is a **discriminated union keyed on `type`** — narrow on `component.type` and `component.properties` narrows with it:
76
+
77
+ ```ts
78
+ if (component.type === "inputText") {
79
+ component.properties.placeholder; // typed, no cast
80
+ }
81
+ ```
82
+
83
+ ## Gotchas
84
+
85
+ - **`ThemeConfig.fontFamily` is `string | FontFamilyConfig`.** A plain string is a CSS stack and means "the host page already loads this font"; `{ family, src }` carries the sources a renderer registers itself. Code that reads the knob as a `string` has to narrow — `isFontFamilyConfig` / `fontFamilyStack` are exported from `@sonata-innovations/fiber-fbre` for that.
86
+ - **30 component types.** Display types (`header`, `text`, `divider`, `callout`, `table`) never appear in FlowData; `computed` does.
87
+ - **`pattern` validation rules take `params.regex`**, not `params.pattern`. A `pattern` key is silently ignored and the rule always passes.
88
+ - **Options must be `{ label, value }` objects**, not bare strings. `value` may be a string or a number.
89
+ - **Option-bearing components do not default to their first option.** The initial value is `null` unless `properties.defaultValue` matches an option's `value`.
90
+ - **Never set runtime-only fields** (`value`, `valid`, `addedComponents`) in Flow JSON.
91
+ - **AI-generated flows** should be passed through `normalizeConditionalOrder(flow)` before being loaded into FBTL. It reorders conditionals to follow their triggers — a pure structural reorder, idempotent, and it never rewrites a condition, property, uuid, or label.
92
+
93
+ ## Companion packages
94
+
95
+ | Package | What it is |
96
+ |---|---|
97
+ | [`@sonata-innovations/fiber-fbre`](https://www.npmjs.com/package/@sonata-innovations/fiber-fbre) | Render engine — renders a Flow, returns FlowData |
98
+ | [`@sonata-innovations/fiber-fbt`](https://www.npmjs.com/package/@sonata-innovations/fiber-fbt) | Full drag-and-drop builder |
99
+ | [`@sonata-innovations/fiber-fbtl`](https://www.npmjs.com/package/@sonata-innovations/fiber-fbtl) | Lite builder for non-technical end users |
100
+ | [`@sonata-innovations/fiber-shared`](https://www.npmjs.com/package/@sonata-innovations/fiber-shared) | Condition, validation, markup, and formula engines |
101
+ | [`@sonata-innovations/fiber-theme-editor`](https://www.npmjs.com/package/@sonata-innovations/fiber-theme-editor) | Visual theme editor widget |
102
+
103
+ ## License
104
+
105
+ MIT
@@ -4,7 +4,9 @@ export type FileUploadBase64Data = {
4
4
  type: string;
5
5
  size: number;
6
6
  lastModified: number;
7
- lastModifiedData: string;
7
+ /** Deprecated `File.lastModifiedDate`, ISO-8601. Only browsers that still
8
+ * expose the property emit this. */
9
+ lastModifiedDate?: string;
8
10
  data: string;
9
11
  };
10
12
  export type FileUploadS3Data = {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-data.d.ts","sourceRoot":"","sources":["../src/flow-data.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACD,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,IAAI,GACJ,cAAc,GACd,UAAU,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"flow-data.d.ts","sourceRoot":"","sources":["../src/flow-data.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB;yCACqC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACD,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,IAAI,GACJ,cAAc,GACd,UAAU,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC,CAAC"}
package/dist/flow.d.ts CHANGED
@@ -14,6 +14,49 @@ export type FlowMetadata = Record<string, string> & {
14
14
  * `darkMode: boolean`. Light is the default. A future "auto" (follow the
15
15
  * viewer's `prefers-color-scheme`) is an additive option, not yet supported. */
16
16
  export type ColorScheme = "light" | "dark";
17
+ /** One `url(...)` entry inside a face's `src`. `format` is the CSS
18
+ * `format()` hint — "woff2", "woff", "truetype". */
19
+ export type FontSource = {
20
+ url: string;
21
+ format?: string;
22
+ };
23
+ /** A single `@font-face`: one weight/style of a family. */
24
+ export type FontFaceConfig = {
25
+ src: FontSource[];
26
+ /** CSS `font-weight` — "400", "700", or a variable range like "100 900". */
27
+ weight?: string;
28
+ style?: "normal" | "italic" | "oblique";
29
+ display?: "auto" | "block" | "swap" | "fallback" | "optional";
30
+ unicodeRange?: string;
31
+ };
32
+ /**
33
+ * A brand font the renderer can actually load, rather than a family name it
34
+ * can only hope the host page already has.
35
+ *
36
+ * Naming a family in a theme does nothing on its own: `fontFamily` maps to a
37
+ * CSS family *string*, and if no `@font-face` for it is registered in the
38
+ * owning document the form falls back to `system-ui` and looks approximately
39
+ * fine, so nobody reports it. It matters most exactly where the host cannot
40
+ * patch around it — a form mounted in a shadow root, since `@font-face`
41
+ * rules inside a shadow stylesheet are not registered at all.
42
+ *
43
+ * Give the family sources here and the renderer registers the faces in the
44
+ * owning document itself (`ensureFontLoaded` in `@sonata-innovations/fiber-fbre`),
45
+ * so the family string and the loaded face cannot drift apart.
46
+ */
47
+ export type FontFamilyConfig = {
48
+ /** CSS family name. Used both for the `@font-face` and the token value. */
49
+ family: string;
50
+ /** Shorthand for a single regular face. Merged with `faces`. */
51
+ src?: FontSource[];
52
+ /** Additional faces — a second weight, an italic. */
53
+ faces?: FontFaceConfig[];
54
+ /**
55
+ * The full stack written to `--fbre-font`. Defaults to the family plus a
56
+ * system fallback, so a face that fails to load still renders sensibly.
57
+ */
58
+ stack?: string;
59
+ };
17
60
  /**
18
61
  * Visual theme settings. Two layers:
19
62
  * - `colorScheme` + `style` pick built-in presets (the seed palette + shape).
@@ -40,8 +83,12 @@ export type ThemeConfig = {
40
83
  border?: string;
41
84
  /** Corner radius, any CSS length (`--fbre-radius`), e.g. `"3px"`. */
42
85
  radius?: string;
43
- /** Font family stack (`--fbre-font`). */
44
- fontFamily?: string;
86
+ /**
87
+ * Font family (`--fbre-font`). A plain CSS stack string uses whatever the
88
+ * host page already provides; a `FontFamilyConfig` additionally carries the
89
+ * sources the renderer needs to register the face itself.
90
+ */
91
+ fontFamily?: string | FontFamilyConfig;
45
92
  /** Error state color (`--fbre-error`). */
46
93
  error?: string;
47
94
  /** Success state color (`--fbre-success`). */
@@ -117,7 +164,7 @@ export type FlowScreen = {
117
164
  uuid: string;
118
165
  label?: string;
119
166
  components: Component[];
120
- conditions?: FlowConditionConfig | {};
167
+ conditions?: FlowConditionConfig;
121
168
  nextButtonLabel?: string;
122
169
  backButtonLabel?: string;
123
170
  valid?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { Flow, FlowScreen, FlowConfiguration, ThemeConfig, ColorScheme, NavigationConfig, ControlsConfig, ConfirmationConfig, FlowMetadata, Component, ComponentOfType, ComponentProperties, ScreenTransitionType, FlowStyleType, ControlsLayout, StepperStyle, FlowModeType, } from "./flow.js";
1
+ export type { Flow, FlowScreen, FlowConfiguration, ThemeConfig, ColorScheme, NavigationConfig, ControlsConfig, FontSource, FontFaceConfig, FontFamilyConfig, ConfirmationConfig, FlowMetadata, Component, ComponentOfType, ComponentProperties, ScreenTransitionType, FlowStyleType, ControlsLayout, StepperStyle, FlowModeType, } from "./flow.js";
2
2
  export type { ComponentType, ComponentPropertiesByType, } from "./component-variants.js";
3
3
  export { COMPONENT_VARIANT_TYPES, assertManifestTypeMapParity, } from "./component-variants.js";
4
4
  export type { ConditionAction, ConditionLogic, ConditionOperator, ConditionRule, ConditionRuleSource, ConditionGroup, FlowConditionConfig, } from "./conditions.js";
@@ -13,5 +13,5 @@ export type { PresetData, TemplateData } from "./preset-template-data.js";
13
13
  export type { CalculationFormat, FlowCalculation, } from "./calculation.js";
14
14
  export type { ComponentCategory, ComponentManifestEntry, } from "./component-manifest.js";
15
15
  export { COMPONENT_MANIFEST, COMPONENT_TYPES, DISPLAY_ONLY_TYPES, CATEGORY_LABELS, getComponentManifestEntry, getManifestByCategory, } from "./component-manifest.js";
16
- export type { ComponentWidth, DateFormat, ComponentDisplayProperties, ComponentDividerProperties, ComponentInputProperties, OptionItem, ComponentOptionProperties, ComponentSliderProperties, ComponentSwitchProperties, ComponentRatingProperties, ComponentFileUploadProperties, ComponentGroupProperties, ComponentRepeaterProperties, ComponentDateProperties, ComponentTimeProperties, ComponentDateTimeProperties, ComponentDateRangeProperties, ComponentTimeRangeProperties, ComponentDateTimeRangeProperties, ComponentYesNoProperties, ComponentConfirmProperties, ComponentColorPickerProperties, CardSelectOption, ComponentCardSelectProperties, ComponentCalloutVariant, ComponentCalloutProperties, TableColumn, TableRow, ComponentTableProperties, SignatureMode, ComponentSignatureProperties, ComponentComputedProperties, } from "./properties.js";
16
+ export type { ComponentWidth, DateFormat, ComponentDisplayProperties, ComponentDividerProperties, ComponentInputType, ComponentInputProperties, OptionItem, ComponentOptionProperties, ComponentSliderProperties, ComponentSwitchProperties, ComponentRatingProperties, ComponentFileUploadProperties, ComponentGroupProperties, ComponentRepeaterProperties, ComponentDateProperties, ComponentTimeProperties, ComponentDateTimeProperties, ComponentDateRangeProperties, ComponentTimeRangeProperties, ComponentDateTimeRangeProperties, ComponentYesNoProperties, ComponentConfirmProperties, ComponentColorPickerProperties, CardSelectOption, ComponentCardSelectProperties, ComponentCalloutVariant, ComponentCalloutProperties, TableColumn, TableRow, ComponentTableProperties, SignatureMode, ComponentSignatureProperties, ComponentComputedProperties, } from "./properties.js";
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,IAAI,EACJ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,aAAa,EACb,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE1E,YAAY,EACV,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,cAAc,EACd,UAAU,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,UAAU,EACV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,IAAI,EACJ,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,aAAa,EACb,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE1E,YAAY,EACV,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,cAAc,EACd,UAAU,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,EACX,QAAQ,EACR,wBAAwB,EACxB,aAAa,EACb,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC"}