@yahoo/uds-create-config 4.11.0 → 4.12.1
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/capture/capture-to-spec.d.ts +69 -0
- package/dist/capture/capture-to-spec.js +433 -0
- package/dist/capture/captured-tree.d.ts +65 -0
- package/dist/capture/captured-tree.js +201 -0
- package/dist/capture/class-grammar.d.ts +64 -0
- package/dist/capture/class-grammar.js +131 -0
- package/dist/capture/fixtures/tree-from-html.d.ts +3 -0
- package/dist/capture/icon-resolver.d.ts +59 -0
- package/dist/capture/icon-resolver.js +205 -0
- package/dist/capture/node-ops.d.ts +2 -0
- package/dist/capture/node-ops.js +146 -0
- package/dist/capture/node-patches.d.ts +32 -0
- package/dist/capture/node-patches.js +99 -0
- package/dist/configs/CanvasConfig.d.ts +1 -1
- package/dist/configs/CanvasConfig.js +3 -1
- package/dist/configs/react-native-system.d.ts +28 -20
- package/dist/configs/react-native-system.js +1 -1
- package/dist/configs/system.d.ts +12 -4
- package/dist/configs/system.js +4 -2
- package/dist/entities/native/NativeModifier.d.ts +1 -1
- package/dist/entities/native/NativeStyleProperty.d.ts +15 -15
- package/dist/entities/system/CanvasRole.d.ts +5 -1
- package/dist/entities/system/CanvasRole.js +7 -2
- package/dist/entities/system/Component.js +3 -3
- package/dist/entities/system/Icon.d.ts +2 -0
- package/dist/entities/system/Icon.js +9 -3
- package/dist/entities/system/Modifier.d.ts +2 -2
- package/dist/entities/system/copy-plan.js +1 -1
- package/dist/entities/system/defineComponent.d.ts +6 -3
- package/dist/entities/system/element.d.ts +2 -1
- package/dist/entities/system/element.js +3 -1
- package/dist/entities/system/icon-library.d.ts +21 -6
- package/dist/entities/system/icon-library.js +36 -15
- package/dist/entities/system/link-plan.js +1 -1
- package/dist/framework/Config.d.ts +1 -1
- package/dist/framework/Config.js +2 -2
- package/dist/framework/defineEntity.js +1 -1
- package/dist/framework/inline-sources.js +1 -1
- package/dist/framework/plan.js +1 -1
- package/dist/framework/projections.d.ts +27 -8
- package/dist/framework/projections.js +38 -9
- package/dist/framework/render-spec.js +2 -2
- package/dist/framework/schema-version.d.ts +1 -1
- package/dist/framework/schema-version.js +5 -5
- package/dist/index.d.ts +10 -5
- package/dist/index.js +14 -9
- package/dist/migrations/2.0.0/v1-artifact.d.ts +7 -3
- package/dist/migrations/20260923005318_icon_canvas_tool.d.ts +12 -0
- package/dist/migrations/20260923005318_icon_canvas_tool.js +8 -0
- package/dist/renderer/glyphEntries.d.ts +6 -5
- package/dist/renderer/glyphEntries.js +17 -13
- package/dist/renderer/glyphRenderable.js +19 -12
- package/dist/renderer/icon-library.d.ts +5 -2
- package/dist/renderer/resolveGlyph.d.ts +6 -2
- package/dist/spec/cell.js +1 -1
- package/dist/spec/prop-conditions.js +1 -1
- package/dist/spec/slot.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -30,7 +30,14 @@ declare const rnStyleKey: z.ZodEnum<{
|
|
|
30
30
|
overflow: "overflow";
|
|
31
31
|
padding: "padding";
|
|
32
32
|
width: "width";
|
|
33
|
+
elevation: "elevation";
|
|
33
34
|
fontFamily: "fontFamily";
|
|
35
|
+
fontSize: "fontSize";
|
|
36
|
+
fontStyle: "fontStyle";
|
|
37
|
+
fontVariant: "fontVariant";
|
|
38
|
+
fontWeight: "fontWeight";
|
|
39
|
+
letterSpacing: "letterSpacing";
|
|
40
|
+
pointerEvents: "pointerEvents";
|
|
34
41
|
alignContent: "alignContent";
|
|
35
42
|
alignItems: "alignItems";
|
|
36
43
|
alignSelf: "alignSelf";
|
|
@@ -72,7 +79,6 @@ declare const rnStyleKey: z.ZodEnum<{
|
|
|
72
79
|
boxShadow: "boxShadow";
|
|
73
80
|
boxSizing: "boxSizing";
|
|
74
81
|
columnGap: "columnGap";
|
|
75
|
-
elevation: "elevation";
|
|
76
82
|
experimental_backgroundImage: "experimental_backgroundImage";
|
|
77
83
|
experimental_backgroundPosition: "experimental_backgroundPosition";
|
|
78
84
|
experimental_backgroundRepeat: "experimental_backgroundRepeat";
|
|
@@ -82,10 +88,6 @@ declare const rnStyleKey: z.ZodEnum<{
|
|
|
82
88
|
flexGrow: "flexGrow";
|
|
83
89
|
flexShrink: "flexShrink";
|
|
84
90
|
flexWrap: "flexWrap";
|
|
85
|
-
fontSize: "fontSize";
|
|
86
|
-
fontStyle: "fontStyle";
|
|
87
|
-
fontVariant: "fontVariant";
|
|
88
|
-
fontWeight: "fontWeight";
|
|
89
91
|
includeFontPadding: "includeFontPadding";
|
|
90
92
|
insetBlock: "insetBlock";
|
|
91
93
|
insetBlockEnd: "insetBlockEnd";
|
|
@@ -94,7 +96,6 @@ declare const rnStyleKey: z.ZodEnum<{
|
|
|
94
96
|
insetInlineEnd: "insetInlineEnd";
|
|
95
97
|
insetInlineStart: "insetInlineStart";
|
|
96
98
|
justifyContent: "justifyContent";
|
|
97
|
-
letterSpacing: "letterSpacing";
|
|
98
99
|
lineHeight: "lineHeight";
|
|
99
100
|
marginBlock: "marginBlock";
|
|
100
101
|
marginBlockEnd: "marginBlockEnd";
|
|
@@ -135,7 +136,6 @@ declare const rnStyleKey: z.ZodEnum<{
|
|
|
135
136
|
paddingStart: "paddingStart";
|
|
136
137
|
paddingTop: "paddingTop";
|
|
137
138
|
paddingVertical: "paddingVertical";
|
|
138
|
-
pointerEvents: "pointerEvents";
|
|
139
139
|
resizeMode: "resizeMode";
|
|
140
140
|
rotation: "rotation";
|
|
141
141
|
rowGap: "rowGap";
|
|
@@ -172,7 +172,7 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
172
172
|
arbitrary: z.ZodDefault<z.ZodBoolean>;
|
|
173
173
|
negates: z.ZodDefault<z.ZodBoolean>;
|
|
174
174
|
opacityOf: z.ZodOptional<z.ZodLazy<z.ZodType<Ref, unknown, z.core.$ZodTypeInternals<Ref, unknown>>>>;
|
|
175
|
-
}, "values" | "
|
|
175
|
+
}, "values" | "classPrefix" | "properties"> & {
|
|
176
176
|
properties: z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodEnum<{
|
|
177
177
|
filter: "filter";
|
|
178
178
|
transform: "transform";
|
|
@@ -197,7 +197,14 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
197
197
|
overflow: "overflow";
|
|
198
198
|
padding: "padding";
|
|
199
199
|
width: "width";
|
|
200
|
+
elevation: "elevation";
|
|
200
201
|
fontFamily: "fontFamily";
|
|
202
|
+
fontSize: "fontSize";
|
|
203
|
+
fontStyle: "fontStyle";
|
|
204
|
+
fontVariant: "fontVariant";
|
|
205
|
+
fontWeight: "fontWeight";
|
|
206
|
+
letterSpacing: "letterSpacing";
|
|
207
|
+
pointerEvents: "pointerEvents";
|
|
201
208
|
alignContent: "alignContent";
|
|
202
209
|
alignItems: "alignItems";
|
|
203
210
|
alignSelf: "alignSelf";
|
|
@@ -239,7 +246,6 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
239
246
|
boxShadow: "boxShadow";
|
|
240
247
|
boxSizing: "boxSizing";
|
|
241
248
|
columnGap: "columnGap";
|
|
242
|
-
elevation: "elevation";
|
|
243
249
|
experimental_backgroundImage: "experimental_backgroundImage";
|
|
244
250
|
experimental_backgroundPosition: "experimental_backgroundPosition";
|
|
245
251
|
experimental_backgroundRepeat: "experimental_backgroundRepeat";
|
|
@@ -249,10 +255,6 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
249
255
|
flexGrow: "flexGrow";
|
|
250
256
|
flexShrink: "flexShrink";
|
|
251
257
|
flexWrap: "flexWrap";
|
|
252
|
-
fontSize: "fontSize";
|
|
253
|
-
fontStyle: "fontStyle";
|
|
254
|
-
fontVariant: "fontVariant";
|
|
255
|
-
fontWeight: "fontWeight";
|
|
256
258
|
includeFontPadding: "includeFontPadding";
|
|
257
259
|
insetBlock: "insetBlock";
|
|
258
260
|
insetBlockEnd: "insetBlockEnd";
|
|
@@ -261,7 +263,6 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
261
263
|
insetInlineEnd: "insetInlineEnd";
|
|
262
264
|
insetInlineStart: "insetInlineStart";
|
|
263
265
|
justifyContent: "justifyContent";
|
|
264
|
-
letterSpacing: "letterSpacing";
|
|
265
266
|
lineHeight: "lineHeight";
|
|
266
267
|
marginBlock: "marginBlock";
|
|
267
268
|
marginBlockEnd: "marginBlockEnd";
|
|
@@ -302,7 +303,6 @@ declare const NativeStyleProperty: EntityClass<z.ZodObject<Omit<{
|
|
|
302
303
|
paddingStart: "paddingStart";
|
|
303
304
|
paddingTop: "paddingTop";
|
|
304
305
|
paddingVertical: "paddingVertical";
|
|
305
|
-
pointerEvents: "pointerEvents";
|
|
306
306
|
resizeMode: "resizeMode";
|
|
307
307
|
rotation: "rotation";
|
|
308
308
|
rowGap: "rowGap";
|
|
@@ -15,7 +15,7 @@ import { z } from "zod";
|
|
|
15
15
|
* one ("mirrors `@yahoo/uds-create-config`'s `CanvasRole` union without importing it") — a second
|
|
16
16
|
* source of truth wearing a comment admitting it.
|
|
17
17
|
*/
|
|
18
|
-
declare const CANVAS_ROLES: readonly ["frame", "text", "image"];
|
|
18
|
+
declare const CANVAS_ROLES: readonly ["frame", "text", "image", "icon"];
|
|
19
19
|
type CanvasRoleName = (typeof CANVAS_ROLES)[number];
|
|
20
20
|
declare const CanvasRole: EntityClass<z.ZodObject<{
|
|
21
21
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -24,6 +24,10 @@ declare const CanvasRole: EntityClass<z.ZodObject<{
|
|
|
24
24
|
}, z.core.$strip>;
|
|
25
25
|
default: z.ZodOptional<z.ZodBoolean>;
|
|
26
26
|
defaultProps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
27
|
+
props: z.ZodOptional<z.ZodObject<{
|
|
28
|
+
glyph: z.ZodString;
|
|
29
|
+
axes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
27
31
|
}, z.core.$strip>>;
|
|
28
32
|
}, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "canvas-role", {
|
|
29
33
|
readonly create: {
|
|
@@ -30,14 +30,19 @@ import { z } from "zod";
|
|
|
30
30
|
const CANVAS_ROLES = [
|
|
31
31
|
"frame",
|
|
32
32
|
"text",
|
|
33
|
-
"image"
|
|
33
|
+
"image",
|
|
34
|
+
"icon"
|
|
34
35
|
];
|
|
35
36
|
const CanvasRole = defineEntity({
|
|
36
37
|
kind: "canvas-role",
|
|
37
38
|
fields: z.object({ entries: z.array(z.object({
|
|
38
39
|
component: Component.describe("The component this tool inserts, as a ref: `{ \"__ref\": \"component:<path>\" }`."),
|
|
39
40
|
default: z.boolean().optional().describe("The entry the tool inserts when none is chosen; mark one."),
|
|
40
|
-
defaultProps: z.record(z.string(), z.unknown()).optional().describe("Props the inserted component starts with, keyed by prop name.")
|
|
41
|
+
defaultProps: z.record(z.string(), z.unknown()).optional().describe("Props the inserted component starts with, keyed by prop name."),
|
|
42
|
+
props: z.object({
|
|
43
|
+
glyph: z.string().describe("The prop that takes the glyph: one whose domain is an icon library (`name: { type: \"variant\", value: Icon.ref(\"icons\") }`). Its libraries are what the picker offers."),
|
|
44
|
+
axes: z.array(z.string()).optional().describe("The props the picker offers as axes (`variant`, `size`), each with the values the prop itself declares.")
|
|
45
|
+
}).optional().describe("What the tool exposes of the component. Read by the `icon` role: the picker draws every glyph through this component and offers the named props as its axes.")
|
|
41
46
|
})).describe(`The components a canvas insert tool draws with. The entity's path is the tool: one of ${CANVAS_ROLES.map((role) => `\`${role}\``).join(", ")}. A role with no entity registered has its tool disabled.`) }),
|
|
42
47
|
schemas: { create: { description: `Register a canvas insert tool for this system. \`path\` is the role, one of ${CANVAS_ROLES.map((role) => `\`${role}\``).join(", ")}; \`data.entries\` names the components that tool inserts, one marked \`default\`. A system whose roles are unregistered has those canvas tools disabled, so register \`frame\` and \`text\` once a layout primitive and a text primitive exist.` } }
|
|
43
48
|
});
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { reject, rejectData } from "../../framework/rejection.js";
|
|
2
1
|
import { canonicalCondition, isRef, kindOf, memberOf, pathOf, ref, refLeaf, refSchema, splitRef } from "../../framework/utils/refs.js";
|
|
2
|
+
import { childrenPolicy } from "./element.js";
|
|
3
|
+
import { reject, rejectData } from "../../framework/rejection.js";
|
|
3
4
|
import { isPlainObject } from "../../framework/utils/field-path.js";
|
|
4
5
|
import { pathInput } from "../../framework/schemas.js";
|
|
5
6
|
import { defineEntity } from "../../framework/defineEntity.js";
|
|
6
7
|
import { defineSubEntity } from "../../framework/defineSubEntity.js";
|
|
7
8
|
import { derivedColor, gradient } from "./color.js";
|
|
8
|
-
import { childrenPolicy } from "./element.js";
|
|
9
9
|
import { listedIn } from "../../framework/utils/enumerated.js";
|
|
10
10
|
import { valueSchemaOf } from "../../framework/value-domain.js";
|
|
11
11
|
import { glyphLeafOf } from "./glyph-identity.js";
|
|
12
12
|
import { Style, addBagKeyIssues, anatomyPropValue, bagNameEdges, bagRewriteName, bindBagTokens, collectBag, isPlainRecord, openBag, styleValue } from "./style-bag.js";
|
|
13
13
|
import { storedPreview } from "../../framework/preview-store.js";
|
|
14
14
|
import { glyphPropsOf, propValueDomain, refListOf, resolveComponentProps, stylePropValueLeaves, validateComponentProps } from "../../framework/projections.js";
|
|
15
|
-
import { intoName, routedPropIn, routesContent } from "../../framework/prop-surface.js";
|
|
16
15
|
import { slotAnatomyPropOf, slotTargetsOf, withoutTruthyTerm } from "../../framework/render-spec.js";
|
|
17
16
|
import { listSlots, namedSlots, slotHostedBy, slotOf } from "../../spec/slot.js";
|
|
18
17
|
import { cellAt } from "../../spec/cell.js";
|
|
@@ -20,6 +19,7 @@ import { instanceAt } from "../../spec/instance.js";
|
|
|
20
19
|
import { Package } from "./Package.js";
|
|
21
20
|
import { File } from "./File.js";
|
|
22
21
|
import { iconDomainInvariants } from "./icon-domain-invariants.js";
|
|
22
|
+
import { intoName, routedPropIn, routesContent } from "../../framework/prop-surface.js";
|
|
23
23
|
import { z } from "zod";
|
|
24
24
|
//#region src/entities/system/Component.ts
|
|
25
25
|
/**
|
|
@@ -12,11 +12,13 @@ import { z } from "zod";
|
|
|
12
12
|
* - `{ export: { filled: '{name}Filled' } }`: a variant is another export, named by the template
|
|
13
13
|
* with `{name}` replaced by the member's name; a variant not listed draws the bare export (Tabler).
|
|
14
14
|
*/
|
|
15
|
+
/** @deprecated With the group's `variantAs`; see there. */
|
|
15
16
|
declare const iconVariantAs: z.ZodUnion<readonly [z.ZodObject<{
|
|
16
17
|
prop: z.ZodString;
|
|
17
18
|
}, z.core.$strict>, z.ZodObject<{
|
|
18
19
|
export: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
19
20
|
}, z.core.$strict>]>;
|
|
21
|
+
/** @deprecated With the group's `variantAs`; see there. */
|
|
20
22
|
type IconVariantAs = z.infer<typeof iconVariantAs>;
|
|
21
23
|
/**
|
|
22
24
|
* Icon (`icons/AcornIcon`) — one glyph in an icon library. The library (`icons`) is an EMERGENT group
|
|
@@ -14,6 +14,7 @@ import { z } from "zod";
|
|
|
14
14
|
* - `{ export: { filled: '{name}Filled' } }`: a variant is another export, named by the template
|
|
15
15
|
* with `{name}` replaced by the member's name; a variant not listed draws the bare export (Tabler).
|
|
16
16
|
*/
|
|
17
|
+
/** @deprecated With the group's `variantAs`; see there. */
|
|
17
18
|
const iconVariantAs = z.union([z.strictObject({ prop: z.string().min(1) }), z.strictObject({ export: z.record(z.string().min(1), z.string().min(1)) })]);
|
|
18
19
|
/**
|
|
19
20
|
* Icon (`icons/AcornIcon`) — one glyph in an icon library. The library (`icons`) is an EMERGENT group
|
|
@@ -44,12 +45,17 @@ const Icon = defineEntity({
|
|
|
44
45
|
/** Where member metadata comes from and how to read it — `{ from, format }`. The build resolves
|
|
45
46
|
* the source and bakes each member's fields; see `icon-metadata.ts`. */
|
|
46
47
|
metadata: iconMetadataDeclaration.optional(),
|
|
47
|
-
/** Named sizes the set ships (`sm: 16`).
|
|
48
|
+
/** Named sizes the set ships (`sm: 16`).
|
|
49
|
+
* @deprecated How a glyph is sized is the icon tool's component's business: the icon tool's component declares its own `size` and `variant` props, and every surface reads those. TODO: remove with a migration once no surface reads the library's copy. */
|
|
48
50
|
sizes: z.record(z.string(), z.number()).optional(),
|
|
49
|
-
/** Weights/styles the set ships (`regular`, `fill`).
|
|
51
|
+
/** Weights/styles the set ships (`regular`, `fill`).
|
|
52
|
+
* @deprecated Which styles a glyph takes is the icon tool's component's business: the icon tool's component declares its own `size` and `variant` props, and every surface reads those. TODO: remove with a migration once no surface reads the library's copy. */
|
|
50
53
|
variants: z.array(z.string()).optional(),
|
|
51
54
|
/** How a variant reaches the glyph; see {@link iconVariantAs}. Absent, a variant is dropped at
|
|
52
|
-
* render.
|
|
55
|
+
* render.
|
|
56
|
+
* @deprecated Only the framework's raw-draw path read it; the icon tool's component passes a
|
|
57
|
+
* variant the way its package wants, and a set whose styles are separate exports lists them as
|
|
58
|
+
* members. TODO: remove with `sizes` and `variants`. */
|
|
53
59
|
variantAs: iconVariantAs.optional()
|
|
54
60
|
}),
|
|
55
61
|
groupComputed: {
|
|
@@ -27,8 +27,8 @@ type WebActivation = (typeof WEB_ACTIVATIONS)[number];
|
|
|
27
27
|
*/
|
|
28
28
|
declare const modifierGroupFields: z.ZodObject<{
|
|
29
29
|
type: z.ZodOptional<z.ZodEnum<{
|
|
30
|
-
mode: "mode";
|
|
31
30
|
state: "state";
|
|
31
|
+
mode: "mode";
|
|
32
32
|
}>>;
|
|
33
33
|
default: z.ZodOptional<z.ZodObject<{
|
|
34
34
|
__ref: z.ZodString;
|
|
@@ -49,8 +49,8 @@ declare const Modifier: EntityClass<z.ZodObject<{
|
|
|
49
49
|
}, z.core.$strip>, z.ZodObject<Record<never, never>, z.core.$strip>, "composite", Record<never, never>, Record<never, never>, false, Record<never, never>, Record<never, never>>>]>;
|
|
50
50
|
}, z.core.$strip>, z.ZodObject<{
|
|
51
51
|
type: z.ZodOptional<z.ZodEnum<{
|
|
52
|
-
mode: "mode";
|
|
53
52
|
state: "state";
|
|
53
|
+
mode: "mode";
|
|
54
54
|
}>>;
|
|
55
55
|
default: z.ZodOptional<z.ZodObject<{
|
|
56
56
|
__ref: z.ZodString;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rejectData } from "../../framework/rejection.js";
|
|
2
1
|
import { MINTED, collectRefs, isMintedRow, kindOf, pathOf, rewriteRefs, sourceOf, splitRef } from "../../framework/utils/refs.js";
|
|
2
|
+
import { rejectData } from "../../framework/rejection.js";
|
|
3
3
|
import { kindBorrowable } from "../../framework/registry.js";
|
|
4
4
|
import { File } from "./File.js";
|
|
5
5
|
import { componentModuleFilePaths, componentRegistryImports } from "./component-module.js";
|
|
@@ -247,10 +247,13 @@ type ValueOf<D> = D extends readonly (infer Member)[] ? Member : D extends {
|
|
|
247
247
|
/**
|
|
248
248
|
* A glyph as a value: the component an icon library exports. Its `displayName` is the member it is,
|
|
249
249
|
* which is what register stores (`icon:phosphor/XIcon`) and what the renderer resolves back to the
|
|
250
|
-
* component. Sizing is the placing component's business,
|
|
250
|
+
* component. Sizing is the placing component's business, and the vocabulary of `size` is the
|
|
251
|
+
* library's own (one package takes pixels, another a named bucket), so the type states nothing about
|
|
252
|
+
* it: with the default any glyph fits, and a component that knows its library narrows
|
|
253
|
+
* (`GlyphComponent<number>`).
|
|
251
254
|
*/
|
|
252
|
-
type GlyphComponent = ComponentType<{
|
|
253
|
-
size?:
|
|
255
|
+
type GlyphComponent<Size extends string | number = never> = ComponentType<{
|
|
256
|
+
size?: Size;
|
|
254
257
|
}>;
|
|
255
258
|
/**
|
|
256
259
|
* The members a ref-delegated domain offers, read off the registered paths: a variant whose domain
|
|
@@ -58,7 +58,8 @@ declare function renderedElement(config: Config, path: string, seen?: Set<string
|
|
|
58
58
|
* Elements that may not be given children — React throws when one is.
|
|
59
59
|
*
|
|
60
60
|
* The list is HTML's, not the config's: whether `<input>` takes children is a fact about the DOM, and
|
|
61
|
-
* a design system has no say in it.
|
|
61
|
+
* a design system has no say in it. `textarea` is not void, but its content is its `value`, and React
|
|
62
|
+
* refuses children on it the same way.
|
|
62
63
|
*/
|
|
63
64
|
declare const VOID_ELEMENTS: ReadonlySet<string>;
|
|
64
65
|
/**
|
|
@@ -89,7 +89,8 @@ function renderedElement(config, path, seen = /* @__PURE__ */ new Set()) {
|
|
|
89
89
|
* Elements that may not be given children — React throws when one is.
|
|
90
90
|
*
|
|
91
91
|
* The list is HTML's, not the config's: whether `<input>` takes children is a fact about the DOM, and
|
|
92
|
-
* a design system has no say in it.
|
|
92
|
+
* a design system has no say in it. `textarea` is not void, but its content is its `value`, and React
|
|
93
|
+
* refuses children on it the same way.
|
|
93
94
|
*/
|
|
94
95
|
const VOID_ELEMENTS = new Set([
|
|
95
96
|
"area",
|
|
@@ -104,6 +105,7 @@ const VOID_ELEMENTS = new Set([
|
|
|
104
105
|
"meta",
|
|
105
106
|
"param",
|
|
106
107
|
"source",
|
|
108
|
+
"textarea",
|
|
107
109
|
"track",
|
|
108
110
|
"wbr"
|
|
109
111
|
]);
|
|
@@ -5,24 +5,30 @@ import { Icon, IconVariantAs } from "./Icon.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* An icon library as its group node reads: the path, the stored set facts (`sizes`, `variants`,
|
|
7
7
|
* `package`, `variantAs`, `metadata`) and the computeds the entity declares (`members`, `module`,
|
|
8
|
-
* `version`), plus the per-member and
|
|
8
|
+
* `version`), plus the per-member and component-side facts this projection derives. Typed off
|
|
9
9
|
* `Icon.groups`, so a field added on the entity is visible here without a second declaration.
|
|
10
10
|
*/
|
|
11
11
|
type IconLibrary = {
|
|
12
12
|
readonly path: string;
|
|
13
13
|
} & Undefinable<Omit<ReturnType<typeof Icon.groups>[number]['meta'], 'items' | 'sizes' | 'variants'>> & {
|
|
14
|
+
/** @deprecated The library's copy of what the icon tool's component declares as `size`. TODO: remove
|
|
15
|
+
* with the group field. */
|
|
14
16
|
readonly sizes: Readonly<Record<string, number>>;
|
|
17
|
+
/** @deprecated The library's copy of what the icon tool's component declares as `variant`. TODO:
|
|
18
|
+
* remove with the group field. */
|
|
15
19
|
readonly variants: readonly string[];
|
|
16
20
|
/** For a ragged set, the members whose own `variants` differ from the set's, by leaf. A member
|
|
17
21
|
* listing exactly the set's variants is left out, so the map stays as sparse as the
|
|
18
22
|
* raggedness. */
|
|
19
23
|
readonly memberVariants?: Readonly<Record<string, readonly string[]>>;
|
|
20
|
-
/** The variant the library
|
|
24
|
+
/** The variant the component bound to the library declares in its `defaultProps` — what a picker seeds when nothing is
|
|
21
25
|
* stored. Passed through as declared; a policy read validates it against {@link variants}
|
|
22
|
-
* before trusting it.
|
|
26
|
+
* before trusting it.
|
|
27
|
+
* @deprecated The icon tool's entry carries `defaultProps`; read them through `iconToolOf`. */
|
|
23
28
|
readonly defaultVariant?: string;
|
|
24
|
-
/** The size bucket the library
|
|
25
|
-
* {@link defaultVariant}: declared, not validated.
|
|
29
|
+
/** The size bucket the component bound to the library declares in its `defaultProps`. Same contract as
|
|
30
|
+
* {@link defaultVariant}: declared, not validated.
|
|
31
|
+
* @deprecated As {@link defaultVariant}. */
|
|
26
32
|
readonly defaultSizeKey?: string;
|
|
27
33
|
};
|
|
28
34
|
/** A field that may hold `undefined` may be left out: a computed's `string | undefined` reads as an
|
|
@@ -39,6 +45,8 @@ declare function iconLibrary(config: Config | null | undefined, path: string): I
|
|
|
39
45
|
* With `variants`, the member's own list, only the templates for variants it ships are added: a
|
|
40
46
|
* ragged set's member has no export for the rest, and naming one fails the module's bundle.
|
|
41
47
|
*/
|
|
48
|
+
/** @deprecated Reads `variantAs`, which goes with it; a set whose styles are separate exports lists
|
|
49
|
+
* them as members, and codegen imports members. */
|
|
42
50
|
declare function glyphExportNames({
|
|
43
51
|
variantAs,
|
|
44
52
|
name,
|
|
@@ -85,6 +93,11 @@ declare function resolveIconLibraries({
|
|
|
85
93
|
* binds nothing — `glyphLibrariesOf` is the one reading of the edge, shared with
|
|
86
94
|
* {@link glyphComponentOf}.
|
|
87
95
|
*/
|
|
96
|
+
/**
|
|
97
|
+
* The libraries the canvas's icon tool offers: those its component's glyph prop is bound to. Empty
|
|
98
|
+
* when the `icon` canvas role is unregistered, which is also when the tool is disabled.
|
|
99
|
+
*/
|
|
100
|
+
declare function iconToolLibraries(config: Config | null | undefined): IconLibrary[];
|
|
88
101
|
declare function librariesBoundBy({
|
|
89
102
|
config,
|
|
90
103
|
component
|
|
@@ -112,6 +125,8 @@ declare function iconCategories(config: Config | null | undefined, libraryPath:
|
|
|
112
125
|
* same across glyphs. A member listing only variants the set doesn't ship falls back to the set's,
|
|
113
126
|
* so the axis is never empty for a set that ships one.
|
|
114
127
|
*/
|
|
128
|
+
/** @deprecated The axis is the icon tool's (`iconToolAxisOptions`); a member's own `variants` stay
|
|
129
|
+
* metadata to narrow it by. TODO: rewrite the callers over the tool and remove. */
|
|
115
130
|
declare function memberVariantOptions(library: IconLibrary, member: string): readonly string[];
|
|
116
131
|
/**
|
|
117
132
|
* Whether an element type declares a prop that may survive layer-style projection. A placed
|
|
@@ -120,4 +135,4 @@ declare function memberVariantOptions(library: IconLibrary, member: string): rea
|
|
|
120
135
|
*/
|
|
121
136
|
declare function isDeclaredElementProp(config: Config | null | undefined, elementType: string, propName: string): boolean;
|
|
122
137
|
//#endregion
|
|
123
|
-
export { IconLibrary, glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries };
|
|
138
|
+
export { IconLibrary, glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, iconToolLibraries, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createSliceMemo } from "../../framework/memo.js";
|
|
2
|
-
import { glyphComponentOf, glyphLibrariesOf, resolveComponentProps } from "../../framework/projections.js";
|
|
2
|
+
import { glyphComponentOf, glyphLibrariesOf, iconToolOf, resolveComponentProps } from "../../framework/projections.js";
|
|
3
3
|
import { Component } from "./Component.js";
|
|
4
|
-
import { Icon } from "./Icon.js";
|
|
5
4
|
import { parseGlyphType } from "../../spec/glyph-jsx.js";
|
|
5
|
+
import { Icon } from "./Icon.js";
|
|
6
6
|
//#region src/entities/system/icon-library.ts
|
|
7
7
|
/**
|
|
8
8
|
* Icon-library reads — an icon group's node with its computeds, and the policy reads over it.
|
|
@@ -17,7 +17,7 @@ import { parseGlyphType } from "../../spec/glyph-jsx.js";
|
|
|
17
17
|
*
|
|
18
18
|
* This is the one home for the question "what icon sets does this system have" — Studio owns only
|
|
19
19
|
* UI policy on top (picker state, grid geometry, recents, search ranking). A library is cached on
|
|
20
|
-
* the slices it reads — the set (`icon`), its
|
|
20
|
+
* the slices it reads — the set (`icon`), its component's defaults (`component`) and the package row
|
|
21
21
|
* its version comes from (`package`) — so it is reference-stable across calls on one config and
|
|
22
22
|
* safe in a dep array.
|
|
23
23
|
*/
|
|
@@ -40,7 +40,7 @@ function iconLibrary(config, path) {
|
|
|
40
40
|
}
|
|
41
41
|
/** Per-config cache of {@link iconLibrary} answers. `package` is in the key because the set's
|
|
42
42
|
* `version` resolves through the package row, not off the group node. The member walk underneath
|
|
43
|
-
* keys on the icon slice alone, so a component write re-reads only each library's
|
|
43
|
+
* keys on the icon slice alone, so a component write re-reads only each library's component defaults. */
|
|
44
44
|
const librariesOf = createSliceMemo({
|
|
45
45
|
kinds: [
|
|
46
46
|
"icon",
|
|
@@ -65,21 +65,24 @@ function readIconLibrary(config, path) {
|
|
|
65
65
|
sizes: sizes ?? EMPTY_SIZES,
|
|
66
66
|
variants: variants ?? EMPTY_VARIANTS,
|
|
67
67
|
...set.memberVariants ? { memberVariants: set.memberVariants } : {},
|
|
68
|
-
...
|
|
68
|
+
...componentDefaults({
|
|
69
69
|
config,
|
|
70
70
|
library: path
|
|
71
71
|
})
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* The defaults the set's
|
|
75
|
+
* The defaults the set's component declares: the component whose own variant prop names this library
|
|
76
76
|
* carries "what a bare glyph looks like", read back here so every picker seeds from that one
|
|
77
77
|
* declaration rather than its own literal. A library no component draws from has no defaults.
|
|
78
|
+
*
|
|
79
|
+
* @deprecated The icon tool's entry carries `defaultProps`. TODO: remove with `defaultVariant` and
|
|
80
|
+
* `defaultSizeKey`.
|
|
78
81
|
*/
|
|
79
|
-
function
|
|
80
|
-
const
|
|
81
|
-
if (!
|
|
82
|
-
const defaults = Component.get(config,
|
|
82
|
+
function componentDefaults({ config, library }) {
|
|
83
|
+
const bound = glyphComponentOf(config, library);
|
|
84
|
+
if (!bound) return {};
|
|
85
|
+
const defaults = Component.get(config, bound.path)?.defaultProps;
|
|
83
86
|
const variant = defaults?.variant;
|
|
84
87
|
const size = defaults?.size;
|
|
85
88
|
return {
|
|
@@ -133,6 +136,8 @@ function sameVariants({ own, declared }) {
|
|
|
133
136
|
* With `variants`, the member's own list, only the templates for variants it ships are added: a
|
|
134
137
|
* ragged set's member has no export for the rest, and naming one fails the module's bundle.
|
|
135
138
|
*/
|
|
139
|
+
/** @deprecated Reads `variantAs`, which goes with it; a set whose styles are separate exports lists
|
|
140
|
+
* them as members, and codegen imports members. */
|
|
136
141
|
function glyphExportNames({ variantAs, name, variants }) {
|
|
137
142
|
const names = new Set([name]);
|
|
138
143
|
if (variantAs && "export" in variantAs) for (const [variant, template] of Object.entries(variantAs.export)) {
|
|
@@ -151,15 +156,18 @@ function glyphExportNames({ variantAs, name, variants }) {
|
|
|
151
156
|
*/
|
|
152
157
|
function placedGlyphElement(config, glyph, props = {}) {
|
|
153
158
|
const parsed = parseGlyphType(glyph);
|
|
154
|
-
const
|
|
155
|
-
if (!parsed || !
|
|
159
|
+
const bound = parsed && config ? glyphComponentOf(config, parsed.slug) : void 0;
|
|
160
|
+
if (!parsed || !bound || !config) return {
|
|
156
161
|
type: glyph,
|
|
157
162
|
props
|
|
158
163
|
};
|
|
164
|
+
const tool = iconToolOf(config);
|
|
165
|
+
const defaults = tool && tool.component === bound.path ? tool.defaultProps : {};
|
|
159
166
|
return {
|
|
160
|
-
type: `component:${
|
|
167
|
+
type: `component:${bound.path}`,
|
|
161
168
|
props: {
|
|
162
|
-
|
|
169
|
+
...defaults,
|
|
170
|
+
[bound.prop]: parsed.member,
|
|
163
171
|
...props
|
|
164
172
|
}
|
|
165
173
|
};
|
|
@@ -197,6 +205,17 @@ function resolveIconLibraries({ config, hints }) {
|
|
|
197
205
|
* binds nothing — `glyphLibrariesOf` is the one reading of the edge, shared with
|
|
198
206
|
* {@link glyphComponentOf}.
|
|
199
207
|
*/
|
|
208
|
+
/**
|
|
209
|
+
* The libraries the canvas's icon tool offers: those its component's glyph prop is bound to. Empty
|
|
210
|
+
* when the `icon` canvas role is unregistered, which is also when the tool is disabled.
|
|
211
|
+
*/
|
|
212
|
+
function iconToolLibraries(config) {
|
|
213
|
+
if (!config) return NO_LIBRARIES;
|
|
214
|
+
const tool = iconToolOf(config);
|
|
215
|
+
if (!tool) return NO_LIBRARIES;
|
|
216
|
+
const declaration = resolveComponentProps(config, tool.component)[tool.glyph];
|
|
217
|
+
return glyphLibrariesOf(declaration?.value).map((path) => iconLibrary(config, path)).filter((library) => library !== void 0);
|
|
218
|
+
}
|
|
200
219
|
function librariesBoundBy({ config, component }) {
|
|
201
220
|
if (!config) return NO_LIBRARIES;
|
|
202
221
|
const cache = boundLibrariesOf(config);
|
|
@@ -253,6 +272,8 @@ function iconCategories(config, libraryPath) {
|
|
|
253
272
|
* same across glyphs. A member listing only variants the set doesn't ship falls back to the set's,
|
|
254
273
|
* so the axis is never empty for a set that ships one.
|
|
255
274
|
*/
|
|
275
|
+
/** @deprecated The axis is the icon tool's (`iconToolAxisOptions`); a member's own `variants` stay
|
|
276
|
+
* metadata to narrow it by. TODO: rewrite the callers over the tool and remove. */
|
|
256
277
|
function memberVariantOptions(library, member) {
|
|
257
278
|
const own = library.memberVariants?.[member];
|
|
258
279
|
if (!own || own.length === 0) return library.variants;
|
|
@@ -281,4 +302,4 @@ function isDeclaredElementProp(config, elementType, propName) {
|
|
|
281
302
|
return false;
|
|
282
303
|
}
|
|
283
304
|
//#endregion
|
|
284
|
-
export { glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries };
|
|
305
|
+
export { glyphExportNames, glyphType, iconCategories, iconLibraries, iconLibrary, iconToolLibraries, isDeclaredElementProp, librariesBoundBy, libraryHolding, memberVariantOptions, placedGlyphElement, resolveIconLibraries };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rejectData } from "../../framework/rejection.js";
|
|
2
1
|
import { collectRefs, isMintedRow, ref, sourceOf, splitRef } from "../../framework/utils/refs.js";
|
|
2
|
+
import { rejectData } from "../../framework/rejection.js";
|
|
3
3
|
import { blockedBy } from "../../framework/plan.js";
|
|
4
4
|
import { PIN_KIND, covers, declarationOf, narrowDeclaration } from "./link-declaration.js";
|
|
5
5
|
import { planCopy, sourceEntries } from "./copy-plan.js";
|
|
@@ -72,7 +72,7 @@ interface RecordedSource {
|
|
|
72
72
|
* The dense-counter `2` a short-lived scheme stamped before the chain existed reads as the mint
|
|
73
73
|
* that replaced it (see `detectedWireVersion`).
|
|
74
74
|
*/
|
|
75
|
-
declare const SERIALIZED_CONFIG_VERSION =
|
|
75
|
+
declare const SERIALIZED_CONFIG_VERSION = 20260923005318;
|
|
76
76
|
interface SerializedConfig {
|
|
77
77
|
/** See {@link SERIALIZED_CONFIG_VERSION}. Always written; a stored artifact may lack it. */
|
|
78
78
|
readonly version: number;
|
package/dist/framework/Config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ENTITY_PATH_MESSAGE, MINTED, collectRefs, entityRefOf, isEntityPath, isExtendedRef, isMintedRow, isRef, kindOf, memberOf, memberRef, pathOf, qualifyRefs, ref, rewriteRefNamespace, rewriteRefSource, rewriteRefs, singletonRef, sourceOf, splitRef } from "./utils/refs.js";
|
|
1
2
|
import "./config-operation-kind.js";
|
|
2
3
|
import { ConfigFormatError, ConfigRejection, isConfigRejection, issuePath, refusalIssues, reject, rejectData, rejectInvalid, rejectReferrers } from "./rejection.js";
|
|
3
|
-
import { ENTITY_PATH_MESSAGE, MINTED, collectRefs, entityRefOf, isEntityPath, isExtendedRef, isMintedRow, isRef, kindOf, memberOf, memberRef, pathOf, qualifyRefs, ref, rewriteRefNamespace, rewriteRefSource, rewriteRefs, singletonRef, sourceOf, splitRef } from "./utils/refs.js";
|
|
4
4
|
import { describePatch } from "./plan.js";
|
|
5
5
|
import { applyPathDelta, isPlainObject, namedFields, pathSegments, sectionDelta, touchedFields } from "./utils/field-path.js";
|
|
6
6
|
import { METADATA_KEYS, declaredField } from "./utils/field-schema.js";
|
|
@@ -4836,7 +4836,7 @@ var Config = class Config {
|
|
|
4836
4836
|
* links from the provided sources. A declared `linkedKind` with no provided source throws. */
|
|
4837
4837
|
hydrateFrom(stored, options) {
|
|
4838
4838
|
const claimed = schemaVersionOf(stored);
|
|
4839
|
-
if (claimed >
|
|
4839
|
+
if (claimed > 20260923005318) throw new SchemaVersionTooNew(claimed);
|
|
4840
4840
|
const wire = upgradeSerializedConfig(stored);
|
|
4841
4841
|
if (!Array.isArray(wire.ownedKinds) || typeof wire.items !== "object" || wire.items === null) throw new ConfigFormatError(`Config "${stored.name ?? "system-config"}" cannot be hydrated: this is not a serialized config-v2 config (no "ownedKinds"/"items"). A pre-cutover build artifact converts through the registered cutover migration — import the config type's module (e.g. \`configs/system\`) before hydrating, or port the repo once with \`uds migrate\`.`);
|
|
4842
4842
|
const leftover = wire.options;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CONFIG_OPERATION_KIND } from "./config-operation-kind.js";
|
|
2
1
|
import { isRef, kindOf, pathOf, ref, refSchema, sourceOf } from "./utils/refs.js";
|
|
2
|
+
import { CONFIG_OPERATION_KIND } from "./config-operation-kind.js";
|
|
3
3
|
import { resolveFields } from "./schemas.js";
|
|
4
4
|
import { buildKind } from "./registry.js";
|
|
5
5
|
import { brandGroup } from "./utils/group.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { rejectData } from "./rejection.js";
|
|
2
1
|
import { MINTED, collectRefs, entityRefOf, isRef, kindOf, pathOf, ref, rewriteRefs, sourceOf } from "./utils/refs.js";
|
|
2
|
+
import { rejectData } from "./rejection.js";
|
|
3
3
|
import { kindBorrowable } from "./registry.js";
|
|
4
4
|
//#region src/framework/inline-sources.ts
|
|
5
5
|
/**
|
package/dist/framework/plan.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isConfigRejection } from "./rejection.js";
|
|
2
1
|
import { splitRef } from "./utils/refs.js";
|
|
2
|
+
import { isConfigRejection } from "./rejection.js";
|
|
3
3
|
//#region src/framework/plan.ts
|
|
4
4
|
/**
|
|
5
5
|
* One line for a patch, read off the patch itself: its kind, what it did, and where. The payload
|
|
@@ -431,13 +431,31 @@ declare function glyphLibrariesOf(domain: unknown): string[];
|
|
|
431
431
|
*/
|
|
432
432
|
declare function glyphPropsOf(config: Config, path: string, seen?: ReadonlySet<string>): Record<string, readonly string[]>;
|
|
433
433
|
/**
|
|
434
|
-
* The
|
|
435
|
-
*
|
|
436
|
-
*
|
|
437
|
-
*
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
434
|
+
* The canvas's icon tool: the `icon` canvas role's entry, as the component it inserts, the prop that
|
|
435
|
+
* takes the glyph, the props the picker offers as axes, and the props an inserted instance starts
|
|
436
|
+
* with. The default entry, else the first; `undefined` when the role is unregistered or its entry
|
|
437
|
+
* names no glyph prop, which disables the tool.
|
|
438
|
+
*/
|
|
439
|
+
interface IconTool {
|
|
440
|
+
readonly component: string;
|
|
441
|
+
readonly glyph: string;
|
|
442
|
+
readonly axes: readonly string[];
|
|
443
|
+
readonly defaultProps: Readonly<Record<string, unknown>>;
|
|
444
|
+
}
|
|
445
|
+
declare function iconToolOf(config: Config): IconTool | undefined;
|
|
446
|
+
/** The values an icon tool's axis offers: the leaves of that prop's own domain on the tool's
|
|
447
|
+
* component, whether it enumerates them or delegates to a library's facet. */
|
|
448
|
+
declare function iconToolAxisOptions(config: Config, tool: IconTool, axis: string): string[];
|
|
449
|
+
/**
|
|
450
|
+
* The component that draws a library's glyphs on their own, with the prop that takes the glyph. The
|
|
451
|
+
* icon tool's component when the `icon` canvas role names one whose glyph prop is bound to the
|
|
452
|
+
* library; otherwise the component whose own prop declares the library as its domain
|
|
453
|
+
* (`name: { type: 'variant', value: Icon.ref('phosphor') }`, or a list of libraries that includes
|
|
454
|
+
* it). Derived from the components, never declared on the set: the edge runs from the component to
|
|
455
|
+
* the library. `undefined` when no component draws from it, in which case a placed glyph is the
|
|
456
|
+
* member drawn raw.
|
|
457
|
+
*
|
|
458
|
+
* Asked per library, so a system may have one component binding several libraries or one per
|
|
441
459
|
* library. Two components binding the same library resolve to the first in registration order.
|
|
442
460
|
*/
|
|
443
461
|
declare function glyphComponentOf(config: Config, library: string): {
|
|
@@ -482,6 +500,7 @@ declare function validateComponentProps(config: Config, componentPath: string, p
|
|
|
482
500
|
declare function previewDefaults(config: Config, path: string,
|
|
483
501
|
/** The cell's own prop values. Given, every `preview({ when })` entry that holds for the cell —
|
|
484
502
|
* tested against the defaults under these values, as a rule's `when` is — adds its props. */
|
|
503
|
+
|
|
485
504
|
cell?: Record<string, unknown>): Record<string, unknown>;
|
|
486
505
|
/**
|
|
487
506
|
* Only what the `preview({ when })` entries add for a cell — the props of every condition that holds
|
|
@@ -556,4 +575,4 @@ declare function propValueFromAxis(config: Config, path: string, prop: string, v
|
|
|
556
575
|
/** The `value` a string, number or boolean prop declares as its default, per prop. */
|
|
557
576
|
declare function declaredPropDefaults(props: Record<string, unknown> | undefined): Record<string, unknown>;
|
|
558
577
|
//#endregion
|
|
559
|
-
export { IndexedPreviewCondition, PreviewMatrix, PropDeclaration, StylePropEntry, StylePropertyItem, authoredBag, authoredValue, className, cssPropValue, cssVar, cssVarRef, declaredPropDefaults, declaredPropRouting, glyphComponentOf, glyphLibrariesOf, glyphPropsOf, holdingPreviewConditions, keyedPreviewConditions, memberFromLeaf, memberLeaves, negatedCssValue, opacityPercentage, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, propOwner, propValueDomain, propValueFromAxis, refListOf, renderStyleValue, resolveComponentProps, resolveFieldValue, resolveTokenValue, resolveTokenValueUnder, routedBag, sourceVarPrefix, styleAliasesOf, styleDeclarations, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, validateComponentProps };
|
|
578
|
+
export { IconTool, IndexedPreviewCondition, PreviewMatrix, PropDeclaration, StylePropEntry, StylePropertyItem, authoredBag, authoredValue, className, cssPropValue, cssVar, cssVarRef, declaredPropDefaults, declaredPropRouting, glyphComponentOf, glyphLibrariesOf, glyphPropsOf, holdingPreviewConditions, iconToolAxisOptions, iconToolOf, keyedPreviewConditions, memberFromLeaf, memberLeaves, negatedCssValue, opacityPercentage, previewConditionalProps, previewConditions, previewDefaults, previewMatrix, propOwner, propValueDomain, propValueFromAxis, refListOf, renderStyleValue, resolveComponentProps, resolveFieldValue, resolveTokenValue, resolveTokenValueUnder, routedBag, sourceVarPrefix, styleAliasesOf, styleDeclarations, stylePropEntries, stylePropLeafForToken, stylePropNegates, stylePropTokenGroup, stylePropTokenPath, stylePropTokenValues, stylePropValueFromLeaf, stylePropValueLeaves, stylePropValues, stylePropertiesWriting, stylePropertyAccepts, stylePropertyFor, stylePropertyPathFor, validateComponentProps };
|