@almadar/std 16.141.0 → 16.142.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/lolo/ui/avl/molecules/ui-module-card.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-app-search.lolo +22 -1
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +10 -0
- package/behaviors/lolo/ui/core/atoms/std-filter.lolo +3 -0
- package/behaviors/lolo/ui/core/atoms/std-wizard.lolo +0 -244
- package/behaviors/lolo/ui/core/atoms/ui-aside.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/ui-typography.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-code-block.lolo +3 -3
- package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-drawer.lolo +2 -2
- package/behaviors/lolo/ui/core/molecules/ui-filter-group.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-flip-card.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-quiz-block.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-repeatable-form-section.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-signature-pad.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +1 -1
- package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +1 -1
- package/behaviors/lolo/ui/core/organisms/ui-segment-renderer.lolo +2 -12
- package/behaviors/lolo/ui/marketing/atoms/ui-marketing-stat-card.lolo +1 -1
- package/behaviors/lolo/ui/marketing/molecules/ui-case-study-card.lolo +1 -1
- package/behaviors/lolo/ui/marketing/molecules/ui-feature-card.lolo +1 -1
- package/behaviors/lolo/ui/marketing/molecules/ui-pricing-card.lolo +1 -1
- package/behaviors/registry/factory-signatures.json +286 -3335
- package/behaviors/registry/ui/avl/molecules/ui-module-card.orb +1 -1
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +83 -0
- package/behaviors/registry/ui/core/atoms/std-browse.orb +24 -4
- package/behaviors/registry/ui/core/atoms/std-filter.orb +3 -0
- package/behaviors/registry/ui/core/atoms/std-wizard.orb +0 -912
- package/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
- package/behaviors/registry/ui/core/atoms/ui-typography.orb +4 -2
- package/behaviors/registry/ui/core/molecules/ui-code-block.orb +54 -32
- package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-drawer.orb +2 -2
- package/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
- package/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +4 -47
- package/behaviors/registry/ui/marketing/atoms/ui-marketing-stat-card.orb +1 -1
- package/behaviors/registry/ui/marketing/molecules/ui-case-study-card.orb +1 -1
- package/behaviors/registry/ui/marketing/molecules/ui-feature-card.orb +1 -1
- package/behaviors/registry/ui/marketing/molecules/ui-pricing-card.orb +1 -1
- package/dist/behaviors/behaviors-embeddings.json +324 -324
- package/dist/behaviors/behaviors-registry.json +35 -26
- package/dist/behaviors/exports-reader.js +25 -518
- package/dist/behaviors/functions/index.d.ts +80 -119
- package/dist/behaviors/functions/index.js +23 -486
- package/dist/behaviors/index.d.ts +1 -1
- package/dist/behaviors/index.js +26 -519
- package/dist/behaviors/knob-embeddings.json +1 -1
- package/dist/behaviors/query.js +25 -518
- package/dist/behaviors/registry/factory-signatures.json +286 -3335
- package/dist/behaviors/registry/ui/avl/molecules/ui-module-card.orb +1 -1
- package/dist/behaviors/registry/ui/core/atoms/std-app-search.orb +83 -0
- package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +24 -4
- package/dist/behaviors/registry/ui/core/atoms/std-filter.orb +3 -0
- package/dist/behaviors/registry/ui/core/atoms/std-wizard.orb +0 -912
- package/dist/behaviors/registry/ui/core/atoms/ui-aside.orb +1 -1
- package/dist/behaviors/registry/ui/core/atoms/ui-typography.orb +4 -2
- package/dist/behaviors/registry/ui/core/molecules/ui-code-block.orb +54 -32
- package/dist/behaviors/registry/ui/core/molecules/ui-data-grid.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-drawer.orb +2 -2
- package/dist/behaviors/registry/ui/core/molecules/ui-filter-group.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-flip-card.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-quiz-block.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-repeatable-form-section.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-signature-pad.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +1 -1
- package/dist/behaviors/registry/ui/core/molecules/ui-table-view.orb +1 -1
- package/dist/behaviors/registry/ui/core/organisms/ui-segment-renderer.orb +4 -47
- package/dist/behaviors/registry/ui/marketing/atoms/ui-marketing-stat-card.orb +1 -1
- package/dist/behaviors/registry/ui/marketing/molecules/ui-case-study-card.orb +1 -1
- package/dist/behaviors/registry/ui/marketing/molecules/ui-feature-card.orb +1 -1
- package/dist/behaviors/registry/ui/marketing/molecules/ui-pricing-card.orb +1 -1
- package/dist/behaviors-embeddings.json +324 -324
- package/dist/behaviors-registry.json +35 -26
- package/dist/index.d.ts +1 -1
- package/dist/index.js +26 -519
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +286 -3335
- package/package.json +4 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-module-card "1.0.0"
|
|
2
|
-
"ModuleCard — a card summarizing one course module or lesson with progress and entry point."
|
|
2
|
+
"ModuleCard — a card summarizing one course module or lesson with progress and entry point. — UI factory (1:1 with the @almadar/ui module-card pattern)."
|
|
3
3
|
;; @capabilities "course module card, lesson card, curriculum unit card, learning-path step card"
|
|
4
4
|
orbital ModuleCardOrbital {
|
|
5
5
|
entity ModuleCardItem [runtime] {
|
|
@@ -12,6 +12,27 @@ orbital AppSearchOrbital {
|
|
|
12
12
|
searchTerm : string @intrinsic @description "The current search query the user submitted." @synonyms "query, term, q" = ""
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
trait AppSearchIdleHint -> AppSearchTarget [interaction, instance] {
|
|
16
|
+
initial: idle
|
|
17
|
+
|
|
18
|
+
state idle {
|
|
19
|
+
INIT -> idle
|
|
20
|
+
(render-ui main {
|
|
21
|
+
type: stack
|
|
22
|
+
align: center
|
|
23
|
+
direction: vertical
|
|
24
|
+
gap: sm
|
|
25
|
+
className: "py-12"
|
|
26
|
+
children: [{ type: icon, name: search, size: lg, color: muted }, {
|
|
27
|
+
type: typography
|
|
28
|
+
variant: caption
|
|
29
|
+
color: muted
|
|
30
|
+
content: "Start typing to search"
|
|
31
|
+
}]
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
15
36
|
trait AppSearch -> @rebindable AppSearchTarget [interaction, collection] {
|
|
16
37
|
initial: idle
|
|
17
38
|
|
|
@@ -161,7 +182,7 @@ orbital AppSearchOrbital {
|
|
|
161
182
|
}
|
|
162
183
|
|
|
163
184
|
config {
|
|
164
|
-
idleContent : trait
|
|
185
|
+
idleContent : trait = @trait.AppSearchIdleHint
|
|
165
186
|
@label "Idle content"
|
|
166
187
|
@description "The normal content view (e.g. the data ledger/browse trait) shown when no search is active."
|
|
167
188
|
@tier "presentation"
|
|
@@ -30,6 +30,10 @@ orbital BrowseItemOrbital {
|
|
|
30
30
|
itemActions: @config.itemActions
|
|
31
31
|
pageSize: @config.displayPageSize
|
|
32
32
|
}
|
|
33
|
+
|
|
34
|
+
listens {
|
|
35
|
+
BrowseItemBrowse.BrowseItemLoaded -> DataGridLoaded
|
|
36
|
+
}
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
trait DenseTableView = TableView.traits.TableViewRender -> BrowseItem {
|
|
@@ -42,6 +46,10 @@ orbital BrowseItemOrbital {
|
|
|
42
46
|
pageSize: @config.displayPageSize
|
|
43
47
|
selectable: true
|
|
44
48
|
}
|
|
49
|
+
|
|
50
|
+
listens {
|
|
51
|
+
BrowseItemBrowse.BrowseItemLoaded -> TableViewLoaded
|
|
52
|
+
}
|
|
45
53
|
}
|
|
46
54
|
|
|
47
55
|
trait BrowseItemBrowse -> @rebindable BrowseItem [interaction, collection] {
|
|
@@ -461,6 +469,8 @@ orbital BrowseItemOrbital {
|
|
|
461
469
|
entity: ?data
|
|
462
470
|
fields: []
|
|
463
471
|
gap: lg
|
|
472
|
+
itemActions: @config.itemActions
|
|
473
|
+
maxInlineActions: @config.maxInlineActions
|
|
464
474
|
minCardWidth: 260
|
|
465
475
|
renderItem: (fn item {
|
|
466
476
|
children: [{
|
|
@@ -16,6 +16,7 @@ orbital FilterTargetOrbital {
|
|
|
16
16
|
(fetch FilterTarget {})
|
|
17
17
|
(render-ui main {
|
|
18
18
|
entity: FilterTarget
|
|
19
|
+
event: @config.event
|
|
19
20
|
filters: @config.filters
|
|
20
21
|
look: @config.filterBarLook
|
|
21
22
|
type: filter-group
|
|
@@ -25,6 +26,7 @@ orbital FilterTargetOrbital {
|
|
|
25
26
|
(set @entity.value ?value)
|
|
26
27
|
(render-ui main {
|
|
27
28
|
entity: FilterTarget
|
|
29
|
+
event: @config.event
|
|
28
30
|
filters: @config.filters
|
|
29
31
|
look: @config.filterBarLook
|
|
30
32
|
type: filter-group
|
|
@@ -38,6 +40,7 @@ orbital FilterTargetOrbital {
|
|
|
38
40
|
})
|
|
39
41
|
(render-ui main {
|
|
40
42
|
entity: FilterTarget
|
|
43
|
+
event: @config.event
|
|
41
44
|
filters: @config.filters
|
|
42
45
|
look: @config.filterBarLook
|
|
43
46
|
type: filter-group
|
|
@@ -3,16 +3,6 @@ app std-wizard "3.0.1"
|
|
|
3
3
|
type ObjectSpec = { id : string, label : string, value : string }
|
|
4
4
|
type StepSpec = { label : string!, key : string, icon : string, description : string, fields : [string], allowedRoles : [string] }
|
|
5
5
|
orbital WizardOrbital {
|
|
6
|
-
uses Icon from "std/behaviors/ui-icon"
|
|
7
|
-
uses Typography from "std/behaviors/ui-typography"
|
|
8
|
-
uses Button from "std/behaviors/ui-button"
|
|
9
|
-
uses Card from "std/behaviors/ui-card"
|
|
10
|
-
uses LoadingState from "std/behaviors/ui-loading-state"
|
|
11
|
-
uses ErrorState from "std/behaviors/ui-error-state"
|
|
12
|
-
uses WizardProgress from "std/behaviors/ui-wizard-progress"
|
|
13
|
-
uses FormSection from "std/behaviors/ui-form-section"
|
|
14
|
-
uses WizardNavigation from "std/behaviors/ui-wizard-navigation"
|
|
15
|
-
|
|
16
6
|
type WizardStep = { id : string!, title : string!, description : string }
|
|
17
7
|
|
|
18
8
|
type WizardLoaded = Event { data : [ObjectSpec] } "Fired when wizard context finishes loading"
|
|
@@ -46,240 +36,6 @@ orbital WizardOrbital {
|
|
|
46
36
|
errorMessage : string @description "Error message displayed when a process fails." @synonyms "error, fault, problem" = ""
|
|
47
37
|
}
|
|
48
38
|
|
|
49
|
-
trait Icon_ListChecks = Icon.traits.IconRender -> WizardView {
|
|
50
|
-
config {
|
|
51
|
-
name: list-checks
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
trait Icon_CheckCircle = Icon.traits.IconRender -> WizardView {
|
|
56
|
-
config {
|
|
57
|
-
name: check-circle
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
trait Icon_XCircle = Icon.traits.IconRender -> WizardView {
|
|
62
|
-
config {
|
|
63
|
-
name: x-circle
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
trait Icon_CurrentStep = Icon.traits.IconRender -> WizardView {
|
|
68
|
-
config {
|
|
69
|
-
name: @entity.currentStepIcon
|
|
70
|
-
size: lg
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
trait Icon_ChevronLeft = Icon.traits.IconRender -> WizardView {
|
|
75
|
-
config {
|
|
76
|
-
name: chevron-left
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
trait Icon_X = Icon.traits.IconRender -> WizardView {
|
|
81
|
-
config {
|
|
82
|
-
name: x
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
trait Icon_ChevronRight = Icon.traits.IconRender -> WizardView {
|
|
87
|
-
config {
|
|
88
|
-
name: chevron-right
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
trait Icon_RotateCcw = Icon.traits.IconRender -> WizardView {
|
|
93
|
-
config {
|
|
94
|
-
name: rotate-ccw
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
trait Typography_Title = Typography.traits.TypographyRender -> WizardView {
|
|
99
|
-
config {
|
|
100
|
-
content: @config.title
|
|
101
|
-
variant: h3
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
trait Typography_CurrentStepLabel = Typography.traits.TypographyRender -> WizardView {
|
|
106
|
-
config {
|
|
107
|
-
content: @entity.currentStepLabel
|
|
108
|
-
variant: h2
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
trait Typography_CurrentStepDescription = Typography.traits.TypographyRender -> WizardView {
|
|
113
|
-
config {
|
|
114
|
-
color: muted
|
|
115
|
-
content: @entity.currentStepDescription
|
|
116
|
-
variant: body
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
trait Typography_Complete = Typography.traits.TypographyRender -> WizardView {
|
|
121
|
-
config {
|
|
122
|
-
align: center
|
|
123
|
-
content: Complete
|
|
124
|
-
variant: h2
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
trait Typography_CompleteMessage = Typography.traits.TypographyRender -> WizardView {
|
|
129
|
-
config {
|
|
130
|
-
align: center
|
|
131
|
-
color: muted
|
|
132
|
-
content: @entity.completionMessage
|
|
133
|
-
variant: body
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
trait Typography_Cancelled = Typography.traits.TypographyRender -> WizardView {
|
|
138
|
-
config {
|
|
139
|
-
align: center
|
|
140
|
-
content: Cancelled
|
|
141
|
-
variant: h2
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
trait Typography_CancelledMessage = Typography.traits.TypographyRender -> WizardView {
|
|
146
|
-
config {
|
|
147
|
-
align: center
|
|
148
|
-
color: muted
|
|
149
|
-
content: "The wizard was cancelled. No data was submitted."
|
|
150
|
-
variant: body
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
trait Typography_SignUp = Typography.traits.TypographyRender -> WizardView {
|
|
155
|
-
config {
|
|
156
|
-
content: Sign-up
|
|
157
|
-
variant: h3
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
trait Button_Back = Button.traits.ButtonRender -> WizardView {
|
|
162
|
-
config {
|
|
163
|
-
action: RETREAT
|
|
164
|
-
disabled: @entity.isFirstStep
|
|
165
|
-
icon: chevron-left
|
|
166
|
-
label: Back
|
|
167
|
-
variant: ghost
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
trait Button_CancelWizard = Button.traits.ButtonRender -> WizardView {
|
|
172
|
-
config {
|
|
173
|
-
action: CANCEL
|
|
174
|
-
icon: x
|
|
175
|
-
label: "Cancel wizard"
|
|
176
|
-
variant: ghost
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
trait Button_Advance = Button.traits.ButtonRender -> WizardView {
|
|
181
|
-
config {
|
|
182
|
-
action: ADVANCE
|
|
183
|
-
icon: @entity.primaryActionIcon
|
|
184
|
-
label: @entity.primaryActionLabel
|
|
185
|
-
variant: primary
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
trait Button_Restart = Button.traits.ButtonRender -> WizardView {
|
|
190
|
-
config {
|
|
191
|
-
action: RESTART
|
|
192
|
-
icon: rotate-ccw
|
|
193
|
-
label: "Start a new wizard"
|
|
194
|
-
variant: secondary
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
trait Button_RestartGhost = Button.traits.ButtonRender -> WizardView {
|
|
199
|
-
config {
|
|
200
|
-
action: RESTART
|
|
201
|
-
icon: rotate-ccw
|
|
202
|
-
label: "Start a new wizard"
|
|
203
|
-
variant: ghost
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
trait WizardProgress_Main = WizardProgress.traits.WizardProgressRender -> WizardView {
|
|
208
|
-
config {
|
|
209
|
-
allowNavigation: false
|
|
210
|
-
currentStep: @entity.currentStepIndex
|
|
211
|
-
steps: @entity.wizardSteps
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
trait WizardProgress_TotalSteps = WizardProgress.traits.WizardProgressRender -> WizardView {
|
|
216
|
-
config {
|
|
217
|
-
allowNavigation: false
|
|
218
|
-
currentStep: @entity.totalSteps
|
|
219
|
-
steps: @entity.wizardSteps
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
trait FormSection_Main = FormSection.traits.FormSectionRender -> WizardView {
|
|
224
|
-
config {
|
|
225
|
-
cancelEvent: CANCEL
|
|
226
|
-
fields: @entity.currentFields
|
|
227
|
-
mode: edit
|
|
228
|
-
showCancel: false
|
|
229
|
-
showSubmit: false
|
|
230
|
-
submitEvent: ADVANCE
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
trait WizardNavigation_Main = WizardNavigation.traits.WizardNavigationRender -> WizardView {
|
|
235
|
-
config {
|
|
236
|
-
currentStep: 0
|
|
237
|
-
onNext: NEXT
|
|
238
|
-
showBack: false
|
|
239
|
-
showComplete: false
|
|
240
|
-
showNext: true
|
|
241
|
-
totalSteps: 3
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
trait LoadingState_Loading = LoadingState.traits.LoadingStateRender -> WizardView {
|
|
246
|
-
config {
|
|
247
|
-
title: "Loading wizard…"
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
trait LoadingState_Refreshing = LoadingState.traits.LoadingStateRender -> WizardView {
|
|
252
|
-
config {
|
|
253
|
-
title: "Refreshing…"
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
trait LoadingState_Restarting = LoadingState.traits.LoadingStateRender -> WizardView {
|
|
258
|
-
config {
|
|
259
|
-
title: "Restarting…"
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
trait LoadingState_Retrying = LoadingState.traits.LoadingStateRender -> WizardView {
|
|
264
|
-
config {
|
|
265
|
-
title: "Retrying…"
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
trait ErrorState_LoadFailed = ErrorState.traits.ErrorStateRender -> WizardView {
|
|
270
|
-
config {
|
|
271
|
-
message: @entity.errorMessage
|
|
272
|
-
title: "Failed to load"
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
trait ErrorState_SaveFailed = ErrorState.traits.ErrorStateRender -> WizardView {
|
|
277
|
-
config {
|
|
278
|
-
message: @entity.errorMessage
|
|
279
|
-
title: "Save failed"
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
39
|
trait WizardForm -> @rebindable WizardView [interaction, instance] {
|
|
284
40
|
initial: loading
|
|
285
41
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-aside "1.0.0"
|
|
2
|
-
"Aside — a secondary side panel that hosts navigation links or supplementary content alongside a main content area."
|
|
2
|
+
"Aside — a secondary side panel that hosts navigation links or supplementary content alongside a main content area. — UI factory (1:1 with the @almadar/ui aside pattern)."
|
|
3
3
|
;; @capabilities "settings navigation sidebar, preferences menu panel, account settings nav, secondary panel, side navigation rail"
|
|
4
4
|
orbital AsideOrbital {
|
|
5
5
|
entity AsideItem [runtime] {
|
|
@@ -44,11 +44,11 @@ orbital TypographyOrbital {
|
|
|
44
44
|
@label "Align"
|
|
45
45
|
@description "Text alignment"
|
|
46
46
|
@tier "presentation"
|
|
47
|
-
weight : "light" | "normal" | "medium" | "semibold" | "bold" =
|
|
47
|
+
weight : "none" | "light" | "normal" | "medium" | "semibold" | "bold" = none
|
|
48
48
|
@label "Weight"
|
|
49
49
|
@description "Font weight override"
|
|
50
50
|
@tier "presentation"
|
|
51
|
-
size : "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" =
|
|
51
|
+
size : "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" = none
|
|
52
52
|
@label "Size"
|
|
53
53
|
@description "Font size override"
|
|
54
54
|
@tier "presentation"
|
|
@@ -10,7 +10,7 @@ orbital CodeBlockOrbital {
|
|
|
10
10
|
type CodeBlockFilesItem = {
|
|
11
11
|
label : string!
|
|
12
12
|
code : string!
|
|
13
|
-
language : "text" | "json" | "javascript" | "js" | "typescript" | "ts" | "jsx" | "tsx" | "css" | "markdown" | "md" | "bash" | "shell" | "sh" | "yaml" | "yml" | "rust" | "python" | "py" | "sql" | "diff" | "toml" | "go" | "graphql" | "html" | "xml" | "orb" | "lolo"
|
|
13
|
+
language : "text" | "json" | "javascript" | "js" | "typescript" | "ts" | "jsx" | "tsx" | "css" | "markdown" | "md" | "bash" | "shell" | "sh" | "yaml" | "yml" | "rust" | "python" | "py" | "sql" | "diff" | "toml" | "go" | "graphql" | "html" | "xml" | "clojure" | "clj" | "edn" | "haskell" | "hs" | "lisp" | "scheme" | "scala" | "elixir" | "ex" | "exs" | "erlang" | "erl" | "elm" | "fsharp" | "fs" | "fsx" | "ocaml" | "ml" | "java" | "c" | "cpp" | "c++" | "cc" | "cxx" | "hpp" | "h" | "csharp" | "cs" | "objectivec" | "objc" | "php" | "ruby" | "rb" | "swift" | "kotlin" | "kt" | "lua" | "r" | "dart" | "julia" | "fortran" | "f90" | "f95" | "perl" | "pl" | "powershell" | "ps1" | "makefile" | "make" | "nginx" | "ini" | "orb" | "lolo"
|
|
14
14
|
}
|
|
15
15
|
type CodeBlockActionsItem = {
|
|
16
16
|
label : string!
|
|
@@ -107,9 +107,9 @@ orbital CodeBlockOrbital {
|
|
|
107
107
|
@label "Code"
|
|
108
108
|
@description "The code content to display"
|
|
109
109
|
@tier "presentation"
|
|
110
|
-
language :
|
|
110
|
+
language : string = text
|
|
111
111
|
@label "Language"
|
|
112
|
-
@description "Programming language for syntax highlighting"
|
|
112
|
+
@description "Programming language for syntax highlighting (any Prism id; loaded on demand if not pre-registered)"
|
|
113
113
|
@tier "presentation"
|
|
114
114
|
showCopyButton : boolean = true
|
|
115
115
|
@label "Show Copy Button"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-data-grid "1.0.0"
|
|
2
|
-
"DataGrid — structured records grid rendering rows over configurable columns, with sort, select, and drag-reorder."
|
|
2
|
+
"DataGrid — structured records grid rendering rows over configurable columns, with sort, select, and drag-reorder. — UI factory (1:1 with the @almadar/ui data-grid pattern)."
|
|
3
3
|
;; @capabilities "admin table, records grid, user list, CRUD list, manage-records view, spreadsheet-style data grid, sortable columns"
|
|
4
4
|
orbital DataGridOrbital {
|
|
5
5
|
type DataGridLoaded = Event { data : [DataGridItem] } "DataGrid rows finished loading; payload.data holds the collection"
|
|
@@ -65,9 +65,9 @@ orbital DrawerOrbital {
|
|
|
65
65
|
@label "On Close"
|
|
66
66
|
@description "Callback when drawer should close (injected by slot wrapper)"
|
|
67
67
|
@tier "presentation"
|
|
68
|
-
title :
|
|
68
|
+
title : node
|
|
69
69
|
@label "Title"
|
|
70
|
-
@description "Drawer title"
|
|
70
|
+
@description "Drawer title (text or any node, e.g. a brand logo + name)."
|
|
71
71
|
@tier "presentation"
|
|
72
72
|
children : node
|
|
73
73
|
@label "Children"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-filter-group "1.0.0"
|
|
2
|
-
"FilterGroup — a panel of filter controls that narrows a collection by field values."
|
|
2
|
+
"FilterGroup — a panel of filter controls that narrows a collection by field values. — UI factory (1:1 with the @almadar/ui filter-group pattern)."
|
|
3
3
|
;; @capabilities "search refinement panel, facet filters, admin list filters, records filter sidebar, filter chips panel"
|
|
4
4
|
orbital FilterGroupOrbital {
|
|
5
5
|
type FilterGroupFiltersItem = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-flip-card "1.0.0"
|
|
2
|
-
"FlipCard — flip card that reveals a hidden back face on tap or click, toggling between a front and back content slot."
|
|
2
|
+
"FlipCard — flip card that reveals a hidden back face on tap or click, toggling between a front and back content slot. — UI factory (1:1 with the @almadar/ui flip-card pattern)."
|
|
3
3
|
;; @capabilities "flashcard, study deck, spaced-repetition review card, memorization drill, quiz reveal card, question/answer card, before/after reveal, term-and-definition card"
|
|
4
4
|
orbital FlipCardOrbital {
|
|
5
5
|
entity FlipCardItem [runtime] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-quiz-block "1.0.0"
|
|
2
|
-
"QuizBlock — a single quiz question with answer choices and submit/reveal feedback."
|
|
2
|
+
"QuizBlock — a single quiz question with answer choices and submit/reveal feedback. — UI factory (1:1 with the @almadar/ui quiz-block pattern)."
|
|
3
3
|
;; @capabilities "multiple-choice quiz, test question, exam item, assessment question, knowledge check, trivia question"
|
|
4
4
|
orbital QuizBlockOrbital {
|
|
5
5
|
entity QuizBlockItem [runtime] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-repeatable-form-section "1.0.0"
|
|
2
|
-
"RepeatableFormSection — a form section that repeats a fixed group of fields, letting the user add or remove entries."
|
|
2
|
+
"RepeatableFormSection — a form section that repeats a fixed group of fields, letting the user add or remove entries. — UI factory (1:1 with the @almadar/ui repeatable-form-section pattern)."
|
|
3
3
|
;; @capabilities "dynamic line items, repeatable field group, add/remove entry rows, multi-entry form block"
|
|
4
4
|
orbital RepeatableFormSectionOrbital {
|
|
5
5
|
type RepeatableFormSectionItemsItem = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-signature-pad "1.0.0"
|
|
2
|
-
"SignaturePad — a draw-to-sign canvas that captures a handwritten signature or initials."
|
|
2
|
+
"SignaturePad — a draw-to-sign canvas that captures a handwritten signature or initials. — UI factory (1:1 with the @almadar/ui signature-pad pattern)."
|
|
3
3
|
;; @capabilities "e-signature capture, sign-here field, consent signature, initial-here field, wet-signature substitute"
|
|
4
4
|
orbital SignaturePadOrbital {
|
|
5
5
|
type SignaturePadError = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-sortable-list "1.0.0"
|
|
2
|
-
"SortableList — a drag-and-drop reorderable list of items."
|
|
2
|
+
"SortableList — a drag-and-drop reorderable list of items. — UI factory (1:1 with the @almadar/ui sortable-list pattern)."
|
|
3
3
|
;; @capabilities "checklist, task list, to-do list, priority list, ranked list, drag-to-reorder queue"
|
|
4
4
|
orbital SortableListOrbital {
|
|
5
5
|
type SortableListLoaded = Event { data : [SortableListItem] } "SortableList rows finished loading; payload.data holds the collection"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-table-view "1.0.0"
|
|
2
|
-
"TableView — sortable, selectable data table rendering rows over configurable columns, with inline row actions and grouping."
|
|
2
|
+
"TableView — sortable, selectable data table rendering rows over configurable columns, with inline row actions and grouping. — UI factory (1:1 with the @almadar/ui table-view pattern)."
|
|
3
3
|
;; @capabilities "admin console table, records list, CRUD data table, user list, manage-users grid, sortable columns, row selection with bulk actions, grouped list view"
|
|
4
4
|
orbital TableViewOrbital {
|
|
5
5
|
type TableViewLoaded = Event { data : [TableViewItem] } "TableView rows finished loading; payload.data holds the collection"
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
app ui-segment-renderer "1.0.0"
|
|
2
2
|
"SegmentRenderer — UI factory (1:1 with the @almadar/ui segment-renderer pattern)."
|
|
3
3
|
orbital SegmentRendererOrbital {
|
|
4
|
-
type SegmentRendererSegmentsItem = {
|
|
5
|
-
type : json!
|
|
6
|
-
content : string!
|
|
7
|
-
}
|
|
8
|
-
type SegmentRendererUserProgress = {
|
|
9
|
-
activationResponse : string
|
|
10
|
-
reflectionNotes : [string]
|
|
11
|
-
bloomAnswered : Map string boolean
|
|
12
|
-
}
|
|
13
|
-
|
|
14
4
|
entity SegmentRendererItem [runtime] {
|
|
15
5
|
id : string!
|
|
16
6
|
}
|
|
@@ -30,7 +20,7 @@ orbital SegmentRendererOrbital {
|
|
|
30
20
|
}
|
|
31
21
|
|
|
32
22
|
config {
|
|
33
|
-
segments : [
|
|
23
|
+
segments : [json] = []
|
|
34
24
|
@label "Segments"
|
|
35
25
|
@description "Parsed lesson segments (see `parseLessonSegments`)"
|
|
36
26
|
@tier "presentation"
|
|
@@ -42,7 +32,7 @@ orbital SegmentRendererOrbital {
|
|
|
42
32
|
@label "Container Class Name"
|
|
43
33
|
@description "CSS classes for the outer wrapping div"
|
|
44
34
|
@tier "presentation"
|
|
45
|
-
userProgress :
|
|
35
|
+
userProgress : json = {}
|
|
46
36
|
@label "User Progress"
|
|
47
37
|
@description "User progress for restoring activation/reflection state"
|
|
48
38
|
@tier "presentation"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-marketing-stat-card "1.0.0"
|
|
2
|
-
"MarketingStatCard — a single number-highlight card pairing a large value with a label and trend delta."
|
|
2
|
+
"MarketingStatCard — a single number-highlight card pairing a large value with a label and trend delta. — UI factory (1:1 with the @almadar/ui marketing-stat-card pattern)."
|
|
3
3
|
;; @capabilities "KPI card, metric tile, dashboard stat card, number card, big-number widget, stat highlight, key metric callout"
|
|
4
4
|
orbital MarketingStatCardOrbital {
|
|
5
5
|
entity MarketingStatCardItem [runtime] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-case-study-card "1.0.0"
|
|
2
|
-
"CaseStudyCard — a card summarizing a customer case study with logo, headline result, and link."
|
|
2
|
+
"CaseStudyCard — a card summarizing a customer case study with logo, headline result, and link. — UI factory (1:1 with the @almadar/ui case-study-card pattern)."
|
|
3
3
|
;; @capabilities "customer story, success story, client story card, results showcase, proof-point card"
|
|
4
4
|
orbital CaseStudyCardOrbital {
|
|
5
5
|
entity CaseStudyCardItem [runtime] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-feature-card "1.0.0"
|
|
2
|
-
"FeatureCard — an icon-led card pairing a title and description to call out a single product feature."
|
|
2
|
+
"FeatureCard — an icon-led card pairing a title and description to call out a single product feature. — UI factory (1:1 with the @almadar/ui feature-card pattern)."
|
|
3
3
|
;; @capabilities "feature highlight, benefit callout, product capability card, feature-grid tile"
|
|
4
4
|
orbital FeatureCardOrbital {
|
|
5
5
|
entity FeatureCardItem [runtime] {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
app ui-pricing-card "1.0.0"
|
|
2
|
-
"PricingCard — a single pricing-tier card with price, billing period, feature list, and call-to-action."
|
|
2
|
+
"PricingCard — a single pricing-tier card with price, billing period, feature list, and call-to-action. — UI factory (1:1 with the @almadar/ui pricing-card pattern)."
|
|
3
3
|
;; @capabilities "pricing tier, plan card, subscription tier, plan comparison card, price plan"
|
|
4
4
|
orbital PricingCardOrbital {
|
|
5
5
|
type PricingCardAction = {
|