@conscia-labs/design-system 0.4.0 → 1.0.1

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/index.js CHANGED
@@ -10,6 +10,7 @@ import {
10
10
  AppSidebarHeader,
11
11
  AppearanceControl,
12
12
  CodeBlock,
13
+ CommandPalette,
13
14
  ConfirmationDialog,
14
15
  DataTable,
15
16
  DensityControl,
@@ -20,6 +21,7 @@ import {
20
21
  DetailSections,
21
22
  EntityTable,
22
23
  ErrorState,
24
+ FilterBar,
23
25
  IdentityRow,
24
26
  InspectorRegion,
25
27
  InventoryDesktop,
@@ -68,7 +70,7 @@ import {
68
70
  WorkbenchShell,
69
71
  useAppShell,
70
72
  useConsciaPreferences
71
- } from "./chunk-KYH7IZ3Z.js";
73
+ } from "./chunk-WEI3PU4A.js";
72
74
  import {
73
75
  appearanceOptions,
74
76
  applyConsciaPreferences,
@@ -80,13 +82,16 @@ import {
80
82
  AlertTitle,
81
83
  Avatar,
82
84
  AvatarFallback,
85
+ AvatarGroup,
83
86
  AvatarImage,
84
87
  Badge,
85
88
  BrandIcon,
89
+ BrandWordmark,
86
90
  ConsciaButton,
87
91
  ConsciaCard,
88
92
  ConsciaCardContent,
89
93
  ConsciaCardDescription,
94
+ ConsciaCardFooter,
90
95
  ConsciaCardHeader,
91
96
  ConsciaCardTitle,
92
97
  ConsciaCheckbox,
@@ -112,19 +117,55 @@ import {
112
117
  FieldError,
113
118
  FieldGroup,
114
119
  FieldLabel,
120
+ FilterChip,
115
121
  FormSelect,
116
122
  Label,
123
+ LabeledSwitch,
124
+ LoadingButton,
125
+ Popover,
126
+ PopoverArrow,
127
+ PopoverClose,
128
+ PopoverContent,
129
+ PopoverDescription,
130
+ PopoverPortal,
131
+ PopoverPositioner,
132
+ PopoverTitle,
133
+ PopoverTrigger,
117
134
  SearchableSelect,
135
+ Spinner,
118
136
  Switch,
119
137
  Textarea,
138
+ Toast,
139
+ ToastAction,
140
+ ToastClose,
141
+ ToastContent,
142
+ ToastDescription,
143
+ ToastProvider,
144
+ ToastTitle,
145
+ ToastViewport,
120
146
  alertVariants,
121
- badgeVariants
122
- } from "./chunk-C44RGLGF.js";
147
+ badgeVariants,
148
+ useToast
149
+ } from "./chunk-XQSBTQRR.js";
123
150
  import {
151
+ AlertDialog,
152
+ AlertDialogAction,
153
+ AlertDialogBody,
154
+ AlertDialogCancel,
155
+ AlertDialogClose,
156
+ AlertDialogContent,
157
+ AlertDialogDescription,
158
+ AlertDialogFooter,
159
+ AlertDialogHeader,
160
+ AlertDialogOverlay,
161
+ AlertDialogPortal,
162
+ AlertDialogTitle,
163
+ AlertDialogTrigger,
124
164
  Button,
125
165
  Card,
126
166
  CardContent,
127
167
  CardDescription,
168
+ CardFooter,
128
169
  CardHeader,
129
170
  CardTitle,
130
171
  Checkbox,
@@ -147,11 +188,13 @@ import {
147
188
  DropdownMenuGroup,
148
189
  DropdownMenuItem,
149
190
  DropdownMenuLabel,
191
+ DropdownMenuLinkItem,
150
192
  DropdownMenuSeparator,
151
193
  DropdownMenuSub,
152
194
  DropdownMenuSubContent,
153
195
  DropdownMenuSubTrigger,
154
196
  DropdownMenuTrigger,
197
+ IconButton,
155
198
  Input,
156
199
  NavigationTab,
157
200
  NavigationTabs,
@@ -178,10 +221,13 @@ import {
178
221
  SheetPortal,
179
222
  SheetTitle,
180
223
  SheetTrigger,
224
+ ShortcutHint,
181
225
  Skeleton,
182
226
  Table,
183
227
  TableBody,
228
+ TableCaption,
184
229
  TableCell,
230
+ TableFooter,
185
231
  TableHead,
186
232
  TableHeader,
187
233
  TableRow,
@@ -193,16 +239,31 @@ import {
193
239
  TooltipContent,
194
240
  TooltipProvider,
195
241
  TooltipTrigger,
196
- buttonVariants
197
- } from "./chunk-RAGHGWLB.js";
242
+ buttonVariants,
243
+ cardVariants
244
+ } from "./chunk-YAJUTCGD.js";
198
245
  import {
199
246
  cn
200
247
  } from "./chunk-JU5DQXFC.js";
248
+ import "./chunk-UVKRO5ER.js";
201
249
  export {
202
250
  ActivityItem,
203
251
  ActivityList,
204
252
  Alert,
205
253
  AlertDescription,
254
+ AlertDialog,
255
+ AlertDialogAction,
256
+ AlertDialogBody,
257
+ AlertDialogCancel,
258
+ AlertDialogClose,
259
+ AlertDialogContent,
260
+ AlertDialogDescription,
261
+ AlertDialogFooter,
262
+ AlertDialogHeader,
263
+ AlertDialogOverlay,
264
+ AlertDialogPortal,
265
+ AlertDialogTitle,
266
+ AlertDialogTrigger,
206
267
  AlertTitle,
207
268
  AppShell,
208
269
  AppSidebar,
@@ -212,13 +273,16 @@ export {
212
273
  AppearanceControl,
213
274
  Avatar,
214
275
  AvatarFallback,
276
+ AvatarGroup,
215
277
  AvatarImage,
216
278
  Badge,
217
279
  BrandIcon,
280
+ BrandWordmark,
218
281
  Button,
219
282
  Card,
220
283
  CardContent,
221
284
  CardDescription,
285
+ CardFooter,
222
286
  CardHeader,
223
287
  CardTitle,
224
288
  Checkbox,
@@ -226,11 +290,13 @@ export {
226
290
  Collapsible,
227
291
  CollapsibleContent,
228
292
  CollapsibleTrigger,
293
+ CommandPalette,
229
294
  ConfirmationDialog,
230
295
  ConsciaButton,
231
296
  ConsciaCard,
232
297
  ConsciaCardContent,
233
298
  ConsciaCardDescription,
299
+ ConsciaCardFooter,
234
300
  ConsciaCardHeader,
235
301
  ConsciaCardTitle,
236
302
  ConsciaCheckbox,
@@ -274,6 +340,7 @@ export {
274
340
  DropdownMenuGroup,
275
341
  DropdownMenuItem,
276
342
  DropdownMenuLabel,
343
+ DropdownMenuLinkItem,
277
344
  DropdownMenuSeparator,
278
345
  DropdownMenuSub,
279
346
  DropdownMenuSubContent,
@@ -286,7 +353,10 @@ export {
286
353
  FieldError,
287
354
  FieldGroup,
288
355
  FieldLabel,
356
+ FilterBar,
357
+ FilterChip,
289
358
  FormSelect,
359
+ IconButton,
290
360
  IdentityRow,
291
361
  Input,
292
362
  InspectorRegion,
@@ -296,6 +366,8 @@ export {
296
366
  KeyValueItem,
297
367
  KeyValueList,
298
368
  Label,
369
+ LabeledSwitch,
370
+ LoadingButton,
299
371
  LoadingRows,
300
372
  MainRegion,
301
373
  MetricBand,
@@ -313,6 +385,15 @@ export {
313
385
  PageHeader,
314
386
  PageToolbar,
315
387
  PaginationControls,
388
+ Popover,
389
+ PopoverArrow,
390
+ PopoverClose,
391
+ PopoverContent,
392
+ PopoverDescription,
393
+ PopoverPortal,
394
+ PopoverPositioner,
395
+ PopoverTitle,
396
+ PopoverTrigger,
316
397
  ProductIdentity,
317
398
  ProviderMark,
318
399
  ResourceRow,
@@ -345,16 +426,20 @@ export {
345
426
  SheetPortal,
346
427
  SheetTitle,
347
428
  SheetTrigger,
429
+ ShortcutHint,
348
430
  SidebarNavigation,
349
431
  SidebarSearch,
350
432
  SidebarSeparator,
351
433
  SidebarTrigger,
352
434
  Skeleton,
435
+ Spinner,
353
436
  StateView,
354
437
  Switch,
355
438
  Table,
356
439
  TableBody,
440
+ TableCaption,
357
441
  TableCell,
442
+ TableFooter,
358
443
  TableHead,
359
444
  TableHeader,
360
445
  TableRow,
@@ -363,6 +448,14 @@ export {
363
448
  TabsList,
364
449
  TabsTrigger,
365
450
  Textarea,
451
+ Toast,
452
+ ToastAction,
453
+ ToastClose,
454
+ ToastContent,
455
+ ToastDescription,
456
+ ToastProvider,
457
+ ToastTitle,
458
+ ToastViewport,
366
459
  Tooltip,
367
460
  TooltipContent,
368
461
  TooltipProvider,
@@ -383,9 +476,11 @@ export {
383
476
  applyConsciaPreferences,
384
477
  badgeVariants,
385
478
  buttonVariants,
479
+ cardVariants,
386
480
  cn,
387
481
  densityOptions,
388
482
  useAppShell,
389
- useConsciaPreferences
483
+ useConsciaPreferences,
484
+ useToast
390
485
  };
391
486
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { SortingState, PaginationState } from '@tanstack/react-table';
3
3
  export { PaginationState, SortingState } from '@tanstack/react-table';
4
- import { I as Input, S as Separator, B as Button, C as Card } from '../card-BFUHJgV-.js';
4
+ import { useRender } from '@base-ui/react/use-render';
5
+ import { j as Input, S as Separator, B as Button, C as Card } from '../card-DmBKqvj_.js';
5
6
  import { ConsciaAppearance, ConsciaDensity } from '../foundation/index.js';
6
7
  import 'class-variance-authority/types';
7
8
  import 'class-variance-authority';
8
- import '@radix-ui/react-separator';
9
9
 
10
10
  type EntityTableColumn<T> = {
11
11
  key: string;
@@ -22,9 +22,35 @@ type EntityTableProps<T> = {
22
22
  onRowClick?: (item: T) => void;
23
23
  getRowLabel?: (item: T) => string;
24
24
  rowActions?: (item: T) => React.ReactNode;
25
+ caption?: React.ReactNode;
25
26
  className?: string;
26
27
  };
27
- declare function EntityTable<T>({ items, columns, getRowId, selectedIds, onSelectionChange, onRowClick, getRowLabel, rowActions, className }: EntityTableProps<T>): React.JSX.Element;
28
+ declare function EntityTable<T>({ items, columns, getRowId, selectedIds, onSelectionChange, onRowClick, getRowLabel, rowActions, caption, className }: EntityTableProps<T>): React.JSX.Element;
29
+
30
+ type CommandPaletteItem = {
31
+ description?: React.ReactNode;
32
+ disabled?: boolean;
33
+ group?: string;
34
+ icon?: React.ReactNode;
35
+ id: string;
36
+ keywords?: readonly string[];
37
+ label: string;
38
+ shortcut?: React.ReactNode;
39
+ };
40
+ type CommandPaletteProps = Omit<React.ComponentProps<"div">, "children" | "onSelect"> & {
41
+ closeOnSelect?: boolean;
42
+ defaultOpen?: boolean;
43
+ description?: React.ReactNode;
44
+ emptyMessage?: React.ReactNode;
45
+ items: readonly CommandPaletteItem[];
46
+ onOpenChange?: (open: boolean) => void;
47
+ onSelect: (item: CommandPaletteItem) => void;
48
+ open?: boolean;
49
+ placeholder?: string;
50
+ title?: React.ReactNode;
51
+ trigger?: React.ReactElement;
52
+ };
53
+ declare function CommandPalette({ className, closeOnSelect, defaultOpen, description, emptyMessage, items, onOpenChange, onSelect, open, placeholder, title, trigger, ...props }: CommandPaletteProps): React.JSX.Element;
28
54
 
29
55
  type DataTableColumn<TData> = {
30
56
  id: string;
@@ -55,16 +81,23 @@ type DataTableProps<TData> = {
55
81
  pageSizeOptions?: number[];
56
82
  totalLabel?: React.ReactNode;
57
83
  mobileRow?: (item: TData) => React.ReactNode;
84
+ caption?: React.ReactNode;
58
85
  empty?: React.ReactNode;
59
86
  className?: string;
60
87
  };
61
- declare function DataTable<TData>({ data, columns, getRowId, getRowLabel, onRowClick, isRowClickable, rowActions, selectedIds, onSelectionChange, sorting, onSortingChange, manualSorting, pagination, onPaginationChange, manualPagination, pageCount, rowCount, pageSizeOptions, totalLabel, mobileRow, empty, className, }: DataTableProps<TData>): React.JSX.Element;
88
+ declare function DataTable<TData>({ data, columns, getRowId, getRowLabel, onRowClick, isRowClickable, rowActions, selectedIds, onSelectionChange, sorting, onSortingChange, manualSorting, pagination, onPaginationChange, manualPagination, pageCount, rowCount, pageSizeOptions, totalLabel, mobileRow, caption, empty, className, }: DataTableProps<TData>): React.JSX.Element;
62
89
 
63
90
  type DetailBackLinkProps = Omit<React.ComponentProps<"a">, "children"> & {
64
91
  label: string;
65
92
  };
66
93
  declare function DetailBackLink({ label, className, ...props }: DetailBackLinkProps): React.JSX.Element;
67
94
 
95
+ type FilterBarProps = React.ComponentProps<"div"> & {
96
+ clearAllLabel?: string;
97
+ onClearAll?: () => void;
98
+ };
99
+ declare function FilterBar({ children, clearAllLabel, className, onClearAll, ...props }: FilterBarProps): React.JSX.Element;
100
+
68
101
  type AppShellContextValue = {
69
102
  sidebarState: "expanded" | "collapsed";
70
103
  sidebarSide: "left" | "right";
@@ -82,7 +115,7 @@ declare function AppShell({ defaultSidebarOpen, children, className, style, ...p
82
115
  }): React.JSX.Element;
83
116
  declare function AppSidebar({ side, variant, className, children, title, description, ...props }: React.ComponentProps<"aside"> & {
84
117
  side?: "left" | "right";
85
- /** Preserve the historical dark sidebar by default; auto follows appearance. */
118
+ /** Use the appearance-aware sidebar by default; explicit variants remain available. */
86
119
  variant?: "light" | "dark" | "auto";
87
120
  title?: string;
88
121
  description?: string;
@@ -90,10 +123,11 @@ declare function AppSidebar({ side, variant, className, children, title, descrip
90
123
  declare function AppSidebarHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
91
124
  declare function AppSidebarContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
92
125
  declare function AppSidebarFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
93
- declare function ProductIdentity({ label, description, icon, className, }: {
126
+ declare function ProductIdentity({ label, description, icon, collapsedLabel, className, }: {
94
127
  label: React.ReactNode;
95
128
  description?: React.ReactNode;
96
129
  icon?: React.ReactNode;
130
+ collapsedLabel?: React.ReactNode;
97
131
  className?: string;
98
132
  }): React.JSX.Element;
99
133
  declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
@@ -103,21 +137,23 @@ declare function NavigationGroup({ label, count, children, className, }: {
103
137
  children: React.ReactNode;
104
138
  className?: string;
105
139
  }): React.JSX.Element;
106
- declare function NavigationItem({ asChild, active, tooltip, type, className, children, ...props }: React.ComponentProps<"button"> & {
107
- asChild?: boolean;
140
+ type NavigationItemProps = Omit<React.ComponentProps<"button">, "render"> & {
108
141
  active?: boolean;
109
142
  tooltip?: string;
110
- }): React.JSX.Element;
111
- declare function NavigationSubItem({ asChild, active, className, ...props }: React.ComponentProps<"a"> & {
112
- asChild?: boolean;
143
+ render?: useRender.ComponentProps<"button">["render"];
144
+ };
145
+ declare const NavigationItem: React.ForwardRefExoticComponent<Omit<NavigationItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
146
+ type NavigationSubItemProps = Omit<React.ComponentProps<"a">, "render"> & {
113
147
  active?: boolean;
114
- }): React.JSX.Element;
148
+ render?: useRender.ComponentProps<"a">["render"];
149
+ };
150
+ declare const NavigationSubItem: React.ForwardRefExoticComponent<Omit<NavigationSubItemProps, "ref"> & React.RefAttributes<HTMLElement>>;
115
151
  declare function NavigationSubList({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
116
152
  /**
117
153
  * Place this control inside TopBar, not AppSidebar, so it remains available
118
154
  * after the sidebar collapses and in the mobile drawer layout.
119
155
  */
120
- declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
156
+ declare function SidebarTrigger({ className, "aria-label": ariaLabel, onClick, ...props }: Omit<React.ComponentProps<typeof Button>, "aria-labelledby">): React.JSX.Element;
121
157
  type SidebarSearchProps = Omit<React.ComponentProps<typeof Input>, "type"> & {
122
158
  expanded?: boolean;
123
159
  defaultExpanded?: boolean;
@@ -288,6 +324,10 @@ type SidebarNavigationItem = {
288
324
  id: string;
289
325
  label: string;
290
326
  icon?: React.ReactNode;
327
+ badge?: React.ReactNode;
328
+ badgeLabel?: string;
329
+ count?: React.ReactNode;
330
+ countLabel?: string;
291
331
  active?: boolean;
292
332
  startsSection?: boolean;
293
333
  };
@@ -663,4 +703,4 @@ type IdentityRowProps = React.ComponentProps<"div"> & {
663
703
  };
664
704
  declare function IdentityRow({ initials, name, detail, compact, className, ...props }: IdentityRowProps): React.JSX.Element;
665
705
 
666
- export { ActivityItem, type ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, type CodeBlockProps, type CodeBlockSnippet, ConfirmationDialog, type ConfirmationDialogProps, DataTable, type DataTableColumn, type DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, type DetailBackLinkProps, DetailSection, type DetailSectionProps, DetailSections, EntityTable, type EntityTableColumn, type EntityTableProps, ErrorState, IdentityRow, type IdentityRowProps, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, type MetricBandItemProps, type MetricBandProps, NavigationGroup, NavigationItem, NavigationSubItem, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, type PageHeaderProps, PageToolbar, type PageToolbarProps, PaginationControls, type PaginationControlsProps, ProductIdentity, ProviderMark, type ProviderMarkProps, ResourceRow, ResourceRowContent, ResourceRowDescription, ResourceRowIcon, ResourceRowMeta, type ResourceRowProps, ResourceRowTitle, ResourceSummary, type ResourceSummaryProps, SidebarNavigation, type SidebarNavigationEntry, type SidebarNavigationItem, type SidebarNavigationLinkProps, type SidebarNavigationSection, SidebarSearch, SidebarSeparator, SidebarTrigger, StateView, type StateViewProps, TopBar, ValueMeter, type ValueMeterProps, WorkbenchBackdrop, WorkbenchInspector, WorkbenchInspectorSection, type WorkbenchInspectorSectionProps, WorkbenchMain, WorkbenchMobileToolbar, WorkbenchRail, type WorkbenchRailProps, WorkbenchSection, WorkbenchSectionHeader, type WorkbenchSectionHeaderProps, type WorkbenchSectionProps, WorkbenchShell, type WorkbenchShellProps, useAppShell, useConsciaPreferences };
706
+ export { ActivityItem, type ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, type CodeBlockProps, type CodeBlockSnippet, CommandPalette, type CommandPaletteItem, type CommandPaletteProps, ConfirmationDialog, type ConfirmationDialogProps, DataTable, type DataTableColumn, type DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, type DetailBackLinkProps, DetailSection, type DetailSectionProps, DetailSections, EntityTable, type EntityTableColumn, type EntityTableProps, ErrorState, FilterBar, type FilterBarProps, IdentityRow, type IdentityRowProps, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, type MetricBandItemProps, type MetricBandProps, NavigationGroup, NavigationItem, type NavigationItemProps, NavigationSubItem, type NavigationSubItemProps, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, type PageHeaderProps, PageToolbar, type PageToolbarProps, PaginationControls, type PaginationControlsProps, ProductIdentity, ProviderMark, type ProviderMarkProps, ResourceRow, ResourceRowContent, ResourceRowDescription, ResourceRowIcon, ResourceRowMeta, type ResourceRowProps, ResourceRowTitle, ResourceSummary, type ResourceSummaryProps, SidebarNavigation, type SidebarNavigationEntry, type SidebarNavigationItem, type SidebarNavigationLinkProps, type SidebarNavigationSection, SidebarSearch, SidebarSeparator, SidebarTrigger, StateView, type StateViewProps, TopBar, ValueMeter, type ValueMeterProps, WorkbenchBackdrop, WorkbenchInspector, WorkbenchInspectorSection, type WorkbenchInspectorSectionProps, WorkbenchMain, WorkbenchMobileToolbar, WorkbenchRail, type WorkbenchRailProps, WorkbenchSection, WorkbenchSectionHeader, type WorkbenchSectionHeaderProps, type WorkbenchSectionProps, WorkbenchShell, type WorkbenchShellProps, useAppShell, useConsciaPreferences };
@@ -9,6 +9,7 @@ import {
9
9
  AppSidebarHeader,
10
10
  AppearanceControl,
11
11
  CodeBlock,
12
+ CommandPalette,
12
13
  ConfirmationDialog,
13
14
  DataTable,
14
15
  DensityControl,
@@ -19,6 +20,7 @@ import {
19
20
  DetailSections,
20
21
  EntityTable,
21
22
  ErrorState,
23
+ FilterBar,
22
24
  IdentityRow,
23
25
  InspectorRegion,
24
26
  InventoryDesktop,
@@ -67,10 +69,11 @@ import {
67
69
  WorkbenchShell,
68
70
  useAppShell,
69
71
  useConsciaPreferences
70
- } from "../chunk-KYH7IZ3Z.js";
72
+ } from "../chunk-WEI3PU4A.js";
71
73
  import "../chunk-YNQWIH6V.js";
72
- import "../chunk-RAGHGWLB.js";
74
+ import "../chunk-YAJUTCGD.js";
73
75
  import "../chunk-JU5DQXFC.js";
76
+ import "../chunk-UVKRO5ER.js";
74
77
  export {
75
78
  ActivityItem,
76
79
  ActivityList,
@@ -81,6 +84,7 @@ export {
81
84
  AppSidebarHeader,
82
85
  AppearanceControl,
83
86
  CodeBlock,
87
+ CommandPalette,
84
88
  ConfirmationDialog,
85
89
  DataTable,
86
90
  DensityControl,
@@ -91,6 +95,7 @@ export {
91
95
  DetailSections,
92
96
  EntityTable,
93
97
  ErrorState,
98
+ FilterBar,
94
99
  IdentityRow,
95
100
  InspectorRegion,
96
101
  InventoryDesktop,