@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.
- package/CHANGELOG.md +2 -28
- package/dist/browser.esm.js +591 -602
- package/dist/browser.esm.js.map +1 -1
- package/dist/browser.umd.js +200 -211
- package/dist/browser.umd.js.map +1 -1
- package/lib/ActionList/Divider.jsx +29 -0
- package/lib/ActionList/Group.jsx +23 -0
- package/lib/ActionList/Header.jsx +66 -0
- package/lib/ActionList/Item.js +3 -3
- package/lib/ActionList/Item.jsx +288 -0
- package/lib/ActionList/List.jsx +138 -0
- package/lib/ActionList/index.js +12 -23
- package/lib/ActionList2/Description.jsx +29 -0
- package/lib/ActionList2/Divider.jsx +22 -0
- package/lib/ActionList2/Group.jsx +54 -0
- package/lib/ActionList2/Header.d.ts +26 -0
- package/lib/ActionList2/Header.js +55 -0
- package/lib/ActionList2/Header.jsx +36 -0
- package/lib/ActionList2/Item.js +1 -3
- package/lib/ActionList2/Item.jsx +174 -0
- package/lib/ActionList2/LinkItem.jsx +28 -0
- package/lib/ActionList2/List.js +2 -1
- package/lib/ActionList2/List.jsx +41 -0
- package/lib/ActionList2/Selection.js +1 -3
- package/lib/ActionList2/Selection.jsx +50 -0
- package/lib/ActionList2/Visuals.jsx +48 -0
- package/lib/ActionList2/index.js +23 -41
- package/lib/ActionMenu.jsx +73 -0
- package/lib/AnchoredOverlay/AnchoredOverlay.jsx +100 -0
- package/lib/AnchoredOverlay/index.js +4 -12
- package/lib/Autocomplete/Autocomplete.d.ts +0 -1
- package/lib/Autocomplete/Autocomplete.jsx +100 -0
- package/lib/Autocomplete/AutocompleteContext.jsx +5 -0
- package/lib/Autocomplete/AutocompleteInput.d.ts +0 -1
- package/lib/Autocomplete/AutocompleteInput.jsx +113 -0
- package/lib/Autocomplete/AutocompleteMenu.js +13 -6
- package/lib/Autocomplete/AutocompleteMenu.jsx +190 -0
- package/lib/Autocomplete/AutocompleteOverlay.jsx +55 -0
- package/lib/Autocomplete/index.js +7 -14
- package/lib/Avatar.jsx +34 -0
- package/lib/AvatarPair.jsx +29 -0
- package/lib/AvatarStack.jsx +151 -0
- package/lib/BaseStyles.jsx +65 -0
- package/lib/BorderBox.jsx +18 -0
- package/lib/Box.jsx +10 -0
- package/lib/BranchName.jsx +20 -0
- package/lib/Breadcrumbs.jsx +71 -0
- package/lib/Button/Button.d.ts +0 -1
- package/lib/Button/Button.jsx +40 -0
- package/lib/Button/ButtonBase.jsx +33 -0
- package/lib/Button/ButtonClose.d.ts +1 -2
- package/lib/Button/ButtonClose.jsx +53 -0
- package/lib/Button/ButtonDanger.d.ts +0 -1
- package/lib/Button/ButtonDanger.jsx +43 -0
- package/lib/Button/ButtonGroup.jsx +55 -0
- package/lib/Button/ButtonInvisible.d.ts +0 -1
- package/lib/Button/ButtonInvisible.jsx +32 -0
- package/lib/Button/ButtonOutline.d.ts +0 -1
- package/lib/Button/ButtonOutline.jsx +43 -0
- package/lib/Button/ButtonPrimary.d.ts +0 -1
- package/lib/Button/ButtonPrimary.jsx +42 -0
- package/lib/Button/ButtonStyles.jsx +37 -0
- package/lib/Button/ButtonTableList.jsx +46 -0
- package/lib/Button/index.js +21 -70
- package/lib/Caret.jsx +93 -0
- package/lib/CircleBadge.jsx +42 -0
- package/lib/CircleOcticon.d.ts +0 -1
- package/lib/CircleOcticon.jsx +21 -0
- package/lib/CounterLabel.jsx +43 -0
- package/lib/Details.jsx +21 -0
- package/lib/Dialog/ConfirmationDialog.jsx +146 -0
- package/lib/Dialog/Dialog.jsx +279 -0
- package/lib/Dialog.d.ts +2 -3
- package/lib/Dialog.jsx +129 -0
- package/lib/Dropdown.d.ts +0 -4
- package/lib/Dropdown.jsx +131 -0
- package/lib/DropdownMenu/DropdownButton.d.ts +1 -2
- package/lib/DropdownMenu/DropdownButton.jsx +14 -0
- package/lib/DropdownMenu/DropdownMenu.jsx +70 -0
- package/lib/DropdownMenu/index.js +6 -20
- package/lib/DropdownStyles.js +18 -26
- package/lib/FilterList.d.ts +0 -1
- package/lib/FilterList.jsx +59 -0
- package/lib/FilteredActionList/FilteredActionList.jsx +100 -0
- package/lib/FilteredActionList/index.js +4 -12
- package/lib/FilteredSearch.jsx +28 -0
- package/lib/Flash.jsx +69 -0
- package/lib/Flex.jsx +15 -0
- package/lib/FormGroup.jsx +22 -0
- package/lib/Grid.jsx +15 -0
- package/lib/Header.jsx +83 -0
- package/lib/Heading.jsx +21 -0
- package/lib/Label.jsx +82 -0
- package/lib/LabelGroup.jsx +18 -0
- package/lib/Link.jsx +36 -0
- package/lib/NewButton/button-counter.jsx +14 -0
- package/lib/NewButton/button.jsx +279 -0
- package/lib/NewButton/index.js +5 -12
- package/lib/NewButton/types.js +2 -1
- package/lib/Overlay.d.ts +3 -5
- package/lib/Overlay.jsx +154 -0
- package/lib/Pagehead.jsx +17 -0
- package/lib/Pagination/Pagination.jsx +161 -0
- package/lib/Pagination/index.js +6 -12
- package/lib/Pagination/model.jsx +174 -0
- package/lib/PointerBox.jsx +25 -0
- package/lib/Popover.jsx +202 -0
- package/lib/Portal/Portal.jsx +79 -0
- package/lib/Portal/index.js +5 -16
- package/lib/Position.d.ts +4 -4
- package/lib/Position.jsx +46 -0
- package/lib/ProgressBar.jsx +39 -0
- package/lib/SelectMenu/SelectMenu.d.ts +4 -10
- package/lib/SelectMenu/SelectMenu.jsx +112 -0
- package/lib/SelectMenu/SelectMenuContext.jsx +5 -0
- package/lib/SelectMenu/SelectMenuDivider.jsx +42 -0
- package/lib/SelectMenu/SelectMenuFilter.jsx +58 -0
- package/lib/SelectMenu/SelectMenuFooter.jsx +45 -0
- package/lib/SelectMenu/SelectMenuHeader.jsx +42 -0
- package/lib/SelectMenu/SelectMenuItem.d.ts +1 -1
- package/lib/SelectMenu/SelectMenuItem.jsx +142 -0
- package/lib/SelectMenu/SelectMenuList.jsx +59 -0
- package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +22 -0
- package/lib/SelectMenu/SelectMenuModal.d.ts +1 -1
- package/lib/SelectMenu/SelectMenuModal.jsx +118 -0
- package/lib/SelectMenu/SelectMenuTab.jsx +92 -0
- package/lib/SelectMenu/SelectMenuTabPanel.jsx +42 -0
- package/lib/SelectMenu/SelectMenuTabs.jsx +57 -0
- package/lib/SelectMenu/hooks/useKeyboardNav.js +80 -96
- package/lib/SelectMenu/index.js +7 -14
- package/lib/SelectPanel/SelectPanel.jsx +105 -0
- package/lib/SelectPanel/index.js +4 -12
- package/lib/SideNav.jsx +173 -0
- package/lib/Spinner.jsx +35 -0
- package/lib/StateLabel.jsx +93 -0
- package/lib/StyledOcticon.jsx +18 -0
- package/lib/SubNav.jsx +101 -0
- package/lib/TabNav.jsx +58 -0
- package/lib/Text.jsx +14 -0
- package/lib/TextInput.jsx +23 -0
- package/lib/TextInputWithTokens.d.ts +0 -1
- package/lib/TextInputWithTokens.jsx +218 -0
- package/lib/ThemeProvider.jsx +130 -0
- package/lib/Timeline.jsx +123 -0
- package/lib/Token/AvatarToken.d.ts +1 -1
- package/lib/Token/AvatarToken.jsx +54 -0
- package/lib/Token/IssueLabelToken.d.ts +1 -1
- package/lib/Token/IssueLabelToken.jsx +125 -0
- package/lib/Token/Token.d.ts +1 -1
- package/lib/Token/Token.jsx +103 -0
- package/lib/Token/TokenBase.jsx +88 -0
- package/lib/Token/_RemoveTokenButton.jsx +108 -0
- package/lib/Token/_TokenTextContainer.jsx +49 -0
- package/lib/Token/index.js +11 -30
- package/lib/Tooltip.jsx +246 -0
- package/lib/Truncate.jsx +24 -0
- package/lib/UnderlineNav.jsx +88 -0
- package/lib/_TextInputWrapper.jsx +120 -0
- package/lib/_UnstyledTextInput.jsx +22 -0
- package/lib/behaviors/anchoredPosition.js +205 -234
- package/lib/behaviors/focusTrap.js +121 -157
- package/lib/behaviors/focusZone.js +434 -509
- package/lib/behaviors/scrollIntoViewingArea.js +18 -35
- package/lib/constants.js +39 -43
- package/lib/drafts.js +20 -30
- package/lib/hooks/index.js +16 -60
- package/lib/hooks/useAnchoredPosition.js +32 -40
- package/lib/hooks/useCombinedRefs.js +32 -36
- package/lib/hooks/useDetails.jsx +39 -0
- package/lib/hooks/useDialog.js +72 -96
- package/lib/hooks/useFocusTrap.js +43 -60
- package/lib/hooks/useFocusZone.js +54 -50
- package/lib/hooks/useOnEscapePress.js +25 -36
- package/lib/hooks/useOnOutsideClick.jsx +61 -0
- package/lib/hooks/useOpenAndCloseFocus.js +22 -34
- package/lib/hooks/useOverlay.jsx +15 -0
- package/lib/hooks/useProvidedRefOrCreate.js +10 -14
- package/lib/hooks/useProvidedStateOrCreate.js +13 -16
- package/lib/hooks/useRenderForcingRef.js +13 -17
- package/lib/hooks/useResizeObserver.js +15 -18
- package/lib/hooks/useSafeTimeout.js +22 -30
- package/lib/hooks/useScrollFlash.js +16 -23
- package/lib/index.d.ts +0 -5
- package/lib/index.js +163 -676
- package/lib/polyfills/eventListenerSignal.js +37 -45
- package/lib/sx.js +10 -22
- package/lib/theme-preval.js +64 -3169
- package/lib/theme.js +3 -12
- package/lib/utils/create-slots.jsx +65 -0
- package/lib/utils/deprecate.jsx +59 -0
- package/lib/utils/isNumeric.jsx +7 -0
- package/lib/utils/iterateFocusableElements.js +63 -85
- package/lib/utils/ssr.jsx +6 -0
- package/lib/utils/test-deprecations.jsx +20 -0
- package/lib/utils/test-helpers.jsx +8 -0
- package/lib/utils/test-matchers.jsx +100 -0
- package/lib/utils/testing.d.ts +1 -2
- package/lib/utils/testing.js +0 -29
- package/lib/utils/testing.jsx +206 -0
- package/lib/utils/theme.js +33 -47
- package/lib/utils/types/AriaRole.js +2 -1
- package/lib/utils/types/ComponentProps.js +2 -1
- package/lib/utils/types/Flatten.js +2 -1
- package/lib/utils/types/KeyPaths.js +2 -1
- package/lib/utils/types/MandateProps.js +16 -1
- package/lib/utils/types/Merge.js +2 -1
- package/lib/utils/types/index.js +16 -69
- package/lib/utils/uniqueId.js +5 -8
- package/lib/utils/use-force-update.js +8 -14
- package/lib/utils/useIsomorphicLayoutEffect.js +8 -11
- package/lib/utils/userAgent.js +8 -12
- package/lib-esm/ActionList/Item.js +3 -3
- package/lib-esm/ActionList2/Header.d.ts +26 -0
- package/lib-esm/ActionList2/Header.js +44 -0
- package/lib-esm/ActionList2/Item.js +1 -3
- package/lib-esm/ActionList2/List.js +2 -1
- package/lib-esm/ActionList2/Selection.js +1 -3
- package/lib-esm/Autocomplete/Autocomplete.d.ts +0 -1
- package/lib-esm/Autocomplete/AutocompleteInput.d.ts +0 -1
- package/lib-esm/Autocomplete/AutocompleteMenu.js +13 -3
- package/lib-esm/Button/Button.d.ts +0 -1
- package/lib-esm/Button/ButtonClose.d.ts +1 -2
- package/lib-esm/Button/ButtonDanger.d.ts +0 -1
- package/lib-esm/Button/ButtonInvisible.d.ts +0 -1
- package/lib-esm/Button/ButtonOutline.d.ts +0 -1
- package/lib-esm/Button/ButtonPrimary.d.ts +0 -1
- package/lib-esm/CircleOcticon.d.ts +0 -1
- package/lib-esm/Dialog.d.ts +2 -3
- package/lib-esm/Dropdown.d.ts +0 -4
- package/lib-esm/DropdownMenu/DropdownButton.d.ts +1 -2
- package/lib-esm/FilterList.d.ts +0 -1
- package/lib-esm/Overlay.d.ts +3 -5
- package/lib-esm/Position.d.ts +4 -4
- package/lib-esm/SelectMenu/SelectMenu.d.ts +4 -10
- package/lib-esm/SelectMenu/SelectMenuItem.d.ts +1 -1
- package/lib-esm/SelectMenu/SelectMenuModal.d.ts +1 -1
- package/lib-esm/TextInputWithTokens.d.ts +0 -1
- package/lib-esm/Token/AvatarToken.d.ts +1 -1
- package/lib-esm/Token/IssueLabelToken.d.ts +1 -1
- package/lib-esm/Token/Token.d.ts +1 -1
- package/lib-esm/index.d.ts +0 -5
- package/lib-esm/index.js +0 -4
- package/lib-esm/theme-preval.js +0 -446
- package/lib-esm/utils/testing.d.ts +1 -2
- package/lib-esm/utils/testing.js +0 -24
- package/package.json +6 -5
- package/lib/Checkbox.d.ts +0 -29
- package/lib/Checkbox.js +0 -64
- package/lib/CheckboxInputField.d.ts +0 -11
- package/lib/CheckboxInputField.js +0 -74
- package/lib/RadioInputField.d.ts +0 -9
- package/lib/RadioInputField.js +0 -83
- package/lib/TextInputField.d.ts +0 -581
- package/lib/TextInputField.js +0 -66
- package/lib/_InputCaption.d.ts +0 -6
- package/lib/_InputCaption.js +0 -23
- package/lib/_InputField/InputField.d.ts +0 -39
- package/lib/_InputField/InputField.js +0 -90
- package/lib/_InputField/InputFieldCaption.d.ts +0 -3
- package/lib/_InputField/InputFieldCaption.js +0 -28
- package/lib/_InputField/InputFieldLabel.d.ts +0 -9
- package/lib/_InputField/InputFieldLabel.js +0 -34
- package/lib/_InputField/InputFieldValidation.d.ts +0 -6
- package/lib/_InputField/InputFieldValidation.js +0 -17
- package/lib/_InputField/ToggleInputField.d.ts +0 -13
- package/lib/_InputField/ToggleInputField.js +0 -71
- package/lib/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
- package/lib/_InputField/ToggleInputLeadingVisual.js +0 -22
- package/lib/_InputField/ValidationAnimationContainer.d.ts +0 -6
- package/lib/_InputField/ValidationAnimationContainer.js +0 -48
- package/lib/_InputField/index.d.ts +0 -1
- package/lib/_InputField/index.js +0 -15
- package/lib/_InputField/slots.d.ts +0 -13
- package/lib/_InputField/slots.js +0 -17
- package/lib/_InputLabel.d.ts +0 -8
- package/lib/_InputLabel.js +0 -44
- package/lib/_InputValidation.d.ts +0 -8
- package/lib/_InputValidation.js +0 -56
- package/lib/_VisuallyHidden.d.ts +0 -6
- package/lib/_VisuallyHidden.js +0 -39
- package/lib/utils/types/FormValidationStatus.d.ts +0 -1
- package/lib/utils/types/FormValidationStatus.js +0 -1
- package/lib-esm/Checkbox.d.ts +0 -29
- package/lib-esm/Checkbox.js +0 -44
- package/lib-esm/CheckboxInputField.d.ts +0 -11
- package/lib-esm/CheckboxInputField.js +0 -57
- package/lib-esm/RadioInputField.d.ts +0 -9
- package/lib-esm/RadioInputField.js +0 -66
- package/lib-esm/TextInputField.d.ts +0 -581
- package/lib-esm/TextInputField.js +0 -50
- package/lib-esm/_InputCaption.d.ts +0 -6
- package/lib-esm/_InputCaption.js +0 -12
- package/lib-esm/_InputField/InputField.d.ts +0 -39
- package/lib-esm/_InputField/InputField.js +0 -70
- package/lib-esm/_InputField/InputFieldCaption.d.ts +0 -3
- package/lib-esm/_InputField/InputFieldCaption.js +0 -16
- package/lib-esm/_InputField/InputFieldLabel.d.ts +0 -9
- package/lib-esm/_InputField/InputFieldLabel.js +0 -22
- package/lib-esm/_InputField/InputFieldValidation.d.ts +0 -6
- package/lib-esm/_InputField/InputFieldValidation.js +0 -7
- package/lib-esm/_InputField/ToggleInputField.d.ts +0 -13
- package/lib-esm/_InputField/ToggleInputField.js +0 -54
- package/lib-esm/_InputField/ToggleInputLeadingVisual.d.ts +0 -3
- package/lib-esm/_InputField/ToggleInputLeadingVisual.js +0 -11
- package/lib-esm/_InputField/ValidationAnimationContainer.d.ts +0 -6
- package/lib-esm/_InputField/ValidationAnimationContainer.js +0 -33
- package/lib-esm/_InputField/index.d.ts +0 -1
- package/lib-esm/_InputField/index.js +0 -1
- package/lib-esm/_InputField/slots.d.ts +0 -13
- package/lib-esm/_InputField/slots.js +0 -5
- package/lib-esm/_InputLabel.d.ts +0 -8
- package/lib-esm/_InputLabel.js +0 -32
- package/lib-esm/_InputValidation.d.ts +0 -8
- package/lib-esm/_InputValidation.js +0 -43
- package/lib-esm/_VisuallyHidden.d.ts +0 -6
- package/lib-esm/_VisuallyHidden.js +0 -26
- package/lib-esm/utils/types/FormValidationStatus.d.ts +0 -1
- package/lib-esm/utils/types/FormValidationStatus.js +0 -1
package/lib/_InputValidation.js
DELETED
@@ -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;
|
package/lib/_VisuallyHidden.d.ts
DELETED
package/lib/_VisuallyHidden.js
DELETED
@@ -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";
|
package/lib-esm/Checkbox.d.ts
DELETED
@@ -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;
|
package/lib-esm/Checkbox.js
DELETED
@@ -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
|
-
});
|