@camstack/ui-library 1.2.286 → 1.2.287
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/dist/{MotionZonesSettings-DHDfnZyU.js → MotionZonesSettings-CiYjd-yl.js} +1 -1
- package/dist/{PrivacyMaskSettings-DMkchqO1.js → PrivacyMaskSettings-BmRdUrPp.js} +2 -12
- package/dist/{PrivacyMaskSettings-BqjXsXZR.cjs → PrivacyMaskSettings-DuXUCUev.cjs} +3 -13
- package/dist/{SceneMonitorEditor-D0mXx_SD.cjs → SceneMonitorEditor-COgAjtq5.cjs} +2 -30
- package/dist/{SceneMonitorEditor-vfWTm6qv.js → SceneMonitorEditor-J4Ix_0tu.js} +2 -30
- package/dist/composites/device-meta.d.ts +10 -19
- package/dist/composites/icon-glyphs.d.ts +30 -0
- package/dist/composites/icon-picker.d.ts +31 -42
- package/dist/composites/index.d.ts +1 -0
- package/dist/createLucideIcon-COWDteJh.cjs +116 -0
- package/dist/createLucideIcon-kNomBP27.js +111 -0
- package/dist/icons-BXXScOuy.js +37935 -0
- package/dist/icons-CLC60C-_.cjs +39636 -0
- package/dist/index.cjs +1086 -2243
- package/dist/index.js +676 -2037
- package/dist/lucide-icons-module.d.d.ts +10 -0
- package/dist/mic-off-4nCMfrMI.cjs +56 -0
- package/dist/mic-off-C2VTYr91.js +45 -0
- package/dist/primitives/popover.d.ts +17 -0
- package/dist/settings-2-CR4WtEw4.cjs +35 -0
- package/dist/settings-2-jT1iBqHD.js +31 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { t as createLucideIcon } from "./createLucideIcon-kNomBP27.js";
|
|
1
2
|
import { ThemeProvider, createTheme, darkColors, defaultTheme, lightColors, themeToCss, useThemeMode } from "./theme/index.js";
|
|
2
3
|
import * as __mfHostReact from "react";
|
|
3
4
|
import React, { Fragment, Suspense, createContext, createElement, forwardRef, lazy, useCallback, useContext, useEffect, useId, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
4
|
-
import { ALL_CAPABILITY_DEFINITIONS, CAM_PROFILE_ORDER, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CONTAINER_CHILD_PRIORITY, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_TYPE_CONTROL_KIND,
|
|
5
|
+
import { ALL_CAPABILITY_DEFINITIONS, CAM_PROFILE_ORDER, CLIP_STILL_DISPOSITION_HEADER, CLIP_STILL_REASON_CODE_HEADER, CLIP_STILL_REASON_HEADER, CONTAINER_CHILD_PRIORITY, DEFAULT_EVENTS_BAND_BUFFER_SEC, DEFAULT_EVENT_COLOR, DEVICE_TYPE_CONTROL_KIND, DeviceExportStatusSchema, DeviceFeature, DeviceRole, DeviceType, EVENT_TAXONOMY, EXTENSION_SLOTS, EXTENSION_SLOT_IDS, EventCategory, ExposedDeviceSchema, FIRST_LEVEL_MACRO_CLASSES, ICON_CATEGORIES, KNOWN_CAP_NAMES, MAX_SENSOR_TRIGGER_DEVICES, MODEL_PROVIDER_IDS, NAVIGATION_LIGHT_LEVEL_MAX, NAVIGATION_LIGHT_LEVEL_MIN, NODE_COLOR_IDS, NodeColorIdSchema, PET_FEEDER_MANUAL_FEED_MAX, PET_FEEDER_MANUAL_FEED_MIN, RECORDING_AUDIO_TRIGGER_OFFERED_DBFS, RECORDING_SOURCE_CAMSTACK_ADDON, RecordingConfigSchema, RecordingStatusSchema, SECRET_CLEAR, SOURCE_CAP_ACTIVE_FIELD, STATIONARY_OVERLAY_STYLE, TIMEZONES, USE_ROOT_MODEL_SETTING_KEY, assignNodeColorId, assignNodeColorId as assignNodeColorId$1, buildModelVariantGroups, canConvertUnit, canonicalIconKey, clearModelBoundOverrides, clearModelBoundSetting, clusterStepSettingFieldsFor, collectModelBoundKeys, createDeviceProxy, createLazyTrpcSource, createSliceHandle, deriveRecordingMode, describeModelVariant, effectiveStepSettings, findTimezone, formatParkedFor, hasModelBoundOverrides, iconCategoryLabel, iconsInCategory, isKeychainStoredField, isRootSuppliableStepId, isSecretClear, isSecretFieldView, modelBindingKey, normalizeUnit, publicEventCategories, resolveContainerPrimaryChild, resolveDeviceControlKind, resolveIconKey, resolveModelBoundSetting, resolveRecordingProfiles, resolveRootSupply, resolveVariantModelId, resolveViewableDeviceIds, searchIcons, selectAssignedProfileSlots, stepSettingSource, tryConvertUnit, unitsForDimension, withFieldFrom, withoutField, writeModelBoundSetting } from "@camstack/types";
|
|
5
6
|
import * as __mfHostTrpcReactQuery from "@trpc/react-query";
|
|
6
7
|
import { createTRPCReact } from "@trpc/react-query";
|
|
7
8
|
import * as __mfHostReactJsxRuntime from "react/jsx-runtime";
|
|
@@ -16,114 +17,6 @@ import * as __mfHostTrpcClient from "@trpc/client";
|
|
|
16
17
|
import { createTRPCClient, createWSClient, httpLink, splitLink, wsLink } from "@trpc/client";
|
|
17
18
|
import { createSystem } from "@camstack/sdk";
|
|
18
19
|
import { z } from "zod";
|
|
19
|
-
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
20
|
-
/**
|
|
21
|
-
* @license lucide-react v0.576.0 - ISC
|
|
22
|
-
*
|
|
23
|
-
* This source code is licensed under the ISC license.
|
|
24
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/
|
|
26
|
-
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
27
|
-
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
28
|
-
}).join(" ").trim();
|
|
29
|
-
//#endregion
|
|
30
|
-
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.js
|
|
31
|
-
/**
|
|
32
|
-
* @license lucide-react v0.576.0 - ISC
|
|
33
|
-
*
|
|
34
|
-
* This source code is licensed under the ISC license.
|
|
35
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
-
*/
|
|
37
|
-
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.js
|
|
40
|
-
/**
|
|
41
|
-
* @license lucide-react v0.576.0 - ISC
|
|
42
|
-
*
|
|
43
|
-
* This source code is licensed under the ISC license.
|
|
44
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
45
|
-
*/
|
|
46
|
-
var toCamelCase = (string) => string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase());
|
|
47
|
-
//#endregion
|
|
48
|
-
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.js
|
|
49
|
-
/**
|
|
50
|
-
* @license lucide-react v0.576.0 - ISC
|
|
51
|
-
*
|
|
52
|
-
* This source code is licensed under the ISC license.
|
|
53
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
54
|
-
*/
|
|
55
|
-
var toPascalCase = (string) => {
|
|
56
|
-
const camelCase = toCamelCase(string);
|
|
57
|
-
return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
|
|
58
|
-
};
|
|
59
|
-
//#endregion
|
|
60
|
-
//#region ../../node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
61
|
-
/**
|
|
62
|
-
* @license lucide-react v0.576.0 - ISC
|
|
63
|
-
*
|
|
64
|
-
* This source code is licensed under the ISC license.
|
|
65
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
66
|
-
*/
|
|
67
|
-
var defaultAttributes = {
|
|
68
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
69
|
-
width: 24,
|
|
70
|
-
height: 24,
|
|
71
|
-
viewBox: "0 0 24 24",
|
|
72
|
-
fill: "none",
|
|
73
|
-
stroke: "currentColor",
|
|
74
|
-
strokeWidth: 2,
|
|
75
|
-
strokeLinecap: "round",
|
|
76
|
-
strokeLinejoin: "round"
|
|
77
|
-
};
|
|
78
|
-
//#endregion
|
|
79
|
-
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.js
|
|
80
|
-
/**
|
|
81
|
-
* @license lucide-react v0.576.0 - ISC
|
|
82
|
-
*
|
|
83
|
-
* This source code is licensed under the ISC license.
|
|
84
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
85
|
-
*/
|
|
86
|
-
var hasA11yProp = (props) => {
|
|
87
|
-
for (const prop in props) if (prop.startsWith("aria-") || prop === "role" || prop === "title") return true;
|
|
88
|
-
return false;
|
|
89
|
-
};
|
|
90
|
-
//#endregion
|
|
91
|
-
//#region ../../node_modules/lucide-react/dist/esm/Icon.js
|
|
92
|
-
/**
|
|
93
|
-
* @license lucide-react v0.576.0 - ISC
|
|
94
|
-
*
|
|
95
|
-
* This source code is licensed under the ISC license.
|
|
96
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
97
|
-
*/
|
|
98
|
-
var Icon = forwardRef(({ color = "currentColor", size = 24, strokeWidth = 2, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref) => createElement("svg", {
|
|
99
|
-
ref,
|
|
100
|
-
...defaultAttributes,
|
|
101
|
-
width: size,
|
|
102
|
-
height: size,
|
|
103
|
-
stroke: color,
|
|
104
|
-
strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
|
|
105
|
-
className: mergeClasses("lucide", className),
|
|
106
|
-
...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
|
|
107
|
-
...rest
|
|
108
|
-
}, [...iconNode.map(([tag, attrs]) => createElement(tag, attrs)), ...Array.isArray(children) ? children : [children]]));
|
|
109
|
-
//#endregion
|
|
110
|
-
//#region ../../node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
111
|
-
/**
|
|
112
|
-
* @license lucide-react v0.576.0 - ISC
|
|
113
|
-
*
|
|
114
|
-
* This source code is licensed under the ISC license.
|
|
115
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
116
|
-
*/
|
|
117
|
-
var createLucideIcon = (iconName, iconNode) => {
|
|
118
|
-
const Component = forwardRef(({ className, ...props }, ref) => createElement(Icon, {
|
|
119
|
-
ref,
|
|
120
|
-
iconNode,
|
|
121
|
-
className: mergeClasses(`lucide-${toKebabCase(toPascalCase(iconName))}`, `lucide-${iconName}`, className),
|
|
122
|
-
...props
|
|
123
|
-
}));
|
|
124
|
-
Component.displayName = toPascalCase(iconName);
|
|
125
|
-
return Component;
|
|
126
|
-
};
|
|
127
20
|
/**
|
|
128
21
|
* @license lucide-react v0.576.0 - ISC
|
|
129
22
|
*
|
|
@@ -351,30 +244,6 @@ var Bath = createLucideIcon("bath", [
|
|
|
351
244
|
* This source code is licensed under the ISC license.
|
|
352
245
|
* See the LICENSE file in the root directory of this source tree.
|
|
353
246
|
*/
|
|
354
|
-
var BatteryCharging = createLucideIcon("battery-charging", [
|
|
355
|
-
["path", {
|
|
356
|
-
d: "m11 7-3 5h4l-3 5",
|
|
357
|
-
key: "b4a64w"
|
|
358
|
-
}],
|
|
359
|
-
["path", {
|
|
360
|
-
d: "M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935",
|
|
361
|
-
key: "lre1cr"
|
|
362
|
-
}],
|
|
363
|
-
["path", {
|
|
364
|
-
d: "M22 14v-4",
|
|
365
|
-
key: "14q9d5"
|
|
366
|
-
}],
|
|
367
|
-
["path", {
|
|
368
|
-
d: "M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936",
|
|
369
|
-
key: "13q5k0"
|
|
370
|
-
}]
|
|
371
|
-
]);
|
|
372
|
-
/**
|
|
373
|
-
* @license lucide-react v0.576.0 - ISC
|
|
374
|
-
*
|
|
375
|
-
* This source code is licensed under the ISC license.
|
|
376
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
377
|
-
*/
|
|
378
247
|
var BatteryFull = createLucideIcon("battery-full", [
|
|
379
248
|
["path", {
|
|
380
249
|
d: "M10 10v4",
|
|
@@ -504,78 +373,6 @@ var Battery = createLucideIcon("battery", [["path", {
|
|
|
504
373
|
* This source code is licensed under the ISC license.
|
|
505
374
|
* See the LICENSE file in the root directory of this source tree.
|
|
506
375
|
*/
|
|
507
|
-
var BedDouble = createLucideIcon("bed-double", [
|
|
508
|
-
["path", {
|
|
509
|
-
d: "M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",
|
|
510
|
-
key: "1k78r4"
|
|
511
|
-
}],
|
|
512
|
-
["path", {
|
|
513
|
-
d: "M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",
|
|
514
|
-
key: "fb3tl2"
|
|
515
|
-
}],
|
|
516
|
-
["path", {
|
|
517
|
-
d: "M12 4v6",
|
|
518
|
-
key: "1dcgq2"
|
|
519
|
-
}],
|
|
520
|
-
["path", {
|
|
521
|
-
d: "M2 18h20",
|
|
522
|
-
key: "ajqnye"
|
|
523
|
-
}]
|
|
524
|
-
]);
|
|
525
|
-
/**
|
|
526
|
-
* @license lucide-react v0.576.0 - ISC
|
|
527
|
-
*
|
|
528
|
-
* This source code is licensed under the ISC license.
|
|
529
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
530
|
-
*/
|
|
531
|
-
var Bed = createLucideIcon("bed", [
|
|
532
|
-
["path", {
|
|
533
|
-
d: "M2 4v16",
|
|
534
|
-
key: "vw9hq8"
|
|
535
|
-
}],
|
|
536
|
-
["path", {
|
|
537
|
-
d: "M2 8h18a2 2 0 0 1 2 2v10",
|
|
538
|
-
key: "1dgv2r"
|
|
539
|
-
}],
|
|
540
|
-
["path", {
|
|
541
|
-
d: "M2 17h20",
|
|
542
|
-
key: "18nfp3"
|
|
543
|
-
}],
|
|
544
|
-
["path", {
|
|
545
|
-
d: "M6 8v9",
|
|
546
|
-
key: "1yriud"
|
|
547
|
-
}]
|
|
548
|
-
]);
|
|
549
|
-
/**
|
|
550
|
-
* @license lucide-react v0.576.0 - ISC
|
|
551
|
-
*
|
|
552
|
-
* This source code is licensed under the ISC license.
|
|
553
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
554
|
-
*/
|
|
555
|
-
var BellOff = createLucideIcon("bell-off", [
|
|
556
|
-
["path", {
|
|
557
|
-
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
558
|
-
key: "vwvbt9"
|
|
559
|
-
}],
|
|
560
|
-
["path", {
|
|
561
|
-
d: "M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",
|
|
562
|
-
key: "178tsu"
|
|
563
|
-
}],
|
|
564
|
-
["path", {
|
|
565
|
-
d: "m2 2 20 20",
|
|
566
|
-
key: "1ooewy"
|
|
567
|
-
}],
|
|
568
|
-
["path", {
|
|
569
|
-
d: "M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",
|
|
570
|
-
key: "1hqiys"
|
|
571
|
-
}]
|
|
572
|
-
]);
|
|
573
|
-
/**
|
|
574
|
-
* @license lucide-react v0.576.0 - ISC
|
|
575
|
-
*
|
|
576
|
-
* This source code is licensed under the ISC license.
|
|
577
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
578
|
-
*/
|
|
579
376
|
var BellRing = createLucideIcon("bell-ring", [
|
|
580
377
|
["path", {
|
|
581
378
|
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
@@ -713,16 +510,6 @@ var Blinds = createLucideIcon("blinds", [
|
|
|
713
510
|
* This source code is licensed under the ISC license.
|
|
714
511
|
* See the LICENSE file in the root directory of this source tree.
|
|
715
512
|
*/
|
|
716
|
-
var Bluetooth = createLucideIcon("bluetooth", [["path", {
|
|
717
|
-
d: "m7 7 10 10-5 5V2l5 5L7 17",
|
|
718
|
-
key: "1q5490"
|
|
719
|
-
}]]);
|
|
720
|
-
/**
|
|
721
|
-
* @license lucide-react v0.576.0 - ISC
|
|
722
|
-
*
|
|
723
|
-
* This source code is licensed under the ISC license.
|
|
724
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
725
|
-
*/
|
|
726
513
|
var Bone = createLucideIcon("bone", [["path", {
|
|
727
514
|
d: "M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z",
|
|
728
515
|
key: "w610uw"
|
|
@@ -789,23 +576,6 @@ var Box = createLucideIcon("box", [
|
|
|
789
576
|
* This source code is licensed under the ISC license.
|
|
790
577
|
* See the LICENSE file in the root directory of this source tree.
|
|
791
578
|
*/
|
|
792
|
-
var Briefcase = createLucideIcon("briefcase", [["path", {
|
|
793
|
-
d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",
|
|
794
|
-
key: "jecpp"
|
|
795
|
-
}], ["rect", {
|
|
796
|
-
width: "20",
|
|
797
|
-
height: "14",
|
|
798
|
-
x: "2",
|
|
799
|
-
y: "6",
|
|
800
|
-
rx: "2",
|
|
801
|
-
key: "i6l2r4"
|
|
802
|
-
}]]);
|
|
803
|
-
/**
|
|
804
|
-
* @license lucide-react v0.576.0 - ISC
|
|
805
|
-
*
|
|
806
|
-
* This source code is licensed under the ISC license.
|
|
807
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
808
|
-
*/
|
|
809
579
|
var Bug = createLucideIcon("bug", [
|
|
810
580
|
["path", {
|
|
811
581
|
d: "M12 20v-9",
|
|
@@ -858,90 +628,6 @@ var Bug = createLucideIcon("bug", [
|
|
|
858
628
|
* This source code is licensed under the ISC license.
|
|
859
629
|
* See the LICENSE file in the root directory of this source tree.
|
|
860
630
|
*/
|
|
861
|
-
var Building2 = createLucideIcon("building-2", [
|
|
862
|
-
["path", {
|
|
863
|
-
d: "M10 12h4",
|
|
864
|
-
key: "a56b0p"
|
|
865
|
-
}],
|
|
866
|
-
["path", {
|
|
867
|
-
d: "M10 8h4",
|
|
868
|
-
key: "1sr2af"
|
|
869
|
-
}],
|
|
870
|
-
["path", {
|
|
871
|
-
d: "M14 21v-3a2 2 0 0 0-4 0v3",
|
|
872
|
-
key: "1rgiei"
|
|
873
|
-
}],
|
|
874
|
-
["path", {
|
|
875
|
-
d: "M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",
|
|
876
|
-
key: "secmi2"
|
|
877
|
-
}],
|
|
878
|
-
["path", {
|
|
879
|
-
d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",
|
|
880
|
-
key: "16ra0t"
|
|
881
|
-
}]
|
|
882
|
-
]);
|
|
883
|
-
/**
|
|
884
|
-
* @license lucide-react v0.576.0 - ISC
|
|
885
|
-
*
|
|
886
|
-
* This source code is licensed under the ISC license.
|
|
887
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
888
|
-
*/
|
|
889
|
-
var Building = createLucideIcon("building", [
|
|
890
|
-
["path", {
|
|
891
|
-
d: "M12 10h.01",
|
|
892
|
-
key: "1nrarc"
|
|
893
|
-
}],
|
|
894
|
-
["path", {
|
|
895
|
-
d: "M12 14h.01",
|
|
896
|
-
key: "1etili"
|
|
897
|
-
}],
|
|
898
|
-
["path", {
|
|
899
|
-
d: "M12 6h.01",
|
|
900
|
-
key: "1vi96p"
|
|
901
|
-
}],
|
|
902
|
-
["path", {
|
|
903
|
-
d: "M16 10h.01",
|
|
904
|
-
key: "1m94wz"
|
|
905
|
-
}],
|
|
906
|
-
["path", {
|
|
907
|
-
d: "M16 14h.01",
|
|
908
|
-
key: "1gbofw"
|
|
909
|
-
}],
|
|
910
|
-
["path", {
|
|
911
|
-
d: "M16 6h.01",
|
|
912
|
-
key: "1x0f13"
|
|
913
|
-
}],
|
|
914
|
-
["path", {
|
|
915
|
-
d: "M8 10h.01",
|
|
916
|
-
key: "19clt8"
|
|
917
|
-
}],
|
|
918
|
-
["path", {
|
|
919
|
-
d: "M8 14h.01",
|
|
920
|
-
key: "6423bh"
|
|
921
|
-
}],
|
|
922
|
-
["path", {
|
|
923
|
-
d: "M8 6h.01",
|
|
924
|
-
key: "1dz90k"
|
|
925
|
-
}],
|
|
926
|
-
["path", {
|
|
927
|
-
d: "M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3",
|
|
928
|
-
key: "cabbwy"
|
|
929
|
-
}],
|
|
930
|
-
["rect", {
|
|
931
|
-
x: "4",
|
|
932
|
-
y: "2",
|
|
933
|
-
width: "16",
|
|
934
|
-
height: "20",
|
|
935
|
-
rx: "2",
|
|
936
|
-
key: "1uxh74"
|
|
937
|
-
}]
|
|
938
|
-
]);
|
|
939
|
-
/**
|
|
940
|
-
* @license lucide-react v0.576.0 - ISC
|
|
941
|
-
*
|
|
942
|
-
* This source code is licensed under the ISC license.
|
|
943
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
944
|
-
*/
|
|
945
631
|
var Bus = createLucideIcon("bus", [
|
|
946
632
|
["path", {
|
|
947
633
|
d: "M8 6v6",
|
|
@@ -1018,34 +704,6 @@ var Cable = createLucideIcon("cable", [
|
|
|
1018
704
|
* This source code is licensed under the ISC license.
|
|
1019
705
|
* See the LICENSE file in the root directory of this source tree.
|
|
1020
706
|
*/
|
|
1021
|
-
var Calendar = createLucideIcon("calendar", [
|
|
1022
|
-
["path", {
|
|
1023
|
-
d: "M8 2v4",
|
|
1024
|
-
key: "1cmpym"
|
|
1025
|
-
}],
|
|
1026
|
-
["path", {
|
|
1027
|
-
d: "M16 2v4",
|
|
1028
|
-
key: "4m81vk"
|
|
1029
|
-
}],
|
|
1030
|
-
["rect", {
|
|
1031
|
-
width: "18",
|
|
1032
|
-
height: "18",
|
|
1033
|
-
x: "3",
|
|
1034
|
-
y: "4",
|
|
1035
|
-
rx: "2",
|
|
1036
|
-
key: "1hopcy"
|
|
1037
|
-
}],
|
|
1038
|
-
["path", {
|
|
1039
|
-
d: "M3 10h18",
|
|
1040
|
-
key: "8toen8"
|
|
1041
|
-
}]
|
|
1042
|
-
]);
|
|
1043
|
-
/**
|
|
1044
|
-
* @license lucide-react v0.576.0 - ISC
|
|
1045
|
-
*
|
|
1046
|
-
* This source code is licensed under the ISC license.
|
|
1047
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1048
|
-
*/
|
|
1049
707
|
var Camera = createLucideIcon("camera", [["path", {
|
|
1050
708
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
1051
709
|
key: "18u6gg"
|
|
@@ -1289,21 +947,6 @@ var CircleDot = createLucideIcon("circle-dot", [["circle", {
|
|
|
1289
947
|
* This source code is licensed under the ISC license.
|
|
1290
948
|
* See the LICENSE file in the root directory of this source tree.
|
|
1291
949
|
*/
|
|
1292
|
-
var CircleParking = createLucideIcon("circle-parking", [["circle", {
|
|
1293
|
-
cx: "12",
|
|
1294
|
-
cy: "12",
|
|
1295
|
-
r: "10",
|
|
1296
|
-
key: "1mglay"
|
|
1297
|
-
}], ["path", {
|
|
1298
|
-
d: "M9 17V7h4a3 3 0 0 1 0 6H9",
|
|
1299
|
-
key: "1dfk2c"
|
|
1300
|
-
}]]);
|
|
1301
|
-
/**
|
|
1302
|
-
* @license lucide-react v0.576.0 - ISC
|
|
1303
|
-
*
|
|
1304
|
-
* This source code is licensed under the ISC license.
|
|
1305
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1306
|
-
*/
|
|
1307
950
|
var CirclePause = createLucideIcon("circle-pause", [
|
|
1308
951
|
["circle", {
|
|
1309
952
|
cx: "12",
|
|
@@ -1659,30 +1302,6 @@ var Cog = createLucideIcon("cog", [
|
|
|
1659
1302
|
* This source code is licensed under the ISC license.
|
|
1660
1303
|
* See the LICENSE file in the root directory of this source tree.
|
|
1661
1304
|
*/
|
|
1662
|
-
var CookingPot = createLucideIcon("cooking-pot", [
|
|
1663
|
-
["path", {
|
|
1664
|
-
d: "M2 12h20",
|
|
1665
|
-
key: "9i4pu4"
|
|
1666
|
-
}],
|
|
1667
|
-
["path", {
|
|
1668
|
-
d: "M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",
|
|
1669
|
-
key: "u0tga0"
|
|
1670
|
-
}],
|
|
1671
|
-
["path", {
|
|
1672
|
-
d: "m4 8 16-4",
|
|
1673
|
-
key: "16g0ng"
|
|
1674
|
-
}],
|
|
1675
|
-
["path", {
|
|
1676
|
-
d: "m8.86 6.78-.45-1.81a2 2 0 0 1 1.45-2.43l1.94-.48a2 2 0 0 1 2.43 1.46l.45 1.8",
|
|
1677
|
-
key: "12cejc"
|
|
1678
|
-
}]
|
|
1679
|
-
]);
|
|
1680
|
-
/**
|
|
1681
|
-
* @license lucide-react v0.576.0 - ISC
|
|
1682
|
-
*
|
|
1683
|
-
* This source code is licensed under the ISC license.
|
|
1684
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1685
|
-
*/
|
|
1686
1305
|
var Copy = createLucideIcon("copy", [["rect", {
|
|
1687
1306
|
width: "14",
|
|
1688
1307
|
height: "14",
|
|
@@ -1934,38 +1553,6 @@ var Download = createLucideIcon("download", [
|
|
|
1934
1553
|
* This source code is licensed under the ISC license.
|
|
1935
1554
|
* See the LICENSE file in the root directory of this source tree.
|
|
1936
1555
|
*/
|
|
1937
|
-
var Drill = createLucideIcon("drill", [
|
|
1938
|
-
["path", {
|
|
1939
|
-
d: "M10 18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H5a3 3 0 0 1-3-3 1 1 0 0 1 1-1z",
|
|
1940
|
-
key: "ioqxb1"
|
|
1941
|
-
}],
|
|
1942
|
-
["path", {
|
|
1943
|
-
d: "M13 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1l-.81 3.242a1 1 0 0 1-.97.758H8",
|
|
1944
|
-
key: "1rs59n"
|
|
1945
|
-
}],
|
|
1946
|
-
["path", {
|
|
1947
|
-
d: "M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3",
|
|
1948
|
-
key: "105ega"
|
|
1949
|
-
}],
|
|
1950
|
-
["path", {
|
|
1951
|
-
d: "M18 6h4",
|
|
1952
|
-
key: "66u95g"
|
|
1953
|
-
}],
|
|
1954
|
-
["path", {
|
|
1955
|
-
d: "m5 10-2 8",
|
|
1956
|
-
key: "xt2lic"
|
|
1957
|
-
}],
|
|
1958
|
-
["path", {
|
|
1959
|
-
d: "m7 18 2-8",
|
|
1960
|
-
key: "1bzku2"
|
|
1961
|
-
}]
|
|
1962
|
-
]);
|
|
1963
|
-
/**
|
|
1964
|
-
* @license lucide-react v0.576.0 - ISC
|
|
1965
|
-
*
|
|
1966
|
-
* This source code is licensed under the ISC license.
|
|
1967
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1968
|
-
*/
|
|
1969
1556
|
var Droplet = createLucideIcon("droplet", [["path", {
|
|
1970
1557
|
d: "M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z",
|
|
1971
1558
|
key: "c7niix"
|
|
@@ -1989,34 +1576,6 @@ var Droplets = createLucideIcon("droplets", [["path", {
|
|
|
1989
1576
|
* This source code is licensed under the ISC license.
|
|
1990
1577
|
* See the LICENSE file in the root directory of this source tree.
|
|
1991
1578
|
*/
|
|
1992
|
-
var Dumbbell = createLucideIcon("dumbbell", [
|
|
1993
|
-
["path", {
|
|
1994
|
-
d: "M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z",
|
|
1995
|
-
key: "9m4mmf"
|
|
1996
|
-
}],
|
|
1997
|
-
["path", {
|
|
1998
|
-
d: "m2.5 21.5 1.4-1.4",
|
|
1999
|
-
key: "17g3f0"
|
|
2000
|
-
}],
|
|
2001
|
-
["path", {
|
|
2002
|
-
d: "m20.1 3.9 1.4-1.4",
|
|
2003
|
-
key: "1qn309"
|
|
2004
|
-
}],
|
|
2005
|
-
["path", {
|
|
2006
|
-
d: "M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z",
|
|
2007
|
-
key: "1t2c92"
|
|
2008
|
-
}],
|
|
2009
|
-
["path", {
|
|
2010
|
-
d: "m9.6 14.4 4.8-4.8",
|
|
2011
|
-
key: "6umqxw"
|
|
2012
|
-
}]
|
|
2013
|
-
]);
|
|
2014
|
-
/**
|
|
2015
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2016
|
-
*
|
|
2017
|
-
* This source code is licensed under the ISC license.
|
|
2018
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2019
|
-
*/
|
|
2020
1579
|
var EllipsisVertical = createLucideIcon("ellipsis-vertical", [
|
|
2021
1580
|
["circle", {
|
|
2022
1581
|
cx: "12",
|
|
@@ -2135,42 +1694,6 @@ var Feather = createLucideIcon("feather", [
|
|
|
2135
1694
|
* This source code is licensed under the ISC license.
|
|
2136
1695
|
* See the LICENSE file in the root directory of this source tree.
|
|
2137
1696
|
*/
|
|
2138
|
-
var Fence = createLucideIcon("fence", [
|
|
2139
|
-
["path", {
|
|
2140
|
-
d: "M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2141
|
-
key: "1n2rgs"
|
|
2142
|
-
}],
|
|
2143
|
-
["path", {
|
|
2144
|
-
d: "M6 8h4",
|
|
2145
|
-
key: "utf9t1"
|
|
2146
|
-
}],
|
|
2147
|
-
["path", {
|
|
2148
|
-
d: "M6 18h4",
|
|
2149
|
-
key: "12yh4b"
|
|
2150
|
-
}],
|
|
2151
|
-
["path", {
|
|
2152
|
-
d: "m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2153
|
-
key: "3ha7mj"
|
|
2154
|
-
}],
|
|
2155
|
-
["path", {
|
|
2156
|
-
d: "M14 8h4",
|
|
2157
|
-
key: "1r8wg2"
|
|
2158
|
-
}],
|
|
2159
|
-
["path", {
|
|
2160
|
-
d: "M14 18h4",
|
|
2161
|
-
key: "1t3kbu"
|
|
2162
|
-
}],
|
|
2163
|
-
["path", {
|
|
2164
|
-
d: "m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2165
|
-
key: "dfd4e2"
|
|
2166
|
-
}]
|
|
2167
|
-
]);
|
|
2168
|
-
/**
|
|
2169
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2170
|
-
*
|
|
2171
|
-
* This source code is licensed under the ISC license.
|
|
2172
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2173
|
-
*/
|
|
2174
1697
|
var Film = createLucideIcon("film", [
|
|
2175
1698
|
["rect", {
|
|
2176
1699
|
width: "18",
|
|
@@ -2293,56 +1816,6 @@ var FlaskConical = createLucideIcon("flask-conical", [
|
|
|
2293
1816
|
* This source code is licensed under the ISC license.
|
|
2294
1817
|
* See the LICENSE file in the root directory of this source tree.
|
|
2295
1818
|
*/
|
|
2296
|
-
var Flower = createLucideIcon("flower", [
|
|
2297
|
-
["circle", {
|
|
2298
|
-
cx: "12",
|
|
2299
|
-
cy: "12",
|
|
2300
|
-
r: "3",
|
|
2301
|
-
key: "1v7zrd"
|
|
2302
|
-
}],
|
|
2303
|
-
["path", {
|
|
2304
|
-
d: "M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5",
|
|
2305
|
-
key: "14wa3c"
|
|
2306
|
-
}],
|
|
2307
|
-
["path", {
|
|
2308
|
-
d: "M12 7.5V9",
|
|
2309
|
-
key: "1oy5b0"
|
|
2310
|
-
}],
|
|
2311
|
-
["path", {
|
|
2312
|
-
d: "M7.5 12H9",
|
|
2313
|
-
key: "eltsq1"
|
|
2314
|
-
}],
|
|
2315
|
-
["path", {
|
|
2316
|
-
d: "M16.5 12H15",
|
|
2317
|
-
key: "vk5kw4"
|
|
2318
|
-
}],
|
|
2319
|
-
["path", {
|
|
2320
|
-
d: "M12 16.5V15",
|
|
2321
|
-
key: "k7eayi"
|
|
2322
|
-
}],
|
|
2323
|
-
["path", {
|
|
2324
|
-
d: "m8 8 1.88 1.88",
|
|
2325
|
-
key: "nxy4qf"
|
|
2326
|
-
}],
|
|
2327
|
-
["path", {
|
|
2328
|
-
d: "M14.12 9.88 16 8",
|
|
2329
|
-
key: "1lst6k"
|
|
2330
|
-
}],
|
|
2331
|
-
["path", {
|
|
2332
|
-
d: "m8 16 1.88-1.88",
|
|
2333
|
-
key: "h2eex1"
|
|
2334
|
-
}],
|
|
2335
|
-
["path", {
|
|
2336
|
-
d: "M14.12 14.12 16 16",
|
|
2337
|
-
key: "uqkrx3"
|
|
2338
|
-
}]
|
|
2339
|
-
]);
|
|
2340
|
-
/**
|
|
2341
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2342
|
-
*
|
|
2343
|
-
* This source code is licensed under the ISC license.
|
|
2344
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2345
|
-
*/
|
|
2346
1819
|
var Footprints = createLucideIcon("footprints", [
|
|
2347
1820
|
["path", {
|
|
2348
1821
|
d: "M4 16v-2.38C4 11.5 2.97 10.5 3 8c.03-2.72 1.49-6 4.5-6C9.37 2 10 3.8 10 5.5c0 3.11-2 5.66-2 8.68V16a2 2 0 1 1-4 0Z",
|
|
@@ -2622,77 +2095,6 @@ var Hash = createLucideIcon("hash", [
|
|
|
2622
2095
|
* This source code is licensed under the ISC license.
|
|
2623
2096
|
* See the LICENSE file in the root directory of this source tree.
|
|
2624
2097
|
*/
|
|
2625
|
-
var HeartPulse = createLucideIcon("heart-pulse", [["path", {
|
|
2626
|
-
d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
|
|
2627
|
-
key: "mvr1a0"
|
|
2628
|
-
}], ["path", {
|
|
2629
|
-
d: "M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",
|
|
2630
|
-
key: "auskq0"
|
|
2631
|
-
}]]);
|
|
2632
|
-
/**
|
|
2633
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2634
|
-
*
|
|
2635
|
-
* This source code is licensed under the ISC license.
|
|
2636
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2637
|
-
*/
|
|
2638
|
-
var Heart = createLucideIcon("heart", [["path", {
|
|
2639
|
-
d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
|
|
2640
|
-
key: "mvr1a0"
|
|
2641
|
-
}]]);
|
|
2642
|
-
/**
|
|
2643
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2644
|
-
*
|
|
2645
|
-
* This source code is licensed under the ISC license.
|
|
2646
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2647
|
-
*/
|
|
2648
|
-
var Heater = createLucideIcon("heater", [
|
|
2649
|
-
["path", {
|
|
2650
|
-
d: "M11 8c2-3-2-3 0-6",
|
|
2651
|
-
key: "1ldv5m"
|
|
2652
|
-
}],
|
|
2653
|
-
["path", {
|
|
2654
|
-
d: "M15.5 8c2-3-2-3 0-6",
|
|
2655
|
-
key: "1otqoz"
|
|
2656
|
-
}],
|
|
2657
|
-
["path", {
|
|
2658
|
-
d: "M6 10h.01",
|
|
2659
|
-
key: "1lbq93"
|
|
2660
|
-
}],
|
|
2661
|
-
["path", {
|
|
2662
|
-
d: "M6 14h.01",
|
|
2663
|
-
key: "zudwn7"
|
|
2664
|
-
}],
|
|
2665
|
-
["path", {
|
|
2666
|
-
d: "M10 16v-4",
|
|
2667
|
-
key: "1c25yv"
|
|
2668
|
-
}],
|
|
2669
|
-
["path", {
|
|
2670
|
-
d: "M14 16v-4",
|
|
2671
|
-
key: "1dkbt8"
|
|
2672
|
-
}],
|
|
2673
|
-
["path", {
|
|
2674
|
-
d: "M18 16v-4",
|
|
2675
|
-
key: "1yg9me"
|
|
2676
|
-
}],
|
|
2677
|
-
["path", {
|
|
2678
|
-
d: "M20 6a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3",
|
|
2679
|
-
key: "1ubg90"
|
|
2680
|
-
}],
|
|
2681
|
-
["path", {
|
|
2682
|
-
d: "M5 20v2",
|
|
2683
|
-
key: "1abpe8"
|
|
2684
|
-
}],
|
|
2685
|
-
["path", {
|
|
2686
|
-
d: "M19 20v2",
|
|
2687
|
-
key: "kqn6ft"
|
|
2688
|
-
}]
|
|
2689
|
-
]);
|
|
2690
|
-
/**
|
|
2691
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2692
|
-
*
|
|
2693
|
-
* This source code is licensed under the ISC license.
|
|
2694
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2695
|
-
*/
|
|
2696
2098
|
var House = createLucideIcon("house", [["path", {
|
|
2697
2099
|
d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",
|
|
2698
2100
|
key: "5wwlr5"
|
|
@@ -2809,141 +2211,6 @@ var Info = createLucideIcon("info", [
|
|
|
2809
2211
|
* This source code is licensed under the ISC license.
|
|
2810
2212
|
* See the LICENSE file in the root directory of this source tree.
|
|
2811
2213
|
*/
|
|
2812
|
-
var KeyRound = createLucideIcon("key-round", [["path", {
|
|
2813
|
-
d: "M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",
|
|
2814
|
-
key: "1s6t7t"
|
|
2815
|
-
}], ["circle", {
|
|
2816
|
-
cx: "16.5",
|
|
2817
|
-
cy: "7.5",
|
|
2818
|
-
r: ".5",
|
|
2819
|
-
fill: "currentColor",
|
|
2820
|
-
key: "w0ekpg"
|
|
2821
|
-
}]]);
|
|
2822
|
-
/**
|
|
2823
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2824
|
-
*
|
|
2825
|
-
* This source code is licensed under the ISC license.
|
|
2826
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2827
|
-
*/
|
|
2828
|
-
var Key = createLucideIcon("key", [
|
|
2829
|
-
["path", {
|
|
2830
|
-
d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",
|
|
2831
|
-
key: "g0fldk"
|
|
2832
|
-
}],
|
|
2833
|
-
["path", {
|
|
2834
|
-
d: "m21 2-9.6 9.6",
|
|
2835
|
-
key: "1j0ho8"
|
|
2836
|
-
}],
|
|
2837
|
-
["circle", {
|
|
2838
|
-
cx: "7.5",
|
|
2839
|
-
cy: "15.5",
|
|
2840
|
-
r: "5.5",
|
|
2841
|
-
key: "yqb3hr"
|
|
2842
|
-
}]
|
|
2843
|
-
]);
|
|
2844
|
-
/**
|
|
2845
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2846
|
-
*
|
|
2847
|
-
* This source code is licensed under the ISC license.
|
|
2848
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2849
|
-
*/
|
|
2850
|
-
var LampCeiling = createLucideIcon("lamp-ceiling", [
|
|
2851
|
-
["path", {
|
|
2852
|
-
d: "M12 2v5",
|
|
2853
|
-
key: "nd4vlx"
|
|
2854
|
-
}],
|
|
2855
|
-
["path", {
|
|
2856
|
-
d: "M14.829 15.998a3 3 0 1 1-5.658 0",
|
|
2857
|
-
key: "1pybiy"
|
|
2858
|
-
}],
|
|
2859
|
-
["path", {
|
|
2860
|
-
d: "M20.92 14.606A1 1 0 0 1 20 16H4a1 1 0 0 1-.92-1.394l3-7A1 1 0 0 1 7 7h10a1 1 0 0 1 .92.606z",
|
|
2861
|
-
key: "ma1wor"
|
|
2862
|
-
}]
|
|
2863
|
-
]);
|
|
2864
|
-
/**
|
|
2865
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2866
|
-
*
|
|
2867
|
-
* This source code is licensed under the ISC license.
|
|
2868
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2869
|
-
*/
|
|
2870
|
-
var LampDesk = createLucideIcon("lamp-desk", [
|
|
2871
|
-
["path", {
|
|
2872
|
-
d: "M10.293 2.293a1 1 0 0 1 1.414 0l2.5 2.5 5.994 1.227a1 1 0 0 1 .506 1.687l-7 7a1 1 0 0 1-1.687-.506l-1.227-5.994-2.5-2.5a1 1 0 0 1 0-1.414z",
|
|
2873
|
-
key: "sb8slu"
|
|
2874
|
-
}],
|
|
2875
|
-
["path", {
|
|
2876
|
-
d: "m14.207 4.793-3.414 3.414",
|
|
2877
|
-
key: "m2x3oj"
|
|
2878
|
-
}],
|
|
2879
|
-
["path", {
|
|
2880
|
-
d: "M3 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z",
|
|
2881
|
-
key: "8b3myj"
|
|
2882
|
-
}],
|
|
2883
|
-
["path", {
|
|
2884
|
-
d: "m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18",
|
|
2885
|
-
key: "43s6cu"
|
|
2886
|
-
}]
|
|
2887
|
-
]);
|
|
2888
|
-
/**
|
|
2889
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2890
|
-
*
|
|
2891
|
-
* This source code is licensed under the ISC license.
|
|
2892
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2893
|
-
*/
|
|
2894
|
-
var LampFloor = createLucideIcon("lamp-floor", [
|
|
2895
|
-
["path", {
|
|
2896
|
-
d: "M12 10v12",
|
|
2897
|
-
key: "6ubwww"
|
|
2898
|
-
}],
|
|
2899
|
-
["path", {
|
|
2900
|
-
d: "M17.929 7.629A1 1 0 0 1 17 9H7a1 1 0 0 1-.928-1.371l2-5A1 1 0 0 1 9 2h6a1 1 0 0 1 .928.629z",
|
|
2901
|
-
key: "1o95gh"
|
|
2902
|
-
}],
|
|
2903
|
-
["path", {
|
|
2904
|
-
d: "M9 22h6",
|
|
2905
|
-
key: "1rlq3v"
|
|
2906
|
-
}]
|
|
2907
|
-
]);
|
|
2908
|
-
/**
|
|
2909
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2910
|
-
*
|
|
2911
|
-
* This source code is licensed under the ISC license.
|
|
2912
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2913
|
-
*/
|
|
2914
|
-
var Lamp = createLucideIcon("lamp", [
|
|
2915
|
-
["path", {
|
|
2916
|
-
d: "M12 12v6",
|
|
2917
|
-
key: "3ahymv"
|
|
2918
|
-
}],
|
|
2919
|
-
["path", {
|
|
2920
|
-
d: "M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z",
|
|
2921
|
-
key: "1l7kg2"
|
|
2922
|
-
}],
|
|
2923
|
-
["path", {
|
|
2924
|
-
d: "M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z",
|
|
2925
|
-
key: "1mmzpi"
|
|
2926
|
-
}]
|
|
2927
|
-
]);
|
|
2928
|
-
/**
|
|
2929
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2930
|
-
*
|
|
2931
|
-
* This source code is licensed under the ISC license.
|
|
2932
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2933
|
-
*/
|
|
2934
|
-
var Laptop = createLucideIcon("laptop", [["path", {
|
|
2935
|
-
d: "M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",
|
|
2936
|
-
key: "1pdavp"
|
|
2937
|
-
}], ["path", {
|
|
2938
|
-
d: "M20.054 15.987H3.946",
|
|
2939
|
-
key: "14rxg9"
|
|
2940
|
-
}]]);
|
|
2941
|
-
/**
|
|
2942
|
-
* @license lucide-react v0.576.0 - ISC
|
|
2943
|
-
*
|
|
2944
|
-
* This source code is licensed under the ISC license.
|
|
2945
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
2946
|
-
*/
|
|
2947
2214
|
var Laugh = createLucideIcon("laugh", [
|
|
2948
2215
|
["circle", {
|
|
2949
2216
|
cx: "12",
|
|
@@ -3243,33 +2510,6 @@ var Mail = createLucideIcon("mail", [["path", {
|
|
|
3243
2510
|
* This source code is licensed under the ISC license.
|
|
3244
2511
|
* See the LICENSE file in the root directory of this source tree.
|
|
3245
2512
|
*/
|
|
3246
|
-
var Mailbox = createLucideIcon("mailbox", [
|
|
3247
|
-
["path", {
|
|
3248
|
-
d: "M22 17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5C2 7 4 5 6.5 5H18c2.2 0 4 1.8 4 4v8Z",
|
|
3249
|
-
key: "1lbycx"
|
|
3250
|
-
}],
|
|
3251
|
-
["polyline", {
|
|
3252
|
-
points: "15,9 18,9 18,11",
|
|
3253
|
-
key: "1pm9c0"
|
|
3254
|
-
}],
|
|
3255
|
-
["path", {
|
|
3256
|
-
d: "M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2",
|
|
3257
|
-
key: "15i455"
|
|
3258
|
-
}],
|
|
3259
|
-
["line", {
|
|
3260
|
-
x1: "6",
|
|
3261
|
-
x2: "7",
|
|
3262
|
-
y1: "10",
|
|
3263
|
-
y2: "10",
|
|
3264
|
-
key: "1e2scm"
|
|
3265
|
-
}]
|
|
3266
|
-
]);
|
|
3267
|
-
/**
|
|
3268
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3269
|
-
*
|
|
3270
|
-
* This source code is licensed under the ISC license.
|
|
3271
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3272
|
-
*/
|
|
3273
2513
|
var MapPin = createLucideIcon("map-pin", [["path", {
|
|
3274
2514
|
d: "M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",
|
|
3275
2515
|
key: "1r0f0z"
|
|
@@ -3359,38 +2599,6 @@ var MessageSquare = createLucideIcon("message-square", [["path", {
|
|
|
3359
2599
|
* This source code is licensed under the ISC license.
|
|
3360
2600
|
* See the LICENSE file in the root directory of this source tree.
|
|
3361
2601
|
*/
|
|
3362
|
-
var MicOff = createLucideIcon("mic-off", [
|
|
3363
|
-
["path", {
|
|
3364
|
-
d: "M12 19v3",
|
|
3365
|
-
key: "npa21l"
|
|
3366
|
-
}],
|
|
3367
|
-
["path", {
|
|
3368
|
-
d: "M15 9.34V5a3 3 0 0 0-5.68-1.33",
|
|
3369
|
-
key: "1gzdoj"
|
|
3370
|
-
}],
|
|
3371
|
-
["path", {
|
|
3372
|
-
d: "M16.95 16.95A7 7 0 0 1 5 12v-2",
|
|
3373
|
-
key: "cqa7eg"
|
|
3374
|
-
}],
|
|
3375
|
-
["path", {
|
|
3376
|
-
d: "M18.89 13.23A7 7 0 0 0 19 12v-2",
|
|
3377
|
-
key: "16hl24"
|
|
3378
|
-
}],
|
|
3379
|
-
["path", {
|
|
3380
|
-
d: "m2 2 20 20",
|
|
3381
|
-
key: "1ooewy"
|
|
3382
|
-
}],
|
|
3383
|
-
["path", {
|
|
3384
|
-
d: "M9 9v3a3 3 0 0 0 5.12 2.12",
|
|
3385
|
-
key: "r2i35w"
|
|
3386
|
-
}]
|
|
3387
|
-
]);
|
|
3388
|
-
/**
|
|
3389
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3390
|
-
*
|
|
3391
|
-
* This source code is licensed under the ISC license.
|
|
3392
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3393
|
-
*/
|
|
3394
2602
|
var Mic = createLucideIcon("mic", [
|
|
3395
2603
|
["path", {
|
|
3396
2604
|
d: "M12 19v3",
|
|
@@ -3415,42 +2623,6 @@ var Mic = createLucideIcon("mic", [
|
|
|
3415
2623
|
* This source code is licensed under the ISC license.
|
|
3416
2624
|
* See the LICENSE file in the root directory of this source tree.
|
|
3417
2625
|
*/
|
|
3418
|
-
var Microwave = createLucideIcon("microwave", [
|
|
3419
|
-
["rect", {
|
|
3420
|
-
width: "20",
|
|
3421
|
-
height: "15",
|
|
3422
|
-
x: "2",
|
|
3423
|
-
y: "4",
|
|
3424
|
-
rx: "2",
|
|
3425
|
-
key: "2no95f"
|
|
3426
|
-
}],
|
|
3427
|
-
["rect", {
|
|
3428
|
-
width: "8",
|
|
3429
|
-
height: "7",
|
|
3430
|
-
x: "6",
|
|
3431
|
-
y: "8",
|
|
3432
|
-
rx: "1",
|
|
3433
|
-
key: "zh9wx"
|
|
3434
|
-
}],
|
|
3435
|
-
["path", {
|
|
3436
|
-
d: "M18 8v7",
|
|
3437
|
-
key: "o5zi4n"
|
|
3438
|
-
}],
|
|
3439
|
-
["path", {
|
|
3440
|
-
d: "M6 19v2",
|
|
3441
|
-
key: "1loha6"
|
|
3442
|
-
}],
|
|
3443
|
-
["path", {
|
|
3444
|
-
d: "M18 19v2",
|
|
3445
|
-
key: "1dawf0"
|
|
3446
|
-
}]
|
|
3447
|
-
]);
|
|
3448
|
-
/**
|
|
3449
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3450
|
-
*
|
|
3451
|
-
* This source code is licensed under the ISC license.
|
|
3452
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3453
|
-
*/
|
|
3454
2626
|
var Minimize2 = createLucideIcon("minimize-2", [
|
|
3455
2627
|
["path", {
|
|
3456
2628
|
d: "m14 10 7-7",
|
|
@@ -3513,36 +2685,6 @@ var MonitorPlay = createLucideIcon("monitor-play", [
|
|
|
3513
2685
|
* This source code is licensed under the ISC license.
|
|
3514
2686
|
* See the LICENSE file in the root directory of this source tree.
|
|
3515
2687
|
*/
|
|
3516
|
-
var Monitor = createLucideIcon("monitor", [
|
|
3517
|
-
["rect", {
|
|
3518
|
-
width: "20",
|
|
3519
|
-
height: "14",
|
|
3520
|
-
x: "2",
|
|
3521
|
-
y: "3",
|
|
3522
|
-
rx: "2",
|
|
3523
|
-
key: "48i651"
|
|
3524
|
-
}],
|
|
3525
|
-
["line", {
|
|
3526
|
-
x1: "8",
|
|
3527
|
-
x2: "16",
|
|
3528
|
-
y1: "21",
|
|
3529
|
-
y2: "21",
|
|
3530
|
-
key: "1svkeh"
|
|
3531
|
-
}],
|
|
3532
|
-
["line", {
|
|
3533
|
-
x1: "12",
|
|
3534
|
-
x2: "12",
|
|
3535
|
-
y1: "17",
|
|
3536
|
-
y2: "21",
|
|
3537
|
-
key: "vw1qmm"
|
|
3538
|
-
}]
|
|
3539
|
-
]);
|
|
3540
|
-
/**
|
|
3541
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3542
|
-
*
|
|
3543
|
-
* This source code is licensed under the ISC license.
|
|
3544
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3545
|
-
*/
|
|
3546
2688
|
var Moon = createLucideIcon("moon", [["path", {
|
|
3547
2689
|
d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",
|
|
3548
2690
|
key: "kfwtm"
|
|
@@ -3553,16 +2695,6 @@ var Moon = createLucideIcon("moon", [["path", {
|
|
|
3553
2695
|
* This source code is licensed under the ISC license.
|
|
3554
2696
|
* See the LICENSE file in the root directory of this source tree.
|
|
3555
2697
|
*/
|
|
3556
|
-
var Mountain = createLucideIcon("mountain", [["path", {
|
|
3557
|
-
d: "m8 3 4 8 5-5 5 15H2L8 3z",
|
|
3558
|
-
key: "otkl63"
|
|
3559
|
-
}]]);
|
|
3560
|
-
/**
|
|
3561
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3562
|
-
*
|
|
3563
|
-
* This source code is licensed under the ISC license.
|
|
3564
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3565
|
-
*/
|
|
3566
2698
|
var MousePointerClick = createLucideIcon("mouse-pointer-click", [
|
|
3567
2699
|
["path", {
|
|
3568
2700
|
d: "M14 4.1 12 6",
|
|
@@ -3825,32 +2957,6 @@ var Pencil = createLucideIcon("pencil", [["path", {
|
|
|
3825
2957
|
* This source code is licensed under the ISC license.
|
|
3826
2958
|
* See the LICENSE file in the root directory of this source tree.
|
|
3827
2959
|
*/
|
|
3828
|
-
var PersonStanding = createLucideIcon("person-standing", [
|
|
3829
|
-
["circle", {
|
|
3830
|
-
cx: "12",
|
|
3831
|
-
cy: "5",
|
|
3832
|
-
r: "1",
|
|
3833
|
-
key: "gxeob9"
|
|
3834
|
-
}],
|
|
3835
|
-
["path", {
|
|
3836
|
-
d: "m9 20 3-6 3 6",
|
|
3837
|
-
key: "se2kox"
|
|
3838
|
-
}],
|
|
3839
|
-
["path", {
|
|
3840
|
-
d: "m6 8 6 2 6-2",
|
|
3841
|
-
key: "4o3us4"
|
|
3842
|
-
}],
|
|
3843
|
-
["path", {
|
|
3844
|
-
d: "M12 10v4",
|
|
3845
|
-
key: "1kjpxc"
|
|
3846
|
-
}]
|
|
3847
|
-
]);
|
|
3848
|
-
/**
|
|
3849
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3850
|
-
*
|
|
3851
|
-
* This source code is licensed under the ISC license.
|
|
3852
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3853
|
-
*/
|
|
3854
2960
|
var Phone = createLucideIcon("phone", [["path", {
|
|
3855
2961
|
d: "M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",
|
|
3856
2962
|
key: "9njp5v"
|
|
@@ -3914,34 +3020,6 @@ var Play = createLucideIcon("play", [["path", {
|
|
|
3914
3020
|
* This source code is licensed under the ISC license.
|
|
3915
3021
|
* See the LICENSE file in the root directory of this source tree.
|
|
3916
3022
|
*/
|
|
3917
|
-
var PlugZap = createLucideIcon("plug-zap", [
|
|
3918
|
-
["path", {
|
|
3919
|
-
d: "M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",
|
|
3920
|
-
key: "goz73y"
|
|
3921
|
-
}],
|
|
3922
|
-
["path", {
|
|
3923
|
-
d: "m2 22 3-3",
|
|
3924
|
-
key: "19mgm9"
|
|
3925
|
-
}],
|
|
3926
|
-
["path", {
|
|
3927
|
-
d: "M7.5 13.5 10 11",
|
|
3928
|
-
key: "7xgeeb"
|
|
3929
|
-
}],
|
|
3930
|
-
["path", {
|
|
3931
|
-
d: "M10.5 16.5 13 14",
|
|
3932
|
-
key: "10btkg"
|
|
3933
|
-
}],
|
|
3934
|
-
["path", {
|
|
3935
|
-
d: "m18 3-4 4h6l-4 4",
|
|
3936
|
-
key: "16psg9"
|
|
3937
|
-
}]
|
|
3938
|
-
]);
|
|
3939
|
-
/**
|
|
3940
|
-
* @license lucide-react v0.576.0 - ISC
|
|
3941
|
-
*
|
|
3942
|
-
* This source code is licensed under the ISC license.
|
|
3943
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
3944
|
-
*/
|
|
3945
3023
|
var Plus = createLucideIcon("plus", [["path", {
|
|
3946
3024
|
d: "M5 12h14",
|
|
3947
3025
|
key: "1ays0h"
|
|
@@ -4016,64 +3094,6 @@ var Power = createLucideIcon("power", [["path", {
|
|
|
4016
3094
|
* This source code is licensed under the ISC license.
|
|
4017
3095
|
* See the LICENSE file in the root directory of this source tree.
|
|
4018
3096
|
*/
|
|
4019
|
-
var Printer = createLucideIcon("printer", [
|
|
4020
|
-
["path", {
|
|
4021
|
-
d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
|
|
4022
|
-
key: "143wyd"
|
|
4023
|
-
}],
|
|
4024
|
-
["path", {
|
|
4025
|
-
d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",
|
|
4026
|
-
key: "1itne7"
|
|
4027
|
-
}],
|
|
4028
|
-
["rect", {
|
|
4029
|
-
x: "6",
|
|
4030
|
-
y: "14",
|
|
4031
|
-
width: "12",
|
|
4032
|
-
height: "8",
|
|
4033
|
-
rx: "1",
|
|
4034
|
-
key: "1ue0tg"
|
|
4035
|
-
}]
|
|
4036
|
-
]);
|
|
4037
|
-
/**
|
|
4038
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4039
|
-
*
|
|
4040
|
-
* This source code is licensed under the ISC license.
|
|
4041
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4042
|
-
*/
|
|
4043
|
-
var Projector = createLucideIcon("projector", [
|
|
4044
|
-
["path", {
|
|
4045
|
-
d: "M5 7 3 5",
|
|
4046
|
-
key: "1yys58"
|
|
4047
|
-
}],
|
|
4048
|
-
["path", {
|
|
4049
|
-
d: "M9 6V3",
|
|
4050
|
-
key: "1ptz9u"
|
|
4051
|
-
}],
|
|
4052
|
-
["path", {
|
|
4053
|
-
d: "m13 7 2-2",
|
|
4054
|
-
key: "1w3vmq"
|
|
4055
|
-
}],
|
|
4056
|
-
["circle", {
|
|
4057
|
-
cx: "9",
|
|
4058
|
-
cy: "13",
|
|
4059
|
-
r: "3",
|
|
4060
|
-
key: "1mma13"
|
|
4061
|
-
}],
|
|
4062
|
-
["path", {
|
|
4063
|
-
d: "M11.83 12H20a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.17",
|
|
4064
|
-
key: "2frwzc"
|
|
4065
|
-
}],
|
|
4066
|
-
["path", {
|
|
4067
|
-
d: "M16 16h2",
|
|
4068
|
-
key: "dnq2od"
|
|
4069
|
-
}]
|
|
4070
|
-
]);
|
|
4071
|
-
/**
|
|
4072
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4073
|
-
*
|
|
4074
|
-
* This source code is licensed under the ISC license.
|
|
4075
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4076
|
-
*/
|
|
4077
3097
|
var Puzzle = createLucideIcon("puzzle", [["path", {
|
|
4078
3098
|
d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",
|
|
4079
3099
|
key: "w46dr5"
|
|
@@ -4286,26 +3306,6 @@ var RefreshCw = createLucideIcon("refresh-cw", [
|
|
|
4286
3306
|
* This source code is licensed under the ISC license.
|
|
4287
3307
|
* See the LICENSE file in the root directory of this source tree.
|
|
4288
3308
|
*/
|
|
4289
|
-
var Refrigerator = createLucideIcon("refrigerator", [
|
|
4290
|
-
["path", {
|
|
4291
|
-
d: "M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z",
|
|
4292
|
-
key: "fpq118"
|
|
4293
|
-
}],
|
|
4294
|
-
["path", {
|
|
4295
|
-
d: "M5 10h14",
|
|
4296
|
-
key: "elsbfy"
|
|
4297
|
-
}],
|
|
4298
|
-
["path", {
|
|
4299
|
-
d: "M15 7v6",
|
|
4300
|
-
key: "1nx30x"
|
|
4301
|
-
}]
|
|
4302
|
-
]);
|
|
4303
|
-
/**
|
|
4304
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4305
|
-
*
|
|
4306
|
-
* This source code is licensed under the ISC license.
|
|
4307
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4308
|
-
*/
|
|
4309
3309
|
var RotateCcw = createLucideIcon("rotate-ccw", [["path", {
|
|
4310
3310
|
d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
|
|
4311
3311
|
key: "1357e3"
|
|
@@ -4356,42 +3356,6 @@ var Route = createLucideIcon("route", [
|
|
|
4356
3356
|
* This source code is licensed under the ISC license.
|
|
4357
3357
|
* See the LICENSE file in the root directory of this source tree.
|
|
4358
3358
|
*/
|
|
4359
|
-
var Router = createLucideIcon("router", [
|
|
4360
|
-
["rect", {
|
|
4361
|
-
width: "20",
|
|
4362
|
-
height: "8",
|
|
4363
|
-
x: "2",
|
|
4364
|
-
y: "14",
|
|
4365
|
-
rx: "2",
|
|
4366
|
-
key: "w68u3i"
|
|
4367
|
-
}],
|
|
4368
|
-
["path", {
|
|
4369
|
-
d: "M6.01 18H6",
|
|
4370
|
-
key: "19vcac"
|
|
4371
|
-
}],
|
|
4372
|
-
["path", {
|
|
4373
|
-
d: "M10.01 18H10",
|
|
4374
|
-
key: "uamcmx"
|
|
4375
|
-
}],
|
|
4376
|
-
["path", {
|
|
4377
|
-
d: "M15 10v4",
|
|
4378
|
-
key: "qjz1xs"
|
|
4379
|
-
}],
|
|
4380
|
-
["path", {
|
|
4381
|
-
d: "M17.84 7.17a4 4 0 0 0-5.66 0",
|
|
4382
|
-
key: "1rif40"
|
|
4383
|
-
}],
|
|
4384
|
-
["path", {
|
|
4385
|
-
d: "M20.66 4.34a8 8 0 0 0-11.31 0",
|
|
4386
|
-
key: "6a5xfq"
|
|
4387
|
-
}]
|
|
4388
|
-
]);
|
|
4389
|
-
/**
|
|
4390
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4391
|
-
*
|
|
4392
|
-
* This source code is licensed under the ISC license.
|
|
4393
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4394
|
-
*/
|
|
4395
3359
|
var Sailboat = createLucideIcon("sailboat", [
|
|
4396
3360
|
["path", {
|
|
4397
3361
|
d: "M10 2v15",
|
|
@@ -4865,64 +3829,6 @@ var Snowflake = createLucideIcon("snowflake", [
|
|
|
4865
3829
|
* This source code is licensed under the ISC license.
|
|
4866
3830
|
* See the LICENSE file in the root directory of this source tree.
|
|
4867
3831
|
*/
|
|
4868
|
-
var Sofa = createLucideIcon("sofa", [
|
|
4869
|
-
["path", {
|
|
4870
|
-
d: "M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3",
|
|
4871
|
-
key: "1dgpiv"
|
|
4872
|
-
}],
|
|
4873
|
-
["path", {
|
|
4874
|
-
d: "M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z",
|
|
4875
|
-
key: "xacw8m"
|
|
4876
|
-
}],
|
|
4877
|
-
["path", {
|
|
4878
|
-
d: "M4 18v2",
|
|
4879
|
-
key: "jwo5n2"
|
|
4880
|
-
}],
|
|
4881
|
-
["path", {
|
|
4882
|
-
d: "M20 18v2",
|
|
4883
|
-
key: "1ar1qi"
|
|
4884
|
-
}],
|
|
4885
|
-
["path", {
|
|
4886
|
-
d: "M12 4v9",
|
|
4887
|
-
key: "oqhhn3"
|
|
4888
|
-
}]
|
|
4889
|
-
]);
|
|
4890
|
-
/**
|
|
4891
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4892
|
-
*
|
|
4893
|
-
* This source code is licensed under the ISC license.
|
|
4894
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4895
|
-
*/
|
|
4896
|
-
var Speaker = createLucideIcon("speaker", [
|
|
4897
|
-
["rect", {
|
|
4898
|
-
width: "16",
|
|
4899
|
-
height: "20",
|
|
4900
|
-
x: "4",
|
|
4901
|
-
y: "2",
|
|
4902
|
-
rx: "2",
|
|
4903
|
-
key: "1nb95v"
|
|
4904
|
-
}],
|
|
4905
|
-
["path", {
|
|
4906
|
-
d: "M12 6h.01",
|
|
4907
|
-
key: "1vi96p"
|
|
4908
|
-
}],
|
|
4909
|
-
["circle", {
|
|
4910
|
-
cx: "12",
|
|
4911
|
-
cy: "14",
|
|
4912
|
-
r: "4",
|
|
4913
|
-
key: "1jruaj"
|
|
4914
|
-
}],
|
|
4915
|
-
["path", {
|
|
4916
|
-
d: "M12 14h.01",
|
|
4917
|
-
key: "1etili"
|
|
4918
|
-
}]
|
|
4919
|
-
]);
|
|
4920
|
-
/**
|
|
4921
|
-
* @license lucide-react v0.576.0 - ISC
|
|
4922
|
-
*
|
|
4923
|
-
* This source code is licensed under the ISC license.
|
|
4924
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
4925
|
-
*/
|
|
4926
3832
|
var Sparkles = createLucideIcon("sparkles", [
|
|
4927
3833
|
["path", {
|
|
4928
3834
|
d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
|
|
@@ -4993,26 +3899,6 @@ var Star = createLucideIcon("star", [["path", {
|
|
|
4993
3899
|
* This source code is licensed under the ISC license.
|
|
4994
3900
|
* See the LICENSE file in the root directory of this source tree.
|
|
4995
3901
|
*/
|
|
4996
|
-
var Store = createLucideIcon("store", [
|
|
4997
|
-
["path", {
|
|
4998
|
-
d: "M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",
|
|
4999
|
-
key: "slp6dd"
|
|
5000
|
-
}],
|
|
5001
|
-
["path", {
|
|
5002
|
-
d: "M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",
|
|
5003
|
-
key: "o0xfot"
|
|
5004
|
-
}],
|
|
5005
|
-
["path", {
|
|
5006
|
-
d: "M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",
|
|
5007
|
-
key: "wn3emo"
|
|
5008
|
-
}]
|
|
5009
|
-
]);
|
|
5010
|
-
/**
|
|
5011
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5012
|
-
*
|
|
5013
|
-
* This source code is licensed under the ISC license.
|
|
5014
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5015
|
-
*/
|
|
5016
3902
|
var SunMedium = createLucideIcon("sun-medium", [
|
|
5017
3903
|
["circle", {
|
|
5018
3904
|
cx: "12",
|
|
@@ -5145,27 +4031,6 @@ var Sunrise = createLucideIcon("sunrise", [
|
|
|
5145
4031
|
* This source code is licensed under the ISC license.
|
|
5146
4032
|
* See the LICENSE file in the root directory of this source tree.
|
|
5147
4033
|
*/
|
|
5148
|
-
var Tablet = createLucideIcon("tablet", [["rect", {
|
|
5149
|
-
width: "16",
|
|
5150
|
-
height: "20",
|
|
5151
|
-
x: "4",
|
|
5152
|
-
y: "2",
|
|
5153
|
-
rx: "2",
|
|
5154
|
-
ry: "2",
|
|
5155
|
-
key: "76otgf"
|
|
5156
|
-
}], ["line", {
|
|
5157
|
-
x1: "12",
|
|
5158
|
-
x2: "12.01",
|
|
5159
|
-
y1: "18",
|
|
5160
|
-
y2: "18",
|
|
5161
|
-
key: "1dp563"
|
|
5162
|
-
}]]);
|
|
5163
|
-
/**
|
|
5164
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5165
|
-
*
|
|
5166
|
-
* This source code is licensed under the ISC license.
|
|
5167
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5168
|
-
*/
|
|
5169
4034
|
var Tag = createLucideIcon("tag", [["path", {
|
|
5170
4035
|
d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
|
|
5171
4036
|
key: "vktsd0"
|
|
@@ -5208,46 +4073,6 @@ var Target = createLucideIcon("target", [
|
|
|
5208
4073
|
* This source code is licensed under the ISC license.
|
|
5209
4074
|
* See the LICENSE file in the root directory of this source tree.
|
|
5210
4075
|
*/
|
|
5211
|
-
var ThermometerSnowflake = createLucideIcon("thermometer-snowflake", [
|
|
5212
|
-
["path", {
|
|
5213
|
-
d: "m10 20-1.25-2.5L6 18",
|
|
5214
|
-
key: "18frcb"
|
|
5215
|
-
}],
|
|
5216
|
-
["path", {
|
|
5217
|
-
d: "M10 4 8.75 6.5 6 6",
|
|
5218
|
-
key: "7mghy3"
|
|
5219
|
-
}],
|
|
5220
|
-
["path", {
|
|
5221
|
-
d: "M10.585 15H10",
|
|
5222
|
-
key: "4nqulp"
|
|
5223
|
-
}],
|
|
5224
|
-
["path", {
|
|
5225
|
-
d: "M2 12h6.5L10 9",
|
|
5226
|
-
key: "kv9z4n"
|
|
5227
|
-
}],
|
|
5228
|
-
["path", {
|
|
5229
|
-
d: "M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z",
|
|
5230
|
-
key: "yu0u2z"
|
|
5231
|
-
}],
|
|
5232
|
-
["path", {
|
|
5233
|
-
d: "m4 10 1.5 2L4 14",
|
|
5234
|
-
key: "k9enpj"
|
|
5235
|
-
}],
|
|
5236
|
-
["path", {
|
|
5237
|
-
d: "m7 21 3-6-1.5-3",
|
|
5238
|
-
key: "j8hb9u"
|
|
5239
|
-
}],
|
|
5240
|
-
["path", {
|
|
5241
|
-
d: "m7 3 3 6h2",
|
|
5242
|
-
key: "1bbqgq"
|
|
5243
|
-
}]
|
|
5244
|
-
]);
|
|
5245
|
-
/**
|
|
5246
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5247
|
-
*
|
|
5248
|
-
* This source code is licensed under the ISC license.
|
|
5249
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5250
|
-
*/
|
|
5251
4076
|
var Thermometer = createLucideIcon("thermometer", [["path", {
|
|
5252
4077
|
d: "M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",
|
|
5253
4078
|
key: "17jzev"
|
|
@@ -5258,66 +4083,6 @@ var Thermometer = createLucideIcon("thermometer", [["path", {
|
|
|
5258
4083
|
* This source code is licensed under the ISC license.
|
|
5259
4084
|
* See the LICENSE file in the root directory of this source tree.
|
|
5260
4085
|
*/
|
|
5261
|
-
var ThermometerSun = createLucideIcon("thermometer-sun", [
|
|
5262
|
-
["path", {
|
|
5263
|
-
d: "M12 2v2",
|
|
5264
|
-
key: "tus03m"
|
|
5265
|
-
}],
|
|
5266
|
-
["path", {
|
|
5267
|
-
d: "M12 8a4 4 0 0 0-1.645 7.647",
|
|
5268
|
-
key: "wz5p04"
|
|
5269
|
-
}],
|
|
5270
|
-
["path", {
|
|
5271
|
-
d: "M2 12h2",
|
|
5272
|
-
key: "1t8f8n"
|
|
5273
|
-
}],
|
|
5274
|
-
["path", {
|
|
5275
|
-
d: "M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z",
|
|
5276
|
-
key: "yu0u2z"
|
|
5277
|
-
}],
|
|
5278
|
-
["path", {
|
|
5279
|
-
d: "m4.93 4.93 1.41 1.41",
|
|
5280
|
-
key: "149t6j"
|
|
5281
|
-
}],
|
|
5282
|
-
["path", {
|
|
5283
|
-
d: "m6.34 17.66-1.41 1.41",
|
|
5284
|
-
key: "1m8zz5"
|
|
5285
|
-
}]
|
|
5286
|
-
]);
|
|
5287
|
-
/**
|
|
5288
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5289
|
-
*
|
|
5290
|
-
* This source code is licensed under the ISC license.
|
|
5291
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5292
|
-
*/
|
|
5293
|
-
var Timer = createLucideIcon("timer", [
|
|
5294
|
-
["line", {
|
|
5295
|
-
x1: "10",
|
|
5296
|
-
x2: "14",
|
|
5297
|
-
y1: "2",
|
|
5298
|
-
y2: "2",
|
|
5299
|
-
key: "14vaq8"
|
|
5300
|
-
}],
|
|
5301
|
-
["line", {
|
|
5302
|
-
x1: "12",
|
|
5303
|
-
x2: "15",
|
|
5304
|
-
y1: "14",
|
|
5305
|
-
y2: "11",
|
|
5306
|
-
key: "17fdiu"
|
|
5307
|
-
}],
|
|
5308
|
-
["circle", {
|
|
5309
|
-
cx: "12",
|
|
5310
|
-
cy: "14",
|
|
5311
|
-
r: "8",
|
|
5312
|
-
key: "1e1u0o"
|
|
5313
|
-
}]
|
|
5314
|
-
]);
|
|
5315
|
-
/**
|
|
5316
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5317
|
-
*
|
|
5318
|
-
* This source code is licensed under the ISC license.
|
|
5319
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5320
|
-
*/
|
|
5321
4086
|
var ToggleLeft = createLucideIcon("toggle-left", [["circle", {
|
|
5322
4087
|
cx: "9",
|
|
5323
4088
|
cy: "12",
|
|
@@ -5464,43 +4229,6 @@ var Trash2 = createLucideIcon("trash-2", [
|
|
|
5464
4229
|
* This source code is licensed under the ISC license.
|
|
5465
4230
|
* See the LICENSE file in the root directory of this source tree.
|
|
5466
4231
|
*/
|
|
5467
|
-
var TreePine = createLucideIcon("tree-pine", [["path", {
|
|
5468
|
-
d: "m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z",
|
|
5469
|
-
key: "cpyugq"
|
|
5470
|
-
}], ["path", {
|
|
5471
|
-
d: "M12 22v-3",
|
|
5472
|
-
key: "kmzjlo"
|
|
5473
|
-
}]]);
|
|
5474
|
-
/**
|
|
5475
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5476
|
-
*
|
|
5477
|
-
* This source code is licensed under the ISC license.
|
|
5478
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5479
|
-
*/
|
|
5480
|
-
var Trees = createLucideIcon("trees", [
|
|
5481
|
-
["path", {
|
|
5482
|
-
d: "M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z",
|
|
5483
|
-
key: "1l6gj6"
|
|
5484
|
-
}],
|
|
5485
|
-
["path", {
|
|
5486
|
-
d: "M7 16v6",
|
|
5487
|
-
key: "1a82de"
|
|
5488
|
-
}],
|
|
5489
|
-
["path", {
|
|
5490
|
-
d: "M13 19v3",
|
|
5491
|
-
key: "13sx9i"
|
|
5492
|
-
}],
|
|
5493
|
-
["path", {
|
|
5494
|
-
d: "M12 19h8.3a1 1 0 0 0 .7-1.7L18 14h.3a1 1 0 0 0 .7-1.7L16 9h.2a1 1 0 0 0 .8-1.7L13 3l-1.4 1.5",
|
|
5495
|
-
key: "1sj9kv"
|
|
5496
|
-
}]
|
|
5497
|
-
]);
|
|
5498
|
-
/**
|
|
5499
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5500
|
-
*
|
|
5501
|
-
* This source code is licensed under the ISC license.
|
|
5502
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5503
|
-
*/
|
|
5504
4232
|
var TrendingUp = createLucideIcon("trending-up", [["path", {
|
|
5505
4233
|
d: "M16 7h6v6",
|
|
5506
4234
|
key: "box55l"
|
|
@@ -5579,23 +4307,6 @@ var Truck = createLucideIcon("truck", [
|
|
|
5579
4307
|
* This source code is licensed under the ISC license.
|
|
5580
4308
|
* See the LICENSE file in the root directory of this source tree.
|
|
5581
4309
|
*/
|
|
5582
|
-
var Tv = createLucideIcon("tv", [["path", {
|
|
5583
|
-
d: "m17 2-5 5-5-5",
|
|
5584
|
-
key: "16satq"
|
|
5585
|
-
}], ["rect", {
|
|
5586
|
-
width: "20",
|
|
5587
|
-
height: "15",
|
|
5588
|
-
x: "2",
|
|
5589
|
-
y: "7",
|
|
5590
|
-
rx: "2",
|
|
5591
|
-
key: "1e6viu"
|
|
5592
|
-
}]]);
|
|
5593
|
-
/**
|
|
5594
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5595
|
-
*
|
|
5596
|
-
* This source code is licensed under the ISC license.
|
|
5597
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5598
|
-
*/
|
|
5599
4310
|
var Type = createLucideIcon("type", [
|
|
5600
4311
|
["path", {
|
|
5601
4312
|
d: "M12 4v16",
|
|
@@ -5616,26 +4327,6 @@ var Type = createLucideIcon("type", [
|
|
|
5616
4327
|
* This source code is licensed under the ISC license.
|
|
5617
4328
|
* See the LICENSE file in the root directory of this source tree.
|
|
5618
4329
|
*/
|
|
5619
|
-
var Umbrella = createLucideIcon("umbrella", [
|
|
5620
|
-
["path", {
|
|
5621
|
-
d: "M12 13v7a2 2 0 0 0 4 0",
|
|
5622
|
-
key: "rpgb42"
|
|
5623
|
-
}],
|
|
5624
|
-
["path", {
|
|
5625
|
-
d: "M12 2v2",
|
|
5626
|
-
key: "tus03m"
|
|
5627
|
-
}],
|
|
5628
|
-
["path", {
|
|
5629
|
-
d: "M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z",
|
|
5630
|
-
key: "124nyo"
|
|
5631
|
-
}]
|
|
5632
|
-
]);
|
|
5633
|
-
/**
|
|
5634
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5635
|
-
*
|
|
5636
|
-
* This source code is licensed under the ISC license.
|
|
5637
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5638
|
-
*/
|
|
5639
4330
|
var Undo2 = createLucideIcon("undo-2", [["path", {
|
|
5640
4331
|
d: "M9 14 4 9l5-5",
|
|
5641
4332
|
key: "102s5s"
|
|
@@ -5766,26 +4457,6 @@ var UtensilsCrossed = createLucideIcon("utensils-crossed", [
|
|
|
5766
4457
|
* This source code is licensed under the ISC license.
|
|
5767
4458
|
* See the LICENSE file in the root directory of this source tree.
|
|
5768
4459
|
*/
|
|
5769
|
-
var Utensils = createLucideIcon("utensils", [
|
|
5770
|
-
["path", {
|
|
5771
|
-
d: "M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",
|
|
5772
|
-
key: "cjf0a3"
|
|
5773
|
-
}],
|
|
5774
|
-
["path", {
|
|
5775
|
-
d: "M7 2v20",
|
|
5776
|
-
key: "1473qp"
|
|
5777
|
-
}],
|
|
5778
|
-
["path", {
|
|
5779
|
-
d: "M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",
|
|
5780
|
-
key: "j28e5"
|
|
5781
|
-
}]
|
|
5782
|
-
]);
|
|
5783
|
-
/**
|
|
5784
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5785
|
-
*
|
|
5786
|
-
* This source code is licensed under the ISC license.
|
|
5787
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5788
|
-
*/
|
|
5789
4460
|
var Vibrate = createLucideIcon("vibrate", [
|
|
5790
4461
|
["path", {
|
|
5791
4462
|
d: "m2 8 2 2-2 2 2 2-2 2",
|
|
@@ -5810,43 +4481,6 @@ var Vibrate = createLucideIcon("vibrate", [
|
|
|
5810
4481
|
* This source code is licensed under the ISC license.
|
|
5811
4482
|
* See the LICENSE file in the root directory of this source tree.
|
|
5812
4483
|
*/
|
|
5813
|
-
var VideoOff = createLucideIcon("video-off", [
|
|
5814
|
-
["path", {
|
|
5815
|
-
d: "M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196",
|
|
5816
|
-
key: "w8jjjt"
|
|
5817
|
-
}],
|
|
5818
|
-
["path", {
|
|
5819
|
-
d: "M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2",
|
|
5820
|
-
key: "1xawa7"
|
|
5821
|
-
}],
|
|
5822
|
-
["path", {
|
|
5823
|
-
d: "m2 2 20 20",
|
|
5824
|
-
key: "1ooewy"
|
|
5825
|
-
}]
|
|
5826
|
-
]);
|
|
5827
|
-
/**
|
|
5828
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5829
|
-
*
|
|
5830
|
-
* This source code is licensed under the ISC license.
|
|
5831
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5832
|
-
*/
|
|
5833
|
-
var Video = createLucideIcon("video", [["path", {
|
|
5834
|
-
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
5835
|
-
key: "ftymec"
|
|
5836
|
-
}], ["rect", {
|
|
5837
|
-
x: "2",
|
|
5838
|
-
y: "6",
|
|
5839
|
-
width: "14",
|
|
5840
|
-
height: "12",
|
|
5841
|
-
rx: "2",
|
|
5842
|
-
key: "158x01"
|
|
5843
|
-
}]]);
|
|
5844
|
-
/**
|
|
5845
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5846
|
-
*
|
|
5847
|
-
* This source code is licensed under the ISC license.
|
|
5848
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5849
|
-
*/
|
|
5850
4484
|
var Volume2 = createLucideIcon("volume-2", [
|
|
5851
4485
|
["path", {
|
|
5852
4486
|
d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
|
|
@@ -5893,92 +4527,6 @@ var VolumeX = createLucideIcon("volume-x", [
|
|
|
5893
4527
|
* This source code is licensed under the ISC license.
|
|
5894
4528
|
* See the LICENSE file in the root directory of this source tree.
|
|
5895
4529
|
*/
|
|
5896
|
-
var Warehouse = createLucideIcon("warehouse", [
|
|
5897
|
-
["path", {
|
|
5898
|
-
d: "M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11",
|
|
5899
|
-
key: "pb2vm6"
|
|
5900
|
-
}],
|
|
5901
|
-
["path", {
|
|
5902
|
-
d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 1.132-1.803l7.95-3.974a2 2 0 0 1 1.837 0l7.948 3.974A2 2 0 0 1 22 8z",
|
|
5903
|
-
key: "doq5xv"
|
|
5904
|
-
}],
|
|
5905
|
-
["path", {
|
|
5906
|
-
d: "M6 13h12",
|
|
5907
|
-
key: "yf64js"
|
|
5908
|
-
}],
|
|
5909
|
-
["path", {
|
|
5910
|
-
d: "M6 17h12",
|
|
5911
|
-
key: "1jwigz"
|
|
5912
|
-
}]
|
|
5913
|
-
]);
|
|
5914
|
-
/**
|
|
5915
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5916
|
-
*
|
|
5917
|
-
* This source code is licensed under the ISC license.
|
|
5918
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5919
|
-
*/
|
|
5920
|
-
var WashingMachine = createLucideIcon("washing-machine", [
|
|
5921
|
-
["path", {
|
|
5922
|
-
d: "M3 6h3",
|
|
5923
|
-
key: "155dbl"
|
|
5924
|
-
}],
|
|
5925
|
-
["path", {
|
|
5926
|
-
d: "M17 6h.01",
|
|
5927
|
-
key: "e2y6kg"
|
|
5928
|
-
}],
|
|
5929
|
-
["rect", {
|
|
5930
|
-
width: "18",
|
|
5931
|
-
height: "20",
|
|
5932
|
-
x: "3",
|
|
5933
|
-
y: "2",
|
|
5934
|
-
rx: "2",
|
|
5935
|
-
key: "od3kk9"
|
|
5936
|
-
}],
|
|
5937
|
-
["circle", {
|
|
5938
|
-
cx: "12",
|
|
5939
|
-
cy: "13",
|
|
5940
|
-
r: "5",
|
|
5941
|
-
key: "nlbqau"
|
|
5942
|
-
}],
|
|
5943
|
-
["path", {
|
|
5944
|
-
d: "M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5",
|
|
5945
|
-
key: "17lach"
|
|
5946
|
-
}]
|
|
5947
|
-
]);
|
|
5948
|
-
/**
|
|
5949
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5950
|
-
*
|
|
5951
|
-
* This source code is licensed under the ISC license.
|
|
5952
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5953
|
-
*/
|
|
5954
|
-
var WavesLadder = createLucideIcon("waves-ladder", [
|
|
5955
|
-
["path", {
|
|
5956
|
-
d: "M19 5a2 2 0 0 0-2 2v11",
|
|
5957
|
-
key: "s41o68"
|
|
5958
|
-
}],
|
|
5959
|
-
["path", {
|
|
5960
|
-
d: "M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",
|
|
5961
|
-
key: "rd2r6e"
|
|
5962
|
-
}],
|
|
5963
|
-
["path", {
|
|
5964
|
-
d: "M7 13h10",
|
|
5965
|
-
key: "1rwob1"
|
|
5966
|
-
}],
|
|
5967
|
-
["path", {
|
|
5968
|
-
d: "M7 9h10",
|
|
5969
|
-
key: "12czzb"
|
|
5970
|
-
}],
|
|
5971
|
-
["path", {
|
|
5972
|
-
d: "M9 5a2 2 0 0 0-2 2v11",
|
|
5973
|
-
key: "x0q4gh"
|
|
5974
|
-
}]
|
|
5975
|
-
]);
|
|
5976
|
-
/**
|
|
5977
|
-
* @license lucide-react v0.576.0 - ISC
|
|
5978
|
-
*
|
|
5979
|
-
* This source code is licensed under the ISC license.
|
|
5980
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
5981
|
-
*/
|
|
5982
4530
|
var Waves = createLucideIcon("waves", [
|
|
5983
4531
|
["path", {
|
|
5984
4532
|
d: "M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",
|
|
@@ -6833,34 +5381,26 @@ function deviceRoleMetaOf(role) {
|
|
|
6833
5381
|
return DEVICE_ROLE_META[role] ?? FALLBACK_DEVICE_ROLE_META;
|
|
6834
5382
|
}
|
|
6835
5383
|
/**
|
|
6836
|
-
*
|
|
6837
|
-
*
|
|
6838
|
-
*
|
|
6839
|
-
*
|
|
6840
|
-
*
|
|
6841
|
-
* The vocabulary is the one the VIEWER draws from too (its own icon module,
|
|
6842
|
-
* keyed by these same strings): a key added here that the phone cannot draw
|
|
6843
|
-
* falls through to the next resolution level there, which reads as "my change
|
|
6844
|
-
* did nothing". So the KEY is the contract — a stable kebab-case string, never
|
|
6845
|
-
* a glyph identity — and `device-meta.test.ts` pins that every key resolves
|
|
6846
|
-
* and that the set never loses a key an operator may already have persisted.
|
|
5384
|
+
* The glyphs the admin draws on FIRST PAINT, synchronously — the ones the
|
|
5385
|
+
* device-type and role meta tables above already import. Everything else in
|
|
5386
|
+
* the icon catalog is drawn from the lazily loaded full table
|
|
5387
|
+
* (`icon-glyphs.ts`), so the initial chunk carries ~60 lucide icons instead of
|
|
5388
|
+
* one static import per catalog key (D854).
|
|
6847
5389
|
*
|
|
6848
|
-
*
|
|
6849
|
-
*
|
|
6850
|
-
*
|
|
5390
|
+
* Typed `Partial<Record<IconKey, ...>>`: a key that is not in the catalog is a
|
|
5391
|
+
* compile error, so this table can never become a second vocabulary — it is a
|
|
5392
|
+
* cache of glyphs, not a list of choices.
|
|
6851
5393
|
*/
|
|
6852
|
-
var
|
|
5394
|
+
var FAST_ICON_GLYPHS = {
|
|
6853
5395
|
camera: Camera,
|
|
6854
5396
|
network: Network,
|
|
6855
5397
|
"toggle-left": ToggleLeft,
|
|
6856
|
-
"toggle-right": ToggleRight,
|
|
6857
5398
|
"circle-dot": CircleDot,
|
|
6858
5399
|
"refresh-cw": RefreshCw,
|
|
6859
5400
|
box: Box,
|
|
6860
5401
|
"scroll-text": ScrollText,
|
|
6861
5402
|
workflow: Workflow,
|
|
6862
5403
|
lock: Lock,
|
|
6863
|
-
"lock-open": LockOpen,
|
|
6864
5404
|
blinds: Blinds,
|
|
6865
5405
|
"air-vent": AirVent,
|
|
6866
5406
|
"monitor-play": MonitorPlay,
|
|
@@ -6873,89 +5413,33 @@ var DISPLAY_ICON_REGISTRY = {
|
|
|
6873
5413
|
"door-closed": DoorClosed,
|
|
6874
5414
|
"door-open": DoorOpen,
|
|
6875
5415
|
crosshair: Crosshair,
|
|
6876
|
-
eye: Eye,
|
|
6877
5416
|
"eye-off": EyeOff,
|
|
6878
5417
|
smartphone: Smartphone,
|
|
6879
|
-
phone: Phone,
|
|
6880
|
-
tablet: Tablet,
|
|
6881
|
-
laptop: Laptop,
|
|
6882
|
-
monitor: Monitor,
|
|
6883
|
-
tv: Tv,
|
|
6884
|
-
speaker: Speaker,
|
|
6885
|
-
printer: Printer,
|
|
6886
|
-
projector: Projector,
|
|
6887
|
-
"gamepad-2": Gamepad2,
|
|
6888
|
-
radio: Radio,
|
|
6889
|
-
router: Router,
|
|
6890
|
-
bluetooth: Bluetooth,
|
|
6891
|
-
cpu: Cpu,
|
|
6892
|
-
"hard-drive": HardDrive,
|
|
6893
|
-
server: Server,
|
|
6894
|
-
mic: Mic,
|
|
6895
|
-
"mic-off": MicOff,
|
|
6896
|
-
video: Video,
|
|
6897
|
-
"video-off": VideoOff,
|
|
6898
|
-
music: Music,
|
|
6899
|
-
plug: Plug,
|
|
6900
|
-
"plug-zap": PlugZap,
|
|
6901
5418
|
power: Power,
|
|
6902
|
-
"power-off": PowerOff,
|
|
6903
|
-
cable: Cable,
|
|
6904
5419
|
battery: Battery,
|
|
6905
|
-
"battery-charging": BatteryCharging,
|
|
6906
|
-
"battery-full": BatteryFull,
|
|
6907
|
-
"battery-low": BatteryLow,
|
|
6908
|
-
key: Key,
|
|
6909
|
-
"key-round": KeyRound,
|
|
6910
|
-
mailbox: Mailbox,
|
|
6911
|
-
package: Package,
|
|
6912
|
-
shield: Shield,
|
|
6913
|
-
"shield-check": ShieldCheck,
|
|
6914
|
-
"shield-off": ShieldOff,
|
|
6915
5420
|
lightbulb: Lightbulb,
|
|
6916
|
-
lamp: Lamp,
|
|
6917
|
-
"lamp-ceiling": LampCeiling,
|
|
6918
|
-
"lamp-desk": LampDesk,
|
|
6919
|
-
"lamp-floor": LampFloor,
|
|
6920
5421
|
flashlight: Flashlight,
|
|
6921
|
-
heater: Heater,
|
|
6922
|
-
snowflake: Snowflake,
|
|
6923
|
-
"thermometer-sun": ThermometerSun,
|
|
6924
|
-
"thermometer-snowflake": ThermometerSnowflake,
|
|
6925
|
-
refrigerator: Refrigerator,
|
|
6926
|
-
microwave: Microwave,
|
|
6927
|
-
"washing-machine": WashingMachine,
|
|
6928
|
-
"cooking-pot": CookingPot,
|
|
6929
|
-
utensils: Utensils,
|
|
6930
5422
|
thermometer: Thermometer,
|
|
6931
5423
|
droplets: Droplets,
|
|
6932
5424
|
droplet: Droplet,
|
|
6933
5425
|
gauge: Gauge,
|
|
6934
|
-
gauge2: Gauge,
|
|
6935
5426
|
sun: Sun,
|
|
6936
5427
|
"sun-medium": SunMedium,
|
|
6937
5428
|
sunrise: Sunrise,
|
|
6938
5429
|
moon: Moon,
|
|
6939
5430
|
wind: Wind,
|
|
6940
|
-
cloud: Cloud,
|
|
6941
5431
|
"cloud-rain": CloudRain,
|
|
6942
5432
|
"cloud-sun": CloudSun,
|
|
6943
5433
|
waves: Waves,
|
|
6944
5434
|
sprout: Sprout,
|
|
6945
|
-
leaf: Leaf,
|
|
6946
|
-
flower: Flower,
|
|
6947
5435
|
zap: Zap,
|
|
6948
5436
|
flame: Flame,
|
|
6949
5437
|
bell: Bell,
|
|
6950
|
-
"bell-ring": BellRing,
|
|
6951
|
-
"bell-off": BellOff,
|
|
6952
5438
|
siren: Siren,
|
|
6953
5439
|
radar: Radar,
|
|
6954
5440
|
activity: Activity,
|
|
6955
5441
|
hash: Hash,
|
|
6956
5442
|
clock: Clock,
|
|
6957
|
-
timer: Timer,
|
|
6958
|
-
calendar: Calendar,
|
|
6959
5443
|
pipette: Pipette,
|
|
6960
5444
|
fan: Fan,
|
|
6961
5445
|
bath: Bath,
|
|
@@ -6964,55 +5448,13 @@ var DISPLAY_ICON_REGISTRY = {
|
|
|
6964
5448
|
"shield-alert": ShieldAlert,
|
|
6965
5449
|
vibrate: Vibrate,
|
|
6966
5450
|
wifi: Wifi,
|
|
6967
|
-
"wifi-off": WifiOff,
|
|
6968
5451
|
"volume-2": Volume2,
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
house: House,
|
|
6975
|
-
sofa: Sofa,
|
|
6976
|
-
"bed-double": BedDouble,
|
|
6977
|
-
bed: Bed,
|
|
6978
|
-
warehouse: Warehouse,
|
|
6979
|
-
trees: Trees,
|
|
6980
|
-
"tree-pine": TreePine,
|
|
6981
|
-
fence: Fence,
|
|
6982
|
-
store: Store,
|
|
6983
|
-
building: Building,
|
|
6984
|
-
"building-2": Building2,
|
|
6985
|
-
mountain: Mountain,
|
|
6986
|
-
umbrella: Umbrella,
|
|
6987
|
-
dumbbell: Dumbbell,
|
|
6988
|
-
wrench: Wrench,
|
|
6989
|
-
hammer: Hammer,
|
|
6990
|
-
drill: Drill,
|
|
6991
|
-
"waves-ladder": WavesLadder,
|
|
6992
|
-
"circle-parking": CircleParking,
|
|
6993
|
-
briefcase: Briefcase,
|
|
6994
|
-
route: Route,
|
|
6995
|
-
car: Car,
|
|
6996
|
-
bike: Bike,
|
|
6997
|
-
bus: Bus,
|
|
6998
|
-
truck: Truck,
|
|
6999
|
-
plane: Plane,
|
|
7000
|
-
"train-front": TrainFront,
|
|
7001
|
-
sailboat: Sailboat,
|
|
7002
|
-
dog: Dog,
|
|
7003
|
-
cat: Cat,
|
|
7004
|
-
bird: Bird,
|
|
7005
|
-
"paw-print": PawPrint,
|
|
7006
|
-
baby: Baby,
|
|
7007
|
-
user: User,
|
|
7008
|
-
users: Users,
|
|
7009
|
-
"person-standing": PersonStanding
|
|
5452
|
+
list: List,
|
|
5453
|
+
"list-checks": ListChecks,
|
|
5454
|
+
mail: Mail,
|
|
5455
|
+
"message-square": MessageSquare,
|
|
5456
|
+
type: Type
|
|
7010
5457
|
};
|
|
7011
|
-
/** Resolve a `display.icon` name to a lucide component, or `undefined` when the
|
|
7012
|
-
* name is not in the curated `DISPLAY_ICON_REGISTRY`. */
|
|
7013
|
-
function resolveDisplayIcon(name) {
|
|
7014
|
-
return Object.hasOwn(DISPLAY_ICON_REGISTRY, name) ? DISPLAY_ICON_REGISTRY[name] : void 0;
|
|
7015
|
-
}
|
|
7016
5458
|
/**
|
|
7017
5459
|
* EXHAUSTIVE device-type filter options — one entry per `DeviceType` member,
|
|
7018
5460
|
* derived from `DEVICE_TYPE_META` so the set is always complete and a newly
|
|
@@ -7040,251 +5482,110 @@ function allDeviceTypeFilterOptions() {
|
|
|
7040
5482
|
return ALL_DEVICE_TYPE_FILTER_OPTIONS;
|
|
7041
5483
|
}
|
|
7042
5484
|
//#endregion
|
|
7043
|
-
//#region src/composites/icon-
|
|
7044
|
-
/**
|
|
7045
|
-
* icon-
|
|
7046
|
-
*
|
|
7047
|
-
*
|
|
7048
|
-
*
|
|
7049
|
-
*
|
|
7050
|
-
*
|
|
7051
|
-
*
|
|
7052
|
-
*
|
|
7053
|
-
*
|
|
7054
|
-
*
|
|
7055
|
-
*
|
|
7056
|
-
*
|
|
7057
|
-
*
|
|
7058
|
-
*
|
|
7059
|
-
*
|
|
7060
|
-
*
|
|
7061
|
-
*
|
|
7062
|
-
*
|
|
7063
|
-
*
|
|
7064
|
-
*
|
|
7065
|
-
*
|
|
7066
|
-
*
|
|
7067
|
-
*
|
|
7068
|
-
*
|
|
7069
|
-
*
|
|
7070
|
-
*
|
|
7071
|
-
*
|
|
7072
|
-
*
|
|
7073
|
-
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
|
|
7078
|
-
*/
|
|
7079
|
-
function
|
|
7080
|
-
|
|
7081
|
-
const
|
|
7082
|
-
|
|
7083
|
-
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
|
|
7087
|
-
|
|
7088
|
-
|
|
7089
|
-
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
|
|
7101
|
-
}, [
|
|
7102
|
-
query,
|
|
7103
|
-
extraWords,
|
|
7104
|
-
allowed,
|
|
7105
|
-
resolveGlyph
|
|
7106
|
-
]);
|
|
7107
|
-
const Current = (value === null ? void 0 : resolveGlyph(value)) ?? fallbackGlyph;
|
|
7108
|
-
const choose = async (next) => {
|
|
7109
|
-
setOpen(false);
|
|
7110
|
-
setQuery("");
|
|
7111
|
-
await onPick(next);
|
|
7112
|
-
};
|
|
7113
|
-
const Clear = clearGlyph ?? fallbackGlyph;
|
|
7114
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
7115
|
-
className: "relative flex shrink-0 items-center gap-2",
|
|
7116
|
-
children: [/* @__PURE__ */ jsx("button", {
|
|
7117
|
-
type: "button",
|
|
7118
|
-
disabled,
|
|
7119
|
-
onClick: () => setOpen((o) => !o),
|
|
7120
|
-
"aria-expanded": open,
|
|
7121
|
-
"aria-label": labels.trigger,
|
|
7122
|
-
title: labels.trigger,
|
|
7123
|
-
className: "rounded border border-border p-1 text-foreground-muted hover:bg-surface-hover disabled:opacity-50",
|
|
7124
|
-
children: /* @__PURE__ */ jsx(Current, { className: "h-4 w-4" })
|
|
7125
|
-
}), open && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("button", {
|
|
7126
|
-
type: "button",
|
|
7127
|
-
"aria-label": labels.close,
|
|
7128
|
-
onClick: () => setOpen(false),
|
|
7129
|
-
className: "fixed inset-0 z-10 cursor-default"
|
|
7130
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
7131
|
-
role: "group",
|
|
7132
|
-
"aria-label": labels.panel,
|
|
7133
|
-
className: "absolute left-0 top-full z-20 mt-1 max-h-80 w-72 overflow-y-auto rounded-md border border-border bg-surface p-2 shadow-lg",
|
|
7134
|
-
children: [
|
|
7135
|
-
/* @__PURE__ */ jsx("input", {
|
|
7136
|
-
type: "search",
|
|
7137
|
-
value: query,
|
|
7138
|
-
autoFocus: true,
|
|
7139
|
-
onChange: (e) => setQuery(e.target.value),
|
|
7140
|
-
placeholder: labels.searchPlaceholder,
|
|
7141
|
-
"aria-label": labels.searchPlaceholder,
|
|
7142
|
-
className: "mb-2 w-full rounded border border-border bg-surface-raised px-2 py-1 text-xs text-foreground placeholder:text-foreground-subtle"
|
|
7143
|
-
}),
|
|
7144
|
-
/* @__PURE__ */ jsxs("button", {
|
|
7145
|
-
type: "button",
|
|
7146
|
-
onClick: () => void choose(null),
|
|
7147
|
-
"aria-pressed": value === null,
|
|
7148
|
-
className: "mb-2 flex w-full items-center gap-1.5 rounded px-1.5 py-1 text-[11px] text-foreground-subtle hover:bg-surface-hover",
|
|
7149
|
-
children: [/* @__PURE__ */ jsx(Clear, { className: "h-3.5 w-3.5" }), labels.clear]
|
|
7150
|
-
}),
|
|
7151
|
-
sections.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
7152
|
-
className: "px-1.5 py-2 text-[11px] text-foreground-subtle",
|
|
7153
|
-
children: labels.noMatches
|
|
7154
|
-
}) : sections.map(({ group, keys }) => /* @__PURE__ */ jsxs("section", {
|
|
7155
|
-
className: "mb-2 last:mb-0",
|
|
7156
|
-
children: [/* @__PURE__ */ jsx("h4", {
|
|
7157
|
-
className: "px-1.5 pb-1 text-[10px] uppercase tracking-wide text-foreground-subtle",
|
|
7158
|
-
children: labels.groups[group]
|
|
7159
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
7160
|
-
className: "grid grid-cols-7 gap-1",
|
|
7161
|
-
children: keys.map((key) => {
|
|
7162
|
-
const Glyph = resolveGlyph(key);
|
|
7163
|
-
if (Glyph === void 0) return null;
|
|
7164
|
-
const selected = value === key;
|
|
7165
|
-
return /* @__PURE__ */ jsx("button", {
|
|
7166
|
-
type: "button",
|
|
7167
|
-
onClick: () => void choose(key),
|
|
7168
|
-
"aria-pressed": selected,
|
|
7169
|
-
"aria-label": labelFor?.(key) ?? key,
|
|
7170
|
-
title: labelFor?.(key) ?? key,
|
|
7171
|
-
className: selected ? "flex items-center justify-center rounded border border-primary bg-primary/10 p-1.5 text-foreground" : "flex items-center justify-center rounded border border-transparent p-1.5 text-foreground-muted hover:bg-surface-hover",
|
|
7172
|
-
children: /* @__PURE__ */ jsx(Glyph, { className: "h-4 w-4" })
|
|
7173
|
-
}, key);
|
|
7174
|
-
})
|
|
7175
|
-
})]
|
|
7176
|
-
}, group))
|
|
7177
|
-
]
|
|
7178
|
-
})] })]
|
|
5485
|
+
//#region src/composites/icon-glyphs.ts
|
|
5486
|
+
/**
|
|
5487
|
+
* icon-glyphs — the web glyph table for the WHOLE icon catalog (D854).
|
|
5488
|
+
*
|
|
5489
|
+
* `@camstack/types` owns the keys; this module owns the drawing. Every
|
|
5490
|
+
* `ICON_KEYS` member resolves to a `lucide-react` component, without one
|
|
5491
|
+
* static import per icon and without putting the whole set in the initial
|
|
5492
|
+
* chunk:
|
|
5493
|
+
*
|
|
5494
|
+
* - a small synchronous FAST table (`FAST_ICON_GLYPHS`, the icons the device
|
|
5495
|
+
* type/role meta tables already import) answers on first paint;
|
|
5496
|
+
* - everything else comes from a SINGLE lazily imported table, fetched the
|
|
5497
|
+
* first time something asks for a glyph the fast table lacks. One chunk, not
|
|
5498
|
+
* one request per icon. It is lucide's per-icon INDEX module, not the package
|
|
5499
|
+
* barrel: the barrel is also what every static import resolves to, so a
|
|
5500
|
+
* dynamic `import('lucide-react')` is shared with the initial graph and the
|
|
5501
|
+
* bundler hoists all ~1,700 icons into an initial chunk (measured: +484 KB).
|
|
5502
|
+
* The index module is reached only from here, so its icons stay lazy.
|
|
5503
|
+
*
|
|
5504
|
+
* `resolveDisplayIcon` stays synchronous so existing call sites keep their
|
|
5505
|
+
* shape: it answers from the fast table, then from the full table once loaded,
|
|
5506
|
+
* and otherwise returns `undefined` AND starts the load. A component that
|
|
5507
|
+
* draws the result must subscribe with {@link useDisplayIconResolver} so it
|
|
5508
|
+
* re-renders when the table arrives — `undefined` then means "fall through to
|
|
5509
|
+
* the next precedence level for now", exactly as it always meant "this build
|
|
5510
|
+
* cannot draw it".
|
|
5511
|
+
*
|
|
5512
|
+
* If the lazy chunk fails to load the failure is recorded
|
|
5513
|
+
* ({@link iconGlyphsFailed}) and not retried until reload; the fast table keeps
|
|
5514
|
+
* answering.
|
|
5515
|
+
*/
|
|
5516
|
+
var fullTable;
|
|
5517
|
+
var pending;
|
|
5518
|
+
var failure;
|
|
5519
|
+
var version = 0;
|
|
5520
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
5521
|
+
function publish() {
|
|
5522
|
+
version += 1;
|
|
5523
|
+
for (const listener of listeners) listener();
|
|
5524
|
+
}
|
|
5525
|
+
/** `house` → `House`, `arrow-down-0-1` → `ArrowDown01`: lucide's export naming. */
|
|
5526
|
+
function lucideExportName(key) {
|
|
5527
|
+
return key.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
|
|
5528
|
+
}
|
|
5529
|
+
/**
|
|
5530
|
+
* Load the full glyph table once. Resolves when it is available; rejects (once)
|
|
5531
|
+
* if the chunk could not be fetched. Safe to call repeatedly.
|
|
5532
|
+
*/
|
|
5533
|
+
function loadIconGlyphs() {
|
|
5534
|
+
if (fullTable !== void 0) return Promise.resolve();
|
|
5535
|
+
if (failure !== void 0) return Promise.reject(failure);
|
|
5536
|
+
pending ??= import("./icons-BXXScOuy.js").then((module) => {
|
|
5537
|
+
fullTable = module;
|
|
5538
|
+
publish();
|
|
5539
|
+
}, (error) => {
|
|
5540
|
+
failure = error;
|
|
5541
|
+
publish();
|
|
5542
|
+
throw error;
|
|
7179
5543
|
});
|
|
5544
|
+
return pending;
|
|
5545
|
+
}
|
|
5546
|
+
/** Has the lazy glyph chunk failed to load? (Then only the fast table answers.) */
|
|
5547
|
+
function iconGlyphsFailed() {
|
|
5548
|
+
return failure !== void 0;
|
|
5549
|
+
}
|
|
5550
|
+
/** Is the full table loaded? */
|
|
5551
|
+
function iconGlyphsLoaded() {
|
|
5552
|
+
return fullTable !== void 0;
|
|
7180
5553
|
}
|
|
7181
|
-
//#endregion
|
|
7182
|
-
//#region src/composites/config-icon-field.tsx
|
|
7183
5554
|
/**
|
|
7184
|
-
* The
|
|
7185
|
-
*
|
|
7186
|
-
*
|
|
7187
|
-
* glyph table — the same control and the same keys the device and room
|
|
7188
|
-
* pickers use. An icon field always draws something, so clearing is "back to
|
|
7189
|
-
* the field's default", and a stored value the vocabulary does not know (a
|
|
7190
|
-
* free-text lucide name from before D780) is drawn as that default.
|
|
5555
|
+
* The glyph for a stored icon value (a catalog key, or a spelling that
|
|
5556
|
+
* resolves to one), or `undefined` when it names no catalog icon — or when its
|
|
5557
|
+
* glyph is not loaded YET, in which case the load is started.
|
|
7191
5558
|
*/
|
|
7192
|
-
function
|
|
7193
|
-
|
|
7194
|
-
|
|
7195
|
-
|
|
7196
|
-
|
|
7197
|
-
|
|
7198
|
-
|
|
7199
|
-
|
|
7200
|
-
|
|
7201
|
-
|
|
7202
|
-
|
|
7203
|
-
|
|
7204
|
-
place: "Places",
|
|
7205
|
-
life: "Life"
|
|
7206
|
-
}
|
|
5559
|
+
function resolveDisplayIcon(name) {
|
|
5560
|
+
const key = canonicalIconKey(name);
|
|
5561
|
+
if (key === void 0) return void 0;
|
|
5562
|
+
const fast = FAST_ICON_GLYPHS[key];
|
|
5563
|
+
if (fast !== void 0) return fast;
|
|
5564
|
+
if (fullTable !== void 0) return fullTable[lucideExportName(key)];
|
|
5565
|
+
if (failure === void 0) loadIconGlyphs().catch(() => void 0);
|
|
5566
|
+
}
|
|
5567
|
+
function subscribe(listener) {
|
|
5568
|
+
listeners.add(listener);
|
|
5569
|
+
return () => {
|
|
5570
|
+
listeners.delete(listener);
|
|
7207
5571
|
};
|
|
7208
5572
|
}
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
fallbackGlyph: DefaultGlyph,
|
|
7219
|
-
labels: labelsFor(label),
|
|
7220
|
-
disabled
|
|
7221
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
7222
|
-
className: "text-[11px] text-foreground-subtle font-mono",
|
|
7223
|
-
children: key
|
|
7224
|
-
})]
|
|
7225
|
-
});
|
|
5573
|
+
var getVersion = () => version;
|
|
5574
|
+
/**
|
|
5575
|
+
* Subscribe a component to the lazy glyph table. Call it in any component that
|
|
5576
|
+
* draws the result of `resolveDisplayIcon` (directly or through a helper such
|
|
5577
|
+
* as `deviceLeadIcon`): it re-renders once when the table arrives, so a glyph
|
|
5578
|
+
* that was `undefined` a moment ago is drawn.
|
|
5579
|
+
*/
|
|
5580
|
+
function useIconGlyphsVersion() {
|
|
5581
|
+
return useSyncExternalStore(subscribe, getVersion, getVersion);
|
|
7226
5582
|
}
|
|
7227
|
-
//#endregion
|
|
7228
|
-
//#region src/composites/sanitize-info-html.ts
|
|
7229
5583
|
/**
|
|
7230
|
-
*
|
|
7231
|
-
*
|
|
7232
|
-
* Only `<a>`, `<ul>`, `<ol>`, `<li>`, `<strong>`, `<em>`, `<code>`,
|
|
7233
|
-
* `<br>`, `<p>`, and `<span>` are kept. On anchors, only `href` and a
|
|
7234
|
-
* normalised `target`/`rel` are emitted; everything else is dropped
|
|
7235
|
-
* (including event handlers and inline styles).
|
|
7236
|
-
*
|
|
7237
|
-
* Allowed `href` schemes: `http(s):`, `mailto:`, and **root-relative**
|
|
7238
|
-
* paths (`/addon/…`). Root-relative links stay same-tab (session cookie);
|
|
7239
|
-
* absolute http(s) open in a new tab. Protocol-relative (`//…`) is refused.
|
|
7240
|
-
*
|
|
7241
|
-
* The input comes from addon-authored copy bundled at build time —
|
|
7242
|
-
* sanitisation is defence in depth rather than primary trust boundary.
|
|
5584
|
+
* `resolveDisplayIcon` for a component: the returned function changes identity
|
|
5585
|
+
* when the full table arrives, so anything memoised on it recomputes.
|
|
7243
5586
|
*/
|
|
7244
|
-
function
|
|
7245
|
-
|
|
7246
|
-
const ALLOWED_TAGS = new Set([
|
|
7247
|
-
"A",
|
|
7248
|
-
"UL",
|
|
7249
|
-
"OL",
|
|
7250
|
-
"LI",
|
|
7251
|
-
"STRONG",
|
|
7252
|
-
"EM",
|
|
7253
|
-
"CODE",
|
|
7254
|
-
"BR",
|
|
7255
|
-
"P",
|
|
7256
|
-
"SPAN",
|
|
7257
|
-
"B"
|
|
7258
|
-
]);
|
|
7259
|
-
const doc = new DOMParser().parseFromString(`<div>${html}</div>`, "text/html");
|
|
7260
|
-
const root = doc.body.firstElementChild;
|
|
7261
|
-
if (!root) return "";
|
|
7262
|
-
const walk = (node) => {
|
|
7263
|
-
const children = Array.from(node.children);
|
|
7264
|
-
for (const child of children) {
|
|
7265
|
-
if (!ALLOWED_TAGS.has(child.tagName)) {
|
|
7266
|
-
const text = doc.createTextNode(child.textContent ?? "");
|
|
7267
|
-
child.replaceWith(text);
|
|
7268
|
-
continue;
|
|
7269
|
-
}
|
|
7270
|
-
const allowed = child.tagName === "A" ? new Set(["href"]) : /* @__PURE__ */ new Set();
|
|
7271
|
-
for (const attr of Array.from(child.attributes)) if (!allowed.has(attr.name)) child.removeAttribute(attr.name);
|
|
7272
|
-
if (child.tagName === "A") {
|
|
7273
|
-
const href = child.getAttribute("href") ?? "";
|
|
7274
|
-
const isHttp = /^https?:\/\//i.test(href);
|
|
7275
|
-
const isMailto = href.startsWith("mailto:");
|
|
7276
|
-
const isRootRelative = href.startsWith("/") && !href.startsWith("//");
|
|
7277
|
-
if (!isHttp && !isMailto && !isRootRelative) child.removeAttribute("href");
|
|
7278
|
-
else if (isHttp) {
|
|
7279
|
-
child.setAttribute("target", "_blank");
|
|
7280
|
-
child.setAttribute("rel", "noopener noreferrer");
|
|
7281
|
-
}
|
|
7282
|
-
}
|
|
7283
|
-
walk(child);
|
|
7284
|
-
}
|
|
7285
|
-
};
|
|
7286
|
-
walk(root);
|
|
7287
|
-
return root.innerHTML;
|
|
5587
|
+
function useDisplayIconResolver() {
|
|
5588
|
+
return useMemo(() => (name) => resolveDisplayIcon(name), [useIconGlyphsVersion()]);
|
|
7288
5589
|
}
|
|
7289
5590
|
//#endregion
|
|
7290
5591
|
//#region ../../node_modules/clsx/dist/clsx.mjs
|
|
@@ -10686,6 +8987,560 @@ function cn(...inputs) {
|
|
|
10686
8987
|
return twMerge(clsx(inputs));
|
|
10687
8988
|
}
|
|
10688
8989
|
//#endregion
|
|
8990
|
+
//#region src/hooks/use-is-mobile.ts
|
|
8991
|
+
var MOBILE_QUERY = "(max-width: 767px)";
|
|
8992
|
+
/**
|
|
8993
|
+
* Mid breakpoint — below this width the sidebar collapses to an
|
|
8994
|
+
* icons-only rail to reclaim canvas space. Above it (and outside
|
|
8995
|
+
* mobile) the full sidebar renders. Threshold matches Tailwind `lg`
|
|
8996
|
+
* so sidebar fans out at the same point grids switch to multi-column.
|
|
8997
|
+
*/
|
|
8998
|
+
var MID_QUERY = "(min-width: 768px) and (max-width: 1023px)";
|
|
8999
|
+
/**
|
|
9000
|
+
* `matchMedia` is universal in browsers but absent in bare DOM environments.
|
|
9001
|
+
* These hooks are called from shared primitives (`DataTable` picks its narrow
|
|
9002
|
+
* layout with one), so throwing here takes down the whole page that merely
|
|
9003
|
+
* rendered a table. Where the capability is missing, report the desktop
|
|
9004
|
+
* layout — a widescreen rendering is wrong-looking; a crashed page is gone.
|
|
9005
|
+
*/
|
|
9006
|
+
function matchQuery(query) {
|
|
9007
|
+
if (typeof window.matchMedia !== "function") return null;
|
|
9008
|
+
return window.matchMedia(query);
|
|
9009
|
+
}
|
|
9010
|
+
function subscribeQuery(query) {
|
|
9011
|
+
return (callback) => {
|
|
9012
|
+
const mql = matchQuery(query);
|
|
9013
|
+
if (mql === null) return () => {};
|
|
9014
|
+
mql.addEventListener("change", callback);
|
|
9015
|
+
return () => mql.removeEventListener("change", callback);
|
|
9016
|
+
};
|
|
9017
|
+
}
|
|
9018
|
+
function getSnapshot(query) {
|
|
9019
|
+
return () => matchQuery(query)?.matches ?? false;
|
|
9020
|
+
}
|
|
9021
|
+
function getServerSnapshot() {
|
|
9022
|
+
return false;
|
|
9023
|
+
}
|
|
9024
|
+
function useIsMobile() {
|
|
9025
|
+
return useSyncExternalStore(subscribeQuery(MOBILE_QUERY), getSnapshot(MOBILE_QUERY), getServerSnapshot);
|
|
9026
|
+
}
|
|
9027
|
+
/**
|
|
9028
|
+
* True when the viewport is in the medium (`md`) Tailwind range —
|
|
9029
|
+
* 768px ≤ width < 1024px. Use to drive layouts that should pack denser
|
|
9030
|
+
* than full-desktop but more legibly than mobile (e.g. icons-only
|
|
9031
|
+
* sidebar rail, narrower stat tiles).
|
|
9032
|
+
*/
|
|
9033
|
+
function useIsMidWidth() {
|
|
9034
|
+
return useSyncExternalStore(subscribeQuery(MID_QUERY), getSnapshot(MID_QUERY), getServerSnapshot);
|
|
9035
|
+
}
|
|
9036
|
+
//#endregion
|
|
9037
|
+
//#region src/primitives/bottom-sheet.tsx
|
|
9038
|
+
function BottomSheet({ open, onClose, title, children, className }) {
|
|
9039
|
+
useEffect(() => {
|
|
9040
|
+
if (!open) return;
|
|
9041
|
+
const handleKeyDown = (e) => {
|
|
9042
|
+
if (e.key === "Escape") onClose();
|
|
9043
|
+
};
|
|
9044
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
9045
|
+
document.body.style.overflow = "hidden";
|
|
9046
|
+
return () => {
|
|
9047
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
9048
|
+
document.body.style.overflow = "";
|
|
9049
|
+
};
|
|
9050
|
+
}, [open, onClose]);
|
|
9051
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
9052
|
+
className: cn("fixed inset-0 z-40 bg-black/50 transition-opacity duration-200", open ? "opacity-100" : "pointer-events-none opacity-0"),
|
|
9053
|
+
onClick: onClose,
|
|
9054
|
+
"aria-hidden": "true"
|
|
9055
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
9056
|
+
role: "dialog",
|
|
9057
|
+
"aria-modal": "true",
|
|
9058
|
+
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out pb-[env(safe-area-inset-bottom)]", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
9059
|
+
children: [
|
|
9060
|
+
/* @__PURE__ */ jsx("div", {
|
|
9061
|
+
className: "flex justify-center pt-2 pb-1",
|
|
9062
|
+
children: /* @__PURE__ */ jsx("div", { className: "h-1 w-8 rounded-full bg-foreground-subtle/30" })
|
|
9063
|
+
}),
|
|
9064
|
+
title && /* @__PURE__ */ jsxs("div", {
|
|
9065
|
+
className: "flex items-center justify-between px-4 pb-2",
|
|
9066
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
9067
|
+
className: "text-sm font-medium text-foreground",
|
|
9068
|
+
children: title
|
|
9069
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
9070
|
+
onClick: onClose,
|
|
9071
|
+
className: "p-1 rounded-md hover:bg-surface-hover text-foreground-muted transition-colors",
|
|
9072
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
|
|
9073
|
+
})]
|
|
9074
|
+
}),
|
|
9075
|
+
/* @__PURE__ */ jsx("div", {
|
|
9076
|
+
className: "flex-1 overflow-y-auto px-4 pb-4",
|
|
9077
|
+
children
|
|
9078
|
+
})
|
|
9079
|
+
]
|
|
9080
|
+
})] });
|
|
9081
|
+
}
|
|
9082
|
+
//#endregion
|
|
9083
|
+
//#region src/primitives/popover.tsx
|
|
9084
|
+
var PopoverContext = createContext(null);
|
|
9085
|
+
function usePopoverContext() {
|
|
9086
|
+
const ctx = useContext(PopoverContext);
|
|
9087
|
+
if (!ctx) throw new Error("Popover compound components must be used within <Popover>");
|
|
9088
|
+
return ctx;
|
|
9089
|
+
}
|
|
9090
|
+
function Popover({ children, open: controlledOpen, onOpenChange }) {
|
|
9091
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
|
|
9092
|
+
const open = controlledOpen ?? uncontrolledOpen;
|
|
9093
|
+
const triggerId = useId();
|
|
9094
|
+
const contentId = useId();
|
|
9095
|
+
const triggerRef = useRef(null);
|
|
9096
|
+
const setOpen = useCallback((next) => {
|
|
9097
|
+
onOpenChange?.(next);
|
|
9098
|
+
if (controlledOpen === void 0) setUncontrolledOpen(next);
|
|
9099
|
+
}, [controlledOpen, onOpenChange]);
|
|
9100
|
+
return /* @__PURE__ */ jsx(PopoverContext.Provider, {
|
|
9101
|
+
value: {
|
|
9102
|
+
open,
|
|
9103
|
+
setOpen,
|
|
9104
|
+
triggerId,
|
|
9105
|
+
contentId,
|
|
9106
|
+
triggerRef
|
|
9107
|
+
},
|
|
9108
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
9109
|
+
className: "relative inline-block",
|
|
9110
|
+
children
|
|
9111
|
+
})
|
|
9112
|
+
});
|
|
9113
|
+
}
|
|
9114
|
+
function PopoverTrigger({ children, ...props }) {
|
|
9115
|
+
const { open, setOpen, triggerId, contentId, triggerRef } = usePopoverContext();
|
|
9116
|
+
return /* @__PURE__ */ jsx("button", {
|
|
9117
|
+
type: "button",
|
|
9118
|
+
ref: triggerRef,
|
|
9119
|
+
id: triggerId,
|
|
9120
|
+
"aria-haspopup": "dialog",
|
|
9121
|
+
"aria-expanded": open,
|
|
9122
|
+
"aria-controls": open ? contentId : void 0,
|
|
9123
|
+
onClick: () => setOpen(!open),
|
|
9124
|
+
...props,
|
|
9125
|
+
children
|
|
9126
|
+
});
|
|
9127
|
+
}
|
|
9128
|
+
/** Breathing room kept between a popover and the viewport edge. */
|
|
9129
|
+
var VIEWPORT_MARGIN_PX$1 = 8;
|
|
9130
|
+
/**
|
|
9131
|
+
* Where a popover goes so it stays inside the viewport: below the trigger
|
|
9132
|
+
* unless it does not fit there and there is more room above, and never taller
|
|
9133
|
+
* than the room on the chosen side.
|
|
9134
|
+
*/
|
|
9135
|
+
function placePopover(input) {
|
|
9136
|
+
const below = input.viewportHeight - input.triggerBottom - input.offset - VIEWPORT_MARGIN_PX$1;
|
|
9137
|
+
const above = input.triggerTop - input.offset - VIEWPORT_MARGIN_PX$1;
|
|
9138
|
+
const side = input.contentHeight > below && above > below ? "above" : "below";
|
|
9139
|
+
return {
|
|
9140
|
+
side,
|
|
9141
|
+
maxHeight: Math.max(0, side === "above" ? above : below)
|
|
9142
|
+
};
|
|
9143
|
+
}
|
|
9144
|
+
function PopoverContent({ className, children, align = "start", offset = 4, ...props }) {
|
|
9145
|
+
const { open, setOpen, contentId, triggerId, triggerRef } = usePopoverContext();
|
|
9146
|
+
const isMobile = useIsMobile();
|
|
9147
|
+
const ref = useRef(null);
|
|
9148
|
+
const [coords, setCoords] = useState(null);
|
|
9149
|
+
const [placement, setPlacement] = useState(null);
|
|
9150
|
+
useLayoutEffect(() => {
|
|
9151
|
+
if (!open || isMobile) {
|
|
9152
|
+
setCoords(null);
|
|
9153
|
+
return;
|
|
9154
|
+
}
|
|
9155
|
+
const compute = () => {
|
|
9156
|
+
const trigger = triggerRef.current;
|
|
9157
|
+
if (!trigger) return;
|
|
9158
|
+
const rect = trigger.getBoundingClientRect();
|
|
9159
|
+
const left = align === "end" ? rect.right : rect.left;
|
|
9160
|
+
setCoords({
|
|
9161
|
+
top: rect.bottom + offset,
|
|
9162
|
+
left,
|
|
9163
|
+
minWidth: rect.width,
|
|
9164
|
+
triggerTop: rect.top,
|
|
9165
|
+
triggerBottom: rect.bottom
|
|
9166
|
+
});
|
|
9167
|
+
};
|
|
9168
|
+
compute();
|
|
9169
|
+
window.addEventListener("resize", compute);
|
|
9170
|
+
window.addEventListener("scroll", compute, true);
|
|
9171
|
+
return () => {
|
|
9172
|
+
window.removeEventListener("resize", compute);
|
|
9173
|
+
window.removeEventListener("scroll", compute, true);
|
|
9174
|
+
};
|
|
9175
|
+
}, [
|
|
9176
|
+
open,
|
|
9177
|
+
isMobile,
|
|
9178
|
+
align,
|
|
9179
|
+
offset,
|
|
9180
|
+
triggerRef
|
|
9181
|
+
]);
|
|
9182
|
+
useLayoutEffect(() => {
|
|
9183
|
+
const el = ref.current;
|
|
9184
|
+
if (!coords || !el) {
|
|
9185
|
+
setPlacement(null);
|
|
9186
|
+
return;
|
|
9187
|
+
}
|
|
9188
|
+
setPlacement(placePopover({
|
|
9189
|
+
triggerTop: coords.triggerTop,
|
|
9190
|
+
triggerBottom: coords.triggerBottom,
|
|
9191
|
+
contentHeight: el.scrollHeight,
|
|
9192
|
+
viewportHeight: window.innerHeight,
|
|
9193
|
+
offset
|
|
9194
|
+
}));
|
|
9195
|
+
}, [coords, offset]);
|
|
9196
|
+
useEffect(() => {
|
|
9197
|
+
if (!open || isMobile) return;
|
|
9198
|
+
const handler = (e) => {
|
|
9199
|
+
const el = ref.current;
|
|
9200
|
+
const trigger = triggerRef.current;
|
|
9201
|
+
if (el && !el.contains(e.target) && !trigger?.contains(e.target)) setOpen(false);
|
|
9202
|
+
};
|
|
9203
|
+
const escHandler = (e) => {
|
|
9204
|
+
if (e.key === "Escape") setOpen(false);
|
|
9205
|
+
};
|
|
9206
|
+
document.addEventListener("mousedown", handler);
|
|
9207
|
+
document.addEventListener("keydown", escHandler);
|
|
9208
|
+
return () => {
|
|
9209
|
+
document.removeEventListener("mousedown", handler);
|
|
9210
|
+
document.removeEventListener("keydown", escHandler);
|
|
9211
|
+
};
|
|
9212
|
+
}, [
|
|
9213
|
+
open,
|
|
9214
|
+
setOpen,
|
|
9215
|
+
triggerRef,
|
|
9216
|
+
isMobile
|
|
9217
|
+
]);
|
|
9218
|
+
if (!open) return null;
|
|
9219
|
+
if (isMobile) return /* @__PURE__ */ jsx(BottomSheet, {
|
|
9220
|
+
open,
|
|
9221
|
+
onClose: () => setOpen(false),
|
|
9222
|
+
children
|
|
9223
|
+
});
|
|
9224
|
+
if (!coords || typeof document === "undefined") return null;
|
|
9225
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
9226
|
+
ref,
|
|
9227
|
+
id: contentId,
|
|
9228
|
+
role: "dialog",
|
|
9229
|
+
"aria-labelledby": triggerId,
|
|
9230
|
+
style: {
|
|
9231
|
+
position: "fixed",
|
|
9232
|
+
...placement?.side === "above" ? { bottom: window.innerHeight - coords.triggerTop + offset } : { top: coords.top },
|
|
9233
|
+
...placement ? { maxHeight: placement.maxHeight } : {},
|
|
9234
|
+
...align === "end" ? { right: window.innerWidth - coords.left } : { left: coords.left },
|
|
9235
|
+
minWidth: coords.minWidth
|
|
9236
|
+
},
|
|
9237
|
+
className: cn("z-50 overflow-y-auto bg-background-elevated border border-border rounded-lg shadow-lg p-3", className),
|
|
9238
|
+
...props,
|
|
9239
|
+
children
|
|
9240
|
+
}), document.body);
|
|
9241
|
+
}
|
|
9242
|
+
//#endregion
|
|
9243
|
+
//#region src/composites/icon-picker.tsx
|
|
9244
|
+
/**
|
|
9245
|
+
* icon-picker — the ONE control for choosing an icon, wherever admin-ui asks.
|
|
9246
|
+
*
|
|
9247
|
+
* One view over the ONE icon catalog (`@camstack/types`' `icon-catalog`, D854):
|
|
9248
|
+
* every lucide icon both surfaces can draw, filed under its primary lucide
|
|
9249
|
+
* category, searched over the key, the Italian/English overlay and lucide's own
|
|
9250
|
+
* English tags. There is no curated section and no per-caller subset — a device
|
|
9251
|
+
* override, a room and a settings field all choose from the same ~1,700 icons.
|
|
9252
|
+
*
|
|
9253
|
+
* ## It is virtualised
|
|
9254
|
+
*
|
|
9255
|
+
* ~1,700 tiles is too many to mount at once (and each is an SVG component whose
|
|
9256
|
+
* glyph may still be loading). The list is flattened into fixed-height rows —
|
|
9257
|
+
* a category header or a row of seven tiles — and only the rows in (or just
|
|
9258
|
+
* past) the scrolled window are rendered; two spacers stand in for the rest.
|
|
9259
|
+
* Opening the popover mounts ~20 rows, and typing re-filters the same window.
|
|
9260
|
+
*
|
|
9261
|
+
* ## What it does NOT own
|
|
9262
|
+
*
|
|
9263
|
+
* - **The words.** Every string is a prop. This package has no i18n (one file
|
|
9264
|
+
* in it imports react-i18next, and that is the exception). Section titles are
|
|
9265
|
+
* derived from the lucide category id unless the caller supplies
|
|
9266
|
+
* `categoryLabel`.
|
|
9267
|
+
* - **The write.** `onPick` is called and that is all; whether it is a form
|
|
9268
|
+
* value or an immediate mutation is the caller's business.
|
|
9269
|
+
*
|
|
9270
|
+
* The glyphs come from `icon-glyphs.ts`: a synchronous fast table, then one
|
|
9271
|
+
* lazily loaded table for the rest, which opening the picker starts loading.
|
|
9272
|
+
*
|
|
9273
|
+
* ## The clear tile is never filtered away
|
|
9274
|
+
*
|
|
9275
|
+
* The "inherit" / "no icon" choice sits above the list and ignores the search.
|
|
9276
|
+
* A query that hid it would strand the operator on a glyph they picked by
|
|
9277
|
+
* accident with no way back to the default — the one action a picker must
|
|
9278
|
+
* always offer.
|
|
9279
|
+
*/
|
|
9280
|
+
var TILES_PER_ROW = 7;
|
|
9281
|
+
/** Matches `h-6` / `h-8` on the rows below. */
|
|
9282
|
+
var HEADER_ROW_PX = 24;
|
|
9283
|
+
var TILE_ROW_PX = 32;
|
|
9284
|
+
/** Matches the `h-72` of the scroll area. */
|
|
9285
|
+
var VIEWPORT_PX = 288;
|
|
9286
|
+
var OVERSCAN_PX = 96;
|
|
9287
|
+
function chunk(keys) {
|
|
9288
|
+
const rows = [];
|
|
9289
|
+
for (let i = 0; i < keys.length; i += TILES_PER_ROW) rows.push(keys.slice(i, i + TILES_PER_ROW));
|
|
9290
|
+
return rows;
|
|
9291
|
+
}
|
|
9292
|
+
function heightOf(row) {
|
|
9293
|
+
return row.kind === "header" ? HEADER_ROW_PX : TILE_ROW_PX;
|
|
9294
|
+
}
|
|
9295
|
+
/** An empty query shows every category as a section; a query shows one ranked list. */
|
|
9296
|
+
function buildRows(query, extraWords) {
|
|
9297
|
+
if (query.trim().length > 0) return chunk(searchIcons(query, extraWords).map((h) => h.entry.key)).map((row, i) => ({
|
|
9298
|
+
kind: "tiles",
|
|
9299
|
+
id: `r${i}`,
|
|
9300
|
+
keys: row
|
|
9301
|
+
}));
|
|
9302
|
+
return ICON_CATEGORIES.flatMap((category) => {
|
|
9303
|
+
const keys = iconsInCategory(category).map((e) => e.key);
|
|
9304
|
+
return [{
|
|
9305
|
+
kind: "header",
|
|
9306
|
+
id: `h-${category}`,
|
|
9307
|
+
category
|
|
9308
|
+
}, ...chunk(keys).map((row, i) => ({
|
|
9309
|
+
kind: "tiles",
|
|
9310
|
+
id: `${category}-${i}`,
|
|
9311
|
+
keys: row
|
|
9312
|
+
}))];
|
|
9313
|
+
});
|
|
9314
|
+
}
|
|
9315
|
+
/** The rows intersecting the scrolled window, and the spacers that stand in for the rest. */
|
|
9316
|
+
function windowRows(rows, offsets, total, scrollTop) {
|
|
9317
|
+
const from = Math.max(0, scrollTop - OVERSCAN_PX);
|
|
9318
|
+
const to = scrollTop + VIEWPORT_PX + OVERSCAN_PX;
|
|
9319
|
+
let start = 0;
|
|
9320
|
+
while (start < rows.length - 1 && (offsets[start + 1] ?? total) <= from) start += 1;
|
|
9321
|
+
let end = start;
|
|
9322
|
+
while (end < rows.length && (offsets[end] ?? total) < to) end += 1;
|
|
9323
|
+
return {
|
|
9324
|
+
rows: rows.slice(start, end),
|
|
9325
|
+
padTop: offsets[start] ?? 0,
|
|
9326
|
+
padBottom: Math.max(0, total - (offsets[end] ?? total))
|
|
9327
|
+
};
|
|
9328
|
+
}
|
|
9329
|
+
function IconPicker({ value, onPick, fallbackGlyph, labels, extraWords, clearGlyph, labelFor, categoryLabel = iconCategoryLabel, disabled = false }) {
|
|
9330
|
+
const [open, setOpen] = useState(false);
|
|
9331
|
+
const [query, setQuery] = useState("");
|
|
9332
|
+
const [scrollTop, setScrollTop] = useState(0);
|
|
9333
|
+
const scroller = useRef(null);
|
|
9334
|
+
const resolveGlyph = useDisplayIconResolver();
|
|
9335
|
+
useEffect(() => {
|
|
9336
|
+
if (open) loadIconGlyphs().catch(() => void 0);
|
|
9337
|
+
}, [open]);
|
|
9338
|
+
const selectedKey = canonicalIconKey(value);
|
|
9339
|
+
const rows = useMemo(() => buildRows(query, extraWords), [query, extraWords]);
|
|
9340
|
+
const { offsets, total } = useMemo(() => {
|
|
9341
|
+
const out = [];
|
|
9342
|
+
let acc = 0;
|
|
9343
|
+
for (const row of rows) {
|
|
9344
|
+
out.push(acc);
|
|
9345
|
+
acc += heightOf(row);
|
|
9346
|
+
}
|
|
9347
|
+
return {
|
|
9348
|
+
offsets: out,
|
|
9349
|
+
total: acc
|
|
9350
|
+
};
|
|
9351
|
+
}, [rows]);
|
|
9352
|
+
const visible = useMemo(() => windowRows(rows, offsets, total, scrollTop), [
|
|
9353
|
+
rows,
|
|
9354
|
+
offsets,
|
|
9355
|
+
total,
|
|
9356
|
+
scrollTop
|
|
9357
|
+
]);
|
|
9358
|
+
const Current = (value === null ? void 0 : resolveGlyph(value)) ?? fallbackGlyph;
|
|
9359
|
+
const Clear = clearGlyph ?? fallbackGlyph;
|
|
9360
|
+
const onQuery = (next) => {
|
|
9361
|
+
setQuery(next);
|
|
9362
|
+
setScrollTop(0);
|
|
9363
|
+
if (scroller.current !== null) scroller.current.scrollTop = 0;
|
|
9364
|
+
};
|
|
9365
|
+
const choose = async (next) => {
|
|
9366
|
+
setOpenAndReset(false);
|
|
9367
|
+
await onPick(next);
|
|
9368
|
+
};
|
|
9369
|
+
const setOpenAndReset = (next) => {
|
|
9370
|
+
setOpen(next);
|
|
9371
|
+
if (!next) onQuery("");
|
|
9372
|
+
};
|
|
9373
|
+
return /* @__PURE__ */ jsxs(Popover, {
|
|
9374
|
+
open,
|
|
9375
|
+
onOpenChange: setOpenAndReset,
|
|
9376
|
+
children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
9377
|
+
disabled,
|
|
9378
|
+
"aria-label": labels.trigger,
|
|
9379
|
+
title: labels.trigger,
|
|
9380
|
+
className: "rounded border border-border p-1 text-foreground-muted hover:bg-surface-hover disabled:opacity-50",
|
|
9381
|
+
children: /* @__PURE__ */ jsx(Current, { className: "h-4 w-4" })
|
|
9382
|
+
}), /* @__PURE__ */ jsx(PopoverContent, {
|
|
9383
|
+
"aria-label": labels.panel,
|
|
9384
|
+
"aria-labelledby": void 0,
|
|
9385
|
+
className: "w-72 p-2",
|
|
9386
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
9387
|
+
className: "w-full",
|
|
9388
|
+
children: [
|
|
9389
|
+
/* @__PURE__ */ jsx("input", {
|
|
9390
|
+
type: "search",
|
|
9391
|
+
value: query,
|
|
9392
|
+
autoFocus: true,
|
|
9393
|
+
onChange: (e) => onQuery(e.target.value),
|
|
9394
|
+
placeholder: labels.searchPlaceholder,
|
|
9395
|
+
"aria-label": labels.searchPlaceholder,
|
|
9396
|
+
className: "mb-2 w-full rounded border border-border bg-surface-raised px-2 py-1 text-xs text-foreground placeholder:text-foreground-subtle"
|
|
9397
|
+
}),
|
|
9398
|
+
/* @__PURE__ */ jsxs("button", {
|
|
9399
|
+
type: "button",
|
|
9400
|
+
onClick: () => void choose(null),
|
|
9401
|
+
"aria-pressed": value === null,
|
|
9402
|
+
className: "mb-2 flex w-full items-center gap-1.5 rounded px-1.5 py-1 text-[11px] text-foreground-subtle hover:bg-surface-hover",
|
|
9403
|
+
children: [/* @__PURE__ */ jsx(Clear, { className: "h-3.5 w-3.5" }), labels.clear]
|
|
9404
|
+
}),
|
|
9405
|
+
rows.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
9406
|
+
className: "px-1.5 py-2 text-[11px] text-foreground-subtle",
|
|
9407
|
+
children: labels.noMatches
|
|
9408
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
9409
|
+
ref: scroller,
|
|
9410
|
+
onScroll: (e) => setScrollTop(e.currentTarget.scrollTop),
|
|
9411
|
+
className: "max-h-72 overflow-y-auto",
|
|
9412
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
9413
|
+
style: {
|
|
9414
|
+
paddingTop: visible.padTop,
|
|
9415
|
+
paddingBottom: visible.padBottom
|
|
9416
|
+
},
|
|
9417
|
+
children: visible.rows.map((row) => row.kind === "header" ? /* @__PURE__ */ jsx("h4", {
|
|
9418
|
+
className: "flex h-6 items-center px-1.5 text-[10px] uppercase tracking-wide text-foreground-subtle",
|
|
9419
|
+
children: categoryLabel(row.category)
|
|
9420
|
+
}, row.id) : /* @__PURE__ */ jsx("div", {
|
|
9421
|
+
className: "grid h-8 grid-cols-7 gap-1 pb-1",
|
|
9422
|
+
children: row.keys.map((key) => {
|
|
9423
|
+
const Glyph = resolveGlyph(key);
|
|
9424
|
+
if (Glyph === void 0) return /* @__PURE__ */ jsx("span", { "aria-hidden": "true" }, key);
|
|
9425
|
+
const selected = selectedKey === key;
|
|
9426
|
+
return /* @__PURE__ */ jsx("button", {
|
|
9427
|
+
type: "button",
|
|
9428
|
+
onClick: () => void choose(key),
|
|
9429
|
+
"aria-pressed": selected,
|
|
9430
|
+
"aria-label": labelFor?.(key) ?? key,
|
|
9431
|
+
title: labelFor?.(key) ?? key,
|
|
9432
|
+
className: selected ? "flex items-center justify-center rounded border border-primary bg-primary/10 text-foreground" : "flex items-center justify-center rounded border border-transparent text-foreground-muted hover:bg-surface-hover",
|
|
9433
|
+
children: /* @__PURE__ */ jsx(Glyph, { className: "h-4 w-4" })
|
|
9434
|
+
}, key);
|
|
9435
|
+
})
|
|
9436
|
+
}, row.id))
|
|
9437
|
+
})
|
|
9438
|
+
})
|
|
9439
|
+
]
|
|
9440
|
+
})
|
|
9441
|
+
})]
|
|
9442
|
+
});
|
|
9443
|
+
}
|
|
9444
|
+
//#endregion
|
|
9445
|
+
//#region src/composites/config-icon-field.tsx
|
|
9446
|
+
/**
|
|
9447
|
+
* The control behind a `type: 'icon'` settings field (D780).
|
|
9448
|
+
*
|
|
9449
|
+
* The shared `<IconPicker>` over the icon catalog (D854) — the same control
|
|
9450
|
+
* and the same keys the device and room pickers use. An icon field always draws something, so clearing is "back to
|
|
9451
|
+
* the field's default", and a stored value the catalog does not know (a
|
|
9452
|
+
* free-text lucide name from before D780) is drawn as that default.
|
|
9453
|
+
*/
|
|
9454
|
+
function labelsFor(label) {
|
|
9455
|
+
return {
|
|
9456
|
+
trigger: `Choose an icon for ${label}`,
|
|
9457
|
+
panel: `${label} icon`,
|
|
9458
|
+
searchPlaceholder: "Search icons",
|
|
9459
|
+
clear: "Default icon",
|
|
9460
|
+
noMatches: "No icon matches"
|
|
9461
|
+
};
|
|
9462
|
+
}
|
|
9463
|
+
function ConfigIconFieldControl({ label, value, defaultKey, disabled, onChange }) {
|
|
9464
|
+
const resolveDisplayIcon = useDisplayIconResolver();
|
|
9465
|
+
const key = resolveIconKey(value, defaultKey);
|
|
9466
|
+
const DefaultGlyph = resolveDisplayIcon(defaultKey) ?? ShieldCheck;
|
|
9467
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
9468
|
+
className: "flex items-center gap-2",
|
|
9469
|
+
children: [/* @__PURE__ */ jsx(IconPicker, {
|
|
9470
|
+
value: key === "" ? null : key,
|
|
9471
|
+
onPick: (next) => onChange(next ?? defaultKey),
|
|
9472
|
+
fallbackGlyph: DefaultGlyph,
|
|
9473
|
+
labels: labelsFor(label),
|
|
9474
|
+
disabled
|
|
9475
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
9476
|
+
className: "text-[11px] text-foreground-subtle font-mono",
|
|
9477
|
+
children: key
|
|
9478
|
+
})]
|
|
9479
|
+
});
|
|
9480
|
+
}
|
|
9481
|
+
//#endregion
|
|
9482
|
+
//#region src/composites/sanitize-info-html.ts
|
|
9483
|
+
/**
|
|
9484
|
+
* Sanitize a small HTML subset for `ConfigInfoField.format='html'`.
|
|
9485
|
+
*
|
|
9486
|
+
* Only `<a>`, `<ul>`, `<ol>`, `<li>`, `<strong>`, `<em>`, `<code>`,
|
|
9487
|
+
* `<br>`, `<p>`, and `<span>` are kept. On anchors, only `href` and a
|
|
9488
|
+
* normalised `target`/`rel` are emitted; everything else is dropped
|
|
9489
|
+
* (including event handlers and inline styles).
|
|
9490
|
+
*
|
|
9491
|
+
* Allowed `href` schemes: `http(s):`, `mailto:`, and **root-relative**
|
|
9492
|
+
* paths (`/addon/…`). Root-relative links stay same-tab (session cookie);
|
|
9493
|
+
* absolute http(s) open in a new tab. Protocol-relative (`//…`) is refused.
|
|
9494
|
+
*
|
|
9495
|
+
* The input comes from addon-authored copy bundled at build time —
|
|
9496
|
+
* sanitisation is defence in depth rather than primary trust boundary.
|
|
9497
|
+
*/
|
|
9498
|
+
function sanitizeInfoHtml(html) {
|
|
9499
|
+
if (typeof window === "undefined" || typeof DOMParser === "undefined") return "";
|
|
9500
|
+
const ALLOWED_TAGS = new Set([
|
|
9501
|
+
"A",
|
|
9502
|
+
"UL",
|
|
9503
|
+
"OL",
|
|
9504
|
+
"LI",
|
|
9505
|
+
"STRONG",
|
|
9506
|
+
"EM",
|
|
9507
|
+
"CODE",
|
|
9508
|
+
"BR",
|
|
9509
|
+
"P",
|
|
9510
|
+
"SPAN",
|
|
9511
|
+
"B"
|
|
9512
|
+
]);
|
|
9513
|
+
const doc = new DOMParser().parseFromString(`<div>${html}</div>`, "text/html");
|
|
9514
|
+
const root = doc.body.firstElementChild;
|
|
9515
|
+
if (!root) return "";
|
|
9516
|
+
const walk = (node) => {
|
|
9517
|
+
const children = Array.from(node.children);
|
|
9518
|
+
for (const child of children) {
|
|
9519
|
+
if (!ALLOWED_TAGS.has(child.tagName)) {
|
|
9520
|
+
const text = doc.createTextNode(child.textContent ?? "");
|
|
9521
|
+
child.replaceWith(text);
|
|
9522
|
+
continue;
|
|
9523
|
+
}
|
|
9524
|
+
const allowed = child.tagName === "A" ? new Set(["href"]) : /* @__PURE__ */ new Set();
|
|
9525
|
+
for (const attr of Array.from(child.attributes)) if (!allowed.has(attr.name)) child.removeAttribute(attr.name);
|
|
9526
|
+
if (child.tagName === "A") {
|
|
9527
|
+
const href = child.getAttribute("href") ?? "";
|
|
9528
|
+
const isHttp = /^https?:\/\//i.test(href);
|
|
9529
|
+
const isMailto = href.startsWith("mailto:");
|
|
9530
|
+
const isRootRelative = href.startsWith("/") && !href.startsWith("//");
|
|
9531
|
+
if (!isHttp && !isMailto && !isRootRelative) child.removeAttribute("href");
|
|
9532
|
+
else if (isHttp) {
|
|
9533
|
+
child.setAttribute("target", "_blank");
|
|
9534
|
+
child.setAttribute("rel", "noopener noreferrer");
|
|
9535
|
+
}
|
|
9536
|
+
}
|
|
9537
|
+
walk(child);
|
|
9538
|
+
}
|
|
9539
|
+
};
|
|
9540
|
+
walk(root);
|
|
9541
|
+
return root.innerHTML;
|
|
9542
|
+
}
|
|
9543
|
+
//#endregion
|
|
10689
9544
|
//#region ../../node_modules/class-variance-authority/dist/index.mjs
|
|
10690
9545
|
/**
|
|
10691
9546
|
* Copyright 2022 Joe Bell. All rights reserved.
|
|
@@ -27033,8 +25888,8 @@ function RecordingPanel({ deviceId }) {
|
|
|
27033
25888
|
* `type:'widget'` ConfigField. `WidgetSlot` resolves these BEFORE the
|
|
27034
25889
|
* Module-Federation `WidgetRegistry`. ids are namespaced `host/<name>`. */
|
|
27035
25890
|
var HOST_WIDGETS = {
|
|
27036
|
-
"host/motion-zones-grid": lazy(() => import("./MotionZonesSettings-
|
|
27037
|
-
"host/privacy-mask-grid": lazy(() => import("./PrivacyMaskSettings-
|
|
25891
|
+
"host/motion-zones-grid": lazy(() => import("./MotionZonesSettings-CiYjd-yl.js").then((m) => ({ default: m.MotionZonesSettings }))),
|
|
25892
|
+
"host/privacy-mask-grid": lazy(() => import("./PrivacyMaskSettings-BmRdUrPp.js").then((m) => ({ default: m.PrivacyMaskSettings }))),
|
|
27038
25893
|
"host/ptz-panel": PtzPanel,
|
|
27039
25894
|
"host/navigation-panel": NavigationPanel,
|
|
27040
25895
|
"host/consumables-panel": ConsumablesPanel,
|
|
@@ -31900,225 +30755,6 @@ var Switch = forwardRef(({ className, checked, onCheckedChange, label, ...props
|
|
|
31900
30755
|
});
|
|
31901
30756
|
Switch.displayName = "Switch";
|
|
31902
30757
|
//#endregion
|
|
31903
|
-
//#region src/hooks/use-is-mobile.ts
|
|
31904
|
-
var MOBILE_QUERY = "(max-width: 767px)";
|
|
31905
|
-
/**
|
|
31906
|
-
* Mid breakpoint — below this width the sidebar collapses to an
|
|
31907
|
-
* icons-only rail to reclaim canvas space. Above it (and outside
|
|
31908
|
-
* mobile) the full sidebar renders. Threshold matches Tailwind `lg`
|
|
31909
|
-
* so sidebar fans out at the same point grids switch to multi-column.
|
|
31910
|
-
*/
|
|
31911
|
-
var MID_QUERY = "(min-width: 768px) and (max-width: 1023px)";
|
|
31912
|
-
/**
|
|
31913
|
-
* `matchMedia` is universal in browsers but absent in bare DOM environments.
|
|
31914
|
-
* These hooks are called from shared primitives (`DataTable` picks its narrow
|
|
31915
|
-
* layout with one), so throwing here takes down the whole page that merely
|
|
31916
|
-
* rendered a table. Where the capability is missing, report the desktop
|
|
31917
|
-
* layout — a widescreen rendering is wrong-looking; a crashed page is gone.
|
|
31918
|
-
*/
|
|
31919
|
-
function matchQuery(query) {
|
|
31920
|
-
if (typeof window.matchMedia !== "function") return null;
|
|
31921
|
-
return window.matchMedia(query);
|
|
31922
|
-
}
|
|
31923
|
-
function subscribeQuery(query) {
|
|
31924
|
-
return (callback) => {
|
|
31925
|
-
const mql = matchQuery(query);
|
|
31926
|
-
if (mql === null) return () => {};
|
|
31927
|
-
mql.addEventListener("change", callback);
|
|
31928
|
-
return () => mql.removeEventListener("change", callback);
|
|
31929
|
-
};
|
|
31930
|
-
}
|
|
31931
|
-
function getSnapshot(query) {
|
|
31932
|
-
return () => matchQuery(query)?.matches ?? false;
|
|
31933
|
-
}
|
|
31934
|
-
function getServerSnapshot() {
|
|
31935
|
-
return false;
|
|
31936
|
-
}
|
|
31937
|
-
function useIsMobile() {
|
|
31938
|
-
return useSyncExternalStore(subscribeQuery(MOBILE_QUERY), getSnapshot(MOBILE_QUERY), getServerSnapshot);
|
|
31939
|
-
}
|
|
31940
|
-
/**
|
|
31941
|
-
* True when the viewport is in the medium (`md`) Tailwind range —
|
|
31942
|
-
* 768px ≤ width < 1024px. Use to drive layouts that should pack denser
|
|
31943
|
-
* than full-desktop but more legibly than mobile (e.g. icons-only
|
|
31944
|
-
* sidebar rail, narrower stat tiles).
|
|
31945
|
-
*/
|
|
31946
|
-
function useIsMidWidth() {
|
|
31947
|
-
return useSyncExternalStore(subscribeQuery(MID_QUERY), getSnapshot(MID_QUERY), getServerSnapshot);
|
|
31948
|
-
}
|
|
31949
|
-
//#endregion
|
|
31950
|
-
//#region src/primitives/bottom-sheet.tsx
|
|
31951
|
-
function BottomSheet({ open, onClose, title, children, className }) {
|
|
31952
|
-
useEffect(() => {
|
|
31953
|
-
if (!open) return;
|
|
31954
|
-
const handleKeyDown = (e) => {
|
|
31955
|
-
if (e.key === "Escape") onClose();
|
|
31956
|
-
};
|
|
31957
|
-
document.addEventListener("keydown", handleKeyDown);
|
|
31958
|
-
document.body.style.overflow = "hidden";
|
|
31959
|
-
return () => {
|
|
31960
|
-
document.removeEventListener("keydown", handleKeyDown);
|
|
31961
|
-
document.body.style.overflow = "";
|
|
31962
|
-
};
|
|
31963
|
-
}, [open, onClose]);
|
|
31964
|
-
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
31965
|
-
className: cn("fixed inset-0 z-40 bg-black/50 transition-opacity duration-200", open ? "opacity-100" : "pointer-events-none opacity-0"),
|
|
31966
|
-
onClick: onClose,
|
|
31967
|
-
"aria-hidden": "true"
|
|
31968
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
31969
|
-
role: "dialog",
|
|
31970
|
-
"aria-modal": "true",
|
|
31971
|
-
className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col bg-background-elevated border-t border-border rounded-t-xl shadow-2xl transition-transform duration-200 ease-out pb-[env(safe-area-inset-bottom)]", "max-h-[80dvh]", open ? "translate-y-0" : "translate-y-full", className),
|
|
31972
|
-
children: [
|
|
31973
|
-
/* @__PURE__ */ jsx("div", {
|
|
31974
|
-
className: "flex justify-center pt-2 pb-1",
|
|
31975
|
-
children: /* @__PURE__ */ jsx("div", { className: "h-1 w-8 rounded-full bg-foreground-subtle/30" })
|
|
31976
|
-
}),
|
|
31977
|
-
title && /* @__PURE__ */ jsxs("div", {
|
|
31978
|
-
className: "flex items-center justify-between px-4 pb-2",
|
|
31979
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
31980
|
-
className: "text-sm font-medium text-foreground",
|
|
31981
|
-
children: title
|
|
31982
|
-
}), /* @__PURE__ */ jsx("button", {
|
|
31983
|
-
onClick: onClose,
|
|
31984
|
-
className: "p-1 rounded-md hover:bg-surface-hover text-foreground-muted transition-colors",
|
|
31985
|
-
children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4" })
|
|
31986
|
-
})]
|
|
31987
|
-
}),
|
|
31988
|
-
/* @__PURE__ */ jsx("div", {
|
|
31989
|
-
className: "flex-1 overflow-y-auto px-4 pb-4",
|
|
31990
|
-
children
|
|
31991
|
-
})
|
|
31992
|
-
]
|
|
31993
|
-
})] });
|
|
31994
|
-
}
|
|
31995
|
-
//#endregion
|
|
31996
|
-
//#region src/primitives/popover.tsx
|
|
31997
|
-
var PopoverContext = createContext(null);
|
|
31998
|
-
function usePopoverContext() {
|
|
31999
|
-
const ctx = useContext(PopoverContext);
|
|
32000
|
-
if (!ctx) throw new Error("Popover compound components must be used within <Popover>");
|
|
32001
|
-
return ctx;
|
|
32002
|
-
}
|
|
32003
|
-
function Popover({ children, open: controlledOpen, onOpenChange }) {
|
|
32004
|
-
const [uncontrolledOpen, setUncontrolledOpen] = useState(false);
|
|
32005
|
-
const open = controlledOpen ?? uncontrolledOpen;
|
|
32006
|
-
const triggerId = useId();
|
|
32007
|
-
const contentId = useId();
|
|
32008
|
-
const triggerRef = useRef(null);
|
|
32009
|
-
const setOpen = useCallback((next) => {
|
|
32010
|
-
onOpenChange?.(next);
|
|
32011
|
-
if (controlledOpen === void 0) setUncontrolledOpen(next);
|
|
32012
|
-
}, [controlledOpen, onOpenChange]);
|
|
32013
|
-
return /* @__PURE__ */ jsx(PopoverContext.Provider, {
|
|
32014
|
-
value: {
|
|
32015
|
-
open,
|
|
32016
|
-
setOpen,
|
|
32017
|
-
triggerId,
|
|
32018
|
-
contentId,
|
|
32019
|
-
triggerRef
|
|
32020
|
-
},
|
|
32021
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
32022
|
-
className: "relative inline-block",
|
|
32023
|
-
children
|
|
32024
|
-
})
|
|
32025
|
-
});
|
|
32026
|
-
}
|
|
32027
|
-
function PopoverTrigger({ children, ...props }) {
|
|
32028
|
-
const { open, setOpen, triggerId, contentId, triggerRef } = usePopoverContext();
|
|
32029
|
-
return /* @__PURE__ */ jsx("button", {
|
|
32030
|
-
type: "button",
|
|
32031
|
-
ref: triggerRef,
|
|
32032
|
-
id: triggerId,
|
|
32033
|
-
"aria-haspopup": "dialog",
|
|
32034
|
-
"aria-expanded": open,
|
|
32035
|
-
"aria-controls": open ? contentId : void 0,
|
|
32036
|
-
onClick: () => setOpen(!open),
|
|
32037
|
-
...props,
|
|
32038
|
-
children
|
|
32039
|
-
});
|
|
32040
|
-
}
|
|
32041
|
-
function PopoverContent({ className, children, align = "start", offset = 4, ...props }) {
|
|
32042
|
-
const { open, setOpen, contentId, triggerId, triggerRef } = usePopoverContext();
|
|
32043
|
-
const isMobile = useIsMobile();
|
|
32044
|
-
const ref = useRef(null);
|
|
32045
|
-
const [coords, setCoords] = useState(null);
|
|
32046
|
-
useLayoutEffect(() => {
|
|
32047
|
-
if (!open || isMobile) {
|
|
32048
|
-
setCoords(null);
|
|
32049
|
-
return;
|
|
32050
|
-
}
|
|
32051
|
-
const compute = () => {
|
|
32052
|
-
const trigger = triggerRef.current;
|
|
32053
|
-
if (!trigger) return;
|
|
32054
|
-
const rect = trigger.getBoundingClientRect();
|
|
32055
|
-
const left = align === "end" ? rect.right : rect.left;
|
|
32056
|
-
setCoords({
|
|
32057
|
-
top: rect.bottom + offset,
|
|
32058
|
-
left,
|
|
32059
|
-
minWidth: rect.width
|
|
32060
|
-
});
|
|
32061
|
-
};
|
|
32062
|
-
compute();
|
|
32063
|
-
window.addEventListener("resize", compute);
|
|
32064
|
-
window.addEventListener("scroll", compute, true);
|
|
32065
|
-
return () => {
|
|
32066
|
-
window.removeEventListener("resize", compute);
|
|
32067
|
-
window.removeEventListener("scroll", compute, true);
|
|
32068
|
-
};
|
|
32069
|
-
}, [
|
|
32070
|
-
open,
|
|
32071
|
-
isMobile,
|
|
32072
|
-
align,
|
|
32073
|
-
offset,
|
|
32074
|
-
triggerRef
|
|
32075
|
-
]);
|
|
32076
|
-
useEffect(() => {
|
|
32077
|
-
if (!open || isMobile) return;
|
|
32078
|
-
const handler = (e) => {
|
|
32079
|
-
const el = ref.current;
|
|
32080
|
-
const trigger = triggerRef.current;
|
|
32081
|
-
if (el && !el.contains(e.target) && !trigger?.contains(e.target)) setOpen(false);
|
|
32082
|
-
};
|
|
32083
|
-
const escHandler = (e) => {
|
|
32084
|
-
if (e.key === "Escape") setOpen(false);
|
|
32085
|
-
};
|
|
32086
|
-
document.addEventListener("mousedown", handler);
|
|
32087
|
-
document.addEventListener("keydown", escHandler);
|
|
32088
|
-
return () => {
|
|
32089
|
-
document.removeEventListener("mousedown", handler);
|
|
32090
|
-
document.removeEventListener("keydown", escHandler);
|
|
32091
|
-
};
|
|
32092
|
-
}, [
|
|
32093
|
-
open,
|
|
32094
|
-
setOpen,
|
|
32095
|
-
triggerRef,
|
|
32096
|
-
isMobile
|
|
32097
|
-
]);
|
|
32098
|
-
if (!open) return null;
|
|
32099
|
-
if (isMobile) return /* @__PURE__ */ jsx(BottomSheet, {
|
|
32100
|
-
open,
|
|
32101
|
-
onClose: () => setOpen(false),
|
|
32102
|
-
children
|
|
32103
|
-
});
|
|
32104
|
-
if (!coords || typeof document === "undefined") return null;
|
|
32105
|
-
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
32106
|
-
ref,
|
|
32107
|
-
id: contentId,
|
|
32108
|
-
role: "dialog",
|
|
32109
|
-
"aria-labelledby": triggerId,
|
|
32110
|
-
style: {
|
|
32111
|
-
position: "fixed",
|
|
32112
|
-
top: coords.top,
|
|
32113
|
-
...align === "end" ? { right: window.innerWidth - coords.left } : { left: coords.left },
|
|
32114
|
-
minWidth: coords.minWidth
|
|
32115
|
-
},
|
|
32116
|
-
className: cn("z-50 bg-background-elevated border border-border rounded-lg shadow-lg p-3", className),
|
|
32117
|
-
...props,
|
|
32118
|
-
children
|
|
32119
|
-
}), document.body);
|
|
32120
|
-
}
|
|
32121
|
-
//#endregion
|
|
32122
30758
|
//#region src/primitives/tabs.tsx
|
|
32123
30759
|
var TabsContext = createContext(null);
|
|
32124
30760
|
function useTabsContext() {
|
|
@@ -52613,7 +51249,7 @@ function effectiveType(device, containerChildren) {
|
|
|
52613
51249
|
*/
|
|
52614
51250
|
function effectiveIconDevice(device, containerChildren) {
|
|
52615
51251
|
if (device.type !== DeviceType.Container) return device;
|
|
52616
|
-
if (device.display?.icon !== void 0 &&
|
|
51252
|
+
if (device.display?.icon !== void 0 && canonicalIconKey(device.display.icon) !== void 0) return device;
|
|
52617
51253
|
const children = containerChildren ?? [];
|
|
52618
51254
|
if (children.length === 0) return device;
|
|
52619
51255
|
const primary = resolveContainerPrimary(children, device.linkDeviceId, device.primaryChildEntityId);
|
|
@@ -53425,6 +52061,8 @@ function ChildRow$1({ trpc, child, onNavigate, parentName }) {
|
|
|
53425
52061
|
const enabled = !child.disabled;
|
|
53426
52062
|
const showSwitch = enabled && maySupportSwitch(child);
|
|
53427
52063
|
const showMotionTrigger = enabled && hasMotionTriggerFeature(child);
|
|
52064
|
+
const roleDefaults = useRoleDisplayDefaults();
|
|
52065
|
+
useIconGlyphsVersion();
|
|
53428
52066
|
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("div", {
|
|
53429
52067
|
onClick: (e) => {
|
|
53430
52068
|
e.stopPropagation();
|
|
@@ -53432,7 +52070,7 @@ function ChildRow$1({ trpc, child, onNavigate, parentName }) {
|
|
|
53432
52070
|
},
|
|
53433
52071
|
className: "w-full flex items-center gap-2 px-3 py-1.5 text-left hover:bg-surface-hover transition-colors cursor-pointer",
|
|
53434
52072
|
children: [
|
|
53435
|
-
/* @__PURE__ */ jsx(deviceLeadIcon(child,
|
|
52073
|
+
/* @__PURE__ */ jsx(deviceLeadIcon(child, roleDefaults), { className: "h-3 w-3 text-foreground-subtle flex-shrink-0" }),
|
|
53436
52074
|
/* @__PURE__ */ jsx("span", {
|
|
53437
52075
|
className: "text-[10.5px] text-foreground flex-1 truncate",
|
|
53438
52076
|
children: childListName(child, parentName)
|
|
@@ -53813,6 +52451,7 @@ var CHEVRON_SLOT_CLASS = {
|
|
|
53813
52451
|
function DeviceItemHeader({ device, variant, flags, parent, integrationIcon, hasChildren, expanded, onToggleExpand, onNavigateToParent, stacked = false, nameOverflow = "truncate" }) {
|
|
53814
52452
|
const containerChildren = useContainerChildren(device.id);
|
|
53815
52453
|
const roleDefaults = useRoleDisplayDefaults();
|
|
52454
|
+
useIconGlyphsVersion();
|
|
53816
52455
|
const Icon = deviceLeadIcon(effectiveIconDevice(device, containerChildren), roleDefaults);
|
|
53817
52456
|
const slotClass = stacked ? CHEVRON_SLOT_CLASS.stacked : CHEVRON_SLOT_CLASS.horizontal;
|
|
53818
52457
|
const lineClass = nameOverflow === "scroll" ? NAME_TEXT_CLASS : "truncate";
|
|
@@ -63211,12 +61850,12 @@ function mirror(input) {
|
|
|
63211
61850
|
* Render inside `<Suspense>` at all call sites. */
|
|
63212
61851
|
var MaskShapeCanvas = lazy(() => import("./MaskShapeCanvas-DI4BY7W2.js").then((m) => ({ default: m.MaskShapeCanvas })));
|
|
63213
61852
|
/** Lazy-wrapped `MotionZonesSettings` — code-split off the main bundle. */
|
|
63214
|
-
var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-
|
|
61853
|
+
var MotionZonesSettings = lazy(() => import("./MotionZonesSettings-CiYjd-yl.js").then((m) => ({ default: m.MotionZonesSettings })));
|
|
63215
61854
|
/** Lazy-wrapped `SceneMonitorEditor` — code-split off the main bundle for the
|
|
63216
61855
|
* same reason: it mounts `MaskShapeCanvas`, which chains react-konva. Render
|
|
63217
61856
|
* inside `<Suspense>`; the admin-ui `/scenes` dialog is its only caller. */
|
|
63218
|
-
var SceneMonitorEditor = lazy(() => import("./SceneMonitorEditor-
|
|
61857
|
+
var SceneMonitorEditor = lazy(() => import("./SceneMonitorEditor-J4Ix_0tu.js").then((m) => ({ default: m.SceneMonitorEditor })));
|
|
63219
61858
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
63220
|
-
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-
|
|
61859
|
+
var PrivacyMaskSettings = lazy(() => import("./PrivacyMaskSettings-BmRdUrPp.js").then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
63221
61860
|
//#endregion
|
|
63222
|
-
export { AddProviderEntryDialog, AddonGlobalSettingsForm, AdminLinkQuickAction, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, AppShell, ArcKnob, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, BackToStepsButton, Badge, BatteryBadge, BottomSheet, Breadcrumb, BrightnessPanel, Button, ButtonControl, ButtonHeroCard, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigNotificationTargetMultiSelectFieldView, ConfigNotificationTargetSelectFieldView, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, CustomFieldRenderersProvider, DEFAULT_COLOR, DEFAULT_PAGINATION_LABELS, DEVICE_COLUMNS, DEVICE_EXPORT_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_PICKER_GROUP_STORAGE_KEY, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DISPLAY_ICON_REGISTRY, DataTable, DataTableFilterBar, DataTablePager, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceExportSetup, DeviceFilterBar, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DevicePicker, DeviceQuickDetailProvider, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, DevicesFailedLine, DevicesLoadingLine, DevicesWidenWarning, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, DoorbellRecentPanel, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, DummyHeroCard, DummyInline, EMPTY_DATA_TABLE_FILTER, EVENT_KIND_ICONS, EmptyState, EndpointResultsCard, EndpointTestCard, ErrorBox, EventKindGlyph, EventStream, ExtensionsPanel, FILL, FLEET_LIST_GC_TIME_MS, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, FormField$1 as FormField, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GateBadge, GateControl, GripTrack, GroupedModelSelector, HOST_WIDGETS, HUB_SESSION_RUN_MS, HlsVideo, HoverZoomImage, HubSessionTestCard, HumidifierHeroCard, HumidifierInlineControl, INPUT_COMPACT, INPUT_SHELL, IconAction, IconButton, IconPicker, ImageHeroCard, ImageInlineControl, ImageSelector, InferenceConfigSelector, Input, ItemFormDialog, KebabMenu, KeyValueList, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LayeredSettingsForm, LightHeroCard, LightInlineControl, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, MEDIA_GRID, MODE_COLOR, MaskShapeCanvas, MediaCard, MediaGrid, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, MobileDrawer, ModelPicker, MotionZonesSettings, NAVIGATION_DRIVE_INTERVAL_MS, NODE_COLOR_IDS, NatResultCard, NavigationPanel, NetworkLinkBadge, NodeMultiSelectField, NodePicker, NodeSelectField, NotificationTargetSelectField, NotificationTargetsField, OPTION_SELECT_SEARCH_MIN_OPTIONS, OfflineBadge, OptionSelect, PAGE_SIZE_ALL, PHASE_CONFIG, PICKER_CHIP_LIMIT, PICKER_DEFAULT_GROUP_BY, PICKER_GROUP_BY_MODES, PICKER_GROUP_COLLAPSE_AT, PICKER_NONE_KEY, PICKER_NOUN_PLURAL, PICKER_NO_FILTERS, PICKER_PAGE_SIZE, PICKER_SEARCH_DEBOUNCE_MS, PICKER_WINDOW, PRIORITY, PTZOverlay, PageHeader, PageShell, PageSizeSelect, Pagination, PasswordInput, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PlaceholderChipField, PlayerOverlaysProvider, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, ProviderEntryPills, PtzPanel, QrCode, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, ROOT_DETECTOR_STEP_ID, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, RetrainReviewBadge, RoleDisplayDefaultsFromServer, RoleDisplayDefaultsProvider, RoleNodePill, RootModelSourceControl, RootSuppliedModelNote, RunReport, SCENE_CAPTURE_VARIANTS, SECRET_MASK_PLACEHOLDER, SECRET_REVEAL_MS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SNAPSHOT_MEDIA_PATH, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, STEP_DOCK_WIDTH_PX, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, SecretFieldControl, SecretRevealProvider, SectionCard, SectionToolbar, SectionedPage, SegmentedChoice, Select, SelectedChip, SemanticBadge, SendFrameToTrainingButton, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideToggle, SnapshotButton, SortHeaderButton, StableTabPanel, StatCard, StateValuesStream, StatusBadge, StepDetailDock, StepInspectorPanel, StepModelRow, StepTimings, Stepper, StreamBrokerSelector, StreamDebugOverlay, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, Tooltip, TooltipContent, TooltipTrigger, TrainingBaseModelPicker, TrainingCollectionPicker, UnitPicker, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, VodPlaybackProvider, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, ZoneEditingProvider, MicOff as a, acceleratorLabel, acceleratorShortLabel, agentColumnKey, allDeviceTypeFilterOptions, applyFleetQueryDefaults, applyPickerFilters, ariaSortForColumn, assignNodeColorId, badgeFor, bindsToModel, buildColorByNodeId, buildPeerConnectionConfig, buildStepTreeFromSchema, EyeOff as c, catalogHasDraft, childEntityId, childListName, chipOverflow, classifyAddressScope, classifyCapability, classifySessionVerdict, clearPickerGroup, clusterRootModelIds, cn, colorIdForNode, columnsForContext, compareSrflxMappings, computePageButtons, containerChildToRef, countableDevices, coverHighlight, coverageLine, createSharedContext, createTheme, cursorFractionFor, darkColors, dataTableFacetGroups, dataTableFacets, defaultOfField, defaultSelectClusterRoots, defaultSingleClusterRoot, defaultTheme, deriveDeviceKind, deriveWebrtcDebugStats, describeDeviceSelector, deviceIntegrationResolver, deviceListStateOf, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, dockBox, draftFromQuery, effectivePageSize, emptyDevicesWidens, emptySessionRun, ensureMfHostInit, eventKindLabel, filterDataTableRows, filterDeviceOptions, filterOptions as filterOptionSelectOptions, filterPickerDevices, finalizeSessionRun, findTimezone, flattenPickerGrouping, flattenPickerRows, fleetViewOf, formatControlDateTime, formatLastSeen, formatNumeric, formatSettingValue, freezeVerdict, fuzzyMatch, getClassColor, getPhaseVisual, groupAgentColumns, groupChildrenByLayout, groupPickerDevices, groupPickerDevicesBy, hardwareLabel, hubOrigin, hubPath, hubUrl, hubWsUrl, humanDuration, humidifierTint, Mic as i, initialScrubState, insertAtSelection, isAbsentProvider, isDataTableFilterActive, isFieldVisible, isGroupExpanded, isKeychainFieldValue, isValueField, Camera as l, lawnMowerActivityMeta, lightColors, loadRemoteBundle, makeScrubBridge, mapRootDetectorPlacements, metadataEntries, metadataString, mirror, mountAddonPage, mountPath, Square as n, nextGridPosition, nextReconnectAction, nextSort, nextSortDirection, nextTableSort, nodeColorClass, nodeSoftBgClass, nodeTextColorClass, normalizeForSearch, ImageOff as o, offListSelections, openTopLayer, optionSearchText as optionSelectSearchText, orphanDeviceLabel, overrideEntityIdFromLink, pageRows, pageSizeLabel, paginateRows, parentDetailOf, parseIceCandidate, parsePickerGroupBy, parseRecordedServerMessage, partitionSelected as partitionOptionSelectSelected, partitionSuggested, pickerFacetFilterShown, pickerFacetKey, pickerFacetOptions, pickerFiltersActive, pickerGroupKey, pickerHiddenSelectedCount, pickerLocationKey, pickerQueryTokens, pickerRowFacts, pickerSearchText, pickerZoneFilterSuspended, pinnedStreamChoices, providerIcons, RotateCcw as r, readStoredGroupBy, reduceSessionRun, resetHubMountForTests, resetPickerFilters, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDeviceIntegration, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolveSearchable as resolveOptionSelectSearchable, resolveParentNames, resolvePrimaryChild, resolveSelectedDevices, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, retrainReviewBadgeLook, roiTooLarge, rootSourceState, routerBasename, Grid2x2 as s, sameLocationSuggestions, scrubReducer, searchSteps, secretSubmitValue, selectPickerGroup, selectedDeviceOptions, serializeRecordedCommand, settingsModelIdFor, shouldCommit, shouldEmit, shouldShowAddNewFooter, shouldShowUseQueryRow, shouldUseSingleNode, showsNoCamerasHint, sortRows, sortRowsByColumn, statusIcons, statusLine, stepFieldDomId, stepHasModelForFormat, stepLocalFields, stepModelOptions, stripParentNamePrefix, summarizeHubCandidates, Trash2 as t, tabForSelector, tankAlert, themeToCss, toStationaryOverlayBox, toggleDataTableFacet, toggleDataTableGroupFacet, togglePickerDevice, togglePickerKey, trainingRefusalText, trpc, typeLabel, createLucideIcon as u, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsGetIntegrationSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListInstallations, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlert, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerAttachDevice, useAudioAnalyzerClassify, useAudioAnalyzerDetachDevice, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupCancel, useBackupCheckBackupKey, useBackupDelete, useBackupDeleteSchedule, useBackupDisableEncryption, useBackupGetEncryption, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListAvailableDatabases, useBackupListDestinations, useBackupListLocations, useBackupListRuns, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupSetupEncryption, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCalendarsGetPreferences, useCalendarsListCalendars, useCalendarsListEvents, useCalendarsSetCalendarPreference, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraGridLayoutApplyDeviceSettingsPatch, useCameraGridLayoutGetDeviceLiveContribution, useCameraGridLayoutGetDeviceSettingsContribution, useCameraGridLayoutGetLayout, useCameraGridLayoutSaveLayout, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCapabilityPresence, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useClusterTopology, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksCreateComposition, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetBlockSettings, useCoreBlocksGetComposition, useCoreBlocksGetCustomization, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksListComposableCaps, useCoreBlocksListCompositions, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoreBlocksUpdateBlockSettings, useCoreBlocksUpdateComposition, useCoreBlocksValidateComposition, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDataTableFilter, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderGetInfo, useDecoderReprobeHwaccel, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdminLink, useDeviceAdminLinkGetAdminLink, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceExtensionListCandidates, useDeviceExtensionListSlots, useDeviceExtensionListSources, useDeviceExtensionSetSlot, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetBindingsBatch, useDeviceManagerGetChildren, useDeviceManagerGetChildrenBatch, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetLinkedDevicesBatch, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerGetWrapperActivation, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListDeviceIdsByCaps, useDeviceManagerListLocationDescriptions, useDeviceManagerListLocationIcons, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListSiteZones, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerMigrateDevice, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRemoveSiteZone, useDeviceManagerRenameLocation, useDeviceManagerRenameSiteZone, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetLocationDescription, useDeviceManagerSetLocationIcon, useDeviceManagerSetLocationZone, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetSiteZone, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceNetworkLink, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderReloadDevice, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceQuickDetailOpen, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateClaimFields, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetNativeCapSlice, useDeviceStateGetSnapshot, useDeviceStateListClaims, useDeviceStatePatchOwnedFields, useDeviceStateReleaseClaim, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryAuditIdentitySamples, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useItemFormUrl, useKeychainAdminAcknowledgeReset, useKeychainAdminDeleteOrphans, useKeychainAdminDownloadRecoveryKey, useKeychainAdminListAudit, useKeychainAdminListSecrets, useKeychainAdminPurgeRetiredKeys, useKeychainAdminResetKeychain, useKeychainAdminResetReport, useKeychainAdminReveal, useKeychainAdminRotateMasterKey, useKeychainAdminSetSystemSecret, useKeychainAdminStatus, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkAddCustomAddress, useLocalNetworkDownloadCa, useLocalNetworkGetAddresses, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetHubAddresses, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkGetTlsStatus, useLocalNetworkGetViewerEndpoints, useLocalNetworkList, useLocalNetworkRegenerateCertificate, useLocalNetworkRemoveCustomAddress, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkRevertToGeneratedCertificate, useLocalNetworkSetAddressRole, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLocalNetworkSetViewerEndpoints, useLocalNetworkUploadCertificate, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetLoadSeries, useMetricsProviderGetProcessStats, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetOptions, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNativeObjectDetectionSetSettings, useNavigation, useNavigationGetFeatures, useNavigationGetStatus, useNavigationGoToPoint, useNavigationListActions, useNavigationMove, useNavigationPlaySound, useNavigationRunAction, useNavigationSetLightLevel, useNavigationSetLightMode, useNavigationSetLightOn, useNavigationStop, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkLinkGetStatus, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesDirectory, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputGetTarget, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputProbeTargetConfig, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesActivateAlarmProfile, useNotificationRulesCancelSnooze, useNotificationRulesCreateAlarmProfile, useNotificationRulesCreateRule, useNotificationRulesCreateSequence, useNotificationRulesCreateSnooze, useNotificationRulesDeleteAlarmProfile, useNotificationRulesDeleteRule, useNotificationRulesDeleteSequence, useNotificationRulesGetAlarmConfig, useNotificationRulesGetAlarmSensors, useNotificationRulesGetClipRetentionAsks, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesGetRuleLastRuns, useNotificationRulesGetSequence, useNotificationRulesGetTemplateCatalog, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSequences, useNotificationRulesListSnoozes, useNotificationRulesPreviewStateSummary, useNotificationRulesPreviewTemplate, useNotificationRulesRenameAlarmProfile, useNotificationRulesResolveArtifactUrl, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotificationRulesUpdateSequence, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOidcConnectionsConnectionFormSchema, useOidcConnectionsCreateConnection, useOidcConnectionsDeleteConnection, useOidcConnectionsListConnections, useOidcConnectionsUpdateConnection, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerDeleteTemplate, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerListTemplates, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdManagerSetSlotCameraEnabled, useOsdManagerUpsertTemplate, useOsdSetOverlay, usePTZ, usePersistedPageSize, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePickerSiteZones, usePipelineAnalyticsAddRetrainFrameFromRecording, usePipelineAnalyticsAddRetrainFramesToCollection, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsBackfillRetrainOrigins, usePipelineAnalyticsCancelRelocateMedia, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTrackRelation, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsCountRelocatableMedia, usePipelineAnalyticsCountUnstampedEventMedia, usePipelineAnalyticsCreateRetrainCollection, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteRetrainCollection, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventDensityBatch, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventMediaFootprintByKind, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetKeyEventsBatch, usePipelineAnalyticsGetMediaReclaimStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainCorpusKpi, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListArchivedDebugNotes, usePipelineAnalyticsListBirthDecisions, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListEventMedia, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRelocateMediaJobs, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainAssistProfiles, usePipelineAnalyticsListRetrainCollectionFrames, usePipelineAnalyticsListRetrainCollections, usePipelineAnalyticsListRetrainCorpusPage, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTrackRelations, usePipelineAnalyticsListTracks, usePipelineAnalyticsOfferRetrainArchive, usePipelineAnalyticsOwnersWithMedia, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsProposeRetrainAnnotationsWithLlm, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsReadLongTermSeries, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsReclaimDebugMedia, usePipelineAnalyticsReconcileFromDisk, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsRemoveRetrainFrameFromCollection, usePipelineAnalyticsRenameRetrainCollection, usePipelineAnalyticsResolveRetrainTrainingCorpus, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetRetrainFrameComplete, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsSetTrackPurity, usePipelineAnalyticsSetTrackRelation, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineAnalyticsWriteRetrainArchive, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorClearModelBoundDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetInferenceDeviceHealth, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorRearmInferenceDevice, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorValidatePipeline, usePipelineOrchestratorAbortNodeBenchmark, usePipelineOrchestratorApplyAutoTune, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteNodeBenchmarkResult, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraDetectionSource, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetClusterModelChoice, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetEffectiveShares, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeBenchmarkCandidates, usePipelineOrchestratorGetNodeBenchmarkPreflight, usePipelineOrchestratorGetNodeBenchmarkStatus, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorGetPlacementStats, usePipelineOrchestratorGetReconcileFromDiskStatus, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListNodeBenchmarkResults, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorPlanAutoTune, usePipelineOrchestratorRebalance, usePipelineOrchestratorReconcileFromDisk, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorRequestOccupancyLook, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDecodeLimits, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraDetectionSource, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraSensors, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepSettings, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetLoadBalancingShares, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorSetShareSource, usePipelineOrchestratorStartNodeBenchmark, usePipelineOrchestratorSuggestShares, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineRunnerAbortNodeBench, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerGetNodeBenchStatus, usePipelineRunnerGetParkedTrackFrame, usePipelineRunnerParkTrackFrame, usePipelineRunnerReleaseParkedTrackFrames, usePipelineRunnerReportMotion, usePipelineRunnerRequestOccupancyBurst, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePipelineRunnerStartNodeBench, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePrompt, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzCaptureHomeHere, usePtzContinuousMove, usePtzDeletePreset, usePtzGetHomePreset, usePtzGetHomeReturn, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzSetHomePreset, usePtzSetHomeReturn, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingArchiveApplyDeviceSettingsPatch, useRecordingArchiveCancelRelocateJob, useRecordingArchiveCancelStorageMigrationMove, useRecordingArchiveDeleteFootprint, useRecordingArchiveGetAvailabilityBatch, useRecordingArchiveGetDaysWithRecordingsBatch, useRecordingArchiveGetDeviceConfig, useRecordingArchiveGetDeviceLiveContribution, useRecordingArchiveGetDeviceSettingsContribution, useRecordingArchiveGetPlacement, useRecordingArchiveGetRelocateResidue, useRecordingArchiveGetStatus, useRecordingArchiveGetStorageMigrationMoveStatus, useRecordingArchiveGetStorageUsage, useRecordingArchiveListOpsLog, useRecordingArchiveListRelocateJobs, useRecordingArchiveLocateSegment, useRecordingArchivePauseForStorageMigration, useRecordingArchivePlanStorageRebalance, useRecordingArchivePruneFootage, useRecordingArchiveReadGopBytes, useRecordingArchiveReadSegmentBytes, useRecordingArchiveReadWindowBytes, useRecordingArchiveReconcileLedgerAgainstDisk, useRecordingArchiveRefreshStorageLocationsForMigration, useRecordingArchiveRelocateFootage, useRecordingArchiveRenderClip, useRecordingArchiveRenderGif, useRecordingArchiveRescanStorage, useRecordingArchiveResumeForStorageMigration, useRecordingArchiveSetDeviceConfig, useRecordingArchiveSetDevicePlacement, useRecordingArchiveStartStorageMigrationMove, useRecordingArchiveStartStorageRebalance, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetPlayback, useRecordingGetPlaybackOptions, useRecordingListSources, useRecordingOnboardGetOptions, useRecordingOnboardGetStatus, useRecordingOnboardSetSettings, useRecordingSignalGetStatus, useRemoteComponent, useRoleDisplayDefaults, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorListScenesBatch, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreAggregate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreInsertMany, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreTransact, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSettingsStoreUpsert, useSettingsStoreUpsertMany, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStationaryOverlay, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageList, useStorageListDrainProgress, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationCleanupCancel, useStorageMigrationCleanupStart, useStorageMigrationCleanupStatus, useStorageMigrationDrain, useStorageMigrationHistory, useStorageMigrationMovers, useStorageMigrationPlan, useStorageMigrationResidue, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStoredGroupBy, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerForgetDeviceHardware, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetLiveViewerCounts, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerReportStreamSignal, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useStreamSignalsListSignals, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetFailureContributions, useSystemGetLoadContributions, useSystemGetLoggingSettings, useSystemGetRequestCensus, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetLoggingSettings, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionUpdateInstance, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTrainingCanaryResult, useTrainingCancelJob, useTrainingDiscardResult, useTrainingGetJob, useTrainingGetJobResult, useTrainingListBaseModels, useTrainingListJobs, useTrainingPlanJob, useTrainingRegisterResult, useTrainingRollbackCanary, useTrainingStartJob, useTrainingStartJobBatch, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUrlQueryParam, useUserManagementConfirmTotp, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementFindUserByExternalIdentity, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListExternalIdentities, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUnlinkExternalIdentity, useUserManagementUpdateUser, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsDialClipStream, useVideoclipsGetClipPlayback, useVideoclipsGetPlaybackOptions, useVideoclipsListClips, useVideoclipsListSources, useVideoclipsOfferClipBytes, useVideoclipsReadClipBytes, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionApplyDownlinkProbe, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionDebug, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetCurrentSnapshotBatch, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint, withResolvedParentDetail, withUseRootModel, writeStoredGroupBy };
|
|
61861
|
+
export { ShieldCheck as $, CircleX as $n, List as $t, TrainFront as A, AddProviderEntryDialog, AddonGlobalSettingsForm, AdminLinkQuickAction, AgentStepEditor, AlarmHeroCard, AlarmInlineControl as AlarmPanelInlineControl, Eye as An, AppShell, Battery as Ar, ArcKnob, Package as At, AudioClassificationList, AudioLevelWaveform, AudioWaveform, AutomationHeroCard, AutomationInlineControl, AutotrackSection, Star as B, BTN_COMPACT, BTN_COMPACT_DANGER, BTN_COMPACT_PRIMARY, BTN_COMPACT_WARNING, BackToStepsButton, Badge, BatteryBadge, Database as Bn, BottomSheet, ArrowRight as Br, Breadcrumb, BrightnessPanel, Minus as Bt, Button, ButtonControl, ButtonHeroCard, Undo2 as C, CARD_MODE_MIN_COLUMNS, CENTER, CHIP_ACTIVE, CHIP_BASE, CHIP_INACTIVE, CLASS_COLORS, COLUMN_BREAKPOINT_CLASS, COLUMN_PRIORITY, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS, CONTROL_CAP_NAMES, CONTROL_FILLS, CameraStreamPlayer, Card, Checkbox, ChildSectionAccordion, ClimatePanel, FlaskConical as Cn, CodeBlock, CollapsibleCard, ConfigFormBuilder, FormField as ConfigFormField, ConfigNotificationTargetMultiSelectFieldView, ConfigNotificationTargetSelectFieldView, ConfigSchemaField, ConfirmActionButton, ConfirmDialogProvider, ConsumablesPanel, ContainerChildrenProvider, ContainerPrimaryHero, ControlColumn, ControlHeroCard, ControlInlineControl, ControlPanel, CopyButton, CoverHeroCard, CoverInlineControl, CoverPanel, Bot as Cr, Plane as Ct, CustomFieldRenderersProvider, TrendingDown as D, DEFAULT_COLOR, DEFAULT_PAGINATION_LABELS, DEVICE_COLUMNS, DEVICE_EXPORT_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, DEVICE_PICKER_GROUP_STORAGE_KEY, DEVICE_ROLE_META, DEVICE_TYPE_CONTROL, DEVICE_TYPE_META, DataTable, DataTableFilterBar, DataTablePager, DetectionCanvas, DetectionOverlay, DetectionResultTree, DevShell, DeviceActivityPanel, DeviceBatchToolbar, DeviceCard, DeviceContextProvider, DeviceExportPanel, DeviceExportSetup, DeviceFilterBar, DeviceGrid, DeviceItem, DeviceList, DeviceMultiSelectField, DevicePicker, DeviceQuickDetailProvider, DeviceSelectField, DeviceSelectorPicker, DeviceStepMatrix, DevicesFailedLine, DevicesLoadingLine, DevicesWidenWarning, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DiscoveryPanel, Film as Dn, DoorbellRecentPanel, Bike as Dr, Dropdown, DropdownContent, DropdownItem, DropdownTrigger, Pencil as Dt, DummyHeroCard, DummyInline, TriangleAlert as E, EMPTY_DATA_TABLE_FILTER, EVENT_KIND_ICONS, EmptyState, Flame as En, EndpointResultsCard, EndpointTestCard, Bird as Er, ErrorBox, Phone as Et, EventKindGlyph, EventStream, ExtensionsPanel, Target as F, FAST_ICON_GLYPHS, FILL, FLEET_LIST_GC_TIME_MS, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FanHeroCard, FanInlineControl, FanPanel, FilterBar, FloatingEventStream, FloatingLogStream, FloatingPanel, Droplet as Fn, FormField$1 as FormField, Bath as Fr, MoveVertical as Ft, Smartphone as G, GRID_GAP, GRID_PAIRED, GRID_QUICK_STATS, GateBadge, GateControl, Cloud as Gn, AirVent as Gr, GripTrack, GroupedModelSelector, Megaphone as Gt, Sprout as H, HOST_WIDGETS, HUB_SESSION_RUN_MS, HlsVideo, Cpu as Hn, HoverZoomImage, ArrowDown as Hr, Mic as Ht, HubSessionTestCard, HumidifierHeroCard, HumidifierInlineControl, Tag as I, INPUT_COMPACT, INPUT_SHELL, IconAction, IconButton, IconPicker, ImageHeroCard, ImageInlineControl, ImageSelector, Download as In, InferenceConfigSelector, Input, Ban as Ir, MoveHorizontal as It, ItemFormDialog, SkipBack as J, CloudRain as Jn, Mail as Jt, SlidersHorizontal as K, KebabMenu, KeyValueList, CloudSun as Kn, Activity as Kr, Maximize2 as Kt, Sunrise as L, LIST_ROW, Label, LawnMowerHeroCard, LawnMowerInlineControl, LayeredSettingsForm, LightHeroCard, LightInlineControl, DoorOpen as Ln, LockHeroCard, LockInlineControl, LockPanel, LogStream, LoginForm, Baby as Lr, MousePointerClick as Lt, ToggleRight as M, MEDIA_GRID, MODE_COLOR, MaskShapeCanvas, MediaCard, MediaGrid, MediaPlayerHeroCard, MediaPlayerInlineControl, MediaPlayerPanel, ExternalLink as Mn, MobileDrawer, ModelPicker, MotionZonesSettings, BatteryMedium as Mr, Navigation as Mt, ToggleLeft as N, NAVIGATION_DRIVE_INTERVAL_MS, NODE_COLOR_IDS, NatResultCard, NavigationPanel, NetworkLinkBadge, EllipsisVertical as Nn, NodeMultiSelectField, NodePicker, NodeSelectField, NotificationTargetSelectField, NotificationTargetsField, BatteryLow as Nr, Music as Nt, TrendingUp as O, OPTION_SELECT_SEARCH_MIN_OPTIONS, OfflineBadge, Feather as On, OptionSelect, Bell as Or, PawPrint as Ot, Thermometer as P, PAGE_SIZE_ALL, PHASE_CONFIG, PICKER_CHIP_LIMIT, PICKER_DEFAULT_GROUP_BY, PICKER_GROUP_BY_MODES, PICKER_GROUP_COLLAPSE_AT, PICKER_NONE_KEY, PICKER_NOUN_PLURAL, PICKER_NO_FILTERS, PICKER_PAGE_SIZE, PICKER_SEARCH_DEBOUNCE_MS, PICKER_WINDOW, PRIORITY, PTZOverlay, PageHeader, PageShell, PageSizeSelect, Pagination, PasswordInput, PhaseIcon, PipelineBuilder, PipelineRuntimeSelector, PipelineStep, PlaceholderChipField, PlayerOverlaysProvider, Droplets as Pn, Popover, PopoverContent, PopoverRowAction, PopoverTrigger, BatteryFull as Pr, PrimaryChildPicker, PrivacyMaskSettings, ProviderBadge, ProviderEntryPills, Move as Pt, PtzPanel, ShieldOff as Q, Clapperboard as Qn, QrCode, LoaderCircle as Qt, Sun as R, RECONNECT_POLICY, RECORDED_PLAYBACK_MODES, RIGHT, ROI_AREA_WARN_FRACTION, ROLE_DESCRIPTOR, ROOT_DETECTOR_STEP_ID, RadialGauge, RecordedPlaybackProvider, RecordingPanel, ResponseLog, RetrainReviewBadge, DoorClosed as Rn, RoleDisplayDefaultsFromServer, RoleDisplayDefaultsProvider, RoleNodePill, RootModelSourceControl, RootSuppliedModelNote, ArrowUp as Rr, Moon as Rt, RunReport, Unlink2 as S, SCENE_CAPTURE_VARIANTS, SECRET_MASK_PLACEHOLDER, SECRET_REVEAL_MS, SECTION_BODY, SECTION_CARD, SECTION_HEADER, SETTING_ROW, SETTING_ROW_LABEL, SETTING_ROW_STACK_BREAKPOINT, SETTING_ROW_VALUE, SETTING_ROW_VALUE_TEXT, SNAPSHOT_MEDIA_PATH, SPLIT_PANEL_OUTER, SPLIT_PANEL_SIDE, STACK_GAP, STATE_COLOR, STEP_DOCK_WIDTH_PX, SceneMonitorEditor, ScopePicker, ScriptHeroCard, ScriptInlineControl, ScrollArea, SecretFieldControl, SecretRevealProvider, SectionCard, SectionToolbar, SectionedPage, SegmentedChoice, Select, SelectedChip, SemanticBadge, SendFrameToTrainingButton, SensorHeroCard, SensorInlineControl, SensorValueAtom, Separator, SettingRow, Sidebar, SidebarItem, Skeleton, SlideToggle, Footprints as Sn, SnapshotButton, SortHeaderButton, Box as Sr, Play as St, StableTabPanel, StatCard, StateValuesStream, StatusBadge, StepDetailDock, StepInspectorPanel, StepModelRow, StepTimings, Stepper, StreamBrokerSelector, StreamDebugOverlay, StreamPanel, Switch, SwitchHeroCard, SwitchInlineControl, SwitchPanel, SystemProvider, Truck as T, TABLE_SCROLL_MAX_H, TEXT_FIELD_LABEL, TEXT_HINT, TEXT_METRIC, TEXT_SECTION_LABEL, TEXT_VALUE, TIMEZONES, Tabs, TabsContent, TabsList, TabsTrigger, TapToggle, ThemeProvider, ThermostatHeroCard, ThermostatInlineControl, TimezoneSelector, FlashlightOff as Tn, Tooltip, TooltipContent, TooltipTrigger, Blinds as Tr, TrainingBaseModelPicker, TrainingCollectionPicker, Pin as Tt, Sparkles as U, Copy as Un, UnitPicker, ArrowDownToLine as Ur, MessageSquare as Ut, Square as V, VacuumHeroCard, VacuumInlineControl, ValueReadout, ValveHeroCard, ValveInlineControl, VersionBadge, Crosshair as Vn, VodPlaybackProvider, ArrowLeft as Vr, Minimize2 as Vt, Snowflake as W, WaterHeaterHeroCard, WaterHeaterInlineControl, WeatherHeroCard, WeatherInlineControl, WidgetMetricCard, WidgetPanel, WidgetRegistryProvider, WidgetSlot, Cog as Wn, AlarmSmoke as Wr, Menu as Wt, Ship as X, CloudFog as Xn, LockOpen as Xt, Siren as Y, CloudLightning as Yn, Lock as Yt, Shield as Z, Clock as Zn, ZoneEditingProvider, LocateFixed as Zt, UtensilsCrossed as _, Grid2x2 as _n, Car as _r, Puzzle as _t, Wrench as a, acceleratorLabel, acceleratorShortLabel, agentColumnKey, allDeviceTypeFilterOptions, Laugh as an, applyFleetQueryDefaults, applyPickerFilters, CircleCheck as ar, ariaSortForColumn, assignNodeColorId, ScrollText as at, UserCheck as b, badgeFor, bindsToModel, Gamepad2 as bn, Bus as br, Plug as bt, buildColorByNodeId, buildPeerConnectionConfig, buildStepTreeFromSchema, Wifi as c, catalogHasDraft, childEntityId, childListName, chipOverflow, classifyAddressScope, classifyCapability, classifySessionVerdict, clearPickerGroup, clusterRootModelIds, cn, colorIdForNode, columnsForContext, compareSrflxMappings, computePageButtons, containerChildToRef, countableDevices, coverHighlight, coverageLine, ChevronsUpDown as cr, createSharedContext, createTheme, Sailboat as ct, cursorFractionFor, WifiLow as d, darkColors, dataTableFacetGroups, dataTableFacets, defaultOfField, defaultSelectClusterRoots, defaultSingleClusterRoot, defaultTheme, deriveDeviceKind, deriveWebrtcDebugStats, describeDeviceSelector, deviceIntegrationResolver, deviceListStateOf, deviceMatchesFilter, deviceOptionLabel, deviceRoleMeta, deviceRoleMetaOf, deviceTypeLabel, deviceTypeMeta, deviceTypeMetaOf, devicesToOptions, House as dn, dockBox, ChevronRight as dr, draftFromQuery, RotateCcw as dt, effectivePageSize, emptyDevicesWidens, emptySessionRun, ListChecks as en, ensureMfHostInit, CircleStop as er, ShieldAlert as et, eventKindLabel, WifiHigh as f, filterDataTableRows, filterDeviceOptions, filterOptions as filterOptionSelectOptions, filterPickerDevices, finalizeSessionRun, findTimezone, flattenPickerGrouping, flattenPickerRows, fleetViewOf, Hash as fn, formatControlDateTime, formatLastSeen, formatNumeric, formatSettingValue, ChevronLeft as fr, freezeVerdict, RefreshCw as ft, fuzzyMatch, Vibrate as g, getClassColor, getPhaseVisual, GripHorizontal as gn, Cast as gr, groupAgentColumns, groupChildrenByLayout, groupPickerDevices, groupPickerDevicesBy, QrCode$1 as gt, Volume2 as h, hardwareLabel, Hammer as hn, Cat as hr, Radar as ht, hubOrigin, hubPath, hubUrl, hubWsUrl, humanDuration, humidifierTint, X as i, iconGlyphsFailed, iconGlyphsLoaded, LayoutGrid as in, initialScrubState, insertAtSelection, CircleDot as ir, isAbsentProvider, isDataTableFilterActive, isFieldVisible, isGroupExpanded, isKeychainFieldValue, isValueField, Search as it, Tractor as j, EyeOff as jn, BatteryWarning as jr, Network as jt, Trash2 as k, Fan as kn, BellRing as kr, Pause as kt, WifiZero as l, lawnMowerActivityMeta, lightColors, Image as ln, loadIconGlyphs, loadRemoteBundle, ChevronsDownUp as lr, Route as lt, lucideExportName, VolumeX as m, makeScrubBridge, mapRootDetectorPlacements, metadataEntries, metadataString, mirror, Hand as mn, mountAddonPage, mountPath, Check as mr, RadioTower as mt, ZoomIn as n, nextGridPosition, nextReconnectAction, nextSort, nextSortDirection, nextTableSort, Lightbulb as nn, nodeColorClass, nodeSoftBgClass, nodeTextColorClass, normalizeForSearch, CirclePlus as nr, Settings as nt, Workflow as o, offListSelections, Info as on, openTopLayer, optionSearchText as optionSelectSearchText, CircleCheckBig as or, orphanDeviceLabel, Scan as ot, overrideEntityIdFromLink, Waves as p, pageRows, pageSizeLabel, paginateRows, parentDetailOf, parseIceCandidate, parsePickerGroupBy, parseRecordedServerMessage, partitionSelected as partitionOptionSelectSelected, partitionSuggested, pickerFacetFilterShown, pickerFacetKey, pickerFacetOptions, pickerFiltersActive, pickerGroupKey, pickerHiddenSelectedCount, pickerLocationKey, pickerQueryTokens, pickerRowFacts, pickerSearchText, pickerZoneFilterSuspended, pinnedStreamChoices, placePopover, HardDrive as pn, ChevronDown as pr, providerIcons, Radio as pt, SkipForward as q, CloudSnow as qn, MapPin as qt, Zap as r, readStoredGroupBy, reduceSessionRun, resetHubMountForTests, resetPickerFilters, resolveContainerPrimary, resolveControlAlign, resolveDeviceControl, resolveDeviceIntegration, resolveDisplayIcon, resolveEffectiveDefaultModel, resolveEffectiveStepModel, resolveEventKindIcon, resolveSearchable as resolveOptionSelectSearchable, resolveParentNames, resolvePrimaryChild, resolveSelectedDevices, resolveSensorDisplay, resolveStepDefaultModel, resolveTableLayout, retrainReviewBadgeLook, Leaf as rn, roiTooLarge, rootSourceState, routerBasename, CirclePause as rr, Server as rt, Wind as s, sameLocationSuggestions, scrubReducer, searchSteps, secretSubmitValue, selectPickerGroup, selectedDeviceOptions, serializeRecordedCommand, settingsModelIdFor, shouldCommit, shouldEmit, shouldShowAddNewFooter, shouldShowUseQueryRow, shouldUseSingleNode, showsNoCamerasHint, Inbox as sn, sortRows, sortRowsByColumn, CircleAlert as sr, Save as st, statusIcons, statusLine, stepFieldDomId, stepHasModelForFormat, stepLocalFields, stepModelOptions, stripParentNamePrefix, summarizeHubCandidates, ZoomOut as t, tabForSelector, tankAlert, themeToCss, Link2 as tn, toStationaryOverlayBox, toggleDataTableFacet, toggleDataTableGroupFacet, togglePickerDevice, togglePickerKey, CircleQuestionMark as tr, trainingRefusalText, trpc, Share2 as tt, typeLabel, WifiOff as u, ImageOff as un, ChevronUp as ur, useAccessoriesGetStatus, useAccessoriesSetChildHidden, useAddonPagesListPages, useAddonSettingsGetDeviceSettings, useAddonSettingsGetGlobalSettings, useAddonSettingsGetIntegrationSettings, useAddonSettingsUpdateDeviceSettings, useAddonSettingsUpdateGlobalSettings, useAddonWidgetsListWidgets, useAddonsApplyAutoUpdateToAll, useAddonsCancelJob, useAddonsCustom, useAddonsForceRefresh, useAddonsGetAddonAutoUpdate, useAddonsGetAutoUpdateSettings, useAddonsGetJob, useAddonsGetLastRestart, useAddonsGetLogs, useAddonsGetVersions, useAddonsInstallFromWorkspace, useAddonsInstallPackage, useAddonsIsWorkspaceAvailable, useAddonsList, useAddonsListCapabilityProviders, useAddonsListFrameworkPackages, useAddonsListInstallations, useAddonsListJobs, useAddonsListPackages, useAddonsListUpdates, useAddonsListWorkspacePackages, useAddonsOnAddonLogs, useAddonsReloadPackages, useAddonsRestartAddon, useAddonsRestartServer, useAddonsRetryLoad, useAddonsRollbackPackage, useAddonsSearchAvailable, useAddonsSetAddonAutoUpdate, useAddonsSetAutoUpdateSettings, useAddonsSetCapabilityProviderEnabled, useAddonsStartJob, useAddonsUninstallPackage, useAddonsUpdatePackage, useAirQualitySensorGetStatus, useAlarmPanelArm, useAlarmPanelDisarm, useAlarmPanelGetStatus, useAlarmPanelTrigger, useAlert, useAlertsDismiss, useAlertsEmit, useAlertsGetUnreadCount, useAlertsList, useAlertsMarkAllRead, useAlertsMarkRead, useAlertsUpdate, useAllWidgets, useAmbientLightSensorGetStatus, useAudioAnalysisApplyDeviceSettingsPatch, useAudioAnalysisGetDeviceLiveContribution, useAudioAnalysisGetDeviceSettingsContribution, useAudioAnalysisResolveDeviceSettings, useAudioAnalyzerAnalyseChunk, useAudioAnalyzerAttachDevice, useAudioAnalyzerClassify, useAudioAnalyzerDetachDevice, useAudioAnalyzerDispose, useAudioAnalyzerIsReady, useAudioAnalyzerReprobeAudioEngine, useAudioCodecCanHandle, useAudioCodecCloseSession, useAudioCodecCreateDecodeSession, useAudioCodecCreateEncodeSession, useAudioCodecFlushEncode, useAudioCodecListActiveSessions, useAudioCodecListSupportedCodecs, useAudioCodecPullEncoded, useAudioCodecPullPcm, useAudioCodecPushEncodedFrame, useAudioCodecPushPcm, useAudioMetricsGetCurrentSnapshot, useAudioMetricsGetHistory, useAutomationControlDisable, useAutomationControlEnable, useAutomationControlGetStatus, useAutomationControlTrigger, useBackupCancel, useBackupCheckBackupKey, useBackupDelete, useBackupDeleteSchedule, useBackupDisableEncryption, useBackupGetEncryption, useBackupGetEntries, useBackupList, useBackupListArchives, useBackupListAvailableDatabases, useBackupListDestinations, useBackupListLocations, useBackupListRuns, useBackupListSchedules, useBackupPreviewSchedule, useBackupRestore, useBackupSetupEncryption, useBackupTrigger, useBackupUpsertDestinationPolicy, useBackupUpsertSchedule, useBatteryGetStatus, useBatteryWakeForStream, useBinaryGetStatus, useBrightnessGetStatus, useBrightnessSetBrightness, useBrokerAdd, useBrokerGet, useBrokerGetBrokerConfig, useBrokerGetSettings, useBrokerGetSettingsSchema, useBrokerGetState, useBrokerGetStatus, useBrokerList, useBrokerListProviders, useBrokerPublish, useBrokerRemove, useBrokerSetSettings, useBrokerSubscribe, useBrokerTestConnection, useBrokerTestSettings, useBrokerUnsubscribe, useButtonPress, useCalendarsGetPreferences, useCalendarsListCalendars, useCalendarsListEvents, useCalendarsSetCalendarPreference, useCameraCredentialsGetCredentials, useCameraCredentialsGetStatus, useCameraGridLayoutApplyDeviceSettingsPatch, useCameraGridLayoutGetDeviceLiveContribution, useCameraGridLayoutGetDeviceSettingsContribution, useCameraGridLayoutGetLayout, useCameraGridLayoutSaveLayout, useCameraPipelineConfigApplyDeviceSettingsPatch, useCameraPipelineConfigGetDeviceLiveContribution, useCameraPipelineConfigGetDeviceSettingsContribution, useCameraStreamsGetBrokerStreams, useCameraStreamsGetCameraStreams, useCameraStreamsGetProfileRtspEntries, useCameraStreamsGetRtspEntries, useCameraStreamsPickStream, useCapabilityPresence, useCarbonMonoxideGetStatus, useClimateControlGetStatus, useClimateControlSetFanMode, useClimateControlSetMode, useClimateControlSetPreset, useClimateControlSetSwingHorizontal, useClimateControlSetSwingVertical, useClimateControlSetTarget, useClimateControlSetTargetHumidity, useClimateControlSetTargetRange, useClusterNodes, useClusterTopology, useColorGetStatus, useColorSetColor, useConfirm, useConnectionTestDescribeTest, useConnectionTestTestSettings, useConnectivityGetStatus, useConsumablesGetStatus, useConsumablesReset, useContactGetStatus, useContainerChildren, useControlGetStatus, useControlSetValue, useCoreBlocksCompile, useCoreBlocksCreate, useCoreBlocksCreateComposition, useCoreBlocksDelete, useCoreBlocksGet, useCoreBlocksGetBlockSettings, useCoreBlocksGetComposition, useCoreBlocksGetCustomization, useCoreBlocksGetTypeDefs, useCoreBlocksList, useCoreBlocksListComposableCaps, useCoreBlocksListCompositions, useCoreBlocksRestart, useCoreBlocksSetEnabled, useCoreBlocksUpdate, useCoreBlocksUpdateBlockSettings, useCoreBlocksUpdateComposition, useCoreBlocksValidateComposition, useCoverClose, useCoverGetStatus, useCoverOpen, useCoverSetPosition, useCoverSetTiltPosition, useCoverStop, useCustomFieldRenderer, useDataTableFilter, useDayNightGetOptions, useDayNightGetStatus, useDayNightSetSettings, useDebouncedString, useDecoderGetInfo, useDecoderReprobeHwaccel, useDetectionPipelineApplyDeviceSettingsPatch, useDetectionPipelineGetDeviceLiveContribution, useDetectionPipelineGetDeviceSettingsContribution, useDevShell, useDevice, useDeviceAdminLink, useDeviceAdminLinkGetAdminLink, useDeviceAdoptionAdopt, useDeviceAdoptionGetCandidate, useDeviceAdoptionGetStatus, useDeviceAdoptionListCandidateFilters, useDeviceAdoptionListCandidates, useDeviceAdoptionRefresh, useDeviceAdoptionRelease, useDeviceAdoptionResync, useDeviceAutotrack, useDeviceBattery, useDeviceCapSlice, useDeviceCapability, useDeviceDetections, useDeviceDiscoveryAdoptDevice, useDeviceDiscoveryGetStatus, useDeviceDiscoveryListDiscovered, useDeviceDiscoveryRefreshDiscovery, useDeviceDiscoveryReleaseDevice, useDeviceExportApplyDeviceSettingsPatch, useDeviceExportExposeDevice, useDeviceExportGetDeviceLiveContribution, useDeviceExportGetDeviceSettingsContribution, useDeviceExportGetStatus, useDeviceExportListExposedDevices, useDeviceExportListSupportedDeviceKinds, useDeviceExportUnexposeDevice, useDeviceExtensionListCandidates, useDeviceExtensionListSlots, useDeviceExtensionListSources, useDeviceExtensionSetSlot, useDeviceId, useDeviceListPageSize, useDeviceManagerAddLocation, useDeviceManagerAdoptDevice, useDeviceManagerAdoptionAdopt, useDeviceManagerAdoptionCancelJob, useDeviceManagerAdoptionListCandidateFilters, useDeviceManagerAdoptionListCandidates, useDeviceManagerAdoptionListJobs, useDeviceManagerAdoptionRefresh, useDeviceManagerAdoptionRelease, useDeviceManagerAdoptionResync, useDeviceManagerAdoptionStartJob, useDeviceManagerAllocateDeviceId, useDeviceManagerApplyInitialMeta, useDeviceManagerCreateDevice, useDeviceManagerDisable, useDeviceManagerDiscoverAllProviders, useDeviceManagerDiscoverDevices, useDeviceManagerDiscoverProvider, useDeviceManagerDiscoveryProviders, useDeviceManagerEnable, useDeviceManagerGetAllBindings, useDeviceManagerGetBindings, useDeviceManagerGetBindingsBatch, useDeviceManagerGetChildren, useDeviceManagerGetChildrenBatch, useDeviceManagerGetConfigSchema, useDeviceManagerGetCreationSchema, useDeviceManagerGetDevice, useDeviceManagerGetDeviceAggregate, useDeviceManagerGetDeviceLiveInfoAggregate, useDeviceManagerGetDeviceSettingsAggregate, useDeviceManagerGetDeviceStatusAggregate, useDeviceManagerGetDeviceStatusAggregateBatch, useDeviceManagerGetLinkedDevices, useDeviceManagerGetLinkedDevicesBatch, useDeviceManagerGetRoleDisplayDefaults, useDeviceManagerGetSettingsSchema, useDeviceManagerGetStreamProfileMap, useDeviceManagerGetStreamSources, useDeviceManagerGetWireableFields, useDeviceManagerGetWrapperActivation, useDeviceManagerListAll, useDeviceManagerListBindableCapsForDeviceType, useDeviceManagerListDeviceIdsByCaps, useDeviceManagerListLocationDescriptions, useDeviceManagerListLocationIcons, useDeviceManagerListLocations, useDeviceManagerListPersistedByAddon, useDeviceManagerListSiteZones, useDeviceManagerListWrappersForCap, useDeviceManagerLoadConfig, useDeviceManagerLoadMeta, useDeviceManagerLoadRuntimeState, useDeviceManagerMigrateDevice, useDeviceManagerPersistConfig, useDeviceManagerProbeStreams, useDeviceManagerProviderCreationType, useDeviceManagerProviderDiscoveryParamsSchema, useDeviceManagerRegisterDevice, useDeviceManagerRemove, useDeviceManagerRemoveByIntegration, useDeviceManagerRemoveDevice, useDeviceManagerRemoveLocation, useDeviceManagerRemoveSiteZone, useDeviceManagerRenameLocation, useDeviceManagerRenameSiteZone, useDeviceManagerRunDeviceAction, useDeviceManagerSetChildLayout, useDeviceManagerSetDisabled, useDeviceManagerSetDisplay, useDeviceManagerSetIntegrationId, useDeviceManagerSetLinkDeviceId, useDeviceManagerSetLocation, useDeviceManagerSetLocationDescription, useDeviceManagerSetLocationIcon, useDeviceManagerSetLocationZone, useDeviceManagerSetMetadata, useDeviceManagerSetName, useDeviceManagerSetPrimaryChildEntityId, useDeviceManagerSetRole, useDeviceManagerSetRoleDisplayDefaults, useDeviceManagerSetSiteZone, useDeviceManagerSetStreamProfileMap, useDeviceManagerSetType, useDeviceManagerSetWrapperActive, useDeviceManagerTestCreationField, useDeviceManagerTestField, useDeviceManagerUpdateConfig, useDeviceManagerUpdateDeviceField, useDeviceManagerUpdateDeviceFieldsBatch, useDeviceNetworkLink, useDeviceOpsGetConfigEntries, useDeviceOpsGetRawState, useDeviceOpsGetSettingsSchema, useDeviceOpsGetStreamSources, useDeviceOpsRemoveDevice, useDeviceOpsRunAction, useDeviceOpsSetConfig, useDeviceProviderAdoptDiscoveredDevice, useDeviceProviderCreateDevice, useDeviceProviderDiscoverDevices, useDeviceProviderGetChildCreationSchema, useDeviceProviderGetDevices, useDeviceProviderGetDiscoveryParamsSchema, useDeviceProviderGetManualCreationType, useDeviceProviderGetStatus, useDeviceProviderReloadDevice, useDeviceProviderStart, useDeviceProviderStop, useDeviceProviderSupportsDiscovery, useDeviceProviderSupportsManualCreation, useDeviceProviderTestCreationField, useDeviceProxy, useDeviceQuickDetailOpen, useDeviceSnapshot, useDeviceSnapshotImage, useDeviceState, useDeviceStateClaimFields, useDeviceStateGetAllSnapshots, useDeviceStateGetCapSlice, useDeviceStateGetNativeCapSlice, useDeviceStateGetSnapshot, useDeviceStateListClaims, useDeviceStatePatchOwnedFields, useDeviceStateReleaseClaim, useDeviceStateSetCapSlice, useDeviceStateSlice, useDeviceStatusGetStatus, useDeviceWebrtc, useDevices, useDisplayIconResolver, useDoorbellEvents, useDoorbellGetStatus, useEnumSensorGetStatus, useEventEmitterGetStatus, useEventInvalidation, useEventStreamLatest, useEventStreamMap, useFaceGalleryAssignFace, useFaceGalleryAssignFaces, useFaceGalleryAuditIdentitySamples, useFaceGalleryCreateIdentity, useFaceGalleryDeleteFace, useFaceGalleryDeleteIdentity, useFaceGalleryGetFaceByTrack, useFaceGalleryGetFaceMedia, useFaceGalleryListIdentities, useFaceGalleryListIdentitySamples, useFaceGalleryListRecentFaces, useFaceGalleryRemoveSample, useFaceGalleryRenameIdentity, useFaceGallerySuggestFaceClusters, useFaceGalleryUnassignFace, useFaceGalleryUnassignFaces, useFanControlGetStatus, useFanControlSetDirection, useFanControlSetOscillating, useFanControlSetPercentage, useFanControlSetPreset, useFeatureProbeGetStatus, useFloodGetStatus, useGasGetStatus, useHumidifierGetStatus, useHumidifierSetMode, useHumidifierSetOn, useHumidifierSetTargetHumidity, useHumiditySensorGetStatus, useIconGlyphsVersion, useImageGetStatus, useImageSettingsGetOptions, useImageSettingsGetStatus, useImageSettingsSetSettings, useIntegrationsCreate, useIntegrationsDelete, useIntegrationsGet, useIntegrationsGetAvailableTypes, useIntegrationsGetByAddonId, useIntegrationsGetSettings, useIntegrationsList, useIntegrationsSetSettings, useIntegrationsTestConnection, useIntegrationsUpdate, useIntercomEndTalkSession, useIntercomGetStatus, useIntercomHandleAnswer, useIntercomPushTalkAudio, useIntercomStartSession, useIntercomStartTalkSession, useIntercomStopSession, useIsMidWidth, useIsMobile, useItemFormUrl, useKeychainAdminAcknowledgeReset, useKeychainAdminDeleteOrphans, useKeychainAdminDownloadRecoveryKey, useKeychainAdminListAudit, useKeychainAdminListSecrets, useKeychainAdminPurgeRetiredKeys, useKeychainAdminResetKeychain, useKeychainAdminResetReport, useKeychainAdminReveal, useKeychainAdminRotateMasterKey, useKeychainAdminSetSystemSecret, useKeychainAdminStatus, useLawnMowerControlDock, useLawnMowerControlGetStatus, useLawnMowerControlPause, useLawnMowerControlStartMowing, useLiveBuffer, useLiveEvent, useLlmCancel, useLlmDeleteModel, useLlmDeleteProfile, useLlmGenerate, useLlmGenerateVision, useLlmGetDefaults, useLlmGetRuntimeStatus, useLlmGetUsage, useLlmInstallModel, useLlmListModelCatalog, useLlmListModels, useLlmListNodeModels, useLlmListProfileKinds, useLlmListProfiles, useLlmListRuntimeNodes, useLlmResolveModelRef, useLlmSetDefault, useLlmStartRuntime, useLlmStopRuntime, useLlmTestProfile, useLlmUpsertProfile, useLocalNetworkAddCustomAddress, useLocalNetworkDownloadCa, useLocalNetworkGetAddresses, useLocalNetworkGetAllowedAddresses, useLocalNetworkGetConnectionEndpoints, useLocalNetworkGetHubAddresses, useLocalNetworkGetNotificationEndpoint, useLocalNetworkGetPreferred, useLocalNetworkGetTlsStatus, useLocalNetworkGetViewerEndpoints, useLocalNetworkList, useLocalNetworkRegenerateCertificate, useLocalNetworkRemoveCustomAddress, useLocalNetworkResetAllowlistToBestMatch, useLocalNetworkRevertToGeneratedCertificate, useLocalNetworkSetAddressRole, useLocalNetworkSetAllowedAddresses, useLocalNetworkSetNotificationEndpoint, useLocalNetworkSetViewerEndpoints, useLocalNetworkUploadCertificate, useLockControlGetStatus, useLockControlLock, useLockControlOpen, useLockControlUnlock, useMediaPlayerGetStatus, useMediaPlayerNext, useMediaPlayerPause, useMediaPlayerPlay, useMediaPlayerPlayMedia, useMediaPlayerPrevious, useMediaPlayerSeek, useMediaPlayerSelectSource, useMediaPlayerSetMute, useMediaPlayerSetRepeat, useMediaPlayerSetShuffle, useMediaPlayerSetVolume, useMediaPlayerStop, useMeshNetworkGetStatus, useMeshNetworkJoin, useMeshNetworkLeave, useMeshNetworkListPeers, useMeshNetworkLogout, useMeshNetworkStartLogin, useMeshNetworkTestConnection, useMetricsProviderCollectSnapshot, useMetricsProviderGetAddonStats, useMetricsProviderGetCached, useMetricsProviderGetCpuTemperature, useMetricsProviderGetCurrent, useMetricsProviderGetDiskSpace, useMetricsProviderGetGpuInfo, useMetricsProviderGetLoadSeries, useMetricsProviderGetProcessStats, useMetricsProviderListAddonInstances, useMetricsProviderListNodeProcesses, useMotionDetectionAnalyze, useMotionDetectionApplyDeviceSettingsPatch, useMotionDetectionGetDeviceLiveContribution, useMotionDetectionGetDeviceSettingsContribution, useMotionDetectionRemoveCamera, useMotionDetectionReset, useMotionGetStatus, useMotionIsDetected, useMotionTriggerGetStatus, useMotionTriggerSetMotionTrigger, useMotionZonesGetOptions, useMotionZonesGetStatus, useMotionZonesSetZone, useMqttBrokerAddBroker, useMqttBrokerGetBrokerConfig, useMqttBrokerGetStatus, useMqttBrokerListBrokers, useMqttBrokerRemoveBroker, useMqttBrokerStartEmbeddedBroker, useMqttBrokerStopEmbeddedBroker, useMqttBrokerTestConnection, useNativeObjectDetectionGetOptions, useNativeObjectDetectionGetStatus, useNativeObjectDetectionSetEnabled, useNativeObjectDetectionSetSettings, useNavigation, useNavigationGetFeatures, useNavigationGetStatus, useNavigationGoToPoint, useNavigationListActions, useNavigationMove, useNavigationPlaySound, useNavigationRunAction, useNavigationSetLightLevel, useNavigationSetLightMode, useNavigationSetLightOn, useNavigationStop, useNetworkAccessGetEndpoint, useNetworkAccessGetStatus, useNetworkAccessListEndpoints, useNetworkAccessStart, useNetworkAccessStop, useNetworkLinkGetStatus, useNetworkQualityGetAllStats, useNetworkQualityGetDeviceStats, useNetworkQualityReportClientStats, useNodesClusterAddonStatus, useNodesDeployAddon, useNodesDirectory, useNodesExecuteQuery, useNodesGetCapUsageGraph, useNodesGetNodeAddons, useNodesRenameNode, useNodesRestartAddon, useNodesRestartNode, useNodesRestartProcess, useNodesSetProcessLogLevel, useNodesShutdownNode, useNodesTopology, useNodesUndeployAddon, useNotificationOutputDeleteTarget, useNotificationOutputDiscoverTargets, useNotificationOutputGetTarget, useNotificationOutputListTargetKinds, useNotificationOutputListTargets, useNotificationOutputProbeTargetConfig, useNotificationOutputSend, useNotificationOutputSetTargetEnabled, useNotificationOutputTestTarget, useNotificationOutputUpsertTarget, useNotificationRulesActivateAlarmProfile, useNotificationRulesCancelSnooze, useNotificationRulesCreateAlarmProfile, useNotificationRulesCreateRule, useNotificationRulesCreateSequence, useNotificationRulesCreateSnooze, useNotificationRulesDeleteAlarmProfile, useNotificationRulesDeleteRule, useNotificationRulesDeleteSequence, useNotificationRulesGetAlarmConfig, useNotificationRulesGetAlarmSensors, useNotificationRulesGetClipRetentionAsks, useNotificationRulesGetConditionCatalog, useNotificationRulesGetHistory, useNotificationRulesGetRule, useNotificationRulesGetRuleLastRuns, useNotificationRulesGetSequence, useNotificationRulesGetTemplateCatalog, useNotificationRulesListDeviceMutes, useNotificationRulesListRules, useNotificationRulesListSequences, useNotificationRulesListSnoozes, useNotificationRulesPreviewStateSummary, useNotificationRulesPreviewTemplate, useNotificationRulesRenameAlarmProfile, useNotificationRulesResolveArtifactUrl, useNotificationRulesSetAlarmConfig, useNotificationRulesSetDeviceMuted, useNotificationRulesSetRuleEnabled, useNotificationRulesTestRule, useNotificationRulesUpdateRule, useNotificationRulesUpdateSequence, useNotifierCancel, useNotifierGetStatus, useNotifierSend, useNumericSensorGetStatus, useOidcConnectionsConnectionFormSchema, useOidcConnectionsCreateConnection, useOidcConnectionsDeleteConnection, useOidcConnectionsListConnections, useOidcConnectionsUpdateConnection, useOptimisticSlice, useOptionalSystem, useOptionalWidgetRegistry, useOsdGetStatus, useOsdManagerClearSlotBinding, useOsdManagerCopyDeviceConfiguration, useOsdManagerDeleteTemplate, useOsdManagerGetConditionSupport, useOsdManagerGetDeviceOsd, useOsdManagerGetSourceCatalog, useOsdManagerListTemplates, useOsdManagerPreviewSlot, useOsdManagerRenderDevice, useOsdManagerSetSlotBinding, useOsdManagerSetSlotCameraEnabled, useOsdManagerUpsertTemplate, useOsdSetOverlay, usePTZ, usePersistedPageSize, usePetFeederCallPet, usePetFeederCancelFeed, usePetFeederFeed, usePetFeederGetStatus, usePetFeederMarkFoodReplenished, usePetFeederPlaySound, usePetFeederResetDesiccant, usePetFeederSetChildLock, usePetFeederSetFeedSound, usePetFeederSetIndicatorLight, usePetFeederSetVolume, usePickerSiteZones, usePipelineAnalyticsAddRetrainFrameFromRecording, usePipelineAnalyticsAddRetrainFramesToCollection, usePipelineAnalyticsApplyDeviceSettingsPatch, usePipelineAnalyticsBackfillRetrainOrigins, usePipelineAnalyticsCancelRelocateMedia, usePipelineAnalyticsCancelStorageMigrationMove, usePipelineAnalyticsClearTrackRelation, usePipelineAnalyticsClearTracks, usePipelineAnalyticsCompleteRetrainTrack, usePipelineAnalyticsCountRelocatableMedia, usePipelineAnalyticsCountUnstampedEventMedia, usePipelineAnalyticsCreateRetrainCollection, usePipelineAnalyticsDeleteDeviceEvents, usePipelineAnalyticsDeleteRetrainCollection, usePipelineAnalyticsDeleteTracks, usePipelineAnalyticsDeselectRetrainFrame, usePipelineAnalyticsGetActiveTracks, usePipelineAnalyticsGetAudioEvents, usePipelineAnalyticsGetDeviceLiveContribution, usePipelineAnalyticsGetDeviceSettingsContribution, usePipelineAnalyticsGetEventDensity, usePipelineAnalyticsGetEventDensityBatch, usePipelineAnalyticsGetEventMedia, usePipelineAnalyticsGetEventMediaFootprintByKind, usePipelineAnalyticsGetEventStoreFootprint, usePipelineAnalyticsGetKeyEvents, usePipelineAnalyticsGetKeyEventsBatch, usePipelineAnalyticsGetMediaReclaimStatus, usePipelineAnalyticsGetMotionEvents, usePipelineAnalyticsGetObjectEmbeddingRebuildStatus, usePipelineAnalyticsGetObjectEvents, usePipelineAnalyticsGetRetrainCorpusKpi, usePipelineAnalyticsGetRetrainExportUrl, usePipelineAnalyticsGetRetrainFrameImage, usePipelineAnalyticsGetSensorEvents, usePipelineAnalyticsGetStorageMigrationMoveStatus, usePipelineAnalyticsGetTrack, usePipelineAnalyticsGetTrackMedia, usePipelineAnalyticsGetTrainingExportSummary, usePipelineAnalyticsGetTrainingExportUrl, usePipelineAnalyticsListArchivedDebugNotes, usePipelineAnalyticsListBirthDecisions, usePipelineAnalyticsListEventKinds, usePipelineAnalyticsListEventKindsBatch, usePipelineAnalyticsListEventMedia, usePipelineAnalyticsListOpsLog, usePipelineAnalyticsListRecentTracks, usePipelineAnalyticsListRelocateMediaJobs, usePipelineAnalyticsListRetrainAnnotations, usePipelineAnalyticsListRetrainAssistProfiles, usePipelineAnalyticsListRetrainCollectionFrames, usePipelineAnalyticsListRetrainCollections, usePipelineAnalyticsListRetrainCorpusPage, usePipelineAnalyticsListRetrainFrames, usePipelineAnalyticsListRetrainStaging, usePipelineAnalyticsListTrackMedia, usePipelineAnalyticsListTrackRelations, usePipelineAnalyticsListTracks, usePipelineAnalyticsOfferRetrainArchive, usePipelineAnalyticsOwnersWithMedia, usePipelineAnalyticsPauseForStorageMigration, usePipelineAnalyticsProposeRetrainAnnotations, usePipelineAnalyticsProposeRetrainAnnotationsWithLlm, usePipelineAnalyticsPruneEvents, usePipelineAnalyticsPruneEventsBefore, usePipelineAnalyticsPruneTracksBefore, usePipelineAnalyticsReadLongTermSeries, usePipelineAnalyticsRebuildObjectEmbeddings, usePipelineAnalyticsReclaimDebugMedia, usePipelineAnalyticsReconcileFromDisk, usePipelineAnalyticsRefreshStorageLocationsForMigration, usePipelineAnalyticsRelocateMedia, usePipelineAnalyticsRemoveRetrainFrameFromCollection, usePipelineAnalyticsRenameRetrainCollection, usePipelineAnalyticsResolveRetrainTrainingCorpus, usePipelineAnalyticsRestageRetrainTrack, usePipelineAnalyticsResumeForStorageMigration, usePipelineAnalyticsSaveRetrainAnnotations, usePipelineAnalyticsSearchObjectEvents, usePipelineAnalyticsSelectRetrainFrames, usePipelineAnalyticsSetRetrainFrameComplete, usePipelineAnalyticsSetTrackFlags, usePipelineAnalyticsSetTrackPurity, usePipelineAnalyticsSetTrackRelation, usePipelineAnalyticsStartStorageMigrationMove, usePipelineAnalyticsWipeAllAnalytics, usePipelineAnalyticsWipeObjectEmbeddings, usePipelineAnalyticsWriteRetrainArchive, usePipelineExecutorCacheFrameInPool, usePipelineExecutorClearDeviceOverrides, usePipelineExecutorClearModelBoundDeviceOverrides, usePipelineExecutorDeleteModel, usePipelineExecutorDownloadModel, usePipelineExecutorGetAddonModels, usePipelineExecutorGetAudioCapabilities, usePipelineExecutorGetAvailableEngines, usePipelineExecutorGetCapabilities, usePipelineExecutorGetDefaultSteps, usePipelineExecutorGetDetectionConfigSchema, usePipelineExecutorGetEffectiveTuning, usePipelineExecutorGetEngineProvisioning, usePipelineExecutorGetGlobalPipelineConfig, usePipelineExecutorGetGlobalSteps, usePipelineExecutorGetInferenceDeviceHealth, usePipelineExecutorGetOrchestratorConfigSchema, usePipelineExecutorGetReferenceAudio, usePipelineExecutorGetReferenceAudioFiles, usePipelineExecutorGetReferenceImage, usePipelineExecutorGetSchema, usePipelineExecutorGetSelectedEngine, usePipelineExecutorGetVideoPipelineSteps, usePipelineExecutorInferCached, usePipelineExecutorKillEngine, usePipelineExecutorListLoadedEngines, usePipelineExecutorListReferenceImages, usePipelineExecutorRearmInferenceDevice, usePipelineExecutorRunAudioTest, usePipelineExecutorRunPipeline, usePipelineExecutorRunPipelineBatch, usePipelineExecutorSetVideoPipelineSteps, usePipelineExecutorSpinEngine, usePipelineExecutorUncacheFrame, usePipelineExecutorValidatePipeline, usePipelineOrchestratorAbortNodeBenchmark, usePipelineOrchestratorApplyAutoTune, usePipelineOrchestratorApplyDeviceSettingsPatch, usePipelineOrchestratorAssignAudio, usePipelineOrchestratorAssignPipeline, usePipelineOrchestratorDeleteNodeBenchmarkResult, usePipelineOrchestratorGetAgentLoad, usePipelineOrchestratorGetAgentSettings, usePipelineOrchestratorGetAudioAssignment, usePipelineOrchestratorGetAudioAssignments, usePipelineOrchestratorGetAudioNodeLoad, usePipelineOrchestratorGetCameraDetectionSource, usePipelineOrchestratorGetCameraMetrics, usePipelineOrchestratorGetCameraSettings, usePipelineOrchestratorGetCameraStatus, usePipelineOrchestratorGetCameraStatuses, usePipelineOrchestratorGetCameraStepOverrides, usePipelineOrchestratorGetCameraSwitches, usePipelineOrchestratorGetCapabilityBindings, usePipelineOrchestratorGetClusterModelChoice, usePipelineOrchestratorGetDeviceLiveContribution, usePipelineOrchestratorGetDeviceSettingsContribution, usePipelineOrchestratorGetEffectiveShares, usePipelineOrchestratorGetGlobalMetrics, usePipelineOrchestratorGetIngestOwner, usePipelineOrchestratorGetNodeBenchmarkCandidates, usePipelineOrchestratorGetNodeBenchmarkPreflight, usePipelineOrchestratorGetNodeBenchmarkStatus, usePipelineOrchestratorGetNodeInferenceDevices, usePipelineOrchestratorGetPipelineAssignment, usePipelineOrchestratorGetPipelineAssignments, usePipelineOrchestratorGetPipelineDevicePin, usePipelineOrchestratorGetPlacementStats, usePipelineOrchestratorGetReconcileFromDiskStatus, usePipelineOrchestratorListAgentSettings, usePipelineOrchestratorListNodeBenchmarkResults, usePipelineOrchestratorPauseForStorageMigration, usePipelineOrchestratorPlanAutoTune, usePipelineOrchestratorRebalance, usePipelineOrchestratorReconcileFromDisk, usePipelineOrchestratorRemoveAgentSettings, usePipelineOrchestratorRequestOccupancyLook, usePipelineOrchestratorResetNodePipelineDefaults, usePipelineOrchestratorResolvePipeline, usePipelineOrchestratorResumeForStorageMigration, usePipelineOrchestratorSetAgentCapabilities, usePipelineOrchestratorSetAgentDecodeLimits, usePipelineOrchestratorSetAgentInferenceDevices, usePipelineOrchestratorSetAgentMaxCameras, usePipelineOrchestratorSetAgentReachableHost, usePipelineOrchestratorSetCameraDetectionSource, usePipelineOrchestratorSetCameraPipelineForAgent, usePipelineOrchestratorSetCameraSensors, usePipelineOrchestratorSetCameraStepOverride, usePipelineOrchestratorSetCameraStepSettings, usePipelineOrchestratorSetCameraStepToggle, usePipelineOrchestratorSetCameraSwitch, usePipelineOrchestratorSetCapabilityBinding, usePipelineOrchestratorSetLoadBalancingShares, usePipelineOrchestratorSetPipelineDevicePin, usePipelineOrchestratorSetShareSource, usePipelineOrchestratorStartNodeBenchmark, usePipelineOrchestratorSuggestShares, usePipelineOrchestratorUnassignAudio, usePipelineOrchestratorUnassignPipeline, usePipelineRunnerAbortNodeBench, usePipelineRunnerAttachCamera, usePipelineRunnerDetachCamera, usePipelineRunnerGetAllCameraMetrics, usePipelineRunnerGetCameraMetrics, usePipelineRunnerGetLocalCameras, usePipelineRunnerGetLocalLoad, usePipelineRunnerGetLocalMetrics, usePipelineRunnerGetNativeCrop, usePipelineRunnerGetNodeBenchStatus, usePipelineRunnerGetParkedTrackFrame, usePipelineRunnerParkTrackFrame, usePipelineRunnerReleaseParkedTrackFrames, usePipelineRunnerReportMotion, usePipelineRunnerRequestOccupancyBurst, usePipelineRunnerRunDetailSubtree, usePipelineRunnerRunStatelessStep, usePipelineRunnerStartNodeBench, usePlateGalleryAssignPlate, usePlateGalleryAssignPlates, usePlateGalleryCorrectPlateText, usePlateGalleryCreateVehicle, usePlateGalleryDeletePlate, usePlateGalleryDeleteVehicle, usePlateGalleryGetPlateByTrack, usePlateGalleryGetPlateMedia, usePlateGalleryListPlates, usePlateGalleryListVehicleSamples, usePlateGalleryListVehicles, usePlateGalleryRemoveVehicleSample, usePlateGalleryRenameVehicle, usePlateGallerySearchPlates, usePlateGallerySuggestPlateClusters, usePlateGalleryUnassignPlate, usePlateGalleryUnassignPlates, usePlayerOverlayLayer, usePlayerOverlayLayers, usePlayerToolbarButton, usePlayerToolbarButtons, usePowerMeterGetStatus, usePresenceGetStatus, usePressureSensorGetStatus, usePrivacyMaskGetOptions, usePrivacyMaskGetStatus, usePrivacyMaskSetAudioEnabled, usePrivacyMaskSetMask, usePrompt, usePtzAutotrackGetSettings, usePtzAutotrackGetStatus, usePtzAutotrackSetEnabled, usePtzAutotrackSetSettings, usePtzCaptureHomeHere, usePtzContinuousMove, usePtzDeletePreset, usePtzGetHomePreset, usePtzGetHomeReturn, usePtzGetOptions, usePtzGetPosition, usePtzGetPresets, usePtzGetStatus, usePtzGoHome, usePtzGoToPreset, usePtzMove, usePtzSavePreset, usePtzSetAutofocus, usePtzSetHomePreset, usePtzSetHomeReturn, usePtzStop, useRebootReboot, useRecordedPlayback, useRecordingArchiveApplyDeviceSettingsPatch, useRecordingArchiveCancelRelocateJob, useRecordingArchiveCancelStorageMigrationMove, useRecordingArchiveDeleteFootprint, useRecordingArchiveGetAvailabilityBatch, useRecordingArchiveGetDaysWithRecordingsBatch, useRecordingArchiveGetDeviceConfig, useRecordingArchiveGetDeviceLiveContribution, useRecordingArchiveGetDeviceSettingsContribution, useRecordingArchiveGetPlacement, useRecordingArchiveGetRelocateResidue, useRecordingArchiveGetStatus, useRecordingArchiveGetStorageMigrationMoveStatus, useRecordingArchiveGetStorageUsage, useRecordingArchiveListOpsLog, useRecordingArchiveListRelocateJobs, useRecordingArchiveLocateSegment, useRecordingArchivePauseForStorageMigration, useRecordingArchivePlanStorageRebalance, useRecordingArchivePruneFootage, useRecordingArchiveReadGopBytes, useRecordingArchiveReadSegmentBytes, useRecordingArchiveReadWindowBytes, useRecordingArchiveReconcileLedgerAgainstDisk, useRecordingArchiveRefreshStorageLocationsForMigration, useRecordingArchiveRelocateFootage, useRecordingArchiveRenderClip, useRecordingArchiveRenderGif, useRecordingArchiveRescanStorage, useRecordingArchiveResumeForStorageMigration, useRecordingArchiveSetDeviceConfig, useRecordingArchiveSetDevicePlacement, useRecordingArchiveStartStorageMigrationMove, useRecordingArchiveStartStorageRebalance, useRecordingExportCancelExport, useRecordingExportCreateExport, useRecordingExportDeleteExport, useRecordingExportGetDownloadUrl, useRecordingExportGetExport, useRecordingExportListExports, useRecordingExportReadExportBytes, useRecordingGetAvailability, useRecordingGetDaysWithRecordings, useRecordingGetPlayback, useRecordingGetPlaybackOptions, useRecordingListSources, useRecordingOnboardGetOptions, useRecordingOnboardGetStatus, useRecordingOnboardSetSettings, useRecordingSignalGetStatus, useRemoteComponent, useRoleDisplayDefaults, useSceneMonitorCaptureReference, useSceneMonitorCreateScene, useSceneMonitorDeleteReference, useSceneMonitorDeleteScene, useSceneMonitorGetStatus, useSceneMonitorListScenes, useSceneMonitorListScenesBatch, useSceneMonitorRecheckNow, useSceneMonitorResetScene, useSceneMonitorUpdateScene, useScriptRunnerGetStatus, useScriptRunnerRun, useScriptRunnerStop, useScrubController, useServerManagementApplyServerUpdate, useServerManagementCheckServerUpdate, useServerManagementGetServerPackageStatus, useServerManagementRestartServer, useServerManagementRollbackServerUpdate, useSettingsStoreAggregate, useSettingsStoreCount, useSettingsStoreDeclareCollection, useSettingsStoreDelete, useSettingsStoreDeleteWhere, useSettingsStoreGet, useSettingsStoreHistogram, useSettingsStoreInsert, useSettingsStoreInsertMany, useSettingsStoreIsEmpty, useSettingsStoreQuery, useSettingsStoreSet, useSettingsStoreTransact, useSettingsStoreUpdate, useSettingsStoreUpdateWhere, useSettingsStoreUpsert, useSettingsStoreUpsertMany, useSmokeGetStatus, useSnapshotApplyDeviceSettingsPatch, useSnapshotGetDebugState, useSnapshotGetDeviceLiveContribution, useSnapshotGetDeviceSettingsContribution, useSnapshotGetSnapshot, useSnapshotGetSnapshotLinks, useSnapshotGetSnapshotOverview, useSnapshotGetStatus, useSnapshotInvalidateCache, useStationaryOverlay, useStorageAbortUpload, useStorageBeginDownload, useStorageBeginUpload, useStorageDelete, useStorageDeleteLocation, useStorageEndDownload, useStorageExists, useStorageFinalizeUpload, useStorageGetAvailableSpace, useStorageList, useStorageListDrainProgress, useStorageListLocationDeclarations, useStorageListLocations, useStorageListProviders, useStorageMigrationCancel, useStorageMigrationCleanupCancel, useStorageMigrationCleanupStart, useStorageMigrationCleanupStatus, useStorageMigrationDrain, useStorageMigrationHistory, useStorageMigrationMovers, useStorageMigrationPlan, useStorageMigrationResidue, useStorageMigrationStart, useStorageMigrationStatus, useStorageRead, useStorageReadChunk, useStorageResolve, useStorageTestConfig, useStorageTestLocation, useStorageUpsertLocation, useStorageWrite, useStorageWriteChunk, useStoredGroupBy, useStreamBrokerAcquireEgressTranscode, useStreamBrokerApplyDeviceSettingsPatch, useStreamBrokerAssignProfile, useStreamBrokerFetchEventMedia, useStreamBrokerForgetDeviceHardware, useStreamBrokerGetAllRtspEntries, useStreamBrokerGetBrokerStats, useStreamBrokerGetDeviceAudioMute, useStreamBrokerGetDeviceLiveContribution, useStreamBrokerGetDeviceSettingsContribution, useStreamBrokerGetLiveViewerCounts, useStreamBrokerGetPreBufferInfo, useStreamBrokerGetRtspEntry, useStreamBrokerGetRtspPort, useStreamBrokerGetStreamUrl, useStreamBrokerGetStreamWithCodec, useStreamBrokerIsRtspEnabled, useStreamBrokerKillClient, useStreamBrokerListAllCameraStreams, useStreamBrokerListAllProfileSlots, useStreamBrokerListClients, useStreamBrokerProbeStream, useStreamBrokerProduceEventMedia, useStreamBrokerPublishCameraStream, useStreamBrokerPullAudioChunks, useStreamBrokerRegenerateRtspToken, useStreamBrokerReleaseEgressTranscode, useStreamBrokerReleaseStreamWithCodec, useStreamBrokerRenderPreBufferClip, useStreamBrokerReportStreamSignal, useStreamBrokerRestartProfile, useStreamBrokerRetractCameraStream, useStreamBrokerSetDeviceAudioMute, useStreamBrokerSetPreBufferDuration, useStreamBrokerSetRtspEnabled, useStreamBrokerSubscribeAudioChunks, useStreamBrokerUnassignProfile, useStreamBrokerUnsubscribeAudioChunks, useStreamCatalogGetCatalog, useStreamParamsGetConfigSchema, useStreamParamsGetOptions, useStreamParamsGetStatus, useStreamParamsSetProfile, useStreamSignalsListSignals, useSwitchGetStatus, useSwitchSetState, useSystem, useSystemDetectSiteLocation, useSystemFeatureFlags, useSystemForceRetentionCleanup, useSystemGetFailureContributions, useSystemGetLoadContributions, useSystemGetLoggingSettings, useSystemGetRequestCensus, useSystemGetRetentionConfig, useSystemGetSiteLocation, useSystemHealth, useSystemInfo, useSystemMutation, useSystemNetworkAddresses, useSystemQuery, useSystemSetLoggingSettings, useSystemSetRetentionConfig, useSystemSetSiteLocation, useTamperGetStatus, useTemperatureSensorGetStatus, useTerminalSessionAdoptLegacyMonitor, useTerminalSessionClose, useTerminalSessionCreateInstance, useTerminalSessionDeleteInstance, useTerminalSessionListInstances, useTerminalSessionListLegacyCameras, useTerminalSessionListProfiles, useTerminalSessionListSessions, useTerminalSessionOpenSession, useTerminalSessionPullOutput, useTerminalSessionResize, useTerminalSessionSetInstanceEnabled, useTerminalSessionUpdateInstance, useTerminalSessionWriteInput, useThemeMode, useToastOnToast, useTrainingCanaryResult, useTrainingCancelJob, useTrainingDiscardResult, useTrainingGetJob, useTrainingGetJobResult, useTrainingListBaseModels, useTrainingListJobs, useTrainingPlanJob, useTrainingRegisterResult, useTrainingRollbackCanary, useTrainingStartJob, useTrainingStartJobBatch, useTurnProviderGetTurnServers, useUpdateGetStatus, useUpdateInstallUpdate, useUrlQueryParam, useUserManagementConfirmTotp, useUserManagementCreateScopedToken, useUserManagementCreateUser, useUserManagementDeleteUser, useUserManagementDisableTotp, useUserManagementFindUserByExternalIdentity, useUserManagementGetTotpStatus, useUserManagementListApiKeys, useUserManagementListExternalIdentities, useUserManagementListOauthSessions, useUserManagementListScopedTokens, useUserManagementListUsers, useUserManagementOauthExchangeCode, useUserManagementOauthIssueCode, useUserManagementOauthRefresh, useUserManagementOauthVerifyAccessToken, useUserManagementResetPassword, useUserManagementRevokeApiKey, useUserManagementRevokeOauthSession, useUserManagementRevokeScopedToken, useUserManagementSetUserScopes, useUserManagementSetupTotp, useUserManagementUnlinkExternalIdentity, useUserManagementUpdateUser, useUserManagementValidateCredentials, useUserManagementValidateScopedToken, useUserManagementVerifyTotp, useVacuumControlGetStatus, useVacuumControlLocate, useVacuumControlPause, useVacuumControlReturnToBase, useVacuumControlSetFanSpeed, useVacuumControlStart, useVacuumControlStop, useValveClose, useValveGetStatus, useValveOpen, useValveSetPosition, useValveStop, useVibrationGetStatus, useVideoclipsDialClipStream, useVideoclipsGetClipPlayback, useVideoclipsGetPlaybackOptions, useVideoclipsListClips, useVideoclipsListSources, useVideoclipsOfferClipBytes, useVideoclipsReadClipBytes, useVodPlayback, useWaterHeaterGetStatus, useWaterHeaterSetAway, useWaterHeaterSetOperationMode, useWaterHeaterSetTargetTemp, useWeatherGetStatus, useWebrtcSessionAddIceCandidate, useWebrtcSessionApplyDownlinkProbe, useWebrtcSessionCloseSession, useWebrtcSessionCreateSession, useWebrtcSessionGetIceCandidates, useWebrtcSessionGetSessionDebug, useWebrtcSessionGetSessionState, useWebrtcSessionHandleAnswer, useWebrtcSessionHandleOffer, useWebrtcSessionHasAdaptiveBitrate, useWebrtcSessionListStreams, useWidget, useWidgetMetadata, useWidgetRegistry, useZoneAnalyticsGetCameraHistory, useZoneAnalyticsGetCurrentSnapshot, useZoneAnalyticsGetCurrentSnapshotBatch, useZoneAnalyticsGetUnzonedHistory, useZoneAnalyticsGetZoneHistory, useZoneEditing, useZoneRulesListRules, useZoneRulesSetRules, useZonesAddZone, useZonesListZones, useZonesRemoveZone, useZonesUpdateZone, RotateCw as ut, Users as v, vacuumStateMeta, validateScopes, valveStateMeta, variantLabel, GraduationCap as vn, Camera as vr, Power as vt, Type as w, waterHeaterPhase, waterHeaterTint, weatherConditionMeta, weatherTint, withResolvedParentDetail, withUseRootModel, Flashlight as wn, Bone as wr, writeStoredGroupBy, Pipette as wt, Upload as x, Funnel as xn, Bug as xr, Plus as xt, User as y, Gauge as yn, Cable as yr, PowerOff as yt, SunMedium as z, Dog as zn, ArrowUpToLine as zr, MonitorPlay as zt };
|