@mongodb-js/compass-components 0.9.1 → 0.11.0
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/lib/compass-ui-colors.d.ts +2 -0
- package/lib/compass-ui-colors.d.ts.map +1 -0
- package/lib/compass-ui-colors.js +2 -1
- package/lib/compass-ui-colors.js.map +1 -1
- package/lib/components/accordion.d.ts +2 -1
- package/lib/components/accordion.d.ts.map +1 -0
- package/lib/components/accordion.js +11 -7
- package/lib/components/accordion.js.map +1 -1
- package/lib/components/cancel-loader.d.ts +1 -0
- package/lib/components/cancel-loader.d.ts.map +1 -0
- package/lib/components/cancel-loader.js +5 -5
- package/lib/components/cancel-loader.js.map +1 -1
- package/lib/components/checkbox.d.ts +5 -0
- package/lib/components/checkbox.d.ts.map +1 -0
- package/lib/components/checkbox.js +19 -0
- package/lib/components/checkbox.js.map +1 -0
- package/lib/components/confirmation-modal.d.ts +2 -1
- package/lib/components/confirmation-modal.d.ts.map +1 -0
- package/lib/components/confirmation-modal.js +27 -6
- package/lib/components/confirmation-modal.js.map +1 -1
- package/lib/components/content-with-fallback.d.ts +1 -0
- package/lib/components/content-with-fallback.d.ts.map +1 -0
- package/lib/components/error-boundary.d.ts +18 -0
- package/lib/components/error-boundary.d.ts.map +1 -0
- package/lib/components/error-boundary.js +47 -0
- package/lib/components/error-boundary.js.map +1 -0
- package/lib/components/file-input.d.ts +7 -3
- package/lib/components/file-input.d.ts.map +1 -0
- package/lib/components/file-input.js +75 -61
- package/lib/components/file-input.js.map +1 -1
- package/lib/components/icons/favorite-icon.d.ts +9 -0
- package/lib/components/icons/favorite-icon.d.ts.map +1 -0
- package/lib/components/icons/favorite-icon.js +18 -0
- package/lib/components/icons/favorite-icon.js.map +1 -0
- package/lib/components/inline-definition.d.ts +1 -0
- package/lib/components/inline-definition.d.ts.map +1 -0
- package/lib/components/inline-info-link.d.ts +8 -0
- package/lib/components/inline-info-link.d.ts.map +1 -0
- package/lib/components/inline-info-link.js +23 -0
- package/lib/components/inline-info-link.js.map +1 -0
- package/lib/components/modal.d.ts +7 -0
- package/lib/components/modal.d.ts.map +1 -0
- package/lib/components/modal.js +39 -0
- package/lib/components/modal.js.map +1 -0
- package/lib/components/placeholder.d.ts +3 -1
- package/lib/components/placeholder.d.ts.map +1 -0
- package/lib/components/placeholder.js +9 -8
- package/lib/components/placeholder.js.map +1 -1
- package/lib/components/radio-box-group.d.ts +5 -0
- package/lib/components/radio-box-group.d.ts.map +1 -0
- package/lib/components/radio-box-group.js +18 -0
- package/lib/components/radio-box-group.js.map +1 -0
- package/lib/components/resize-handle.d.ts +1 -0
- package/lib/components/resize-handle.d.ts.map +1 -0
- package/lib/components/resize-handle.js +5 -5
- package/lib/components/resize-handle.js.map +1 -1
- package/lib/components/spin-loader.d.ts +4 -9
- package/lib/components/spin-loader.d.ts.map +1 -0
- package/lib/components/spin-loader.js +13 -34
- package/lib/components/spin-loader.js.map +1 -1
- package/lib/components/toggle.d.ts +5 -0
- package/lib/components/toggle.d.ts.map +1 -0
- package/lib/components/toggle.js +15 -0
- package/lib/components/toggle.js.map +1 -0
- package/lib/components/tooltip.d.ts +1 -0
- package/lib/components/tooltip.d.ts.map +1 -0
- package/lib/components/virtual-grid.d.ts +27 -0
- package/lib/components/virtual-grid.d.ts.map +1 -0
- package/lib/components/virtual-grid.js +140 -0
- package/lib/components/virtual-grid.js.map +1 -0
- package/lib/hooks/use-default-action.d.ts +3 -0
- package/lib/hooks/use-default-action.d.ts.map +1 -0
- package/lib/hooks/use-default-action.js +25 -0
- package/lib/hooks/use-default-action.js.map +1 -0
- package/lib/hooks/use-dom-rect.d.ts +1 -0
- package/lib/hooks/use-dom-rect.d.ts.map +1 -0
- package/lib/hooks/use-focus-hover.d.ts +2 -1
- package/lib/hooks/use-focus-hover.d.ts.map +1 -0
- package/lib/hooks/use-focus-hover.js.map +1 -1
- package/lib/hooks/use-focus-ring.d.ts +5 -0
- package/lib/hooks/use-focus-ring.d.ts.map +1 -0
- package/lib/hooks/use-focus-ring.js +38 -0
- package/lib/hooks/use-focus-ring.js.map +1 -0
- package/lib/hooks/use-sort.d.ts +22 -0
- package/lib/hooks/use-sort.d.ts.map +1 -0
- package/lib/hooks/use-sort.js +109 -0
- package/lib/hooks/use-sort.js.map +1 -0
- package/lib/hooks/use-theme.d.ts +15 -0
- package/lib/hooks/use-theme.d.ts.map +1 -0
- package/lib/hooks/use-theme.js +40 -0
- package/lib/hooks/use-theme.js.map +1 -0
- package/lib/hooks/use-toast.d.ts +17 -0
- package/lib/hooks/use-toast.d.ts.map +1 -0
- package/lib/hooks/use-toast.js +94 -0
- package/lib/hooks/use-toast.js.map +1 -0
- package/lib/hooks/use-virtual-grid.d.ts +14 -0
- package/lib/hooks/use-virtual-grid.d.ts.map +1 -0
- package/lib/hooks/use-virtual-grid.js +122 -0
- package/lib/hooks/use-virtual-grid.js.map +1 -0
- package/lib/hooks/use-virtual-grid.test.d.ts +2 -0
- package/lib/hooks/use-virtual-grid.test.d.ts.map +1 -0
- package/lib/hooks/use-virtual-grid.test.js +209 -0
- package/lib/hooks/use-virtual-grid.test.js.map +1 -0
- package/lib/index.d.ts +22 -8
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +58 -26
- package/lib/index.js.map +1 -1
- package/lib/utils/merge-props.d.ts +2 -1
- package/lib/utils/merge-props.d.ts.map +1 -0
- package/package.json +14 -13
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.VirtualGrid = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
const emotion_1 = require("@leafygreen-ui/emotion");
|
|
25
|
+
const react_window_1 = require("react-window");
|
|
26
|
+
const use_dom_rect_1 = require("../hooks/use-dom-rect");
|
|
27
|
+
const use_virtual_grid_1 = require("../hooks/use-virtual-grid");
|
|
28
|
+
const merge_props_1 = require("../utils/merge-props");
|
|
29
|
+
const GridContext = (0, react_1.createContext)({
|
|
30
|
+
headerHeight: 0,
|
|
31
|
+
renderHeader: () => null,
|
|
32
|
+
renderItem: () => null,
|
|
33
|
+
itemsCount: 0,
|
|
34
|
+
rowCount: 0,
|
|
35
|
+
colCount: 0,
|
|
36
|
+
currentTabbable: 0,
|
|
37
|
+
gridProps: {},
|
|
38
|
+
});
|
|
39
|
+
const GridWithHeader = (0, react_1.forwardRef)(function GridHeader({ style, children, ...props }, ref) {
|
|
40
|
+
const { headerHeight, renderHeader, gridProps, classNames } = (0, react_1.useContext)(GridContext);
|
|
41
|
+
return (react_1.default.createElement("div", { ref: ref, style: {
|
|
42
|
+
...style,
|
|
43
|
+
height: style.height + headerHeight,
|
|
44
|
+
}, ...props },
|
|
45
|
+
react_1.default.createElement("div", { className: classNames === null || classNames === void 0 ? void 0 : classNames.header }, react_1.default.createElement(renderHeader, {})),
|
|
46
|
+
react_1.default.createElement("div", { ...gridProps }, children)));
|
|
47
|
+
});
|
|
48
|
+
const row = (0, emotion_1.css)({
|
|
49
|
+
display: 'grid',
|
|
50
|
+
alignItems: 'stretch',
|
|
51
|
+
gridTemplateRows: 'auto',
|
|
52
|
+
gridTemplateColumns: '1fr',
|
|
53
|
+
gridAutoColumns: '1fr',
|
|
54
|
+
gridAutoFlow: 'column',
|
|
55
|
+
});
|
|
56
|
+
const cell = (0, emotion_1.css)({
|
|
57
|
+
width: '100%',
|
|
58
|
+
minWidth: 0,
|
|
59
|
+
});
|
|
60
|
+
const Row = ({ style, index }) => {
|
|
61
|
+
const { colCount, itemsCount, renderItem, currentTabbable, classNames, itemKey, } = (0, react_1.useContext)(GridContext);
|
|
62
|
+
const rowStart = index * colCount;
|
|
63
|
+
const cells = (0, react_1.useMemo)(() => {
|
|
64
|
+
return Array.from({ length: colCount }, (_, cellIdx) => {
|
|
65
|
+
var _a;
|
|
66
|
+
const itemIdx = rowStart + cellIdx;
|
|
67
|
+
const isEmpty = itemIdx >= itemsCount;
|
|
68
|
+
return isEmpty ? (react_1.default.createElement("div", { className: (0, emotion_1.cx)(cell, classNames === null || classNames === void 0 ? void 0 : classNames.cell), key: `empty${cellIdx}` })) : (react_1.default.createElement(renderItem, {
|
|
69
|
+
key: (_a = itemKey === null || itemKey === void 0 ? void 0 : itemKey(itemIdx)) !== null && _a !== void 0 ? _a : itemIdx,
|
|
70
|
+
role: 'gridcell',
|
|
71
|
+
className: (0, emotion_1.cx)(cell, classNames === null || classNames === void 0 ? void 0 : classNames.cell),
|
|
72
|
+
tabIndex: itemIdx === currentTabbable ? 0 : -1,
|
|
73
|
+
['data-vlist-item-idx']: itemIdx,
|
|
74
|
+
index: itemIdx,
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
}, [
|
|
78
|
+
colCount,
|
|
79
|
+
rowStart,
|
|
80
|
+
itemsCount,
|
|
81
|
+
classNames === null || classNames === void 0 ? void 0 : classNames.cell,
|
|
82
|
+
renderItem,
|
|
83
|
+
itemKey,
|
|
84
|
+
currentTabbable,
|
|
85
|
+
]);
|
|
86
|
+
return (react_1.default.createElement("div", { style: style, className: (0, emotion_1.cx)(row, classNames === null || classNames === void 0 ? void 0 : classNames.row), role: "row", "aria-rowindex": index + 1 }, cells));
|
|
87
|
+
};
|
|
88
|
+
const container = (0, emotion_1.css)({
|
|
89
|
+
width: '100%',
|
|
90
|
+
flex: 1,
|
|
91
|
+
overflow: 'hidden',
|
|
92
|
+
display: 'grid',
|
|
93
|
+
gridTemplateRows: 'auto 1fr',
|
|
94
|
+
gridTemplateColumns: '100%',
|
|
95
|
+
outline: 'none',
|
|
96
|
+
});
|
|
97
|
+
const grid = (0, emotion_1.css)({
|
|
98
|
+
position: 'relative',
|
|
99
|
+
});
|
|
100
|
+
exports.VirtualGrid = (0, react_1.forwardRef)(function VirtualGrid({ itemMinWidth, itemHeight, itemsCount, colCount: _colCount, renderItem, headerHeight = 0, renderHeader = () => null, overscanCount = 3, classNames, itemKey, ...containerProps }, ref) {
|
|
101
|
+
const listRef = (0, react_1.useRef)(null);
|
|
102
|
+
const [rectProps, { width: _width, height }] = (0, use_dom_rect_1.useDOMRect)();
|
|
103
|
+
const width = Math.max(_width, itemMinWidth);
|
|
104
|
+
const colCount = _colCount !== null && _colCount !== void 0 ? _colCount : Math.max(1, Math.floor(width / itemMinWidth));
|
|
105
|
+
const rowCount = Math.ceil(itemsCount / colCount);
|
|
106
|
+
const onFocusMove = (0, react_1.useCallback)((idx) => {
|
|
107
|
+
var _a;
|
|
108
|
+
const rowIdx = Math.floor(idx / colCount);
|
|
109
|
+
(_a = listRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(rowIdx);
|
|
110
|
+
}, [listRef, colCount]);
|
|
111
|
+
const [navigationProps, currentTabbable] = (0, use_virtual_grid_1.useVirtualGridArrowNavigation)({
|
|
112
|
+
itemsCount,
|
|
113
|
+
colCount,
|
|
114
|
+
rowCount,
|
|
115
|
+
});
|
|
116
|
+
const rovingFocusProps = (0, use_virtual_grid_1.useVirtualRovingTabIndex)({
|
|
117
|
+
currentTabbable,
|
|
118
|
+
onFocusMove,
|
|
119
|
+
});
|
|
120
|
+
const gridContainerProps = (0, merge_props_1.mergeProps)({ ref, className: (0, emotion_1.cx)(container, classNames === null || classNames === void 0 ? void 0 : classNames.container) }, containerProps, rectProps);
|
|
121
|
+
return (react_1.default.createElement(GridContext.Provider, { value: {
|
|
122
|
+
rowCount,
|
|
123
|
+
colCount,
|
|
124
|
+
itemsCount,
|
|
125
|
+
renderItem,
|
|
126
|
+
headerHeight,
|
|
127
|
+
renderHeader,
|
|
128
|
+
currentTabbable,
|
|
129
|
+
classNames,
|
|
130
|
+
gridProps: (0, merge_props_1.mergeProps)({
|
|
131
|
+
role: 'grid',
|
|
132
|
+
'aria-rowcount': rowCount,
|
|
133
|
+
className: (0, emotion_1.cx)(grid, classNames === null || classNames === void 0 ? void 0 : classNames.grid),
|
|
134
|
+
}, navigationProps, rovingFocusProps),
|
|
135
|
+
itemKey,
|
|
136
|
+
} },
|
|
137
|
+
react_1.default.createElement("div", { ...gridContainerProps },
|
|
138
|
+
react_1.default.createElement(react_window_1.FixedSizeList, { ref: listRef, width: width, height: height, innerElementType: GridWithHeader, itemCount: rowCount, itemSize: itemHeight, overscanCount: overscanCount }, Row))));
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=virtual-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-grid.js","sourceRoot":"","sources":["../../src/components/virtual-grid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-default-action.d.ts","sourceRoot":"","sources":["../../src/hooks/use-default-action.ts"],"names":[],"mappings":";AAUA,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,eAAe,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3E,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAiCzB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDefaultAction = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useDefaultAction(onDefaultAction) {
|
|
6
|
+
const onMouseDown = (0, react_1.useCallback)((evt) => {
|
|
7
|
+
evt.preventDefault();
|
|
8
|
+
evt.stopPropagation();
|
|
9
|
+
}, []);
|
|
10
|
+
const onClick = (0, react_1.useCallback)((evt) => {
|
|
11
|
+
evt.stopPropagation();
|
|
12
|
+
onDefaultAction(evt);
|
|
13
|
+
}, [onDefaultAction]);
|
|
14
|
+
const onKeyDown = (0, react_1.useCallback)((evt) => {
|
|
15
|
+
if (evt.target === evt.currentTarget &&
|
|
16
|
+
[' ', 'Enter'].includes(evt.key)) {
|
|
17
|
+
evt.preventDefault();
|
|
18
|
+
evt.stopPropagation();
|
|
19
|
+
onDefaultAction(evt);
|
|
20
|
+
}
|
|
21
|
+
}, [onDefaultAction]);
|
|
22
|
+
return { onMouseDown, onClick, onKeyDown };
|
|
23
|
+
}
|
|
24
|
+
exports.useDefaultAction = useDefaultAction;
|
|
25
|
+
//# sourceMappingURL=use-default-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-default-action.js","sourceRoot":"","sources":["../../src/hooks/use-default-action.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAUpC,SAAgB,gBAAgB,CAC9B,eAA4E;IAK5E,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,CAAC,GAAwB,EAAE,EAAE;QAC3D,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,CAAC,GAAwB,EAAE,EAAE;QAC3B,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,eAAe,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,mBAAW,EAC3B,CAAC,GAA2B,EAAE,EAAE;QAC9B,IAEE,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa;YAChC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAChC;YACA,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,eAAe,CAAC,GAAG,CAAC,CAAC;SACtB;IACH,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC;AAnCD,4CAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-dom-rect.d.ts","sourceRoot":"","sources":["../../src/hooks/use-dom-rect.ts"],"names":[],"mappings":";AAEA,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,KAAK;IACpE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAClB,eAAe;CAChB,CAqBA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import type React from 'react';
|
|
2
2
|
export declare enum FocusState {
|
|
3
3
|
NoFocus = "NoFocus",
|
|
4
4
|
FocusVisible = "FocusVisible",
|
|
@@ -12,3 +12,4 @@ export declare function useFocusState(): [
|
|
|
12
12
|
React.MutableRefObject<FocusState>
|
|
13
13
|
];
|
|
14
14
|
export declare function useHoverState(): [React.HTMLAttributes<HTMLElement>, boolean];
|
|
15
|
+
//# sourceMappingURL=use-focus-hover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-focus-hover.d.ts","sourceRoot":"","sources":["../../src/hooks/use-focus-hover.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,WAAW,gBAAgB;CAC5B;AAkBD,wBAAgB,aAAa,IAAI;IAC/B,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACjC,UAAU;IACV,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC;CACnC,CAoBA;AAED,wBAAgB,aAAa,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAW5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-focus-hover.js","sourceRoot":"","sources":["../../src/hooks/use-focus-hover.ts"],"names":[],"mappings":";;;AAAA,2DAIkC;AAClC,6CAA+C;
|
|
1
|
+
{"version":3,"file":"use-focus-hover.js","sourceRoot":"","sources":["../../src/hooks/use-focus-hover.ts"],"names":[],"mappings":";;;AAAA,2DAIkC;AAClC,6CAA+C;AAE/C,iCAAkD;AAElD,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,2CAA6B,CAAA;IAC7B,6BAAe,CAAA;IACf,uDAAyC,CAAA;IACzC,yCAA2B,CAAA;AAC7B,CAAC,EANW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAMrB;AAED,SAAS,aAAa,CACpB,SAAkB,EAClB,aAAsB,EACtB,cAAuB;IAEvB,OAAO,SAAS,IAAI,cAAc;QAChC,CAAC,CAAC,UAAU,CAAC,YAAY;QACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC,aAAa,IAAI,cAAc;gBACjC,CAAC,CAAC,UAAU,CAAC,kBAAkB;gBAC/B,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,UAAU,CAAC,WAAW;oBACxB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,SAAgB,aAAa;IAK3B,MAAM,aAAa,GAAG,IAAA,cAAM,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,IAAA,8BAAe,GAAE,CAAC;IAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,6BAAc,EAAC;QAC1C,mBAAmB,EAAE,gBAAgB;KACtC,CAAC,CAAC;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,uBAAQ,EAAC;QAC9B,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC/B,OAAO,IAAA,kBAAU,EAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACnC,aAAa,CAAC,OAAO,GAAG,aAAa,CACnC,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;IACF,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7D,CAAC;AAxBD,sCAwBC;AAED,SAAgB,aAAa;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG;QACjB,YAAY;YACV,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,YAAY;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC;AAXD,sCAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-focus-ring.d.ts","sourceRoot":"","sources":["../../src/hooks/use-focus-ring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,eAAO,MAAM,SAAS,QAepB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAK3B,CAAC;AAEH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAUxE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useFocusRing = exports.focusRingVisible = exports.focusRing = void 0;
|
|
4
|
+
const tokens_1 = require("@leafygreen-ui/tokens");
|
|
5
|
+
const emotion_1 = require("@leafygreen-ui/emotion");
|
|
6
|
+
const palette_1 = require("@leafygreen-ui/palette");
|
|
7
|
+
const use_focus_hover_1 = require("./use-focus-hover");
|
|
8
|
+
exports.focusRing = (0, emotion_1.css)({
|
|
9
|
+
position: 'relative',
|
|
10
|
+
outline: 'none',
|
|
11
|
+
'&::after': {
|
|
12
|
+
position: 'absolute',
|
|
13
|
+
content: '""',
|
|
14
|
+
pointerEvents: 'none',
|
|
15
|
+
top: 3,
|
|
16
|
+
right: 3,
|
|
17
|
+
bottom: 3,
|
|
18
|
+
left: 3,
|
|
19
|
+
borderRadius: tokens_1.spacing[1],
|
|
20
|
+
boxShadow: `0 0 0 0 ${palette_1.uiColors.focus}`,
|
|
21
|
+
transition: 'box-shadow .16s ease-in',
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
exports.focusRingVisible = (0, emotion_1.css)({
|
|
25
|
+
'&::after': {
|
|
26
|
+
boxShadow: `0 0 0 3px ${palette_1.uiColors.focus}`,
|
|
27
|
+
transitionTimingFunction: 'ease-out',
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
function useFocusRing() {
|
|
31
|
+
const [focusProps, focusState] = (0, use_focus_hover_1.useFocusState)();
|
|
32
|
+
return {
|
|
33
|
+
...focusProps,
|
|
34
|
+
className: (0, emotion_1.cx)(exports.focusRing, focusState === use_focus_hover_1.FocusState.FocusVisible && exports.focusRingVisible),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.useFocusRing = useFocusRing;
|
|
38
|
+
//# sourceMappingURL=use-focus-ring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-focus-ring.js","sourceRoot":"","sources":["../../src/hooks/use-focus-ring.ts"],"names":[],"mappings":";;;AACA,kDAAgD;AAChD,oDAAiD;AACjD,oDAAkD;AAClD,uDAA8D;AAEjD,QAAA,SAAS,GAAG,IAAA,aAAG,EAAC;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE;QACV,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,MAAM;QACrB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,YAAY,EAAE,gBAAO,CAAC,CAAC,CAAC;QACxB,SAAS,EAAE,WAAW,kBAAQ,CAAC,KAAK,EAAE;QACtC,UAAU,EAAE,yBAAyB;KACtC;CACF,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,IAAA,aAAG,EAAC;IAClC,UAAU,EAAE;QACV,SAAS,EAAE,aAAa,kBAAQ,CAAC,KAAK,EAAE;QACxC,wBAAwB,EAAE,UAAU;KACrC;CACF,CAAC,CAAC;AAEH,SAAgB,YAAY;IAC1B,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAA,+BAAa,GAAE,CAAC;IAEjD,OAAO;QACL,GAAG,UAAU;QACb,SAAS,EAAE,IAAA,YAAE,EACX,iBAAS,EACT,UAAU,KAAK,4BAAU,CAAC,YAAY,IAAI,wBAAgB,CAC3D;KACF,CAAC;AACJ,CAAC;AAVD,oCAUC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type SortOrder = 1 | -1;
|
|
3
|
+
declare type SortState<T> = {
|
|
4
|
+
name: T | null;
|
|
5
|
+
order: SortOrder;
|
|
6
|
+
};
|
|
7
|
+
declare type SortOptions = {
|
|
8
|
+
isDisabled?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare type Unwrap<T extends ArrayLike<unknown>> = T extends ArrayLike<infer V> ? V : never;
|
|
11
|
+
export declare function useSortControls<T extends string>(items: readonly {
|
|
12
|
+
name: T;
|
|
13
|
+
label: string;
|
|
14
|
+
}[], options?: SortOptions): [React.ReactElement, SortState<Unwrap<typeof items>['name']>];
|
|
15
|
+
export declare function useSortedItems<T extends Record<string, unknown>>(items: T[], { name, order, }: {
|
|
16
|
+
name: keyof T | null;
|
|
17
|
+
order: SortOrder;
|
|
18
|
+
}, sortFn?: Partial<{
|
|
19
|
+
[key in keyof T]: (a: T[key], b: T[key], order: SortOrder) => number;
|
|
20
|
+
}> | null): T[];
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=use-sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sort.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sort.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAuBnD,oBAAY,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/B,aAAK,SAAS,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAMzD,aAAK,WAAW,GAAG;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,aAAK,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GACpE,CAAC,GACD,KAAK,CAAC;AAEV,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,KAAK,EAAE,SAAS;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAC5C,OAAO,CAAC,EAAE,WAAW,GACpB,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CA2E/D;AAUD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,KAAK,EAAE,CAAC,EAAE,EACV,EACE,IAAI,EACJ,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB,EACD,MAAM,GAAE,OAAO,CACb;KACG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,KAAK,MAAM;CACrE,CACF,GAAG,IAAW,GACd,CAAC,EAAE,CAuBL"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.useSortedItems = exports.useSortControls = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
const utils_1 = require("@react-aria/utils");
|
|
25
|
+
const __1 = require("..");
|
|
26
|
+
const controlsContainer = (0, __1.css)({
|
|
27
|
+
display: 'flex',
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
gap: __1.spacing[2],
|
|
30
|
+
});
|
|
31
|
+
const label = (0, __1.css)({
|
|
32
|
+
margin: '0 !important',
|
|
33
|
+
padding: '0 !important',
|
|
34
|
+
});
|
|
35
|
+
const select = (0, __1.css)({
|
|
36
|
+
'& > button': {
|
|
37
|
+
margin: 0,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
function useSortControls(items, options) {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
const labelId = (0, utils_1.useId)('Sort by');
|
|
43
|
+
const controlId = (0, utils_1.useId)();
|
|
44
|
+
const [sortState, dispatch] = (0, react_1.useReducer)((state, action) => {
|
|
45
|
+
if (action.type === 'change-name' && action.name !== state.name) {
|
|
46
|
+
return {
|
|
47
|
+
...state,
|
|
48
|
+
name: action.name,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (action.type === 'change-order') {
|
|
52
|
+
return {
|
|
53
|
+
...state,
|
|
54
|
+
order: (state.order * -1),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return state;
|
|
58
|
+
}, { name: (_b = (_a = items[0]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : null, order: 1 });
|
|
59
|
+
const sortControls = (0, react_1.useMemo)(() => {
|
|
60
|
+
var _a;
|
|
61
|
+
const glyph = sortState.order === -1
|
|
62
|
+
? 'SortDescending'
|
|
63
|
+
: sortState.order === 1
|
|
64
|
+
? 'SortAscending'
|
|
65
|
+
: 'Unsorted';
|
|
66
|
+
const longestLabel = Math.max(...items.map((item) => item.label.length));
|
|
67
|
+
return (react_1.default.createElement("div", { className: controlsContainer },
|
|
68
|
+
react_1.default.createElement(__1.Label, { id: labelId, htmlFor: controlId, className: label }, "Sort by"),
|
|
69
|
+
react_1.default.createElement(__1.Select, { disabled: options === null || options === void 0 ? void 0 : options.isDisabled, id: controlId, "aria-labelledby": labelId, allowDeselect: false, className: (0, __1.cx)(select, (0, __1.css)({ minWidth: `calc(${longestLabel}ch + ${__1.spacing[6]}px)` })), onChange: (value) => {
|
|
70
|
+
dispatch({ type: 'change-name', name: value || null });
|
|
71
|
+
}, defaultValue: (_a = sortState.name) !== null && _a !== void 0 ? _a : undefined }, items.map((item) => (react_1.default.createElement(__1.Option, { key: item.name, value: item.name }, item.label)))),
|
|
72
|
+
react_1.default.createElement(__1.Button, { "aria-label": glyph, title: glyph, rightGlyph: react_1.default.createElement(__1.Icon, { glyph: glyph }), onClick: () => {
|
|
73
|
+
dispatch({ type: 'change-order' });
|
|
74
|
+
}, disabled: sortState.name === null || (options === null || options === void 0 ? void 0 : options.isDisabled) })));
|
|
75
|
+
}, [sortState, items, labelId, controlId, options === null || options === void 0 ? void 0 : options.isDisabled]);
|
|
76
|
+
return [
|
|
77
|
+
sortControls,
|
|
78
|
+
(options === null || options === void 0 ? void 0 : options.isDisabled) ? { name: null, order: 1 } : sortState,
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
exports.useSortControls = useSortControls;
|
|
82
|
+
function sortUnknown(a, b, order) {
|
|
83
|
+
return (a === b ? 0 : a < b ? -1 : 1) * order;
|
|
84
|
+
}
|
|
85
|
+
function sortString(a, b, order) {
|
|
86
|
+
return a.localeCompare(b) * order;
|
|
87
|
+
}
|
|
88
|
+
function useSortedItems(items, { name, order, }, sortFn = null) {
|
|
89
|
+
return (0, react_1.useMemo)(() => {
|
|
90
|
+
return [...items].sort((a, b) => {
|
|
91
|
+
if (!name) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
if (typeof a[name] === 'undefined') {
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
const sort = sortFn && sortFn[name];
|
|
98
|
+
if (sort) {
|
|
99
|
+
return sort(a[name], b[name], order);
|
|
100
|
+
}
|
|
101
|
+
if (typeof a[name] === 'string') {
|
|
102
|
+
return sortString(a[name], b[name], order);
|
|
103
|
+
}
|
|
104
|
+
return sortUnknown(a[name], b[name], order);
|
|
105
|
+
});
|
|
106
|
+
}, [items, name, sortFn, order]);
|
|
107
|
+
}
|
|
108
|
+
exports.useSortedItems = useSortedItems;
|
|
109
|
+
//# sourceMappingURL=use-sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sort.js","sourceRoot":"","sources":["../../src/hooks/use-sort.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare enum Theme {
|
|
3
|
+
Light = "Light",
|
|
4
|
+
Dark = "Dark"
|
|
5
|
+
}
|
|
6
|
+
declare type ThemeState = {
|
|
7
|
+
theme: Theme;
|
|
8
|
+
};
|
|
9
|
+
declare const ThemeProvider: ({ children, theme, }: {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
theme: ThemeState;
|
|
12
|
+
}) => React.ReactElement;
|
|
13
|
+
declare function useTheme(): ThemeState;
|
|
14
|
+
export { useTheme, ThemeProvider };
|
|
15
|
+
//# sourceMappingURL=use-theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,oBAAY,KAAK;IACf,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,aAAK,UAAU,GAAG;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAMF,QAAA,MAAM,aAAa;cAIP,MAAM,SAAS;WAClB,UAAU;MACf,MAAM,YAIT,CAAC;AAEF,iBAAS,QAAQ,IAAI,UAAU,CAE9B;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.ThemeProvider = exports.useTheme = exports.Theme = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
var Theme;
|
|
25
|
+
(function (Theme) {
|
|
26
|
+
Theme["Light"] = "Light";
|
|
27
|
+
Theme["Dark"] = "Dark";
|
|
28
|
+
})(Theme = exports.Theme || (exports.Theme = {}));
|
|
29
|
+
const ThemeContext = (0, react_1.createContext)({
|
|
30
|
+
theme: Theme.Light,
|
|
31
|
+
});
|
|
32
|
+
const ThemeProvider = ({ children, theme, }) => {
|
|
33
|
+
return (react_1.default.createElement(ThemeContext.Provider, { value: theme }, children));
|
|
34
|
+
};
|
|
35
|
+
exports.ThemeProvider = ThemeProvider;
|
|
36
|
+
function useTheme() {
|
|
37
|
+
return (0, react_1.useContext)(ThemeContext);
|
|
38
|
+
}
|
|
39
|
+
exports.useTheme = useTheme;
|
|
40
|
+
//# sourceMappingURL=use-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-theme.js","sourceRoot":"","sources":["../../src/hooks/use-theme.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyD;AAEzD,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;AACf,CAAC,EAHW,KAAK,GAAL,aAAK,KAAL,aAAK,QAGhB;AAMD,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAa;IAC7C,KAAK,EAAE,KAAK,CAAC,KAAK;CACnB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,EACrB,QAAQ,EACR,KAAK,GAIN,EAAsB,EAAE;IACvB,OAAO,CACL,8BAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAyB,CACxE,CAAC;AACJ,CAAC,CAAC;AAMiB,sCAAa;AAJhC,SAAS,QAAQ;IACf,OAAO,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAEQ,4BAAQ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ToastVariant } from '..';
|
|
3
|
+
declare type ToastProperties = {
|
|
4
|
+
title?: React.ReactNode;
|
|
5
|
+
body: React.ReactNode;
|
|
6
|
+
variant: ToastVariant;
|
|
7
|
+
progress?: number;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
};
|
|
10
|
+
interface ToastActions {
|
|
11
|
+
openToast: (id: string, toastProperties: ToastProperties) => void;
|
|
12
|
+
closeToast: (id: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const ToastArea: React.FunctionComponent;
|
|
15
|
+
export declare function useToast(namespace: string): ToastActions;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=use-toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toast.d.ts","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAIvC,aAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,UAAU,YAAY;IACpB,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,KAAK,IAAI,CAAC;IAClE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAgCD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAoF7B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAsBxD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.useToast = exports.ToastArea = void 0;
|
|
23
|
+
const react_1 = __importStar(require("react"));
|
|
24
|
+
const __1 = require("..");
|
|
25
|
+
const __2 = require("..");
|
|
26
|
+
const ToastContext = (0, react_1.createContext)({
|
|
27
|
+
openToast: () => {
|
|
28
|
+
},
|
|
29
|
+
closeToast: () => {
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
const toastStyles = (0, __1.css)({
|
|
33
|
+
button: {
|
|
34
|
+
position: 'absolute',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
const ToastArea = ({ children }) => {
|
|
38
|
+
const [toasts, setToasts] = (0, react_1.useState)({});
|
|
39
|
+
const timeouts = (0, react_1.useRef)({});
|
|
40
|
+
(0, react_1.useEffect)(() => {
|
|
41
|
+
return () => {
|
|
42
|
+
Object.values(timeouts).forEach(clearTimeout);
|
|
43
|
+
};
|
|
44
|
+
}, [timeouts]);
|
|
45
|
+
const clearTimeoutRef = (0, react_1.useCallback)((id) => {
|
|
46
|
+
clearTimeout(timeouts.current[id]);
|
|
47
|
+
delete timeouts.current[id];
|
|
48
|
+
}, [timeouts]);
|
|
49
|
+
const setTimeoutRef = (0, react_1.useCallback)((id, callback, timeout) => {
|
|
50
|
+
clearTimeoutRef(id);
|
|
51
|
+
timeouts.current[id] = setTimeout(callback, timeout);
|
|
52
|
+
}, [timeouts, clearTimeoutRef]);
|
|
53
|
+
const closeToast = (0, react_1.useCallback)((toastId) => {
|
|
54
|
+
clearTimeoutRef(toastId);
|
|
55
|
+
setToasts((prevToasts) => {
|
|
56
|
+
const newToasts = { ...prevToasts };
|
|
57
|
+
delete newToasts[toastId];
|
|
58
|
+
return newToasts;
|
|
59
|
+
});
|
|
60
|
+
}, [setToasts, clearTimeoutRef]);
|
|
61
|
+
const openToast = (0, react_1.useCallback)((toastId, toastProperties) => {
|
|
62
|
+
clearTimeoutRef(toastId);
|
|
63
|
+
if (toastProperties.timeout) {
|
|
64
|
+
setTimeoutRef(toastId, () => {
|
|
65
|
+
closeToast(toastId);
|
|
66
|
+
}, toastProperties.timeout);
|
|
67
|
+
}
|
|
68
|
+
setToasts((prevToasts) => ({
|
|
69
|
+
...prevToasts,
|
|
70
|
+
[toastId]: {
|
|
71
|
+
...toastProperties,
|
|
72
|
+
},
|
|
73
|
+
}));
|
|
74
|
+
}, [setToasts, setTimeoutRef, clearTimeoutRef, closeToast]);
|
|
75
|
+
return (react_1.default.createElement(ToastContext.Provider, { value: { closeToast, openToast } },
|
|
76
|
+
react_1.default.createElement(react_1.default.Fragment, null, children),
|
|
77
|
+
react_1.default.createElement(react_1.default.Fragment, null, Object.entries(toasts).map(([id, { title, body, variant, progress }]) => (react_1.default.createElement(__2.Toast, { className: toastStyles, key: id, title: title, body: body, variant: variant, progress: progress, open: true, close: () => closeToast(id) }))))));
|
|
78
|
+
};
|
|
79
|
+
exports.ToastArea = ToastArea;
|
|
80
|
+
function useToast(namespace) {
|
|
81
|
+
const { openToast: openGlobalToast, closeToast: closeGlobalToast } = (0, react_1.useContext)(ToastContext);
|
|
82
|
+
const openToast = (0, react_1.useCallback)((toastId, toastProperties) => {
|
|
83
|
+
openGlobalToast(`${namespace}--${toastId}`, toastProperties);
|
|
84
|
+
}, [namespace, openGlobalToast]);
|
|
85
|
+
const closeToast = (0, react_1.useCallback)((toastId) => {
|
|
86
|
+
closeGlobalToast(`${namespace}--${toastId}`);
|
|
87
|
+
}, [namespace, closeGlobalToast]);
|
|
88
|
+
return {
|
|
89
|
+
openToast,
|
|
90
|
+
closeToast,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
exports.useToast = useToast;
|
|
94
|
+
//# sourceMappingURL=use-toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-toast.js","sourceRoot":"","sources":["../../src/hooks/use-toast.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare function useVirtualGridArrowNavigation<T extends HTMLElement = HTMLElement>({ colCount, rowCount, itemsCount, resetActiveItemOnBlur, pageSize, defaultCurrentTabbable, }: {
|
|
3
|
+
colCount: number;
|
|
4
|
+
rowCount: number;
|
|
5
|
+
itemsCount: number;
|
|
6
|
+
resetActiveItemOnBlur?: boolean;
|
|
7
|
+
pageSize?: number;
|
|
8
|
+
defaultCurrentTabbable?: number;
|
|
9
|
+
}): [React.HTMLProps<T>, number];
|
|
10
|
+
export declare function useVirtualRovingTabIndex<T extends HTMLElement = HTMLElement>({ currentTabbable, onFocusMove, }: {
|
|
11
|
+
currentTabbable: number;
|
|
12
|
+
onFocusMove(idx: number): void;
|
|
13
|
+
}): React.HTMLProps<T>;
|
|
14
|
+
//# sourceMappingURL=use-virtual-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-virtual-grid.d.ts","sourceRoot":"","sources":["../../src/hooks/use-virtual-grid.ts"],"names":[],"mappings":";AAGA,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,EACA,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,qBAA4B,EAC5B,QAAY,EACZ,sBAA0B,GAC3B,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAoG/B;AAED,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EAC5E,eAAe,EACf,WAAW,GACZ,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAwCrB"}
|