@almadar/std 16.209.0 → 16.210.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/core/atoms/std-browse.lolo +36 -41
- package/behaviors/lolo/ui/core/atoms/std-calendar.lolo +25 -19
- package/behaviors/registry/ui/core/atoms/std-browse.orb +25 -137
- package/behaviors/registry/ui/core/atoms/std-calendar.orb +101 -24
- package/dist/behaviors-embeddings.hash.json +2 -2
- package/dist/behaviors-embeddings.json +1 -1
- package/dist/behaviors-registry.json +541 -1037
- package/dist/knob-embeddings.hash.json +2 -2
- package/dist/knob-embeddings.json +1 -1
- package/package.json +3 -3
|
@@ -25,44 +25,19 @@ orbital BrowseItemOrbital {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
uses Typography from "std/behaviors/ui-typography"
|
|
28
|
-
uses DataGrid from "std/behaviors/ui-data-grid"
|
|
29
|
-
uses TableView from "std/behaviors/ui-table-view"
|
|
30
28
|
uses DataList from "std/behaviors/ui-data-list"
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
listens {
|
|
45
|
-
BrowseItemBrowse.BrowseItemLoaded -> DataGridLoaded
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
trait DenseTableView = TableView.traits.TableViewRender -> BrowseItem {
|
|
50
|
-
config {
|
|
51
|
-
columns: @config.columns
|
|
52
|
-
emptyMessage: "No records"
|
|
53
|
-
itemActions: @config.itemActions
|
|
54
|
-
itemClickEvent: @config.itemClickEvent
|
|
55
|
-
look: dense
|
|
56
|
-
maxInlineActions: @config.maxInlineActions
|
|
57
|
-
pageSize: @config.displayPageSize
|
|
58
|
-
selectable: @config.selectable
|
|
59
|
-
selfFetch: false
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
listens {
|
|
63
|
-
BrowseItemBrowse.BrowseItemLoaded -> TableViewLoaded
|
|
64
|
-
}
|
|
65
|
-
}
|
|
30
|
+
;; table-default and dense looks used to compose separately-listening
|
|
31
|
+
;; sibling traits (DataGrid1/DenseTableView) here, same shape as
|
|
32
|
+
;; MasterListView below. Both re-render fully on every BrowseItemLoaded
|
|
33
|
+
;; (unlike master-detail's VIEW/CLOSE, which doesn't carry `.data`), so
|
|
34
|
+
;; unlike MasterListView they had no reason to be persistent components —
|
|
35
|
+
;; inlined into denseBodyContent/bodyContent directly 2026-09-08, matching
|
|
36
|
+
;; feed/gallery/triage's existing inline shape. A separately-listening
|
|
37
|
+
;; sibling fires unconditionally regardless of browseLook (a listens guard
|
|
38
|
+
;; can't gate on @config — both the Rust interpreter and the TS codegen
|
|
39
|
+
;; path restrict a listens guard's context to @payload only), so all three
|
|
40
|
+
;; used to race for slot main on every load.
|
|
66
41
|
|
|
67
42
|
trait MasterListView = DataList.traits.DataListRender -> BrowseItem {
|
|
68
43
|
config {
|
|
@@ -461,14 +436,23 @@ orbital BrowseItemOrbital {
|
|
|
461
436
|
children: []
|
|
462
437
|
gap: none
|
|
463
438
|
type: stack
|
|
464
|
-
}),
|
|
439
|
+
}), {
|
|
440
|
+
cols: @config.cols
|
|
441
|
+
entity: ?data
|
|
442
|
+
fields: @config.fields
|
|
443
|
+
gap: @config.gap
|
|
444
|
+
imageField: @config.imageField
|
|
445
|
+
itemActions: @config.itemActions
|
|
446
|
+
maxInlineActions: @config.maxInlineActions
|
|
447
|
+
pageSize: @config.displayPageSize
|
|
448
|
+
type: data-grid
|
|
449
|
+
}]
|
|
465
450
|
direction: vertical
|
|
466
451
|
gap: md
|
|
467
452
|
type: stack
|
|
468
453
|
}
|
|
469
454
|
@label "Body content tree"
|
|
470
|
-
@description "Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens."
|
|
471
|
-
@tier "internal"
|
|
455
|
+
@description "Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens. Inlined directly (not via a composed sibling trait) 2026-09-08 — a separately-listening DataGrid1 sibling fired unconditionally on every BrowseItemLoaded regardless of browseLook, racing the correct body for slot main (a listens guard can't gate this: both the Rust interpreter and the TS codegen path restrict a listens guard's context to @payload only, so a browseLook config check there always evaluates undefined)."
|
|
472
456
|
denseBodyContent : render-ui = {
|
|
473
457
|
children: [(if @config.bodySearch {
|
|
474
458
|
children: [{
|
|
@@ -503,7 +487,18 @@ orbital BrowseItemOrbital {
|
|
|
503
487
|
gap: none
|
|
504
488
|
type: stack
|
|
505
489
|
}), {
|
|
506
|
-
children: [
|
|
490
|
+
children: [{
|
|
491
|
+
columns: @config.columns
|
|
492
|
+
emptyMessage: "No records"
|
|
493
|
+
entity: ?data
|
|
494
|
+
itemActions: @config.itemActions
|
|
495
|
+
itemClickEvent: @config.itemClickEvent
|
|
496
|
+
look: dense
|
|
497
|
+
maxInlineActions: @config.maxInlineActions
|
|
498
|
+
pageSize: @config.displayPageSize
|
|
499
|
+
selectable: @config.selectable
|
|
500
|
+
type: table-view
|
|
501
|
+
}]
|
|
507
502
|
className: overflow-x-auto
|
|
508
503
|
direction: vertical
|
|
509
504
|
gap: none
|
|
@@ -515,7 +510,7 @@ orbital BrowseItemOrbital {
|
|
|
515
510
|
type: stack
|
|
516
511
|
}
|
|
517
512
|
@label "Dense look body"
|
|
518
|
-
@description "Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B)."
|
|
513
|
+
@description "Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B). Inlined directly (not via a composed sibling trait) 2026-09-08 — see the table-default body's note for why."
|
|
519
514
|
@tier "internal"
|
|
520
515
|
feedBodyContent : render-ui = {
|
|
521
516
|
children: [(if @config.bodySearch {
|
|
@@ -2,6 +2,7 @@ app std-calendar "1.4.0"
|
|
|
2
2
|
"std-calendar as a Function — owns the fetch + SELECT_DAY state machine; default bodyContent renders the month-grid + upcoming-events tree. `config.calendarLook` switches the body between the default month-grid ('month'), a day-grouped agenda list ('agenda-list'), and a 7-column week timeline ('week-timeline') while inheriting the same trait, state machine, emits, and listens."
|
|
3
3
|
type ItemAction = { label : string!, event : event, navigatesTo : string, variant : primary | secondary | ghost | danger, icon : string }
|
|
4
4
|
type FilterSpec = { field : string!, label : string, options : [string] }
|
|
5
|
+
type FieldSpec = { name : string!, label : string, variant : h3 | h4 | body | caption | badge | small | progress, icon : string, format : date | currency | number | boolean | percent }
|
|
5
6
|
orbital CalendarEventOrbital {
|
|
6
7
|
type CalendarEventLoaded = Event { data : [CalendarEvent] } "Fired when CalendarEvent finishes loading; payload.data holds the events"
|
|
7
8
|
|
|
@@ -226,6 +227,29 @@ orbital CalendarEventOrbital {
|
|
|
226
227
|
@label "Description binding"
|
|
227
228
|
@description "Per-row binding for the event description slot."
|
|
228
229
|
@tier "presentation"
|
|
230
|
+
fields : [FieldSpec] = [{
|
|
231
|
+
icon: calendar
|
|
232
|
+
label: Event
|
|
233
|
+
name: name
|
|
234
|
+
variant: h4
|
|
235
|
+
}, {
|
|
236
|
+
label: Time
|
|
237
|
+
name: time
|
|
238
|
+
variant: badge
|
|
239
|
+
}, {
|
|
240
|
+
format: date
|
|
241
|
+
label: Date
|
|
242
|
+
name: date
|
|
243
|
+
variant: caption
|
|
244
|
+
}, {
|
|
245
|
+
label: Status
|
|
246
|
+
name: status
|
|
247
|
+
variant: badge
|
|
248
|
+
}]
|
|
249
|
+
@label "Upcoming-events columns"
|
|
250
|
+
@description "Row field descriptors for the 'Upcoming Events' data-list under calendarLook='month'. Rebound hosts must override this — it is a literal entity[field.name] lookup, unlike titleBinding/timeBinding/descriptionBinding (expression bindings), so it does not follow a rebind automatically."
|
|
251
|
+
@synonyms "upcoming events columns, month view fields, event list columns"
|
|
252
|
+
@tier "presentation"
|
|
229
253
|
include : [string] = []
|
|
230
254
|
@label "Which relation fields to hydrate?"
|
|
231
255
|
@description "Entity relation field names to hydrate on fetch (e.g. a `category : Category` field named `category`), so chip bindings can use dot-paths like @item.category.name. Empty = no hydration, the default."
|
|
@@ -347,25 +371,7 @@ orbital CalendarEventOrbital {
|
|
|
347
371
|
variant: h4
|
|
348
372
|
}, {
|
|
349
373
|
entity: ?data
|
|
350
|
-
fields:
|
|
351
|
-
icon: calendar
|
|
352
|
-
label: Event
|
|
353
|
-
name: name
|
|
354
|
-
variant: h4
|
|
355
|
-
}, {
|
|
356
|
-
label: Time
|
|
357
|
-
name: time
|
|
358
|
-
variant: badge
|
|
359
|
-
}, {
|
|
360
|
-
format: date
|
|
361
|
-
label: Date
|
|
362
|
-
name: date
|
|
363
|
-
variant: caption
|
|
364
|
-
}, {
|
|
365
|
-
label: Status
|
|
366
|
-
name: status
|
|
367
|
-
variant: badge
|
|
368
|
-
}]
|
|
374
|
+
fields: @config.fields
|
|
369
375
|
itemActions: @config.agendaItemActions
|
|
370
376
|
look: @config.tableLook
|
|
371
377
|
type: data-list
|
|
@@ -124,22 +124,6 @@
|
|
|
124
124
|
"owner": "workspace",
|
|
125
125
|
"renames": []
|
|
126
126
|
},
|
|
127
|
-
"trt_01KXZ44Y963YXRJDNR4F2M5QHX": {
|
|
128
|
-
"bakedName": "DenseTableView",
|
|
129
|
-
"curName": "DenseTableView",
|
|
130
|
-
"id": "trt_01KXZ44Y963YXRJDNR4F2M5QHX",
|
|
131
|
-
"kind": "trait",
|
|
132
|
-
"owner": "workspace",
|
|
133
|
-
"renames": []
|
|
134
|
-
},
|
|
135
|
-
"trt_01KXZ44Y965J2Q55E5JN4JKVGR": {
|
|
136
|
-
"bakedName": "DataGrid1",
|
|
137
|
-
"curName": "DataGrid1",
|
|
138
|
-
"id": "trt_01KXZ44Y965J2Q55E5JN4JKVGR",
|
|
139
|
-
"kind": "trait",
|
|
140
|
-
"owner": "workspace",
|
|
141
|
-
"renames": []
|
|
142
|
-
},
|
|
143
127
|
"trt_01KYG176Z400JFKWZ2XPKJ4798": {
|
|
144
128
|
"bakedName": "MasterListView",
|
|
145
129
|
"curName": "MasterListView",
|
|
@@ -211,112 +195,6 @@
|
|
|
211
195
|
}
|
|
212
196
|
],
|
|
213
197
|
"traits": [
|
|
214
|
-
{
|
|
215
|
-
"config": {
|
|
216
|
-
"cols": {
|
|
217
|
-
"default": "@config.cols",
|
|
218
|
-
"type": "unknown"
|
|
219
|
-
},
|
|
220
|
-
"fields": {
|
|
221
|
-
"default": "@config.fields",
|
|
222
|
-
"type": "unknown"
|
|
223
|
-
},
|
|
224
|
-
"gap": {
|
|
225
|
-
"default": "@config.gap",
|
|
226
|
-
"type": "unknown"
|
|
227
|
-
},
|
|
228
|
-
"imageField": {
|
|
229
|
-
"default": "@config.imageField",
|
|
230
|
-
"type": "unknown"
|
|
231
|
-
},
|
|
232
|
-
"itemActions": {
|
|
233
|
-
"default": "@config.itemActions",
|
|
234
|
-
"type": "unknown"
|
|
235
|
-
},
|
|
236
|
-
"maxInlineActions": {
|
|
237
|
-
"default": "@config.maxInlineActions",
|
|
238
|
-
"type": "unknown"
|
|
239
|
-
},
|
|
240
|
-
"pageSize": {
|
|
241
|
-
"default": "@config.displayPageSize",
|
|
242
|
-
"type": "unknown"
|
|
243
|
-
},
|
|
244
|
-
"selfFetch": {
|
|
245
|
-
"default": false,
|
|
246
|
-
"type": "unknown"
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
"id": "trt_01KXZ44Y965J2Q55E5JN4JKVGR",
|
|
250
|
-
"linkedEntity": "BrowseItem",
|
|
251
|
-
"linkedEntityId": "ent_01KXG04FVGGWM52VJZVMAEG5H0",
|
|
252
|
-
"listens": [
|
|
253
|
-
{
|
|
254
|
-
"event": "BrowseItemLoaded",
|
|
255
|
-
"source": {
|
|
256
|
-
"kind": "trait",
|
|
257
|
-
"trait": "BrowseItemBrowse"
|
|
258
|
-
},
|
|
259
|
-
"triggers": "DataGridLoaded"
|
|
260
|
-
}
|
|
261
|
-
],
|
|
262
|
-
"name": "DataGrid1",
|
|
263
|
-
"ref": "DataGrid.traits.DataGridRender"
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
"config": {
|
|
267
|
-
"columns": {
|
|
268
|
-
"default": "@config.columns",
|
|
269
|
-
"type": "unknown"
|
|
270
|
-
},
|
|
271
|
-
"emptyMessage": {
|
|
272
|
-
"default": "No records",
|
|
273
|
-
"type": "unknown"
|
|
274
|
-
},
|
|
275
|
-
"itemActions": {
|
|
276
|
-
"default": "@config.itemActions",
|
|
277
|
-
"type": "unknown"
|
|
278
|
-
},
|
|
279
|
-
"itemClickEvent": {
|
|
280
|
-
"default": "@config.itemClickEvent",
|
|
281
|
-
"type": "unknown"
|
|
282
|
-
},
|
|
283
|
-
"look": {
|
|
284
|
-
"default": "dense",
|
|
285
|
-
"type": "unknown"
|
|
286
|
-
},
|
|
287
|
-
"maxInlineActions": {
|
|
288
|
-
"default": "@config.maxInlineActions",
|
|
289
|
-
"type": "unknown"
|
|
290
|
-
},
|
|
291
|
-
"pageSize": {
|
|
292
|
-
"default": "@config.displayPageSize",
|
|
293
|
-
"type": "unknown"
|
|
294
|
-
},
|
|
295
|
-
"selectable": {
|
|
296
|
-
"default": "@config.selectable",
|
|
297
|
-
"type": "unknown"
|
|
298
|
-
},
|
|
299
|
-
"selfFetch": {
|
|
300
|
-
"default": false,
|
|
301
|
-
"type": "unknown"
|
|
302
|
-
}
|
|
303
|
-
},
|
|
304
|
-
"id": "trt_01KXZ44Y963YXRJDNR4F2M5QHX",
|
|
305
|
-
"linkedEntity": "BrowseItem",
|
|
306
|
-
"linkedEntityId": "ent_01KXG04FVGGWM52VJZVMAEG5H0",
|
|
307
|
-
"listens": [
|
|
308
|
-
{
|
|
309
|
-
"event": "BrowseItemLoaded",
|
|
310
|
-
"source": {
|
|
311
|
-
"kind": "trait",
|
|
312
|
-
"trait": "BrowseItemBrowse"
|
|
313
|
-
},
|
|
314
|
-
"triggers": "TableViewLoaded"
|
|
315
|
-
}
|
|
316
|
-
],
|
|
317
|
-
"name": "DenseTableView",
|
|
318
|
-
"ref": "TableView.traits.TableViewRender"
|
|
319
|
-
},
|
|
320
198
|
{
|
|
321
199
|
"config": {
|
|
322
200
|
"fields": {
|
|
@@ -433,15 +311,24 @@
|
|
|
433
311
|
"type": "stack"
|
|
434
312
|
}
|
|
435
313
|
],
|
|
436
|
-
|
|
314
|
+
{
|
|
315
|
+
"cols": "@config.cols",
|
|
316
|
+
"entity": "@payload.data",
|
|
317
|
+
"fields": "@config.fields",
|
|
318
|
+
"gap": "@config.gap",
|
|
319
|
+
"imageField": "@config.imageField",
|
|
320
|
+
"itemActions": "@config.itemActions",
|
|
321
|
+
"maxInlineActions": "@config.maxInlineActions",
|
|
322
|
+
"pageSize": "@config.displayPageSize",
|
|
323
|
+
"type": "data-grid"
|
|
324
|
+
}
|
|
437
325
|
],
|
|
438
326
|
"direction": "vertical",
|
|
439
327
|
"gap": "md",
|
|
440
328
|
"type": "stack"
|
|
441
329
|
},
|
|
442
|
-
"description": "Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens.",
|
|
330
|
+
"description": "Render-ui SExpr rendered after rows load when browseLook = table (the default). Toolbar (search when bodySearch, filter bar when filters is non-empty) above the canonical data-grid call. Until 2026-08-27 this was the only one of the six looks with no search affordance at all. See denseBodyContent/feedBodyContent/galleryBodyContent for the other browseLook bodies; any may be overridden directly while inheriting the same trait, state machine, emits, and listens. Inlined directly (not via a composed sibling trait) 2026-09-08 — a separately-listening DataGrid1 sibling fired unconditionally on every BrowseItemLoaded regardless of browseLook, racing the correct body for slot main (a listens guard can't gate this: both the Rust interpreter and the TS codegen path restrict a listens guard's context to @payload only, so a browseLook config check there always evaluates undefined).",
|
|
443
331
|
"label": "Body content tree",
|
|
444
|
-
"tier": "internal",
|
|
445
332
|
"type": "render-ui"
|
|
446
333
|
},
|
|
447
334
|
"bodySearch": {
|
|
@@ -638,7 +525,18 @@
|
|
|
638
525
|
],
|
|
639
526
|
{
|
|
640
527
|
"children": [
|
|
641
|
-
|
|
528
|
+
{
|
|
529
|
+
"columns": "@config.columns",
|
|
530
|
+
"emptyMessage": "No records",
|
|
531
|
+
"entity": "@payload.data",
|
|
532
|
+
"itemActions": "@config.itemActions",
|
|
533
|
+
"itemClickEvent": "@config.itemClickEvent",
|
|
534
|
+
"look": "dense",
|
|
535
|
+
"maxInlineActions": "@config.maxInlineActions",
|
|
536
|
+
"pageSize": "@config.displayPageSize",
|
|
537
|
+
"selectable": "@config.selectable",
|
|
538
|
+
"type": "table-view"
|
|
539
|
+
}
|
|
642
540
|
],
|
|
643
541
|
"className": "overflow-x-auto",
|
|
644
542
|
"direction": "vertical",
|
|
@@ -651,7 +549,7 @@
|
|
|
651
549
|
"gap": "none",
|
|
652
550
|
"type": "stack"
|
|
653
551
|
},
|
|
654
|
-
"description": "Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B).",
|
|
552
|
+
"description": "Render-ui SExpr rendered after rows load when browseLook = dense. Spreadsheet-style sticky-header data-table with a search bar; composes columns/itemActions/maxInlineActions/displayPageSize/searchPlaceholder. Folded from std-browse-dense (Phase 5.B). Inlined directly (not via a composed sibling trait) 2026-09-08 — see the table-default body's note for why.",
|
|
655
553
|
"label": "Dense look body",
|
|
656
554
|
"tier": "internal",
|
|
657
555
|
"type": "render-ui"
|
|
@@ -2623,8 +2521,6 @@
|
|
|
2623
2521
|
]
|
|
2624
2522
|
},
|
|
2625
2523
|
"traitEmbedIds": {
|
|
2626
|
-
"DataGrid1": "trt_01KXZ44Y965J2Q55E5JN4JKVGR",
|
|
2627
|
-
"DenseTableView": "trt_01KXZ44Y963YXRJDNR4F2M5QHX",
|
|
2628
2524
|
"MasterListView": "trt_01KYG176Z400JFKWZ2XPKJ4798"
|
|
2629
2525
|
}
|
|
2630
2526
|
}
|
|
@@ -2764,14 +2660,6 @@
|
|
|
2764
2660
|
"as": "Typography",
|
|
2765
2661
|
"from": "std/behaviors/ui-typography"
|
|
2766
2662
|
},
|
|
2767
|
-
{
|
|
2768
|
-
"as": "DataGrid",
|
|
2769
|
-
"from": "std/behaviors/ui-data-grid"
|
|
2770
|
-
},
|
|
2771
|
-
{
|
|
2772
|
-
"as": "TableView",
|
|
2773
|
-
"from": "std/behaviors/ui-table-view"
|
|
2774
|
-
},
|
|
2775
2663
|
{
|
|
2776
2664
|
"as": "DataList",
|
|
2777
2665
|
"from": "std/behaviors/ui-data-list"
|
|
@@ -594,30 +594,7 @@
|
|
|
594
594
|
},
|
|
595
595
|
{
|
|
596
596
|
"entity": "@payload.data",
|
|
597
|
-
"fields":
|
|
598
|
-
{
|
|
599
|
-
"icon": "calendar",
|
|
600
|
-
"label": "Event",
|
|
601
|
-
"name": "name",
|
|
602
|
-
"variant": "h4"
|
|
603
|
-
},
|
|
604
|
-
{
|
|
605
|
-
"label": "Time",
|
|
606
|
-
"name": "time",
|
|
607
|
-
"variant": "badge"
|
|
608
|
-
},
|
|
609
|
-
{
|
|
610
|
-
"format": "date",
|
|
611
|
-
"label": "Date",
|
|
612
|
-
"name": "date",
|
|
613
|
-
"variant": "caption"
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
"label": "Status",
|
|
617
|
-
"name": "status",
|
|
618
|
-
"variant": "badge"
|
|
619
|
-
}
|
|
620
|
-
],
|
|
597
|
+
"fields": "@config.fields",
|
|
621
598
|
"itemActions": "@config.agendaItemActions",
|
|
622
599
|
"look": "@config.tableLook",
|
|
623
600
|
"type": "data-list"
|
|
@@ -659,6 +636,83 @@
|
|
|
659
636
|
"tier": "presentation",
|
|
660
637
|
"type": "string"
|
|
661
638
|
},
|
|
639
|
+
"fields": {
|
|
640
|
+
"default": [
|
|
641
|
+
{
|
|
642
|
+
"icon": "calendar",
|
|
643
|
+
"label": "Event",
|
|
644
|
+
"name": "name",
|
|
645
|
+
"variant": "h4"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"label": "Time",
|
|
649
|
+
"name": "time",
|
|
650
|
+
"variant": "badge"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
"format": "date",
|
|
654
|
+
"label": "Date",
|
|
655
|
+
"name": "date",
|
|
656
|
+
"variant": "caption"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"label": "Status",
|
|
660
|
+
"name": "status",
|
|
661
|
+
"variant": "badge"
|
|
662
|
+
}
|
|
663
|
+
],
|
|
664
|
+
"description": "Row field descriptors for the 'Upcoming Events' data-list under calendarLook='month'. Rebound hosts must override this — it is a literal entity[field.name] lookup, unlike titleBinding/timeBinding/descriptionBinding (expression bindings), so it does not follow a rebind automatically.",
|
|
665
|
+
"items": {
|
|
666
|
+
"properties": {
|
|
667
|
+
"format": {
|
|
668
|
+
"name": "format",
|
|
669
|
+
"required": false,
|
|
670
|
+
"type": "string",
|
|
671
|
+
"values": [
|
|
672
|
+
"date",
|
|
673
|
+
"currency",
|
|
674
|
+
"number",
|
|
675
|
+
"boolean",
|
|
676
|
+
"percent"
|
|
677
|
+
]
|
|
678
|
+
},
|
|
679
|
+
"icon": {
|
|
680
|
+
"name": "icon",
|
|
681
|
+
"required": false,
|
|
682
|
+
"type": "string"
|
|
683
|
+
},
|
|
684
|
+
"label": {
|
|
685
|
+
"name": "label",
|
|
686
|
+
"required": false,
|
|
687
|
+
"type": "string"
|
|
688
|
+
},
|
|
689
|
+
"name": {
|
|
690
|
+
"name": "name",
|
|
691
|
+
"required": true,
|
|
692
|
+
"type": "string"
|
|
693
|
+
},
|
|
694
|
+
"variant": {
|
|
695
|
+
"name": "variant",
|
|
696
|
+
"required": false,
|
|
697
|
+
"type": "string",
|
|
698
|
+
"values": [
|
|
699
|
+
"h3",
|
|
700
|
+
"h4",
|
|
701
|
+
"body",
|
|
702
|
+
"caption",
|
|
703
|
+
"badge",
|
|
704
|
+
"small",
|
|
705
|
+
"progress"
|
|
706
|
+
]
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"type": "object"
|
|
710
|
+
},
|
|
711
|
+
"label": "Upcoming-events columns",
|
|
712
|
+
"synonyms": "upcoming events columns, month view fields, event list columns",
|
|
713
|
+
"tier": "presentation",
|
|
714
|
+
"type": "[FieldSpec]"
|
|
715
|
+
},
|
|
662
716
|
"filterBarLook": {
|
|
663
717
|
"default": "toolbar",
|
|
664
718
|
"description": "Visual treatment for the embedded filter bar, mirroring std-filter's own enum. Only applies when `filters` is non-empty.",
|
|
@@ -1712,6 +1766,29 @@
|
|
|
1712
1766
|
}
|
|
1713
1767
|
],
|
|
1714
1768
|
"types": {
|
|
1769
|
+
"FieldSpec": [
|
|
1770
|
+
{
|
|
1771
|
+
"name": "name",
|
|
1772
|
+
"required": true,
|
|
1773
|
+
"type": "string"
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
"name": "label",
|
|
1777
|
+
"type": "string"
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"name": "variant",
|
|
1781
|
+
"type": "string"
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"name": "icon",
|
|
1785
|
+
"type": "string"
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"name": "format",
|
|
1789
|
+
"type": "string"
|
|
1790
|
+
}
|
|
1791
|
+
],
|
|
1715
1792
|
"FilterSpec": [
|
|
1716
1793
|
{
|
|
1717
1794
|
"name": "field",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "16.
|
|
2
|
+
"version": "16.210.0",
|
|
3
3
|
"model": "baai/bge-base-en-v1.5",
|
|
4
4
|
"dimensions": 768,
|
|
5
|
-
"registryHash": "
|
|
5
|
+
"registryHash": "00d078740308bc4c301c4912e353bea9a661e11d8e7572c2fa31c9fdf0d6629b",
|
|
6
6
|
"signaturesHash": "c7114e7b08f4461f3f0a1b9a89c8ebb0183e8f9ba578931ad078eac326e84241"
|
|
7
7
|
}
|