@dereekb/dbx-components-mcp 13.11.3 → 13.11.5
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 +596 -347
- package/generated/dereekb-date.utils.mcp.generated.json +348 -0
- package/generated/dereekb-dbx-firebase.ui-components.mcp.generated.json +33 -0
- package/generated/dereekb-dbx-form.forge-fields.mcp.generated.json +12 -0
- package/generated/dereekb-util.utils.mcp.generated.json +1206 -1
- package/package.json +11 -11
|
@@ -866,6 +866,354 @@
|
|
|
866
866
|
"date-cell-index-range"
|
|
867
867
|
]
|
|
868
868
|
},
|
|
869
|
+
{
|
|
870
|
+
"slug": "time-duration-data-is-empty",
|
|
871
|
+
"name": "timeDurationDataIsEmpty",
|
|
872
|
+
"kind": "function",
|
|
873
|
+
"category": "date",
|
|
874
|
+
"module": "@dereekb/date",
|
|
875
|
+
"subpath": "date/date.duration.data",
|
|
876
|
+
"signature": "timeDurationDataIsEmpty(data: TimeDurationData): boolean",
|
|
877
|
+
"description": "Returns true if the input TimeDurationData has no meaningful values (all zero or undefined).",
|
|
878
|
+
"params": [
|
|
879
|
+
{
|
|
880
|
+
"name": "data",
|
|
881
|
+
"type": "TimeDurationData",
|
|
882
|
+
"description": "- The duration data to check",
|
|
883
|
+
"optional": false
|
|
884
|
+
}
|
|
885
|
+
],
|
|
886
|
+
"returns": "True if empty",
|
|
887
|
+
"tags": [
|
|
888
|
+
"date",
|
|
889
|
+
"duration",
|
|
890
|
+
"empty",
|
|
891
|
+
"check",
|
|
892
|
+
"time",
|
|
893
|
+
"zero",
|
|
894
|
+
"data",
|
|
895
|
+
"is",
|
|
896
|
+
"timedurationdataisempty"
|
|
897
|
+
],
|
|
898
|
+
"example": "timeDurationDataIsEmpty({}); // true\ntimeDurationDataIsEmpty({ hours: 0, minutes: 0 }); // true\ntimeDurationDataIsEmpty({ hours: 1 }); // false",
|
|
899
|
+
"relatedSlugs": [
|
|
900
|
+
"duration-data-to-milliseconds",
|
|
901
|
+
"milliseconds-to-duration-data"
|
|
902
|
+
]
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"slug": "duration-data-to-milliseconds",
|
|
906
|
+
"name": "durationDataToMilliseconds",
|
|
907
|
+
"kind": "function",
|
|
908
|
+
"category": "date",
|
|
909
|
+
"module": "@dereekb/date",
|
|
910
|
+
"subpath": "date/date.duration.data",
|
|
911
|
+
"signature": "durationDataToMilliseconds(data: TimeDurationData): Milliseconds",
|
|
912
|
+
"description": "Converts a TimeDurationData to total milliseconds by summing all fields.",
|
|
913
|
+
"params": [
|
|
914
|
+
{
|
|
915
|
+
"name": "data",
|
|
916
|
+
"type": "TimeDurationData",
|
|
917
|
+
"description": "- The duration data to convert",
|
|
918
|
+
"optional": false
|
|
919
|
+
}
|
|
920
|
+
],
|
|
921
|
+
"returns": "Total milliseconds",
|
|
922
|
+
"tags": [
|
|
923
|
+
"date",
|
|
924
|
+
"duration",
|
|
925
|
+
"milliseconds",
|
|
926
|
+
"convert",
|
|
927
|
+
"sum",
|
|
928
|
+
"time",
|
|
929
|
+
"total",
|
|
930
|
+
"data",
|
|
931
|
+
"to",
|
|
932
|
+
"durationdatatomilliseconds"
|
|
933
|
+
],
|
|
934
|
+
"example": "durationDataToMilliseconds({ hours: 1, minutes: 30 }); // 5400000\ndurationDataToMilliseconds({ days: 1, hours: 2 }); // 93600000",
|
|
935
|
+
"relatedSlugs": [
|
|
936
|
+
"milliseconds-to-duration-data",
|
|
937
|
+
"parse-duration-string-to-milliseconds",
|
|
938
|
+
"time-duration-data-is-empty"
|
|
939
|
+
]
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"slug": "milliseconds-to-duration-data",
|
|
943
|
+
"name": "millisecondsToDurationData",
|
|
944
|
+
"kind": "function",
|
|
945
|
+
"category": "date",
|
|
946
|
+
"module": "@dereekb/date",
|
|
947
|
+
"subpath": "date/date.duration.data",
|
|
948
|
+
"signature": "millisecondsToDurationData(ms: Milliseconds, units?: readonly TimeUnit[]): TimeDurationData",
|
|
949
|
+
"description": "Decomposes milliseconds into a TimeDurationData object using the specified units.\n\nBreaks down from largest to smallest unit, only using units in the provided list.",
|
|
950
|
+
"params": [
|
|
951
|
+
{
|
|
952
|
+
"name": "ms",
|
|
953
|
+
"type": "Milliseconds",
|
|
954
|
+
"description": "- The total milliseconds to decompose",
|
|
955
|
+
"optional": false
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"name": "units",
|
|
959
|
+
"type": "readonly TimeUnit[]",
|
|
960
|
+
"description": "- Which units to decompose into (defaults to days, hours, minutes, seconds)",
|
|
961
|
+
"optional": true
|
|
962
|
+
}
|
|
963
|
+
],
|
|
964
|
+
"returns": "A TimeDurationData with the decomposed values",
|
|
965
|
+
"tags": [
|
|
966
|
+
"date",
|
|
967
|
+
"duration",
|
|
968
|
+
"milliseconds",
|
|
969
|
+
"decompose",
|
|
970
|
+
"convert",
|
|
971
|
+
"breakdown",
|
|
972
|
+
"units",
|
|
973
|
+
"time",
|
|
974
|
+
"to",
|
|
975
|
+
"data",
|
|
976
|
+
"millisecondstodurationdata"
|
|
977
|
+
],
|
|
978
|
+
"example": "millisecondsToDurationData(5400000); // { days: 0, hours: 1, minutes: 30, seconds: 0 }\nmillisecondsToDurationData(90000, ['min', 's']); // { minutes: 1, seconds: 30 }",
|
|
979
|
+
"relatedSlugs": [
|
|
980
|
+
"duration-data-to-milliseconds",
|
|
981
|
+
"parse-duration-string",
|
|
982
|
+
"format-duration-string"
|
|
983
|
+
]
|
|
984
|
+
},
|
|
985
|
+
{
|
|
986
|
+
"slug": "get-duration-data-value",
|
|
987
|
+
"name": "getDurationDataValue",
|
|
988
|
+
"kind": "function",
|
|
989
|
+
"category": "date",
|
|
990
|
+
"module": "@dereekb/date",
|
|
991
|
+
"subpath": "date/date.duration.data",
|
|
992
|
+
"signature": "getDurationDataValue(data: TimeDurationData, unit: TimeUnit): number",
|
|
993
|
+
"description": "Reads a specific time unit value from a TimeDurationData object.",
|
|
994
|
+
"params": [
|
|
995
|
+
{
|
|
996
|
+
"name": "data",
|
|
997
|
+
"type": "TimeDurationData",
|
|
998
|
+
"description": "- The duration data",
|
|
999
|
+
"optional": false
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
"name": "unit",
|
|
1003
|
+
"type": "TimeUnit",
|
|
1004
|
+
"description": "- The time unit to read",
|
|
1005
|
+
"optional": false
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
"returns": "The value for that unit, or 0 if not set",
|
|
1009
|
+
"tags": [
|
|
1010
|
+
"date",
|
|
1011
|
+
"duration",
|
|
1012
|
+
"get",
|
|
1013
|
+
"read",
|
|
1014
|
+
"value",
|
|
1015
|
+
"unit",
|
|
1016
|
+
"time",
|
|
1017
|
+
"field",
|
|
1018
|
+
"data",
|
|
1019
|
+
"getdurationdatavalue"
|
|
1020
|
+
],
|
|
1021
|
+
"relatedSlugs": [
|
|
1022
|
+
"set-duration-data-value",
|
|
1023
|
+
"duration-data-to-milliseconds"
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"slug": "set-duration-data-value",
|
|
1028
|
+
"name": "setDurationDataValue",
|
|
1029
|
+
"kind": "function",
|
|
1030
|
+
"category": "date",
|
|
1031
|
+
"module": "@dereekb/date",
|
|
1032
|
+
"subpath": "date/date.duration.data",
|
|
1033
|
+
"signature": "setDurationDataValue(data: TimeDurationData, unit: TimeUnit, value: number): TimeDurationData",
|
|
1034
|
+
"description": "Returns a new TimeDurationData with the specified unit set to the given value.",
|
|
1035
|
+
"params": [
|
|
1036
|
+
{
|
|
1037
|
+
"name": "data",
|
|
1038
|
+
"type": "TimeDurationData",
|
|
1039
|
+
"description": "- The original duration data",
|
|
1040
|
+
"optional": false
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"name": "unit",
|
|
1044
|
+
"type": "TimeUnit",
|
|
1045
|
+
"description": "- The time unit to set",
|
|
1046
|
+
"optional": false
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"name": "value",
|
|
1050
|
+
"type": "number",
|
|
1051
|
+
"description": "- The new value",
|
|
1052
|
+
"optional": false
|
|
1053
|
+
}
|
|
1054
|
+
],
|
|
1055
|
+
"returns": "A new TimeDurationData with the updated value",
|
|
1056
|
+
"tags": [
|
|
1057
|
+
"date",
|
|
1058
|
+
"duration",
|
|
1059
|
+
"set",
|
|
1060
|
+
"update",
|
|
1061
|
+
"value",
|
|
1062
|
+
"unit",
|
|
1063
|
+
"time",
|
|
1064
|
+
"field",
|
|
1065
|
+
"immutable",
|
|
1066
|
+
"data",
|
|
1067
|
+
"setdurationdatavalue"
|
|
1068
|
+
],
|
|
1069
|
+
"relatedSlugs": [
|
|
1070
|
+
"get-duration-data-value",
|
|
1071
|
+
"duration-data-to-milliseconds"
|
|
1072
|
+
]
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"slug": "parse-duration-string",
|
|
1076
|
+
"name": "parseDurationString",
|
|
1077
|
+
"kind": "function",
|
|
1078
|
+
"category": "date",
|
|
1079
|
+
"module": "@dereekb/date",
|
|
1080
|
+
"subpath": "date/date.duration.data",
|
|
1081
|
+
"signature": "parseDurationString(input: string): TimeDurationData",
|
|
1082
|
+
"description": "Parses a human-readable duration string into a TimeDurationData object.\n\nSupports compact formats (\"3d10h5m8s\"), spaced formats (\"3d 10h 5m 8s\"),\nand long formats (\"3 days 10 hours 5 minutes 8 seconds\"). Mixed formats\nare also supported. If the same unit appears multiple times, values are summed.\n\nIf the string contains only a number with no unit, it is treated as the\nsmallest unit that would make sense (milliseconds by default).",
|
|
1083
|
+
"params": [
|
|
1084
|
+
{
|
|
1085
|
+
"name": "input",
|
|
1086
|
+
"type": "string",
|
|
1087
|
+
"description": "- The duration string to parse",
|
|
1088
|
+
"optional": false
|
|
1089
|
+
}
|
|
1090
|
+
],
|
|
1091
|
+
"returns": "A TimeDurationData object with the parsed values",
|
|
1092
|
+
"tags": [
|
|
1093
|
+
"date",
|
|
1094
|
+
"duration",
|
|
1095
|
+
"parse",
|
|
1096
|
+
"string",
|
|
1097
|
+
"time",
|
|
1098
|
+
"human-readable",
|
|
1099
|
+
"decode",
|
|
1100
|
+
"parsedurationstring"
|
|
1101
|
+
],
|
|
1102
|
+
"example": "parseDurationString('3d10h5m8s'); // { days: 3, hours: 10, minutes: 5, seconds: 8 }\nparseDurationString('2 hours 30 minutes'); // { hours: 2, minutes: 30 }\nparseDurationString('1w 2d'); // { weeks: 1, days: 2 }\nparseDurationString('500ms'); // { milliseconds: 500 }",
|
|
1103
|
+
"relatedSlugs": [
|
|
1104
|
+
"parse-duration-string-to-milliseconds",
|
|
1105
|
+
"format-duration-string",
|
|
1106
|
+
"format-duration-string-long",
|
|
1107
|
+
"milliseconds-to-duration-data"
|
|
1108
|
+
]
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"slug": "parse-duration-string-to-milliseconds",
|
|
1112
|
+
"name": "parseDurationStringToMilliseconds",
|
|
1113
|
+
"kind": "function",
|
|
1114
|
+
"category": "date",
|
|
1115
|
+
"module": "@dereekb/date",
|
|
1116
|
+
"subpath": "date/date.duration.data",
|
|
1117
|
+
"signature": "parseDurationStringToMilliseconds(input: string): Milliseconds",
|
|
1118
|
+
"description": "Parses a duration string directly to milliseconds.",
|
|
1119
|
+
"params": [
|
|
1120
|
+
{
|
|
1121
|
+
"name": "input",
|
|
1122
|
+
"type": "string",
|
|
1123
|
+
"description": "- The duration string to parse",
|
|
1124
|
+
"optional": false
|
|
1125
|
+
}
|
|
1126
|
+
],
|
|
1127
|
+
"returns": "Total milliseconds",
|
|
1128
|
+
"tags": [
|
|
1129
|
+
"date",
|
|
1130
|
+
"duration",
|
|
1131
|
+
"parse",
|
|
1132
|
+
"string",
|
|
1133
|
+
"milliseconds",
|
|
1134
|
+
"convert",
|
|
1135
|
+
"decode",
|
|
1136
|
+
"to",
|
|
1137
|
+
"parsedurationstringtomilliseconds"
|
|
1138
|
+
],
|
|
1139
|
+
"example": "parseDurationStringToMilliseconds('1h30m'); // 5400000",
|
|
1140
|
+
"relatedSlugs": [
|
|
1141
|
+
"parse-duration-string",
|
|
1142
|
+
"duration-data-to-milliseconds",
|
|
1143
|
+
"format-duration-string"
|
|
1144
|
+
]
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"slug": "format-duration-string",
|
|
1148
|
+
"name": "formatDurationString",
|
|
1149
|
+
"kind": "function",
|
|
1150
|
+
"category": "date",
|
|
1151
|
+
"module": "@dereekb/date",
|
|
1152
|
+
"subpath": "date/date.duration.data",
|
|
1153
|
+
"signature": "formatDurationString(data: TimeDurationData): string",
|
|
1154
|
+
"description": "Formats a TimeDurationData to a compact string like \"3d10h5m8s\".\n\nOmits zero-value units. Returns \"0s\" if all fields are zero or empty.",
|
|
1155
|
+
"params": [
|
|
1156
|
+
{
|
|
1157
|
+
"name": "data",
|
|
1158
|
+
"type": "TimeDurationData",
|
|
1159
|
+
"description": "- The duration data to format",
|
|
1160
|
+
"optional": false
|
|
1161
|
+
}
|
|
1162
|
+
],
|
|
1163
|
+
"returns": "A compact duration string",
|
|
1164
|
+
"tags": [
|
|
1165
|
+
"date",
|
|
1166
|
+
"duration",
|
|
1167
|
+
"format",
|
|
1168
|
+
"string",
|
|
1169
|
+
"compact",
|
|
1170
|
+
"encode",
|
|
1171
|
+
"time",
|
|
1172
|
+
"formatdurationstring"
|
|
1173
|
+
],
|
|
1174
|
+
"example": "formatDurationString({ days: 3, hours: 10, minutes: 5, seconds: 8 }); // \"3d10h5m8s\"\nformatDurationString({ hours: 2, minutes: 30 }); // \"2h30m\"\nformatDurationString({}); // \"0s\"",
|
|
1175
|
+
"relatedSlugs": [
|
|
1176
|
+
"format-duration-string-long",
|
|
1177
|
+
"parse-duration-string",
|
|
1178
|
+
"duration-data-to-milliseconds"
|
|
1179
|
+
]
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"slug": "format-duration-string-long",
|
|
1183
|
+
"name": "formatDurationStringLong",
|
|
1184
|
+
"kind": "function",
|
|
1185
|
+
"category": "date",
|
|
1186
|
+
"module": "@dereekb/date",
|
|
1187
|
+
"subpath": "date/date.duration.data",
|
|
1188
|
+
"signature": "formatDurationStringLong(data: TimeDurationData): string",
|
|
1189
|
+
"description": "Formats a TimeDurationData to a long human-readable string.\n\nOmits zero-value units. Returns \"0 seconds\" if all fields are zero or empty.",
|
|
1190
|
+
"params": [
|
|
1191
|
+
{
|
|
1192
|
+
"name": "data",
|
|
1193
|
+
"type": "TimeDurationData",
|
|
1194
|
+
"description": "- The duration data to format",
|
|
1195
|
+
"optional": false
|
|
1196
|
+
}
|
|
1197
|
+
],
|
|
1198
|
+
"returns": "A human-readable duration string",
|
|
1199
|
+
"tags": [
|
|
1200
|
+
"date",
|
|
1201
|
+
"duration",
|
|
1202
|
+
"format",
|
|
1203
|
+
"string",
|
|
1204
|
+
"long",
|
|
1205
|
+
"human-readable",
|
|
1206
|
+
"encode",
|
|
1207
|
+
"time",
|
|
1208
|
+
"formatdurationstringlong"
|
|
1209
|
+
],
|
|
1210
|
+
"example": "formatDurationStringLong({ days: 3, hours: 10 }); // \"3 days 10 hours\"\nformatDurationStringLong({ hours: 1, minutes: 1 }); // \"1 hour 1 minute\"",
|
|
1211
|
+
"relatedSlugs": [
|
|
1212
|
+
"format-duration-string",
|
|
1213
|
+
"parse-duration-string",
|
|
1214
|
+
"duration-data-to-milliseconds"
|
|
1215
|
+
]
|
|
1216
|
+
},
|
|
869
1217
|
{
|
|
870
1218
|
"slug": "date-duration-span-end-date",
|
|
871
1219
|
"name": "dateDurationSpanEndDate",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"source": "@dereekb/dbx-firebase",
|
|
4
|
+
"module": "@dereekb/dbx-firebase",
|
|
5
|
+
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
6
|
+
"generator": "@dereekb/dbx-components-mcp/scripts/generate-manifests.mjs",
|
|
7
|
+
"entries": [
|
|
8
|
+
{
|
|
9
|
+
"slug": "firebase-collection-change",
|
|
10
|
+
"category": "action",
|
|
11
|
+
"kind": "directive",
|
|
12
|
+
"selector": "[dbxFirebaseCollectionChange]",
|
|
13
|
+
"className": "DbxFirebaseCollectionChangeDirective",
|
|
14
|
+
"module": "@dereekb/dbx-firebase",
|
|
15
|
+
"description": "Watches a sibling {@link DbxFirebaseCollectionStoreDirective}'s query inputs\n(constraints, collection mode, refs, etc.) and, when set to `'auto'`, calls\n`store.restart()` so the collection re-runs and pulls fresh results.\n\nUse this directive when a `DbxFirebaseCollectionStoreDirective` subclass has\nquery inputs that change at runtime — by default the store does not react to\nthose changes, so this directive bridges the gap by composing\n{@link dbxFirebaseCollectionChangeWatcher} with\n{@link dbxFirebaseCollectionChangeTriggerForWatcher}.\n\nModes (`DbxFirebaseCollectionChangeWatcherTriggerMode`):\n- `'auto'` — automatically `restart()` the store when the query changes.\n- `'off'` (default) — observe only; consumers may read `triggered$` / `event$` themselves.",
|
|
16
|
+
"inputs": [
|
|
17
|
+
{
|
|
18
|
+
"name": "dbxFirebaseCollectionChange",
|
|
19
|
+
"type": "DbxFirebaseCollectionChangeWatcherTriggerMode",
|
|
20
|
+
"description": "",
|
|
21
|
+
"required": false,
|
|
22
|
+
"default": "'off'"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"outputs": [],
|
|
26
|
+
"relatedSlugs": [
|
|
27
|
+
"firebase-collection-store"
|
|
28
|
+
],
|
|
29
|
+
"example": "<!-- dbxFirebaseItemCollection extends DbxFirebaseCollectionStoreDirective; -->\n<!-- when [constraints] changes, the store restarts and reloads. -->\n<my-items-list\n dbxFirebaseItemCollection\n [constraints]=\"currentConstraints()\"\n [dbxFirebaseCollectionChange]=\"'auto'\">\n</my-items-list>",
|
|
30
|
+
"minimalExample": "<my-items-list dbxFirebaseItemCollection [dbxFirebaseCollectionChange]=\"'auto'\"></my-items-list>"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -421,6 +421,18 @@
|
|
|
421
421
|
"type": "string",
|
|
422
422
|
"description": "Hint text shown below the field.",
|
|
423
423
|
"required": false
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"name": "wrapped (props)",
|
|
427
|
+
"type": "boolean",
|
|
428
|
+
"description": "When `false`, render the list bare without the surrounding Material\nform-field wrapper (no notched outline, no notch label, no hint chrome\nbelow). The label/hint inputs become inert in that mode. Defaults to `true`.",
|
|
429
|
+
"required": false
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "maxHeight (props)",
|
|
433
|
+
"type": "DbxForgeListSelectionFieldMaxHeight",
|
|
434
|
+
"description": "Override the default 300px max-height cap on the rendered list.\n\n- `undefined` (default) — leave the existing CSS variable alone.\n- `'none'` — remove the cap entirely (the list grows to fit its content).\n- `number` — interpreted as pixels (`{value}px`).\n- `string` — passthrough (e.g. `'60vh'`, `'clamp(200px, 50vh, 600px)'`).",
|
|
435
|
+
"required": false
|
|
424
436
|
}
|
|
425
437
|
],
|
|
426
438
|
"wrapperPattern": "material-form-field-wrapped",
|