@almadar/std 16.150.0 → 16.152.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.
Files changed (93) hide show
  1. package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +18 -0
  2. package/behaviors/lolo/ui/core/atoms/std-board.lolo +1 -1
  3. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +39 -10
  4. package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +13 -1
  5. package/behaviors/lolo/ui/core/atoms/std-multi-party-flow.lolo +8 -10
  6. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +3 -0
  7. package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +6 -1
  8. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +4 -2
  9. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +27 -1
  10. package/behaviors/lolo/ui/core/molecules/ui-graph-canvas.lolo +57 -0
  11. package/behaviors/lolo/ui/core/molecules/ui-simple-grid.lolo +2 -2
  12. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +3 -1
  13. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +4 -2
  14. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +2 -0
  15. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +3 -1
  16. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +3 -1
  17. package/behaviors/lolo/ui/game/atoms/ui-draw-group.lolo +54 -0
  18. package/behaviors/lolo/ui/game/atoms/ui-draw-shape.lolo +6 -1
  19. package/behaviors/lolo/ui/game/atoms/ui-svg-draw-group.lolo +58 -0
  20. package/behaviors/lolo/ui/game/atoms/ui-svg-draw-shape.lolo +103 -0
  21. package/behaviors/lolo/ui/game/atoms/ui-svg-draw-text.lolo +58 -0
  22. package/behaviors/lolo/ui/game/molecules/ui-draw-shape-layer.lolo +3 -2
  23. package/behaviors/lolo/ui/game/molecules/ui-svg-draw-shape-layer.lolo +52 -0
  24. package/behaviors/lolo/ui/game/molecules/ui-svg-stage.lolo +98 -0
  25. package/behaviors/lolo/ui/learning/atoms/std-branching-logic.lolo +0 -28
  26. package/behaviors/registry/factory-signatures.json +2435 -782
  27. package/behaviors/registry/ui/core/atoms/std-app-search.orb +60 -0
  28. package/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  29. package/behaviors/registry/ui/core/atoms/std-browse.orb +242 -35
  30. package/behaviors/registry/ui/core/atoms/std-calendar.orb +25 -1
  31. package/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +8 -10
  32. package/behaviors/registry/ui/core/atoms/std-stats.orb +27 -0
  33. package/behaviors/registry/ui/core/atoms/ui-typography.orb +17 -1
  34. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +39 -2
  35. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +71 -1
  36. package/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +296 -0
  37. package/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +0 -2
  38. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +34 -1
  39. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +49 -2
  40. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +2 -0
  41. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -1
  42. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +33 -1
  43. package/behaviors/registry/ui/game/atoms/ui-draw-group.orb +196 -0
  44. package/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +9 -1
  45. package/behaviors/registry/ui/game/atoms/ui-svg-draw-group.orb +186 -0
  46. package/behaviors/registry/ui/game/atoms/ui-svg-draw-shape.orb +259 -0
  47. package/behaviors/registry/ui/game/atoms/ui-svg-draw-text.orb +195 -0
  48. package/behaviors/registry/ui/game/molecules/ui-draw-shape-layer.orb +9 -1
  49. package/behaviors/registry/ui/game/molecules/ui-svg-draw-shape-layer.orb +188 -0
  50. package/behaviors/registry/ui/game/molecules/ui-svg-stage.orb +362 -0
  51. package/behaviors/registry/ui/learning/atoms/std-branching-logic.orb +0 -34
  52. package/dist/behaviors/behaviors-embeddings.json +476 -452
  53. package/dist/behaviors/behaviors-registry.json +2814 -877
  54. package/dist/behaviors/exports-reader.js +143 -4
  55. package/dist/behaviors/functions/index.d.ts +33 -20
  56. package/dist/behaviors/functions/index.js +143 -4
  57. package/dist/behaviors/index.d.ts +1 -1
  58. package/dist/behaviors/index.js +143 -4
  59. package/dist/behaviors/knob-embeddings.json +1 -1
  60. package/dist/behaviors/query.js +143 -4
  61. package/dist/behaviors/registry/factory-signatures.json +2435 -782
  62. package/dist/behaviors/registry/ui/core/atoms/std-app-search.orb +60 -0
  63. package/dist/behaviors/registry/ui/core/atoms/std-board.orb +1 -1
  64. package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +242 -35
  65. package/dist/behaviors/registry/ui/core/atoms/std-calendar.orb +25 -1
  66. package/dist/behaviors/registry/ui/core/atoms/std-multi-party-flow.orb +8 -10
  67. package/dist/behaviors/registry/ui/core/atoms/std-stats.orb +27 -0
  68. package/dist/behaviors/registry/ui/core/atoms/ui-typography.orb +17 -1
  69. package/dist/behaviors/registry/ui/core/molecules/ui-data-grid.orb +39 -2
  70. package/dist/behaviors/registry/ui/core/molecules/ui-data-list.orb +71 -1
  71. package/dist/behaviors/registry/ui/core/molecules/ui-graph-canvas.orb +296 -0
  72. package/dist/behaviors/registry/ui/core/molecules/ui-simple-grid.orb +0 -2
  73. package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +34 -1
  74. package/dist/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +49 -2
  75. package/dist/behaviors/registry/ui/core/organisms/ui-entity-list.orb +2 -0
  76. package/dist/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -1
  77. package/dist/behaviors/registry/ui/core/organisms/ui-timeline.orb +33 -1
  78. package/dist/behaviors/registry/ui/game/atoms/ui-draw-group.orb +196 -0
  79. package/dist/behaviors/registry/ui/game/atoms/ui-draw-shape.orb +9 -1
  80. package/dist/behaviors/registry/ui/game/atoms/ui-svg-draw-group.orb +186 -0
  81. package/dist/behaviors/registry/ui/game/atoms/ui-svg-draw-shape.orb +259 -0
  82. package/dist/behaviors/registry/ui/game/atoms/ui-svg-draw-text.orb +195 -0
  83. package/dist/behaviors/registry/ui/game/molecules/ui-draw-shape-layer.orb +9 -1
  84. package/dist/behaviors/registry/ui/game/molecules/ui-svg-draw-shape-layer.orb +188 -0
  85. package/dist/behaviors/registry/ui/game/molecules/ui-svg-stage.orb +362 -0
  86. package/dist/behaviors/registry/ui/learning/atoms/std-branching-logic.orb +0 -34
  87. package/dist/behaviors-embeddings.json +476 -452
  88. package/dist/behaviors-registry.json +2814 -877
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.js +143 -4
  91. package/dist/knob-embeddings.json +1 -1
  92. package/dist/registry/factory-signatures.json +2435 -782
  93. package/package.json +3 -3
@@ -0,0 +1,54 @@
1
+ app ui-draw-group "1.0.0"
2
+ "DrawGroup — UI factory (1:1 with the @almadar/ui draw-group pattern)."
3
+ orbital DrawGroupOrbital {
4
+ type DrawGroupPosition = {
5
+ x : number!
6
+ y : number!
7
+ z : number
8
+ }
9
+
10
+ entity DrawGroupItem [runtime] {
11
+ id : string!
12
+ }
13
+
14
+ trait DrawGroupRender -> @rebindable DrawGroupItem [interaction, instance] {
15
+ initial: idle
16
+
17
+ state idle {
18
+ INIT -> idle
19
+ (render-ui main {
20
+ position: @config.position
21
+ scale: @config.scale
22
+ rotate: @config.rotate
23
+ opacity: @config.opacity
24
+ items: @config.items
25
+ type: draw-group
26
+ })
27
+ }
28
+
29
+ config {
30
+ position : DrawGroupPosition = { x: 1, y: 1, z: 1 }
31
+ @label "Position"
32
+ @description "Logical scene position; the projector maps it to pixels / world."
33
+ @tier "presentation"
34
+ scale : number
35
+ @label "Scale"
36
+ @description "Uniform scale applied to the whole group."
37
+ @tier "presentation"
38
+ rotate : number
39
+ @label "Rotate"
40
+ @description "Rotation in radians (painter units)."
41
+ @tier "presentation"
42
+ opacity : number
43
+ @label "Opacity"
44
+ @description "0..1 opacity."
45
+ @tier "presentation"
46
+ items : [json] = []
47
+ @label "Items"
48
+ @description "The grouped drawables, painted through the normal dispatch."
49
+ @tier "presentation"
50
+ }
51
+ }
52
+
53
+ page "/draw-group" as DrawGroupPage -> DrawGroupRender
54
+ }
@@ -27,6 +27,7 @@ orbital DrawShapeOrbital {
27
27
  offsetX: @config.offsetX
28
28
  offsetY: @config.offsetY
29
29
  points: @config.points
30
+ d: @config.d
30
31
  fill: @config.fill
31
32
  stroke: @config.stroke
32
33
  strokeWidth: @config.strokeWidth
@@ -36,7 +37,7 @@ orbital DrawShapeOrbital {
36
37
  }
37
38
 
38
39
  config {
39
- shape : "cell" | "rect" | "ellipse" | "poly" = cell
40
+ shape : "cell" | "rect" | "ellipse" | "poly" | "path" = cell
40
41
  @label "Shape"
41
42
  @description "shape prop"
42
43
  @tier "presentation"
@@ -76,6 +77,10 @@ orbital DrawShapeOrbital {
76
77
  @label "Points"
77
78
  @description "Poly vertices as world-unit offsets relative to the cell's projected top-left."
78
79
  @tier "presentation"
80
+ d : string
81
+ @label "D"
82
+ @description "SVG path data in world units relative to the cell's projected top-left — same coordinate convention as `points`."
83
+ @tier "presentation"
79
84
  fill : string
80
85
  @label "Fill"
81
86
  @description "fill prop"
@@ -0,0 +1,58 @@
1
+ app ui-svg-draw-group "1.0.0"
2
+ "SvgDrawGroup — UI factory (1:1 with the @almadar/ui svg-draw-group pattern)."
3
+ orbital SvgDrawGroupOrbital {
4
+ entity SvgDrawGroupItem [runtime] {
5
+ id : string!
6
+ }
7
+
8
+ trait SvgDrawGroupRender -> @rebindable SvgDrawGroupItem [interaction, instance] {
9
+ initial: idle
10
+
11
+ state idle {
12
+ INIT -> idle
13
+ (render-ui main {
14
+ x: @config.x
15
+ y: @config.y
16
+ scale: @config.scale
17
+ rotate: @config.rotate
18
+ opacity: @config.opacity
19
+ className: @config.className
20
+ children: @config.children
21
+ type: svg-draw-group
22
+ })
23
+ }
24
+
25
+ config {
26
+ x : number = 0
27
+ @label "X"
28
+ @description "Grid-cell x of the group's origin."
29
+ @tier "presentation"
30
+ y : number = 0
31
+ @label "Y"
32
+ @description "Grid-cell y of the group's origin."
33
+ @tier "presentation"
34
+ scale : number
35
+ @label "Scale"
36
+ @description "Uniform scale applied after the translate."
37
+ @tier "presentation"
38
+ rotate : number
39
+ @label "Rotate"
40
+ @description "Rotation in degrees applied after the translate."
41
+ @tier "presentation"
42
+ opacity : number
43
+ @label "Opacity"
44
+ @description "0..1 opacity."
45
+ @tier "presentation"
46
+ className : string
47
+ @label "Class Name"
48
+ @description "Additional CSS classes"
49
+ @tier "presentation"
50
+ children : node
51
+ @label "Children"
52
+ @description "children prop"
53
+ @tier "presentation"
54
+ }
55
+ }
56
+
57
+ page "/svg-draw-group" as SvgDrawGroupPage -> SvgDrawGroupRender
58
+ }
@@ -0,0 +1,103 @@
1
+ app ui-svg-draw-shape "1.0.0"
2
+ "SvgDrawShape — UI factory (1:1 with the @almadar/ui svg-draw-shape pattern)."
3
+ orbital SvgDrawShapeOrbital {
4
+ entity SvgDrawShapeItem [runtime] {
5
+ id : string!
6
+ }
7
+
8
+ trait SvgDrawShapeRender -> @rebindable SvgDrawShapeItem [interaction, instance] {
9
+ initial: idle
10
+
11
+ state idle {
12
+ INIT -> idle
13
+ (render-ui main {
14
+ shape: @config.shape
15
+ x: @config.x
16
+ y: @config.y
17
+ width: @config.width
18
+ height: @config.height
19
+ radius: @config.radius
20
+ radiusY: @config.radiusY
21
+ points: @config.points
22
+ d: @config.d
23
+ x2: @config.x2
24
+ y2: @config.y2
25
+ fill: @config.fill
26
+ stroke: @config.stroke
27
+ strokeWidth: @config.strokeWidth
28
+ opacity: @config.opacity
29
+ className: @config.className
30
+ type: svg-draw-shape
31
+ })
32
+ }
33
+
34
+ config {
35
+ shape : "rect" | "circle" | "ellipse" | "polygon" | "polyline" | "path" | "line" = rect
36
+ @label "Shape"
37
+ @description "shape prop"
38
+ @tier "presentation"
39
+ x : number = 1
40
+ @label "X"
41
+ @description "Grid-cell x of the element's translated origin."
42
+ @tier "presentation"
43
+ y : number = 1
44
+ @label "Y"
45
+ @description "Grid-cell y of the element's translated origin."
46
+ @tier "presentation"
47
+ width : number
48
+ @label "Width"
49
+ @description "Rect width in cell units."
50
+ @tier "presentation"
51
+ height : number
52
+ @label "Height"
53
+ @description "Rect height in cell units."
54
+ @tier "presentation"
55
+ radius : number
56
+ @label "Radius"
57
+ @description "Circle radius / ellipse horizontal radius in cell units."
58
+ @tier "presentation"
59
+ radiusY : number
60
+ @label "Radius Y"
61
+ @description "Ellipse vertical radius in cell units; omitted → `radius` (a circle)."
62
+ @tier "presentation"
63
+ points : string
64
+ @label "Points"
65
+ @description "Polygon/polyline points, viewBox units relative to the translated origin."
66
+ @tier "presentation"
67
+ d : string
68
+ @label "D"
69
+ @description "Path data, viewBox units relative to the translated origin."
70
+ @tier "presentation"
71
+ x2 : number
72
+ @label "X2"
73
+ @description "Line end x in cell units."
74
+ @tier "presentation"
75
+ y2 : number
76
+ @label "Y2"
77
+ @description "Line end y in cell units."
78
+ @tier "presentation"
79
+ fill : string
80
+ @label "Fill"
81
+ @description "fill prop"
82
+ @tier "presentation"
83
+ stroke : string
84
+ @label "Stroke"
85
+ @description "stroke prop"
86
+ @tier "presentation"
87
+ strokeWidth : number
88
+ @label "Stroke Width"
89
+ @description "strokeWidth prop"
90
+ @tier "presentation"
91
+ opacity : number
92
+ @label "Opacity"
93
+ @description "0..1 opacity."
94
+ @tier "presentation"
95
+ className : string
96
+ @label "Class Name"
97
+ @description "Additional CSS classes"
98
+ @tier "presentation"
99
+ }
100
+ }
101
+
102
+ page "/svg-draw-shape" as SvgDrawShapePage -> SvgDrawShapeRender
103
+ }
@@ -0,0 +1,58 @@
1
+ app ui-svg-draw-text "1.0.0"
2
+ "SvgDrawText — UI factory (1:1 with the @almadar/ui svg-draw-text pattern)."
3
+ orbital SvgDrawTextOrbital {
4
+ entity SvgDrawTextItem [runtime] {
5
+ id : string!
6
+ }
7
+
8
+ trait SvgDrawTextRender -> @rebindable SvgDrawTextItem [interaction, instance] {
9
+ initial: idle
10
+
11
+ state idle {
12
+ INIT -> idle
13
+ (render-ui main {
14
+ x: @config.x
15
+ y: @config.y
16
+ text: @config.text
17
+ size: @config.size
18
+ fill: @config.fill
19
+ anchor: @config.anchor
20
+ className: @config.className
21
+ type: svg-draw-text
22
+ })
23
+ }
24
+
25
+ config {
26
+ x : number = 1
27
+ @label "X"
28
+ @description "Grid-cell x of the text anchor."
29
+ @tier "presentation"
30
+ y : number = 1
31
+ @label "Y"
32
+ @description "Grid-cell y of the text anchor."
33
+ @tier "presentation"
34
+ text : string = ""
35
+ @label "Text"
36
+ @description "The text content."
37
+ @tier "presentation"
38
+ size : number = 12
39
+ @label "Size"
40
+ @description "Font size in viewBox units (default 12)."
41
+ @tier "presentation"
42
+ fill : string = "var(--color-foreground)"
43
+ @label "Fill"
44
+ @description "fill prop"
45
+ @tier "presentation"
46
+ anchor : "start" | "middle" | "end" = middle
47
+ @label "Anchor"
48
+ @description "Text anchor (default 'middle')."
49
+ @tier "presentation"
50
+ className : string
51
+ @label "Class Name"
52
+ @description "Additional CSS classes"
53
+ @tier "presentation"
54
+ }
55
+ }
56
+
57
+ page "/svg-draw-text" as SvgDrawTextPage -> SvgDrawTextRender
58
+ }
@@ -3,7 +3,7 @@ app ui-draw-shape-layer "1.0.0"
3
3
  orbital DrawShapeLayerOrbital {
4
4
  type DrawShapeLayerItemsItem = {
5
5
  type : json!
6
- shape : "cell" | "rect" | "ellipse" | "poly"!
6
+ shape : "cell" | "rect" | "ellipse" | "poly" | "path"!
7
7
  position : DrawShapeLayerItemsItemPosition!
8
8
  anchor : json
9
9
  width : number
@@ -13,6 +13,7 @@ orbital DrawShapeLayerOrbital {
13
13
  offsetX : number
14
14
  offsetY : number
15
15
  points : [json]
16
+ d : string
16
17
  fill : string
17
18
  stroke : string
18
19
  strokeWidth : number
@@ -40,7 +41,7 @@ orbital DrawShapeLayerOrbital {
40
41
  }
41
42
 
42
43
  config {
43
- items : [DrawShapeLayerItemsItem] = [{ type: "Type", shape: cell, position: { x: 1, y: 1, z: 1 }, width: 1, height: 1, radiusX: 1, radiusY: 1, offsetX: 1, offsetY: 1, points: [], fill: "Fill", stroke: "Stroke", strokeWidth: 1, opacity: 1 }, { type: "Type 2", shape: rect, position: { x: 2, y: 2, z: 2 }, width: 2, height: 2, radiusX: 2, radiusY: 2, offsetX: 2, offsetY: 2, points: [], fill: "Fill 2", stroke: "Stroke 2", strokeWidth: 2, opacity: 2 }]
44
+ items : [DrawShapeLayerItemsItem] = [{ type: "Type", shape: cell, position: { x: 1, y: 1, z: 1 }, width: 1, height: 1, radiusX: 1, radiusY: 1, offsetX: 1, offsetY: 1, points: [], d: "D", fill: "Fill", stroke: "Stroke", strokeWidth: 1, opacity: 1 }, { type: "Type 2", shape: rect, position: { x: 2, y: 2, z: 2 }, width: 2, height: 2, radiusX: 2, radiusY: 2, offsetX: 2, offsetY: 2, points: [], d: "D 2", fill: "Fill 2", stroke: "Stroke 2", strokeWidth: 2, opacity: 2 }]
44
45
  @label "Items"
45
46
  @description "items prop"
46
47
  @tier "presentation"
@@ -0,0 +1,52 @@
1
+ app ui-svg-draw-shape-layer "1.0.0"
2
+ "SvgDrawShapeLayer — UI factory (1:1 with the @almadar/ui svg-draw-shape-layer pattern)."
3
+ orbital SvgDrawShapeLayerOrbital {
4
+ type SvgDrawShapeLayerItemsItem = {
5
+ id : string!
6
+ }
7
+
8
+ entity SvgDrawShapeLayerItem [runtime] {
9
+ id : string!
10
+ }
11
+
12
+ trait SvgDrawShapeLayerRender -> @rebindable SvgDrawShapeLayerItem [interaction, instance] {
13
+ initial: idle
14
+
15
+ state idle {
16
+ INIT -> idle
17
+ (render-ui main {
18
+ items: @config.items
19
+ fill: @config.fill
20
+ stroke: @config.stroke
21
+ strokeWidth: @config.strokeWidth
22
+ opacity: @config.opacity
23
+ type: svg-draw-shape-layer
24
+ })
25
+ }
26
+
27
+ config {
28
+ items : [SvgDrawShapeLayerItemsItem] = [{ id: "Id" }, { id: "Id 2" }]
29
+ @label "Items"
30
+ @description "items prop"
31
+ @tier "presentation"
32
+ fill : string
33
+ @label "Fill"
34
+ @description "Default fill for items that don't set one."
35
+ @tier "presentation"
36
+ stroke : string
37
+ @label "Stroke"
38
+ @description "Default stroke for items that don't set one."
39
+ @tier "presentation"
40
+ strokeWidth : number
41
+ @label "Stroke Width"
42
+ @description "Default strokeWidth for items that don't set one."
43
+ @tier "presentation"
44
+ opacity : number
45
+ @label "Opacity"
46
+ @description "Default 0..1 opacity for items that don't set one."
47
+ @tier "presentation"
48
+ }
49
+ }
50
+
51
+ page "/svg-draw-shape-layer" as SvgDrawShapeLayerPage -> SvgDrawShapeLayerRender
52
+ }
@@ -0,0 +1,98 @@
1
+ app ui-svg-stage "1.0.0"
2
+ "SvgStage — UI factory (1:1 with the @almadar/ui svg-stage pattern)."
3
+ orbital SvgStageOrbital {
4
+ entity SvgStageItem [runtime] {
5
+ id : string!
6
+ }
7
+
8
+ trait SvgStageRender -> @rebindable SvgStageItem [interaction, instance] {
9
+ initial: idle
10
+
11
+ state idle {
12
+ INIT -> idle
13
+ (render-ui main {
14
+ cols: @config.cols
15
+ rows: @config.rows
16
+ tileSize: @config.tileSize
17
+ background: @config.background
18
+ tileClickEvent: @config.tileClickEvent
19
+ tileHoverEvent: @config.tileHoverEvent
20
+ tileLeaveEvent: @config.tileLeaveEvent
21
+ keyMap: @config.keyMap
22
+ keyUpMap: @config.keyUpMap
23
+ className: @config.className
24
+ children: @config.children
25
+ type: svg-stage
26
+ })
27
+ }
28
+
29
+ emits {
30
+ @config.tileClickEvent -> external {
31
+ x : number!
32
+ y : number!
33
+ }
34
+ @description "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer up (<5px drag)."
35
+ @tier "essential"
36
+ @config.tileHoverEvent -> external {
37
+ x : number!
38
+ y : number!
39
+ }
40
+ @description "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer move."
41
+ @tier "essential"
42
+ @config.tileLeaveEvent -> external {
43
+ id : string
44
+ }
45
+ @description "Emitted as `UI:<event>` with `{}` when the pointer leaves the stage."
46
+ @tier "essential"
47
+ }
48
+
49
+ config {
50
+ cols : number = 1
51
+ @label "Cols"
52
+ @description "Grid width in cells."
53
+ @tier "presentation"
54
+ rows : number = 1
55
+ @label "Rows"
56
+ @description "Grid height in cells."
57
+ @tier "presentation"
58
+ tileSize : number = 32
59
+ @label "Tile Size"
60
+ @description "ViewBox units per cell (default 32); viewBox is `0 0 cols*tileSize rows*tileSize`."
61
+ @tier "presentation"
62
+ background : string = "var(--color-background)"
63
+ @label "Background"
64
+ @description "Background rect fill (default `var(--color-background)`)."
65
+ @tier "presentation"
66
+ tileClickEvent : string = "TILE_CLICK"
67
+ @label "Tile Click Event"
68
+ @description "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer up (<5px drag)."
69
+ @tier "presentation"
70
+ tileHoverEvent : string = "TILE_HOVER"
71
+ @label "Tile Hover Event"
72
+ @description "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer move."
73
+ @tier "presentation"
74
+ tileLeaveEvent : string = "TILE_LEAVE"
75
+ @label "Tile Leave Event"
76
+ @description "Emitted as `UI:<event>` with `{}` when the pointer leaves the stage."
77
+ @tier "presentation"
78
+ keyMap : Map string string = { item: "Item" }
79
+ @label "Key Map"
80
+ @description "Keyboard → semantic events: `e.code` → event name, emitted as `UI:<event>` with `{}`."
81
+ @tier "presentation"
82
+ keyUpMap : Map string string = { item: "Item" }
83
+ @label "Key Up Map"
84
+ @description "Keyup counterpart of `keyMap`."
85
+ @tier "presentation"
86
+ className : string
87
+ @label "Class Name"
88
+ @description "Additional CSS classes"
89
+ @tier "presentation"
90
+ children : node
91
+ @label "Children"
92
+ @description "children prop"
93
+ @tier "presentation"
94
+ }
95
+ }
96
+
97
+ page "/svg-stage" as SvgStagePage -> SvgStageRender
98
+ }
@@ -48,34 +48,6 @@ orbital BranchingLogicOrbital {
48
48
  direction: horizontal
49
49
  gap: sm
50
50
  type: stack
51
- }, {
52
- children: [{
53
- icon: git-branch
54
- label: "Total rules"
55
- look: @config.statLook
56
- type: stat-display
57
- value: ?data.length
58
- }, {
59
- icon: clipboard-list
60
- label: "Active surveys"
61
- look: @config.statLook
62
- type: stat-display
63
- value: "8"
64
- }, {
65
- icon: skip-forward
66
- label: "Skip jumps"
67
- look: @config.statLook
68
- type: stat-display
69
- value: "42"
70
- }, {
71
- icon: trending-up
72
- label: "Priority avg"
73
- look: @config.statLook
74
- type: stat-display
75
- value: "3"
76
- }]
77
- cols: 4
78
- type: simple-grid
79
51
  }, { type: divider }, {
80
52
  cols: 1
81
53
  entity: ?data