@almadar/std 16.190.0 → 16.192.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 (107) 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-billable-hour.lolo +1 -0
  4. package/behaviors/lolo/ui/core/atoms/std-browse.lolo +3 -0
  5. package/behaviors/lolo/ui/core/atoms/std-image-upload-multi.lolo +37 -4
  6. package/behaviors/lolo/ui/core/atoms/std-modal.lolo +20 -6
  7. package/behaviors/lolo/ui/core/atoms/std-record-detail.lolo +40 -3
  8. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +176 -4
  9. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +3 -1
  10. package/behaviors/lolo/ui/core/molecules/ui-calendar-grid.lolo +25 -1
  11. package/behaviors/lolo/ui/core/molecules/ui-data-grid.lolo +37 -1
  12. package/behaviors/lolo/ui/core/molecules/ui-data-list.lolo +46 -1
  13. package/behaviors/lolo/ui/core/molecules/ui-document-details.lolo +30 -2
  14. package/behaviors/lolo/ui/core/molecules/ui-document-panel.lolo +14 -29
  15. package/behaviors/lolo/ui/core/molecules/ui-positioned-canvas.lolo +19 -1
  16. package/behaviors/lolo/ui/core/molecules/ui-reply-tree.lolo +21 -1
  17. package/behaviors/lolo/ui/core/molecules/ui-sortable-list.lolo +15 -1
  18. package/behaviors/lolo/ui/core/molecules/ui-table-view.lolo +36 -1
  19. package/behaviors/lolo/ui/core/organisms/ui-detail-panel.lolo +41 -1
  20. package/behaviors/lolo/ui/core/organisms/ui-entity-cards.lolo +34 -1
  21. package/behaviors/lolo/ui/core/organisms/ui-entity-list.lolo +30 -1
  22. package/behaviors/lolo/ui/core/organisms/ui-entity-table.lolo +36 -1
  23. package/behaviors/lolo/ui/core/organisms/ui-form-section.lolo +39 -1
  24. package/behaviors/lolo/ui/core/organisms/ui-form.lolo +39 -1
  25. package/behaviors/lolo/ui/core/organisms/ui-master-detail.lolo +24 -1
  26. package/behaviors/lolo/ui/core/organisms/ui-media-gallery.lolo +30 -1
  27. package/behaviors/lolo/ui/core/organisms/ui-stat-card.lolo +37 -1
  28. package/behaviors/lolo/ui/core/organisms/ui-timeline.lolo +18 -1
  29. package/behaviors/lolo/ui/core/templates/ui-counter-template.lolo +21 -1
  30. package/behaviors/lolo/ui/core/templates/ui-generic-app-template.lolo +16 -1
  31. package/behaviors/lolo/ui/game/atoms/std-platformer-body.lolo +7 -2
  32. package/behaviors/lolo/ui/marketing/organisms/ui-book-chapter-view.lolo +12 -1
  33. package/behaviors/lolo/ui/marketing/organisms/ui-book-table-of-contents.lolo +13 -1
  34. package/behaviors/lolo/ui/marketing/organisms/ui-book-viewer.lolo +23 -1
  35. package/behaviors/lolo/ui/marketing/organisms/ui-case-study-organism.lolo +23 -1
  36. package/behaviors/lolo/ui/marketing/organisms/ui-feature-grid-organism.lolo +24 -1
  37. package/behaviors/lolo/ui/marketing/organisms/ui-hero-organism.lolo +22 -1
  38. package/behaviors/lolo/ui/marketing/organisms/ui-pricing-organism.lolo +23 -1
  39. package/behaviors/lolo/ui/marketing/organisms/ui-showcase-organism.lolo +24 -1
  40. package/behaviors/lolo/ui/marketing/organisms/ui-stats-organism.lolo +22 -1
  41. package/behaviors/lolo/ui/marketing/organisms/ui-step-flow-organism.lolo +25 -1
  42. package/behaviors/lolo/ui/marketing/organisms/ui-team-organism.lolo +23 -1
  43. package/behaviors/lolo/ui/marketing/templates/ui-about-page-template.lolo +11 -1
  44. package/behaviors/lolo/ui/marketing/templates/ui-feature-detail-page-template.lolo +11 -1
  45. package/behaviors/lolo/ui/marketing/templates/ui-landing-page-template.lolo +13 -1
  46. package/behaviors/lolo/ui/marketing/templates/ui-pricing-page-template.lolo +11 -1
  47. package/behaviors/registry/infra/atoms/std-approval-gate.orb +717 -45
  48. package/behaviors/registry/infra/atoms/std-status-lifecycle.orb +85 -10
  49. package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +5 -2
  50. package/behaviors/registry/ui/core/atoms/std-browse.orb +12 -0
  51. package/behaviors/registry/ui/core/atoms/std-image-upload-multi.orb +129 -7
  52. package/behaviors/registry/ui/core/atoms/std-modal.orb +95 -3
  53. package/behaviors/registry/ui/core/atoms/std-record-detail.orb +319 -3
  54. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +539 -1
  55. package/behaviors/registry/ui/core/atoms/std-version-history.orb +5 -1
  56. package/behaviors/registry/ui/core/molecules/ui-calendar-grid.orb +43 -0
  57. package/behaviors/registry/ui/core/molecules/ui-data-grid.orb +55 -0
  58. package/behaviors/registry/ui/core/molecules/ui-data-list.orb +64 -0
  59. package/behaviors/registry/ui/core/molecules/ui-document-details.orb +106 -1
  60. package/behaviors/registry/ui/core/molecules/ui-document-panel.orb +18 -80
  61. package/behaviors/registry/ui/core/molecules/ui-positioned-canvas.orb +37 -0
  62. package/behaviors/registry/ui/core/molecules/ui-reply-tree.orb +39 -0
  63. package/behaviors/registry/ui/core/molecules/ui-sortable-list.orb +45 -0
  64. package/behaviors/registry/ui/core/molecules/ui-table-view.orb +54 -0
  65. package/behaviors/registry/ui/core/organisms/ui-detail-panel.orb +59 -0
  66. package/behaviors/registry/ui/core/organisms/ui-entity-cards.orb +52 -0
  67. package/behaviors/registry/ui/core/organisms/ui-entity-list.orb +48 -0
  68. package/behaviors/registry/ui/core/organisms/ui-entity-table.orb +54 -0
  69. package/behaviors/registry/ui/core/organisms/ui-form-section.orb +57 -0
  70. package/behaviors/registry/ui/core/organisms/ui-form.orb +57 -0
  71. package/behaviors/registry/ui/core/organisms/ui-master-detail.orb +42 -0
  72. package/behaviors/registry/ui/core/organisms/ui-media-gallery.orb +48 -0
  73. package/behaviors/registry/ui/core/organisms/ui-stat-card.orb +55 -0
  74. package/behaviors/registry/ui/core/organisms/ui-timeline.orb +36 -0
  75. package/behaviors/registry/ui/core/templates/ui-counter-template.orb +39 -0
  76. package/behaviors/registry/ui/core/templates/ui-generic-app-template.orb +34 -0
  77. package/behaviors/registry/ui/game/atoms/std-platformer-body.orb +543 -496
  78. package/behaviors/registry/ui/marketing/organisms/ui-book-chapter-view.orb +30 -0
  79. package/behaviors/registry/ui/marketing/organisms/ui-book-table-of-contents.orb +31 -0
  80. package/behaviors/registry/ui/marketing/organisms/ui-book-viewer.orb +41 -0
  81. package/behaviors/registry/ui/marketing/organisms/ui-case-study-organism.orb +41 -0
  82. package/behaviors/registry/ui/marketing/organisms/ui-feature-grid-organism.orb +42 -0
  83. package/behaviors/registry/ui/marketing/organisms/ui-hero-organism.orb +40 -0
  84. package/behaviors/registry/ui/marketing/organisms/ui-pricing-organism.orb +41 -0
  85. package/behaviors/registry/ui/marketing/organisms/ui-showcase-organism.orb +42 -0
  86. package/behaviors/registry/ui/marketing/organisms/ui-stats-organism.orb +40 -0
  87. package/behaviors/registry/ui/marketing/organisms/ui-step-flow-organism.orb +43 -0
  88. package/behaviors/registry/ui/marketing/organisms/ui-team-organism.orb +41 -0
  89. package/behaviors/registry/ui/marketing/templates/ui-about-page-template.orb +29 -0
  90. package/behaviors/registry/ui/marketing/templates/ui-feature-detail-page-template.orb +29 -0
  91. package/behaviors/registry/ui/marketing/templates/ui-landing-page-template.orb +31 -0
  92. package/behaviors/registry/ui/marketing/templates/ui-pricing-page-template.orb +29 -0
  93. package/dist/behaviors/exports-reader.js +2651 -50
  94. package/dist/behaviors/functions/index.d.ts +138 -19
  95. package/dist/behaviors/functions/index.js +2650 -51
  96. package/dist/behaviors/index.d.ts +1 -1
  97. package/dist/behaviors/index.js +2652 -51
  98. package/dist/behaviors/query.js +2651 -50
  99. package/dist/behaviors-embeddings.hash.json +3 -3
  100. package/dist/behaviors-embeddings.json +961 -929
  101. package/dist/behaviors-registry.json +106 -58
  102. package/dist/index.d.ts +1 -1
  103. package/dist/index.js +2652 -51
  104. package/dist/knob-embeddings.hash.json +3 -3
  105. package/dist/knob-embeddings.json +1 -1
  106. package/dist/registry/factory-signatures.json +1 -1
  107. package/package.json +3 -3
@@ -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
 
@@ -11,7 +11,7 @@ orbital GenericAppTemplateOrbital {
11
11
  initial: idle
12
12
 
13
13
  state idle {
14
- INIT -> idle
14
+ INIT -> idle when @config.selfFetch
15
15
  (fetch GenericAppTemplateItem { emit: { success: GenericAppTemplateLoaded } })
16
16
  (render-ui main {
17
17
  entity: @entity
@@ -23,6 +23,17 @@ orbital GenericAppTemplateOrbital {
23
23
  footer: @config.footer
24
24
  type: generic-app-template
25
25
  })
26
+ INIT -> idle when (not @config.selfFetch)
27
+ (render-ui main {
28
+ entity: @entity
29
+ className: @config.className
30
+ title: @config.title
31
+ subtitle: @config.subtitle
32
+ children: @config.children
33
+ headerActions: @config.headerActions
34
+ footer: @config.footer
35
+ type: generic-app-template
36
+ })
26
37
  GenericAppTemplateLoaded -> idle
27
38
  (render-ui main {
28
39
  entity: @payload.data
@@ -68,6 +79,10 @@ orbital GenericAppTemplateOrbital {
68
79
  @label "Footer"
69
80
  @description "Footer content"
70
81
  @tier "presentation"
82
+ selfFetch : boolean = true
83
+ @label "Fetch its own rows on mount?"
84
+ @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."
85
+ @tier "internal"
71
86
  }
72
87
  }
73
88
 
@@ -107,6 +107,7 @@ orbital PlatformerBodyOrbital {
107
107
  (let ((rightSamp (if @inRange (array/first (array/filter @config.skateCurve (fn s (> (object/get @s x) @cx)))) { x: 1, y: 0 })))
108
108
  (let ((slope (if @inRange (/ (- (object/get @rightSamp y) (object/get @leftSamp y)) (- (object/get @rightSamp x) (object/get @leftSamp x))) 0)))
109
109
  (let ((curveY (if @inRange (+ (object/get @leftSamp y) (* @slope (- @cx (object/get @leftSamp x)))) 0)))
110
+ (let ((gapBreak (and (> @config.skateMaxGap 0) (> (- (object/get @rightSamp x) (object/get @leftSamp x)) @config.skateMaxGap))))
110
111
  (let ((curveMod (if (and @config.curveModsEnabled @inRange) (array/find @entity.curveMods (fn m (and (>= @cx (object/get @m x0)) (<= @cx (object/get @m x1))))) null)))
111
112
  (let ((modX (if (== @curveMod null) @cx (- @cx (object/get @curveMod h)))))
112
113
  (let ((modInRange (and (!= @curveMod null) (and (>= @modX (object/get (array/first @config.skateCurve) x)) (< @modX (object/get (array/last @config.skateCurve) x))))))
@@ -117,7 +118,7 @@ orbital PlatformerBodyOrbital {
117
118
  (let ((slope (if (== @curveMod null) @slope (* (object/get @curveMod a) @modSlope))))
118
119
  (let ((curveY (if (== @curveMod null) @curveY (+ (* (object/get @curveMod a) @modCurveY) (object/get @curveMod k)))))
119
120
  (let ((movingUp (< (* @vy1 @gdir) -0.01)))
120
- (let ((skateNow (and @inRange (and (<= (math/abs (- @ny2 @curveY)) @config.skateSnap) (and (or @landed @entity.skating) (or @entity.body.grounded (not @movingUp)))))))
121
+ (let ((skateNow (and @inRange (and (not @gapBreak) (and (<= (math/abs (- @ny2 @curveY)) @config.skateSnap) (and (or @landed @entity.skating) (or @entity.body.grounded (not @movingUp))))))))
121
122
  (let ((vx2 (if @skateNow (math/clamp (+ @entity.body.vx (* (/ (* @config.gravity @slope) (+ 1 (* @slope @slope))) 0.033)) (- 0 @config.maxFallSpeed) @config.maxFallSpeed) @entity.body.vx)))
122
123
  (let ((vx3 (if (== @drift null) @vx2 (math/clamp (+ @vx2 (* @dax 0.033)) (- 0 @config.maxFallSpeed) @config.maxFallSpeed))))
123
124
  (let ((fy (if @skateNow @curveY @ny2)) (fvy (if @skateNow (* (* @vx2 (math/cos (math/atan @slope))) (math/sin (math/atan @slope))) @vy2)) (fgrounded (or @landed @skateNow)))
@@ -155,7 +156,7 @@ orbital PlatformerBodyOrbital {
155
156
  (set @entity.fell true)
156
157
  (emit BODY_FELL { x: @nx, y: @fy }))
157
158
  null)
158
- (emit BODY_MOVED { x: @nx, y: @fy, vx: @entity.body.vx, vy: @fvy, grounded: @fgrounded, skating: @skateNow, speed: (math/hypot @entity.body.vx @fvy) })))))))))))))))))))))))))))))))))))))
159
+ (emit BODY_MOVED { x: @nx, y: @fy, vx: @entity.body.vx, vy: @fvy, grounded: @fgrounded, skating: @skateNow, speed: (math/hypot @entity.body.vx @fvy) }))))))))))))))))))))))))))))))))))))))
159
160
  }
160
161
 
161
162
  emits {
@@ -279,6 +280,10 @@ orbital PlatformerBodyOrbital {
279
280
  @label "Skate Curve"
280
281
  @description "Surface samples (x strictly increasing) the body skates when skate is on; y is the surface height for the body's MIN corner, linearly interpolated between bracketing samples — mirror the render-side curve so what you see is what you ride"
281
282
  @tier "domain"
283
+ skateMaxGap : number = 0
284
+ @label "Skate Max Gap"
285
+ @description "Largest x-gap between consecutive skateCurve samples that still counts as surface. 0 = unlimited (sparse two-sample lines skate fine). Dense resampled curves with real gaps between segments (stitched worlds) MUST set this — otherwise the sampler invents a skatable chord across every gap (an invisible line above the bridge/terrain that the body snaps to and glides along)."
286
+ @tier "domain"
282
287
  skateSnap : number = 0.75
283
288
  @label "Skate Snap"
284
289
  @description "Max vertical gap (world units) between the body's min corner and the curve surface for skating to engage or stay engaged; larger values grab earlier on landing, smaller values release sooner on bumps"
@@ -11,7 +11,7 @@ orbital BookChapterViewOrbital {
11
11
  initial: idle
12
12
 
13
13
  state idle {
14
- INIT -> idle
14
+ INIT -> idle when @config.selfFetch
15
15
  (fetch BookChapterViewItem { emit: { success: BookChapterViewLoaded } })
16
16
  (render-ui main {
17
17
  className: @config.className
@@ -19,6 +19,13 @@ orbital BookChapterViewOrbital {
19
19
  direction: @config.direction
20
20
  type: book-chapter-view
21
21
  })
22
+ INIT -> idle when (not @config.selfFetch)
23
+ (render-ui main {
24
+ className: @config.className
25
+ chapter: @entity
26
+ direction: @config.direction
27
+ type: book-chapter-view
28
+ })
22
29
  BookChapterViewLoaded -> idle
23
30
  (render-ui main {
24
31
  className: @config.className
@@ -44,6 +51,10 @@ orbital BookChapterViewOrbital {
44
51
  @label "Direction"
45
52
  @description "direction prop"
46
53
  @tier "presentation"
54
+ selfFetch : boolean = true
55
+ @label "Fetch its own rows on mount?"
56
+ @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."
57
+ @tier "internal"
47
58
  }
48
59
  }
49
60
 
@@ -11,7 +11,7 @@ orbital BookTableOfContentsOrbital {
11
11
  initial: idle
12
12
 
13
13
  state idle {
14
- INIT -> idle
14
+ INIT -> idle when @config.selfFetch
15
15
  (fetch BookTableOfContentsItem { emit: { success: BookTableOfContentsLoaded } })
16
16
  (render-ui main {
17
17
  className: @config.className
@@ -20,6 +20,14 @@ orbital BookTableOfContentsOrbital {
20
20
  direction: @config.direction
21
21
  type: book-table-of-contents
22
22
  })
23
+ INIT -> idle when (not @config.selfFetch)
24
+ (render-ui main {
25
+ className: @config.className
26
+ parts: @entity
27
+ currentChapterId: @config.currentChapterId
28
+ direction: @config.direction
29
+ type: book-table-of-contents
30
+ })
23
31
  BookTableOfContentsLoaded -> idle
24
32
  (render-ui main {
25
33
  className: @config.className
@@ -50,6 +58,10 @@ orbital BookTableOfContentsOrbital {
50
58
  @label "Direction"
51
59
  @description "direction prop"
52
60
  @tier "presentation"
61
+ selfFetch : boolean = true
62
+ @label "Fetch its own rows on mount?"
63
+ @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."
64
+ @tier "internal"
53
65
  }
54
66
  }
55
67
 
@@ -31,7 +31,7 @@ orbital BookViewerOrbital {
31
31
  initial: idle
32
32
 
33
33
  state idle {
34
- INIT -> idle
34
+ INIT -> idle when @config.selfFetch
35
35
  (fetch BookViewerItem { emit: { success: BookViewerLoaded } })
36
36
  (render-ui main {
37
37
  className: @config.className
@@ -50,6 +50,24 @@ orbital BookViewerOrbital {
50
50
  fieldMap: @config.fieldMap
51
51
  type: book-viewer
52
52
  })
53
+ INIT -> idle when (not @config.selfFetch)
54
+ (render-ui main {
55
+ className: @config.className
56
+ isLoading: @config.isLoading
57
+ error: @config.error
58
+ sortBy: @config.sortBy
59
+ sortDirection: @config.sortDirection
60
+ searchValue: @config.searchValue
61
+ page: @config.pageProp
62
+ pageSize: @config.pageSize
63
+ totalCount: @config.totalCount
64
+ activeFilters: @config.activeFilters
65
+ selectedIds: @config.selectedIds
66
+ entity: @entity
67
+ initialPage: @config.initialPage
68
+ fieldMap: @config.fieldMap
69
+ type: book-viewer
70
+ })
53
71
  BookViewerLoaded -> idle
54
72
  (render-ui main {
55
73
  className: @config.className
@@ -131,6 +149,10 @@ orbital BookViewerOrbital {
131
149
  @label "Field Map"
132
150
  @description "Field name translation map — a BookFieldMap object or locale key ('ar')"
133
151
  @tier "presentation"
152
+ selfFetch : boolean = true
153
+ @label "Fetch its own rows on mount?"
154
+ @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."
155
+ @tier "internal"
134
156
  }
135
157
  }
136
158
 
@@ -23,7 +23,7 @@ orbital CaseStudyOrganismOrbital {
23
23
  initial: idle
24
24
 
25
25
  state idle {
26
- INIT -> idle
26
+ INIT -> idle when @config.selfFetch
27
27
  (fetch CaseStudyOrganismItem { emit: { success: CaseStudyOrganismLoaded } })
28
28
  (render-ui main {
29
29
  className: @config.className
@@ -42,6 +42,24 @@ orbital CaseStudyOrganismOrbital {
42
42
  subtitle: @config.subtitle
43
43
  type: case-study-organism
44
44
  })
45
+ INIT -> idle when (not @config.selfFetch)
46
+ (render-ui main {
47
+ className: @config.className
48
+ isLoading: @config.isLoading
49
+ error: @config.error
50
+ sortBy: @config.sortBy
51
+ sortDirection: @config.sortDirection
52
+ searchValue: @config.searchValue
53
+ page: @config.pageProp
54
+ pageSize: @config.pageSize
55
+ totalCount: @config.totalCount
56
+ activeFilters: @config.activeFilters
57
+ selectedIds: @config.selectedIds
58
+ entity: @entity
59
+ heading: @config.heading
60
+ subtitle: @config.subtitle
61
+ type: case-study-organism
62
+ })
45
63
  CaseStudyOrganismLoaded -> idle
46
64
  (render-ui main {
47
65
  className: @config.className
@@ -123,6 +141,10 @@ orbital CaseStudyOrganismOrbital {
123
141
  @label "Subtitle"
124
142
  @description "subtitle prop"
125
143
  @tier "presentation"
144
+ selfFetch : boolean = true
145
+ @label "Fetch its own rows on mount?"
146
+ @description "true (default) = standalone mount self-populates on INIT. false = a composing atom owns the fetch and routes its loaded event here — suppresses the wrapper's own un-hydrated fetch so it cannot race the composer's."
147
+ @tier "internal"
126
148
  }
127
149
  }
128
150
 
@@ -22,7 +22,7 @@ orbital FeatureGridOrganismOrbital {
22
22
  initial: idle
23
23
 
24
24
  state idle {
25
- INIT -> idle
25
+ INIT -> idle when @config.selfFetch
26
26
  (fetch FeatureGridOrganismItem { emit: { success: FeatureGridOrganismLoaded } })
27
27
  (render-ui main {
28
28
  className: @config.className
@@ -42,6 +42,25 @@ orbital FeatureGridOrganismOrbital {
42
42
  subtitle: @config.subtitle
43
43
  type: feature-grid-organism
44
44
  })
45
+ INIT -> idle when (not @config.selfFetch)
46
+ (render-ui main {
47
+ className: @config.className
48
+ isLoading: @config.isLoading
49
+ error: @config.error
50
+ sortBy: @config.sortBy
51
+ sortDirection: @config.sortDirection
52
+ searchValue: @config.searchValue
53
+ page: @config.pageProp
54
+ pageSize: @config.pageSize
55
+ totalCount: @config.totalCount
56
+ activeFilters: @config.activeFilters
57
+ selectedIds: @config.selectedIds
58
+ entity: @entity
59
+ columns: @config.columns
60
+ heading: @config.heading
61
+ subtitle: @config.subtitle
62
+ type: feature-grid-organism
63
+ })
45
64
  FeatureGridOrganismLoaded -> idle
46
65
  (render-ui main {
47
66
  className: @config.className
@@ -128,6 +147,10 @@ orbital FeatureGridOrganismOrbital {
128
147
  @label "Subtitle"
129
148
  @description "subtitle prop"
130
149
  @tier "presentation"
150
+ selfFetch : boolean = true
151
+ @label "Fetch its own rows on mount?"
152
+ @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."
153
+ @tier "internal"
131
154
  }
132
155
  }
133
156
 
@@ -39,7 +39,7 @@ orbital HeroOrganismOrbital {
39
39
  initial: idle
40
40
 
41
41
  state idle {
42
- INIT -> idle
42
+ INIT -> idle when @config.selfFetch
43
43
  (fetch HeroOrganismItem { emit: { success: HeroOrganismLoaded } })
44
44
  (render-ui main {
45
45
  className: @config.className
@@ -57,6 +57,23 @@ orbital HeroOrganismOrbital {
57
57
  children: @config.children
58
58
  type: hero-organism
59
59
  })
60
+ INIT -> idle when (not @config.selfFetch)
61
+ (render-ui main {
62
+ className: @config.className
63
+ isLoading: @config.isLoading
64
+ error: @config.error
65
+ sortBy: @config.sortBy
66
+ sortDirection: @config.sortDirection
67
+ searchValue: @config.searchValue
68
+ page: @config.pageProp
69
+ pageSize: @config.pageSize
70
+ totalCount: @config.totalCount
71
+ activeFilters: @config.activeFilters
72
+ selectedIds: @config.selectedIds
73
+ entity: @entity
74
+ children: @config.children
75
+ type: hero-organism
76
+ })
60
77
  HeroOrganismLoaded -> idle
61
78
  (render-ui main {
62
79
  className: @config.className
@@ -133,6 +150,10 @@ orbital HeroOrganismOrbital {
133
150
  @label "Children"
134
151
  @description "children prop"
135
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"
136
157
  }
137
158
  }
138
159
 
@@ -25,7 +25,7 @@ orbital PricingOrganismOrbital {
25
25
  initial: idle
26
26
 
27
27
  state idle {
28
- INIT -> idle
28
+ INIT -> idle when @config.selfFetch
29
29
  (fetch PricingOrganismItem { emit: { success: PricingOrganismLoaded } })
30
30
  (render-ui main {
31
31
  className: @config.className
@@ -44,6 +44,24 @@ orbital PricingOrganismOrbital {
44
44
  subtitle: @config.subtitle
45
45
  type: pricing-organism
46
46
  })
47
+ INIT -> idle when (not @config.selfFetch)
48
+ (render-ui main {
49
+ className: @config.className
50
+ isLoading: @config.isLoading
51
+ error: @config.error
52
+ sortBy: @config.sortBy
53
+ sortDirection: @config.sortDirection
54
+ searchValue: @config.searchValue
55
+ page: @config.pageProp
56
+ pageSize: @config.pageSize
57
+ totalCount: @config.totalCount
58
+ activeFilters: @config.activeFilters
59
+ selectedIds: @config.selectedIds
60
+ entity: @entity
61
+ heading: @config.heading
62
+ subtitle: @config.subtitle
63
+ type: pricing-organism
64
+ })
47
65
  PricingOrganismLoaded -> idle
48
66
  (render-ui main {
49
67
  className: @config.className
@@ -125,6 +143,10 @@ orbital PricingOrganismOrbital {
125
143
  @label "Subtitle"
126
144
  @description "subtitle prop"
127
145
  @tier "presentation"
146
+ selfFetch : boolean = true
147
+ @label "Fetch its own rows on mount?"
148
+ @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."
149
+ @tier "internal"
128
150
  }
129
151
  }
130
152
 
@@ -27,7 +27,7 @@ orbital ShowcaseOrganismOrbital {
27
27
  initial: idle
28
28
 
29
29
  state idle {
30
- INIT -> idle
30
+ INIT -> idle when @config.selfFetch
31
31
  (fetch ShowcaseOrganismItem { emit: { success: ShowcaseOrganismLoaded } })
32
32
  (render-ui main {
33
33
  className: @config.className
@@ -47,6 +47,25 @@ orbital ShowcaseOrganismOrbital {
47
47
  subtitle: @config.subtitle
48
48
  type: showcase-organism
49
49
  })
50
+ INIT -> idle when (not @config.selfFetch)
51
+ (render-ui main {
52
+ className: @config.className
53
+ isLoading: @config.isLoading
54
+ error: @config.error
55
+ sortBy: @config.sortBy
56
+ sortDirection: @config.sortDirection
57
+ searchValue: @config.searchValue
58
+ page: @config.pageProp
59
+ pageSize: @config.pageSize
60
+ totalCount: @config.totalCount
61
+ activeFilters: @config.activeFilters
62
+ selectedIds: @config.selectedIds
63
+ entity: @entity
64
+ columns: @config.columns
65
+ heading: @config.heading
66
+ subtitle: @config.subtitle
67
+ type: showcase-organism
68
+ })
50
69
  ShowcaseOrganismLoaded -> idle
51
70
  (render-ui main {
52
71
  className: @config.className
@@ -133,6 +152,10 @@ orbital ShowcaseOrganismOrbital {
133
152
  @label "Subtitle"
134
153
  @description "subtitle prop"
135
154
  @tier "presentation"
155
+ selfFetch : boolean = true
156
+ @label "Fetch its own rows on mount?"
157
+ @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."
158
+ @tier "internal"
136
159
  }
137
160
  }
138
161
 
@@ -19,7 +19,7 @@ orbital StatsOrganismOrbital {
19
19
  initial: idle
20
20
 
21
21
  state idle {
22
- INIT -> idle
22
+ INIT -> idle when @config.selfFetch
23
23
  (fetch StatsOrganismItem { emit: { success: StatsOrganismLoaded } })
24
24
  (render-ui main {
25
25
  className: @config.className
@@ -37,6 +37,23 @@ orbital StatsOrganismOrbital {
37
37
  columns: @config.columns
38
38
  type: stats-organism
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
+ columns: @config.columns
55
+ type: stats-organism
56
+ })
40
57
  StatsOrganismLoaded -> idle
41
58
  (render-ui main {
42
59
  className: @config.className
@@ -113,6 +130,10 @@ orbital StatsOrganismOrbital {
113
130
  @label "Columns"
114
131
  @description "columns prop"
115
132
  @tier "presentation"
133
+ selfFetch : boolean = true
134
+ @label "Fetch its own rows on mount?"
135
+ @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."
136
+ @tier "internal"
116
137
  }
117
138
  }
118
139