@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,20 +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
- const BranchName = styled_components_1.default.a `
10
- display: inline-block;
11
- padding: 2px 6px;
12
- font-size: ${constants_1.get('fontSizes.0')};
13
- font-family: ${constants_1.get('fonts.mono')};
14
- color: ${constants_1.get('colors.fg.muted')};
15
- background-color: ${constants_1.get('colors.accent.subtle')};
16
- border-radius: ${constants_1.get('radii.2')};
17
- ${constants_1.COMMON};
18
- ${sx_1.default};
19
- `;
20
- exports.default = BranchName;
@@ -1,71 +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
- exports.Breadcrumb = void 0;
7
- const classnames_1 = __importDefault(require("classnames"));
8
- const react_1 = __importDefault(require("react"));
9
- const styled_components_1 = __importDefault(require("styled-components"));
10
- const Box_1 = __importDefault(require("./Box"));
11
- const constants_1 = require("./constants");
12
- const sx_1 = __importDefault(require("./sx"));
13
- const SELECTED_CLASS = 'selected';
14
- const Wrapper = styled_components_1.default.li `
15
- display: inline-block;
16
- white-space: nowrap;
17
- list-style: none;
18
- &::after {
19
- padding-right: 0.5em;
20
- padding-left: 0.5em;
21
- color: ${constants_1.get('colors.fg.muted')};
22
- font-size: ${constants_1.get('fontSizes.1')};
23
- content: '/';
24
- }
25
- &:first-child {
26
- margin-left: 0;
27
- }
28
- &:last-child {
29
- &::after {
30
- content: none;
31
- }
32
- }
33
- `;
34
- const BreadcrumbsBase = styled_components_1.default.nav `
35
- display: flex;
36
- justify-content: space-between;
37
- ${sx_1.default};
38
- `;
39
- function Breadcrumbs({ className, children, sx: sxProp }) {
40
- const wrappedChildren = react_1.default.Children.map(children, child => <Wrapper>{child}</Wrapper>);
41
- return (<BreadcrumbsBase className={className} aria-label="Breadcrumbs" sx={sxProp}>
42
- <Box_1.default as="ol" my={0} pl={0}>
43
- {wrappedChildren}
44
- </Box_1.default>
45
- </BreadcrumbsBase>);
46
- }
47
- const BreadcrumbsItem = styled_components_1.default.a.attrs(props => ({
48
- activeClassName: typeof props.to === 'string' ? 'selected' : '',
49
- className: classnames_1.default(props.selected && SELECTED_CLASS, props.className),
50
- 'aria-current': props.selected ? 'page' : null
51
- })) `
52
- color: ${constants_1.get('colors.accent.fg')};
53
- display: inline-block;
54
- font-size: ${constants_1.get('fontSizes.1')};
55
- text-decoration: none;
56
- &:hover {
57
- text-decoration: underline;
58
- }
59
- &.selected {
60
- color: ${constants_1.get('colors.fg.default')};
61
- pointer-events: none;
62
- }
63
- ${sx_1.default};
64
- `;
65
- Breadcrumbs.displayName = 'Breadcrumbs';
66
- BreadcrumbsItem.displayName = 'Breadcrumbs.Item';
67
- exports.default = Object.assign(Breadcrumbs, { Item: BreadcrumbsItem });
68
- /**
69
- * @deprecated Use the `Breadcrumbs` component instead (i.e. `<Breadcrumb>` → `<Breadcrumbs>`)
70
- */
71
- exports.Breadcrumb = Object.assign(Breadcrumbs, { Item: BreadcrumbsItem });
@@ -1,40 +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
- const ButtonBase_1 = __importDefault(require("./ButtonBase"));
10
- const Button = styled_components_1.default(ButtonBase_1.default) `
11
- color: ${constants_1.get('colors.btn.text')};
12
- background-color: ${constants_1.get('colors.btn.bg')};
13
- border: 1px solid ${constants_1.get('colors.btn.border')};
14
- box-shadow: ${constants_1.get('shadows.btn.shadow')}, ${constants_1.get('shadows.btn.insetShadow')}};
15
-
16
- &:hover {
17
- background-color: ${constants_1.get('colors.btn.hoverBg')};
18
- border-color: ${constants_1.get('colors.btn.hoverBorder')};
19
- }
20
-
21
- // focus must come before :active so that the active box shadow overrides
22
- &:focus {
23
- border-color: ${constants_1.get('colors.btn.focusBorder')};
24
- box-shadow: ${constants_1.get('shadows.btn.focusShadow')};
25
- }
26
-
27
- &:active {
28
- background-color: ${constants_1.get('colors.btn.selectedBg')};
29
- box-shadow: ${constants_1.get('shadows.btn.shadowActive')};
30
- }
31
-
32
- &:disabled {
33
- color: ${constants_1.get('colors.primer.fg.disabled')};
34
- background-color: ${constants_1.get('colors.btn.bg')};
35
- border-color: ${constants_1.get('colors.btn.border')};
36
- }
37
-
38
- ${sx_1.default};
39
- `;
40
- exports.default = Button;
@@ -1,33 +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 ButtonStyles_1 = __importDefault(require("./ButtonStyles"));
9
- const variants = styled_system_1.variant({
10
- variants: {
11
- small: {
12
- p: '4px 12px',
13
- fontSize: 0
14
- },
15
- medium: {
16
- fontSize: 1
17
- },
18
- large: {
19
- fontSize: 2,
20
- p: '10px 20px'
21
- }
22
- }
23
- });
24
- const ButtonBase = styled_components_1.default.button.attrs(({ disabled, onClick }) => ({
25
- onClick: disabled ? undefined : onClick
26
- })) `
27
- ${ButtonStyles_1.default}
28
- ${variants}
29
- `;
30
- ButtonBase.defaultProps = {
31
- variant: 'medium'
32
- };
33
- exports.default = ButtonBase;
@@ -1,53 +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 octicons_react_1 = require("@primer/octicons-react");
26
- const react_1 = __importStar(require("react"));
27
- const styled_components_1 = __importDefault(require("styled-components"));
28
- const constants_1 = require("../constants");
29
- const sx_1 = __importDefault(require("../sx"));
30
- const StyledButton = styled_components_1.default.button `
31
- border: none;
32
- padding: 0;
33
- background: transparent;
34
- outline: none;
35
- cursor: pointer;
36
- border-radius: ${constants_1.get('radii.2')};
37
- color: ${constants_1.get('colors.fg.muted')};
38
-
39
- &:focus {
40
- box-shadow: ${constants_1.get('shadows.btn.focusShadow')};
41
- }
42
-
43
- &:hover {
44
- color: ${constants_1.get('colors.accent.fg')};
45
- }
46
- ${sx_1.default};
47
- `;
48
- const ButtonClose = react_1.forwardRef((props, ref) => {
49
- return (<StyledButton ref={ref} aria-label="Close" {...props}>
50
- <octicons_react_1.XIcon />
51
- </StyledButton>);
52
- });
53
- exports.default = ButtonClose;
@@ -1,43 +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
- const ButtonBase_1 = __importDefault(require("./ButtonBase"));
10
- const ButtonDanger = styled_components_1.default(ButtonBase_1.default) `
11
- color: ${constants_1.get('colors.btn.danger.text')};
12
- border: 1px solid ${constants_1.get('colors.btn.border')};
13
- background-color: ${constants_1.get('colors.btn.bg')};
14
- box-shadow: ${constants_1.get('shadows.btn.shadow')};
15
-
16
- &:hover {
17
- color: ${constants_1.get('colors.btn.danger.hoverText')};
18
- background-color: ${constants_1.get('colors.btn.danger.hoverBg')};
19
- border-color: ${constants_1.get('colors.btn.danger.hoverBorder')};
20
- box-shadow: ${constants_1.get('shadows.btn.danger.hoverShadow')};
21
- }
22
- // focus must come before :active so that the active box shadow overrides
23
- &:focus {
24
- border-color: ${constants_1.get('colors.btn.danger.focusBorder')};
25
- box-shadow: ${constants_1.get('shadows.btn.danger.focusShadow')};
26
- }
27
-
28
- &:active {
29
- color: ${constants_1.get('colors.btn.danger.selectedText')};
30
- background-color: ${constants_1.get('colors.btn.danger.selectedBg')};
31
- box-shadow: ${constants_1.get('shadows.btn.danger.selectedShadow')};
32
- border-color: ${constants_1.get('colors.btn.danger.selectedBorder')};
33
- }
34
-
35
- &:disabled {
36
- color: ${constants_1.get('colors.btn.danger.disabledText')};
37
- background-color: ${constants_1.get('colors.btn.danger.disabledBg')};
38
- border-color: ${constants_1.get('colors.btn.danger.disabledBorder')};
39
- }
40
-
41
- ${sx_1.default};
42
- `;
43
- exports.default = ButtonDanger;
@@ -1,55 +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
- const constants_1 = require("../constants");
9
- const sx_1 = __importDefault(require("../sx"));
10
- const ButtonGroup = styled_components_1.default(Box_1.default) `
11
- vertical-align: middle;
12
-
13
- && > * {
14
- position: relative;
15
- border-right-width: 0;
16
- border-radius: 0;
17
-
18
- :first-child {
19
- border-top-left-radius: ${constants_1.get('radii.2')};
20
- border-bottom-left-radius: ${constants_1.get('radii.2')};
21
- margin-right: 0;
22
- }
23
-
24
- :not(:first-child) {
25
- margin-left: 0;
26
- margin-right: 0;
27
- }
28
-
29
- :last-child {
30
- border-right-width: 1px;
31
- border-top-right-radius: ${constants_1.get('radii.2')};
32
- border-bottom-right-radius: ${constants_1.get('radii.2')};
33
- }
34
-
35
- :focus,
36
- :active,
37
- :hover {
38
- border-right-width: 1px;
39
- + * {
40
- border-left-width: 0;
41
- }
42
- }
43
-
44
- :focus,
45
- :active {
46
- z-index: 1;
47
- }
48
- }
49
-
50
- ${sx_1.default};
51
- `;
52
- ButtonGroup.defaultProps = {
53
- display: 'inline-block'
54
- };
55
- exports.default = ButtonGroup;
@@ -1,32 +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
- const ButtonBase_1 = __importDefault(require("./ButtonBase"));
10
- const ButtonInvisible = styled_components_1.default(ButtonBase_1.default) `
11
- color: ${constants_1.get('colors.accent.fg')};
12
- background-color: transparent;
13
- border: 0;
14
- border-radius: ${constants_1.get('radii.2')};
15
- box-shadow: none;
16
-
17
- &:disabled {
18
- color: ${constants_1.get('colors.primer.fg.disabled')};
19
- }
20
- &:focus {
21
- box-shadow: ${constants_1.get('shadows.btn.focusShadow')};
22
- }
23
- &:hover {
24
- background-color: ${constants_1.get('colors.btn.hoverBg')};
25
- }
26
- &:active {
27
- background-color: ${constants_1.get('colors.btn.selectedBg')};
28
- }
29
-
30
- ${sx_1.default}
31
- `;
32
- exports.default = ButtonInvisible;
@@ -1,43 +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
- const ButtonBase_1 = __importDefault(require("./ButtonBase"));
10
- const ButtonOutline = styled_components_1.default(ButtonBase_1.default) `
11
- color: ${constants_1.get('colors.btn.outline.text')};
12
- border: 1px solid ${constants_1.get('colors.btn.border')};
13
- background-color: ${constants_1.get('colors.btn.bg')};
14
- box-shadow: ${constants_1.get('shadows.btn.shadow')};
15
-
16
- &:hover {
17
- color: ${constants_1.get('colors.btn.outline.hoverText')};
18
- background-color: ${constants_1.get('colors.btn.outline.hoverBg')};
19
- border-color: ${constants_1.get('colors.btn.outline.hoverBorder')};
20
- box-shadow: ${constants_1.get('shadows.btn.outline.hoverShadow')};
21
- }
22
- // focus must come before :active so that the active box shadow overrides
23
- &:focus {
24
- border-color: ${constants_1.get('colors.btn.outline.focusBorder')};
25
- box-shadow: ${constants_1.get('shadows.btn.outline.focusShadow')};
26
- }
27
-
28
- &:active {
29
- color: ${constants_1.get('colors.btn.outline.selectedText')};
30
- background-color: ${constants_1.get('colors.btn.outline.selectedBg')};
31
- box-shadow: ${constants_1.get('shadows.btn.outline.selectedShadow')};
32
- border-color: ${constants_1.get('colors.btn.outline.selectedBorder')};
33
- }
34
-
35
- &:disabled {
36
- color: ${constants_1.get('colors.btn.outline.disabledText')};
37
- background-color: ${constants_1.get('colors.btn.outline.disabledBg')};
38
- border-color: ${constants_1.get('colors.btn.border')};
39
- }
40
-
41
- ${sx_1.default};
42
- `;
43
- exports.default = ButtonOutline;
@@ -1,42 +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
- exports.ButtonPrimary = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- const constants_1 = require("../constants");
9
- const sx_1 = __importDefault(require("../sx"));
10
- const ButtonBase_1 = __importDefault(require("./ButtonBase"));
11
- exports.ButtonPrimary = styled_components_1.default(ButtonBase_1.default) `
12
- color: ${constants_1.get('colors.btn.primary.text')};
13
- border: 1px solid ${constants_1.get('colors.btn.primary.border')};
14
- background-color: ${constants_1.get('colors.btn.primary.bg')};
15
- box-shadow: ${constants_1.get('shadows.btn.primary.shadow')};
16
-
17
- &:hover {
18
- color: ${constants_1.get('colors.btn.primary.hoverText')};
19
- background-color: ${constants_1.get('colors.btn.primary.hoverBg')};
20
- border-color: ${constants_1.get('colors.btn.primary.hoverBorder')};
21
- box-shadow: ${constants_1.get('shadows.btn.primary.hoverShadow')};
22
- }
23
- // focus must come before :active so that the active box shadow overrides
24
- &:focus {
25
- border-color: ${constants_1.get('colors.btn.primary.focusBorder')};
26
- box-shadow: ${constants_1.get('shadows.btn.primary.focusShadow')};
27
- }
28
-
29
- &:active {
30
- background-color: ${constants_1.get('colors.btn.primary.selectedBg')};
31
- box-shadow: ${constants_1.get('shadows.btn.primary.selectedShadow')};
32
- }
33
-
34
- &:disabled {
35
- color: ${constants_1.get('colors.btn.primary.disabledText')};
36
- background-color: ${constants_1.get('colors.btn.primary.disabledBg')};
37
- border-color: ${constants_1.get('colors.btn.primary.disabledBorder')};
38
- }
39
-
40
- ${sx_1.default};
41
- `;
42
- exports.default = exports.ButtonPrimary;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const styled_components_1 = require("styled-components");
4
- const constants_1 = require("../constants");
5
- exports.default = styled_components_1.css `
6
- position: relative;
7
- display: inline-block;
8
- padding: 6px 16px;
9
- font-family: inherit;
10
- font-weight: ${constants_1.get('fontWeights.bold')};
11
- line-height: 20px;
12
- white-space: nowrap;
13
- vertical-align: middle;
14
- cursor: pointer;
15
- user-select: none;
16
- border-radius: ${constants_1.get('radii.2')};
17
- appearance: none;
18
- text-decoration: none;
19
- text-align: center;
20
-
21
- &:hover {
22
- // needed to override link styles
23
- text-decoration: none;
24
- }
25
-
26
- &:focus {
27
- outline: none;
28
- }
29
-
30
- &:disabled {
31
- cursor: default;
32
- }
33
-
34
- &:disabled svg {
35
- opacity: 0.6;
36
- }
37
- `;
@@ -1,46 +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
- const ButtonTableList = styled_components_1.default.summary `
10
- display: inline-block;
11
- padding: 0;
12
- font-size: ${constants_1.get('fontSizes.1')};
13
- color: ${constants_1.get('colors.fg.muted')};
14
- text-decoration: none;
15
- white-space: nowrap;
16
- cursor: pointer;
17
- user-select: none;
18
- background-color: transparent;
19
- border: 0;
20
- appearance: none; // Corrects inability to style clickable input types in iOS.
21
-
22
- &:hover {
23
- text-decoration: underline;
24
- }
25
-
26
- &:disabled {
27
- &,
28
- &:hover {
29
- color: ${constants_1.get('colors.primer.fg.disabled')};
30
- cursor: default;
31
- }
32
- }
33
-
34
- &:after {
35
- display: inline-block;
36
- margin-left: ${constants_1.get('space.1')};
37
- width: 0;
38
- height: 0;
39
- vertical-align: -2px;
40
- content: '';
41
- border: 4px solid transparent;
42
- border-top-color: currentcolor;
43
- }
44
- ${sx_1.default};
45
- `;
46
- exports.default = ButtonTableList;
package/lib/Caret.jsx DELETED
@@ -1,93 +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 = require("styled-components");
8
- const styled_system_1 = require("styled-system");
9
- const oppositeEdge = {
10
- top: 'Bottom',
11
- right: 'Left',
12
- bottom: 'Top',
13
- left: 'Right'
14
- };
15
- const perpendicularEdge = {
16
- top: 'Left',
17
- right: 'Top',
18
- bottom: 'Left',
19
- left: 'Top'
20
- };
21
- function getEdgeAlign(location) {
22
- const [edge, align] = location.split('-');
23
- return [edge, align];
24
- }
25
- function getPosition(edge, align, spacing) {
26
- const opposite = oppositeEdge[edge].toLowerCase();
27
- const perp = perpendicularEdge[edge].toLowerCase();
28
- return {
29
- [opposite]: '100%',
30
- [align || perp]: align ? spacing : '50%'
31
- };
32
- }
33
- const getBg = styled_system_1.style({ prop: 'bg', key: 'colors' });
34
- const getBorderColor = styled_system_1.style({ prop: 'borderColor', key: 'colors' });
35
- const getBorderWidth = styled_system_1.style({ prop: 'borderWidth', key: 'borderWidths', scale: [0, 1] });
36
- function Caret(props) {
37
- const theme = react_1.default.useContext(styled_components_1.ThemeContext);
38
- const propsWithTheme = { ...props, theme: props.theme ?? theme };
39
- const { bg } = getBg(propsWithTheme);
40
- const { borderColor } = getBorderColor(propsWithTheme);
41
- const { borderWidth } = getBorderWidth(propsWithTheme);
42
- const { size = 8, location = 'bottom' } = props;
43
- const [edge, align] = getEdgeAlign(location);
44
- const perp = perpendicularEdge[edge];
45
- // note: these arrays represent points in the form [x, y]
46
- const a = [-size, 0];
47
- const b = [0, size];
48
- const c = [size, 0];
49
- // spaces are optional in path `d` attribute, and points are
50
- // represented in the form `x,y` -- which is what the arrays above
51
- // become when stringified!
52
- const triangle = `M${a}L${b}L${c}L${a}Z`;
53
- const line = `M${a}L${b}L${c}`;
54
- const transform = {
55
- top: `translate(${[size, size * 2]}) rotate(180)`,
56
- right: `translate(${[0, size]}) rotate(-90)`,
57
- bottom: `translate(${[size, 0]})`,
58
- left: `translate(${[size * 2, size]}) rotate(90)`
59
- }[edge];
60
- return (<svg width={size * 2} height={size * 2} style={{
61
- pointerEvents: 'none',
62
- position: 'absolute',
63
- ...getPosition(edge, align, size),
64
- // if align is set (top|right|bottom|left),
65
- // then we don't need an offset margin
66
- [`margin${perp}`]: align ? null : -size
67
- }}>
68
- <g transform={transform}>
69
- <path d={triangle} fill={bg}/>
70
- <path d={line} fill="none" stroke={borderColor} strokeWidth={borderWidth}/>
71
- </g>
72
- </svg>);
73
- }
74
- Caret.locations = [
75
- 'top',
76
- 'top-left',
77
- 'top-right',
78
- 'right',
79
- 'right-top',
80
- 'right-bottom',
81
- 'bottom',
82
- 'bottom-left',
83
- 'bottom-right',
84
- 'left',
85
- 'left-top',
86
- 'left-bottom'
87
- ];
88
- Caret.defaultProps = {
89
- bg: 'canvas.default',
90
- borderColor: 'border.default',
91
- borderWidth: 1
92
- };
93
- exports.default = Caret;
@@ -1,42 +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 StyledOcticon_1 = __importDefault(require("./StyledOcticon"));
9
- const sx_1 = __importDefault(require("./sx"));
10
- const isNumeric_1 = __importDefault(require("./utils/isNumeric"));
11
- const variantSizes = {
12
- small: 56,
13
- medium: 96,
14
- large: 128
15
- };
16
- const sizeStyles = ({ size, variant = 'medium' }) => {
17
- const calc = isNumeric_1.default(size) ? size : variantSizes[variant];
18
- return {
19
- width: calc,
20
- height: calc
21
- };
22
- };
23
- const CircleBadge = styled_components_1.default.div `
24
- display: ${props => (props.inline ? 'inline-flex' : 'flex')};
25
- align-items: center;
26
- justify-content: center;
27
- background-color: ${constants_1.get('colors.canvas.default')};
28
- border-radius: 50%;
29
- box-shadow: ${constants_1.get('shadows.shadow.medium')};
30
- ${sizeStyles};
31
- ${sx_1.default};
32
- `;
33
- const CircleBadgeIcon = styled_components_1.default(StyledOcticon_1.default) `
34
- height: auto;
35
- max-width: 60%;
36
- max-height: 55%;
37
- `;
38
- CircleBadge.defaultProps = {
39
- inline: false
40
- };
41
- CircleBadgeIcon.displayName = 'CircleBadge.Icon';
42
- exports.default = Object.assign(CircleBadge, { Icon: CircleBadgeIcon });