@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.
Files changed (110) hide show
  1. package/lib/compass-ui-colors.d.ts +2 -0
  2. package/lib/compass-ui-colors.d.ts.map +1 -0
  3. package/lib/compass-ui-colors.js +2 -1
  4. package/lib/compass-ui-colors.js.map +1 -1
  5. package/lib/components/accordion.d.ts +2 -1
  6. package/lib/components/accordion.d.ts.map +1 -0
  7. package/lib/components/accordion.js +11 -7
  8. package/lib/components/accordion.js.map +1 -1
  9. package/lib/components/cancel-loader.d.ts +1 -0
  10. package/lib/components/cancel-loader.d.ts.map +1 -0
  11. package/lib/components/cancel-loader.js +5 -5
  12. package/lib/components/cancel-loader.js.map +1 -1
  13. package/lib/components/checkbox.d.ts +5 -0
  14. package/lib/components/checkbox.d.ts.map +1 -0
  15. package/lib/components/checkbox.js +19 -0
  16. package/lib/components/checkbox.js.map +1 -0
  17. package/lib/components/confirmation-modal.d.ts +2 -1
  18. package/lib/components/confirmation-modal.d.ts.map +1 -0
  19. package/lib/components/confirmation-modal.js +27 -6
  20. package/lib/components/confirmation-modal.js.map +1 -1
  21. package/lib/components/content-with-fallback.d.ts +1 -0
  22. package/lib/components/content-with-fallback.d.ts.map +1 -0
  23. package/lib/components/error-boundary.d.ts +18 -0
  24. package/lib/components/error-boundary.d.ts.map +1 -0
  25. package/lib/components/error-boundary.js +47 -0
  26. package/lib/components/error-boundary.js.map +1 -0
  27. package/lib/components/file-input.d.ts +7 -3
  28. package/lib/components/file-input.d.ts.map +1 -0
  29. package/lib/components/file-input.js +75 -61
  30. package/lib/components/file-input.js.map +1 -1
  31. package/lib/components/icons/favorite-icon.d.ts +9 -0
  32. package/lib/components/icons/favorite-icon.d.ts.map +1 -0
  33. package/lib/components/icons/favorite-icon.js +18 -0
  34. package/lib/components/icons/favorite-icon.js.map +1 -0
  35. package/lib/components/inline-definition.d.ts +1 -0
  36. package/lib/components/inline-definition.d.ts.map +1 -0
  37. package/lib/components/inline-info-link.d.ts +8 -0
  38. package/lib/components/inline-info-link.d.ts.map +1 -0
  39. package/lib/components/inline-info-link.js +23 -0
  40. package/lib/components/inline-info-link.js.map +1 -0
  41. package/lib/components/modal.d.ts +7 -0
  42. package/lib/components/modal.d.ts.map +1 -0
  43. package/lib/components/modal.js +39 -0
  44. package/lib/components/modal.js.map +1 -0
  45. package/lib/components/placeholder.d.ts +3 -1
  46. package/lib/components/placeholder.d.ts.map +1 -0
  47. package/lib/components/placeholder.js +9 -8
  48. package/lib/components/placeholder.js.map +1 -1
  49. package/lib/components/radio-box-group.d.ts +5 -0
  50. package/lib/components/radio-box-group.d.ts.map +1 -0
  51. package/lib/components/radio-box-group.js +18 -0
  52. package/lib/components/radio-box-group.js.map +1 -0
  53. package/lib/components/resize-handle.d.ts +1 -0
  54. package/lib/components/resize-handle.d.ts.map +1 -0
  55. package/lib/components/resize-handle.js +5 -5
  56. package/lib/components/resize-handle.js.map +1 -1
  57. package/lib/components/spin-loader.d.ts +4 -9
  58. package/lib/components/spin-loader.d.ts.map +1 -0
  59. package/lib/components/spin-loader.js +13 -34
  60. package/lib/components/spin-loader.js.map +1 -1
  61. package/lib/components/toggle.d.ts +5 -0
  62. package/lib/components/toggle.d.ts.map +1 -0
  63. package/lib/components/toggle.js +15 -0
  64. package/lib/components/toggle.js.map +1 -0
  65. package/lib/components/tooltip.d.ts +1 -0
  66. package/lib/components/tooltip.d.ts.map +1 -0
  67. package/lib/components/virtual-grid.d.ts +27 -0
  68. package/lib/components/virtual-grid.d.ts.map +1 -0
  69. package/lib/components/virtual-grid.js +140 -0
  70. package/lib/components/virtual-grid.js.map +1 -0
  71. package/lib/hooks/use-default-action.d.ts +3 -0
  72. package/lib/hooks/use-default-action.d.ts.map +1 -0
  73. package/lib/hooks/use-default-action.js +25 -0
  74. package/lib/hooks/use-default-action.js.map +1 -0
  75. package/lib/hooks/use-dom-rect.d.ts +1 -0
  76. package/lib/hooks/use-dom-rect.d.ts.map +1 -0
  77. package/lib/hooks/use-focus-hover.d.ts +2 -1
  78. package/lib/hooks/use-focus-hover.d.ts.map +1 -0
  79. package/lib/hooks/use-focus-hover.js.map +1 -1
  80. package/lib/hooks/use-focus-ring.d.ts +5 -0
  81. package/lib/hooks/use-focus-ring.d.ts.map +1 -0
  82. package/lib/hooks/use-focus-ring.js +38 -0
  83. package/lib/hooks/use-focus-ring.js.map +1 -0
  84. package/lib/hooks/use-sort.d.ts +22 -0
  85. package/lib/hooks/use-sort.d.ts.map +1 -0
  86. package/lib/hooks/use-sort.js +109 -0
  87. package/lib/hooks/use-sort.js.map +1 -0
  88. package/lib/hooks/use-theme.d.ts +15 -0
  89. package/lib/hooks/use-theme.d.ts.map +1 -0
  90. package/lib/hooks/use-theme.js +40 -0
  91. package/lib/hooks/use-theme.js.map +1 -0
  92. package/lib/hooks/use-toast.d.ts +17 -0
  93. package/lib/hooks/use-toast.d.ts.map +1 -0
  94. package/lib/hooks/use-toast.js +94 -0
  95. package/lib/hooks/use-toast.js.map +1 -0
  96. package/lib/hooks/use-virtual-grid.d.ts +14 -0
  97. package/lib/hooks/use-virtual-grid.d.ts.map +1 -0
  98. package/lib/hooks/use-virtual-grid.js +122 -0
  99. package/lib/hooks/use-virtual-grid.js.map +1 -0
  100. package/lib/hooks/use-virtual-grid.test.d.ts +2 -0
  101. package/lib/hooks/use-virtual-grid.test.d.ts.map +1 -0
  102. package/lib/hooks/use-virtual-grid.test.js +209 -0
  103. package/lib/hooks/use-virtual-grid.test.js.map +1 -0
  104. package/lib/index.d.ts +22 -8
  105. package/lib/index.d.ts.map +1 -0
  106. package/lib/index.js +58 -26
  107. package/lib/index.js.map +1 -1
  108. package/lib/utils/merge-props.d.ts +2 -1
  109. package/lib/utils/merge-props.d.ts.map +1 -0
  110. 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":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAOe;AACf,oDAAiD;AACjD,+CAA6C;AAC7C,wDAAmD;AACnD,gEAGmC;AACnC,sDAAkD;AA8DlD,MAAM,WAAW,GAAG,IAAA,qBAAa,EAW/B;IACA,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;IACxB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;IACtB,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,kBAAU,EAS/B,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IACtD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,GACzD,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC1B,OAAO,CACL,uCACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;YACL,GAAG,KAAK;YACR,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY;SACpC,KACG,KAAK;QAET,uCAAK,SAAS,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,IAC/B,eAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,CAClC;QACN,0CAAS,SAAS,IAAG,QAAQ,CAAO,CAChC,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,IAAA,aAAG,EAAC;IACd,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,SAAS;IACrB,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,KAAK;IAC1B,eAAe,EAAE,KAAK;IACtB,YAAY,EAAE,QAAQ;CACvB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;IACf,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAC;AAEH,MAAM,GAAG,GAGJ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IACxB,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,UAAU,EACV,eAAe,EACf,UAAU,EACV,OAAO,GACR,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;;YACrD,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;YACnC,MAAM,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC;YACtC,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,EACrC,GAAG,EAAE,QAAQ,OAAO,EAAE,GACjB,CACR,CAAC,CAAC,CAAC,CACF,eAAK,CAAC,aAAa,CAAC,UAAU,EAAE;gBAC9B,GAAG,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,OAAO,CAAC,mCAAI,OAAO;gBAClC,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,IAAA,YAAE,EAAC,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC;gBACrC,QAAQ,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,CAAC,qBAAqB,CAAC,EAAE,OAAO;gBAChC,KAAK,EAAE,OAAO;aACf,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE;QACD,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI;QAChB,UAAU;QACV,OAAO;QACP,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,CACL,uCACE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAA,YAAE,EAAC,GAAG,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,EACnC,IAAI,EAAC,KAAK,mBACK,KAAK,GAAG,CAAC,IAEvB,KAAK,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,IAAA,aAAG,EAAC;IACpB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,MAAM;IACf,gBAAgB,EAAE,UAAU;IAC5B,mBAAmB,EAAE,MAAM;IAI3B,OAAO,EAAE,MAAM;CAChB,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,IAAA,aAAG,EAAC;IACf,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEU,QAAA,WAAW,GAAG,IAAA,kBAAU,EAInC,SAAS,WAAW,CACpB,EACE,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EAAE,SAAS,EACnB,UAAU,EACV,YAAY,GAAG,CAAC,EAChB,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,EACzB,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,OAAO,EACP,GAAG,cAAc,EAClB,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAA,yBAAU,GAAE,CAAC;IAE5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,GAAG,EAAE,EAAE;;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QAC1C,MAAA,OAAO,CAAC,OAAO,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpB,CAAC;IAEF,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GACtC,IAAA,gDAA6B,EAAiB;QAC5C,UAAU;QACV,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEL,MAAM,gBAAgB,GAAG,IAAA,2CAAwB,EAAiB;QAChE,eAAe;QACf,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,IAAA,wBAAU,EACnC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAA,YAAE,EAAC,SAAS,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,CAAC,EAAE,EACxD,cAAc,EACd,SAAS,CACV,CAAC;IAEF,OAAO,CACL,8BAAC,WAAW,CAAC,QAAQ,IACnB,KAAK,EAAE;YACL,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,UAAU;YACV,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,UAAU;YACV,SAAS,EAAE,IAAA,wBAAU,EACnB;gBACE,IAAI,EAAE,MAAM;gBACZ,eAAe,EAAE,QAAQ;gBACzB,SAAS,EAAE,IAAA,YAAE,EAAC,IAAI,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC;aACtC,EACD,eAAe,EACf,gBAAgB,CACjB;YACD,OAAO;SACR;QAED,0CAAS,kBAAkB;YACzB,8BAAC,4BAAa,IACZ,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,cAAc,EAChC,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,aAAa,IAE3B,GAAG,CACU,CACZ,CACe,CACxB,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare function useDefaultAction<T>(onDefaultAction: (evt: React.KeyboardEvent<T> | React.MouseEvent<T>) => void): React.HTMLAttributes<T>;
3
+ //# sourceMappingURL=use-default-action.d.ts.map
@@ -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"}
@@ -3,3 +3,4 @@ export declare function useDOMRect<T extends HTMLElement = HTMLDivElement>(): [
3
3
  React.HTMLProps<T>,
4
4
  DOMRectReadOnly
5
5
  ];
6
+ //# sourceMappingURL=use-dom-rect.d.ts.map
@@ -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;AAC/C,iCAAyD;AAEzD,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"}
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,5 @@
1
+ import type React from 'react';
2
+ export declare const focusRing: string;
3
+ export declare const focusRingVisible: string;
4
+ export declare function useFocusRing<T extends HTMLElement>(): React.HTMLProps<T>;
5
+ //# sourceMappingURL=use-focus-ring.d.ts.map
@@ -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"}