@sproutsocial/racine 26.13.4 → 26.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.
- package/CHANGELOG.md +113 -0
- package/dist/esm/modal/v1/index.js +10 -0
- package/dist/esm/modal/v1/index.js.map +1 -0
- package/dist/esm/modal/v2/index.js +42 -0
- package/dist/esm/modal/v2/index.js.map +1 -0
- package/dist/index.js +59 -59
- package/dist/index.js.map +1 -1
- package/dist/modal/v1/index.d.mts +2 -0
- package/dist/modal/v1/index.d.ts +2 -0
- package/dist/modal/v1/index.js +43 -0
- package/dist/modal/v1/index.js.map +1 -0
- package/dist/modal/v2/index.d.mts +1 -0
- package/dist/modal/v2/index.d.ts +1 -0
- package/dist/modal/v2/index.js +64 -0
- package/dist/modal/v2/index.js.map +1 -0
- package/package.json +62 -52
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,118 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 26.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9c64b99: Add sub folder exports for modal v1 and v2 with tree-shaking support
|
|
8
|
+
|
|
9
|
+
- **New sub folder exports**: `@sproutsocial/racine/modal/v1` and `@sproutsocial/racine/modal/v2`
|
|
10
|
+
- **Improved tree shaking**: Import only the modal version you need for smaller bundle sizes
|
|
11
|
+
- **Backwards compatibility**: Existing imports from `@sproutsocial/racine` continue to work unchanged
|
|
12
|
+
- **Better developer experience**: Clear separation between modal versions with explicit import paths
|
|
13
|
+
|
|
14
|
+
## Usage Examples
|
|
15
|
+
|
|
16
|
+
### Tree-shakeable imports (recommended for new code)
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
// Import only v1 modal (smaller bundle)
|
|
20
|
+
import { Modal } from "@sproutsocial/racine/modal/v1";
|
|
21
|
+
|
|
22
|
+
// Import only v2 modal components (smaller bundle)
|
|
23
|
+
import {
|
|
24
|
+
ModalV2,
|
|
25
|
+
ModalTrigger,
|
|
26
|
+
ModalContent,
|
|
27
|
+
ModalHeader,
|
|
28
|
+
ModalFooter,
|
|
29
|
+
} from "@sproutsocial/racine/modal/v2";
|
|
30
|
+
|
|
31
|
+
// Import specific types
|
|
32
|
+
import type { TypeModalProps } from "@sproutsocial/racine/modal/v1";
|
|
33
|
+
import type { TypeModalV2Props } from "@sproutsocial/racine/modal/v2";
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Backwards compatible imports (existing code)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
// Still works - imports default modal (v1)
|
|
40
|
+
import { Modal } from "@sproutsocial/racine";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Migration example
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
// Before: Importing everything
|
|
47
|
+
import { Modal } from "@sproutsocial/racine";
|
|
48
|
+
|
|
49
|
+
// After: Import only what you need
|
|
50
|
+
import { Modal } from "@sproutsocial/racine/modal/v1";
|
|
51
|
+
// or
|
|
52
|
+
import { ModalV2 } from "@sproutsocial/racine/modal/v2";
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Patch Changes
|
|
56
|
+
|
|
57
|
+
- Updated dependencies [9c64b99]
|
|
58
|
+
- @sproutsocial/seeds-react-modal@1.1.0
|
|
59
|
+
|
|
60
|
+
## 26.13.5
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [47580c4]
|
|
65
|
+
- @sproutsocial/seeds-react-theme@3.1.0
|
|
66
|
+
- @sproutsocial/seeds-react-token@1.3.0
|
|
67
|
+
- @sproutsocial/seeds-react-avatar@1.0.3
|
|
68
|
+
- @sproutsocial/seeds-react-banner@1.0.5
|
|
69
|
+
- @sproutsocial/seeds-react-box@1.1.4
|
|
70
|
+
- @sproutsocial/seeds-react-card@1.1.3
|
|
71
|
+
- @sproutsocial/seeds-react-chart-legend@1.0.3
|
|
72
|
+
- @sproutsocial/seeds-react-data-table@1.0.1
|
|
73
|
+
- @sproutsocial/seeds-react-datepicker@1.0.3
|
|
74
|
+
- @sproutsocial/seeds-react-drawer@1.0.3
|
|
75
|
+
- @sproutsocial/seeds-react-duration@1.0.3
|
|
76
|
+
- @sproutsocial/seeds-react-empty-state@1.0.3
|
|
77
|
+
- @sproutsocial/seeds-react-fieldset@1.0.3
|
|
78
|
+
- @sproutsocial/seeds-react-form-field@1.0.3
|
|
79
|
+
- @sproutsocial/seeds-react-hooks@3.0.4
|
|
80
|
+
- @sproutsocial/seeds-react-icon@1.1.4
|
|
81
|
+
- @sproutsocial/seeds-react-image@1.0.3
|
|
82
|
+
- @sproutsocial/seeds-react-indicator@1.0.3
|
|
83
|
+
- @sproutsocial/seeds-react-keyboard-key@1.0.3
|
|
84
|
+
- @sproutsocial/seeds-react-label@1.0.3
|
|
85
|
+
- @sproutsocial/seeds-react-link@1.0.3
|
|
86
|
+
- @sproutsocial/seeds-react-loader@1.0.3
|
|
87
|
+
- @sproutsocial/seeds-react-loader-button@1.0.3
|
|
88
|
+
- @sproutsocial/seeds-react-message@1.0.3
|
|
89
|
+
- @sproutsocial/seeds-react-mixins@4.1.3
|
|
90
|
+
- @sproutsocial/seeds-react-modal@1.0.5
|
|
91
|
+
- @sproutsocial/seeds-react-numeral@1.0.3
|
|
92
|
+
- @sproutsocial/seeds-react-partner-logo@1.3.3
|
|
93
|
+
- @sproutsocial/seeds-react-rating@1.0.2
|
|
94
|
+
- @sproutsocial/seeds-react-segmented-control@1.0.3
|
|
95
|
+
- @sproutsocial/seeds-react-select@1.1.3
|
|
96
|
+
- @sproutsocial/seeds-react-skeleton@1.1.3
|
|
97
|
+
- @sproutsocial/seeds-react-stack@1.0.3
|
|
98
|
+
- @sproutsocial/seeds-react-table@1.0.3
|
|
99
|
+
- @sproutsocial/seeds-react-table-v2@1.0.1
|
|
100
|
+
- @sproutsocial/seeds-react-tabs@1.1.3
|
|
101
|
+
- @sproutsocial/seeds-react-textarea@1.0.3
|
|
102
|
+
- @sproutsocial/seeds-react-theme-provider@1.1.4
|
|
103
|
+
- @sproutsocial/seeds-react-toast@1.0.3
|
|
104
|
+
- @sproutsocial/seeds-react-token-input@1.4.4
|
|
105
|
+
- @sproutsocial/seeds-react-tooltip@1.0.3
|
|
106
|
+
- @sproutsocial/seeds-react-visually-hidden@1.0.4
|
|
107
|
+
- @sproutsocial/seeds-react-badge@1.0.3
|
|
108
|
+
- @sproutsocial/seeds-react-checkbox@1.3.3
|
|
109
|
+
- @sproutsocial/seeds-react-collapsible@1.0.4
|
|
110
|
+
- @sproutsocial/seeds-react-input@1.4.5
|
|
111
|
+
- @sproutsocial/seeds-react-popout@2.4.4
|
|
112
|
+
- @sproutsocial/seeds-react-button@1.2.3
|
|
113
|
+
- @sproutsocial/seeds-react-switch@1.2.3
|
|
114
|
+
- @sproutsocial/seeds-react-radio@1.3.2
|
|
115
|
+
|
|
3
116
|
## 26.13.4
|
|
4
117
|
|
|
5
118
|
### Patch Changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modal/v1/index.ts"],"sourcesContent":["// V1 Modal - Re-export from seeds-react-modal for optimal tree shaking\nexport {\n default as Modal,\n Modal as ModalV1,\n} from \"@sproutsocial/seeds-react-modal/v1\";\n\n// Explicit type exports\nexport type {\n TypeModalProps,\n TypeModalHeaderProps,\n TypeModalFooterProps,\n TypeModalContentProps,\n TypeModalCloseButtonProps,\n} from \"@sproutsocial/seeds-react-modal/v1\";\n"],"mappings":";AACA;AAAA,EACa,WAAXA;AAAA,EACS;AAAA,OACJ;","names":["default"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// src/modal/v2/index.ts
|
|
2
|
+
import {
|
|
3
|
+
Modal,
|
|
4
|
+
ModalTrigger,
|
|
5
|
+
ModalDescription,
|
|
6
|
+
ModalHeader,
|
|
7
|
+
ModalFooter,
|
|
8
|
+
ModalContent,
|
|
9
|
+
ModalCloseButton,
|
|
10
|
+
ModalClose,
|
|
11
|
+
ModalRail,
|
|
12
|
+
ModalAction
|
|
13
|
+
} from "@sproutsocial/seeds-react-modal/v2";
|
|
14
|
+
import {
|
|
15
|
+
DEFAULT_MODAL_Z_INDEX,
|
|
16
|
+
DEFAULT_OVERLAY_Z_INDEX_OFFSET,
|
|
17
|
+
DEFAULT_MODAL_WIDTH,
|
|
18
|
+
DEFAULT_MODAL_BG,
|
|
19
|
+
BODY_PADDING,
|
|
20
|
+
MODAL_SIZE_PRESETS,
|
|
21
|
+
MODAL_PRIORITY_Z_INDEX
|
|
22
|
+
} from "@sproutsocial/seeds-react-modal/v2";
|
|
23
|
+
export {
|
|
24
|
+
BODY_PADDING,
|
|
25
|
+
DEFAULT_MODAL_BG,
|
|
26
|
+
DEFAULT_MODAL_WIDTH,
|
|
27
|
+
DEFAULT_MODAL_Z_INDEX,
|
|
28
|
+
DEFAULT_OVERLAY_Z_INDEX_OFFSET,
|
|
29
|
+
MODAL_PRIORITY_Z_INDEX,
|
|
30
|
+
MODAL_SIZE_PRESETS,
|
|
31
|
+
ModalAction,
|
|
32
|
+
ModalClose,
|
|
33
|
+
ModalCloseButton,
|
|
34
|
+
ModalContent,
|
|
35
|
+
ModalDescription,
|
|
36
|
+
ModalFooter,
|
|
37
|
+
ModalHeader,
|
|
38
|
+
ModalRail,
|
|
39
|
+
ModalTrigger,
|
|
40
|
+
Modal as ModalV2
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/modal/v2/index.ts"],"sourcesContent":["// V2 Modal - Re-export from seeds-react-modal for optimal tree shaking\nexport {\n Modal as ModalV2,\n ModalTrigger,\n ModalDescription,\n ModalHeader,\n ModalFooter,\n ModalContent,\n ModalCloseButton,\n ModalClose,\n ModalRail,\n ModalAction,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n\n// Explicit type exports\nexport type {\n TypeModalV2Props,\n TypeModalV2TriggerProps,\n TypeModalV2CloseButtonProps,\n TypeModalV2HeaderProps,\n TypeModalV2FooterProps,\n TypeModalV2ContentProps,\n TypeModalV2DescriptionProps,\n TypeModalRailProps,\n TypeModalActionProps,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n\n// Explicit constant exports\nexport {\n DEFAULT_MODAL_Z_INDEX,\n DEFAULT_OVERLAY_Z_INDEX_OFFSET,\n DEFAULT_MODAL_WIDTH,\n DEFAULT_MODAL_BG,\n BODY_PADDING,\n MODAL_SIZE_PRESETS,\n MODAL_PRIORITY_Z_INDEX,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n"],"mappings":";AACA;AAAA,EACW;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAgBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -29,8 +29,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
29
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
30
|
|
|
31
31
|
// src/index.ts
|
|
32
|
-
var
|
|
33
|
-
__export(
|
|
32
|
+
var src_exports = {};
|
|
33
|
+
__export(src_exports, {
|
|
34
34
|
Alert: () => import_seeds_react_banner.Banner,
|
|
35
35
|
Breadcrumb: () => Breadcrumb_default,
|
|
36
36
|
DescendantProvider: () => DescendantProvider,
|
|
@@ -64,18 +64,18 @@ __export(index_exports, {
|
|
|
64
64
|
useTextContent: () => import_seeds_react_hooks2.useTextContent,
|
|
65
65
|
wrapEvent: () => wrapEvent
|
|
66
66
|
});
|
|
67
|
-
module.exports = __toCommonJS(
|
|
67
|
+
module.exports = __toCommonJS(src_exports);
|
|
68
68
|
var import_seeds_illustrations = require("@sproutsocial/seeds-illustrations");
|
|
69
69
|
var import_seeds_partner_logos = require("@sproutsocial/seeds-partner-logos");
|
|
70
|
-
__reExport(
|
|
71
|
-
__reExport(
|
|
70
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-system-props"), module.exports);
|
|
71
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-theme"), module.exports);
|
|
72
72
|
var import_seeds_react_theme_provider = __toESM(require("@sproutsocial/seeds-react-theme-provider"));
|
|
73
73
|
var import_seeds_react_hooks2 = require("@sproutsocial/seeds-react-hooks");
|
|
74
|
-
__reExport(
|
|
75
|
-
__reExport(
|
|
76
|
-
__reExport(
|
|
77
|
-
__reExport(
|
|
78
|
-
__reExport(
|
|
74
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-mixins"), module.exports);
|
|
75
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-avatar"), module.exports);
|
|
76
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-badge"), module.exports);
|
|
77
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-banner"), module.exports);
|
|
78
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-box"), module.exports);
|
|
79
79
|
|
|
80
80
|
// src/Breadcrumb/Breadcrumb.tsx
|
|
81
81
|
var React = __toESM(require("react"));
|
|
@@ -1249,25 +1249,25 @@ Breadcrumb.Item = BreadcrumbItem;
|
|
|
1249
1249
|
var Breadcrumb_default = Breadcrumb;
|
|
1250
1250
|
|
|
1251
1251
|
// src/index.ts
|
|
1252
|
-
__reExport(
|
|
1253
|
-
__reExport(
|
|
1254
|
-
__reExport(
|
|
1255
|
-
__reExport(
|
|
1256
|
-
__reExport(
|
|
1257
|
-
__reExport(
|
|
1258
|
-
__reExport(
|
|
1259
|
-
__reExport(
|
|
1260
|
-
__reExport(
|
|
1261
|
-
__reExport(
|
|
1262
|
-
__reExport(
|
|
1263
|
-
__reExport(
|
|
1264
|
-
__reExport(
|
|
1265
|
-
__reExport(
|
|
1266
|
-
__reExport(
|
|
1267
|
-
__reExport(
|
|
1268
|
-
__reExport(
|
|
1269
|
-
__reExport(
|
|
1270
|
-
__reExport(
|
|
1252
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-button"), module.exports);
|
|
1253
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-card"), module.exports);
|
|
1254
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-character-counter"), module.exports);
|
|
1255
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-chart-legend"), module.exports);
|
|
1256
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-checkbox"), module.exports);
|
|
1257
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-collapsible"), module.exports);
|
|
1258
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-datepicker"), module.exports);
|
|
1259
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-drawer"), module.exports);
|
|
1260
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-duration"), module.exports);
|
|
1261
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-empty-state"), module.exports);
|
|
1262
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-fieldset"), module.exports);
|
|
1263
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-form-field"), module.exports);
|
|
1264
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-icon"), module.exports);
|
|
1265
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-image"), module.exports);
|
|
1266
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-indicator"), module.exports);
|
|
1267
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-input"), module.exports);
|
|
1268
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-keyboard-key"), module.exports);
|
|
1269
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-label"), module.exports);
|
|
1270
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-link"), module.exports);
|
|
1271
1271
|
|
|
1272
1272
|
// src/Listbox/Listbox.tsx
|
|
1273
1273
|
var import_styled_components4 = __toESM(require("styled-components"));
|
|
@@ -1359,30 +1359,30 @@ Listbox.FilterInput = Menu_default2.FilterInput;
|
|
|
1359
1359
|
var Listbox_default = Listbox;
|
|
1360
1360
|
|
|
1361
1361
|
// src/index.ts
|
|
1362
|
-
__reExport(
|
|
1363
|
-
__reExport(
|
|
1364
|
-
__reExport(
|
|
1365
|
-
__reExport(
|
|
1366
|
-
__reExport(
|
|
1367
|
-
__reExport(
|
|
1368
|
-
__reExport(
|
|
1369
|
-
__reExport(
|
|
1370
|
-
__reExport(
|
|
1371
|
-
__reExport(
|
|
1372
|
-
__reExport(
|
|
1373
|
-
__reExport(
|
|
1374
|
-
__reExport(
|
|
1375
|
-
__reExport(
|
|
1376
|
-
__reExport(
|
|
1377
|
-
__reExport(
|
|
1378
|
-
__reExport(
|
|
1379
|
-
__reExport(
|
|
1380
|
-
__reExport(
|
|
1381
|
-
__reExport(
|
|
1382
|
-
__reExport(
|
|
1383
|
-
__reExport(
|
|
1384
|
-
__reExport(
|
|
1385
|
-
__reExport(
|
|
1362
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-loader"), module.exports);
|
|
1363
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-loader-button"), module.exports);
|
|
1364
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-modal"), module.exports);
|
|
1365
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-message"), module.exports);
|
|
1366
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-numeral"), module.exports);
|
|
1367
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-partner-logo"), module.exports);
|
|
1368
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-popout"), module.exports);
|
|
1369
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-portal"), module.exports);
|
|
1370
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-radio"), module.exports);
|
|
1371
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-rating"), module.exports);
|
|
1372
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-segmented-control"), module.exports);
|
|
1373
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-select"), module.exports);
|
|
1374
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-skeleton"), module.exports);
|
|
1375
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-spot-illustration"), module.exports);
|
|
1376
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-stack"), module.exports);
|
|
1377
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-switch"), module.exports);
|
|
1378
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-table"), module.exports);
|
|
1379
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-table/TableCell"), module.exports);
|
|
1380
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-table/TableHeaderCell"), module.exports);
|
|
1381
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-table/TableRowAccordion"), module.exports);
|
|
1382
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-tabs"), module.exports);
|
|
1383
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-text"), module.exports);
|
|
1384
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-textarea"), module.exports);
|
|
1385
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-toast"), module.exports);
|
|
1386
1386
|
|
|
1387
1387
|
// src/ToggleHint/ToggleHint.tsx
|
|
1388
1388
|
var React2 = __toESM(require("react"));
|
|
@@ -1464,12 +1464,12 @@ var ToggleHint = class extends React2.Component {
|
|
|
1464
1464
|
};
|
|
1465
1465
|
|
|
1466
1466
|
// src/index.ts
|
|
1467
|
-
__reExport(
|
|
1468
|
-
__reExport(
|
|
1469
|
-
__reExport(
|
|
1470
|
-
__reExport(
|
|
1471
|
-
__reExport(
|
|
1472
|
-
__reExport(
|
|
1467
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-token"), module.exports);
|
|
1468
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-token-input"), module.exports);
|
|
1469
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-tooltip"), module.exports);
|
|
1470
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-visually-hidden"), module.exports);
|
|
1471
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-data-table"), module.exports);
|
|
1472
|
+
__reExport(src_exports, require("@sproutsocial/seeds-react-table-v2"), module.exports);
|
|
1473
1473
|
var import_seeds_react_banner = require("@sproutsocial/seeds-react-banner");
|
|
1474
1474
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1475
1475
|
0 && (module.exports = {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/Breadcrumb/Breadcrumb.tsx","../src/Menu/Menu.tsx","../src/Menu/utils/innertext.ts","../src/Menu/utils/constants.ts","../src/Menu/utils/descendants.tsx","../src/Menu/utils/hooks.ts","../src/Menu/styles.ts","../src/Menu/index.ts","../src/Breadcrumb/styles.ts","../src/Listbox/Listbox.tsx","../src/ToggleHint/ToggleHint.tsx","../src/ToggleHint/styles.ts"],"sourcesContent":["/* Asset types */\nexport type { EnumIconNames } from \"@sproutsocial/seeds-icons\";\nexport type { EnumIllustrationNames } from \"@sproutsocial/seeds-illustrations\";\nexport type { EnumLogoNamesWithoutVariants as EnumLogoNames } from \"@sproutsocial/seeds-partner-logos\";\n\nexport { IllustrationNames as SpotIllustrationNames } from \"@sproutsocial/seeds-illustrations\";\nexport { LogoNamesWithoutVariants as PartnerLogoNames } from \"@sproutsocial/seeds-partner-logos\";\n\n/* Theme and related types */\nexport * from \"@sproutsocial/seeds-react-system-props\";\nexport * from \"@sproutsocial/seeds-react-theme\";\nexport { default as ThemeProvider } from \"@sproutsocial/seeds-react-theme-provider\";\n\n/* Utilities and related types */\nexport {\n useSelect,\n useMultiselect,\n useTextContent,\n useMeasure,\n useInteractiveColor,\n} from \"@sproutsocial/seeds-react-hooks\";\nexport * from \"@sproutsocial/seeds-react-mixins\";\n\n/* Components */\nexport * from \"@sproutsocial/seeds-react-avatar\";\nexport * from \"@sproutsocial/seeds-react-badge\";\nexport * from \"@sproutsocial/seeds-react-banner\";\nexport * from \"@sproutsocial/seeds-react-box\";\nexport * from \"./Breadcrumb\";\nexport * from \"@sproutsocial/seeds-react-button\";\nexport * from \"@sproutsocial/seeds-react-card\";\nexport * from \"@sproutsocial/seeds-react-character-counter\";\nexport * from \"@sproutsocial/seeds-react-chart-legend\";\nexport * from \"@sproutsocial/seeds-react-checkbox\";\nexport * from \"@sproutsocial/seeds-react-collapsible\";\nexport * from \"@sproutsocial/seeds-react-datepicker\";\nexport * from \"@sproutsocial/seeds-react-drawer\";\nexport * from \"@sproutsocial/seeds-react-duration\";\nexport * from \"@sproutsocial/seeds-react-empty-state\";\nexport * from \"@sproutsocial/seeds-react-fieldset\";\nexport * from \"@sproutsocial/seeds-react-form-field\";\nexport * from \"@sproutsocial/seeds-react-icon\";\nexport * from \"@sproutsocial/seeds-react-image\";\nexport * from \"@sproutsocial/seeds-react-indicator\";\nexport * from \"@sproutsocial/seeds-react-input\";\nexport * from \"@sproutsocial/seeds-react-keyboard-key\";\nexport * from \"@sproutsocial/seeds-react-label\";\nexport * from \"@sproutsocial/seeds-react-link\";\nexport * from \"./Listbox\";\nexport * from \"@sproutsocial/seeds-react-loader\";\nexport * from \"@sproutsocial/seeds-react-loader-button\";\nexport * from \"./Menu\";\nexport * from \"@sproutsocial/seeds-react-modal\";\nexport * from \"@sproutsocial/seeds-react-message\";\nexport * from \"@sproutsocial/seeds-react-numeral\";\nexport * from \"@sproutsocial/seeds-react-partner-logo\";\nexport * from \"@sproutsocial/seeds-react-popout\";\nexport * from \"@sproutsocial/seeds-react-portal\";\nexport * from \"@sproutsocial/seeds-react-radio\";\nexport * from \"@sproutsocial/seeds-react-rating\";\nexport * from \"@sproutsocial/seeds-react-segmented-control\";\nexport * from \"@sproutsocial/seeds-react-select\";\nexport * from \"@sproutsocial/seeds-react-skeleton\";\nexport * from \"@sproutsocial/seeds-react-spot-illustration\";\nexport * from \"@sproutsocial/seeds-react-stack\";\nexport * from \"@sproutsocial/seeds-react-switch\";\nexport * from \"@sproutsocial/seeds-react-table\";\nexport * from \"@sproutsocial/seeds-react-table/TableCell\";\nexport * from \"@sproutsocial/seeds-react-table/TableHeaderCell\";\nexport * from \"@sproutsocial/seeds-react-table/TableRowAccordion\";\nexport * from \"@sproutsocial/seeds-react-tabs\";\nexport * from \"@sproutsocial/seeds-react-text\";\nexport * from \"@sproutsocial/seeds-react-textarea\";\nexport * from \"@sproutsocial/seeds-react-toast\";\nexport * from \"./ToggleHint\";\nexport * from \"@sproutsocial/seeds-react-token\";\nexport * from \"@sproutsocial/seeds-react-token-input\";\nexport * from \"@sproutsocial/seeds-react-tooltip\";\nexport * from \"@sproutsocial/seeds-react-visually-hidden\";\nexport * from \"@sproutsocial/seeds-react-data-table\";\nexport * from \"@sproutsocial/seeds-react-table-v2\";\n/* End */\n\n/**\n * @deprecated Alert has been renamed to Banner\n */\nexport { Banner as Alert } from \"@sproutsocial/seeds-react-banner\";\n","import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Link from \"@sproutsocial/seeds-react-link\";\n// eslint-disable-next-line no-restricted-imports\nimport { MenuButton } from \"../Menu\";\nimport Nav from \"./styles\";\nimport type {\n TypeBreadcrumbProps,\n TypeBreadcrumbItemProps,\n} from \"./BreadcrumbTypes\";\n\n/**\n * @deprecated BreadcrumbItem is deprecated. BreadcrumbItem will be removed in 2025 in favor of seeds-react-breadcrumb which utilizes the new Menu ecosystem. Please create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-breadcrumb | seeds-react-breadcrumb}.\n */\nconst BreadcrumbItem = ({\n children,\n href,\n ...rest\n}: TypeBreadcrumbItemProps) => {\n return (\n <li>\n <Link href={href} {...rest}>\n {children}\n </Link>\n </li>\n );\n};\n\n/**\n * @deprecated Breadcrumb is deprecated. This iteration of Breadcrumb will be removed in 2025 in favor of seeds-react-breadcrumb which utilizes the new Menu ecosystem. Please create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-breadcrumb | seeds-react-breadcrumb}.\n */\nconst Breadcrumb = ({\n ariaLabel,\n overflow,\n children,\n ...rest\n}: TypeBreadcrumbProps) => {\n const listItems = React.Children.toArray(children);\n const lastItem = listItems[listItems.length - 1];\n return (\n <Nav aria-label={ariaLabel} data-qa-breadcrumb={ariaLabel} {...rest}>\n <ol>\n {overflow && (\n <li>\n <MenuButton\n appearance=\"secondary\"\n content={overflow.menu}\n aria-label={overflow.label}\n className=\"overflow--menu\"\n px={200}\n py={0}\n >\n <Icon name=\"ellipsis-horizontal-solid\" aria-hidden />\n </MenuButton>\n </li>\n )}\n {listItems.map((item, i) => {\n // @ts-notes - item is a childNode which can be a string or number but `cloneElement` requires props\n const itemElem =\n typeof item === \"object\" && \"props\" in item ? (\n item\n ) : (\n <span>item</span>\n );\n return React.cloneElement(itemElem, {\n ...itemElem.props,\n \"aria-current\": listItems[i] === lastItem ? \"page\" : undefined,\n });\n })}\n </ol>\n </Nav>\n );\n};\n\nBreadcrumbItem.displayName = \"Breadcrumb.Item\";\nBreadcrumb.Item = BreadcrumbItem;\n\nexport default Breadcrumb;\n","import * as React from \"react\";\nimport {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styled from \"styled-components\";\nimport uniqueId from \"lodash.uniqueid\";\nimport { useTextContent } from \"@sproutsocial/seeds-react-hooks\";\nimport { innerText } from \"./utils/innertext\";\nimport { disabled } from \"@sproutsocial/seeds-react-mixins\";\nimport Box, { TypeBoxProps } from \"@sproutsocial/seeds-react-box\";\nimport Button from \"@sproutsocial/seeds-react-button\";\nimport Checkbox from \"@sproutsocial/seeds-react-checkbox\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Input, { TypeInputProps } from \"@sproutsocial/seeds-react-input\";\nimport Popout from \"@sproutsocial/seeds-react-popout\";\nimport Radio from \"@sproutsocial/seeds-react-radio\";\nimport Switch from \"@sproutsocial/seeds-react-switch\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport type {\n TypeMenuButtonProps,\n TypeMenuGroupProps,\n TypeMenuItemProps,\n TypeMenuItemRoles,\n TypeMenuProps,\n TypeMenuRoles,\n TypeMenuSwitchProps,\n} from \"./MenuTypes\";\nimport {\n MENU_ITEM_ROLES,\n MENU_ROLES,\n DescendantProvider,\n useDescendant,\n useDescendants,\n MenuButtonContext,\n MenuContext,\n MenuDescendantContext,\n useMenuKeyDown,\n} from \"./utils\";\nimport type { TypeMenuDescendantProps } from \"./utils\";\nimport { MenuItemContainer, MenuItemsContainer } from \"./styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nconst getMenuItemRole = (\n menuRole?: TypeMenuRoles | null\n): TypeMenuItemRoles => {\n switch (menuRole) {\n case MENU_ROLES.LIST:\n return MENU_ITEM_ROLES.LISTITEM;\n\n case MENU_ROLES.LISTBOX:\n return MENU_ITEM_ROLES.OPTION;\n\n case MENU_ROLES.MENU:\n default:\n return MENU_ITEM_ROLES.MENUITEM;\n }\n};\n\nfunction isValueSelected(menuValue, value) {\n if (!menuValue) return false;\n\n if (typeof menuValue === \"string\") {\n return Boolean(menuValue && value && menuValue === value);\n } else if (Array.isArray(menuValue)) {\n return menuValue.includes(value);\n }\n\n return false;\n}\n\n/**\n * @deprecated MenuItem is deprecated. MenuItem will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuItem = ({\n id: idProp,\n index: indexProp,\n as,\n children,\n role: roleProp,\n elemBefore,\n elemAfter,\n value: valueProp,\n onKeyPress,\n onClick,\n selected,\n disabled,\n indeterminate,\n label: labelProp,\n active: activeProp,\n ...props\n}: TypeMenuItemProps) => {\n const {\n role: menuRole,\n onChange,\n value,\n multiselect,\n state: menuState,\n selectCallbacks,\n menuRef,\n } = useContext(MenuContext);\n const { selectionIndex, filteredItems } = menuState;\n const { closePopout, closeOnItemClick } = useContext(MenuButtonContext);\n const isSelected = selected || isValueSelected(value, valueProp);\n const shouldClosePopout = closeOnItemClick && !multiselect;\n const itemRole = roleProp || getMenuItemRole(menuRole);\n const id = useMemo(() => idProp || uniqueId(\"MenuItem-\"), [idProp]);\n const textContent = useTextContent(\"\");\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const label = labelProp || textContent.current;\n const ref = useRef<HTMLDivElement | null>(null);\n const index = useDescendant<HTMLElement, TypeMenuDescendantProps>(\n {\n context: MenuDescendantContext,\n element: ref.current,\n value: valueProp || label,\n label,\n disabled,\n id,\n },\n indexProp\n );\n const isHidden = filteredItems && !filteredItems.includes(index);\n const isFocused = index === selectionIndex;\n selectCallbacks.current[index] = onClick;\n const [keyPressed, setKeyPressed] = useState(false);\n const isActive = useMemo(\n () => activeProp || (isFocused && keyPressed),\n [activeProp, isFocused, keyPressed]\n );\n const isCheckboxOrRadio = [\n MENU_ITEM_ROLES.CHECKBOX,\n MENU_ITEM_ROLES.RADIO,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ].includes(itemRole as any); // @ts-notes @refactor - since we're only really checking against the string I think we can safely leave this for refactor, nothing else worked for me\n const interactive =\n onClick ||\n onKeyPress ||\n [\n MENU_ITEM_ROLES.OPTION,\n MENU_ITEM_ROLES.MENUITEM,\n MENU_ITEM_ROLES.CHECKBOX,\n MENU_ITEM_ROLES.RADIO,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ].includes(itemRole as any);\n\n /**\n * The Checkbox/Radio component doesn't expose a tabIndex prop, so we can't set the tabIndex on the underlying input\n * to remove it from the tab order. Resulting to DOM manipulation as a last resort. We can remove this if Checkbox\n * exposes this prop in the future.\n */\n useEffect(() => {\n if (isCheckboxOrRadio && ref.current) {\n const input = ref.current.querySelector(\"input\");\n\n if (input) {\n input.tabIndex = -1;\n }\n }\n }, [ref, isCheckboxOrRadio]);\n useEffect(() => {\n if (filteredItems) {\n setKeyPressed(true);\n } else if (selectionIndex !== 0) {\n setKeyPressed(true);\n }\n }, [selectionIndex, filteredItems]);\n const handleClick = useCallback(\n (e: React.SyntheticEvent<HTMLButtonElement>) => {\n menuRef.current?.focus();\n\n if (onChange && itemRole !== MENU_ITEM_ROLES.LISTITEM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange((valueProp as any) || label);\n }\n\n shouldClosePopout && closePopout && closePopout();\n onClick && onClick(e);\n },\n [\n menuRef,\n onChange,\n itemRole,\n shouldClosePopout,\n closePopout,\n onClick,\n valueProp,\n label,\n ]\n );\n const before = useMemo(() => {\n if (elemBefore) return elemBefore;\n\n if (itemRole === MENU_ITEM_ROLES.CHECKBOX) {\n return (\n <Checkbox\n id={`Checkbox-${id}`}\n checked={isSelected}\n aria-hidden=\"true\"\n onChange={noop}\n indeterminate={indeterminate}\n mr={300}\n />\n );\n } else if (itemRole === MENU_ITEM_ROLES.RADIO) {\n return (\n <Radio\n id={`Radio-${id}`}\n name={`Radio-${id}`}\n checked={isSelected}\n aria-hidden=\"true\"\n onChange={noop}\n mr={300}\n />\n );\n }\n }, [elemBefore, id, indeterminate, isSelected, itemRole]);\n const after = useMemo(() => {\n if (elemAfter) return elemAfter;\n\n if (isSelected && !isCheckboxOrRadio) {\n return <Icon name=\"check-solid\" aria-hidden size=\"small\" ml={300} />;\n }\n }, [elemAfter, isCheckboxOrRadio, isSelected]);\n return (\n <MenuItemContainer\n data-qa-menu-item={label}\n {...props}\n active={isActive}\n data-qa-is-active={isActive}\n id={id}\n aria-label={labelProp}\n value={valueProp}\n data-value={valueProp}\n forwardedAs={as || \"li\"}\n aria-checked={isCheckboxOrRadio ? isSelected : undefined}\n aria-selected={\n itemRole === MENU_ITEM_ROLES.OPTION ? isSelected : undefined\n }\n disabled={disabled}\n aria-disabled={disabled}\n isCheckboxOrRadio={isCheckboxOrRadio}\n hidden={Boolean(isHidden)} // @ts migration note: coercing to a boolean here otherwise it thinks its actually receiving callbacks\n interactive={Boolean(interactive)} // @ts migration note: coercing to a boolean here otherwise it thinks its actually receiving callbacks\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore handleclick takes in different event type than what it receives half the times\n onClick={!disabled ? handleClick : undefined}\n role={itemRole}\n selected={isSelected}\n tabIndex={\n itemRole !== MENU_ITEM_ROLES.LISTITEM && !disabled ? -1 : undefined\n }\n >\n <div\n ref={ref}\n style={{\n display: \"flex\",\n alignItems: props.alignItems || \"center\",\n justifyContent: \"space-between\",\n }}\n >\n {before}\n <div\n style={{\n flexGrow: 1,\n wordBreak: \"break-word\",\n minWidth: 0,\n }}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore some legacy ref type mismatch between divs\n ref={textContent}\n >\n {children}\n </div>\n {after}\n </div>\n </MenuItemContainer>\n );\n};\n\n/**\n * @deprecated MenuCheckbox is deprecated. MenuCheckbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuCheckbox = (props: TypeMenuItemProps) => (\n <MenuItem role={MENU_ITEM_ROLES.CHECKBOX} {...props} />\n);\n\n/**\n * @deprecated MenuRadio is deprecated. MenuRadio will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuRadio = (props: TypeMenuItemProps) => (\n <MenuItem role={MENU_ITEM_ROLES.RADIO} {...props} />\n);\n\n/**\n * @deprecated MenuSwitch is deprecated. MenuSwitch will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuSwitch = (props: TypeMenuSwitchProps) => {\n const { value: menuValue } = useContext(MenuContext);\n const {\n placement,\n labelProps = {},\n switchProps = {},\n children,\n id,\n label,\n ...rest\n } = props;\n const menuItemId = useMemo(() => id || uniqueId(\"MenuItem-\"), [id]);\n const labelId = `${menuItemId}-label`;\n const switchElement = (\n <Switch\n id={`${menuItemId}-switch`}\n checked={props.selected || isValueSelected(menuValue, props.value)}\n aria-hidden=\"true\"\n tabIndex={-1}\n aria-labelledby={labelId}\n {...(placement === \"before\" ? { mr: 300 } : { ml: 300 })}\n {...switchProps}\n // This prop is passed after switchProps to disallow overrides.\n onClick={noop}\n />\n );\n const menuItemProps = {\n id: menuItemId,\n label,\n elemBefore: placement === \"before\" ? switchElement : undefined,\n // Empty fragment prevents a check icon in elemAfter when the switch is checked. Can be overridden.\n elemAfter: placement === \"before\" ? <></> : switchElement,\n ...rest,\n };\n return (\n <MenuItem {...menuItemProps}>\n {/*Using Text and aria-labelledby instead of Label to avoid default Label styling and onClick behavior.*/}\n <Text\n id={labelId}\n {...labelProps}\n // This prop is passed after labelProps to disallow overrides.\n // Fall back to the label prop if children is falsy.\n // eslint-disable-next-line react/no-children-prop\n children={children || label}\n />\n </MenuItem>\n );\n};\n\nconst MenuTitle = styled(Text)`\n font-weight: 600;\n padding-left: ${({ theme }) => theme.space[300]};\n padding-top: ${({ theme }) => theme.space[200]};\n padding-bottom: ${({ theme }) => theme.space[300]};\n color: ${({ theme }) => theme.colors.text.headline};\n`;\n\n/**\n * @deprecated MenuGroup is deprecated. MenuGroup will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuGroup = ({\n children,\n title,\n titleAs,\n disabled: isDisabled = false,\n ...props\n}: TypeMenuGroupProps) => {\n const menuTitleId = useMemo(() => uniqueId(\"menu-title-\"), []);\n return (\n <>\n <Box\n p={300}\n role=\"group\"\n aria-labelledby={title ? menuTitleId : undefined}\n borderTop=\"1px solid\"\n borderColor=\"container.border.base\"\n {...props}\n >\n {title && (\n <MenuTitle\n id={menuTitleId}\n role=\"presentation\"\n fontSize={200}\n forwardedAs={titleAs || \"li\"}\n css={isDisabled ? disabled : undefined}\n >\n {title}\n </MenuTitle>\n )}\n {children}\n </Box>\n </>\n );\n};\n\n/**\n * @deprecated MenuDivider is deprecated. MenuDivider will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuDivider = (props: TypeBoxProps) => (\n <Box\n as=\"li\"\n role=\"separator\"\n borderTop=\"1px solid\"\n borderColor=\"container.border.base\"\n {...props}\n />\n);\n\n/**\n * @deprecated MenuFilterInput is deprecated. MenuFilterInput will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuFilterInput = ({ type = \"search\", ...props }: TypeInputProps) => {\n const { onChange, onFocus, onBlur } = props;\n const { state, setState } = useContext(MenuContext);\n const handleOnChange: TypeInputProps[\"onChange\"] = useCallback(\n (event, value) => {\n onChange && onChange(event, value);\n setState({\n filterQuery: value,\n });\n },\n [setState, onChange]\n );\n const handleOnFocus: TypeInputProps[\"onFocus\"] = useCallback(\n (event) => {\n onFocus && onFocus(event);\n setState({\n isFilterInputFocused: true,\n });\n },\n [setState, onFocus]\n );\n const handleOnBlur: TypeInputProps[\"onBlur\"] = useCallback(\n (event) => {\n onBlur && onBlur(event);\n setState({\n isFilterInputFocused: false,\n });\n },\n [setState, onBlur]\n );\n return (\n <Input\n {...props}\n type={type}\n value={state.filterQuery}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n />\n );\n};\n\n/**\n * @deprecated MenuItems are deprecated. MenuItems will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuItems = ({\n children,\n role,\n multiselect,\n innerRef,\n ...props\n}: TypeMenuProps) => {\n const { handleKeyDown, activeDescendent } = useMenuKeyDown();\n return (\n <MenuItemsContainer\n {...props}\n forwardedAs=\"ul\"\n ref={innerRef}\n role={role}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n aria-activedescendant={activeDescendent?.id}\n aria-multiselectable={multiselect ? true : undefined}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n margin={0}\n padding={0}\n overflow=\"hidden\"\n >\n {children}\n </MenuItemsContainer>\n );\n};\n\n/**\n * @deprecated MenuFooter is deprecated. MenuFooter will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuFooter = ({ children }) => {\n const { setState } = useContext(MenuContext);\n const handleOnBlur = useCallback(() => {\n setState({\n isFooterFocused: false,\n });\n }, [setState]);\n const handleOnFocus = useCallback(() => {\n setState({\n isFooterFocused: true,\n });\n }, [setState]);\n return (\n <Box onBlur={handleOnBlur} onFocus={handleOnFocus}>\n {children}\n </Box>\n );\n};\n\n/**\n * @deprecated Menu is deprecated. Menu will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const Menu = ({\n role = MENU_ROLES.MENU,\n children,\n onChange,\n value,\n multiselect,\n innerRef,\n footerContent,\n ...props\n}: TypeMenuProps) => {\n const [descendants, setDescendants] = useDescendants<\n HTMLElement,\n TypeMenuDescendantProps\n >();\n const [state, setState] = useState({\n selectionIndex: 0,\n filterQuery: \"\",\n filteredItems: null,\n isFilterInputFocused: false,\n isFooterFocused: false,\n });\n const selectCallbacks = useRef<((() => void) | null | undefined)[]>([]);\n const menuRef = useRef(null);\n const setContextState = useCallback(\n (newState) => {\n setState({ ...state, ...newState });\n },\n [state]\n );\n return (\n <DescendantProvider\n context={MenuDescendantContext}\n items={descendants}\n set={setDescendants}\n >\n <MenuContext.Provider\n value={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n menuRef: innerRef || menuRef,\n role,\n onChange,\n value,\n multiselect,\n state,\n setState: setContextState,\n selectCallbacks,\n }}\n >\n <MenuItems\n {...props}\n role={role}\n multiselect={multiselect}\n innerRef={menuRef}\n >\n {children}\n </MenuItems>\n {footerContent ? <MenuFooter>{footerContent}</MenuFooter> : null}\n </MenuContext.Provider>\n </DescendantProvider>\n );\n};\n\nMenuGroup.displayName = \"Menu.Group\";\nMenuItem.displayName = \"Menu.Item\";\nMenuCheckbox.displayName = \"Menu.Checkbox\";\nMenuRadio.displayName = \"Menu.Radio\";\nMenuSwitch.displayName = \"Menu.Switch\";\nMenuDivider.displayName = \"Menu.Divider\";\nMenuFilterInput.displayName = \"Menu.FilterInput\";\nMenu.displayName = \"Menu\";\n\nMenu.Group = MenuGroup;\nMenu.Item = MenuItem;\nMenu.Checkbox = MenuCheckbox;\nMenu.Radio = MenuRadio;\nMenu.Switch = MenuSwitch;\nMenu.Divider = MenuDivider;\nMenu.FilterInput = MenuFilterInput;\n\nconst CustomPopoutContent = styled(Popout.Content)`\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n`;\n\n/**\n * @deprecated MenuButton is deprecated. MenuButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuButton = ({\n content,\n popoutProps,\n children,\n onClick,\n closeOnItemClick = true,\n id = uniqueId(\"MenuButton-\"),\n placement = \"bottom\",\n isOpen,\n setIsOpen,\n ...props\n}: TypeMenuButtonProps) => {\n const [isInternalShown, setIsInternalShown] = useState(false);\n const isControlled = typeof isOpen === \"boolean\";\n const isShown = isControlled ? isOpen : isInternalShown;\n const setIsShown = useMemo(\n () =>\n isControlled && setIsOpen\n ? setIsOpen\n : (nextIsShown) => setIsInternalShown(nextIsShown),\n [isControlled, setIsOpen]\n );\n const closePopout = useCallback(() => setIsShown(false), [setIsShown]);\n const ariaLabelledBy = props[\"aria-labelledby\"]\n ? `${props[\"aria-labelledby\"]} ${id}`\n : undefined;\n const ariaLabel = props[\"aria-label\"]\n ? `${props[\"aria-label\"]} ${innerText(children)}`\n : undefined;\n return (\n <MenuButtonContext.Provider\n value={{\n closePopout,\n closeOnItemClick,\n }}\n >\n <Popout\n isOpen={isShown}\n setIsOpen={setIsShown}\n content={<CustomPopoutContent>{content}</CustomPopoutContent>}\n placement={placement}\n {...popoutProps}\n width={props.width}\n >\n <Button\n {...props}\n id={id}\n aria-labelledby={ariaLabelledBy?.trim()}\n aria-label={ariaLabel?.trim()}\n active={isShown}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick && onClick(e as any); // @ts-notes unfortunately we're passing in a keyboard event here and not the mouse event it expects, so no way to coerce it\n setIsShown(true);\n }\n }}\n onClick={(e) => {\n onClick && onClick(e);\n setIsShown(!isShown);\n }}\n >\n {children}\n </Button>\n </Popout>\n </MenuButtonContext.Provider>\n );\n};\n\n/**\n * @deprecated Menu is deprecated. Menu will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport default Menu;\n","import type { ReactNode } from \"react\";\n\nconst hasOwnProperty = (obj: ReactNode | object, property: string): boolean => {\n return Object.prototype.hasOwnProperty.call(obj, property);\n};\n\nconst hasChildren = (node: object): boolean => {\n return hasOwnProperty(node, \"children\");\n};\n\nconst hasProps = (node: ReactNode): boolean => {\n return hasOwnProperty(node, \"props\");\n};\n\nconst reduceNodeToString = (previous: string, current: ReactNode): string => {\n return previous.length\n ? `${previous} ${innerText(current)}`\n : innerText(current);\n};\n\nexport const innerText = (node: ReactNode): string => {\n if (\n node === null ||\n typeof node === \"undefined\" ||\n typeof node === \"boolean\"\n ) {\n return \"\";\n } else if (typeof node === \"string\") {\n return node;\n } else if (typeof node === \"number\") {\n return node.toString();\n } else if (Array.isArray(node)) {\n return (node as React.ReactNodeArray).reduce<string>(\n reduceNodeToString,\n \"\"\n );\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - hasProps checks for props, but may be able to fix this\n } else if (hasProps(node) && hasChildren(node.props)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - how can we make sure ts knows this is ok?\n return innerText(node.props.children);\n }\n\n return \"\";\n};\n","export const MENU_ROLES = Object.freeze({\n MENU: \"menu\",\n LIST: \"list\",\n LISTBOX: \"listbox\",\n} as const);\nexport const MENU_ITEM_ROLES = Object.freeze({\n MENUITEM: \"menuitem\",\n LISTITEM: \"listitem\",\n OPTION: \"option\",\n RADIO: \"menuitemradio\",\n CHECKBOX: \"menuitemcheckbox\",\n} as const);\n","/* eslint-disable */\nimport * as React from \"react\";\nimport {\n createContext,\n useState,\n useLayoutEffect,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\n\n/**\n * These hooks and utilities are largely copied from the @reach-ui/descendents package. They consider the package\n * pre-release and unstable, so instead of importing it, we copied it here and changed the types from TypeScript to\n * Flow. If the package ever stabilizes, we can import these functions from there and remove this file.\n */\nexport type TypeDescendant<ElementType, DescendantProps> = DescendantProps & {\n element: ElementType | null;\n index: number;\n};\ntype TypeDescendantContext<ElementType, DescendantProps> = {\n descendants: TypeDescendant<ElementType, DescendantProps>[];\n registerDescendant(\n descendant: Omit<TypeDescendant<ElementType, DescendantProps>, \"index\">\n ): void;\n unregisterDescendant(element: ElementType | null): void;\n};\n\nconst noop = () => {};\n\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\nexport function usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nexport function wrapEvent<EventType extends React.SyntheticEvent | Event>(\n theirHandler: ((event: EventType) => any) | null | undefined,\n ourHandler: (event: EventType) => any\n): (event: EventType) => any {\n return (event) => {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport function canUseDOM() {\n return (\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n );\n}\nconst useIsomorphicLayoutEffect = canUseDOM() ? useLayoutEffect : useEffect;\n\nexport function createNamedContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType\n): React.Context<ContextValueType> {\n const Ctx = createContext<ContextValueType>(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}\n\nexport function createDescendantContext(\n name: string,\n initialValue = {\n descendants: [],\n registerDescendant: noop,\n unregisterDescendant: noop,\n }\n) {\n return createNamedContext(name, {\n ...initialValue,\n });\n}\n\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\nexport function useDescendant<ElementType, DescendantProps>(\n { context, element, ...rest },\n indexProp?: number\n) {\n let [, forceUpdate] = useState<any>();\n let { registerDescendant, unregisterDescendant, descendants } =\n useContext<TypeDescendantContext<ElementType, DescendantProps>>(context);\n // Prevent any flashing\n useIsomorphicLayoutEffect(() => {\n if (!element) forceUpdate({});\n registerDescendant({\n element,\n ...rest,\n } as any);\n return () => unregisterDescendant(element);\n }, [element, ...Object.values(rest)]);\n return indexProp\n ? indexProp\n : descendants.findIndex((item) => item.element === element);\n}\nexport function useDescendants<ElementType, DescendantProps>() {\n return useState<TypeDescendant<ElementType, DescendantProps>[]>([]);\n}\nexport function DescendantProvider<\n ElementType extends HTMLElement,\n DescendantProps\n>({\n context: Ctx,\n children,\n items,\n set,\n}: {\n context: any;\n children: React.ReactNode;\n items: TypeDescendant<ElementType, DescendantProps>[];\n set: (\n arg0: (arg0: TypeDescendant<ElementType, DescendantProps>[]) => any\n ) => any;\n}) {\n let registerDescendant = useCallback(\n ({ element, ...rest }) => {\n if (!element) {\n return;\n }\n\n set((items) => {\n let newItem;\n let newItems;\n\n // If there are no items, register at index 0 and bail.\n if (items.length === 0) {\n newItem = {\n element,\n index: 0,\n ...rest,\n };\n newItems = [...items, newItem];\n } else if (items.find((item) => item.element === element)) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n let index = items.findIndex((item) => {\n if (!item.element || !element) {\n return false;\n }\n\n // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n return Boolean(\n item.element.compareDocumentPosition(element) &\n Node.DOCUMENT_POSITION_PRECEDING\n );\n });\n newItem = {\n element,\n index,\n ...rest,\n };\n\n // If an index is not found we will push the element to the end.\n if (index === -1) {\n newItems = [...items, newItem];\n } else {\n newItems = [\n ...items.slice(0, index),\n newItem,\n ...items.slice(index),\n ];\n }\n }\n\n return newItems.map((item, index) => ({ ...item, index }));\n });\n }, // set is a state setter initialized by the useDescendants hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n let unregisterDescendant = useCallback(\n (element: TypeDescendant<ElementType, DescendantProps>[\"element\"]) => {\n if (!element) {\n return;\n }\n\n set((items) =>\n items\n .filter((item) => element !== item.element)\n .map((item, index) => ({ ...item, index }))\n );\n }, // set is a state setter initialized by the useDescendants hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n const value = useMemo(() => {\n return {\n descendants: items,\n registerDescendant,\n unregisterDescendant,\n };\n }, [items, registerDescendant, unregisterDescendant]);\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\n}\nexport function useDescendantKeyDown<\n ElementType,\n DescendantProps,\n K extends keyof TypeDescendant<ElementType, DescendantProps>\n>(\n context: React.Context<TypeDescendantContext<ElementType, DescendantProps>>,\n options: {\n currentIndex?: number;\n key?: K | \"option\";\n filter?: (\n descendant: TypeDescendant<ElementType, DescendantProps>\n ) => boolean;\n orientation?: \"vertical\" | \"horizontal\" | \"both\";\n rotate?: boolean;\n rtl?: boolean;\n callback(\n nextOption:\n | TypeDescendant<ElementType, DescendantProps>\n | TypeDescendant<ElementType, DescendantProps>[keyof TypeDescendant<\n ElementType,\n DescendantProps\n >]\n ): void;\n }\n) {\n let { descendants } = useContext(context);\n let {\n callback,\n currentIndex,\n filter,\n key = \"index\",\n orientation = \"vertical\",\n rotate = true,\n rtl = false,\n } = options;\n let index = currentIndex ? currentIndex : -1;\n return function handleKeyDown(event: React.KeyboardEvent) {\n if (\n ![\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"PageUp\",\n \"PageDown\",\n \"Home\",\n \"End\",\n ].includes(event.key)\n ) {\n return;\n }\n\n // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n let selectableDescendants = filter\n ? descendants.filter(filter)\n : descendants;\n\n // Current index should map to the updated array vs. the original\n // descendants array.\n if (filter) {\n index = selectableDescendants.findIndex(\n (descendant) => descendant.index === currentIndex\n );\n }\n\n // We need some options for any of this to work!\n if (!selectableDescendants.length) {\n return;\n }\n\n function getNextOption() {\n let atBottom = index === selectableDescendants.length - 1;\n return atBottom\n ? rotate\n ? getFirstOption()\n : selectableDescendants[index]\n : selectableDescendants[(index + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n let atTop = index === 0;\n return atTop\n ? rotate\n ? getLastOption()\n : selectableDescendants[index]\n : selectableDescendants[\n (index - 1 + selectableDescendants.length) %\n selectableDescendants.length\n ];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n let next = getNextOption() as any; // @ts-notes: sincerely dont understand the intent of the original library here, since the supposed reference has been completely refactored\n callback(key === \"option\" ? next : next[key]);\n }\n\n break;\n\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n let prev = getPreviousOption() as any;\n callback(key === \"option\" ? prev : prev[key]);\n }\n\n break;\n\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n let nextOrPrev = (rtl ? getNextOption : getPreviousOption)() as any;\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n\n break;\n\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n let prevOrNext = (rtl ? getPreviousOption : getNextOption)() as any;\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n\n break;\n\n case \"PageUp\":\n event.preventDefault();\n let prevOrFirst = (\n event.ctrlKey ? getPreviousOption : getFirstOption\n )() as any;\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n\n case \"Home\":\n event.preventDefault();\n let first = getFirstOption() as any;\n callback(key === \"option\" ? first : first[key]);\n break;\n\n case \"PageDown\":\n event.preventDefault();\n let nextOrLast = (\n event.ctrlKey ? getNextOption : getLastOption\n )() as any;\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n\n case \"End\":\n event.preventDefault();\n let last = getLastOption() as any;\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n}\n","// eslint-disable @typescript-eslint/no-explicit-any\nimport { createContext, useContext, useEffect } from \"react\";\nimport scrollIntoViewIfNeeded from \"scroll-into-view-if-needed\";\nimport type { TypeMenuButtonContext, TypeMenuContext } from \"../MenuTypes\";\nimport { MENU_ROLES } from \"./constants\";\nimport type { TypeDescendant } from \"./descendants\";\nimport {\n createDescendantContext,\n useDescendantKeyDown,\n usePrevious,\n wrapEvent,\n} from \"./descendants\";\nexport const MenuContext = createContext<TypeMenuContext>({\n role: MENU_ROLES.MENU,\n menuRef: {\n current: null,\n },\n value: undefined,\n multiselect: false,\n onChange: undefined,\n state: {\n selectionIndex: 0,\n filterQuery: \"\",\n filteredItems: null,\n isFilterInputFocused: false,\n isFooterFocused: false,\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setState: () => {},\n selectCallbacks: {\n current: [],\n },\n});\nexport const MenuButtonContext = createContext<TypeMenuButtonContext>({\n closeOnItemClick: undefined,\n closePopout: undefined,\n});\nexport type TypeMenuDescendantProps = {\n id: string;\n label: string | null | undefined;\n value?: string;\n disabled?: boolean;\n};\nexport const MenuDescendantContext = createDescendantContext(\n \"MenuDescendantContext\"\n);\n\n/**\n * When a user's typed input matches the string displayed in a menu item, it is\n * expected that the matching menu item is selected. This is our matching\n * function.\n */\nfunction filterItemsFromTypeahead(\n items: TypeDescendant<HTMLElement, TypeMenuDescendantProps>[],\n string = \"\"\n) {\n if (!string) {\n return null;\n }\n\n return items\n .filter(\n ({ value, label }) =>\n value?.toLowerCase().includes(string.toLocaleLowerCase()) ||\n label?.toLowerCase().includes(string.toLocaleLowerCase())\n )\n .map(({ index }) => index);\n}\n\nexport function useMenuKeyDown() {\n const {\n onChange,\n selectCallbacks,\n setState,\n multiselect,\n state: {\n filterQuery,\n selectionIndex,\n filteredItems,\n isFilterInputFocused,\n isFooterFocused,\n },\n } = useContext(MenuContext);\n const { closePopout, closeOnItemClick } = useContext(MenuButtonContext);\n const { descendants: items } = useContext(MenuDescendantContext);\n const shouldClosePopout = closeOnItemClick && !multiselect;\n const prevMenuItemsLength = usePrevious(items.length);\n const prevSelected = usePrevious(items[selectionIndex]);\n const prevSelectionIndex = usePrevious(selectionIndex);\n useEffect(() => {\n if (items.length && selectionIndex > items.length - 1) {\n // If for some reason our selection index is larger than our possible\n // index range (let's say the last item is selected and the list\n // dynamically updates), we need to select the last item in the list.\n setState({\n selectionIndex: items.length - 1,\n });\n } else if (\n // Checks if\n // - menu length has changed\n // - selection index has not changed BUT selected item has changed\n //\n // This prevents any dynamic adding/removing of menu items from actually\n // changing a user's expected selection.\n prevMenuItemsLength !== items.length &&\n selectionIndex > -1 &&\n prevSelected &&\n prevSelectionIndex === selectionIndex &&\n items[selectionIndex] !== prevSelected\n ) {\n setState({\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore I'm just going to ignore this one because its really hard to estimate where this stuff is coming from at any given time\n selectionIndex: items.findIndex((i) => i.index === prevSelected.index),\n });\n }\n }, [\n setState,\n items,\n prevMenuItemsLength,\n prevSelected,\n prevSelectionIndex,\n selectionIndex,\n ]);\n useEffect(() => {\n const newFilteredItems = filterItemsFromTypeahead(items, filterQuery);\n\n if (\n filterQuery &&\n newFilteredItems &&\n filteredItems?.length !== newFilteredItems?.length\n ) {\n setState({\n filteredItems: newFilteredItems,\n selectionIndex: newFilteredItems[0],\n });\n } else if (!filterQuery && filteredItems !== null) {\n setState({\n filteredItems: null,\n });\n }\n }, [filterQuery, items, setState, filteredItems]);\n const index = items.findIndex(({ index }) => index === selectionIndex);\n return {\n activeDescendent: items[selectionIndex],\n handleKeyDown: wrapEvent<React.KeyboardEvent>(\n function (event) {\n const { key } = event;\n // Do not trigger key events for the selected item if the footer is focused\n if (isFooterFocused) {\n return;\n }\n\n switch (key) {\n case \" \":\n if (isFilterInputFocused) {\n return;\n }\n\n // falls through\n // eslint-disable-next-line no-fallthrough\n case \"Enter\":\n // eslint-disable-next-line no-case-declarations\n const selected = items[selectionIndex] as HTMLElement[] & {\n index: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n disabled?: boolean;\n };\n\n if (selected && !selected.disabled) {\n event.preventDefault();\n const func = selectCallbacks.current[selected.index];\n func?.call && func();\n onChange && selected.value && onChange(selected.value);\n shouldClosePopout && closePopout && closePopout();\n }\n\n return;\n\n default:\n return;\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useDescendantKeyDown(MenuDescendantContext as React.Context<any>, {\n currentIndex: index,\n orientation: \"vertical\",\n key: \"option\",\n rotate: true,\n filter: (\n option: TypeDescendant<HTMLElement, TypeMenuDescendantProps>\n ) =>\n !option.disabled &&\n (!filteredItems || filteredItems.includes(option.index)),\n\n callback(item: TypeDescendant<HTMLElement, TypeMenuDescendantProps>) {\n if (item.element) {\n scrollIntoViewIfNeeded(item.element, {\n block: \"nearest\",\n scrollMode: \"if-needed\",\n });\n }\n\n setState({\n selectionIndex: item.index,\n });\n },\n })\n ),\n };\n}\n","import styled, { css } from \"styled-components\";\nimport { disabled, focusRing } from \"@sproutsocial/seeds-react-mixins\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport { StyledSwitchButton as Switch } from \"@sproutsocial/seeds-react-switch\";\nimport type { TypeMenuItemContainerProps } from \"./MenuTypes\";\n\nexport const MenuItemContainer = styled(Box)<TypeMenuItemContainerProps>`\n ${(props) =>\n !props.hidden &&\n css`\n display: block;\n `};\n width: 100%;\n border-radius: ${(props) => props.theme.radii[500]};\n background-color: ${(props) => props.theme.colors.listItem.background.base};\n border: none;\n text-align: left;\n color: ${(props) => props.theme.colors.text.body};\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.normal};\n padding: ${(props) => `6px ${props.theme.space[300]}`};\n list-style-type: none;\n outline: 0;\n ${(props) => css`\n ${props.theme.typography[200]};\n `};\n\n ${(props) =>\n props.selected &&\n !props.isCheckboxOrRadio &&\n css`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n `}\n\n ${(props) =>\n props.active &&\n !props.disabled &&\n css`\n color: ${(props) => props.theme.colors.text.inverse};\n background-color: ${props.theme.colors.listItem.background.selected};\n\n .Icon-svg {\n color: ${(props) => props.theme.colors.text.inverse};\n }\n `}\n\n // Add border to Switches inside of active Menu Items so they do not disappear into the background.\n ${Switch} {\n ${(props) =>\n props.active &&\n !props.disabled &&\n css`\n border-color: ${(props) => props.theme.colors.container.border.base};\n `}\n }\n\n ${(props) =>\n !props.disabled &&\n css`\n &:focus,\n &:hover {\n color: ${(props) => props.theme.colors.text.body};\n background-color: ${(props) =>\n props.theme.colors.listItem.background.hover};\n\n .Icon-svg {\n color: unset;\n }\n }\n `}\n\n ${(props) =>\n props.interactive && !props.disabled\n ? css`\n &:hover {\n cursor: pointer;\n }\n `\n : css`\n &:hover {\n cursor: default;\n }\n `}\n ${(props) => props.disabled && disabled}\n`;\n\nexport const MenuItemsContainer = styled(Box)`\n list-style-type: none;\n &:focus {\n ${focusRing}\n }\n & > div[role=\"group\"]:first-of-type {\n border-top: none;\n }\n`;\n","import Menu, { MenuButton } from \"./Menu\";\n\nexport { Menu, MenuButton };\nexport default Menu;\nexport * from \"./MenuTypes\";\nexport * from \"./styles\";\nexport * from \"./utils\";\n","import styled from \"styled-components\";\n\nconst Nav = styled.nav`\n ol {\n ${(props) => props.theme.typography[200]};\n margin: 0;\n font-family: ${(props) => props.theme.fontFamily};\n padding: 0;\n display: flex;\n }\n\n li {\n margin-right: ${(props) => props.theme.space[200]};\n display: flex;\n }\n\n a,\n button {\n ${(props) => props.theme.typography[200]};\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:not(.overflow--menu) {\n margin: 0;\n padding: 0;\n }\n }\n\n ol > div + li::before {\n content: \"/\";\n margin-right: ${(props) => props.theme.space[200]};\n }\n\n li:last-child a,\n li:last-child button {\n color: ${(props) => props.theme.colors.text.body};\n font-weight: bold;\n }\n\n li:not(:last-child)::after {\n content: \"/\";\n color: ${(props) => props.theme.colors.text.body};\n margin-left: ${(props) => props.theme.space[200]};\n }\n`;\n\nexport default Nav;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { MENU_ROLES } from \"../Menu/utils/constants\";\nimport { Arrow } from \"@sproutsocial/seeds-react-select\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\n// eslint-disable-next-line no-restricted-imports\nimport Menu, { MenuButton } from \"../Menu\";\nimport type { TypeListboxProps, TypeListboxButtonProps } from \"./ListboxTypes\";\n\n/**\n * @deprecated Listbox is deprecated. Listbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const Listbox = ({\n role = MENU_ROLES.LISTBOX,\n children,\n ...rest\n}: TypeListboxProps) => {\n return (\n <Menu {...rest} role={role}>\n {children}\n </Menu>\n );\n};\n\n/**\n * These styles are copied from @sproutsocial/racine/commonjs/Select/styles and applied at the root element since\n * the Listbox component doesn't render a select.\n */\nexport const ListboxButtonContainer = styled(MenuButton)`\n position: relative;\n width: 100%;\n border: 1px solid ${(props) => props.theme.colors.form.border.base};\n border-radius: ${(props) => props.theme.radii[500]};\n background-color: ${(props) => props.theme.colors.form.background.base};\n color: ${(props) => props.theme.colors.text.body};\n cursor: ${(props) => (props.disabled ? \"not-allowed\" : \"pointer\")};\n outline: none;\n appearance: none;\n transition: border-color ${(props) => props.theme.duration.fast}\n ${(props) => props.theme.easing.ease_in},\n box-shadow ${(props) => props.theme.duration.fast}\n ${(props) => props.theme.easing.ease_in};\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.normal};\n text-align: left;\n margin: 0;\n &:active {\n transform: none;\n }\n\n padding: ${(props) => {\n switch (props.size) {\n case \"large\":\n return `${props.theme.space[400]} ${props.theme.space[600]} ${props.theme.space[400]} ${props.theme.space[400]}`;\n\n case \"small\":\n return `${props.theme.space[200]} ${props.theme.space[500]} ${props.theme.space[200]} ${props.theme.space[200]}`;\n\n case \"default\":\n default:\n return `${props.theme.space[300]} ${props.theme.space[500]} ${props.theme.space[300]} ${props.theme.space[300]}`;\n }\n }};\n font-size: ${(props) => {\n switch (props.size) {\n case \"large\":\n return props.theme.typography[300].fontSize;\n\n case \"small\":\n case \"default\":\n default:\n return props.theme.typography[200].fontSize;\n }\n }};\n\n ${(props) =>\n props.invalid &&\n css`\n border-color: ${(props) => props.theme.colors.form.border.error};\n ${Arrow} {\n color: ${(props) => props.theme.colors.icon.error};\n }\n `}\n`;\n\n/**\n * @deprecated ListboxButton is deprecated. ListboxButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const ListboxButton = ({\n children,\n ...restProps\n}: TypeListboxButtonProps) => (\n <ListboxButtonContainer\n {...restProps}\n popoutProps={{\n placement: \"bottom-start\",\n ...(restProps.popoutProps || {}),\n }}\n >\n {children}\n <Arrow size={restProps.size}>\n <Icon name=\"chevron-down-outline\" fixedWidth aria-hidden />\n </Arrow>\n </ListboxButtonContainer>\n);\n\nListbox.Option = Listbox.Item = Menu.Item;\nListbox.Checkbox = Menu.Checkbox;\nListbox.Radio = Menu.Radio;\nListbox.Switch = Menu.Switch;\nListbox.Group = Menu.Group;\nListbox.Divider = Menu.Divider;\nListbox.FilterInput = Menu.FilterInput;\n\n/**\n * @deprecated Listbox is deprecated. Listbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport default Listbox;\n","import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Container, { IconText } from \"./styles\";\nimport type { TypeToggleHintProps } from \"./ToggleHintTypes\";\n/**\n * Icon (either chevron or plus/minus) indicating whether an element is open or closed.\n */\n\n/**\n * @deprecated ToggleHint is deprecated. ToggleHint is no longer supported and will be removed in 2025.\n */\nexport default class ToggleHint extends React.Component<TypeToggleHintProps> {\n static defaultProps = {\n isOpen: false,\n icon: \"chevron\",\n };\n getIcon = () => {\n if (this.props.icon === \"chevron\") {\n return <Icon name=\"chevron-down-outline\" aria-hidden />;\n }\n\n return (\n <Icon\n name={this.props.isOpen ? \"minus-outline\" : \"plus-outline\"}\n aria-hidden\n />\n );\n };\n\n render() {\n const {\n icon,\n isOpen,\n openString,\n closeString,\n qa,\n className,\n color,\n ...rest\n } = this.props;\n return (\n <Container\n icon={icon}\n isOpen={isOpen}\n className={`ToggleHint ${className}`}\n data-qa-togglehint-isopen={isOpen}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n {...qa}\n {...rest}\n >\n {this.getIcon()}\n\n <IconText>{isOpen ? closeString : openString}</IconText>\n </Container>\n );\n }\n}\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport { TypeToggleHintProps } from \"./ToggleHintTypes\";\n\nconst Container = styled.div<Pick<TypeToggleHintProps, \"icon\" | \"isOpen\">>`\n position: relative;\n display: inline-block;\n padding: ${(props) => props.theme.space[100]};\n color: currentColor;\n\n ${(props) =>\n props.icon === \"chevron\" &&\n css`\n transition: transform\n ${(props) =>\n `${props.theme.duration.medium} ${props.theme.easing.ease_inout}`};\n\n ${props.isOpen &&\n css`\n transform: rotateX(180deg);\n `}\n `}\n\n ${COMMON}\n`;\n\nexport const IconText = styled.div`\n ${visuallyHidden}\n`;\n\nexport default Container;\n"],"mappings":"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","names":["import_seeds_react_hooks","import_seeds_react_icon","import_react","import_styled_components","import_seeds_react_mixins","import_seeds_react_box","import_seeds_react_switch","items","import_react","index","scrollIntoViewIfNeeded","styled","Box","props","Switch","import_jsx_runtime","noop","disabled","uniqueId","Checkbox","Radio","Icon","Switch","Text","styled","Box","Input","Popout","Button","Menu_default","import_styled_components","styled","import_jsx_runtime","Link","Icon","import_styled_components","import_seeds_react_icon","import_jsx_runtime","Menu_default","styled","props","Icon","React","import_seeds_react_icon","import_styled_components","import_seeds_react_mixins","styled","props","styles_default","import_jsx_runtime","Icon","styles_default"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/Breadcrumb/Breadcrumb.tsx","../src/Menu/Menu.tsx","../src/Menu/utils/innertext.ts","../src/Menu/utils/constants.ts","../src/Menu/utils/descendants.tsx","../src/Menu/utils/hooks.ts","../src/Menu/styles.ts","../src/Menu/index.ts","../src/Breadcrumb/styles.ts","../src/Listbox/Listbox.tsx","../src/ToggleHint/ToggleHint.tsx","../src/ToggleHint/styles.ts"],"sourcesContent":["/* Asset types */\nexport type { EnumIconNames } from \"@sproutsocial/seeds-icons\";\nexport type { EnumIllustrationNames } from \"@sproutsocial/seeds-illustrations\";\nexport type { EnumLogoNamesWithoutVariants as EnumLogoNames } from \"@sproutsocial/seeds-partner-logos\";\n\nexport { IllustrationNames as SpotIllustrationNames } from \"@sproutsocial/seeds-illustrations\";\nexport { LogoNamesWithoutVariants as PartnerLogoNames } from \"@sproutsocial/seeds-partner-logos\";\n\n/* Theme and related types */\nexport * from \"@sproutsocial/seeds-react-system-props\";\nexport * from \"@sproutsocial/seeds-react-theme\";\nexport { default as ThemeProvider } from \"@sproutsocial/seeds-react-theme-provider\";\n\n/* Utilities and related types */\nexport {\n useSelect,\n useMultiselect,\n useTextContent,\n useMeasure,\n useInteractiveColor,\n} from \"@sproutsocial/seeds-react-hooks\";\nexport * from \"@sproutsocial/seeds-react-mixins\";\n\n/* Components */\nexport * from \"@sproutsocial/seeds-react-avatar\";\nexport * from \"@sproutsocial/seeds-react-badge\";\nexport * from \"@sproutsocial/seeds-react-banner\";\nexport * from \"@sproutsocial/seeds-react-box\";\nexport * from \"./Breadcrumb\";\nexport * from \"@sproutsocial/seeds-react-button\";\nexport * from \"@sproutsocial/seeds-react-card\";\nexport * from \"@sproutsocial/seeds-react-character-counter\";\nexport * from \"@sproutsocial/seeds-react-chart-legend\";\nexport * from \"@sproutsocial/seeds-react-checkbox\";\nexport * from \"@sproutsocial/seeds-react-collapsible\";\nexport * from \"@sproutsocial/seeds-react-datepicker\";\nexport * from \"@sproutsocial/seeds-react-drawer\";\nexport * from \"@sproutsocial/seeds-react-duration\";\nexport * from \"@sproutsocial/seeds-react-empty-state\";\nexport * from \"@sproutsocial/seeds-react-fieldset\";\nexport * from \"@sproutsocial/seeds-react-form-field\";\nexport * from \"@sproutsocial/seeds-react-icon\";\nexport * from \"@sproutsocial/seeds-react-image\";\nexport * from \"@sproutsocial/seeds-react-indicator\";\nexport * from \"@sproutsocial/seeds-react-input\";\nexport * from \"@sproutsocial/seeds-react-keyboard-key\";\nexport * from \"@sproutsocial/seeds-react-label\";\nexport * from \"@sproutsocial/seeds-react-link\";\nexport * from \"./Listbox\";\nexport * from \"@sproutsocial/seeds-react-loader\";\nexport * from \"@sproutsocial/seeds-react-loader-button\";\nexport * from \"./Menu\";\nexport * from \"@sproutsocial/seeds-react-modal\";\nexport * from \"@sproutsocial/seeds-react-message\";\nexport * from \"@sproutsocial/seeds-react-numeral\";\nexport * from \"@sproutsocial/seeds-react-partner-logo\";\nexport * from \"@sproutsocial/seeds-react-popout\";\nexport * from \"@sproutsocial/seeds-react-portal\";\nexport * from \"@sproutsocial/seeds-react-radio\";\nexport * from \"@sproutsocial/seeds-react-rating\";\nexport * from \"@sproutsocial/seeds-react-segmented-control\";\nexport * from \"@sproutsocial/seeds-react-select\";\nexport * from \"@sproutsocial/seeds-react-skeleton\";\nexport * from \"@sproutsocial/seeds-react-spot-illustration\";\nexport * from \"@sproutsocial/seeds-react-stack\";\nexport * from \"@sproutsocial/seeds-react-switch\";\nexport * from \"@sproutsocial/seeds-react-table\";\nexport * from \"@sproutsocial/seeds-react-table/TableCell\";\nexport * from \"@sproutsocial/seeds-react-table/TableHeaderCell\";\nexport * from \"@sproutsocial/seeds-react-table/TableRowAccordion\";\nexport * from \"@sproutsocial/seeds-react-tabs\";\nexport * from \"@sproutsocial/seeds-react-text\";\nexport * from \"@sproutsocial/seeds-react-textarea\";\nexport * from \"@sproutsocial/seeds-react-toast\";\nexport * from \"./ToggleHint\";\nexport * from \"@sproutsocial/seeds-react-token\";\nexport * from \"@sproutsocial/seeds-react-token-input\";\nexport * from \"@sproutsocial/seeds-react-tooltip\";\nexport * from \"@sproutsocial/seeds-react-visually-hidden\";\nexport * from \"@sproutsocial/seeds-react-data-table\";\nexport * from \"@sproutsocial/seeds-react-table-v2\";\n/* End */\n\n/**\n * @deprecated Alert has been renamed to Banner\n */\nexport { Banner as Alert } from \"@sproutsocial/seeds-react-banner\";\n","import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Link from \"@sproutsocial/seeds-react-link\";\n// eslint-disable-next-line no-restricted-imports\nimport { MenuButton } from \"../Menu\";\nimport Nav from \"./styles\";\nimport type {\n TypeBreadcrumbProps,\n TypeBreadcrumbItemProps,\n} from \"./BreadcrumbTypes\";\n\n/**\n * @deprecated BreadcrumbItem is deprecated. BreadcrumbItem will be removed in 2025 in favor of seeds-react-breadcrumb which utilizes the new Menu ecosystem. Please create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-breadcrumb | seeds-react-breadcrumb}.\n */\nconst BreadcrumbItem = ({\n children,\n href,\n ...rest\n}: TypeBreadcrumbItemProps) => {\n return (\n <li>\n <Link href={href} {...rest}>\n {children}\n </Link>\n </li>\n );\n};\n\n/**\n * @deprecated Breadcrumb is deprecated. This iteration of Breadcrumb will be removed in 2025 in favor of seeds-react-breadcrumb which utilizes the new Menu ecosystem. Please create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-breadcrumb | seeds-react-breadcrumb}.\n */\nconst Breadcrumb = ({\n ariaLabel,\n overflow,\n children,\n ...rest\n}: TypeBreadcrumbProps) => {\n const listItems = React.Children.toArray(children);\n const lastItem = listItems[listItems.length - 1];\n return (\n <Nav aria-label={ariaLabel} data-qa-breadcrumb={ariaLabel} {...rest}>\n <ol>\n {overflow && (\n <li>\n <MenuButton\n appearance=\"secondary\"\n content={overflow.menu}\n aria-label={overflow.label}\n className=\"overflow--menu\"\n px={200}\n py={0}\n >\n <Icon name=\"ellipsis-horizontal-solid\" aria-hidden />\n </MenuButton>\n </li>\n )}\n {listItems.map((item, i) => {\n // @ts-notes - item is a childNode which can be a string or number but `cloneElement` requires props\n const itemElem =\n typeof item === \"object\" && \"props\" in item ? (\n item\n ) : (\n <span>item</span>\n );\n return React.cloneElement(itemElem, {\n ...itemElem.props,\n \"aria-current\": listItems[i] === lastItem ? \"page\" : undefined,\n });\n })}\n </ol>\n </Nav>\n );\n};\n\nBreadcrumbItem.displayName = \"Breadcrumb.Item\";\nBreadcrumb.Item = BreadcrumbItem;\n\nexport default Breadcrumb;\n","import * as React from \"react\";\nimport {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styled from \"styled-components\";\nimport uniqueId from \"lodash.uniqueid\";\nimport { useTextContent } from \"@sproutsocial/seeds-react-hooks\";\nimport { innerText } from \"./utils/innertext\";\nimport { disabled } from \"@sproutsocial/seeds-react-mixins\";\nimport Box, { TypeBoxProps } from \"@sproutsocial/seeds-react-box\";\nimport Button from \"@sproutsocial/seeds-react-button\";\nimport Checkbox from \"@sproutsocial/seeds-react-checkbox\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Input, { TypeInputProps } from \"@sproutsocial/seeds-react-input\";\nimport Popout from \"@sproutsocial/seeds-react-popout\";\nimport Radio from \"@sproutsocial/seeds-react-radio\";\nimport Switch from \"@sproutsocial/seeds-react-switch\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport type {\n TypeMenuButtonProps,\n TypeMenuGroupProps,\n TypeMenuItemProps,\n TypeMenuItemRoles,\n TypeMenuProps,\n TypeMenuRoles,\n TypeMenuSwitchProps,\n} from \"./MenuTypes\";\nimport {\n MENU_ITEM_ROLES,\n MENU_ROLES,\n DescendantProvider,\n useDescendant,\n useDescendants,\n MenuButtonContext,\n MenuContext,\n MenuDescendantContext,\n useMenuKeyDown,\n} from \"./utils\";\nimport type { TypeMenuDescendantProps } from \"./utils\";\nimport { MenuItemContainer, MenuItemsContainer } from \"./styles\";\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = () => {};\n\nconst getMenuItemRole = (\n menuRole?: TypeMenuRoles | null\n): TypeMenuItemRoles => {\n switch (menuRole) {\n case MENU_ROLES.LIST:\n return MENU_ITEM_ROLES.LISTITEM;\n\n case MENU_ROLES.LISTBOX:\n return MENU_ITEM_ROLES.OPTION;\n\n case MENU_ROLES.MENU:\n default:\n return MENU_ITEM_ROLES.MENUITEM;\n }\n};\n\nfunction isValueSelected(menuValue, value) {\n if (!menuValue) return false;\n\n if (typeof menuValue === \"string\") {\n return Boolean(menuValue && value && menuValue === value);\n } else if (Array.isArray(menuValue)) {\n return menuValue.includes(value);\n }\n\n return false;\n}\n\n/**\n * @deprecated MenuItem is deprecated. MenuItem will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuItem = ({\n id: idProp,\n index: indexProp,\n as,\n children,\n role: roleProp,\n elemBefore,\n elemAfter,\n value: valueProp,\n onKeyPress,\n onClick,\n selected,\n disabled,\n indeterminate,\n label: labelProp,\n active: activeProp,\n ...props\n}: TypeMenuItemProps) => {\n const {\n role: menuRole,\n onChange,\n value,\n multiselect,\n state: menuState,\n selectCallbacks,\n menuRef,\n } = useContext(MenuContext);\n const { selectionIndex, filteredItems } = menuState;\n const { closePopout, closeOnItemClick } = useContext(MenuButtonContext);\n const isSelected = selected || isValueSelected(value, valueProp);\n const shouldClosePopout = closeOnItemClick && !multiselect;\n const itemRole = roleProp || getMenuItemRole(menuRole);\n const id = useMemo(() => idProp || uniqueId(\"MenuItem-\"), [idProp]);\n const textContent = useTextContent(\"\");\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const label = labelProp || textContent.current;\n const ref = useRef<HTMLDivElement | null>(null);\n const index = useDescendant<HTMLElement, TypeMenuDescendantProps>(\n {\n context: MenuDescendantContext,\n element: ref.current,\n value: valueProp || label,\n label,\n disabled,\n id,\n },\n indexProp\n );\n const isHidden = filteredItems && !filteredItems.includes(index);\n const isFocused = index === selectionIndex;\n selectCallbacks.current[index] = onClick;\n const [keyPressed, setKeyPressed] = useState(false);\n const isActive = useMemo(\n () => activeProp || (isFocused && keyPressed),\n [activeProp, isFocused, keyPressed]\n );\n const isCheckboxOrRadio = [\n MENU_ITEM_ROLES.CHECKBOX,\n MENU_ITEM_ROLES.RADIO,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ].includes(itemRole as any); // @ts-notes @refactor - since we're only really checking against the string I think we can safely leave this for refactor, nothing else worked for me\n const interactive =\n onClick ||\n onKeyPress ||\n [\n MENU_ITEM_ROLES.OPTION,\n MENU_ITEM_ROLES.MENUITEM,\n MENU_ITEM_ROLES.CHECKBOX,\n MENU_ITEM_ROLES.RADIO,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ].includes(itemRole as any);\n\n /**\n * The Checkbox/Radio component doesn't expose a tabIndex prop, so we can't set the tabIndex on the underlying input\n * to remove it from the tab order. Resulting to DOM manipulation as a last resort. We can remove this if Checkbox\n * exposes this prop in the future.\n */\n useEffect(() => {\n if (isCheckboxOrRadio && ref.current) {\n const input = ref.current.querySelector(\"input\");\n\n if (input) {\n input.tabIndex = -1;\n }\n }\n }, [ref, isCheckboxOrRadio]);\n useEffect(() => {\n if (filteredItems) {\n setKeyPressed(true);\n } else if (selectionIndex !== 0) {\n setKeyPressed(true);\n }\n }, [selectionIndex, filteredItems]);\n const handleClick = useCallback(\n (e: React.SyntheticEvent<HTMLButtonElement>) => {\n menuRef.current?.focus();\n\n if (onChange && itemRole !== MENU_ITEM_ROLES.LISTITEM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange((valueProp as any) || label);\n }\n\n shouldClosePopout && closePopout && closePopout();\n onClick && onClick(e);\n },\n [\n menuRef,\n onChange,\n itemRole,\n shouldClosePopout,\n closePopout,\n onClick,\n valueProp,\n label,\n ]\n );\n const before = useMemo(() => {\n if (elemBefore) return elemBefore;\n\n if (itemRole === MENU_ITEM_ROLES.CHECKBOX) {\n return (\n <Checkbox\n id={`Checkbox-${id}`}\n checked={isSelected}\n aria-hidden=\"true\"\n onChange={noop}\n indeterminate={indeterminate}\n mr={300}\n />\n );\n } else if (itemRole === MENU_ITEM_ROLES.RADIO) {\n return (\n <Radio\n id={`Radio-${id}`}\n name={`Radio-${id}`}\n checked={isSelected}\n aria-hidden=\"true\"\n onChange={noop}\n mr={300}\n />\n );\n }\n }, [elemBefore, id, indeterminate, isSelected, itemRole]);\n const after = useMemo(() => {\n if (elemAfter) return elemAfter;\n\n if (isSelected && !isCheckboxOrRadio) {\n return <Icon name=\"check-solid\" aria-hidden size=\"small\" ml={300} />;\n }\n }, [elemAfter, isCheckboxOrRadio, isSelected]);\n return (\n <MenuItemContainer\n data-qa-menu-item={label}\n {...props}\n active={isActive}\n data-qa-is-active={isActive}\n id={id}\n aria-label={labelProp}\n value={valueProp}\n data-value={valueProp}\n forwardedAs={as || \"li\"}\n aria-checked={isCheckboxOrRadio ? isSelected : undefined}\n aria-selected={\n itemRole === MENU_ITEM_ROLES.OPTION ? isSelected : undefined\n }\n disabled={disabled}\n aria-disabled={disabled}\n isCheckboxOrRadio={isCheckboxOrRadio}\n hidden={Boolean(isHidden)} // @ts migration note: coercing to a boolean here otherwise it thinks its actually receiving callbacks\n interactive={Boolean(interactive)} // @ts migration note: coercing to a boolean here otherwise it thinks its actually receiving callbacks\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore handleclick takes in different event type than what it receives half the times\n onClick={!disabled ? handleClick : undefined}\n role={itemRole}\n selected={isSelected}\n tabIndex={\n itemRole !== MENU_ITEM_ROLES.LISTITEM && !disabled ? -1 : undefined\n }\n >\n <div\n ref={ref}\n style={{\n display: \"flex\",\n alignItems: props.alignItems || \"center\",\n justifyContent: \"space-between\",\n }}\n >\n {before}\n <div\n style={{\n flexGrow: 1,\n wordBreak: \"break-word\",\n minWidth: 0,\n }}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore some legacy ref type mismatch between divs\n ref={textContent}\n >\n {children}\n </div>\n {after}\n </div>\n </MenuItemContainer>\n );\n};\n\n/**\n * @deprecated MenuCheckbox is deprecated. MenuCheckbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuCheckbox = (props: TypeMenuItemProps) => (\n <MenuItem role={MENU_ITEM_ROLES.CHECKBOX} {...props} />\n);\n\n/**\n * @deprecated MenuRadio is deprecated. MenuRadio will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuRadio = (props: TypeMenuItemProps) => (\n <MenuItem role={MENU_ITEM_ROLES.RADIO} {...props} />\n);\n\n/**\n * @deprecated MenuSwitch is deprecated. MenuSwitch will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuSwitch = (props: TypeMenuSwitchProps) => {\n const { value: menuValue } = useContext(MenuContext);\n const {\n placement,\n labelProps = {},\n switchProps = {},\n children,\n id,\n label,\n ...rest\n } = props;\n const menuItemId = useMemo(() => id || uniqueId(\"MenuItem-\"), [id]);\n const labelId = `${menuItemId}-label`;\n const switchElement = (\n <Switch\n id={`${menuItemId}-switch`}\n checked={props.selected || isValueSelected(menuValue, props.value)}\n aria-hidden=\"true\"\n tabIndex={-1}\n aria-labelledby={labelId}\n {...(placement === \"before\" ? { mr: 300 } : { ml: 300 })}\n {...switchProps}\n // This prop is passed after switchProps to disallow overrides.\n onClick={noop}\n />\n );\n const menuItemProps = {\n id: menuItemId,\n label,\n elemBefore: placement === \"before\" ? switchElement : undefined,\n // Empty fragment prevents a check icon in elemAfter when the switch is checked. Can be overridden.\n elemAfter: placement === \"before\" ? <></> : switchElement,\n ...rest,\n };\n return (\n <MenuItem {...menuItemProps}>\n {/*Using Text and aria-labelledby instead of Label to avoid default Label styling and onClick behavior.*/}\n <Text\n id={labelId}\n {...labelProps}\n // This prop is passed after labelProps to disallow overrides.\n // Fall back to the label prop if children is falsy.\n // eslint-disable-next-line react/no-children-prop\n children={children || label}\n />\n </MenuItem>\n );\n};\n\nconst MenuTitle = styled(Text)`\n font-weight: 600;\n padding-left: ${({ theme }) => theme.space[300]};\n padding-top: ${({ theme }) => theme.space[200]};\n padding-bottom: ${({ theme }) => theme.space[300]};\n color: ${({ theme }) => theme.colors.text.headline};\n`;\n\n/**\n * @deprecated MenuGroup is deprecated. MenuGroup will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuGroup = ({\n children,\n title,\n titleAs,\n disabled: isDisabled = false,\n ...props\n}: TypeMenuGroupProps) => {\n const menuTitleId = useMemo(() => uniqueId(\"menu-title-\"), []);\n return (\n <>\n <Box\n p={300}\n role=\"group\"\n aria-labelledby={title ? menuTitleId : undefined}\n borderTop=\"1px solid\"\n borderColor=\"container.border.base\"\n {...props}\n >\n {title && (\n <MenuTitle\n id={menuTitleId}\n role=\"presentation\"\n fontSize={200}\n forwardedAs={titleAs || \"li\"}\n css={isDisabled ? disabled : undefined}\n >\n {title}\n </MenuTitle>\n )}\n {children}\n </Box>\n </>\n );\n};\n\n/**\n * @deprecated MenuDivider is deprecated. MenuDivider will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuDivider = (props: TypeBoxProps) => (\n <Box\n as=\"li\"\n role=\"separator\"\n borderTop=\"1px solid\"\n borderColor=\"container.border.base\"\n {...props}\n />\n);\n\n/**\n * @deprecated MenuFilterInput is deprecated. MenuFilterInput will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuFilterInput = ({ type = \"search\", ...props }: TypeInputProps) => {\n const { onChange, onFocus, onBlur } = props;\n const { state, setState } = useContext(MenuContext);\n const handleOnChange: TypeInputProps[\"onChange\"] = useCallback(\n (event, value) => {\n onChange && onChange(event, value);\n setState({\n filterQuery: value,\n });\n },\n [setState, onChange]\n );\n const handleOnFocus: TypeInputProps[\"onFocus\"] = useCallback(\n (event) => {\n onFocus && onFocus(event);\n setState({\n isFilterInputFocused: true,\n });\n },\n [setState, onFocus]\n );\n const handleOnBlur: TypeInputProps[\"onBlur\"] = useCallback(\n (event) => {\n onBlur && onBlur(event);\n setState({\n isFilterInputFocused: false,\n });\n },\n [setState, onBlur]\n );\n return (\n <Input\n {...props}\n type={type}\n value={state.filterQuery}\n onChange={handleOnChange}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n />\n );\n};\n\n/**\n * @deprecated MenuItems are deprecated. MenuItems will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuItems = ({\n children,\n role,\n multiselect,\n innerRef,\n ...props\n}: TypeMenuProps) => {\n const { handleKeyDown, activeDescendent } = useMenuKeyDown();\n return (\n <MenuItemsContainer\n {...props}\n forwardedAs=\"ul\"\n ref={innerRef}\n role={role}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n aria-activedescendant={activeDescendent?.id}\n aria-multiselectable={multiselect ? true : undefined}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n margin={0}\n padding={0}\n overflow=\"hidden\"\n >\n {children}\n </MenuItemsContainer>\n );\n};\n\n/**\n * @deprecated MenuFooter is deprecated. MenuFooter will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nconst MenuFooter = ({ children }) => {\n const { setState } = useContext(MenuContext);\n const handleOnBlur = useCallback(() => {\n setState({\n isFooterFocused: false,\n });\n }, [setState]);\n const handleOnFocus = useCallback(() => {\n setState({\n isFooterFocused: true,\n });\n }, [setState]);\n return (\n <Box onBlur={handleOnBlur} onFocus={handleOnFocus}>\n {children}\n </Box>\n );\n};\n\n/**\n * @deprecated Menu is deprecated. Menu will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const Menu = ({\n role = MENU_ROLES.MENU,\n children,\n onChange,\n value,\n multiselect,\n innerRef,\n footerContent,\n ...props\n}: TypeMenuProps) => {\n const [descendants, setDescendants] = useDescendants<\n HTMLElement,\n TypeMenuDescendantProps\n >();\n const [state, setState] = useState({\n selectionIndex: 0,\n filterQuery: \"\",\n filteredItems: null,\n isFilterInputFocused: false,\n isFooterFocused: false,\n });\n const selectCallbacks = useRef<((() => void) | null | undefined)[]>([]);\n const menuRef = useRef(null);\n const setContextState = useCallback(\n (newState) => {\n setState({ ...state, ...newState });\n },\n [state]\n );\n return (\n <DescendantProvider\n context={MenuDescendantContext}\n items={descendants}\n set={setDescendants}\n >\n <MenuContext.Provider\n value={{\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n menuRef: innerRef || menuRef,\n role,\n onChange,\n value,\n multiselect,\n state,\n setState: setContextState,\n selectCallbacks,\n }}\n >\n <MenuItems\n {...props}\n role={role}\n multiselect={multiselect}\n innerRef={menuRef}\n >\n {children}\n </MenuItems>\n {footerContent ? <MenuFooter>{footerContent}</MenuFooter> : null}\n </MenuContext.Provider>\n </DescendantProvider>\n );\n};\n\nMenuGroup.displayName = \"Menu.Group\";\nMenuItem.displayName = \"Menu.Item\";\nMenuCheckbox.displayName = \"Menu.Checkbox\";\nMenuRadio.displayName = \"Menu.Radio\";\nMenuSwitch.displayName = \"Menu.Switch\";\nMenuDivider.displayName = \"Menu.Divider\";\nMenuFilterInput.displayName = \"Menu.FilterInput\";\nMenu.displayName = \"Menu\";\n\nMenu.Group = MenuGroup;\nMenu.Item = MenuItem;\nMenu.Checkbox = MenuCheckbox;\nMenu.Radio = MenuRadio;\nMenu.Switch = MenuSwitch;\nMenu.Divider = MenuDivider;\nMenu.FilterInput = MenuFilterInput;\n\nconst CustomPopoutContent = styled(Popout.Content)`\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n`;\n\n/**\n * @deprecated MenuButton is deprecated. MenuButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const MenuButton = ({\n content,\n popoutProps,\n children,\n onClick,\n closeOnItemClick = true,\n id = uniqueId(\"MenuButton-\"),\n placement = \"bottom\",\n isOpen,\n setIsOpen,\n ...props\n}: TypeMenuButtonProps) => {\n const [isInternalShown, setIsInternalShown] = useState(false);\n const isControlled = typeof isOpen === \"boolean\";\n const isShown = isControlled ? isOpen : isInternalShown;\n const setIsShown = useMemo(\n () =>\n isControlled && setIsOpen\n ? setIsOpen\n : (nextIsShown) => setIsInternalShown(nextIsShown),\n [isControlled, setIsOpen]\n );\n const closePopout = useCallback(() => setIsShown(false), [setIsShown]);\n const ariaLabelledBy = props[\"aria-labelledby\"]\n ? `${props[\"aria-labelledby\"]} ${id}`\n : undefined;\n const ariaLabel = props[\"aria-label\"]\n ? `${props[\"aria-label\"]} ${innerText(children)}`\n : undefined;\n return (\n <MenuButtonContext.Provider\n value={{\n closePopout,\n closeOnItemClick,\n }}\n >\n <Popout\n isOpen={isShown}\n setIsOpen={setIsShown}\n content={<CustomPopoutContent>{content}</CustomPopoutContent>}\n placement={placement}\n {...popoutProps}\n width={props.width}\n >\n <Button\n {...props}\n id={id}\n aria-labelledby={ariaLabelledBy?.trim()}\n aria-label={ariaLabel?.trim()}\n active={isShown}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onClick && onClick(e as any); // @ts-notes unfortunately we're passing in a keyboard event here and not the mouse event it expects, so no way to coerce it\n setIsShown(true);\n }\n }}\n onClick={(e) => {\n onClick && onClick(e);\n setIsShown(!isShown);\n }}\n >\n {children}\n </Button>\n </Popout>\n </MenuButtonContext.Provider>\n );\n};\n\n/**\n * @deprecated Menu is deprecated. Menu will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport default Menu;\n","import type { ReactNode } from \"react\";\n\nconst hasOwnProperty = (obj: ReactNode | object, property: string): boolean => {\n return Object.prototype.hasOwnProperty.call(obj, property);\n};\n\nconst hasChildren = (node: object): boolean => {\n return hasOwnProperty(node, \"children\");\n};\n\nconst hasProps = (node: ReactNode): boolean => {\n return hasOwnProperty(node, \"props\");\n};\n\nconst reduceNodeToString = (previous: string, current: ReactNode): string => {\n return previous.length\n ? `${previous} ${innerText(current)}`\n : innerText(current);\n};\n\nexport const innerText = (node: ReactNode): string => {\n if (\n node === null ||\n typeof node === \"undefined\" ||\n typeof node === \"boolean\"\n ) {\n return \"\";\n } else if (typeof node === \"string\") {\n return node;\n } else if (typeof node === \"number\") {\n return node.toString();\n } else if (Array.isArray(node)) {\n return (node as React.ReactNodeArray).reduce<string>(\n reduceNodeToString,\n \"\"\n );\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - hasProps checks for props, but may be able to fix this\n } else if (hasProps(node) && hasChildren(node.props)) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore - how can we make sure ts knows this is ok?\n return innerText(node.props.children);\n }\n\n return \"\";\n};\n","export const MENU_ROLES = Object.freeze({\n MENU: \"menu\",\n LIST: \"list\",\n LISTBOX: \"listbox\",\n} as const);\nexport const MENU_ITEM_ROLES = Object.freeze({\n MENUITEM: \"menuitem\",\n LISTITEM: \"listitem\",\n OPTION: \"option\",\n RADIO: \"menuitemradio\",\n CHECKBOX: \"menuitemcheckbox\",\n} as const);\n","/* eslint-disable */\nimport * as React from \"react\";\nimport {\n createContext,\n useState,\n useLayoutEffect,\n useEffect,\n useContext,\n useCallback,\n useMemo,\n useRef,\n} from \"react\";\n\n/**\n * These hooks and utilities are largely copied from the @reach-ui/descendents package. They consider the package\n * pre-release and unstable, so instead of importing it, we copied it here and changed the types from TypeScript to\n * Flow. If the package ever stabilizes, we can import these functions from there and remove this file.\n */\nexport type TypeDescendant<ElementType, DescendantProps> = DescendantProps & {\n element: ElementType | null;\n index: number;\n};\ntype TypeDescendantContext<ElementType, DescendantProps> = {\n descendants: TypeDescendant<ElementType, DescendantProps>[];\n registerDescendant(\n descendant: Omit<TypeDescendant<ElementType, DescendantProps>, \"index\">\n ): void;\n unregisterDescendant(element: ElementType | null): void;\n};\n\nconst noop = () => {};\n\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\nexport function usePrevious(value) {\n const ref = useRef(null);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\n/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nexport function wrapEvent<EventType extends React.SyntheticEvent | Event>(\n theirHandler: ((event: EventType) => any) | null | undefined,\n ourHandler: (event: EventType) => any\n): (event: EventType) => any {\n return (event) => {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport function canUseDOM() {\n return (\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n );\n}\nconst useIsomorphicLayoutEffect = canUseDOM() ? useLayoutEffect : useEffect;\n\nexport function createNamedContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType\n): React.Context<ContextValueType> {\n const Ctx = createContext<ContextValueType>(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}\n\nexport function createDescendantContext(\n name: string,\n initialValue = {\n descendants: [],\n registerDescendant: noop,\n unregisterDescendant: noop,\n }\n) {\n return createNamedContext(name, {\n ...initialValue,\n });\n}\n\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\nexport function useDescendant<ElementType, DescendantProps>(\n { context, element, ...rest },\n indexProp?: number\n) {\n let [, forceUpdate] = useState<any>();\n let { registerDescendant, unregisterDescendant, descendants } =\n useContext<TypeDescendantContext<ElementType, DescendantProps>>(context);\n // Prevent any flashing\n useIsomorphicLayoutEffect(() => {\n if (!element) forceUpdate({});\n registerDescendant({\n element,\n ...rest,\n } as any);\n return () => unregisterDescendant(element);\n }, [element, ...Object.values(rest)]);\n return indexProp\n ? indexProp\n : descendants.findIndex((item) => item.element === element);\n}\nexport function useDescendants<ElementType, DescendantProps>() {\n return useState<TypeDescendant<ElementType, DescendantProps>[]>([]);\n}\nexport function DescendantProvider<\n ElementType extends HTMLElement,\n DescendantProps\n>({\n context: Ctx,\n children,\n items,\n set,\n}: {\n context: any;\n children: React.ReactNode;\n items: TypeDescendant<ElementType, DescendantProps>[];\n set: (\n arg0: (arg0: TypeDescendant<ElementType, DescendantProps>[]) => any\n ) => any;\n}) {\n let registerDescendant = useCallback(\n ({ element, ...rest }) => {\n if (!element) {\n return;\n }\n\n set((items) => {\n let newItem;\n let newItems;\n\n // If there are no items, register at index 0 and bail.\n if (items.length === 0) {\n newItem = {\n element,\n index: 0,\n ...rest,\n };\n newItems = [...items, newItem];\n } else if (items.find((item) => item.element === element)) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n let index = items.findIndex((item) => {\n if (!item.element || !element) {\n return false;\n }\n\n // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n return Boolean(\n item.element.compareDocumentPosition(element) &\n Node.DOCUMENT_POSITION_PRECEDING\n );\n });\n newItem = {\n element,\n index,\n ...rest,\n };\n\n // If an index is not found we will push the element to the end.\n if (index === -1) {\n newItems = [...items, newItem];\n } else {\n newItems = [\n ...items.slice(0, index),\n newItem,\n ...items.slice(index),\n ];\n }\n }\n\n return newItems.map((item, index) => ({ ...item, index }));\n });\n }, // set is a state setter initialized by the useDescendants hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n let unregisterDescendant = useCallback(\n (element: TypeDescendant<ElementType, DescendantProps>[\"element\"]) => {\n if (!element) {\n return;\n }\n\n set((items) =>\n items\n .filter((item) => element !== item.element)\n .map((item, index) => ({ ...item, index }))\n );\n }, // set is a state setter initialized by the useDescendants hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n const value = useMemo(() => {\n return {\n descendants: items,\n registerDescendant,\n unregisterDescendant,\n };\n }, [items, registerDescendant, unregisterDescendant]);\n return <Ctx.Provider value={value}>{children}</Ctx.Provider>;\n}\nexport function useDescendantKeyDown<\n ElementType,\n DescendantProps,\n K extends keyof TypeDescendant<ElementType, DescendantProps>\n>(\n context: React.Context<TypeDescendantContext<ElementType, DescendantProps>>,\n options: {\n currentIndex?: number;\n key?: K | \"option\";\n filter?: (\n descendant: TypeDescendant<ElementType, DescendantProps>\n ) => boolean;\n orientation?: \"vertical\" | \"horizontal\" | \"both\";\n rotate?: boolean;\n rtl?: boolean;\n callback(\n nextOption:\n | TypeDescendant<ElementType, DescendantProps>\n | TypeDescendant<ElementType, DescendantProps>[keyof TypeDescendant<\n ElementType,\n DescendantProps\n >]\n ): void;\n }\n) {\n let { descendants } = useContext(context);\n let {\n callback,\n currentIndex,\n filter,\n key = \"index\",\n orientation = \"vertical\",\n rotate = true,\n rtl = false,\n } = options;\n let index = currentIndex ? currentIndex : -1;\n return function handleKeyDown(event: React.KeyboardEvent) {\n if (\n ![\n \"ArrowDown\",\n \"ArrowUp\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"PageUp\",\n \"PageDown\",\n \"Home\",\n \"End\",\n ].includes(event.key)\n ) {\n return;\n }\n\n // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n let selectableDescendants = filter\n ? descendants.filter(filter)\n : descendants;\n\n // Current index should map to the updated array vs. the original\n // descendants array.\n if (filter) {\n index = selectableDescendants.findIndex(\n (descendant) => descendant.index === currentIndex\n );\n }\n\n // We need some options for any of this to work!\n if (!selectableDescendants.length) {\n return;\n }\n\n function getNextOption() {\n let atBottom = index === selectableDescendants.length - 1;\n return atBottom\n ? rotate\n ? getFirstOption()\n : selectableDescendants[index]\n : selectableDescendants[(index + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n let atTop = index === 0;\n return atTop\n ? rotate\n ? getLastOption()\n : selectableDescendants[index]\n : selectableDescendants[\n (index - 1 + selectableDescendants.length) %\n selectableDescendants.length\n ];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n let next = getNextOption() as any; // @ts-notes: sincerely dont understand the intent of the original library here, since the supposed reference has been completely refactored\n callback(key === \"option\" ? next : next[key]);\n }\n\n break;\n\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n let prev = getPreviousOption() as any;\n callback(key === \"option\" ? prev : prev[key]);\n }\n\n break;\n\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n let nextOrPrev = (rtl ? getNextOption : getPreviousOption)() as any;\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n\n break;\n\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n let prevOrNext = (rtl ? getPreviousOption : getNextOption)() as any;\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n\n break;\n\n case \"PageUp\":\n event.preventDefault();\n let prevOrFirst = (\n event.ctrlKey ? getPreviousOption : getFirstOption\n )() as any;\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n\n case \"Home\":\n event.preventDefault();\n let first = getFirstOption() as any;\n callback(key === \"option\" ? first : first[key]);\n break;\n\n case \"PageDown\":\n event.preventDefault();\n let nextOrLast = (\n event.ctrlKey ? getNextOption : getLastOption\n )() as any;\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n\n case \"End\":\n event.preventDefault();\n let last = getLastOption() as any;\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n}\n","// eslint-disable @typescript-eslint/no-explicit-any\nimport { createContext, useContext, useEffect } from \"react\";\nimport scrollIntoViewIfNeeded from \"scroll-into-view-if-needed\";\nimport type { TypeMenuButtonContext, TypeMenuContext } from \"../MenuTypes\";\nimport { MENU_ROLES } from \"./constants\";\nimport type { TypeDescendant } from \"./descendants\";\nimport {\n createDescendantContext,\n useDescendantKeyDown,\n usePrevious,\n wrapEvent,\n} from \"./descendants\";\nexport const MenuContext = createContext<TypeMenuContext>({\n role: MENU_ROLES.MENU,\n menuRef: {\n current: null,\n },\n value: undefined,\n multiselect: false,\n onChange: undefined,\n state: {\n selectionIndex: 0,\n filterQuery: \"\",\n filteredItems: null,\n isFilterInputFocused: false,\n isFooterFocused: false,\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setState: () => {},\n selectCallbacks: {\n current: [],\n },\n});\nexport const MenuButtonContext = createContext<TypeMenuButtonContext>({\n closeOnItemClick: undefined,\n closePopout: undefined,\n});\nexport type TypeMenuDescendantProps = {\n id: string;\n label: string | null | undefined;\n value?: string;\n disabled?: boolean;\n};\nexport const MenuDescendantContext = createDescendantContext(\n \"MenuDescendantContext\"\n);\n\n/**\n * When a user's typed input matches the string displayed in a menu item, it is\n * expected that the matching menu item is selected. This is our matching\n * function.\n */\nfunction filterItemsFromTypeahead(\n items: TypeDescendant<HTMLElement, TypeMenuDescendantProps>[],\n string = \"\"\n) {\n if (!string) {\n return null;\n }\n\n return items\n .filter(\n ({ value, label }) =>\n value?.toLowerCase().includes(string.toLocaleLowerCase()) ||\n label?.toLowerCase().includes(string.toLocaleLowerCase())\n )\n .map(({ index }) => index);\n}\n\nexport function useMenuKeyDown() {\n const {\n onChange,\n selectCallbacks,\n setState,\n multiselect,\n state: {\n filterQuery,\n selectionIndex,\n filteredItems,\n isFilterInputFocused,\n isFooterFocused,\n },\n } = useContext(MenuContext);\n const { closePopout, closeOnItemClick } = useContext(MenuButtonContext);\n const { descendants: items } = useContext(MenuDescendantContext);\n const shouldClosePopout = closeOnItemClick && !multiselect;\n const prevMenuItemsLength = usePrevious(items.length);\n const prevSelected = usePrevious(items[selectionIndex]);\n const prevSelectionIndex = usePrevious(selectionIndex);\n useEffect(() => {\n if (items.length && selectionIndex > items.length - 1) {\n // If for some reason our selection index is larger than our possible\n // index range (let's say the last item is selected and the list\n // dynamically updates), we need to select the last item in the list.\n setState({\n selectionIndex: items.length - 1,\n });\n } else if (\n // Checks if\n // - menu length has changed\n // - selection index has not changed BUT selected item has changed\n //\n // This prevents any dynamic adding/removing of menu items from actually\n // changing a user's expected selection.\n prevMenuItemsLength !== items.length &&\n selectionIndex > -1 &&\n prevSelected &&\n prevSelectionIndex === selectionIndex &&\n items[selectionIndex] !== prevSelected\n ) {\n setState({\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore I'm just going to ignore this one because its really hard to estimate where this stuff is coming from at any given time\n selectionIndex: items.findIndex((i) => i.index === prevSelected.index),\n });\n }\n }, [\n setState,\n items,\n prevMenuItemsLength,\n prevSelected,\n prevSelectionIndex,\n selectionIndex,\n ]);\n useEffect(() => {\n const newFilteredItems = filterItemsFromTypeahead(items, filterQuery);\n\n if (\n filterQuery &&\n newFilteredItems &&\n filteredItems?.length !== newFilteredItems?.length\n ) {\n setState({\n filteredItems: newFilteredItems,\n selectionIndex: newFilteredItems[0],\n });\n } else if (!filterQuery && filteredItems !== null) {\n setState({\n filteredItems: null,\n });\n }\n }, [filterQuery, items, setState, filteredItems]);\n const index = items.findIndex(({ index }) => index === selectionIndex);\n return {\n activeDescendent: items[selectionIndex],\n handleKeyDown: wrapEvent<React.KeyboardEvent>(\n function (event) {\n const { key } = event;\n // Do not trigger key events for the selected item if the footer is focused\n if (isFooterFocused) {\n return;\n }\n\n switch (key) {\n case \" \":\n if (isFilterInputFocused) {\n return;\n }\n\n // falls through\n // eslint-disable-next-line no-fallthrough\n case \"Enter\":\n // eslint-disable-next-line no-case-declarations\n const selected = items[selectionIndex] as HTMLElement[] & {\n index: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n disabled?: boolean;\n };\n\n if (selected && !selected.disabled) {\n event.preventDefault();\n const func = selectCallbacks.current[selected.index];\n func?.call && func();\n onChange && selected.value && onChange(selected.value);\n shouldClosePopout && closePopout && closePopout();\n }\n\n return;\n\n default:\n return;\n }\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n useDescendantKeyDown(MenuDescendantContext as React.Context<any>, {\n currentIndex: index,\n orientation: \"vertical\",\n key: \"option\",\n rotate: true,\n filter: (\n option: TypeDescendant<HTMLElement, TypeMenuDescendantProps>\n ) =>\n !option.disabled &&\n (!filteredItems || filteredItems.includes(option.index)),\n\n callback(item: TypeDescendant<HTMLElement, TypeMenuDescendantProps>) {\n if (item.element) {\n scrollIntoViewIfNeeded(item.element, {\n block: \"nearest\",\n scrollMode: \"if-needed\",\n });\n }\n\n setState({\n selectionIndex: item.index,\n });\n },\n })\n ),\n };\n}\n","import styled, { css } from \"styled-components\";\nimport { disabled, focusRing } from \"@sproutsocial/seeds-react-mixins\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport { StyledSwitchButton as Switch } from \"@sproutsocial/seeds-react-switch\";\nimport type { TypeMenuItemContainerProps } from \"./MenuTypes\";\n\nexport const MenuItemContainer = styled(Box)<TypeMenuItemContainerProps>`\n ${(props) =>\n !props.hidden &&\n css`\n display: block;\n `};\n width: 100%;\n border-radius: ${(props) => props.theme.radii[500]};\n background-color: ${(props) => props.theme.colors.listItem.background.base};\n border: none;\n text-align: left;\n color: ${(props) => props.theme.colors.text.body};\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.normal};\n padding: ${(props) => `6px ${props.theme.space[300]}`};\n list-style-type: none;\n outline: 0;\n ${(props) => css`\n ${props.theme.typography[200]};\n `};\n\n ${(props) =>\n props.selected &&\n !props.isCheckboxOrRadio &&\n css`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n `}\n\n ${(props) =>\n props.active &&\n !props.disabled &&\n css`\n color: ${(props) => props.theme.colors.text.inverse};\n background-color: ${props.theme.colors.listItem.background.selected};\n\n .Icon-svg {\n color: ${(props) => props.theme.colors.text.inverse};\n }\n `}\n\n // Add border to Switches inside of active Menu Items so they do not disappear into the background.\n ${Switch} {\n ${(props) =>\n props.active &&\n !props.disabled &&\n css`\n border-color: ${(props) => props.theme.colors.container.border.base};\n `}\n }\n\n ${(props) =>\n !props.disabled &&\n css`\n &:focus,\n &:hover {\n color: ${(props) => props.theme.colors.text.body};\n background-color: ${(props) =>\n props.theme.colors.listItem.background.hover};\n\n .Icon-svg {\n color: unset;\n }\n }\n `}\n\n ${(props) =>\n props.interactive && !props.disabled\n ? css`\n &:hover {\n cursor: pointer;\n }\n `\n : css`\n &:hover {\n cursor: default;\n }\n `}\n ${(props) => props.disabled && disabled}\n`;\n\nexport const MenuItemsContainer = styled(Box)`\n list-style-type: none;\n &:focus {\n ${focusRing}\n }\n & > div[role=\"group\"]:first-of-type {\n border-top: none;\n }\n`;\n","import Menu, { MenuButton } from \"./Menu\";\n\nexport { Menu, MenuButton };\nexport default Menu;\nexport * from \"./MenuTypes\";\nexport * from \"./styles\";\nexport * from \"./utils\";\n","import styled from \"styled-components\";\n\nconst Nav = styled.nav`\n ol {\n ${(props) => props.theme.typography[200]};\n margin: 0;\n font-family: ${(props) => props.theme.fontFamily};\n padding: 0;\n display: flex;\n }\n\n li {\n margin-right: ${(props) => props.theme.space[200]};\n display: flex;\n }\n\n a,\n button {\n ${(props) => props.theme.typography[200]};\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:not(.overflow--menu) {\n margin: 0;\n padding: 0;\n }\n }\n\n ol > div + li::before {\n content: \"/\";\n margin-right: ${(props) => props.theme.space[200]};\n }\n\n li:last-child a,\n li:last-child button {\n color: ${(props) => props.theme.colors.text.body};\n font-weight: bold;\n }\n\n li:not(:last-child)::after {\n content: \"/\";\n color: ${(props) => props.theme.colors.text.body};\n margin-left: ${(props) => props.theme.space[200]};\n }\n`;\n\nexport default Nav;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { MENU_ROLES } from \"../Menu/utils/constants\";\nimport { Arrow } from \"@sproutsocial/seeds-react-select\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\n// eslint-disable-next-line no-restricted-imports\nimport Menu, { MenuButton } from \"../Menu\";\nimport type { TypeListboxProps, TypeListboxButtonProps } from \"./ListboxTypes\";\n\n/**\n * @deprecated Listbox is deprecated. Listbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const Listbox = ({\n role = MENU_ROLES.LISTBOX,\n children,\n ...rest\n}: TypeListboxProps) => {\n return (\n <Menu {...rest} role={role}>\n {children}\n </Menu>\n );\n};\n\n/**\n * These styles are copied from @sproutsocial/racine/commonjs/Select/styles and applied at the root element since\n * the Listbox component doesn't render a select.\n */\nexport const ListboxButtonContainer = styled(MenuButton)`\n position: relative;\n width: 100%;\n border: 1px solid ${(props) => props.theme.colors.form.border.base};\n border-radius: ${(props) => props.theme.radii[500]};\n background-color: ${(props) => props.theme.colors.form.background.base};\n color: ${(props) => props.theme.colors.text.body};\n cursor: ${(props) => (props.disabled ? \"not-allowed\" : \"pointer\")};\n outline: none;\n appearance: none;\n transition: border-color ${(props) => props.theme.duration.fast}\n ${(props) => props.theme.easing.ease_in},\n box-shadow ${(props) => props.theme.duration.fast}\n ${(props) => props.theme.easing.ease_in};\n font-family: ${(props) => props.theme.fontFamily};\n font-weight: ${(props) => props.theme.fontWeights.normal};\n text-align: left;\n margin: 0;\n &:active {\n transform: none;\n }\n\n padding: ${(props) => {\n switch (props.size) {\n case \"large\":\n return `${props.theme.space[400]} ${props.theme.space[600]} ${props.theme.space[400]} ${props.theme.space[400]}`;\n\n case \"small\":\n return `${props.theme.space[200]} ${props.theme.space[500]} ${props.theme.space[200]} ${props.theme.space[200]}`;\n\n case \"default\":\n default:\n return `${props.theme.space[300]} ${props.theme.space[500]} ${props.theme.space[300]} ${props.theme.space[300]}`;\n }\n }};\n font-size: ${(props) => {\n switch (props.size) {\n case \"large\":\n return props.theme.typography[300].fontSize;\n\n case \"small\":\n case \"default\":\n default:\n return props.theme.typography[200].fontSize;\n }\n }};\n\n ${(props) =>\n props.invalid &&\n css`\n border-color: ${(props) => props.theme.colors.form.border.error};\n ${Arrow} {\n color: ${(props) => props.theme.colors.icon.error};\n }\n `}\n`;\n\n/**\n * @deprecated ListboxButton is deprecated. ListboxButton will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport const ListboxButton = ({\n children,\n ...restProps\n}: TypeListboxButtonProps) => (\n <ListboxButtonContainer\n {...restProps}\n popoutProps={{\n placement: \"bottom-start\",\n ...(restProps.popoutProps || {}),\n }}\n >\n {children}\n <Arrow size={restProps.size}>\n <Icon name=\"chevron-down-outline\" fixedWidth aria-hidden />\n </Arrow>\n </ListboxButtonContainer>\n);\n\nListbox.Option = Listbox.Item = Menu.Item;\nListbox.Checkbox = Menu.Checkbox;\nListbox.Radio = Menu.Radio;\nListbox.Switch = Menu.Switch;\nListbox.Group = Menu.Group;\nListbox.Divider = Menu.Divider;\nListbox.FilterInput = Menu.FilterInput;\n\n/**\n * @deprecated Listbox is deprecated. Listbox will be removed in 2025 in favor of seeds-react-menu ecosystem. Create a plan to migrate to {@link https://github.com/sproutsocial/seeds/tree/main/seeds-react/seeds-react-menu/src | seeds-react-menu}.\n */\nexport default Listbox;\n","import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport Container, { IconText } from \"./styles\";\nimport type { TypeToggleHintProps } from \"./ToggleHintTypes\";\n/**\n * Icon (either chevron or plus/minus) indicating whether an element is open or closed.\n */\n\n/**\n * @deprecated ToggleHint is deprecated. ToggleHint is no longer supported and will be removed in 2025.\n */\nexport default class ToggleHint extends React.Component<TypeToggleHintProps> {\n static defaultProps = {\n isOpen: false,\n icon: \"chevron\",\n };\n getIcon = () => {\n if (this.props.icon === \"chevron\") {\n return <Icon name=\"chevron-down-outline\" aria-hidden />;\n }\n\n return (\n <Icon\n name={this.props.isOpen ? \"minus-outline\" : \"plus-outline\"}\n aria-hidden\n />\n );\n };\n\n render() {\n const {\n icon,\n isOpen,\n openString,\n closeString,\n qa,\n className,\n color,\n ...rest\n } = this.props;\n return (\n <Container\n icon={icon}\n isOpen={isOpen}\n className={`ToggleHint ${className}`}\n data-qa-togglehint-isopen={isOpen}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n {...qa}\n {...rest}\n >\n {this.getIcon()}\n\n <IconText>{isOpen ? closeString : openString}</IconText>\n </Container>\n );\n }\n}\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport { TypeToggleHintProps } from \"./ToggleHintTypes\";\n\nconst Container = styled.div<Pick<TypeToggleHintProps, \"icon\" | \"isOpen\">>`\n position: relative;\n display: inline-block;\n padding: ${(props) => props.theme.space[100]};\n color: currentColor;\n\n ${(props) =>\n props.icon === \"chevron\" &&\n css`\n transition: transform\n ${(props) =>\n `${props.theme.duration.medium} ${props.theme.easing.ease_inout}`};\n\n ${props.isOpen &&\n css`\n transform: rotateX(180deg);\n `}\n `}\n\n ${COMMON}\n`;\n\nexport const IconText = styled.div`\n ${visuallyHidden}\n`;\n\nexport default Container;\n"],"mappings":"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","names":["import_seeds_react_hooks","import_seeds_react_icon","import_react","import_styled_components","import_seeds_react_mixins","import_seeds_react_box","import_seeds_react_switch","items","import_react","index","scrollIntoViewIfNeeded","styled","Box","props","Switch","import_jsx_runtime","noop","disabled","uniqueId","Checkbox","Radio","Icon","Switch","Text","styled","Box","Input","Popout","Button","Menu_default","import_styled_components","styled","import_jsx_runtime","Link","Icon","import_styled_components","import_seeds_react_icon","import_jsx_runtime","Menu_default","styled","props","Icon","React","import_seeds_react_icon","import_styled_components","import_seeds_react_mixins","styled","props","styles_default","import_jsx_runtime","Icon","styles_default"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/modal/v1/index.ts
|
|
31
|
+
var v1_exports = {};
|
|
32
|
+
__export(v1_exports, {
|
|
33
|
+
Modal: () => import_v1.default,
|
|
34
|
+
ModalV1: () => import_v1.Modal
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(v1_exports);
|
|
37
|
+
var import_v1 = __toESM(require("@sproutsocial/seeds-react-modal/v1"));
|
|
38
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
+
0 && (module.exports = {
|
|
40
|
+
Modal,
|
|
41
|
+
ModalV1
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/modal/v1/index.ts"],"sourcesContent":["// V1 Modal - Re-export from seeds-react-modal for optimal tree shaking\nexport {\n default as Modal,\n Modal as ModalV1,\n} from \"@sproutsocial/seeds-react-modal/v1\";\n\n// Explicit type exports\nexport type {\n TypeModalProps,\n TypeModalHeaderProps,\n TypeModalFooterProps,\n TypeModalContentProps,\n TypeModalCloseButtonProps,\n} from \"@sproutsocial/seeds-react-modal/v1\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAGO;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BODY_PADDING, DEFAULT_MODAL_BG, DEFAULT_MODAL_WIDTH, DEFAULT_MODAL_Z_INDEX, DEFAULT_OVERLAY_Z_INDEX_OFFSET, MODAL_PRIORITY_Z_INDEX, MODAL_SIZE_PRESETS, ModalAction, ModalClose, ModalCloseButton, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalRail, ModalTrigger, Modal as ModalV2, TypeModalActionProps, TypeModalRailProps, TypeModalV2CloseButtonProps, TypeModalV2ContentProps, TypeModalV2DescriptionProps, TypeModalV2FooterProps, TypeModalV2HeaderProps, TypeModalV2Props, TypeModalV2TriggerProps } from '@sproutsocial/seeds-react-modal/v2';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BODY_PADDING, DEFAULT_MODAL_BG, DEFAULT_MODAL_WIDTH, DEFAULT_MODAL_Z_INDEX, DEFAULT_OVERLAY_Z_INDEX_OFFSET, MODAL_PRIORITY_Z_INDEX, MODAL_SIZE_PRESETS, ModalAction, ModalClose, ModalCloseButton, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalRail, ModalTrigger, Modal as ModalV2, TypeModalActionProps, TypeModalRailProps, TypeModalV2CloseButtonProps, TypeModalV2ContentProps, TypeModalV2DescriptionProps, TypeModalV2FooterProps, TypeModalV2HeaderProps, TypeModalV2Props, TypeModalV2TriggerProps } from '@sproutsocial/seeds-react-modal/v2';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/modal/v2/index.ts
|
|
21
|
+
var v2_exports = {};
|
|
22
|
+
__export(v2_exports, {
|
|
23
|
+
BODY_PADDING: () => import_v22.BODY_PADDING,
|
|
24
|
+
DEFAULT_MODAL_BG: () => import_v22.DEFAULT_MODAL_BG,
|
|
25
|
+
DEFAULT_MODAL_WIDTH: () => import_v22.DEFAULT_MODAL_WIDTH,
|
|
26
|
+
DEFAULT_MODAL_Z_INDEX: () => import_v22.DEFAULT_MODAL_Z_INDEX,
|
|
27
|
+
DEFAULT_OVERLAY_Z_INDEX_OFFSET: () => import_v22.DEFAULT_OVERLAY_Z_INDEX_OFFSET,
|
|
28
|
+
MODAL_PRIORITY_Z_INDEX: () => import_v22.MODAL_PRIORITY_Z_INDEX,
|
|
29
|
+
MODAL_SIZE_PRESETS: () => import_v22.MODAL_SIZE_PRESETS,
|
|
30
|
+
ModalAction: () => import_v2.ModalAction,
|
|
31
|
+
ModalClose: () => import_v2.ModalClose,
|
|
32
|
+
ModalCloseButton: () => import_v2.ModalCloseButton,
|
|
33
|
+
ModalContent: () => import_v2.ModalContent,
|
|
34
|
+
ModalDescription: () => import_v2.ModalDescription,
|
|
35
|
+
ModalFooter: () => import_v2.ModalFooter,
|
|
36
|
+
ModalHeader: () => import_v2.ModalHeader,
|
|
37
|
+
ModalRail: () => import_v2.ModalRail,
|
|
38
|
+
ModalTrigger: () => import_v2.ModalTrigger,
|
|
39
|
+
ModalV2: () => import_v2.Modal
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(v2_exports);
|
|
42
|
+
var import_v2 = require("@sproutsocial/seeds-react-modal/v2");
|
|
43
|
+
var import_v22 = require("@sproutsocial/seeds-react-modal/v2");
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
BODY_PADDING,
|
|
47
|
+
DEFAULT_MODAL_BG,
|
|
48
|
+
DEFAULT_MODAL_WIDTH,
|
|
49
|
+
DEFAULT_MODAL_Z_INDEX,
|
|
50
|
+
DEFAULT_OVERLAY_Z_INDEX_OFFSET,
|
|
51
|
+
MODAL_PRIORITY_Z_INDEX,
|
|
52
|
+
MODAL_SIZE_PRESETS,
|
|
53
|
+
ModalAction,
|
|
54
|
+
ModalClose,
|
|
55
|
+
ModalCloseButton,
|
|
56
|
+
ModalContent,
|
|
57
|
+
ModalDescription,
|
|
58
|
+
ModalFooter,
|
|
59
|
+
ModalHeader,
|
|
60
|
+
ModalRail,
|
|
61
|
+
ModalTrigger,
|
|
62
|
+
ModalV2
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/modal/v2/index.ts"],"sourcesContent":["// V2 Modal - Re-export from seeds-react-modal for optimal tree shaking\nexport {\n Modal as ModalV2,\n ModalTrigger,\n ModalDescription,\n ModalHeader,\n ModalFooter,\n ModalContent,\n ModalCloseButton,\n ModalClose,\n ModalRail,\n ModalAction,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n\n// Explicit type exports\nexport type {\n TypeModalV2Props,\n TypeModalV2TriggerProps,\n TypeModalV2CloseButtonProps,\n TypeModalV2HeaderProps,\n TypeModalV2FooterProps,\n TypeModalV2ContentProps,\n TypeModalV2DescriptionProps,\n TypeModalRailProps,\n TypeModalActionProps,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n\n// Explicit constant exports\nexport {\n DEFAULT_MODAL_Z_INDEX,\n DEFAULT_OVERLAY_Z_INDEX_OFFSET,\n DEFAULT_MODAL_WIDTH,\n DEFAULT_MODAL_BG,\n BODY_PADDING,\n MODAL_SIZE_PRESETS,\n MODAL_PRIORITY_Z_INDEX,\n} from \"@sproutsocial/seeds-react-modal/v2\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAWO;AAgBP,IAAAA,aAQO;","names":["import_v2"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sproutsocial/racine",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.14.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18"
|
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
22
|
"import": "./dist/esm/index.js",
|
|
23
23
|
"require": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./modal/v1": {
|
|
26
|
+
"types": "./dist/modal/v1/index.d.ts",
|
|
27
|
+
"import": "./dist/esm/modal/v1/index.js",
|
|
28
|
+
"require": "./dist/modal/v1/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./modal/v2": {
|
|
31
|
+
"types": "./dist/modal/v2/index.d.ts",
|
|
32
|
+
"import": "./dist/esm/modal/v2/index.js",
|
|
33
|
+
"require": "./dist/modal/v2/index.js"
|
|
24
34
|
}
|
|
25
35
|
},
|
|
26
36
|
"sideEffects": false,
|
|
@@ -45,62 +55,62 @@
|
|
|
45
55
|
},
|
|
46
56
|
"dependencies": {
|
|
47
57
|
"@size-limit/file": "^11.1.6",
|
|
48
|
-
"@sproutsocial/seeds-react-avatar": "^1.0.
|
|
49
|
-
"@sproutsocial/seeds-react-badge": "^1.0.
|
|
50
|
-
"@sproutsocial/seeds-react-banner": "^1.0.
|
|
51
|
-
"@sproutsocial/seeds-react-box": "^1.1.
|
|
52
|
-
"@sproutsocial/seeds-react-button": "^1.2.
|
|
53
|
-
"@sproutsocial/seeds-react-card": "^1.1.
|
|
58
|
+
"@sproutsocial/seeds-react-avatar": "^1.0.3",
|
|
59
|
+
"@sproutsocial/seeds-react-badge": "^1.0.3",
|
|
60
|
+
"@sproutsocial/seeds-react-banner": "^1.0.5",
|
|
61
|
+
"@sproutsocial/seeds-react-box": "^1.1.4",
|
|
62
|
+
"@sproutsocial/seeds-react-button": "^1.2.3",
|
|
63
|
+
"@sproutsocial/seeds-react-card": "^1.1.3",
|
|
54
64
|
"@sproutsocial/seeds-react-character-counter": "^1.0.2",
|
|
55
|
-
"@sproutsocial/seeds-react-chart-legend": "^1.0.
|
|
56
|
-
"@sproutsocial/seeds-react-checkbox": "^1.3.
|
|
57
|
-
"@sproutsocial/seeds-react-collapsible": "^1.0.
|
|
58
|
-
"@sproutsocial/seeds-react-data-table": "^1.0.
|
|
59
|
-
"@sproutsocial/seeds-react-datepicker": "^1.0.
|
|
60
|
-
"@sproutsocial/seeds-react-drawer": "^1.0.
|
|
61
|
-
"@sproutsocial/seeds-react-duration": "^1.0.
|
|
62
|
-
"@sproutsocial/seeds-react-empty-state": "^1.0.
|
|
63
|
-
"@sproutsocial/seeds-react-fieldset": "^1.0.
|
|
64
|
-
"@sproutsocial/seeds-react-form-field": "^1.0.
|
|
65
|
-
"@sproutsocial/seeds-react-hooks": "^3.0.
|
|
66
|
-
"@sproutsocial/seeds-react-icon": "^1.1.
|
|
67
|
-
"@sproutsocial/seeds-react-image": "^1.0.
|
|
68
|
-
"@sproutsocial/seeds-react-indicator": "^1.0.
|
|
69
|
-
"@sproutsocial/seeds-react-input": "^1.4.
|
|
70
|
-
"@sproutsocial/seeds-react-keyboard-key": "^1.0.
|
|
71
|
-
"@sproutsocial/seeds-react-label": "^1.0.
|
|
72
|
-
"@sproutsocial/seeds-react-link": "^1.0.
|
|
73
|
-
"@sproutsocial/seeds-react-loader": "^1.0.
|
|
74
|
-
"@sproutsocial/seeds-react-loader-button": "^1.0.
|
|
75
|
-
"@sproutsocial/seeds-react-message": "^1.0.
|
|
76
|
-
"@sproutsocial/seeds-react-mixins": "^4.1.
|
|
77
|
-
"@sproutsocial/seeds-react-modal": "^1.0
|
|
78
|
-
"@sproutsocial/seeds-react-numeral": "^1.0.
|
|
79
|
-
"@sproutsocial/seeds-react-partner-logo": "^1.3.
|
|
80
|
-
"@sproutsocial/seeds-react-popout": "^2.4.
|
|
65
|
+
"@sproutsocial/seeds-react-chart-legend": "^1.0.3",
|
|
66
|
+
"@sproutsocial/seeds-react-checkbox": "^1.3.3",
|
|
67
|
+
"@sproutsocial/seeds-react-collapsible": "^1.0.4",
|
|
68
|
+
"@sproutsocial/seeds-react-data-table": "^1.0.1",
|
|
69
|
+
"@sproutsocial/seeds-react-datepicker": "^1.0.3",
|
|
70
|
+
"@sproutsocial/seeds-react-drawer": "^1.0.3",
|
|
71
|
+
"@sproutsocial/seeds-react-duration": "^1.0.3",
|
|
72
|
+
"@sproutsocial/seeds-react-empty-state": "^1.0.3",
|
|
73
|
+
"@sproutsocial/seeds-react-fieldset": "^1.0.3",
|
|
74
|
+
"@sproutsocial/seeds-react-form-field": "^1.0.3",
|
|
75
|
+
"@sproutsocial/seeds-react-hooks": "^3.0.4",
|
|
76
|
+
"@sproutsocial/seeds-react-icon": "^1.1.4",
|
|
77
|
+
"@sproutsocial/seeds-react-image": "^1.0.3",
|
|
78
|
+
"@sproutsocial/seeds-react-indicator": "^1.0.3",
|
|
79
|
+
"@sproutsocial/seeds-react-input": "^1.4.5",
|
|
80
|
+
"@sproutsocial/seeds-react-keyboard-key": "^1.0.3",
|
|
81
|
+
"@sproutsocial/seeds-react-label": "^1.0.3",
|
|
82
|
+
"@sproutsocial/seeds-react-link": "^1.0.3",
|
|
83
|
+
"@sproutsocial/seeds-react-loader": "^1.0.3",
|
|
84
|
+
"@sproutsocial/seeds-react-loader-button": "^1.0.3",
|
|
85
|
+
"@sproutsocial/seeds-react-message": "^1.0.3",
|
|
86
|
+
"@sproutsocial/seeds-react-mixins": "^4.1.3",
|
|
87
|
+
"@sproutsocial/seeds-react-modal": "^1.1.0",
|
|
88
|
+
"@sproutsocial/seeds-react-numeral": "^1.0.3",
|
|
89
|
+
"@sproutsocial/seeds-react-partner-logo": "^1.3.3",
|
|
90
|
+
"@sproutsocial/seeds-react-popout": "^2.4.4",
|
|
81
91
|
"@sproutsocial/seeds-react-portal": "^1.1.4",
|
|
82
|
-
"@sproutsocial/seeds-react-radio": "^1.3.
|
|
83
|
-
"@sproutsocial/seeds-react-rating": "^1.0.
|
|
84
|
-
"@sproutsocial/seeds-react-segmented-control": "^1.0.
|
|
92
|
+
"@sproutsocial/seeds-react-radio": "^1.3.2",
|
|
93
|
+
"@sproutsocial/seeds-react-rating": "^1.0.2",
|
|
94
|
+
"@sproutsocial/seeds-react-segmented-control": "^1.0.3",
|
|
85
95
|
"@sproutsocial/seeds-react-spot-illustration": "^1.0.2",
|
|
86
|
-
"@sproutsocial/seeds-react-select": "^1.1.
|
|
87
|
-
"@sproutsocial/seeds-react-skeleton": "^1.1.
|
|
88
|
-
"@sproutsocial/seeds-react-stack": "^1.0.
|
|
89
|
-
"@sproutsocial/seeds-react-switch": "^1.2.
|
|
96
|
+
"@sproutsocial/seeds-react-select": "^1.1.3",
|
|
97
|
+
"@sproutsocial/seeds-react-skeleton": "^1.1.3",
|
|
98
|
+
"@sproutsocial/seeds-react-stack": "^1.0.3",
|
|
99
|
+
"@sproutsocial/seeds-react-switch": "^1.2.3",
|
|
90
100
|
"@sproutsocial/seeds-react-system-props": "^3.0.2",
|
|
91
|
-
"@sproutsocial/seeds-react-table": "^1.0.
|
|
92
|
-
"@sproutsocial/seeds-react-table-v2": "^1.0.
|
|
93
|
-
"@sproutsocial/seeds-react-tabs": "^1.1.
|
|
101
|
+
"@sproutsocial/seeds-react-table": "^1.0.3",
|
|
102
|
+
"@sproutsocial/seeds-react-table-v2": "^1.0.1",
|
|
103
|
+
"@sproutsocial/seeds-react-tabs": "^1.1.3",
|
|
94
104
|
"@sproutsocial/seeds-react-text": "^1.3.2",
|
|
95
|
-
"@sproutsocial/seeds-react-textarea": "^1.0.
|
|
96
|
-
"@sproutsocial/seeds-react-toast": "^1.0.
|
|
97
|
-
"@sproutsocial/seeds-react-token": "^1.
|
|
98
|
-
"@sproutsocial/seeds-react-token-input": "^1.4.
|
|
99
|
-
"@sproutsocial/seeds-react-tooltip": "^1.0.
|
|
100
|
-
"@sproutsocial/seeds-react-theme": "^3.0
|
|
101
|
-
"@sproutsocial/seeds-react-theme-provider": "^1.1.
|
|
105
|
+
"@sproutsocial/seeds-react-textarea": "^1.0.3",
|
|
106
|
+
"@sproutsocial/seeds-react-toast": "^1.0.3",
|
|
107
|
+
"@sproutsocial/seeds-react-token": "^1.3.0",
|
|
108
|
+
"@sproutsocial/seeds-react-token-input": "^1.4.4",
|
|
109
|
+
"@sproutsocial/seeds-react-tooltip": "^1.0.3",
|
|
110
|
+
"@sproutsocial/seeds-react-theme": "^3.1.0",
|
|
111
|
+
"@sproutsocial/seeds-react-theme-provider": "^1.1.4",
|
|
102
112
|
"@sproutsocial/seeds-react-utilities": "^4.3.0",
|
|
103
|
-
"@sproutsocial/seeds-react-visually-hidden": "^1.0.
|
|
113
|
+
"@sproutsocial/seeds-react-visually-hidden": "^1.0.4",
|
|
104
114
|
"scroll-into-view-if-needed": "^2.2.20",
|
|
105
115
|
"lodash.uniqueid": "^4.0.1",
|
|
106
116
|
"styled-system": "^5.1.5",
|
|
@@ -123,7 +133,7 @@
|
|
|
123
133
|
"@sproutsocial/seeds-motion": "^1.8.1",
|
|
124
134
|
"@sproutsocial/seeds-networkcolor": "^2.20.0",
|
|
125
135
|
"@sproutsocial/seeds-partner-logos": "^1.12.0",
|
|
126
|
-
"@sproutsocial/seeds-react-menu": "^1.6.
|
|
136
|
+
"@sproutsocial/seeds-react-menu": "^1.6.8",
|
|
127
137
|
"@sproutsocial/seeds-react-testing-library": "*",
|
|
128
138
|
"@sproutsocial/seeds-space": "^0.8.0",
|
|
129
139
|
"@sproutsocial/seeds-testing": "*",
|