@tamagui/compiler-core 3.0.0-beta.831.1 → 3.0.0-beta.889.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/compiler-core",
3
- "version": "3.0.0-beta.831.1",
3
+ "version": "3.0.0-beta.889.1",
4
4
  "description": "Shared parser-independent Tamagui compiler graph and element IR",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  "yuku-analyzer": "0.6.1"
41
41
  },
42
42
  "devDependencies": {
43
- "@tamagui/build": "3.0.0-beta.831.1",
43
+ "@tamagui/build": "3.0.0-beta.889.1",
44
44
  "typescript": "~6.0.3"
45
45
  },
46
46
  "repository": {
package/src/evaluate.ts CHANGED
@@ -369,10 +369,7 @@ function evaluateNode(
369
369
  const expressions = childNodes(node, 'expressions')
370
370
  let output = ''
371
371
  for (let index = 0; index < quasis.length; index++) {
372
- const quasi = quasis[index]
373
- const cooked = (quasi?.value as { cooked?: unknown } | undefined)?.cooked
374
- const raw = (quasi?.value as { raw?: unknown } | undefined)?.raw
375
- output += typeof cooked === 'string' ? cooked : typeof raw === 'string' ? raw : ''
372
+ output += quasiText(quasis[index])
376
373
  const expression = expressions[index]
377
374
  if (expression) {
378
375
  const value = evaluateNode(resolver, id, expression, state)
@@ -387,6 +384,12 @@ function evaluateNode(
387
384
  }
388
385
  }
389
386
 
387
+ function quasiText(quasi: AstNode | undefined): string {
388
+ const cooked = (quasi?.value as { cooked?: unknown } | undefined)?.cooked
389
+ const raw = (quasi?.value as { raw?: unknown } | undefined)?.raw
390
+ return typeof cooked === 'string' ? cooked : typeof raw === 'string' ? raw : ''
391
+ }
392
+
390
393
  function dynamicPrimitive(
391
394
  value: StaticEvaluationValue
392
395
  ): DynamicEvaluation['type'] | null {
@@ -591,6 +594,20 @@ function evaluateBranchesNode(
591
594
  }
592
595
  }
593
596
 
597
+ if (node.type === 'TemplateLiteral') {
598
+ return templateBranchesNode(
599
+ resolver,
600
+ id,
601
+ childNodes(node, 'quasis'),
602
+ childNodes(node, 'expressions'),
603
+ 0,
604
+ '',
605
+ depth,
606
+ state,
607
+ sourceId
608
+ )
609
+ }
610
+
594
611
  if (node.type === 'LogicalExpression') {
595
612
  const left = childNode(node, 'left')
596
613
  const right = childNode(node, 'right')
@@ -642,6 +659,92 @@ function evaluateBranchesNode(
642
659
  return null
643
660
  }
644
661
 
662
+ function mapBranchLeaves(
663
+ node: BranchDecisionNode,
664
+ map: (leaf: Extract<BranchDecisionNode, { kind: 'leaf' }>) => BranchDecisionNode | null
665
+ ): BranchDecisionNode | null {
666
+ if (node.kind === 'leaf') return map(node)
667
+ const whenTrue = mapBranchLeaves(node.whenTrue, map)
668
+ if (!whenTrue) return null
669
+ const whenFalse = mapBranchLeaves(node.whenFalse, map)
670
+ if (!whenFalse) return null
671
+ return { kind: 'branch', test: node.test, whenTrue, whenFalse }
672
+ }
673
+
674
+ /**
675
+ * A template literal is a decision tree once every value it interpolates is:
676
+ * `${active ? 'red10' : 'blue10'}` names the same two strings the bare ternary
677
+ * does, and the quasis around it are constants. Each interpolated tree
678
+ * multiplies the leaves, so every step spends a level of the shared depth
679
+ * budget and a wide template refuses instead of expanding.
680
+ */
681
+ function templateBranchesNode(
682
+ resolver: SymbolResolver,
683
+ id: ResolvedModuleId,
684
+ quasis: AstNode[],
685
+ expressions: AstNode[],
686
+ index: number,
687
+ prefix: string,
688
+ depth: number,
689
+ state: EvaluationState,
690
+ sourceId: ResolvedModuleId
691
+ ): BranchDecisionNode | null {
692
+ let text = prefix
693
+ for (let position = index; position < quasis.length; position++) {
694
+ text += quasiText(quasis[position])
695
+ const expression = expressions[position]
696
+ if (!expression) continue
697
+ const exact = evaluateNode(resolver, id, expression, state)
698
+ if (exact.ok) {
699
+ const interpolated = templateInterpolation(exact.value)
700
+ if (interpolated === null) return null
701
+ text += interpolated
702
+ continue
703
+ }
704
+ const tree = evaluateBranchesNode(
705
+ resolver,
706
+ id,
707
+ expression,
708
+ depth + 1,
709
+ state,
710
+ sourceId
711
+ )
712
+ if (!tree) return null
713
+ return mapBranchLeaves(tree, (leaf) => {
714
+ // an `&&` leaf carries `undefined` to mean "the falsy left operand", whose
715
+ // string form is the operand itself and so is not known here
716
+ if (leaf.value === undefined) return null
717
+ const interpolated = templateInterpolation(leaf.value)
718
+ if (interpolated === null) return null
719
+ return templateBranchesNode(
720
+ resolver,
721
+ id,
722
+ quasis,
723
+ expressions,
724
+ position + 1,
725
+ text + interpolated,
726
+ depth + 1,
727
+ state,
728
+ sourceId
729
+ )
730
+ })
731
+ }
732
+ return { kind: 'leaf', value: text, dependencies: [...state.dependencies].sort() }
733
+ }
734
+
735
+ /** ToString on a primitive, which is all a template can be folded through */
736
+ function templateInterpolation(value: StaticEvaluationValue): string | null {
737
+ if (value === null) return 'null'
738
+ if (
739
+ typeof value === 'string' ||
740
+ typeof value === 'number' ||
741
+ typeof value === 'boolean'
742
+ ) {
743
+ return String(value)
744
+ }
745
+ return null
746
+ }
747
+
645
748
  /**
646
749
  * A conditional or logical expression whose test resists static evaluation while
647
750
  * its branch values evaluate statically or form a decision tree.
package/src/graph.ts CHANGED
@@ -119,6 +119,17 @@ export class ProjectGraph implements SymbolResolver {
119
119
  return [...(this.#dependents.get(id) ?? [])].sort(compareIds)
120
120
  }
121
121
 
122
+ /** resolved ids a module imports that the graph does not own (package entries) */
123
+ externalImportsOf(id: ResolvedModuleId): ResolvedModuleId[] {
124
+ const record = this.#modules.get(id)
125
+ if (!record) return []
126
+ const ids = new Set<ResolvedModuleId>()
127
+ for (const dependency of record.input.imports) {
128
+ if (dependency.external) ids.add(dependency.resolvedId)
129
+ }
130
+ return [...ids].sort(compareIds)
131
+ }
132
+
122
133
  affectedBy(id: ResolvedModuleId): ResolvedModuleId[] {
123
134
  const affected = new Set<ResolvedModuleId>([id])
124
135
  const queue = [id]
package/src/ir.ts CHANGED
@@ -104,6 +104,8 @@ export interface StyledDefinitionIRBase {
104
104
  base: ElementComponentIR
105
105
  baseClassName: ElementValue | null
106
106
  options: ExpressionReference
107
+ /** the object form's third argument, `styled(Base, options, staticConfig)` */
108
+ staticConfig: ExpressionReference | null
107
109
  }
108
110
 
109
111
  export interface CompleteStyledDefinitionIR extends StyledDefinitionIRBase {
@@ -118,7 +120,7 @@ export interface IncompleteStyledDefinitionIR extends StyledDefinitionIRBase {
118
120
 
119
121
  export type StyledDefinitionIR = CompleteStyledDefinitionIR | IncompleteStyledDefinitionIR
120
122
 
121
- /** A compile-time style handle declared by the standalone DOM frontend. */
123
+ /** A compile-time style handle declared by a Tamagui style frontend. */
122
124
  export interface DOMStyleDefinitionIR {
123
125
  kind: 'dom-style-definition'
124
126
  id: ResolvedModuleId
@@ -97,6 +97,7 @@ export interface MaterializedStyledDefinition {
97
97
  base: ElementComponentIR
98
98
  baseClassName: MaterializedValue | null
99
99
  options: MaterializedValue
100
+ staticConfig: MaterializedValue | null
100
101
  complete: boolean
101
102
  bailouts: BailoutReason[]
102
103
  }
@@ -239,6 +240,9 @@ function materializeStyledDefinition(
239
240
  ? materializeValue(graph, definition.baseClassName)
240
241
  : null,
241
242
  options: materializeValue(graph, definition.options),
243
+ staticConfig: definition.staticConfig
244
+ ? materializeValue(graph, definition.staticConfig)
245
+ : null,
242
246
  complete: definition.complete,
243
247
  bailouts: [...definition.bailouts],
244
248
  }
@@ -280,6 +284,7 @@ function collectDependencies(module: Omit<MaterializedModule, 'dependencies'>) {
280
284
  if (definition.base.definition) dependencies.add(definition.base.definition.id)
281
285
  if (definition.baseClassName) collect(definition.baseClassName)
282
286
  collect(definition.options)
287
+ if (definition.staticConfig) collect(definition.staticConfig)
283
288
  }
284
289
  for (const definition of module.domStyleDefinitions) {
285
290
  dependencies.add(definition.factory.resolvedId)
package/src/normalize.ts CHANGED
@@ -573,7 +573,10 @@ function styledDefinitions(
573
573
  const definitionBailouts: BailoutReason[] = []
574
574
  const args = childNodes(call, 'arguments')
575
575
  const baseNode = args[0]
576
- const optionsNode = args.length >= 3 ? args[2] : args[1]
576
+ // `styled(Base, options, staticConfig?)` is the object form; the class
577
+ // string frontend form is `styled(Base, 'classes', options)`
578
+ const objectForm = args[1]?.type === 'ObjectExpression'
579
+ const optionsNode = objectForm ? args[1] : args.length >= 3 ? args[2] : args[1]
577
580
  if (!baseNode || !optionsNode) {
578
581
  definitionBailouts.push(
579
582
  localBailout(
@@ -597,7 +600,8 @@ function styledDefinitions(
597
600
  bailouts.push(...definitionBailouts)
598
601
  return
599
602
  }
600
- const baseClassNode = args.length >= 3 ? args[1] : null
603
+ const baseClassNode = objectForm ? null : args.length >= 3 ? args[1] : null
604
+ const staticConfigNode = objectForm && args.length >= 3 ? args[2] : null
601
605
  const baseDefinition = {
602
606
  kind: 'styled-definition' as const,
603
607
  id,
@@ -608,6 +612,7 @@ function styledDefinitions(
608
612
  base,
609
613
  baseClassName: baseClassNode ? elementValue(id, baseClassNode) : null,
610
614
  options: expressionReference(id, optionsNode),
615
+ staticConfig: staticConfigNode ? expressionReference(id, staticConfigNode) : null,
611
616
  }
612
617
  definitions.push(
613
618
  definitionBailouts.length === 0
@@ -629,6 +634,13 @@ const DOM_STYLE_FRONTENDS = new Set([
629
634
  '@tamagui/tailwind',
630
635
  ])
631
636
 
637
+ const STYLE_FRONTENDS = new Set([
638
+ ...DOM_STYLE_FRONTENDS,
639
+ 'tamagui',
640
+ '@tamagui/core',
641
+ '@tamagui/web',
642
+ ])
643
+
632
644
  function domStyleDefinitions(
633
645
  id: ResolvedModuleId,
634
646
  program: AstNode,
@@ -648,7 +660,7 @@ function domStyleDefinitions(
648
660
  if (
649
661
  !binding ||
650
662
  binding.imported !== 'style' ||
651
- !DOM_STYLE_FRONTENDS.has(binding.source)
663
+ !STYLE_FRONTENDS.has(binding.source)
652
664
  ) {
653
665
  return
654
666
  }
@@ -686,11 +698,7 @@ function domStyleArgument(
686
698
  const factoryName = callee && identifierName(callee)
687
699
  if (!factoryName) return null
688
700
  const binding = importBinding(program, factoryName)
689
- if (
690
- !binding ||
691
- binding.imported !== 'style' ||
692
- !DOM_STYLE_FRONTENDS.has(binding.source)
693
- ) {
701
+ if (!binding || binding.imported !== 'style' || !STYLE_FRONTENDS.has(binding.source)) {
694
702
  return null
695
703
  }
696
704
  return childNodes(call, 'arguments')[0] ?? null
package/src/planCache.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { randomBytes } from 'node:crypto'
1
+ import { createHash, randomBytes } from 'node:crypto'
2
+ import { readFileSync, statSync } from 'node:fs'
2
3
  import {
3
4
  mkdir,
4
5
  readdir,
@@ -79,15 +80,49 @@ export type ModuleClosureLookup = (id: ResolvedModuleId) => ModuleClosureNode |
79
80
  * Reads a closure node straight off host module records, for callers that have
80
81
  * not built a ProjectGraph (Metro's prepass skips it entirely on a full hit).
81
82
  */
82
- export function moduleClosureNode(input: HostModuleInput): ModuleClosureNode {
83
+ export function moduleClosureNode(
84
+ input: HostModuleInput,
85
+ options?: { includeExternal?: boolean }
86
+ ): ModuleClosureNode {
83
87
  return {
84
88
  contentHash: moduleContentHash(input),
85
89
  dependencies: input.imports
86
- .filter(({ external }) => !external)
90
+ .filter(({ external }) => options?.includeExternal || !external)
87
91
  .map(({ resolvedId }) => resolvedId),
88
92
  }
89
93
  }
90
94
 
95
+ /**
96
+ * Closure nodes for ids the graph does not own: package entries. Their bytes
97
+ * decide which static configs lowering resolved against (configured
98
+ * `components` and discovered modules alike), so a package bump changes the
99
+ * digest of every module that imports it. Ids that are not files hash to a
100
+ * constant so they never make a closure incomplete.
101
+ */
102
+ export function createExternalClosureLookup(): (
103
+ id: ResolvedModuleId
104
+ ) => ModuleClosureNode {
105
+ const memo = new Map<string, { size: number; mtimeMs: number; contentHash: string }>()
106
+ return (id) => {
107
+ const file = id.split(/[?#]/, 1)[0]
108
+ if (!file.startsWith('/') && !/^[A-Za-z]:[\\/]/.test(file)) {
109
+ return { contentHash: 'external', dependencies: [] }
110
+ }
111
+ try {
112
+ const stat = statSync(file)
113
+ const cached = memo.get(file)
114
+ if (cached && cached.size === stat.size && cached.mtimeMs === stat.mtimeMs) {
115
+ return { contentHash: cached.contentHash, dependencies: [] }
116
+ }
117
+ const hash = createHash('sha256').update(readFileSync(file)).digest('hex')
118
+ memo.set(file, { size: stat.size, mtimeMs: stat.mtimeMs, contentHash: hash })
119
+ return { contentHash: hash, dependencies: [] }
120
+ } catch {
121
+ return { contentHash: 'external', dependencies: [] }
122
+ }
123
+ }
124
+ }
125
+
91
126
  /**
92
127
  * Identity of a module's whole compile input: itself plus every module reachable
93
128
  * from it over non-external imports, each by content hash.
package/src/session.ts CHANGED
@@ -8,11 +8,16 @@ import type {
8
8
  StructuralModulePass,
9
9
  } from './lower'
10
10
  import { lowerModule } from './lower'
11
- import { materializeModule } from './materialize'
11
+ import { materializeModule, type MaterializedModule } from './materialize'
12
12
  import type { AppliedLoweredModule } from './output'
13
13
  import { applyLoweredModule } from './output'
14
14
  import type { ModulePlanCache } from './planCache'
15
- import { PLAN_CACHE_SCHEMA_VERSION, moduleClosureDigest, planCacheKey } from './planCache'
15
+ import {
16
+ PLAN_CACHE_SCHEMA_VERSION,
17
+ createExternalClosureLookup,
18
+ moduleClosureDigest,
19
+ planCacheKey,
20
+ } from './planCache'
16
21
  import { yukuFactory } from './yuku'
17
22
 
18
23
  export interface CompilerAdapter {
@@ -20,6 +25,13 @@ export interface CompilerAdapter {
20
25
  projectGeneration: string
21
26
  host: CompilerLoweringHost
22
27
  load(id: ResolvedModuleId): Promise<HostModuleInput | null>
28
+ /**
29
+ * Runs after a module is materialized and before it lowers, once per uncached
30
+ * compile. The frontend evaluates component modules the host does not know
31
+ * yet here (element and styled() base provenance outside the configured
32
+ * `components`), so lowering never meets an import it could have resolved.
33
+ */
34
+ prepare?(module: MaterializedModule): Promise<void>
23
35
  /**
24
36
  * Persistent per-module plan reuse across processes. Absent means the host
25
37
  * could not produce a content stamp for this project, so nothing is cached
@@ -50,6 +62,7 @@ function compareIds(left: ResolvedModuleId, right: ResolvedModuleId): number {
50
62
  */
51
63
  export class CompilerSession {
52
64
  readonly #graph = new ProjectGraph(yukuFactory, { modules: [] })
65
+ readonly #externalClosure = createExternalClosureLookup()
53
66
  #queue: Promise<unknown> = Promise.resolve()
54
67
 
55
68
  compile(input: CompileModuleInput): Promise<CompilerSessionResult> {
@@ -98,9 +111,13 @@ export class CompilerSession {
98
111
  const closureDigest = cache
99
112
  ? moduleClosureDigest(module.id, (id) => {
100
113
  const hash = graph.contentHash(id)
101
- return hash
102
- ? { contentHash: hash, dependencies: graph.dependenciesOf(id) }
103
- : null
114
+ if (hash) {
115
+ return {
116
+ contentHash: hash,
117
+ dependencies: [...graph.dependenciesOf(id), ...graph.externalImportsOf(id)],
118
+ }
119
+ }
120
+ return this.#externalClosure(id)
104
121
  })
105
122
  : null
106
123
  const entry =
@@ -124,16 +141,19 @@ export class CompilerSession {
124
141
  const cached = entry
125
142
  ? await entry.store.read(entry.key, module.id, entry.digest)
126
143
  : null
127
- const plan =
128
- cached?.plan ??
129
- lowerModule({
130
- module: materializeModule(graph, module.id),
144
+ let plan = cached?.plan
145
+ if (!plan) {
146
+ const materialized = materializeModule(graph, module.id)
147
+ if (adapter.prepare) await adapter.prepare(materialized)
148
+ plan = lowerModule({
149
+ module: materialized,
131
150
  source: module.source,
132
151
  target: adapter.target,
133
152
  host: adapter.host,
134
153
  options: { projectGeneration: adapter.projectGeneration },
135
154
  structuralPass,
136
155
  })
156
+ }
137
157
  if (entry && !cached) {
138
158
  await entry.store.write(entry.key, {
139
159
  schemaVersion: PLAN_CACHE_SCHEMA_VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,qBAAqB,EAAE,GACvB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,qBAAqB,CAAA;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAEL,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAA;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC;AA8bD,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,SAAS,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAEL,wBAAgB,aAAa,CAC3B,IAAI,EAAE,kBAAkB,GACvB;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;CAAE,EAAE,CAGvE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,EAAE,CAQtF;AAuID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,kBAAkB,GAAG,IAAI,CAS3B;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,gBAAgB,CAyBlB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,iBAAiB,GAAG,IAAI,CAS1B;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA4BlB"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,qBAAqB,EAAE,GACvB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GACxB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,qBAAqB,CAAA;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAEL,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAA;IAC7C,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC;AAicD,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAC7B,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,SAAS,EAAE,kBAAkB,CAAA;CAC9B,CAAA;AAEL,wBAAgB,aAAa,CAC3B,IAAI,EAAE,kBAAkB,GACvB;IAAE,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAC,YAAY,EAAE,gBAAgB,EAAE,CAAA;CAAE,EAAE,CAGvE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,EAAE,CAQtF;AA2OD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,kBAAkB,GAAG,IAAI,CAS3B;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,gBAAgB,CAyBlB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,mBAAmB,GAC7B,iBAAiB,GAAG,IAAI,CAS1B;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA4BlB"}
package/types/graph.d.ts CHANGED
@@ -22,6 +22,8 @@ export declare class ProjectGraph implements SymbolResolver {
22
22
  sourceOf(id: ResolvedModuleId): string;
23
23
  dependenciesOf(id: ResolvedModuleId): ResolvedModuleId[];
24
24
  dependentsOf(id: ResolvedModuleId): ResolvedModuleId[];
25
+ /** resolved ids a module imports that the graph does not own (package entries) */
26
+ externalImportsOf(id: ResolvedModuleId): ResolvedModuleId[];
25
27
  affectedBy(id: ResolvedModuleId): ResolvedModuleId[];
26
28
  parseCount(id: ResolvedModuleId): number;
27
29
  resolveBinding(id: ResolvedModuleId, localName: string): SymbolDefinition | null;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAEf,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAa3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,gBAAgB,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,gBAAgB,EAAE,CAAA;CACnC;AAiBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAahE;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,cAAc;;IASjD,YAAY,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,EAQlE;IAED,SAAS,IAAI,gBAAgB,EAAE,CAE9B;IAED,WAAW,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAE/C;IAED,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAIrC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAEvD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAErD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAYnD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEvC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAgB/E;IAED,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAoBxE;IAED,cAAc,CAAC,SAAS,EAAE,mBAAmB,wCAO5C;IAED,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAEzD;IAED,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,IAAI,CAE1E;IAED,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAExE;IAED,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAEzE;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,eAAe,CAQhD;IAED,WAAW,IAAI,aAAa,EAAE,CAsC7B;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,CA4BtD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,CA0BpD;CAgEF"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAEf,mBAAmB,EAEnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAa3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,gBAAgB,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,gBAAgB,EAAE,CAAA;CACnC;AAiBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAahE;AAED;;;GAGG;AACH,qBAAa,YAAa,YAAW,cAAc;;IASjD,YAAY,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,EAQlE;IAED,SAAS,IAAI,gBAAgB,EAAE,CAE9B;IAED,WAAW,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAE/C;IAED,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAIrC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAEvD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAErD;IAED,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAQ1D;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAYnD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEvC;IAED,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAgB/E;IAED,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,IAAI,CAoBxE;IAED,cAAc,CAAC,SAAS,EAAE,mBAAmB,wCAO5C;IAED,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAEzD;IAED,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,IAAI,CAE1E;IAED,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAExE;IAED,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAEzE;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,eAAe,CAQhD;IAED,WAAW,IAAI,aAAa,EAAE,CAsC7B;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,iBAAiB,CA4BtD;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,iBAAiB,CA0BpD;CAgEF"}
package/types/ir.d.ts CHANGED
@@ -87,6 +87,8 @@ export interface StyledDefinitionIRBase {
87
87
  base: ElementComponentIR;
88
88
  baseClassName: ElementValue | null;
89
89
  options: ExpressionReference;
90
+ /** the object form's third argument, `styled(Base, options, staticConfig)` */
91
+ staticConfig: ExpressionReference | null;
90
92
  }
91
93
  export interface CompleteStyledDefinitionIR extends StyledDefinitionIRBase {
92
94
  complete: true;
@@ -97,7 +99,7 @@ export interface IncompleteStyledDefinitionIR extends StyledDefinitionIRBase {
97
99
  bailouts: readonly [BailoutReason, ...BailoutReason[]];
98
100
  }
99
101
  export type StyledDefinitionIR = CompleteStyledDefinitionIR | IncompleteStyledDefinitionIR;
100
- /** A compile-time style handle declared by the standalone DOM frontend. */
102
+ /** A compile-time style handle declared by a Tamagui style frontend. */
101
103
  export interface DOMStyleDefinitionIR {
102
104
  kind: 'dom-style-definition';
103
105
  id: ResolvedModuleId;
package/types/ir.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../src/ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../src/ir.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,7 @@ export interface MaterializedStyledDefinition {
83
83
  base: ElementComponentIR;
84
84
  baseClassName: MaterializedValue | null;
85
85
  options: MaterializedValue;
86
+ staticConfig: MaterializedValue | null;
86
87
  complete: boolean;
87
88
  bailouts: BailoutReason[];
88
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAGxB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAMV,eAAe,EAQhB,MAAM,MAAM,CAAA;AAmBb,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,GACnB,cAAc,CA8ChB;AAynBD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,SAAS,kBAAkB,EAAO,GAC1C,eAAe,CAwFjB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKjF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAEvF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGhE"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAGxB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAMV,eAAe,EAQhB,MAAM,MAAM,CAAA;AAmBb,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,GACnB,cAAc,CA8ChB;AAioBD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,SAAS,kBAAkB,EAAO,GAC1C,eAAe,CAwFjB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAKjF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAEvF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGhE"}
@@ -52,7 +52,17 @@ export type ModuleClosureLookup = (id: ResolvedModuleId) => ModuleClosureNode |
52
52
  * Reads a closure node straight off host module records, for callers that have
53
53
  * not built a ProjectGraph (Metro's prepass skips it entirely on a full hit).
54
54
  */
55
- export declare function moduleClosureNode(input: HostModuleInput): ModuleClosureNode;
55
+ export declare function moduleClosureNode(input: HostModuleInput, options?: {
56
+ includeExternal?: boolean;
57
+ }): ModuleClosureNode;
58
+ /**
59
+ * Closure nodes for ids the graph does not own: package entries. Their bytes
60
+ * decide which static configs lowering resolved against (configured
61
+ * `components` and discovered modules alike), so a package bump changes the
62
+ * digest of every module that imports it. Ids that are not files hash to a
63
+ * constant so they never make a closure incomplete.
64
+ */
65
+ export declare function createExternalClosureLookup(): (id: ResolvedModuleId) => ModuleClosureNode;
56
66
  /**
57
67
  * Identity of a module's whole compile input: itself plus every module reachable
58
68
  * from it over non-external imports, each by content hash.
@@ -1 +1 @@
1
- {"version":3,"file":"planCache.d.ts","sourceRoot":"","sources":["../src/planCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planCache.d.ts","sourceRoot":"","sources":["../src/planCache.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { HostModuleInput, ResolvedModuleId } from './contracts';
2
2
  import type { GraphInvalidation } from './graph';
3
3
  import type { CompilerLoweringHost, CompilerTarget, LoweredModulePlan, StructuralModulePass } from './lower';
4
+ import { type MaterializedModule } from './materialize';
4
5
  import type { AppliedLoweredModule } from './output';
5
6
  import type { ModulePlanCache } from './planCache';
6
7
  export interface CompilerAdapter {
@@ -8,6 +9,13 @@ export interface CompilerAdapter {
8
9
  projectGeneration: string;
9
10
  host: CompilerLoweringHost;
10
11
  load(id: ResolvedModuleId): Promise<HostModuleInput | null>;
12
+ /**
13
+ * Runs after a module is materialized and before it lowers, once per uncached
14
+ * compile. The frontend evaluates component modules the host does not know
15
+ * yet here (element and styled() base provenance outside the configured
16
+ * `components`), so lowering never meets an import it could have resolved.
17
+ */
18
+ prepare?(module: MaterializedModule): Promise<void>;
11
19
  /**
12
20
  * Persistent per-module plan reuse across processes. Absent means the host
13
21
  * could not produce a content stamp for this project, so nothing is cached
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IAC3D;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,cAAc,EAAE,gBAAgB,EAAE,CAAA;CACnC;AAMD;;;GAGG;AACH,qBAAa,eAAe;;IAI1B,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIjE;IAED,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE3D;IAED,GAAG,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjC;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAErD;IAED,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEvD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEvC;CA6FF"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AASlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,oBAAoB,CAAA;IAC1B,IAAI,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IAC3D;;;;;OAKG;IACH,OAAO,CAAC,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAA;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,cAAc,EAAE,gBAAgB,EAAE,CAAA;CACnC;AAMD;;;GAGG;AACH,qBAAa,eAAe;;IAK1B,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIjE;IAED,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE3D;IAED,GAAG,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjC;IAED,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAErD;IAED,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEvD;IAED,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAEvC;CAoGF"}