@almadar/std 16.228.0 → 16.229.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
@@ -1,164 +0,0 @@
1
- app ui-showcase-organism "1.0.0"
2
- "ShowcaseOrganism — UI factory (1:1 with the @almadar/ui showcase-organism pattern)."
3
- ;; @pattern "showcase-organism"
4
- orbital ShowcaseOrganismOrbital {
5
- type ShowcaseOrganismLoaded = Event { data : [ShowcaseOrganismItem] } "ShowcaseOrganism rows finished loading; payload.data holds the collection"
6
- type ShowcaseOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
- type ShowcaseOrganismImage = {
13
- src : asset
14
- alt : string
15
- }
16
-
17
- entity ShowcaseOrganismItem [runtime] {
18
- id : string!
19
- title : string = "Title"
20
- description : string = "Description"
21
- image : ShowcaseOrganismImage = { src: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", alt: "Alt" }
22
- href : string = "Href"
23
- badge : string = "Badge"
24
- accentColor : string = "Accent Color"
25
- }
26
-
27
- trait ShowcaseOrganismRender -> @rebindable ShowcaseOrganismItem [interaction, instance] {
28
- initial: idle
29
-
30
- state idle {
31
- INIT -> idle when @config.selfFetch
32
- (fetch ShowcaseOrganismItem { emit: { success: ShowcaseOrganismLoaded } })
33
- (render-ui main {
34
- className: @config.className
35
- isLoading: @config.isLoading
36
- error: @config.error
37
- sortBy: @config.sortBy
38
- sortDirection: @config.sortDirection
39
- searchValue: @config.searchValue
40
- page: @config.pageProp
41
- pageSize: @config.pageSize
42
- totalCount: @config.totalCount
43
- activeFilters: @config.activeFilters
44
- selectedIds: @config.selectedIds
45
- entity: @entity
46
- columns: @config.columns
47
- heading: @config.heading
48
- subtitle: @config.subtitle
49
- type: showcase-organism
50
- })
51
- INIT -> idle when (not @config.selfFetch)
52
- (render-ui main {
53
- className: @config.className
54
- isLoading: @config.isLoading
55
- error: @config.error
56
- sortBy: @config.sortBy
57
- sortDirection: @config.sortDirection
58
- searchValue: @config.searchValue
59
- page: @config.pageProp
60
- pageSize: @config.pageSize
61
- totalCount: @config.totalCount
62
- activeFilters: @config.activeFilters
63
- selectedIds: @config.selectedIds
64
- entity: @entity
65
- columns: @config.columns
66
- heading: @config.heading
67
- subtitle: @config.subtitle
68
- type: showcase-organism
69
- })
70
- ShowcaseOrganismLoaded -> idle
71
- (render-ui main {
72
- className: @config.className
73
- isLoading: @config.isLoading
74
- error: @config.error
75
- sortBy: @config.sortBy
76
- sortDirection: @config.sortDirection
77
- searchValue: @config.searchValue
78
- page: @config.pageProp
79
- pageSize: @config.pageSize
80
- totalCount: @config.totalCount
81
- activeFilters: @config.activeFilters
82
- selectedIds: @config.selectedIds
83
- entity: @payload.data
84
- columns: @config.columns
85
- heading: @config.heading
86
- subtitle: @config.subtitle
87
- type: showcase-organism
88
- })
89
- }
90
-
91
- emits {
92
- ShowcaseOrganismLoaded
93
- @description "ShowcaseOrganism rows finished loading; payload.data holds the collection."
94
- @synonyms "loaded, fetched, retrieved"
95
- @tier "essential"
96
- }
97
-
98
- config {
99
- className : string
100
- @label "Class Name"
101
- @description "Additional CSS classes"
102
- @tier "presentation"
103
- isLoading : boolean = false
104
- @label "Is Loading"
105
- @description "Loading state indicator"
106
- @tier "presentation"
107
- error : ShowcaseOrganismError
108
- @label "Error"
109
- @description "Error state (UiError)"
110
- @tier "presentation"
111
- sortBy : string
112
- @label "Sort By"
113
- @description "Current sort field"
114
- @tier "presentation"
115
- sortDirection : "asc" | "desc" = asc
116
- @label "Sort Direction"
117
- @description "Current sort direction"
118
- @tier "presentation"
119
- searchValue : string
120
- @label "Search Value"
121
- @description "Current search query value"
122
- @tier "presentation"
123
- pageProp : number
124
- @label "Page"
125
- @description "Current page number"
126
- @synonyms "page"
127
- @tier "presentation"
128
- pageSize : number
129
- @label "Page Size"
130
- @description "Number of items per page"
131
- @tier "presentation"
132
- totalCount : number
133
- @label "Total Count"
134
- @description "Total number of items"
135
- @tier "presentation"
136
- activeFilters : Map string string = {}
137
- @label "Active Filters"
138
- @description "Active filters"
139
- @tier "presentation"
140
- selectedIds : [string] = []
141
- @label "Selected Ids"
142
- @description "Currently selected item IDs"
143
- @tier "presentation"
144
- columns : number = 3
145
- @label "Columns"
146
- @description "columns prop"
147
- @tier "presentation"
148
- heading : string
149
- @label "Heading"
150
- @description "heading prop"
151
- @tier "presentation"
152
- subtitle : string
153
- @label "Subtitle"
154
- @description "subtitle prop"
155
- @tier "presentation"
156
- selfFetch : boolean = true
157
- @label "Fetch its own rows on mount?"
158
- @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
159
- @tier "internal"
160
- }
161
- }
162
-
163
- page "/showcase-organism" as ShowcaseOrganismPage -> ShowcaseOrganismRender
164
- }
@@ -1,142 +0,0 @@
1
- app ui-stats-organism "1.0.0"
2
- "StatsOrganism — UI factory (1:1 with the @almadar/ui stats-organism pattern)."
3
- ;; @pattern "stats-organism"
4
- orbital StatsOrganismOrbital {
5
- type StatsOrganismLoaded = Event { data : [StatsOrganismItem] } "StatsOrganism rows finished loading; payload.data holds the collection"
6
- type StatsOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity StatsOrganismItem [runtime] {
14
- id : string!
15
- value : string = "Value"
16
- label : string = "Label"
17
- }
18
-
19
- trait StatsOrganismRender -> @rebindable StatsOrganismItem [interaction, instance] {
20
- initial: idle
21
-
22
- state idle {
23
- INIT -> idle when @config.selfFetch
24
- (fetch StatsOrganismItem { emit: { success: StatsOrganismLoaded } })
25
- (render-ui main {
26
- className: @config.className
27
- isLoading: @config.isLoading
28
- error: @config.error
29
- sortBy: @config.sortBy
30
- sortDirection: @config.sortDirection
31
- searchValue: @config.searchValue
32
- page: @config.pageProp
33
- pageSize: @config.pageSize
34
- totalCount: @config.totalCount
35
- activeFilters: @config.activeFilters
36
- selectedIds: @config.selectedIds
37
- entity: @entity
38
- columns: @config.columns
39
- type: stats-organism
40
- })
41
- INIT -> idle when (not @config.selfFetch)
42
- (render-ui main {
43
- className: @config.className
44
- isLoading: @config.isLoading
45
- error: @config.error
46
- sortBy: @config.sortBy
47
- sortDirection: @config.sortDirection
48
- searchValue: @config.searchValue
49
- page: @config.pageProp
50
- pageSize: @config.pageSize
51
- totalCount: @config.totalCount
52
- activeFilters: @config.activeFilters
53
- selectedIds: @config.selectedIds
54
- entity: @entity
55
- columns: @config.columns
56
- type: stats-organism
57
- })
58
- StatsOrganismLoaded -> idle
59
- (render-ui main {
60
- className: @config.className
61
- isLoading: @config.isLoading
62
- error: @config.error
63
- sortBy: @config.sortBy
64
- sortDirection: @config.sortDirection
65
- searchValue: @config.searchValue
66
- page: @config.pageProp
67
- pageSize: @config.pageSize
68
- totalCount: @config.totalCount
69
- activeFilters: @config.activeFilters
70
- selectedIds: @config.selectedIds
71
- entity: @payload.data
72
- columns: @config.columns
73
- type: stats-organism
74
- })
75
- }
76
-
77
- emits {
78
- StatsOrganismLoaded
79
- @description "StatsOrganism rows finished loading; payload.data holds the collection."
80
- @synonyms "loaded, fetched, retrieved"
81
- @tier "essential"
82
- }
83
-
84
- config {
85
- className : string
86
- @label "Class Name"
87
- @description "Additional CSS classes"
88
- @tier "presentation"
89
- isLoading : boolean = false
90
- @label "Is Loading"
91
- @description "Loading state indicator"
92
- @tier "presentation"
93
- error : StatsOrganismError
94
- @label "Error"
95
- @description "Error state (UiError)"
96
- @tier "presentation"
97
- sortBy : string
98
- @label "Sort By"
99
- @description "Current sort field"
100
- @tier "presentation"
101
- sortDirection : "asc" | "desc" = asc
102
- @label "Sort Direction"
103
- @description "Current sort direction"
104
- @tier "presentation"
105
- searchValue : string
106
- @label "Search Value"
107
- @description "Current search query value"
108
- @tier "presentation"
109
- pageProp : number
110
- @label "Page"
111
- @description "Current page number"
112
- @synonyms "page"
113
- @tier "presentation"
114
- pageSize : number
115
- @label "Page Size"
116
- @description "Number of items per page"
117
- @tier "presentation"
118
- totalCount : number
119
- @label "Total Count"
120
- @description "Total number of items"
121
- @tier "presentation"
122
- activeFilters : Map string string = {}
123
- @label "Active Filters"
124
- @description "Active filters"
125
- @tier "presentation"
126
- selectedIds : [string] = []
127
- @label "Selected Ids"
128
- @description "Currently selected item IDs"
129
- @tier "presentation"
130
- columns : number = 3
131
- @label "Columns"
132
- @description "columns prop"
133
- @tier "presentation"
134
- selfFetch : boolean = true
135
- @label "Fetch its own rows on mount?"
136
- @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
137
- @tier "internal"
138
- }
139
- }
140
-
141
- page "/stats-organism" as StatsOrganismPage -> StatsOrganismRender
142
- }
@@ -1,165 +0,0 @@
1
- app ui-step-flow-organism "1.0.0"
2
- "StepFlowOrganism — UI factory (1:1 with the @almadar/ui step-flow-organism pattern)."
3
- ;; @pattern "step-flow-organism"
4
- orbital StepFlowOrganismOrbital {
5
- type StepFlowOrganismLoaded = Event { data : [StepFlowOrganismItem] } "StepFlowOrganism rows finished loading; payload.data holds the collection"
6
- type StepFlowOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity StepFlowOrganismItem [runtime] {
14
- id : string!
15
- title : string = "Title"
16
- number : number = 1
17
- description : string = "Description"
18
- icon : string = "circle"
19
- }
20
-
21
- trait StepFlowOrganismRender -> @rebindable StepFlowOrganismItem [interaction, instance] {
22
- initial: idle
23
-
24
- state idle {
25
- INIT -> idle when @config.selfFetch
26
- (fetch StepFlowOrganismItem { emit: { success: StepFlowOrganismLoaded } })
27
- (render-ui main {
28
- className: @config.className
29
- isLoading: @config.isLoading
30
- error: @config.error
31
- sortBy: @config.sortBy
32
- sortDirection: @config.sortDirection
33
- searchValue: @config.searchValue
34
- page: @config.pageProp
35
- pageSize: @config.pageSize
36
- totalCount: @config.totalCount
37
- activeFilters: @config.activeFilters
38
- selectedIds: @config.selectedIds
39
- entity: @entity
40
- orientation: @config.orientation
41
- showConnectors: @config.showConnectors
42
- heading: @config.heading
43
- subtitle: @config.subtitle
44
- type: step-flow-organism
45
- })
46
- INIT -> idle when (not @config.selfFetch)
47
- (render-ui main {
48
- className: @config.className
49
- isLoading: @config.isLoading
50
- error: @config.error
51
- sortBy: @config.sortBy
52
- sortDirection: @config.sortDirection
53
- searchValue: @config.searchValue
54
- page: @config.pageProp
55
- pageSize: @config.pageSize
56
- totalCount: @config.totalCount
57
- activeFilters: @config.activeFilters
58
- selectedIds: @config.selectedIds
59
- entity: @entity
60
- orientation: @config.orientation
61
- showConnectors: @config.showConnectors
62
- heading: @config.heading
63
- subtitle: @config.subtitle
64
- type: step-flow-organism
65
- })
66
- StepFlowOrganismLoaded -> idle
67
- (render-ui main {
68
- className: @config.className
69
- isLoading: @config.isLoading
70
- error: @config.error
71
- sortBy: @config.sortBy
72
- sortDirection: @config.sortDirection
73
- searchValue: @config.searchValue
74
- page: @config.pageProp
75
- pageSize: @config.pageSize
76
- totalCount: @config.totalCount
77
- activeFilters: @config.activeFilters
78
- selectedIds: @config.selectedIds
79
- entity: @payload.data
80
- orientation: @config.orientation
81
- showConnectors: @config.showConnectors
82
- heading: @config.heading
83
- subtitle: @config.subtitle
84
- type: step-flow-organism
85
- })
86
- }
87
-
88
- emits {
89
- StepFlowOrganismLoaded
90
- @description "StepFlowOrganism rows finished loading; payload.data holds the collection."
91
- @synonyms "loaded, fetched, retrieved"
92
- @tier "essential"
93
- }
94
-
95
- config {
96
- className : string
97
- @label "Class Name"
98
- @description "Additional CSS classes"
99
- @tier "presentation"
100
- isLoading : boolean = false
101
- @label "Is Loading"
102
- @description "Loading state indicator"
103
- @tier "presentation"
104
- error : StepFlowOrganismError
105
- @label "Error"
106
- @description "Error state (UiError)"
107
- @tier "presentation"
108
- sortBy : string
109
- @label "Sort By"
110
- @description "Current sort field"
111
- @tier "presentation"
112
- sortDirection : "asc" | "desc" = asc
113
- @label "Sort Direction"
114
- @description "Current sort direction"
115
- @tier "presentation"
116
- searchValue : string
117
- @label "Search Value"
118
- @description "Current search query value"
119
- @tier "presentation"
120
- pageProp : number
121
- @label "Page"
122
- @description "Current page number"
123
- @synonyms "page"
124
- @tier "presentation"
125
- pageSize : number
126
- @label "Page Size"
127
- @description "Number of items per page"
128
- @tier "presentation"
129
- totalCount : number
130
- @label "Total Count"
131
- @description "Total number of items"
132
- @tier "presentation"
133
- activeFilters : Map string string = {}
134
- @label "Active Filters"
135
- @description "Active filters"
136
- @tier "presentation"
137
- selectedIds : [string] = []
138
- @label "Selected Ids"
139
- @description "Currently selected item IDs"
140
- @tier "presentation"
141
- orientation : "horizontal" | "vertical" = horizontal
142
- @label "Orientation"
143
- @description "orientation prop"
144
- @tier "presentation"
145
- showConnectors : boolean = true
146
- @label "Show Connectors"
147
- @description "showConnectors prop"
148
- @tier "presentation"
149
- heading : string
150
- @label "Heading"
151
- @description "heading prop"
152
- @tier "presentation"
153
- subtitle : string
154
- @label "Subtitle"
155
- @description "subtitle prop"
156
- @tier "presentation"
157
- selfFetch : boolean = true
158
- @label "Fetch its own rows on mount?"
159
- @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
160
- @tier "internal"
161
- }
162
- }
163
-
164
- page "/step-flow-organism" as StepFlowOrganismPage -> StepFlowOrganismRender
165
- }
@@ -1,152 +0,0 @@
1
- app ui-team-organism "1.0.0"
2
- "TeamOrganism — UI factory (1:1 with the @almadar/ui team-organism pattern)."
3
- ;; @pattern "team-organism"
4
- orbital TeamOrganismOrbital {
5
- type TeamOrganismLoaded = Event { data : [TeamOrganismItem] } "TeamOrganism rows finished loading; payload.data holds the collection"
6
- type TeamOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity TeamOrganismItem [runtime] {
14
- id : string!
15
- name : string = "Name"
16
- nameAr : string = "Name Ar"
17
- role : string = "Role"
18
- bio : string = "Bio"
19
- avatar : asset = "https://almadar-kflow-assets.web.app/shared/ui-visual-novel-board/default/portraits/guide.png"
20
- }
21
-
22
- trait TeamOrganismRender -> @rebindable TeamOrganismItem [interaction, instance] {
23
- initial: idle
24
-
25
- state idle {
26
- INIT -> idle when @config.selfFetch
27
- (fetch TeamOrganismItem { emit: { success: TeamOrganismLoaded } })
28
- (render-ui main {
29
- className: @config.className
30
- isLoading: @config.isLoading
31
- error: @config.error
32
- sortBy: @config.sortBy
33
- sortDirection: @config.sortDirection
34
- searchValue: @config.searchValue
35
- page: @config.pageProp
36
- pageSize: @config.pageSize
37
- totalCount: @config.totalCount
38
- activeFilters: @config.activeFilters
39
- selectedIds: @config.selectedIds
40
- entity: @entity
41
- heading: @config.heading
42
- subtitle: @config.subtitle
43
- type: team-organism
44
- })
45
- INIT -> idle when (not @config.selfFetch)
46
- (render-ui main {
47
- className: @config.className
48
- isLoading: @config.isLoading
49
- error: @config.error
50
- sortBy: @config.sortBy
51
- sortDirection: @config.sortDirection
52
- searchValue: @config.searchValue
53
- page: @config.pageProp
54
- pageSize: @config.pageSize
55
- totalCount: @config.totalCount
56
- activeFilters: @config.activeFilters
57
- selectedIds: @config.selectedIds
58
- entity: @entity
59
- heading: @config.heading
60
- subtitle: @config.subtitle
61
- type: team-organism
62
- })
63
- TeamOrganismLoaded -> idle
64
- (render-ui main {
65
- className: @config.className
66
- isLoading: @config.isLoading
67
- error: @config.error
68
- sortBy: @config.sortBy
69
- sortDirection: @config.sortDirection
70
- searchValue: @config.searchValue
71
- page: @config.pageProp
72
- pageSize: @config.pageSize
73
- totalCount: @config.totalCount
74
- activeFilters: @config.activeFilters
75
- selectedIds: @config.selectedIds
76
- entity: @payload.data
77
- heading: @config.heading
78
- subtitle: @config.subtitle
79
- type: team-organism
80
- })
81
- }
82
-
83
- emits {
84
- TeamOrganismLoaded
85
- @description "TeamOrganism rows finished loading; payload.data holds the collection."
86
- @synonyms "loaded, fetched, retrieved"
87
- @tier "essential"
88
- }
89
-
90
- config {
91
- className : string
92
- @label "Class Name"
93
- @description "Additional CSS classes"
94
- @tier "presentation"
95
- isLoading : boolean = false
96
- @label "Is Loading"
97
- @description "Loading state indicator"
98
- @tier "presentation"
99
- error : TeamOrganismError
100
- @label "Error"
101
- @description "Error state (UiError)"
102
- @tier "presentation"
103
- sortBy : string
104
- @label "Sort By"
105
- @description "Current sort field"
106
- @tier "presentation"
107
- sortDirection : "asc" | "desc" = asc
108
- @label "Sort Direction"
109
- @description "Current sort direction"
110
- @tier "presentation"
111
- searchValue : string
112
- @label "Search Value"
113
- @description "Current search query value"
114
- @tier "presentation"
115
- pageProp : number
116
- @label "Page"
117
- @description "Current page number"
118
- @synonyms "page"
119
- @tier "presentation"
120
- pageSize : number
121
- @label "Page Size"
122
- @description "Number of items per page"
123
- @tier "presentation"
124
- totalCount : number
125
- @label "Total Count"
126
- @description "Total number of items"
127
- @tier "presentation"
128
- activeFilters : Map string string = {}
129
- @label "Active Filters"
130
- @description "Active filters"
131
- @tier "presentation"
132
- selectedIds : [string] = []
133
- @label "Selected Ids"
134
- @description "Currently selected item IDs"
135
- @tier "presentation"
136
- heading : string
137
- @label "Heading"
138
- @description "heading prop"
139
- @tier "presentation"
140
- subtitle : string
141
- @label "Subtitle"
142
- @description "subtitle prop"
143
- @tier "presentation"
144
- selfFetch : boolean = true
145
- @label "Fetch its own rows on mount?"
146
- @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
147
- @tier "internal"
148
- }
149
- }
150
-
151
- page "/team-organism" as TeamOrganismPage -> TeamOrganismRender
152
- }