@almadar/std 16.232.0 → 16.234.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/behaviors/behaviors-registry.json +1422 -133
- package/behaviors/lolo/ui/avl/atoms/ui-avl-glyph.lolo +54 -0
- package/behaviors/lolo/ui/avl/atoms/ui-avl-state-machine.lolo +132 -0
- package/behaviors/lolo/ui/avl/atoms/ui-behavior-view.lolo +5 -6
- package/behaviors/lolo/ui/avl/atoms/ui-module-card.lolo +7 -8
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +6 -1
- package/behaviors/lolo/ui/core/atoms/std-event-log.lolo +12 -2
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-breadcrumb.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +74 -0
- package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +17 -0
- package/behaviors/lolo/ui/core/organisms/ui-state-machine-view.lolo +104 -2
- package/behaviors/lolo/ui/game/atoms/ui-draw-skinned-mesh.lolo +1 -1
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/ui/avl/atoms/ui-avl-glyph.orb +211 -0
- package/behaviors/registry/ui/avl/atoms/ui-avl-state-machine.orb +761 -0
- package/behaviors/registry/ui/avl/atoms/ui-behavior-view.orb +157 -66
- package/behaviors/registry/ui/avl/atoms/ui-module-card.orb +158 -67
- package/behaviors/registry/ui/core/atoms/std-board.orb +9 -1
- package/behaviors/registry/ui/core/atoms/std-event-log.orb +19 -3
- package/behaviors/registry/ui/core/atoms/ui-box.orb +2 -2
- package/behaviors/registry/ui/core/atoms/ui-button.orb +1 -0
- package/behaviors/registry/ui/core/molecules/ui-breadcrumb.orb +9 -1
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +185 -0
- package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +81 -0
- package/behaviors/registry/ui/core/organisms/ui-state-machine-view.orb +487 -2
- package/behaviors/registry/ui/game/atoms/ui-draw-skinned-mesh.orb +1 -2
- package/dist/behaviors/exports-reader.js +1891 -1476
- package/dist/behaviors/functions/index.d.ts +251 -10
- package/dist/behaviors/functions/index.js +1886 -1477
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +1892 -1477
- package/dist/behaviors/query.js +1891 -1476
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +19 -11
- package/dist/behaviors-registry.json +1422 -133
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1892 -1477
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +171 -7
- package/dist/registry/factory-signatures.json +1 -1
- package/package.json +2 -2
|
@@ -2,6 +2,31 @@ app ui-state-machine-view "1.0.0"
|
|
|
2
2
|
"StateMachineView — UI factory (1:1 with the @almadar/ui state-machine-view pattern)."
|
|
3
3
|
;; @pattern "state-machine-view"
|
|
4
4
|
orbital StateMachineViewOrbital {
|
|
5
|
+
type StateMachineViewTrait = {
|
|
6
|
+
name : string!
|
|
7
|
+
linkedEntity : string!
|
|
8
|
+
states : [StateMachineViewTraitStatesItem]!
|
|
9
|
+
transitions : [StateMachineViewTraitTransitionsItem]!
|
|
10
|
+
emittedEvents : [string]!
|
|
11
|
+
listenedEvents : [string]!
|
|
12
|
+
}
|
|
13
|
+
type StateMachineViewTraitStatesItem = {
|
|
14
|
+
name : string!
|
|
15
|
+
isInitial : boolean
|
|
16
|
+
isTerminal : boolean
|
|
17
|
+
}
|
|
18
|
+
type StateMachineViewTraitTransitionsItem = {
|
|
19
|
+
from : string!
|
|
20
|
+
to : string!
|
|
21
|
+
event : string!
|
|
22
|
+
guard : SExpr
|
|
23
|
+
effects : [StateMachineViewTraitTransitionsItemEffectsItem]!
|
|
24
|
+
index : number!
|
|
25
|
+
}
|
|
26
|
+
type StateMachineViewTraitTransitionsItemEffectsItem = {
|
|
27
|
+
type : string!
|
|
28
|
+
args : [SExpr]!
|
|
29
|
+
}
|
|
5
30
|
type StateMachineViewError = {
|
|
6
31
|
message : string!
|
|
7
32
|
name : string
|
|
@@ -19,19 +44,96 @@ orbital StateMachineViewOrbital {
|
|
|
19
44
|
state idle {
|
|
20
45
|
INIT -> idle
|
|
21
46
|
(render-ui main {
|
|
47
|
+
activeState: @config.activeState
|
|
48
|
+
activeTransition: @config.activeTransition
|
|
49
|
+
visitedStates: @config.visitedStates
|
|
50
|
+
stateClickEvent: @config.stateClickEvent
|
|
51
|
+
transitionClickEvent: @config.transitionClickEvent
|
|
52
|
+
selectedState: @config.selectedState
|
|
53
|
+
pendingSourceState: @config.pendingSourceState
|
|
54
|
+
nodeShape: @config.nodeShape
|
|
55
|
+
entityFields: @config.entityFields
|
|
56
|
+
direction: @config.direction
|
|
57
|
+
showHeader: @config.showHeader
|
|
22
58
|
className: @config.className
|
|
59
|
+
trait: @config.traitProp
|
|
23
60
|
isLoading: @config.isLoading
|
|
24
61
|
error: @config.error
|
|
25
62
|
type: state-machine-view
|
|
26
63
|
})
|
|
27
64
|
}
|
|
28
65
|
|
|
66
|
+
emits {
|
|
67
|
+
@config.stateClickEvent -> external {
|
|
68
|
+
stateId : string!
|
|
69
|
+
}
|
|
70
|
+
@description "Emits UI:{stateClickEvent} with { stateId } when a state is clicked."
|
|
71
|
+
@tier "essential"
|
|
72
|
+
@config.transitionClickEvent -> external {
|
|
73
|
+
index : number!
|
|
74
|
+
event : string!
|
|
75
|
+
from : string!
|
|
76
|
+
to : string!
|
|
77
|
+
}
|
|
78
|
+
@description "Emits UI:{transitionClickEvent} with { index, event, from, to } when a transition label is clicked."
|
|
79
|
+
@tier "essential"
|
|
80
|
+
}
|
|
81
|
+
|
|
29
82
|
config {
|
|
83
|
+
activeState : string
|
|
84
|
+
@label "Active State"
|
|
85
|
+
@description "State execution is currently in."
|
|
86
|
+
@tier "presentation"
|
|
87
|
+
activeTransition : number
|
|
88
|
+
@label "Active Transition"
|
|
89
|
+
@description "`index` of the transition that just fired."
|
|
90
|
+
@tier "presentation"
|
|
91
|
+
visitedStates : [string] = []
|
|
92
|
+
@label "Visited States"
|
|
93
|
+
@description "States already passed through, in order."
|
|
94
|
+
@tier "presentation"
|
|
95
|
+
stateClickEvent : event = "STATE_CLICK"
|
|
96
|
+
@label "State Click Event"
|
|
97
|
+
@description "Emits UI:{stateClickEvent} with { stateId } when a state is clicked."
|
|
98
|
+
@tier "presentation"
|
|
99
|
+
transitionClickEvent : event = "TRANSITION_CLICK"
|
|
100
|
+
@label "Transition Click Event"
|
|
101
|
+
@description "Emits UI:{transitionClickEvent} with { index, event, from, to } when a transition label is clicked."
|
|
102
|
+
@tier "presentation"
|
|
103
|
+
selectedState : string
|
|
104
|
+
@label "Selected State"
|
|
105
|
+
@description "State picked in an editor (first click)."
|
|
106
|
+
@tier "presentation"
|
|
107
|
+
pendingSourceState : string
|
|
108
|
+
@label "Pending Source State"
|
|
109
|
+
@description "Source of a transition being drawn — the next state click picks its target."
|
|
110
|
+
@tier "presentation"
|
|
111
|
+
nodeShape : "pill" | "gear" = pill
|
|
112
|
+
@label "Node Shape"
|
|
113
|
+
@description "Node silhouette. @default 'pill'"
|
|
114
|
+
@tier "presentation"
|
|
115
|
+
entityFields : [string] = []
|
|
116
|
+
@label "Entity Fields"
|
|
117
|
+
@description "Entity field names listed in the header."
|
|
118
|
+
@tier "presentation"
|
|
119
|
+
direction : "ltr" | "rtl" = ltr
|
|
120
|
+
@label "Direction"
|
|
121
|
+
@description "Flow direction. @default 'ltr'"
|
|
122
|
+
@tier "presentation"
|
|
123
|
+
showHeader : boolean
|
|
124
|
+
@label "Show Header"
|
|
125
|
+
@description "Show the trait header (name, entity, listens/emits). @default true"
|
|
126
|
+
@tier "presentation"
|
|
30
127
|
className : string
|
|
31
128
|
@label "Class Name"
|
|
32
|
-
@description "
|
|
129
|
+
@description "className prop"
|
|
130
|
+
@tier "presentation"
|
|
131
|
+
traitProp : StateMachineViewTrait
|
|
132
|
+
@label "Trait"
|
|
133
|
+
@description "The trait to draw (see `parseTraitLevel` / `traitLevelFromTrait`)."
|
|
134
|
+
@synonyms "trait"
|
|
33
135
|
@tier "presentation"
|
|
34
|
-
isLoading : boolean
|
|
136
|
+
isLoading : boolean = false
|
|
35
137
|
@label "Is Loading"
|
|
36
138
|
@description "Loading state indicator"
|
|
37
139
|
@tier "presentation"
|