@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.
- package/behaviors/behaviors-registry.json +97602 -98073
- package/behaviors/lolo/infra/atoms/std-notify-on-event.lolo +2 -2
- package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +316 -0
- package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +172 -0
- package/behaviors/lolo/ui/core/atoms/std-hero.lolo +247 -0
- package/behaviors/lolo/ui/core/atoms/std-media-section.lolo +154 -0
- package/behaviors/lolo/ui/core/atoms/std-pricing.lolo +177 -0
- package/behaviors/lolo/ui/core/atoms/std-prose.lolo +85 -0
- package/behaviors/lolo/ui/core/atoms/std-site-footer.lolo +159 -0
- package/behaviors/lolo/ui/core/atoms/std-site-header.lolo +131 -0
- package/behaviors/lolo/ui/core/atoms/std-stat-band.lolo +83 -0
- package/behaviors/lolo/ui/core/atoms/std-stats.lolo +4 -5
- package/behaviors/lolo/ui/core/atoms/std-steps.lolo +124 -0
- package/behaviors/lolo/ui/core/atoms/ui-box.lolo +5 -0
- package/behaviors/lolo/ui/core/atoms/ui-button.lolo +6 -1
- package/behaviors/lolo/ui/core/atoms/ui-image.lolo +64 -0
- package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-animated-counter.lolo +11 -6
- package/behaviors/lolo/ui/core/organisms/ui-chat-bar.lolo +5 -0
- package/behaviors/lolo/ui/game/atoms/ui-canvas-2d.lolo +1 -1
- package/behaviors/lolo-behavior-contracts.json +1 -1
- package/behaviors/registry/factory-signatures.json +1 -1
- package/behaviors/registry/infra/atoms/std-notify-on-event.orb +45 -9
- package/behaviors/registry/ui/core/atoms/std-book-reader.orb +1269 -0
- package/behaviors/registry/ui/core/atoms/std-card-grid.orb +826 -0
- package/behaviors/registry/ui/core/atoms/std-hero.orb +811 -0
- package/behaviors/registry/ui/core/atoms/std-media-section.orb +740 -0
- package/behaviors/registry/ui/core/atoms/std-pricing.orb +751 -0
- package/behaviors/registry/ui/core/atoms/std-prose.orb +264 -0
- package/behaviors/registry/ui/core/atoms/std-site-footer.orb +589 -0
- package/behaviors/registry/ui/core/atoms/std-site-header.orb +530 -0
- package/behaviors/registry/ui/core/atoms/std-stat-band.orb +311 -0
- package/behaviors/registry/ui/core/atoms/std-stats.orb +4 -5
- package/behaviors/registry/ui/core/atoms/std-steps.orb +532 -0
- package/behaviors/registry/ui/{marketing → core}/atoms/ui-animated-graphic.orb +20 -20
- package/behaviors/registry/ui/{marketing → core}/atoms/ui-animated-reveal.orb +20 -20
- package/behaviors/registry/ui/core/atoms/ui-box.orb +7 -0
- package/behaviors/registry/ui/core/atoms/ui-button.orb +9 -1
- package/behaviors/registry/ui/core/atoms/ui-image.orb +231 -0
- package/behaviors/registry/ui/{marketing → core}/atoms/ui-pattern-tile.orb +20 -20
- package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-animated-counter.orb +33 -26
- package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-feature-card.orb +20 -20
- package/behaviors/registry/ui/{marketing/atoms → core/molecules}/ui-geometric-pattern.orb +20 -20
- package/behaviors/registry/ui/core/organisms/ui-chat-bar.orb +7 -0
- package/behaviors/registry/ui/{marketing → core}/templates/ui-auth-layout.orb +20 -20
- package/behaviors/registry/ui/game/atoms/ui-canvas-2d.orb +1 -1
- package/behaviors/signatures.lolo +1070 -2984
- package/canonical-operators.json +3 -3
- package/dist/behaviors/exports-reader.js +3818 -10339
- package/dist/behaviors/functions/index.d.ts +3965 -6984
- package/dist/behaviors/functions/index.js +3786 -10195
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +3819 -10340
- package/dist/behaviors/query.js +3818 -10339
- package/dist/behaviors-embeddings.hash.json +3 -3
- package/dist/behaviors-embeddings.json +77 -237
- package/dist/behaviors-registry.json +97602 -98073
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3821 -10342
- package/dist/knob-embeddings.hash.json +3 -3
- package/dist/knob-embeddings.json +352 -1212
- package/dist/modules/core.js +2 -2
- package/dist/modules/index.js +2 -2
- package/dist/registry/factory-signatures.json +1 -1
- package/dist/registry.js +2 -2
- package/i18n/ar.json +8 -4
- package/i18n/en.json +4 -0
- package/i18n/sl.json +8 -4
- package/package.json +4 -6
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-article.lolo +0 -31
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-cta.lolo +0 -93
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-features.lolo +0 -83
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-footer.lolo +0 -72
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-hero.lolo +0 -131
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-nav.lolo +0 -86
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-pricing.lolo +0 -85
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-showcase.lolo +0 -87
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-split.lolo +0 -50
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-stats.lolo +0 -43
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-steps.lolo +0 -48
- package/behaviors/lolo/ui/marketing/atoms/std-marketing-team.lolo +0 -51
- package/behaviors/lolo/ui/marketing/atoms/ui-article-section.lolo +0 -44
- package/behaviors/lolo/ui/marketing/atoms/ui-case-study-card.lolo +0 -60
- package/behaviors/lolo/ui/marketing/atoms/ui-community-links.lolo +0 -67
- package/behaviors/lolo/ui/marketing/atoms/ui-content-section.lolo +0 -44
- package/behaviors/lolo/ui/marketing/atoms/ui-cta-banner.lolo +0 -68
- package/behaviors/lolo/ui/marketing/atoms/ui-hero-section.lolo +0 -112
- package/behaviors/lolo/ui/marketing/atoms/ui-install-box.lolo +0 -39
- package/behaviors/lolo/ui/marketing/atoms/ui-marketing-footer.lolo +0 -58
- package/behaviors/lolo/ui/marketing/atoms/ui-marketing-stat-card.lolo +0 -45
- package/behaviors/lolo/ui/marketing/atoms/ui-pricing-card.lolo +0 -70
- package/behaviors/lolo/ui/marketing/atoms/ui-pricing-grid.lolo +0 -49
- package/behaviors/lolo/ui/marketing/atoms/ui-pull-quote.lolo +0 -34
- package/behaviors/lolo/ui/marketing/atoms/ui-service-catalog.lolo +0 -40
- package/behaviors/lolo/ui/marketing/atoms/ui-showcase-card.lolo +0 -64
- package/behaviors/lolo/ui/marketing/atoms/ui-split-section.lolo +0 -69
- package/behaviors/lolo/ui/marketing/atoms/ui-stats-grid.lolo +0 -44
- package/behaviors/lolo/ui/marketing/atoms/ui-step-flow.lolo +0 -51
- package/behaviors/lolo/ui/marketing/atoms/ui-tag-cloud.lolo +0 -45
- package/behaviors/lolo/ui/marketing/atoms/ui-team-card.lolo +0 -54
- package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +0 -63
- package/behaviors/lolo/ui/marketing/organisms/ui-book-cover-page.lolo +0 -54
- package/behaviors/lolo/ui/marketing/organisms/ui-book-nav-bar.lolo +0 -49
- package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +0 -70
- package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +0 -161
- package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +0 -153
- package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +0 -159
- package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +0 -162
- package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +0 -155
- package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +0 -164
- package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +0 -142
- package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +0 -165
- package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +0 -152
- package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +0 -105
- package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +0 -93
- package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +0 -144
- package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +0 -89
- package/behaviors/registry/ui/marketing/atoms/std-marketing-article.orb +0 -121
- package/behaviors/registry/ui/marketing/atoms/std-marketing-cta.orb +0 -360
- package/behaviors/registry/ui/marketing/atoms/std-marketing-features.orb +0 -305
- package/behaviors/registry/ui/marketing/atoms/std-marketing-footer.orb +0 -265
- package/behaviors/registry/ui/marketing/atoms/std-marketing-hero.orb +0 -424
- package/behaviors/registry/ui/marketing/atoms/std-marketing-nav.orb +0 -288
- package/behaviors/registry/ui/marketing/atoms/std-marketing-pricing.orb +0 -366
- package/behaviors/registry/ui/marketing/atoms/std-marketing-showcase.orb +0 -415
- package/behaviors/registry/ui/marketing/atoms/std-marketing-split.orb +0 -152
- package/behaviors/registry/ui/marketing/atoms/std-marketing-stats.orb +0 -151
- package/behaviors/registry/ui/marketing/atoms/std-marketing-steps.orb +0 -221
- package/behaviors/registry/ui/marketing/atoms/std-marketing-team.orb +0 -239
- package/behaviors/registry/ui/marketing/atoms/ui-article-section.orb +0 -176
- package/behaviors/registry/ui/marketing/atoms/ui-case-study-card.orb +0 -195
- package/behaviors/registry/ui/marketing/atoms/ui-community-links.orb +0 -254
- package/behaviors/registry/ui/marketing/atoms/ui-content-section.orb +0 -182
- package/behaviors/registry/ui/marketing/atoms/ui-cta-banner.orb +0 -254
- package/behaviors/registry/ui/marketing/atoms/ui-hero-section.orb +0 -345
- package/behaviors/registry/ui/marketing/atoms/ui-install-box.orb +0 -163
- package/behaviors/registry/ui/marketing/atoms/ui-marketing-footer.orb +0 -298
- package/behaviors/registry/ui/marketing/atoms/ui-marketing-stat-card.orb +0 -177
- package/behaviors/registry/ui/marketing/atoms/ui-pricing-card.orb +0 -237
- package/behaviors/registry/ui/marketing/atoms/ui-pricing-grid.orb +0 -313
- package/behaviors/registry/ui/marketing/atoms/ui-pull-quote.orb +0 -156
- package/behaviors/registry/ui/marketing/atoms/ui-service-catalog.orb +0 -205
- package/behaviors/registry/ui/marketing/atoms/ui-showcase-card.orb +0 -221
- package/behaviors/registry/ui/marketing/atoms/ui-split-section.orb +0 -239
- package/behaviors/registry/ui/marketing/atoms/ui-stats-grid.orb +0 -202
- package/behaviors/registry/ui/marketing/atoms/ui-step-flow.orb +0 -236
- package/behaviors/registry/ui/marketing/atoms/ui-tag-cloud.orb +0 -217
- package/behaviors/registry/ui/marketing/atoms/ui-team-card.orb +0 -186
- package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +0 -277
- package/behaviors/registry/ui/marketing/organisms/ui-book-cover-page.orb +0 -190
- package/behaviors/registry/ui/marketing/organisms/ui-book-nav-bar.orb +0 -183
- package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +0 -286
- package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +0 -553
- package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +0 -507
- package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +0 -504
- package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +0 -635
- package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +0 -539
- package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +0 -542
- package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +0 -447
- package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +0 -505
- package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +0 -494
- package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +0 -752
- package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +0 -638
- package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +0 -1028
- package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +0 -603
- /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-animated-graphic.lolo +0 -0
- /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-animated-reveal.lolo +0 -0
- /package/behaviors/lolo/ui/{marketing → core}/atoms/ui-pattern-tile.lolo +0 -0
- /package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-feature-card.lolo +0 -0
- /package/behaviors/lolo/ui/{marketing/atoms → core/molecules}/ui-geometric-pattern.lolo +0 -0
- /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
|
-
}
|