@camstack/ui-library 1.2.331 → 1.2.333
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-DR1g9ja3.js → MotionZonesSettings-BCU2NW7w.js} +1 -1
- package/dist/{PrivacyMaskSettings-C9wfHkiB.js → PrivacyMaskSettings-VntwpB1u.js} +1 -1
- package/dist/{SceneMonitorEditor-CrxB3ZPL.js → SceneMonitorEditor-5N2xqurW.js} +1 -1
- package/dist/composites/device-item/header.d.ts +7 -1
- package/dist/composites/device-name/DeviceName.d.ts +17 -0
- package/dist/composites/device-name/device-fleet.d.ts +29 -0
- package/dist/composites/device-name/device-name-nouns.d.ts +27 -0
- package/dist/composites/device-name/format-device-name.d.ts +46 -0
- package/dist/composites/device-name/index.d.ts +10 -0
- package/dist/composites/device-name/use-device-label.d.ts +16 -0
- package/dist/composites/grouped-tile-picker.d.ts +8 -11
- package/dist/composites/index.d.ts +1 -0
- package/dist/{icons-aFMzvquu.js → icons-Bd6sbDsv.js} +1 -35
- package/dist/{icons-pqV1UOV_.cjs → icons-CWmwnulO.cjs} +1 -35
- package/dist/index.cjs +1417 -89
- package/dist/index.js +1402 -95
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TEXT_HINT, UiTrans, WidgetPanel,
|
|
1
|
+
import { TEXT_HINT, UiTrans, WidgetPanel, isAbsentProvider, useDeviceProxy, usePlayerOverlayLayer, useSystem, useUiText, xn as Grid2x2 } from "./index.js";
|
|
2
2
|
import { MaskShapeCanvas } from "./MaskShapeCanvas-C9cJlxvG.js";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as Hexagon, t as MicOff } from "./mic-off-C2VTYr91.js";
|
|
2
|
-
import {
|
|
2
|
+
import { A as Trash2, Pn as EyeOff, TEXT_HINT, U as Square, UiTrans, WidgetPanel, Wt as Mic, isAbsentProvider, useDeviceProxy, usePlayerOverlayLayer, useSystem, useUiText } from "./index.js";
|
|
3
3
|
import { MaskShapeCanvas } from "./MaskShapeCanvas-C9cJlxvG.js";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Settings2 } from "./settings-2-jT1iBqHD.js";
|
|
2
|
-
import { SCENE_CAPTURE_VARIANTS, TEXT_HINT, UiTrans, badgeFor, coverageLine,
|
|
2
|
+
import { A as Trash2, SCENE_CAPTURE_VARIANTS, Sr as Camera, TEXT_HINT, UiTrans, badgeFor, coverageLine, fn as ImageOff, hubPath, isAbsentProvider, pt as RotateCcw, roiTooLarge, statusLine, useDeviceProxy, useDeviceSnapshotImage, useDeviceStateSlice, useSystem, useUiText, variantLabel } from "./index.js";
|
|
3
3
|
import { MaskShapeCanvas } from "./MaskShapeCanvas-C9cJlxvG.js";
|
|
4
4
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { type ReactNode } from "react";
|
|
24
24
|
import type { UseDeviceProxyTrpc } from "../../hooks/use-device-proxy";
|
|
25
|
+
import type { DeviceNameForm } from "../device-name";
|
|
25
26
|
import type { DeviceItemDevice, DeviceItemParent, DeviceItemVariant, VariantDefaults } from "./helpers";
|
|
26
27
|
/**
|
|
27
28
|
* How the name behaves when it does not fit.
|
|
@@ -54,5 +55,10 @@ export interface DeviceItemHeaderProps {
|
|
|
54
55
|
* have nowhere to scroll to. The table row passes `'scroll'`.
|
|
55
56
|
*/
|
|
56
57
|
readonly nameOverflow?: DeviceNameOverflow;
|
|
58
|
+
/**
|
|
59
|
+
* `nested` when this row is already drawn under its parent. Otherwise
|
|
60
|
+
* `compact`: a child shown on its own names the container.
|
|
61
|
+
*/
|
|
62
|
+
readonly nameForm?: DeviceNameForm;
|
|
57
63
|
}
|
|
58
|
-
export declare function DeviceItemHeader({ trpc, device, variant, flags, parent, integrationIcon, hasChildren, expanded, onToggleExpand, onNavigateToParent, stacked, nameOverflow }: DeviceItemHeaderProps): ReactNode;
|
|
64
|
+
export declare function DeviceItemHeader({ trpc, device, variant, flags, parent, integrationIcon, hasChildren, expanded, onToggleExpand, onNavigateToParent, stacked, nameOverflow, nameForm }: DeviceItemHeaderProps): ReactNode;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place a device's name is painted. Pass `form` for the surface:
|
|
3
|
+
* `compact` in a list or picker, `full` on a page title, `nested` under the
|
|
4
|
+
* parent row, `with-location` when the room belongs on the line.
|
|
5
|
+
*/
|
|
6
|
+
import type { ReactElement } from "react";
|
|
7
|
+
import type { DeviceNameFields, DeviceNameForm } from "./format-device-name";
|
|
8
|
+
export interface DeviceNameProps {
|
|
9
|
+
readonly device: DeviceNameFields;
|
|
10
|
+
readonly form: DeviceNameForm;
|
|
11
|
+
/** Skip the fleet when the caller already holds the parent row. */
|
|
12
|
+
readonly parent?: DeviceNameFields | null;
|
|
13
|
+
readonly siblings?: readonly DeviceNameFields[];
|
|
14
|
+
readonly className?: string;
|
|
15
|
+
readonly testId?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function DeviceName({ device, form, parent, siblings, className, testId }: DeviceNameProps): ReactElement;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One slim fleet, shared. A row reads its parent from this index — never a
|
|
3
|
+
* `getDevice` per row (the Customize bounded-read rule). `null` is "not
|
|
4
|
+
* answered yet": a label then keeps the stored name, so a list does not flash
|
|
5
|
+
* `#id` while the fleet is in flight. An empty array is an answer.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactElement, type ReactNode } from "react";
|
|
8
|
+
import type { DeviceNameFields } from "./format-device-name";
|
|
9
|
+
export interface DeviceNameIndex {
|
|
10
|
+
readonly byId: ReadonlyMap<number, DeviceNameFields>;
|
|
11
|
+
readonly childIds: ReadonlyMap<number, readonly number[]>;
|
|
12
|
+
}
|
|
13
|
+
export declare function useDeviceNameIndex(): DeviceNameIndex | null;
|
|
14
|
+
/** Build the parent/child maps once per fleet answer. */
|
|
15
|
+
export declare function indexDeviceNames(devices: readonly DeviceNameFields[]): DeviceNameIndex;
|
|
16
|
+
export interface DeviceFleetProviderProps {
|
|
17
|
+
/** `null` while the list has not answered. An array, including empty, has. */
|
|
18
|
+
readonly devices: readonly DeviceNameFields[] | null;
|
|
19
|
+
readonly children: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export declare function DeviceFleetProvider({ devices, children }: DeviceFleetProviderProps): ReactElement;
|
|
22
|
+
export interface DeviceFleetFromServerProps {
|
|
23
|
+
readonly children: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The one `deviceManager.listAll` subscriber for names. Same query key the
|
|
27
|
+
* pickers already use, so a second observer does not fetch a second fleet.
|
|
28
|
+
*/
|
|
29
|
+
export declare function DeviceFleetFromServer({ children }: DeviceFleetFromServerProps): ReactElement;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Short nouns and the stock words they replace.
|
|
3
|
+
*
|
|
4
|
+
* Long labels are the existing role and type names, both locales, so a stored
|
|
5
|
+
* "Motion sensor" and a stored "Sensore di movimento" are the same stock word.
|
|
6
|
+
* The short noun is what a list shows. Where the long label is already one
|
|
7
|
+
* word it is the short noun. Aliases are provider stock words that are not the
|
|
8
|
+
* label ("Illumination", "Last seen").
|
|
9
|
+
*/
|
|
10
|
+
import { type DeviceNameNouns } from "./format-device-name";
|
|
11
|
+
export interface DeviceNounSpec {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly key: string;
|
|
14
|
+
readonly en: string;
|
|
15
|
+
readonly it: string;
|
|
16
|
+
readonly shortEn: string;
|
|
17
|
+
readonly shortIt: string;
|
|
18
|
+
readonly aliases: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export declare const DEVICE_ROLE_NOUNS: readonly DeviceNounSpec[];
|
|
21
|
+
export declare const DEVICE_TYPE_NOUNS: readonly DeviceNounSpec[];
|
|
22
|
+
export type DeviceNameLocale = "en" | "it";
|
|
23
|
+
/** Role wins when it has a noun; otherwise the type. Unknown types fall back. */
|
|
24
|
+
export declare function nounSpecFor(role: string | null, type: string): DeviceNounSpec;
|
|
25
|
+
export declare function isDeviceNameStock(text: string, role: string | null, type: string): boolean;
|
|
26
|
+
/** Noun table for a locale. Tests and the viewer parity spec use this directly. */
|
|
27
|
+
export declare function deviceNameNouns(locale: DeviceNameLocale): DeviceNameNouns;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Middle dot used between a container and its noun, and before a room. */
|
|
2
|
+
export declare const DEVICE_NAME_JOIN: string;
|
|
3
|
+
export declare const DEVICE_NAME_FORMS: readonly ["compact", "full", "nested", "with-location"];
|
|
4
|
+
export type DeviceNameForm = (typeof DEVICE_NAME_FORMS)[number];
|
|
5
|
+
/** The slice a label needs. A slim fleet row satisfies it. */
|
|
6
|
+
export interface DeviceNameFields {
|
|
7
|
+
readonly id: number;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly type: string;
|
|
10
|
+
readonly stableId: string;
|
|
11
|
+
readonly role?: string | null;
|
|
12
|
+
readonly parentDeviceId?: number | null;
|
|
13
|
+
readonly location?: string | null;
|
|
14
|
+
readonly display?: {
|
|
15
|
+
readonly label?: string | null;
|
|
16
|
+
} | null;
|
|
17
|
+
readonly userNamed?: boolean;
|
|
18
|
+
readonly primaryChildEntityId?: string | null;
|
|
19
|
+
}
|
|
20
|
+
export interface DeviceNameContext {
|
|
21
|
+
readonly parent: DeviceNameFields | null;
|
|
22
|
+
readonly siblings: readonly DeviceNameFields[];
|
|
23
|
+
}
|
|
24
|
+
/** Active-locale short noun, and the stock-word test (every locale). */
|
|
25
|
+
export type DeviceNameShortNoun = (role: string | null, type: string) => string;
|
|
26
|
+
export type DeviceNameStockPhrase = (text: string, role: string | null, type: string) => boolean;
|
|
27
|
+
export interface DeviceNameNouns {
|
|
28
|
+
readonly shortNoun: DeviceNameShortNoun;
|
|
29
|
+
readonly isStockPhrase: DeviceNameStockPhrase;
|
|
30
|
+
}
|
|
31
|
+
/** Hyphen, underscore and whitespace fold together — the namesake comparison. */
|
|
32
|
+
export declare function foldDeviceName(value: string): string;
|
|
33
|
+
export declare function sameDeviceName(left: string, right: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Drop a parent prefix. `" — "` before a space, case-insensitive, so a provider
|
|
36
|
+
* that capitalised the parent differently still strips, and an em-dash child
|
|
37
|
+
* does not keep a dangling dash.
|
|
38
|
+
*/
|
|
39
|
+
export declare function stripDeviceParentPrefix(name: string, parentName: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* The label for `form`. A top-level device keeps its stored name. A child uses
|
|
42
|
+
* the noun: `compact` may stand in for the container when this child is what
|
|
43
|
+
* the container is, `full` always names both unless they fold together,
|
|
44
|
+
* `nested` is the noun alone, `with-location` is `compact` plus the room.
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatDeviceName(device: DeviceNameFields, form: DeviceNameForm, context: DeviceNameContext, nouns: DeviceNameNouns): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type { DeviceFleetFromServerProps, DeviceFleetProviderProps, DeviceNameIndex } from "./device-fleet";
|
|
2
|
+
export { DeviceFleetFromServer, DeviceFleetProvider, indexDeviceNames, useDeviceNameIndex } from "./device-fleet";
|
|
3
|
+
export type { DeviceNounSpec, DeviceNameLocale } from "./device-name-nouns";
|
|
4
|
+
export { DEVICE_ROLE_NOUNS, DEVICE_TYPE_NOUNS, deviceNameNouns, isDeviceNameStock, nounSpecFor } from "./device-name-nouns";
|
|
5
|
+
export type { DeviceNameContext, DeviceNameFields, DeviceNameForm, DeviceNameNouns, DeviceNameShortNoun, DeviceNameStockPhrase } from "./format-device-name";
|
|
6
|
+
export { DEVICE_NAME_FORMS, DEVICE_NAME_JOIN, foldDeviceName, formatDeviceName, sameDeviceName, stripDeviceParentPrefix } from "./format-device-name";
|
|
7
|
+
export type { DeviceNameProps } from "./DeviceName";
|
|
8
|
+
export { DeviceName } from "./DeviceName";
|
|
9
|
+
export type { DeviceNameScope } from "./use-device-label";
|
|
10
|
+
export { resolveDeviceLabel, useDeviceLabel, useDeviceLabelById, useDeviceNameNouns } from "./use-device-label";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DeviceNameIndex } from "./device-fleet";
|
|
2
|
+
import { type DeviceNameFields, type DeviceNameForm, type DeviceNameNouns } from "./format-device-name";
|
|
3
|
+
export interface DeviceNameScope {
|
|
4
|
+
/** When set, including `null`, the fleet is not asked who the parent is. */
|
|
5
|
+
readonly parent?: DeviceNameFields | null;
|
|
6
|
+
readonly siblings?: readonly DeviceNameFields[];
|
|
7
|
+
}
|
|
8
|
+
export declare function useDeviceNameNouns(): DeviceNameNouns;
|
|
9
|
+
/**
|
|
10
|
+
* Label for a device the caller already holds. While the fleet has not
|
|
11
|
+
* answered and no parent was passed, this is the stored name — not `#id`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveDeviceLabel(device: DeviceNameFields, form: DeviceNameForm, index: DeviceNameIndex | null, nouns: DeviceNameNouns, scope?: DeviceNameScope): string;
|
|
14
|
+
export declare function useDeviceLabel(device: DeviceNameFields, form: DeviceNameForm, scope?: DeviceNameScope): string;
|
|
15
|
+
/** `#id` until the fleet answers, and `#id` when the id is not in it. */
|
|
16
|
+
export declare function useDeviceLabelById(id: number, form: DeviceNameForm, pendingName?: string): string;
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
* `GroupedTilePicker` — choose ONE "type of thing" from tiles grouped by who
|
|
3
|
-
* provides it (an AI profile kind, a notification-target kind…): an uppercase
|
|
4
|
-
* group label, then a grid of icon + label tiles. The pre-modal of a
|
|
5
|
-
* create-flow whose form depends on the choice.
|
|
6
|
-
*
|
|
7
|
-
* The tile is deliberately not a `Button`: a vertical icon-over-label card in
|
|
8
|
-
* a grid, which toolbar-button chrome fights. One place owns that look so the
|
|
9
|
-
* pickers stay identical.
|
|
10
|
-
*/
|
|
11
|
-
import type { JSX, ReactNode } from "react";
|
|
1
|
+
import { type JSX, type ReactNode } from "react";
|
|
12
2
|
export interface TilePickerTile {
|
|
13
3
|
/** Unique within the picker; handed back to `onPick`. */
|
|
14
4
|
readonly key: string;
|
|
15
5
|
readonly label: string;
|
|
16
6
|
readonly icon: ReactNode;
|
|
17
7
|
readonly testId?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Extra facts for the tile (supported operations, a shared-capability list).
|
|
10
|
+
* A tap target beside the name — it does not choose the tile.
|
|
11
|
+
*/
|
|
12
|
+
readonly detail?: ReactNode;
|
|
13
|
+
/** Accessible name of the detail control. Required when `detail` is set. */
|
|
14
|
+
readonly detailLabel?: string;
|
|
18
15
|
}
|
|
19
16
|
export interface TilePickerGroup {
|
|
20
17
|
readonly id: string;
|
|
@@ -118,6 +118,7 @@ export * from "./device-list";
|
|
|
118
118
|
export type { DeviceBatchToolbarProps } from "./device-list/batch-toolbar";
|
|
119
119
|
export { DeviceBatchToolbar } from "./device-list/batch-toolbar";
|
|
120
120
|
export * from "./device-meta";
|
|
121
|
+
export * from "./device-name";
|
|
121
122
|
export * from "./icon-glyphs";
|
|
122
123
|
export * from "./icon-picker";
|
|
123
124
|
export { DeviceMultiSelectField, DeviceSelectField } from "./device-select-field";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as createLucideIcon } from "./createLucideIcon-kNomBP27.js";
|
|
2
2
|
import { n as Hexagon, t as MicOff } from "./mic-off-C2VTYr91.js";
|
|
3
3
|
import { t as Settings2 } from "./settings-2-jT1iBqHD.js";
|
|
4
|
-
import { $ as
|
|
4
|
+
import { $ as Shield, $n as CloudFog, $t as LocateFixed, A as Trash2, An as Film, Ar as Bird, At as PawPrint, B as Sun, Bn as DoorOpen, Br as Ban, Bt as Moon, C as Unlink2, Cn as Gauge, Cr as Cable, Ct as Plus, D as TriangleAlert, Dn as Flashlight, Dr as Bot, Dt as Pin, E as Truck, En as Footprints, Er as Box, Et as Pipette, F as Timer, Fn as ExternalLink, Fr as BatteryWarning, Ft as Music, G as Sparkles, Gn as Cpu, Gr as ArrowLeft, Gt as MessageSquare, H as Star, Hn as Dog, Hr as ArrowUp, Ht as Minus, I as Thermometer, In as EllipsisVertical, Ir as BatteryMedium, It as Move, J as SlidersHorizontal, Jn as Cloud, Jr as AlarmSmoke, Jt as Maximize2, K as Snowflake, Kn as Copy, Kr as ArrowDown, Kt as Menu, L as Target, Ln as Droplets, Lr as BatteryLow, Lt as MoveVertical, M as Tractor, Mn as Fan, Mr as Bell, Mt as Package, N as ToggleRight, Nn as Eye, Nr as BellRing, Nt as Network, O as TrendingDown, On as FlashlightOff, Or as Bone, Ot as Phone, P as ToggleLeft, Pn as EyeOff, Pr as Battery, Pt as Navigation, Q as Ship, Qn as CloudLightning, Qt as LockOpen, R as Tag, Rn as Droplet, Rr as BatteryFull, Rt as MoveHorizontal, S as Upload, Sn as GraduationCap, Sr as Camera, St as Plug, T as Type, Tn as Funnel, Tr as Bug, Tt as Plane, U as Square, Un as Database, Ur as ArrowUpToLine, Ut as Minimize2, V as SunMedium, Vn as DoorClosed, Vr as Baby, Vt as MonitorPlay, W as Sprout, Wn as Crosshair, Wr as ArrowRight, Wt as Mic, X as SkipBack, Xn as CloudSnow, Xr as Activity, Xt as Mail, Y as SkipForward, Yn as CloudSun, Yr as AirVent, Yt as MapPin, Z as Siren, Zn as CloudRain, Zt as Lock, _ as Vibrate, _n as HardDrive, _r as Check, _t as Radar, a as Wrench, an as Leaf, ar as CirclePlus, at as Server, b as User, bn as GripHorizontal, br as Cast, bt as Power, c as Wifi, cr as CircleCheck, ct as Scan, d as WifiLow, dn as Image, dr as ChevronsUpDown, dt as Route, en as LoaderCircle, er as Clock, et as ShieldOff, f as WifiHigh, fn as ImageOff, fr as ChevronsDownUp, ft as RotateCw, g as Volume2, gn as Hash, gr as ChevronDown, gt as RadioTower, h as VolumeX, hn as Heater, hr as ChevronLeft, ht as Radio, i as X, in as Lightbulb, ir as CircleQuestionMark, it as Settings, j as TrainFront, jn as Feather, jr as Bike, jt as Pause, k as TrendingUp, kn as Flame, kr as Blinds, kt as Pencil, l as WifiZero, ln as Info, lr as CircleCheckBig, lt as Save, m as WashingMachine, mn as History, mr as ChevronRight, mt as RefreshCw, n as ZoomIn, nn as ListChecks, nr as CircleX, nt as ShieldAlert, o as Workflow, on as LayoutGrid, or as CirclePause, ot as Search, p as Waves, pn as House, pr as ChevronUp, pt as RotateCcw, q as Smartphone, qn as Cog, qr as ArrowDownToLine, qt as Megaphone, r as Zap, rn as Link2, rr as CircleStop, rt as Share2, s as Wind, sn as Laugh, sr as CircleDot, st as ScrollText, t as ZoomOut, tn as List, tr as Clapperboard, tt as ShieldCheck, u as WifiOff, un as Inbox, ur as CircleAlert, ut as Sailboat, v as UtensilsCrossed, vn as Hand, vr as ChartLine, vt as QrCode, w as Undo2, wn as Gamepad2, wr as Bus, wt as Play, x as UserCheck, xn as Grid2x2, xr as Car, xt as PowerOff, y as Users, yn as Hammer, yr as Cat, yt as Puzzle, z as Sunrise, zn as Download, zr as Bath, zt as MousePointerClick } from "./index.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.576.0 - ISC
|
|
7
7
|
*
|
|
@@ -36898,40 +36898,6 @@ var Wand = createLucideIcon("wand", [
|
|
|
36898
36898
|
* This source code is licensed under the ISC license.
|
|
36899
36899
|
* See the LICENSE file in the root directory of this source tree.
|
|
36900
36900
|
*/
|
|
36901
|
-
var WashingMachine = createLucideIcon("washing-machine", [
|
|
36902
|
-
["path", {
|
|
36903
|
-
d: "M3 6h3",
|
|
36904
|
-
key: "155dbl"
|
|
36905
|
-
}],
|
|
36906
|
-
["path", {
|
|
36907
|
-
d: "M17 6h.01",
|
|
36908
|
-
key: "e2y6kg"
|
|
36909
|
-
}],
|
|
36910
|
-
["rect", {
|
|
36911
|
-
width: "18",
|
|
36912
|
-
height: "20",
|
|
36913
|
-
x: "3",
|
|
36914
|
-
y: "2",
|
|
36915
|
-
rx: "2",
|
|
36916
|
-
key: "od3kk9"
|
|
36917
|
-
}],
|
|
36918
|
-
["circle", {
|
|
36919
|
-
cx: "12",
|
|
36920
|
-
cy: "13",
|
|
36921
|
-
r: "5",
|
|
36922
|
-
key: "nlbqau"
|
|
36923
|
-
}],
|
|
36924
|
-
["path", {
|
|
36925
|
-
d: "M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5",
|
|
36926
|
-
key: "17lach"
|
|
36927
|
-
}]
|
|
36928
|
-
]);
|
|
36929
|
-
/**
|
|
36930
|
-
* @license lucide-react v0.576.0 - ISC
|
|
36931
|
-
*
|
|
36932
|
-
* This source code is licensed under the ISC license.
|
|
36933
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
36934
|
-
*/
|
|
36935
36901
|
var Watch = createLucideIcon("watch", [
|
|
36936
36902
|
["path", {
|
|
36937
36903
|
d: "M12 10v2.2l1.6 1",
|
|
@@ -36898,40 +36898,6 @@ var Wand = require_createLucideIcon.createLucideIcon("wand", [
|
|
|
36898
36898
|
* This source code is licensed under the ISC license.
|
|
36899
36899
|
* See the LICENSE file in the root directory of this source tree.
|
|
36900
36900
|
*/
|
|
36901
|
-
var WashingMachine = require_createLucideIcon.createLucideIcon("washing-machine", [
|
|
36902
|
-
["path", {
|
|
36903
|
-
d: "M3 6h3",
|
|
36904
|
-
key: "155dbl"
|
|
36905
|
-
}],
|
|
36906
|
-
["path", {
|
|
36907
|
-
d: "M17 6h.01",
|
|
36908
|
-
key: "e2y6kg"
|
|
36909
|
-
}],
|
|
36910
|
-
["rect", {
|
|
36911
|
-
width: "18",
|
|
36912
|
-
height: "20",
|
|
36913
|
-
x: "3",
|
|
36914
|
-
y: "2",
|
|
36915
|
-
rx: "2",
|
|
36916
|
-
key: "od3kk9"
|
|
36917
|
-
}],
|
|
36918
|
-
["circle", {
|
|
36919
|
-
cx: "12",
|
|
36920
|
-
cy: "13",
|
|
36921
|
-
r: "5",
|
|
36922
|
-
key: "nlbqau"
|
|
36923
|
-
}],
|
|
36924
|
-
["path", {
|
|
36925
|
-
d: "M12 18a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 1 0-5",
|
|
36926
|
-
key: "17lach"
|
|
36927
|
-
}]
|
|
36928
|
-
]);
|
|
36929
|
-
/**
|
|
36930
|
-
* @license lucide-react v0.576.0 - ISC
|
|
36931
|
-
*
|
|
36932
|
-
* This source code is licensed under the ISC license.
|
|
36933
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
36934
|
-
*/
|
|
36935
36901
|
var Watch = require_createLucideIcon.createLucideIcon("watch", [
|
|
36936
36902
|
["path", {
|
|
36937
36903
|
d: "M12 10v2.2l1.6 1",
|
|
@@ -39495,7 +39461,7 @@ exports.Wallpaper = Wallpaper;
|
|
|
39495
39461
|
exports.Wand = Wand;
|
|
39496
39462
|
exports.WandSparkles = WandSparkles;
|
|
39497
39463
|
exports.Warehouse = Warehouse;
|
|
39498
|
-
exports.WashingMachine = WashingMachine;
|
|
39464
|
+
exports.WashingMachine = require_index.WashingMachine;
|
|
39499
39465
|
exports.Watch = Watch;
|
|
39500
39466
|
exports.Waves = require_index.Waves;
|
|
39501
39467
|
exports.WavesArrowDown = WavesArrowDown;
|