@primer/components 0.0.0-20211030175556 → 0.0.0-20211030182910

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/dist/browser.esm.js +186 -183
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +190 -187
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Item.js +3 -3
  7. package/lib/ActionList/index.js +23 -12
  8. package/lib/ActionList2/Item.js +3 -1
  9. package/lib/ActionList2/List.js +1 -2
  10. package/lib/ActionList2/Selection.js +3 -1
  11. package/lib/ActionList2/index.js +41 -23
  12. package/lib/AnchoredOverlay/index.js +12 -4
  13. package/lib/Autocomplete/Autocomplete.d.ts +1 -0
  14. package/lib/Autocomplete/AutocompleteInput.d.ts +1 -0
  15. package/lib/Autocomplete/index.js +14 -7
  16. package/lib/Avatar.d.ts +1 -2
  17. package/lib/Avatar.js +1 -1
  18. package/lib/BranchName.d.ts +1 -2
  19. package/lib/BranchName.js +1 -1
  20. package/lib/Button/Button.d.ts +1 -0
  21. package/lib/Button/ButtonClose.d.ts +2 -1
  22. package/lib/Button/ButtonDanger.d.ts +1 -0
  23. package/lib/Button/ButtonInvisible.d.ts +1 -0
  24. package/lib/Button/ButtonOutline.d.ts +1 -0
  25. package/lib/Button/ButtonPrimary.d.ts +1 -0
  26. package/lib/Button/index.js +70 -21
  27. package/lib/Checkbox.d.ts +29 -0
  28. package/lib/Checkbox.js +64 -0
  29. package/lib/CircleOcticon.d.ts +1 -0
  30. package/lib/Details.d.ts +1 -2
  31. package/lib/Details.js +1 -3
  32. package/lib/Dialog.d.ts +3 -2
  33. package/lib/Dropdown.d.ts +6 -66
  34. package/lib/DropdownMenu/DropdownButton.d.ts +2 -1
  35. package/lib/DropdownMenu/index.js +20 -6
  36. package/lib/DropdownStyles.js +26 -18
  37. package/lib/FilterList.d.ts +1 -0
  38. package/lib/FilteredActionList/index.js +12 -4
  39. package/lib/Heading.d.ts +1 -2
  40. package/lib/Heading.js +1 -6
  41. package/lib/NewButton/index.js +12 -5
  42. package/lib/NewButton/types.js +1 -2
  43. package/lib/Overlay.d.ts +5 -3
  44. package/lib/Pagination/index.js +12 -6
  45. package/lib/Portal/index.js +16 -5
  46. package/lib/Position.d.ts +4 -4
  47. package/lib/ProgressBar.d.ts +16 -11
  48. package/lib/ProgressBar.js +6 -10
  49. package/lib/SelectMenu/SelectMenu.d.ts +10 -4
  50. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  51. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  52. package/lib/SelectMenu/hooks/useKeyboardNav.js +96 -80
  53. package/lib/SelectMenu/index.js +14 -7
  54. package/lib/SelectPanel/index.js +12 -4
  55. package/lib/Spinner.d.ts +1 -2
  56. package/lib/Spinner.js +1 -3
  57. package/lib/TextInputWithTokens.d.ts +1 -0
  58. package/lib/Token/AvatarToken.d.ts +1 -1
  59. package/lib/Token/IssueLabelToken.d.ts +1 -1
  60. package/lib/Token/Token.d.ts +1 -1
  61. package/lib/Token/index.js +30 -11
  62. package/lib/behaviors/anchoredPosition.js +234 -205
  63. package/lib/behaviors/focusTrap.js +157 -121
  64. package/lib/behaviors/focusZone.js +509 -434
  65. package/lib/behaviors/scrollIntoViewingArea.js +35 -18
  66. package/lib/constants.js +43 -39
  67. package/lib/drafts.js +30 -20
  68. package/lib/hooks/index.js +60 -16
  69. package/lib/hooks/useAnchoredPosition.js +40 -32
  70. package/lib/hooks/useCombinedRefs.js +36 -32
  71. package/lib/hooks/useDialog.js +96 -72
  72. package/lib/hooks/useFocusTrap.js +60 -43
  73. package/lib/hooks/useFocusZone.js +50 -54
  74. package/lib/hooks/useOnEscapePress.js +36 -25
  75. package/lib/hooks/useOpenAndCloseFocus.js +34 -22
  76. package/lib/hooks/useProvidedRefOrCreate.js +14 -10
  77. package/lib/hooks/useProvidedStateOrCreate.js +16 -13
  78. package/lib/hooks/useRenderForcingRef.js +17 -13
  79. package/lib/hooks/useResizeObserver.js +18 -15
  80. package/lib/hooks/useSafeTimeout.js +30 -22
  81. package/lib/hooks/useScrollFlash.js +23 -16
  82. package/lib/index.d.ts +2 -0
  83. package/lib/index.js +652 -163
  84. package/lib/polyfills/eventListenerSignal.js +45 -37
  85. package/lib/sx.js +22 -10
  86. package/lib/theme-preval.js +3169 -64
  87. package/lib/theme.js +12 -3
  88. package/lib/utils/iterateFocusableElements.js +85 -63
  89. package/lib/utils/testing.d.ts +2 -1
  90. package/lib/utils/testing.js +29 -0
  91. package/lib/utils/theme.js +47 -33
  92. package/lib/utils/types/AriaRole.js +1 -2
  93. package/lib/utils/types/ComponentProps.js +1 -2
  94. package/lib/utils/types/Flatten.js +1 -2
  95. package/lib/utils/types/KeyPaths.js +1 -2
  96. package/lib/utils/types/MandateProps.js +1 -16
  97. package/lib/utils/types/Merge.js +1 -2
  98. package/lib/utils/types/index.js +69 -16
  99. package/lib/utils/uniqueId.js +8 -5
  100. package/lib/utils/use-force-update.js +14 -8
  101. package/lib/utils/useIsomorphicLayoutEffect.js +11 -8
  102. package/lib/utils/userAgent.js +12 -8
  103. package/lib-esm/ActionList/Item.js +3 -3
  104. package/lib-esm/ActionList2/Item.js +3 -1
  105. package/lib-esm/ActionList2/List.js +1 -2
  106. package/lib-esm/ActionList2/Selection.js +3 -1
  107. package/lib-esm/Autocomplete/Autocomplete.d.ts +1 -0
  108. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +1 -0
  109. package/lib-esm/Avatar.d.ts +1 -2
  110. package/lib-esm/Avatar.js +2 -2
  111. package/lib-esm/BranchName.d.ts +1 -2
  112. package/lib-esm/BranchName.js +2 -2
  113. package/lib-esm/Button/Button.d.ts +1 -0
  114. package/lib-esm/Button/ButtonClose.d.ts +2 -1
  115. package/lib-esm/Button/ButtonDanger.d.ts +1 -0
  116. package/lib-esm/Button/ButtonInvisible.d.ts +1 -0
  117. package/lib-esm/Button/ButtonOutline.d.ts +1 -0
  118. package/lib-esm/Button/ButtonPrimary.d.ts +1 -0
  119. package/lib-esm/Checkbox.d.ts +29 -0
  120. package/lib-esm/Checkbox.js +44 -0
  121. package/lib-esm/CircleOcticon.d.ts +1 -0
  122. package/lib-esm/Details.d.ts +1 -2
  123. package/lib-esm/Details.js +1 -2
  124. package/lib-esm/Dialog.d.ts +3 -2
  125. package/lib-esm/Dropdown.d.ts +6 -66
  126. package/lib-esm/DropdownMenu/DropdownButton.d.ts +2 -1
  127. package/lib-esm/FilterList.d.ts +1 -0
  128. package/lib-esm/Heading.d.ts +1 -2
  129. package/lib-esm/Heading.js +2 -6
  130. package/lib-esm/Overlay.d.ts +5 -3
  131. package/lib-esm/Position.d.ts +4 -4
  132. package/lib-esm/ProgressBar.d.ts +16 -11
  133. package/lib-esm/ProgressBar.js +7 -11
  134. package/lib-esm/SelectMenu/SelectMenu.d.ts +10 -4
  135. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  136. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  137. package/lib-esm/Spinner.d.ts +1 -2
  138. package/lib-esm/Spinner.js +1 -2
  139. package/lib-esm/TextInputWithTokens.d.ts +1 -0
  140. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  141. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  142. package/lib-esm/Token/Token.d.ts +1 -1
  143. package/lib-esm/index.d.ts +2 -0
  144. package/lib-esm/index.js +1 -0
  145. package/lib-esm/theme-preval.js +446 -0
  146. package/lib-esm/utils/testing.d.ts +2 -1
  147. package/lib-esm/utils/testing.js +24 -0
  148. package/package.json +4 -5
  149. package/lib/ActionList/Divider.jsx +0 -29
  150. package/lib/ActionList/Group.jsx +0 -23
  151. package/lib/ActionList/Header.jsx +0 -66
  152. package/lib/ActionList/Item.jsx +0 -288
  153. package/lib/ActionList/List.jsx +0 -138
  154. package/lib/ActionList2/Description.jsx +0 -29
  155. package/lib/ActionList2/Divider.jsx +0 -22
  156. package/lib/ActionList2/Group.jsx +0 -54
  157. package/lib/ActionList2/Header.d.ts +0 -26
  158. package/lib/ActionList2/Header.js +0 -55
  159. package/lib/ActionList2/Header.jsx +0 -36
  160. package/lib/ActionList2/Item.jsx +0 -174
  161. package/lib/ActionList2/LinkItem.jsx +0 -28
  162. package/lib/ActionList2/List.jsx +0 -41
  163. package/lib/ActionList2/Selection.jsx +0 -50
  164. package/lib/ActionList2/Visuals.jsx +0 -48
  165. package/lib/ActionMenu.jsx +0 -73
  166. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +0 -100
  167. package/lib/Autocomplete/Autocomplete.jsx +0 -100
  168. package/lib/Autocomplete/AutocompleteContext.jsx +0 -5
  169. package/lib/Autocomplete/AutocompleteInput.jsx +0 -113
  170. package/lib/Autocomplete/AutocompleteMenu.jsx +0 -190
  171. package/lib/Autocomplete/AutocompleteOverlay.jsx +0 -55
  172. package/lib/Avatar.jsx +0 -34
  173. package/lib/AvatarPair.jsx +0 -29
  174. package/lib/AvatarStack.jsx +0 -151
  175. package/lib/BaseStyles.jsx +0 -65
  176. package/lib/BorderBox.jsx +0 -18
  177. package/lib/Box.jsx +0 -10
  178. package/lib/BranchName.jsx +0 -20
  179. package/lib/Breadcrumbs.jsx +0 -71
  180. package/lib/Button/Button.jsx +0 -40
  181. package/lib/Button/ButtonBase.jsx +0 -33
  182. package/lib/Button/ButtonClose.jsx +0 -53
  183. package/lib/Button/ButtonDanger.jsx +0 -43
  184. package/lib/Button/ButtonGroup.jsx +0 -55
  185. package/lib/Button/ButtonInvisible.jsx +0 -32
  186. package/lib/Button/ButtonOutline.jsx +0 -43
  187. package/lib/Button/ButtonPrimary.jsx +0 -42
  188. package/lib/Button/ButtonStyles.jsx +0 -37
  189. package/lib/Button/ButtonTableList.jsx +0 -46
  190. package/lib/Caret.jsx +0 -93
  191. package/lib/CircleBadge.jsx +0 -42
  192. package/lib/CircleOcticon.jsx +0 -21
  193. package/lib/CounterLabel.jsx +0 -43
  194. package/lib/Details.jsx +0 -21
  195. package/lib/Dialog/ConfirmationDialog.jsx +0 -146
  196. package/lib/Dialog/Dialog.jsx +0 -279
  197. package/lib/Dialog.jsx +0 -129
  198. package/lib/Dropdown.jsx +0 -131
  199. package/lib/DropdownMenu/DropdownButton.jsx +0 -14
  200. package/lib/DropdownMenu/DropdownMenu.jsx +0 -70
  201. package/lib/FilterList.jsx +0 -59
  202. package/lib/FilteredActionList/FilteredActionList.jsx +0 -100
  203. package/lib/FilteredSearch.jsx +0 -28
  204. package/lib/Flash.jsx +0 -69
  205. package/lib/Flex.jsx +0 -15
  206. package/lib/FormGroup.jsx +0 -22
  207. package/lib/Grid.jsx +0 -15
  208. package/lib/Header.jsx +0 -83
  209. package/lib/Heading.jsx +0 -21
  210. package/lib/Label.jsx +0 -82
  211. package/lib/LabelGroup.jsx +0 -18
  212. package/lib/Link.jsx +0 -36
  213. package/lib/NewButton/button-counter.jsx +0 -14
  214. package/lib/NewButton/button.jsx +0 -279
  215. package/lib/Overlay.jsx +0 -154
  216. package/lib/Pagehead.jsx +0 -17
  217. package/lib/Pagination/Pagination.jsx +0 -161
  218. package/lib/Pagination/model.jsx +0 -174
  219. package/lib/PointerBox.jsx +0 -25
  220. package/lib/Popover.jsx +0 -202
  221. package/lib/Portal/Portal.jsx +0 -79
  222. package/lib/Position.jsx +0 -46
  223. package/lib/ProgressBar.jsx +0 -39
  224. package/lib/SelectMenu/SelectMenu.jsx +0 -112
  225. package/lib/SelectMenu/SelectMenuContext.jsx +0 -5
  226. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -42
  227. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -58
  228. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -45
  229. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -42
  230. package/lib/SelectMenu/SelectMenuItem.jsx +0 -142
  231. package/lib/SelectMenu/SelectMenuList.jsx +0 -59
  232. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +0 -22
  233. package/lib/SelectMenu/SelectMenuModal.jsx +0 -118
  234. package/lib/SelectMenu/SelectMenuTab.jsx +0 -92
  235. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -42
  236. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -57
  237. package/lib/SelectPanel/SelectPanel.jsx +0 -105
  238. package/lib/SideNav.jsx +0 -173
  239. package/lib/Spinner.jsx +0 -35
  240. package/lib/StateLabel.jsx +0 -93
  241. package/lib/StyledOcticon.jsx +0 -18
  242. package/lib/SubNav.jsx +0 -101
  243. package/lib/TabNav.jsx +0 -58
  244. package/lib/Text.jsx +0 -14
  245. package/lib/TextInput.jsx +0 -23
  246. package/lib/TextInputWithTokens.jsx +0 -218
  247. package/lib/ThemeProvider.jsx +0 -130
  248. package/lib/Timeline.jsx +0 -123
  249. package/lib/Token/AvatarToken.jsx +0 -54
  250. package/lib/Token/IssueLabelToken.jsx +0 -125
  251. package/lib/Token/Token.jsx +0 -103
  252. package/lib/Token/TokenBase.jsx +0 -88
  253. package/lib/Token/_RemoveTokenButton.jsx +0 -108
  254. package/lib/Token/_TokenTextContainer.jsx +0 -49
  255. package/lib/Tooltip.jsx +0 -246
  256. package/lib/Truncate.jsx +0 -24
  257. package/lib/UnderlineNav.jsx +0 -88
  258. package/lib/_TextInputWrapper.jsx +0 -120
  259. package/lib/_UnstyledTextInput.jsx +0 -22
  260. package/lib/hooks/useDetails.jsx +0 -39
  261. package/lib/hooks/useOnOutsideClick.jsx +0 -61
  262. package/lib/hooks/useOverlay.jsx +0 -15
  263. package/lib/utils/create-slots.jsx +0 -65
  264. package/lib/utils/deprecate.jsx +0 -59
  265. package/lib/utils/isNumeric.jsx +0 -7
  266. package/lib/utils/ssr.jsx +0 -6
  267. package/lib/utils/test-deprecations.jsx +0 -20
  268. package/lib/utils/test-helpers.jsx +0 -8
  269. package/lib/utils/test-matchers.jsx +0 -100
  270. package/lib/utils/testing.jsx +0 -206
  271. package/lib-esm/ActionList2/Header.d.ts +0 -26
  272. package/lib-esm/ActionList2/Header.js +0 -44
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const react_1 = __importStar(require("react"));
26
- const AutocompleteContext_1 = require("./AutocompleteContext");
27
- const TextInput_1 = __importDefault(require("../TextInput"));
28
- const useCombinedRefs_1 = require("../hooks/useCombinedRefs");
29
- const AutocompleteInput = react_1.default.forwardRef(({ as: Component = TextInput_1.default, onFocus, onBlur, onChange, onKeyDown, onKeyUp, onKeyPress, value, ...props }, forwardedRef) => {
30
- const autocompleteContext = react_1.useContext(AutocompleteContext_1.AutocompleteContext);
31
- if (autocompleteContext === null) {
32
- throw new Error('AutocompleteContext returned null values');
33
- }
34
- const { activeDescendantRef, autocompleteSuggestion = '', id, inputRef, inputValue = '', isMenuDirectlyActivated, setInputValue, setShowMenu, showMenu } = autocompleteContext;
35
- const combinedInputRef = useCombinedRefs_1.useCombinedRefs(inputRef, forwardedRef);
36
- const [highlightRemainingText, setHighlightRemainingText] = react_1.useState(true);
37
- const handleInputFocus = react_1.useCallback(event => {
38
- onFocus && onFocus(event);
39
- setShowMenu(true);
40
- }, [onFocus, setShowMenu]);
41
- const handleInputBlur = react_1.useCallback(event => {
42
- onBlur && onBlur(event);
43
- // HACK: wait a tick and check the focused element before hiding the autocomplete menu
44
- // this prevents the menu from hiding when the user is clicking an option in the Autoselect.Menu,
45
- // but still hides the menu when the user blurs the input by tabbing out or clicking somewhere else on the page
46
- setTimeout(() => {
47
- if (document.activeElement !== combinedInputRef.current) {
48
- setShowMenu(false);
49
- }
50
- }, 0);
51
- }, [onBlur, setShowMenu, combinedInputRef]);
52
- const handleInputChange = react_1.useCallback(event => {
53
- onChange && onChange(event);
54
- setInputValue(event.currentTarget.value);
55
- if (!showMenu) {
56
- setShowMenu(true);
57
- }
58
- }, [onChange, setInputValue, setShowMenu, showMenu]);
59
- const handleInputKeyDown = react_1.useCallback(event => {
60
- onKeyDown && onKeyDown(event);
61
- if (event.key === 'Backspace') {
62
- setHighlightRemainingText(false);
63
- }
64
- if (event.key === 'Escape' && inputRef.current?.value) {
65
- setInputValue('');
66
- inputRef.current.value = '';
67
- }
68
- }, [inputRef, setInputValue, setHighlightRemainingText, onKeyDown]);
69
- const handleInputKeyUp = react_1.useCallback(event => {
70
- onKeyUp && onKeyUp(event);
71
- if (event.key === 'Backspace') {
72
- setHighlightRemainingText(true);
73
- }
74
- }, [setHighlightRemainingText, onKeyUp]);
75
- const onInputKeyPress = react_1.useCallback(event => {
76
- onKeyPress && onKeyPress(event);
77
- if (showMenu && event.key === 'Enter' && activeDescendantRef.current) {
78
- event.preventDefault();
79
- event.nativeEvent.stopImmediatePropagation();
80
- // Forward Enter key press to active descendant so that item gets activated
81
- const activeDescendantEvent = new KeyboardEvent(event.type, event.nativeEvent);
82
- activeDescendantRef.current.dispatchEvent(activeDescendantEvent);
83
- }
84
- }, [activeDescendantRef, showMenu, onKeyPress]);
85
- react_1.useEffect(() => {
86
- if (!inputRef.current) {
87
- return;
88
- }
89
- // resets input value to being empty after a selection has been made
90
- if (!autocompleteSuggestion) {
91
- inputRef.current.value = inputValue;
92
- }
93
- // TODO: fix bug where this function prevents `onChange` from being triggered if the highlighted item text
94
- // is the same as what I'm typing
95
- // e.g.: typing 'tw' highights 'two', but when I 'two', the text input change does not get triggered
96
- if (highlightRemainingText && autocompleteSuggestion && (inputValue || isMenuDirectlyActivated)) {
97
- inputRef.current.value = autocompleteSuggestion;
98
- if (autocompleteSuggestion.toLowerCase().indexOf(inputValue.toLowerCase()) === 0) {
99
- inputRef.current.setSelectionRange(inputValue.length, autocompleteSuggestion.length);
100
- }
101
- }
102
- // calling this useEffeect when `highlightRemainingText` changes breaks backspace functionality
103
- // eslint-disable-next-line react-hooks/exhaustive-deps
104
- }, [autocompleteSuggestion, inputValue, inputRef, isMenuDirectlyActivated]);
105
- react_1.useEffect(() => {
106
- if (value) {
107
- setInputValue(value.toString());
108
- }
109
- }, [value, setInputValue]);
110
- return (<Component onFocus={handleInputFocus} onBlur={handleInputBlur} onChange={handleInputChange} onKeyDown={handleInputKeyDown} onKeyPress={onInputKeyPress} onKeyUp={handleInputKeyUp} ref={combinedInputRef} aria-controls={`${id}-listbox`} aria-autocomplete="both" role="combobox" aria-expanded={showMenu} aria-haspopup="listbox" aria-owns={`${id}-listbox`} autocomplete="off" {...props}/>);
111
- });
112
- AutocompleteInput.displayName = 'AutocompleteInput';
113
- exports.default = AutocompleteInput;
@@ -1,190 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- const react_1 = __importStar(require("react"));
23
- const ActionList_1 = require("../ActionList");
24
- const useFocusZone_1 = require("../hooks/useFocusZone");
25
- const __1 = require("../");
26
- const AutocompleteContext_1 = require("./AutocompleteContext");
27
- const octicons_react_1 = require("@primer/octicons-react");
28
- const uniqueId_1 = require("../utils/uniqueId");
29
- const scrollIntoViewingArea_1 = require("../behaviors/scrollIntoViewingArea");
30
- const getDefaultSortFn = (isItemSelectedFn) => (itemIdA, itemIdB) => isItemSelectedFn(itemIdA) === isItemSelectedFn(itemIdB) ? 0 : isItemSelectedFn(itemIdA) ? -1 : 1;
31
- function getDefaultItemFilter(filterValue) {
32
- return function (item, _i) {
33
- return Boolean(item.text?.toLowerCase().startsWith(filterValue.toLowerCase()));
34
- };
35
- }
36
- function getDefaultOnSelectionChange(setInputValueFn) {
37
- return function (itemOrItems) {
38
- const { text = '' } = Array.isArray(itemOrItems) ? itemOrItems.slice(-1)[0] : itemOrItems;
39
- setInputValueFn(text);
40
- };
41
- }
42
- const isItemSelected = (itemId, selectedItemIds) => selectedItemIds.includes(itemId);
43
- function getItemById(itemId, items) {
44
- return items.find(item => item.id === itemId);
45
- }
46
- function AutocompleteMenu(props) {
47
- const autocompleteContext = react_1.useContext(AutocompleteContext_1.AutocompleteContext);
48
- if (autocompleteContext === null) {
49
- throw new Error('AutocompleteContext returned null values');
50
- }
51
- const { activeDescendantRef, id, inputRef, inputValue = '', scrollContainerRef, setAutocompleteSuggestion, setShowMenu, setInputValue, setIsMenuDirectlyActivated, setSelectedItemLength, showMenu } = autocompleteContext;
52
- const { items, selectedItemIds, sortOnCloseFn, emptyStateText, addNewItem, loading, selectionVariant, filterFn, 'aria-labelledby': ariaLabelledBy, onOpenChange, onSelectedChange, customScrollContainerRef } = props;
53
- const listContainerRef = react_1.useRef(null);
54
- const [highlightedItem, setHighlightedItem] = react_1.useState();
55
- const [sortedItemIds, setSortedItemIds] = react_1.useState(items.map(({ id: itemId }) => itemId));
56
- const selectableItems = react_1.useMemo(() => items.map(selectableItem => {
57
- return {
58
- ...selectableItem,
59
- role: 'option',
60
- id: selectableItem.id,
61
- selected: selectionVariant === 'multiple' ? selectedItemIds.includes(selectableItem.id) : undefined,
62
- onAction: (item) => {
63
- const otherSelectedItemIds = selectedItemIds.filter(selectedItemId => selectedItemId !== item.id);
64
- const newSelectedItemIds = selectedItemIds.includes(item.id)
65
- ? otherSelectedItemIds
66
- : [...otherSelectedItemIds, item.id];
67
- const onSelectedChangeFn = onSelectedChange ? onSelectedChange : getDefaultOnSelectionChange(setInputValue);
68
- onSelectedChangeFn(newSelectedItemIds.map(newSelectedItemId => getItemById(newSelectedItemId, items)));
69
- if (selectionVariant === 'multiple') {
70
- setInputValue('');
71
- setAutocompleteSuggestion('');
72
- }
73
- else {
74
- setShowMenu(false);
75
- inputRef.current?.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);
76
- }
77
- }
78
- };
79
- }), [
80
- items,
81
- selectedItemIds,
82
- inputRef,
83
- onSelectedChange,
84
- selectionVariant,
85
- setAutocompleteSuggestion,
86
- setInputValue,
87
- setShowMenu
88
- ]);
89
- const itemSortOrderData = react_1.useMemo(() => sortedItemIds.reduce((acc, curr, i) => {
90
- acc[curr] = i;
91
- return acc;
92
- }, {}), [sortedItemIds]);
93
- const sortedAndFilteredItemsToRender = react_1.useMemo(() => selectableItems
94
- .filter(filterFn ? filterFn : getDefaultItemFilter(inputValue))
95
- .sort((a, b) => itemSortOrderData[a.id] - itemSortOrderData[b.id]), [selectableItems, itemSortOrderData, filterFn, inputValue]);
96
- const allItemsToRender = react_1.useMemo(() => [
97
- // sorted and filtered selectable items
98
- ...sortedAndFilteredItemsToRender,
99
- // menu item used for creating a token from whatever is in the text input
100
- ...(addNewItem
101
- ? [
102
- {
103
- ...addNewItem,
104
- leadingVisual: () => <octicons_react_1.PlusIcon />,
105
- onAction: (item) => {
106
- // TODO: make it possible to pass a leadingVisual when using `addNewItem`
107
- addNewItem.handleAddItem({ ...item, id: item.id || uniqueId_1.uniqueId(), leadingVisual: undefined });
108
- if (selectionVariant === 'multiple') {
109
- setInputValue('');
110
- setAutocompleteSuggestion('');
111
- }
112
- }
113
- }
114
- ]
115
- : [])
116
- ], [sortedAndFilteredItemsToRender, addNewItem, setAutocompleteSuggestion, selectionVariant, setInputValue]);
117
- useFocusZone_1.useFocusZone({
118
- containerRef: listContainerRef,
119
- focusOutBehavior: 'wrap',
120
- focusableElementFilter: element => {
121
- return !(element instanceof HTMLInputElement);
122
- },
123
- activeDescendantFocus: inputRef,
124
- onActiveDescendantChanged: (current, _previous, directlyActivated) => {
125
- activeDescendantRef.current = current || null;
126
- if (current) {
127
- const selectedItem = selectableItems.find(item => item.id.toString() === current.getAttribute('data-id'));
128
- setHighlightedItem(selectedItem);
129
- setIsMenuDirectlyActivated(directlyActivated);
130
- }
131
- if (current && customScrollContainerRef && customScrollContainerRef.current && directlyActivated) {
132
- scrollIntoViewingArea_1.scrollIntoViewingArea(current, customScrollContainerRef.current);
133
- }
134
- else if (current && scrollContainerRef.current && directlyActivated) {
135
- scrollIntoViewingArea_1.scrollIntoViewingArea(current, scrollContainerRef.current);
136
- }
137
- }
138
- }, [loading]);
139
- react_1.useEffect(() => {
140
- if (highlightedItem?.text?.startsWith(inputValue) && !selectedItemIds.includes(highlightedItem.id)) {
141
- setAutocompleteSuggestion(highlightedItem.text);
142
- }
143
- else {
144
- setAutocompleteSuggestion('');
145
- }
146
- }, [highlightedItem, inputValue, selectedItemIds, setAutocompleteSuggestion]);
147
- react_1.useEffect(() => {
148
- const itemIdSortResult = [...sortedItemIds].sort(sortOnCloseFn ? sortOnCloseFn : getDefaultSortFn(itemId => isItemSelected(itemId, selectedItemIds)));
149
- const sortResultMatchesState = itemIdSortResult.length === sortedItemIds.length &&
150
- itemIdSortResult.every((element, index) => element === sortedItemIds[index]);
151
- if (showMenu === false && !sortResultMatchesState) {
152
- setSortedItemIds(itemIdSortResult);
153
- }
154
- onOpenChange && onOpenChange(Boolean(showMenu));
155
- }, [showMenu, onOpenChange, selectedItemIds, sortOnCloseFn, sortedItemIds]);
156
- react_1.useEffect(() => {
157
- if (selectedItemIds.length) {
158
- setSelectedItemLength(selectedItemIds.length);
159
- }
160
- }, [selectedItemIds, setSelectedItemLength]);
161
- return (<__1.Box sx={!showMenu
162
- ? {
163
- // visually hides this label for sighted users
164
- position: 'absolute',
165
- width: '1px',
166
- height: '1px',
167
- padding: '0',
168
- margin: '-1px',
169
- overflow: 'hidden',
170
- clip: 'rect(0, 0, 0, 0)',
171
- whiteSpace: 'nowrap',
172
- borderWidth: '0'
173
- }
174
- : {}}>
175
- {loading ? (<__1.Box p={3} display="flex" justifyContent="center">
176
- <__1.Spinner />
177
- </__1.Box>) : (<div ref={listContainerRef}>
178
- {allItemsToRender.length ? (<ActionList_1.ActionList selectionVariant="multiple"
179
- // have to typecast to `ItemProps` because we have an extra property
180
- // on `items` for Autocomplete: `metadata`
181
- items={allItemsToRender} role="listbox" id={`${id}-listbox`} aria-labelledby={ariaLabelledBy}/>) : (<__1.Box p={3}>{emptyStateText}</__1.Box>)}
182
- </div>)}
183
- </__1.Box>);
184
- }
185
- AutocompleteMenu.defaultProps = {
186
- emptyStateText: 'No selectable options',
187
- selectionVariant: 'single'
188
- };
189
- AutocompleteMenu.displayName = 'AutocompleteMenu';
190
- exports.default = AutocompleteMenu;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const react_1 = __importStar(require("react"));
26
- const hooks_1 = require("../hooks");
27
- const Overlay_1 = __importDefault(require("../Overlay"));
28
- const AutocompleteContext_1 = require("./AutocompleteContext");
29
- const useCombinedRefs_1 = require("../hooks/useCombinedRefs");
30
- function AutocompleteOverlay({ menuAnchorRef, overlayProps, children }) {
31
- const autocompleteContext = react_1.useContext(AutocompleteContext_1.AutocompleteContext);
32
- if (autocompleteContext === null) {
33
- throw new Error('AutocompleteContext returned null values');
34
- }
35
- const { inputRef, scrollContainerRef, selectedItemLength, setShowMenu, showMenu = false } = autocompleteContext;
36
- const { floatingElementRef, position } = hooks_1.useAnchoredPosition({
37
- side: 'outside-bottom',
38
- align: 'start',
39
- anchorElementRef: menuAnchorRef ? menuAnchorRef : inputRef
40
- }, [showMenu, selectedItemLength]);
41
- const combinedOverlayRef = useCombinedRefs_1.useCombinedRefs(scrollContainerRef, floatingElementRef);
42
- const closeOptionList = react_1.useCallback(() => {
43
- setShowMenu(false);
44
- }, [setShowMenu]);
45
- if (typeof window === 'undefined') {
46
- return null;
47
- }
48
- return (<Overlay_1.default returnFocusRef={inputRef} preventFocusOnOpen={true} onClickOutside={closeOptionList} onEscape={closeOptionList} ref={combinedOverlayRef} top={position?.top} left={position?.left} visibility={showMenu ? 'visible' : 'hidden'} sx={{
49
- overflow: 'auto'
50
- }} {...overlayProps}>
51
- {children}
52
- </Overlay_1.default>);
53
- }
54
- AutocompleteOverlay.displayName = 'AutocompleteOverlay';
55
- exports.default = AutocompleteOverlay;
package/lib/Avatar.jsx DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const styled_components_1 = __importDefault(require("styled-components"));
7
- const constants_1 = require("./constants");
8
- const sx_1 = __importDefault(require("./sx"));
9
- function getBorderRadius({ size, square }) {
10
- if (square) {
11
- return size && size <= 24 ? '4px' : '6px';
12
- }
13
- else {
14
- return '50%';
15
- }
16
- }
17
- const Avatar = styled_components_1.default.img.attrs(props => ({
18
- height: props.size,
19
- width: props.size
20
- })) `
21
- display: inline-block;
22
- overflow: hidden; // Ensure page layout in Firefox should images fail to load
23
- line-height: ${constants_1.get('lineHeights.condensedUltra')};
24
- vertical-align: middle;
25
- border-radius: ${props => getBorderRadius(props)};
26
- ${constants_1.COMMON};
27
- ${sx_1.default}
28
- `;
29
- Avatar.defaultProps = {
30
- size: 20,
31
- alt: '',
32
- square: false
33
- };
34
- exports.default = Avatar;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- const Avatar_1 = __importDefault(require("./Avatar"));
9
- const constants_1 = require("./constants");
10
- const _1 = require(".");
11
- const ChildAvatar = styled_components_1.default(Avatar_1.default) `
12
- position: absolute;
13
- right: -15%;
14
- bottom: -9%;
15
- box-shadow: ${constants_1.get('shadows.avatar.childShadow')};
16
- `;
17
- const AvatarPair = ({ children, ...rest }) => {
18
- const avatars = react_1.default.Children.map(children, (child, i) => {
19
- if (!react_1.default.isValidElement(child))
20
- return child;
21
- return i === 0 ? (react_1.default.cloneElement(child, { size: 40 })) : (<ChildAvatar bg="canvas.default" {...child.props} size={20}/>);
22
- });
23
- return (<_1.Box position="relative" display="inline-flex" {...rest}>
24
- {avatars}
25
- </_1.Box>);
26
- };
27
- // styled() changes this
28
- AvatarPair.displayName = 'AvatarPair';
29
- exports.default = AvatarPair;
@@ -1,151 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const classnames_1 = __importDefault(require("classnames"));
7
- const react_1 = __importDefault(require("react"));
8
- const styled_components_1 = __importDefault(require("styled-components"));
9
- const constants_1 = require("./constants");
10
- const _1 = require(".");
11
- const sx_1 = __importDefault(require("./sx"));
12
- const AvatarStackWrapper = styled_components_1.default.span `
13
- display: flex;
14
- position: relative;
15
- height: 20px;
16
- min-width: ${props => (props.count === 1 ? '20px' : props.count === 2 ? '30px' : '38px')};
17
-
18
- .pc-AvatarItem {
19
- flex-shrink: 0;
20
- height: 20px;
21
- width: 20px;
22
- box-shadow: 0 0 0 1px ${constants_1.get('colors.canvas.default')};
23
- margin-left: -11px;
24
- position: relative;
25
- overflow: hidden;
26
- transition: margin 0.2s ease-in-out, opacity 0.2s ease-in-out, visibility 0.2s ease-in-out,
27
- box-shadow 0.1s ease-in-out;
28
-
29
- &:first-child {
30
- margin-left: 0;
31
- }
32
- &:nth-child(n + 4) {
33
- display: none;
34
- }
35
- }
36
-
37
- &.pc-AvatarStack--two {
38
- min-width: 30px;
39
- .pc-AvatarItem {
40
- &:nth-child(n + 3) {
41
- display: none;
42
- }
43
- }
44
- }
45
-
46
- &.pc-AvatarStack--three-plus {
47
- min-width: 38px;
48
- .pc-AvatarItem {
49
- &:nth-child(3) {
50
- opacity: ${100 - 3 * 15}%;
51
- margin-left: -17px;
52
- }
53
- &:nth-child(4) {
54
- opacity: ${100 - 4 * 15}%;
55
- margin-left: -17px;
56
- }
57
- &:nth-child(5) {
58
- opacity: ${100 - 5 * 15}%;
59
- margin-left: -17px;
60
- }
61
- &:nth-child(n + 4) {
62
- display: block;
63
- }
64
- &:nth-child(n + 6) {
65
- opacity: 0;
66
- visibility: hidden;
67
- }
68
- }
69
- }
70
-
71
- &.pc-AvatarStack--right {
72
- justify-content: flex-end;
73
- .pc-AvatarItem {
74
- margin-left: 0 !important;
75
- margin-right: -11px;
76
-
77
- &:first-child {
78
- margin-right: 0;
79
- }
80
- }
81
-
82
- .pc-AvatarStackBody {
83
- flex-direction: row-reverse;
84
-
85
- &:hover {
86
- .pc-AvatarItem {
87
- margin-right: ${constants_1.get('space.1')}!important;
88
- margin-left: 0 !important;
89
-
90
- &:first-child {
91
- margin-right: 0 !important;
92
- }
93
- }
94
- }
95
- }
96
- }
97
-
98
- &.pc-AvatarStack--three-plus.pc-AvatarStack--right {
99
- .pc-AvatarItem {
100
- &:nth-child(3) {
101
- margin-right: -17px;
102
- }
103
- &:nth-child(4) {
104
- margin-right: -17px;
105
- }
106
- &:nth-child(5) {
107
- margin-right: -17px;
108
- }
109
- }
110
- }
111
-
112
- .pc-AvatarStackBody:hover {
113
- width: auto;
114
-
115
- .pc-AvatarItem {
116
- margin-left: ${constants_1.get('space.1')};
117
- opacity: 100%;
118
- visibility: visible;
119
- box-shadow: 0 0 0 4px ${constants_1.get('colors.canvas.default')};
120
- &:first-child {
121
- margin-left: 0;
122
- }
123
- }
124
- }
125
-
126
- ${sx_1.default};
127
- `;
128
- const transformChildren = (children) => {
129
- return react_1.default.Children.map(children, (child, index) => {
130
- if (!react_1.default.isValidElement(child))
131
- return child;
132
- return react_1.default.cloneElement(child, {
133
- className: classnames_1.default(child.props.className, 'pc-AvatarItem'),
134
- sx: { zIndex: 10 - index, ...child.props.sx }
135
- });
136
- });
137
- };
138
- const AvatarStack = ({ children, alignRight, sx: sxProp }) => {
139
- const count = react_1.default.Children.count(children);
140
- const wrapperClassNames = classnames_1.default({
141
- 'pc-AvatarStack--two': count === 2,
142
- 'pc-AvatarStack--three-plus': count > 2,
143
- 'pc-AvatarStack--right': alignRight
144
- });
145
- return (<AvatarStackWrapper count={count} className={wrapperClassNames} sx={sxProp}>
146
- <_1.Box position="absolute" display="flex" width="38px" className="pc-AvatarStackBody">
147
- {transformChildren(children)}
148
- </_1.Box>
149
- </AvatarStackWrapper>);
150
- };
151
- exports.default = AvatarStack;
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const react_1 = __importDefault(require("react"));
26
- const styled_components_1 = __importStar(require("styled-components"));
27
- const constants_1 = require("./constants");
28
- const GlobalStyle = styled_components_1.createGlobalStyle `
29
- * { box-sizing: border-box; }
30
- body { margin: 0; }
31
- table { border-collapse: collapse; }
32
-
33
- [role="button"]:focus:not(:focus-visible):not(.focus-visible),
34
- [role="tabpanel"][tabindex="0"]:focus:not(:focus-visible):not(.focus-visible),
35
- button:focus:not(:focus-visible):not(.focus-visible),
36
- summary:focus:not(:focus-visible):not(.focus-visible),
37
- a:focus:not(:focus-visible):not(.focus-visible) {
38
- outline: none;
39
- box-shadow: none;
40
- }
41
-
42
- [tabindex="0"]:focus:not(:focus-visible):not(.focus-visible),
43
- details-dialog:focus:not(:focus-visible):not(.focus-visible) {
44
- outline: none;
45
- }
46
- `;
47
- const Base = styled_components_1.default.div `
48
- ${constants_1.TYPOGRAPHY};
49
- ${constants_1.COMMON};
50
- `;
51
- function BaseStyles(props) {
52
- const { children, ...rest } = props;
53
- // load polyfill for :focus-visible
54
- require('focus-visible');
55
- return (<Base {...rest} data-portal-root>
56
- <GlobalStyle />
57
- {children}
58
- </Base>);
59
- }
60
- BaseStyles.defaultProps = {
61
- color: 'fg.default',
62
- fontFamily: 'normal',
63
- lineHeight: 'default'
64
- };
65
- exports.default = BaseStyles;
package/lib/BorderBox.jsx DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const styled_components_1 = __importDefault(require("styled-components"));
7
- const Box_1 = __importDefault(require("./Box"));
8
- /**
9
- * @deprecated Use the Box component instead (i.e. <BorderBox> → <Box borderWidth='1px' borderStyle='solid' borderColor='border.primary' borderRadius={2}>)
10
- */
11
- const BorderBox = styled_components_1.default(Box_1.default) ``;
12
- BorderBox.defaultProps = {
13
- borderWidth: '1px',
14
- borderStyle: 'solid',
15
- borderColor: 'border.default',
16
- borderRadius: 2
17
- };
18
- exports.default = BorderBox;
package/lib/Box.jsx DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const styled_components_1 = __importDefault(require("styled-components"));
7
- const styled_system_1 = require("styled-system");
8
- const sx_1 = __importDefault(require("./sx"));
9
- const Box = styled_components_1.default.div(styled_system_1.space, styled_system_1.color, styled_system_1.typography, styled_system_1.layout, styled_system_1.flexbox, styled_system_1.grid, styled_system_1.background, styled_system_1.border, styled_system_1.position, styled_system_1.shadow, sx_1.default);
10
- exports.default = Box;