@multiplatform.one/theme 7.15.0 → 7.16.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/package.json +5 -5
- package/src/audit/constraintAudit.spec.ts +78 -0
- package/src/audit/constraintAudit.ts +41 -7
- package/src/audit/themeMatrix.ts +4 -1
- package/src/theme/createThemes.ts +43 -6
- package/src/theme/resolveKnobs.ts +20 -5
- package/src/theme/semanticEntryText.spec.ts +85 -0
- package/types/audit/constraintAudit.d.ts.map +1 -1
- package/types/audit/themeMatrix.d.ts.map +1 -1
- package/types/theme/createThemes.d.ts.map +1 -1
- package/types/theme/resolveKnobs.d.ts +14 -2
- package/types/theme/resolveKnobs.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/theme",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.16.0",
|
|
4
4
|
"description": "Tamagui theme system for multiplatform.one",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"multiplatform",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@multiplatform.one/platform": "7.
|
|
48
|
-
"@multiplatform.one/store": "7.
|
|
47
|
+
"@multiplatform.one/platform": "7.16.0",
|
|
48
|
+
"@multiplatform.one/store": "7.16.0",
|
|
49
49
|
"@tamagui/colors": "2.7.6",
|
|
50
50
|
"@tamagui/config": "2.7.6",
|
|
51
51
|
"@tamagui/get-token": "2.7.6",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"react-cookie": "^8.1.2"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@multiplatform.one/config": "7.
|
|
61
|
-
"@multiplatform.one/test-utils": "7.
|
|
60
|
+
"@multiplatform.one/config": "7.16.0",
|
|
61
|
+
"@multiplatform.one/test-utils": "7.16.0",
|
|
62
62
|
"@tamagui/animations-css": "2.7.6",
|
|
63
63
|
"@tamagui/animations-reanimated": "2.7.6",
|
|
64
64
|
"@tamagui/font-inter": "2.7.6",
|
|
@@ -242,6 +242,57 @@ describe("declared capped containers beyond Card (DG-RAD-04)", () => {
|
|
|
242
242
|
});
|
|
243
243
|
});
|
|
244
244
|
|
|
245
|
+
describe("stacked rows cap their outer corners and square the inner ones (MPO-56)", () => {
|
|
246
|
+
const row = (position: string, radius: string, space: string) => ({
|
|
247
|
+
"data-constraint-container": "StackedRow",
|
|
248
|
+
"data-stack-position": position,
|
|
249
|
+
"data-radius-knob": radius,
|
|
250
|
+
"data-space-knob": space,
|
|
251
|
+
});
|
|
252
|
+
const corners = (tl: number, tr: number, br: number, bl: number) =>
|
|
253
|
+
`border-top-left-radius:${tl}px;border-top-right-radius:${tr}px;` +
|
|
254
|
+
`border-bottom-right-radius:${br}px;border-bottom-left-radius:${bl}px;padding:7px 13px`;
|
|
255
|
+
|
|
256
|
+
it.each([
|
|
257
|
+
["first", corners(13, 13, 0, 0)],
|
|
258
|
+
["middle", corners(0, 0, 0, 0)],
|
|
259
|
+
["last", corners(0, 0, 13, 13)],
|
|
260
|
+
["only", corners(13, 13, 13, 13)],
|
|
261
|
+
])("accepts a %s row capped at the row padding", (position, style) => {
|
|
262
|
+
specimen(style, row(position, "large", "small"));
|
|
263
|
+
expect(measured()?.violations).toEqual([]);
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
it("names the stop it resolved on an outer corner", () => {
|
|
267
|
+
specimen(corners(18, 18, 0, 0), row("first", "full", "medium"));
|
|
268
|
+
expect(measured()?.borderTopLeftRadius?.knob).toBe(
|
|
269
|
+
"StackedRow min(radius:full, panelPadding:medium)",
|
|
270
|
+
);
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
it.each([
|
|
274
|
+
["an uncapped outer corner", corners(16, 16, 0, 0), row("first", "large", "small")],
|
|
275
|
+
["a rounded inner corner", corners(13, 13, 13, 0), row("first", "large", "small")],
|
|
276
|
+
["a rounded middle row", corners(13, 0, 0, 0), row("middle", "large", "small")],
|
|
277
|
+
["a missing position", corners(13, 13, 13, 13), row("", "large", "small")],
|
|
278
|
+
])("rejects %s", (_label, style, attrs) => {
|
|
279
|
+
specimen(style, attrs);
|
|
280
|
+
expect(measured()?.borderRadius?.offScale).toBe(true);
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
it("says which corner is inner", () => {
|
|
284
|
+
specimen(corners(0, 0, 13, 9), row("last", "large", "small"));
|
|
285
|
+
expect(measured()?.violations).toEqual([
|
|
286
|
+
"borderBottomLeftRadius: 9px does not match StackedRow cap (13px)",
|
|
287
|
+
]);
|
|
288
|
+
specimen(corners(9, 0, 13, 13), row("last", "large", "small")).id = "other";
|
|
289
|
+
const other = audit().elements.find((el) => el.id === "other");
|
|
290
|
+
expect(other?.violations).toEqual([
|
|
291
|
+
"borderTopLeftRadius: 9px is an inner corner of a last StackedRow (0px)",
|
|
292
|
+
]);
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
|
|
245
296
|
describe("element labels hold nothing a knob or a mount writes", () => {
|
|
246
297
|
it("drops React useId ids and Tamagui atomic classes", () => {
|
|
247
298
|
const el = specimen("border-radius:12px");
|
|
@@ -257,3 +308,30 @@ describe("element labels hold nothing a knob or a mount writes", () => {
|
|
|
257
308
|
expect(audit().elements[0]?.label).toBe("div#specimen");
|
|
258
309
|
});
|
|
259
310
|
});
|
|
311
|
+
|
|
312
|
+
describe("a fixed-padding container caps at the padding it has (DG-RAD-04, MPO-56)", () => {
|
|
313
|
+
const own = (radius: string) => ({
|
|
314
|
+
"data-constraint-container": "OwnInset",
|
|
315
|
+
"data-radius-knob": radius,
|
|
316
|
+
"data-space-knob": "medium",
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
it("accepts full capped at its own 13px padding whatever the space stop", () => {
|
|
320
|
+
specimen("border-radius:13px;padding:13px", own("full"));
|
|
321
|
+
expect(measured()?.violations).toEqual([]);
|
|
322
|
+
expect(measured()?.borderRadius?.knob).toBe("OwnInset min(radius:full, own padding)");
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
it("accepts the token while it fits", () => {
|
|
326
|
+
specimen("border-radius:9px;padding:13px", own("medium"));
|
|
327
|
+
expect(measured()?.violations).toEqual([]);
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
it.each([
|
|
331
|
+
["the panelPadding cap instead of its own", "border-radius:18px;padding:13px", own("full")],
|
|
332
|
+
["the token past its padding", "border-radius:16px;padding:13px", own("large")],
|
|
333
|
+
])("rejects %s", (_label, style, attrs) => {
|
|
334
|
+
specimen(style, attrs);
|
|
335
|
+
expect(measured()?.borderRadius?.offScale).toBe(true);
|
|
336
|
+
});
|
|
337
|
+
});
|
|
@@ -739,10 +739,14 @@ export function runConstraintAudit(rootSelector?: string): AuditReport {
|
|
|
739
739
|
// inset of the containers whose own padding IS the panelPadding knob.
|
|
740
740
|
const containerName = el.getAttribute("data-constraint-container");
|
|
741
741
|
const ownsInset = containerName === "Card" || containerName === "PageSection";
|
|
742
|
+
const stackedRow = containerName === "StackedRow";
|
|
743
|
+
// A container padded with a fixed token rather than the panelPadding knob
|
|
744
|
+
// caps at the padding it actually has.
|
|
745
|
+
const ownInset = containerName === "OwnInset";
|
|
742
746
|
const capContainer =
|
|
743
747
|
containerName === "Card"
|
|
744
748
|
? ["content", "elevated"].includes(el.getAttribute("data-tier") ?? "")
|
|
745
|
-
: containerName === "PageSection" || containerName === "TextArea";
|
|
749
|
+
: containerName === "PageSection" || containerName === "TextArea" || stackedRow || ownInset;
|
|
746
750
|
if (containerName !== null && containerName !== "Card" && !capContainer) {
|
|
747
751
|
entry.violations.push(
|
|
748
752
|
`data-constraint-container: "${containerName}" is not a container the cap audit knows`,
|
|
@@ -755,17 +759,38 @@ export function runConstraintAudit(rootSelector?: string): AuditReport {
|
|
|
755
759
|
"borderBottomRightRadius",
|
|
756
760
|
"borderBottomLeftRadius",
|
|
757
761
|
] as const;
|
|
762
|
+
// MPO-56: a row in a vertical stack caps its OUTER corners and squares
|
|
763
|
+
// the inner ones (LC-72), so the cap applies per corner by position.
|
|
764
|
+
const stackPosition = el.getAttribute("data-stack-position") ?? "";
|
|
765
|
+
const outerCorners: Record<string, readonly (typeof corners)[number][]> = {
|
|
766
|
+
only: corners,
|
|
767
|
+
first: ["borderTopLeftRadius", "borderTopRightRadius"],
|
|
768
|
+
middle: [],
|
|
769
|
+
last: ["borderBottomRightRadius", "borderBottomLeftRadius"],
|
|
770
|
+
};
|
|
771
|
+
const stackOuter = Object.hasOwn(outerCorners, stackPosition)
|
|
772
|
+
? outerCorners[stackPosition]
|
|
773
|
+
: undefined;
|
|
774
|
+
if (stackedRow && !stackOuter) {
|
|
775
|
+
entry.violations.push(
|
|
776
|
+
`data-stack-position: "${stackPosition}" is not a StackedRow position (only, first, middle, last)`,
|
|
777
|
+
);
|
|
778
|
+
}
|
|
758
779
|
if (capContainer) {
|
|
759
780
|
const radiusKnob = el.getAttribute("data-radius-knob") ?? "";
|
|
760
781
|
const spaceKnob = el.getAttribute("data-space-knob") ?? "";
|
|
761
782
|
const radiusStop = Object.hasOwn(_BORDER_RADIUS_KNOB, radiusKnob)
|
|
762
783
|
? _BORDER_RADIUS_KNOB[radiusKnob]
|
|
763
784
|
: undefined;
|
|
764
|
-
const inset = Object.hasOwn(_PANEL_PADDING_KNOB, spaceKnob)
|
|
765
|
-
? _PANEL_PADDING_KNOB[spaceKnob]
|
|
766
|
-
: undefined;
|
|
767
785
|
const paddingSides = ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"] as const;
|
|
768
786
|
const measuredInsets = paddingSides.map((prop) => parsePx(style[prop]));
|
|
787
|
+
const inset = ownInset
|
|
788
|
+
? measuredInsets.some((v) => v === null)
|
|
789
|
+
? undefined
|
|
790
|
+
: Math.min(...(measuredInsets as number[]))
|
|
791
|
+
: Object.hasOwn(_PANEL_PADDING_KNOB, spaceKnob)
|
|
792
|
+
? _PANEL_PADDING_KNOB[spaceKnob]
|
|
793
|
+
: undefined;
|
|
769
794
|
if (ownsInset) {
|
|
770
795
|
for (const [index, prop] of paddingSides.entries()) {
|
|
771
796
|
const value = measuredInsets[index];
|
|
@@ -782,14 +807,17 @@ export function runConstraintAudit(rootSelector?: string): AuditReport {
|
|
|
782
807
|
);
|
|
783
808
|
}
|
|
784
809
|
}
|
|
785
|
-
const
|
|
810
|
+
const cap =
|
|
786
811
|
radiusStop === undefined ||
|
|
787
812
|
inset === undefined ||
|
|
813
|
+
(stackedRow && !stackOuter) ||
|
|
788
814
|
(ownsInset && measuredInsets.some((v) => v === null))
|
|
789
815
|
? undefined
|
|
790
816
|
: Math.min(radiusStop, inset, ...(ownsInset ? (measuredInsets as number[]) : []));
|
|
791
817
|
for (const prop of corners) {
|
|
792
818
|
const raw = style[prop];
|
|
819
|
+
const inner = stackedRow && stackOuter !== undefined && !stackOuter.includes(prop);
|
|
820
|
+
const expected = inner ? 0 : cap;
|
|
793
821
|
// A corner may have two elliptical axes. Percentages are not px caps.
|
|
794
822
|
const axes = raw.trim().split(/\s+/);
|
|
795
823
|
const offScale =
|
|
@@ -798,13 +826,19 @@ export function runConstraintAudit(rootSelector?: string): AuditReport {
|
|
|
798
826
|
const result = {
|
|
799
827
|
value: parsePx(raw) ?? 0,
|
|
800
828
|
unit: "px",
|
|
801
|
-
knob:
|
|
829
|
+
knob: inner
|
|
830
|
+
? `${containerName} ${stackPosition} inner corner 0`
|
|
831
|
+
: ownInset
|
|
832
|
+
? `${containerName} min(radius:${radiusKnob}, own padding)`
|
|
833
|
+
: `${containerName} min(radius:${radiusKnob}, panelPadding:${spaceKnob})`,
|
|
802
834
|
offScale,
|
|
803
835
|
};
|
|
804
836
|
entry[prop] = result;
|
|
805
837
|
if (offScale)
|
|
806
838
|
entry.violations.push(
|
|
807
|
-
|
|
839
|
+
inner
|
|
840
|
+
? `${prop}: ${raw} is an inner corner of a ${stackPosition} StackedRow (0px)`
|
|
841
|
+
: `${prop}: ${raw} does not match ${containerName} cap (${expected ?? "unknown"}px)`,
|
|
808
842
|
);
|
|
809
843
|
}
|
|
810
844
|
entry.borderRadius = {
|
package/src/audit/themeMatrix.ts
CHANGED
|
@@ -969,7 +969,10 @@ export function captureMatrixSnapshot(): MatrixSnapshot {
|
|
|
969
969
|
marks.length > 0 &&
|
|
970
970
|
marks.every(
|
|
971
971
|
(mark, index) =>
|
|
972
|
-
|
|
972
|
+
// A bar path that declares its box (value-end rounding, MPO-56)
|
|
973
|
+
// paints inside that box just as a rect does.
|
|
974
|
+
(mark.tagName.toLowerCase() === "rect" ||
|
|
975
|
+
(mark.tagName.toLowerCase() === "path" && mark.hasAttribute("data-mpo-chart-bar"))) &&
|
|
973
976
|
getComputedStyle(mark).stroke === "none" &&
|
|
974
977
|
!sample.marks[index].unmeasurable,
|
|
975
978
|
)
|
|
@@ -136,7 +136,7 @@ function sanitizeGetTheme(
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
// Radix hue names whose sub-themes act as decorative TINTS (Tint.tsx cycling,
|
|
139
|
-
// the storybook `color` global
|
|
139
|
+
// the storybook `color` global). Under a tint,
|
|
140
140
|
// surfaces/borders/solids keep the hue but TEXT must stay readable neutral:
|
|
141
141
|
// muted/secondary text and user-authored content must never render saturated
|
|
142
142
|
// accent (SB-D-14/SB-D-20). Exported so theme-identity consumers (chart
|
|
@@ -210,6 +210,41 @@ function neutralizeTintText(
|
|
|
210
210
|
return out;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
+
const semanticIntentNames = new Set(["error", "warning", "success"]);
|
|
214
|
+
const entryControlNames = new Set(["Input", "TextArea"]);
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* T-VALUE under a semantic intent (MPO-369). Intents are not tints: an Alert
|
|
218
|
+
* reads `$color12` and a solid Button its on-fill `$color` from the hue, so
|
|
219
|
+
* only entered text (an Input or TextArea value, and the placeholder that
|
|
220
|
+
* stands in for it) goes back to the neutral ink.
|
|
221
|
+
*/
|
|
222
|
+
function neutralizeSemanticEntryText(
|
|
223
|
+
themes: Record<string, Record<string, string>>,
|
|
224
|
+
): Record<string, Record<string, string>> {
|
|
225
|
+
const out: Record<string, Record<string, string>> = { ...themes };
|
|
226
|
+
for (const [name, theme] of Object.entries(themes)) {
|
|
227
|
+
const [scheme, intent, component, ...rest] = name.split("_");
|
|
228
|
+
if (rest.length > 0 || (scheme !== "light" && scheme !== "dark")) continue;
|
|
229
|
+
if (!intent || !semanticIntentNames.has(intent)) continue;
|
|
230
|
+
const base = themes[scheme];
|
|
231
|
+
if (!base) continue;
|
|
232
|
+
if (component === undefined) {
|
|
233
|
+
if (base.placeholderColor != null)
|
|
234
|
+
out[name] = { ...theme, placeholderColor: base.placeholderColor };
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if (!entryControlNames.has(component)) continue;
|
|
238
|
+
const neutral = { ...base, ...themes[`${scheme}_${component}`] };
|
|
239
|
+
const patched: Record<string, string> = { ...theme };
|
|
240
|
+
for (const key of tintNeutralTextKeys) {
|
|
241
|
+
if (neutral[key] != null) patched[key] = neutral[key];
|
|
242
|
+
}
|
|
243
|
+
out[name] = patched;
|
|
244
|
+
}
|
|
245
|
+
return out;
|
|
246
|
+
}
|
|
247
|
+
|
|
213
248
|
const defaultLightShadows: Shadows = {
|
|
214
249
|
shadow1: "rgba(0,0,0,0.12)",
|
|
215
250
|
shadow2: "rgba(0,0,0,0.16)",
|
|
@@ -401,11 +436,13 @@ export function createThemesBuilder(
|
|
|
401
436
|
const initialTheme = tamaguiCreateThemes(
|
|
402
437
|
createThemesProps as Parameters<typeof tamaguiCreateThemes>[0],
|
|
403
438
|
);
|
|
404
|
-
const themes =
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
439
|
+
const themes = neutralizeSemanticEntryText(
|
|
440
|
+
neutralizeTintText({
|
|
441
|
+
...grayTheme,
|
|
442
|
+
...tamaguiThemes,
|
|
443
|
+
...initialTheme,
|
|
444
|
+
}),
|
|
445
|
+
);
|
|
409
446
|
return {
|
|
410
447
|
themes() {
|
|
411
448
|
return themes;
|
|
@@ -174,8 +174,25 @@ export function capContainerRadius(
|
|
|
174
174
|
return radiusPx > paddingPx ? paddingPx : borderRadiusMap[borderRadius];
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
/**
|
|
178
|
-
|
|
177
|
+
/**
|
|
178
|
+
* The borderRadius knob stop a `borderRadiusMap` token came from, so a part
|
|
179
|
+
* can resolve its DG-RAD class at that stop. Undefined for any value the
|
|
180
|
+
* knob did not produce.
|
|
181
|
+
*/
|
|
182
|
+
export function radiusStopFromToken(token: unknown): Knobs["borderRadius"] | undefined {
|
|
183
|
+
return (Object.keys(borderRadiusMap) as Knobs["borderRadius"][]).find(
|
|
184
|
+
(stop) => borderRadiusMap[stop] === token,
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Containers the constraint audit measures against the cap (DG-RAD-04).
|
|
190
|
+
* `StackedRow` is one row of a vertical stack: it also carries
|
|
191
|
+
* `data-stack-position`, and only its outer corners take the cap.
|
|
192
|
+
* `OwnInset` pads with a fixed token instead of panelPadding, so the audit
|
|
193
|
+
* caps it at its measured padding and ignores the space stop.
|
|
194
|
+
*/
|
|
195
|
+
export type CappedContainer = "PageSection" | "TextArea" | "StackedRow" | "OwnInset";
|
|
179
196
|
|
|
180
197
|
export interface ContainerCapDeclaration {
|
|
181
198
|
"data-constraint-container": CappedContainer;
|
|
@@ -200,9 +217,7 @@ export function containerCapProps(
|
|
|
200
217
|
radiusToken: unknown,
|
|
201
218
|
space: string,
|
|
202
219
|
): ContainerCapDeclaration | undefined {
|
|
203
|
-
const radiusKnob = (
|
|
204
|
-
(stop) => borderRadiusMap[stop] === radiusToken,
|
|
205
|
-
);
|
|
220
|
+
const radiusKnob = radiusStopFromToken(radiusToken);
|
|
206
221
|
if (!radiusKnob || !Object.hasOwn(panelPaddingPxMap, space)) return undefined;
|
|
207
222
|
return {
|
|
208
223
|
"data-constraint-container": container,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MPO-369: fields tint their error state with the semantic `error` theme,
|
|
3
|
+
* which the default subset keeps, instead of the decorative `red` it drops.
|
|
4
|
+
* Entered text stays neutral under it (T-VALUE); everything else keeps the hue.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { describe, expect, it, vi } from "vitest";
|
|
8
|
+
|
|
9
|
+
vi.mock("tamagui", () => ({
|
|
10
|
+
createTamagui: vi.fn((config: Record<string, unknown>) => config),
|
|
11
|
+
}));
|
|
12
|
+
vi.mock("./animations/index", () => ({ animations: {} }));
|
|
13
|
+
|
|
14
|
+
import { createDefaultThemeConfig } from "./createDefaultThemeConfig";
|
|
15
|
+
import { createThemesBuilder } from "./createThemes";
|
|
16
|
+
import { defaultAccentTheme } from "./defaults/accent";
|
|
17
|
+
import { defaultBaseTheme } from "./defaults/base";
|
|
18
|
+
import { defaultBuilderOptions } from "./defaults/builderOptions";
|
|
19
|
+
|
|
20
|
+
type Themes = Record<string, Record<string, string>>;
|
|
21
|
+
|
|
22
|
+
const built = createThemesBuilder(
|
|
23
|
+
defaultBaseTheme,
|
|
24
|
+
defaultAccentTheme,
|
|
25
|
+
defaultBuilderOptions,
|
|
26
|
+
).themes() as Themes;
|
|
27
|
+
|
|
28
|
+
const schemes = ["light", "dark"] as const;
|
|
29
|
+
const intents = ["error", "warning", "success"] as const;
|
|
30
|
+
const entryText = ["color", "colorHover", "colorPress", "colorFocus", "placeholderColor"] as const;
|
|
31
|
+
|
|
32
|
+
describe("entered text under a semantic intent", () => {
|
|
33
|
+
for (const scheme of schemes) {
|
|
34
|
+
for (const intent of intents) {
|
|
35
|
+
for (const control of ["Input", "TextArea"] as const) {
|
|
36
|
+
it(`${scheme}_${intent}_${control} keeps the neutral ${control}'s value ink and its own hue chrome`, () => {
|
|
37
|
+
const themed = built[`${scheme}_${intent}_${control}`];
|
|
38
|
+
const neutral = built[`${scheme}_${control}`];
|
|
39
|
+
for (const key of entryText) {
|
|
40
|
+
if (neutral[key] != null) expect(themed[key], key).toBe(neutral[key]);
|
|
41
|
+
}
|
|
42
|
+
expect(themed.color11).toBe(built[scheme].color11);
|
|
43
|
+
expect(themed.color12).toBe(built[scheme].color12);
|
|
44
|
+
expect(themed.borderColor).not.toBe(neutral.borderColor);
|
|
45
|
+
expect(themed.background).not.toBe(neutral.background);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
it(`${scheme}_${intent} keeps its hue text and takes the neutral placeholder`, () => {
|
|
50
|
+
const themed = built[`${scheme}_${intent}`];
|
|
51
|
+
expect(themed.placeholderColor).toBe(built[scheme].placeholderColor);
|
|
52
|
+
expect(themed.color).not.toBe(built[scheme].color);
|
|
53
|
+
expect(themed.color12).not.toBe(built[scheme].color12);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it(`${scheme}_${intent}_Button keeps its on-fill label`, () => {
|
|
57
|
+
expect(built[`${scheme}_${intent}_Button`].color).not.toBe(built[`${scheme}_Button`].color);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
describe("the default subset keeps the field error tint", () => {
|
|
64
|
+
const defaultTints = ["accent", "active", "alt1", "alt2", "error", "success", "warning"];
|
|
65
|
+
const full = createDefaultThemeConfig().tamagui.themes as Record<string, unknown>;
|
|
66
|
+
const subset = createDefaultThemeConfig({
|
|
67
|
+
subset: { components: ["Button", "Input", "TextArea"], tints: defaultTints },
|
|
68
|
+
}).tamagui.themes as Record<string, unknown>;
|
|
69
|
+
|
|
70
|
+
it("builds every theme a field enters in its error state, identical to the full config", () => {
|
|
71
|
+
for (const scheme of schemes) {
|
|
72
|
+
for (const name of [
|
|
73
|
+
`${scheme}_error`,
|
|
74
|
+
`${scheme}_error_Input`,
|
|
75
|
+
`${scheme}_error_TextArea`,
|
|
76
|
+
`${scheme}_error_Button`,
|
|
77
|
+
]) {
|
|
78
|
+
expect(subset, name).toHaveProperty(name);
|
|
79
|
+
expect(subset[name]).toEqual(full[name]);
|
|
80
|
+
}
|
|
81
|
+
expect(full).toHaveProperty(`${scheme}_red`);
|
|
82
|
+
expect(subset).not.toHaveProperty(`${scheme}_red`);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraintAudit.d.ts","sourceRoot":"","sources":["../../src/audit/constraintAudit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA6ED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AAmJF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"constraintAudit.d.ts","sourceRoot":"","sources":["../../src/audit/constraintAudit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,uBAAuB,CAAC,EAAE,aAAa,CAAC;IACxC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IACvC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,uCAAuC;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AA6ED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI9C,CAAC;AAmJF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAguBrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeMatrix.d.ts","sourceRoot":"","sources":["../../src/audit/themeMatrix.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"themeMatrix.d.ts","sourceRoot":"","sources":["../../src/audit/themeMatrix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAqEhC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB,CACrC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAExC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B,CACzC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACxC,WAAW,SAAS,OAAO,GAAG,OAAO,EACrC,YAAY,SAAS,OAAO,GAAG,OAAO,CACtC,SAAQ,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC;IACzD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACzF;AA8BD,eAAO,MAAM,YAAY,aA6BvB,CAAC;
|
|
1
|
+
{"version":3,"file":"createThemes.d.ts","sourceRoot":"","sources":["../../src/theme/createThemes.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAqEhC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB,CACrC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAExC,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B,CACzC,WAAW,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACvC,YAAY,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,EACxC,WAAW,SAAS,OAAO,GAAG,OAAO,EACrC,YAAY,SAAS,OAAO,GAAG,OAAO,CACtC,SAAQ,sBAAsB,CAAC,WAAW,EAAE,YAAY,CAAC;IACzD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACzF;AA8BD,eAAO,MAAM,YAAY,aA6BvB,CAAC;AA6FH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,0BAA0B,EACrC,WAAW,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,0BAA0B;;aAqLzB,CAAC,SAAS,MAAM,QAAQ,CAAC,SAAS,sBAAsB,GAuB1D,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE;;+BAAkC;EAG7E"}
|
|
@@ -40,8 +40,20 @@ export declare function resolvePageTitleScale(scale: PageTitleScale): {
|
|
|
40
40
|
* while it fits, or the padding px number once the token would exceed it.
|
|
41
41
|
*/
|
|
42
42
|
export declare function capContainerRadius(borderRadius: Knobs["borderRadius"], space: Knobs["space"]): string | number;
|
|
43
|
-
/**
|
|
44
|
-
|
|
43
|
+
/**
|
|
44
|
+
* The borderRadius knob stop a `borderRadiusMap` token came from, so a part
|
|
45
|
+
* can resolve its DG-RAD class at that stop. Undefined for any value the
|
|
46
|
+
* knob did not produce.
|
|
47
|
+
*/
|
|
48
|
+
export declare function radiusStopFromToken(token: unknown): Knobs["borderRadius"] | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Containers the constraint audit measures against the cap (DG-RAD-04).
|
|
51
|
+
* `StackedRow` is one row of a vertical stack: it also carries
|
|
52
|
+
* `data-stack-position`, and only its outer corners take the cap.
|
|
53
|
+
* `OwnInset` pads with a fixed token instead of panelPadding, so the audit
|
|
54
|
+
* caps it at its measured padding and ignores the space stop.
|
|
55
|
+
*/
|
|
56
|
+
export type CappedContainer = "PageSection" | "TextArea" | "StackedRow" | "OwnInset";
|
|
45
57
|
export interface ContainerCapDeclaration {
|
|
46
58
|
"data-constraint-container": CappedContainer;
|
|
47
59
|
"data-radius-knob": Knobs["borderRadius"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/resolveKnobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,SAAS,CAAC;AAU9D,OAAO,KAAK,EAA8B,KAAK,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAE7F,OAAO,KAAK,EAOV,iBAAiB,EAEjB,aAAa,EAEd,MAAM,WAAW,CAAC;AAKnB;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAI/D,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAIlE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAU3E;AAID,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAqDX;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAErF;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GACpB,MAAM,GAAG,MAAM,CAIjB;AAED,
|
|
1
|
+
{"version":3,"file":"resolveKnobs.d.ts","sourceRoot":"","sources":["../../src/theme/resolveKnobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,SAAS,CAAC;AAU9D,OAAO,KAAK,EAA8B,KAAK,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAE7F,OAAO,KAAK,EAOV,iBAAiB,EAEjB,aAAa,EAEd,MAAM,WAAW,CAAC;AAKnB;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAI/D,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAIlE,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAU3E;AAID,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAqDX;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAErF;AA0BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GACpB,MAAM,GAAG,MAAM,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAIrF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAErF,MAAM,WAAW,uBAAuB;IACtC,2BAA2B,EAAE,eAAe,CAAC;IAC7C,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1C,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,MAAM,GACZ,uBAAuB,GAAG,SAAS,CAQrC;AAuFD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEL,CAAC;AAEjE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnB,CAAC;AAE1D,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AA8O3C,wBAAgB,YAAY,CAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,MAAM,GAAE,WAAqB,EAC7B,WAAW,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,aAAa,CAyNf"}
|