@mongodb-js/compass-components 0.11.0 → 0.14.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 (152) hide show
  1. package/lib/compass-font-sizes.d.ts +3 -0
  2. package/lib/compass-font-sizes.d.ts.map +1 -0
  3. package/lib/compass-font-sizes.js +6 -0
  4. package/lib/compass-font-sizes.js.map +1 -0
  5. package/lib/compass-ui-colors.d.ts +2 -0
  6. package/lib/compass-ui-colors.d.ts.map +1 -1
  7. package/lib/compass-ui-colors.js +3 -1
  8. package/lib/compass-ui-colors.js.map +1 -1
  9. package/lib/components/accordion.d.ts +1 -1
  10. package/lib/components/accordion.d.ts.map +1 -1
  11. package/lib/components/accordion.js +10 -16
  12. package/lib/components/accordion.js.map +1 -1
  13. package/lib/components/bson-value.d.ts +40 -0
  14. package/lib/components/bson-value.d.ts.map +1 -0
  15. package/lib/components/bson-value.js +208 -0
  16. package/lib/components/bson-value.js.map +1 -0
  17. package/lib/components/cancel-loader.d.ts.map +1 -1
  18. package/lib/components/cancel-loader.js +14 -49
  19. package/lib/components/cancel-loader.js.map +1 -1
  20. package/lib/components/checkbox.d.ts +1 -1
  21. package/lib/components/checkbox.d.ts.map +1 -1
  22. package/lib/components/checkbox.js +2 -6
  23. package/lib/components/checkbox.js.map +1 -1
  24. package/lib/components/confirmation-modal.d.ts +1 -1
  25. package/lib/components/confirmation-modal.d.ts.map +1 -1
  26. package/lib/components/confirmation-modal.js +2 -5
  27. package/lib/components/confirmation-modal.js.map +1 -1
  28. package/lib/components/document-list/auto-focus-context.d.ts +9 -0
  29. package/lib/components/document-list/auto-focus-context.d.ts.map +1 -0
  30. package/lib/components/document-list/auto-focus-context.js +10 -0
  31. package/lib/components/document-list/auto-focus-context.js.map +1 -0
  32. package/lib/components/document-list/document-actions-group.d.ts +16 -0
  33. package/lib/components/document-list/document-actions-group.d.ts.map +1 -0
  34. package/lib/components/document-list/document-actions-group.js +95 -0
  35. package/lib/components/document-list/document-actions-group.js.map +1 -0
  36. package/lib/components/document-list/document-fields-toggle-group.d.ts +11 -0
  37. package/lib/components/document-list/document-fields-toggle-group.d.ts.map +1 -0
  38. package/lib/components/document-list/document-fields-toggle-group.js +69 -0
  39. package/lib/components/document-list/document-fields-toggle-group.js.map +1 -0
  40. package/lib/components/document-list/document.d.ts +12 -0
  41. package/lib/components/document-list/document.d.ts.map +1 -0
  42. package/lib/components/document-list/document.js +83 -0
  43. package/lib/components/document-list/document.js.map +1 -0
  44. package/lib/components/document-list/element-actions.d.ts +16 -0
  45. package/lib/components/document-list/element-actions.d.ts.map +1 -0
  46. package/lib/components/document-list/element-actions.js +94 -0
  47. package/lib/components/document-list/element-actions.js.map +1 -0
  48. package/lib/components/document-list/element-editors.d.ts +33 -0
  49. package/lib/components/document-list/element-editors.d.ts.map +1 -0
  50. package/lib/components/document-list/element-editors.js +143 -0
  51. package/lib/components/document-list/element-editors.js.map +1 -0
  52. package/lib/components/document-list/element.d.ts +12 -0
  53. package/lib/components/document-list/element.d.ts.map +1 -0
  54. package/lib/components/document-list/element.js +333 -0
  55. package/lib/components/document-list/element.js.map +1 -0
  56. package/lib/components/document-list/font-awesome-icon.d.ts +14 -0
  57. package/lib/components/document-list/font-awesome-icon.d.ts.map +1 -0
  58. package/lib/components/document-list/font-awesome-icon.js +29 -0
  59. package/lib/components/document-list/font-awesome-icon.js.map +1 -0
  60. package/lib/components/document-list/index.d.ts +4 -0
  61. package/lib/components/document-list/index.d.ts.map +1 -0
  62. package/lib/components/document-list/index.js +13 -0
  63. package/lib/components/document-list/index.js.map +1 -0
  64. package/lib/components/document-list/use-force-update.d.ts +2 -0
  65. package/lib/components/document-list/use-force-update.d.ts.map +1 -0
  66. package/lib/components/document-list/use-force-update.js +13 -0
  67. package/lib/components/document-list/use-force-update.js.map +1 -0
  68. package/lib/components/error-boundary.d.ts +2 -10
  69. package/lib/components/error-boundary.d.ts.map +1 -1
  70. package/lib/components/error-boundary.js +7 -3
  71. package/lib/components/error-boundary.js.map +1 -1
  72. package/lib/components/error-warning-summary.d.ts +15 -0
  73. package/lib/components/error-warning-summary.d.ts.map +1 -0
  74. package/lib/components/error-warning-summary.js +68 -0
  75. package/lib/components/error-warning-summary.js.map +1 -0
  76. package/lib/components/file-input.d.ts +16 -15
  77. package/lib/components/file-input.d.ts.map +1 -1
  78. package/lib/components/file-input.js +21 -13
  79. package/lib/components/file-input.js.map +1 -1
  80. package/lib/components/inline-definition.js +2 -2
  81. package/lib/components/inline-definition.js.map +1 -1
  82. package/lib/components/inline-info-link.js +3 -4
  83. package/lib/components/inline-info-link.js.map +1 -1
  84. package/lib/components/leafygreen.d.ts +63 -0
  85. package/lib/components/leafygreen.d.ts.map +1 -0
  86. package/lib/components/leafygreen.js +116 -0
  87. package/lib/components/leafygreen.js.map +1 -0
  88. package/lib/components/modal-title.d.ts +5 -0
  89. package/lib/components/modal-title.d.ts.map +1 -0
  90. package/lib/components/modal-title.js +18 -0
  91. package/lib/components/modal-title.js.map +1 -0
  92. package/lib/components/modal.d.ts +1 -1
  93. package/lib/components/modal.d.ts.map +1 -1
  94. package/lib/components/modal.js +2 -5
  95. package/lib/components/modal.js.map +1 -1
  96. package/lib/components/radio-box-group.d.ts +1 -1
  97. package/lib/components/radio-box-group.d.ts.map +1 -1
  98. package/lib/components/radio-box-group.js +2 -2
  99. package/lib/components/radio-box-group.js.map +1 -1
  100. package/lib/components/resize-handle.d.ts.map +1 -1
  101. package/lib/components/resize-handle.js +1 -0
  102. package/lib/components/resize-handle.js.map +1 -1
  103. package/lib/components/tab-nav-bar.d.ts +14 -0
  104. package/lib/components/tab-nav-bar.d.ts.map +1 -0
  105. package/lib/components/tab-nav-bar.js +47 -0
  106. package/lib/components/tab-nav-bar.js.map +1 -0
  107. package/lib/components/toggle.d.ts +1 -1
  108. package/lib/components/toggle.d.ts.map +1 -1
  109. package/lib/components/toggle.js +2 -2
  110. package/lib/components/toggle.js.map +1 -1
  111. package/lib/components/toolbar.d.ts +10 -0
  112. package/lib/components/toolbar.d.ts.map +1 -0
  113. package/lib/components/toolbar.js +25 -0
  114. package/lib/components/toolbar.js.map +1 -0
  115. package/lib/components/tooltip.d.ts +1 -1
  116. package/lib/components/tooltip.d.ts.map +1 -1
  117. package/lib/components/tooltip.js +2 -5
  118. package/lib/components/tooltip.js.map +1 -1
  119. package/lib/components/virtual-grid.d.ts +5 -2
  120. package/lib/components/virtual-grid.d.ts.map +1 -1
  121. package/lib/components/virtual-grid.js +10 -8
  122. package/lib/components/virtual-grid.js.map +1 -1
  123. package/lib/components/workspace-container.d.ts +8 -0
  124. package/lib/components/workspace-container.d.ts.map +1 -0
  125. package/lib/components/workspace-container.js +31 -0
  126. package/lib/components/workspace-container.js.map +1 -0
  127. package/lib/components/workspace-tabs/tab.d.ts +16 -0
  128. package/lib/components/workspace-tabs/tab.d.ts.map +1 -0
  129. package/lib/components/workspace-tabs/tab.js +223 -0
  130. package/lib/components/workspace-tabs/tab.js.map +1 -0
  131. package/lib/components/workspace-tabs/workspace-tabs.d.ts +24 -0
  132. package/lib/components/workspace-tabs/workspace-tabs.d.ts.map +1 -0
  133. package/lib/components/workspace-tabs/workspace-tabs.js +175 -0
  134. package/lib/components/workspace-tabs/workspace-tabs.js.map +1 -0
  135. package/lib/hooks/use-default-action.d.ts.map +1 -1
  136. package/lib/hooks/use-default-action.js +1 -5
  137. package/lib/hooks/use-default-action.js.map +1 -1
  138. package/lib/hooks/use-theme.d.ts +6 -2
  139. package/lib/hooks/use-theme.d.ts.map +1 -1
  140. package/lib/hooks/use-theme.js +15 -2
  141. package/lib/hooks/use-theme.js.map +1 -1
  142. package/lib/hooks/use-virtual-grid.d.ts +3 -6
  143. package/lib/hooks/use-virtual-grid.d.ts.map +1 -1
  144. package/lib/hooks/use-virtual-grid.js +72 -42
  145. package/lib/hooks/use-virtual-grid.js.map +1 -1
  146. package/lib/hooks/use-virtual-grid.test.js +7 -6
  147. package/lib/hooks/use-virtual-grid.test.js.map +1 -1
  148. package/lib/index.d.ts +19 -22
  149. package/lib/index.d.ts.map +1 -1
  150. package/lib/index.js +27 -60
  151. package/lib/index.js.map +1 -1
  152. package/package.json +32 -27
@@ -0,0 +1,223 @@
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.Tab = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const emotion_1 = require("@leafygreen-ui/emotion");
25
+ const palette_1 = require("@leafygreen-ui/palette");
26
+ const tokens_1 = require("@leafygreen-ui/tokens");
27
+ const use_theme_1 = require("../../hooks/use-theme");
28
+ const compass_font_sizes_1 = require("../../compass-font-sizes");
29
+ const use_focus_hover_1 = require("../../hooks/use-focus-hover");
30
+ const leafygreen_1 = require("../leafygreen");
31
+ const merge_props_1 = require("../../utils/merge-props");
32
+ const use_default_action_1 = require("../../hooks/use-default-action");
33
+ const tabStyles = (0, emotion_1.css)({
34
+ border: '1px solid',
35
+ borderTopWidth: 0,
36
+ borderBottomWidth: 0,
37
+ transition: 'border-color .16s ease-out',
38
+ display: 'inline-flex',
39
+ flexDirection: 'row',
40
+ alignItems: 'center',
41
+ margin: 0,
42
+ paddingRight: tokens_1.spacing[1],
43
+ paddingLeft: tokens_1.spacing[3],
44
+ maxWidth: tokens_1.spacing[6] * 3,
45
+ minWidth: tokens_1.spacing[6] * 2,
46
+ position: 'relative',
47
+ color: palette_1.uiColors.gray.base,
48
+ outline: 'none',
49
+ '&:hover': {
50
+ cursor: 'pointer',
51
+ zIndex: 1,
52
+ transition: 'border-color .16s ease-in',
53
+ },
54
+ ':not(:first-child)': {
55
+ marginLeft: '-1px',
56
+ },
57
+ });
58
+ const tabLightThemeStyles = (0, emotion_1.css)({
59
+ background: palette_1.uiColors.white,
60
+ borderColor: palette_1.uiColors.gray.light2,
61
+ '&:hover': {
62
+ borderColor: palette_1.uiColors.gray.light1,
63
+ },
64
+ });
65
+ const tabDarkThemeStyles = (0, emotion_1.css)({
66
+ backgroundColor: palette_1.uiColors.gray.dark3,
67
+ borderColor: palette_1.uiColors.gray.dark2,
68
+ '&:hover': {
69
+ borderColor: palette_1.uiColors.gray.dark1,
70
+ },
71
+ });
72
+ const selectedTabStyles = (0, emotion_1.css)({
73
+ '&:hover': {
74
+ cursor: 'default',
75
+ },
76
+ });
77
+ const focusedTabStyles = (0, emotion_1.css)({
78
+ zIndex: 3,
79
+ borderColor: palette_1.uiColors.focus,
80
+ '&::after': {
81
+ position: 'absolute',
82
+ content: '""',
83
+ top: 0,
84
+ right: 0,
85
+ left: 0,
86
+ height: '1px',
87
+ backgroundColor: palette_1.uiColors.focus,
88
+ },
89
+ });
90
+ const tabBottomBorderStyles = (0, emotion_1.css)({
91
+ position: 'absolute',
92
+ bottom: 0,
93
+ left: '-1px',
94
+ right: '-1px',
95
+ height: 0,
96
+ backgroundColor: palette_1.uiColors.green.dark1,
97
+ });
98
+ const selectedTabBottomBorderStyles = (0, emotion_1.css)({
99
+ height: `${tokens_1.spacing[1]}px`,
100
+ backgroundColor: palette_1.uiColors.green.base,
101
+ transition: 'height 150ms ease-out',
102
+ });
103
+ const focusedTabBottomBorderStyles = (0, emotion_1.css)({
104
+ height: `${tokens_1.spacing[1]}px`,
105
+ backgroundColor: palette_1.uiColors.focus,
106
+ transition: 'height 150ms ease-out',
107
+ });
108
+ const hiddenStyles = (0, emotion_1.css)({
109
+ visibility: 'hidden',
110
+ });
111
+ const tabIconStyles = (0, emotion_1.css)({
112
+ width: tokens_1.spacing[1] + tokens_1.spacing[2],
113
+ height: 'auto',
114
+ flexShrink: 0,
115
+ gridArea: 'icon',
116
+ alignSelf: 'center',
117
+ });
118
+ const tabIconSelectedLightThemeStyles = (0, emotion_1.css)({
119
+ color: palette_1.uiColors.green.dark2,
120
+ });
121
+ const tabIconSelectedDarkThemeStyles = (0, emotion_1.css)({
122
+ color: palette_1.uiColors.green.light2,
123
+ });
124
+ const tabIconFocusedStyles = (0, emotion_1.css)({
125
+ color: palette_1.uiColors.focus,
126
+ });
127
+ const tabTitleContainerStyles = (0, emotion_1.css)({
128
+ marginRight: tokens_1.spacing[1],
129
+ display: 'inline-grid',
130
+ paddingTop: tokens_1.spacing[2],
131
+ paddingBottom: tokens_1.spacing[1] + tokens_1.spacing[2],
132
+ gridTemplateAreas: `
133
+ 'icon tabName'
134
+ 'empty namespace'
135
+ `,
136
+ columnGap: tokens_1.spacing[2],
137
+ rowGap: 0,
138
+ });
139
+ const tabTitleStyles = (0, emotion_1.css)({
140
+ whiteSpace: 'nowrap',
141
+ textOverflow: 'ellipsis',
142
+ overflow: 'hidden',
143
+ fontWeight: 'bold',
144
+ fontSize: compass_font_sizes_1.smallFontSize,
145
+ gridArea: 'tabName',
146
+ });
147
+ const tabTitleDarkThemeStyles = (0, emotion_1.css)({
148
+ color: palette_1.uiColors.gray.base,
149
+ });
150
+ const tabTitleLightThemeStyles = (0, emotion_1.css)({
151
+ color: palette_1.uiColors.gray.base,
152
+ });
153
+ const tabTitleSelectedDarkThemeStyles = (0, emotion_1.css)({
154
+ color: palette_1.uiColors.green.light2,
155
+ });
156
+ const tabTitleSelectedLightThemeStyles = (0, emotion_1.css)({
157
+ color: palette_1.uiColors.green.dark2,
158
+ });
159
+ const tabTitleFocusedStyles = (0, emotion_1.css)({
160
+ color: palette_1.uiColors.focus,
161
+ });
162
+ const tabSubtitleStyles = (0, emotion_1.css)({
163
+ whiteSpace: 'nowrap',
164
+ textOverflow: 'ellipsis',
165
+ overflow: 'hidden',
166
+ fontSize: compass_font_sizes_1.smallFontSize,
167
+ lineHeight: `${tokens_1.spacing[3]}px`,
168
+ gridArea: 'namespace',
169
+ });
170
+ const tabSubtitleLightThemeStyles = (0, emotion_1.css)({
171
+ color: palette_1.uiColors.gray.base,
172
+ });
173
+ const tabSubtitleDarkThemeStyles = (0, emotion_1.css)({
174
+ color: palette_1.uiColors.gray.light1,
175
+ });
176
+ const tabSubtitleSelectedLightThemeStyles = (0, emotion_1.css)({
177
+ color: palette_1.uiColors.gray.dark1,
178
+ });
179
+ const tabSubtitleSelectedDarkThemeStyles = (0, emotion_1.css)({
180
+ color: palette_1.uiColors.gray.light2,
181
+ });
182
+ function UnthemedTab({ darkMode, title, isSelected, onSelect, onClose, tabContentId, iconGlyph, subtitle, }) {
183
+ const [focusProps, focusState] = (0, use_focus_hover_1.useFocusState)();
184
+ const isFocused = (0, react_1.useMemo)(() => focusState === use_focus_hover_1.FocusState.FocusVisible, [focusState]);
185
+ const isFocusedWithin = (0, react_1.useMemo)(() => focusState === use_focus_hover_1.FocusState.FocusWithinVisible, [focusState]);
186
+ const defaultActionProps = (0, use_default_action_1.useDefaultAction)(onSelect);
187
+ const [hoverProps, isHovered] = (0, use_focus_hover_1.useHoverState)();
188
+ const tabProps = (0, merge_props_1.mergeProps)(focusProps, hoverProps, defaultActionProps);
189
+ return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(tabStyles, darkMode ? tabDarkThemeStyles : tabLightThemeStyles, {
190
+ [selectedTabStyles]: isSelected,
191
+ [focusedTabStyles]: isFocused,
192
+ }), "aria-selected": isSelected, role: "tab", tabIndex: isSelected ? 0 : -1, "aria-controls": tabContentId, "data-test-id": "workspace-tab-button", title: `${subtitle} - ${title}`, ...tabProps },
193
+ react_1.default.createElement("div", { className: tabTitleContainerStyles },
194
+ react_1.default.createElement(leafygreen_1.Icon, { size: "small", role: "presentation", className: (0, emotion_1.cx)(tabIconStyles, {
195
+ [darkMode
196
+ ? tabIconSelectedDarkThemeStyles
197
+ : tabIconSelectedLightThemeStyles]: isSelected,
198
+ [tabIconFocusedStyles]: isFocused,
199
+ }), glyph: iconGlyph, "data-testid": `workspace-tab-icon-${iconGlyph}` }),
200
+ react_1.default.createElement("div", { className: (0, emotion_1.cx)(tabTitleStyles, darkMode ? tabTitleDarkThemeStyles : tabTitleLightThemeStyles, {
201
+ [darkMode
202
+ ? tabTitleSelectedDarkThemeStyles
203
+ : tabTitleSelectedLightThemeStyles]: isSelected,
204
+ [tabTitleFocusedStyles]: isFocused,
205
+ }) }, title),
206
+ react_1.default.createElement(leafygreen_1.Body, { className: (0, emotion_1.cx)(tabSubtitleStyles, darkMode ? tabSubtitleDarkThemeStyles : tabSubtitleLightThemeStyles, {
207
+ [darkMode
208
+ ? tabSubtitleSelectedDarkThemeStyles
209
+ : tabSubtitleSelectedLightThemeStyles]: isSelected,
210
+ }) }, subtitle)),
211
+ react_1.default.createElement(leafygreen_1.IconButton, { className: isFocusedWithin || isFocused || isHovered ? undefined : hiddenStyles, onClick: (e) => {
212
+ e.stopPropagation();
213
+ onClose();
214
+ }, "aria-label": "Close Tab", "data-testid": "close-workspace-tab" },
215
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "X", role: "presentation" })),
216
+ react_1.default.createElement("div", { className: (0, emotion_1.cx)(tabBottomBorderStyles, {
217
+ [selectedTabBottomBorderStyles]: isSelected,
218
+ [focusedTabBottomBorderStyles]: isFocused,
219
+ }) })));
220
+ }
221
+ const Tab = (0, use_theme_1.withTheme)(UnthemedTab);
222
+ exports.Tab = Tab;
223
+ //# sourceMappingURL=tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.js","sourceRoot":"","sources":["../../../src/components/workspace-tabs/tab.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import type { glyphs } from '@leafygreen-ui/icon';
3
+ declare type WorkspaceTabsProps = {
4
+ 'aria-label': string;
5
+ darkMode?: boolean;
6
+ onCreateNewTab: () => void;
7
+ onSelectTab: (tabIndex: number) => void;
8
+ onCloseTab: (tabIndex: number) => void;
9
+ onMoveTab: (oldTabIndex: number, newTabIndex: number) => void;
10
+ tabs: TabProps[];
11
+ selectedTabIndex: number;
12
+ };
13
+ export declare type TabProps = {
14
+ subtitle: string;
15
+ tabContentId: string;
16
+ title: string;
17
+ iconGlyph: Extract<keyof typeof glyphs, string>;
18
+ };
19
+ export declare function useRovingTabIndex<T extends HTMLElement = HTMLElement>({ currentTabbable, }: {
20
+ currentTabbable: number;
21
+ }): React.HTMLProps<T>;
22
+ declare const WorkspaceTabs: React.ComponentType<WorkspaceTabsProps>;
23
+ export { WorkspaceTabs };
24
+ //# sourceMappingURL=workspace-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-tabs.d.ts","sourceRoot":"","sources":["../../../src/components/workspace-tabs/workspace-tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0MlD,aAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACrE,eAAe,GAChB,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAyBrB;AA4ED,QAAA,MAAM,aAAa,yCAAmC,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,175 @@
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.WorkspaceTabs = exports.useRovingTabIndex = void 0;
23
+ const react_1 = __importStar(require("react"));
24
+ const emotion_1 = require("@leafygreen-ui/emotion");
25
+ const palette_1 = require("@leafygreen-ui/palette");
26
+ const tokens_1 = require("@leafygreen-ui/tokens");
27
+ const react_sortable_hoc_1 = require("react-sortable-hoc");
28
+ const use_theme_1 = require("../../hooks/use-theme");
29
+ const use_focus_hover_1 = require("../../hooks/use-focus-hover");
30
+ const leafygreen_1 = require("../leafygreen");
31
+ const merge_props_1 = require("../../utils/merge-props");
32
+ const compass_ui_colors_1 = require("../../compass-ui-colors");
33
+ const tab_1 = require("./tab");
34
+ const tabsContainerStyles = (0, emotion_1.css)({
35
+ margin: 0,
36
+ padding: 0,
37
+ flexShrink: 0,
38
+ position: 'relative',
39
+ overflow: 'overlay',
40
+ whiteSpace: 'nowrap',
41
+ borderBottom: '1px solid',
42
+ '::-webkit-scrollbar': {
43
+ ':horizontal': {
44
+ height: tokens_1.spacing[1],
45
+ },
46
+ },
47
+ });
48
+ const tabsContainerLightStyles = (0, emotion_1.css)({
49
+ background: palette_1.uiColors.white,
50
+ borderBottomColor: palette_1.uiColors.gray.light2,
51
+ '::-webkit-scrollbar-thumb': {
52
+ backgroundColor: compass_ui_colors_1.scrollbarThumbLightTheme,
53
+ },
54
+ });
55
+ const tabsContainerDarkStyles = (0, emotion_1.css)({
56
+ backgroundColor: palette_1.uiColors.gray.dark3,
57
+ borderBottomColor: palette_1.uiColors.gray.dark2,
58
+ '::-webkit-scrollbar-thumb': {
59
+ backgroundColor: compass_ui_colors_1.scrollbarThumbDarkTheme,
60
+ },
61
+ });
62
+ const tabsListContainerStyles = (0, emotion_1.css)({
63
+ padding: 0,
64
+ paddingLeft: tokens_1.spacing[3],
65
+ paddingRight: tokens_1.spacing[4],
66
+ display: 'flex',
67
+ flexDirection: 'row',
68
+ alignItems: 'center',
69
+ });
70
+ const tabsListStyles = (0, emotion_1.css)({
71
+ display: 'inline-flex',
72
+ });
73
+ const newTabContainerStyles = (0, emotion_1.css)({
74
+ display: 'inline-flex',
75
+ flexDirection: 'row',
76
+ alignItems: 'center',
77
+ });
78
+ const createNewTabButtonStyles = (0, emotion_1.css)({
79
+ marginLeft: tokens_1.spacing[2],
80
+ marginRight: tokens_1.spacing[2],
81
+ });
82
+ const sortableItemContainerStyles = (0, emotion_1.css)({
83
+ display: 'inline-flex',
84
+ });
85
+ const workspaceTabsSortableCloneStyles = (0, emotion_1.css)({
86
+ pointerEvents: 'auto !important',
87
+ cursor: 'grabbing !important',
88
+ zIndex: 50,
89
+ });
90
+ function useTabListKeyboardNavigation({ tabsCount, onSelectTab, selectedTabIndex, }) {
91
+ const onKeyDown = (0, react_1.useCallback)((evt) => {
92
+ let nextTabbable = -1;
93
+ if (evt.key === 'ArrowLeft') {
94
+ evt.stopPropagation();
95
+ nextTabbable = selectedTabIndex - 1;
96
+ }
97
+ if (evt.key === 'ArrowRight') {
98
+ evt.stopPropagation();
99
+ nextTabbable = selectedTabIndex + 1;
100
+ }
101
+ if (evt.key === 'Home') {
102
+ evt.preventDefault();
103
+ evt.stopPropagation();
104
+ nextTabbable = 0;
105
+ }
106
+ if (evt.key === 'End') {
107
+ evt.preventDefault();
108
+ evt.stopPropagation();
109
+ nextTabbable = tabsCount - 1;
110
+ }
111
+ if (tabsCount > 0 &&
112
+ nextTabbable !== selectedTabIndex &&
113
+ nextTabbable >= 0 &&
114
+ nextTabbable < tabsCount) {
115
+ onSelectTab(nextTabbable);
116
+ }
117
+ }, [selectedTabIndex, tabsCount, onSelectTab]);
118
+ return [{ onKeyDown }];
119
+ }
120
+ const SortableItem = (0, react_sortable_hoc_1.SortableElement)(({ tab: { tabContentId, iconGlyph, subtitle, title }, tabIndex, selectedTabIndex, onSelect, onClose, }) => {
121
+ const onTabSelected = (0, react_1.useCallback)(() => {
122
+ onSelect(tabIndex);
123
+ }, [onSelect, tabIndex]);
124
+ const onTabClosed = (0, react_1.useCallback)(() => {
125
+ onClose(tabIndex);
126
+ }, [onClose, tabIndex]);
127
+ const isSelected = (0, react_1.useMemo)(() => selectedTabIndex === tabIndex, [selectedTabIndex, tabIndex]);
128
+ return (react_1.default.createElement(tab_1.Tab, { title: title, isSelected: isSelected, iconGlyph: iconGlyph, tabContentId: tabContentId, subtitle: subtitle, onSelect: onTabSelected, onClose: onTabClosed }));
129
+ });
130
+ const SortableList = (0, react_sortable_hoc_1.SortableContainer)(({ tabs, onSelect, onClose, selectedTabIndex }) => (react_1.default.createElement("div", { className: sortableItemContainerStyles }, tabs.map((tab, index) => (react_1.default.createElement(SortableItem, { key: `tab-${index}-${tab.subtitle}`, index: index, tabIndex: index, tab: tab, onSelect: onSelect, onClose: onClose, selectedTabIndex: selectedTabIndex }))))));
131
+ function useRovingTabIndex({ currentTabbable, }) {
132
+ const rootNode = (0, react_1.useRef)(null);
133
+ const [focusProps, focusState] = (0, use_focus_hover_1.useFocusState)();
134
+ const focusTabbable = (0, react_1.useCallback)(() => {
135
+ var _a, _b;
136
+ const selector = `[role="tab"]:nth-child(${currentTabbable + 1})`;
137
+ (_b = (_a = rootNode.current) === null || _a === void 0 ? void 0 : _a.querySelector(selector)) === null || _b === void 0 ? void 0 : _b.focus();
138
+ }, [rootNode, currentTabbable]);
139
+ (0, react_1.useEffect)(() => {
140
+ if ([
141
+ use_focus_hover_1.FocusState.Focus,
142
+ use_focus_hover_1.FocusState.FocusVisible,
143
+ use_focus_hover_1.FocusState.FocusWithin,
144
+ use_focus_hover_1.FocusState.FocusWithinVisible,
145
+ ].includes(focusState)) {
146
+ focusTabbable();
147
+ }
148
+ }, [focusState, focusTabbable]);
149
+ return { ref: rootNode, ...focusProps };
150
+ }
151
+ exports.useRovingTabIndex = useRovingTabIndex;
152
+ function UnthemedWorkspaceTabs({ ['aria-label']: ariaLabel, darkMode, onCreateNewTab, onCloseTab, onMoveTab, onSelectTab, tabs, selectedTabIndex, }) {
153
+ const rovingFocusProps = useRovingTabIndex({
154
+ currentTabbable: selectedTabIndex,
155
+ });
156
+ const [navigationProps] = useTabListKeyboardNavigation({
157
+ selectedTabIndex,
158
+ onSelectTab,
159
+ tabsCount: tabs.length,
160
+ });
161
+ const tabContainerProps = (0, merge_props_1.mergeProps)(rovingFocusProps, navigationProps);
162
+ const onSortEnd = (0, react_1.useCallback)(({ oldIndex, newIndex }) => {
163
+ onMoveTab(oldIndex, newIndex);
164
+ }, [onMoveTab]);
165
+ return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(tabsContainerStyles, darkMode ? tabsContainerDarkStyles : tabsContainerLightStyles) },
166
+ react_1.default.createElement("div", { className: tabsListContainerStyles },
167
+ react_1.default.createElement("div", { className: tabsListStyles, role: "tablist", "aria-label": ariaLabel, "aria-orientation": "horizontal", ...tabContainerProps },
168
+ react_1.default.createElement(SortableList, { onClose: onCloseTab, onSelect: onSelectTab, tabs: tabs, selectedTabIndex: selectedTabIndex, axis: "x", lockAxis: "x", lockToContainerEdges: true, lockOffset: "0%", distance: 10, onSortEnd: onSortEnd, helperClass: workspaceTabsSortableCloneStyles })),
169
+ react_1.default.createElement("div", { className: newTabContainerStyles },
170
+ react_1.default.createElement(leafygreen_1.IconButton, { className: createNewTabButtonStyles, "aria-label": "Create new tab", onClick: onCreateNewTab },
171
+ react_1.default.createElement(leafygreen_1.Icon, { role: "presentation", glyph: "Plus" }))))));
172
+ }
173
+ const WorkspaceTabs = (0, use_theme_1.withTheme)(UnthemedWorkspaceTabs);
174
+ exports.WorkspaceTabs = WorkspaceTabs;
175
+ //# sourceMappingURL=workspace-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-tabs.js","sourceRoot":"","sources":["../../../src/components/workspace-tabs/workspace-tabs.tsx"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,CAyBzB"}
@@ -3,10 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useDefaultAction = void 0;
4
4
  const react_1 = require("react");
5
5
  function useDefaultAction(onDefaultAction) {
6
- const onMouseDown = (0, react_1.useCallback)((evt) => {
7
- evt.preventDefault();
8
- evt.stopPropagation();
9
- }, []);
10
6
  const onClick = (0, react_1.useCallback)((evt) => {
11
7
  evt.stopPropagation();
12
8
  onDefaultAction(evt);
@@ -19,7 +15,7 @@ function useDefaultAction(onDefaultAction) {
19
15
  onDefaultAction(evt);
20
16
  }
21
17
  }, [onDefaultAction]);
22
- return { onMouseDown, onClick, onKeyDown };
18
+ return { onClick, onKeyDown };
23
19
  }
24
20
  exports.useDefaultAction = useDefaultAction;
25
21
  //# sourceMappingURL=use-default-action.js.map
@@ -1 +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"}
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;IAE5E,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,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC;AA3BD,4CA2BC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare enum Theme {
2
+ declare enum Theme {
3
3
  Light = "Light",
4
4
  Dark = "Dark"
5
5
  }
@@ -11,5 +11,9 @@ declare const ThemeProvider: ({ children, theme, }: {
11
11
  theme: ThemeState;
12
12
  }) => React.ReactElement;
13
13
  declare function useTheme(): ThemeState;
14
- export { useTheme, ThemeProvider };
14
+ interface WithThemeProps {
15
+ darkMode?: boolean;
16
+ }
17
+ declare const withTheme: <ComponentProps extends WithThemeProps = WithThemeProps>(WrappedComponent: React.ComponentType<ComponentProps & WithThemeProps>) => React.ComponentType<ComponentProps>;
18
+ export { Theme, ThemeProvider, useTheme, withTheme };
15
19
  //# sourceMappingURL=use-theme.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-theme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,aAAK,KAAK;IACR,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,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,QAAA,MAAM,SAAS,yKA+Bd,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC"}
@@ -19,13 +19,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.ThemeProvider = exports.useTheme = exports.Theme = void 0;
22
+ exports.withTheme = exports.useTheme = exports.ThemeProvider = exports.Theme = void 0;
23
23
  const react_1 = __importStar(require("react"));
24
24
  var Theme;
25
25
  (function (Theme) {
26
26
  Theme["Light"] = "Light";
27
27
  Theme["Dark"] = "Dark";
28
- })(Theme = exports.Theme || (exports.Theme = {}));
28
+ })(Theme || (Theme = {}));
29
+ exports.Theme = Theme;
29
30
  const ThemeContext = (0, react_1.createContext)({
30
31
  theme: Theme.Light,
31
32
  });
@@ -37,4 +38,16 @@ function useTheme() {
37
38
  return (0, react_1.useContext)(ThemeContext);
38
39
  }
39
40
  exports.useTheme = useTheme;
41
+ const withTheme = function (WrappedComponent) {
42
+ const ComponentWithTheme = (props, ref) => {
43
+ var _a, _b;
44
+ const theme = useTheme();
45
+ const applyTheme = ((_b = (_a = global === null || global === void 0 ? void 0 : global.process) === null || _a === void 0 ? void 0 : _a.env) === null || _b === void 0 ? void 0 : _b.COMPASS_LG_DARKMODE) === 'true';
46
+ return (react_1.default.createElement(WrappedComponent, { darkMode: applyTheme ? (theme === null || theme === void 0 ? void 0 : theme.theme) === Theme.Dark : undefined, ref: ref, ...props }));
47
+ };
48
+ const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
49
+ ComponentWithTheme.displayName = `withTheme(${displayName})`;
50
+ return react_1.default.forwardRef(ComponentWithTheme);
51
+ };
52
+ exports.withTheme = withTheme;
40
53
  //# sourceMappingURL=use-theme.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"use-theme.js","sourceRoot":"","sources":["../../src/hooks/use-theme.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyD;AAEzD,IAAK,KAGJ;AAHD,WAAK,KAAK;IACR,wBAAe,CAAA;IACf,sBAAa,CAAA;AACf,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAiEQ,sBAAK;AA3Dd,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;AA6Cc,sCAAa;AA3C7B,SAAS,QAAQ;IACf,OAAO,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;AAClC,CAAC;AAyC8B,4BAAQ;AAjCvC,MAAM,SAAS,GAAG,UAGhB,gBAAsE;IAEtE,MAAM,kBAAkB,GAAG,CACzB,KAAqB,EACrB,GAEC,EACD,EAAE;;QACF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,CAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,GAAG,0CAAE,mBAAmB,MAAK,MAAM,CAAC;QAExE,OAAO,CACL,8BAAC,gBAAgB,IAGf,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC9D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GACf,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAAW,CAAC;IACvE,kBAAkB,CAAC,WAAW,GAAG,aAAa,WAAW,GAAG,CAAC;IAE7D,OAAO,eAAK,CAAC,UAAU,CAAC,kBAAkB,CAA4B,CAAC;AACzE,CAAC,CAAC;AAEuC,8BAAS"}
@@ -1,14 +1,11 @@
1
- /// <reference types="react" />
2
- export declare function useVirtualGridArrowNavigation<T extends HTMLElement = HTMLElement>({ colCount, rowCount, itemsCount, resetActiveItemOnBlur, pageSize, defaultCurrentTabbable, }: {
1
+ import type React from 'react';
2
+ export declare function useVirtualGridArrowNavigation<T extends HTMLElement = HTMLElement>({ colCount, rowCount, itemsCount, resetActiveItemOnBlur, pageSize, defaultCurrentTabbable, onFocusMove, }: {
3
3
  colCount: number;
4
4
  rowCount: number;
5
5
  itemsCount: number;
6
6
  resetActiveItemOnBlur?: boolean;
7
7
  pageSize?: number;
8
8
  defaultCurrentTabbable?: number;
9
- }): [React.HTMLProps<T>, number];
10
- export declare function useVirtualRovingTabIndex<T extends HTMLElement = HTMLElement>({ currentTabbable, onFocusMove, }: {
11
- currentTabbable: number;
12
9
  onFocusMove(idx: number): void;
13
- }): React.HTMLProps<T>;
10
+ }): [React.HTMLProps<T>, number];
14
11
  //# sourceMappingURL=use-virtual-grid.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"use-virtual-grid.d.ts","sourceRoot":"","sources":["../../src/hooks/use-virtual-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwC/B,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,EACA,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,qBAA4B,EAC5B,QAAY,EACZ,sBAA0B,EAC1B,WAAW,GACZ,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;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAwL/B"}