@primer/components 0.0.0-20211030163410 → 0.0.0-20211030175556

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 (318) hide show
  1. package/CHANGELOG.md +2 -28
  2. package/dist/browser.esm.js +591 -602
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +200 -211
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/Divider.jsx +29 -0
  7. package/lib/ActionList/Group.jsx +23 -0
  8. package/lib/ActionList/Header.jsx +66 -0
  9. package/lib/ActionList/Item.js +3 -3
  10. package/lib/ActionList/Item.jsx +288 -0
  11. package/lib/ActionList/List.jsx +138 -0
  12. package/lib/ActionList/index.js +12 -23
  13. package/lib/ActionList2/Description.jsx +29 -0
  14. package/lib/ActionList2/Divider.jsx +22 -0
  15. package/lib/ActionList2/Group.jsx +54 -0
  16. package/lib/ActionList2/Header.d.ts +26 -0
  17. package/lib/ActionList2/Header.js +55 -0
  18. package/lib/ActionList2/Header.jsx +36 -0
  19. package/lib/ActionList2/Item.js +1 -3
  20. package/lib/ActionList2/Item.jsx +174 -0
  21. package/lib/ActionList2/LinkItem.jsx +28 -0
  22. package/lib/ActionList2/List.js +2 -1
  23. package/lib/ActionList2/List.jsx +41 -0
  24. package/lib/ActionList2/Selection.js +1 -3
  25. package/lib/ActionList2/Selection.jsx +50 -0
  26. package/lib/ActionList2/Visuals.jsx +48 -0
  27. package/lib/ActionList2/index.js +23 -41
  28. package/lib/ActionMenu.jsx +73 -0
  29. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +100 -0
  30. package/lib/AnchoredOverlay/index.js +4 -12
  31. package/lib/Autocomplete/Autocomplete.d.ts +0 -1
  32. package/lib/Autocomplete/Autocomplete.jsx +100 -0
  33. package/lib/Autocomplete/AutocompleteContext.jsx +5 -0
  34. package/lib/Autocomplete/AutocompleteInput.d.ts +0 -1
  35. package/lib/Autocomplete/AutocompleteInput.jsx +113 -0
  36. package/lib/Autocomplete/AutocompleteMenu.js +13 -6
  37. package/lib/Autocomplete/AutocompleteMenu.jsx +190 -0
  38. package/lib/Autocomplete/AutocompleteOverlay.jsx +55 -0
  39. package/lib/Autocomplete/index.js +7 -14
  40. package/lib/Avatar.jsx +34 -0
  41. package/lib/AvatarPair.jsx +29 -0
  42. package/lib/AvatarStack.jsx +151 -0
  43. package/lib/BaseStyles.jsx +65 -0
  44. package/lib/BorderBox.jsx +18 -0
  45. package/lib/Box.jsx +10 -0
  46. package/lib/BranchName.jsx +20 -0
  47. package/lib/Breadcrumbs.jsx +71 -0
  48. package/lib/Button/Button.d.ts +0 -1
  49. package/lib/Button/Button.jsx +40 -0
  50. package/lib/Button/ButtonBase.jsx +33 -0
  51. package/lib/Button/ButtonClose.d.ts +1 -2
  52. package/lib/Button/ButtonClose.jsx +53 -0
  53. package/lib/Button/ButtonDanger.d.ts +0 -1
  54. package/lib/Button/ButtonDanger.jsx +43 -0
  55. package/lib/Button/ButtonGroup.jsx +55 -0
  56. package/lib/Button/ButtonInvisible.d.ts +0 -1
  57. package/lib/Button/ButtonInvisible.jsx +32 -0
  58. package/lib/Button/ButtonOutline.d.ts +0 -1
  59. package/lib/Button/ButtonOutline.jsx +43 -0
  60. package/lib/Button/ButtonPrimary.d.ts +0 -1
  61. package/lib/Button/ButtonPrimary.jsx +42 -0
  62. package/lib/Button/ButtonStyles.jsx +37 -0
  63. package/lib/Button/ButtonTableList.jsx +46 -0
  64. package/lib/Button/index.js +21 -70
  65. package/lib/Caret.jsx +93 -0
  66. package/lib/CircleBadge.jsx +42 -0
  67. package/lib/CircleOcticon.d.ts +0 -1
  68. package/lib/CircleOcticon.jsx +21 -0
  69. package/lib/CounterLabel.jsx +43 -0
  70. package/lib/Details.jsx +21 -0
  71. package/lib/Dialog/ConfirmationDialog.jsx +146 -0
  72. package/lib/Dialog/Dialog.jsx +279 -0
  73. package/lib/Dialog.d.ts +2 -3
  74. package/lib/Dialog.jsx +129 -0
  75. package/lib/Dropdown.d.ts +0 -4
  76. package/lib/Dropdown.jsx +131 -0
  77. package/lib/DropdownMenu/DropdownButton.d.ts +1 -2
  78. package/lib/DropdownMenu/DropdownButton.jsx +14 -0
  79. package/lib/DropdownMenu/DropdownMenu.jsx +70 -0
  80. package/lib/DropdownMenu/index.js +6 -20
  81. package/lib/DropdownStyles.js +18 -26
  82. package/lib/FilterList.d.ts +0 -1
  83. package/lib/FilterList.jsx +59 -0
  84. package/lib/FilteredActionList/FilteredActionList.jsx +100 -0
  85. package/lib/FilteredActionList/index.js +4 -12
  86. package/lib/FilteredSearch.jsx +28 -0
  87. package/lib/Flash.jsx +69 -0
  88. package/lib/Flex.jsx +15 -0
  89. package/lib/FormGroup.jsx +22 -0
  90. package/lib/Grid.jsx +15 -0
  91. package/lib/Header.jsx +83 -0
  92. package/lib/Heading.jsx +21 -0
  93. package/lib/Label.jsx +82 -0
  94. package/lib/LabelGroup.jsx +18 -0
  95. package/lib/Link.jsx +36 -0
  96. package/lib/NewButton/button-counter.jsx +14 -0
  97. package/lib/NewButton/button.jsx +279 -0
  98. package/lib/NewButton/index.js +5 -12
  99. package/lib/NewButton/types.js +2 -1
  100. package/lib/Overlay.d.ts +3 -5
  101. package/lib/Overlay.jsx +154 -0
  102. package/lib/Pagehead.jsx +17 -0
  103. package/lib/Pagination/Pagination.jsx +161 -0
  104. package/lib/Pagination/index.js +6 -12
  105. package/lib/Pagination/model.jsx +174 -0
  106. package/lib/PointerBox.jsx +25 -0
  107. package/lib/Popover.jsx +202 -0
  108. package/lib/Portal/Portal.jsx +79 -0
  109. package/lib/Portal/index.js +5 -16
  110. package/lib/Position.d.ts +4 -4
  111. package/lib/Position.jsx +46 -0
  112. package/lib/ProgressBar.jsx +39 -0
  113. package/lib/SelectMenu/SelectMenu.d.ts +4 -10
  114. package/lib/SelectMenu/SelectMenu.jsx +112 -0
  115. package/lib/SelectMenu/SelectMenuContext.jsx +5 -0
  116. package/lib/SelectMenu/SelectMenuDivider.jsx +42 -0
  117. package/lib/SelectMenu/SelectMenuFilter.jsx +58 -0
  118. package/lib/SelectMenu/SelectMenuFooter.jsx +45 -0
  119. package/lib/SelectMenu/SelectMenuHeader.jsx +42 -0
  120. package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
  121. package/lib/SelectMenu/SelectMenuItem.jsx +142 -0
  122. package/lib/SelectMenu/SelectMenuList.jsx +59 -0
  123. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +22 -0
  124. package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
  125. package/lib/SelectMenu/SelectMenuModal.jsx +118 -0
  126. package/lib/SelectMenu/SelectMenuTab.jsx +92 -0
  127. package/lib/SelectMenu/SelectMenuTabPanel.jsx +42 -0
  128. package/lib/SelectMenu/SelectMenuTabs.jsx +57 -0
  129. package/lib/SelectMenu/hooks/useKeyboardNav.js +80 -96
  130. package/lib/SelectMenu/index.js +7 -14
  131. package/lib/SelectPanel/SelectPanel.jsx +105 -0
  132. package/lib/SelectPanel/index.js +4 -12
  133. package/lib/SideNav.jsx +173 -0
  134. package/lib/Spinner.jsx +35 -0
  135. package/lib/StateLabel.jsx +93 -0
  136. package/lib/StyledOcticon.jsx +18 -0
  137. package/lib/SubNav.jsx +101 -0
  138. package/lib/TabNav.jsx +58 -0
  139. package/lib/Text.jsx +14 -0
  140. package/lib/TextInput.jsx +23 -0
  141. package/lib/TextInputWithTokens.d.ts +0 -1
  142. package/lib/TextInputWithTokens.jsx +218 -0
  143. package/lib/ThemeProvider.jsx +130 -0
  144. package/lib/Timeline.jsx +123 -0
  145. package/lib/Token/AvatarToken.d.ts +1 -1
  146. package/lib/Token/AvatarToken.jsx +54 -0
  147. package/lib/Token/IssueLabelToken.d.ts +1 -1
  148. package/lib/Token/IssueLabelToken.jsx +125 -0
  149. package/lib/Token/Token.d.ts +1 -1
  150. package/lib/Token/Token.jsx +103 -0
  151. package/lib/Token/TokenBase.jsx +88 -0
  152. package/lib/Token/_RemoveTokenButton.jsx +108 -0
  153. package/lib/Token/_TokenTextContainer.jsx +49 -0
  154. package/lib/Token/index.js +11 -30
  155. package/lib/Tooltip.jsx +246 -0
  156. package/lib/Truncate.jsx +24 -0
  157. package/lib/UnderlineNav.jsx +88 -0
  158. package/lib/_TextInputWrapper.jsx +120 -0
  159. package/lib/_UnstyledTextInput.jsx +22 -0
  160. package/lib/behaviors/anchoredPosition.js +205 -234
  161. package/lib/behaviors/focusTrap.js +121 -157
  162. package/lib/behaviors/focusZone.js +434 -509
  163. package/lib/behaviors/scrollIntoViewingArea.js +18 -35
  164. package/lib/constants.js +39 -43
  165. package/lib/drafts.js +20 -30
  166. package/lib/hooks/index.js +16 -60
  167. package/lib/hooks/useAnchoredPosition.js +32 -40
  168. package/lib/hooks/useCombinedRefs.js +32 -36
  169. package/lib/hooks/useDetails.jsx +39 -0
  170. package/lib/hooks/useDialog.js +72 -96
  171. package/lib/hooks/useFocusTrap.js +43 -60
  172. package/lib/hooks/useFocusZone.js +54 -50
  173. package/lib/hooks/useOnEscapePress.js +25 -36
  174. package/lib/hooks/useOnOutsideClick.jsx +61 -0
  175. package/lib/hooks/useOpenAndCloseFocus.js +22 -34
  176. package/lib/hooks/useOverlay.jsx +15 -0
  177. package/lib/hooks/useProvidedRefOrCreate.js +10 -14
  178. package/lib/hooks/useProvidedStateOrCreate.js +13 -16
  179. package/lib/hooks/useRenderForcingRef.js +13 -17
  180. package/lib/hooks/useResizeObserver.js +15 -18
  181. package/lib/hooks/useSafeTimeout.js +22 -30
  182. package/lib/hooks/useScrollFlash.js +16 -23
  183. package/lib/index.d.ts +0 -5
  184. package/lib/index.js +163 -676
  185. package/lib/polyfills/eventListenerSignal.js +37 -45
  186. package/lib/sx.js +10 -22
  187. package/lib/theme-preval.js +64 -3169
  188. package/lib/theme.js +3 -12
  189. package/lib/utils/create-slots.jsx +65 -0
  190. package/lib/utils/deprecate.jsx +59 -0
  191. package/lib/utils/isNumeric.jsx +7 -0
  192. package/lib/utils/iterateFocusableElements.js +63 -85
  193. package/lib/utils/ssr.jsx +6 -0
  194. package/lib/utils/test-deprecations.jsx +20 -0
  195. package/lib/utils/test-helpers.jsx +8 -0
  196. package/lib/utils/test-matchers.jsx +100 -0
  197. package/lib/utils/testing.d.ts +1 -2
  198. package/lib/utils/testing.js +0 -29
  199. package/lib/utils/testing.jsx +206 -0
  200. package/lib/utils/theme.js +33 -47
  201. package/lib/utils/types/AriaRole.js +2 -1
  202. package/lib/utils/types/ComponentProps.js +2 -1
  203. package/lib/utils/types/Flatten.js +2 -1
  204. package/lib/utils/types/KeyPaths.js +2 -1
  205. package/lib/utils/types/MandateProps.js +16 -1
  206. package/lib/utils/types/Merge.js +2 -1
  207. package/lib/utils/types/index.js +16 -69
  208. package/lib/utils/uniqueId.js +5 -8
  209. package/lib/utils/use-force-update.js +8 -14
  210. package/lib/utils/useIsomorphicLayoutEffect.js +8 -11
  211. package/lib/utils/userAgent.js +8 -12
  212. package/lib-esm/ActionList/Item.js +3 -3
  213. package/lib-esm/ActionList2/Header.d.ts +26 -0
  214. package/lib-esm/ActionList2/Header.js +44 -0
  215. package/lib-esm/ActionList2/Item.js +1 -3
  216. package/lib-esm/ActionList2/List.js +2 -1
  217. package/lib-esm/ActionList2/Selection.js +1 -3
  218. package/lib-esm/Autocomplete/Autocomplete.d.ts +0 -1
  219. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +0 -1
  220. package/lib-esm/Autocomplete/AutocompleteMenu.js +13 -3
  221. package/lib-esm/Button/Button.d.ts +0 -1
  222. package/lib-esm/Button/ButtonClose.d.ts +1 -2
  223. package/lib-esm/Button/ButtonDanger.d.ts +0 -1
  224. package/lib-esm/Button/ButtonInvisible.d.ts +0 -1
  225. package/lib-esm/Button/ButtonOutline.d.ts +0 -1
  226. package/lib-esm/Button/ButtonPrimary.d.ts +0 -1
  227. package/lib-esm/CircleOcticon.d.ts +0 -1
  228. package/lib-esm/Dialog.d.ts +2 -3
  229. package/lib-esm/Dropdown.d.ts +0 -4
  230. package/lib-esm/DropdownMenu/DropdownButton.d.ts +1 -2
  231. package/lib-esm/FilterList.d.ts +0 -1
  232. package/lib-esm/Overlay.d.ts +3 -5
  233. package/lib-esm/Position.d.ts +4 -4
  234. package/lib-esm/SelectMenu/SelectMenu.d.ts +4 -10
  235. package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
  236. package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
  237. package/lib-esm/TextInputWithTokens.d.ts +0 -1
  238. package/lib-esm/Token/AvatarToken.d.ts +1 -1
  239. package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
  240. package/lib-esm/Token/Token.d.ts +1 -1
  241. package/lib-esm/index.d.ts +0 -5
  242. package/lib-esm/index.js +0 -4
  243. package/lib-esm/theme-preval.js +0 -446
  244. package/lib-esm/utils/testing.d.ts +1 -2
  245. package/lib-esm/utils/testing.js +0 -24
  246. package/package.json +6 -5
  247. package/lib/Checkbox.d.ts +0 -29
  248. package/lib/Checkbox.js +0 -64
  249. package/lib/CheckboxInputField.d.ts +0 -11
  250. package/lib/CheckboxInputField.js +0 -74
  251. package/lib/RadioInputField.d.ts +0 -9
  252. package/lib/RadioInputField.js +0 -83
  253. package/lib/TextInputField.d.ts +0 -581
  254. package/lib/TextInputField.js +0 -66
  255. package/lib/_InputCaption.d.ts +0 -6
  256. package/lib/_InputCaption.js +0 -23
  257. package/lib/_InputField/InputField.d.ts +0 -39
  258. package/lib/_InputField/InputField.js +0 -90
  259. package/lib/_InputField/InputFieldCaption.d.ts +0 -3
  260. package/lib/_InputField/InputFieldCaption.js +0 -28
  261. package/lib/_InputField/InputFieldLabel.d.ts +0 -9
  262. package/lib/_InputField/InputFieldLabel.js +0 -34
  263. package/lib/_InputField/InputFieldValidation.d.ts +0 -6
  264. package/lib/_InputField/InputFieldValidation.js +0 -17
  265. package/lib/_InputField/ToggleInputField.d.ts +0 -13
  266. package/lib/_InputField/ToggleInputField.js +0 -71
  267. package/lib/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  268. package/lib/_InputField/ToggleInputLeadingVisual.js +0 -22
  269. package/lib/_InputField/ValidationAnimationContainer.d.ts +0 -6
  270. package/lib/_InputField/ValidationAnimationContainer.js +0 -48
  271. package/lib/_InputField/index.d.ts +0 -1
  272. package/lib/_InputField/index.js +0 -15
  273. package/lib/_InputField/slots.d.ts +0 -13
  274. package/lib/_InputField/slots.js +0 -17
  275. package/lib/_InputLabel.d.ts +0 -8
  276. package/lib/_InputLabel.js +0 -44
  277. package/lib/_InputValidation.d.ts +0 -8
  278. package/lib/_InputValidation.js +0 -56
  279. package/lib/_VisuallyHidden.d.ts +0 -6
  280. package/lib/_VisuallyHidden.js +0 -39
  281. package/lib/utils/types/FormValidationStatus.d.ts +0 -1
  282. package/lib/utils/types/FormValidationStatus.js +0 -1
  283. package/lib-esm/Checkbox.d.ts +0 -29
  284. package/lib-esm/Checkbox.js +0 -44
  285. package/lib-esm/CheckboxInputField.d.ts +0 -11
  286. package/lib-esm/CheckboxInputField.js +0 -57
  287. package/lib-esm/RadioInputField.d.ts +0 -9
  288. package/lib-esm/RadioInputField.js +0 -66
  289. package/lib-esm/TextInputField.d.ts +0 -581
  290. package/lib-esm/TextInputField.js +0 -50
  291. package/lib-esm/_InputCaption.d.ts +0 -6
  292. package/lib-esm/_InputCaption.js +0 -12
  293. package/lib-esm/_InputField/InputField.d.ts +0 -39
  294. package/lib-esm/_InputField/InputField.js +0 -70
  295. package/lib-esm/_InputField/InputFieldCaption.d.ts +0 -3
  296. package/lib-esm/_InputField/InputFieldCaption.js +0 -16
  297. package/lib-esm/_InputField/InputFieldLabel.d.ts +0 -9
  298. package/lib-esm/_InputField/InputFieldLabel.js +0 -22
  299. package/lib-esm/_InputField/InputFieldValidation.d.ts +0 -6
  300. package/lib-esm/_InputField/InputFieldValidation.js +0 -7
  301. package/lib-esm/_InputField/ToggleInputField.d.ts +0 -13
  302. package/lib-esm/_InputField/ToggleInputField.js +0 -54
  303. package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
  304. package/lib-esm/_InputField/ToggleInputLeadingVisual.js +0 -11
  305. package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +0 -6
  306. package/lib-esm/_InputField/ValidationAnimationContainer.js +0 -33
  307. package/lib-esm/_InputField/index.d.ts +0 -1
  308. package/lib-esm/_InputField/index.js +0 -1
  309. package/lib-esm/_InputField/slots.d.ts +0 -13
  310. package/lib-esm/_InputField/slots.js +0 -5
  311. package/lib-esm/_InputLabel.d.ts +0 -8
  312. package/lib-esm/_InputLabel.js +0 -32
  313. package/lib-esm/_InputValidation.d.ts +0 -8
  314. package/lib-esm/_InputValidation.js +0 -43
  315. package/lib-esm/_VisuallyHidden.d.ts +0 -6
  316. package/lib-esm/_VisuallyHidden.js +0 -26
  317. package/lib-esm/utils/types/FormValidationStatus.d.ts +0 -1
  318. package/lib-esm/utils/types/FormValidationStatus.js +0 -1
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _octiconsReact = require("@primer/octicons-react");
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _ = require(".");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- const validationIconMap = {
17
- success: _octiconsReact.CheckCircleFillIcon,
18
- error: _octiconsReact.AlertFillIcon
19
- };
20
- const validationColorMap = {
21
- success: 'success.fg',
22
- error: 'danger.fg'
23
- };
24
-
25
- const InputValidation = ({
26
- children,
27
- id,
28
- validationStatus
29
- }) => {
30
- const IconComponent = validationStatus ? validationIconMap[validationStatus] : undefined;
31
- const fgColor = validationStatus ? validationColorMap[validationStatus] : undefined;
32
- return /*#__PURE__*/_react.default.createElement(_.Text, {
33
- display: "flex",
34
- color: fgColor,
35
- fontSize: 0,
36
- sx: {
37
- alignItems: 'baseline',
38
- a: {
39
- color: 'currentColor',
40
- textDecoration: 'underline'
41
- }
42
- }
43
- }, IconComponent && /*#__PURE__*/_react.default.createElement(_.Box, {
44
- as: "span",
45
- mr: 1
46
- }, /*#__PURE__*/_react.default.createElement(IconComponent, {
47
- size: 12,
48
- fill: "currentColor"
49
- })), /*#__PURE__*/_react.default.createElement("span", {
50
- id: id
51
- }, children));
52
- };
53
-
54
- InputValidation.displayName = "InputValidation";
55
- var _default = InputValidation;
56
- exports.default = _default;
@@ -1,6 +0,0 @@
1
- import { SxProp } from './sx';
2
- interface Props {
3
- isVisible?: boolean;
4
- }
5
- declare const VisuallyHidden: import("styled-components").StyledComponent<"span", any, Props & SxProp, never>;
6
- export default VisuallyHidden;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
- var _sx = _interopRequireDefault(require("./sx"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- const VisuallyHidden = _styledComponents.default.span.withConfig({
15
- displayName: "_VisuallyHidden__VisuallyHidden",
16
- componentId: "sc-1k15c4h-0"
17
- })(["", ""], props => {
18
- if (props.isVisible) {
19
- return _sx.default;
20
- }
21
-
22
- return `
23
- position: absolute;
24
- width: 1px;
25
- height: 1px;
26
- padding: 0;
27
- margin: -1px;
28
- overflow: hidden;
29
- clip: rect(0, 0, 0, 0);
30
- white-space: nowrap;
31
- border-width: 0;
32
- `;
33
- });
34
-
35
- VisuallyHidden.defaultProps = {
36
- isVisible: true
37
- };
38
- var _default = VisuallyHidden;
39
- exports.default = _default;
@@ -1 +0,0 @@
1
- export declare type FormValidationStatus = 'error' | 'success';
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,29 +0,0 @@
1
- import React, { InputHTMLAttributes } from 'react';
2
- import { SxProp } from './sx';
3
- export declare type CheckboxProps = {
4
- /**
5
- * Apply indeterminate visual appearance to the checkbox
6
- */
7
- indeterminate?: boolean;
8
- /**
9
- * Apply inactive visual appearance to the checkbox
10
- */
11
- disabled?: boolean;
12
- /**
13
- * Forward a ref to the underlying input element
14
- */
15
- ref?: React.RefObject<HTMLInputElement>;
16
- /**
17
- * Indicates whether the checkbox must be checked
18
- */
19
- required?: boolean;
20
- /**
21
- * Indicates whether the checkbox validation state
22
- */
23
- validationStatus?: 'error' | 'success';
24
- } & InputHTMLAttributes<HTMLInputElement> & SxProp;
25
- /**
26
- * An accessible, native checkbox component
27
- */
28
- declare const Checkbox: React.ForwardRefExoticComponent<Pick<CheckboxProps, "sx" | keyof React.InputHTMLAttributes<HTMLInputElement> | "validationStatus" | "indeterminate"> & React.RefAttributes<HTMLInputElement>>;
29
- export default Checkbox;
@@ -1,44 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import styled from 'styled-components';
4
- import { useProvidedRefOrCreate } from './hooks';
5
- import React, { useLayoutEffect } from 'react';
6
- import sx from './sx';
7
- const StyledCheckbox = styled.input.withConfig({
8
- displayName: "Checkbox__StyledCheckbox",
9
- componentId: "i51804-0"
10
- })(["cursor:pointer;", " ", ""], props => props.disabled && `cursor: not-allowed;`, sx);
11
- /**
12
- * An accessible, native checkbox component
13
- */
14
-
15
- const Checkbox = /*#__PURE__*/React.forwardRef(({
16
- checked,
17
- indeterminate,
18
- disabled,
19
- sx: sxProp,
20
- required,
21
- validationStatus,
22
- ...rest
23
- }, ref) => {
24
- const checkboxRef = useProvidedRefOrCreate(ref);
25
- useLayoutEffect(() => {
26
- if (checkboxRef.current) {
27
- checkboxRef.current.indeterminate = indeterminate || false;
28
- }
29
- }, [indeterminate, checked, checkboxRef]);
30
- return /*#__PURE__*/React.createElement(StyledCheckbox, _extends({
31
- type: "checkbox",
32
- disabled: disabled,
33
- "aria-disabled": disabled ? 'true' : 'false',
34
- ref: ref || checkboxRef,
35
- checked: indeterminate ? false : checked,
36
- "aria-checked": indeterminate ? 'mixed' : checked ? 'true' : 'false',
37
- sx: sxProp,
38
- required: required,
39
- "aria-required": required ? 'true' : 'false',
40
- "aria-invalid": validationStatus === 'error' ? 'true' : 'false'
41
- }, rest));
42
- });
43
- Checkbox.displayName = 'Checkbox';
44
- export default Checkbox;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- declare const _default: React.FC<import("./_InputField/ToggleInputField").Props> & {
3
- Input: React.FC<Omit<React.HTMLProps<HTMLInputElement>, "ref"> & {
4
- ref?: React.Ref<HTMLInputElement> | undefined;
5
- }>;
6
- Caption: React.FC<{}>;
7
- Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
8
- Validation: React.FC<import("./_InputField/InputFieldValidation").InputFieldValidationProps>;
9
- LeadingVisual: React.FC<{}>;
10
- };
11
- export default _default;
@@ -1,57 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import React from 'react';
4
- import { Checkbox } from '.';
5
- import InputField from './_InputField/InputField';
6
- import { Slot } from './_InputField/slots';
7
- import ToggleInputField from './_InputField/ToggleInputField';
8
- import ToggleInputLeadingVisual from './_InputField/ToggleInputLeadingVisual';
9
-
10
- const Input = ({
11
- id: idProp,
12
- required: requiredProp,
13
- disabled: disabledProp,
14
- ...rest
15
- }) => {
16
- if (idProp) {
17
- // eslint-disable-next-line no-console
18
- console.warn("instead of passing the 'id' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
19
- }
20
-
21
- if (disabledProp) {
22
- // eslint-disable-next-line no-console
23
- console.warn("instead of passing the 'disabled' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
24
- }
25
-
26
- if (requiredProp) {
27
- // eslint-disable-next-line no-console
28
- console.warn("instead of passing the 'required' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
29
- }
30
-
31
- return /*#__PURE__*/React.createElement(Slot, {
32
- name: "Input"
33
- }, ({
34
- disabled,
35
- id,
36
- required,
37
- captionId
38
- }) => /*#__PURE__*/React.createElement(Checkbox, _extends({
39
- "aria-describedby": captionId,
40
- id: id,
41
- required: required,
42
- disabled: disabled
43
- }, rest)));
44
- };
45
-
46
- Input.displayName = "Input";
47
-
48
- const CheckboxInputField = props => /*#__PURE__*/React.createElement(ToggleInputField, props);
49
-
50
- CheckboxInputField.displayName = "CheckboxInputField";
51
- export default Object.assign(CheckboxInputField, {
52
- Input,
53
- Caption: InputField.Caption,
54
- Label: InputField.Label,
55
- Validation: InputField.Validation,
56
- LeadingVisual: ToggleInputLeadingVisual
57
- });
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- declare const _default: React.FC<import("./_InputField/ToggleInputField").Props> & {
3
- Input: React.FC<React.HTMLProps<HTMLInputElement>>;
4
- Caption: React.FC<{}>;
5
- Label: React.FC<import("./_InputField/InputFieldLabel").Props>;
6
- Validation: React.FC<import("./_InputField/InputFieldValidation").InputFieldValidationProps>;
7
- LeadingVisual: React.FC<{}>;
8
- };
9
- export default _default;
@@ -1,66 +0,0 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import React from 'react';
4
- import InputField from './_InputField/InputField';
5
- import { Slot } from './_InputField/slots';
6
- import ToggleInputField from './_InputField/ToggleInputField';
7
- import ToggleInputLeadingVisual from './_InputField/ToggleInputLeadingVisual'; // TODO: use Primer's checkbox input once it's available
8
- // https://github.com/github/primer/issues/489
9
-
10
- const RadioInput = props => {
11
- return /*#__PURE__*/React.createElement("input", _extends({
12
- type: "radio"
13
- }, props));
14
- };
15
-
16
- RadioInput.displayName = "RadioInput";
17
-
18
- // pulling out `id`, `disabled`, and `required` because those should come from the parent TextInputField component
19
- const Input = ({
20
- id: idProp,
21
- required: requiredProp,
22
- disabled: disabledProp,
23
- ...rest
24
- }) => {
25
- if (idProp) {
26
- // eslint-disable-next-line no-console
27
- console.warn("instead of passing the 'id' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
28
- }
29
-
30
- if (disabledProp) {
31
- // eslint-disable-next-line no-console
32
- console.warn("instead of passing the 'disabled' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
33
- }
34
-
35
- if (requiredProp) {
36
- // eslint-disable-next-line no-console
37
- console.warn("instead of passing the 'required' prop directly to <TextInputField.Input>, it should be passed to the parent component, <TextInputField>");
38
- }
39
-
40
- return /*#__PURE__*/React.createElement(Slot, {
41
- name: "Input"
42
- }, ({
43
- disabled,
44
- id,
45
- required,
46
- captionId
47
- }) => /*#__PURE__*/React.createElement(RadioInput, _extends({
48
- "aria-describedby": captionId,
49
- id: id,
50
- required: required,
51
- disabled: disabled
52
- }, rest)));
53
- };
54
-
55
- Input.displayName = "Input";
56
-
57
- const RadioInputField = props => /*#__PURE__*/React.createElement(ToggleInputField, props);
58
-
59
- RadioInputField.displayName = "RadioInputField";
60
- export default Object.assign(RadioInputField, {
61
- Input,
62
- Caption: InputField.Caption,
63
- Label: InputField.Label,
64
- Validation: InputField.Validation,
65
- LeadingVisual: ToggleInputLeadingVisual
66
- });