@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.
- 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,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
|
-
}
|