@almadar/std 16.228.0 → 16.230.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 (170) hide show
  1. package/behaviors/behaviors-registry.json +97602 -98073
  2. package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +2 -2
  3. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +316 -0
  4. package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +172 -0
  5. package/behaviors/lolo/ui/core/atoms/std-hero.lolo +247 -0
  6. package/behaviors/lolo/ui/core/atoms/std-media-section.lolo +154 -0
  7. package/behaviors/lolo/ui/core/atoms/std-pricing.lolo +177 -0
  8. package/behaviors/lolo/ui/core/atoms/std-prose.lolo +85 -0
  9. package/behaviors/lolo/ui/core/atoms/std-site-footer.lolo +159 -0
  10. package/behaviors/lolo/ui/core/atoms/std-site-header.lolo +131 -0
  11. package/behaviors/lolo/ui/core/atoms/std-stat-band.lolo +83 -0
  12. package/behaviors/lolo/ui/core/atoms/std-stats.lolo +4 -5
  13. package/behaviors/lolo/ui/core/atoms/std-steps.lolo +124 -0
  14. package/behaviors/lolo/ui/core/atoms/ui-box.lolo +5 -0
  15. package/behaviors/lolo/ui/core/atoms/ui-button.lolo +6 -1
  16. package/behaviors/lolo/ui/core/atoms/ui-image.lolo +64 -0
  17. package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-animated-counter.lolo +11 -6
  18. package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +5 -0
  19. package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +1 -1
  20. package/behaviors/lolo-behavior-contracts.json +1 -1
  21. package/behaviors/registry/factory-signatures.json +1 -1
  22. package/behaviors/registry/infra/atoms/std-notify-on-event.orb +45 -9
  23. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1269 -0
  24. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +826 -0
  25. package/behaviors/registry/ui/core/atoms/std-hero.orb +811 -0
  26. package/behaviors/registry/ui/core/atoms/std-media-section.orb +740 -0
  27. package/behaviors/registry/ui/core/atoms/std-pricing.orb +751 -0
  28. package/behaviors/registry/ui/core/atoms/std-prose.orb +264 -0
  29. package/behaviors/registry/ui/core/atoms/std-site-footer.orb +589 -0
  30. package/behaviors/registry/ui/core/atoms/std-site-header.orb +530 -0
  31. package/behaviors/registry/ui/core/atoms/std-stat-band.orb +311 -0
  32. package/behaviors/registry/ui/core/atoms/std-stats.orb +4 -5
  33. package/behaviors/registry/ui/core/atoms/std-steps.orb +532 -0
  34. package/behaviors/registry/ui/{marketing → core}/atoms/ui-animated-graphic.orb +20 -20
  35. package/behaviors/registry/ui/{marketing → core}/atoms/ui-animated-reveal.orb +20 -20
  36. package/behaviors/registry/ui/core/atoms/ui-box.orb +7 -0
  37. package/behaviors/registry/ui/core/atoms/ui-button.orb +9 -1
  38. package/behaviors/registry/ui/core/atoms/ui-image.orb +231 -0
  39. package/behaviors/registry/ui/{marketing → core}/atoms/ui-pattern-tile.orb +20 -20
  40. package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-animated-counter.orb +33 -26
  41. package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-feature-card.orb +20 -20
  42. package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-geometric-pattern.orb +20 -20
  43. package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +7 -0
  44. package/behaviors/registry/ui/{marketing → core}/templates/ui-auth-layout.orb +20 -20
  45. package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
  46. package/behaviors/signatures.lolo +1070 -2984
  47. package/canonical-operators.json +3 -3
  48. package/dist/behaviors/exports-reader.js +3818 -10339
  49. package/dist/behaviors/functions/index.d.ts +3965 -6984
  50. package/dist/behaviors/functions/index.js +3786 -10195
  51. package/dist/behaviors/index.d.ts +1 -1
  52. package/dist/behaviors/index.js +3819 -10340
  53. package/dist/behaviors/query.js +3818 -10339
  54. package/dist/behaviors-embeddings.hash.json +3 -3
  55. package/dist/behaviors-embeddings.json +77 -237
  56. package/dist/behaviors-registry.json +97602 -98073
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.js +3821 -10342
  59. package/dist/knob-embeddings.hash.json +3 -3
  60. package/dist/knob-embeddings.json +352 -1212
  61. package/dist/modules/core.js +2 -2
  62. package/dist/modules/index.js +2 -2
  63. package/dist/registry/factory-signatures.json +1 -1
  64. package/dist/registry.js +2 -2
  65. package/i18n/ar.json +8 -4
  66. package/i18n/en.json +4 -0
  67. package/i18n/sl.json +8 -4
  68. package/package.json +4 -6
  69. package/behaviors/lolo/ui/marketing/atoms/std-marketing-article.lolo +0 -31
  70. package/behaviors/lolo/ui/marketing/atoms/std-marketing-cta.lolo +0 -93
  71. package/behaviors/lolo/ui/marketing/atoms/std-marketing-features.lolo +0 -83
  72. package/behaviors/lolo/ui/marketing/atoms/std-marketing-footer.lolo +0 -72
  73. package/behaviors/lolo/ui/marketing/atoms/std-marketing-hero.lolo +0 -131
  74. package/behaviors/lolo/ui/marketing/atoms/std-marketing-nav.lolo +0 -86
  75. package/behaviors/lolo/ui/marketing/atoms/std-marketing-pricing.lolo +0 -85
  76. package/behaviors/lolo/ui/marketing/atoms/std-marketing-showcase.lolo +0 -87
  77. package/behaviors/lolo/ui/marketing/atoms/std-marketing-split.lolo +0 -50
  78. package/behaviors/lolo/ui/marketing/atoms/std-marketing-stats.lolo +0 -43
  79. package/behaviors/lolo/ui/marketing/atoms/std-marketing-steps.lolo +0 -48
  80. package/behaviors/lolo/ui/marketing/atoms/std-marketing-team.lolo +0 -51
  81. package/behaviors/lolo/ui/marketing/atoms/ui-article-section.lolo +0 -44
  82. package/behaviors/lolo/ui/marketing/atoms/ui-case-study-card.lolo +0 -60
  83. package/behaviors/lolo/ui/marketing/atoms/ui-community-links.lolo +0 -67
  84. package/behaviors/lolo/ui/marketing/atoms/ui-content-section.lolo +0 -44
  85. package/behaviors/lolo/ui/marketing/atoms/ui-cta-banner.lolo +0 -68
  86. package/behaviors/lolo/ui/marketing/atoms/ui-hero-section.lolo +0 -112
  87. package/behaviors/lolo/ui/marketing/atoms/ui-install-box.lolo +0 -39
  88. package/behaviors/lolo/ui/marketing/atoms/ui-marketing-footer.lolo +0 -58
  89. package/behaviors/lolo/ui/marketing/atoms/ui-marketing-stat-card.lolo +0 -45
  90. package/behaviors/lolo/ui/marketing/atoms/ui-pricing-card.lolo +0 -70
  91. package/behaviors/lolo/ui/marketing/atoms/ui-pricing-grid.lolo +0 -49
  92. package/behaviors/lolo/ui/marketing/atoms/ui-pull-quote.lolo +0 -34
  93. package/behaviors/lolo/ui/marketing/atoms/ui-service-catalog.lolo +0 -40
  94. package/behaviors/lolo/ui/marketing/atoms/ui-showcase-card.lolo +0 -64
  95. package/behaviors/lolo/ui/marketing/atoms/ui-split-section.lolo +0 -69
  96. package/behaviors/lolo/ui/marketing/atoms/ui-stats-grid.lolo +0 -44
  97. package/behaviors/lolo/ui/marketing/atoms/ui-step-flow.lolo +0 -51
  98. package/behaviors/lolo/ui/marketing/atoms/ui-tag-cloud.lolo +0 -45
  99. package/behaviors/lolo/ui/marketing/atoms/ui-team-card.lolo +0 -54
  100. package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +0 -63
  101. package/behaviors/lolo/ui/marketing/organisms/ui-book-cover-page.lolo +0 -54
  102. package/behaviors/lolo/ui/marketing/organisms/ui-book-nav-bar.lolo +0 -49
  103. package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +0 -70
  104. package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +0 -161
  105. package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +0 -153
  106. package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +0 -159
  107. package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +0 -162
  108. package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +0 -155
  109. package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +0 -164
  110. package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +0 -142
  111. package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +0 -165
  112. package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +0 -152
  113. package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +0 -105
  114. package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +0 -93
  115. package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +0 -144
  116. package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +0 -89
  117. package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +0 -121
  118. package/behaviors/registry/ui/marketing/atoms/std-marketing-cta.orb +0 -360
  119. package/behaviors/registry/ui/marketing/atoms/std-marketing-features.orb +0 -305
  120. package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +0 -265
  121. package/behaviors/registry/ui/marketing/atoms/std-marketing-hero.orb +0 -424
  122. package/behaviors/registry/ui/marketing/atoms/std-marketing-nav.orb +0 -288
  123. package/behaviors/registry/ui/marketing/atoms/std-marketing-pricing.orb +0 -366
  124. package/behaviors/registry/ui/marketing/atoms/std-marketing-showcase.orb +0 -415
  125. package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +0 -152
  126. package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +0 -151
  127. package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +0 -221
  128. package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +0 -239
  129. package/behaviors/registry/ui/marketing/atoms/ui-article-section.orb +0 -176
  130. package/behaviors/registry/ui/marketing/atoms/ui-case-study-card.orb +0 -195
  131. package/behaviors/registry/ui/marketing/atoms/ui-community-links.orb +0 -254
  132. package/behaviors/registry/ui/marketing/atoms/ui-content-section.orb +0 -182
  133. package/behaviors/registry/ui/marketing/atoms/ui-cta-banner.orb +0 -254
  134. package/behaviors/registry/ui/marketing/atoms/ui-hero-section.orb +0 -345
  135. package/behaviors/registry/ui/marketing/atoms/ui-install-box.orb +0 -163
  136. package/behaviors/registry/ui/marketing/atoms/ui-marketing-footer.orb +0 -298
  137. package/behaviors/registry/ui/marketing/atoms/ui-marketing-stat-card.orb +0 -177
  138. package/behaviors/registry/ui/marketing/atoms/ui-pricing-card.orb +0 -237
  139. package/behaviors/registry/ui/marketing/atoms/ui-pricing-grid.orb +0 -313
  140. package/behaviors/registry/ui/marketing/atoms/ui-pull-quote.orb +0 -156
  141. package/behaviors/registry/ui/marketing/atoms/ui-service-catalog.orb +0 -205
  142. package/behaviors/registry/ui/marketing/atoms/ui-showcase-card.orb +0 -221
  143. package/behaviors/registry/ui/marketing/atoms/ui-split-section.orb +0 -239
  144. package/behaviors/registry/ui/marketing/atoms/ui-stats-grid.orb +0 -202
  145. package/behaviors/registry/ui/marketing/atoms/ui-step-flow.orb +0 -236
  146. package/behaviors/registry/ui/marketing/atoms/ui-tag-cloud.orb +0 -217
  147. package/behaviors/registry/ui/marketing/atoms/ui-team-card.orb +0 -186
  148. package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +0 -277
  149. package/behaviors/registry/ui/marketing/organisms/ui-book-cover-page.orb +0 -190
  150. package/behaviors/registry/ui/marketing/organisms/ui-book-nav-bar.orb +0 -183
  151. package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +0 -286
  152. package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +0 -553
  153. package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +0 -507
  154. package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +0 -504
  155. package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +0 -635
  156. package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +0 -539
  157. package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +0 -542
  158. package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +0 -447
  159. package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +0 -505
  160. package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +0 -494
  161. package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +0 -752
  162. package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +0 -638
  163. package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +0 -1028
  164. package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +0 -603
  165. /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-animated-graphic.lolo +0 -0
  166. /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-animated-reveal.lolo +0 -0
  167. /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-pattern-tile.lolo +0 -0
  168. /package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-feature-card.lolo +0 -0
  169. /package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-geometric-pattern.lolo +0 -0
  170. /package/behaviors/lolo/ui/{marketing → core}/templates/ui-auth-layout.lolo +0 -0
@@ -2,43 +2,43 @@
2
2
  "description": "AnimatedReveal — UI factory (1:1 with the @almadar/ui animated-reveal pattern).",
3
3
  "ledger": {
4
4
  "entries": {
5
- "ent_01KXG053ZXV63ZV22TB4KNMYZ9": {
5
+ "ent_01M3B9EHW8GWMH7SK7491RQAQK": {
6
6
  "bakedName": "AnimatedRevealItem",
7
7
  "curName": "AnimatedRevealItem",
8
- "id": "ent_01KXG053ZXV63ZV22TB4KNMYZ9",
8
+ "id": "ent_01M3B9EHW8GWMH7SK7491RQAQK",
9
9
  "kind": "entity",
10
10
  "owner": "workspace",
11
11
  "renames": []
12
12
  },
13
- "evt_01KXG053ZX7AG90E220DTV960B": {
13
+ "evt_01M3B9EHW8NZZK96KRVZYG2YGK": {
14
14
  "bakedName": "INIT",
15
15
  "curName": "INIT",
16
- "id": "evt_01KXG053ZX7AG90E220DTV960B",
16
+ "id": "evt_01M3B9EHW8NZZK96KRVZYG2YGK",
17
17
  "kind": "event",
18
18
  "owner": "workspace",
19
- "parent": "trt_01KXG053ZXE8KZSR5RC4ZRDRSB",
19
+ "parent": "trt_01M3B9EHW8SDX1AGWR88WBZPFX",
20
20
  "renames": []
21
21
  },
22
- "orb_01KXG053ZXR89A9ZXCEAWTTAYV": {
22
+ "orb_01M3B9EHW8RQY17NMMQ5DK9XTV": {
23
23
  "bakedName": "AnimatedRevealOrbital",
24
24
  "curName": "AnimatedRevealOrbital",
25
- "id": "orb_01KXG053ZXR89A9ZXCEAWTTAYV",
25
+ "id": "orb_01M3B9EHW8RQY17NMMQ5DK9XTV",
26
26
  "kind": "orbital",
27
27
  "owner": "workspace",
28
28
  "renames": []
29
29
  },
30
- "pag_01KXG054010DB1VX3SGJSNAQZ9": {
30
+ "pag_01M3B9EHW8FY3ZSKETNJFZQFJ4": {
31
31
  "bakedName": "AnimatedRevealPage",
32
32
  "curName": "AnimatedRevealPage",
33
- "id": "pag_01KXG054010DB1VX3SGJSNAQZ9",
33
+ "id": "pag_01M3B9EHW8FY3ZSKETNJFZQFJ4",
34
34
  "kind": "page",
35
35
  "owner": "workspace",
36
36
  "renames": []
37
37
  },
38
- "trt_01KXG053ZXE8KZSR5RC4ZRDRSB": {
38
+ "trt_01M3B9EHW8SDX1AGWR88WBZPFX": {
39
39
  "bakedName": "AnimatedRevealRender",
40
40
  "curName": "AnimatedRevealRender",
41
- "id": "trt_01KXG053ZXE8KZSR5RC4ZRDRSB",
41
+ "id": "trt_01M3B9EHW8SDX1AGWR88WBZPFX",
42
42
  "kind": "trait",
43
43
  "owner": "workspace",
44
44
  "renames": []
@@ -57,21 +57,21 @@
57
57
  "type": "string"
58
58
  }
59
59
  ],
60
- "id": "ent_01KXG053ZXV63ZV22TB4KNMYZ9",
60
+ "id": "ent_01M3B9EHW8GWMH7SK7491RQAQK",
61
61
  "name": "AnimatedRevealItem",
62
62
  "persistence": "runtime"
63
63
  },
64
- "id": "orb_01KXG053ZXR89A9ZXCEAWTTAYV",
64
+ "id": "orb_01M3B9EHW8RQY17NMMQ5DK9XTV",
65
65
  "name": "AnimatedRevealOrbital",
66
66
  "pages": [
67
67
  {
68
- "id": "pag_01KXG054010DB1VX3SGJSNAQZ9",
68
+ "id": "pag_01M3B9EHW8FY3ZSKETNJFZQFJ4",
69
69
  "name": "AnimatedRevealPage",
70
70
  "path": "/animated-reveal",
71
71
  "traits": [
72
72
  {
73
73
  "ref": "AnimatedRevealRender",
74
- "refId": "trt_01KXG053ZXE8KZSR5RC4ZRDRSB"
74
+ "refId": "trt_01M3B9EHW8SDX1AGWR88WBZPFX"
75
75
  }
76
76
  ]
77
77
  }
@@ -175,17 +175,17 @@
175
175
  },
176
176
  "entityRebindable": true,
177
177
  "entityRefIds": {
178
- "AnimatedRevealItem": "ent_01KXG053ZXV63ZV22TB4KNMYZ9"
178
+ "AnimatedRevealItem": "ent_01M3B9EHW8GWMH7SK7491RQAQK"
179
179
  },
180
- "id": "trt_01KXG053ZXE8KZSR5RC4ZRDRSB",
180
+ "id": "trt_01M3B9EHW8SDX1AGWR88WBZPFX",
181
181
  "linkedEntity": "AnimatedRevealItem",
182
- "linkedEntityId": "ent_01KXG053ZXV63ZV22TB4KNMYZ9",
182
+ "linkedEntityId": "ent_01M3B9EHW8GWMH7SK7491RQAQK",
183
183
  "name": "AnimatedRevealRender",
184
184
  "scope": "instance",
185
185
  "stateMachine": {
186
186
  "events": [
187
187
  {
188
- "id": "evt_01KXG053ZX7AG90E220DTV960B",
188
+ "id": "evt_01M3B9EHW8NZZK96KRVZYG2YGK",
189
189
  "key": "INIT",
190
190
  "name": "Initialize"
191
191
  }
@@ -218,7 +218,7 @@
218
218
  ]
219
219
  ],
220
220
  "event": "INIT",
221
- "eventId": "evt_01KXG053ZX7AG90E220DTV960B",
221
+ "eventId": "evt_01M3B9EHW8NZZK96KRVZYG2YGK",
222
222
  "from": "idle",
223
223
  "to": "idle"
224
224
  }
@@ -146,6 +146,12 @@
146
146
  "tier": "presentation",
147
147
  "type": "string"
148
148
  },
149
+ "dir": {
150
+ "description": "Text direction for this subtree: 'ltr', 'rtl' (Arabic/Hebrew content) or 'auto'",
151
+ "label": "Dir",
152
+ "tier": "presentation",
153
+ "type": "string"
154
+ },
149
155
  "display": {
150
156
  "default": "block",
151
157
  "description": "Display type",
@@ -443,6 +449,7 @@
443
449
  "border": "@config.border",
444
450
  "children": "@config.children",
445
451
  "className": "@config.className",
452
+ "dir": "@config.dir",
446
453
  "display": "@config.display",
447
454
  "fullHeight": "@config.fullHeight",
448
455
  "fullWidth": "@config.fullWidth",
@@ -114,6 +114,12 @@
114
114
  "tier": "presentation",
115
115
  "type": "boolean"
116
116
  },
117
+ "href": {
118
+ "description": "Makes the button a link: `#anchor` scrolls, an absolute URL loads, a path navigates in-app",
119
+ "label": "Href",
120
+ "tier": "presentation",
121
+ "type": "string"
122
+ },
117
123
  "icon": {
118
124
  "description": "Alias for leftIcon",
119
125
  "label": "Icon",
@@ -267,7 +273,8 @@
267
273
  "danger",
268
274
  "success",
269
275
  "warning",
270
- "default"
276
+ "default",
277
+ "link"
271
278
  ]
272
279
  }
273
280
  },
@@ -332,6 +339,7 @@
332
339
  "actionPayload": "@config.actionPayload",
333
340
  "className": "@config.className",
334
341
  "disabled": "@config.disabled",
342
+ "href": "@config.href",
335
343
  "icon": "@config.icon",
336
344
  "iconAsset": "@config.iconAsset",
337
345
  "iconRight": "@config.iconRight",
@@ -0,0 +1,231 @@
1
+ {
2
+ "description": "Image — UI factory (1:1 with the @almadar/ui image pattern).",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M3B9EJRVD1GE04YQ01DXEZ64": {
6
+ "bakedName": "ImageItem",
7
+ "curName": "ImageItem",
8
+ "id": "ent_01M3B9EJRVD1GE04YQ01DXEZ64",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M3B9EJRVRA3GVZW73V05MC7V": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M3B9EJRVRA3GVZW73V05MC7V",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M3B9EJRVJ3PV030R5JEMFZHF",
20
+ "renames": []
21
+ },
22
+ "orb_01M3B9EJRVEZVMC6NXXWXB354R": {
23
+ "bakedName": "ImageOrbital",
24
+ "curName": "ImageOrbital",
25
+ "id": "orb_01M3B9EJRVEZVMC6NXXWXB354R",
26
+ "kind": "orbital",
27
+ "owner": "workspace",
28
+ "renames": []
29
+ },
30
+ "pag_01M3B9EJRVV6SWMCCQBGF8R4JR": {
31
+ "bakedName": "ImagePage",
32
+ "curName": "ImagePage",
33
+ "id": "pag_01M3B9EJRVV6SWMCCQBGF8R4JR",
34
+ "kind": "page",
35
+ "owner": "workspace",
36
+ "renames": []
37
+ },
38
+ "trt_01M3B9EJRVJ3PV030R5JEMFZHF": {
39
+ "bakedName": "ImageRender",
40
+ "curName": "ImageRender",
41
+ "id": "trt_01M3B9EJRVJ3PV030R5JEMFZHF",
42
+ "kind": "trait",
43
+ "owner": "workspace",
44
+ "renames": []
45
+ }
46
+ },
47
+ "schemaVersion": 1
48
+ },
49
+ "name": "ui-image",
50
+ "orbitals": [
51
+ {
52
+ "entity": {
53
+ "fields": [
54
+ {
55
+ "name": "id",
56
+ "required": true,
57
+ "type": "string"
58
+ }
59
+ ],
60
+ "id": "ent_01M3B9EJRVD1GE04YQ01DXEZ64",
61
+ "name": "ImageItem",
62
+ "persistence": "runtime"
63
+ },
64
+ "id": "orb_01M3B9EJRVEZVMC6NXXWXB354R",
65
+ "name": "ImageOrbital",
66
+ "pages": [
67
+ {
68
+ "id": "pag_01M3B9EJRVV6SWMCCQBGF8R4JR",
69
+ "name": "ImagePage",
70
+ "path": "/image",
71
+ "traits": [
72
+ {
73
+ "ref": "ImageRender",
74
+ "refId": "trt_01M3B9EJRVJ3PV030R5JEMFZHF"
75
+ }
76
+ ]
77
+ }
78
+ ],
79
+ "traits": [
80
+ {
81
+ "category": "interaction",
82
+ "config": {
83
+ "alt": {
84
+ "default": "",
85
+ "description": "Alternative text; empty string marks the image decorative",
86
+ "label": "Alt",
87
+ "tier": "presentation",
88
+ "type": "string"
89
+ },
90
+ "aspect": {
91
+ "default": "auto",
92
+ "description": "Fixed aspect ratio of the box; 'auto' keeps the image's own",
93
+ "label": "Aspect",
94
+ "tier": "presentation",
95
+ "type": "string",
96
+ "values": [
97
+ "auto",
98
+ "1/1",
99
+ "4/3",
100
+ "3/2",
101
+ "16/9",
102
+ "21/9"
103
+ ]
104
+ },
105
+ "bordered": {
106
+ "default": false,
107
+ "description": "Draw a subtle border around the image",
108
+ "label": "Bordered",
109
+ "tier": "presentation",
110
+ "type": "boolean"
111
+ },
112
+ "className": {
113
+ "description": "Additional class names",
114
+ "label": "Class Name",
115
+ "tier": "presentation",
116
+ "type": "string"
117
+ },
118
+ "fit": {
119
+ "default": "cover",
120
+ "description": "How the image fills its box",
121
+ "label": "Fit",
122
+ "tier": "presentation",
123
+ "type": "string",
124
+ "values": [
125
+ "cover",
126
+ "contain",
127
+ "fill",
128
+ "none"
129
+ ]
130
+ },
131
+ "loading": {
132
+ "default": "lazy",
133
+ "description": "'lazy' defers off-screen images; 'eager' for above-the-fold media",
134
+ "label": "Loading",
135
+ "tier": "presentation",
136
+ "type": "string",
137
+ "values": [
138
+ "lazy",
139
+ "eager"
140
+ ]
141
+ },
142
+ "rounded": {
143
+ "default": "md",
144
+ "description": "Corner rounding",
145
+ "label": "Rounded",
146
+ "tier": "presentation",
147
+ "type": "string",
148
+ "values": [
149
+ "none",
150
+ "sm",
151
+ "md",
152
+ "lg",
153
+ "xl",
154
+ "2xl",
155
+ "full"
156
+ ]
157
+ },
158
+ "src": {
159
+ "default": "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png",
160
+ "description": "Image source URL",
161
+ "label": "Src",
162
+ "tier": "presentation",
163
+ "type": "asset"
164
+ }
165
+ },
166
+ "effectRow": [
167
+ {
168
+ "kind": "render-ui",
169
+ "resource": "main"
170
+ }
171
+ ],
172
+ "entityContract": {
173
+ "provides": [],
174
+ "requires": []
175
+ },
176
+ "entityRebindable": true,
177
+ "entityRefIds": {
178
+ "ImageItem": "ent_01M3B9EJRVD1GE04YQ01DXEZ64"
179
+ },
180
+ "id": "trt_01M3B9EJRVJ3PV030R5JEMFZHF",
181
+ "linkedEntity": "ImageItem",
182
+ "linkedEntityId": "ent_01M3B9EJRVD1GE04YQ01DXEZ64",
183
+ "name": "ImageRender",
184
+ "scope": "instance",
185
+ "stateMachine": {
186
+ "events": [
187
+ {
188
+ "id": "evt_01M3B9EJRVRA3GVZW73V05MC7V",
189
+ "key": "INIT",
190
+ "name": "Initialize"
191
+ }
192
+ ],
193
+ "states": [
194
+ {
195
+ "isInitial": true,
196
+ "name": "idle"
197
+ }
198
+ ],
199
+ "transitions": [
200
+ {
201
+ "effects": [
202
+ [
203
+ "render-ui",
204
+ "main",
205
+ {
206
+ "alt": "@config.alt",
207
+ "aspect": "@config.aspect",
208
+ "bordered": "@config.bordered",
209
+ "className": "@config.className",
210
+ "fit": "@config.fit",
211
+ "loading": "@config.loading",
212
+ "rounded": "@config.rounded",
213
+ "src": "@config.src",
214
+ "type": "image"
215
+ }
216
+ ]
217
+ ],
218
+ "event": "INIT",
219
+ "eventId": "evt_01M3B9EJRVRA3GVZW73V05MC7V",
220
+ "from": "idle",
221
+ "to": "idle"
222
+ }
223
+ ]
224
+ }
225
+ }
226
+ ]
227
+ }
228
+ ],
229
+ "schemaVersion": 1,
230
+ "version": "1.0.0"
231
+ }
@@ -2,43 +2,43 @@
2
2
  "description": "PatternTile — UI factory (1:1 with the @almadar/ui pattern-tile pattern).",
3
3
  "ledger": {
4
4
  "entries": {
5
- "ent_01KXG0544V9R6J9JFJQRMXKMZ4": {
5
+ "ent_01M3B9EK0JZ9TP9A8XNFXBFXJP": {
6
6
  "bakedName": "PatternTileItem",
7
7
  "curName": "PatternTileItem",
8
- "id": "ent_01KXG0544V9R6J9JFJQRMXKMZ4",
8
+ "id": "ent_01M3B9EK0JZ9TP9A8XNFXBFXJP",
9
9
  "kind": "entity",
10
10
  "owner": "workspace",
11
11
  "renames": []
12
12
  },
13
- "evt_01KXG0544V185503GTSE016N24": {
13
+ "evt_01M3B9EK0J1DNM56B1RTK0AF0J": {
14
14
  "bakedName": "INIT",
15
15
  "curName": "INIT",
16
- "id": "evt_01KXG0544V185503GTSE016N24",
16
+ "id": "evt_01M3B9EK0J1DNM56B1RTK0AF0J",
17
17
  "kind": "event",
18
18
  "owner": "workspace",
19
- "parent": "trt_01KXG0544VMP9VZSJ8CDA7PHTY",
19
+ "parent": "trt_01M3B9EK0JNX9AXTH4EQD2RYNT",
20
20
  "renames": []
21
21
  },
22
- "orb_01KXG0544VZCKFGNQVV1AEWQY9": {
22
+ "orb_01M3B9EK0JBRHMQ3MQEVQDEFFA": {
23
23
  "bakedName": "PatternTileOrbital",
24
24
  "curName": "PatternTileOrbital",
25
- "id": "orb_01KXG0544VZCKFGNQVV1AEWQY9",
25
+ "id": "orb_01M3B9EK0JBRHMQ3MQEVQDEFFA",
26
26
  "kind": "orbital",
27
27
  "owner": "workspace",
28
28
  "renames": []
29
29
  },
30
- "pag_01KXG0544YZV5A721WKMPFKEBK": {
30
+ "pag_01M3B9EK0JNYM7JBKWBJPE26TB": {
31
31
  "bakedName": "PatternTilePage",
32
32
  "curName": "PatternTilePage",
33
- "id": "pag_01KXG0544YZV5A721WKMPFKEBK",
33
+ "id": "pag_01M3B9EK0JNYM7JBKWBJPE26TB",
34
34
  "kind": "page",
35
35
  "owner": "workspace",
36
36
  "renames": []
37
37
  },
38
- "trt_01KXG0544VMP9VZSJ8CDA7PHTY": {
38
+ "trt_01M3B9EK0JNX9AXTH4EQD2RYNT": {
39
39
  "bakedName": "PatternTileRender",
40
40
  "curName": "PatternTileRender",
41
- "id": "trt_01KXG0544VMP9VZSJ8CDA7PHTY",
41
+ "id": "trt_01M3B9EK0JNX9AXTH4EQD2RYNT",
42
42
  "kind": "trait",
43
43
  "owner": "workspace",
44
44
  "renames": []
@@ -57,21 +57,21 @@
57
57
  "type": "string"
58
58
  }
59
59
  ],
60
- "id": "ent_01KXG0544V9R6J9JFJQRMXKMZ4",
60
+ "id": "ent_01M3B9EK0JZ9TP9A8XNFXBFXJP",
61
61
  "name": "PatternTileItem",
62
62
  "persistence": "runtime"
63
63
  },
64
- "id": "orb_01KXG0544VZCKFGNQVV1AEWQY9",
64
+ "id": "orb_01M3B9EK0JBRHMQ3MQEVQDEFFA",
65
65
  "name": "PatternTileOrbital",
66
66
  "pages": [
67
67
  {
68
- "id": "pag_01KXG0544YZV5A721WKMPFKEBK",
68
+ "id": "pag_01M3B9EK0JNYM7JBKWBJPE26TB",
69
69
  "name": "PatternTilePage",
70
70
  "path": "/pattern-tile",
71
71
  "traits": [
72
72
  {
73
73
  "ref": "PatternTileRender",
74
- "refId": "trt_01KXG0544VMP9VZSJ8CDA7PHTY"
74
+ "refId": "trt_01M3B9EK0JNX9AXTH4EQD2RYNT"
75
75
  }
76
76
  ]
77
77
  }
@@ -143,17 +143,17 @@
143
143
  },
144
144
  "entityRebindable": true,
145
145
  "entityRefIds": {
146
- "PatternTileItem": "ent_01KXG0544V9R6J9JFJQRMXKMZ4"
146
+ "PatternTileItem": "ent_01M3B9EK0JZ9TP9A8XNFXBFXJP"
147
147
  },
148
- "id": "trt_01KXG0544VMP9VZSJ8CDA7PHTY",
148
+ "id": "trt_01M3B9EK0JNX9AXTH4EQD2RYNT",
149
149
  "linkedEntity": "PatternTileItem",
150
- "linkedEntityId": "ent_01KXG0544V9R6J9JFJQRMXKMZ4",
150
+ "linkedEntityId": "ent_01M3B9EK0JZ9TP9A8XNFXBFXJP",
151
151
  "name": "PatternTileRender",
152
152
  "scope": "instance",
153
153
  "stateMachine": {
154
154
  "events": [
155
155
  {
156
- "id": "evt_01KXG0544V185503GTSE016N24",
156
+ "id": "evt_01M3B9EK0J1DNM56B1RTK0AF0J",
157
157
  "key": "INIT",
158
158
  "name": "Initialize"
159
159
  }
@@ -181,7 +181,7 @@
181
181
  ]
182
182
  ],
183
183
  "event": "INIT",
184
- "eventId": "evt_01KXG0544V185503GTSE016N24",
184
+ "eventId": "evt_01M3B9EK0J1DNM56B1RTK0AF0J",
185
185
  "from": "idle",
186
186
  "to": "idle"
187
187
  }
@@ -2,43 +2,43 @@
2
2
  "description": "AnimatedCounter — UI factory (1:1 with the @almadar/ui animated-counter pattern).",
3
3
  "ledger": {
4
4
  "entries": {
5
- "ent_01KXG053XB7DQMJ4VP9XV3EEC7": {
5
+ "ent_01M3B9EMJTMAR95VN6KK25466F": {
6
6
  "bakedName": "AnimatedCounterItem",
7
7
  "curName": "AnimatedCounterItem",
8
- "id": "ent_01KXG053XB7DQMJ4VP9XV3EEC7",
8
+ "id": "ent_01M3B9EMJTMAR95VN6KK25466F",
9
9
  "kind": "entity",
10
10
  "owner": "workspace",
11
11
  "renames": []
12
12
  },
13
- "evt_01KXG053XB3B82HGKBBFXP4MMD": {
13
+ "evt_01M3B9EMJTXY84Y3GQH6PNMNF8": {
14
14
  "bakedName": "INIT",
15
15
  "curName": "INIT",
16
- "id": "evt_01KXG053XB3B82HGKBBFXP4MMD",
16
+ "id": "evt_01M3B9EMJTXY84Y3GQH6PNMNF8",
17
17
  "kind": "event",
18
18
  "owner": "workspace",
19
- "parent": "trt_01KXG053XB8FS6CK6XHA7MWZ7D",
19
+ "parent": "trt_01M3B9EMJTE02VKZ1PCMY071HE",
20
20
  "renames": []
21
21
  },
22
- "orb_01KXG053XB0ASSY198EGF9DCY1": {
22
+ "orb_01M3B9EMJTMJ8H5G9MQAFB2P7X": {
23
23
  "bakedName": "AnimatedCounterOrbital",
24
24
  "curName": "AnimatedCounterOrbital",
25
- "id": "orb_01KXG053XB0ASSY198EGF9DCY1",
25
+ "id": "orb_01M3B9EMJTMJ8H5G9MQAFB2P7X",
26
26
  "kind": "orbital",
27
27
  "owner": "workspace",
28
28
  "renames": []
29
29
  },
30
- "pag_01KXG053XD8YVCQRGCMGWYCCFY": {
30
+ "pag_01M3B9EMJT99W8EN45488C7FCV": {
31
31
  "bakedName": "AnimatedCounterPage",
32
32
  "curName": "AnimatedCounterPage",
33
- "id": "pag_01KXG053XD8YVCQRGCMGWYCCFY",
33
+ "id": "pag_01M3B9EMJT99W8EN45488C7FCV",
34
34
  "kind": "page",
35
35
  "owner": "workspace",
36
36
  "renames": []
37
37
  },
38
- "trt_01KXG053XB8FS6CK6XHA7MWZ7D": {
38
+ "trt_01M3B9EMJTE02VKZ1PCMY071HE": {
39
39
  "bakedName": "AnimatedCounterRender",
40
40
  "curName": "AnimatedCounterRender",
41
- "id": "trt_01KXG053XB8FS6CK6XHA7MWZ7D",
41
+ "id": "trt_01M3B9EMJTE02VKZ1PCMY071HE",
42
42
  "kind": "trait",
43
43
  "owner": "workspace",
44
44
  "renames": []
@@ -57,21 +57,21 @@
57
57
  "type": "string"
58
58
  }
59
59
  ],
60
- "id": "ent_01KXG053XB7DQMJ4VP9XV3EEC7",
60
+ "id": "ent_01M3B9EMJTMAR95VN6KK25466F",
61
61
  "name": "AnimatedCounterItem",
62
62
  "persistence": "runtime"
63
63
  },
64
- "id": "orb_01KXG053XB0ASSY198EGF9DCY1",
64
+ "id": "orb_01M3B9EMJTMJ8H5G9MQAFB2P7X",
65
65
  "name": "AnimatedCounterOrbital",
66
66
  "pages": [
67
67
  {
68
- "id": "pag_01KXG053XD8YVCQRGCMGWYCCFY",
68
+ "id": "pag_01M3B9EMJT99W8EN45488C7FCV",
69
69
  "name": "AnimatedCounterPage",
70
70
  "path": "/animated-counter",
71
71
  "traits": [
72
72
  {
73
73
  "ref": "AnimatedCounterRender",
74
- "refId": "trt_01KXG053XB8FS6CK6XHA7MWZ7D"
74
+ "refId": "trt_01M3B9EMJTE02VKZ1PCMY071HE"
75
75
  }
76
76
  ]
77
77
  }
@@ -87,33 +87,39 @@
87
87
  "type": "string"
88
88
  },
89
89
  "duration": {
90
- "default": 600.0,
91
- "description": "Animation duration in milliseconds",
90
+ "default": 1500.0,
91
+ "description": "Animation duration in ms",
92
92
  "label": "Duration",
93
93
  "tier": "presentation",
94
94
  "type": "number"
95
95
  },
96
96
  "format": {
97
- "description": "Display format: 'number' (locale grouping), 'currency' ($x.xx), 'percent' (rounded %). Unset preserves the value's own decimals.",
97
+ "description": "'number' (locale grouping), 'currency' ($x.xx), 'percent' (rounded %). Unset keeps the value's own decimals.",
98
98
  "label": "Format",
99
99
  "tier": "presentation",
100
100
  "type": "string"
101
101
  },
102
+ "label": {
103
+ "description": "Label displayed below the number",
104
+ "label": "Label",
105
+ "tier": "presentation",
106
+ "type": "string"
107
+ },
102
108
  "prefix": {
103
- "description": "Text to display before the number",
109
+ "description": "Text displayed before the number",
104
110
  "label": "Prefix",
105
111
  "tier": "presentation",
106
112
  "type": "string"
107
113
  },
108
114
  "suffix": {
109
- "description": "Text to display after the number",
115
+ "description": "Text displayed after the number",
110
116
  "label": "Suffix",
111
117
  "tier": "presentation",
112
118
  "type": "string"
113
119
  },
114
120
  "value": {
115
121
  "default": "",
116
- "description": "The target value to animate to. Strings are parsed numerically (e.g. '500', '99.9').",
122
+ "description": "Target value. Strings may carry display affixes (e.g. '500+', '99.9%', '$1.2M').",
117
123
  "label": "Value",
118
124
  "tier": "presentation",
119
125
  "type": "scalar"
@@ -131,17 +137,17 @@
131
137
  },
132
138
  "entityRebindable": true,
133
139
  "entityRefIds": {
134
- "AnimatedCounterItem": "ent_01KXG053XB7DQMJ4VP9XV3EEC7"
140
+ "AnimatedCounterItem": "ent_01M3B9EMJTMAR95VN6KK25466F"
135
141
  },
136
- "id": "trt_01KXG053XB8FS6CK6XHA7MWZ7D",
142
+ "id": "trt_01M3B9EMJTE02VKZ1PCMY071HE",
137
143
  "linkedEntity": "AnimatedCounterItem",
138
- "linkedEntityId": "ent_01KXG053XB7DQMJ4VP9XV3EEC7",
144
+ "linkedEntityId": "ent_01M3B9EMJTMAR95VN6KK25466F",
139
145
  "name": "AnimatedCounterRender",
140
146
  "scope": "instance",
141
147
  "stateMachine": {
142
148
  "events": [
143
149
  {
144
- "id": "evt_01KXG053XB3B82HGKBBFXP4MMD",
150
+ "id": "evt_01M3B9EMJTXY84Y3GQH6PNMNF8",
145
151
  "key": "INIT",
146
152
  "name": "Initialize"
147
153
  }
@@ -162,6 +168,7 @@
162
168
  "className": "@config.className",
163
169
  "duration": "@config.duration",
164
170
  "format": "@config.format",
171
+ "label": "@config.label",
165
172
  "prefix": "@config.prefix",
166
173
  "suffix": "@config.suffix",
167
174
  "type": "animated-counter",
@@ -170,7 +177,7 @@
170
177
  ]
171
178
  ],
172
179
  "event": "INIT",
173
- "eventId": "evt_01KXG053XB3B82HGKBBFXP4MMD",
180
+ "eventId": "evt_01M3B9EMJTXY84Y3GQH6PNMNF8",
174
181
  "from": "idle",
175
182
  "to": "idle"
176
183
  }