@dereekb/dbx-components-mcp 13.31.0 → 13.33.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/dbx-components-mcp.js +60 -4
- package/generated/dereekb-dbx-web.css-utilities.mcp.generated.json +93 -22
- package/generated/dereekb-dbx-web.tokens.mcp.generated.json +50 -8
- package/generated/dereekb-dbx-web.ui-components.mcp.generated.json +118 -9
- package/generated/dereekb-firebase.model-snapshot-fields.mcp.generated.json +38 -1
- package/package.json +3 -3
package/dbx-components-mcp.js
CHANGED
|
@@ -10,7 +10,7 @@ var __export = (target, all) => {
|
|
|
10
10
|
// packages/dbx-components-mcp/package.json
|
|
11
11
|
var package_default = {
|
|
12
12
|
name: "@dereekb/dbx-components-mcp",
|
|
13
|
-
version: "13.
|
|
13
|
+
version: "13.33.0",
|
|
14
14
|
type: "module",
|
|
15
15
|
bin: {
|
|
16
16
|
"dbx-components-mcp": "dbx-components-mcp.js"
|
|
@@ -21,8 +21,8 @@ var package_default = {
|
|
|
21
21
|
"ts-morph": "^21.0.0"
|
|
22
22
|
},
|
|
23
23
|
peerDependencies: {
|
|
24
|
-
"@dereekb/dbx-cli": "13.
|
|
25
|
-
"@dereekb/util": "13.
|
|
24
|
+
"@dereekb/dbx-cli": "13.33.0",
|
|
25
|
+
"@dereekb/util": "13.33.0"
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -2072,10 +2072,18 @@ var FIREBASE_MODELS = [
|
|
|
2072
2072
|
tsType: "Maybe<NeedsSyncBoolean>",
|
|
2073
2073
|
optional: true,
|
|
2074
2074
|
description: "Whether one or more configs need to be synced to their corresponding NotificationBox recipients."
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
name: "hc",
|
|
2078
|
+
longName: "healthCheck",
|
|
2079
|
+
converter: "optionalFirestoreNotificationHealthCheck",
|
|
2080
|
+
tsType: "Maybe<NotificationHealthCheck>",
|
|
2081
|
+
optional: true,
|
|
2082
|
+
description: "The result of the most recent notification delivery health check run for this user."
|
|
2075
2083
|
}
|
|
2076
2084
|
],
|
|
2077
2085
|
enums: [],
|
|
2078
|
-
detectionHints: ["b", "x", "dc", "gc", "bc", "ns"],
|
|
2086
|
+
detectionHints: ["b", "x", "dc", "gc", "bc", "ns", "hc"],
|
|
2079
2087
|
description: "A global notification user profile that tracks notification preferences and box subscriptions.",
|
|
2080
2088
|
modelGroup: "Notification",
|
|
2081
2089
|
collectionKind: "root",
|
|
@@ -2566,6 +2574,54 @@ var FIREBASE_MODELS = [
|
|
|
2566
2574
|
collectionKind: "root",
|
|
2567
2575
|
archetypes: ["system-state-singleton"]
|
|
2568
2576
|
},
|
|
2577
|
+
{
|
|
2578
|
+
name: "UserExternalConnection",
|
|
2579
|
+
identityConst: "userExternalConnectionIdentity",
|
|
2580
|
+
modelType: "userExternalConnection",
|
|
2581
|
+
collectionPrefix: "uec",
|
|
2582
|
+
sourcePackage: "@dereekb/firebase",
|
|
2583
|
+
sourceFile: "packages/firebase/src/lib/model/userexternalconnection/userexternalconnection.ts",
|
|
2584
|
+
fields: [
|
|
2585
|
+
{
|
|
2586
|
+
name: "uid",
|
|
2587
|
+
longName: "uid",
|
|
2588
|
+
converter: "firestoreUID()",
|
|
2589
|
+
optional: false
|
|
2590
|
+
},
|
|
2591
|
+
{
|
|
2592
|
+
name: "e",
|
|
2593
|
+
longName: "entries",
|
|
2594
|
+
converter: "firestoreObjectMap<UserExternalConnectionEntry, FirestoreModelData<UserExternalConnectionEntry>, UserExternalConnectionProviderType>({ objectField: { fields: userExternalConnectionEntryFields } })",
|
|
2595
|
+
tsType: "UserExternalConnectionEntryMap",
|
|
2596
|
+
optional: false,
|
|
2597
|
+
description: "Per-provider connection state, keyed by provider type."
|
|
2598
|
+
},
|
|
2599
|
+
{
|
|
2600
|
+
name: "c",
|
|
2601
|
+
longName: "connectedProviderTypes",
|
|
2602
|
+
converter: "firestoreEnumArray<UserExternalConnectionProviderType>()",
|
|
2603
|
+
tsType: "UserExternalConnectionProviderType[]",
|
|
2604
|
+
optional: false,
|
|
2605
|
+
description: "DERIVED from `e`: every provider type whose entry status is `connected`."
|
|
2606
|
+
},
|
|
2607
|
+
{
|
|
2608
|
+
name: "uat",
|
|
2609
|
+
longName: "updatedAt",
|
|
2610
|
+
converter: "firestoreDate({ saveDefaultAsNow: true })",
|
|
2611
|
+
tsType: "Date",
|
|
2612
|
+
optional: false,
|
|
2613
|
+
description: "Date this document was last updated at."
|
|
2614
|
+
}
|
|
2615
|
+
],
|
|
2616
|
+
enums: [],
|
|
2617
|
+
detectionHints: ["e", "c", "uat"],
|
|
2618
|
+
description: "The client-readable half of a user's third-party OAuth connection state.",
|
|
2619
|
+
modelGroup: "UserExternalConnection",
|
|
2620
|
+
collectionKind: "root",
|
|
2621
|
+
userKeyedById: true,
|
|
2622
|
+
hasUserUidField: true,
|
|
2623
|
+
archetypes: ["user-keyed-entity-root"]
|
|
2624
|
+
},
|
|
2569
2625
|
{
|
|
2570
2626
|
name: "Notification",
|
|
2571
2627
|
identityConst: "notificationIdentity",
|
|
@@ -33,14 +33,10 @@
|
|
|
33
33
|
"source": "@dereekb/dbx-web",
|
|
34
34
|
"module": "@dereekb/dbx-web",
|
|
35
35
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
36
|
-
"line":
|
|
36
|
+
"line": 68,
|
|
37
37
|
"declarations": [
|
|
38
38
|
{
|
|
39
|
-
"property": "
|
|
40
|
-
"value": "var(#{theming.$dbx-avatar-large-size-var}, 128px)"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
"property": "height",
|
|
39
|
+
"property": "--dbx-avatar-view-size",
|
|
44
40
|
"value": "var(#{theming.$dbx-avatar-large-size-var}, 128px)"
|
|
45
41
|
}
|
|
46
42
|
],
|
|
@@ -51,7 +47,10 @@
|
|
|
51
47
|
"avatar-small"
|
|
52
48
|
],
|
|
53
49
|
"parent": "avatar-view",
|
|
54
|
-
"selectorContext": ".dbx-avatar-large .dbx-avatar-view"
|
|
50
|
+
"selectorContext": ".dbx-avatar-large .dbx-avatar-view",
|
|
51
|
+
"tokensSet": [
|
|
52
|
+
"--dbx-avatar-view-size"
|
|
53
|
+
]
|
|
55
54
|
},
|
|
56
55
|
{
|
|
57
56
|
"slug": "avatar-small",
|
|
@@ -59,14 +58,10 @@
|
|
|
59
58
|
"source": "@dereekb/dbx-web",
|
|
60
59
|
"module": "@dereekb/dbx-web",
|
|
61
60
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
62
|
-
"line":
|
|
61
|
+
"line": 59,
|
|
63
62
|
"declarations": [
|
|
64
63
|
{
|
|
65
|
-
"property": "
|
|
66
|
-
"value": "var(#{theming.$dbx-avatar-small-size-var}, 32px)"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"property": "height",
|
|
64
|
+
"property": "--dbx-avatar-view-size",
|
|
70
65
|
"value": "var(#{theming.$dbx-avatar-small-size-var}, 32px)"
|
|
71
66
|
}
|
|
72
67
|
],
|
|
@@ -77,7 +72,10 @@
|
|
|
77
72
|
"avatar-large"
|
|
78
73
|
],
|
|
79
74
|
"parent": "avatar-view",
|
|
80
|
-
"selectorContext": ".dbx-avatar-small .dbx-avatar-view"
|
|
75
|
+
"selectorContext": ".dbx-avatar-small .dbx-avatar-view",
|
|
76
|
+
"tokensSet": [
|
|
77
|
+
"--dbx-avatar-view-size"
|
|
78
|
+
]
|
|
81
79
|
},
|
|
82
80
|
{
|
|
83
81
|
"slug": "avatar-view",
|
|
@@ -85,8 +83,12 @@
|
|
|
85
83
|
"source": "@dereekb/dbx-web",
|
|
86
84
|
"module": "@dereekb/dbx-web",
|
|
87
85
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
88
|
-
"line":
|
|
86
|
+
"line": 17,
|
|
89
87
|
"declarations": [
|
|
88
|
+
{
|
|
89
|
+
"property": "--dbx-avatar-view-size",
|
|
90
|
+
"value": "var(#{theming.$dbx-avatar-size-var}, 64px)"
|
|
91
|
+
},
|
|
90
92
|
{
|
|
91
93
|
"property": "position",
|
|
92
94
|
"value": "relative"
|
|
@@ -109,11 +111,15 @@
|
|
|
109
111
|
},
|
|
110
112
|
{
|
|
111
113
|
"property": "width",
|
|
112
|
-
"value": "var(
|
|
114
|
+
"value": "var(--dbx-avatar-view-size)"
|
|
113
115
|
},
|
|
114
116
|
{
|
|
115
117
|
"property": "height",
|
|
116
|
-
"value": "var(
|
|
118
|
+
"value": "var(--dbx-avatar-view-size)"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"property": "background-color",
|
|
122
|
+
"value": "color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent)"
|
|
117
123
|
}
|
|
118
124
|
],
|
|
119
125
|
"role": "layout",
|
|
@@ -122,10 +128,18 @@
|
|
|
122
128
|
"avatar-small",
|
|
123
129
|
"avatar-large",
|
|
124
130
|
"avatar-view-circle",
|
|
125
|
-
"avatar-view-square"
|
|
131
|
+
"avatar-view-square",
|
|
132
|
+
"avatar-view-tile"
|
|
126
133
|
],
|
|
127
134
|
"component": "DbxAvatarViewComponent",
|
|
128
|
-
"scope": "component-class"
|
|
135
|
+
"scope": "component-class",
|
|
136
|
+
"tokensRead": [
|
|
137
|
+
"--dbx-avatar-view-size",
|
|
138
|
+
"--mat-sys-on-surface"
|
|
139
|
+
],
|
|
140
|
+
"tokensSet": [
|
|
141
|
+
"--dbx-avatar-view-size"
|
|
142
|
+
]
|
|
129
143
|
},
|
|
130
144
|
{
|
|
131
145
|
"slug": "avatar-view-circle",
|
|
@@ -133,7 +147,7 @@
|
|
|
133
147
|
"source": "@dereekb/dbx-web",
|
|
134
148
|
"module": "@dereekb/dbx-web",
|
|
135
149
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
136
|
-
"line":
|
|
150
|
+
"line": 141,
|
|
137
151
|
"declarations": [
|
|
138
152
|
{
|
|
139
153
|
"property": "border-radius",
|
|
@@ -148,13 +162,34 @@
|
|
|
148
162
|
],
|
|
149
163
|
"parent": "avatar-view"
|
|
150
164
|
},
|
|
165
|
+
{
|
|
166
|
+
"slug": "avatar-view-img-contain",
|
|
167
|
+
"selector": ".dbx-avatar-view-img-contain",
|
|
168
|
+
"source": "@dereekb/dbx-web",
|
|
169
|
+
"module": "@dereekb/dbx-web",
|
|
170
|
+
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
171
|
+
"line": 85,
|
|
172
|
+
"declarations": [
|
|
173
|
+
{
|
|
174
|
+
"property": "object-fit",
|
|
175
|
+
"value": "contain"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"role": "layout",
|
|
179
|
+
"intent": "fits the whole avatar image inside the box instead of cropping it — the default in tile mode, where the image is a brand logo",
|
|
180
|
+
"seeAlso": [
|
|
181
|
+
"avatar-view-tile"
|
|
182
|
+
],
|
|
183
|
+
"parent": "avatar-view",
|
|
184
|
+
"component": "DbxAvatarViewComponent"
|
|
185
|
+
},
|
|
151
186
|
{
|
|
152
187
|
"slug": "avatar-view-initials",
|
|
153
188
|
"selector": ".dbx-avatar-view-initials",
|
|
154
189
|
"source": "@dereekb/dbx-web",
|
|
155
190
|
"module": "@dereekb/dbx-web",
|
|
156
191
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
157
|
-
"line":
|
|
192
|
+
"line": 103,
|
|
158
193
|
"declarations": [
|
|
159
194
|
{
|
|
160
195
|
"property": "display",
|
|
@@ -208,7 +243,7 @@
|
|
|
208
243
|
"source": "@dereekb/dbx-web",
|
|
209
244
|
"module": "@dereekb/dbx-web",
|
|
210
245
|
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
211
|
-
"line":
|
|
246
|
+
"line": 150,
|
|
212
247
|
"declarations": [
|
|
213
248
|
{
|
|
214
249
|
"property": "border-radius",
|
|
@@ -227,6 +262,42 @@
|
|
|
227
262
|
"--mat-sys-corner-medium"
|
|
228
263
|
]
|
|
229
264
|
},
|
|
265
|
+
{
|
|
266
|
+
"slug": "avatar-view-tile",
|
|
267
|
+
"selector": ".dbx-avatar-view-tile",
|
|
268
|
+
"source": "@dereekb/dbx-web",
|
|
269
|
+
"module": "@dereekb/dbx-web",
|
|
270
|
+
"file": "src/lib/layout/avatar/_avatar.scss",
|
|
271
|
+
"line": 168,
|
|
272
|
+
"declarations": [
|
|
273
|
+
{
|
|
274
|
+
"property": "--dbx-icon-tile-padding",
|
|
275
|
+
"value": "var(--dbx-avatar-tile-padding, calc(var(--dbx-avatar-view-size) * #{$tile-padding-to-avatar-size-ratio}))"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"property": "--dbx-icon-tile-icon-size",
|
|
279
|
+
"value": "var(--dbx-avatar-tile-icon-size, calc(var(--dbx-avatar-view-size) * #{$icon-to-avatar-size-ratio}))"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
282
|
+
"role": "layout",
|
|
283
|
+
"intent": "icon-tile presentation for `.dbx-avatar-view` — the avatar keeps its box size while `.dbx-icon-tile` supplies padding, shape and the `[dbxColor]` surface. Customize with `--dbx-avatar-tile-padding` / `--dbx-avatar-tile-icon-size`.",
|
|
284
|
+
"seeAlso": [
|
|
285
|
+
"icon-tile",
|
|
286
|
+
"avatar-view",
|
|
287
|
+
"avatar-view-img-contain"
|
|
288
|
+
],
|
|
289
|
+
"parent": "avatar-view",
|
|
290
|
+
"component": "DbxAvatarViewComponent",
|
|
291
|
+
"tokensRead": [
|
|
292
|
+
"--dbx-avatar-tile-icon-size",
|
|
293
|
+
"--dbx-avatar-tile-padding",
|
|
294
|
+
"--dbx-avatar-view-size"
|
|
295
|
+
],
|
|
296
|
+
"tokensSet": [
|
|
297
|
+
"--dbx-icon-tile-icon-size",
|
|
298
|
+
"--dbx-icon-tile-padding"
|
|
299
|
+
]
|
|
300
|
+
},
|
|
230
301
|
{
|
|
231
302
|
"slug": "bar",
|
|
232
303
|
"selector": ".dbx-bar",
|
|
@@ -252,6 +252,47 @@
|
|
|
252
252
|
},
|
|
253
253
|
"componentScope": "avatar"
|
|
254
254
|
},
|
|
255
|
+
{
|
|
256
|
+
"cssVariable": "--dbx-avatar-tile-icon-size",
|
|
257
|
+
"source": "dbx-web",
|
|
258
|
+
"role": "size",
|
|
259
|
+
"intents": [
|
|
260
|
+
"avatar tile icon size"
|
|
261
|
+
],
|
|
262
|
+
"description": "Component-scoped override point (`avatar`) read in `packages/dbx-web/src/lib/layout/avatar/_avatar.scss` — set it (from an app, or via the owning dbx directive where one exists) to override; unset, it falls back to `calc(var(--dbx-avatar-view-size) * 0.65)`.",
|
|
263
|
+
"defaults": {
|
|
264
|
+
"light": "calc(var(--dbx-avatar-view-size) * 0.65)"
|
|
265
|
+
},
|
|
266
|
+
"componentScope": "avatar"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"cssVariable": "--dbx-avatar-tile-padding",
|
|
270
|
+
"source": "dbx-web",
|
|
271
|
+
"role": "spacing",
|
|
272
|
+
"intents": [
|
|
273
|
+
"avatar tile padding",
|
|
274
|
+
"avatar tile padding spacing"
|
|
275
|
+
],
|
|
276
|
+
"description": "Component-scoped override point (`avatar`) read in `packages/dbx-web/src/lib/layout/avatar/_avatar.scss` — set it (from an app, or via the owning dbx directive where one exists) to override; unset, it falls back to `calc(var(--dbx-avatar-view-size) * 0.15)`.",
|
|
277
|
+
"defaults": {
|
|
278
|
+
"light": "calc(var(--dbx-avatar-view-size) * 0.15)"
|
|
279
|
+
},
|
|
280
|
+
"componentScope": "avatar"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"cssVariable": "--dbx-avatar-view-size",
|
|
284
|
+
"source": "dbx-web",
|
|
285
|
+
"role": "size",
|
|
286
|
+
"intents": [
|
|
287
|
+
"resolved avatar size",
|
|
288
|
+
"current avatar diameter"
|
|
289
|
+
],
|
|
290
|
+
"description": "Resolved avatar box size. Every avatar measurement derives from this one value so the small/large variants and the tile presentation each have a single number to scale from. Apps override the public `--dbx-avatar-size` (or the small/large tokens) rather than this.",
|
|
291
|
+
"defaults": {
|
|
292
|
+
"light": "var(#{theming.$dbx-avatar-size-var}, 64px)"
|
|
293
|
+
},
|
|
294
|
+
"componentScope": "avatar"
|
|
295
|
+
},
|
|
255
296
|
{
|
|
256
297
|
"cssVariable": "--dbx-bg-color-current",
|
|
257
298
|
"scssVariable": "$dbx-bg-color-var",
|
|
@@ -1240,13 +1281,14 @@
|
|
|
1240
1281
|
"source": "dbx-web",
|
|
1241
1282
|
"role": "size",
|
|
1242
1283
|
"intents": [
|
|
1243
|
-
"icon tile icon size"
|
|
1284
|
+
"icon tile icon size",
|
|
1285
|
+
"tile glyph size"
|
|
1244
1286
|
],
|
|
1245
|
-
"description": "
|
|
1287
|
+
"description": "Icon tile glyph size, as a tile avatar resolves it. See `--dbx-avatar-tile-icon-size` to override.",
|
|
1246
1288
|
"defaults": {
|
|
1247
|
-
"light": "var(--dbx-
|
|
1289
|
+
"light": "var(--dbx-avatar-tile-icon-size, calc(var(--dbx-avatar-view-size) * 0.65))"
|
|
1248
1290
|
},
|
|
1249
|
-
"componentScope": "
|
|
1291
|
+
"componentScope": "avatar"
|
|
1250
1292
|
},
|
|
1251
1293
|
{
|
|
1252
1294
|
"cssVariable": "--dbx-icon-tile-min-width",
|
|
@@ -1267,13 +1309,13 @@
|
|
|
1267
1309
|
"role": "spacing",
|
|
1268
1310
|
"intents": [
|
|
1269
1311
|
"icon tile padding",
|
|
1270
|
-
"
|
|
1312
|
+
"tile inset"
|
|
1271
1313
|
],
|
|
1272
|
-
"description": "
|
|
1314
|
+
"description": "Icon tile padding, as a tile avatar resolves it. See `--dbx-avatar-tile-padding` to override.",
|
|
1273
1315
|
"defaults": {
|
|
1274
|
-
"light": "0"
|
|
1316
|
+
"light": "var(--dbx-avatar-tile-padding, calc(var(--dbx-avatar-view-size) * 0.15))"
|
|
1275
1317
|
},
|
|
1276
|
-
"componentScope": "
|
|
1318
|
+
"componentScope": "avatar"
|
|
1277
1319
|
},
|
|
1278
1320
|
{
|
|
1279
1321
|
"cssVariable": "--dbx-icon-tile-width",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"selector": "[dbxActionConfirm]",
|
|
13
13
|
"className": "DbxActionConfirmDirective",
|
|
14
14
|
"module": "@dereekb/dbx-web",
|
|
15
|
-
"description": "Displays a confirmation dialog when the action is triggered. If the user confirms,\nthe configured ready value is passed to the action. If the user cancels, the action is rejected.\n\nThis directive works with action triggering only, not button clicks.\nFor button-based confirmation, use an appPromptConfirmButton directive instead.",
|
|
15
|
+
"description": "Displays a confirmation dialog when the action is triggered. If the user confirms,\nthe configured ready value is passed to the action. If the user cancels, the action is rejected.\n\nA config with `autoConfirm` true shows no dialog and marks the action ready immediately. This lets a\ntemplate bind the same input for actions that need confirmation and actions that do not.\n\nThis directive works with action triggering only, not button clicks.\nFor button-based confirmation, use an appPromptConfirmButton directive instead.",
|
|
16
16
|
"inputs": [
|
|
17
17
|
{
|
|
18
18
|
"name": "dbxActionConfirm",
|
|
@@ -980,6 +980,122 @@
|
|
|
980
980
|
"example": "<dbx-prompt-confirm [config]=\"{ header: 'Delete?', confirmText: 'Delete', cancelText: 'Cancel' }\"></dbx-prompt-confirm>",
|
|
981
981
|
"minimalExample": "<dbx-prompt-confirm [config]=\"cfg\"></dbx-prompt-confirm>"
|
|
982
982
|
},
|
|
983
|
+
{
|
|
984
|
+
"slug": "avatar",
|
|
985
|
+
"category": "layout",
|
|
986
|
+
"kind": "component",
|
|
987
|
+
"selector": "dbx-avatar",
|
|
988
|
+
"className": "DbxAvatarComponent",
|
|
989
|
+
"module": "@dereekb/dbx-web",
|
|
990
|
+
"description": "Renders an avatar by dynamically injecting the appropriate avatar view component based on the provided context.\n\nMerges individual input properties with the optional `context` input and delegates rendering\nto the component resolved by {@link DbxAvatarViewService}. Supports size variants via CSS classes.\n\nRenders an image when one is available, then name initials on a curated color, then a Material icon.\nWith `[avatarTile]` the avatar takes the `<dbx-icon-tile>` presentation — every `--dbx-icon-tile-*`\ncustomization applies and `[avatarColor]` / `[avatarColorTone]` paint the tile surface — which makes\nit the right choice for a branded row (a connected app, an integration) rather than a person.",
|
|
991
|
+
"inputs": [
|
|
992
|
+
{
|
|
993
|
+
"name": "context",
|
|
994
|
+
"type": "DbxAvatarContext",
|
|
995
|
+
"description": "",
|
|
996
|
+
"required": false
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"name": "avatarSelector",
|
|
1000
|
+
"type": "Maybe<DbxAvatarSelector>",
|
|
1001
|
+
"description": "",
|
|
1002
|
+
"required": false
|
|
1003
|
+
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "avatarUid",
|
|
1006
|
+
"type": "Maybe<AuthUserIdentifier>",
|
|
1007
|
+
"description": "",
|
|
1008
|
+
"required": false
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
"name": "avatarUrl",
|
|
1012
|
+
"type": "Maybe<WebsiteUrlWithPrefix>",
|
|
1013
|
+
"description": "",
|
|
1014
|
+
"required": false
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"name": "avatarName",
|
|
1018
|
+
"type": "Maybe<string>",
|
|
1019
|
+
"description": "",
|
|
1020
|
+
"required": false
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"name": "avatarKey",
|
|
1024
|
+
"type": "Maybe<DbxAvatarKey>",
|
|
1025
|
+
"description": "",
|
|
1026
|
+
"required": false
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
"name": "avatarIcon",
|
|
1030
|
+
"type": "Maybe<string>",
|
|
1031
|
+
"description": "",
|
|
1032
|
+
"required": false
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"name": "avatarStyle",
|
|
1036
|
+
"type": "Maybe<DbxAvatarStyle>",
|
|
1037
|
+
"description": "",
|
|
1038
|
+
"required": false
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"name": "avatarSize",
|
|
1042
|
+
"type": "Maybe<DbxAvatarSize>",
|
|
1043
|
+
"description": "",
|
|
1044
|
+
"required": false,
|
|
1045
|
+
"default": "undefined"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"name": "avatarHideOnError",
|
|
1049
|
+
"type": "Maybe<boolean>",
|
|
1050
|
+
"description": "",
|
|
1051
|
+
"required": false
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "avatarTile",
|
|
1055
|
+
"type": "Maybe<boolean>",
|
|
1056
|
+
"description": "",
|
|
1057
|
+
"required": false
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
"name": "avatarColor",
|
|
1061
|
+
"type": "Maybe<DbxColorInput>",
|
|
1062
|
+
"description": "",
|
|
1063
|
+
"required": false
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
"name": "avatarColorTone",
|
|
1067
|
+
"type": "Maybe<DbxColorTone>",
|
|
1068
|
+
"description": "",
|
|
1069
|
+
"required": false
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
"name": "avatarImageFit",
|
|
1073
|
+
"type": "Maybe<DbxAvatarImageFit>",
|
|
1074
|
+
"description": "",
|
|
1075
|
+
"required": false
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "avatarImageFilter",
|
|
1079
|
+
"type": "Maybe<string>",
|
|
1080
|
+
"description": "",
|
|
1081
|
+
"required": false
|
|
1082
|
+
},
|
|
1083
|
+
{
|
|
1084
|
+
"name": "avatarIgnoreDefaultUrl",
|
|
1085
|
+
"type": "Maybe<boolean>",
|
|
1086
|
+
"description": "",
|
|
1087
|
+
"required": false
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
"outputs": [],
|
|
1091
|
+
"relatedSlugs": [
|
|
1092
|
+
"icon-tile",
|
|
1093
|
+
"dbx-color",
|
|
1094
|
+
"avatar-view"
|
|
1095
|
+
],
|
|
1096
|
+
"example": "<dbx-avatar [avatarUrl]=\"user.photoUrl\" [avatarStyle]=\"'circle'\" [avatarSize]=\"'large'\"></dbx-avatar>",
|
|
1097
|
+
"minimalExample": "<dbx-avatar [avatarUrl]=\"user.photoUrl\"></dbx-avatar>"
|
|
1098
|
+
},
|
|
983
1099
|
{
|
|
984
1100
|
"slug": "bar",
|
|
985
1101
|
"category": "layout",
|
|
@@ -1913,14 +2029,7 @@
|
|
|
1913
2029
|
"className": "DbxColorDirective",
|
|
1914
2030
|
"module": "@dereekb/dbx-web",
|
|
1915
2031
|
"description": "Provides themed color *tokens* to the host element — it never paints a background itself.\n\nAccepts either a {@link DbxThemeColor} string (e.g. `'primary'`, `'success'`) or a {@link DbxColorConfig}\nobject carrying arbitrary CSS color values (any hex, `rgb()`, `hsl()`, `var(...)`, `color-mix(...)`, etc.).\nThe directive sets the `--dbx-bg-color-current` / `--dbx-color-current` (and tone) custom properties and adds the\n`.dbx-color` marker class, leaving the actual painting to either the explicit `.dbx-color-bg` utility on the same\nelement or a colored-surface component's own `.dbx-color`-scoped SCSS (e.g. `<dbx-bar>`, `<dbx-button>`, `<dbx-loading>`,\n`<dbx-icon-tile>`, `<mat-card>`) that reads the inherited tokens.\n\nOptionally set {@link dbxColorTone} (0-100) to control background opacity for a tonal/muted appearance.\nWhen tonal mode is active, the `dbx-color-tonal` CSS class is added and a CSS rule overrides the text\ncolor to the vibrant color (via `--dbx-bg-color-current`).\n\nThe standalone `[dbxColorTone]` input wins over `config.tone` when both are set; the same precedence\napplies to tonal mode.",
|
|
1916
|
-
"inputs": [
|
|
1917
|
-
{
|
|
1918
|
-
"name": "dbxColorTone",
|
|
1919
|
-
"type": "Maybe<DbxColorTone>",
|
|
1920
|
-
"description": "Background tone level (0-100). When set, the background becomes semi-transparent\nand text color switches to the vibrant theme color for a tonal appearance.",
|
|
1921
|
-
"required": false
|
|
1922
|
-
}
|
|
1923
|
-
],
|
|
2032
|
+
"inputs": [],
|
|
1924
2033
|
"outputs": [],
|
|
1925
2034
|
"relatedSlugs": [
|
|
1926
2035
|
"text-color",
|
|
@@ -871,11 +871,48 @@
|
|
|
871
871
|
"sub",
|
|
872
872
|
"firestoresubobject"
|
|
873
873
|
],
|
|
874
|
-
"example": "// Nested address object with its own converters\nconst addressField = firestoreSubObject<Address>({\n objectField: {\n street: firestoreString(),\n
|
|
874
|
+
"example": "// Nested address object with its own converters\nconst addressField = firestoreSubObject<Address>({\n objectField: {\n fields: {\n street: firestoreString(),\n city: firestoreString(),\n zip: firestoreString()\n }\n }\n});",
|
|
875
875
|
"relatedSlugs": [
|
|
876
876
|
"firestore-object-array"
|
|
877
877
|
]
|
|
878
878
|
},
|
|
879
|
+
{
|
|
880
|
+
"slug": "firestore-object-map",
|
|
881
|
+
"name": "firestoreObjectMap",
|
|
882
|
+
"kind": "factory",
|
|
883
|
+
"category": "map",
|
|
884
|
+
"module": "@dereekb/firebase",
|
|
885
|
+
"subpath": "common/firestore/snapshot/snapshot.field",
|
|
886
|
+
"signature": "firestoreObjectMap(config: FirestoreObjectMapFieldConfig<T, O, S>): ModelFieldMapFunctionsWithDefaultsConfig<V, Maybe<D>>",
|
|
887
|
+
"description": "Creates a field mapping configuration for a Firestore map whose values are complex objects.\n\nThis is the map-keyed counterpart to {@link firestoreObjectArray}: each value in the map is\nconverted using its own set of field converters (via `objectField` or `firestoreField`), so\nnested `Date`/enum/array fields round-trip properly.\n\nOn write, null/undefined values are filtered from each object to match Firestore semantics, and\nempty values (including objects with no keys) are removed from the map entirely.\n\nNOTE: this exists instead of passing a sub-object's `mapFunctions.to`/`.from` directly to\n{@link firestoreEncodedObjectMap}. That encoder is invoked as `mapFn(value, key)` by\n`mapObjectMap()`, while a `ModelMapFunctions`' second parameter is the accumulator *target* — so\nthe map key string would be used as the write target and the conversion would throw at runtime.\nThe arity is wrapped here, once, rather than at each call site.",
|
|
888
|
+
"optional": false,
|
|
889
|
+
"params": [
|
|
890
|
+
{
|
|
891
|
+
"name": "config",
|
|
892
|
+
"type": "FirestoreObjectMapFieldConfig<T, O, S>",
|
|
893
|
+
"description": "- Configuration including the per-value conversions and optional map filtering.",
|
|
894
|
+
"optional": false
|
|
895
|
+
}
|
|
896
|
+
],
|
|
897
|
+
"returns": "A field mapping configuration for object map values.",
|
|
898
|
+
"tags": [
|
|
899
|
+
"map",
|
|
900
|
+
"record",
|
|
901
|
+
"dictionary",
|
|
902
|
+
"object",
|
|
903
|
+
"nested",
|
|
904
|
+
"embedded",
|
|
905
|
+
"structured",
|
|
906
|
+
"factory",
|
|
907
|
+
"firestore",
|
|
908
|
+
"firestoreobjectmap"
|
|
909
|
+
],
|
|
910
|
+
"example": "// Map of provider id -> connection entry\nconst entriesField = firestoreObjectMap<UserExternalConnectionEntry, FirestoreModelData<UserExternalConnectionEntry>, UserExternalConnectionProviderType>({\n objectField: { fields: userExternalConnectionEntryFields }\n});",
|
|
911
|
+
"relatedSlugs": [
|
|
912
|
+
"firestore-sub-object",
|
|
913
|
+
"firestore-object-array"
|
|
914
|
+
]
|
|
915
|
+
},
|
|
879
916
|
{
|
|
880
917
|
"slug": "firestore-lat-lng-string",
|
|
881
918
|
"name": "firestoreLatLngString",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-components-mcp",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.33.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"dbx-components-mcp": "dbx-components-mcp.js"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"ts-morph": "^21.0.0"
|
|
12
12
|
},
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@dereekb/dbx-cli": "13.
|
|
15
|
-
"@dereekb/util": "13.
|
|
14
|
+
"@dereekb/dbx-cli": "13.33.0",
|
|
15
|
+
"@dereekb/util": "13.33.0"
|
|
16
16
|
}
|
|
17
17
|
}
|