@camstack/ui-library 1.2.316 → 1.2.318
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/{PrivacyMaskSettings-CtetT6Jl.js → PrivacyMaskSettings-C9wfHkiB.js} +1 -1
- package/dist/{SceneMonitorEditor-BQhVO2F2.js → SceneMonitorEditor-CrxB3ZPL.js} +1 -1
- package/dist/composites/addon-page-props.d.ts +9 -1
- package/dist/composites/cap-settings/ConsumablesPanel.d.ts +2 -0
- package/dist/composites/cap-settings/consumable-rows.d.ts +21 -0
- package/dist/composites/cap-settings/consumables-summary.d.ts +41 -0
- package/dist/composites/consumable-level-badge.d.ts +25 -18
- package/dist/composites/device-controls/dishwasher-control.d.ts +3 -0
- package/dist/composites/device-controls/index.d.ts +1 -1
- package/dist/composites/device-controls/vacuum-control.d.ts +1 -13
- package/dist/composites/widget-panel.d.ts +9 -4
- package/dist/generated/system-hooks.d.ts +6 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/use-persisted-disclosure.d.ts +3 -0
- package/dist/{icons-D178phML.js → icons-aFMzvquu.js} +21 -1
- package/dist/{icons-BTux33dH.cjs → icons-pqV1UOV_.cjs} +21 -1
- package/dist/index.cjs +590 -470
- package/dist/index.js +591 -473
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as Hexagon, t as MicOff } from "./mic-off-C2VTYr91.js";
|
|
2
|
-
import { H as Square,
|
|
2
|
+
import { H as Square, Nn as EyeOff, TEXT_HINT, UiTrans, Ut as Mic, WidgetPanel, isAbsentProvider, k as Trash2, 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,
|
|
2
|
+
import { SCENE_CAPTURE_VARIANTS, TEXT_HINT, UiTrans, badgeFor, coverageLine, dn as ImageOff, ft as RotateCcw, hubPath, isAbsentProvider, k as Trash2, roiTooLarge, statusLine, useDeviceProxy, useDeviceSnapshotImage, useDeviceStateSlice, useSystem, useUiText, variantLabel, xr as Camera } 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";
|
|
@@ -25,7 +25,15 @@
|
|
|
25
25
|
import type { TRPCClient } from "@trpc/client";
|
|
26
26
|
import type { AppRouter } from "@camstack/types";
|
|
27
27
|
export interface AddonPageProps {
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Vanilla tRPC client — fully typed access for non-React call sites.
|
|
30
|
+
*
|
|
31
|
+
* It is a tree of Proxies over FUNCTION targets: every level answers
|
|
32
|
+
* `typeof x === 'function'`, and `'query' in x` is always `false`. A page
|
|
33
|
+
* that validates it at runtime checks that the leaf it calls is callable
|
|
34
|
+
* (`typeof … === 'function'`) and names the missing path on failure — an
|
|
35
|
+
* `typeof x === 'object'` / `in` check refuses the real client.
|
|
36
|
+
*/
|
|
29
37
|
readonly trpc: TRPCClient<AppRouter>;
|
|
30
38
|
/** Current theme state */
|
|
31
39
|
readonly theme: {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { type JSX } from "react";
|
|
2
2
|
import type { CapSettingsComponentProps } from "./index";
|
|
3
|
+
/** Where one viewer's open / closed choice for one device's section is kept. */
|
|
4
|
+
export declare function consumablesOpenStorageKey(deviceId: number): string;
|
|
3
5
|
export declare function ConsumablesPanel({ deviceId }: CapSettingsComponentProps): JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One Consumables row per item, drawn by the item's FORM (D915) — the kind
|
|
3
|
+
* still decides which direction is bad, through the one kind-aware
|
|
4
|
+
* `consumableItemLevel` mapping, so a row's tone and the section's summary
|
|
5
|
+
* always agree:
|
|
6
|
+
* - `part` — a wear bar, the remaining time and a "Replaced" reset;
|
|
7
|
+
* - `tank` — a vertical fill gauge (a supply warns low/empty, waste full);
|
|
8
|
+
* - `product` — a package icon, a stepped level and "refill" wording;
|
|
9
|
+
* - `bin` — a vertical fill gauge that warns when full.
|
|
10
|
+
* Every state is also said in words — never by colour alone.
|
|
11
|
+
*/
|
|
12
|
+
import type { JSX } from "react";
|
|
13
|
+
import { type ConsumableItem } from "@camstack/types";
|
|
14
|
+
export interface ConsumableRowProps {
|
|
15
|
+
readonly item: ConsumableItem;
|
|
16
|
+
readonly busy: boolean;
|
|
17
|
+
readonly canReset: boolean;
|
|
18
|
+
readonly onReset: (key: string) => void;
|
|
19
|
+
}
|
|
20
|
+
/** The row for an item, chosen by its form. */
|
|
21
|
+
export declare function ConsumableRow(props: ConsumableRowProps): JSX.Element;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a COLLAPSED Consumables section says in one line, and whether the
|
|
3
|
+
* section starts open (D915).
|
|
4
|
+
*
|
|
5
|
+
* An item needs attention when its kind-aware level (`consumableItemLevel`)
|
|
6
|
+
* is `low`, `empty` or `full` — which covers a part to replace (a wear item
|
|
7
|
+
* whose provider says `replace` reads `low`) and a waste tank to empty. The
|
|
8
|
+
* section opens itself while any item needs attention and stays closed while
|
|
9
|
+
* every item is ok or unknown. Unknown is never counted as ok (D393): "All OK"
|
|
10
|
+
* is said only when every item is KNOWN to be ok.
|
|
11
|
+
*/
|
|
12
|
+
import type { ConsumableItem, ConsumableLevel } from "@camstack/types";
|
|
13
|
+
/** A level that needs the operator. */
|
|
14
|
+
export type ConsumableAttentionLevel = Exclude<ConsumableLevel, "ok">;
|
|
15
|
+
/** The item the summary names. */
|
|
16
|
+
export interface ConsumableSummaryItem {
|
|
17
|
+
readonly label: string;
|
|
18
|
+
readonly level: ConsumableAttentionLevel;
|
|
19
|
+
/** The provider asked for the part to be replaced (worded "Replace", not "Low"). */
|
|
20
|
+
readonly replace: boolean;
|
|
21
|
+
}
|
|
22
|
+
export type ConsumablesSummary = {
|
|
23
|
+
readonly kind: "none";
|
|
24
|
+
readonly needsAttention: false;
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: "ok";
|
|
27
|
+
readonly needsAttention: false;
|
|
28
|
+
readonly count: number;
|
|
29
|
+
} | {
|
|
30
|
+
readonly kind: "partial";
|
|
31
|
+
readonly needsAttention: false;
|
|
32
|
+
readonly ok: number;
|
|
33
|
+
readonly unknown: number;
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "attention";
|
|
36
|
+
readonly needsAttention: true;
|
|
37
|
+
readonly count: number;
|
|
38
|
+
/** The most urgent item: empty, then full, then low. */
|
|
39
|
+
readonly worst: ConsumableSummaryItem;
|
|
40
|
+
};
|
|
41
|
+
export declare function summarizeConsumables(items: readonly ConsumableItem[]): ConsumablesSummary;
|
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ConsumableLevelBadge — ONE look for a consumable's level (salt, rinse aid,
|
|
3
|
-
* a filter, a brush, a tank), so the
|
|
4
|
-
*
|
|
3
|
+
* a filter, a brush, a tank), so the Consumables section and the Customize
|
|
4
|
+
* list read the same colours.
|
|
5
5
|
*
|
|
6
|
-
* The vocabulary is the
|
|
7
|
-
* `
|
|
6
|
+
* The vocabulary is the consumables cap's level enum (`ok | low | empty |
|
|
7
|
+
* full`, `ConsumableLevelSchema`) plus `null` = unknown (D393: an unknown
|
|
8
8
|
* level is never shown as ok or as empty). The level → tone mapping lives
|
|
9
|
-
* here and nowhere else: ok = success, low = warning, empty = danger,
|
|
10
|
-
* unknown = neutral. The badge always
|
|
11
|
-
* says anything by colour alone.
|
|
9
|
+
* here and nowhere else: ok = success, low = warning, empty = danger, full =
|
|
10
|
+
* warning (a waste tank to empty), unknown = neutral. The badge always
|
|
11
|
+
* carries its state in words — it never says anything by colour alone.
|
|
12
12
|
*/
|
|
13
13
|
import type { ReactElement } from "react";
|
|
14
|
-
import { type ConsumableItem, type
|
|
14
|
+
import { type ConsumableItem, type ConsumableLevel as CapConsumableLevel } from "@camstack/types";
|
|
15
15
|
import { type BadgeSize, type BadgeVariant } from "../primitives/badge";
|
|
16
16
|
import { type UiTextFn } from "../contexts/ui-text";
|
|
17
17
|
/** A consumable's level as the caps say it; `null` = not known right now. */
|
|
18
|
-
export type ConsumableLevel =
|
|
18
|
+
export type ConsumableLevel = CapConsumableLevel | null;
|
|
19
19
|
/** The badge variant a level is drawn in. */
|
|
20
20
|
export declare function consumableLevelVariant(level: ConsumableLevel): BadgeVariant;
|
|
21
21
|
/** The fill-bar class a level is drawn in. */
|
|
22
22
|
export declare function consumableLevelBarClass(level: ConsumableLevel): string;
|
|
23
23
|
/** The word for a level. */
|
|
24
24
|
export declare function consumableLevelLabel(level: ConsumableLevel, t: UiTextFn): string;
|
|
25
|
-
/** A remaining-life % at or below this is `low`. */
|
|
25
|
+
/** A remaining-life (or supply fill) % at or below this is `low`. */
|
|
26
26
|
export declare const CONSUMABLE_LOW_PERCENT = 15;
|
|
27
|
+
/** A waste fill % at or above this is `full`. */
|
|
28
|
+
export declare const CONSUMABLE_FULL_PERCENT = 85;
|
|
29
|
+
/** The item fields the level is derived from. */
|
|
30
|
+
export type ConsumableLevelInput = Pick<ConsumableItem, "level" | "status"> & Partial<Pick<ConsumableItem, "kind">>;
|
|
27
31
|
/**
|
|
28
|
-
* A `consumables` cap item as a level
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
+
* A `consumables` cap item as a level, by its kind (D915):
|
|
33
|
+
* - a `waste` item (a dust bin) is `full` when the provider says so or its
|
|
34
|
+
* fill is at or above {@link CONSUMABLE_FULL_PERCENT}, else ok;
|
|
35
|
+
* - a `wear` part or a `supply` reads a known % (0 = empty, at or below
|
|
36
|
+
* {@link CONSUMABLE_LOW_PERCENT} = low), never better than `low` when the
|
|
37
|
+
* provider says `replace` or `low`; without a % its discrete status.
|
|
38
|
+
* Nothing known is unknown (`null`).
|
|
32
39
|
*/
|
|
33
|
-
export declare function consumableItemLevel(item:
|
|
40
|
+
export declare function consumableItemLevel(item: ConsumableLevelInput): ConsumableLevel;
|
|
34
41
|
/** A state-field description as `getWireableFields` reports it — only what is read here. */
|
|
35
42
|
export interface ConsumableLevelFieldView {
|
|
36
43
|
readonly kind: string;
|
|
@@ -38,8 +45,8 @@ export interface ConsumableLevelFieldView {
|
|
|
38
45
|
}
|
|
39
46
|
/**
|
|
40
47
|
* Whether a cap state field IS a consumable level: an enum whose members are
|
|
41
|
-
* exactly the
|
|
42
|
-
* cap that uses the
|
|
48
|
+
* exactly the supply levels (`ok | low | empty`). Derived from the schema, so a
|
|
49
|
+
* new cap that uses the vocabulary is recognised without naming it anywhere.
|
|
43
50
|
*/
|
|
44
51
|
export declare function isConsumableLevelField(field: ConsumableLevelFieldView): boolean;
|
|
45
52
|
/** A value read from a slice as a level; anything that is not a member is unknown. */
|
|
@@ -48,7 +55,7 @@ export interface ConsumableLevelBadgeProps {
|
|
|
48
55
|
readonly level: ConsumableLevel;
|
|
49
56
|
/** The consumable's name, shown before the state (`Salt · Low`). Omit when the row already names it. */
|
|
50
57
|
readonly name?: string;
|
|
51
|
-
/** Replaces the state word (`Replace`, `72
|
|
58
|
+
/** Replaces the state word (`Replace`, `72 %`) — the tone still follows `level`. */
|
|
52
59
|
readonly label?: string;
|
|
53
60
|
readonly size?: BadgeSize;
|
|
54
61
|
readonly className?: string;
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Reads the `dishwasher` cap status slice and renders inline + hero surfaces
|
|
5
5
|
* mirroring vacuum-control / pet-feeder patterns.
|
|
6
6
|
*
|
|
7
|
+
* Salt and rinse aid are not here: they are items of the device's `consumables`
|
|
8
|
+
* cap, shown by the page's Consumables section like every device's (D915).
|
|
9
|
+
*
|
|
7
10
|
* UNKNOWN IS NOT OFF. The slice carries `null` for everything the appliance has not
|
|
8
11
|
* reported, and this view renders that as "—" / a disabled control, never as an unchecked
|
|
9
12
|
* box or a zero. It also does not echo a command before the appliance confirms it: the
|
|
@@ -17,7 +17,7 @@ export { DEVICE_TYPE_CONTROL, CONTROL_FILLS, resolveDeviceControl, resolveContro
|
|
|
17
17
|
export { OfflineBadge, type OfflineBadgeProps } from "./offline-badge";
|
|
18
18
|
export { CoverInlineControl, type CoverHighlightVariant, type CoverButtonHighlight } from "./cover-inline";
|
|
19
19
|
export { CoverHeroCard } from "./cover-hero-card";
|
|
20
|
-
export { VacuumInlineControl, VacuumHeroCard, vacuumStateMeta,
|
|
20
|
+
export { VacuumInlineControl, VacuumHeroCard, vacuumStateMeta, type VacuumStateMeta } from "./vacuum-control";
|
|
21
21
|
export { LawnMowerInlineControl, LawnMowerHeroCard, lawnMowerActivityMeta, type LawnMowerActivityMeta } from "./lawn-mower-control";
|
|
22
22
|
export { ValveInlineControl, ValveHeroCard, valveStateMeta, type ValveStateMeta } from "./valve-control";
|
|
23
23
|
export { HumidifierInlineControl, HumidifierHeroCard, humidifierTint, type HumidifierTint, type HumidifierAction } from "./humidifier-control";
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { type UiTextFn } from "../../contexts/ui-text";
|
|
18
18
|
import type { ReactNode } from "react";
|
|
19
|
-
import type { VacuumState
|
|
19
|
+
import type { VacuumState } from "@camstack/types";
|
|
20
20
|
import type { DeviceControlProps } from "./control-registry";
|
|
21
21
|
export interface VacuumStateMeta {
|
|
22
22
|
readonly label: string;
|
|
@@ -29,18 +29,6 @@ export interface VacuumStateMeta {
|
|
|
29
29
|
* the build.
|
|
30
30
|
*/
|
|
31
31
|
export declare function vacuumStateMeta(state: VacuumState | undefined, t?: UiTextFn): VacuumStateMeta;
|
|
32
|
-
/** The four intrinsic tanks a vacuum cap can expose. */
|
|
33
|
-
export type TankKind = "cleanWater" | "dirtyWater" | "detergent" | "dustBin";
|
|
34
|
-
export type TankAlert = "ok" | "warning";
|
|
35
|
-
/**
|
|
36
|
-
* Pure helper — classifies a tank as `ok` or `warning`.
|
|
37
|
-
*
|
|
38
|
-
* Clean-water + detergent are "supply" tanks: low is bad. Dirty-water +
|
|
39
|
-
* dust-bin are "waste" tanks: full is bad. Prefers the numeric `level`
|
|
40
|
-
* (thresholds 15 / 85), falling back to the discrete `status` flag. Both
|
|
41
|
-
* unknown → `ok`. Exhaustive over TankKind.
|
|
42
|
-
*/
|
|
43
|
-
export declare function tankAlert(kind: TankKind, tank: TankStatus): TankAlert;
|
|
44
32
|
/**
|
|
45
33
|
* VacuumInlineControl — compact, state-aware vacuum controls for a
|
|
46
34
|
* device-list row. Start / Pause / Return-to-base + battery badge.
|
|
@@ -4,18 +4,23 @@ interface WidgetPanelProps {
|
|
|
4
4
|
readonly title: string;
|
|
5
5
|
/** Optional leading icon node (size it `h-3.5 w-3.5` for alignment). */
|
|
6
6
|
readonly icon?: ReactNode;
|
|
7
|
-
/** Optional right-aligned header slot (timestamp, live badge, …).
|
|
8
|
-
*
|
|
7
|
+
/** Optional right-aligned header slot (timestamp, live badge, …). On a
|
|
8
|
+
* `collapsible` panel it sits before the chevron — e.g. a one-line summary
|
|
9
|
+
* shown only while the body is closed. */
|
|
9
10
|
readonly headerRight?: ReactNode;
|
|
10
11
|
/** Render the header as a toggle that shows/hides the body. */
|
|
11
12
|
readonly collapsible?: boolean;
|
|
12
|
-
/** Initial open state for
|
|
13
|
+
/** Initial open state for an uncontrolled collapsible panel (default open). */
|
|
13
14
|
readonly defaultOpen?: boolean;
|
|
15
|
+
/** Controlled open state; pair with `onOpenChange`. Overrides `defaultOpen`. */
|
|
16
|
+
readonly open?: boolean;
|
|
17
|
+
/** Called with the next open state when the header is toggled. */
|
|
18
|
+
readonly onOpenChange?: (open: boolean) => void;
|
|
14
19
|
/** Body padding/utility override (default `p-3`). */
|
|
15
20
|
readonly bodyClassName?: string;
|
|
16
21
|
readonly children: ReactNode;
|
|
17
22
|
}
|
|
18
|
-
export declare function WidgetPanel({ title, icon, headerRight, collapsible, defaultOpen, bodyClassName, children }: WidgetPanelProps): JSX.Element;
|
|
23
|
+
export declare function WidgetPanel({ title, icon, headerRight, collapsible, defaultOpen, open: openProp, onOpenChange, bodyClassName, children }: WidgetPanelProps): JSX.Element;
|
|
19
24
|
interface WidgetMetricCardProps {
|
|
20
25
|
readonly label: string;
|
|
21
26
|
readonly icon?: ReactNode;
|
|
@@ -501,6 +501,10 @@ export declare const useDeviceHistoryGetDeviceEnabled: typeof trpc.deviceHistory
|
|
|
501
501
|
export declare const useDeviceHistorySetDeviceEnabled: typeof trpc.deviceHistory.setDeviceEnabled.useMutation;
|
|
502
502
|
/** Generated alias around `trpc.deviceHistory.getStatus.useQuery`. */
|
|
503
503
|
export declare const useDeviceHistoryGetStatus: typeof trpc.deviceHistory.getStatus.useQuery;
|
|
504
|
+
/** Generated alias around `trpc.deviceHistory.listOrphanSeries.useQuery`. */
|
|
505
|
+
export declare const useDeviceHistoryListOrphanSeries: typeof trpc.deviceHistory.listOrphanSeries.useQuery;
|
|
506
|
+
/** Generated alias around `trpc.deviceHistory.deleteOrphanSeries.useMutation`. */
|
|
507
|
+
export declare const useDeviceHistoryDeleteOrphanSeries: typeof trpc.deviceHistory.deleteOrphanSeries.useMutation;
|
|
504
508
|
/** Generated alias around `trpc.deviceManager.allocateDeviceId.useMutation`. */
|
|
505
509
|
export declare const useDeviceManagerAllocateDeviceId: typeof trpc.deviceManager.allocateDeviceId.useMutation;
|
|
506
510
|
/** Generated alias around `trpc.deviceManager.migrateDevice.useMutation`. */
|
|
@@ -1653,6 +1657,8 @@ export declare const usePipelineOrchestratorSetAgentReachableHost: typeof trpc.p
|
|
|
1653
1657
|
export declare const usePipelineOrchestratorSetAgentInferenceDevices: typeof trpc.pipelineOrchestrator.setAgentInferenceDevices.useMutation;
|
|
1654
1658
|
/** Generated alias around `trpc.pipelineOrchestrator.getNodeInferenceDevices.useQuery`. */
|
|
1655
1659
|
export declare const usePipelineOrchestratorGetNodeInferenceDevices: typeof trpc.pipelineOrchestrator.getNodeInferenceDevices.useQuery;
|
|
1660
|
+
/** Generated alias around `trpc.pipelineOrchestrator.forgetInferenceDevice.useMutation`. */
|
|
1661
|
+
export declare const usePipelineOrchestratorForgetInferenceDevice: typeof trpc.pipelineOrchestrator.forgetInferenceDevice.useMutation;
|
|
1656
1662
|
/** Generated alias around `trpc.pipelineOrchestrator.resetNodePipelineDefaults.useMutation`. */
|
|
1657
1663
|
export declare const usePipelineOrchestratorResetNodePipelineDefaults: typeof trpc.pipelineOrchestrator.resetNodePipelineDefaults.useMutation;
|
|
1658
1664
|
/** Generated alias around `trpc.pipelineOrchestrator.planAutoTune.useQuery`. */
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export type { DetectionState, DeviceDetections, MotionRawBox, MotionRawState, Mo
|
|
|
18
18
|
export { useDeviceDetections } from "./use-device-detections";
|
|
19
19
|
export type { PersistedPageSizeConfig, SetPageSize } from "./use-persisted-page-size";
|
|
20
20
|
export { PAGE_SIZE_ALL, effectivePageSize, usePersistedPageSize } from "./use-persisted-page-size";
|
|
21
|
+
export type { SetDisclosure } from "./use-persisted-disclosure";
|
|
22
|
+
export { usePersistedDisclosure } from "./use-persisted-disclosure";
|
|
21
23
|
export type { SetDeviceListPageSize } from "./use-device-list-page-size";
|
|
22
24
|
export { DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, useDeviceListPageSize } from "./use-device-list-page-size";
|
|
23
25
|
export type { UseDeviceProxyTrpc } from "./use-device-proxy";
|
|
@@ -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 ShieldOff, $n as
|
|
4
|
+
import { $ as ShieldOff, $n as Clock, $t as LoaderCircle, A as TrainFront, An as Feather, Ar as Bike, At as Pause, B as SunMedium, Bn as DoorClosed, Br as Baby, Bt as MonitorPlay, C as Undo2, Cn as Gamepad2, Cr as Bus, Ct as Play, D as TrendingDown, Dn as FlashlightOff, Dr as Bone, Dt as Phone, E as TriangleAlert, En as Flashlight, Er as Bot, Et as Pin, F as Thermometer, Fn as EllipsisVertical, Fr as BatteryMedium, Ft as Move, G as Snowflake, Gn as Copy, Gr as ArrowDown, Gt as Menu, H as Square, Hn as Database, Hr as ArrowUpToLine, Ht as Minimize2, I as Target, In as Droplets, Ir as BatteryLow, It as MoveVertical, J as SkipForward, Jn as CloudSun, Jr as AirVent, Jt as MapPin, K as Smartphone, Kn as Cog, Kr as ArrowDownToLine, Kt as Megaphone, L as Tag, Ln as Droplet, Lr as BatteryFull, Lt as MoveHorizontal, M as ToggleRight, Mn as Eye, Mr as BellRing, Mt as Network, N as ToggleLeft, Nn as EyeOff, Nr as Battery, Nt as Navigation, O as TrendingUp, On as Flame, Or as Blinds, Ot as Pencil, P as Timer, Pn as ExternalLink, Pr as BatteryWarning, Pt as Music, Q as Shield, Qn as CloudFog, Qt as LocateFixed, R as Sunrise, Rn as Download, Rr as Bath, Rt as MousePointerClick, S as Unlink2, Sn as Gauge, Sr as Cable, St as Plus, T as Truck, Tn as Footprints, Tr as Box, Tt as Pipette, U as Sprout, Un as Crosshair, Ur as ArrowRight, Ut as Mic, V as Star, Vn as Dog, Vr as ArrowUp, Vt as Minus, W as Sparkles, Wn as Cpu, Wr as ArrowLeft, Wt as MessageSquare, X as Siren, Xn as CloudRain, Xt as Lock, Y as SkipBack, Yn as CloudSnow, Yr as Activity, Yt as Mail, Z as Ship, Zn as CloudLightning, Zt as LockOpen, _ as UtensilsCrossed, _n as Hand, _r as ChartLine, _t as QrCode, a as Wrench, an as LayoutGrid, ar as CirclePause, at as Search, b as UserCheck, bn as Grid2x2, br as Car, bt as PowerOff, c as Wifi, cr as CircleCheckBig, ct as Save, d as WifiLow, dn as ImageOff, dr as ChevronsDownUp, dt as RotateCw, en as List, er as Clapperboard, et as ShieldCheck, f as WifiHigh, fn as House, fr as ChevronUp, ft as RotateCcw, g as Vibrate, gn as HardDrive, gr as Check, gt as Radar, h as Volume2, hn as Hash, hr as ChevronDown, ht as RadioTower, i as X, in as Leaf, ir as CirclePlus, it as Server, j as Tractor, jn as Fan, jr as Bell, jt as Package, k as Trash2, kn as Film, kr as Bird, kt as PawPrint, l as WifiZero, ln as Inbox, lr as CircleAlert, lt as Sailboat, m as VolumeX, mn as Heater, mr as ChevronLeft, mt as Radio, n as ZoomIn, nn as Link2, nr as CircleStop, nt as Share2, o as Workflow, on as Laugh, or as CircleDot, ot as ScrollText, p as Waves, pn as History, pr as ChevronRight, pt as RefreshCw, q as SlidersHorizontal, qn as Cloud, qr as AlarmSmoke, qt as Maximize2, r as Zap, rn as Lightbulb, rr as CircleQuestionMark, rt as Settings, s as Wind, sn as Info, sr as CircleCheck, st as Scan, t as ZoomOut, tn as ListChecks, tr as CircleX, tt as ShieldAlert, u as WifiOff, un as Image, ur as ChevronsUpDown, ut as Route, v as Users, vn as Hammer, vr as Cat, vt as Puzzle, w as Type, wn as Funnel, wr as Bug, wt as Plane, x as Upload, xn as GraduationCap, xr as Camera, xt as Plug, y as User, yn as GripHorizontal, yr as Cast, yt as Power, z as Sun, zn as DoorOpen, zr as Ban, zt as Moon } from "./index.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.576.0 - ISC
|
|
7
7
|
*
|
|
@@ -14759,6 +14759,26 @@ var FlaskConicalOff = createLucideIcon("flask-conical-off", [
|
|
|
14759
14759
|
* This source code is licensed under the ISC license.
|
|
14760
14760
|
* See the LICENSE file in the root directory of this source tree.
|
|
14761
14761
|
*/
|
|
14762
|
+
var FlaskConical = createLucideIcon("flask-conical", [
|
|
14763
|
+
["path", {
|
|
14764
|
+
d: "M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",
|
|
14765
|
+
key: "18mbvz"
|
|
14766
|
+
}],
|
|
14767
|
+
["path", {
|
|
14768
|
+
d: "M6.453 15h11.094",
|
|
14769
|
+
key: "3shlmq"
|
|
14770
|
+
}],
|
|
14771
|
+
["path", {
|
|
14772
|
+
d: "M8.5 2h7",
|
|
14773
|
+
key: "csnxdl"
|
|
14774
|
+
}]
|
|
14775
|
+
]);
|
|
14776
|
+
/**
|
|
14777
|
+
* @license lucide-react v0.576.0 - ISC
|
|
14778
|
+
*
|
|
14779
|
+
* This source code is licensed under the ISC license.
|
|
14780
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
14781
|
+
*/
|
|
14762
14782
|
var FlaskRound = createLucideIcon("flask-round", [
|
|
14763
14783
|
["path", {
|
|
14764
14784
|
d: "M10 2v6.292a7 7 0 1 0 4 0V2",
|
|
@@ -14759,6 +14759,26 @@ var FlaskConicalOff = require_createLucideIcon.createLucideIcon("flask-conical-o
|
|
|
14759
14759
|
* This source code is licensed under the ISC license.
|
|
14760
14760
|
* See the LICENSE file in the root directory of this source tree.
|
|
14761
14761
|
*/
|
|
14762
|
+
var FlaskConical = require_createLucideIcon.createLucideIcon("flask-conical", [
|
|
14763
|
+
["path", {
|
|
14764
|
+
d: "M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",
|
|
14765
|
+
key: "18mbvz"
|
|
14766
|
+
}],
|
|
14767
|
+
["path", {
|
|
14768
|
+
d: "M6.453 15h11.094",
|
|
14769
|
+
key: "3shlmq"
|
|
14770
|
+
}],
|
|
14771
|
+
["path", {
|
|
14772
|
+
d: "M8.5 2h7",
|
|
14773
|
+
key: "csnxdl"
|
|
14774
|
+
}]
|
|
14775
|
+
]);
|
|
14776
|
+
/**
|
|
14777
|
+
* @license lucide-react v0.576.0 - ISC
|
|
14778
|
+
*
|
|
14779
|
+
* This source code is licensed under the ISC license.
|
|
14780
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
14781
|
+
*/
|
|
14762
14782
|
var FlaskRound = require_createLucideIcon.createLucideIcon("flask-round", [
|
|
14763
14783
|
["path", {
|
|
14764
14784
|
d: "M10 2v6.292a7 7 0 1 0 4 0V2",
|
|
@@ -38479,7 +38499,7 @@ exports.Flame = require_index.Flame;
|
|
|
38479
38499
|
exports.FlameKindling = FlameKindling;
|
|
38480
38500
|
exports.Flashlight = require_index.Flashlight;
|
|
38481
38501
|
exports.FlashlightOff = require_index.FlashlightOff;
|
|
38482
|
-
exports.FlaskConical =
|
|
38502
|
+
exports.FlaskConical = FlaskConical;
|
|
38483
38503
|
exports.FlaskConicalOff = FlaskConicalOff;
|
|
38484
38504
|
exports.FlaskRound = FlaskRound;
|
|
38485
38505
|
exports.FlipHorizontal2 = FlipHorizontal2;
|