@nypl/design-system-react-components 0.23.4 → 0.25.1
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 +98 -1
- package/README.md +46 -11
- package/dist/components/Accordion/Accordion.d.ts +14 -14
- package/dist/components/Autosuggest/Autosuggest.stories.d.ts +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +11 -14
- package/dist/components/Breadcrumbs/BreadcrumbsTypes.d.ts +6 -0
- package/dist/components/Button/Button.d.ts +6 -13
- package/dist/components/Button/ButtonTypes.d.ts +5 -3
- package/dist/components/Card/Card.d.ts +59 -10
- package/dist/components/Card/CardTypes.d.ts +19 -0
- package/dist/components/CardEdition/CardEdition.d.ts +21 -0
- package/dist/components/{StyleGuide/Colors.stories.d.ts → CardEdition/CardEdition.stories.d.ts} +5 -2
- package/dist/components/Checkbox/Checkbox.d.ts +21 -16
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +43 -0
- package/dist/components/CheckboxGroup/CheckboxGroupLayoutTypes.d.ts +4 -0
- package/dist/components/DatePicker/DatePicker.d.ts +79 -0
- package/dist/components/DatePicker/DatePickerTypes.d.ts +5 -0
- package/dist/components/Form/Form.d.ts +16 -8
- package/dist/components/Form/FormTypes.d.ts +2 -0
- package/dist/components/Grid/GridTypes.d.ts +9 -0
- package/dist/components/Grid/SimpleGrid.d.ts +14 -0
- package/dist/components/Heading/Heading.d.ts +9 -11
- package/dist/components/Heading/{HeadingDisplaySizes.d.ts → HeadingTypes.d.ts} +8 -0
- package/dist/components/HelperErrorText/HelperErrorText.stories.d.ts +2 -1
- package/dist/components/Hero/Hero.d.ts +19 -14
- package/dist/components/Hero/HeroTypes.d.ts +10 -5
- package/dist/components/Icons/Icon.d.ts +13 -16
- package/dist/components/Icons/IconSvgs.d.ts +4 -0
- package/dist/components/Icons/IconTypes.d.ts +78 -60
- package/dist/components/Image/Image.stories.d.ts +2 -1
- package/dist/components/Label/Label.d.ts +10 -26
- package/dist/components/Link/Link.d.ts +8 -12
- package/dist/components/List/List.stories.d.ts +1 -0
- package/dist/components/Radio/Radio.d.ts +30 -24
- package/dist/components/RadioGroup/RadioGroup.d.ts +40 -0
- package/dist/components/RadioGroup/RadioGroupLayoutTypes.d.ts +4 -0
- package/dist/components/SearchBar/SearchBar.d.ts +45 -27
- package/dist/components/Select/Select.d.ts +34 -35
- package/dist/components/Select/SelectTypes.d.ts +4 -0
- package/dist/components/SkeletonLoader/SkeletonLoader.d.ts +1 -1
- package/dist/components/SkeletonLoader/SkeletonLoaderTypes.d.ts +2 -2
- package/dist/components/StatusBadge/StatusBadge.d.ts +8 -6
- package/dist/components/StatusBadge/StatusBadgeTypes.d.ts +5 -0
- package/dist/components/Tabs/Tabs.d.ts +25 -0
- package/dist/components/Template/Template.d.ts +91 -0
- package/dist/components/Text/Text.d.ts +16 -0
- package/dist/components/Text/TextTypes.d.ts +6 -0
- package/dist/components/TextInput/TextInput.d.ts +37 -30
- package/dist/components/TextInput/TextInputTypes.d.ts +5 -0
- package/dist/design-system-react-components.cjs.development.js +4102 -917
- package/dist/design-system-react-components.cjs.development.js.map +1 -1
- package/dist/design-system-react-components.cjs.production.min.js +1 -1
- package/dist/design-system-react-components.cjs.production.min.js.map +1 -1
- package/dist/design-system-react-components.esm.js +4023 -920
- package/dist/design-system-react-components.esm.js.map +1 -1
- package/dist/index.d.ts +23 -5
- package/dist/resources.scss +133 -24
- package/dist/styles.css +1 -1
- package/dist/theme/components/accordion.d.ts +25 -0
- package/dist/theme/components/breadcrumb.d.ts +90 -0
- package/dist/theme/components/button.d.ts +109 -0
- package/dist/theme/components/checkbox.d.ts +91 -0
- package/dist/theme/components/customCheckboxGroup.d.ts +18 -0
- package/dist/theme/components/customRadioGroup.d.ts +18 -0
- package/dist/theme/components/global.d.ts +55 -0
- package/dist/theme/components/globalMixins.d.ts +15 -0
- package/dist/theme/components/heading.d.ts +110 -0
- package/dist/theme/components/hero.d.ts +492 -0
- package/dist/theme/components/icon.d.ts +13 -0
- package/dist/theme/components/label.d.ts +16 -0
- package/dist/theme/components/link.d.ts +45 -0
- package/dist/theme/components/radio.d.ts +95 -0
- package/dist/theme/components/searchBar.d.ts +20 -0
- package/dist/theme/components/select.d.ts +58 -0
- package/dist/theme/components/statusBadge.d.ts +25 -0
- package/dist/theme/components/tabs.d.ts +85 -0
- package/dist/theme/components/template.d.ts +105 -0
- package/dist/theme/components/text.d.ts +20 -0
- package/dist/theme/components/textInput.d.ts +105 -0
- package/dist/theme/foundations/breakpoints.d.ts +23 -0
- package/dist/theme/foundations/colors.d.ts +3 -0
- package/dist/theme/foundations/global.d.ts +23 -0
- package/dist/theme/foundations/shadows.d.ts +4 -0
- package/dist/theme/foundations/spacing.d.ts +77 -0
- package/dist/theme/foundations/typography.d.ts +8 -0
- package/dist/theme/index.d.ts +20 -0
- package/dist/theme/provider.d.ts +5 -0
- package/dist/theme/types.d.ts +1 -0
- package/dist/utils/utils.d.ts +6 -0
- package/package.json +9 -2
- package/src/components/Accordion/Accordion.stories.mdx +233 -33
- package/src/components/Accordion/Accordion.test.tsx +135 -19
- package/src/components/Accordion/Accordion.tsx +81 -56
- package/src/components/Autosuggest/Autosuggest.stories.mdx +4 -3
- package/src/components/Autosuggest/Autosuggest.stories.tsx +1 -1
- package/src/components/Autosuggest/_Autosuggest.scss +2 -2
- package/src/components/Breadcrumbs/Breadcrumbs.stories.mdx +57 -56
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +31 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +71 -73
- package/src/components/Breadcrumbs/BreadcrumbsTypes.tsx +6 -0
- package/src/components/Breadcrumbs/__snapshots__/Breadcrumbs.test.tsx.snap +100 -0
- package/src/components/Button/Button.stories.mdx +125 -138
- package/src/components/Button/Button.test.tsx +65 -11
- package/src/components/Button/Button.tsx +72 -68
- package/src/components/Button/ButtonTypes.tsx +4 -2
- package/src/components/Button/_Button.scss +7 -92
- package/src/components/Button/__snapshots__/Button.test.tsx.snap +58 -3
- package/src/components/Card/Card.stories.mdx +694 -0
- package/src/components/Card/Card.test.tsx +97 -102
- package/src/components/Card/Card.tsx +182 -31
- package/src/components/Card/CardTypes.tsx +21 -0
- package/src/components/Card/_Card.scss +234 -49
- package/src/components/{Card/Card.stories.tsx → CardEdition/CardEdition.stories.tsx} +32 -22
- package/src/components/CardEdition/CardEdition.test.tsx +395 -0
- package/src/components/CardEdition/CardEdition.tsx +60 -0
- package/src/components/CardEdition/_CardEdition.scss +138 -0
- package/src/components/Chakra/Box.stories.mdx +57 -0
- package/src/components/Chakra/Center.stories.mdx +99 -0
- package/src/components/Chakra/Grid.stories.mdx +79 -0
- package/src/components/Chakra/Stack.stories.mdx +93 -0
- package/src/components/Checkbox/Checkbox.stories.mdx +57 -35
- package/src/components/Checkbox/Checkbox.test.tsx +117 -147
- package/src/components/Checkbox/Checkbox.tsx +76 -50
- package/src/components/Checkbox/__snapshots__/Checkbox.test.tsx.snap +325 -0
- package/src/components/CheckboxGroup/CheckboxGroup.stories.mdx +249 -0
- package/src/components/CheckboxGroup/CheckboxGroup.test.tsx +345 -0
- package/src/components/CheckboxGroup/CheckboxGroup.tsx +148 -0
- package/src/components/CheckboxGroup/CheckboxGroupLayoutTypes.tsx +4 -0
- package/src/components/CheckboxGroup/__snapshots__/CheckboxGroup.test.tsx.snap +1360 -0
- package/src/components/DatePicker/DatePicker.stories.mdx +284 -0
- package/src/components/DatePicker/DatePicker.test.tsx +657 -0
- package/src/components/DatePicker/DatePicker.tsx +396 -0
- package/src/components/DatePicker/DatePickerTypes.tsx +5 -0
- package/src/components/DatePicker/_DatePicker.scss +76 -0
- package/src/components/Form/Form.stories.mdx +130 -27
- package/src/components/Form/Form.test.tsx +78 -36
- package/src/components/Form/Form.tsx +53 -19
- package/src/components/Form/FormTypes.tsx +3 -0
- package/src/components/Form/__snapshots__/Form.test.tsx.snap +38 -0
- package/src/components/Grid/GridTypes.tsx +9 -0
- package/src/components/Grid/SimpleGrid.stories.mdx +275 -0
- package/src/components/Grid/SimpleGrid.test.tsx +66 -0
- package/src/components/Grid/SimpleGrid.tsx +37 -0
- package/src/components/Grid/__snapshots__/SimpleGrid.test.tsx.snap +8 -0
- package/src/components/Heading/Heading.stories.mdx +63 -33
- package/src/components/Heading/Heading.test.tsx +24 -16
- package/src/components/Heading/Heading.tsx +54 -38
- package/src/components/Heading/{HeadingDisplaySizes.tsx → HeadingTypes.tsx} +9 -0
- package/src/components/HelperErrorText/HelperErrorText.stories.tsx +2 -1
- package/src/components/HelperErrorText/_HelperErrorText.scss +1 -1
- package/src/components/Hero/Hero.stories.mdx +195 -85
- package/src/components/Hero/Hero.test.tsx +544 -113
- package/src/components/Hero/Hero.tsx +80 -93
- package/src/components/Hero/HeroTypes.tsx +17 -5
- package/src/components/Hero/__snapshots__/Hero.test.tsx.snap +307 -0
- package/src/components/HorizontalRule/HorizontalRule.stories.mdx +6 -1
- package/src/components/HorizontalRule/_HorizontalRule.scss +1 -1
- package/src/components/Icons/Icon.stories.mdx +89 -74
- package/src/components/Icons/Icon.test.tsx +30 -22
- package/src/components/Icons/Icon.tsx +63 -61
- package/src/components/Icons/IconSvgs.tsx +8 -0
- package/src/components/Icons/IconTypes.tsx +80 -60
- package/src/components/Image/Image.stories.tsx +2 -1
- package/src/components/Input/_Input.scss +2 -2
- package/src/components/Label/Label.stories.mdx +77 -0
- package/src/components/Label/Label.test.tsx +43 -12
- package/src/components/Label/Label.tsx +28 -45
- package/src/components/Label/__snapshots__/Label.test.tsx.snap +41 -0
- package/src/components/Link/Link.stories.mdx +47 -41
- package/src/components/Link/Link.test.tsx +33 -44
- package/src/components/Link/Link.tsx +114 -100
- package/src/components/List/List.stories.mdx +7 -3
- package/src/components/List/List.stories.tsx +14 -9
- package/src/components/List/List.test.tsx +12 -8
- package/src/components/List/List.tsx +9 -7
- package/src/components/List/_List.scss +3 -3
- package/src/components/Modal/Modal.stories.mdx +7 -3
- package/src/components/Modal/_Modal.scss +1 -1
- package/src/components/Notification/Notification.stories.mdx +99 -65
- package/src/components/Notification/Notification.test.tsx +3 -16
- package/src/components/Notification/Notification.tsx +12 -12
- package/src/components/Notification/_Notification.scss +5 -4
- package/src/components/Notification/__snapshots__/Notification.test.tsx.snap +1 -1
- package/src/components/Pagination/Pagination.stories.mdx +7 -1
- package/src/components/Pagination/Pagination.test.tsx +16 -10
- package/src/components/Radio/Radio.stories.mdx +57 -46
- package/src/components/Radio/Radio.test.tsx +92 -138
- package/src/components/Radio/Radio.tsx +70 -69
- package/src/components/Radio/__snapshots__/Radio.test.tsx.snap +250 -0
- package/src/components/RadioGroup/RadioGroup.stories.mdx +247 -0
- package/src/components/RadioGroup/RadioGroup.test.tsx +327 -0
- package/src/components/RadioGroup/RadioGroup.tsx +154 -0
- package/src/components/RadioGroup/RadioGroupLayoutTypes.tsx +4 -0
- package/src/components/RadioGroup/__snapshots__/RadioGroup.test.tsx.snap +1101 -0
- package/src/components/SearchBar/SearchBar.Test.tsx +151 -16
- package/src/components/SearchBar/SearchBar.stories.mdx +196 -224
- package/src/components/SearchBar/SearchBar.tsx +151 -46
- package/src/components/Select/Select.stories.mdx +193 -168
- package/src/components/Select/Select.test.tsx +129 -324
- package/src/components/Select/Select.tsx +120 -160
- package/src/components/Select/SelectTypes.tsx +4 -0
- package/src/components/SkeletonLoader/SkeletonLoader.stories.mdx +18 -29
- package/src/components/SkeletonLoader/SkeletonLoader.test.tsx +7 -7
- package/src/components/SkeletonLoader/SkeletonLoader.tsx +4 -2
- package/src/components/SkeletonLoader/SkeletonLoaderTypes.tsx +2 -2
- package/src/components/SkeletonLoader/_SkeletonLoader.scss +3 -3
- package/src/components/StatusBadge/StatusBadge.stories.mdx +91 -0
- package/src/components/StatusBadge/StatusBadge.test.tsx +35 -7
- package/src/components/StatusBadge/StatusBadge.tsx +24 -25
- package/src/components/StatusBadge/StatusBadgeTypes.tsx +5 -0
- package/src/components/StatusBadge/__snapshots__/StatusBadge.test.tsx.snap +28 -0
- package/src/components/StyleGuide/Bidirectionality.stories.mdx +112 -90
- package/src/components/StyleGuide/Buttons.stories.mdx +98 -100
- package/src/components/StyleGuide/Colors.stories.mdx +336 -0
- package/src/components/StyleGuide/Forms.stories.mdx +85 -0
- package/src/components/StyleGuide/Iconography.stories.mdx +86 -93
- package/src/components/StyleGuide/Spacing.stories.mdx +0 -1
- package/src/components/StyleGuide/Typography.stories.mdx +164 -166
- package/src/components/StyleGuide/UIDocCard.tsx +4 -4
- package/src/components/Tabs/Tabs.stories.mdx +221 -0
- package/src/components/Tabs/Tabs.test.tsx +264 -0
- package/src/components/Tabs/Tabs.tsx +220 -0
- package/src/components/Template/Template.stories.mdx +574 -0
- package/src/components/Template/Template.test.tsx +124 -0
- package/src/components/Template/Template.tsx +226 -0
- package/src/components/Text/Text.stories.mdx +70 -0
- package/src/components/Text/Text.test.tsx +63 -0
- package/src/components/Text/Text.tsx +55 -0
- package/src/components/Text/TextTypes.tsx +6 -0
- package/src/components/Text/__snapshots__/Text.test.tsx.snap +33 -0
- package/src/components/TextInput/TextInput.stories.mdx +90 -90
- package/src/components/TextInput/TextInput.test.tsx +103 -83
- package/src/components/TextInput/TextInput.tsx +108 -91
- package/src/components/TextInput/TextInputTypes.tsx +6 -0
- package/src/components/VideoPlayer/VideoPlayer.stories.mdx +2 -1
- package/src/components/VideoPlayer/VideoPlayer.tsx +4 -2
- package/src/components/VideoPlayer/_VideoPlayer.scss +1 -1
- package/src/docs/Chakra.stories.mdx +341 -0
- package/src/docs/Intro.stories.mdx +31 -24
- package/src/index.ts +70 -5
- package/src/styles/01-colors/_colors-brand.scss +6 -4
- package/src/styles/01-colors/_colors-utility.scss +14 -15
- package/src/styles/03-space/_space-inline.scss +47 -7
- package/src/styles/03-space/_space-inset.scss +33 -5
- package/src/styles/03-space/_space-stack.scss +48 -8
- package/src/styles/base/_02-breakpoints.scss +5 -4
- package/src/styles/base/_04-base.scss +2 -1
- package/src/styles/base/_place-holder.scss +1 -1
- package/src/styles/base/_typography.scss +1 -29
- package/src/styles.scss +22 -25
- package/src/theme/components/accordion.ts +30 -0
- package/src/theme/components/breadcrumb.ts +77 -0
- package/src/theme/components/button.ts +125 -0
- package/src/theme/components/checkbox.ts +107 -0
- package/src/theme/components/customCheckboxGroup.ts +12 -0
- package/src/theme/components/customRadioGroup.ts +12 -0
- package/src/theme/components/global.ts +71 -0
- package/src/theme/components/globalMixins.ts +16 -0
- package/src/theme/components/heading.ts +72 -0
- package/src/theme/components/hero.ts +239 -0
- package/src/theme/components/icon.ts +79 -0
- package/src/theme/components/label.ts +17 -0
- package/src/theme/components/link.ts +47 -0
- package/src/theme/components/radio.ts +106 -0
- package/src/theme/components/searchBar.ts +21 -0
- package/src/theme/components/select.ts +50 -0
- package/src/theme/components/statusBadge.ts +27 -0
- package/src/theme/components/tabs.ts +79 -0
- package/src/theme/components/template.ts +114 -0
- package/src/theme/components/text.ts +31 -0
- package/src/theme/components/textInput.ts +61 -0
- package/src/theme/foundations/breakpoints.ts +24 -0
- package/src/theme/foundations/colors.ts +208 -0
- package/src/theme/foundations/global.ts +26 -0
- package/src/theme/foundations/shadows.ts +5 -0
- package/src/theme/foundations/spacing.ts +85 -0
- package/src/theme/foundations/typography.ts +35 -0
- package/src/theme/index.ts +88 -0
- package/src/theme/provider.tsx +9 -0
- package/src/theme/types.ts +1 -0
- package/src/utils/componentCategories.ts +56 -21
- package/src/utils/utils.ts +13 -0
- package/dist/components/Accordion/Accordion.stories.d.ts +0 -5
- package/dist/components/Card/Card.stories.d.ts +0 -27
- package/dist/components/Label/Label.stories.d.ts +0 -12
- package/dist/components/StatusBadge/StatusBadge.stories.d.ts +0 -8
- package/dist/components/Template/Template.stories.d.ts +0 -29
- package/src/components/Accordion/Accordion.stories.tsx +0 -65
- package/src/components/Accordion/_Accordion.scss +0 -81
- package/src/components/Breadcrumbs/_Breadcrumbs.scss +0 -97
- package/src/components/Checkbox/_Checkbox.scss +0 -97
- package/src/components/Form/_Form.scss +0 -28
- package/src/components/Heading/_Heading.scss +0 -163
- package/src/components/Hero/_Hero.scss +0 -256
- package/src/components/Icons/_Icons.scss +0 -116
- package/src/components/Label/Label.stories.tsx +0 -30
- package/src/components/Label/_Label.scss +0 -22
- package/src/components/Link/_Link.scss +0 -73
- package/src/components/Radio/_Radio.scss +0 -84
- package/src/components/SearchBar/_SearchBar.scss +0 -16
- package/src/components/Select/_Select.scss +0 -82
- package/src/components/StatusBadge/StatusBadge.stories.tsx +0 -33
- package/src/components/StatusBadge/_StatusBadge.scss +0 -23
- package/src/components/StyleGuide/Colors.stories.tsx +0 -288
- package/src/components/Template/Template.stories.tsx +0 -85
- package/src/components/Template/_Template.scss +0 -63
- package/src/components/TextInput/_TextInput.scss +0 -59
|
@@ -1,36 +1,42 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
export interface RadioProps {
|
|
3
|
-
/**
|
|
4
|
-
labelText: string;
|
|
5
|
-
/** Additional attributes to pass to the `<input>` tag */
|
|
6
|
-
attributes?: {
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
};
|
|
9
|
-
/** When using the Radio as a "controlled" form element, you can specify the Radio's checked state using this prop. Learn more about controlled and uncontrolled form fields: https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
|
|
10
|
-
checked?: boolean;
|
|
11
|
-
/** className you can add in addition to 'input' */
|
|
3
|
+
/** Additional class name. */
|
|
12
4
|
className?: string;
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/** Optional string to populate the HelperErrorText for
|
|
18
|
-
errorText?: string;
|
|
19
|
-
/** Optional string to populate the HelperErrorText for standard state */
|
|
5
|
+
/** Optional string to populate the HelperErrorText for the error state
|
|
6
|
+
* when `isInvalid` is true.
|
|
7
|
+
*/
|
|
8
|
+
invalidText?: string;
|
|
9
|
+
/** Optional string to populate the HelperErrorText for the standard state. */
|
|
20
10
|
helperText?: string;
|
|
21
11
|
/** ID that other components can cross reference for accessibility purposes */
|
|
22
12
|
id?: string;
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
/** When using the Radio as a "controlled" form element, you can specify the
|
|
14
|
+
* `Radio`'s checked state using this prop. You must also pass an onChange prop.
|
|
15
|
+
* Learn more about controlled and uncontrolled form fields: https://goshakkk.name/controlled-vs-uncontrolled-inputs-react/ */
|
|
16
|
+
isChecked?: boolean;
|
|
17
|
+
/** Adds the 'disabled' and `aria-disabled` attributes to the input when true.
|
|
18
|
+
* This also makes the text italic and color scheme gray.
|
|
19
|
+
*/
|
|
20
|
+
isDisabled?: boolean;
|
|
21
|
+
/** Adds the 'aria-invalid' attribute to the input when true. This also makes
|
|
22
|
+
* the color theme "NYPL error" red for the button and text.
|
|
23
|
+
*/
|
|
24
|
+
isInvalid?: boolean;
|
|
25
|
+
/** Adds the 'required' attribute to the input when true. */
|
|
26
|
+
isRequired?: boolean;
|
|
27
|
+
/** The radio button's label. This will serve as the text content for the
|
|
28
|
+
* `<label>` element if `showlabel` is true, or an "aria-label" if `showLabel`
|
|
29
|
+
* is false. */
|
|
30
|
+
labelText: string;
|
|
31
|
+
/** Used to reference the input element in forms. */
|
|
26
32
|
name?: string;
|
|
27
|
-
/**
|
|
33
|
+
/** Should be passed along with `isChecked` for controlled components. */
|
|
28
34
|
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
29
|
-
/** Offers the ability to show the radio's label onscreen or hide it. Refer
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
/** Offers the ability to show the radio's label onscreen or hide it. Refer
|
|
36
|
+
* to the `labelText` property for more information. */
|
|
37
|
+
showLabel?: boolean;
|
|
38
|
+
/** Populates the value of the input. */
|
|
32
39
|
value?: string;
|
|
33
40
|
}
|
|
34
|
-
export declare const onChangeDefault: () => void;
|
|
35
41
|
declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
|
|
36
42
|
export default Radio;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { RadioGroupLayoutTypes } from "./RadioGroupLayoutTypes";
|
|
3
|
+
export interface RadioGroupProps {
|
|
4
|
+
/** Any child node passed to the component. */
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
/** Additional class name. */
|
|
7
|
+
className?: string;
|
|
8
|
+
/** Populates the initial value of the input */
|
|
9
|
+
defaultValue?: string;
|
|
10
|
+
/** Optional string to populate the HelperErrorText for error state */
|
|
11
|
+
invalidText?: string;
|
|
12
|
+
/** Optional string to populate the HelperErrorText for standard state */
|
|
13
|
+
helperText?: string;
|
|
14
|
+
/** ID that other components can cross reference for accessibility purposes */
|
|
15
|
+
id?: string;
|
|
16
|
+
/** Adds the 'disabled' prop to the input when true. */
|
|
17
|
+
isDisabled?: boolean;
|
|
18
|
+
/** Adds the 'aria-invalid' attribute to the input and
|
|
19
|
+
* sets the error state when true. */
|
|
20
|
+
isInvalid?: boolean;
|
|
21
|
+
/** Adds the 'required' attribute to the input when true. */
|
|
22
|
+
isRequired?: boolean;
|
|
23
|
+
/** The radio group label displayed in a `legend` element if `showlabel` is
|
|
24
|
+
* true, or an "aria-label" if `showLabel` is false. */
|
|
25
|
+
labelText: string;
|
|
26
|
+
/** Renders the Radio buttons in a row or column (default). */
|
|
27
|
+
layout?: RadioGroupLayoutTypes;
|
|
28
|
+
/** The `name` prop indicates the form group for all the Radio children. */
|
|
29
|
+
name: string;
|
|
30
|
+
/** The action to perform on the `<input>`'s onChange function */
|
|
31
|
+
onChange?: (value: string) => void;
|
|
32
|
+
/** Whether or not to display "Required"/"Optional" in the label text. */
|
|
33
|
+
optReqFlag?: boolean;
|
|
34
|
+
/** Offers the ability to show the group's legend onscreen or hide it. Refer
|
|
35
|
+
* to the `labelText` property for more information. */
|
|
36
|
+
showLabel?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare const onChangeDefault: () => void;
|
|
39
|
+
declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLInputElement>>;
|
|
40
|
+
export default RadioGroup;
|
|
@@ -1,34 +1,52 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
interface SelectProps {
|
|
3
|
+
labelText: string;
|
|
4
|
+
name: string;
|
|
5
|
+
optionsData: string[];
|
|
6
|
+
}
|
|
7
|
+
interface TextInputProps {
|
|
8
|
+
labelText: string;
|
|
9
|
+
placeholder: string;
|
|
10
|
+
}
|
|
2
11
|
export interface SearchBarProps {
|
|
3
|
-
/**
|
|
4
|
-
* defines a hidden string that labels
|
|
5
|
-
* the SearchBar
|
|
6
|
-
*/
|
|
7
|
-
ariaLabel?: string;
|
|
8
|
-
/** Populates aria-labelledby on the form;
|
|
9
|
-
* defines a visible string that labels
|
|
10
|
-
* the SearchBar
|
|
11
|
-
*/
|
|
12
|
-
ariaLabelledBy?: string;
|
|
13
|
-
/** Additional attributes passed to the form */
|
|
14
|
-
attributes?: {
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
};
|
|
17
|
-
/** BlockName for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
|
|
18
|
-
blockName?: string;
|
|
19
|
-
/** ClassName that appears in addition to "search-bar" */
|
|
20
|
-
className?: string;
|
|
21
|
-
/** Adds 'method' property to the form */
|
|
22
|
-
method?: string;
|
|
23
|
-
/** Adds 'action' property to the form */
|
|
12
|
+
/** Adds 'action' property to the `form` element. */
|
|
24
13
|
action?: string;
|
|
14
|
+
/** The onClick callback function for the `Button` component. */
|
|
15
|
+
buttonOnClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;
|
|
16
|
+
/** A class name for the `form` element. */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** The text to display below the form in a `HelperErrorText` component. */
|
|
19
|
+
helperErrorText?: string;
|
|
25
20
|
/** ID that other components can cross reference for accessibility purposes */
|
|
26
21
|
id?: string;
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
/** Optional string to populate the `HelperErrorText` for the error state
|
|
23
|
+
* when `isInvalid` is true. */
|
|
24
|
+
invalidText?: string;
|
|
25
|
+
/** Sets children form components in the disabled state. */
|
|
26
|
+
isDisabled?: boolean;
|
|
27
|
+
/** Sets children form components in the error state. */
|
|
28
|
+
isInvalid?: boolean;
|
|
29
|
+
/** Sets children form components in the required state. */
|
|
30
|
+
isRequired?: boolean;
|
|
31
|
+
/** Populates the `aria-label` attribute on the form element. */
|
|
32
|
+
labelText: string;
|
|
33
|
+
/** Adds 'method' property to the `form` element. */
|
|
34
|
+
method?: string;
|
|
35
|
+
/** Handler function when the form is submitted. */
|
|
30
36
|
onSubmit: (event: React.FormEvent) => void;
|
|
37
|
+
/** Required props to render a `Select` element. */
|
|
38
|
+
selectProps?: SelectProps | undefined;
|
|
39
|
+
/** Will be used to visually display the label text for this
|
|
40
|
+
* `SearchBar` component. False by default. */
|
|
41
|
+
showLabel?: boolean;
|
|
42
|
+
/** Custom input element to render instead of a `TextInput` element. */
|
|
43
|
+
textInputElement?: JSX.Element;
|
|
44
|
+
/** Required props to render a `TextInput` element. */
|
|
45
|
+
textInputProps?: TextInputProps | undefined;
|
|
31
46
|
}
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Renders a wrapper `form` element to be used with `Select` (optional),
|
|
49
|
+
* `Input`, and `Button` components together.
|
|
50
|
+
*/
|
|
51
|
+
export default function SearchBar(props: SearchBarProps): JSX.Element;
|
|
52
|
+
export {};
|
|
@@ -1,48 +1,47 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { SelectTypes } from "./SelectTypes";
|
|
2
3
|
export interface SelectProps {
|
|
3
|
-
/**
|
|
4
|
-
ariaLabel?: string;
|
|
5
|
-
/** Additional attributes passed to the <select> tag */
|
|
6
|
-
attributes?: {
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
};
|
|
9
|
-
/** BlockName for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
|
|
10
|
-
blockName?: string;
|
|
11
|
-
/** ClassName you can add in addition to 'select' */
|
|
4
|
+
/** A class name for the `div` parent element. */
|
|
12
5
|
className?: string;
|
|
13
|
-
|
|
14
|
-
/** When true, disables the select */
|
|
15
|
-
disabled?: boolean;
|
|
16
|
-
/** Helper for modifiers array; adds 'errored' styling */
|
|
17
|
-
errored?: boolean;
|
|
18
|
-
/** Populates the HelperErrorText for error state */
|
|
19
|
-
errorText?: string;
|
|
20
|
-
/** DEPRECATED - ID of associated HelperText */
|
|
21
|
-
helperTextId?: string;
|
|
22
|
-
/** Populates the HelperErrorText for standard state */
|
|
6
|
+
/** Optional string to populate the `HelperErrorText` for the standard state. */
|
|
23
7
|
helperText?: string;
|
|
24
8
|
/** ID that other components can cross reference for accessibility purposes */
|
|
25
9
|
id?: string;
|
|
26
|
-
/**
|
|
10
|
+
/** Optional string to populate the `HelperErrorText` for the error state
|
|
11
|
+
* when `isInvalid` is true. */
|
|
12
|
+
invalidText?: string;
|
|
13
|
+
/** Adds the `disabled` and `aria-disabled` attributes to the select when true */
|
|
14
|
+
isDisabled?: boolean;
|
|
15
|
+
/** Adds the `aria-invalid` attribute to the select when true. This also makes
|
|
16
|
+
* the color theme "NYPL error" red for the select and text. */
|
|
17
|
+
isInvalid?: boolean;
|
|
18
|
+
/** Adds the `required` and `aria-required` attributes to the input when true. */
|
|
27
19
|
isRequired?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
/** Provides text for a `Label` component if `showLabel` is set to `true`;
|
|
21
|
+
* populates an `aria-label` attribute on the select input if `showLabel` is
|
|
22
|
+
* set to `false`. */
|
|
31
23
|
labelText: string;
|
|
32
|
-
/**
|
|
33
|
-
modifiers?: string[];
|
|
34
|
-
/** The name of the select element to use in form submission */
|
|
24
|
+
/** Used to reference the select element in forms. */
|
|
35
25
|
name: string;
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
/** Passes selects' current value to the React state handler */
|
|
26
|
+
/** The callback function to get the selected value.
|
|
27
|
+
* Should be passed along with `value` for controlled components. */
|
|
39
28
|
onChange?: (event: React.FormEvent) => void;
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
/** The value of the selected option */
|
|
43
|
-
selectedOption?: string;
|
|
44
|
-
/** Offers the ability to show the label onscreen or hide it. Refer to the `labelText` property for more information. */
|
|
29
|
+
/** Offers the ability to show the select's label onscreen or hide it. Refer
|
|
30
|
+
* to the `labelText` property for more information. */
|
|
45
31
|
showLabel?: boolean;
|
|
32
|
+
/** Whether or not to display the "Required"/"Optional" text in the label text. */
|
|
33
|
+
showOptReqLabel?: boolean;
|
|
34
|
+
/** The variant to display. */
|
|
35
|
+
type?: SelectTypes;
|
|
36
|
+
/** The value of the selected option.
|
|
37
|
+
* Should be passed along with `onChange` for controlled components. */
|
|
38
|
+
value?: string;
|
|
46
39
|
}
|
|
47
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Component that renders Chakra's `Select` component along with an accessible
|
|
42
|
+
* `Label` and optional `HelperErrorText` component.
|
|
43
|
+
*/
|
|
44
|
+
declare const Select: React.ForwardRefExoticComponent<SelectProps & {
|
|
45
|
+
children?: React.ReactNode;
|
|
46
|
+
} & React.RefAttributes<HTMLSelectElement>>;
|
|
48
47
|
export default Select;
|
|
@@ -11,7 +11,7 @@ export interface SkeletonLoaderProps {
|
|
|
11
11
|
headingSize?: number;
|
|
12
12
|
/** Optional value to control the aspect ratio of the image placeholder; default value is `square` */
|
|
13
13
|
imageAspectRatio?: SkeletonLoaderImageRatios;
|
|
14
|
-
/** Optional value to control the position of the image placeholder; default value is `
|
|
14
|
+
/** Optional value to control the position of the image placeholder; default value is `column` */
|
|
15
15
|
layout?: SkeletonLoaderLayouts;
|
|
16
16
|
/** Modifiers array for use with BEM. See how to work with modifiers and BEM here: http://getbem.com/introduction/ */
|
|
17
17
|
modifiers?: string[];
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { StatusBadgeTypes } from "./StatusBadgeTypes";
|
|
2
3
|
export interface StatusBadgeProps {
|
|
3
|
-
/**
|
|
4
|
-
blockName?: string;
|
|
5
|
-
/** ClassName that appears in addition to "status-badge" */
|
|
4
|
+
/** Additional class for the component */
|
|
6
5
|
className?: string;
|
|
7
|
-
/**
|
|
8
|
-
|
|
6
|
+
/** ID that other components can cross reference for accessibility purposes */
|
|
7
|
+
id?: string;
|
|
8
|
+
/** Level of the status badge through StatusBadgeTypes. */
|
|
9
|
+
level?: StatusBadgeTypes;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
declare function StatusBadge(props: React.PropsWithChildren<StatusBadgeProps>): JSX.Element;
|
|
12
|
+
export default StatusBadge;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { TabList, Tab, TabPanels, TabPanel } from "@chakra-ui/react";
|
|
3
|
+
export interface TabsContentDataProps {
|
|
4
|
+
label: string;
|
|
5
|
+
content: string | React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export interface TabsProps {
|
|
8
|
+
/** Array of data to display */
|
|
9
|
+
contentData?: TabsContentDataProps[];
|
|
10
|
+
/** The index of the tab to display for controlled situations. */
|
|
11
|
+
defaultIndex?: number;
|
|
12
|
+
/** ID that other components can cross reference for accessibility purposes */
|
|
13
|
+
id?: string;
|
|
14
|
+
/** The callback function invoked on every tab change event. */
|
|
15
|
+
onChange?: (index: number) => any;
|
|
16
|
+
/** Render a hash in the url for each tab. Only available when data is
|
|
17
|
+
* passed through the `data` props. */
|
|
18
|
+
useHash?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Renders Chakra's `Tab` component with specific variants, props,
|
|
22
|
+
* and controlled styling.
|
|
23
|
+
*/
|
|
24
|
+
declare function Tabs(props: React.PropsWithChildren<TabsProps>): JSX.Element;
|
|
25
|
+
export { Tabs, TabList, Tab, TabPanels, TabPanel };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface TemplateProps {
|
|
3
|
+
}
|
|
4
|
+
export interface TemplateSidebarProps {
|
|
5
|
+
/** Renders the `TemplateContentSidebar` component either on the left or
|
|
6
|
+
* right side of the `TemplateContentPrimary` component. */
|
|
7
|
+
sidebar?: "none" | "left" | "right";
|
|
8
|
+
}
|
|
9
|
+
export interface TemplateContentProps extends TemplateSidebarProps {
|
|
10
|
+
}
|
|
11
|
+
export interface TemplateAppContainerProps extends TemplateSidebarProps {
|
|
12
|
+
/** DOM that will be rendered in the `TemplateBreakout` component section. */
|
|
13
|
+
breakout?: React.ReactElement;
|
|
14
|
+
/** DOM that will be rendered in the `TemplateContentPrimary` component section. */
|
|
15
|
+
contentPrimary?: React.ReactElement;
|
|
16
|
+
/** DOM that will be rendered in the `TemplateContentSidebar` component section. */
|
|
17
|
+
contentSidebar?: React.ReactElement;
|
|
18
|
+
/** DOM that will be rendered in the `TemplateContentTop` component section. */
|
|
19
|
+
contentTop?: React.ReactElement;
|
|
20
|
+
/** DOM that will be rendered in the `TemplateFooter` component section. */
|
|
21
|
+
footer?: React.ReactElement;
|
|
22
|
+
/** DOM that will be rendered in the `TemplateHeader` component section. */
|
|
23
|
+
header?: React.ReactElement;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The main top-level parent component that wraps all template-related
|
|
27
|
+
* components. For backwards compatibility, this renders a `nypl-ds` CSS class.
|
|
28
|
+
*/
|
|
29
|
+
declare const Template: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* This optional component should be the first child of the `Template`
|
|
32
|
+
* component. This is rendered as an HTML `<header>` element.
|
|
33
|
+
*/
|
|
34
|
+
declare const TemplateHeader: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
|
|
35
|
+
/**
|
|
36
|
+
* This optional component should be used inside the `TemplateHeader` component.
|
|
37
|
+
* This is meant to render its children from edge to edge and is most useful
|
|
38
|
+
* for the `Breadcrumbs` and `Hero` components, and other banner-like components.
|
|
39
|
+
*/
|
|
40
|
+
declare const TemplateBreakout: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
|
|
41
|
+
/**
|
|
42
|
+
* This component is most useful to render content on the page. This renders an
|
|
43
|
+
* HTML `<main>` element and takes a `sidebar` prop with optional "left" or
|
|
44
|
+
* "right" values. This will set the correct styling needed for the
|
|
45
|
+
* `TemplateContentPrimary` and `TemplateContentSidebar` components. Note that
|
|
46
|
+
* `TemplateContentPrimary` and `TemplateContentSidebar` must be ordered
|
|
47
|
+
* correctly as children elements for the appropriate styles to take effect.
|
|
48
|
+
*/
|
|
49
|
+
declare const TemplateContent: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
|
|
50
|
+
/**
|
|
51
|
+
* This optional component must be used inside the `TemplateContent` component.
|
|
52
|
+
* This renders content in the main width of the container and will always render
|
|
53
|
+
* above the primary component and the sidebar component (if any).
|
|
54
|
+
*/
|
|
55
|
+
declare const TemplateContentTop: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
|
|
56
|
+
/**
|
|
57
|
+
* This component is used to render content in a column when there must be a
|
|
58
|
+
* sidebar component on either its left or right side. It must go inside the
|
|
59
|
+
* `TemplateContent` component. An optional `sidebar` prop value of "left" or
|
|
60
|
+
* "right" can be passed to render the correct CSS styles. If the `sidebar`
|
|
61
|
+
* prop is used in the `TemplateContent` component, there is no need to pass
|
|
62
|
+
* the `sidebar` prop to this component -- `TemplateContent` will handle it.
|
|
63
|
+
*/
|
|
64
|
+
declare const TemplateContentPrimary: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
|
|
65
|
+
/**
|
|
66
|
+
* This component is used to render content in a sidebar column. It must go
|
|
67
|
+
* inside the `TemplateContent` component and must be paired with the
|
|
68
|
+
* `TemplateContentPrimary` component. If this is a left sidebar, it needs to be
|
|
69
|
+
* rendered before the `TemplateContentPrimary` component. If this is a right
|
|
70
|
+
* sidebar, it needs to be rendered after the `TemplateContentPrimary` component.
|
|
71
|
+
* An optional `sidebar` prop value of "left" or "right" can be passed to render
|
|
72
|
+
* the correct CSS styles. If the `sidebar` prop is used in the `TemplateContent`
|
|
73
|
+
* component, there is no need to pass the `sidebar` prop to this component --
|
|
74
|
+
* `TemplateContent` will handle it.
|
|
75
|
+
*/
|
|
76
|
+
declare const TemplateContentSidebar: (props: React.PropsWithChildren<TemplateContentProps>) => JSX.Element;
|
|
77
|
+
/**
|
|
78
|
+
* This optional component should be the last child of the `Template`
|
|
79
|
+
* component. This is rendered as an HTML `<footer>` element and spans the full
|
|
80
|
+
* width of the page.
|
|
81
|
+
*/
|
|
82
|
+
declare const TemplateFooter: (props: React.PropsWithChildren<TemplateProps>) => JSX.Element;
|
|
83
|
+
/**
|
|
84
|
+
* This single component can be used instead of all the individual template
|
|
85
|
+
* components. Instead of importing and rendering the needed "template"
|
|
86
|
+
* components, each section is passed as a prop to the section where it should
|
|
87
|
+
* be rendered. For example, if you want to render content in the
|
|
88
|
+
* `TemplateContentPrimary` section, then pass it as a prop to `contentPrimary`.
|
|
89
|
+
*/
|
|
90
|
+
declare const TemplateAppContainer: (props: React.PropsWithChildren<TemplateAppContainerProps>) => JSX.Element;
|
|
91
|
+
export { TemplateAppContainer, Template, TemplateHeader, TemplateBreakout, TemplateContent, TemplateContentTop, TemplateContentPrimary, TemplateContentSidebar, TemplateFooter, };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { TextDisplaySizes } from "./TextTypes";
|
|
3
|
+
export interface TextProps {
|
|
4
|
+
/** Additional class name to render in the `Text` component. */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Optional prop used to show bolded text */
|
|
7
|
+
isBold?: boolean;
|
|
8
|
+
/** Optional prop used to show itlicized text */
|
|
9
|
+
isItalic?: boolean;
|
|
10
|
+
/** Optional prop used to remove default spacing */
|
|
11
|
+
noSpace?: boolean;
|
|
12
|
+
/** Optional prop to control the text styling */
|
|
13
|
+
displaySize?: TextDisplaySizes;
|
|
14
|
+
}
|
|
15
|
+
declare function Text(props: React.PropsWithChildren<TextProps>): JSX.Element;
|
|
16
|
+
export default Text;
|
|
@@ -1,46 +1,53 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { TextInputTypes } from "./TextInputTypes";
|
|
2
|
+
import { TextInputTypes, TextInputVariants } from "./TextInputTypes";
|
|
3
3
|
export interface InputProps {
|
|
4
|
-
/** Additional attributes to pass to the `<input>`
|
|
4
|
+
/** Additional attributes to pass to the `<input>` or `<textarea>` element */
|
|
5
5
|
attributes?: {
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
};
|
|
8
|
-
/**
|
|
9
|
-
type?: TextInputTypes;
|
|
10
|
-
/** Will add 'aria-required: true' to input */
|
|
11
|
-
required?: boolean;
|
|
12
|
-
/** Provides text for a `Label` component if `showLabel` is set to true; populates a `aria-label` sttribute if `showLabel` is set to false. */
|
|
13
|
-
labelText: string;
|
|
14
|
-
/** Offers the ability to show the label onscreen or hide it. Refer to the `labelText` property for more information. */
|
|
15
|
-
showLabel?: boolean;
|
|
16
|
-
/** Populates the HelperErrorText for standard state */
|
|
17
|
-
helperText?: string;
|
|
18
|
-
/** Populates the HelperErrorText for error state */
|
|
19
|
-
errorText?: string;
|
|
20
|
-
/** Populates the placeholder of the input */
|
|
21
|
-
placeholder?: string;
|
|
22
|
-
/** Populates the value of the input */
|
|
23
|
-
value?: string;
|
|
24
|
-
/** className you can add in addition to 'textinput' */
|
|
8
|
+
/** A class name for the TextInput parent div. */
|
|
25
9
|
className?: string;
|
|
10
|
+
/** Populates the HelperErrorText for the standard state */
|
|
11
|
+
helperText?: string;
|
|
26
12
|
/** ID that other components can cross reference for accessibility purposes */
|
|
27
13
|
id?: string;
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
/** Adds the
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
/**
|
|
14
|
+
/** Populates the HelperErrorText for the error state */
|
|
15
|
+
invalidText?: string;
|
|
16
|
+
/** Adds the `disabled` and `aria-disabled` prop to the input when true */
|
|
17
|
+
isDisabled?: boolean;
|
|
18
|
+
/** Adds errored styling to the input/textarea and helper text elements */
|
|
19
|
+
isInvalid?: boolean;
|
|
20
|
+
/** Will add `required` and `aria-required` props to the input/textarea elements */
|
|
21
|
+
isRequired?: boolean;
|
|
22
|
+
/** Provides text for a `Label` component if `showLabel` is set to true;
|
|
23
|
+
* populates an `aria-label` attribute if `showLabel` is set to false. */
|
|
24
|
+
labelText: string;
|
|
25
|
+
/** The action to perform on the `input`/`textarea`'s onChange function */
|
|
35
26
|
onChange?: (event: React.ChangeEvent<HTMLInputElement> | React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
27
|
+
/** Populates the placeholder for the input/textarea elements */
|
|
28
|
+
placeholder?: string;
|
|
29
|
+
/** Offers the ability to show the label onscreen or hide it. Refer to the
|
|
30
|
+
* `labelText` property for more information. */
|
|
31
|
+
showLabel?: boolean;
|
|
32
|
+
/** Offers the ability to show the "Required"/"Optional" label onscreen or
|
|
33
|
+
* hide it. True by default. */
|
|
34
|
+
showOptReqLabel?: boolean;
|
|
35
|
+
/** HTML Input types as defined by MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input */
|
|
36
|
+
type?: TextInputTypes;
|
|
37
|
+
/** Populates the value of the input/textarea elements */
|
|
38
|
+
value?: string;
|
|
39
|
+
/** The variant to display. */
|
|
40
|
+
variantType?: TextInputVariants;
|
|
36
41
|
}
|
|
37
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* The type used for `ref`s. We want to extend both `input` and `textarea`
|
|
38
44
|
* since both are available to create through `TextInput`.
|
|
39
45
|
*/
|
|
40
46
|
export declare type TextInputRefType = HTMLInputElement & HTMLTextAreaElement;
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
47
|
+
/**
|
|
48
|
+
* Renders either an `input` element with a specified type or a `textarea`
|
|
49
|
+
* element. All types will render an accessible `Label` component and an
|
|
50
|
+
* optional `HelperErrorText` component.
|
|
44
51
|
*/
|
|
45
52
|
declare const TextInput: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<TextInputRefType>>;
|
|
46
53
|
export default TextInput;
|