@almadar/std 16.191.0 → 16.193.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/behaviors/lolo/infra/atoms/std-approval-gate.lolo +184 -18
  2. package/behaviors/lolo/infra/atoms/std-status-lifecycle.lolo +16 -3
  3. package/behaviors/lolo/ui/core/atoms/std-app-layout.lolo +6 -0
  4. package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +1 -0
  5. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +3 -0
  6. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +37 -4
  7. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +37 -0
  8. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +314 -0
  9. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +195 -13
  10. package/behaviors/lolo/ui/core/atoms/std-tree.lolo +104 -12
  11. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +3 -1
  12. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +25 -1
  13. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +37 -1
  14. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +46 -1
  15. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +30 -2
  16. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +14 -0
  17. package/behaviors/lolo/ui/core/molecules/ui-file-tree.lolo +25 -0
  18. package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +19 -1
  19. package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +21 -1
  20. package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +15 -1
  21. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +36 -1
  22. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +41 -1
  23. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +34 -1
  24. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +30 -1
  25. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +36 -1
  26. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +39 -1
  27. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +39 -1
  28. package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +24 -1
  29. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +30 -1
  30. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +37 -1
  31. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +18 -1
  32. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +21 -1
  33. package/behaviors/lolo/ui/core/templates/ui-dashboard-layout.lolo +5 -0
  34. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +16 -1
  35. package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +12 -1
  36. package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +13 -1
  37. package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +23 -1
  38. package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +23 -1
  39. package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +24 -1
  40. package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +22 -1
  41. package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +23 -1
  42. package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +24 -1
  43. package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +22 -1
  44. package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +25 -1
  45. package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +23 -1
  46. package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +11 -1
  47. package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +11 -1
  48. package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +13 -1
  49. package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +11 -1
  50. package/behaviors/registry/infra/atoms/std-approval-gate.orb +717 -45
  51. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +85 -10
  52. package/behaviors/registry/ui/core/atoms/std-app-layout.orb +8 -0
  53. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +5 -2
  54. package/behaviors/registry/ui/core/atoms/std-browse.orb +12 -0
  55. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +129 -7
  56. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +316 -0
  57. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +1360 -0
  58. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +564 -10
  59. package/behaviors/registry/ui/core/atoms/std-tree.orb +427 -66
  60. package/behaviors/registry/ui/core/atoms/std-version-history.orb +5 -1
  61. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +43 -0
  62. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +55 -0
  63. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +64 -0
  64. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +106 -1
  65. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +18 -0
  66. package/behaviors/registry/ui/core/molecules/ui-file-tree.orb +41 -0
  67. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +37 -0
  68. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +39 -0
  69. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +45 -0
  70. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +54 -0
  71. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +59 -0
  72. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +52 -0
  73. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +48 -0
  74. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -0
  75. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +57 -0
  76. package/behaviors/registry/ui/core/organisms/ui-form.orb +57 -0
  77. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +42 -0
  78. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +48 -0
  79. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +55 -0
  80. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +36 -0
  81. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +39 -0
  82. package/behaviors/registry/ui/core/templates/ui-dashboard-layout.orb +7 -0
  83. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +34 -0
  84. package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +30 -0
  85. package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +31 -0
  86. package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +41 -0
  87. package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +41 -0
  88. package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +42 -0
  89. package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +40 -0
  90. package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +41 -0
  91. package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +42 -0
  92. package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +40 -0
  93. package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +43 -0
  94. package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +41 -0
  95. package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +29 -0
  96. package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +29 -0
  97. package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +31 -0
  98. package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +29 -0
  99. package/dist/behaviors/exports-reader.js +4884 -1967
  100. package/dist/behaviors/functions/index.d.ts +293 -13
  101. package/dist/behaviors/functions/index.js +4880 -1968
  102. package/dist/behaviors/index.d.ts +1 -1
  103. package/dist/behaviors/index.js +4885 -1968
  104. package/dist/behaviors/query.js +4884 -1967
  105. package/dist/behaviors-embeddings.hash.json +3 -3
  106. package/dist/behaviors-embeddings.json +21 -13
  107. package/dist/behaviors-registry.json +685 -60
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.js +4885 -1968
  110. package/dist/knob-embeddings.hash.json +3 -3
  111. package/dist/knob-embeddings.json +1 -1
  112. package/dist/registry/factory-signatures.json +1 -1
  113. package/package.json +2 -2
@@ -12,7 +12,7 @@ orbital SortableListOrbital {
12
12
  initial: idle
13
13
 
14
14
  state idle {
15
- INIT -> idle
15
+ INIT -> idle when @config.selfFetch
16
16
  (fetch SortableListItem { emit: { success: SortableListLoaded } })
17
17
  (render-ui main {
18
18
  items: @entity
@@ -23,6 +23,16 @@ orbital SortableListOrbital {
23
23
  className: @config.className
24
24
  type: sortable-list
25
25
  })
26
+ INIT -> idle when (not @config.selfFetch)
27
+ (render-ui main {
28
+ items: @entity
29
+ renderItem: (fn item { content: (object/get @item @config.itemLabelField ""), type: typography })
30
+ reorderEvent: @config.reorderEvent
31
+ reorderPayload: @config.reorderPayload
32
+ dragHandlePosition: @config.dragHandlePosition
33
+ className: @config.className
34
+ type: sortable-list
35
+ })
26
36
  SortableListLoaded -> idle
27
37
  (render-ui main {
28
38
  items: @payload.data
@@ -68,6 +78,10 @@ orbital SortableListOrbital {
68
78
  @label "Class Name"
69
79
  @description "className prop"
70
80
  @tier "presentation"
81
+ selfFetch : boolean = true
82
+ @label "Fetch its own rows on mount?"
83
+ @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."
84
+ @tier "internal"
71
85
  }
72
86
  }
73
87
 
@@ -50,7 +50,7 @@ orbital TableViewOrbital {
50
50
  initial: idle
51
51
 
52
52
  state idle {
53
- INIT -> idle
53
+ INIT -> idle when @config.selfFetch
54
54
  (fetch TableViewItem { emit: { success: TableViewLoaded } })
55
55
  (render-ui main {
56
56
  dragGroup: @config.dragGroup
@@ -82,6 +82,37 @@ orbital TableViewOrbital {
82
82
  look: @config.look
83
83
  type: table-view
84
84
  })
85
+ INIT -> idle when (not @config.selfFetch)
86
+ (render-ui main {
87
+ dragGroup: @config.dragGroup
88
+ accepts: @config.accepts
89
+ sortable: @config.sortable
90
+ dropEvent: @config.dropEvent
91
+ reorderEvent: @config.reorderEvent
92
+ positionEvent: @config.positionEvent
93
+ dndItemIdField: @config.dndItemIdField
94
+ dndRoot: @config.dndRoot
95
+ entity: @entity
96
+ columns: @config.columns
97
+ fields: @config.fields
98
+ itemActions: @config.itemActions
99
+ maxInlineActions: @config.maxInlineActions
100
+ itemClickEvent: @config.itemClickEvent
101
+ selectable: @config.selectable
102
+ selectEvent: @config.selectEvent
103
+ selectedIds: @config.selectedIds
104
+ sortEvent: @config.sortEvent
105
+ sortColumn: @config.sortColumn
106
+ sortDirection: @config.sortDirection
107
+ className: @config.className
108
+ emptyMessage: @config.emptyMessage
109
+ isLoading: @config.isLoading
110
+ error: @config.error
111
+ groupBy: @config.groupBy
112
+ pageSize: @config.pageSize
113
+ look: @config.look
114
+ type: table-view
115
+ })
85
116
  TableViewLoaded -> idle
86
117
  (render-ui main {
87
118
  dragGroup: @config.dragGroup
@@ -242,6 +273,10 @@ orbital TableViewOrbital {
242
273
  @label "Look"
243
274
  @description "Layer 2 visual treatment — mirrors the data-list / entity-table look enum so authors share one knob name across row renderers."
244
275
  @tier "presentation"
276
+ selfFetch : boolean = true
277
+ @label "Fetch its own rows on mount?"
278
+ @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."
279
+ @tier "internal"
245
280
  }
246
281
  }
247
282
 
@@ -62,7 +62,7 @@ orbital DetailPanelOrbital {
62
62
  initial: idle
63
63
 
64
64
  state idle {
65
- INIT -> idle
65
+ INIT -> idle when @config.selfFetch
66
66
  (fetch DetailPanelItem { emit: { success: DetailPanelLoaded } })
67
67
  (render-ui main {
68
68
  className: @config.className
@@ -99,6 +99,42 @@ orbital DetailPanelOrbital {
99
99
  relationsData: @config.relationsData
100
100
  type: detail-panel
101
101
  })
102
+ INIT -> idle when (not @config.selfFetch)
103
+ (render-ui main {
104
+ className: @config.className
105
+ isLoading: @config.isLoading
106
+ error: @config.error
107
+ sortBy: @config.sortBy
108
+ sortDirection: @config.sortDirection
109
+ searchValue: @config.searchValue
110
+ page: @config.pageProp
111
+ pageSize: @config.pageSize
112
+ totalCount: @config.totalCount
113
+ activeFilters: @config.activeFilters
114
+ selectedIds: @config.selectedIds
115
+ entity: @entity
116
+ title: @config.title
117
+ onTitleCommit: @config.onTitleCommit
118
+ subtitle: @config.subtitle
119
+ status: @config.status
120
+ avatar: @config.avatar
121
+ sections: @config.sections
122
+ actions: @config.actions
123
+ maxInlineActions: @config.maxInlineActions
124
+ backAction: @config.backAction
125
+ footer: @config.footer
126
+ slideOver: @config.slideOver
127
+ fields: @config.fields
128
+ fieldNames: @config.fieldNames
129
+ initialData: @entity
130
+ mode: @config.mode
131
+ position: @config.position
132
+ width: @config.width
133
+ displayFields: @config.displayFields
134
+ showActions: @config.showActions
135
+ relationsData: @config.relationsData
136
+ type: detail-panel
137
+ })
102
138
  DetailPanelLoaded -> idle
103
139
  (render-ui main {
104
140
  className: @config.className
@@ -266,6 +302,10 @@ orbital DetailPanelOrbital {
266
302
  @label "Relations Data"
267
303
  @description "Relation display data: { fieldName: [{value, label}] } — injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names."
268
304
  @tier "presentation"
305
+ selfFetch : boolean = true
306
+ @label "Fetch its own rows on mount?"
307
+ @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."
308
+ @tier "internal"
269
309
  }
270
310
  }
271
311
 
@@ -37,7 +37,7 @@ orbital EntityCardsOrbital {
37
37
  initial: idle
38
38
 
39
39
  state idle {
40
- INIT -> idle
40
+ INIT -> idle when @config.selfFetch
41
41
  (fetch EntityCardsItem { emit: { success: EntityCardsLoaded } })
42
42
  (render-ui main {
43
43
  className: @config.className
@@ -67,6 +67,35 @@ orbital EntityCardsOrbital {
67
67
  imageField: @config.imageField
68
68
  type: entity-cards
69
69
  })
70
+ INIT -> idle when (not @config.selfFetch)
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: @entity
84
+ minCardWidth: @config.minCardWidth
85
+ maxCols: @config.maxCols
86
+ gap: @config.gap
87
+ alignItems: @config.alignItems
88
+ children: @config.children
89
+ fields: @config.fields
90
+ fieldNames: @config.fieldNames
91
+ columns: @config.columns
92
+ itemActions: @config.itemActions
93
+ showTotal: @config.showTotal
94
+ showAvatar: @config.showAvatar
95
+ variant: @config.variant
96
+ imageField: @config.imageField
97
+ type: entity-cards
98
+ })
70
99
  EntityCardsLoaded -> idle
71
100
  (render-ui main {
72
101
  className: @config.className
@@ -208,6 +237,10 @@ orbital EntityCardsOrbital {
208
237
  @label "Image Field"
209
238
  @description "Entity field name containing an image URL to display as card thumbnail"
210
239
  @tier "presentation"
240
+ selfFetch : boolean = true
241
+ @label "Fetch its own rows on mount?"
242
+ @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."
243
+ @tier "internal"
211
244
  }
212
245
  }
213
246
 
@@ -23,7 +23,7 @@ orbital EntityListOrbital {
23
23
  initial: idle
24
24
 
25
25
  state idle {
26
- INIT -> idle
26
+ INIT -> idle when @config.selfFetch
27
27
  (fetch EntityListItem { emit: { success: EntityListLoaded } })
28
28
  (render-ui main {
29
29
  className: @config.className
@@ -49,6 +49,31 @@ orbital EntityListOrbital {
49
49
  fieldNames: @config.fieldNames
50
50
  type: entity-list
51
51
  })
52
+ INIT -> idle when (not @config.selfFetch)
53
+ (render-ui main {
54
+ className: @config.className
55
+ isLoading: @config.isLoading
56
+ error: @config.error
57
+ sortBy: @config.sortBy
58
+ sortDirection: @config.sortDirection
59
+ searchValue: @config.searchValue
60
+ page: @config.pageProp
61
+ pageSize: @config.pageSize
62
+ totalCount: @config.totalCount
63
+ activeFilters: @config.activeFilters
64
+ selectedIds: @config.selectedIds
65
+ entity: @entity
66
+ entityType: @config.entityType
67
+ selectable: @config.selectable
68
+ itemActions: @config.itemActions
69
+ showDividers: @config.showDividers
70
+ variant: @config.variant
71
+ emptyMessage: @config.emptyMessage
72
+ children: @config.children
73
+ fields: @config.fields
74
+ fieldNames: @config.fieldNames
75
+ type: entity-list
76
+ })
52
77
  EntityListLoaded -> idle
53
78
  (render-ui main {
54
79
  className: @config.className
@@ -175,6 +200,10 @@ orbital EntityListOrbital {
175
200
  @label "Field Names"
176
201
  @description "Alias for fields - backwards compatibility"
177
202
  @tier "presentation"
203
+ selfFetch : boolean = true
204
+ @label "Fetch its own rows on mount?"
205
+ @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."
206
+ @tier "internal"
178
207
  }
179
208
  }
180
209
 
@@ -58,7 +58,7 @@ orbital EntityTableOrbital {
58
58
  initial: idle
59
59
 
60
60
  state idle {
61
- INIT -> idle
61
+ INIT -> idle when @config.selfFetch
62
62
  (fetch EntityTableItem { emit: { success: EntityTableLoaded } })
63
63
  (render-ui main {
64
64
  className: @config.className
@@ -90,6 +90,37 @@ orbital EntityTableOrbital {
90
90
  look: @config.look
91
91
  type: entity-table
92
92
  })
93
+ INIT -> idle when (not @config.selfFetch)
94
+ (render-ui main {
95
+ className: @config.className
96
+ isLoading: @config.isLoading
97
+ error: @config.error
98
+ sortBy: @config.sortBy
99
+ sortDirection: @config.sortDirection
100
+ searchValue: @config.searchValue
101
+ page: @config.pageProp
102
+ pageSize: @config.pageSize
103
+ totalCount: @config.totalCount
104
+ activeFilters: @config.activeFilters
105
+ selectedIds: @config.selectedIds
106
+ entity: @entity
107
+ fields: @config.fields
108
+ columns: @config.columns
109
+ itemActions: @config.itemActions
110
+ emptyIcon: @config.emptyIcon
111
+ emptyTitle: @config.emptyTitle
112
+ emptyDescription: @config.emptyDescription
113
+ emptyAction: @config.emptyAction
114
+ selectable: @config.selectable
115
+ searchable: @config.searchable
116
+ searchPlaceholder: @config.searchPlaceholder
117
+ rowActions: @config.rowActions
118
+ bulkActions: @config.bulkActions
119
+ headerActions: @config.headerActions
120
+ showTotal: @config.showTotal
121
+ look: @config.look
122
+ type: entity-table
123
+ })
93
124
  EntityTableLoaded -> idle
94
125
  (render-ui main {
95
126
  className: @config.className
@@ -241,6 +272,10 @@ orbital EntityTableOrbital {
241
272
  @label "Look"
242
273
  @description "Layer 2 visual treatment — orthogonal to the semantic variant."
243
274
  @tier "presentation"
275
+ selfFetch : boolean = true
276
+ @label "Fetch its own rows on mount?"
277
+ @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."
278
+ @tier "internal"
244
279
  }
245
280
  }
246
281
 
@@ -127,7 +127,7 @@ orbital FormSectionOrbital {
127
127
  initial: idle
128
128
 
129
129
  state idle {
130
- INIT -> idle
130
+ INIT -> idle when @config.selfFetch
131
131
  (fetch FormSectionItem { emit: { success: FormSectionLoaded } })
132
132
  (render-ui main {
133
133
  children: @config.children
@@ -162,6 +162,40 @@ orbital FormSectionOrbital {
162
162
  repeatable: @config.repeatable
163
163
  type: form-section
164
164
  })
165
+ INIT -> idle when (not @config.selfFetch)
166
+ (render-ui main {
167
+ children: @config.children
168
+ onSubmit: @config.onSubmit
169
+ onCancel: @config.onCancel
170
+ layout: @config.layout
171
+ gap: @config.gap
172
+ className: @config.className
173
+ entity: @entity
174
+ mode: @config.mode
175
+ fields: @config.fields
176
+ initialData: @entity
177
+ isLoading: @config.isLoading
178
+ error: @config.error
179
+ submitLabel: @config.submitLabel
180
+ cancelLabel: @config.cancelLabel
181
+ showCancel: @config.showCancel
182
+ showSubmit: @config.showSubmit
183
+ title: @config.title
184
+ submitEvent: @config.submitEvent
185
+ cancelEvent: @config.cancelEvent
186
+ relationsData: @config.relationsData
187
+ relationsLoading: @config.relationsLoading
188
+ fieldOverrides: @config.fieldOverrides
189
+ conditionalFields: @config.conditionalFields
190
+ hiddenCalculations: @config.hiddenCalculations
191
+ violationTriggers: @config.violationTriggers
192
+ evaluationContext: @config.evaluationContext
193
+ sections: @config.sections
194
+ onFieldChange: @config.onFieldChange
195
+ configPath: @config.configPath
196
+ repeatable: @config.repeatable
197
+ type: form-section
198
+ })
165
199
  FormSectionLoaded -> idle
166
200
  (render-ui main {
167
201
  children: @config.children
@@ -333,6 +367,10 @@ orbital FormSectionOrbital {
333
367
  @label "Repeatable"
334
368
  @description "Whether the form supports repeatable entries"
335
369
  @tier "presentation"
370
+ selfFetch : boolean = true
371
+ @label "Fetch its own rows on mount?"
372
+ @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."
373
+ @tier "internal"
336
374
  }
337
375
  }
338
376
 
@@ -127,7 +127,7 @@ orbital FormOrbital {
127
127
  initial: idle
128
128
 
129
129
  state idle {
130
- INIT -> idle
130
+ INIT -> idle when @config.selfFetch
131
131
  (fetch FormItem { emit: { success: FormLoaded } })
132
132
  (render-ui main {
133
133
  children: @config.children
@@ -162,6 +162,40 @@ orbital FormOrbital {
162
162
  repeatable: @config.repeatable
163
163
  type: form
164
164
  })
165
+ INIT -> idle when (not @config.selfFetch)
166
+ (render-ui main {
167
+ children: @config.children
168
+ onSubmit: @config.onSubmit
169
+ onCancel: @config.onCancel
170
+ layout: @config.layout
171
+ gap: @config.gap
172
+ className: @config.className
173
+ entity: @entity
174
+ mode: @config.mode
175
+ fields: @config.fields
176
+ initialData: @entity
177
+ isLoading: @config.isLoading
178
+ error: @config.error
179
+ submitLabel: @config.submitLabel
180
+ cancelLabel: @config.cancelLabel
181
+ showCancel: @config.showCancel
182
+ showSubmit: @config.showSubmit
183
+ title: @config.title
184
+ submitEvent: @config.submitEvent
185
+ cancelEvent: @config.cancelEvent
186
+ relationsData: @config.relationsData
187
+ relationsLoading: @config.relationsLoading
188
+ fieldOverrides: @config.fieldOverrides
189
+ conditionalFields: @config.conditionalFields
190
+ hiddenCalculations: @config.hiddenCalculations
191
+ violationTriggers: @config.violationTriggers
192
+ evaluationContext: @config.evaluationContext
193
+ sections: @config.sections
194
+ onFieldChange: @config.onFieldChange
195
+ configPath: @config.configPath
196
+ repeatable: @config.repeatable
197
+ type: form
198
+ })
165
199
  FormLoaded -> idle
166
200
  (render-ui main {
167
201
  children: @config.children
@@ -333,6 +367,10 @@ orbital FormOrbital {
333
367
  @label "Repeatable"
334
368
  @description "Whether the form supports repeatable entries"
335
369
  @tier "presentation"
370
+ selfFetch : boolean = true
371
+ @label "Fetch its own rows on mount?"
372
+ @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."
373
+ @tier "internal"
336
374
  }
337
375
  }
338
376
 
@@ -17,7 +17,7 @@ orbital MasterDetailOrbital {
17
17
  initial: idle
18
18
 
19
19
  state idle {
20
- INIT -> idle
20
+ INIT -> idle when @config.selfFetch
21
21
  (fetch MasterDetailItem { emit: { success: MasterDetailLoaded } })
22
22
  (render-ui main {
23
23
  className: @config.className
@@ -37,6 +37,25 @@ orbital MasterDetailOrbital {
37
37
  loading: @config.loading
38
38
  type: master-detail
39
39
  })
40
+ INIT -> idle when (not @config.selfFetch)
41
+ (render-ui main {
42
+ className: @config.className
43
+ isLoading: @config.isLoading
44
+ error: @config.error
45
+ sortBy: @config.sortBy
46
+ sortDirection: @config.sortDirection
47
+ searchValue: @config.searchValue
48
+ page: @config.pageProp
49
+ pageSize: @config.pageSize
50
+ totalCount: @config.totalCount
51
+ activeFilters: @config.activeFilters
52
+ selectedIds: @config.selectedIds
53
+ entity: @entity
54
+ masterFields: @config.masterFields
55
+ detailFields: @config.detailFields
56
+ loading: @config.loading
57
+ type: master-detail
58
+ })
40
59
  MasterDetailLoaded -> idle
41
60
  (render-ui main {
42
61
  className: @config.className
@@ -123,6 +142,10 @@ orbital MasterDetailOrbital {
123
142
  @label "Loading"
124
143
  @description "Loading state (alias for isLoading)"
125
144
  @tier "presentation"
145
+ selfFetch : boolean = true
146
+ @label "Fetch its own rows on mount?"
147
+ @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
148
+ @tier "internal"
126
149
  }
127
150
  }
128
151
 
@@ -32,7 +32,7 @@ orbital MediaGalleryOrbital {
32
32
  initial: idle
33
33
 
34
34
  state idle {
35
- INIT -> idle
35
+ INIT -> idle when @config.selfFetch
36
36
  (fetch MediaGalleryItem { emit: { success: MediaGalleryLoaded } })
37
37
  (render-ui main {
38
38
  className: @config.className
@@ -58,6 +58,31 @@ orbital MediaGalleryOrbital {
58
58
  aspectRatio: @config.aspectRatio
59
59
  type: media-gallery
60
60
  })
61
+ INIT -> idle when (not @config.selfFetch)
62
+ (render-ui main {
63
+ className: @config.className
64
+ isLoading: @config.isLoading
65
+ error: @config.error
66
+ sortBy: @config.sortBy
67
+ sortDirection: @config.sortDirection
68
+ searchValue: @config.searchValue
69
+ page: @config.pageProp
70
+ pageSize: @config.pageSize
71
+ totalCount: @config.totalCount
72
+ activeFilters: @config.activeFilters
73
+ selectedIds: @config.selectedIds
74
+ entity: @entity
75
+ title: @config.title
76
+ items: @config.items
77
+ columns: @config.columns
78
+ selectable: @config.selectable
79
+ selectedItems: @config.selectedItems
80
+ selectionEvent: @config.selectionEvent
81
+ showUpload: @config.showUpload
82
+ actions: @config.actions
83
+ aspectRatio: @config.aspectRatio
84
+ type: media-gallery
85
+ })
61
86
  MediaGalleryLoaded -> idle
62
87
  (render-ui main {
63
88
  className: @config.className
@@ -179,6 +204,10 @@ orbital MediaGalleryOrbital {
179
204
  @label "Aspect Ratio"
180
205
  @description "Aspect ratio for thumbnails"
181
206
  @tier "presentation"
207
+ selfFetch : boolean = true
208
+ @label "Fetch its own rows on mount?"
209
+ @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."
210
+ @tier "internal"
182
211
  }
183
212
  }
184
213
 
@@ -29,7 +29,7 @@ orbital StatCardOrbital {
29
29
  initial: idle
30
30
 
31
31
  state idle {
32
- INIT -> idle
32
+ INIT -> idle when @config.selfFetch
33
33
  (fetch StatCardItem { emit: { success: StatCardLoaded } })
34
34
  (render-ui main {
35
35
  className: @config.className
@@ -62,6 +62,38 @@ orbital StatCardOrbital {
62
62
  sparklineData: @config.sparklineData
63
63
  type: stat-card
64
64
  })
65
+ INIT -> idle when (not @config.selfFetch)
66
+ (render-ui main {
67
+ className: @config.className
68
+ isLoading: @config.isLoading
69
+ error: @config.error
70
+ sortBy: @config.sortBy
71
+ sortDirection: @config.sortDirection
72
+ searchValue: @config.searchValue
73
+ page: @config.pageProp
74
+ pageSize: @config.pageSize
75
+ totalCount: @config.totalCount
76
+ activeFilters: @config.activeFilters
77
+ selectedIds: @config.selectedIds
78
+ entity: @entity
79
+ label: @config.label
80
+ title: @config.title
81
+ value: @config.value
82
+ previousValue: @config.previousValue
83
+ currentValue: @config.currentValue
84
+ trend: @config.trend
85
+ trendDirection: @config.trendDirection
86
+ invertTrend: @config.invertTrend
87
+ icon: @config.icon
88
+ iconBg: @config.iconBg
89
+ iconColor: @config.iconColor
90
+ subtitle: @config.subtitle
91
+ action: @config.action
92
+ metrics: @config.metrics
93
+ compact: @config.compact
94
+ sparklineData: @config.sparklineData
95
+ type: stat-card
96
+ })
65
97
  StatCardLoaded -> idle
66
98
  (render-ui main {
67
99
  className: @config.className
@@ -213,6 +245,10 @@ orbital StatCardOrbital {
213
245
  @label "Sparkline Data"
214
246
  @description "Sparkline data points for an inline trend chart"
215
247
  @tier "presentation"
248
+ selfFetch : boolean = true
249
+ @label "Fetch its own rows on mount?"
250
+ @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."
251
+ @tier "internal"
216
252
  }
217
253
  }
218
254
 
@@ -32,7 +32,7 @@ orbital TimelineOrbital {
32
32
  initial: idle
33
33
 
34
34
  state idle {
35
- INIT -> idle
35
+ INIT -> idle when @config.selfFetch
36
36
  (fetch TimelineItem { emit: { success: TimelineLoaded } })
37
37
  (render-ui main {
38
38
  className: @config.className
@@ -46,6 +46,19 @@ orbital TimelineOrbital {
46
46
  look: @config.look
47
47
  type: timeline
48
48
  })
49
+ INIT -> idle when (not @config.selfFetch)
50
+ (render-ui main {
51
+ className: @config.className
52
+ isLoading: @config.isLoading
53
+ error: @config.error
54
+ entity: @entity
55
+ title: @config.title
56
+ items: @config.items
57
+ fields: @config.fields
58
+ itemActions: @config.itemActions
59
+ look: @config.look
60
+ type: timeline
61
+ })
49
62
  TimelineLoaded -> idle
50
63
  (render-ui main {
51
64
  className: @config.className
@@ -106,6 +119,10 @@ orbital TimelineOrbital {
106
119
  @label "Look"
107
120
  @description "Layer 2 visual treatment."
108
121
  @tier "presentation"
122
+ selfFetch : boolean = true
123
+ @label "Fetch its own rows on mount?"
124
+ @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."
125
+ @tier "internal"
109
126
  }
110
127
  }
111
128
 
@@ -17,7 +17,7 @@ orbital CounterTemplateOrbital {
17
17
  initial: idle
18
18
 
19
19
  state idle {
20
- INIT -> idle
20
+ INIT -> idle when @config.selfFetch
21
21
  (fetch CounterTemplateItem { emit: { success: CounterTemplateLoaded } })
22
22
  (render-ui main {
23
23
  entity: @entity
@@ -34,6 +34,22 @@ orbital CounterTemplateOrbital {
34
34
  variant: @config.variant
35
35
  type: counter-template
36
36
  })
37
+ INIT -> idle when (not @config.selfFetch)
38
+ (render-ui main {
39
+ entity: @entity
40
+ className: @config.className
41
+ onIncrement: @config.onIncrement
42
+ onDecrement: @config.onDecrement
43
+ onReset: @config.onReset
44
+ incrementEvent: @config.incrementEvent
45
+ decrementEvent: @config.decrementEvent
46
+ resetEvent: @config.resetEvent
47
+ title: @config.title
48
+ showReset: @config.showReset
49
+ size: @config.size
50
+ variant: @config.variant
51
+ type: counter-template
52
+ })
37
53
  CounterTemplateLoaded -> idle
38
54
  (render-ui main {
39
55
  entity: @payload.data
@@ -119,6 +135,10 @@ orbital CounterTemplateOrbital {
119
135
  @label "Variant"
120
136
  @description "Template variant"
121
137
  @tier "presentation"
138
+ selfFetch : boolean = true
139
+ @label "Fetch its own rows on mount?"
140
+ @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."
141
+ @tier "internal"
122
142
  }
123
143
  }
124
144