@almadar/std 13.0.7 → 13.1.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-pagination",
3
3
  "version": "1.0.0",
4
- "description": "std-pagination as a Function — single primitive: pagination + infinite-scroll-sentinel",
4
+ "description": "std-pagination as a Function — single primitive: pagination control.\nThe atom's own PagedItem entity is the UI-state container — every PAGE\ntransition persists currentPage / pageSize. Visual reflection of\n@entity.currentPage on the pagination control needs pattern-registry +\nUI component support for a `currentPage` binding-prop (gap #21.G.3 +\n#21.H follow-ups).",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "PagedItemOrbital",
@@ -15,27 +15,12 @@
15
15
  "required": true
16
16
  },
17
17
  {
18
- "name": "name",
19
- "type": "string",
20
- "required": true
21
- },
22
- {
23
- "name": "description",
24
- "type": "string"
25
- },
26
- {
27
- "name": "status",
28
- "type": "string",
29
- "default": "active",
30
- "values": [
31
- "active",
32
- "inactive",
33
- "pending"
34
- ]
18
+ "name": "currentPage",
19
+ "type": "number"
35
20
  },
36
21
  {
37
- "name": "createdAt",
38
- "type": "string"
22
+ "name": "pageSize",
23
+ "type": "number"
39
24
  }
40
25
  ]
41
26
  },
@@ -59,45 +44,13 @@
59
44
  "required": true
60
45
  }
61
46
  ]
62
- },
63
- {
64
- "event": "PagedItemLoaded",
65
- "description": "Fired when PagedItem finishes loading; payload.data holds the page",
66
- "scope": "internal",
67
- "payloadSchema": [
68
- {
69
- "name": "data",
70
- "type": "[PagedItem]"
71
- }
72
- ]
73
- },
74
- {
75
- "event": "PagedItemLoadFailed",
76
- "description": "Fired when PagedItem fails to load",
77
- "scope": "internal",
78
- "payloadSchema": [
79
- {
80
- "name": "error",
81
- "type": "string"
82
- },
83
- {
84
- "name": "code",
85
- "type": "string"
86
- }
87
- ]
88
47
  }
89
48
  ],
90
49
  "stateMachine": {
91
50
  "states": [
92
51
  {
93
- "name": "loading",
52
+ "name": "idle",
94
53
  "isInitial": true
95
- },
96
- {
97
- "name": "idle"
98
- },
99
- {
100
- "name": "error"
101
54
  }
102
55
  ],
103
56
  "events": [
@@ -105,30 +58,6 @@
105
58
  "key": "INIT",
106
59
  "name": "Initialize"
107
60
  },
108
- {
109
- "key": "PagedItemLoaded",
110
- "name": "PagedItem loaded",
111
- "payloadSchema": [
112
- {
113
- "name": "data",
114
- "type": "[PagedItem]"
115
- }
116
- ]
117
- },
118
- {
119
- "key": "PagedItemLoadFailed",
120
- "name": "PagedItem load failed",
121
- "payloadSchema": [
122
- {
123
- "name": "error",
124
- "type": "string"
125
- },
126
- {
127
- "name": "code",
128
- "type": "string"
129
- }
130
- ]
131
- },
132
61
  {
133
62
  "key": "PAGE",
134
63
  "name": "Page",
@@ -148,148 +77,47 @@
148
77
  ],
149
78
  "transitions": [
150
79
  {
151
- "from": "loading",
152
- "to": "loading",
153
- "event": "INIT",
154
- "effects": [
155
- [
156
- "fetch",
157
- "PagedItem",
158
- {
159
- "emit": {
160
- "success": "PagedItemLoaded",
161
- "failure": "PagedItemLoadFailed"
162
- }
163
- }
164
- ],
165
- [
166
- "render-ui",
167
- "main",
168
- {
169
- "size": "sm",
170
- "type": "spinner"
171
- }
172
- ]
173
- ]
174
- },
175
- {
176
- "from": "loading",
80
+ "from": "idle",
177
81
  "to": "idle",
178
- "event": "PagedItemLoaded",
82
+ "event": "INIT",
179
83
  "effects": [
180
84
  [
181
85
  "render-ui",
182
86
  "main",
183
87
  {
184
- "onPageChange": "@config.event",
185
- "currentPage": 1.0,
186
88
  "type": "pagination",
89
+ "currentPage": 1.0,
90
+ "onPageChange": "@config.event",
187
91
  "totalPages": "@config.totalPages",
188
92
  "showPageSize": false
189
93
  }
190
94
  ]
191
95
  ]
192
96
  },
193
- {
194
- "from": "loading",
195
- "to": "error",
196
- "event": "PagedItemLoadFailed",
197
- "effects": [
198
- [
199
- "render-ui",
200
- "main",
201
- {
202
- "children": [
203
- {
204
- "type": "pagination",
205
- "currentPage": 1.0,
206
- "onPageChange": "@config.event",
207
- "totalPages": "@config.totalPages",
208
- "showPageSize": false
209
- },
210
- {
211
- "content": "@payload.error",
212
- "type": "typography",
213
- "color": "error",
214
- "variant": "caption"
215
- }
216
- ],
217
- "type": "stack",
218
- "gap": "xs",
219
- "direction": "vertical"
220
- }
221
- ]
222
- ]
223
- },
224
97
  {
225
98
  "from": "idle",
226
- "to": "loading",
99
+ "to": "idle",
227
100
  "event": "PAGE",
228
101
  "effects": [
229
102
  [
230
- "emit",
231
- "PAGE",
232
- {
233
- "pageSize": "@payload.pageSize",
234
- "page": "@payload.page"
235
- }
103
+ "set",
104
+ "@entity.currentPage",
105
+ "@payload.page"
236
106
  ],
237
107
  [
238
- "fetch",
239
- "PagedItem",
240
- {
241
- "emit": {
242
- "failure": "PagedItemLoadFailed",
243
- "success": "PagedItemLoaded"
244
- }
245
- }
108
+ "set",
109
+ "@entity.pageSize",
110
+ "@payload.pageSize"
246
111
  ],
247
112
  [
248
113
  "render-ui",
249
114
  "main",
250
115
  {
251
- "align": "center",
252
- "type": "stack",
253
- "direction": "horizontal",
254
- "gap": "sm",
255
- "children": [
256
- {
257
- "type": "pagination",
258
- "onPageChange": "@config.event",
259
- "showPageSize": false,
260
- "currentPage": 1.0,
261
- "totalPages": "@config.totalPages"
262
- },
263
- {
264
- "size": "sm",
265
- "type": "spinner"
266
- }
267
- ]
268
- }
269
- ]
270
- ]
271
- },
272
- {
273
- "from": "error",
274
- "to": "loading",
275
- "event": "INIT",
276
- "effects": [
277
- [
278
- "fetch",
279
- "PagedItem",
280
- {
281
- "emit": {
282
- "success": "PagedItemLoaded",
283
- "failure": "PagedItemLoadFailed"
284
- }
285
- }
286
- ],
287
- [
288
- "render-ui",
289
- "main",
290
- {
291
- "size": "sm",
292
- "type": "spinner"
116
+ "type": "pagination",
117
+ "totalPages": "@config.totalPages",
118
+ "onPageChange": "@config.event",
119
+ "currentPage": 1.0,
120
+ "showPageSize": false
293
121
  }
294
122
  ]
295
123
  ]
@@ -297,16 +125,20 @@
297
125
  ]
298
126
  },
299
127
  "config": {
300
- "totalPages": {
301
- "type": "number",
302
- "default": 10.0
303
- },
304
128
  "event": {
305
129
  "type": "string",
306
130
  "default": "PAGE"
131
+ },
132
+ "pageSize": {
133
+ "type": "number",
134
+ "default": 10.0
135
+ },
136
+ "totalPages": {
137
+ "type": "number",
138
+ "default": 1.0
307
139
  }
308
140
  },
309
- "scope": "collection"
141
+ "scope": "instance"
310
142
  }
311
143
  ],
312
144
  "pages": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "std-search",
3
3
  "version": "1.0.0",
4
- "description": "std-search as a Function — single primitive: search-input",
4
+ "description": "std-search as a Function — single primitive: search-input. The atom's\nown SearchResult entity is the UI-state container — every SEARCH\ntransition persists @payload.query into @entity.query. Cross-trait\nlisteners subscribe to UI:Orbital.Trait.SEARCH for routing to data\natoms. Visual reflection of @entity.query on the input (search-input\n`value` prop) is a follow-up that needs pattern registry + UI\ncomponent support.",
5
5
  "orbitals": [
6
6
  {
7
7
  "name": "SearchResultOrbital",
@@ -11,28 +11,11 @@
11
11
  "fields": [
12
12
  {
13
13
  "name": "id",
14
- "type": "string"
15
- },
16
- {
17
- "name": "name",
18
- "type": "string"
19
- },
20
- {
21
- "name": "description",
22
- "type": "string"
23
- },
24
- {
25
- "name": "status",
26
14
  "type": "string",
27
- "default": "active",
28
- "values": [
29
- "active",
30
- "inactive",
31
- "pending"
32
- ]
15
+ "required": true
33
16
  },
34
17
  {
35
- "name": "createdAt",
18
+ "name": "query",
36
19
  "type": "string"
37
20
  }
38
21
  ]
@@ -52,32 +35,6 @@
52
35
  "required": true
53
36
  }
54
37
  ]
55
- },
56
- {
57
- "event": "SearchResultLoaded",
58
- "description": "Fired when SearchResult collection finishes loading",
59
- "scope": "internal",
60
- "payloadSchema": [
61
- {
62
- "name": "data",
63
- "type": "[SearchResult]"
64
- }
65
- ]
66
- },
67
- {
68
- "event": "SearchResultLoadFailed",
69
- "description": "Fired when SearchResult collection fails to load",
70
- "scope": "internal",
71
- "payloadSchema": [
72
- {
73
- "name": "error",
74
- "type": "string"
75
- },
76
- {
77
- "name": "code",
78
- "type": "string"
79
- }
80
- ]
81
38
  }
82
39
  ],
83
40
  "stateMachine": {
@@ -85,15 +42,6 @@
85
42
  {
86
43
  "name": "idle",
87
44
  "isInitial": true
88
- },
89
- {
90
- "name": "loading"
91
- },
92
- {
93
- "name": "searching"
94
- },
95
- {
96
- "name": "error"
97
45
  }
98
46
  ],
99
47
  "events": [
@@ -111,34 +59,6 @@
111
59
  "required": true
112
60
  }
113
61
  ]
114
- },
115
- {
116
- "key": "SearchResultLoaded",
117
- "name": "SearchResult loaded",
118
- "payloadSchema": [
119
- {
120
- "name": "data",
121
- "type": "[SearchResult]"
122
- }
123
- ]
124
- },
125
- {
126
- "key": "SearchResultLoadFailed",
127
- "name": "SearchResult load failed",
128
- "payloadSchema": [
129
- {
130
- "name": "error",
131
- "type": "string"
132
- },
133
- {
134
- "name": "code",
135
- "type": "string"
136
- }
137
- ]
138
- },
139
- {
140
- "key": "CLEAR",
141
- "name": "Clear"
142
62
  }
143
63
  ],
144
64
  "transitions": [
@@ -147,22 +67,12 @@
147
67
  "to": "idle",
148
68
  "event": "INIT",
149
69
  "effects": [
150
- [
151
- "fetch",
152
- "SearchResult",
153
- {
154
- "emit": {
155
- "success": "SearchResultLoaded",
156
- "failure": "SearchResultLoadFailed"
157
- }
158
- }
159
- ],
160
70
  [
161
71
  "render-ui",
162
72
  "main",
163
73
  {
164
- "placeholder": "@config.placeholder",
165
74
  "type": "search-input",
75
+ "placeholder": "@config.placeholder",
166
76
  "event": "@config.event"
167
77
  }
168
78
  ]
@@ -170,220 +80,21 @@
170
80
  },
171
81
  {
172
82
  "from": "idle",
173
- "to": "loading",
174
- "event": "SEARCH",
175
- "effects": [
176
- [
177
- "emit",
178
- "SEARCH",
179
- {
180
- "query": "@payload.query"
181
- }
182
- ],
183
- [
184
- "fetch",
185
- "SearchResult",
186
- {
187
- "emit": {
188
- "failure": "SearchResultLoadFailed",
189
- "success": "SearchResultLoaded"
190
- }
191
- }
192
- ],
193
- [
194
- "render-ui",
195
- "main",
196
- {
197
- "align": "center",
198
- "children": [
199
- {
200
- "placeholder": "@config.placeholder",
201
- "type": "search-input",
202
- "event": "@config.event"
203
- },
204
- {
205
- "type": "spinner",
206
- "size": "sm"
207
- }
208
- ],
209
- "gap": "sm",
210
- "type": "stack",
211
- "direction": "horizontal"
212
- }
213
- ]
214
- ]
215
- },
216
- {
217
- "from": "loading",
218
- "to": "searching",
219
- "event": "SearchResultLoaded",
220
- "effects": [
221
- [
222
- "render-ui",
223
- "main",
224
- {
225
- "placeholder": "@config.placeholder",
226
- "event": "@config.event",
227
- "type": "search-input"
228
- }
229
- ]
230
- ]
231
- },
232
- {
233
- "from": "loading",
234
- "to": "error",
235
- "event": "SearchResultLoadFailed",
236
- "effects": [
237
- [
238
- "render-ui",
239
- "main",
240
- {
241
- "gap": "xs",
242
- "direction": "vertical",
243
- "children": [
244
- {
245
- "placeholder": "@config.placeholder",
246
- "event": "@config.event",
247
- "type": "search-input"
248
- },
249
- {
250
- "color": "error",
251
- "type": "typography",
252
- "content": "@payload.error",
253
- "variant": "caption"
254
- }
255
- ],
256
- "type": "stack"
257
- }
258
- ]
259
- ]
260
- },
261
- {
262
- "from": "loading",
263
- "to": "loading",
264
- "event": "SEARCH",
265
- "effects": [
266
- [
267
- "fetch",
268
- "SearchResult",
269
- {
270
- "emit": {
271
- "failure": "SearchResultLoadFailed",
272
- "success": "SearchResultLoaded"
273
- }
274
- }
275
- ],
276
- [
277
- "render-ui",
278
- "main",
279
- {
280
- "type": "stack",
281
- "direction": "horizontal",
282
- "align": "center",
283
- "gap": "sm",
284
- "children": [
285
- {
286
- "type": "search-input",
287
- "placeholder": "@config.placeholder",
288
- "event": "@config.event"
289
- },
290
- {
291
- "type": "spinner",
292
- "size": "sm"
293
- }
294
- ]
295
- }
296
- ]
297
- ]
298
- },
299
- {
300
- "from": "searching",
301
- "to": "loading",
302
- "event": "SEARCH",
303
- "effects": [
304
- [
305
- "fetch",
306
- "SearchResult",
307
- {
308
- "emit": {
309
- "failure": "SearchResultLoadFailed",
310
- "success": "SearchResultLoaded"
311
- }
312
- }
313
- ],
314
- [
315
- "render-ui",
316
- "main",
317
- {
318
- "children": [
319
- {
320
- "placeholder": "@config.placeholder",
321
- "event": "@config.event",
322
- "type": "search-input"
323
- },
324
- {
325
- "type": "spinner",
326
- "size": "sm"
327
- }
328
- ],
329
- "direction": "horizontal",
330
- "type": "stack",
331
- "align": "center",
332
- "gap": "sm"
333
- }
334
- ]
335
- ]
336
- },
337
- {
338
- "from": "searching",
339
83
  "to": "idle",
340
- "event": "CLEAR",
341
- "effects": [
342
- [
343
- "render-ui",
344
- "main",
345
- {
346
- "event": "@config.event",
347
- "placeholder": "@config.placeholder",
348
- "type": "search-input"
349
- }
350
- ]
351
- ]
352
- },
353
- {
354
- "from": "error",
355
- "to": "loading",
356
84
  "event": "SEARCH",
357
85
  "effects": [
358
86
  [
359
- "fetch",
360
- "SearchResult",
361
- {
362
- "emit": {
363
- "failure": "SearchResultLoadFailed",
364
- "success": "SearchResultLoaded"
365
- }
366
- }
87
+ "set",
88
+ "@entity.query",
89
+ "@payload.query"
367
90
  ],
368
91
  [
369
92
  "render-ui",
370
93
  "main",
371
94
  {
372
- "type": "stack",
373
- "gap": "sm",
374
- "direction": "horizontal",
375
- "align": "center",
376
- "children": [
377
- {
378
- "placeholder": "@config.placeholder",
379
- "type": "search-input",
380
- "event": "@config.event"
381
- },
382
- {
383
- "type": "spinner",
384
- "size": "sm"
385
- }
386
- ]
95
+ "event": "@config.event",
96
+ "type": "search-input",
97
+ "placeholder": "@config.placeholder"
387
98
  }
388
99
  ]
389
100
  ]
@@ -400,7 +111,7 @@
400
111
  "default": "SEARCH"
401
112
  }
402
113
  },
403
- "scope": "collection"
114
+ "scope": "instance"
404
115
  }
405
116
  ],
406
117
  "pages": [