@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,153 +0,0 @@
1
- app ui-case-study-organism "1.0.0"
2
- "CaseStudyOrganism — UI factory (1:1 with the @almadar/ui case-study-organism pattern)."
3
- ;; @pattern "case-study-organism"
4
- orbital CaseStudyOrganismOrbital {
5
- type CaseStudyOrganismLoaded = Event { data : [CaseStudyOrganismItem] } "CaseStudyOrganism rows finished loading; payload.data holds the collection"
6
- type CaseStudyOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity CaseStudyOrganismItem [runtime] {
14
- id : string!
15
- title : string = "Title"
16
- description : string = "Description"
17
- category : string = "Category"
18
- categoryColor : string = "Category Color"
19
- href : string = "Href"
20
- linkLabel : string = "Link Label"
21
- }
22
-
23
- trait CaseStudyOrganismRender -> @rebindable CaseStudyOrganismItem [interaction, instance] {
24
- initial: idle
25
-
26
- state idle {
27
- INIT -> idle when @config.selfFetch
28
- (fetch CaseStudyOrganismItem { emit: { success: CaseStudyOrganismLoaded } })
29
- (render-ui main {
30
- className: @config.className
31
- isLoading: @config.isLoading
32
- error: @config.error
33
- sortBy: @config.sortBy
34
- sortDirection: @config.sortDirection
35
- searchValue: @config.searchValue
36
- page: @config.pageProp
37
- pageSize: @config.pageSize
38
- totalCount: @config.totalCount
39
- activeFilters: @config.activeFilters
40
- selectedIds: @config.selectedIds
41
- entity: @entity
42
- heading: @config.heading
43
- subtitle: @config.subtitle
44
- type: case-study-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
- heading: @config.heading
61
- subtitle: @config.subtitle
62
- type: case-study-organism
63
- })
64
- CaseStudyOrganismLoaded -> idle
65
- (render-ui main {
66
- className: @config.className
67
- isLoading: @config.isLoading
68
- error: @config.error
69
- sortBy: @config.sortBy
70
- sortDirection: @config.sortDirection
71
- searchValue: @config.searchValue
72
- page: @config.pageProp
73
- pageSize: @config.pageSize
74
- totalCount: @config.totalCount
75
- activeFilters: @config.activeFilters
76
- selectedIds: @config.selectedIds
77
- entity: @payload.data
78
- heading: @config.heading
79
- subtitle: @config.subtitle
80
- type: case-study-organism
81
- })
82
- }
83
-
84
- emits {
85
- CaseStudyOrganismLoaded
86
- @description "CaseStudyOrganism rows finished loading; payload.data holds the collection."
87
- @synonyms "loaded, fetched, retrieved"
88
- @tier "essential"
89
- }
90
-
91
- config {
92
- className : string
93
- @label "Class Name"
94
- @description "Additional CSS classes"
95
- @tier "presentation"
96
- isLoading : boolean = false
97
- @label "Is Loading"
98
- @description "Loading state indicator"
99
- @tier "presentation"
100
- error : CaseStudyOrganismError
101
- @label "Error"
102
- @description "Error state (UiError)"
103
- @tier "presentation"
104
- sortBy : string
105
- @label "Sort By"
106
- @description "Current sort field"
107
- @tier "presentation"
108
- sortDirection : "asc" | "desc" = asc
109
- @label "Sort Direction"
110
- @description "Current sort direction"
111
- @tier "presentation"
112
- searchValue : string
113
- @label "Search Value"
114
- @description "Current search query value"
115
- @tier "presentation"
116
- pageProp : number
117
- @label "Page"
118
- @description "Current page number"
119
- @synonyms "page"
120
- @tier "presentation"
121
- pageSize : number
122
- @label "Page Size"
123
- @description "Number of items per page"
124
- @tier "presentation"
125
- totalCount : number
126
- @label "Total Count"
127
- @description "Total number of items"
128
- @tier "presentation"
129
- activeFilters : Map string string = {}
130
- @label "Active Filters"
131
- @description "Active filters"
132
- @tier "presentation"
133
- selectedIds : [string] = []
134
- @label "Selected Ids"
135
- @description "Currently selected item IDs"
136
- @tier "presentation"
137
- heading : string
138
- @label "Heading"
139
- @description "heading prop"
140
- @tier "presentation"
141
- subtitle : string
142
- @label "Subtitle"
143
- @description "subtitle prop"
144
- @tier "presentation"
145
- selfFetch : boolean = true
146
- @label "Fetch its own rows on mount?"
147
- @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."
148
- @tier "internal"
149
- }
150
- }
151
-
152
- page "/case-study-organism" as CaseStudyOrganismPage -> CaseStudyOrganismRender
153
- }
@@ -1,159 +0,0 @@
1
- app ui-feature-grid-organism "1.0.0"
2
- "FeatureGridOrganism — UI factory (1:1 with the @almadar/ui feature-grid-organism pattern)."
3
- ;; @pattern "feature-grid-organism"
4
- orbital FeatureGridOrganismOrbital {
5
- type FeatureGridOrganismLoaded = Event { data : [FeatureGridOrganismItem] } "FeatureGridOrganism rows finished loading; payload.data holds the collection"
6
- type FeatureGridOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity FeatureGridOrganismItem [runtime] {
14
- id : string!
15
- title : string = "Title"
16
- icon : string = "circle"
17
- description : string = "Description"
18
- href : string = "Href"
19
- linkLabel : string = "Link Label"
20
- }
21
-
22
- trait FeatureGridOrganismRender -> @rebindable FeatureGridOrganismItem [interaction, instance] {
23
- initial: idle
24
-
25
- state idle {
26
- INIT -> idle when @config.selfFetch
27
- (fetch FeatureGridOrganismItem { emit: { success: FeatureGridOrganismLoaded } })
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
- columns: @config.columns
42
- heading: @config.heading
43
- subtitle: @config.subtitle
44
- type: feature-grid-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
- columns: @config.columns
61
- heading: @config.heading
62
- subtitle: @config.subtitle
63
- type: feature-grid-organism
64
- })
65
- FeatureGridOrganismLoaded -> idle
66
- (render-ui main {
67
- className: @config.className
68
- isLoading: @config.isLoading
69
- error: @config.error
70
- sortBy: @config.sortBy
71
- sortDirection: @config.sortDirection
72
- searchValue: @config.searchValue
73
- page: @config.pageProp
74
- pageSize: @config.pageSize
75
- totalCount: @config.totalCount
76
- activeFilters: @config.activeFilters
77
- selectedIds: @config.selectedIds
78
- entity: @payload.data
79
- columns: @config.columns
80
- heading: @config.heading
81
- subtitle: @config.subtitle
82
- type: feature-grid-organism
83
- })
84
- }
85
-
86
- emits {
87
- FeatureGridOrganismLoaded
88
- @description "FeatureGridOrganism rows finished loading; payload.data holds the collection."
89
- @synonyms "loaded, fetched, retrieved"
90
- @tier "essential"
91
- }
92
-
93
- config {
94
- className : string
95
- @label "Class Name"
96
- @description "Additional CSS classes"
97
- @tier "presentation"
98
- isLoading : boolean = false
99
- @label "Is Loading"
100
- @description "Loading state indicator"
101
- @tier "presentation"
102
- error : FeatureGridOrganismError
103
- @label "Error"
104
- @description "Error state (UiError)"
105
- @tier "presentation"
106
- sortBy : string
107
- @label "Sort By"
108
- @description "Current sort field"
109
- @tier "presentation"
110
- sortDirection : "asc" | "desc" = asc
111
- @label "Sort Direction"
112
- @description "Current sort direction"
113
- @tier "presentation"
114
- searchValue : string
115
- @label "Search Value"
116
- @description "Current search query value"
117
- @tier "presentation"
118
- pageProp : number
119
- @label "Page"
120
- @description "Current page number"
121
- @synonyms "page"
122
- @tier "presentation"
123
- pageSize : number
124
- @label "Page Size"
125
- @description "Number of items per page"
126
- @tier "presentation"
127
- totalCount : number
128
- @label "Total Count"
129
- @description "Total number of items"
130
- @tier "presentation"
131
- activeFilters : Map string string = {}
132
- @label "Active Filters"
133
- @description "Active filters"
134
- @tier "presentation"
135
- selectedIds : [string] = []
136
- @label "Selected Ids"
137
- @description "Currently selected item IDs"
138
- @tier "presentation"
139
- columns : number = 3
140
- @label "Columns"
141
- @description "columns prop"
142
- @tier "presentation"
143
- heading : string
144
- @label "Heading"
145
- @description "heading prop"
146
- @tier "presentation"
147
- subtitle : string
148
- @label "Subtitle"
149
- @description "subtitle prop"
150
- @tier "presentation"
151
- selfFetch : boolean = true
152
- @label "Fetch its own rows on mount?"
153
- @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."
154
- @tier "internal"
155
- }
156
- }
157
-
158
- page "/feature-grid-organism" as FeatureGridOrganismPage -> FeatureGridOrganismRender
159
- }
@@ -1,162 +0,0 @@
1
- app ui-hero-organism "1.0.0"
2
- "HeroOrganism — UI factory (1:1 with the @almadar/ui hero-organism pattern)."
3
- ;; @pattern "hero-organism"
4
- orbital HeroOrganismOrbital {
5
- type HeroOrganismLoaded = Event { data : [HeroOrganismItem] } "HeroOrganism rows finished loading; payload.data holds the collection"
6
- type HeroOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
- type HeroOrganismPrimaryAction = {
13
- label : string
14
- href : string
15
- }
16
- type HeroOrganismSecondaryAction = {
17
- label : string
18
- href : string
19
- }
20
- type HeroOrganismImage = {
21
- src : asset
22
- alt : string
23
- }
24
-
25
- entity HeroOrganismItem [runtime] {
26
- id : string!
27
- title : string = "Title"
28
- tag : string = "Tag"
29
- titleAccent : string = "Title Accent"
30
- subtitle : string = "Subtitle"
31
- primaryAction : HeroOrganismPrimaryAction = { label: "Label", href: "Href" }
32
- secondaryAction : HeroOrganismSecondaryAction = { label: "Label", href: "Href" }
33
- installCommand : string = "Install Command"
34
- image : HeroOrganismImage = { src: "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png", alt: "Alt" }
35
- imagePosition : "below" | "right" | "background" = below
36
- background : "dark" | "gradient" | "subtle" = dark
37
- }
38
-
39
- trait HeroOrganismRender -> @rebindable HeroOrganismItem [interaction, instance] {
40
- initial: idle
41
-
42
- state idle {
43
- INIT -> idle when @config.selfFetch
44
- (fetch HeroOrganismItem { emit: { success: HeroOrganismLoaded } })
45
- (render-ui main {
46
- className: @config.className
47
- isLoading: @config.isLoading
48
- error: @config.error
49
- sortBy: @config.sortBy
50
- sortDirection: @config.sortDirection
51
- searchValue: @config.searchValue
52
- page: @config.pageProp
53
- pageSize: @config.pageSize
54
- totalCount: @config.totalCount
55
- activeFilters: @config.activeFilters
56
- selectedIds: @config.selectedIds
57
- entity: @entity
58
- children: @config.children
59
- type: hero-organism
60
- })
61
- INIT -> idle when (not @config.selfFetch)
62
- (render-ui main {
63
- className: @config.className
64
- isLoading: @config.isLoading
65
- error: @config.error
66
- sortBy: @config.sortBy
67
- sortDirection: @config.sortDirection
68
- searchValue: @config.searchValue
69
- page: @config.pageProp
70
- pageSize: @config.pageSize
71
- totalCount: @config.totalCount
72
- activeFilters: @config.activeFilters
73
- selectedIds: @config.selectedIds
74
- entity: @entity
75
- children: @config.children
76
- type: hero-organism
77
- })
78
- HeroOrganismLoaded -> idle
79
- (render-ui main {
80
- className: @config.className
81
- isLoading: @config.isLoading
82
- error: @config.error
83
- sortBy: @config.sortBy
84
- sortDirection: @config.sortDirection
85
- searchValue: @config.searchValue
86
- page: @config.pageProp
87
- pageSize: @config.pageSize
88
- totalCount: @config.totalCount
89
- activeFilters: @config.activeFilters
90
- selectedIds: @config.selectedIds
91
- entity: @payload.data
92
- children: @config.children
93
- type: hero-organism
94
- })
95
- }
96
-
97
- emits {
98
- HeroOrganismLoaded
99
- @description "HeroOrganism rows finished loading; payload.data holds the collection."
100
- @synonyms "loaded, fetched, retrieved"
101
- @tier "essential"
102
- }
103
-
104
- config {
105
- className : string
106
- @label "Class Name"
107
- @description "Additional CSS classes"
108
- @tier "presentation"
109
- isLoading : boolean = false
110
- @label "Is Loading"
111
- @description "Loading state indicator"
112
- @tier "presentation"
113
- error : HeroOrganismError
114
- @label "Error"
115
- @description "Error state (UiError)"
116
- @tier "presentation"
117
- sortBy : string
118
- @label "Sort By"
119
- @description "Current sort field"
120
- @tier "presentation"
121
- sortDirection : "asc" | "desc" = asc
122
- @label "Sort Direction"
123
- @description "Current sort direction"
124
- @tier "presentation"
125
- searchValue : string
126
- @label "Search Value"
127
- @description "Current search query value"
128
- @tier "presentation"
129
- pageProp : number
130
- @label "Page"
131
- @description "Current page number"
132
- @synonyms "page"
133
- @tier "presentation"
134
- pageSize : number
135
- @label "Page Size"
136
- @description "Number of items per page"
137
- @tier "presentation"
138
- totalCount : number
139
- @label "Total Count"
140
- @description "Total number of items"
141
- @tier "presentation"
142
- activeFilters : Map string string = {}
143
- @label "Active Filters"
144
- @description "Active filters"
145
- @tier "presentation"
146
- selectedIds : [string] = []
147
- @label "Selected Ids"
148
- @description "Currently selected item IDs"
149
- @tier "presentation"
150
- children : node
151
- @label "Children"
152
- @description "children prop"
153
- @tier "presentation"
154
- selfFetch : boolean = true
155
- @label "Fetch its own rows on mount?"
156
- @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."
157
- @tier "internal"
158
- }
159
- }
160
-
161
- page "/hero-organism" as HeroOrganismPage -> HeroOrganismRender
162
- }
@@ -1,155 +0,0 @@
1
- app ui-pricing-organism "1.0.0"
2
- "PricingOrganism — UI factory (1:1 with the @almadar/ui pricing-organism pattern)."
3
- ;; @pattern "pricing-organism"
4
- orbital PricingOrganismOrbital {
5
- type PricingOrganismLoaded = Event { data : [PricingOrganismItem] } "PricingOrganism rows finished loading; payload.data holds the collection"
6
- type PricingOrganismError = {
7
- message : string!
8
- name : string
9
- code : string
10
- stack : string
11
- }
12
-
13
- entity PricingOrganismItem [runtime] {
14
- id : string!
15
- name : string = "Name"
16
- price : string = "Price"
17
- description : string = "Description"
18
- features : [string] = ["Item", "Item 2"]
19
- actionLabel : string = "Action Label"
20
- actionHref : string = "Action Href"
21
- highlighted : boolean = false
22
- badge : string = "Badge"
23
- }
24
-
25
- trait PricingOrganismRender -> @rebindable PricingOrganismItem [interaction, instance] {
26
- initial: idle
27
-
28
- state idle {
29
- INIT -> idle when @config.selfFetch
30
- (fetch PricingOrganismItem { emit: { success: PricingOrganismLoaded } })
31
- (render-ui main {
32
- className: @config.className
33
- isLoading: @config.isLoading
34
- error: @config.error
35
- sortBy: @config.sortBy
36
- sortDirection: @config.sortDirection
37
- searchValue: @config.searchValue
38
- page: @config.pageProp
39
- pageSize: @config.pageSize
40
- totalCount: @config.totalCount
41
- activeFilters: @config.activeFilters
42
- selectedIds: @config.selectedIds
43
- entity: @entity
44
- heading: @config.heading
45
- subtitle: @config.subtitle
46
- type: pricing-organism
47
- })
48
- INIT -> idle when (not @config.selfFetch)
49
- (render-ui main {
50
- className: @config.className
51
- isLoading: @config.isLoading
52
- error: @config.error
53
- sortBy: @config.sortBy
54
- sortDirection: @config.sortDirection
55
- searchValue: @config.searchValue
56
- page: @config.pageProp
57
- pageSize: @config.pageSize
58
- totalCount: @config.totalCount
59
- activeFilters: @config.activeFilters
60
- selectedIds: @config.selectedIds
61
- entity: @entity
62
- heading: @config.heading
63
- subtitle: @config.subtitle
64
- type: pricing-organism
65
- })
66
- PricingOrganismLoaded -> 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
- heading: @config.heading
81
- subtitle: @config.subtitle
82
- type: pricing-organism
83
- })
84
- }
85
-
86
- emits {
87
- PricingOrganismLoaded
88
- @description "PricingOrganism rows finished loading; payload.data holds the collection."
89
- @synonyms "loaded, fetched, retrieved"
90
- @tier "essential"
91
- }
92
-
93
- config {
94
- className : string
95
- @label "Class Name"
96
- @description "Additional CSS classes"
97
- @tier "presentation"
98
- isLoading : boolean = false
99
- @label "Is Loading"
100
- @description "Loading state indicator"
101
- @tier "presentation"
102
- error : PricingOrganismError
103
- @label "Error"
104
- @description "Error state (UiError)"
105
- @tier "presentation"
106
- sortBy : string
107
- @label "Sort By"
108
- @description "Current sort field"
109
- @tier "presentation"
110
- sortDirection : "asc" | "desc" = asc
111
- @label "Sort Direction"
112
- @description "Current sort direction"
113
- @tier "presentation"
114
- searchValue : string
115
- @label "Search Value"
116
- @description "Current search query value"
117
- @tier "presentation"
118
- pageProp : number
119
- @label "Page"
120
- @description "Current page number"
121
- @synonyms "page"
122
- @tier "presentation"
123
- pageSize : number
124
- @label "Page Size"
125
- @description "Number of items per page"
126
- @tier "presentation"
127
- totalCount : number
128
- @label "Total Count"
129
- @description "Total number of items"
130
- @tier "presentation"
131
- activeFilters : Map string string = {}
132
- @label "Active Filters"
133
- @description "Active filters"
134
- @tier "presentation"
135
- selectedIds : [string] = []
136
- @label "Selected Ids"
137
- @description "Currently selected item IDs"
138
- @tier "presentation"
139
- heading : string
140
- @label "Heading"
141
- @description "heading prop"
142
- @tier "presentation"
143
- subtitle : string
144
- @label "Subtitle"
145
- @description "subtitle prop"
146
- @tier "presentation"
147
- selfFetch : boolean = true
148
- @label "Fetch its own rows on mount?"
149
- @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."
150
- @tier "internal"
151
- }
152
- }
153
-
154
- page "/pricing-organism" as PricingOrganismPage -> PricingOrganismRender
155
- }