@dmsi/wedgekit-react 2.0.0 → 2.0.2
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/classNames.js +150 -0
- package/dist/components/AccessCard.js +63 -0
- package/dist/components/AccessCardGroup.js +73 -0
- package/dist/components/AccessChangerTabItem.js +51 -0
- package/dist/components/Accordion.js +99 -0
- package/dist/components/Alert.js +78 -0
- package/dist/components/Breadcrumbs.js +111 -0
- package/dist/components/Button.js +137 -0
- package/dist/components/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange.js +406 -0
- package/dist/components/Caption.js +99 -0
- package/dist/components/Card.js +50 -0
- package/dist/components/Checkbox.js +108 -0
- package/dist/components/CompactImagesPreview.d.ts.map +1 -1
- package/dist/components/CompactImagesPreview.js +121 -0
- package/dist/components/ContentTab.js +68 -0
- package/dist/components/ContentTabs.js +96 -0
- package/dist/components/DMSiLogo.js +54 -0
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.d.ts.map +1 -1
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +28 -0
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.d.ts.map +1 -1
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +80 -0
- package/dist/components/DataGrid/PinnedColumns.js +165 -0
- package/dist/components/DataGrid/SummaryRow/SummaryCell.js +51 -0
- package/dist/components/DataGrid/SummaryRow/aggregations.js +55 -0
- package/dist/components/DataGrid/SummaryRow/index.js +86 -0
- package/dist/components/DataGrid/TableBody/GroupRow.js +243 -0
- package/dist/components/DataGrid/TableBody/LoadingCell.js +33 -0
- package/dist/components/DataGrid/TableBody/TableBodyRow.js +136 -0
- package/dist/components/DataGrid/TableBody/index.js +161 -0
- package/dist/components/DataGrid/index.js +696 -0
- package/dist/components/DataGrid/utils.js +20 -0
- package/dist/components/DataGridCell.js +412 -0
- package/dist/components/DataTable.js +700 -0
- package/dist/components/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput.js +194 -0
- package/dist/components/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput.js +369 -0
- package/dist/components/DebugJson.js +28 -0
- package/dist/components/Display.js +46 -0
- package/dist/components/EditingContext.js +34 -0
- package/dist/components/EmblaCarousel/ArrowButtons.js +83 -0
- package/dist/components/EmblaCarousel/SelectedSnapDisplay.js +12 -0
- package/dist/components/EmblaCarousel/index.d.ts.map +1 -1
- package/dist/components/EmblaCarousel/index.js +154 -0
- package/dist/components/EmblaCarousel/usePrevNextButtons.d.ts.map +1 -1
- package/dist/components/EmblaCarousel/usePrevNextButtons.js +22 -0
- package/dist/components/EmblaCarousel/useSelectedSnapDisplay.d.ts.map +1 -1
- package/dist/components/EmblaCarousel/useSelectedSnapDisplay.js +16 -0
- package/dist/components/EmptyCartIcon.js +25 -0
- package/dist/components/FilterGroup.js +198 -0
- package/dist/components/FullViewportBox.js +19 -0
- package/dist/components/Grid.js +54 -0
- package/dist/components/Heading.js +50 -0
- package/dist/components/HorizontalDivider.js +20 -0
- package/dist/components/Icon.js +73 -0
- package/dist/components/ImagePlaceholder.d.ts.map +1 -1
- package/dist/components/ImagePlaceholder.js +23 -0
- package/dist/components/Input.js +469 -0
- package/dist/components/InputGroup.js +45 -0
- package/dist/components/Label.js +37 -0
- package/dist/components/Link.js +69 -0
- package/dist/components/List.js +12 -0
- package/dist/components/ListGroup.d.ts.map +1 -1
- package/dist/components/ListGroup.js +55 -0
- package/dist/components/LiveChatComponent.js +25 -0
- package/dist/components/LoadingScrim.js +22 -0
- package/dist/components/LogoAgilityTopBar.js +90 -0
- package/dist/components/LogoDMSiTopBar.js +54 -0
- package/dist/components/LogoMillworkTopBar.js +196 -0
- package/dist/components/MainBar.js +58 -0
- package/dist/components/MaxViewportBox.js +19 -0
- package/dist/components/Menu.js +202 -0
- package/dist/components/MenuOption.js +161 -0
- package/dist/components/MobileDataGrid/ColumnList.js +85 -0
- package/dist/components/MobileDataGrid/ColumnSelector/index.d.ts.map +1 -1
- package/dist/components/MobileDataGrid/ColumnSelector/index.js +101 -0
- package/dist/components/MobileDataGrid/GridContextProvider/GridContext.d.ts.map +1 -1
- package/dist/components/MobileDataGrid/GridContextProvider/GridContext.js +6 -0
- package/dist/components/MobileDataGrid/GridContextProvider/index.d.ts.map +1 -1
- package/dist/components/MobileDataGrid/GridContextProvider/index.js +81 -0
- package/dist/components/MobileDataGrid/GridContextProvider/useGridContext.d.ts.map +1 -1
- package/dist/components/MobileDataGrid/GridContextProvider/useGridContext.js +12 -0
- package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.js +18 -0
- package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +130 -0
- package/dist/components/MobileDataGrid/MobileDataGridHeader.js +67 -0
- package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +42 -0
- package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +58 -0
- package/dist/components/MobileDataGrid/dataGridReducer.js +28 -0
- package/dist/components/MobileDataGrid/index.js +78 -0
- package/dist/components/MobileNavMenu.js +173 -0
- package/dist/components/Modal.js +201 -0
- package/dist/components/ModalButtons.js +57 -0
- package/dist/components/ModalContent.js +24 -0
- package/dist/components/ModalHeader.js +74 -0
- package/dist/components/ModalScrim.js +32 -0
- package/dist/components/NavigationTab.js +72 -0
- package/dist/components/NavigationTabs.js +45 -0
- package/dist/components/NestedMenu.js +119 -0
- package/dist/components/Notification.js +91 -0
- package/dist/components/OptionPill.js +103 -0
- package/dist/components/OrderCheckIcon.js +28 -0
- package/dist/components/PDFViewer/DownloadIcon.js +25 -0
- package/dist/components/PDFViewer/PDFElement.js +77 -0
- package/dist/components/PDFViewer/PDFNavigation.js +64 -0
- package/dist/components/PDFViewer/PDFPage.js +28 -0
- package/dist/components/PDFViewer/index.js +124 -0
- package/dist/components/Pagination.js +117 -0
- package/dist/components/Paragraph.js +43 -0
- package/dist/components/Password.js +47 -0
- package/dist/components/ProductImagePreview/CarouselPagination.js +48 -0
- package/dist/components/ProductImagePreview/MobileImageCarousel.d.ts.map +1 -1
- package/dist/components/ProductImagePreview/MobileImageCarousel.js +147 -0
- package/dist/components/ProductImagePreview/ProductPrimaryImage.d.ts.map +1 -1
- package/dist/components/ProductImagePreview/ProductPrimaryImage.js +139 -0
- package/dist/components/ProductImagePreview/Thumbnail.d.ts.map +1 -1
- package/dist/components/ProductImagePreview/Thumbnail.js +47 -0
- package/dist/components/ProductImagePreview/ZoomWindow.js +74 -0
- package/dist/components/ProductImagePreview/index.d.ts.map +1 -1
- package/dist/components/ProductImagePreview/index.js +190 -0
- package/dist/components/ProductImagePreview/useProductImagePreview.d.ts.map +1 -1
- package/dist/components/ProductImagePreview/useProductImagePreview.js +86 -0
- package/dist/components/ProjectBar.js +54 -0
- package/dist/components/Radio.js +113 -0
- package/dist/components/Search.js +89 -0
- package/dist/components/SearchResultImage/index.d.ts.map +1 -1
- package/dist/components/SearchResultImage/index.js +27 -0
- package/dist/components/Select.js +122 -0
- package/dist/components/SideMenu.js +24 -0
- package/dist/components/SideMenuGroup.js +80 -0
- package/dist/components/SideMenuItem.js +79 -0
- package/dist/components/SimpleTable.js +60 -0
- package/dist/components/SkeletonParagraph.js +24 -0
- package/dist/components/Spinner.js +30 -0
- package/dist/components/Stack.js +174 -0
- package/dist/components/StatusPill.js +44 -0
- package/dist/components/Stepper.js +138 -0
- package/dist/components/Subheader.js +41 -0
- package/dist/components/Surface.js +30 -0
- package/dist/components/Swatch.js +1498 -0
- package/dist/components/Textarea.js +106 -0
- package/dist/components/Theme.js +25 -0
- package/dist/components/Time.d.ts.map +1 -1
- package/dist/components/Time.js +226 -0
- package/dist/components/Toast.js +170 -0
- package/dist/components/Tooltip.js +102 -0
- package/dist/components/TopBar.js +119 -0
- package/dist/components/Upload.js +107 -0
- package/dist/components/WorldpayIframe.js +19 -0
- package/dist/hooks/useEditCell.d.ts.map +1 -1
- package/dist/hooks/useEditCell.js +24 -0
- package/dist/hooks/useInfiniteScroll.js +25 -0
- package/dist/hooks/useKeydown.d.ts.map +1 -1
- package/dist/hooks/useKeydown.js +21 -0
- package/dist/hooks/useMatchesMedia.d.ts.map +1 -1
- package/dist/hooks/useMatchesMedia.js +16 -0
- package/dist/hooks/useMenuSystem.js +186 -0
- package/dist/hooks/useMounted.js +9 -0
- package/dist/hooks/useTableLayout/computeColumns.js +59 -0
- package/dist/hooks/useTableLayout/storage.js +64 -0
- package/dist/hooks/useTableLayout/useTableLayout.js +163 -0
- package/dist/index.js +249 -53839
- package/dist/lib/loadFonts.js +11 -0
- package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +56 -0
- package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +2299 -0
- package/dist/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +13 -0
- package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +367 -0
- package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +235 -0
- package/dist/node_modules/@headlessui/react/dist/components/description/description.js +45 -0
- package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +4 -0
- package/dist/node_modules/@headlessui/react/dist/components/label/label.js +62 -0
- package/dist/node_modules/@headlessui/react/dist/components/switch/switch.js +56 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js +33 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js +10 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-default-value.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +9 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +12 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js +7 -0
- package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +16 -0
- package/dist/node_modules/@headlessui/react/dist/internal/disabled.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/internal/form-fields.js +35 -0
- package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +13 -0
- package/dist/node_modules/@headlessui/react/dist/internal/id.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +19 -0
- package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +6 -0
- package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +40 -0
- package/dist/node_modules/@headlessui/react/dist/utils/dom.js +34 -0
- package/dist/node_modules/@headlessui/react/dist/utils/env.js +34 -0
- package/dist/node_modules/@headlessui/react/dist/utils/form.js +32 -0
- package/dist/node_modules/@headlessui/react/dist/utils/match.js +11 -0
- package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/utils/owner.js +8 -0
- package/dist/node_modules/@headlessui/react/dist/utils/render.js +126 -0
- package/dist/node_modules/@js-temporal/polyfill/dist/index.esm.js +3913 -0
- package/dist/node_modules/@mikecousins/react-pdf/dist/index.js +83 -0
- package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js +38 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocus.js +31 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js +99 -0
- package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js +59 -0
- package/dist/node_modules/@react-aria/interactions/dist/useHover.js +86 -0
- package/dist/node_modules/@react-aria/interactions/dist/utils.js +68 -0
- package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js +32 -0
- package/dist/node_modules/@react-aria/utils/dist/domHelpers.js +15 -0
- package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.js +45 -0
- package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.js +7 -0
- package/dist/node_modules/@react-aria/utils/dist/openLink.js +28 -0
- package/dist/node_modules/@react-aria/utils/dist/platform.js +47 -0
- package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js +34 -0
- package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js +6 -0
- package/dist/node_modules/@react-stately/flags/dist/import.js +7 -0
- package/dist/node_modules/@tanstack/react-table/build/lib/index.js +94 -0
- package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +38 -0
- package/dist/node_modules/@tanstack/table-core/build/lib/index.js +1954 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +575 -0
- package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +52 -0
- package/dist/node_modules/clsx/dist/clsx.js +17 -0
- package/dist/node_modules/embla-carousel/esm/embla-carousel.esm.js +1204 -0
- package/dist/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js +126 -0
- package/dist/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js +24 -0
- package/dist/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +35 -0
- package/dist/node_modules/jsbi/dist/jsbi.js +1040 -0
- package/dist/node_modules/react-use/esm/usePrevious.js +10 -0
- package/dist/static/no-results-image.png.js +4 -0
- package/dist/utils/date-patch-dashes.js +28 -0
- package/dist/utils/date.js +95 -0
- package/dist/utils/formatting.js +22 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/mergeObjectArrays.js +18 -0
- package/dist/utils.js +20 -0
- package/package.json +1 -1
- /package/dist/{pdf-l6QfMa5e.js → node_modules/pdfjs-dist/build/pdf.js} +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as o from "react";
|
|
2
|
+
import { createTable as u } from "../../../table-core/build/lib/index.js";
|
|
3
|
+
import { ColumnFaceting as C, ColumnFiltering as S, ColumnGrouping as w, ColumnOrdering as b, ColumnPinning as y, ColumnSizing as F, ColumnVisibility as x, GlobalFaceting as M, GlobalFiltering as h, Headers as O, RowExpanding as E, RowPagination as G, RowPinning as P, RowSelection as v, RowSorting as $, _getVisibleLeafColumns as A, aggregationFns as V, buildHeaderGroups as j, createCell as k, createColumn as z, createRow as H, defaultColumnSizing as N, expandRows as T, filterFns as U, flattenBy as _, functionalUpdate as B, getCoreRowModel as L, getExpandedRowModel as q, getFilteredRowModel as D, getGroupedRowModel as I, getMemoOptions as J, getPaginationRowModel as K, getSortedRowModel as Q, isFunction as W, isNumberArray as X, isRowSelected as Y, isSubRowSelected as Z, makeStateUpdater as ee, memo as te, orderColumns as ne, passiveEventSupported as oe, reSplitAlphaNumeric as re, selectRowsFn as ie, shouldAutoRemoveFilter as ae, sortingFns as le } from "../../../table-core/build/lib/index.js";
|
|
4
|
+
function f(e, t) {
|
|
5
|
+
return e ? s(e) ? /* @__PURE__ */ o.createElement(e, t) : e : null;
|
|
6
|
+
}
|
|
7
|
+
function s(e) {
|
|
8
|
+
return c(e) || typeof e == "function" || g(e);
|
|
9
|
+
}
|
|
10
|
+
function c(e) {
|
|
11
|
+
return typeof e == "function" && (() => {
|
|
12
|
+
const t = Object.getPrototypeOf(e);
|
|
13
|
+
return t.prototype && t.prototype.isReactComponent;
|
|
14
|
+
})();
|
|
15
|
+
}
|
|
16
|
+
function g(e) {
|
|
17
|
+
return typeof e == "object" && typeof e.$$typeof == "symbol" && ["react.memo", "react.forward_ref"].includes(e.$$typeof.description);
|
|
18
|
+
}
|
|
19
|
+
function p(e) {
|
|
20
|
+
const t = {
|
|
21
|
+
state: {},
|
|
22
|
+
// Dummy state
|
|
23
|
+
onStateChange: () => {
|
|
24
|
+
},
|
|
25
|
+
// noop
|
|
26
|
+
renderFallbackValue: null,
|
|
27
|
+
...e
|
|
28
|
+
}, [n] = o.useState(() => ({
|
|
29
|
+
current: u(t)
|
|
30
|
+
})), [i, a] = o.useState(() => n.current.initialState);
|
|
31
|
+
return n.current.setOptions((l) => ({
|
|
32
|
+
...l,
|
|
33
|
+
...e,
|
|
34
|
+
state: {
|
|
35
|
+
...i,
|
|
36
|
+
...e.state
|
|
37
|
+
},
|
|
38
|
+
// Similarly, we'll maintain both our internal state and any user-provided
|
|
39
|
+
// state.
|
|
40
|
+
onStateChange: (r) => {
|
|
41
|
+
a(r), e.onStateChange == null || e.onStateChange(r);
|
|
42
|
+
}
|
|
43
|
+
})), n.current;
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
C as ColumnFaceting,
|
|
47
|
+
S as ColumnFiltering,
|
|
48
|
+
w as ColumnGrouping,
|
|
49
|
+
b as ColumnOrdering,
|
|
50
|
+
y as ColumnPinning,
|
|
51
|
+
F as ColumnSizing,
|
|
52
|
+
x as ColumnVisibility,
|
|
53
|
+
M as GlobalFaceting,
|
|
54
|
+
h as GlobalFiltering,
|
|
55
|
+
O as Headers,
|
|
56
|
+
E as RowExpanding,
|
|
57
|
+
G as RowPagination,
|
|
58
|
+
P as RowPinning,
|
|
59
|
+
v as RowSelection,
|
|
60
|
+
$ as RowSorting,
|
|
61
|
+
A as _getVisibleLeafColumns,
|
|
62
|
+
V as aggregationFns,
|
|
63
|
+
j as buildHeaderGroups,
|
|
64
|
+
k as createCell,
|
|
65
|
+
z as createColumn,
|
|
66
|
+
H as createRow,
|
|
67
|
+
u as createTable,
|
|
68
|
+
N as defaultColumnSizing,
|
|
69
|
+
T as expandRows,
|
|
70
|
+
U as filterFns,
|
|
71
|
+
_ as flattenBy,
|
|
72
|
+
f as flexRender,
|
|
73
|
+
B as functionalUpdate,
|
|
74
|
+
L as getCoreRowModel,
|
|
75
|
+
q as getExpandedRowModel,
|
|
76
|
+
D as getFilteredRowModel,
|
|
77
|
+
I as getGroupedRowModel,
|
|
78
|
+
J as getMemoOptions,
|
|
79
|
+
K as getPaginationRowModel,
|
|
80
|
+
Q as getSortedRowModel,
|
|
81
|
+
W as isFunction,
|
|
82
|
+
X as isNumberArray,
|
|
83
|
+
Y as isRowSelected,
|
|
84
|
+
Z as isSubRowSelected,
|
|
85
|
+
ee as makeStateUpdater,
|
|
86
|
+
te as memo,
|
|
87
|
+
ne as orderColumns,
|
|
88
|
+
oe as passiveEventSupported,
|
|
89
|
+
re as reSplitAlphaNumeric,
|
|
90
|
+
ie as selectRowsFn,
|
|
91
|
+
ae as shouldAutoRemoveFilter,
|
|
92
|
+
le as sortingFns,
|
|
93
|
+
p as useReactTable
|
|
94
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as t from "react";
|
|
2
|
+
import { flushSync as f } from "react-dom";
|
|
3
|
+
import { Virtualizer as i, elementScroll as m, observeElementOffset as d, observeElementRect as p } from "../../../virtual-core/dist/esm/index.js";
|
|
4
|
+
import { defaultKeyExtractor as g, defaultRangeExtractor as z, measureElement as O } from "../../../virtual-core/dist/esm/index.js";
|
|
5
|
+
const l = typeof document < "u" ? t.useLayoutEffect : t.useEffect;
|
|
6
|
+
function E({
|
|
7
|
+
useFlushSync: r = !0,
|
|
8
|
+
...n
|
|
9
|
+
}) {
|
|
10
|
+
const o = t.useReducer(() => ({}), {})[1], u = {
|
|
11
|
+
...n,
|
|
12
|
+
onChange: (c, s) => {
|
|
13
|
+
var a;
|
|
14
|
+
r && s ? f(o) : o(), (a = n.onChange) == null || a.call(n, c, s);
|
|
15
|
+
}
|
|
16
|
+
}, [e] = t.useState(
|
|
17
|
+
() => new i(u)
|
|
18
|
+
);
|
|
19
|
+
return e.setOptions(u), l(() => e._didMount(), []), l(() => e._willUpdate()), e;
|
|
20
|
+
}
|
|
21
|
+
function x(r) {
|
|
22
|
+
return E({
|
|
23
|
+
observeElementRect: p,
|
|
24
|
+
observeElementOffset: d,
|
|
25
|
+
scrollToFn: m,
|
|
26
|
+
...r
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
i as Virtualizer,
|
|
31
|
+
g as defaultKeyExtractor,
|
|
32
|
+
z as defaultRangeExtractor,
|
|
33
|
+
m as elementScroll,
|
|
34
|
+
O as measureElement,
|
|
35
|
+
d as observeElementOffset,
|
|
36
|
+
p as observeElementRect,
|
|
37
|
+
x as useVirtualizer
|
|
38
|
+
};
|