@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,44 +0,0 @@
|
|
|
1
|
-
app ui-stats-grid "1.0.0"
|
|
2
|
-
"StatsGrid — UI factory (1:1 with the @almadar/ui stats-grid pattern)."
|
|
3
|
-
;; @pattern "stats-grid"
|
|
4
|
-
orbital StatsGridOrbital {
|
|
5
|
-
type StatsGridStatsItem = {
|
|
6
|
-
value : string!
|
|
7
|
-
label : string!
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
entity StatsGridItem [runtime] {
|
|
11
|
-
id : string!
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
trait StatsGridRender -> @rebindable StatsGridItem [interaction, instance] {
|
|
15
|
-
initial: idle
|
|
16
|
-
|
|
17
|
-
state idle {
|
|
18
|
-
INIT -> idle
|
|
19
|
-
(render-ui main {
|
|
20
|
-
stats: @config.stats
|
|
21
|
-
columns: @config.columns
|
|
22
|
-
className: @config.className
|
|
23
|
-
type: stats-grid
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
config {
|
|
28
|
-
stats : [StatsGridStatsItem] = [{ value: "Value", label: "Label" }, { value: "Value 2", label: "Label 2" }]
|
|
29
|
-
@label "Stats"
|
|
30
|
-
@description "stats prop"
|
|
31
|
-
@tier "presentation"
|
|
32
|
-
columns : number = 3
|
|
33
|
-
@label "Columns"
|
|
34
|
-
@description "columns prop"
|
|
35
|
-
@tier "presentation"
|
|
36
|
-
className : string
|
|
37
|
-
@label "Class Name"
|
|
38
|
-
@description "className prop"
|
|
39
|
-
@tier "presentation"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
page "/stats-grid" as StatsGridPage -> StatsGridRender
|
|
44
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
app ui-step-flow "1.0.0"
|
|
2
|
-
"StepFlow — UI factory (1:1 with the @almadar/ui step-flow pattern)."
|
|
3
|
-
;; @pattern "step-flow"
|
|
4
|
-
orbital StepFlowOrbital {
|
|
5
|
-
type StepFlowStepsItem = {
|
|
6
|
-
number : number
|
|
7
|
-
title : string!
|
|
8
|
-
description : string!
|
|
9
|
-
icon : icon
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
entity StepFlowItem [runtime] {
|
|
13
|
-
id : string!
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
trait StepFlowRender -> @rebindable StepFlowItem [interaction, instance] {
|
|
17
|
-
initial: idle
|
|
18
|
-
|
|
19
|
-
state idle {
|
|
20
|
-
INIT -> idle
|
|
21
|
-
(render-ui main {
|
|
22
|
-
steps: @config.steps
|
|
23
|
-
orientation: @config.orientation
|
|
24
|
-
showConnectors: @config.showConnectors
|
|
25
|
-
className: @config.className
|
|
26
|
-
type: step-flow
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
config {
|
|
31
|
-
steps : [StepFlowStepsItem] = [{ number: 1, title: "Title", description: "Description", icon: "circle" }, { number: 2, title: "Title 2", description: "Description 2", icon: "circle" }]
|
|
32
|
-
@label "Steps"
|
|
33
|
-
@description "steps prop"
|
|
34
|
-
@tier "presentation"
|
|
35
|
-
orientation : "horizontal" | "vertical" = horizontal
|
|
36
|
-
@label "Orientation"
|
|
37
|
-
@description "orientation prop"
|
|
38
|
-
@tier "presentation"
|
|
39
|
-
showConnectors : boolean = true
|
|
40
|
-
@label "Show Connectors"
|
|
41
|
-
@description "showConnectors prop"
|
|
42
|
-
@tier "presentation"
|
|
43
|
-
className : string
|
|
44
|
-
@label "Class Name"
|
|
45
|
-
@description "className prop"
|
|
46
|
-
@tier "presentation"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
page "/step-flow" as StepFlowPage -> StepFlowRender
|
|
51
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
app ui-tag-cloud "1.0.0"
|
|
2
|
-
"TagCloud — UI factory (1:1 with the @almadar/ui tag-cloud pattern)."
|
|
3
|
-
;; @pattern "tag-cloud"
|
|
4
|
-
orbital TagCloudOrbital {
|
|
5
|
-
type TagCloudTagsItem = {
|
|
6
|
-
label : string!
|
|
7
|
-
href : string
|
|
8
|
-
variant : string
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
entity TagCloudItem [runtime] {
|
|
12
|
-
id : string!
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
trait TagCloudRender -> @rebindable TagCloudItem [interaction, instance] {
|
|
16
|
-
initial: idle
|
|
17
|
-
|
|
18
|
-
state idle {
|
|
19
|
-
INIT -> idle
|
|
20
|
-
(render-ui main {
|
|
21
|
-
tags: @config.tags
|
|
22
|
-
variant: @config.variant
|
|
23
|
-
className: @config.className
|
|
24
|
-
type: tag-cloud
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
config {
|
|
29
|
-
tags : [TagCloudTagsItem] = [{ label: "Label", href: "Href", variant: "Variant" }, { label: "Label 2", href: "Href 2", variant: "Variant 2" }]
|
|
30
|
-
@label "Tags"
|
|
31
|
-
@description "tags prop"
|
|
32
|
-
@tier "presentation"
|
|
33
|
-
variant : "default" | "primary" | "accent" = default
|
|
34
|
-
@label "Variant"
|
|
35
|
-
@description "variant prop"
|
|
36
|
-
@tier "presentation"
|
|
37
|
-
className : string
|
|
38
|
-
@label "Class Name"
|
|
39
|
-
@description "className prop"
|
|
40
|
-
@tier "presentation"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
page "/tag-cloud" as TagCloudPage -> TagCloudRender
|
|
45
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
app ui-team-card "1.0.0"
|
|
2
|
-
"TeamCard — UI factory (1:1 with the @almadar/ui team-card pattern)."
|
|
3
|
-
;; @pattern "team-card"
|
|
4
|
-
orbital TeamCardOrbital {
|
|
5
|
-
entity TeamCardItem [runtime] {
|
|
6
|
-
id : string!
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
trait TeamCardRender -> @rebindable TeamCardItem [interaction, instance] {
|
|
10
|
-
initial: idle
|
|
11
|
-
|
|
12
|
-
state idle {
|
|
13
|
-
INIT -> idle
|
|
14
|
-
(render-ui main {
|
|
15
|
-
name: @config.name
|
|
16
|
-
nameAr: @config.nameAr
|
|
17
|
-
role: @config.role
|
|
18
|
-
bio: @config.bio
|
|
19
|
-
avatar: @config.avatar
|
|
20
|
-
className: @config.className
|
|
21
|
-
type: team-card
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
config {
|
|
26
|
-
name : string = ""
|
|
27
|
-
@label "Name"
|
|
28
|
-
@description "name prop"
|
|
29
|
-
@tier "presentation"
|
|
30
|
-
nameAr : string
|
|
31
|
-
@label "Name Ar"
|
|
32
|
-
@description "nameAr prop"
|
|
33
|
-
@tier "presentation"
|
|
34
|
-
role : string = ""
|
|
35
|
-
@label "Role"
|
|
36
|
-
@description "role prop"
|
|
37
|
-
@tier "presentation"
|
|
38
|
-
bio : string = ""
|
|
39
|
-
@label "Bio"
|
|
40
|
-
@description "bio prop"
|
|
41
|
-
@tier "presentation"
|
|
42
|
-
avatar : asset
|
|
43
|
-
@label "Avatar"
|
|
44
|
-
@description "avatar prop"
|
|
45
|
-
@tier "presentation"
|
|
46
|
-
className : string
|
|
47
|
-
@label "Class Name"
|
|
48
|
-
@description "className prop"
|
|
49
|
-
@tier "presentation"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
page "/team-card" as TeamCardPage -> TeamCardRender
|
|
54
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
app ui-book-chapter-view "1.0.0"
|
|
2
|
-
"BookChapterView — UI factory (1:1 with the @almadar/ui book-chapter-view pattern)."
|
|
3
|
-
;; @pattern "book-chapter-view"
|
|
4
|
-
orbital BookChapterViewOrbital {
|
|
5
|
-
type BookChapterViewLoaded = Event { data : [BookChapterViewItem] } "BookChapterView rows finished loading; payload.data holds the collection"
|
|
6
|
-
|
|
7
|
-
entity BookChapterViewItem [runtime] {
|
|
8
|
-
id : string!
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
trait BookChapterViewRender -> @rebindable BookChapterViewItem [interaction, instance] {
|
|
12
|
-
initial: idle
|
|
13
|
-
|
|
14
|
-
state idle {
|
|
15
|
-
INIT -> idle when @config.selfFetch
|
|
16
|
-
(fetch BookChapterViewItem { emit: { success: BookChapterViewLoaded } })
|
|
17
|
-
(render-ui main {
|
|
18
|
-
className: @config.className
|
|
19
|
-
chapter: @entity
|
|
20
|
-
direction: @config.direction
|
|
21
|
-
type: book-chapter-view
|
|
22
|
-
})
|
|
23
|
-
INIT -> idle when (not @config.selfFetch)
|
|
24
|
-
(render-ui main {
|
|
25
|
-
className: @config.className
|
|
26
|
-
chapter: @entity
|
|
27
|
-
direction: @config.direction
|
|
28
|
-
type: book-chapter-view
|
|
29
|
-
})
|
|
30
|
-
BookChapterViewLoaded -> idle
|
|
31
|
-
(render-ui main {
|
|
32
|
-
className: @config.className
|
|
33
|
-
chapter: @payload.data
|
|
34
|
-
direction: @config.direction
|
|
35
|
-
type: book-chapter-view
|
|
36
|
-
})
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
emits {
|
|
40
|
-
BookChapterViewLoaded
|
|
41
|
-
@description "BookChapterView rows finished loading; payload.data holds the collection."
|
|
42
|
-
@synonyms "loaded, fetched, retrieved"
|
|
43
|
-
@tier "essential"
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
config {
|
|
47
|
-
className : string
|
|
48
|
-
@label "Class Name"
|
|
49
|
-
@description "Additional CSS classes"
|
|
50
|
-
@tier "presentation"
|
|
51
|
-
direction : "rtl" | "ltr" = rtl
|
|
52
|
-
@label "Direction"
|
|
53
|
-
@description "direction prop"
|
|
54
|
-
@tier "presentation"
|
|
55
|
-
selfFetch : boolean = true
|
|
56
|
-
@label "Fetch its own rows on mount?"
|
|
57
|
-
@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."
|
|
58
|
-
@tier "internal"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
page "/book-chapter-view" as BookChapterViewPage -> BookChapterViewRender
|
|
63
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
app ui-book-cover-page "1.0.0"
|
|
2
|
-
"BookCoverPage — UI factory (1:1 with the @almadar/ui book-cover-page pattern)."
|
|
3
|
-
;; @pattern "book-cover-page"
|
|
4
|
-
orbital BookCoverPageOrbital {
|
|
5
|
-
entity BookCoverPageItem [runtime] {
|
|
6
|
-
id : string!
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
trait BookCoverPageRender -> @rebindable BookCoverPageItem [interaction, instance] {
|
|
10
|
-
initial: idle
|
|
11
|
-
|
|
12
|
-
state idle {
|
|
13
|
-
INIT -> idle
|
|
14
|
-
(render-ui main {
|
|
15
|
-
className: @config.className
|
|
16
|
-
title: @config.title
|
|
17
|
-
subtitle: @config.subtitle
|
|
18
|
-
author: @config.author
|
|
19
|
-
coverImageUrl: @config.coverImageUrl
|
|
20
|
-
direction: @config.direction
|
|
21
|
-
type: book-cover-page
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
config {
|
|
26
|
-
className : string
|
|
27
|
-
@label "Class Name"
|
|
28
|
-
@description "Additional CSS classes"
|
|
29
|
-
@tier "presentation"
|
|
30
|
-
title : string = ""
|
|
31
|
-
@label "Title"
|
|
32
|
-
@description "title prop"
|
|
33
|
-
@tier "presentation"
|
|
34
|
-
subtitle : string
|
|
35
|
-
@label "Subtitle"
|
|
36
|
-
@description "subtitle prop"
|
|
37
|
-
@tier "presentation"
|
|
38
|
-
author : string
|
|
39
|
-
@label "Author"
|
|
40
|
-
@description "author prop"
|
|
41
|
-
@tier "presentation"
|
|
42
|
-
coverImageUrl : asset = "https://almadar-kflow-assets.web.app/shared/ui-roguelike-board/default/units/player.png"
|
|
43
|
-
@label "Cover Image Url"
|
|
44
|
-
@description "coverImageUrl prop"
|
|
45
|
-
@tier "presentation"
|
|
46
|
-
direction : "rtl" | "ltr" = rtl
|
|
47
|
-
@label "Direction"
|
|
48
|
-
@description "direction prop"
|
|
49
|
-
@tier "presentation"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
page "/book-cover-page" as BookCoverPagePage -> BookCoverPageRender
|
|
54
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
app ui-book-nav-bar "1.0.0"
|
|
2
|
-
"BookNavBar — UI factory (1:1 with the @almadar/ui book-nav-bar pattern)."
|
|
3
|
-
;; @pattern "book-nav-bar"
|
|
4
|
-
orbital BookNavBarOrbital {
|
|
5
|
-
entity BookNavBarItem [runtime] {
|
|
6
|
-
id : string!
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
trait BookNavBarRender -> @rebindable BookNavBarItem [interaction, instance] {
|
|
10
|
-
initial: idle
|
|
11
|
-
|
|
12
|
-
state idle {
|
|
13
|
-
INIT -> idle
|
|
14
|
-
(render-ui main {
|
|
15
|
-
className: @config.className
|
|
16
|
-
currentPage: @config.currentPage
|
|
17
|
-
totalPages: @config.totalPages
|
|
18
|
-
chapterTitle: @config.chapterTitle
|
|
19
|
-
direction: @config.direction
|
|
20
|
-
type: book-nav-bar
|
|
21
|
-
})
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
config {
|
|
25
|
-
className : string
|
|
26
|
-
@label "Class Name"
|
|
27
|
-
@description "Additional CSS classes"
|
|
28
|
-
@tier "presentation"
|
|
29
|
-
currentPage : number = 1
|
|
30
|
-
@label "Current Page"
|
|
31
|
-
@description "currentPage prop"
|
|
32
|
-
@tier "presentation"
|
|
33
|
-
totalPages : number = 1
|
|
34
|
-
@label "Total Pages"
|
|
35
|
-
@description "totalPages prop"
|
|
36
|
-
@tier "presentation"
|
|
37
|
-
chapterTitle : string
|
|
38
|
-
@label "Chapter Title"
|
|
39
|
-
@description "chapterTitle prop"
|
|
40
|
-
@tier "presentation"
|
|
41
|
-
direction : "rtl" | "ltr" = rtl
|
|
42
|
-
@label "Direction"
|
|
43
|
-
@description "direction prop"
|
|
44
|
-
@tier "presentation"
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
page "/book-nav-bar" as BookNavBarPage -> BookNavBarRender
|
|
49
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
app ui-book-table-of-contents "1.0.0"
|
|
2
|
-
"BookTableOfContents — UI factory (1:1 with the @almadar/ui book-table-of-contents pattern)."
|
|
3
|
-
;; @pattern "book-table-of-contents"
|
|
4
|
-
orbital BookTableOfContentsOrbital {
|
|
5
|
-
type BookTableOfContentsLoaded = Event { data : [BookTableOfContentsItem] } "BookTableOfContents rows finished loading; payload.data holds the collection"
|
|
6
|
-
|
|
7
|
-
entity BookTableOfContentsItem [runtime] {
|
|
8
|
-
id : string!
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
trait BookTableOfContentsRender -> @rebindable BookTableOfContentsItem [interaction, instance] {
|
|
12
|
-
initial: idle
|
|
13
|
-
|
|
14
|
-
state idle {
|
|
15
|
-
INIT -> idle when @config.selfFetch
|
|
16
|
-
(fetch BookTableOfContentsItem { emit: { success: BookTableOfContentsLoaded } })
|
|
17
|
-
(render-ui main {
|
|
18
|
-
className: @config.className
|
|
19
|
-
parts: @entity
|
|
20
|
-
currentChapterId: @config.currentChapterId
|
|
21
|
-
direction: @config.direction
|
|
22
|
-
type: book-table-of-contents
|
|
23
|
-
})
|
|
24
|
-
INIT -> idle when (not @config.selfFetch)
|
|
25
|
-
(render-ui main {
|
|
26
|
-
className: @config.className
|
|
27
|
-
parts: @entity
|
|
28
|
-
currentChapterId: @config.currentChapterId
|
|
29
|
-
direction: @config.direction
|
|
30
|
-
type: book-table-of-contents
|
|
31
|
-
})
|
|
32
|
-
BookTableOfContentsLoaded -> idle
|
|
33
|
-
(render-ui main {
|
|
34
|
-
className: @config.className
|
|
35
|
-
parts: @payload.data
|
|
36
|
-
currentChapterId: @config.currentChapterId
|
|
37
|
-
direction: @config.direction
|
|
38
|
-
type: book-table-of-contents
|
|
39
|
-
})
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
emits {
|
|
43
|
-
BookTableOfContentsLoaded
|
|
44
|
-
@description "BookTableOfContents rows finished loading; payload.data holds the collection."
|
|
45
|
-
@synonyms "loaded, fetched, retrieved"
|
|
46
|
-
@tier "essential"
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
config {
|
|
50
|
-
className : string
|
|
51
|
-
@label "Class Name"
|
|
52
|
-
@description "Additional CSS classes"
|
|
53
|
-
@tier "presentation"
|
|
54
|
-
currentChapterId : string
|
|
55
|
-
@label "Current Chapter Id"
|
|
56
|
-
@description "currentChapterId prop"
|
|
57
|
-
@tier "presentation"
|
|
58
|
-
direction : "rtl" | "ltr" = rtl
|
|
59
|
-
@label "Direction"
|
|
60
|
-
@description "direction prop"
|
|
61
|
-
@tier "presentation"
|
|
62
|
-
selfFetch : boolean = true
|
|
63
|
-
@label "Fetch its own rows on mount?"
|
|
64
|
-
@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."
|
|
65
|
-
@tier "internal"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
page "/book-table-of-contents" as BookTableOfContentsPage -> BookTableOfContentsRender
|
|
70
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
app ui-book-viewer "1.0.0"
|
|
2
|
-
"BookViewer — UI factory (1:1 with the @almadar/ui book-viewer pattern)."
|
|
3
|
-
;; @pattern "book-viewer"
|
|
4
|
-
orbital BookViewerOrbital {
|
|
5
|
-
type BookViewerLoaded = Event { data : [BookViewerItem] } "BookViewer rows finished loading; payload.data holds the collection"
|
|
6
|
-
type BookViewerError = {
|
|
7
|
-
message : string!
|
|
8
|
-
name : string
|
|
9
|
-
code : string
|
|
10
|
-
stack : string
|
|
11
|
-
}
|
|
12
|
-
type BookViewerFieldMap = {
|
|
13
|
-
title : string!
|
|
14
|
-
subtitle : string!
|
|
15
|
-
author : string!
|
|
16
|
-
coverImageUrl : string!
|
|
17
|
-
direction : string!
|
|
18
|
-
parts : string!
|
|
19
|
-
partTitle : string!
|
|
20
|
-
chapters : string!
|
|
21
|
-
chapterId : string!
|
|
22
|
-
chapterTitle : string!
|
|
23
|
-
chapterContent : string!
|
|
24
|
-
chapterOrbitalSchema : string!
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
entity BookViewerItem [runtime] {
|
|
28
|
-
id : string!
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
trait BookViewerRender -> @rebindable BookViewerItem [interaction, instance] {
|
|
32
|
-
initial: idle
|
|
33
|
-
|
|
34
|
-
state idle {
|
|
35
|
-
INIT -> idle when @config.selfFetch
|
|
36
|
-
(fetch BookViewerItem { emit: { success: BookViewerLoaded } })
|
|
37
|
-
(render-ui main {
|
|
38
|
-
className: @config.className
|
|
39
|
-
isLoading: @config.isLoading
|
|
40
|
-
error: @config.error
|
|
41
|
-
sortBy: @config.sortBy
|
|
42
|
-
sortDirection: @config.sortDirection
|
|
43
|
-
searchValue: @config.searchValue
|
|
44
|
-
page: @config.pageProp
|
|
45
|
-
pageSize: @config.pageSize
|
|
46
|
-
totalCount: @config.totalCount
|
|
47
|
-
activeFilters: @config.activeFilters
|
|
48
|
-
selectedIds: @config.selectedIds
|
|
49
|
-
entity: @entity
|
|
50
|
-
initialPage: @config.initialPage
|
|
51
|
-
fieldMap: @config.fieldMap
|
|
52
|
-
type: book-viewer
|
|
53
|
-
})
|
|
54
|
-
INIT -> idle when (not @config.selfFetch)
|
|
55
|
-
(render-ui main {
|
|
56
|
-
className: @config.className
|
|
57
|
-
isLoading: @config.isLoading
|
|
58
|
-
error: @config.error
|
|
59
|
-
sortBy: @config.sortBy
|
|
60
|
-
sortDirection: @config.sortDirection
|
|
61
|
-
searchValue: @config.searchValue
|
|
62
|
-
page: @config.pageProp
|
|
63
|
-
pageSize: @config.pageSize
|
|
64
|
-
totalCount: @config.totalCount
|
|
65
|
-
activeFilters: @config.activeFilters
|
|
66
|
-
selectedIds: @config.selectedIds
|
|
67
|
-
entity: @entity
|
|
68
|
-
initialPage: @config.initialPage
|
|
69
|
-
fieldMap: @config.fieldMap
|
|
70
|
-
type: book-viewer
|
|
71
|
-
})
|
|
72
|
-
BookViewerLoaded -> idle
|
|
73
|
-
(render-ui main {
|
|
74
|
-
className: @config.className
|
|
75
|
-
isLoading: @config.isLoading
|
|
76
|
-
error: @config.error
|
|
77
|
-
sortBy: @config.sortBy
|
|
78
|
-
sortDirection: @config.sortDirection
|
|
79
|
-
searchValue: @config.searchValue
|
|
80
|
-
page: @config.pageProp
|
|
81
|
-
pageSize: @config.pageSize
|
|
82
|
-
totalCount: @config.totalCount
|
|
83
|
-
activeFilters: @config.activeFilters
|
|
84
|
-
selectedIds: @config.selectedIds
|
|
85
|
-
entity: @payload.data
|
|
86
|
-
initialPage: @config.initialPage
|
|
87
|
-
fieldMap: @config.fieldMap
|
|
88
|
-
type: book-viewer
|
|
89
|
-
})
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
emits {
|
|
93
|
-
BookViewerLoaded
|
|
94
|
-
@description "BookViewer rows finished loading; payload.data holds the collection."
|
|
95
|
-
@synonyms "loaded, fetched, retrieved"
|
|
96
|
-
@tier "essential"
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
config {
|
|
100
|
-
className : string
|
|
101
|
-
@label "Class Name"
|
|
102
|
-
@description "Additional CSS classes"
|
|
103
|
-
@tier "presentation"
|
|
104
|
-
isLoading : boolean
|
|
105
|
-
@label "Is Loading"
|
|
106
|
-
@description "Loading state indicator"
|
|
107
|
-
@tier "presentation"
|
|
108
|
-
error : BookViewerError
|
|
109
|
-
@label "Error"
|
|
110
|
-
@description "Error state (UiError)"
|
|
111
|
-
@tier "presentation"
|
|
112
|
-
sortBy : string
|
|
113
|
-
@label "Sort By"
|
|
114
|
-
@description "Current sort field"
|
|
115
|
-
@tier "presentation"
|
|
116
|
-
sortDirection : "asc" | "desc" = asc
|
|
117
|
-
@label "Sort Direction"
|
|
118
|
-
@description "Current sort direction"
|
|
119
|
-
@tier "presentation"
|
|
120
|
-
searchValue : string
|
|
121
|
-
@label "Search Value"
|
|
122
|
-
@description "Current search query value"
|
|
123
|
-
@tier "presentation"
|
|
124
|
-
pageProp : number
|
|
125
|
-
@label "Page"
|
|
126
|
-
@description "Current page number"
|
|
127
|
-
@synonyms "page"
|
|
128
|
-
@tier "presentation"
|
|
129
|
-
pageSize : number
|
|
130
|
-
@label "Page Size"
|
|
131
|
-
@description "Number of items per page"
|
|
132
|
-
@tier "presentation"
|
|
133
|
-
totalCount : number
|
|
134
|
-
@label "Total Count"
|
|
135
|
-
@description "Total number of items"
|
|
136
|
-
@tier "presentation"
|
|
137
|
-
activeFilters : Map string string = {}
|
|
138
|
-
@label "Active Filters"
|
|
139
|
-
@description "Active filters"
|
|
140
|
-
@tier "presentation"
|
|
141
|
-
selectedIds : [string] = []
|
|
142
|
-
@label "Selected Ids"
|
|
143
|
-
@description "Currently selected item IDs"
|
|
144
|
-
@tier "presentation"
|
|
145
|
-
initialPage : number = 0
|
|
146
|
-
@label "Initial Page"
|
|
147
|
-
@description "Initial page index (default: 0 = cover)"
|
|
148
|
-
@tier "presentation"
|
|
149
|
-
fieldMap : BookViewerFieldMap
|
|
150
|
-
@label "Field Map"
|
|
151
|
-
@description "Field name translation map — a BookFieldMap object or locale key ('ar')"
|
|
152
|
-
@tier "presentation"
|
|
153
|
-
selfFetch : boolean = true
|
|
154
|
-
@label "Fetch its own rows on mount?"
|
|
155
|
-
@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."
|
|
156
|
-
@tier "internal"
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
page "/book-viewer" as BookViewerPage -> BookViewerRender
|
|
161
|
-
}
|