@almadar/std 16.148.0 → 16.149.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-app-search.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-billable-hour.lolo +86 -41
- package/behaviors/lolo/ui/core/atoms/std-board.lolo +29 -16
- package/behaviors/lolo/ui/core/atoms/std-browse.lolo +187 -83
- package/behaviors/lolo/ui/core/atoms/std-dashboard-grid-embedded.lolo +8 -0
- package/behaviors/lolo/ui/core/atoms/std-file-store.lolo +1 -1
- package/behaviors/lolo/ui/core/atoms/std-stats.lolo +14 -10
- package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +1 -29
- package/behaviors/registry/factory-signatures.json +9 -13
- package/behaviors/registry/ui/core/atoms/std-app-search.orb +9 -1
- package/behaviors/registry/ui/core/atoms/std-billable-hour.orb +242 -50
- package/behaviors/registry/ui/core/atoms/std-board.orb +86 -20
- package/behaviors/registry/ui/core/atoms/std-browse.orb +377 -119
- package/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +41 -29
- package/behaviors/registry/ui/core/atoms/std-file-store.orb +0 -3
- package/behaviors/registry/ui/core/atoms/std-stats.orb +267 -238
- package/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -38
- package/dist/behaviors/behaviors-embeddings.json +475 -475
- package/dist/behaviors/behaviors-registry.json +10 -12
- package/dist/behaviors/knob-embeddings.json +1 -1
- package/dist/behaviors/registry/factory-signatures.json +9 -13
- package/dist/behaviors/registry/ui/core/atoms/std-app-search.orb +9 -1
- package/dist/behaviors/registry/ui/core/atoms/std-billable-hour.orb +242 -50
- package/dist/behaviors/registry/ui/core/atoms/std-board.orb +86 -20
- package/dist/behaviors/registry/ui/core/atoms/std-browse.orb +377 -119
- package/dist/behaviors/registry/ui/core/atoms/std-dashboard-grid-embedded.orb +41 -29
- package/dist/behaviors/registry/ui/core/atoms/std-file-store.orb +0 -3
- package/dist/behaviors/registry/ui/core/atoms/std-stats.orb +267 -238
- package/dist/behaviors/registry/ui/core/atoms/std-version-history.orb +1 -38
- package/dist/behaviors-embeddings.json +475 -475
- package/dist/behaviors-registry.json +10 -12
- package/dist/knob-embeddings.json +1 -1
- package/dist/registry/factory-signatures.json +9 -13
- package/package.json +8 -1
|
@@ -29,6 +29,9 @@ orbital DashboardGridEmbeddedOrbital {
|
|
|
29
29
|
state composing {
|
|
30
30
|
INIT -> composing
|
|
31
31
|
(render-ui main {
|
|
32
|
+
data-theme: @config.theme
|
|
33
|
+
type: box
|
|
34
|
+
children: [{
|
|
32
35
|
children: [{
|
|
33
36
|
align: center
|
|
34
37
|
children: [{
|
|
@@ -54,6 +57,7 @@ orbital DashboardGridEmbeddedOrbital {
|
|
|
54
57
|
direction: vertical
|
|
55
58
|
gap: md
|
|
56
59
|
type: stack
|
|
60
|
+
}]
|
|
57
61
|
})
|
|
58
62
|
}
|
|
59
63
|
|
|
@@ -138,6 +142,10 @@ orbital DashboardGridEmbeddedOrbital {
|
|
|
138
142
|
@label "Tile min width"
|
|
139
143
|
@description "Minimum pixel width per tile before the grid re-flows"
|
|
140
144
|
@tier "presentation"
|
|
145
|
+
theme : string = ""
|
|
146
|
+
@label "Theme"
|
|
147
|
+
@description "Design-system skin applied to the embedded grid surface via data-theme (e.g. 'linear-clean-light'). Empty inherits the surrounding shell's theme. Needed because this atom renders without app-shell chrome, so no layout-level theme cascade reaches it."
|
|
148
|
+
@tier "presentation"
|
|
141
149
|
}
|
|
142
150
|
}
|
|
143
151
|
|
|
@@ -59,7 +59,7 @@ orbital StoredFileOrbital {
|
|
|
59
59
|
direction: horizontal
|
|
60
60
|
gap: sm
|
|
61
61
|
type: stack
|
|
62
|
-
}, { type: divider }, { tree: @config.tree, type: file-tree }, {
|
|
62
|
+
}, { type: divider }, { tree: @config.tree, type: file-tree }, {
|
|
63
63
|
entity: ?data
|
|
64
64
|
fields: @config.fields
|
|
65
65
|
gap: sm
|
|
@@ -33,7 +33,7 @@ orbital StatsItemOrbital {
|
|
|
33
33
|
sparklineData: (object/get @metric sparklineData [])
|
|
34
34
|
suffix: (object/get @metric suffix "")
|
|
35
35
|
target: (object/get @metric target 0)
|
|
36
|
-
trend: (object/get @metric trend
|
|
36
|
+
trend: (object/get @metric trend)
|
|
37
37
|
trendFormat: (object/get @metric trendFormat absolute)
|
|
38
38
|
trendPolarity: (object/get @metric trendPolarity higher-is-better)
|
|
39
39
|
value: (object/get @metric value 0)
|
|
@@ -62,7 +62,7 @@ orbital StatsItemOrbital {
|
|
|
62
62
|
sparklineData: (object/get @metric sparklineData [])
|
|
63
63
|
suffix: (object/get @metric suffix "")
|
|
64
64
|
target: (object/get @metric target 0)
|
|
65
|
-
trend: (if ["=", (object/get @metric aggregation count), variance] ["-", (array/sum (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")), (array/sum (array/filter ?data (object/get @metric baselineFilter true)) (object/get @metric field ""))] (object/get @metric trend
|
|
65
|
+
trend: (if ["=", (object/get @metric aggregation count), variance] ["-", (array/sum (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")), (array/sum (array/filter ?data (object/get @metric baselineFilter true)) (object/get @metric field ""))] (object/get @metric trend))
|
|
66
66
|
trendFormat: (object/get @metric trendFormat absolute)
|
|
67
67
|
trendPolarity: (object/get @metric trendPolarity higher-is-better)
|
|
68
68
|
value: (if ["=", (object/get @metric aggregation count), sum] (array/sum (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")) (if ["=", (object/get @metric aggregation count), avg] (array/avg (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")) (if ["=", (object/get @metric aggregation count), min] (array/min (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")) (if ["=", (object/get @metric aggregation count), max] (array/max (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")) (if ["=", (object/get @metric aggregation count), variance] (array/sum (array/filter ?data (object/get @metric filter true)) (object/get @metric field "")) (array/len (array/filter ?data (object/get @metric filter true))))))))
|
|
@@ -117,6 +117,10 @@ orbital StatsItemOrbital {
|
|
|
117
117
|
@description "Heading shown above the stat-card grid"
|
|
118
118
|
@synonyms "the section header text. user phrases: 'rename section to X' / 'title the KPIs X' / 'change section title to X' -> X"
|
|
119
119
|
@tier "presentation"
|
|
120
|
+
theme : string = ""
|
|
121
|
+
@label "Theme"
|
|
122
|
+
@description "Data-theme skin applied to the stat body root — for chrome-less pages composed without an AppShell."
|
|
123
|
+
@tier "presentation"
|
|
120
124
|
viewPattern : pattern = data-grid
|
|
121
125
|
@label "Render pattern"
|
|
122
126
|
@description "UI pattern used to arrange the stat cards"
|
|
@@ -130,7 +134,7 @@ orbital StatsItemOrbital {
|
|
|
130
134
|
@label "Stats look"
|
|
131
135
|
@description "Layer 3 body layout: default per-metric stat-card grid ('cards'), Stripe-dashboard KPI tile row ('kpi-tiles'), single oversize hero number ('hero-metric'), or chart-first sparkline tile grid ('sparkline-row')."
|
|
132
136
|
@tier "presentation"
|
|
133
|
-
bodyContent : render-ui = {
|
|
137
|
+
bodyContent : render-ui = { data-theme: @config.theme, type: box, children: [{
|
|
134
138
|
entity: @entity.cards
|
|
135
139
|
fields: []
|
|
136
140
|
renderItem: (fn card {
|
|
@@ -152,11 +156,11 @@ orbital StatsItemOrbital {
|
|
|
152
156
|
variant: @card.variant
|
|
153
157
|
})
|
|
154
158
|
type: @config.viewPattern
|
|
155
|
-
}
|
|
159
|
+
}] }
|
|
156
160
|
@label "Body content tree"
|
|
157
161
|
@description "Render-ui SExpr rendered after metrics aggregate for statsLook='cards' — the canonical data-grid call mapping @entity.cards through stat-display. Other statsLook values render kpiTilesBodyContent / heroMetricBodyContent / sparklineRowBodyContent instead; all four share this trait's state machine, aggregation pipeline, and listens."
|
|
158
162
|
@tier "internal"
|
|
159
|
-
kpiTilesBodyContent : render-ui = {
|
|
163
|
+
kpiTilesBodyContent : render-ui = { data-theme: @config.theme, type: box, children: [{
|
|
160
164
|
className: w-full
|
|
161
165
|
entity: @entity.cards
|
|
162
166
|
fields: []
|
|
@@ -228,11 +232,11 @@ orbital StatsItemOrbital {
|
|
|
228
232
|
type: stack
|
|
229
233
|
})
|
|
230
234
|
type: data-grid
|
|
231
|
-
}
|
|
235
|
+
}] }
|
|
232
236
|
@label "KPI tiles body content tree"
|
|
233
237
|
@description "Render-ui SExpr for statsLook='kpi-tiles' — Stripe-dashboard style tile grid: huge typography number, label, trend indicator, sparkline hint."
|
|
234
238
|
@tier "internal"
|
|
235
|
-
heroMetricBodyContent : render-ui = {
|
|
239
|
+
heroMetricBodyContent : render-ui = { data-theme: @config.theme, type: box, children: [{
|
|
236
240
|
entity: @entity.cards
|
|
237
241
|
fields: []
|
|
238
242
|
gap: none
|
|
@@ -313,11 +317,11 @@ orbital StatsItemOrbital {
|
|
|
313
317
|
type: stack
|
|
314
318
|
})
|
|
315
319
|
type: data-list
|
|
316
|
-
}
|
|
320
|
+
}] }
|
|
317
321
|
@label "Hero metric body content tree"
|
|
318
322
|
@description "Render-ui SExpr for statsLook='hero-metric' — one elevated card, one oversize number, background sparkline."
|
|
319
323
|
@tier "internal"
|
|
320
|
-
sparklineRowBodyContent : render-ui = {
|
|
324
|
+
sparklineRowBodyContent : render-ui = { data-theme: @config.theme, type: box, children: [{
|
|
321
325
|
className: w-full
|
|
322
326
|
entity: @entity.cards
|
|
323
327
|
fields: []
|
|
@@ -391,7 +395,7 @@ orbital StatsItemOrbital {
|
|
|
391
395
|
type: stack
|
|
392
396
|
})
|
|
393
397
|
type: data-grid
|
|
394
|
-
}
|
|
398
|
+
}] }
|
|
395
399
|
@label "Sparkline row body content tree"
|
|
396
400
|
@description "Render-ui SExpr for statsLook='sparkline-row' — chart-first tiles where the mini trend line is the visual centerpiece, label above, value+delta footer."
|
|
397
401
|
@tier "internal"
|
|
@@ -56,34 +56,6 @@ orbital RevisionOrbital {
|
|
|
56
56
|
gap: sm
|
|
57
57
|
type: stack
|
|
58
58
|
}, {
|
|
59
|
-
children: [{
|
|
60
|
-
icon: history
|
|
61
|
-
label: "Total revisions"
|
|
62
|
-
look: @config.statLook
|
|
63
|
-
type: stat-display
|
|
64
|
-
value: ?data.length
|
|
65
|
-
}, {
|
|
66
|
-
icon: users
|
|
67
|
-
label: Authors
|
|
68
|
-
look: @config.statLook
|
|
69
|
-
type: stat-display
|
|
70
|
-
value: "6"
|
|
71
|
-
}, {
|
|
72
|
-
icon: save
|
|
73
|
-
label: "Saves this week"
|
|
74
|
-
look: @config.statLook
|
|
75
|
-
type: stat-display
|
|
76
|
-
value: "14"
|
|
77
|
-
}, {
|
|
78
|
-
icon: rotate-ccw
|
|
79
|
-
label: Rollbacks
|
|
80
|
-
look: @config.statLook
|
|
81
|
-
type: stat-display
|
|
82
|
-
value: "2"
|
|
83
|
-
}]
|
|
84
|
-
cols: 4
|
|
85
|
-
type: simple-grid
|
|
86
|
-
}, { type: divider }, {
|
|
87
59
|
cols: 1
|
|
88
60
|
entity: ?data
|
|
89
61
|
fields: [{
|
|
@@ -108,7 +80,7 @@ orbital RevisionOrbital {
|
|
|
108
80
|
event: OPEN_REVISION
|
|
109
81
|
icon: arrow-right
|
|
110
82
|
label: Open
|
|
111
|
-
variant:
|
|
83
|
+
variant: ghost
|
|
112
84
|
}, {
|
|
113
85
|
event: ROLLBACK
|
|
114
86
|
icon: rotate-ccw
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedFromStdVersion": "16.
|
|
2
|
+
"generatedFromStdVersion": "16.148.0",
|
|
3
3
|
"signatures": [
|
|
4
4
|
{
|
|
5
5
|
"organism": "learning-algorithms",
|
|
@@ -96383,17 +96383,16 @@
|
|
|
96383
96383
|
"if",
|
|
96384
96384
|
"@config.bodySearch",
|
|
96385
96385
|
{
|
|
96386
|
-
"align": "center",
|
|
96387
96386
|
"children": [
|
|
96388
96387
|
{
|
|
96389
|
-
"className": "w-full
|
|
96388
|
+
"className": "w-full",
|
|
96390
96389
|
"clearable": true,
|
|
96391
96390
|
"event": "REFETCH_QUERY",
|
|
96392
96391
|
"placeholder": "@config.searchPlaceholder",
|
|
96393
96392
|
"type": "search-input"
|
|
96394
96393
|
}
|
|
96395
96394
|
],
|
|
96396
|
-
"className": "w-full
|
|
96395
|
+
"className": "w-full",
|
|
96397
96396
|
"direction": "horizontal",
|
|
96398
96397
|
"gap": "sm",
|
|
96399
96398
|
"type": "stack"
|
|
@@ -96414,7 +96413,6 @@
|
|
|
96414
96413
|
"type": "stack"
|
|
96415
96414
|
}
|
|
96416
96415
|
],
|
|
96417
|
-
"className": "p-card-md",
|
|
96418
96416
|
"direction": "vertical",
|
|
96419
96417
|
"gap": "sm",
|
|
96420
96418
|
"type": "stack"
|
|
@@ -96563,7 +96561,7 @@
|
|
|
96563
96561
|
"variant": "card"
|
|
96564
96562
|
}
|
|
96565
96563
|
],
|
|
96566
|
-
"className": "w-full
|
|
96564
|
+
"className": "w-full",
|
|
96567
96565
|
"direction": "vertical",
|
|
96568
96566
|
"gap": "lg",
|
|
96569
96567
|
"type": "stack"
|
|
@@ -96794,7 +96792,7 @@
|
|
|
96794
96792
|
"type": "data-grid"
|
|
96795
96793
|
}
|
|
96796
96794
|
],
|
|
96797
|
-
"className": "w-full
|
|
96795
|
+
"className": "w-full",
|
|
96798
96796
|
"direction": "vertical",
|
|
96799
96797
|
"gap": "lg",
|
|
96800
96798
|
"type": "stack"
|
|
@@ -97487,17 +97485,16 @@
|
|
|
97487
97485
|
"if",
|
|
97488
97486
|
"@config.bodySearch",
|
|
97489
97487
|
{
|
|
97490
|
-
"align": "center",
|
|
97491
97488
|
"children": [
|
|
97492
97489
|
{
|
|
97493
|
-
"className": "w-full
|
|
97490
|
+
"className": "w-full",
|
|
97494
97491
|
"clearable": true,
|
|
97495
97492
|
"event": "REFETCH_QUERY",
|
|
97496
97493
|
"placeholder": "@config.searchPlaceholder",
|
|
97497
97494
|
"type": "search-input"
|
|
97498
97495
|
}
|
|
97499
97496
|
],
|
|
97500
|
-
"className": "w-full
|
|
97497
|
+
"className": "w-full",
|
|
97501
97498
|
"direction": "horizontal",
|
|
97502
97499
|
"gap": "sm",
|
|
97503
97500
|
"type": "stack"
|
|
@@ -97518,7 +97515,6 @@
|
|
|
97518
97515
|
"type": "stack"
|
|
97519
97516
|
}
|
|
97520
97517
|
],
|
|
97521
|
-
"className": "p-card-md",
|
|
97522
97518
|
"direction": "vertical",
|
|
97523
97519
|
"gap": "sm",
|
|
97524
97520
|
"type": "stack"
|
|
@@ -97664,7 +97660,7 @@
|
|
|
97664
97660
|
"variant": "card"
|
|
97665
97661
|
}
|
|
97666
97662
|
],
|
|
97667
|
-
"className": "w-full
|
|
97663
|
+
"className": "w-full",
|
|
97668
97664
|
"direction": "vertical",
|
|
97669
97665
|
"gap": "lg",
|
|
97670
97666
|
"type": "stack"
|
|
@@ -97878,7 +97874,7 @@
|
|
|
97878
97874
|
"type": "data-grid"
|
|
97879
97875
|
}
|
|
97880
97876
|
],
|
|
97881
|
-
"className": "w-full
|
|
97877
|
+
"className": "w-full",
|
|
97882
97878
|
"direction": "vertical",
|
|
97883
97879
|
"gap": "lg",
|
|
97884
97880
|
"type": "stack"
|
|
@@ -642,7 +642,15 @@
|
|
|
642
642
|
},
|
|
643
643
|
{
|
|
644
644
|
"color": "muted",
|
|
645
|
-
"content":
|
|
645
|
+
"content": [
|
|
646
|
+
"str/concat",
|
|
647
|
+
[
|
|
648
|
+
"str/concat",
|
|
649
|
+
"Matching “",
|
|
650
|
+
"@entity.searchTerm"
|
|
651
|
+
],
|
|
652
|
+
"”"
|
|
653
|
+
],
|
|
646
654
|
"type": "typography",
|
|
647
655
|
"variant": "caption"
|
|
648
656
|
},
|
|
@@ -96,6 +96,14 @@
|
|
|
96
96
|
"kind": "trait",
|
|
97
97
|
"owner": "workspace",
|
|
98
98
|
"renames": []
|
|
99
|
+
},
|
|
100
|
+
"trt_01KYGG0J813545ADJDSSED6T49": {
|
|
101
|
+
"bakedName": "DenseHoursTable",
|
|
102
|
+
"curName": "DenseHoursTable",
|
|
103
|
+
"id": "trt_01KYGG0J813545ADJDSSED6T49",
|
|
104
|
+
"kind": "trait",
|
|
105
|
+
"owner": "workspace",
|
|
106
|
+
"renames": []
|
|
99
107
|
}
|
|
100
108
|
},
|
|
101
109
|
"schemaVersion": 1
|
|
@@ -208,9 +216,201 @@
|
|
|
208
216
|
}
|
|
209
217
|
],
|
|
210
218
|
"traits": [
|
|
219
|
+
{
|
|
220
|
+
"config": {
|
|
221
|
+
"columns": {
|
|
222
|
+
"default": "@config.columns",
|
|
223
|
+
"type": "unknown"
|
|
224
|
+
},
|
|
225
|
+
"emptyMessage": {
|
|
226
|
+
"default": "No time entries",
|
|
227
|
+
"type": "unknown"
|
|
228
|
+
},
|
|
229
|
+
"itemActions": {
|
|
230
|
+
"default": "@config.itemActions",
|
|
231
|
+
"type": "unknown"
|
|
232
|
+
},
|
|
233
|
+
"look": {
|
|
234
|
+
"default": "@config.tableLook",
|
|
235
|
+
"type": "unknown"
|
|
236
|
+
},
|
|
237
|
+
"maxInlineActions": {
|
|
238
|
+
"default": 2.0,
|
|
239
|
+
"type": "unknown"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"id": "trt_01KYGG0J813545ADJDSSED6T49",
|
|
243
|
+
"linkedEntity": "BillableHour",
|
|
244
|
+
"linkedEntityId": "ent_01KXG04FQKJHPT5T65NNKMM8AM",
|
|
245
|
+
"listens": [
|
|
246
|
+
{
|
|
247
|
+
"event": "BillableHourLoaded",
|
|
248
|
+
"source": {
|
|
249
|
+
"kind": "trait",
|
|
250
|
+
"trait": "BillableHourTimesheet"
|
|
251
|
+
},
|
|
252
|
+
"triggers": "TableViewLoaded"
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"name": "DenseHoursTable",
|
|
256
|
+
"ref": "TableView.traits.TableViewRender"
|
|
257
|
+
},
|
|
211
258
|
{
|
|
212
259
|
"category": "interaction",
|
|
213
260
|
"config": {
|
|
261
|
+
"columns": {
|
|
262
|
+
"default": [
|
|
263
|
+
{
|
|
264
|
+
"align": "left",
|
|
265
|
+
"field": "workerName",
|
|
266
|
+
"header": "Worker",
|
|
267
|
+
"key": "workerName",
|
|
268
|
+
"width": "minmax(8rem, 1fr)"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"align": "left",
|
|
272
|
+
"field": "matterId",
|
|
273
|
+
"header": "Matter",
|
|
274
|
+
"key": "matterId",
|
|
275
|
+
"width": "8rem"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"align": "left",
|
|
279
|
+
"field": "workDate",
|
|
280
|
+
"format": "date",
|
|
281
|
+
"header": "Date",
|
|
282
|
+
"key": "workDate",
|
|
283
|
+
"width": "8rem"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"align": "right",
|
|
287
|
+
"field": "hours",
|
|
288
|
+
"format": "number",
|
|
289
|
+
"header": "Hours",
|
|
290
|
+
"key": "hours",
|
|
291
|
+
"width": "6rem"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"align": "right",
|
|
295
|
+
"field": "rate",
|
|
296
|
+
"format": "currency",
|
|
297
|
+
"header": "Rate",
|
|
298
|
+
"key": "rate",
|
|
299
|
+
"width": "7rem"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"align": "center",
|
|
303
|
+
"field": "invoiceStatus",
|
|
304
|
+
"format": "badge",
|
|
305
|
+
"header": "Status",
|
|
306
|
+
"key": "invoiceStatus",
|
|
307
|
+
"width": "8rem"
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
"description": "ColumnSpec list for the dense hours ledger table.",
|
|
311
|
+
"items": {
|
|
312
|
+
"properties": {
|
|
313
|
+
"align": {
|
|
314
|
+
"name": "align",
|
|
315
|
+
"required": false,
|
|
316
|
+
"type": "string"
|
|
317
|
+
},
|
|
318
|
+
"className": {
|
|
319
|
+
"name": "className",
|
|
320
|
+
"required": false,
|
|
321
|
+
"type": "string"
|
|
322
|
+
},
|
|
323
|
+
"field": {
|
|
324
|
+
"name": "field",
|
|
325
|
+
"required": false,
|
|
326
|
+
"type": "string"
|
|
327
|
+
},
|
|
328
|
+
"format": {
|
|
329
|
+
"name": "format",
|
|
330
|
+
"required": false,
|
|
331
|
+
"type": "string"
|
|
332
|
+
},
|
|
333
|
+
"header": {
|
|
334
|
+
"name": "header",
|
|
335
|
+
"required": false,
|
|
336
|
+
"type": "string"
|
|
337
|
+
},
|
|
338
|
+
"icon": {
|
|
339
|
+
"name": "icon",
|
|
340
|
+
"required": false,
|
|
341
|
+
"type": "string"
|
|
342
|
+
},
|
|
343
|
+
"key": {
|
|
344
|
+
"name": "key",
|
|
345
|
+
"required": true,
|
|
346
|
+
"type": "string"
|
|
347
|
+
},
|
|
348
|
+
"weight": {
|
|
349
|
+
"name": "weight",
|
|
350
|
+
"required": false,
|
|
351
|
+
"type": "string"
|
|
352
|
+
},
|
|
353
|
+
"width": {
|
|
354
|
+
"name": "width",
|
|
355
|
+
"required": false,
|
|
356
|
+
"type": "string"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"type": "object"
|
|
360
|
+
},
|
|
361
|
+
"label": "Table columns",
|
|
362
|
+
"tier": "presentation",
|
|
363
|
+
"type": "[ColumnSpec]"
|
|
364
|
+
},
|
|
365
|
+
"itemActions": {
|
|
366
|
+
"default": [
|
|
367
|
+
{
|
|
368
|
+
"event": "OPEN_HOURS",
|
|
369
|
+
"icon": "arrow-right",
|
|
370
|
+
"label": "Open",
|
|
371
|
+
"variant": "ghost"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"event": "WRITE_OFF_HOURS",
|
|
375
|
+
"label": "Write Off",
|
|
376
|
+
"variant": "danger"
|
|
377
|
+
}
|
|
378
|
+
],
|
|
379
|
+
"description": "Per-row actions rendered by the hours table.",
|
|
380
|
+
"items": {
|
|
381
|
+
"properties": {
|
|
382
|
+
"event": {
|
|
383
|
+
"name": "event",
|
|
384
|
+
"required": false,
|
|
385
|
+
"type": "string"
|
|
386
|
+
},
|
|
387
|
+
"icon": {
|
|
388
|
+
"name": "icon",
|
|
389
|
+
"required": false,
|
|
390
|
+
"type": "string"
|
|
391
|
+
},
|
|
392
|
+
"label": {
|
|
393
|
+
"name": "label",
|
|
394
|
+
"required": true,
|
|
395
|
+
"type": "string"
|
|
396
|
+
},
|
|
397
|
+
"navigatesTo": {
|
|
398
|
+
"name": "navigatesTo",
|
|
399
|
+
"required": false,
|
|
400
|
+
"type": "string"
|
|
401
|
+
},
|
|
402
|
+
"variant": {
|
|
403
|
+
"name": "variant",
|
|
404
|
+
"required": false,
|
|
405
|
+
"type": "string"
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"type": "object"
|
|
409
|
+
},
|
|
410
|
+
"label": "Row actions",
|
|
411
|
+
"tier": "presentation",
|
|
412
|
+
"type": "[ItemAction]"
|
|
413
|
+
},
|
|
214
414
|
"statLook": {
|
|
215
415
|
"default": "elevated",
|
|
216
416
|
"description": "Layer 2 visual treatment for stat / KPI cards.",
|
|
@@ -236,7 +436,7 @@
|
|
|
236
436
|
"spacious",
|
|
237
437
|
"striped",
|
|
238
438
|
"borderless",
|
|
239
|
-
"
|
|
439
|
+
"bordered"
|
|
240
440
|
]
|
|
241
441
|
},
|
|
242
442
|
"title": {
|
|
@@ -570,56 +770,13 @@
|
|
|
570
770
|
"type": "divider"
|
|
571
771
|
},
|
|
572
772
|
{
|
|
573
|
-
"
|
|
574
|
-
|
|
575
|
-
"fields": [
|
|
576
|
-
{
|
|
577
|
-
"label": "Worker",
|
|
578
|
-
"name": "workerName",
|
|
579
|
-
"variant": "caption"
|
|
580
|
-
},
|
|
581
|
-
{
|
|
582
|
-
"label": "Matter",
|
|
583
|
-
"name": "matterId",
|
|
584
|
-
"variant": "caption"
|
|
585
|
-
},
|
|
586
|
-
{
|
|
587
|
-
"label": "Date",
|
|
588
|
-
"name": "workDate",
|
|
589
|
-
"variant": "caption"
|
|
590
|
-
},
|
|
591
|
-
{
|
|
592
|
-
"label": "Hours",
|
|
593
|
-
"name": "hours",
|
|
594
|
-
"variant": "caption"
|
|
595
|
-
},
|
|
596
|
-
{
|
|
597
|
-
"label": "Rate",
|
|
598
|
-
"name": "rate",
|
|
599
|
-
"variant": "caption"
|
|
600
|
-
},
|
|
601
|
-
{
|
|
602
|
-
"label": "Status",
|
|
603
|
-
"name": "invoiceStatus",
|
|
604
|
-
"variant": "badge"
|
|
605
|
-
}
|
|
606
|
-
],
|
|
607
|
-
"gap": "sm",
|
|
608
|
-
"itemActions": [
|
|
609
|
-
{
|
|
610
|
-
"event": "OPEN_HOURS",
|
|
611
|
-
"icon": "arrow-right",
|
|
612
|
-
"label": "Open",
|
|
613
|
-
"variant": "primary"
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
"event": "WRITE_OFF_HOURS",
|
|
617
|
-
"label": "Write Off",
|
|
618
|
-
"variant": "danger"
|
|
619
|
-
}
|
|
773
|
+
"children": [
|
|
774
|
+
"@trait.DenseHoursTable"
|
|
620
775
|
],
|
|
621
|
-
"
|
|
622
|
-
"
|
|
776
|
+
"className": "overflow-x-auto",
|
|
777
|
+
"direction": "vertical",
|
|
778
|
+
"gap": "none",
|
|
779
|
+
"type": "stack"
|
|
623
780
|
}
|
|
624
781
|
],
|
|
625
782
|
"direction": "vertical",
|
|
@@ -650,6 +807,32 @@
|
|
|
650
807
|
"from": "loading",
|
|
651
808
|
"to": "error"
|
|
652
809
|
},
|
|
810
|
+
{
|
|
811
|
+
"effects": [
|
|
812
|
+
[
|
|
813
|
+
"fetch",
|
|
814
|
+
"BillableHour",
|
|
815
|
+
{
|
|
816
|
+
"emit": {
|
|
817
|
+
"failure": "BillableHourLoadFailed",
|
|
818
|
+
"success": "BillableHourLoaded"
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
],
|
|
822
|
+
[
|
|
823
|
+
"render-ui",
|
|
824
|
+
"main",
|
|
825
|
+
{
|
|
826
|
+
"rows": 4.0,
|
|
827
|
+
"type": "skeleton"
|
|
828
|
+
}
|
|
829
|
+
]
|
|
830
|
+
],
|
|
831
|
+
"event": "INIT",
|
|
832
|
+
"eventId": "evt_01KXG04FQKQJP6SX8JCRF7HBP1",
|
|
833
|
+
"from": "browsing",
|
|
834
|
+
"to": "loading"
|
|
835
|
+
},
|
|
653
836
|
{
|
|
654
837
|
"effects": [
|
|
655
838
|
[
|
|
@@ -1074,8 +1257,17 @@
|
|
|
1074
1257
|
"to": "loading"
|
|
1075
1258
|
}
|
|
1076
1259
|
]
|
|
1260
|
+
},
|
|
1261
|
+
"traitEmbedIds": {
|
|
1262
|
+
"DenseHoursTable": "trt_01KYGG0J813545ADJDSSED6T49"
|
|
1077
1263
|
}
|
|
1078
1264
|
}
|
|
1265
|
+
],
|
|
1266
|
+
"uses": [
|
|
1267
|
+
{
|
|
1268
|
+
"as": "TableView",
|
|
1269
|
+
"from": "std/behaviors/ui-table-view"
|
|
1270
|
+
}
|
|
1079
1271
|
]
|
|
1080
1272
|
}
|
|
1081
1273
|
],
|