@camstack/ui-library 1.2.195 → 1.2.197
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-7c3yiT5E.js → MotionZonesSettings-DHDfnZyU.js} +1 -1
- package/dist/{PrivacyMaskSettings-DfZAFg32.cjs → PrivacyMaskSettings-BqjXsXZR.cjs} +1 -33
- package/dist/{PrivacyMaskSettings-PkYs077O.js → PrivacyMaskSettings-DMkchqO1.js} +1 -33
- package/dist/{SceneMonitorEditor-BvDy3x3k.js → SceneMonitorEditor-vfWTm6qv.js} +1 -1
- package/dist/composites/data-table-filter-bar.d.ts +23 -0
- package/dist/composites/data-table-filter.d.ts +36 -0
- package/dist/composites/device-item/admin-link-quick-action.d.ts +30 -0
- package/dist/composites/device-item/helpers.d.ts +18 -2
- package/dist/composites/device-item/index.d.ts +1 -0
- package/dist/composites/device-item/role-display-defaults-context.d.ts +21 -0
- package/dist/composites/device-list/table-layout.d.ts +5 -2
- package/dist/composites/device-meta.d.ts +15 -5
- package/dist/composites/icon-picker.d.ts +55 -0
- package/dist/composites/index.d.ts +7 -0
- package/dist/composites/use-data-table-filter.d.ts +16 -0
- package/dist/generated/system-hooks.d.ts +10 -0
- package/dist/index.cjs +2080 -72
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2066 -77
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -375,6 +375,30 @@ var Bath = createLucideIcon("bath", [
|
|
|
375
375
|
* This source code is licensed under the ISC license.
|
|
376
376
|
* See the LICENSE file in the root directory of this source tree.
|
|
377
377
|
*/
|
|
378
|
+
var BatteryCharging = createLucideIcon("battery-charging", [
|
|
379
|
+
["path", {
|
|
380
|
+
d: "m11 7-3 5h4l-3 5",
|
|
381
|
+
key: "b4a64w"
|
|
382
|
+
}],
|
|
383
|
+
["path", {
|
|
384
|
+
d: "M14.856 6H16a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.935",
|
|
385
|
+
key: "lre1cr"
|
|
386
|
+
}],
|
|
387
|
+
["path", {
|
|
388
|
+
d: "M22 14v-4",
|
|
389
|
+
key: "14q9d5"
|
|
390
|
+
}],
|
|
391
|
+
["path", {
|
|
392
|
+
d: "M5.14 18H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.936",
|
|
393
|
+
key: "13q5k0"
|
|
394
|
+
}]
|
|
395
|
+
]);
|
|
396
|
+
/**
|
|
397
|
+
* @license lucide-react v0.576.0 - ISC
|
|
398
|
+
*
|
|
399
|
+
* This source code is licensed under the ISC license.
|
|
400
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
401
|
+
*/
|
|
378
402
|
var BatteryFull = createLucideIcon("battery-full", [
|
|
379
403
|
["path", {
|
|
380
404
|
d: "M10 10v4",
|
|
@@ -504,6 +528,78 @@ var Battery = createLucideIcon("battery", [["path", {
|
|
|
504
528
|
* This source code is licensed under the ISC license.
|
|
505
529
|
* See the LICENSE file in the root directory of this source tree.
|
|
506
530
|
*/
|
|
531
|
+
var BedDouble = createLucideIcon("bed-double", [
|
|
532
|
+
["path", {
|
|
533
|
+
d: "M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",
|
|
534
|
+
key: "1k78r4"
|
|
535
|
+
}],
|
|
536
|
+
["path", {
|
|
537
|
+
d: "M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",
|
|
538
|
+
key: "fb3tl2"
|
|
539
|
+
}],
|
|
540
|
+
["path", {
|
|
541
|
+
d: "M12 4v6",
|
|
542
|
+
key: "1dcgq2"
|
|
543
|
+
}],
|
|
544
|
+
["path", {
|
|
545
|
+
d: "M2 18h20",
|
|
546
|
+
key: "ajqnye"
|
|
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 Bed = createLucideIcon("bed", [
|
|
556
|
+
["path", {
|
|
557
|
+
d: "M2 4v16",
|
|
558
|
+
key: "vw9hq8"
|
|
559
|
+
}],
|
|
560
|
+
["path", {
|
|
561
|
+
d: "M2 8h18a2 2 0 0 1 2 2v10",
|
|
562
|
+
key: "1dgv2r"
|
|
563
|
+
}],
|
|
564
|
+
["path", {
|
|
565
|
+
d: "M2 17h20",
|
|
566
|
+
key: "18nfp3"
|
|
567
|
+
}],
|
|
568
|
+
["path", {
|
|
569
|
+
d: "M6 8v9",
|
|
570
|
+
key: "1yriud"
|
|
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
|
+
var BellOff = createLucideIcon("bell-off", [
|
|
580
|
+
["path", {
|
|
581
|
+
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
582
|
+
key: "vwvbt9"
|
|
583
|
+
}],
|
|
584
|
+
["path", {
|
|
585
|
+
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",
|
|
586
|
+
key: "178tsu"
|
|
587
|
+
}],
|
|
588
|
+
["path", {
|
|
589
|
+
d: "m2 2 20 20",
|
|
590
|
+
key: "1ooewy"
|
|
591
|
+
}],
|
|
592
|
+
["path", {
|
|
593
|
+
d: "M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",
|
|
594
|
+
key: "1hqiys"
|
|
595
|
+
}]
|
|
596
|
+
]);
|
|
597
|
+
/**
|
|
598
|
+
* @license lucide-react v0.576.0 - ISC
|
|
599
|
+
*
|
|
600
|
+
* This source code is licensed under the ISC license.
|
|
601
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
602
|
+
*/
|
|
507
603
|
var BellRing = createLucideIcon("bell-ring", [
|
|
508
604
|
["path", {
|
|
509
605
|
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
@@ -641,6 +737,16 @@ var Blinds = createLucideIcon("blinds", [
|
|
|
641
737
|
* This source code is licensed under the ISC license.
|
|
642
738
|
* See the LICENSE file in the root directory of this source tree.
|
|
643
739
|
*/
|
|
740
|
+
var Bluetooth = createLucideIcon("bluetooth", [["path", {
|
|
741
|
+
d: "m7 7 10 10-5 5V2l5 5L7 17",
|
|
742
|
+
key: "1q5490"
|
|
743
|
+
}]]);
|
|
744
|
+
/**
|
|
745
|
+
* @license lucide-react v0.576.0 - ISC
|
|
746
|
+
*
|
|
747
|
+
* This source code is licensed under the ISC license.
|
|
748
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
749
|
+
*/
|
|
644
750
|
var Bone = createLucideIcon("bone", [["path", {
|
|
645
751
|
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",
|
|
646
752
|
key: "w610uw"
|
|
@@ -707,6 +813,23 @@ var Box = createLucideIcon("box", [
|
|
|
707
813
|
* This source code is licensed under the ISC license.
|
|
708
814
|
* See the LICENSE file in the root directory of this source tree.
|
|
709
815
|
*/
|
|
816
|
+
var Briefcase = createLucideIcon("briefcase", [["path", {
|
|
817
|
+
d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",
|
|
818
|
+
key: "jecpp"
|
|
819
|
+
}], ["rect", {
|
|
820
|
+
width: "20",
|
|
821
|
+
height: "14",
|
|
822
|
+
x: "2",
|
|
823
|
+
y: "6",
|
|
824
|
+
rx: "2",
|
|
825
|
+
key: "i6l2r4"
|
|
826
|
+
}]]);
|
|
827
|
+
/**
|
|
828
|
+
* @license lucide-react v0.576.0 - ISC
|
|
829
|
+
*
|
|
830
|
+
* This source code is licensed under the ISC license.
|
|
831
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
832
|
+
*/
|
|
710
833
|
var Bug = createLucideIcon("bug", [
|
|
711
834
|
["path", {
|
|
712
835
|
d: "M12 20v-9",
|
|
@@ -759,6 +882,90 @@ var Bug = createLucideIcon("bug", [
|
|
|
759
882
|
* This source code is licensed under the ISC license.
|
|
760
883
|
* See the LICENSE file in the root directory of this source tree.
|
|
761
884
|
*/
|
|
885
|
+
var Building2 = createLucideIcon("building-2", [
|
|
886
|
+
["path", {
|
|
887
|
+
d: "M10 12h4",
|
|
888
|
+
key: "a56b0p"
|
|
889
|
+
}],
|
|
890
|
+
["path", {
|
|
891
|
+
d: "M10 8h4",
|
|
892
|
+
key: "1sr2af"
|
|
893
|
+
}],
|
|
894
|
+
["path", {
|
|
895
|
+
d: "M14 21v-3a2 2 0 0 0-4 0v3",
|
|
896
|
+
key: "1rgiei"
|
|
897
|
+
}],
|
|
898
|
+
["path", {
|
|
899
|
+
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",
|
|
900
|
+
key: "secmi2"
|
|
901
|
+
}],
|
|
902
|
+
["path", {
|
|
903
|
+
d: "M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",
|
|
904
|
+
key: "16ra0t"
|
|
905
|
+
}]
|
|
906
|
+
]);
|
|
907
|
+
/**
|
|
908
|
+
* @license lucide-react v0.576.0 - ISC
|
|
909
|
+
*
|
|
910
|
+
* This source code is licensed under the ISC license.
|
|
911
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
912
|
+
*/
|
|
913
|
+
var Building = createLucideIcon("building", [
|
|
914
|
+
["path", {
|
|
915
|
+
d: "M12 10h.01",
|
|
916
|
+
key: "1nrarc"
|
|
917
|
+
}],
|
|
918
|
+
["path", {
|
|
919
|
+
d: "M12 14h.01",
|
|
920
|
+
key: "1etili"
|
|
921
|
+
}],
|
|
922
|
+
["path", {
|
|
923
|
+
d: "M12 6h.01",
|
|
924
|
+
key: "1vi96p"
|
|
925
|
+
}],
|
|
926
|
+
["path", {
|
|
927
|
+
d: "M16 10h.01",
|
|
928
|
+
key: "1m94wz"
|
|
929
|
+
}],
|
|
930
|
+
["path", {
|
|
931
|
+
d: "M16 14h.01",
|
|
932
|
+
key: "1gbofw"
|
|
933
|
+
}],
|
|
934
|
+
["path", {
|
|
935
|
+
d: "M16 6h.01",
|
|
936
|
+
key: "1x0f13"
|
|
937
|
+
}],
|
|
938
|
+
["path", {
|
|
939
|
+
d: "M8 10h.01",
|
|
940
|
+
key: "19clt8"
|
|
941
|
+
}],
|
|
942
|
+
["path", {
|
|
943
|
+
d: "M8 14h.01",
|
|
944
|
+
key: "6423bh"
|
|
945
|
+
}],
|
|
946
|
+
["path", {
|
|
947
|
+
d: "M8 6h.01",
|
|
948
|
+
key: "1dz90k"
|
|
949
|
+
}],
|
|
950
|
+
["path", {
|
|
951
|
+
d: "M9 22v-3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3",
|
|
952
|
+
key: "cabbwy"
|
|
953
|
+
}],
|
|
954
|
+
["rect", {
|
|
955
|
+
x: "4",
|
|
956
|
+
y: "2",
|
|
957
|
+
width: "16",
|
|
958
|
+
height: "20",
|
|
959
|
+
rx: "2",
|
|
960
|
+
key: "1uxh74"
|
|
961
|
+
}]
|
|
962
|
+
]);
|
|
963
|
+
/**
|
|
964
|
+
* @license lucide-react v0.576.0 - ISC
|
|
965
|
+
*
|
|
966
|
+
* This source code is licensed under the ISC license.
|
|
967
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
968
|
+
*/
|
|
762
969
|
var Bus = createLucideIcon("bus", [
|
|
763
970
|
["path", {
|
|
764
971
|
d: "M8 6v6",
|
|
@@ -835,6 +1042,34 @@ var Cable = createLucideIcon("cable", [
|
|
|
835
1042
|
* This source code is licensed under the ISC license.
|
|
836
1043
|
* See the LICENSE file in the root directory of this source tree.
|
|
837
1044
|
*/
|
|
1045
|
+
var Calendar = createLucideIcon("calendar", [
|
|
1046
|
+
["path", {
|
|
1047
|
+
d: "M8 2v4",
|
|
1048
|
+
key: "1cmpym"
|
|
1049
|
+
}],
|
|
1050
|
+
["path", {
|
|
1051
|
+
d: "M16 2v4",
|
|
1052
|
+
key: "4m81vk"
|
|
1053
|
+
}],
|
|
1054
|
+
["rect", {
|
|
1055
|
+
width: "18",
|
|
1056
|
+
height: "18",
|
|
1057
|
+
x: "3",
|
|
1058
|
+
y: "4",
|
|
1059
|
+
rx: "2",
|
|
1060
|
+
key: "1hopcy"
|
|
1061
|
+
}],
|
|
1062
|
+
["path", {
|
|
1063
|
+
d: "M3 10h18",
|
|
1064
|
+
key: "8toen8"
|
|
1065
|
+
}]
|
|
1066
|
+
]);
|
|
1067
|
+
/**
|
|
1068
|
+
* @license lucide-react v0.576.0 - ISC
|
|
1069
|
+
*
|
|
1070
|
+
* This source code is licensed under the ISC license.
|
|
1071
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1072
|
+
*/
|
|
838
1073
|
var Camera = createLucideIcon("camera", [["path", {
|
|
839
1074
|
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",
|
|
840
1075
|
key: "18u6gg"
|
|
@@ -1078,6 +1313,21 @@ var CircleDot = createLucideIcon("circle-dot", [["circle", {
|
|
|
1078
1313
|
* This source code is licensed under the ISC license.
|
|
1079
1314
|
* See the LICENSE file in the root directory of this source tree.
|
|
1080
1315
|
*/
|
|
1316
|
+
var CircleParking = createLucideIcon("circle-parking", [["circle", {
|
|
1317
|
+
cx: "12",
|
|
1318
|
+
cy: "12",
|
|
1319
|
+
r: "10",
|
|
1320
|
+
key: "1mglay"
|
|
1321
|
+
}], ["path", {
|
|
1322
|
+
d: "M9 17V7h4a3 3 0 0 1 0 6H9",
|
|
1323
|
+
key: "1dfk2c"
|
|
1324
|
+
}]]);
|
|
1325
|
+
/**
|
|
1326
|
+
* @license lucide-react v0.576.0 - ISC
|
|
1327
|
+
*
|
|
1328
|
+
* This source code is licensed under the ISC license.
|
|
1329
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1330
|
+
*/
|
|
1081
1331
|
var CirclePause = createLucideIcon("circle-pause", [
|
|
1082
1332
|
["circle", {
|
|
1083
1333
|
cx: "12",
|
|
@@ -1433,6 +1683,30 @@ var Cog = createLucideIcon("cog", [
|
|
|
1433
1683
|
* This source code is licensed under the ISC license.
|
|
1434
1684
|
* See the LICENSE file in the root directory of this source tree.
|
|
1435
1685
|
*/
|
|
1686
|
+
var CookingPot = createLucideIcon("cooking-pot", [
|
|
1687
|
+
["path", {
|
|
1688
|
+
d: "M2 12h20",
|
|
1689
|
+
key: "9i4pu4"
|
|
1690
|
+
}],
|
|
1691
|
+
["path", {
|
|
1692
|
+
d: "M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8",
|
|
1693
|
+
key: "u0tga0"
|
|
1694
|
+
}],
|
|
1695
|
+
["path", {
|
|
1696
|
+
d: "m4 8 16-4",
|
|
1697
|
+
key: "16g0ng"
|
|
1698
|
+
}],
|
|
1699
|
+
["path", {
|
|
1700
|
+
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",
|
|
1701
|
+
key: "12cejc"
|
|
1702
|
+
}]
|
|
1703
|
+
]);
|
|
1704
|
+
/**
|
|
1705
|
+
* @license lucide-react v0.576.0 - ISC
|
|
1706
|
+
*
|
|
1707
|
+
* This source code is licensed under the ISC license.
|
|
1708
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
1709
|
+
*/
|
|
1436
1710
|
var CopyPlus = createLucideIcon("copy-plus", [
|
|
1437
1711
|
["line", {
|
|
1438
1712
|
x1: "15",
|
|
@@ -1719,6 +1993,38 @@ var Download = createLucideIcon("download", [
|
|
|
1719
1993
|
* This source code is licensed under the ISC license.
|
|
1720
1994
|
* See the LICENSE file in the root directory of this source tree.
|
|
1721
1995
|
*/
|
|
1996
|
+
var Drill = createLucideIcon("drill", [
|
|
1997
|
+
["path", {
|
|
1998
|
+
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",
|
|
1999
|
+
key: "ioqxb1"
|
|
2000
|
+
}],
|
|
2001
|
+
["path", {
|
|
2002
|
+
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",
|
|
2003
|
+
key: "1rs59n"
|
|
2004
|
+
}],
|
|
2005
|
+
["path", {
|
|
2006
|
+
d: "M14 4h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3",
|
|
2007
|
+
key: "105ega"
|
|
2008
|
+
}],
|
|
2009
|
+
["path", {
|
|
2010
|
+
d: "M18 6h4",
|
|
2011
|
+
key: "66u95g"
|
|
2012
|
+
}],
|
|
2013
|
+
["path", {
|
|
2014
|
+
d: "m5 10-2 8",
|
|
2015
|
+
key: "xt2lic"
|
|
2016
|
+
}],
|
|
2017
|
+
["path", {
|
|
2018
|
+
d: "m7 18 2-8",
|
|
2019
|
+
key: "1bzku2"
|
|
2020
|
+
}]
|
|
2021
|
+
]);
|
|
2022
|
+
/**
|
|
2023
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2024
|
+
*
|
|
2025
|
+
* This source code is licensed under the ISC license.
|
|
2026
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2027
|
+
*/
|
|
1722
2028
|
var Droplet = createLucideIcon("droplet", [["path", {
|
|
1723
2029
|
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",
|
|
1724
2030
|
key: "c7niix"
|
|
@@ -1742,6 +2048,34 @@ var Droplets = createLucideIcon("droplets", [["path", {
|
|
|
1742
2048
|
* This source code is licensed under the ISC license.
|
|
1743
2049
|
* See the LICENSE file in the root directory of this source tree.
|
|
1744
2050
|
*/
|
|
2051
|
+
var Dumbbell = createLucideIcon("dumbbell", [
|
|
2052
|
+
["path", {
|
|
2053
|
+
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",
|
|
2054
|
+
key: "9m4mmf"
|
|
2055
|
+
}],
|
|
2056
|
+
["path", {
|
|
2057
|
+
d: "m2.5 21.5 1.4-1.4",
|
|
2058
|
+
key: "17g3f0"
|
|
2059
|
+
}],
|
|
2060
|
+
["path", {
|
|
2061
|
+
d: "m20.1 3.9 1.4-1.4",
|
|
2062
|
+
key: "1qn309"
|
|
2063
|
+
}],
|
|
2064
|
+
["path", {
|
|
2065
|
+
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",
|
|
2066
|
+
key: "1t2c92"
|
|
2067
|
+
}],
|
|
2068
|
+
["path", {
|
|
2069
|
+
d: "m9.6 14.4 4.8-4.8",
|
|
2070
|
+
key: "6umqxw"
|
|
2071
|
+
}]
|
|
2072
|
+
]);
|
|
2073
|
+
/**
|
|
2074
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2075
|
+
*
|
|
2076
|
+
* This source code is licensed under the ISC license.
|
|
2077
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2078
|
+
*/
|
|
1745
2079
|
var EllipsisVertical = createLucideIcon("ellipsis-vertical", [
|
|
1746
2080
|
["circle", {
|
|
1747
2081
|
cx: "12",
|
|
@@ -1860,6 +2194,42 @@ var Feather = createLucideIcon("feather", [
|
|
|
1860
2194
|
* This source code is licensed under the ISC license.
|
|
1861
2195
|
* See the LICENSE file in the root directory of this source tree.
|
|
1862
2196
|
*/
|
|
2197
|
+
var Fence = createLucideIcon("fence", [
|
|
2198
|
+
["path", {
|
|
2199
|
+
d: "M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2200
|
+
key: "1n2rgs"
|
|
2201
|
+
}],
|
|
2202
|
+
["path", {
|
|
2203
|
+
d: "M6 8h4",
|
|
2204
|
+
key: "utf9t1"
|
|
2205
|
+
}],
|
|
2206
|
+
["path", {
|
|
2207
|
+
d: "M6 18h4",
|
|
2208
|
+
key: "12yh4b"
|
|
2209
|
+
}],
|
|
2210
|
+
["path", {
|
|
2211
|
+
d: "m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2212
|
+
key: "3ha7mj"
|
|
2213
|
+
}],
|
|
2214
|
+
["path", {
|
|
2215
|
+
d: "M14 8h4",
|
|
2216
|
+
key: "1r8wg2"
|
|
2217
|
+
}],
|
|
2218
|
+
["path", {
|
|
2219
|
+
d: "M14 18h4",
|
|
2220
|
+
key: "1t3kbu"
|
|
2221
|
+
}],
|
|
2222
|
+
["path", {
|
|
2223
|
+
d: "m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z",
|
|
2224
|
+
key: "dfd4e2"
|
|
2225
|
+
}]
|
|
2226
|
+
]);
|
|
2227
|
+
/**
|
|
2228
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2229
|
+
*
|
|
2230
|
+
* This source code is licensed under the ISC license.
|
|
2231
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2232
|
+
*/
|
|
1863
2233
|
var Film = createLucideIcon("film", [
|
|
1864
2234
|
["rect", {
|
|
1865
2235
|
width: "18",
|
|
@@ -1982,6 +2352,56 @@ var FlaskConical = createLucideIcon("flask-conical", [
|
|
|
1982
2352
|
* This source code is licensed under the ISC license.
|
|
1983
2353
|
* See the LICENSE file in the root directory of this source tree.
|
|
1984
2354
|
*/
|
|
2355
|
+
var Flower = createLucideIcon("flower", [
|
|
2356
|
+
["circle", {
|
|
2357
|
+
cx: "12",
|
|
2358
|
+
cy: "12",
|
|
2359
|
+
r: "3",
|
|
2360
|
+
key: "1v7zrd"
|
|
2361
|
+
}],
|
|
2362
|
+
["path", {
|
|
2363
|
+
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",
|
|
2364
|
+
key: "14wa3c"
|
|
2365
|
+
}],
|
|
2366
|
+
["path", {
|
|
2367
|
+
d: "M12 7.5V9",
|
|
2368
|
+
key: "1oy5b0"
|
|
2369
|
+
}],
|
|
2370
|
+
["path", {
|
|
2371
|
+
d: "M7.5 12H9",
|
|
2372
|
+
key: "eltsq1"
|
|
2373
|
+
}],
|
|
2374
|
+
["path", {
|
|
2375
|
+
d: "M16.5 12H15",
|
|
2376
|
+
key: "vk5kw4"
|
|
2377
|
+
}],
|
|
2378
|
+
["path", {
|
|
2379
|
+
d: "M12 16.5V15",
|
|
2380
|
+
key: "k7eayi"
|
|
2381
|
+
}],
|
|
2382
|
+
["path", {
|
|
2383
|
+
d: "m8 8 1.88 1.88",
|
|
2384
|
+
key: "nxy4qf"
|
|
2385
|
+
}],
|
|
2386
|
+
["path", {
|
|
2387
|
+
d: "M14.12 9.88 16 8",
|
|
2388
|
+
key: "1lst6k"
|
|
2389
|
+
}],
|
|
2390
|
+
["path", {
|
|
2391
|
+
d: "m8 16 1.88-1.88",
|
|
2392
|
+
key: "h2eex1"
|
|
2393
|
+
}],
|
|
2394
|
+
["path", {
|
|
2395
|
+
d: "M14.12 14.12 16 16",
|
|
2396
|
+
key: "uqkrx3"
|
|
2397
|
+
}]
|
|
2398
|
+
]);
|
|
2399
|
+
/**
|
|
2400
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2401
|
+
*
|
|
2402
|
+
* This source code is licensed under the ISC license.
|
|
2403
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2404
|
+
*/
|
|
1985
2405
|
var Footprints = createLucideIcon("footprints", [
|
|
1986
2406
|
["path", {
|
|
1987
2407
|
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",
|
|
@@ -2241,6 +2661,77 @@ var Hash = createLucideIcon("hash", [
|
|
|
2241
2661
|
* This source code is licensed under the ISC license.
|
|
2242
2662
|
* See the LICENSE file in the root directory of this source tree.
|
|
2243
2663
|
*/
|
|
2664
|
+
var HeartPulse = createLucideIcon("heart-pulse", [["path", {
|
|
2665
|
+
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",
|
|
2666
|
+
key: "mvr1a0"
|
|
2667
|
+
}], ["path", {
|
|
2668
|
+
d: "M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",
|
|
2669
|
+
key: "auskq0"
|
|
2670
|
+
}]]);
|
|
2671
|
+
/**
|
|
2672
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2673
|
+
*
|
|
2674
|
+
* This source code is licensed under the ISC license.
|
|
2675
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2676
|
+
*/
|
|
2677
|
+
var Heart = createLucideIcon("heart", [["path", {
|
|
2678
|
+
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",
|
|
2679
|
+
key: "mvr1a0"
|
|
2680
|
+
}]]);
|
|
2681
|
+
/**
|
|
2682
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2683
|
+
*
|
|
2684
|
+
* This source code is licensed under the ISC license.
|
|
2685
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2686
|
+
*/
|
|
2687
|
+
var Heater = createLucideIcon("heater", [
|
|
2688
|
+
["path", {
|
|
2689
|
+
d: "M11 8c2-3-2-3 0-6",
|
|
2690
|
+
key: "1ldv5m"
|
|
2691
|
+
}],
|
|
2692
|
+
["path", {
|
|
2693
|
+
d: "M15.5 8c2-3-2-3 0-6",
|
|
2694
|
+
key: "1otqoz"
|
|
2695
|
+
}],
|
|
2696
|
+
["path", {
|
|
2697
|
+
d: "M6 10h.01",
|
|
2698
|
+
key: "1lbq93"
|
|
2699
|
+
}],
|
|
2700
|
+
["path", {
|
|
2701
|
+
d: "M6 14h.01",
|
|
2702
|
+
key: "zudwn7"
|
|
2703
|
+
}],
|
|
2704
|
+
["path", {
|
|
2705
|
+
d: "M10 16v-4",
|
|
2706
|
+
key: "1c25yv"
|
|
2707
|
+
}],
|
|
2708
|
+
["path", {
|
|
2709
|
+
d: "M14 16v-4",
|
|
2710
|
+
key: "1dkbt8"
|
|
2711
|
+
}],
|
|
2712
|
+
["path", {
|
|
2713
|
+
d: "M18 16v-4",
|
|
2714
|
+
key: "1yg9me"
|
|
2715
|
+
}],
|
|
2716
|
+
["path", {
|
|
2717
|
+
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",
|
|
2718
|
+
key: "1ubg90"
|
|
2719
|
+
}],
|
|
2720
|
+
["path", {
|
|
2721
|
+
d: "M5 20v2",
|
|
2722
|
+
key: "1abpe8"
|
|
2723
|
+
}],
|
|
2724
|
+
["path", {
|
|
2725
|
+
d: "M19 20v2",
|
|
2726
|
+
key: "kqn6ft"
|
|
2727
|
+
}]
|
|
2728
|
+
]);
|
|
2729
|
+
/**
|
|
2730
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2731
|
+
*
|
|
2732
|
+
* This source code is licensed under the ISC license.
|
|
2733
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2734
|
+
*/
|
|
2244
2735
|
var House = createLucideIcon("house", [["path", {
|
|
2245
2736
|
d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",
|
|
2246
2737
|
key: "5wwlr5"
|
|
@@ -2357,6 +2848,141 @@ var Info = createLucideIcon("info", [
|
|
|
2357
2848
|
* This source code is licensed under the ISC license.
|
|
2358
2849
|
* See the LICENSE file in the root directory of this source tree.
|
|
2359
2850
|
*/
|
|
2851
|
+
var KeyRound = createLucideIcon("key-round", [["path", {
|
|
2852
|
+
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",
|
|
2853
|
+
key: "1s6t7t"
|
|
2854
|
+
}], ["circle", {
|
|
2855
|
+
cx: "16.5",
|
|
2856
|
+
cy: "7.5",
|
|
2857
|
+
r: ".5",
|
|
2858
|
+
fill: "currentColor",
|
|
2859
|
+
key: "w0ekpg"
|
|
2860
|
+
}]]);
|
|
2861
|
+
/**
|
|
2862
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2863
|
+
*
|
|
2864
|
+
* This source code is licensed under the ISC license.
|
|
2865
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2866
|
+
*/
|
|
2867
|
+
var Key = createLucideIcon("key", [
|
|
2868
|
+
["path", {
|
|
2869
|
+
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",
|
|
2870
|
+
key: "g0fldk"
|
|
2871
|
+
}],
|
|
2872
|
+
["path", {
|
|
2873
|
+
d: "m21 2-9.6 9.6",
|
|
2874
|
+
key: "1j0ho8"
|
|
2875
|
+
}],
|
|
2876
|
+
["circle", {
|
|
2877
|
+
cx: "7.5",
|
|
2878
|
+
cy: "15.5",
|
|
2879
|
+
r: "5.5",
|
|
2880
|
+
key: "yqb3hr"
|
|
2881
|
+
}]
|
|
2882
|
+
]);
|
|
2883
|
+
/**
|
|
2884
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2885
|
+
*
|
|
2886
|
+
* This source code is licensed under the ISC license.
|
|
2887
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2888
|
+
*/
|
|
2889
|
+
var LampCeiling = createLucideIcon("lamp-ceiling", [
|
|
2890
|
+
["path", {
|
|
2891
|
+
d: "M12 2v5",
|
|
2892
|
+
key: "nd4vlx"
|
|
2893
|
+
}],
|
|
2894
|
+
["path", {
|
|
2895
|
+
d: "M14.829 15.998a3 3 0 1 1-5.658 0",
|
|
2896
|
+
key: "1pybiy"
|
|
2897
|
+
}],
|
|
2898
|
+
["path", {
|
|
2899
|
+
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",
|
|
2900
|
+
key: "ma1wor"
|
|
2901
|
+
}]
|
|
2902
|
+
]);
|
|
2903
|
+
/**
|
|
2904
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2905
|
+
*
|
|
2906
|
+
* This source code is licensed under the ISC license.
|
|
2907
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2908
|
+
*/
|
|
2909
|
+
var LampDesk = createLucideIcon("lamp-desk", [
|
|
2910
|
+
["path", {
|
|
2911
|
+
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",
|
|
2912
|
+
key: "sb8slu"
|
|
2913
|
+
}],
|
|
2914
|
+
["path", {
|
|
2915
|
+
d: "m14.207 4.793-3.414 3.414",
|
|
2916
|
+
key: "m2x3oj"
|
|
2917
|
+
}],
|
|
2918
|
+
["path", {
|
|
2919
|
+
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",
|
|
2920
|
+
key: "8b3myj"
|
|
2921
|
+
}],
|
|
2922
|
+
["path", {
|
|
2923
|
+
d: "m9.086 6.5-4.793 4.793a1 1 0 0 0-.18 1.17L7 18",
|
|
2924
|
+
key: "43s6cu"
|
|
2925
|
+
}]
|
|
2926
|
+
]);
|
|
2927
|
+
/**
|
|
2928
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2929
|
+
*
|
|
2930
|
+
* This source code is licensed under the ISC license.
|
|
2931
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2932
|
+
*/
|
|
2933
|
+
var LampFloor = createLucideIcon("lamp-floor", [
|
|
2934
|
+
["path", {
|
|
2935
|
+
d: "M12 10v12",
|
|
2936
|
+
key: "6ubwww"
|
|
2937
|
+
}],
|
|
2938
|
+
["path", {
|
|
2939
|
+
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",
|
|
2940
|
+
key: "1o95gh"
|
|
2941
|
+
}],
|
|
2942
|
+
["path", {
|
|
2943
|
+
d: "M9 22h6",
|
|
2944
|
+
key: "1rlq3v"
|
|
2945
|
+
}]
|
|
2946
|
+
]);
|
|
2947
|
+
/**
|
|
2948
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2949
|
+
*
|
|
2950
|
+
* This source code is licensed under the ISC license.
|
|
2951
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2952
|
+
*/
|
|
2953
|
+
var Lamp = createLucideIcon("lamp", [
|
|
2954
|
+
["path", {
|
|
2955
|
+
d: "M12 12v6",
|
|
2956
|
+
key: "3ahymv"
|
|
2957
|
+
}],
|
|
2958
|
+
["path", {
|
|
2959
|
+
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",
|
|
2960
|
+
key: "1l7kg2"
|
|
2961
|
+
}],
|
|
2962
|
+
["path", {
|
|
2963
|
+
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",
|
|
2964
|
+
key: "1mmzpi"
|
|
2965
|
+
}]
|
|
2966
|
+
]);
|
|
2967
|
+
/**
|
|
2968
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2969
|
+
*
|
|
2970
|
+
* This source code is licensed under the ISC license.
|
|
2971
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2972
|
+
*/
|
|
2973
|
+
var Laptop = createLucideIcon("laptop", [["path", {
|
|
2974
|
+
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",
|
|
2975
|
+
key: "1pdavp"
|
|
2976
|
+
}], ["path", {
|
|
2977
|
+
d: "M20.054 15.987H3.946",
|
|
2978
|
+
key: "14rxg9"
|
|
2979
|
+
}]]);
|
|
2980
|
+
/**
|
|
2981
|
+
* @license lucide-react v0.576.0 - ISC
|
|
2982
|
+
*
|
|
2983
|
+
* This source code is licensed under the ISC license.
|
|
2984
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
2985
|
+
*/
|
|
2360
2986
|
var Laugh = createLucideIcon("laugh", [
|
|
2361
2987
|
["circle", {
|
|
2362
2988
|
cx: "12",
|
|
@@ -2656,6 +3282,33 @@ var Mail = createLucideIcon("mail", [["path", {
|
|
|
2656
3282
|
* This source code is licensed under the ISC license.
|
|
2657
3283
|
* See the LICENSE file in the root directory of this source tree.
|
|
2658
3284
|
*/
|
|
3285
|
+
var Mailbox = createLucideIcon("mailbox", [
|
|
3286
|
+
["path", {
|
|
3287
|
+
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",
|
|
3288
|
+
key: "1lbycx"
|
|
3289
|
+
}],
|
|
3290
|
+
["polyline", {
|
|
3291
|
+
points: "15,9 18,9 18,11",
|
|
3292
|
+
key: "1pm9c0"
|
|
3293
|
+
}],
|
|
3294
|
+
["path", {
|
|
3295
|
+
d: "M6.5 5C9 5 11 7 11 9.5V17a2 2 0 0 1-2 2",
|
|
3296
|
+
key: "15i455"
|
|
3297
|
+
}],
|
|
3298
|
+
["line", {
|
|
3299
|
+
x1: "6",
|
|
3300
|
+
x2: "7",
|
|
3301
|
+
y1: "10",
|
|
3302
|
+
y2: "10",
|
|
3303
|
+
key: "1e2scm"
|
|
3304
|
+
}]
|
|
3305
|
+
]);
|
|
3306
|
+
/**
|
|
3307
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3308
|
+
*
|
|
3309
|
+
* This source code is licensed under the ISC license.
|
|
3310
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3311
|
+
*/
|
|
2659
3312
|
var MapPin = createLucideIcon("map-pin", [["path", {
|
|
2660
3313
|
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",
|
|
2661
3314
|
key: "1r0f0z"
|
|
@@ -2745,6 +3398,38 @@ var MessageSquare = createLucideIcon("message-square", [["path", {
|
|
|
2745
3398
|
* This source code is licensed under the ISC license.
|
|
2746
3399
|
* See the LICENSE file in the root directory of this source tree.
|
|
2747
3400
|
*/
|
|
3401
|
+
var MicOff = createLucideIcon("mic-off", [
|
|
3402
|
+
["path", {
|
|
3403
|
+
d: "M12 19v3",
|
|
3404
|
+
key: "npa21l"
|
|
3405
|
+
}],
|
|
3406
|
+
["path", {
|
|
3407
|
+
d: "M15 9.34V5a3 3 0 0 0-5.68-1.33",
|
|
3408
|
+
key: "1gzdoj"
|
|
3409
|
+
}],
|
|
3410
|
+
["path", {
|
|
3411
|
+
d: "M16.95 16.95A7 7 0 0 1 5 12v-2",
|
|
3412
|
+
key: "cqa7eg"
|
|
3413
|
+
}],
|
|
3414
|
+
["path", {
|
|
3415
|
+
d: "M18.89 13.23A7 7 0 0 0 19 12v-2",
|
|
3416
|
+
key: "16hl24"
|
|
3417
|
+
}],
|
|
3418
|
+
["path", {
|
|
3419
|
+
d: "m2 2 20 20",
|
|
3420
|
+
key: "1ooewy"
|
|
3421
|
+
}],
|
|
3422
|
+
["path", {
|
|
3423
|
+
d: "M9 9v3a3 3 0 0 0 5.12 2.12",
|
|
3424
|
+
key: "r2i35w"
|
|
3425
|
+
}]
|
|
3426
|
+
]);
|
|
3427
|
+
/**
|
|
3428
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3429
|
+
*
|
|
3430
|
+
* This source code is licensed under the ISC license.
|
|
3431
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3432
|
+
*/
|
|
2748
3433
|
var Mic = createLucideIcon("mic", [
|
|
2749
3434
|
["path", {
|
|
2750
3435
|
d: "M12 19v3",
|
|
@@ -2769,6 +3454,42 @@ var Mic = createLucideIcon("mic", [
|
|
|
2769
3454
|
* This source code is licensed under the ISC license.
|
|
2770
3455
|
* See the LICENSE file in the root directory of this source tree.
|
|
2771
3456
|
*/
|
|
3457
|
+
var Microwave = createLucideIcon("microwave", [
|
|
3458
|
+
["rect", {
|
|
3459
|
+
width: "20",
|
|
3460
|
+
height: "15",
|
|
3461
|
+
x: "2",
|
|
3462
|
+
y: "4",
|
|
3463
|
+
rx: "2",
|
|
3464
|
+
key: "2no95f"
|
|
3465
|
+
}],
|
|
3466
|
+
["rect", {
|
|
3467
|
+
width: "8",
|
|
3468
|
+
height: "7",
|
|
3469
|
+
x: "6",
|
|
3470
|
+
y: "8",
|
|
3471
|
+
rx: "1",
|
|
3472
|
+
key: "zh9wx"
|
|
3473
|
+
}],
|
|
3474
|
+
["path", {
|
|
3475
|
+
d: "M18 8v7",
|
|
3476
|
+
key: "o5zi4n"
|
|
3477
|
+
}],
|
|
3478
|
+
["path", {
|
|
3479
|
+
d: "M6 19v2",
|
|
3480
|
+
key: "1loha6"
|
|
3481
|
+
}],
|
|
3482
|
+
["path", {
|
|
3483
|
+
d: "M18 19v2",
|
|
3484
|
+
key: "1dawf0"
|
|
3485
|
+
}]
|
|
3486
|
+
]);
|
|
3487
|
+
/**
|
|
3488
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3489
|
+
*
|
|
3490
|
+
* This source code is licensed under the ISC license.
|
|
3491
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3492
|
+
*/
|
|
2772
3493
|
var Minimize2 = createLucideIcon("minimize-2", [
|
|
2773
3494
|
["path", {
|
|
2774
3495
|
d: "m14 10 7-7",
|
|
@@ -2831,6 +3552,36 @@ var MonitorPlay = createLucideIcon("monitor-play", [
|
|
|
2831
3552
|
* This source code is licensed under the ISC license.
|
|
2832
3553
|
* See the LICENSE file in the root directory of this source tree.
|
|
2833
3554
|
*/
|
|
3555
|
+
var Monitor = createLucideIcon("monitor", [
|
|
3556
|
+
["rect", {
|
|
3557
|
+
width: "20",
|
|
3558
|
+
height: "14",
|
|
3559
|
+
x: "2",
|
|
3560
|
+
y: "3",
|
|
3561
|
+
rx: "2",
|
|
3562
|
+
key: "48i651"
|
|
3563
|
+
}],
|
|
3564
|
+
["line", {
|
|
3565
|
+
x1: "8",
|
|
3566
|
+
x2: "16",
|
|
3567
|
+
y1: "21",
|
|
3568
|
+
y2: "21",
|
|
3569
|
+
key: "1svkeh"
|
|
3570
|
+
}],
|
|
3571
|
+
["line", {
|
|
3572
|
+
x1: "12",
|
|
3573
|
+
x2: "12",
|
|
3574
|
+
y1: "17",
|
|
3575
|
+
y2: "21",
|
|
3576
|
+
key: "vw1qmm"
|
|
3577
|
+
}]
|
|
3578
|
+
]);
|
|
3579
|
+
/**
|
|
3580
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3581
|
+
*
|
|
3582
|
+
* This source code is licensed under the ISC license.
|
|
3583
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3584
|
+
*/
|
|
2834
3585
|
var Moon = createLucideIcon("moon", [["path", {
|
|
2835
3586
|
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",
|
|
2836
3587
|
key: "kfwtm"
|
|
@@ -2841,6 +3592,16 @@ var Moon = createLucideIcon("moon", [["path", {
|
|
|
2841
3592
|
* This source code is licensed under the ISC license.
|
|
2842
3593
|
* See the LICENSE file in the root directory of this source tree.
|
|
2843
3594
|
*/
|
|
3595
|
+
var Mountain = createLucideIcon("mountain", [["path", {
|
|
3596
|
+
d: "m8 3 4 8 5-5 5 15H2L8 3z",
|
|
3597
|
+
key: "otkl63"
|
|
3598
|
+
}]]);
|
|
3599
|
+
/**
|
|
3600
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3601
|
+
*
|
|
3602
|
+
* This source code is licensed under the ISC license.
|
|
3603
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3604
|
+
*/
|
|
2844
3605
|
var MousePointerClick = createLucideIcon("mouse-pointer-click", [
|
|
2845
3606
|
["path", {
|
|
2846
3607
|
d: "M14 4.1 12 6",
|
|
@@ -3103,6 +3864,32 @@ var Pencil = createLucideIcon("pencil", [["path", {
|
|
|
3103
3864
|
* This source code is licensed under the ISC license.
|
|
3104
3865
|
* See the LICENSE file in the root directory of this source tree.
|
|
3105
3866
|
*/
|
|
3867
|
+
var PersonStanding = createLucideIcon("person-standing", [
|
|
3868
|
+
["circle", {
|
|
3869
|
+
cx: "12",
|
|
3870
|
+
cy: "5",
|
|
3871
|
+
r: "1",
|
|
3872
|
+
key: "gxeob9"
|
|
3873
|
+
}],
|
|
3874
|
+
["path", {
|
|
3875
|
+
d: "m9 20 3-6 3 6",
|
|
3876
|
+
key: "se2kox"
|
|
3877
|
+
}],
|
|
3878
|
+
["path", {
|
|
3879
|
+
d: "m6 8 6 2 6-2",
|
|
3880
|
+
key: "4o3us4"
|
|
3881
|
+
}],
|
|
3882
|
+
["path", {
|
|
3883
|
+
d: "M12 10v4",
|
|
3884
|
+
key: "1kjpxc"
|
|
3885
|
+
}]
|
|
3886
|
+
]);
|
|
3887
|
+
/**
|
|
3888
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3889
|
+
*
|
|
3890
|
+
* This source code is licensed under the ISC license.
|
|
3891
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3892
|
+
*/
|
|
3106
3893
|
var Phone = createLucideIcon("phone", [["path", {
|
|
3107
3894
|
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",
|
|
3108
3895
|
key: "9njp5v"
|
|
@@ -3153,6 +3940,34 @@ var Play = createLucideIcon("play", [["path", {
|
|
|
3153
3940
|
* This source code is licensed under the ISC license.
|
|
3154
3941
|
* See the LICENSE file in the root directory of this source tree.
|
|
3155
3942
|
*/
|
|
3943
|
+
var PlugZap = createLucideIcon("plug-zap", [
|
|
3944
|
+
["path", {
|
|
3945
|
+
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",
|
|
3946
|
+
key: "goz73y"
|
|
3947
|
+
}],
|
|
3948
|
+
["path", {
|
|
3949
|
+
d: "m2 22 3-3",
|
|
3950
|
+
key: "19mgm9"
|
|
3951
|
+
}],
|
|
3952
|
+
["path", {
|
|
3953
|
+
d: "M7.5 13.5 10 11",
|
|
3954
|
+
key: "7xgeeb"
|
|
3955
|
+
}],
|
|
3956
|
+
["path", {
|
|
3957
|
+
d: "M10.5 16.5 13 14",
|
|
3958
|
+
key: "10btkg"
|
|
3959
|
+
}],
|
|
3960
|
+
["path", {
|
|
3961
|
+
d: "m18 3-4 4h6l-4 4",
|
|
3962
|
+
key: "16psg9"
|
|
3963
|
+
}]
|
|
3964
|
+
]);
|
|
3965
|
+
/**
|
|
3966
|
+
* @license lucide-react v0.576.0 - ISC
|
|
3967
|
+
*
|
|
3968
|
+
* This source code is licensed under the ISC license.
|
|
3969
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3970
|
+
*/
|
|
3156
3971
|
var Plus = createLucideIcon("plus", [["path", {
|
|
3157
3972
|
d: "M5 12h14",
|
|
3158
3973
|
key: "1ays0h"
|
|
@@ -3227,6 +4042,64 @@ var Power = createLucideIcon("power", [["path", {
|
|
|
3227
4042
|
* This source code is licensed under the ISC license.
|
|
3228
4043
|
* See the LICENSE file in the root directory of this source tree.
|
|
3229
4044
|
*/
|
|
4045
|
+
var Printer = createLucideIcon("printer", [
|
|
4046
|
+
["path", {
|
|
4047
|
+
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",
|
|
4048
|
+
key: "143wyd"
|
|
4049
|
+
}],
|
|
4050
|
+
["path", {
|
|
4051
|
+
d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",
|
|
4052
|
+
key: "1itne7"
|
|
4053
|
+
}],
|
|
4054
|
+
["rect", {
|
|
4055
|
+
x: "6",
|
|
4056
|
+
y: "14",
|
|
4057
|
+
width: "12",
|
|
4058
|
+
height: "8",
|
|
4059
|
+
rx: "1",
|
|
4060
|
+
key: "1ue0tg"
|
|
4061
|
+
}]
|
|
4062
|
+
]);
|
|
4063
|
+
/**
|
|
4064
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4065
|
+
*
|
|
4066
|
+
* This source code is licensed under the ISC license.
|
|
4067
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4068
|
+
*/
|
|
4069
|
+
var Projector = createLucideIcon("projector", [
|
|
4070
|
+
["path", {
|
|
4071
|
+
d: "M5 7 3 5",
|
|
4072
|
+
key: "1yys58"
|
|
4073
|
+
}],
|
|
4074
|
+
["path", {
|
|
4075
|
+
d: "M9 6V3",
|
|
4076
|
+
key: "1ptz9u"
|
|
4077
|
+
}],
|
|
4078
|
+
["path", {
|
|
4079
|
+
d: "m13 7 2-2",
|
|
4080
|
+
key: "1w3vmq"
|
|
4081
|
+
}],
|
|
4082
|
+
["circle", {
|
|
4083
|
+
cx: "9",
|
|
4084
|
+
cy: "13",
|
|
4085
|
+
r: "3",
|
|
4086
|
+
key: "1mma13"
|
|
4087
|
+
}],
|
|
4088
|
+
["path", {
|
|
4089
|
+
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",
|
|
4090
|
+
key: "2frwzc"
|
|
4091
|
+
}],
|
|
4092
|
+
["path", {
|
|
4093
|
+
d: "M16 16h2",
|
|
4094
|
+
key: "dnq2od"
|
|
4095
|
+
}]
|
|
4096
|
+
]);
|
|
4097
|
+
/**
|
|
4098
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4099
|
+
*
|
|
4100
|
+
* This source code is licensed under the ISC license.
|
|
4101
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4102
|
+
*/
|
|
3230
4103
|
var QrCode$1 = createLucideIcon("qr-code", [
|
|
3231
4104
|
["rect", {
|
|
3232
4105
|
width: "5",
|
|
@@ -3429,6 +4302,26 @@ var RefreshCw = createLucideIcon("refresh-cw", [
|
|
|
3429
4302
|
* This source code is licensed under the ISC license.
|
|
3430
4303
|
* See the LICENSE file in the root directory of this source tree.
|
|
3431
4304
|
*/
|
|
4305
|
+
var Refrigerator = createLucideIcon("refrigerator", [
|
|
4306
|
+
["path", {
|
|
4307
|
+
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",
|
|
4308
|
+
key: "fpq118"
|
|
4309
|
+
}],
|
|
4310
|
+
["path", {
|
|
4311
|
+
d: "M5 10h14",
|
|
4312
|
+
key: "elsbfy"
|
|
4313
|
+
}],
|
|
4314
|
+
["path", {
|
|
4315
|
+
d: "M15 7v6",
|
|
4316
|
+
key: "1nx30x"
|
|
4317
|
+
}]
|
|
4318
|
+
]);
|
|
4319
|
+
/**
|
|
4320
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4321
|
+
*
|
|
4322
|
+
* This source code is licensed under the ISC license.
|
|
4323
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4324
|
+
*/
|
|
3432
4325
|
var RotateCcw = createLucideIcon("rotate-ccw", [["path", {
|
|
3433
4326
|
d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
|
|
3434
4327
|
key: "1357e3"
|
|
@@ -3455,6 +4348,66 @@ var RotateCw = createLucideIcon("rotate-cw", [["path", {
|
|
|
3455
4348
|
* This source code is licensed under the ISC license.
|
|
3456
4349
|
* See the LICENSE file in the root directory of this source tree.
|
|
3457
4350
|
*/
|
|
4351
|
+
var Route = createLucideIcon("route", [
|
|
4352
|
+
["circle", {
|
|
4353
|
+
cx: "6",
|
|
4354
|
+
cy: "19",
|
|
4355
|
+
r: "3",
|
|
4356
|
+
key: "1kj8tv"
|
|
4357
|
+
}],
|
|
4358
|
+
["path", {
|
|
4359
|
+
d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",
|
|
4360
|
+
key: "1d8sl"
|
|
4361
|
+
}],
|
|
4362
|
+
["circle", {
|
|
4363
|
+
cx: "18",
|
|
4364
|
+
cy: "5",
|
|
4365
|
+
r: "3",
|
|
4366
|
+
key: "gq8acd"
|
|
4367
|
+
}]
|
|
4368
|
+
]);
|
|
4369
|
+
/**
|
|
4370
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4371
|
+
*
|
|
4372
|
+
* This source code is licensed under the ISC license.
|
|
4373
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4374
|
+
*/
|
|
4375
|
+
var Router = createLucideIcon("router", [
|
|
4376
|
+
["rect", {
|
|
4377
|
+
width: "20",
|
|
4378
|
+
height: "8",
|
|
4379
|
+
x: "2",
|
|
4380
|
+
y: "14",
|
|
4381
|
+
rx: "2",
|
|
4382
|
+
key: "w68u3i"
|
|
4383
|
+
}],
|
|
4384
|
+
["path", {
|
|
4385
|
+
d: "M6.01 18H6",
|
|
4386
|
+
key: "19vcac"
|
|
4387
|
+
}],
|
|
4388
|
+
["path", {
|
|
4389
|
+
d: "M10.01 18H10",
|
|
4390
|
+
key: "uamcmx"
|
|
4391
|
+
}],
|
|
4392
|
+
["path", {
|
|
4393
|
+
d: "M15 10v4",
|
|
4394
|
+
key: "qjz1xs"
|
|
4395
|
+
}],
|
|
4396
|
+
["path", {
|
|
4397
|
+
d: "M17.84 7.17a4 4 0 0 0-5.66 0",
|
|
4398
|
+
key: "1rif40"
|
|
4399
|
+
}],
|
|
4400
|
+
["path", {
|
|
4401
|
+
d: "M20.66 4.34a8 8 0 0 0-11.31 0",
|
|
4402
|
+
key: "6a5xfq"
|
|
4403
|
+
}]
|
|
4404
|
+
]);
|
|
4405
|
+
/**
|
|
4406
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4407
|
+
*
|
|
4408
|
+
* This source code is licensed under the ISC license.
|
|
4409
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4410
|
+
*/
|
|
3458
4411
|
var Sailboat = createLucideIcon("sailboat", [
|
|
3459
4412
|
["path", {
|
|
3460
4413
|
d: "M10 2v15",
|
|
@@ -3928,6 +4881,64 @@ var Snowflake = createLucideIcon("snowflake", [
|
|
|
3928
4881
|
* This source code is licensed under the ISC license.
|
|
3929
4882
|
* See the LICENSE file in the root directory of this source tree.
|
|
3930
4883
|
*/
|
|
4884
|
+
var Sofa = createLucideIcon("sofa", [
|
|
4885
|
+
["path", {
|
|
4886
|
+
d: "M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3",
|
|
4887
|
+
key: "1dgpiv"
|
|
4888
|
+
}],
|
|
4889
|
+
["path", {
|
|
4890
|
+
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",
|
|
4891
|
+
key: "xacw8m"
|
|
4892
|
+
}],
|
|
4893
|
+
["path", {
|
|
4894
|
+
d: "M4 18v2",
|
|
4895
|
+
key: "jwo5n2"
|
|
4896
|
+
}],
|
|
4897
|
+
["path", {
|
|
4898
|
+
d: "M20 18v2",
|
|
4899
|
+
key: "1ar1qi"
|
|
4900
|
+
}],
|
|
4901
|
+
["path", {
|
|
4902
|
+
d: "M12 4v9",
|
|
4903
|
+
key: "oqhhn3"
|
|
4904
|
+
}]
|
|
4905
|
+
]);
|
|
4906
|
+
/**
|
|
4907
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4908
|
+
*
|
|
4909
|
+
* This source code is licensed under the ISC license.
|
|
4910
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4911
|
+
*/
|
|
4912
|
+
var Speaker = createLucideIcon("speaker", [
|
|
4913
|
+
["rect", {
|
|
4914
|
+
width: "16",
|
|
4915
|
+
height: "20",
|
|
4916
|
+
x: "4",
|
|
4917
|
+
y: "2",
|
|
4918
|
+
rx: "2",
|
|
4919
|
+
key: "1nb95v"
|
|
4920
|
+
}],
|
|
4921
|
+
["path", {
|
|
4922
|
+
d: "M12 6h.01",
|
|
4923
|
+
key: "1vi96p"
|
|
4924
|
+
}],
|
|
4925
|
+
["circle", {
|
|
4926
|
+
cx: "12",
|
|
4927
|
+
cy: "14",
|
|
4928
|
+
r: "4",
|
|
4929
|
+
key: "1jruaj"
|
|
4930
|
+
}],
|
|
4931
|
+
["path", {
|
|
4932
|
+
d: "M12 14h.01",
|
|
4933
|
+
key: "1etili"
|
|
4934
|
+
}]
|
|
4935
|
+
]);
|
|
4936
|
+
/**
|
|
4937
|
+
* @license lucide-react v0.576.0 - ISC
|
|
4938
|
+
*
|
|
4939
|
+
* This source code is licensed under the ISC license.
|
|
4940
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
4941
|
+
*/
|
|
3931
4942
|
var Sparkles = createLucideIcon("sparkles", [
|
|
3932
4943
|
["path", {
|
|
3933
4944
|
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",
|
|
@@ -3998,6 +5009,26 @@ var Star = createLucideIcon("star", [["path", {
|
|
|
3998
5009
|
* This source code is licensed under the ISC license.
|
|
3999
5010
|
* See the LICENSE file in the root directory of this source tree.
|
|
4000
5011
|
*/
|
|
5012
|
+
var Store = createLucideIcon("store", [
|
|
5013
|
+
["path", {
|
|
5014
|
+
d: "M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",
|
|
5015
|
+
key: "slp6dd"
|
|
5016
|
+
}],
|
|
5017
|
+
["path", {
|
|
5018
|
+
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",
|
|
5019
|
+
key: "o0xfot"
|
|
5020
|
+
}],
|
|
5021
|
+
["path", {
|
|
5022
|
+
d: "M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",
|
|
5023
|
+
key: "wn3emo"
|
|
5024
|
+
}]
|
|
5025
|
+
]);
|
|
5026
|
+
/**
|
|
5027
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5028
|
+
*
|
|
5029
|
+
* This source code is licensed under the ISC license.
|
|
5030
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5031
|
+
*/
|
|
4001
5032
|
var SunMedium = createLucideIcon("sun-medium", [
|
|
4002
5033
|
["circle", {
|
|
4003
5034
|
cx: "12",
|
|
@@ -4130,6 +5161,27 @@ var Sunrise = createLucideIcon("sunrise", [
|
|
|
4130
5161
|
* This source code is licensed under the ISC license.
|
|
4131
5162
|
* See the LICENSE file in the root directory of this source tree.
|
|
4132
5163
|
*/
|
|
5164
|
+
var Tablet = createLucideIcon("tablet", [["rect", {
|
|
5165
|
+
width: "16",
|
|
5166
|
+
height: "20",
|
|
5167
|
+
x: "4",
|
|
5168
|
+
y: "2",
|
|
5169
|
+
rx: "2",
|
|
5170
|
+
ry: "2",
|
|
5171
|
+
key: "76otgf"
|
|
5172
|
+
}], ["line", {
|
|
5173
|
+
x1: "12",
|
|
5174
|
+
x2: "12.01",
|
|
5175
|
+
y1: "18",
|
|
5176
|
+
y2: "18",
|
|
5177
|
+
key: "1dp563"
|
|
5178
|
+
}]]);
|
|
5179
|
+
/**
|
|
5180
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5181
|
+
*
|
|
5182
|
+
* This source code is licensed under the ISC license.
|
|
5183
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5184
|
+
*/
|
|
4133
5185
|
var Tag = createLucideIcon("tag", [["path", {
|
|
4134
5186
|
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",
|
|
4135
5187
|
key: "vktsd0"
|
|
@@ -4172,6 +5224,46 @@ var Target = createLucideIcon("target", [
|
|
|
4172
5224
|
* This source code is licensed under the ISC license.
|
|
4173
5225
|
* See the LICENSE file in the root directory of this source tree.
|
|
4174
5226
|
*/
|
|
5227
|
+
var ThermometerSnowflake = createLucideIcon("thermometer-snowflake", [
|
|
5228
|
+
["path", {
|
|
5229
|
+
d: "m10 20-1.25-2.5L6 18",
|
|
5230
|
+
key: "18frcb"
|
|
5231
|
+
}],
|
|
5232
|
+
["path", {
|
|
5233
|
+
d: "M10 4 8.75 6.5 6 6",
|
|
5234
|
+
key: "7mghy3"
|
|
5235
|
+
}],
|
|
5236
|
+
["path", {
|
|
5237
|
+
d: "M10.585 15H10",
|
|
5238
|
+
key: "4nqulp"
|
|
5239
|
+
}],
|
|
5240
|
+
["path", {
|
|
5241
|
+
d: "M2 12h6.5L10 9",
|
|
5242
|
+
key: "kv9z4n"
|
|
5243
|
+
}],
|
|
5244
|
+
["path", {
|
|
5245
|
+
d: "M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z",
|
|
5246
|
+
key: "yu0u2z"
|
|
5247
|
+
}],
|
|
5248
|
+
["path", {
|
|
5249
|
+
d: "m4 10 1.5 2L4 14",
|
|
5250
|
+
key: "k9enpj"
|
|
5251
|
+
}],
|
|
5252
|
+
["path", {
|
|
5253
|
+
d: "m7 21 3-6-1.5-3",
|
|
5254
|
+
key: "j8hb9u"
|
|
5255
|
+
}],
|
|
5256
|
+
["path", {
|
|
5257
|
+
d: "m7 3 3 6h2",
|
|
5258
|
+
key: "1bbqgq"
|
|
5259
|
+
}]
|
|
5260
|
+
]);
|
|
5261
|
+
/**
|
|
5262
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5263
|
+
*
|
|
5264
|
+
* This source code is licensed under the ISC license.
|
|
5265
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5266
|
+
*/
|
|
4175
5267
|
var Thermometer = createLucideIcon("thermometer", [["path", {
|
|
4176
5268
|
d: "M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",
|
|
4177
5269
|
key: "17jzev"
|
|
@@ -4182,6 +5274,66 @@ var Thermometer = createLucideIcon("thermometer", [["path", {
|
|
|
4182
5274
|
* This source code is licensed under the ISC license.
|
|
4183
5275
|
* See the LICENSE file in the root directory of this source tree.
|
|
4184
5276
|
*/
|
|
5277
|
+
var ThermometerSun = createLucideIcon("thermometer-sun", [
|
|
5278
|
+
["path", {
|
|
5279
|
+
d: "M12 2v2",
|
|
5280
|
+
key: "tus03m"
|
|
5281
|
+
}],
|
|
5282
|
+
["path", {
|
|
5283
|
+
d: "M12 8a4 4 0 0 0-1.645 7.647",
|
|
5284
|
+
key: "wz5p04"
|
|
5285
|
+
}],
|
|
5286
|
+
["path", {
|
|
5287
|
+
d: "M2 12h2",
|
|
5288
|
+
key: "1t8f8n"
|
|
5289
|
+
}],
|
|
5290
|
+
["path", {
|
|
5291
|
+
d: "M20 14.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0z",
|
|
5292
|
+
key: "yu0u2z"
|
|
5293
|
+
}],
|
|
5294
|
+
["path", {
|
|
5295
|
+
d: "m4.93 4.93 1.41 1.41",
|
|
5296
|
+
key: "149t6j"
|
|
5297
|
+
}],
|
|
5298
|
+
["path", {
|
|
5299
|
+
d: "m6.34 17.66-1.41 1.41",
|
|
5300
|
+
key: "1m8zz5"
|
|
5301
|
+
}]
|
|
5302
|
+
]);
|
|
5303
|
+
/**
|
|
5304
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5305
|
+
*
|
|
5306
|
+
* This source code is licensed under the ISC license.
|
|
5307
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5308
|
+
*/
|
|
5309
|
+
var Timer = createLucideIcon("timer", [
|
|
5310
|
+
["line", {
|
|
5311
|
+
x1: "10",
|
|
5312
|
+
x2: "14",
|
|
5313
|
+
y1: "2",
|
|
5314
|
+
y2: "2",
|
|
5315
|
+
key: "14vaq8"
|
|
5316
|
+
}],
|
|
5317
|
+
["line", {
|
|
5318
|
+
x1: "12",
|
|
5319
|
+
x2: "15",
|
|
5320
|
+
y1: "14",
|
|
5321
|
+
y2: "11",
|
|
5322
|
+
key: "17fdiu"
|
|
5323
|
+
}],
|
|
5324
|
+
["circle", {
|
|
5325
|
+
cx: "12",
|
|
5326
|
+
cy: "14",
|
|
5327
|
+
r: "8",
|
|
5328
|
+
key: "1e1u0o"
|
|
5329
|
+
}]
|
|
5330
|
+
]);
|
|
5331
|
+
/**
|
|
5332
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5333
|
+
*
|
|
5334
|
+
* This source code is licensed under the ISC license.
|
|
5335
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5336
|
+
*/
|
|
4185
5337
|
var ToggleLeft = createLucideIcon("toggle-left", [["circle", {
|
|
4186
5338
|
cx: "9",
|
|
4187
5339
|
cy: "12",
|
|
@@ -4328,6 +5480,43 @@ var Trash2 = createLucideIcon("trash-2", [
|
|
|
4328
5480
|
* This source code is licensed under the ISC license.
|
|
4329
5481
|
* See the LICENSE file in the root directory of this source tree.
|
|
4330
5482
|
*/
|
|
5483
|
+
var TreePine = createLucideIcon("tree-pine", [["path", {
|
|
5484
|
+
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",
|
|
5485
|
+
key: "cpyugq"
|
|
5486
|
+
}], ["path", {
|
|
5487
|
+
d: "M12 22v-3",
|
|
5488
|
+
key: "kmzjlo"
|
|
5489
|
+
}]]);
|
|
5490
|
+
/**
|
|
5491
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5492
|
+
*
|
|
5493
|
+
* This source code is licensed under the ISC license.
|
|
5494
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5495
|
+
*/
|
|
5496
|
+
var Trees = createLucideIcon("trees", [
|
|
5497
|
+
["path", {
|
|
5498
|
+
d: "M10 10v.2A3 3 0 0 1 8.9 16H5a3 3 0 0 1-1-5.8V10a3 3 0 0 1 6 0Z",
|
|
5499
|
+
key: "1l6gj6"
|
|
5500
|
+
}],
|
|
5501
|
+
["path", {
|
|
5502
|
+
d: "M7 16v6",
|
|
5503
|
+
key: "1a82de"
|
|
5504
|
+
}],
|
|
5505
|
+
["path", {
|
|
5506
|
+
d: "M13 19v3",
|
|
5507
|
+
key: "13sx9i"
|
|
5508
|
+
}],
|
|
5509
|
+
["path", {
|
|
5510
|
+
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",
|
|
5511
|
+
key: "1sj9kv"
|
|
5512
|
+
}]
|
|
5513
|
+
]);
|
|
5514
|
+
/**
|
|
5515
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5516
|
+
*
|
|
5517
|
+
* This source code is licensed under the ISC license.
|
|
5518
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5519
|
+
*/
|
|
4331
5520
|
var TrendingUp = createLucideIcon("trending-up", [["path", {
|
|
4332
5521
|
d: "M16 7h6v6",
|
|
4333
5522
|
key: "box55l"
|
|
@@ -4406,6 +5595,23 @@ var Truck = createLucideIcon("truck", [
|
|
|
4406
5595
|
* This source code is licensed under the ISC license.
|
|
4407
5596
|
* See the LICENSE file in the root directory of this source tree.
|
|
4408
5597
|
*/
|
|
5598
|
+
var Tv = createLucideIcon("tv", [["path", {
|
|
5599
|
+
d: "m17 2-5 5-5-5",
|
|
5600
|
+
key: "16satq"
|
|
5601
|
+
}], ["rect", {
|
|
5602
|
+
width: "20",
|
|
5603
|
+
height: "15",
|
|
5604
|
+
x: "2",
|
|
5605
|
+
y: "7",
|
|
5606
|
+
rx: "2",
|
|
5607
|
+
key: "1e6viu"
|
|
5608
|
+
}]]);
|
|
5609
|
+
/**
|
|
5610
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5611
|
+
*
|
|
5612
|
+
* This source code is licensed under the ISC license.
|
|
5613
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5614
|
+
*/
|
|
4409
5615
|
var Type = createLucideIcon("type", [
|
|
4410
5616
|
["path", {
|
|
4411
5617
|
d: "M12 4v16",
|
|
@@ -4426,6 +5632,26 @@ var Type = createLucideIcon("type", [
|
|
|
4426
5632
|
* This source code is licensed under the ISC license.
|
|
4427
5633
|
* See the LICENSE file in the root directory of this source tree.
|
|
4428
5634
|
*/
|
|
5635
|
+
var Umbrella = createLucideIcon("umbrella", [
|
|
5636
|
+
["path", {
|
|
5637
|
+
d: "M12 13v7a2 2 0 0 0 4 0",
|
|
5638
|
+
key: "rpgb42"
|
|
5639
|
+
}],
|
|
5640
|
+
["path", {
|
|
5641
|
+
d: "M12 2v2",
|
|
5642
|
+
key: "tus03m"
|
|
5643
|
+
}],
|
|
5644
|
+
["path", {
|
|
5645
|
+
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",
|
|
5646
|
+
key: "124nyo"
|
|
5647
|
+
}]
|
|
5648
|
+
]);
|
|
5649
|
+
/**
|
|
5650
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5651
|
+
*
|
|
5652
|
+
* This source code is licensed under the ISC license.
|
|
5653
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5654
|
+
*/
|
|
4429
5655
|
var Undo2 = createLucideIcon("undo-2", [["path", {
|
|
4430
5656
|
d: "M9 14 4 9l5-5",
|
|
4431
5657
|
key: "102s5s"
|
|
@@ -4556,6 +5782,26 @@ var UtensilsCrossed = createLucideIcon("utensils-crossed", [
|
|
|
4556
5782
|
* This source code is licensed under the ISC license.
|
|
4557
5783
|
* See the LICENSE file in the root directory of this source tree.
|
|
4558
5784
|
*/
|
|
5785
|
+
var Utensils = createLucideIcon("utensils", [
|
|
5786
|
+
["path", {
|
|
5787
|
+
d: "M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",
|
|
5788
|
+
key: "cjf0a3"
|
|
5789
|
+
}],
|
|
5790
|
+
["path", {
|
|
5791
|
+
d: "M7 2v20",
|
|
5792
|
+
key: "1473qp"
|
|
5793
|
+
}],
|
|
5794
|
+
["path", {
|
|
5795
|
+
d: "M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",
|
|
5796
|
+
key: "j28e5"
|
|
5797
|
+
}]
|
|
5798
|
+
]);
|
|
5799
|
+
/**
|
|
5800
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5801
|
+
*
|
|
5802
|
+
* This source code is licensed under the ISC license.
|
|
5803
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5804
|
+
*/
|
|
4559
5805
|
var Vibrate = createLucideIcon("vibrate", [
|
|
4560
5806
|
["path", {
|
|
4561
5807
|
d: "m2 8 2 2-2 2 2 2-2 2",
|
|
@@ -4580,6 +5826,43 @@ var Vibrate = createLucideIcon("vibrate", [
|
|
|
4580
5826
|
* This source code is licensed under the ISC license.
|
|
4581
5827
|
* See the LICENSE file in the root directory of this source tree.
|
|
4582
5828
|
*/
|
|
5829
|
+
var VideoOff = createLucideIcon("video-off", [
|
|
5830
|
+
["path", {
|
|
5831
|
+
d: "M10.66 6H14a2 2 0 0 1 2 2v2.5l5.248-3.062A.5.5 0 0 1 22 7.87v8.196",
|
|
5832
|
+
key: "w8jjjt"
|
|
5833
|
+
}],
|
|
5834
|
+
["path", {
|
|
5835
|
+
d: "M16 16a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2",
|
|
5836
|
+
key: "1xawa7"
|
|
5837
|
+
}],
|
|
5838
|
+
["path", {
|
|
5839
|
+
d: "m2 2 20 20",
|
|
5840
|
+
key: "1ooewy"
|
|
5841
|
+
}]
|
|
5842
|
+
]);
|
|
5843
|
+
/**
|
|
5844
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5845
|
+
*
|
|
5846
|
+
* This source code is licensed under the ISC license.
|
|
5847
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5848
|
+
*/
|
|
5849
|
+
var Video = createLucideIcon("video", [["path", {
|
|
5850
|
+
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
5851
|
+
key: "ftymec"
|
|
5852
|
+
}], ["rect", {
|
|
5853
|
+
x: "2",
|
|
5854
|
+
y: "6",
|
|
5855
|
+
width: "14",
|
|
5856
|
+
height: "12",
|
|
5857
|
+
rx: "2",
|
|
5858
|
+
key: "158x01"
|
|
5859
|
+
}]]);
|
|
5860
|
+
/**
|
|
5861
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5862
|
+
*
|
|
5863
|
+
* This source code is licensed under the ISC license.
|
|
5864
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5865
|
+
*/
|
|
4583
5866
|
var Volume2 = createLucideIcon("volume-2", [
|
|
4584
5867
|
["path", {
|
|
4585
5868
|
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",
|
|
@@ -4626,6 +5909,92 @@ var VolumeX = createLucideIcon("volume-x", [
|
|
|
4626
5909
|
* This source code is licensed under the ISC license.
|
|
4627
5910
|
* See the LICENSE file in the root directory of this source tree.
|
|
4628
5911
|
*/
|
|
5912
|
+
var Warehouse = createLucideIcon("warehouse", [
|
|
5913
|
+
["path", {
|
|
5914
|
+
d: "M18 21V10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v11",
|
|
5915
|
+
key: "pb2vm6"
|
|
5916
|
+
}],
|
|
5917
|
+
["path", {
|
|
5918
|
+
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",
|
|
5919
|
+
key: "doq5xv"
|
|
5920
|
+
}],
|
|
5921
|
+
["path", {
|
|
5922
|
+
d: "M6 13h12",
|
|
5923
|
+
key: "yf64js"
|
|
5924
|
+
}],
|
|
5925
|
+
["path", {
|
|
5926
|
+
d: "M6 17h12",
|
|
5927
|
+
key: "1jwigz"
|
|
5928
|
+
}]
|
|
5929
|
+
]);
|
|
5930
|
+
/**
|
|
5931
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5932
|
+
*
|
|
5933
|
+
* This source code is licensed under the ISC license.
|
|
5934
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5935
|
+
*/
|
|
5936
|
+
var WashingMachine = createLucideIcon("washing-machine", [
|
|
5937
|
+
["path", {
|
|
5938
|
+
d: "M3 6h3",
|
|
5939
|
+
key: "155dbl"
|
|
5940
|
+
}],
|
|
5941
|
+
["path", {
|
|
5942
|
+
d: "M17 6h.01",
|
|
5943
|
+
key: "e2y6kg"
|
|
5944
|
+
}],
|
|
5945
|
+
["rect", {
|
|
5946
|
+
width: "18",
|
|
5947
|
+
height: "20",
|
|
5948
|
+
x: "3",
|
|
5949
|
+
y: "2",
|
|
5950
|
+
rx: "2",
|
|
5951
|
+
key: "od3kk9"
|
|
5952
|
+
}],
|
|
5953
|
+
["circle", {
|
|
5954
|
+
cx: "12",
|
|
5955
|
+
cy: "13",
|
|
5956
|
+
r: "5",
|
|
5957
|
+
key: "nlbqau"
|
|
5958
|
+
}],
|
|
5959
|
+
["path", {
|
|
5960
|
+
d: "M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5",
|
|
5961
|
+
key: "17lach"
|
|
5962
|
+
}]
|
|
5963
|
+
]);
|
|
5964
|
+
/**
|
|
5965
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5966
|
+
*
|
|
5967
|
+
* This source code is licensed under the ISC license.
|
|
5968
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5969
|
+
*/
|
|
5970
|
+
var WavesLadder = createLucideIcon("waves-ladder", [
|
|
5971
|
+
["path", {
|
|
5972
|
+
d: "M19 5a2 2 0 0 0-2 2v11",
|
|
5973
|
+
key: "s41o68"
|
|
5974
|
+
}],
|
|
5975
|
+
["path", {
|
|
5976
|
+
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",
|
|
5977
|
+
key: "rd2r6e"
|
|
5978
|
+
}],
|
|
5979
|
+
["path", {
|
|
5980
|
+
d: "M7 13h10",
|
|
5981
|
+
key: "1rwob1"
|
|
5982
|
+
}],
|
|
5983
|
+
["path", {
|
|
5984
|
+
d: "M7 9h10",
|
|
5985
|
+
key: "12czzb"
|
|
5986
|
+
}],
|
|
5987
|
+
["path", {
|
|
5988
|
+
d: "M9 5a2 2 0 0 0-2 2v11",
|
|
5989
|
+
key: "x0q4gh"
|
|
5990
|
+
}]
|
|
5991
|
+
]);
|
|
5992
|
+
/**
|
|
5993
|
+
* @license lucide-react v0.576.0 - ISC
|
|
5994
|
+
*
|
|
5995
|
+
* This source code is licensed under the ISC license.
|
|
5996
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
5997
|
+
*/
|
|
4629
5998
|
var Waves = createLucideIcon("waves", [
|
|
4630
5999
|
["path", {
|
|
4631
6000
|
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",
|
|
@@ -5519,6 +6888,8 @@ var useDetectionPipelineGetDeviceSettingsContribution = trpc.detectionPipeline.g
|
|
|
5519
6888
|
var useDetectionPipelineGetDeviceLiveContribution = trpc.detectionPipeline.getDeviceLiveContribution.useQuery;
|
|
5520
6889
|
/** Generated alias around `trpc.detectionPipeline.applyDeviceSettingsPatch.useMutation`. */
|
|
5521
6890
|
var useDetectionPipelineApplyDeviceSettingsPatch = trpc.detectionPipeline.applyDeviceSettingsPatch.useMutation;
|
|
6891
|
+
/** Generated alias around `trpc.deviceAdminLink.getAdminLink.useQuery`. */
|
|
6892
|
+
var useDeviceAdminLinkGetAdminLink = trpc.deviceAdminLink.getAdminLink.useQuery;
|
|
5522
6893
|
/** Generated alias around `trpc.deviceAdoption.listCandidateFilters.useQuery`. */
|
|
5523
6894
|
var useDeviceAdoptionListCandidateFilters = trpc.deviceAdoption.listCandidateFilters.useQuery;
|
|
5524
6895
|
/** Generated alias around `trpc.deviceAdoption.listCandidates.useQuery`. */
|
|
@@ -6809,6 +8180,12 @@ var useRecordingExportDeleteExport = trpc.recordingExport.deleteExport.useMutati
|
|
|
6809
8180
|
var useRecordingExportGetDownloadUrl = trpc.recordingExport.getDownloadUrl.useQuery;
|
|
6810
8181
|
/** Generated alias around `trpc.recordingExport.readExportBytes.useQuery`. */
|
|
6811
8182
|
var useRecordingExportReadExportBytes = trpc.recordingExport.readExportBytes.useQuery;
|
|
8183
|
+
/** Generated alias around `trpc.recordingOnboard.getOptions.useQuery`. */
|
|
8184
|
+
var useRecordingOnboardGetOptions = trpc.recordingOnboard.getOptions.useQuery;
|
|
8185
|
+
/** Generated alias around `trpc.recordingOnboard.setSettings.useMutation`. */
|
|
8186
|
+
var useRecordingOnboardSetSettings = trpc.recordingOnboard.setSettings.useMutation;
|
|
8187
|
+
/** Generated alias around `trpc.recordingOnboard.getStatus.useQuery`. */
|
|
8188
|
+
var useRecordingOnboardGetStatus = trpc.recordingOnboard.getStatus.useQuery;
|
|
6812
8189
|
/** Generated alias around `trpc.recordingSignal.getStatus.useQuery`. */
|
|
6813
8190
|
var useRecordingSignalGetStatus = trpc.recordingSignal.getStatus.useQuery;
|
|
6814
8191
|
/** Generated alias around `trpc.sceneMonitor.listScenes.useQuery`. */
|
|
@@ -7215,6 +8592,8 @@ var useVideoclipsListSources = trpc.videoclips.listSources.useQuery;
|
|
|
7215
8592
|
var useVideoclipsGetClipPlayback = trpc.videoclips.getClipPlayback.useQuery;
|
|
7216
8593
|
/** Generated alias around `trpc.videoclips.readClipBytes.useQuery`. */
|
|
7217
8594
|
var useVideoclipsReadClipBytes = trpc.videoclips.readClipBytes.useQuery;
|
|
8595
|
+
/** Generated alias around `trpc.videoclips.dialClipStream.useQuery`. */
|
|
8596
|
+
var useVideoclipsDialClipStream = trpc.videoclips.dialClipStream.useQuery;
|
|
7218
8597
|
/** Generated alias around `trpc.waterHeater.setTargetTemp.useMutation`. */
|
|
7219
8598
|
var useWaterHeaterSetTargetTemp = trpc.waterHeater.setTargetTemp.useMutation;
|
|
7220
8599
|
/** Generated alias around `trpc.waterHeater.setOperationMode.useMutation`. */
|
|
@@ -22424,7 +23803,7 @@ function RecordingPanel({ deviceId }) {
|
|
|
22424
23803
|
* Module-Federation `WidgetRegistry`. ids are namespaced `host/<name>`. */
|
|
22425
23804
|
var HOST_WIDGETS = {
|
|
22426
23805
|
"host/motion-zones-grid": (0, react$1.lazy)(() => Promise.resolve().then(() => require("./MotionZonesSettings-BK9R9NIr.cjs")).then((m) => ({ default: m.MotionZonesSettings }))),
|
|
22427
|
-
"host/privacy-mask-grid": (0, react$1.lazy)(() => Promise.resolve().then(() => require("./PrivacyMaskSettings-
|
|
23806
|
+
"host/privacy-mask-grid": (0, react$1.lazy)(() => Promise.resolve().then(() => require("./PrivacyMaskSettings-BqjXsXZR.cjs")).then((m) => ({ default: m.PrivacyMaskSettings }))),
|
|
22428
23807
|
"host/ptz-panel": PtzPanel,
|
|
22429
23808
|
"host/navigation-panel": NavigationPanel,
|
|
22430
23809
|
"host/consumables-panel": ConsumablesPanel,
|
|
@@ -31030,6 +32409,212 @@ function DataTableCard({ row, rowIndex, columns, bordered, onRowClick, rowClassN
|
|
|
31030
32409
|
});
|
|
31031
32410
|
}
|
|
31032
32411
|
//#endregion
|
|
32412
|
+
//#region src/composites/device-list/fuzzy-match.ts
|
|
32413
|
+
/**
|
|
32414
|
+
* fuzzy-match — case and separator-insensitive text search helper.
|
|
32415
|
+
*
|
|
32416
|
+
* Normalization rule: lowercase + strip all runs of hyphens, underscores and
|
|
32417
|
+
* whitespace entirely. This makes `Tapparella cucina` and `tapparella-cucina`
|
|
32418
|
+
* both normalize to `tapparellacucina`, so a substring match succeeds in
|
|
32419
|
+
* either direction.
|
|
32420
|
+
*/
|
|
32421
|
+
/**
|
|
32422
|
+
* Strips hyphens, underscores and whitespace runs from `s` and lowercases it.
|
|
32423
|
+
*
|
|
32424
|
+
* @example
|
|
32425
|
+
* normalizeForSearch('Tapparella cucina') // 'tapparellacucina'
|
|
32426
|
+
* normalizeForSearch('tapparella-cucina') // 'tapparellacucina'
|
|
32427
|
+
* normalizeForSearch('tapparella_cucina') // 'tapparellacucina'
|
|
32428
|
+
*/
|
|
32429
|
+
function normalizeForSearch(s) {
|
|
32430
|
+
return s.toLowerCase().replace(/[-_\s]+/g, "");
|
|
32431
|
+
}
|
|
32432
|
+
/**
|
|
32433
|
+
* Returns `true` when the normalized form of `target` contains the normalized
|
|
32434
|
+
* form of `query`. An empty query always matches.
|
|
32435
|
+
*
|
|
32436
|
+
* @example
|
|
32437
|
+
* fuzzyMatch('Tapparella cucina', 'tapparella-cucina') // true
|
|
32438
|
+
* fuzzyMatch('tapparella cucina', 'Tapparella-Cucina') // true
|
|
32439
|
+
* fuzzyMatch('xyz', 'tapparella-cucina') // false
|
|
32440
|
+
*/
|
|
32441
|
+
function fuzzyMatch(query, target) {
|
|
32442
|
+
const nq = normalizeForSearch(query);
|
|
32443
|
+
if (nq === "") return true;
|
|
32444
|
+
return normalizeForSearch(target).includes(nq);
|
|
32445
|
+
}
|
|
32446
|
+
//#endregion
|
|
32447
|
+
//#region src/composites/data-table-filter.ts
|
|
32448
|
+
/**
|
|
32449
|
+
* Per-instance filtering for a `DataTable` (or any row list): a search box
|
|
32450
|
+
* and a set of facet chips, both DERIVED from the rows the instance renders.
|
|
32451
|
+
*
|
|
32452
|
+
* Pure — no React. The state lives with the caller (`useDataTableFilter`), so
|
|
32453
|
+
* two tables on one page each carry their own filter, and the caller keeps the
|
|
32454
|
+
* FILTERED set it renders: a table whose selection acts on "what is on
|
|
32455
|
+
* screen" has to know what that is, which a filter hidden inside the table
|
|
32456
|
+
* could not tell it.
|
|
32457
|
+
*
|
|
32458
|
+
* Two rules, both load-bearing:
|
|
32459
|
+
* - **Facets are derived from the rows present**, most common first. A
|
|
32460
|
+
* hand-listed set goes stale the day a provider adds a type and offers
|
|
32461
|
+
* chips that match nothing.
|
|
32462
|
+
* - **A selected facet no row carries is ignored**, not applied. The chip is
|
|
32463
|
+
* not drawn (there is no row to derive it from), and an invisible filter
|
|
32464
|
+
* that empties the table is a table that looks broken.
|
|
32465
|
+
*/
|
|
32466
|
+
var EMPTY_DATA_TABLE_FILTER = {
|
|
32467
|
+
search: "",
|
|
32468
|
+
facets: []
|
|
32469
|
+
};
|
|
32470
|
+
/**
|
|
32471
|
+
* The facet chips for these rows: one per distinct value, most common first,
|
|
32472
|
+
* ties by value.
|
|
32473
|
+
*/
|
|
32474
|
+
function dataTableFacets(rows, facetValue) {
|
|
32475
|
+
if (facetValue === void 0) return [];
|
|
32476
|
+
const counts = /* @__PURE__ */ new Map();
|
|
32477
|
+
for (const row of rows) {
|
|
32478
|
+
const value = facetValue(row);
|
|
32479
|
+
counts.set(value, (counts.get(value) ?? 0) + 1);
|
|
32480
|
+
}
|
|
32481
|
+
return [...counts.entries()].map(([value, count]) => ({
|
|
32482
|
+
value,
|
|
32483
|
+
count
|
|
32484
|
+
})).toSorted((a, b) => b.count - a.count || a.value.localeCompare(b.value));
|
|
32485
|
+
}
|
|
32486
|
+
function isDataTableFilterActive(state) {
|
|
32487
|
+
return state.search.trim() !== "" || state.facets.length > 0;
|
|
32488
|
+
}
|
|
32489
|
+
/** A new state with `value` added to, or removed from, the selected facets. */
|
|
32490
|
+
function toggleDataTableFacet(state, value) {
|
|
32491
|
+
return {
|
|
32492
|
+
...state,
|
|
32493
|
+
facets: state.facets.includes(value) ? state.facets.filter((v) => v !== value) : [...state.facets, value]
|
|
32494
|
+
};
|
|
32495
|
+
}
|
|
32496
|
+
/**
|
|
32497
|
+
* The rows that survive the filter, in their incoming order.
|
|
32498
|
+
*
|
|
32499
|
+
* A selected facet that none of `rows` carries is dropped from the effective
|
|
32500
|
+
* selection (see the header), so a chip that is not on screen never filters.
|
|
32501
|
+
*/
|
|
32502
|
+
function filterDataTableRows(rows, state, config) {
|
|
32503
|
+
const needle = state.search.trim();
|
|
32504
|
+
const facetValue = config.facetValue;
|
|
32505
|
+
const present = new Set(dataTableFacets(rows, facetValue).map((f) => f.value));
|
|
32506
|
+
const selected = new Set(state.facets.filter((v) => present.has(v)));
|
|
32507
|
+
return rows.filter((row) => {
|
|
32508
|
+
if (selected.size > 0 && facetValue !== void 0 && !selected.has(facetValue(row))) return false;
|
|
32509
|
+
if (needle !== "" && !config.searchText(row).some((text) => fuzzyMatch(needle, text))) return false;
|
|
32510
|
+
return true;
|
|
32511
|
+
});
|
|
32512
|
+
}
|
|
32513
|
+
//#endregion
|
|
32514
|
+
//#region src/composites/data-table-filter-bar.tsx
|
|
32515
|
+
/**
|
|
32516
|
+
* The controls of one table's filter: a search box and the facet chips.
|
|
32517
|
+
*
|
|
32518
|
+
* Controlled — the state comes from `useDataTableFilter` and goes back through
|
|
32519
|
+
* the two callbacks; this component owns nothing, so it can sit above a
|
|
32520
|
+
* `DataTable`, a card's list, or anything else that renders the filtered rows.
|
|
32521
|
+
*
|
|
32522
|
+
* Every visible string is a prop: this library carries no translations, and
|
|
32523
|
+
* the caller's i18n does.
|
|
32524
|
+
*/
|
|
32525
|
+
var CHIP_ON = "rounded-full border border-primary bg-primary/10 px-2 py-0.5 text-[10px] text-foreground";
|
|
32526
|
+
var CHIP_OFF = "rounded-full border border-border px-2 py-0.5 text-[10px] text-foreground-muted hover:bg-surface-hover";
|
|
32527
|
+
function DataTableFilterBar({ state, facets, labels, onSearch, onToggleFacet, onClear, facetLabel }) {
|
|
32528
|
+
const active = state.search.trim() !== "" || state.facets.length > 0;
|
|
32529
|
+
const showFacets = facets.length > 1;
|
|
32530
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
32531
|
+
className: "flex flex-wrap items-center gap-2",
|
|
32532
|
+
children: [
|
|
32533
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
32534
|
+
className: "relative min-w-[12rem] flex-1",
|
|
32535
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Search, { className: "pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-foreground-subtle" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
32536
|
+
type: "search",
|
|
32537
|
+
value: state.search,
|
|
32538
|
+
onChange: (e) => onSearch(e.target.value),
|
|
32539
|
+
placeholder: labels.searchPlaceholder,
|
|
32540
|
+
"aria-label": labels.searchLabel,
|
|
32541
|
+
className: "w-full rounded border border-border bg-background py-1.5 pl-7 pr-2 text-xs text-foreground"
|
|
32542
|
+
})]
|
|
32543
|
+
}),
|
|
32544
|
+
showFacets && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
32545
|
+
role: "group",
|
|
32546
|
+
"aria-label": labels.facetsLabel,
|
|
32547
|
+
className: "flex flex-wrap gap-1",
|
|
32548
|
+
children: facets.map((facet) => {
|
|
32549
|
+
const pressed = state.facets.includes(facet.value);
|
|
32550
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
32551
|
+
type: "button",
|
|
32552
|
+
onClick: () => onToggleFacet(facet.value),
|
|
32553
|
+
"aria-pressed": pressed,
|
|
32554
|
+
className: pressed ? CHIP_ON : CHIP_OFF,
|
|
32555
|
+
children: [
|
|
32556
|
+
facetLabel ? facetLabel(facet.value) : facet.value,
|
|
32557
|
+
" ",
|
|
32558
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
32559
|
+
className: "text-foreground-subtle tabular-nums",
|
|
32560
|
+
children: facet.count
|
|
32561
|
+
})
|
|
32562
|
+
]
|
|
32563
|
+
}, facet.value);
|
|
32564
|
+
})
|
|
32565
|
+
}),
|
|
32566
|
+
active && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
32567
|
+
type: "button",
|
|
32568
|
+
onClick: onClear,
|
|
32569
|
+
className: "flex items-center gap-1 text-[11px] text-foreground-subtle hover:text-foreground",
|
|
32570
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(X, { className: "h-3 w-3" }), labels.clearLabel]
|
|
32571
|
+
})
|
|
32572
|
+
]
|
|
32573
|
+
});
|
|
32574
|
+
}
|
|
32575
|
+
//#endregion
|
|
32576
|
+
//#region src/composites/use-data-table-filter.ts
|
|
32577
|
+
/**
|
|
32578
|
+
* The React half of `data-table-filter.ts`: one filter state per call site,
|
|
32579
|
+
* so every table on a page filters on its own.
|
|
32580
|
+
*
|
|
32581
|
+
* The caller renders `rows` (the filtered set) and hands `state` + the two
|
|
32582
|
+
* setters to a `DataTableFilterBar`. It keeps the filtered set because
|
|
32583
|
+
* anything that acts on "the rows on screen" — a select-all, a bulk action —
|
|
32584
|
+
* must act on exactly these and nothing the filter hid.
|
|
32585
|
+
*/
|
|
32586
|
+
function useDataTableFilter(rows, config) {
|
|
32587
|
+
const [state, setState] = (0, react$1.useState)(EMPTY_DATA_TABLE_FILTER);
|
|
32588
|
+
const setSearch = (0, react$1.useCallback)((search) => {
|
|
32589
|
+
setState((prev) => ({
|
|
32590
|
+
...prev,
|
|
32591
|
+
search
|
|
32592
|
+
}));
|
|
32593
|
+
}, []);
|
|
32594
|
+
const toggleFacet = (0, react$1.useCallback)((value) => {
|
|
32595
|
+
setState((prev) => toggleDataTableFacet(prev, value));
|
|
32596
|
+
}, []);
|
|
32597
|
+
const clear = (0, react$1.useCallback)(() => setState(EMPTY_DATA_TABLE_FILTER), []);
|
|
32598
|
+
const { searchText, facetValue } = config;
|
|
32599
|
+
return {
|
|
32600
|
+
state,
|
|
32601
|
+
setSearch,
|
|
32602
|
+
toggleFacet,
|
|
32603
|
+
clear,
|
|
32604
|
+
facets: (0, react$1.useMemo)(() => dataTableFacets(rows, facetValue), [rows, facetValue]),
|
|
32605
|
+
rows: (0, react$1.useMemo)(() => filterDataTableRows(rows, state, {
|
|
32606
|
+
searchText,
|
|
32607
|
+
facetValue
|
|
32608
|
+
}), [
|
|
32609
|
+
rows,
|
|
32610
|
+
state,
|
|
32611
|
+
searchText,
|
|
32612
|
+
facetValue
|
|
32613
|
+
]),
|
|
32614
|
+
active: isDataTableFilterActive(state)
|
|
32615
|
+
};
|
|
32616
|
+
}
|
|
32617
|
+
//#endregion
|
|
31033
32618
|
//#region src/composites/detection-colors.ts
|
|
31034
32619
|
/**
|
|
31035
32620
|
* Detection class colors — a thin adapter over the SINGLE event-kind
|
|
@@ -44805,35 +46390,129 @@ function deviceRoleMetaOf(role) {
|
|
|
44805
46390
|
return DEVICE_ROLE_META[role] ?? FALLBACK_DEVICE_ROLE_META;
|
|
44806
46391
|
}
|
|
44807
46392
|
/**
|
|
44808
|
-
* Icons an operator may pick for a per-device `display.icon` override
|
|
44809
|
-
* a stable kebab-case name.
|
|
44810
|
-
*
|
|
44811
|
-
*
|
|
44812
|
-
*
|
|
46393
|
+
* Icons an operator may pick for a per-device `display.icon` override (and for
|
|
46394
|
+
* a per-role default), keyed by a stable kebab-case name. Named imports only —
|
|
46395
|
+
* no dynamic indexing into lucide, so the bundle carries exactly this set.
|
|
46396
|
+
* Unknown keys resolve to `undefined` (caller falls through to the next level).
|
|
46397
|
+
*
|
|
46398
|
+
* The vocabulary is the one the VIEWER draws from too (its own icon module,
|
|
46399
|
+
* keyed by these same strings): a key added here that the phone cannot draw
|
|
46400
|
+
* falls through to the next resolution level there, which reads as "my change
|
|
46401
|
+
* did nothing". So the KEY is the contract — a stable kebab-case string, never
|
|
46402
|
+
* a glyph identity — and `device-meta.test.ts` pins that every key resolves
|
|
46403
|
+
* and that the set never loses a key an operator may already have persisted.
|
|
46404
|
+
*
|
|
46405
|
+
* Grouped by what an operator is naming: a device, a light or appliance, a
|
|
46406
|
+
* sensor or the weather it reads, a room, or what moves through it. `gauge2`
|
|
46407
|
+
* is a legacy alias kept for rows that persisted it.
|
|
44813
46408
|
*/
|
|
44814
46409
|
var DISPLAY_ICON_REGISTRY = {
|
|
46410
|
+
camera: Camera,
|
|
46411
|
+
network: Network,
|
|
46412
|
+
"toggle-left": ToggleLeft,
|
|
46413
|
+
"toggle-right": ToggleRight,
|
|
46414
|
+
"circle-dot": CircleDot,
|
|
46415
|
+
"refresh-cw": RefreshCw,
|
|
46416
|
+
box: Box,
|
|
46417
|
+
"scroll-text": ScrollText,
|
|
46418
|
+
workflow: Workflow,
|
|
46419
|
+
lock: Lock,
|
|
46420
|
+
"lock-open": LockOpen,
|
|
46421
|
+
blinds: Blinds,
|
|
46422
|
+
"air-vent": AirVent,
|
|
46423
|
+
"monitor-play": MonitorPlay,
|
|
46424
|
+
"sliders-horizontal": SlidersHorizontal,
|
|
46425
|
+
"map-pin": MapPin,
|
|
46426
|
+
bot: Bot,
|
|
46427
|
+
tractor: Tractor,
|
|
46428
|
+
image: Image,
|
|
46429
|
+
bone: Bone,
|
|
46430
|
+
"door-closed": DoorClosed,
|
|
46431
|
+
"door-open": DoorOpen,
|
|
46432
|
+
crosshair: Crosshair,
|
|
46433
|
+
eye: Eye,
|
|
46434
|
+
"eye-off": EyeOff,
|
|
46435
|
+
smartphone: Smartphone,
|
|
46436
|
+
phone: Phone,
|
|
46437
|
+
tablet: Tablet,
|
|
46438
|
+
laptop: Laptop,
|
|
46439
|
+
monitor: Monitor,
|
|
46440
|
+
tv: Tv,
|
|
46441
|
+
speaker: Speaker,
|
|
46442
|
+
printer: Printer,
|
|
46443
|
+
projector: Projector,
|
|
46444
|
+
"gamepad-2": Gamepad2,
|
|
46445
|
+
radio: Radio,
|
|
46446
|
+
router: Router,
|
|
46447
|
+
bluetooth: Bluetooth,
|
|
46448
|
+
cpu: Cpu,
|
|
46449
|
+
"hard-drive": HardDrive,
|
|
46450
|
+
server: Server,
|
|
46451
|
+
mic: Mic,
|
|
46452
|
+
"mic-off": MicOff,
|
|
46453
|
+
video: Video,
|
|
46454
|
+
"video-off": VideoOff,
|
|
46455
|
+
music: Music,
|
|
46456
|
+
plug: Plug,
|
|
46457
|
+
"plug-zap": PlugZap,
|
|
46458
|
+
power: Power,
|
|
46459
|
+
"power-off": PowerOff,
|
|
46460
|
+
cable: Cable,
|
|
46461
|
+
battery: Battery,
|
|
46462
|
+
"battery-charging": BatteryCharging,
|
|
46463
|
+
"battery-full": BatteryFull,
|
|
46464
|
+
"battery-low": BatteryLow,
|
|
46465
|
+
key: Key,
|
|
46466
|
+
"key-round": KeyRound,
|
|
46467
|
+
mailbox: Mailbox,
|
|
46468
|
+
package: Package,
|
|
46469
|
+
shield: Shield,
|
|
46470
|
+
"shield-check": ShieldCheck,
|
|
46471
|
+
"shield-off": ShieldOff,
|
|
46472
|
+
lightbulb: Lightbulb,
|
|
46473
|
+
lamp: Lamp,
|
|
46474
|
+
"lamp-ceiling": LampCeiling,
|
|
46475
|
+
"lamp-desk": LampDesk,
|
|
46476
|
+
"lamp-floor": LampFloor,
|
|
46477
|
+
flashlight: Flashlight,
|
|
46478
|
+
heater: Heater,
|
|
46479
|
+
snowflake: Snowflake,
|
|
46480
|
+
"thermometer-sun": ThermometerSun,
|
|
46481
|
+
"thermometer-snowflake": ThermometerSnowflake,
|
|
46482
|
+
refrigerator: Refrigerator,
|
|
46483
|
+
microwave: Microwave,
|
|
46484
|
+
"washing-machine": WashingMachine,
|
|
46485
|
+
"cooking-pot": CookingPot,
|
|
46486
|
+
utensils: Utensils,
|
|
44815
46487
|
thermometer: Thermometer,
|
|
44816
46488
|
droplets: Droplets,
|
|
44817
46489
|
droplet: Droplet,
|
|
44818
46490
|
gauge: Gauge,
|
|
46491
|
+
gauge2: Gauge,
|
|
44819
46492
|
sun: Sun,
|
|
44820
46493
|
"sun-medium": SunMedium,
|
|
44821
46494
|
sunrise: Sunrise,
|
|
44822
46495
|
moon: Moon,
|
|
44823
46496
|
wind: Wind,
|
|
46497
|
+
cloud: Cloud,
|
|
44824
46498
|
"cloud-rain": CloudRain,
|
|
44825
46499
|
"cloud-sun": CloudSun,
|
|
44826
46500
|
waves: Waves,
|
|
44827
46501
|
sprout: Sprout,
|
|
46502
|
+
leaf: Leaf,
|
|
46503
|
+
flower: Flower,
|
|
44828
46504
|
zap: Zap,
|
|
44829
46505
|
flame: Flame,
|
|
44830
46506
|
bell: Bell,
|
|
46507
|
+
"bell-ring": BellRing,
|
|
46508
|
+
"bell-off": BellOff,
|
|
44831
46509
|
siren: Siren,
|
|
44832
46510
|
radar: Radar,
|
|
44833
46511
|
activity: Activity,
|
|
44834
46512
|
hash: Hash,
|
|
44835
46513
|
clock: Clock,
|
|
44836
|
-
|
|
46514
|
+
timer: Timer,
|
|
46515
|
+
calendar: Calendar,
|
|
44837
46516
|
pipette: Pipette,
|
|
44838
46517
|
fan: Fan,
|
|
44839
46518
|
bath: Bath,
|
|
@@ -44842,9 +46521,49 @@ var DISPLAY_ICON_REGISTRY = {
|
|
|
44842
46521
|
"shield-alert": ShieldAlert,
|
|
44843
46522
|
vibrate: Vibrate,
|
|
44844
46523
|
wifi: Wifi,
|
|
46524
|
+
"wifi-off": WifiOff,
|
|
44845
46525
|
"volume-2": Volume2,
|
|
44846
|
-
|
|
44847
|
-
|
|
46526
|
+
"volume-x": VolumeX,
|
|
46527
|
+
heart: Heart,
|
|
46528
|
+
"heart-pulse": HeartPulse,
|
|
46529
|
+
star: Star,
|
|
46530
|
+
sparkles: Sparkles,
|
|
46531
|
+
house: House,
|
|
46532
|
+
sofa: Sofa,
|
|
46533
|
+
"bed-double": BedDouble,
|
|
46534
|
+
bed: Bed,
|
|
46535
|
+
warehouse: Warehouse,
|
|
46536
|
+
trees: Trees,
|
|
46537
|
+
"tree-pine": TreePine,
|
|
46538
|
+
fence: Fence,
|
|
46539
|
+
store: Store,
|
|
46540
|
+
building: Building,
|
|
46541
|
+
"building-2": Building2,
|
|
46542
|
+
mountain: Mountain,
|
|
46543
|
+
umbrella: Umbrella,
|
|
46544
|
+
dumbbell: Dumbbell,
|
|
46545
|
+
wrench: Wrench,
|
|
46546
|
+
hammer: Hammer,
|
|
46547
|
+
drill: Drill,
|
|
46548
|
+
"waves-ladder": WavesLadder,
|
|
46549
|
+
"circle-parking": CircleParking,
|
|
46550
|
+
briefcase: Briefcase,
|
|
46551
|
+
route: Route,
|
|
46552
|
+
car: Car,
|
|
46553
|
+
bike: Bike,
|
|
46554
|
+
bus: Bus,
|
|
46555
|
+
truck: Truck,
|
|
46556
|
+
plane: Plane,
|
|
46557
|
+
"train-front": TrainFront,
|
|
46558
|
+
sailboat: Sailboat,
|
|
46559
|
+
dog: Dog,
|
|
46560
|
+
cat: Cat,
|
|
46561
|
+
bird: Bird,
|
|
46562
|
+
"paw-print": PawPrint,
|
|
46563
|
+
baby: Baby,
|
|
46564
|
+
user: User,
|
|
46565
|
+
users: Users,
|
|
46566
|
+
"person-standing": PersonStanding
|
|
44848
46567
|
};
|
|
44849
46568
|
/** Resolve a `display.icon` name to a lucide component, or `undefined` when the
|
|
44850
46569
|
* name is not in the curated `DISPLAY_ICON_REGISTRY`. */
|
|
@@ -45029,12 +46748,35 @@ function resolveFlags(props) {
|
|
|
45029
46748
|
showChildrenAccordion: props.showChildrenAccordion ?? d.showChildrenAccordion
|
|
45030
46749
|
};
|
|
45031
46750
|
}
|
|
45032
|
-
|
|
46751
|
+
/**
|
|
46752
|
+
* The row's lead icon — the ONE resolution order, the same one
|
|
46753
|
+
* `resolveSensorDisplay` applies to unit and precision:
|
|
46754
|
+
*
|
|
46755
|
+
* device override → operator role default → built-in role glyph → type glyph
|
|
46756
|
+
*
|
|
46757
|
+
* `roleDefaults` is what the nearest `RoleDisplayDefaultsProvider` publishes;
|
|
46758
|
+
* callers outside a provider pass nothing and the second level is skipped.
|
|
46759
|
+
* Each level FALLS THROUGH when it names a glyph the registry cannot draw —
|
|
46760
|
+
* an unknown key at any level must never leave the row without an icon, and
|
|
46761
|
+
* must never shadow a lower level that would have drawn one.
|
|
46762
|
+
*
|
|
46763
|
+
* "Set as default for all X sensors" writes the second level. It was written
|
|
46764
|
+
* for a year and read by nothing: this function went straight from the device
|
|
46765
|
+
* override to `DEVICE_ROLE_META`.
|
|
46766
|
+
*/
|
|
46767
|
+
function deviceLeadIcon(device, roleDefaults) {
|
|
45033
46768
|
if (device.display?.icon) {
|
|
45034
46769
|
const overridden = resolveDisplayIcon(device.display.icon);
|
|
45035
46770
|
if (overridden) return overridden;
|
|
45036
46771
|
}
|
|
45037
|
-
if (device.role)
|
|
46772
|
+
if (device.role) {
|
|
46773
|
+
const roleDefaultKey = roleDefaults?.[device.role]?.icon;
|
|
46774
|
+
if (roleDefaultKey !== void 0) {
|
|
46775
|
+
const fromRoleDefault = resolveDisplayIcon(roleDefaultKey);
|
|
46776
|
+
if (fromRoleDefault) return fromRoleDefault;
|
|
46777
|
+
}
|
|
46778
|
+
return deviceRoleMetaOf(device.role).icon;
|
|
46779
|
+
}
|
|
45038
46780
|
return deviceTypeMetaOf(device.type).icon;
|
|
45039
46781
|
}
|
|
45040
46782
|
/**
|
|
@@ -45191,6 +46933,7 @@ function effectiveType(device, containerChildren) {
|
|
|
45191
46933
|
*/
|
|
45192
46934
|
function effectiveIconDevice(device, containerChildren) {
|
|
45193
46935
|
if (device.type !== _camstack_types.DeviceType.Container) return device;
|
|
46936
|
+
if (device.display?.icon !== void 0 && resolveDisplayIcon(device.display.icon) !== void 0) return device;
|
|
45194
46937
|
const children = containerChildren ?? [];
|
|
45195
46938
|
if (children.length === 0) return device;
|
|
45196
46939
|
const primary = resolveContainerPrimary(children, device.linkDeviceId, device.primaryChildEntityId);
|
|
@@ -45444,6 +47187,121 @@ function HardwareCell({ device }) {
|
|
|
45444
47187
|
});
|
|
45445
47188
|
}
|
|
45446
47189
|
//#endregion
|
|
47190
|
+
//#region src/composites/device-item/admin-link-quick-action.tsx
|
|
47191
|
+
/**
|
|
47192
|
+
* <AdminLinkQuickAction> — the row-level "open this device's own config page"
|
|
47193
|
+
* affordance.
|
|
47194
|
+
*
|
|
47195
|
+
* ## Discreet, in this row's vocabulary
|
|
47196
|
+
*
|
|
47197
|
+
* The trailing run of a device row already carries a type-specific inline
|
|
47198
|
+
* control (a switch, a cover triad, a climate stepper, a sensor value), an
|
|
47199
|
+
* on-motion toggle, a PTZ button, a reboot button, whatever the caller injects
|
|
47200
|
+
* through `renderRowAction`, a delete button in table view and a status dot.
|
|
47201
|
+
* Anything added there competes with a control the operator uses daily, and
|
|
47202
|
+
* this one he uses roughly never.
|
|
47203
|
+
*
|
|
47204
|
+
* So it is the quietest thing the row can hold: a bare 12px glyph in
|
|
47205
|
+
* `text-foreground-subtle`, no chrome, no label, no colour until hover — a
|
|
47206
|
+
* step below `RebootQuickAction`, which at least has a hover surface, and it
|
|
47207
|
+
* sits LAST among the actions so it never displaces one. It renders as an `<a>`
|
|
47208
|
+
* rather than a button so the browser's own middle-click / copy-link /
|
|
47209
|
+
* open-in-new-tab all work, which is most of what an operator wants from it.
|
|
47210
|
+
*
|
|
47211
|
+
* ## It draws nothing rather than something dead
|
|
47212
|
+
*
|
|
47213
|
+
* Four gates, all of which draw nothing:
|
|
47214
|
+
*
|
|
47215
|
+
* - the device proxy has not resolved, or the cap is not bound (the provider
|
|
47216
|
+
* cannot answer for this device at all — a cloud-only vacuum, a Wyze cam);
|
|
47217
|
+
* - the query has not answered yet, or failed (a non-admin session loses it,
|
|
47218
|
+
* which is the intended outcome — no button beats a button that 403s);
|
|
47219
|
+
* - the provider answered `null` (this device HAS no page);
|
|
47220
|
+
* - the link is the DEVICE's own page and the device is offline — a web server
|
|
47221
|
+
* on a camera that is not answering will not answer a browser either.
|
|
47222
|
+
*
|
|
47223
|
+
* That last gate is why `target` exists on the payload: an `integration` link
|
|
47224
|
+
* (the Home Assistant device page, the UniFi controller) stays put when the
|
|
47225
|
+
* device is offline, because the page is served by something else entirely and
|
|
47226
|
+
* is very often exactly where the operator wants to go when a device drops.
|
|
47227
|
+
*
|
|
47228
|
+
* D62's rule holds from the other side: nothing here renders a DISABLED button.
|
|
47229
|
+
* A greyed-out link would say "broken", and none of these four states is.
|
|
47230
|
+
*/
|
|
47231
|
+
/**
|
|
47232
|
+
* Resolve the link, or null, applying every gate. Split out so the row button
|
|
47233
|
+
* and the detail-header button share ONE decision — two copies of a four-state
|
|
47234
|
+
* gate is how the two surfaces end up disagreeing about the same device.
|
|
47235
|
+
*
|
|
47236
|
+
* Asked through the DEVICE PROXY (`cap.getAdminLink`), not through the
|
|
47237
|
+
* generated tRPC hook. The generated hook reads ui-library's own tRPC react
|
|
47238
|
+
* context, which the device row does not have and must not require: the row
|
|
47239
|
+
* takes its `trpc` as a PROP precisely so a caller can render it against a
|
|
47240
|
+
* different client. Wiring the generated hook in here turned 120 existing
|
|
47241
|
+
* device-item tests red with "Unable to find tRPC Context" — and would have
|
|
47242
|
+
* done the same to any embedding that does not sit under ui-library's provider.
|
|
47243
|
+
*
|
|
47244
|
+
* One read per (device, binding). The answer is a configured address: it
|
|
47245
|
+
* changes when an operator edits a connection, which respawns the runner and
|
|
47246
|
+
* re-resolves the proxy anyway.
|
|
47247
|
+
*/
|
|
47248
|
+
function useDeviceAdminLink(trpc, deviceId) {
|
|
47249
|
+
const { dev, cap, online } = useDeviceCapability({
|
|
47250
|
+
trpc,
|
|
47251
|
+
deviceId,
|
|
47252
|
+
cap: (d) => d.deviceAdminLink,
|
|
47253
|
+
slice: () => void 0
|
|
47254
|
+
});
|
|
47255
|
+
const bound = dev !== null && cap !== void 0 && cap !== null;
|
|
47256
|
+
const [state, setState] = (0, react$1.useState)({ kind: "pending" });
|
|
47257
|
+
(0, react$1.useEffect)(() => {
|
|
47258
|
+
if (!bound || cap === void 0 || cap === null) {
|
|
47259
|
+
setState({ kind: "pending" });
|
|
47260
|
+
return;
|
|
47261
|
+
}
|
|
47262
|
+
let live = true;
|
|
47263
|
+
try {
|
|
47264
|
+
cap.getAdminLink({}).then((link) => {
|
|
47265
|
+
if (!live) return;
|
|
47266
|
+
setState(link === null || link === void 0 ? { kind: "none" } : {
|
|
47267
|
+
kind: "link",
|
|
47268
|
+
link
|
|
47269
|
+
});
|
|
47270
|
+
}).catch(() => {
|
|
47271
|
+
if (live) setState({ kind: "failed" });
|
|
47272
|
+
});
|
|
47273
|
+
} catch {
|
|
47274
|
+
setState({ kind: "failed" });
|
|
47275
|
+
}
|
|
47276
|
+
return () => {
|
|
47277
|
+
live = false;
|
|
47278
|
+
};
|
|
47279
|
+
}, [
|
|
47280
|
+
bound,
|
|
47281
|
+
cap,
|
|
47282
|
+
deviceId
|
|
47283
|
+
]);
|
|
47284
|
+
if (state.kind !== "link") return null;
|
|
47285
|
+
if (state.link.target === "device" && !online) return null;
|
|
47286
|
+
return state.link;
|
|
47287
|
+
}
|
|
47288
|
+
function AdminLinkQuickAction({ trpc, deviceId, className, iconClassName }) {
|
|
47289
|
+
const link = useDeviceAdminLink(trpc, deviceId);
|
|
47290
|
+
if (link === null) return null;
|
|
47291
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
47292
|
+
href: link.url,
|
|
47293
|
+
target: "_blank",
|
|
47294
|
+
rel: "noopener noreferrer",
|
|
47295
|
+
onClick: (e) => {
|
|
47296
|
+
e.stopPropagation();
|
|
47297
|
+
},
|
|
47298
|
+
className: cn("inline-flex items-center justify-center rounded text-foreground-subtle hover:text-foreground transition-colors flex-shrink-0", className),
|
|
47299
|
+
title: `${link.label} — ${link.host}`,
|
|
47300
|
+
"aria-label": `Open ${link.label} for this device`,
|
|
47301
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExternalLink, { className: cn("h-3 w-3", iconClassName) })
|
|
47302
|
+
});
|
|
47303
|
+
}
|
|
47304
|
+
//#endregion
|
|
45447
47305
|
//#region src/composites/device-item/reboot-quick-action.tsx
|
|
45448
47306
|
/**
|
|
45449
47307
|
* <RebootQuickAction> — a dedicated row-level reboot affordance.
|
|
@@ -45570,7 +47428,7 @@ function RebootQuickAction({ trpc, deviceId, deviceName }) {
|
|
|
45570
47428
|
* or a standalone test) the hook returns a stable empty array — the same
|
|
45571
47429
|
* graceful default the old optional prop had.
|
|
45572
47430
|
*/
|
|
45573
|
-
var EMPTY$
|
|
47431
|
+
var EMPTY$2 = [];
|
|
45574
47432
|
var ContainerChildrenContext = (0, react$1.createContext)(null);
|
|
45575
47433
|
function ContainerChildrenProvider({ value, children }) {
|
|
45576
47434
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ContainerChildrenContext.Provider, {
|
|
@@ -45585,7 +47443,7 @@ function ContainerChildrenProvider({ value, children }) {
|
|
|
45585
47443
|
* rendered outside a list, degrades exactly like the old optional prop.
|
|
45586
47444
|
*/
|
|
45587
47445
|
function useContainerChildren(deviceId) {
|
|
45588
|
-
return (0, react$1.useContext)(ContainerChildrenContext)?.get(deviceId) ?? EMPTY$
|
|
47446
|
+
return (0, react$1.useContext)(ContainerChildrenContext)?.get(deviceId) ?? EMPTY$2;
|
|
45589
47447
|
}
|
|
45590
47448
|
//#endregion
|
|
45591
47449
|
//#region src/composites/device-item/actions.tsx
|
|
@@ -45671,6 +47529,10 @@ function DeviceItemActions({ trpc, device, controlPlacement }) {
|
|
|
45671
47529
|
trpc,
|
|
45672
47530
|
deviceId: device.id,
|
|
45673
47531
|
deviceName: device.name
|
|
47532
|
+
}),
|
|
47533
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(AdminLinkQuickAction, {
|
|
47534
|
+
trpc,
|
|
47535
|
+
deviceId: device.id
|
|
45674
47536
|
})
|
|
45675
47537
|
] });
|
|
45676
47538
|
}
|
|
@@ -45811,6 +47673,33 @@ function PtzQuickAction({ trpc, deviceId }) {
|
|
|
45811
47673
|
}), document.body)] });
|
|
45812
47674
|
}
|
|
45813
47675
|
//#endregion
|
|
47676
|
+
//#region src/composites/device-item/role-display-defaults-context.tsx
|
|
47677
|
+
var EMPTY$1 = {};
|
|
47678
|
+
var RoleDisplayDefaultsContext = (0, react$1.createContext)(EMPTY$1);
|
|
47679
|
+
function RoleDisplayDefaultsProvider({ value, children }) {
|
|
47680
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RoleDisplayDefaultsContext.Provider, {
|
|
47681
|
+
value,
|
|
47682
|
+
children
|
|
47683
|
+
});
|
|
47684
|
+
}
|
|
47685
|
+
/** The defaults published by the nearest provider — an empty record outside
|
|
47686
|
+
* one, never `undefined`, so a caller can index it without a guard. */
|
|
47687
|
+
function useRoleDisplayDefaults() {
|
|
47688
|
+
return (0, react$1.useContext)(RoleDisplayDefaultsContext);
|
|
47689
|
+
}
|
|
47690
|
+
/**
|
|
47691
|
+
* Reads the defaults from the hub and publishes them. Until the query lands
|
|
47692
|
+
* the children see no defaults — the built-in role glyph, which is what they
|
|
47693
|
+
* would see with no operator default at all, so nothing flashes wrong.
|
|
47694
|
+
*/
|
|
47695
|
+
function RoleDisplayDefaultsFromServer({ children }) {
|
|
47696
|
+
const { data } = useDeviceManagerGetRoleDisplayDefaults({}, { staleTime: 6e4 });
|
|
47697
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RoleDisplayDefaultsProvider, {
|
|
47698
|
+
value: data?.defaults ?? EMPTY$1,
|
|
47699
|
+
children
|
|
47700
|
+
});
|
|
47701
|
+
}
|
|
47702
|
+
//#endregion
|
|
45814
47703
|
//#region src/composites/device-item/children-accordion.tsx
|
|
45815
47704
|
/**
|
|
45816
47705
|
* <ChildrenAccordion> — accessory + adopted children rows shown when
|
|
@@ -45863,7 +47752,7 @@ function ChildRow$1({ trpc, child, onNavigate, parentName }) {
|
|
|
45863
47752
|
},
|
|
45864
47753
|
className: "w-full flex items-center gap-2 px-3 py-1.5 text-left hover:bg-surface-hover transition-colors cursor-pointer",
|
|
45865
47754
|
children: [
|
|
45866
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(deviceLeadIcon(child), { className: "h-3 w-3 text-foreground-subtle flex-shrink-0" }),
|
|
47755
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(deviceLeadIcon(child, useRoleDisplayDefaults()), { className: "h-3 w-3 text-foreground-subtle flex-shrink-0" }),
|
|
45867
47756
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
45868
47757
|
className: "text-[10.5px] text-foreground flex-1 truncate",
|
|
45869
47758
|
children: childListName(child, parentName)
|
|
@@ -46242,7 +48131,9 @@ var CHEVRON_SLOT_CLASS = {
|
|
|
46242
48131
|
stacked: "h-4 w-4 mt-0.5"
|
|
46243
48132
|
};
|
|
46244
48133
|
function DeviceItemHeader({ device, variant, flags, parent, integrationIcon, hasChildren, expanded, onToggleExpand, onNavigateToParent, stacked = false, nameOverflow = "truncate" }) {
|
|
46245
|
-
const
|
|
48134
|
+
const containerChildren = useContainerChildren(device.id);
|
|
48135
|
+
const roleDefaults = useRoleDisplayDefaults();
|
|
48136
|
+
const Icon = deviceLeadIcon(effectiveIconDevice(device, containerChildren), roleDefaults);
|
|
46246
48137
|
const slotClass = stacked ? CHEVRON_SLOT_CLASS.stacked : CHEVRON_SLOT_CLASS.horizontal;
|
|
46247
48138
|
const lineClass = nameOverflow === "scroll" ? NAME_TEXT_CLASS : "truncate";
|
|
46248
48139
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -47049,41 +48940,6 @@ function groupTopLevelAndAccessories(devices, options) {
|
|
|
47049
48940
|
};
|
|
47050
48941
|
}
|
|
47051
48942
|
//#endregion
|
|
47052
|
-
//#region src/composites/device-list/fuzzy-match.ts
|
|
47053
|
-
/**
|
|
47054
|
-
* fuzzy-match — case and separator-insensitive text search helper.
|
|
47055
|
-
*
|
|
47056
|
-
* Normalization rule: lowercase + strip all runs of hyphens, underscores and
|
|
47057
|
-
* whitespace entirely. This makes `Tapparella cucina` and `tapparella-cucina`
|
|
47058
|
-
* both normalize to `tapparellacucina`, so a substring match succeeds in
|
|
47059
|
-
* either direction.
|
|
47060
|
-
*/
|
|
47061
|
-
/**
|
|
47062
|
-
* Strips hyphens, underscores and whitespace runs from `s` and lowercases it.
|
|
47063
|
-
*
|
|
47064
|
-
* @example
|
|
47065
|
-
* normalizeForSearch('Tapparella cucina') // 'tapparellacucina'
|
|
47066
|
-
* normalizeForSearch('tapparella-cucina') // 'tapparellacucina'
|
|
47067
|
-
* normalizeForSearch('tapparella_cucina') // 'tapparellacucina'
|
|
47068
|
-
*/
|
|
47069
|
-
function normalizeForSearch(s) {
|
|
47070
|
-
return s.toLowerCase().replace(/[-_\s]+/g, "");
|
|
47071
|
-
}
|
|
47072
|
-
/**
|
|
47073
|
-
* Returns `true` when the normalized form of `target` contains the normalized
|
|
47074
|
-
* form of `query`. An empty query always matches.
|
|
47075
|
-
*
|
|
47076
|
-
* @example
|
|
47077
|
-
* fuzzyMatch('Tapparella cucina', 'tapparella-cucina') // true
|
|
47078
|
-
* fuzzyMatch('tapparella cucina', 'Tapparella-Cucina') // true
|
|
47079
|
-
* fuzzyMatch('xyz', 'tapparella-cucina') // false
|
|
47080
|
-
*/
|
|
47081
|
-
function fuzzyMatch(query, target) {
|
|
47082
|
-
const nq = normalizeForSearch(query);
|
|
47083
|
-
if (nq === "") return true;
|
|
47084
|
-
return normalizeForSearch(target).includes(nq);
|
|
47085
|
-
}
|
|
47086
|
-
//#endregion
|
|
47087
48943
|
//#region src/composites/device-list/multi-select.tsx
|
|
47088
48944
|
/**
|
|
47089
48945
|
* Compact multi-select dropdown — a single chip-sized trigger ("Label · N")
|
|
@@ -47526,7 +49382,7 @@ function topLevelIndentLevel(device, parentType) {
|
|
|
47526
49382
|
if (HUB_LIKE_PARENT_TYPES.has(parentType.toLowerCase())) return 1;
|
|
47527
49383
|
return 0;
|
|
47528
49384
|
}
|
|
47529
|
-
function TableLayout({ rows, accessoriesByParent,
|
|
49385
|
+
function TableLayout({ rows, accessoriesByParent, expandedParents, onToggleExpand, devices, visibleColumns, trpc, resolveIntegrationIcon, resolveParent, onNavigate, renderRowAction, onDeleteDevice, selectable, rowClickSelects, activeSelected, onToggleSelection, sort, onSort }) {
|
|
47530
49386
|
const showType = visibleColumns.includes("type");
|
|
47531
49387
|
const showFeatures = visibleColumns.includes("features");
|
|
47532
49388
|
const showManufacturer = visibleColumns.includes("manufacturer");
|
|
@@ -47585,7 +49441,6 @@ function TableLayout({ rows, accessoriesByParent, autoExpandedParents, devices,
|
|
|
47585
49441
|
}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: rows.map((d) => {
|
|
47586
49442
|
const accessories = accessoriesByParent.get(d.id) ?? [];
|
|
47587
49443
|
const hasAccessories = accessories.length > 0;
|
|
47588
|
-
const autoExpand = autoExpandedParents.has(d.id);
|
|
47589
49444
|
const parentRowParent = d.parentDeviceId !== null ? resolveParent?.(d.parentDeviceId) ?? null : null;
|
|
47590
49445
|
const parentType = d.parentDeviceId !== null ? parentTypeById.get(d.parentDeviceId) ?? null : null;
|
|
47591
49446
|
const selection = selectable ? {
|
|
@@ -47596,7 +49451,8 @@ function TableLayout({ rows, accessoriesByParent, autoExpandedParents, devices,
|
|
|
47596
49451
|
parent: d,
|
|
47597
49452
|
accessories,
|
|
47598
49453
|
hasAccessories,
|
|
47599
|
-
|
|
49454
|
+
expanded: expandedParents.has(d.id),
|
|
49455
|
+
onToggleExpand: () => onToggleExpand(d.id),
|
|
47600
49456
|
trpc,
|
|
47601
49457
|
integrationIcon: showIcon ? resolveIntegrationIcon?.(d.addonId) ?? null : null,
|
|
47602
49458
|
showType,
|
|
@@ -47614,16 +49470,7 @@ function TableLayout({ rows, accessoriesByParent, autoExpandedParents, devices,
|
|
|
47614
49470
|
})
|
|
47615
49471
|
});
|
|
47616
49472
|
}
|
|
47617
|
-
function TableRowGroup({ parent, accessories, hasAccessories,
|
|
47618
|
-
const [expanded, setExpanded] = (0, react$1.useState)(forceExpanded);
|
|
47619
|
-
const prevForce = (0, react$1.useRef)(forceExpanded);
|
|
47620
|
-
(0, react$1.useEffect)(() => {
|
|
47621
|
-
if (prevForce.current !== forceExpanded) {
|
|
47622
|
-
setExpanded(forceExpanded);
|
|
47623
|
-
prevForce.current = forceExpanded;
|
|
47624
|
-
}
|
|
47625
|
-
}, [forceExpanded]);
|
|
47626
|
-
const onToggleExpand = () => setExpanded((v) => !v);
|
|
49473
|
+
function TableRowGroup({ parent, accessories, hasAccessories, expanded, onToggleExpand, trpc, integrationIcon, showType, showManufacturer, showFeatures, parentRowParent, indentLevel, onNavigate, renderRowAction, onDeleteDevice, selection, rowClickSelects }) {
|
|
47627
49474
|
const showAccessoryRows = hasAccessories && expanded;
|
|
47628
49475
|
const grouped = (0, react$1.useMemo)(() => groupChildrenByLayout(parent.stableId, accessories, parent.childLayout), [
|
|
47629
49476
|
parent.stableId,
|
|
@@ -47890,13 +49737,15 @@ function DeviceModeList(props) {
|
|
|
47890
49737
|
]);
|
|
47891
49738
|
const grouped = (0, react$1.useMemo)(() => groupTopLevelAndAccessories(filtered), [filtered]);
|
|
47892
49739
|
const sortedTopLevel = (0, react$1.useMemo)(() => sortRows(grouped.topLevel, sort), [grouped.topLevel, sort]);
|
|
47893
|
-
const
|
|
47894
|
-
|
|
47895
|
-
|
|
47896
|
-
|
|
47897
|
-
|
|
47898
|
-
|
|
47899
|
-
|
|
49740
|
+
const [openParents, setOpenParents] = (0, react$1.useState)(() => /* @__PURE__ */ new Set());
|
|
49741
|
+
const toggleParent = (0, react$1.useCallback)((id) => {
|
|
49742
|
+
setOpenParents((prev) => {
|
|
49743
|
+
const next = new Set(prev);
|
|
49744
|
+
if (next.has(id)) next.delete(id);
|
|
49745
|
+
else next.add(id);
|
|
49746
|
+
return next;
|
|
49747
|
+
});
|
|
49748
|
+
}, []);
|
|
47900
49749
|
const totalItems = grouped.topLevel.length;
|
|
47901
49750
|
const totalPages = Math.max(1, Math.ceil(totalItems / currentPageSize));
|
|
47902
49751
|
const safePage = Math.min(url.state.page, totalPages);
|
|
@@ -47966,7 +49815,8 @@ function DeviceModeList(props) {
|
|
|
47966
49815
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableLayout, {
|
|
47967
49816
|
rows: pageRows,
|
|
47968
49817
|
accessoriesByParent: grouped.accessoriesByParent,
|
|
47969
|
-
|
|
49818
|
+
expandedParents: openParents,
|
|
49819
|
+
onToggleExpand: toggleParent,
|
|
47970
49820
|
visibleColumns,
|
|
47971
49821
|
sort,
|
|
47972
49822
|
onSort,
|
|
@@ -48734,6 +50584,145 @@ function DeviceGrid({ children, minCardWidth = 220, gap = 3, className }) {
|
|
|
48734
50584
|
});
|
|
48735
50585
|
}
|
|
48736
50586
|
//#endregion
|
|
50587
|
+
//#region src/composites/icon-picker.tsx
|
|
50588
|
+
/**
|
|
50589
|
+
* icon-picker — the ONE control for choosing an icon, wherever admin-ui asks.
|
|
50590
|
+
*
|
|
50591
|
+
* There were two: a device one over `DISPLAY_ICON_REGISTRY` and a room one
|
|
50592
|
+
* over `LOCATION_ICON_IDS`, identical apart from the vocabulary they walked.
|
|
50593
|
+
* That was tolerable while the device set was 56 glyphs in a flat grid. It is
|
|
50594
|
+
* not at 157: a picker that only lets the operator HUNT is a picker they stop
|
|
50595
|
+
* using, and the two copies were already drifting — only one of them had an
|
|
50596
|
+
* i18n'd label.
|
|
50597
|
+
*
|
|
50598
|
+
* So the vocabulary, the grouping and the search all come from
|
|
50599
|
+
* `@camstack/types`' `display-icon-vocabulary`, which is the same module the
|
|
50600
|
+
* viewer's sheet searches. What is left here is the web half: a popover, a
|
|
50601
|
+
* grid, and a text field.
|
|
50602
|
+
*
|
|
50603
|
+
* ## What it does NOT own
|
|
50604
|
+
*
|
|
50605
|
+
* - **The glyphs.** `resolveGlyph` is a prop, because this package's table is
|
|
50606
|
+
* `lucide-react` and the viewer's is `lucide-react-native`. A key this build
|
|
50607
|
+
* cannot draw is SKIPPED rather than rendered as a hole — an empty tile
|
|
50608
|
+
* reads as a rendering bug, not as a missing choice.
|
|
50609
|
+
* - **The words.** Every string is a prop. This package has no i18n (one file
|
|
50610
|
+
* in it imports react-i18next, and that is the exception), and a control
|
|
50611
|
+
* that reached for a translation would force it on every consumer.
|
|
50612
|
+
* - **The write.** `onPick` is called and that is all; whether it is a form
|
|
50613
|
+
* value or an immediate mutation is the caller's business, as it already was
|
|
50614
|
+
* in both pickers this replaces.
|
|
50615
|
+
*
|
|
50616
|
+
* ## The clear tile is never filtered away
|
|
50617
|
+
*
|
|
50618
|
+
* The "inherit" / "no icon" choice sits above the sections and ignores the
|
|
50619
|
+
* search. A query that hid it would strand the operator on a glyph they picked
|
|
50620
|
+
* by accident with no way back to the default — the one action a picker must
|
|
50621
|
+
* always offer.
|
|
50622
|
+
*/
|
|
50623
|
+
function IconPicker({ value, onPick, resolveGlyph, fallbackGlyph, labels, only, extraWords, clearGlyph, labelFor, disabled = false }) {
|
|
50624
|
+
const [open, setOpen] = (0, react$1.useState)(false);
|
|
50625
|
+
const [query, setQuery] = (0, react$1.useState)("");
|
|
50626
|
+
const allowed = (0, react$1.useMemo)(() => only === void 0 ? null : new Set(only), [only]);
|
|
50627
|
+
const sections = (0, react$1.useMemo)(() => {
|
|
50628
|
+
const hits = (0, _camstack_types.searchDisplayIcons)(query, extraWords);
|
|
50629
|
+
const byGroup = /* @__PURE__ */ new Map();
|
|
50630
|
+
for (const hit of hits) {
|
|
50631
|
+
const { key, group } = hit.entry;
|
|
50632
|
+
if (allowed !== null && !allowed.has(key)) continue;
|
|
50633
|
+
if (resolveGlyph(key) === void 0) continue;
|
|
50634
|
+
const bucket = byGroup.get(group);
|
|
50635
|
+
if (bucket === void 0) byGroup.set(group, [key]);
|
|
50636
|
+
else bucket.push(key);
|
|
50637
|
+
}
|
|
50638
|
+
return _camstack_types.DISPLAY_ICON_GROUPS.flatMap((group) => {
|
|
50639
|
+
const keys = byGroup.get(group);
|
|
50640
|
+
return keys === void 0 || keys.length === 0 ? [] : [{
|
|
50641
|
+
group,
|
|
50642
|
+
keys
|
|
50643
|
+
}];
|
|
50644
|
+
});
|
|
50645
|
+
}, [
|
|
50646
|
+
query,
|
|
50647
|
+
extraWords,
|
|
50648
|
+
allowed,
|
|
50649
|
+
resolveGlyph
|
|
50650
|
+
]);
|
|
50651
|
+
const Current = (value === null ? void 0 : resolveGlyph(value)) ?? fallbackGlyph;
|
|
50652
|
+
const choose = async (next) => {
|
|
50653
|
+
setOpen(false);
|
|
50654
|
+
setQuery("");
|
|
50655
|
+
await onPick(next);
|
|
50656
|
+
};
|
|
50657
|
+
const Clear = clearGlyph ?? fallbackGlyph;
|
|
50658
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
50659
|
+
className: "relative flex shrink-0 items-center gap-2",
|
|
50660
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
50661
|
+
type: "button",
|
|
50662
|
+
disabled,
|
|
50663
|
+
onClick: () => setOpen((o) => !o),
|
|
50664
|
+
"aria-expanded": open,
|
|
50665
|
+
"aria-label": labels.trigger,
|
|
50666
|
+
title: labels.trigger,
|
|
50667
|
+
className: "rounded border border-border p-1 text-foreground-muted hover:bg-surface-hover disabled:opacity-50",
|
|
50668
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Current, { className: "h-4 w-4" })
|
|
50669
|
+
}), open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
50670
|
+
type: "button",
|
|
50671
|
+
"aria-label": labels.close,
|
|
50672
|
+
onClick: () => setOpen(false),
|
|
50673
|
+
className: "fixed inset-0 z-10 cursor-default"
|
|
50674
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
50675
|
+
role: "group",
|
|
50676
|
+
"aria-label": labels.panel,
|
|
50677
|
+
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",
|
|
50678
|
+
children: [
|
|
50679
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
50680
|
+
type: "search",
|
|
50681
|
+
value: query,
|
|
50682
|
+
autoFocus: true,
|
|
50683
|
+
onChange: (e) => setQuery(e.target.value),
|
|
50684
|
+
placeholder: labels.searchPlaceholder,
|
|
50685
|
+
"aria-label": labels.searchPlaceholder,
|
|
50686
|
+
className: "mb-2 w-full rounded border border-border bg-surface-raised px-2 py-1 text-xs text-foreground placeholder:text-foreground-subtle"
|
|
50687
|
+
}),
|
|
50688
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
50689
|
+
type: "button",
|
|
50690
|
+
onClick: () => void choose(null),
|
|
50691
|
+
"aria-pressed": value === null,
|
|
50692
|
+
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",
|
|
50693
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Clear, { className: "h-3.5 w-3.5" }), labels.clear]
|
|
50694
|
+
}),
|
|
50695
|
+
sections.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
50696
|
+
className: "px-1.5 py-2 text-[11px] text-foreground-subtle",
|
|
50697
|
+
children: labels.noMatches
|
|
50698
|
+
}) : sections.map(({ group, keys }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
50699
|
+
className: "mb-2 last:mb-0",
|
|
50700
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
|
|
50701
|
+
className: "px-1.5 pb-1 text-[10px] uppercase tracking-wide text-foreground-subtle",
|
|
50702
|
+
children: labels.groups[group]
|
|
50703
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
50704
|
+
className: "grid grid-cols-7 gap-1",
|
|
50705
|
+
children: keys.map((key) => {
|
|
50706
|
+
const Glyph = resolveGlyph(key);
|
|
50707
|
+
if (Glyph === void 0) return null;
|
|
50708
|
+
const selected = value === key;
|
|
50709
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
50710
|
+
type: "button",
|
|
50711
|
+
onClick: () => void choose(key),
|
|
50712
|
+
"aria-pressed": selected,
|
|
50713
|
+
"aria-label": labelFor?.(key) ?? key,
|
|
50714
|
+
title: labelFor?.(key) ?? key,
|
|
50715
|
+
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",
|
|
50716
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Glyph, { className: "h-4 w-4" })
|
|
50717
|
+
}, key);
|
|
50718
|
+
})
|
|
50719
|
+
})]
|
|
50720
|
+
}, group))
|
|
50721
|
+
]
|
|
50722
|
+
})] })]
|
|
50723
|
+
});
|
|
50724
|
+
}
|
|
50725
|
+
//#endregion
|
|
48737
50726
|
//#region src/composites/device-selector-picker.tsx
|
|
48738
50727
|
/**
|
|
48739
50728
|
* <DeviceSelectorPicker> — the operator-facing editor for a v3
|
|
@@ -53687,9 +55676,10 @@ var MotionZonesSettings = (0, react$1.lazy)(() => Promise.resolve().then(() => r
|
|
|
53687
55676
|
* inside `<Suspense>`; the admin-ui `/scenes` dialog is its only caller. */
|
|
53688
55677
|
var SceneMonitorEditor = (0, react$1.lazy)(() => Promise.resolve().then(() => require("./SceneMonitorEditor-D0mXx_SD.cjs")).then((m) => ({ default: m.SceneMonitorEditor })));
|
|
53689
55678
|
/** Lazy-wrapped `PrivacyMaskSettings` — code-split off the main bundle. */
|
|
53690
|
-
var PrivacyMaskSettings = (0, react$1.lazy)(() => Promise.resolve().then(() => require("./PrivacyMaskSettings-
|
|
55679
|
+
var PrivacyMaskSettings = (0, react$1.lazy)(() => Promise.resolve().then(() => require("./PrivacyMaskSettings-BqjXsXZR.cjs")).then((m) => ({ default: m.PrivacyMaskSettings })));
|
|
53691
55680
|
//#endregion
|
|
53692
55681
|
exports.AddonGlobalSettingsForm = AddonGlobalSettingsForm;
|
|
55682
|
+
exports.AdminLinkQuickAction = AdminLinkQuickAction;
|
|
53693
55683
|
exports.AgentStepEditor = AgentStepEditor;
|
|
53694
55684
|
exports.AlarmHeroCard = AlarmHeroCard;
|
|
53695
55685
|
exports.AlarmPanelInlineControl = AlarmInlineControl;
|
|
@@ -53759,6 +55749,7 @@ exports.DEVICE_TYPE_CONTROL = DEVICE_TYPE_CONTROL;
|
|
|
53759
55749
|
exports.DEVICE_TYPE_META = DEVICE_TYPE_META;
|
|
53760
55750
|
exports.DISPLAY_ICON_REGISTRY = DISPLAY_ICON_REGISTRY;
|
|
53761
55751
|
exports.DataTable = DataTable;
|
|
55752
|
+
exports.DataTableFilterBar = DataTableFilterBar;
|
|
53762
55753
|
exports.DetectionCanvas = DetectionCanvas;
|
|
53763
55754
|
exports.DetectionOverlay = DetectionOverlay;
|
|
53764
55755
|
exports.DetectionResultTree = DetectionResultTree;
|
|
@@ -53791,6 +55782,7 @@ exports.DropdownItem = DropdownItem;
|
|
|
53791
55782
|
exports.DropdownTrigger = DropdownTrigger;
|
|
53792
55783
|
exports.DummyHeroCard = DummyHeroCard;
|
|
53793
55784
|
exports.DummyInline = DummyInline;
|
|
55785
|
+
exports.EMPTY_DATA_TABLE_FILTER = EMPTY_DATA_TABLE_FILTER;
|
|
53794
55786
|
exports.EVENT_KIND_ICONS = EVENT_KIND_ICONS;
|
|
53795
55787
|
exports.EmptyState = EmptyState;
|
|
53796
55788
|
exports.ErrorBox = ErrorBox;
|
|
@@ -53823,6 +55815,7 @@ exports.HumidifierInlineControl = HumidifierInlineControl;
|
|
|
53823
55815
|
exports.INPUT_COMPACT = INPUT_COMPACT;
|
|
53824
55816
|
exports.IconAction = IconAction;
|
|
53825
55817
|
exports.IconButton = IconButton;
|
|
55818
|
+
exports.IconPicker = IconPicker;
|
|
53826
55819
|
exports.ImageHeroCard = ImageHeroCard;
|
|
53827
55820
|
exports.ImageInlineControl = ImageInlineControl;
|
|
53828
55821
|
exports.ImageOff = ImageOff;
|
|
@@ -53848,6 +55841,7 @@ exports.MediaPlayerHeroCard = MediaPlayerHeroCard;
|
|
|
53848
55841
|
exports.MediaPlayerInlineControl = MediaPlayerInlineControl;
|
|
53849
55842
|
exports.MediaPlayerPanel = MediaPlayerPanel;
|
|
53850
55843
|
exports.Mic = Mic;
|
|
55844
|
+
exports.MicOff = MicOff;
|
|
53851
55845
|
exports.MobileDrawer = MobileDrawer;
|
|
53852
55846
|
exports.ModelPicker = ModelPicker;
|
|
53853
55847
|
exports.MotionZonesSettings = MotionZonesSettings;
|
|
@@ -53886,6 +55880,8 @@ exports.RadialGauge = RadialGauge;
|
|
|
53886
55880
|
exports.RecordedPlaybackProvider = RecordedPlaybackProvider;
|
|
53887
55881
|
exports.RecordingPanel = RecordingPanel;
|
|
53888
55882
|
exports.ResponseLog = ResponseLog;
|
|
55883
|
+
exports.RoleDisplayDefaultsFromServer = RoleDisplayDefaultsFromServer;
|
|
55884
|
+
exports.RoleDisplayDefaultsProvider = RoleDisplayDefaultsProvider;
|
|
53889
55885
|
exports.RotateCcw = RotateCcw;
|
|
53890
55886
|
exports.SCENE_CAPTURE_VARIANTS = SCENE_CAPTURE_VARIANTS;
|
|
53891
55887
|
exports.SCENE_CAPTURE_VARIANTS$1 = SCENE_CAPTURE_VARIANTS;
|
|
@@ -53994,6 +55990,7 @@ exports.createSharedContext = createSharedContext;
|
|
|
53994
55990
|
exports.createTheme = require_theme_index.createTheme$1;
|
|
53995
55991
|
exports.cursorFractionFor = cursorFractionFor;
|
|
53996
55992
|
exports.darkColors = require_theme_index.darkColors$1;
|
|
55993
|
+
exports.dataTableFacets = dataTableFacets;
|
|
53997
55994
|
exports.defaultTheme = require_theme_index.defaultTheme$1;
|
|
53998
55995
|
exports.deriveDeviceKind = deriveDeviceKind;
|
|
53999
55996
|
exports.deriveWebrtcDebugStats = deriveWebrtcDebugStats;
|
|
@@ -54008,6 +56005,7 @@ exports.deviceTypeMetaOf = deviceTypeMetaOf;
|
|
|
54008
56005
|
exports.devicesToOptions = devicesToOptions;
|
|
54009
56006
|
exports.ensureMfHostInit = ensureMfHostInit;
|
|
54010
56007
|
exports.eventKindLabel = eventKindLabel;
|
|
56008
|
+
exports.filterDataTableRows = filterDataTableRows;
|
|
54011
56009
|
exports.filterDeviceOptions = filterDeviceOptions;
|
|
54012
56010
|
exports.findTimezone = _camstack_types.findTimezone;
|
|
54013
56011
|
exports.formatControlDateTime = formatControlDateTime;
|
|
@@ -54030,6 +56028,7 @@ exports.humidifierTint = humidifierTint;
|
|
|
54030
56028
|
exports.initialScrubState = initialScrubState;
|
|
54031
56029
|
exports.isAbsentProvider = isAbsentProvider;
|
|
54032
56030
|
exports.isAbsentProvider$1 = isAbsentProvider;
|
|
56031
|
+
exports.isDataTableFilterActive = isDataTableFilterActive;
|
|
54033
56032
|
exports.isFieldVisible = isFieldVisible;
|
|
54034
56033
|
exports.lawnMowerActivityMeta = lawnMowerActivityMeta;
|
|
54035
56034
|
exports.lightColors = require_theme_index.lightColors$1;
|
|
@@ -54082,6 +56081,7 @@ exports.tabForSelector = tabForSelector;
|
|
|
54082
56081
|
exports.tankAlert = tankAlert;
|
|
54083
56082
|
exports.themeToCss = require_theme_index.themeToCss$1;
|
|
54084
56083
|
exports.toStationaryOverlayBox = toStationaryOverlayBox;
|
|
56084
|
+
exports.toggleDataTableFacet = toggleDataTableFacet;
|
|
54085
56085
|
exports.trpc = trpc;
|
|
54086
56086
|
exports.useAccessoriesGetStatus = useAccessoriesGetStatus;
|
|
54087
56087
|
exports.useAccessoriesSetChildHidden = useAccessoriesSetChildHidden;
|
|
@@ -54261,6 +56261,7 @@ exports.useCoverSetPosition = useCoverSetPosition;
|
|
|
54261
56261
|
exports.useCoverSetTiltPosition = useCoverSetTiltPosition;
|
|
54262
56262
|
exports.useCoverStop = useCoverStop;
|
|
54263
56263
|
exports.useCustomFieldRenderer = useCustomFieldRenderer;
|
|
56264
|
+
exports.useDataTableFilter = useDataTableFilter;
|
|
54264
56265
|
exports.useDayNightGetOptions = useDayNightGetOptions;
|
|
54265
56266
|
exports.useDayNightGetStatus = useDayNightGetStatus;
|
|
54266
56267
|
exports.useDayNightSetSettings = useDayNightSetSettings;
|
|
@@ -54284,6 +56285,8 @@ exports.useDetectionPipelineGetDeviceLiveContribution = useDetectionPipelineGetD
|
|
|
54284
56285
|
exports.useDetectionPipelineGetDeviceSettingsContribution = useDetectionPipelineGetDeviceSettingsContribution;
|
|
54285
56286
|
exports.useDevShell = useDevShell;
|
|
54286
56287
|
exports.useDevice = useDevice;
|
|
56288
|
+
exports.useDeviceAdminLink = useDeviceAdminLink;
|
|
56289
|
+
exports.useDeviceAdminLinkGetAdminLink = useDeviceAdminLinkGetAdminLink;
|
|
54287
56290
|
exports.useDeviceAdoptionAdopt = useDeviceAdoptionAdopt;
|
|
54288
56291
|
exports.useDeviceAdoptionGetCandidate = useDeviceAdoptionGetCandidate;
|
|
54289
56292
|
exports.useDeviceAdoptionGetStatus = useDeviceAdoptionGetStatus;
|
|
@@ -54949,6 +56952,9 @@ exports.useRecordingGetStorageUsage = useRecordingGetStorageUsage;
|
|
|
54949
56952
|
exports.useRecordingListOpsLog = useRecordingListOpsLog;
|
|
54950
56953
|
exports.useRecordingListRelocateJobs = useRecordingListRelocateJobs;
|
|
54951
56954
|
exports.useRecordingLocateSegment = useRecordingLocateSegment;
|
|
56955
|
+
exports.useRecordingOnboardGetOptions = useRecordingOnboardGetOptions;
|
|
56956
|
+
exports.useRecordingOnboardGetStatus = useRecordingOnboardGetStatus;
|
|
56957
|
+
exports.useRecordingOnboardSetSettings = useRecordingOnboardSetSettings;
|
|
54952
56958
|
exports.useRecordingPauseForStorageMigration = useRecordingPauseForStorageMigration;
|
|
54953
56959
|
exports.useRecordingPlanStorageRebalance = useRecordingPlanStorageRebalance;
|
|
54954
56960
|
exports.useRecordingPruneFootage = useRecordingPruneFootage;
|
|
@@ -54968,6 +56974,7 @@ exports.useRecordingSignalGetStatus = useRecordingSignalGetStatus;
|
|
|
54968
56974
|
exports.useRecordingStartStorageMigrationMove = useRecordingStartStorageMigrationMove;
|
|
54969
56975
|
exports.useRecordingStartStorageRebalance = useRecordingStartStorageRebalance;
|
|
54970
56976
|
exports.useRemoteComponent = useRemoteComponent;
|
|
56977
|
+
exports.useRoleDisplayDefaults = useRoleDisplayDefaults;
|
|
54971
56978
|
exports.useSceneMonitorCaptureReference = useSceneMonitorCaptureReference;
|
|
54972
56979
|
exports.useSceneMonitorCreateScene = useSceneMonitorCreateScene;
|
|
54973
56980
|
exports.useSceneMonitorDeleteReference = useSceneMonitorDeleteReference;
|
|
@@ -55173,6 +57180,7 @@ exports.useValveOpen = useValveOpen;
|
|
|
55173
57180
|
exports.useValveSetPosition = useValveSetPosition;
|
|
55174
57181
|
exports.useValveStop = useValveStop;
|
|
55175
57182
|
exports.useVibrationGetStatus = useVibrationGetStatus;
|
|
57183
|
+
exports.useVideoclipsDialClipStream = useVideoclipsDialClipStream;
|
|
55176
57184
|
exports.useVideoclipsGetClipPlayback = useVideoclipsGetClipPlayback;
|
|
55177
57185
|
exports.useVideoclipsListClips = useVideoclipsListClips;
|
|
55178
57186
|
exports.useVideoclipsListSources = useVideoclipsListSources;
|