@refrakt-md/types 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/content-model.d.ts +180 -0
- package/dist/content-model.d.ts.map +1 -0
- package/dist/content-model.js +10 -0
- package/dist/content-model.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/package.d.ts +2 -0
- package/dist/package.d.ts.map +1 -1
- package/dist/schema/index.d.ts +3 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +5 -3
- package/dist/schema/index.js.map +1 -1
- package/dist/theme.d.ts +4 -0
- package/dist/theme.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative content model types.
|
|
3
|
+
*
|
|
4
|
+
* A content model describes how a rune's AST children are grouped and
|
|
5
|
+
* assigned to named fields. The resolver engine uses these declarations
|
|
6
|
+
* to replace per-rune `processChildren` methods with a generic, data-driven
|
|
7
|
+
* resolution step.
|
|
8
|
+
*/
|
|
9
|
+
/** Describes a single named field in a content model. */
|
|
10
|
+
export interface ContentFieldDefinition {
|
|
11
|
+
/** Field name — becomes the key in the resolved output. */
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Node type to match.
|
|
15
|
+
*
|
|
16
|
+
* Block-level: 'paragraph', 'heading', 'heading:2', 'list',
|
|
17
|
+
* 'list:ordered', 'list:unordered', 'image', 'blockquote',
|
|
18
|
+
* 'fence', 'hr', 'tag:NAME', 'any'.
|
|
19
|
+
*
|
|
20
|
+
* Inline-level (for itemModel / headingExtract — future):
|
|
21
|
+
* 'strong', 'em', 'link', 'image', 'code', 'text'.
|
|
22
|
+
*/
|
|
23
|
+
match: string;
|
|
24
|
+
/** Whether the field can be absent without warning. Default `false`. */
|
|
25
|
+
optional?: boolean;
|
|
26
|
+
/** Consume all consecutive matching nodes into an array. Default `false`. */
|
|
27
|
+
greedy?: boolean;
|
|
28
|
+
/** Markdoc snippet for editor insertion (future). */
|
|
29
|
+
template?: string;
|
|
30
|
+
/** Human-readable description for editor UI (future). */
|
|
31
|
+
description?: string;
|
|
32
|
+
/** For list fields: declares how to extract structured data from each list item. */
|
|
33
|
+
itemModel?: ItemModel;
|
|
34
|
+
}
|
|
35
|
+
/** Pattern 1 — children matched in order by node type. */
|
|
36
|
+
export interface SequenceModel {
|
|
37
|
+
type: 'sequence';
|
|
38
|
+
fields: ContentFieldDefinition[];
|
|
39
|
+
}
|
|
40
|
+
/** A named zone within a delimited model. */
|
|
41
|
+
export interface DelimitedZone extends SequenceModel {
|
|
42
|
+
name: string;
|
|
43
|
+
}
|
|
44
|
+
/** A field extracted from section heading text. */
|
|
45
|
+
export interface HeadingExtractField {
|
|
46
|
+
/** Field name — becomes key in extracted output. */
|
|
47
|
+
name: string;
|
|
48
|
+
/** Match type — currently only 'text' (matches against heading text). */
|
|
49
|
+
match: 'text';
|
|
50
|
+
/** Pattern to extract. RegExp uses capture group 1. 'remainder' takes rest of text. */
|
|
51
|
+
pattern: RegExp | 'remainder';
|
|
52
|
+
/** Whether the field can fail to match. Default `false`. */
|
|
53
|
+
optional?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** Defines how structured data is parsed from section heading text. */
|
|
56
|
+
export interface HeadingExtract {
|
|
57
|
+
fields: HeadingExtractField[];
|
|
58
|
+
}
|
|
59
|
+
/** Pattern 2 — children split into sections by heading elements. */
|
|
60
|
+
export interface SectionsModel {
|
|
61
|
+
type: 'sections';
|
|
62
|
+
/**
|
|
63
|
+
* Heading type to split on.
|
|
64
|
+
* `'heading'` auto-detects level from first heading child.
|
|
65
|
+
* `'heading:N'` uses an explicit level (e.g. `'heading:2'`).
|
|
66
|
+
*/
|
|
67
|
+
sectionHeading: string;
|
|
68
|
+
/** Preamble fields — resolved against content before the first section heading. */
|
|
69
|
+
fields?: ContentFieldDefinition[];
|
|
70
|
+
/** Content model applied to each section's body. */
|
|
71
|
+
sectionModel: ContentModel;
|
|
72
|
+
/** When set, sections are emitted as child rune tag nodes with this tag name. */
|
|
73
|
+
emitTag?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Attribute mapping for emitted tags.
|
|
76
|
+
* Values starting with `$` are references: `$heading` = heading text,
|
|
77
|
+
* `$fieldName` = heading-extracted field. Other values are literals.
|
|
78
|
+
*/
|
|
79
|
+
emitAttributes?: Record<string, string>;
|
|
80
|
+
/** Extract structured data from heading text. */
|
|
81
|
+
headingExtract?: HeadingExtract;
|
|
82
|
+
}
|
|
83
|
+
/** Pattern 3 — children split into groups by a delimiter node. */
|
|
84
|
+
export interface DelimitedModel {
|
|
85
|
+
type: 'delimited';
|
|
86
|
+
/** Delimiter node type (typically `'hr'`). */
|
|
87
|
+
delimiter: string;
|
|
88
|
+
/** Named zones — each group maps to a declared zone by index. */
|
|
89
|
+
zones?: DelimitedZone[];
|
|
90
|
+
/** When `true`, the number of zones is determined by delimiter count. */
|
|
91
|
+
dynamicZones?: boolean;
|
|
92
|
+
/** Zone model used when `dynamicZones` is `true`. */
|
|
93
|
+
zoneModel?: SequenceModel;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Pattern 4 — explicit escape hatch for runes whose content parsing is
|
|
97
|
+
* genuinely stateful and cannot be expressed declaratively.
|
|
98
|
+
*
|
|
99
|
+
* The `processChildren` function receives AST children and the rune's
|
|
100
|
+
* attribute values, returns rewritten nodes.
|
|
101
|
+
*/
|
|
102
|
+
export interface CustomModel {
|
|
103
|
+
type: 'custom';
|
|
104
|
+
processChildren: (nodes: unknown[], attributes: Record<string, unknown>) => unknown[];
|
|
105
|
+
/** Human-readable description of what the custom parser does. */
|
|
106
|
+
description: string;
|
|
107
|
+
}
|
|
108
|
+
/** A field extracted from inline content within a list item. */
|
|
109
|
+
export interface ItemFieldDefinition {
|
|
110
|
+
/** Field name — becomes key in extracted output. */
|
|
111
|
+
name: string;
|
|
112
|
+
/**
|
|
113
|
+
* Inline node type to match.
|
|
114
|
+
*
|
|
115
|
+
* Inline: 'strong', 'em', 'link', 'image', 'code', 'text'.
|
|
116
|
+
* Block (for nested content): 'list', 'paragraph'.
|
|
117
|
+
*/
|
|
118
|
+
match: string;
|
|
119
|
+
/** Whether the field can fail to match. Default `false`. */
|
|
120
|
+
optional?: boolean;
|
|
121
|
+
/** Consume all consecutive matching nodes into an array. Default `false`. */
|
|
122
|
+
greedy?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Which attribute to extract instead of text content.
|
|
125
|
+
* E.g., `'href'` on a link match extracts the URL.
|
|
126
|
+
*/
|
|
127
|
+
extract?: string;
|
|
128
|
+
/**
|
|
129
|
+
* For text-level extraction: regex pattern or `'remainder'` for leftover text.
|
|
130
|
+
* When a RegExp, capture group 1 is used. When `'remainder'`, captures
|
|
131
|
+
* whatever text is left after all other patterns have matched.
|
|
132
|
+
*/
|
|
133
|
+
pattern?: RegExp | 'remainder';
|
|
134
|
+
/** Nested item model for sub-lists. */
|
|
135
|
+
itemModel?: ItemModel;
|
|
136
|
+
}
|
|
137
|
+
/** Declares how to extract structured data from each list item's inline children. */
|
|
138
|
+
export interface ItemModel {
|
|
139
|
+
fields: ItemFieldDefinition[];
|
|
140
|
+
}
|
|
141
|
+
/** Condition: attribute value is in a set. */
|
|
142
|
+
export interface AttributeInCondition {
|
|
143
|
+
attribute: string;
|
|
144
|
+
in: string[];
|
|
145
|
+
}
|
|
146
|
+
/** Condition: attribute is present (truthy). */
|
|
147
|
+
export interface AttributeExistsCondition {
|
|
148
|
+
attribute: string;
|
|
149
|
+
exists: true;
|
|
150
|
+
}
|
|
151
|
+
/** Condition: a child matching a node type is present. */
|
|
152
|
+
export interface HasChildCondition {
|
|
153
|
+
hasChild: string;
|
|
154
|
+
}
|
|
155
|
+
/** A content model condition — used in `when` branches. */
|
|
156
|
+
export type ContentModelCondition = AttributeInCondition | AttributeExistsCondition | HasChildCondition;
|
|
157
|
+
/** A conditional content model that branches on attributes or content shape. */
|
|
158
|
+
export interface ConditionalContentModel {
|
|
159
|
+
when: Array<{
|
|
160
|
+
condition: ContentModelCondition;
|
|
161
|
+
model: ContentModel;
|
|
162
|
+
}>;
|
|
163
|
+
default: ContentModel;
|
|
164
|
+
}
|
|
165
|
+
/** A structural content model pattern. */
|
|
166
|
+
export type StructuralContentModel = SequenceModel | SectionsModel | DelimitedModel | CustomModel;
|
|
167
|
+
/**
|
|
168
|
+
* A content model declaration.
|
|
169
|
+
*
|
|
170
|
+
* Supports `sequence`, `sections`, `delimited`, and `custom` patterns,
|
|
171
|
+
* plus `when` conditional branching.
|
|
172
|
+
*/
|
|
173
|
+
export type ContentModel = StructuralContentModel | ConditionalContentModel;
|
|
174
|
+
/** A single resolved field value. */
|
|
175
|
+
export type ResolvedField = unknown | unknown[] | ResolvedContent | undefined;
|
|
176
|
+
/** The output of resolving a content model against AST children. */
|
|
177
|
+
export interface ResolvedContent {
|
|
178
|
+
[fieldName: string]: ResolvedField;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=content-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-model.d.ts","sourceRoot":"","sources":["../src/content-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declarative content model types.
|
|
3
|
+
*
|
|
4
|
+
* A content model describes how a rune's AST children are grouped and
|
|
5
|
+
* assigned to named fields. The resolver engine uses these declarations
|
|
6
|
+
* to replace per-rune `processChildren` methods with a generic, data-driven
|
|
7
|
+
* resolution step.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=content-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-model.js","sourceRoot":"","sources":["../src/content-model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export type { DesignTokens } from './tokens.js';
|
|
|
6
6
|
export type { RefraktConfig, ThemeManifest, LayoutDefinition, RouteRule, ComponentDefinition, } from './theme.js';
|
|
7
7
|
export type { RunePackage, RunePackageEntry, RunePackageAttribute, RuneExtension, RunePackageThemeConfig, } from './package.js';
|
|
8
8
|
export type { SerializedTag, RendererNode } from './serialized.js';
|
|
9
|
+
export type { ContentFieldDefinition, SequenceModel, HeadingExtractField, HeadingExtract, SectionsModel, DelimitedZone, DelimitedModel, CustomModel, ItemFieldDefinition, ItemModel, AttributeInCondition, AttributeExistsCondition, HasChildCondition, ContentModelCondition, ConditionalContentModel, StructuralContentModel, ContentModel, ResolvedField, ResolvedContent, } from './content-model.js';
|
|
9
10
|
export type { TransformedPage, PipelineHeadingInfo, EntityRegistration, EntityRegistry, AggregatedData, PipelineContext, PipelineWarning, PackagePipelineHooks, } from './pipeline.js';
|
|
10
11
|
//# 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":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGvD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGvD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGnE,YAAY,EACX,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,eAAe,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACX,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,GACpB,MAAM,eAAe,CAAC"}
|
package/dist/package.d.ts
CHANGED
|
@@ -37,6 +37,8 @@ export interface RunePackageThemeConfig {
|
|
|
37
37
|
runes?: Record<string, Record<string, unknown>>;
|
|
38
38
|
/** Additional icon SVGs (group name → icon name → SVG string) */
|
|
39
39
|
icons?: Record<string, Record<string, string>>;
|
|
40
|
+
/** Background preset definitions for this package's runes */
|
|
41
|
+
backgrounds?: Record<string, Record<string, unknown>>;
|
|
40
42
|
}
|
|
41
43
|
/** A community rune package's exported registration object */
|
|
42
44
|
export interface RunePackage {
|
package/dist/package.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAChC,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC9C;AAED,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACtC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAChC,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC7B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC9C;AAED,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACtC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC3B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,mEAAmE;IACnE,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B;yFACqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;uFACmF;IACnF,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;CACxD"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -3,13 +3,14 @@ export declare class Type<TSchema extends object = object> {
|
|
|
3
3
|
readonly name: string;
|
|
4
4
|
private schemaCtr;
|
|
5
5
|
context: Record<string, string>;
|
|
6
|
-
|
|
6
|
+
readonly schemaOrgType?: string | undefined;
|
|
7
|
+
constructor(name: string, schemaCtr: Newable<TSchema>, context?: Record<string, string>, schemaOrgType?: string | undefined);
|
|
7
8
|
create(): TSchema;
|
|
8
9
|
}
|
|
9
10
|
export declare class TypeFactory<TSchema extends object> {
|
|
10
11
|
private schema;
|
|
11
12
|
constructor(schema: Newable<TSchema>);
|
|
12
|
-
defineType(name: string, context?: Record<string, string
|
|
13
|
+
defineType(name: string, context?: Record<string, string>, schemaOrgType?: string): Type<TSchema>;
|
|
13
14
|
}
|
|
14
15
|
export declare function useSchema<T extends object>(schema: Newable<T>): TypeFactory<T>;
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,qBAAa,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;aAE7B,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,SAAS;IACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,qBAAa,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;aAE7B,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,SAAS;IACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;aACtB,aAAa,CAAC,EAAE,MAAM;gBAHtB,IAAI,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAC5B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC3B,aAAa,CAAC,EAAE,MAAM,YAAA;IAGxC,MAAM;CAGP;AAED,qBAAa,WAAW,CAAC,OAAO,SAAS,MAAM;IACjC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;IAE5C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,aAAa,CAAC,EAAE,MAAM;CAGtF;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAE7D"}
|
package/dist/schema/index.js
CHANGED
|
@@ -2,10 +2,12 @@ export class Type {
|
|
|
2
2
|
name;
|
|
3
3
|
schemaCtr;
|
|
4
4
|
context;
|
|
5
|
-
|
|
5
|
+
schemaOrgType;
|
|
6
|
+
constructor(name, schemaCtr, context = {}, schemaOrgType) {
|
|
6
7
|
this.name = name;
|
|
7
8
|
this.schemaCtr = schemaCtr;
|
|
8
9
|
this.context = context;
|
|
10
|
+
this.schemaOrgType = schemaOrgType;
|
|
9
11
|
}
|
|
10
12
|
create() {
|
|
11
13
|
return new this.schemaCtr();
|
|
@@ -16,8 +18,8 @@ export class TypeFactory {
|
|
|
16
18
|
constructor(schema) {
|
|
17
19
|
this.schema = schema;
|
|
18
20
|
}
|
|
19
|
-
defineType(name, context = {}) {
|
|
20
|
-
return new Type(name, this.schema, context);
|
|
21
|
+
defineType(name, context = {}, schemaOrgType) {
|
|
22
|
+
return new Type(name, this.schema, context, schemaOrgType);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
export function useSchema(schema) {
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAEG;IACR;IACD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,IAAI;IAEG;IACR;IACD;IACS;IAJlB,YACkB,IAAY,EACpB,SAA2B,EAC5B,UAAkC,EAAE,EAC3B,aAAsB;QAHtB,SAAI,GAAJ,IAAI,CAAQ;QACpB,cAAS,GAAT,SAAS,CAAkB;QAC5B,YAAO,GAAP,OAAO,CAA6B;QAC3B,kBAAa,GAAb,aAAa,CAAS;IACrC,CAAC;IAEJ,MAAM;QACJ,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEhD,UAAU,CAAC,IAAY,EAAE,UAAkC,EAAE,EAAE,aAAsB;QACnF,OAAO,IAAI,IAAI,CAAU,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAmB,MAAkB;IAC5D,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/theme.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export interface RefraktConfig {
|
|
|
22
22
|
icons?: Record<string, string>;
|
|
23
23
|
/** Community rune packages to load (npm package names) */
|
|
24
24
|
packages?: string[];
|
|
25
|
+
/** Project-level tint presets — merged after theme tints (last wins) */
|
|
26
|
+
tints?: Record<string, Record<string, unknown>>;
|
|
27
|
+
/** Project-level background presets — merged after theme backgrounds (last wins) */
|
|
28
|
+
backgrounds?: Record<string, Record<string, unknown>>;
|
|
25
29
|
/** Rune resolution configuration */
|
|
26
30
|
runes?: {
|
|
27
31
|
/** Resolve name collisions between community packages: rune name → preferred package name.
|
package/dist/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC7B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kCAAkC;IAClC,SAAS,CAAC,EAAE;QACX,mFAAmF;QACnF,KAAK,CAAC,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACjD,CAAC;IACF,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE;QACP;iGACyF;QACzF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC;oGAC4F;QAC5F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC;yEACiE;QACjE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACF;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C;;gFAE4E;IAC5E,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,qDAAqD;IACrD,uBAAuB,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;IAC9D,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAChC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACzB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IACnC,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD"}
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|