@almadar/patterns 2.12.2 → 2.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-mapping.json +16 -1
- package/dist/event-contracts.json +8 -1
- package/dist/index.d.ts +261 -0
- package/dist/index.js +214 -8
- package/dist/index.js.map +1 -1
- package/dist/patterns-registry.json +190 -6
- package/dist/registry.json +190 -6
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"exportedAt": "2026-04-
|
|
3
|
+
"exportedAt": "2026-04-18T11:44:35.778Z",
|
|
4
4
|
"patterns": {
|
|
5
5
|
"entity-table": {
|
|
6
6
|
"type": "entity-table",
|
|
@@ -102,7 +102,8 @@
|
|
|
102
102
|
"types": [
|
|
103
103
|
"array"
|
|
104
104
|
],
|
|
105
|
-
"
|
|
105
|
+
"itemKind": "field-ref",
|
|
106
|
+
"description": "Columns can be Column objects or simple string field names. String elements must resolve to fields on the linked entity."
|
|
106
107
|
},
|
|
107
108
|
"itemActions": {
|
|
108
109
|
"types": [
|
|
@@ -496,7 +497,8 @@
|
|
|
496
497
|
"types": [
|
|
497
498
|
"string"
|
|
498
499
|
],
|
|
499
|
-
"
|
|
500
|
+
"kind": "field-ref",
|
|
501
|
+
"description": "Entity field name containing an image URL to display as card thumbnail. Must resolve to a field on the linked entity."
|
|
500
502
|
}
|
|
501
503
|
}
|
|
502
504
|
},
|
|
@@ -1282,7 +1284,8 @@
|
|
|
1282
1284
|
"types": [
|
|
1283
1285
|
"array"
|
|
1284
1286
|
],
|
|
1285
|
-
"
|
|
1287
|
+
"itemKind": "field-ref",
|
|
1288
|
+
"description": "Filter definitions from schema. String elements must resolve to fields on the linked entity.",
|
|
1286
1289
|
"required": true
|
|
1287
1290
|
},
|
|
1288
1291
|
"onFilterChange": {
|
|
@@ -10644,6 +10647,24 @@
|
|
|
10644
10647
|
"string"
|
|
10645
10648
|
],
|
|
10646
10649
|
"description": "Additional CSS classes"
|
|
10650
|
+
},
|
|
10651
|
+
"editable": {
|
|
10652
|
+
"types": [
|
|
10653
|
+
"boolean"
|
|
10654
|
+
],
|
|
10655
|
+
"description": "When true, render an editable surface that composes a transparent `Textarea` over a Prism-highlighted overlay. The overlay re-tokenizes on each keystroke (driven from a local mirror of the textarea value), so users see syntax-highlighted code while still being able to type. Folding is skipped in editable mode. History: GAP-51 first-cut shipped plain (no-highlighting) editable text; GAP-77 (2026-04-12) added the Prism overlay layer. Default: false (existing read-only behavior unchanged)."
|
|
10656
|
+
},
|
|
10657
|
+
"onChange": {
|
|
10658
|
+
"types": [
|
|
10659
|
+
"function"
|
|
10660
|
+
],
|
|
10661
|
+
"description": "GAP-51: called with the new code on every keystroke when `editable === true`. Consumers should debounce + parse downstream — `CodeBlock` does not."
|
|
10662
|
+
},
|
|
10663
|
+
"errorLines": {
|
|
10664
|
+
"types": [
|
|
10665
|
+
"object"
|
|
10666
|
+
],
|
|
10667
|
+
"description": "GAP-80: line-level error/warning highlights for editable mode. Map of 1-based line number → severity. The overlay paints a colored background on each line: error = red, warning = yellow. Pass undefined (default) to disable. The consumer is responsible for computing the path → line map from the schema + validation results."
|
|
10647
10668
|
}
|
|
10648
10669
|
}
|
|
10649
10670
|
},
|
|
@@ -13184,7 +13205,8 @@
|
|
|
13184
13205
|
"types": [
|
|
13185
13206
|
"string"
|
|
13186
13207
|
],
|
|
13187
|
-
"
|
|
13208
|
+
"kind": "field-ref",
|
|
13209
|
+
"description": "Entity field name containing an image URL for card thumbnails. Must resolve to a field on the linked entity."
|
|
13188
13210
|
},
|
|
13189
13211
|
"selectable": {
|
|
13190
13212
|
"types": [
|
|
@@ -13290,7 +13312,8 @@
|
|
|
13290
13312
|
"types": [
|
|
13291
13313
|
"string"
|
|
13292
13314
|
],
|
|
13293
|
-
"
|
|
13315
|
+
"kind": "field-ref",
|
|
13316
|
+
"description": "Group items by a field value (renders section headers between groups). Must resolve to a field on the linked entity."
|
|
13294
13317
|
},
|
|
13295
13318
|
"senderField": {
|
|
13296
13319
|
"types": [
|
|
@@ -20577,6 +20600,18 @@
|
|
|
20577
20600
|
],
|
|
20578
20601
|
"description": "onLevelChange prop"
|
|
20579
20602
|
},
|
|
20603
|
+
"onOrbitalDoubleClick": {
|
|
20604
|
+
"types": [
|
|
20605
|
+
"function"
|
|
20606
|
+
],
|
|
20607
|
+
"description": "GAP-52: fired when the user double-clicks an orbital. Consumers (e.g. the builder workspace) use this as the trigger to enter cosmic mode (`AvlOrbitalsCosmicZoom`) for the focused orbital. The level at which this fires is controlled by `cosmicEntryLevel` (default `'expanded'`). At `'expanded'` the existing overview→expanded drill is preserved — the callback fires only on the second double-click. At `'overview'` the callback fires on the FIRST double-click and the existing drill is suppressed for that interaction. `'both'` fires at either level. The callback runs unconditionally — persona / permission gating is the consumer's responsibility."
|
|
20608
|
+
},
|
|
20609
|
+
"cosmicEntryLevel": {
|
|
20610
|
+
"types": [
|
|
20611
|
+
"string"
|
|
20612
|
+
],
|
|
20613
|
+
"description": "GAP-53: which level the `onOrbitalDoubleClick` callback fires at. - `'expanded'` (default, non-breaking) — fires only at L2 expanded; the first overview double-click still drills overview→expanded. - `'overview'` — fires at L1 overview on the FIRST double-click. The overview→expanded drill is suppressed when the callback is provided. - `'both'` — fires at either level."
|
|
20614
|
+
},
|
|
20580
20615
|
"initialOrbital": {
|
|
20581
20616
|
"types": [
|
|
20582
20617
|
"string"
|
|
@@ -22789,6 +22824,155 @@
|
|
|
22789
22824
|
}
|
|
22790
22825
|
}
|
|
22791
22826
|
},
|
|
22827
|
+
"trait-frame": {
|
|
22828
|
+
"type": "trait-frame",
|
|
22829
|
+
"category": "component",
|
|
22830
|
+
"description": "TraitFrame — renders the current frame of a referenced trait. Resolves the `@trait.X[.slot]` binding at render time by looking up the referenced trait's last `render-ui` payload from the orbital's `UISlotManager`. Re-renders automatically when that trait transitions via the per-trait subscription channel (`subscribeTrait`). This is the single rendering primitive both runtime paths converge on: - **Interpreted path** — the trait-binding resolver in `renderer/trait-binding-resolver.ts` walks pattern trees at render time, substituting `\"@trait.X\"` string children with this component. - **Compiled path** — the TypeScript shell codegen in `orbital-shell-typescript/src/backend.rs::pattern_to_jsx_with_data` emits this component directly into generated JSX wherever a `@trait.*` string appears in a pattern tree. Embedding is passive: the referenced trait's state machine runs unchanged; TraitFrame is only a read-only lens on its current frame. Event propagation happens over the shared event bus, not through this component.",
|
|
22831
|
+
"suggestedFor": [
|
|
22832
|
+
"trait",
|
|
22833
|
+
"frame",
|
|
22834
|
+
"trait frame"
|
|
22835
|
+
],
|
|
22836
|
+
"typicalSize": "small",
|
|
22837
|
+
"propsSchema": {
|
|
22838
|
+
"traitName": {
|
|
22839
|
+
"types": [
|
|
22840
|
+
"string"
|
|
22841
|
+
],
|
|
22842
|
+
"description": "Name of the trait whose current frame to embed. Must match a trait declared in the current orbital. Compiler validates that the name exists at build time (see `ORB_BINDING_TRAIT_UNKNOWN`).",
|
|
22843
|
+
"required": true
|
|
22844
|
+
},
|
|
22845
|
+
"fallback": {
|
|
22846
|
+
"types": [
|
|
22847
|
+
"node"
|
|
22848
|
+
],
|
|
22849
|
+
"description": "Rendered when the referenced trait has not (yet) emitted any render-ui. Use a skeleton, spinner, or message. Defaults to `null` (renders nothing), so an unfulfilled reference drops cleanly out of a parent `children:` array."
|
|
22850
|
+
}
|
|
22851
|
+
}
|
|
22852
|
+
},
|
|
22853
|
+
"file-tree": {
|
|
22854
|
+
"type": "file-tree",
|
|
22855
|
+
"category": "component",
|
|
22856
|
+
"description": "FileTree component",
|
|
22857
|
+
"suggestedFor": [
|
|
22858
|
+
"file",
|
|
22859
|
+
"tree",
|
|
22860
|
+
"file tree"
|
|
22861
|
+
],
|
|
22862
|
+
"typicalSize": "medium",
|
|
22863
|
+
"propsSchema": {
|
|
22864
|
+
"tree": {
|
|
22865
|
+
"types": [
|
|
22866
|
+
"array"
|
|
22867
|
+
],
|
|
22868
|
+
"description": "The tree data",
|
|
22869
|
+
"required": true
|
|
22870
|
+
},
|
|
22871
|
+
"selectedPath": {
|
|
22872
|
+
"types": [
|
|
22873
|
+
"string"
|
|
22874
|
+
],
|
|
22875
|
+
"description": "Currently selected file path"
|
|
22876
|
+
},
|
|
22877
|
+
"onFileSelect": {
|
|
22878
|
+
"types": [
|
|
22879
|
+
"function"
|
|
22880
|
+
],
|
|
22881
|
+
"description": "Called when a file is clicked"
|
|
22882
|
+
},
|
|
22883
|
+
"className": {
|
|
22884
|
+
"types": [
|
|
22885
|
+
"string"
|
|
22886
|
+
],
|
|
22887
|
+
"description": "CSS class"
|
|
22888
|
+
},
|
|
22889
|
+
"indent": {
|
|
22890
|
+
"types": [
|
|
22891
|
+
"number"
|
|
22892
|
+
],
|
|
22893
|
+
"description": "Indent size per level in px (default: 16)"
|
|
22894
|
+
}
|
|
22895
|
+
}
|
|
22896
|
+
},
|
|
22897
|
+
"avl-orbitals-cosmic-zoom": {
|
|
22898
|
+
"type": "avl-orbitals-cosmic-zoom",
|
|
22899
|
+
"category": "display",
|
|
22900
|
+
"description": "AvlOrbitalsCosmicZoom component",
|
|
22901
|
+
"suggestedFor": [
|
|
22902
|
+
"avl",
|
|
22903
|
+
"orbitals",
|
|
22904
|
+
"cosmic",
|
|
22905
|
+
"zoom",
|
|
22906
|
+
"avl orbitals cosmic zoom"
|
|
22907
|
+
],
|
|
22908
|
+
"typicalSize": "large",
|
|
22909
|
+
"propsSchema": {
|
|
22910
|
+
"schema": {
|
|
22911
|
+
"types": [
|
|
22912
|
+
"object",
|
|
22913
|
+
"string"
|
|
22914
|
+
],
|
|
22915
|
+
"description": "The orbital schema (parsed object or JSON string)",
|
|
22916
|
+
"required": true
|
|
22917
|
+
},
|
|
22918
|
+
"className": {
|
|
22919
|
+
"types": [
|
|
22920
|
+
"string"
|
|
22921
|
+
],
|
|
22922
|
+
"description": "CSS class for the outer container"
|
|
22923
|
+
},
|
|
22924
|
+
"color": {
|
|
22925
|
+
"types": [
|
|
22926
|
+
"string"
|
|
22927
|
+
],
|
|
22928
|
+
"description": "Primary color for the visualization"
|
|
22929
|
+
},
|
|
22930
|
+
"animated": {
|
|
22931
|
+
"types": [
|
|
22932
|
+
"boolean"
|
|
22933
|
+
],
|
|
22934
|
+
"description": "Enable animations (default: true)"
|
|
22935
|
+
},
|
|
22936
|
+
"width": {
|
|
22937
|
+
"types": [
|
|
22938
|
+
"number",
|
|
22939
|
+
"string"
|
|
22940
|
+
],
|
|
22941
|
+
"description": "Container width"
|
|
22942
|
+
},
|
|
22943
|
+
"height": {
|
|
22944
|
+
"types": [
|
|
22945
|
+
"number",
|
|
22946
|
+
"string"
|
|
22947
|
+
],
|
|
22948
|
+
"description": "Container height"
|
|
22949
|
+
},
|
|
22950
|
+
"highlightedOrbital": {
|
|
22951
|
+
"types": [
|
|
22952
|
+
"string"
|
|
22953
|
+
],
|
|
22954
|
+
"description": "GAP-52: name of the orbital to highlight with a persistent ring/glow. Independent from user-driven selection (click). Used by the builder workspace when entering cosmic mode from a focused orbital — the focused orbital is highlighted while the user can still click any other orbital to select it."
|
|
22955
|
+
},
|
|
22956
|
+
"onOrbitalSelect": {
|
|
22957
|
+
"types": [
|
|
22958
|
+
"function"
|
|
22959
|
+
],
|
|
22960
|
+
"description": "GAP-55: fired when the user clicks an orbital tile. Consumers (e.g. the builder workspace) use this as the trigger to drill INTO the clicked orbital — typically by switching back to the canvas tab and opening the clicked orbital at L2 expanded. Local `selected` toggle (visual highlight + info panel) still fires regardless of whether the callback is provided."
|
|
22961
|
+
},
|
|
22962
|
+
"minZoom": {
|
|
22963
|
+
"types": [
|
|
22964
|
+
"number"
|
|
22965
|
+
],
|
|
22966
|
+
"description": "GAP-54: minimum zoom factor when scroll-wheel zooming. Default 0.4."
|
|
22967
|
+
},
|
|
22968
|
+
"maxZoom": {
|
|
22969
|
+
"types": [
|
|
22970
|
+
"number"
|
|
22971
|
+
],
|
|
22972
|
+
"description": "GAP-54: maximum zoom factor when scroll-wheel zooming. Default 3."
|
|
22973
|
+
}
|
|
22974
|
+
}
|
|
22975
|
+
},
|
|
22792
22976
|
"heading": {
|
|
22793
22977
|
"type": "heading",
|
|
22794
22978
|
"category": "component",
|
package/dist/registry.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"exportedAt": "2026-04-
|
|
3
|
+
"exportedAt": "2026-04-18T11:44:35.778Z",
|
|
4
4
|
"patterns": {
|
|
5
5
|
"entity-table": {
|
|
6
6
|
"type": "entity-table",
|
|
@@ -102,7 +102,8 @@
|
|
|
102
102
|
"types": [
|
|
103
103
|
"array"
|
|
104
104
|
],
|
|
105
|
-
"
|
|
105
|
+
"itemKind": "field-ref",
|
|
106
|
+
"description": "Columns can be Column objects or simple string field names. String elements must resolve to fields on the linked entity."
|
|
106
107
|
},
|
|
107
108
|
"itemActions": {
|
|
108
109
|
"types": [
|
|
@@ -496,7 +497,8 @@
|
|
|
496
497
|
"types": [
|
|
497
498
|
"string"
|
|
498
499
|
],
|
|
499
|
-
"
|
|
500
|
+
"kind": "field-ref",
|
|
501
|
+
"description": "Entity field name containing an image URL to display as card thumbnail. Must resolve to a field on the linked entity."
|
|
500
502
|
}
|
|
501
503
|
}
|
|
502
504
|
},
|
|
@@ -1282,7 +1284,8 @@
|
|
|
1282
1284
|
"types": [
|
|
1283
1285
|
"array"
|
|
1284
1286
|
],
|
|
1285
|
-
"
|
|
1287
|
+
"itemKind": "field-ref",
|
|
1288
|
+
"description": "Filter definitions from schema. String elements must resolve to fields on the linked entity.",
|
|
1286
1289
|
"required": true
|
|
1287
1290
|
},
|
|
1288
1291
|
"onFilterChange": {
|
|
@@ -10644,6 +10647,24 @@
|
|
|
10644
10647
|
"string"
|
|
10645
10648
|
],
|
|
10646
10649
|
"description": "Additional CSS classes"
|
|
10650
|
+
},
|
|
10651
|
+
"editable": {
|
|
10652
|
+
"types": [
|
|
10653
|
+
"boolean"
|
|
10654
|
+
],
|
|
10655
|
+
"description": "When true, render an editable surface that composes a transparent `Textarea` over a Prism-highlighted overlay. The overlay re-tokenizes on each keystroke (driven from a local mirror of the textarea value), so users see syntax-highlighted code while still being able to type. Folding is skipped in editable mode. History: GAP-51 first-cut shipped plain (no-highlighting) editable text; GAP-77 (2026-04-12) added the Prism overlay layer. Default: false (existing read-only behavior unchanged)."
|
|
10656
|
+
},
|
|
10657
|
+
"onChange": {
|
|
10658
|
+
"types": [
|
|
10659
|
+
"function"
|
|
10660
|
+
],
|
|
10661
|
+
"description": "GAP-51: called with the new code on every keystroke when `editable === true`. Consumers should debounce + parse downstream — `CodeBlock` does not."
|
|
10662
|
+
},
|
|
10663
|
+
"errorLines": {
|
|
10664
|
+
"types": [
|
|
10665
|
+
"object"
|
|
10666
|
+
],
|
|
10667
|
+
"description": "GAP-80: line-level error/warning highlights for editable mode. Map of 1-based line number → severity. The overlay paints a colored background on each line: error = red, warning = yellow. Pass undefined (default) to disable. The consumer is responsible for computing the path → line map from the schema + validation results."
|
|
10647
10668
|
}
|
|
10648
10669
|
}
|
|
10649
10670
|
},
|
|
@@ -13184,7 +13205,8 @@
|
|
|
13184
13205
|
"types": [
|
|
13185
13206
|
"string"
|
|
13186
13207
|
],
|
|
13187
|
-
"
|
|
13208
|
+
"kind": "field-ref",
|
|
13209
|
+
"description": "Entity field name containing an image URL for card thumbnails. Must resolve to a field on the linked entity."
|
|
13188
13210
|
},
|
|
13189
13211
|
"selectable": {
|
|
13190
13212
|
"types": [
|
|
@@ -13290,7 +13312,8 @@
|
|
|
13290
13312
|
"types": [
|
|
13291
13313
|
"string"
|
|
13292
13314
|
],
|
|
13293
|
-
"
|
|
13315
|
+
"kind": "field-ref",
|
|
13316
|
+
"description": "Group items by a field value (renders section headers between groups). Must resolve to a field on the linked entity."
|
|
13294
13317
|
},
|
|
13295
13318
|
"senderField": {
|
|
13296
13319
|
"types": [
|
|
@@ -20577,6 +20600,18 @@
|
|
|
20577
20600
|
],
|
|
20578
20601
|
"description": "onLevelChange prop"
|
|
20579
20602
|
},
|
|
20603
|
+
"onOrbitalDoubleClick": {
|
|
20604
|
+
"types": [
|
|
20605
|
+
"function"
|
|
20606
|
+
],
|
|
20607
|
+
"description": "GAP-52: fired when the user double-clicks an orbital. Consumers (e.g. the builder workspace) use this as the trigger to enter cosmic mode (`AvlOrbitalsCosmicZoom`) for the focused orbital. The level at which this fires is controlled by `cosmicEntryLevel` (default `'expanded'`). At `'expanded'` the existing overview→expanded drill is preserved — the callback fires only on the second double-click. At `'overview'` the callback fires on the FIRST double-click and the existing drill is suppressed for that interaction. `'both'` fires at either level. The callback runs unconditionally — persona / permission gating is the consumer's responsibility."
|
|
20608
|
+
},
|
|
20609
|
+
"cosmicEntryLevel": {
|
|
20610
|
+
"types": [
|
|
20611
|
+
"string"
|
|
20612
|
+
],
|
|
20613
|
+
"description": "GAP-53: which level the `onOrbitalDoubleClick` callback fires at. - `'expanded'` (default, non-breaking) — fires only at L2 expanded; the first overview double-click still drills overview→expanded. - `'overview'` — fires at L1 overview on the FIRST double-click. The overview→expanded drill is suppressed when the callback is provided. - `'both'` — fires at either level."
|
|
20614
|
+
},
|
|
20580
20615
|
"initialOrbital": {
|
|
20581
20616
|
"types": [
|
|
20582
20617
|
"string"
|
|
@@ -22789,6 +22824,155 @@
|
|
|
22789
22824
|
}
|
|
22790
22825
|
}
|
|
22791
22826
|
},
|
|
22827
|
+
"trait-frame": {
|
|
22828
|
+
"type": "trait-frame",
|
|
22829
|
+
"category": "component",
|
|
22830
|
+
"description": "TraitFrame — renders the current frame of a referenced trait. Resolves the `@trait.X[.slot]` binding at render time by looking up the referenced trait's last `render-ui` payload from the orbital's `UISlotManager`. Re-renders automatically when that trait transitions via the per-trait subscription channel (`subscribeTrait`). This is the single rendering primitive both runtime paths converge on: - **Interpreted path** — the trait-binding resolver in `renderer/trait-binding-resolver.ts` walks pattern trees at render time, substituting `\"@trait.X\"` string children with this component. - **Compiled path** — the TypeScript shell codegen in `orbital-shell-typescript/src/backend.rs::pattern_to_jsx_with_data` emits this component directly into generated JSX wherever a `@trait.*` string appears in a pattern tree. Embedding is passive: the referenced trait's state machine runs unchanged; TraitFrame is only a read-only lens on its current frame. Event propagation happens over the shared event bus, not through this component.",
|
|
22831
|
+
"suggestedFor": [
|
|
22832
|
+
"trait",
|
|
22833
|
+
"frame",
|
|
22834
|
+
"trait frame"
|
|
22835
|
+
],
|
|
22836
|
+
"typicalSize": "small",
|
|
22837
|
+
"propsSchema": {
|
|
22838
|
+
"traitName": {
|
|
22839
|
+
"types": [
|
|
22840
|
+
"string"
|
|
22841
|
+
],
|
|
22842
|
+
"description": "Name of the trait whose current frame to embed. Must match a trait declared in the current orbital. Compiler validates that the name exists at build time (see `ORB_BINDING_TRAIT_UNKNOWN`).",
|
|
22843
|
+
"required": true
|
|
22844
|
+
},
|
|
22845
|
+
"fallback": {
|
|
22846
|
+
"types": [
|
|
22847
|
+
"node"
|
|
22848
|
+
],
|
|
22849
|
+
"description": "Rendered when the referenced trait has not (yet) emitted any render-ui. Use a skeleton, spinner, or message. Defaults to `null` (renders nothing), so an unfulfilled reference drops cleanly out of a parent `children:` array."
|
|
22850
|
+
}
|
|
22851
|
+
}
|
|
22852
|
+
},
|
|
22853
|
+
"file-tree": {
|
|
22854
|
+
"type": "file-tree",
|
|
22855
|
+
"category": "component",
|
|
22856
|
+
"description": "FileTree component",
|
|
22857
|
+
"suggestedFor": [
|
|
22858
|
+
"file",
|
|
22859
|
+
"tree",
|
|
22860
|
+
"file tree"
|
|
22861
|
+
],
|
|
22862
|
+
"typicalSize": "medium",
|
|
22863
|
+
"propsSchema": {
|
|
22864
|
+
"tree": {
|
|
22865
|
+
"types": [
|
|
22866
|
+
"array"
|
|
22867
|
+
],
|
|
22868
|
+
"description": "The tree data",
|
|
22869
|
+
"required": true
|
|
22870
|
+
},
|
|
22871
|
+
"selectedPath": {
|
|
22872
|
+
"types": [
|
|
22873
|
+
"string"
|
|
22874
|
+
],
|
|
22875
|
+
"description": "Currently selected file path"
|
|
22876
|
+
},
|
|
22877
|
+
"onFileSelect": {
|
|
22878
|
+
"types": [
|
|
22879
|
+
"function"
|
|
22880
|
+
],
|
|
22881
|
+
"description": "Called when a file is clicked"
|
|
22882
|
+
},
|
|
22883
|
+
"className": {
|
|
22884
|
+
"types": [
|
|
22885
|
+
"string"
|
|
22886
|
+
],
|
|
22887
|
+
"description": "CSS class"
|
|
22888
|
+
},
|
|
22889
|
+
"indent": {
|
|
22890
|
+
"types": [
|
|
22891
|
+
"number"
|
|
22892
|
+
],
|
|
22893
|
+
"description": "Indent size per level in px (default: 16)"
|
|
22894
|
+
}
|
|
22895
|
+
}
|
|
22896
|
+
},
|
|
22897
|
+
"avl-orbitals-cosmic-zoom": {
|
|
22898
|
+
"type": "avl-orbitals-cosmic-zoom",
|
|
22899
|
+
"category": "display",
|
|
22900
|
+
"description": "AvlOrbitalsCosmicZoom component",
|
|
22901
|
+
"suggestedFor": [
|
|
22902
|
+
"avl",
|
|
22903
|
+
"orbitals",
|
|
22904
|
+
"cosmic",
|
|
22905
|
+
"zoom",
|
|
22906
|
+
"avl orbitals cosmic zoom"
|
|
22907
|
+
],
|
|
22908
|
+
"typicalSize": "large",
|
|
22909
|
+
"propsSchema": {
|
|
22910
|
+
"schema": {
|
|
22911
|
+
"types": [
|
|
22912
|
+
"object",
|
|
22913
|
+
"string"
|
|
22914
|
+
],
|
|
22915
|
+
"description": "The orbital schema (parsed object or JSON string)",
|
|
22916
|
+
"required": true
|
|
22917
|
+
},
|
|
22918
|
+
"className": {
|
|
22919
|
+
"types": [
|
|
22920
|
+
"string"
|
|
22921
|
+
],
|
|
22922
|
+
"description": "CSS class for the outer container"
|
|
22923
|
+
},
|
|
22924
|
+
"color": {
|
|
22925
|
+
"types": [
|
|
22926
|
+
"string"
|
|
22927
|
+
],
|
|
22928
|
+
"description": "Primary color for the visualization"
|
|
22929
|
+
},
|
|
22930
|
+
"animated": {
|
|
22931
|
+
"types": [
|
|
22932
|
+
"boolean"
|
|
22933
|
+
],
|
|
22934
|
+
"description": "Enable animations (default: true)"
|
|
22935
|
+
},
|
|
22936
|
+
"width": {
|
|
22937
|
+
"types": [
|
|
22938
|
+
"number",
|
|
22939
|
+
"string"
|
|
22940
|
+
],
|
|
22941
|
+
"description": "Container width"
|
|
22942
|
+
},
|
|
22943
|
+
"height": {
|
|
22944
|
+
"types": [
|
|
22945
|
+
"number",
|
|
22946
|
+
"string"
|
|
22947
|
+
],
|
|
22948
|
+
"description": "Container height"
|
|
22949
|
+
},
|
|
22950
|
+
"highlightedOrbital": {
|
|
22951
|
+
"types": [
|
|
22952
|
+
"string"
|
|
22953
|
+
],
|
|
22954
|
+
"description": "GAP-52: name of the orbital to highlight with a persistent ring/glow. Independent from user-driven selection (click). Used by the builder workspace when entering cosmic mode from a focused orbital — the focused orbital is highlighted while the user can still click any other orbital to select it."
|
|
22955
|
+
},
|
|
22956
|
+
"onOrbitalSelect": {
|
|
22957
|
+
"types": [
|
|
22958
|
+
"function"
|
|
22959
|
+
],
|
|
22960
|
+
"description": "GAP-55: fired when the user clicks an orbital tile. Consumers (e.g. the builder workspace) use this as the trigger to drill INTO the clicked orbital — typically by switching back to the canvas tab and opening the clicked orbital at L2 expanded. Local `selected` toggle (visual highlight + info panel) still fires regardless of whether the callback is provided."
|
|
22961
|
+
},
|
|
22962
|
+
"minZoom": {
|
|
22963
|
+
"types": [
|
|
22964
|
+
"number"
|
|
22965
|
+
],
|
|
22966
|
+
"description": "GAP-54: minimum zoom factor when scroll-wheel zooming. Default 0.4."
|
|
22967
|
+
},
|
|
22968
|
+
"maxZoom": {
|
|
22969
|
+
"types": [
|
|
22970
|
+
"number"
|
|
22971
|
+
],
|
|
22972
|
+
"description": "GAP-54: maximum zoom factor when scroll-wheel zooming. Default 3."
|
|
22973
|
+
}
|
|
22974
|
+
}
|
|
22975
|
+
},
|
|
22792
22976
|
"heading": {
|
|
22793
22977
|
"type": "heading",
|
|
22794
22978
|
"category": "component",
|