All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. Currently, this repo is in Prerelease. When it is released, this project will adhere to Semantic Versioning
- Updates the
ComponentWrappercomponent so it always renders theHelperErrorTextcomponent. This resolves aria-live announcement issues when there is invalid text but no helper text.
- Fixed the double application of styles when a custom svg is passed into the
Iconcomponent. - Fixes the RTL styles for the dropdown arrow in the
Selectcomponent.
- Updates the
StatusBadgecomponent to allow the label text to wrap onto multiple lines. - Updates the
Herocomponent to add theisBlurredBackgroundImageprop for applying a blur effect to the background image in the "campaign" variant.
- Updates the
TagSetcomponent to add semantic color variants. - Updates the hex color value for
ui.warning.tertiaryfor better accessibility compliance. - Updates the
Herocomponent to alter the validation of the background props in the"campaign"variant.
- Fixes the hex color value for
dark.ui.warning.secondary.
- Updates the
Errorsdocs in theAccessibility Guide. - Updates
releaseGHA workflow to work with the new npm OIDC authentication process
- Adds
Text caseto theStyle Guide. - Adds the
"utilityGridView"and"utilityListView"options to theIconcomponent.
- Updates to
Reservoir v4 Migration Guideto include details about theHerocomponent. - Updates the docs for the
Herocomponent to no longer showbackgroundColorin the props table.
- Adds
Images in Cardsto theStyle Guide. - Adds
Cards as Navigation Linksto theDevelopment Guide. - Adds hover state styles for "full-click" functionality in the
Cardcomponent. - Adds
bgcolor palette options that are defined using alpha transparency (rgba).
- Removes
New Arrivalsfrom the description of theBooks and Morecolors. - Removes
iframeand[tabIndex]selector from the global set focus styles
- Fixes a color style bug in the
Templatecomponent by removing an explicit color style that was overriding the global color styles.
- Adds
asprop toSubNavLink.
- Adds the
"contentCopy"option to theIconcomponent. - Adds the
Voicesection to theStyle Guide. - Adds the
textBackgroundColorandtextColorprops to theHerocomponent.
- Updates padding around clearable X button to avoid overlap in
TextInput. - Updates the
Herocomponent to use thetextBackgroundColorprop in lieu of thebackgroundColorprop. - Updates the
Herocomponent to use thetextColorprop in lieu of theforegroundColorprop.
- Deprecates the
foregroundColorprop in theHerocomponent.
- Adds
labelAsAriaLabelprop toMenuto fix incorrect ARIA label on button. - Adds
responsiveSpacingobject toglobalsto be used for implementing responsive spacing styles within DS components.
- Makes small updates to v4 Migration Guide for clarity.
- Updates the image references in the
Using Next.js ImageDevelopment Guide and theResponsive GridStyle Guide.
- Fixes the spacing for the label in the
MultiSelectGroupcomponent. - Fixes a spacing issue seen in the
TemplateBreakoutcomponent by changing how internal padding is applied to theTemplateContent,TemplateFull,TemplateMain, andTemplateSidebarcomponents.
- Updates the
MultiSelectview for options that have an item count number.
- Adds the
useResponsiveSpacinghook. - Adds docs for
Responsive GridStyle Guide. - Consolidates message variants, sizes, highlight colors, and background colors arrays into shared constants
- Adds v4 Migration Guide to Storybook.
- Adds docs for
Using Next.js Image componentDevelopment Guide.
- Updates
Templatecomponent(s) and styles per TAD. - Updates the values for the breakpoints and the associated docs.
- Updates the
viewportpreview options in Storybook to align with the Reservoir breakpoints. - Updates the Storybook font styles.
- Updates the docs for the
Templatecomponent. - Replaces the error thrown with a console.warn for the
Breadcrumbs,Heading, andImagecomponents. - Removes props with HTML equivalents and instructs devs to use the native attributes
- Updates the grid layout of the content for the
Hero"primary"variant. - Changes the names of theme objects that conflict with Chakra's base names from
CustomtoReservoirfor consistency. This impacts theme objects forBreadcrumbs,Button,Select,Slider, andTable. - Replaces positional function args with object references in utility functions/components when there are 3 or more arguments.
- Updates
Table'stableTextSizeprop to acceptcaption. - Renames
Accordion,Banner,Breadcrumbs,Button,Hero,Icon,Link,List,Modal,Notification,Select,StatusBadge,TagSet, andTextInputprops using "type" to use "variant". - Updates the
idprop for all components to reduceundefinedand makes previously requiredids optional in the following components:Accordion,Button,ButtonGroup,Checkbox,CheckboxGroup,DatePicker,Fieldset,Form,MultiSelect,MultiSelectGroup,ProgressIndicator,Radio,RadioGroup,SearchBar,Slider,TextInput,Toggle - Moves up the
...restprop spread statement to the parent element in every component. - Updates how the
classNameprop is used in components. They are no longer explicit internal props but can be passed as other props through therestprop. - Updates internal
classNamevalues to use theds-[componentName]naming convention. - Updates
README.mdfor v4 - Update Storybook URL for v4
- Removes the NYPL Header component.
- Removes the following deprecated props and typed and style values:
Button'slinkvalue inbuttonTypesArrayHeading's "primary", "secondary", "tertiary", "callout" sizesHeading's "one", "two", "three", "four", "five", "six" levelsHero's "secondary", "secondaryBooksAndMore", "secondaryLocations", "secondaryResearch", "secondaryWhatsOn", "fiftyFifty" typesIcon'sIconRotationTypestypeLink'sbuttonvalue inlinkTypesArrayNotifications'noMarginprop; this is now the default styleProgressIndicator'sdarkModepropStatusBadge's "low", "medium", "high" values fromstatusBadgeTypeArrayStatusBadge'slevelpropStyledList's "tag", "mini" values intextSizesArray
- Removes
role="search"fromSearchbarwrapper. - Removes use of
useNYPLBreakpointshook inFilterBarInlineandMultiSelectGroup. - Removes
isDarkModefunction fromSliderandAccordion. - Removes
useNYPLBreakpointsfrom final component,SearchBar, and removesmediaMatchMockfrom test setup since it is no longer necessary. - Removes explicit
classNameandchildrenprops in favor of expanded prop type definitions in all components. - Removes the use of the
window'sscrollIntoViewdependency in theTabscomponent. - Removes the
tableTextSizeprop from theTablecomponent in favor of using the nativefontSizeCSS prop. - Removes
Children.maplogic fromButton,ButtonGroup,Card,CheckboxGroup,List,RadioGroup, andTooltipto reduce complexity and improve performance. - Removes warnings validating presence or type of children from
SubNav,ComponentWrapper,Form,Heading,Icon,Logo, andText. - Removes the
FilterBarcomponent anduseFilterBarhook. - Removes
noSpaceprop from Heading component. - Removes
noSpaceprop from Text component. - Removes default spacing values set on the
DatePicker,Heading,HelperErrorText,HorizontalRule,Label,List,StyledList, andTextcomponents. - Removes all files related to the
Autosuggestcomponent guidelines. - Removes the exported
TagSetTypePropstype. - Removes
.mdxtypeDOM children logic check inCard,Form,Icon, andTabscomponents. - Removes the
useWindowSizeanduseCarouselStyleshooks.
- Fixes missing names for some component story code blocks.
- Adds fallback warning messages to the
AudioPlayerandVideoPlayercomponents on browsers with JavaScript disabled.
- Updates Storybook to
v9.0.16. - Updates Node to
v20.
- Fixes the keyless fragments for
Checkboxitems in theMultiselectcomponent.
- Adds the
"actionInfo","actionList", and"navigationApps"options to theIconcomponent.
- Adds the
ARIA Landmarkspage to theAccessibility Guidein Storybook. - Adds explicit
tabsdesign tokens for font size and weight. - Adds the
Progressive Enhancementpage to theAccessibility Guidein Storybook.
- Updates Storybook and related npm packages to
v8.6.12. - Updates
vitetov5.4.18,@vitejs/plugin-reacttov4.4.1, andvite-plugin-svgrtov4.3.0. - Updates the
Tabscomponent to use the explicitly definedtabsdesign tokens for font size and weight.
- Fixes the style transitions for the
Buttoncomponent.
- Removes use of
useNYPLBreakpointshook where possible without causing breaking change. This update impacts theFeedbackBox,Modal,MultiSelectGroup,NewsletterSignup,SearchBar, andTablecomponents.
- Updates
Notificationvariant font colors to sync with VDL. - Updates
Tooltiptext color. - Updates the
SearchBarcomponent to remove the text input right border. - Updates the
SkeletonLoadercomponent to make the button placeholder look more like a button. - Updates the
Tabscomponent to sync the border color with the VDL. - Updates the
SubNavcomponent to add dark mode color styles. - Updates the
Headingcomponent to increase the font weight for thesizestyles. - Updates the Storybook docs for the
Tooltipcomponent to clarify how a tooltip should be used. - Updates the Storybook docs for the
Tabscomponent to improve details about the mobile carousel and horizontal scrolling.
- Fixes the
MultiSelectcomponent so that theitemCountprop displays even when0is passed as a value.
- Adds the
"navigationSubdirectoryArrowLeft"and"navigationSubdirectoryArrowRight"options to theIconcomponent. - Adds the
autoCompleteprop to theSelectelement. - Adds
requiredLabelTextprop to allow customization of the '(required)' text in theSelectcomponent.
- Updates the
Notificationcomponent's styles to sync with its VDL. - Updates the
ProgressIndicatorcomponent's label margin to be consistent with VDL. - Updates the
Button's height for each size option to align with VDL. - Updates the
"dl"variant of theListcomponent to use2remfor column spacing and to set the width of thetermcolumnm to be a full"250px"fortabletanddesktopviewports. - Updates the DS default font weight from
light(300) toregular(400). - Updates the
TypographyStyle Guide and theDesign TokensDevelopment Guide to useregular(400) as the default font weight. - Updates all
Formcomponents to set the font weight for the(required)label to"regular". - Updates the
Menucomponent to set the font weight for thegroupheadings to"bold". - Updates the
Multiselectsearch input field to remain visible on scroll. - Updates the
NewsletterSignupcomponent's left border width and wrapper'sgapvalue. - Updates the
TextInputcomponent so that the clearable button will not render whenisDisabledis true. - Updates the
TextInputplaceholder text color for dark mode. - Updates the
Checkboxcomponent to sync the focus color styles with the VDL. - Updates the
Notificationcomponent to sync styles with the VDL. - Updates the
ProgressIndicatorcomponent's label margin to be consistent with the VDL. - Updates the
"dl"variant of theListcomponent to use2remfor column spacing and to set the width of thetermcolumnm to be a full"250px"fortabletanddesktopviewports. - Updates the
TagSetcomponent to sync the border color styles with the VDL. - Updates the
MultiSelectcomponent to now allow 0 to be rendered foritemCount.
- Fixes
Accordionstyles, including padding and active hover state, and double-border issue. - Fixes an overflow bug in the
filtervariant of theTagSetcomponent whenisDismissibleis false. - Fixes the vertical alignment of the label for the
inlinevariant of theSelectcomponent.
- Adds the
Container Query Guidepage to theDevelopment Guidesection of Storybook. - Adds the
primitivescolor object. - Adds the
highlightercolors to thecolorstheme object.
- Updates the spacing on the
Modalcomponent. - Updates the spacing between heading and content in the
Bannercomponent. - Updates the
Card,FeaturedContent, andSearchBarcomponents to use container queries. - Updated the
"filter"variant of theTagSetcomponent to remove tag button wrapper whenisDismissibleandonClickare false. - Updates the
Imagecomponent to include"fourByOne"and"twoByThree"aspect ratio options. - Updates the
Labelcomponent to set the font weight for the(required)label to"light". - Updates the
Fieldsetcomponent to set the font weight for the(required)label to"light". - Updates the
FeedbackBoxcomponent to set the font weight for the(required)label on theTextareaelement to"light".
- Adds the
"utilityCheck"option to theIconcomponent. - Adds the
getTextFromElementutility function.
- Updates the
Checkboxcomponent to use the DSutilityCheckicon. - Updates the
Checkboxcomponent to set the correct background color for all states. - Updates the
AlphabetFiltercomponent to correct the font weight. - Updates the
StatusBadgecomponent to support thefontSizestyle prop. - Updates the
Menucomponent to set the line height to 1.5 for menu options. - Updates the
FeedbackBoxcomponent to set the font weight for the popup header tomedium. - Updates the
primaryvariant of theHerocomponent to have appropriate padding for desktop and mobile, andmax-widthof 860px - Updates the
campaignvariant of theHerocomponent to have consistent padding.
- Fixes the circular styles for images in the
Menucomponent.
- Adds the
useFormatNumberhook.
- Updates the
Paginationcomponent to handle 4 digit page counts. - Updates the
Headingcomponent to addline-heightstyles for mobile. - Updates the
Breadcrumbscomponent to make link text screen readable on mobile breakpoints - Updates the
Breadcrumbscomponent to center align arrow on mobile breakpoints - Updates the
MultiSelectcomponent to adjust the text and size styles for the search input field.
- Adds the
Filteringsubsection to theStyle Guide.
- Updates the
Formcomponent to remove thearia-label. The previous value of"form"was redundant and not required. - Updates the
RadioGroupcomponent to replace thefieldsetandlegendwrappers with a div and span for the title. The main div wrapper around theRadiocomponents already has arole="radiogroup"values which makes thefieldsetredundant. - Updates the
Paginationcomponent to apply new visual styles.
- Fixes the infinite loop in the
Imagecomponent caused when there is nofallbackSrcprop value.
- Adds
jest-transformer-svgto mock SVGs more accurately in our tests
- Fixes
TextInput's conflicting internal and external ref values for the clearable button focus management.
- Adds the
"SubNav"component. - Adds the
useScrollFadeStyleshook.
- Updates the
MultiSelectcomponent to additemCountas a data property to theitemsprop to render the item count for an option.
- Fixes issue where focus indicator was being cut off in places in the
Templatecomponent.
- Fixes a styling issue in the
Header's list to make it stricter.
- Adds the NYPL Header as a DS component as a temporary solution for a specific application. It's only meant to be used internally and teams are still encouraged to use the
nypl-header-app.
- Adds the
"contentFilterRelease"option to theIconcomponent. - Adds the
"socialX"option to theIconcomponent. - Adds the
heading7andheading8to the font size design tokens. - Adds the
heading7andheading8options for thesizeprop in theHeadingcomponent.
- Updates Storybook and related dependencies to version 8.3.6.
- Updates the
Linkcomponent to prevent line breaks. - Updates the
SocialMediaLinkscomponent to support the"socialX"icon.
- Fixes spacing issues and dark mode color styles in the
Tablecomponent.
- Adds the
"decorativeBookBroken"option (for error pages) to theIconcomponent. - Adds the
"xxxxlarge"and"xxxxxlarge"size options for theIconcomponent. - Adds the
"2xlarge","3xlarge","4xlarge", and"5xlarge"sustainable size options for theIconcomponent.
- Updates
Selectin theSearchBarcomponent to allow long option titles before truncation. - Updates the
ProgressIndicatorcomponent to add thelabelPlacementprop to allow for custom placement of a label for circular indicators. - Updates image props in the
Herocomponent to allow custom image components. - Updates Vite from
5.2.8to5.2.14to fix a security vulnerability.
- Removes unused dependencies, two of which were causing npm vulnerabilities.
- Updates invalid text in the
SearchBarcomponent to include "There was a problem. " prefix. - Updates the
MultiSelectcomponent to add interaction tests. - Increases the z-index of the
FeedbackBox'sDrawercomponent so it displays above all other elements on a page. - Updates the
Tablecomponent to add theisScrollableprop to enable horizontal scrolling. - Updates the
Tablecomponent to add thecolumnStylesprop to allow for custom column styles (i.e. width, text alignment, etc.). - Updates the
Tablecomponent to add thetableTextSizeprop to set the size of the text within the table. - Updates the
Tablecomponent to add thetitleTextandshowTitleTextprops to control the<caption>element andaria-labelattribute. - Updates the styles for the
Templatecomponent to better accommodate the horizontal scrolling in theTablecomponent.
- Lowercases the 'r' of '(required)' in labels and placeholders where necessary in order to align with sentence case guidelines.
- Updates the
CheckboxGroup,DatePicker,FeedbackBox,Label,RadioGroup,SearchBar,Select,Slider, andTextInputcomponent to use a lowercase 'r' for '(required)' in labels and placeholders in order to align with sentence case typography guidelines.
- Passes the
fallbackSrcandonErrorproperties to theCard'simagePropsprop object. - Fixes issue with
HelperErrorTextwhere, if text value was not a string, necessary styles weren't applied.
- Updates
Tooltipcomponent withplacementandoffsetprops for custom positioning.
- Fixes a duplicate
idissue in theImagecomponent. This happened when an aspect ratio value rendered a wrapper div with the sameidas theimgelement. This was not picked up by internal accessibility tests but in a consuming application.
- Adds development guide for Conditional Viewport
- Adds the
FilterBarPopupcompoonent anduseFilterBarPopuphook.
- Updates the
FilterBarInlinecomponent to applycloseOnBlurtoMultiSelectcomponents whenlayout="row". - Updates the
Breadcrumbscomponent props to includecustomLinkComponentandlinkProps. - Updates the
Bannercomponent to allow for HTML content in thecontentprop when passed as a string. - Updates the
SearchBarcomponent styles for mobile viewports. - Updates the
Selectcomponent to accept adefaultValueprop to set initial value of uncontrolled components. - Updates the legend in the
MultiSelect'sCheckboxGroupto use thebuttonTextprop value for better accessibility context. - Updates the
Menucomponent to add theshowSelectionAsLabelprop and improve thearia-labelvalues. - Updates the
Imagecomponent to default thealtattribute to an empty string if no value is passed.
- Removes
imageProps.altmissing warning message fromFeaturedContentas the prop is not always required.
- Adds the
FilterBarInlinecomponent. - Adds refined
NewsletterSignupcomponent with updated props. - Adds refined
SocialMediaLinkscomponent with updated props
- Updates Storybook and related npm packages to version
8.1.11. Does not affect any DS component. - Updates
Menucomponent with newshowSelectionAsLabelprop andaria-labelbehavior. - Updates the
Banner,Button,ButtonGroup,DatePicker,FeaturedContent,FeedbackBox,Fieldset,HelperErrorText,Label,SkipNavigation, andStyledListcomponents to export all types and prop interfaces.
- Adds Storybook interaction tests for the
CheckboxGroup,DatePicker,FeedbackBox, andSlidercomponents. - Adds
digitalCollectionscolor variant to theBreadcrumbscomponent. - Adds
closeOnBlurprop to theMultiSelectcomponent which, when set to true, closes the component if it loses focus.
- Updates base font stack to only
system-uiandsans-serif. - Updates the
Accordioncomponent to close panel when element within panel is focused and "esc" key is pressed.
- Adds Storybook interaction tests for
Searchbar,Select, andRadiogroupcomponents.
- Updates how links are styled within the
Headingcomponent. - Updates
jestrelated npm packages for security patches.
- Fixes broken Github Action for release tags.
- Adds the following npm packages:
jest-transformer-svg,@storybook/addon-designs, and@storybook/test. - Adds Storybook interaction tests for
Select. - Adds Storybook interaction tests for
RadioGroup.
- Updates the following packages:
- Storybook main package and related libraries to
8.0.8. remark-gfmto4.0.0.viteto5.2.8,@vitejs/plugin-reactto4.2.1, andvite-plugin-svgrto4.2.0.
- Storybook main package and related libraries to
- Updates how SVGs are imported into
LogoSvgs.tsxandIconSvgs.tsx. - Updates Storybook internal link and heading styles and enables the hash heading URL linking.
- Removes the following packages:
downshift,tough-cookie,@storybook/testing-library,storybook-addon-designs, and@svgr/webpack.
- Exports
useMediaQueryandchakrafrom Chakra UI. - Updates the
TextInputandSearchBarcomponents to better associate the input element to the entire component's helper text.
- Adds
showRowDividersprop to show/hide row dividers for theList"dl"variant.
- Updates the
Accordioncomponent to close focused panel when "esc" key is pressed.
- Fixes the z-index issue in the
MultiSelectcomponent's selected item button. - Fixes the
Checkboxpositioning so it is visible when it is focused in a scrollable container. - Fixes a
Breadcrumbssnapshot test that was duplicated and now has the appropriate"locations"variant.
- Adds new
typeprop to theModalcomponent with"default"and"confirmation"variants.
- Fixes the desktop styling flicker in the
ButtonGroupcomponent.
- Adds the
idprop to theHero,HorizontalRule,SkeletonLoader,TemplateAppContainer, andTextcomponents. - Adds the
idproperty to theimagePropsprop object in theCardcomponent.
- Updates the
Headingcomponent to allow more HTML attributes as props.
- Fixes an issue with the
Tablecomponent where it rendered the headings twice until the component loaded and applied the desktop styles. This was done by adding inline responsive styles and removing the use of theuseWindowSizehook.
- Adds docs for
"Visited State Patterns"to theLinkcomponent story page. - Adds the
ui.warning.tertiarycolor token in order to have a light mode"warning"color option that meets the WCAG 2.1 AA color contrast standard. - Adds
fallbackSrcandonErrorprops to theImagecomponent. - Adds the
fallbackSrcandonErrorproperties to theimagePropsprop for theHerocomponent. - Adds the
isDarkTextprop to theHerocomponent.
- Updates the placeholder value for the search field within the
MultiSelectcomponent. - Updates the background colors for the
"noBrand"variant of theButtoncomponent. - Updates the hex values for the
ui.warning.primaryandui.warning.secondarycolor tokens. - Updates the
BannerandStatusBadgecomponents to use theui.warning.tertiarycolor for bertter accessibility in the"warning"variant. - Updates the styles for the UI colors, text treatment and
Clear allbutton in theTagSetcomponent. - Updates the component category for the
TagSetcomponent to"Content Display". - Updates placeholder images on story pages and tests to use the
getPlaceholderImageutility function which provides NYPL images.
- Adds workaround to
HeroandFeaturedContentto fix Chakra bug that causes certain image URLs to not render through thebackground-imageCSS property.
- Adds the
"actionLightbulb"option to theIconcomponent. - Adds the
Bannercomponent. - Adds the
MultiSelectGroupv2 component.
- Updates the
DatePicker,Select,Slider, andTextInputcomponents to reduce the spacing between the field label and the field itself from"8px"to"2px". - Updates the
Herocomponent with conditional logic to handle how theforegroundColorandisDarkTextprops are used.
- Adds the
"editorMode"option (pencil) to theIconcomponent. - Updates the
ulbullet color in theListcomponent. - Adds the
Errorspage to theAccessibility Guidesection of Storybook. - Adds the
@storyook/addon-interactionsaddon to Storybook and@storybook/testfor writing interaction tests.
- Updates default heading size to
heading4onModalcomponent. - Updates mobile styles for the
SocialMediaLinkscomponent
- Adds
5%and10%opacities for the semantic colors in the color pallette. - Adds the
Menucomponent. - Adds the
MultiSelectv2 component. - Adds the
useMultiSelecthook.
- Updates the repo to use Node 18.
- Updates to React 18 and Chakra 2.8.
- Updates the
StatusBadgecomponent to add thetypeprop. - Updates the
StatusBadgecomponent to change the UI styles. - Updates the base
Modalcomponent to use theuseDSHeadinghook internally to render a DS Heading for theheadingTextprop. - Updates the
Headingcomponent to use native Chakra responsive styles to handle the font sizes of the component's internalheading,overlineandsubtitleelements. This also resolves the flashing font size bug that is most noticeable on slower internet connections. - Updates the
Textcomponent to use native Chakra responsive styles for the font sizes of thesubtitle1andsubtitle2variants. - Updates the
NewsletterSignupcomponent to follow NYPL recommendations and use more direct language for the email field error message. - Updates the default export to include
FocusLock,useStyleConfig, anduseMultiStyleConfigfrom Chakra UI. - Updates the default export to include the test helper "MatchMedia".
- Updates the
Accordioncomponent to include theariaLabelandbuttonInteractionRefprops. - Updates the
Tabscomponent to use horizontal scrolling and arrow buttons step through tabs in mobile view.
- Removes console warnings from the
CheckboxGroupcomponent when a non-Checkboxcomponent is passed as a child. - Fixes the responsive styles related to the image in the
FeaturedContentcomponent. - Fixes helper error text alignment in the
Selectcomponent when label is not shown and it is inlined.
- Removes the
NewsletterSignupandSocialMediaLinkscomponents. - Updates the
TagSetcomponent to allow for more properties in the tag data object. TheonClickfunction now returns the entire data object in the callback argument instead of just the tag label. - Updates the
Linkcomponent to follow Chakra's patterns for usage with application framework routing systems, as well as a general refactor. Usage with Next.js has been updated.
- Updates focus ring color in
NotificationandBreadcrumbsto match color of text. - Updates the
StatusBadgestyles so that if an icon is passed, the icon and text line up with one another
- Fixes a styling issue on the range
DatePickerfor the month and year types where the in-range selected date values did not have the correct DS colors. - Fixes the desktop font size for the
"heading5"variant in theHeadingcomponent.
- Adds the
"navigationMoreVert"option (vertical ellipsis) to theIconcomponent.
- Updates
Tabsto be scrollable when the width of the tab set is greater than the viewport. - Updates the required comment field so it cannot be submitted when empty for the
FeedbackBoxcomponent. - Updates the
Headingcomponent to use a custom@media querymethod to handle the responsivefont-sizestyles. - Updates the
Textcomponent to use native Chakra responsive styles for the font sizes of thesubtitle1andsubtitle2variants.
- Fixes the focus ring style for the open button in the
FeedbackBoxcomponent. - Forcibly focuses on the open button when the
FeedbackBoxform is closed to ensure focus is not lost.
- Adds optional
placeholderandplaceholderToprops to theDatePickercomponent. - Adds the
"actionDelete","actionHome","actionLockClosed","actionPayment","communicationCall","communicationChatBubble", and"communicationEmail"options to theIconcomponent.
- Updates the
DatePicker'sinitialDateandinitialDateToprops to accept an empty string.
- Fixes bug where month and year
Datepickercalendars were rendering vertically rather than horizontally.
- Adds the
hasVisitedStylesprop toLinkwhich is used to include or omit the visited state styles. Default value is true. - Adds the
useDSHeadinghook to render a default H2 heading or a custom heading element. - Adds the
sizeBasedOnprop to theImagecomponent. - Adds the
isDarkBackgroundImageprop to theHerocomponent.
- Removes
disabledvariant fromLinktheme file, as it isn't being used. - Updates the
font-weightto"regular"for thesubtitle1andsubtitle2text styles. - Updates the
"digitalCollectionsBlack"variant of theLogocomponent to use NYPL color design tokens. - Updates the following components to accept
JSX.Elementtype values into their"title"prop:List,NewsletterSignup, - Updates the following components to accept
JSX.Elementtype values into their"headingText"prop:AlphabetFilter,AudioPlayer,ComponentWrapper,SearchBar,VideoPlayer - Updates the
Notificationcomponent to acceptJSX.Elementtype values into its"notificationHeading"prop. - Updates the
StructuredContentcomponent to acceptJSX.Elementtype values into its"headingText"and"calloutText"props. - Updates the
FeaturedContentcomponent by adjusting the spacing in the"fullScreen"variant to better align the component text content with the page text content. - Updates the
"campaign"variant of theHerocomponent to improve the spacing around the component. - Updates the
Cardcomponent so that it accepts theimageProps.isLazyprop and passes it to its internalImagecomponent.
- Adds z-index on hover to the
SearchBar's select icon so it no longer disappears. - Adds z-index to the
DatePicker's calendar container so that the helper text does not shift when the calendar opens.
- Adds the
sizeBasedOnprop to theLogocomponent. - Added the
autoCompleteprop to theTextInputcomponent for setting the "autocomplete" attribute manually.
- Updates max version for Chakra UI to
1.8.9for minor bug fixes. - Updates the layout for the
"campaign"variant of theHerocomponent to have consistent padding on its left and right sides. - Updates the
getSectionColorsfunction to also return dark mode color variants. - Updates the
NewsletterSignupcomponent'snewsletterSignupTypeprop to render proper dark mode variant colors.
- Adds a changelog to the story pages for the
Headingcomponent.
- Updates the
Headingcomponent to set thearia-roledescriptionvalue as"subtitle"(a more familiar and recognizable value) for theoverlineelement. - Updates the
FeedbackBoxandNewsletterSignupcomponents to set thetabindexon the internal elements to"-1". - Updates
DatePicker'sTextInputto always have anaria-labelattribute that tells screen reader users how to access the calendar. - Updates Storybook to
v7.5.1.
- Fixes a bug in the
Herocomponent where custom background colors were not rendering properly in dark mode for the"campaign"and"tertiary"variants.
- Deprecates the
"secondary"and"fiftyFifty"variants of theHerocomponent.
- Adds the
ComponentChangelogTablecomponent. - Adds a changelog to the story pages for the
DatePicker,FeedbackBox,Hero,Slider, andTextInputcomponents. - Adds the
FeaturedContentcomponent. - Adds the
NewsletterSignupcomponent.
- Temporarily renaming
FilterBar,MultiSelect,MultiSelectGroup,useMultiSelect, anduseFilterBarStorybook page files so they don't show up in the Storybook sidebar. - Updates the
Slidercomponent to use appropriatearia-labelvalues for the slider thumbs and text input fields. - Updates
TextInputso it no longer incorrectly overwrites thearia-describedbyvalue to undefined when part of theDatePickercomponent. - Updates
DatePickerso that focus remains on input after value is changed. - Updates the
FeedbackBoxcomponent to remove the underline on the component'sPrivacy Policylink. - Updates
DatePickerto pass aadditionalHelperTextIdsto itsTextInputif needed so that thearia-describedbyvalue can be associated with all relevanthelperTexts.
- Fixes an issue with
backgroundColorandforegroundColorprops not prioritizing the passed design token values for theHerocomponent.
NOTE: Version number 2.0.0 was previously released in 2019 and is marked as deprecated in npm. The first stable relase for Reservoir v2 is 2.0.1.
- This update introduces a number of visual breaking changes related to typography styles.
- Removes the
FilterBarandMultiSelectcomponents. - Removes the
useFilterBaranduseMultiSelecthooks.
- Adds the
isUnderlinedprop to theLinkcomponent. - Adds the
"standalone"variant to theLinkcomponent. - Adds
NYPL Patternsto theLinks Accessibility Guide. - Adds the
SocialMediaLinkscomponent.
- Updates underline styles of the
Linkcomponent. - Updates the hex value for the
Link Primarycolor style. - Updates the
Linkcomponent so that non-button variants change color once visited. - Updates the
Linkcomponent to explicitly assign the text color for the"buttonPrimary"varianthoverstate. - Updates all components that render text to use the
Typo2023color scheme. - Updates the base styles to use the
Typo2023styles. - Updates all components to implement the
Typo2023styles. - Updates the
Breadcrumbs,Card,Heading,Pagination, andSkipNavigationcomponents to implement theTypo2023link patterns.
- Updates the
Logocomponent to include variants forNYC Public Schools. - Updates the
Iconcomponent to include variants for"sunFull"and"moonCrescent". - Updates
Breadcrumbsdefault design token to support apps using both newer and older DS versions.
- Adds the
"actionIdentity","actionIdentityFilled","actionSearch","mapsPlace","socialSpotify", and"socialVimeo"options to theIconcomponent.
- Updates
Liststyling so the bottom border on description lists matches other borders. - Updates type
IconRotationTypestoIconRotations.IconRotationTypeswill still work for now, but is deprecated and will be removed in a later version. - Updates
Modalcomponent documentation.
- Adds the
"TikTok"option to theIconcomponent. - Adds the
roleprop to theTextcomponent. - Adds the
backdropBackgroundColorprop to theHerocomponent for the"campaign"heroTypevariant.
- Updates the ARIA attributes for the
overlineandsubtitleelements in theHeadingcomponent. - Updates the docs for the
Textcomponent and theTypography Style Guideto include more information about theTypography 2023updates.
- Adds the
screenreaderOnlyTextprop to theButtonandLinkcomponents.
- Updates the existing
headingtypography styles to add new default styles options for native heading elements, includingh1thruh6. - Updates the existing
headingtypography styles to add new size options, includingdisplay1andheading1thruheading6. - Updates the existing
texttypography styles to addoverlineandsubtitleoptions. - Updates the
Headingcomponent to include the newheadingtypography styles. - Updates the
Textcomponent to include the newtexttypography styles. - Updates the
Typographydocs to include the new options added to theheadingandtexttypography styles. - Updates the
Design Tokensdocs to include the new tokens added to theheadingandtexttypography styles. - Updates the
Headingcomponent to includeoverlineandsubtitleelements. - Updates the spacing gap between main content in the
TemplateAppContainercomponent. - Updates the background color of the "clear" button in Dark Mode for the
TextInputcomponent. This also affects theSearchBarcomponent when a clear button is present in theTextInputcomponent. - Updates the spacing of the text in the
HelperErrorTextcomponent. - Updates the
ComponentWrappercomponent to conditionally render theHelperErrorTextcomponent. - Updates the version of the
react-datepickernpm package. - Updates the right-to-left visual display for the
Accordioncomponent.
- Adds
"xxxsmall"size (32px width) to theImagecomponent. - Adds the
"connect"section hues to the light and dark color palettes. - Adds the
"connect"color variant to theBreadcrumbscomponent. - Adds internal
ChakraProvidercomponent to be able to conditionally include CSS styles through theresetCSSanddisableGlobalStyleprops. - Adds a
themeprop to theDSProviderto merge in an additional theme file if necessary; this is to support to theHeaderandFootercomponents in the NYPL Header App. - Adds
Managing Focuspage to theAccessibility Guidein Storybook.
- Updates the
Buttoncomponent to increase the internal spacing between the button text and an icon. - Updates placeholder images to come from placekitten, rather than placeimg, which is being deprecated.
This updates replaces TSDX with Vite for the build tool. This allows the Reservoir DS library to be easily maintained and allow individual npm packages to be updated for security patches and general bug fixes. At the same time, the local and production build process are now much faster. Specific updates and changes:
- Node 16 is the recommended version to use and it is set in the
.nvmrcfile. - Github Actions are updated to use Node 16. The Typecheck workflow is removed since that's covered by the build script. Using Node 16 also allows the Vercel deployments to work without the the added
NODE_OPTIONSflag in the npm build script. - Vite is used to build the library and start a development build.
- Rollup plugins are removed in favor of Vite plugins.
- Gulp and the
resources.scssfile are removed. Other related.scssfiles were also removed since they are not used (in the library or in consuming applications). - ESLint packages are updated.
- Jest is updated along with its config file.
jest-environment-jsomandts-jestare used now. Snapshot test output files have slightly different rendered HTML syntax. - The build is still outputting CommonJS and ES module dist files, but the final name is slightly different. This does not affect how the DS is imported into any application.
- Due to moving to ESM as the default for the repo, types are exported separated from components in the main
/src/index.tsfile. This doesn't affect the final build but just how components, interfaces, and types are exported. - Storybook is updated to 7.0.18 which is a major version.
- All Storybook component documentation have been updated to use the Storybook 7 CSF format, along with MDX for the custom documentation pages.
- Adds the
targetprop to theLinkcomponent.
- Removes the
HeaderandFootercomponents from the DS. These components will be moved and maintained in the nypl-header-app.
- Updates the
Selectcomponent to use a set text color value.
- Fixes the focus rectangle around the
TextInputclear button so it is centered on both desktop and mobile views.
- Adds
ui.gray.semi-mediumandui.gray.semi-darkto the color palette. - Adds
Audio and Videopage to theAccessibility Guidesection of Storybook. - Adds "Pinterest" and "SoundCloud" options to the
Iconcomponent.
- Updates the
Linkcomponent to include the rel attributes "noopener" and "noreferrer" on the "external" variant. - Updates the
dark.ui.border.defaultdesign token to useui.gray.semi-darkas its base. - Updates the
dark.ui.border.hoverdesign token to useui.gray.semi-mediumas its base. - Updates the
dark.ui.disabled.primarydesign token to useui.gray.darkas its base. - Updates the
dark.ui.disabled.secondarydesign token to useui.gray.x-darkas its base. - Updates the
Togglecomponent to useui.gray.semi-darkcolor for its background color. - Updates the
ListandStyledListcomponents to useui.gray.semi-darkfor the bullet color in the "ul" variant. - Updates the
Slidercomponent to useui.bg.activefor the color of the track bar in the "disabled" state. - Updates the
Breadcrumbscomponent so that the last breadcrumb item is now a link. If the link text is too long, it will get truncated and the DSTooltipcomponent will be used to display the full text in a tooltip when the text is hovered.
- Fixes a
border-radiusformatting issues on the hover state of the search field for the dark mode version of theHeadercomponent. - Fixes a
colorissue on the hover state of the links for the dark mode version of theFootercomponent. - Fixes a
border-colorissue for the dark mode version of theFeedbackBoxcomponent. - Fixes a bug in
TextInputthat prevented the external clearing ofvalue.
- Updates the
aria-labelandtitleprops in theTabscomponent's button and icon elements to be more descriptive. - Updates
useCloseDropDownhook to be exported for nypl-header-app. - Updates the
Logocomponent to include "black" and "white" variants forNYCDOE.
- Updates the
Buttoncomponent to use a transparent background for the default state of the "secondary" variant. - Updates the
Herocomponent so that the height of the image in the "campaign" and "fiftyFifty" variants will grow and shrink based on the text content. - Updates the
SearchBarcomponent to includedefaultValueas a prop intextInputProps.
- Removes the
Color Modedocs page from Storybook due to the addition of theSupporting Dark Modedocs page.
- Removes the
Slidercomponent's internal state update function (setCurrentValue) from Chakra's ownRangeSlidercomponent'sonChangeEndprop function. This fixes an issue where both Chakra'sonChangeandonChangeEndprop functions were being called regardless of whether they were passed to the DSSlidercomponent or not. Since Chakra'sonChangefunction will always be called, the internal state function is kept. This ensures that there is no multiple calls or loop of state update calls when using keyboard controls to change the range slider's value.
- Adds
brandas abreadcrumbsTypeto theBreadcrumbscomponent. - Adds
darkcolor mode support forbackground-colorandcolorglobal styles. - Adds
darkcolor mode support for theHelperErrorTextandStatusBadgecomponents. - Adds
darkcolor mode support for theButton,Checkbox,DatePicker,ProgressIndicator,Radio,SearchBar,Select,SliderandTogglecomponents. - Adds
darkcolor mode support for theCardandHerocomponents. - Adds
darkcolor mode support for theHeadingandListcomponents. - Adds
darkcolor mode support for theFooter,Header,HorizontalRuleandTablecomponents. - Adds
darkcolor mode support for theNotification,ProgressIndicator, andSkeletonLoadercomponents. - Adds
darkcolor mode support for theBreadcrumbs,Link Types, andPaginationcomponents. - Adds
darkcolor mode support for theAccordion,Modal,Tabs, andTooltipcomponents. - Adds
darkcolor mode support for theAlphabetFilter,AudioPlayer, andTagSetcomponents. - Adds
darkcolor mode support for theFeedbackBoxandStyledListcomponents. - Adds
darkcolor mode support for theFilterBarandMultiSelectcomponents. - Adds
Supporting Dark Modeunder theDevelopment Guide.
- Updates background color values available in Storybook.
- Updates the hex value for
dark.ui.error.primary. - Updates the
Design Tokens Style Guideto include more detailed information about the available tokens.
- Deprecates the
darkModeprop in theProgressIndicatorcomponent.
- Updates the
Logocomponent to include "black" and "white" variants forDigital Collections.
- Updates the
Slidercomponent'scurrentValuestate to use theuseStateWithDependencieshook.
- Adds the
patternprop to theTextInputcomponent. - Adds documentation page "Dynamic Content" to the
Accessibility Guide. - Adds the
isRenderedTextprop to theHelperErrorTextcomponent.
- Adds a third radio button to the
Headercomponent, separating search options between the Circulating Catalog, Research Catalog, and the NYPL.org website. - Temporarily removes the "log in" state from the
Headercomponent, the feature to read auth cookies, and the patron's name when logged in, and the log out link. - Truncate breadcrumb text if beyond 40 characters then add ellipsis at the end. If the breadcrumb text is truncated, the DS
Tooltipcomponent is used to display the full text in a tooltip when the text is hovered. - Updates the
SearchBar'stextInputPropsprop to include the following props to pass to theTextInputcomponent:isClearableCallback,max,maxLength,min, andpattern. - Updates how the
CheckboxGroup,ComponentWrapper,DatePicker, andRadioGroupcomponents internally render theHelperErrorTextcomponent. The update in theComponentWrappercomponent affects theAudioPlayer,Checkbox,Radio,SearchBar,Select,Slider,TextInput,Toggle, andVideoPlayerDS components, each of which render helper or error text. - Updates the
MultiSelectcomponent so it closes when the "escape" key is pressed. - Updates where the focus is set in the
MultiSelect"dialog" variant after the "Apply" button is clicked. - Updates where the focus is set in the
MultiSelectcomponent after the selected items count button is clicked.
- Adds the
MultiSelect,MultiSelectGroup,FilterBarcomponent. - Adds the
useMultiSelect,useFilterBarhook. - Adds the
onChangeEndprop in theSlidercomponent. - Adds
autocompleteattribute toTextInputs with type"tel","email", and"url". - Adds docs for
LinksandRepetitive Actionsto theAccessibility Guide.
- Updates the hex value for
ui.gray.xx-dark,ui.gray.xxx-dark,ui.gray.xxxx-dark,dark.ui.bg.page,dark.ui.bg.hover,dark.ui.bg.active,dark.ui.disabled.secondary,dark.ui.error.primary,dark.ui.error.secondary,dark.ui.focus,dark.ui.link.primary,dark.ui.link.secondary,dark.ui.status.primary,dark.ui.status.secondary,dark.ui.success.primary,dark.ui.success.secondary,dark.ui.warning.primaryanddark.ui.warning.secondary. - Updates the layout of the category
RadioGrouptocolumnfor the mobile view of theFeedbackBoxcomponent. - Updates the background color for the
"iconOnly"and"text"variants of theButtoncomponent. - Updates the DOM in the header of the
FeedbackBoxcomponent to improve accessibility. - Updates the
Linkcomponent to include descriptive text for screen readers in the component's"external"variant. - Updates the
HelperErrorTextcomponent to set theariaLivedefault value to"polite". - Updates the
Accessibilitydetails for theNotificationcomponent. - Better docs for the
onSubmitprop in theFeedbackBoxcomponent.
- Fixes spacing and alignment issues in the
FeedbackBoxcomponent. - Fixes the width of the Privacy Policy link in the
FeedbackBoxcomponent. - Fixes issue where
aria-describedbyattribute was not being added to someTextInputs.
- Removes the
Linkcomponent warning about the deprecatedbuttonvariant. This change is temporary and will be reverted once teams are able to update theirLinks appropriately. - Removes the
arial-labelattribute from theCheckboxGroupandRadioGroupcomponents for improved accessibility. Using the attribute is redundant with the existing "screen reader only"<legend>element.
- Adds the optional
isClearableCallbackprop to theTextInputcomponent. This prop works with theisClearableprop and the passed function is invoked when the "clear" button is clicked. This is most helpful for controlledTextInputcomponent implementations.
- Updates the background color for the
hoverstate in thesecondaryvariant of theButtoncomponent.
- Fixes the z-index value of the SVG icon in the
Selectcomponent so it does not render above other elements on a consuming application's page.
This release is exactly the same as the 1.3.0-rc release candidate published on December 2, 2022. The rc release was reviewed and validated.
- Adds additional color options to
Iconcomponent. - Adds reusable iconColors and iconNames arrays/types for DRYer, easier-to-update code.
- Adds the following color options to the color theme object:
ui.bg.page,ui.typography.inverse.body,ui.typography.inverse.heading,dark.ui.typography.inverse.body, anddark.ui.typography.inverse.heading. - Adds the
StyledListcomponent. - Adds the
FeedbackBoxcomponent,useFeedbackBoxcomponent hook, anduseStateWithDependencieshelper hook.
- Updates the data displayed on the Colors Style Guide to expand the contrast details for the
uianddark.uicolor. - Updates the
mdbreakpoint to"37.5em", which is equal to"600px".
- Adds Node environment variable to npm script that Vercel uses to build the site. This patches an error from webpack not building correctly.
- Adds an
isClearableprop to theTextInputcomponent. When set totrue, a closeButtoncomponent will render on top of the input element. Once clicked, any text value in the input field will be cleared and focus will return to the input element. - Adds the
isClearableproperty to thetextInputPropsprop object in theSearchBarcomponent. This allows theisClearableprop to be passed to theTextInputcomponent to render the closeButtoncomponent.
- Updates the
IconandLogodocumentation to include size values in px. - Updates the spacing within the
tertiaryvariant of theHerocomponent. - Updates the
Buttons Style Guideto extend the information about button sizes. - Updates the
viewportoptions in Storybook to align with the Reservoir breakpoints.
- Fixes an invalid TOC link on the
Cardcomponent Storybook page. - Fixes the sizing of the
errorFilledanderrorOutlineicons in theIconcomponent. - Adds new props to Chakra's
ToolTipto more forcefully close the DSToolTip. New props includecloseDelay,closeOnClick,closeOnEsc, andcloseOnMouseDown.
- Removes the
Buttoncomponent warning about the deprecatedlinkvariant. This change is temporary and will be reverted once teams are able to update theirButtons appropriately.
- Adds the
"buttonPrimary","buttonSecondary","buttonPill","buttonCallout","buttonNoBrand","buttonDisabled"variants for the theLinkcomponent, set through thetypeprop.
- Deprecates the
"button"typevariant for theLinkcomponent. Use any of the new"buttonX"variants instead.
- Updates the
AlphabetFiltercomponent by addingaria-label=“Filter by letter"attribute and removing theroleattribute on the<nav>element. - Updates
AlphabetFilterborder color for theactive letterindicator fromui.gray.mediumtoui.gray.dark. - Updates background styles for
Herocomponent'sprimaryandcampaignvariants. - Updates the hover styles for the
CheckboxandRadiocomponents. - Improves
TagSet"filter"type accessibility by adding anaria-labelthat includes"click to remove filter", whenisDismissibleis true.
- Updates Storybook npm packages to fix copying documentation and table of contents heading linking.
- Adds a variant for
NYCDOEto theLogocomponent. - Adds the
TagSetcomponent. - Adds the
AlphabetFiltercomponent. - Adds the
AudioPlayercomponent. - Adds the
requiredLabelTextprop to theTextInputandLabelcomponent. This allows customizing the "(Required)" text for other languages.
- Updates the
hamburgerSVG for theIconcomponent to allow for color assignments. - Updates
ComponentWrapperpropdescriptionTexttype tostring | JSX.Element.
- Adds the
sizeprop to theButtoncomponent. The accepted values are "small", "medium", and "large". The default size value is "medium". - Adds the
valueprop to theSlidercomponent to programmatically update the values of theSlidercomponent. - Adds the
valueprop to theCheckboxGroupcomponent to programmatically update the values of theCheckboxes within it.
- Updates the colors for the
secondaryandiconOnlyvariants of theButtoncomponent. - Updates the
Tooltipcomponent to remove the dropshadow effect. - Updates whether the content inside of an
Accordionis always rendered through theisAlwaysRenderedprop. - Updates the spacing of the icon and text in the
Notificationcomponent. - Updates the padding and placement of the links in the
Footercomponent. - Updates how content in the
Tablecomponent is aligned. - Updates the
Buttonstyles in theHeader,Notification,SearchBar, andTabscomponents based on the newsizeprop. - Updates the
contentprop of theTooltipcomponent to accept number values.
- Removed the
data-testidattribute from theButtoncomponent.
- Adds the
textvariant in theButtoncomponent.
- Fixes a bug where the
defaultValuefor aTextInputcomponent was not being passed correctly to the Chakra input element.
- Deprecates the
linkvariant in theButtoncomponent.
This release is exactly the same as the 1.1.0-rc5 release candidate which was published and reviewed. Minor bug fixes, listed below, were made.
- Fixes how the "footer" area is rendered in the
TemplateAppContainer. - Fixes ARIA labels in the
Footer.
- Adds static
Headercomponent with login dropdown (functionality to be added later). - Implements focus lock in
Logincomponent in theHeader's internalLogincomponent. - Adds the
SkipNavigationto theHeadercomponent. - Adds the
SitewideAlertscomponent used internally in theHeadercomponent. This component dynamically fetches and renders NYPL sitewide alerts. - Adds login functionality, which includes reading cookie values with new package, js-cookie, making an API call for patron details, and showing a different UI to logged in users.
- Adds refresh login functionality, which is used when a cookie's accessToken has expired and the server responds to a request for patron details with a 401. It attempts to refresh the token and, if successful, refetches the patron's details.
- Adds the desktop search form to the
Headercomponent with theSearchButtonandSearchFormcomponents. - Refactors
SearchButtonandSearchFormto implement the mobile search form. - Adds the mobile navigation menu for the
Headercomponent withMobileNavandMobileNavButtoncomponents. - Adds the mobile login menu for the
Headercomponent. - Adds React context for the
Header's patron state data throughHeaderContextandHeaderProvider. - Better namespacing for Header-only components.
- Sets Header Auth links for production and development environments.
- Adds the
EncoreCatalogLogOutTimerfunction to keep track of the patron's current site and when they should be logged out of Encore/Catalog after a timeout period. - Uses legacy SVG icons for parity with the existing
Headercomponent.
- Adds
Tooltipcomponent. - Adds the basic
FooterReact component and documentation. Uses "legacy" SVG icons in theFootercomponent for social media icons. - Adds @chakra-ui/focus-lock packages to dependencies and peerDependencies.
- Adds the
useCloseDropDownhook to manage closing dropdown-like components through clicks outside of it and by pressing the escape key. - Adds the
react-gapackage to send Google Analytics events in theHeadercomponent.
- Updates the
onClickevent type for thePaginationlinksonClickfunction. - Updates the
Linkcomponent'sonClickevent type. - Makes small, clarifying update to
Color Modestory in Storybook.
- Fixes the styling for the
Imagecomponent in theHero"secondary" variant.
- Adds new color values under ui:
bg.default,bg.hover,bg.active,border.default,border.hover,typography.heading, andtypography.body.
- Adds new colors values under ui.gray:
xxxx-darkandxxx-dark.
- Adds UI fills colors for dark mode in the codebase and also exported in the
useNYPLThemehook. - Adds an optional
panelMaxHeightprop to theAccordioncomponent that determines the height of the panel and displays a scrollbar if content exceeds it.
- Updates color value for
xx-dark. - Updates the style of the TOC on the
Style Guidepages to match the style of the TOC on the component pages. - Updates the
Templatecomponents to use CSS grid instead of flexbox. - Updates the
Templatedocumentation with the new pattern for using individualTemplatecomponents that go above the mainTemplateContentcomponent. - Updates the
Placeholdercomponent's CSS to better display in theTemplatecomponents. - Updates how HTML attributes are passed down in the
Imagecomponent to the HTMLimgelement. - Updates the
Accordionso that its panel content only renders when theAccordionis open.
- Updates border color in the
Descriptionvariant of theListcomponent. - Updates how options are passed to the
SearchBarcomponent for its internalSelectcomponent. - Updates how style props are passed to the
Linkcomponent when using with third-party libraries, such as React Router. - Updates the layout of the
Imagein theHero"secondary" and "fiftyFifty" variants for mobile and desktop.
- Adds the
isLazyprop to theImagecomponent which is set tofalseby default.
- Updates the following components to use React's
forwardRefwrapper function to pass along refs to the correct DOM element. This is for third-party packages and components such as Chakra'sTooltipto work correctly.Accordion,Breadcrumbs,Button,ButtonGroup,Card,ComponentWrapper,FieldSet,Form,SimpleGrid,Heading,HelperErrorText,Hero,HorizontalRule,Icon,Image,Label,List,Logo,Modal,Notification,Pagination,ProgressIndicator,SearchBar,SkeletonLoader,SkipNavigation,Slider,StatusBadge,StructuredContent,Table,Tabs,Template,TemplateAppContainer,Text,VideoPlayer.
- Updates
padding-leftandpadding-rightstyle properties topadding-startandpadding-end, respectively. Updatesmargin-leftandmargin-rightstyle properties tomargin-startandmargin-end, respectively. These changes apply to inline CSS, shorthand Chakra style prop syntax, and Chakra theme file syntax. Note thatmargin-start/endandpadding-start/endget converted tomargin-inline-start/endandpadding-inline-start/endrespectively by Chakra UI. - Updates the
Iconcomponent to include variants for legacy versions ofAccount(filled and unfilled),Facebook,Instagram,TwitterandYouTube. - Updates the
Iconcomponent to include variants forWarning(filled and oultine).
- Removes the packages
@mdx-js/reactandbabel-loadersince they are not needed by Storybook.
- Exports
ColorCard.
- Updates the
Iconcomponent to include variants foractionCheckCircleFilled,actionRegistration,decorativeEnvelope,decorativeLibraryCardanddecorativeShoppingBag. - Updates the docs for the
ColorsStyle Guide to include additional data related to contrast and WCAG compliance. - Updates the
CheckboxandRadiocomponents to useui.gray.darkfor the default border color. - Updates Storybook packages.
- Fixes
useNYPLBreakpointshook so it internally controls its own state. This eliminates server/client rendering issues on its initial load.
- Adds the
useNYPLBreakpointshook. This hook internally uses Chakra'suseMediaQueryhook to get the current responsive media query breakpoint. - Adds
ui.gray.xx-darkto the color palette. - Adds npm packages useful for lazy loading images in the
Imagecomponent. - Adds text case styles for
Textcomponent. - Exports
ColorModeScript,cookieStorageManager,localStorageManager,useColorMode, anduseColorModeValuefrom Chakra UI for consuming application usage. - Adds a "Color Mode" documentation page in Storybook.
- Adds
ui.whiteas default background color toCheckboxandRadiocomponents. - Adds text case styles for
Headingcomponent
- Updates the
Logocomponent to include a variant forMLN Color. - Updates the
Iconcomponent to include variants forFacebook,Instagram,Tumblr,TwitterandYouTube. - Updates the
Iconcomponent to include variants forBuilding,Exit,Locator,PowerandSettings. - Updates to Storybook version 6.5.
- Explicitly sets the default color mode value to
"light". - Updates how the
styles.scssandresources.scssfiles are organized and compiled so that they can be imported in any tech stack. - Updates the docs for the
Tablecommponent to remove the example that does not include column headers. - Updates the
Button,SelectandTextInputcomponents to use NYPL standard minimum height in mobile viewport. - Updates the
SearchBarcomponent to change how the width of the internalSelectcomponent is handled.
- Fixes the styles for the sub-labels in the
DatePickercomponent.
- Adds prop validation for the
TextInput"number" type for theminandmaxprops. - Adds
minandmaxprop value validation for theSlidercomponent, including in the "range" mode.
- Updates the
TemplateAppContainer's responsive styles for its sidebar component. - Updates how the
Radio's label is hidden when theshowLabelprop is set to "false" to fix the "no label" accessibility issue. - Updates the
Logocomponent to include new variants forNYPL Text Only. - Updates the
Card's full-click functionality styling for its wrapper element. - Updates how the
Card'sImagecomponent is displayed in the mobile view; sizes and aspect ratios are maintained instead of always displaying as 100% width. - Updates hover style to add right border color on hover for
Selectelement. - Updates the
Tablecomponent to be responsive for a mobile viewport. - Updates the
Tablecomponent to make thecolumnHeadersprop required.
- Fixes the border color for the
Accordionbutton. - Fixes a false warning message logged from the
Tablecomponent. - Fixes the background color for the
Togglebutton.
- Adds
noSpaceprop to theHeadingcomponent. - Adds validation for equal headers and data column to the
Tablecomponent. - Adds
className,helperTextStyles, andshowHelperInvalidTextprops to theComponentWrappercomponent.
- Updates the
fontSizeandpaddingattributes in the single variant of theAccordioncomponent. - Updates all QA urls from Tugboat QA to Vercel.
- Updates the
Logocomponent to include new variants forApple App Store,Clever BadgeandGoogle Play. - Pins the Chakra UI "react" and "system" packages to a certain range since Chakra v2 uses React 18 and creates backwards compatibility issues.
- Updates buttons setup as icon only to get the same hover styles as
secondarybutton in theButtoncomponent. - Updates and refactors the
Checkbox,Radio,Select,Slider,TextInputandTogglecomponents to use theComponentWrappercomponent for similar DOM structure. - Updates how
CheckboxGroupandRadioGrouphandleCheckboxandRadiocomponents whenisFullWidthis true and there is JSX as labels.
- Fixes how
Images are rendered with a non-defaultaspectRatiovalue and with acaptionvalue or acreditvalue or both. - Fixes the extra margin added by the
SkipNavigationcomponent. - Updates various component implementations in Storybook documentation pages to remove inadvertent console errors and warnings.
- Fixes sizing in the
Cardcomponent for the "body" and "right" sections when theisAlignedRightActionsprop is set totrue. - Allows
Buttons in theButtonGroupto manage their ownisDisabledstate. - Fixes how the
onChangeprop is set inCheckboxso it only gets called once per rendering.
NOTE: This version number was previously released in 2019 and is marked as deprecated in npm. The next version bump from 1.0.0 is 1.0.2.
This is the first stable release of the NYPL Reservoir Design System! We've been looking forward to this moment for over two years.
- Updates all links throughout the documentation to point to the new production URLs.
- Adds
max,maxLength,min, andonClickprops to theTextInputcomponent. - Adds the
SkipNavigationcomponent and adds this component inside theTemplateAppContainercomponent. TheSkipNavigationcomponent renders accessible links to the main content of a page and accessibility information on NYPL.org. - Adds the
ButtonGroupcomponent forButtonlayout.
- Updates how styles are passed down to internal components in
Card,Checkbox,CheckboxGroup,ComponentWrapper,DatePicker,Hero,Notification,Pagination,Radio,RadioGroup,SearchBar, andSlider. This is based on removing theadditionalStylesprop and passing down styles to the__cssprop. - Updates how the
idis passed in theDatePicker's customTextInputcomponent. - Updates how some prop values are passed. Instead of using a Typescript enum object, a Typescript type with the string literal values is used. This still restricts the accepted values for certain props. The enum to string literal type conversion includes the following variables:
AccordionType,BreadcrumbsTypes,ButtonTypes,DatePickerTypes,FormGaps(deleted),GridGaps,HeadingSizes,HeadingLevels,HeroTypes,IconAlign,IconTypes,IconRotationTypes,IconColors,IconSizes,IconNames,LinkTypes,ListTypes,LogoColors,LogoSizes,LogoNames,NotificationTypes,SelectTypes,LabelPositions,SkeletonLoaderImageRatios,StatusBadgeTypes,StructuredContentImagePosition,TextSizes,TextInputTypes,TextInputFormats,TextInputVariants,ToggleSizes,VideoPlayerTypes,VideoPlayerAspectRatios, andLayoutTypes. - Updates the spacing for caption and credit text from
margin-bottomtomargin-topinImagecomponent - Updates how the
DatePickerandSlidercomponents internally useTextInput. - Updates how the
Paginationcomponent internally usesLink. - Updates how the
Tabscomponent internally usesButton. - Updates how images are passed to the
Herocomponent. Instead ofimageAltandimageSrcprops, now an object must be passed to theimagePropsprop. - Updates the values for the
nameprop for theIconandLogocomponents. - Updates the
Tablecomponent to allow JSX elements to be rendered in the data cells.
- Removes the
additionalStylesattributes from theBreadcrumbs,Button,Heading,HelperErrorText,Icon,Link,List,Logo,Select,TextInput, andTogglecomponents. - Removes
getVariantandgetStorybookEnumValueshelper functions. - Removes all Typescript enum objects in favor of string literal types.
- Remove the bottom margin attribute that is applied to the parent element for the
Selectcomponent. - Removes the
attributesprop from:Button,Link, andTextInputcomponents.
- Adds two patterns for rendering the updated
Modalcomponent. This is still an ongoing work-in-progress as theModalgets finalized but it is now using Chakra under-the-hood. - Adds
@chakra-ui/storybook-addonso stories automatically pick up the Chakra-based NYPL theme.
- Updates React and React DOM to version 17.
- Updates Chakra packages
@chakra-ui/reactand@chakra-ui/system. - Updates the
HelperErrorTextstyling to correctly display when used with aSelectelement with alabelPositionof inline.
- Removes the following packages:
@storybook/addon-queryparamsandreact-router-dom.
- Updates storybook URL from /reservoir/v0_26 to /reservoir/v0.]
- Updates the
Header's bottom navigation links to be underlined and red when hovered.
- Adds updated package-lock file to fix bad installations.
- Exports the
useCarouselStylesanduseWindowSizehooks and adds documentation for all hooks in Storybook. - Adds additional semantic design tokens from
fontWeightsandfontSizesto theuseNYPLThemehook. - Adds a warning if a required
idprop is not passed to one of the "Form Elements":Button,Checkbox,CheckboxGroup,DatePicker,Fieldset,Form,Label,ProgressIndicator,Radio,RadioGroup,SearchBar,Select,Slider,TextInput,Toggle. - Adds the
isRequiredprop to theLabelcomponent. - Adds the
labelPositionprop to theSelectcomponent, so that the label can be styled inline with the select input. - Adds Chakra's "Style Props" functionality to every Reservoir component. For composed components, such as the
SearchBarcomponent, these style props are passed to wrapper element. This update also updates the snapshot tests for every component. - Adds the functionality to pass all valid HTML attributes to a Reservoir component, such as
data-*props. - Adds semantic design tokens for
spacingtheme object. - Adds the
isAlignedRightActionsprop to theCardcomponent to renderCardActionscomponents to the right of the main content area. This only works for theCard's row layout. - Adds styles to target native HTML basic elements inside the
StructuredContentcomponent. - Adds
Reservoirbranding to Storybook.
- Updates the hex color value for
ui.gray.light-cool,ui.disabled.primaryandsection.blogs.primary. - Updates the default background color used in the
Accordioncomponent. - Updates the default background color used in the
Herocomponent. - Updates the background color used in the
SkeletonLoadercomponent. - Updates the background color used in the
VideoPlayercomponent. - Updates the background colors used in the
Tabscomponent. - Updates the colors for "secondary" and "pill" variants of the
Buttoncomponent. - Updates the color values used in the
disabledstate for theCheckbox,Radio,Select,Slider,TextInputandTogglecomponents. - Updates the
Checkboxcomponent to use "3px" for the border radius. - Makes the id prop required for all "Form Elements".
- Updates how the
Requiredtext in theLabelandFieldsetcomponents is displayed. Instead of floating to the right of the label and legend elements, it is now displayed inlined as(Required). - Renames the
optReqFlagprop toshowRequiredLabelin theCheckboxGroup,Fieldset,RadioGroup, andSlidercomponents. - Renames the
showOptReqLabelprop toshowRequiredLabelin theDatePicker,Select, andTextInputcomponents. - Uses the design token "text.caption" variable for the
Notification's font size. - Updates the styling for the
HelperErrorTextto be consistent for all components that use it - Refactors the
Checkbox,CheckboxGroup,ComponentWrapper,DatePicker,Fieldset,Label,Radio,RadioGroup,Select,Slider,TextInput, andToggleto better use the updatedHelperErrorTextstyling. - Renames the
Card'scenterprop toisCenteredandborderprop toisBordered. - Renames the
SkeletonLoadercomponent'sborderprop toisBordered. - Refactors the DS
RadioGroupcomponent so it internally implements Chakra'sRadioGroupcomponent rather than theuseRadioGrouphook. The "uncontrolled" version of Chakra'sRadioGroupis not working and will be investigated in the future. It is recommended to use the controlled component pattern. - Updates the
Fieldsetcomponent to render the "Optional"/"Required" text in thelegendelement as pseudo CSS in the::afterrule. - Passes the
isRequiredprop in theRadioGroupandCheckboxGroupto theFieldsetwrapper component. - Updates the
focusstyles for theRadio,SelectandTextInputcomponents. - Updates the references of the
<dl>element from "Definition" to "Description", as that's the official name in HTML5. This affects theListelement and itsListTypes.Descriptionenum value. - Updates styles for
React Datepicker's calendar popup in theDatePickercomponent. - Updates storybook URL from /storybook-static/ to /reservoir/v0_26.
- Updates all references to "design system" in the Storybook documentation to include "Reservoir" in the name of the design system.
- Updates language on the
Welcomepage.
- Removes the default
Optionaltext displayed in theLabelandFieldsetcomponents. - Removes the
optReqFlagprop in theLabelcomponent. - Removes the default autogenerated id for all components, as well as the
uuidpackage. - Removes the
HorizontalRule'sheightandwidthprops from its prop interface in favor of Chakra's style props; the default values are still set forheightandwidth.
- Fixes how the
Buttoncomponent gets rendered inside theFormandFormFieldcomponent layout. - Fixes how the
Selectcomponent is controlled in theSearchBarcomponent.
- Adds a
contentIdprop to theTemplateAppContainercomponent and adds anidprop to theTemplateContentcomponent. The default value of theseids are both set to "mainContent" and it will render as an attribute on themainHTML element. This is used as the target for the skip navigation link in consuming applications. - Adds an
Accessibility Guidesection to Storybook with a "Skip Navigation" page. - Adds the
isFullWidthprop to theCheckboxGroupandRadioGroupcomponents. This sets the wrapper element to be full width for labels that need to span its container. - Adds an optional key –
accordionTypeto theAccordion'scontentDataprop, which allows users to switch the background color of theAccordion's button. - Created new
LayoutTypesenum for row and column layouts. - Adds the value "Default" to the
IconSizesenum.
- Updates Storybook's sidebar categories and documentation.
- Updates the
Image's caption font size to "12px" (text.tag). - Updates the
Checkbox's andRadio'slabelTextprop to accept strings and JSX Elements. - Updates the
Toggle's internal styling for the default and small sizes. - Updates the
Accordionbutton's background color when expanded, adds a border color when hovered over, and adjusts the padding. - Updates the
CardImage's margin bottom in the row and column layouts for mobile to be the same. - Updates the
CardImageto have width 100% on mobile regardless of size. - Updates all the console warnings with consistent NYPL branding prefix label.
- Renames the
AccordionpropcontentDatatoaccordionData. - Renames the
BreadcrumbspropcolorVarianttobreadcrumbsType. - Renames the
CardpropcentertoisCentered. - Updates the
Cardproplayoutto use theLayoutTypesenum instead ofCardLayouts. - Updates the
CheckboxGroupproplayoutto use theLayoutTypesenum instead ofCheckboxGroupLayoutTypes. - Renames the
HeadingpropdisplaySizeto `size. - Renames the
HeadingDisplaySizesenum to `HeadingSizes. - Renames the
HeropropimagetoimageComponent. - Renames the
ImagepropimageSizetosize. - Renames the
NotificationpropcenteredtoisCentered. - Updates the
RadioGroupproplayoutto use theLayoutTypesenum instead ofRadioGroupLayoutTypes. - Internal updates to the
SearchBarcomponent based on updates from theSelectandTextInputcomponents. - Renames the
SelectproptypetoselectType. - Updates the
SkeletonLoaderproplayoutto use theLayoutTypesenum instead ofSkeletonLoaderLayouts. - Renames the
StructuredContentImagepropimageSizetosize(this component is based on theImagecomponent). - Internal updates to the
StructuredContentcomponent based on updates from theImageandHeadingcomponents. - Renames the
TabspropcontentDatatotabsData. - Renames the
TextpropdisplaySizetosize. - Renames the
TextInputpropvarianttotextInputType. - Updates the
Cardimage-related props into one main prop namedimageProps. This new prop contains the following properties: alt, aspectRatio, caption, component, credit, isAtEnd, size, and src. - Updates the
HeropropimagetoimageAltandimageSrc. Internally, anImagecomponent is created. - Renames the
Imagecomponent propsimageAspectRatiotoaspectRatio,imageCaptiontocaption, andimageCredittocredit. - Updates the
StructuredContentimage-related props into one main prop namedimageProps. This new prop contains the following properties: alt, aspectRatio, caption, component, credit, position, size, and src. - Renames the
ToggleSizes.tsxfile toToggleTypes.tsx. Updates the values fromLargeandSmalltoDefaultandSmall. - Minor update to the logic for the
ProgressIndicatorsizing prop and styles.
- Fixes bug where the Next button in
Paginationwould navigate to the previous page. - Fixes the alignment of the first link in the
Paginationcomponent. - Fixes the
Breadcrumbs' SVG arrow icon fill color for the "Blogs" variant. - Fixes the margin right value for list items in the
Listcomponent for the inline style. - Fixes bug in the
Selectcomponent where the SVG arrow hides when the component is focused. - Fixes the extra bottom spacing in the
HeroTypes.CampaignHerovariant for the mobile view. - Fixes the
Slidercomponent so it doesn't cause a stack overflow client-side issue when updating the slider thumbs through the keyboard arrows. The values are now returned through Chakra'sonChangecallback instead of theonChangeEndcallback.
- Removes the
CardLayouts,CheckboxGroupLayoutTypes,RadioGroupLayoutTypes, andSkeletonLoaderLayoutsenums. - Removes the
CardTypes.tsx,CheckboxGroupLayoutTypes.tsx, andRadioGroupLayoutTypes.tsxfiles.
- Adds
Educationsection colors to the color palette theme object. - Adds a
currentPageprop to thePaginationcomponent, a value that updates the selected page programmatically without the user explicitly requesting it.
- Removes the margin from the global
.nypl pCSS rule. - Updates the top and bottom margin of the
List'sUnorderedandOrderedtypes. - Updates the
Notification's icons to be decorative by default. - Updates the default placeholder value for the
SearchBar'sTextInputcomponent. - Updates the
SearchBar'stextInputPropsprop object to not require theplaceholderproperty. - Updates the
Logocomponent to include new variants forFirstBookandOpen eBooks. - Updates the border and text styles for the
Selectcomponent. - Updates the
Breadcrumbscomponent to inlcude anEducationcolor variant. - Updates the
Iconcomponent to include theEducationcolor values. - Updates the default font stack to fix a typo that was disabling
sans-serifin the stack. - Removes the
.nypl-dsCSS class from the base SCSS file, from theTemplateAppContainercomponent, from the Storybook configuration, and from the entire repo. - Moves the base styles from the SCSS global file to the Chakra theme global JS object.
- Updates the label font size for the
RadioandCheckboxcomponents to be "label.default".
- Fixes the styles for the
Sliderto better accomodate the slider thumbs and the width of the container. - Updates the alignment of the
Notifications's dismissible icon. - Fixes the border and padding from the
fieldsetHTML element by removing it. - Fixes alignment for long labels in the
CheckboxandRadiocomponents. - Fixes the line height for long labels in the
Togglecomponent.
- Updates the
Logocomponent to include new variants forBPL,Clever,LPA,MLN,QPL,Schomburg,SimplyEandTreasures. - Updates font size to "12px" and top margin to "4px" for
HelperErrorTextcomponent. - Updates font size to "14px" for
TextInputcomponent. - Adds an
aria-labelattribute to theNotificationcomponent to use with itsasideHTML landmark element. Added an "Accessibility" section in theNotificationStorybook page to note that this component should not be used within aheaderorfooterHTML landmark element. - Updates the
Notificationcomponent to handle link color inside the content area, better styling for centering and the dismissible variation, and updated background color for the "Announcement" and "Warning" types. - Updates a log message in the
Iconcomponent to be more descriptive. - Updates the mobile styles for the image in the
StructuredContentcomponent. - Updates the prop type for the "Definition"
Listtype so DOM elements can be passed in the definition.
- Updates the bottom margin of the
Selectin theSearchBarso that the helper text has standard gap between the main form components and itself. - Updates how
TabListandTabPanelsare returned in theTabscomponent so no false log messages are consoled. - Updates
Listcomponent styling for inline.
- Exports Chakra's
FlexandSpacercomponents. - Adds
TemplateAboveHeadercomponent in the set of "template" components. - Adds the
aboveHeaderprop to theTemplateAppContainercomponent to render aTemplateAboveHeadercomponent immediately before theTemplateHeadercomponent. - Adds the
additionalStylesprop to theSelectcomponent.
- Renames the
Formcomponent's"spacing"prop to"gap"to be consistent with theFormRowandFormFieldcomponents. - Renames the
FormSpacingenum toFormGaps.
- Passes an
onChangeprop to theSelectcomponent inside theSearchBarthrough itsselectPropsprop. - Adds snapshot tests for the
Tabscomponent and better checks to warn the user that theTabsis missing data if data wasn't passed as props or children. - Updates the
Formcomponent to warn developers when a child component in theFormRowcomponent is not aFormField. - Adds an
onSubmitprop to theFormcomponent. - Adds the
renderHeaderElementprop to theTemplateAppContainercomponent. This prop is used to control whether theTemplateAppContainercomponent should render its own<header>HTML element through itsheaderprop, or let the user pass in their own component that renders the<header>HTML element. - Updates the
FieldsetandRadioGroupso thechildrenprop is declared throughReact.PropsWithChildrenrather than in their respective prop interfaces. - Adds snapshot tests for the
Accordioncomponent, as well asidprops to the components within theAccordionso snapshot tests pass. - Passes an
idto theIconin theSelectcomponent. - Adds snapshot tests for the
Selectcomponent.
- Fixes
idpropagation issues in theSearchBarcomponent and its children DS components. - Fixing
Breadcrumbsrelated logging issue with a CSS pseudo-selector and setting thearia-labelto "Breadcrumbs". Adding an accessibility test that should fail when more than oneBreadcrumbscomponent is rendered on a page since that landmark should only be rendered once on a web page. - Exports the
FullDateTypeinterface related to theDatePickercomponent. - Fixes and removes bad console logs from the
PaginationandListcomponents. - Fixes auto-generated
ids in theTabscomponent. - Fixes the Figma link for the
Herocomponent. - Fixes
Cardcomponent bug for passing styles to theCardHeadingcorrectly. - Fixes the
Tablecomponent so that a custom header text color of white does not visually hide row headers on a white background.
- Updates the following packages: multiple
@storybook/...packages,autoprefixer,eslint-plugin-storybook,husky,lint-staged,semantic-release-slack-bot,storybook-addon-designs. - Removed the following packages:
postcss,pretty-quick. - Added
@chakra-ui/react,@chakra-ui/system,@emotion/react,@emotion/styled, andframer-motionas "peerDependencies". - Updates the node version in Github Action workflows from Node v12 to Node v14.
- Updates how
/dist/resources.scssis created through gulp.
- Adds the
Logocomponent. - Adds the
noBrandButtonTypeboolean prop to theSearchBarcomponent to render theNoBrandButtonvariant style. - Adds element-specific design tokens for
fontSizesandfontWeights. - Adds the
StructuredContentcomponent. - Adds the
additionalImageStylesandadditionalFigureStylesprops to theImagecomponent to specifically target theimgelement's style and thefigureHTML elements. - Adds the
Tablecomponent.
- Completely removes the
CardEditionandInputcomponents and related files and references. - Removes all references of the
BEMCSS pattern. - Removes all references to logos from the
Iconcomponent. - Removes passing in text to the
HelperErrorTextcomponent as children. Now, thetextprop is used to render its text. - Renames the
SearchBar'shelperErrorTextprop tohelperTextto be consistent with other components.
- Updates the
Form,HorizontalRule,Imagecomponent by removing the native HTML attributes as props. This sets the props allowed to the list of props declared in their own files. - Minor change to the
Notification's heading component so it adds a proper id toNotificationHeading. - Updates the
Headingcomponent to use the DSLinkcomponent rather than Chakra'sLinkcomponent. - Updates the style of links rendered in the
Headingcomponent so they are styled as standard links. The only exception is for links used in theCardcomponent for the full-click functionality feature. Otherwise, links inCardheadings are styled as standard links. - Updates the
SearchBarcomponent to now be implemented with theComponentWrappercomponent. - Removes the
ButtonTypes.SearchBarvariant style for theButtoncomponent. The style object is now set and passed directly to theButtoncomponent in theSearchBarcomponent through theadditionalStylesprop. - Renames
additionalStylesprop toadditionalWrapperStylesin theImageComponent. - Updates the label text style in the disabled state of the
Togglecomponent. - Updates the
Cardcomponent so it gives a bottom margin to theImagecomponent when theimageAspectRatioprop is set toImageRatios.Original. - Updates the
TextInputcomponent to use a white background forstatic,errorandfocusstates. - Updates
Selectcomponent to use a white background forstatic,errorandfocusstates. - Updates the
Templatecomponent to uses(16px) spacing on the left and right sides of the main content area. - Updates the
HelperErrorTextcomponent to allow HTML to be passed in as a string or HTML. - Updates how the
HelperErrorTextcomponent renders text in the following components:Checkbox,CheckboxGroup,ComponentWrapper,DatePicker,Radio,RadioGroup,SearchBar,Select,Slider,TextInput,Toggle,VideoPlayer. - Updates the
HorizontalRulecomponent to use "100%" as the default value for thewidthprop.
- Fixes the styling of custom anchor elements when passed as a child in the
Linkcomponent. - Allows the
TemplateAppContainerandTemplateFootercomponents to use therenderFooterElementprop. This istrueby default so it renders an HTMLfooterelement. If a custom footer component that renders its own HTML<footer>must be used, then settingrenderFooterElementto false will not render two nestedfooterelements. - Fixes the Storybook
levelprop value for theHeadingcomponent so it updates the component. - Removes wrapper divs around custom image elements used in the
Cardcomponent. Also passes the aspect ratio asImageRatios.Originalwhen the custom image element is passed to theCardcomponent.
- Adds
embedCodeprop toVideoPlayercomponent. - Adds export statements for
ProgressIndicatorSizesandProgressIndicatorTypesenums toindex.ts. - Adds
ExtraSmallandExtraExtraSmallsize variants to theImagecomponent. - Adds
ExtraSmallandExtraExtraSmallsize variants forCardImagein theCardcomponent. - Adds
AlertNotificationImportanticon toIconcomponent. - Adds
Togglecomponent. - Adds
xxxs(2px) spacing option to DS design tokens. - Adds
externalvariant toLinkcomponent.
- Changes category for
Tablecomponent fromBasic ElementstoPage Layout. - Updates the background color for the
Locationsvariant in theBreadcrumbscomponent fromsection.locations.secondarytosection.locations.primary. - Updates the
Notificationcomponent to show theAlertNotificationImportanticon for theStandardvariant. - Reduces the bottom margin on labels and legends for form components from "16px" to "8px", or "s" to "sx" in Chakra-theme variables.
- Updates docs for Chakra
Gridcomponent to use theme object values rather than CSS variables. - Updates the spacing in the
Notificationcomponent to improve the alignment of the icon and text elements. - Updates the
Notificationcomponent to optionally display/hide theIconin the heading or content area. - Updates the
ComponentWrappercomponent to allow the internalHelperErrorTextcomponent to get set in the invalid state. Also added tests for this component.
- Fixes two bugs in the
Slider: (1) unable to call theonChangefunction when it is not passed, and (2) fixing the default array value for the range slider so it mounts properly. - Updates the
Selectcomponent's controlled state so that an initial emptyvalueprop is acceptable.
- Removes
<=12.22from node engine inpackage.jsonto reduce installation issues.
- Adds export statements for
ProgressIndicatorandSlidercomponents toindex.ts. - Adds
Blogsvariant toBreadcrumbscomponent. - Adds the
placeholderprop to theSelectcomponent.
- Adds "(Required)" text to the placeholder in the
SearchBarcomponent whenisRequiredis true.
- Updates the Github Action for the Github Pages deployment to use node 12 instead of the default node 16. This caused issues since we now set the node engine to
<=12.22.
- Adds the
ProgressIndicatorcomponent. - Adds documentation for using
NYPL Design Tokens. - Adds the
ActionHelpDefault,ActionHelpOutlineandActionLaunchicons to theIconcomponent. - Adds the DS
Slidercomponent based on the ChakraSliderandRangeSlidercomponents. - Adds the
ButtonTypes.NoBrandvariant to theButtoncomponent. - Adds the
additionalStylesprop to theBreadcrumbscomponent.
- Updates the organization of SCSS files by deleting some files and combining others.
- Updates
@chakra-ui/reactto version 1.7.1 and@chakra-ui/systemto version 1.8.1. - Updates the
TextInputcomponent to now havedefaultValueandstepprops. - Updates
Latest Versionnumber forImage,NotificationandPaginationcomponents. - Removes the Storybook "Knobs" addon.
- Updates the margin for labels in the
DatePickercomponent when it is in the "date range" state. - Updates the
DatePickercomponent to have proper form spacing when in the "date range" state. - Updates the
Tabscomponent to comply with linting rules -- no functional or visual changes were made. - Removes the
alignTextprop from theNotificationcomponent. Storybook was incorrectly displayingalignTextas an available prop.
- Exports components and variables that were initially missed when they were added:
ColorVariants,Fieldset,IconAlign,StatusBadgeTypes, - Fixes
SearchBarby passing necessary props down to itsTextInputthrough thetextInputPropsprop. - Fixes
DatePickercomponent unit tests. - Removes the
showLabelprop from theSearchBarcomponent to prevent confusion. Labels for theSelectandTextInputcomponents are never shown but are added through thearia-labelattribute.
- Updates the breakpoint CSS variable names by adding the
--nyplprefix and the SCSS variables by adding the$nyplprefix. Updates references throughout the codebase. - Changes the
Button'sdisabledprop toisDisabled. - Updates npm packages in
package.json. Removescpy-cli,react-uid,react-is,stylelintand related packages, andts-loader(already added through TSDX). Updates other packages such assass-loader,prettier,jest,jest-axe, and the majority of Storybook addon packages.
- Deprecates the
Inputcomponent. TheInputcomponent will be removed from the NYPL Design System React Library in the first release of January 2022. - Deprecates the
CardEditioncomponent. TheCardEditioncomponent will be removed from the NYPL Design System React Library in the first release of January 2022.
- Adds the
ImageRatios,ImageSizes, andImageTypesenums. - Composes the DS
Fieldsetcomponent with Chakra. This always renders alegendelement as its first child but it can be optionally hidden from the screen. - Adds the ability to make an entire
Cardcomponent clickable with Chakra'sLinkBoxandLinkOverlaycomponents. Links in theCardActionscomponent can still be accessed in this state by clicking with the mouse or tabbing and pressing "enter". - Adds new file type SVG files to use in the
Iconcomponent: Audio, Doc, GenericDoc, Image, PDF, Spreadsheet, Video. - Adds
ActionCheckCircleSVG file to use in theIconcomponent.
- Updates the Github Action for the changelog reminder.
- Updates the
Checkboxcomponent with an "indeterminate" state through theisIndeterminateprop. - Updates the
CheckboxGroupcomponent story with an "indeterminate" state example. - Updates the
CheckboxGroupandRadioGroupcomponents to use theFieldsetcomponent. - Updates the
HelperErrorTextandTextInputcomponents with addedadditionalStylesprop. - Updates the
ButtonStyle Guide documentation. - Updates the
IconographyStyle Guide story documentation. - Updates the
Buttonfont weight to "regular".
- Fixes nondeterministic unit test in the
DatePickercomponent. - Version of latest
Listcomponent release in its storybook page. - Adds validation to the
heightprop in theHorizontalRuleso percentage values are not used. If a percentage value is used, the default "2px" value is set. - Fixes styling issues for the
Notificationdismissible button. - Fixes
SearchBarmobile styling for theSelect,TextInput, andButtoncomponents. - Fixes
SearchBarfocus flicker when theSelectcomponent is selected.
- Updates the
Notificationcomponent to fix the custom icon alignment. - Adds the
titleprop to theIconcomponent to render atitleHTML element for accessible SVG icons. - Updates the default font size of the
Buttoncomponent to"-1"(14px) for all variants except theLinkvariant. Removes thebemfunction from internal use and makes it clearer that theButtonGroupChakra component is exported in the Design System. - Updates the
errorTextprop toinvalidTextfor theCheckboxcomponent. - Composes the DS
Paginationcomponent with Chakra. Removes the BEM-related props and updates thecurrentPageprop toinitialPage. The current selected page is now kept in state inside thePaginationcomponent and returned to the user throughgetPageHreforonPageChange. This also adds better aria attributes to the list inside thePaginationcomponent. - Composes the DS
Imagecomponent with Chakra styling and updates allImagereferences in other DS components. Theattributesprop and the BEM related propsblocknameandmodifiershave been removed. Adds the following new props:additionalStyles,component,imageAspectRatio,imageSize,imageType. - Composes the DS
Cardcomponent with Chakra. BEM related propsmodifiersandblocknamehave been removed. Replaces theCardImageRatioswithImageRatios. Removes theCardImageSizesenum. - Composes the DS
DatePickercomponent with Chakra. Adds more tests, documentation, and examples. This component now uses theFieldsetcomponent for the date range type, and betterFormcomponents for layout. Prop name changes:dateRangeis nowisDateRangeandrequiredis nowisRequired. BEM related propsmodifiersandblocknamehave been removed. The "Required"/"Optional" text in the date range legend can now be hidden with theshowOptReqLabelprop. - Composes the DS
SkeletonLoaderwith Chakra'sSkeletoncomponent. BEM related propmodifiershas been removed. Chakra's defaultSkeletonstyles have been updated with NYPL's theme. - Removes deprecated CSS variables. Now the DS repo only uses the CSS variables exposed by Chakra that contain the
--nyplprefix.
- Adds custom
useCarouselStyleshook for theTabsmobile carousel functionality. - Adds custom NYPL-theme radii values to use within Chakra, mostly for border radius values.
- Adds the
showHelperInvalidTextprop to form components to control displaying or hiding the content in theHelperErrorTextcomponent. - Adds
useNYPLThemehook for consuming applications to use NYPL DS values. - Adds the DS
ComponentWrapperhelper component for internal use. - Adds
useWindowSizehook for responsive styles and functionality. - Adds Chakra Migration Guide for version
0.25.0and greater.
- Updates the CSS vars name prefix to use
nypl. - Updates documentation in the README and updates the issue contribution template.
- Updates the following components to use the
showHelperInvalidTextprop:Checkbox,CheckboxGroup,DatePicker,Radio,RadioGroup,SearchBar,Select,TextInput,VideoPlayer.
- Composes the DS
Notificationcomponent with Chakra components. Removes theNotificationHeadingandNotificationContentcomponents as exports and are only used internally inNotification. Instead of children component,Notificationaccepts the heading and content values through thenotificationHeadingandnotificationContentprops, respectively. - Composes the DS
HelperErrorTextcomponent with Chakra. BEM related propsmodifiersandblocknamehave been removed. TheisErrorprop has been renamed toisInvalid. - Composes the DS
VideoPlayercomponent with Chakra. BEM related propmodifiershas been removed. - Composes the DS
HorizontalRulecomponent with Chakra. BEM related propmodifiershas been removed, as well as theattributesprop. - Composes the DS
Listcomponent with Chakra. BEM related propsmodifiersandblocknamehave been removed. ThenoStylingprop is now used for the no list style variant style.
- Updates the
Accordioncomponent to internally use Chakra components. - Adds DS
SimpleGridcomponent composed from Chakra'sSimplegridcomponent. - Adds DS
Textcomponent composed from Chakra'sTextcomponent. - Update the NYPL Colors with updated color names and values.
- Composes the DS
TextInputcomponent from Chakra'sInputandTextareacomponents. - Composes the DS
Selectcomponent from Chakra'sSelectcomponent. - Composes the DS
Herocomponent from Chakra's component. - Composes the DS
CheckboxGroupcomponent from Chakra'sCheckboxGroupcomponent. - Composes the DS "Template" components (
Template,TemplateHeader,TemplateBreakout,TemplateContent,TemplateContentPrimary,TemplateContentSidebar,TemplateFooter) from Chakra'sBoxcomponent for page layouts through children components. - Composes the DS
TemplateAppContainercomponent from Chakra'sBoxcomponent for page layouts through props. - Composes the DS
Linkcomponent with Chakra component and fixes theButtontype. - Exports Chakra's
GridandGridItemcomponents. - Composes the DS
Labelcomponent with Chakra component and updates the font size. - Composes the DS
StatusBadgecomponent from Chakra's component. - Composes the DS
Formscomponent using DS and Chakra components. - Composes the DS
Iconcomponent with Chakra'sIconcomponent. Added new props forIconsizing, alignment, name, and rotation. - Composes the DS
SearchBarcomponent from DSSelect,TextInput,Button, andHelperErrorTextcomponents. - Composes the DS
Breadcrumbscomponent from Chakra'sBreadcumb,BreadcrumbItemandBreadcrumbLinkcomponents.
- Updates spacing values to use NYPL spacing rather than "em"s.
- Updates the
SkeletonLoaderLayoutsenum values fromHorizontalandVerticaltoRowandColumn, respectively. - Updates the
CardLayoutsenum values fromHorizontalandVerticaltoRowandColumn, respectively. - Updates font size of the
legendelement used inCheckboxGroup,DatePickerandRadioGroup. - Updates the radius values through Chakra's theme object.
- Renames
HeadingDisplaySizes.tsxtoHeadingTypes.tsx.
- Integrates Chakra-UI into the codebase.
- Moved SCSS and CSS variable styles into a custom NYPL theme to extend Chakra's base theme.
- Adds
DSProvidercomponent to use the NYPL theme in consuming applications. - Exports Chakra's
Box,Center,Circle,Square,Stack,HStack, andVStackcomponents. - Composes the DS
Buttoncomponent from Chakra'sButtoncomponent. - Composes the DS
Headingcomponent from Chakra'sHeadingcomponent. - Composes the DS
Tabscomponent from Chakra'sTabs,TabList,Tab,TabPanels, andTabPanelcomponents. - Composes the DS
Radiocomponent from Chakra'sRadiocomponent. - Composes the DS
RadioGroupcomponent from Chakra'sRadioGroupcomponent. - Composes the DS
Checkboxcomponent from Chakra'sCheckboxcomponent. - Updates the
errorTextprop name toinvalidText.
- Removes the
color-classesSCSS mixin.
- Updates the development preview URL from the Netlify link to the Tugboat QA link.
- Adds
FormSpacingenum to DS exports. - Adds
utility_account_filled,utility_account_unfilled,utility_hamburgerandutility_searchicons toIconcomponent.
- Updates
General GuidelinesforButtons Style Guide.
- Fixes left padding on
CardwhenimageAtEndandborderare bothtrue.
- Renames original
Cardcomponents to beCardEdition.
- Adds the
DatePickercomponent. - Adds new
Cardcomponent. - Adds
spacingprop toFormcomponent to allow for spacing variations. - Adds Style Guide
Forms
- Exports
VideoPlayerAspectRatios. - Adds additional props for the
DatePickercomponent based on its TAD Addendum section. - Adds Tugboat QA configuration for PR preview deployments to replace Netlify.
- Updates the
DatePicker,TextInput,Select, andLabelcomponents to pass an optionalshowOptReqLabelprop to conditionally render "Required"/"Optional" in the label text.
- Fixes Accordion FAQ Storybook example rendering bug.
- Adds TSDX as the bootstrapping tool to add opinionated configurations.
- Adds an
/example/directory through TSDX with an small playground app. - Snapshot testing through
react-test-rendererand Jest. - Typescript documentation file to be use as a development guide.
- Typescript documentation for
enumvariables in the TYPESCRIPT file. - Adds
SkeletonLoaderLayoutsandSkeletonLoaderImageRatiosenums to DS exports. - Adds heading, description and helper text to
VideoPlayercomponent. - Adds
@storybook/addons-jestplugin to display Jest/React Testing Library unit tests in a Storybook tab.
- Updates Style Guide
Spacing. - Updates
Herocomponent to includeCampaignvariant. - Updates
Herostories to use MDX format. - Updated warnings for too few or too many option children for the
Selectcomponent. - Updates the README to include information on the production, development, and "preview" Storybook documentation instances.
- Removes a custom SCSS breakpoint in
_Breadcrumbs.scssin favor of mobile-first style rules. - Replaces Mocha, Chai, Sinon, and Enzyme for Jest and React Testing Library for unit testing.
- Replaces webpack with rollup through TSDX.
- Updates npm scripts to use TSDX for internal commands.
- Replaces lodash with own functions.
- Minor updates to Github Actions.
- Adds PostCSS/autoprefixer to Rollup workflow instead of the default scss minifier.
- Fixes the
bemutility function so that it doesn't crash Storybook whenever themodifiersControls prop option is empty.
- Removes the
storybook-staticdirectory from.gitignoreso that the Github Actions deploy job can work properly.
- Adds
Formcomponent. - Adds
Notificationcomponent. - Adds Style Guide
Buttons. - Adds
VideoPlayercomponent. - Adds the ability to render a
textareaelement from theTextInputcomponent.
- Updates stories for the
Listcomponent to use MDX format. - Updates stories for the
Paginationcomponent to use MDX format. - Updates how children are rendered in the
Listcomponent. Direct childrenli,dt, andddelements can still be passed, but specific data structures can be passed to thelistItemsprop to render the appropriate children element. - Updates to the contributing documentation, pull request template, and the README.
- Changes
DisplaySizestoHeadingDisplaySizes. - Changes
Skeleton Loaderto be configurable via props. - Changes
Buttonto use16pxfor left/right padding for buttons with text; icon only buttons still use8pxleft/right padding. - Changes
TextInputlabel text tofont-weight: 500.
- Adds CSS vars for
font-weight - Adds
displaySizeprop toHeading - Adds Style Guide
Iconography - Adds new SVGs to be used with the
Iconcomponent. Among the new SVGs are: Error solid, Error outlined, Speaker Notes. - Adds ability to change the color of an SVG icon with classes such as:
ui-black(default),ui-white,brand-primary(red),section-research-secondary(turquoise). - Adds
helperTextanderrorTextprops toCheckbox - Adds
helperTextanderrorTextprops toRadio - Adds
errorText,helperText,labelText,requiredandshowLabelprops toSelect
- Updates content in Style Guide
Typography - Updates content in Style Guide
Breakpoints - Changes
Linkstory from.tsxto.mdx.
- Deprecates
ariaLabel,helperTextId,isRequiredandlabelIdprops inSelect
- Removes
breakoutCSS fromBreadcrumbs. To retain previous behavior,Breadcrumbscomponent should be a child of a.content-headerelement. - Removes
breakoutCSS fromHero Secondary. To retain previous behavior,Herocomponent should be a child of a.content-headerelement.
- Adds
HorizontalRulecomponent - Adds new
shortclass forPlaceholder - Adds
Style Guidecategory to Storybook sidebar
- Changes
Breadcrumbsstory from.tsxto.mdx - Changes
Headingstory from.tsxto.mdx - Changes suggested DOM structure in
TemplateStory
- Adds documentation on layout bidirectionality
- Changes
Paginationto hide pagination UI when there are 0 or 1 pages.
- Removes
color-classesandcss-varsmixins from_03-mixins.scss - Adds
color-classesandcss-varsmixins tostyles.scss - Changes order of CSS
@importrules instyles.scss - Adds quotes around
blackandwhitein$colorsobject in_colors-utility.scss
- Removes
--ui-successCSS variable and adds--ui-success-primaryand--ui-success-secondary - Removes
checkboxIdprop fromCheckboxcomponent and employsidin its place. - Removes
defaultCheckedprop fromCheckboxcomponent. - Removed
labelOptionsprop fromCheckboxcomponent and employslabelTextin its place.
- Added: Definition List component.
- Changed: Separate Checkbox into its own component.
- Changed: Separate Radio button into its own component.
- Adds
Tertiarystate to Hero component - Changes
BrandandUtilitycolor values to match Figma main file - Changes
Radiostyles to use SASS vars in place of CSS vars - Adds
TextInputcomponent to handle email, hidden, number, password, text, textarea, tel and url input types - Adds default width and padding to
StatusBadgecomponent. - Hides pagination when there are 0 or 1 pages.
- Fixed layout bug for layouts that include a right sidebar column and DOM structure.
- Adds
getPageHreftoPagination
Accordion: Addsfixed-heightmodifier anddefaultOpenpropListdefaults to grey bullets instead of black- Adds margins inside the default columns of
Card
- Breadcrumbs now show up in light colours
- Template reflow and breakpoints now happen at the same time
- Fixes release github action
- Removes
statusBadgeTextprop in StatusBadge to allow text to be inside component
- Add
methodandactiontoSearchBar<form>
- Add the
attributesproperty to theSearchBar<form> - Adds focus outline to the
Accordioncomponent so it appears when it is tabbed.
- Exports mixins in a
resources.scssfile that can be used by consumers.
Linkwith classbuttonhas white text color
- Fixes
Paginationwhen there are fewer than 4 pages - Adds
StatusBadgecomponent todesign-system-react-componentspackage
Select: selectedOption holds the selected value, instead of just the default.Hero:Hero.Secondarynow changes background color based on NYPL site sectionHero: All props are now optionalInput: added onChange prop to explicitly allow it to be used as a controlled component- Uses stricter linters and more Prettier configs.
- Removed
SectionTitle - Scopes all element selects to the
.nypl-dsclass
- Accordion: Accordion input styling affects only direct children
- Checkbox: Allows checkbox to be used as a controlled component or uncontrolled component.
- Updates
Paginationcomponent to match new design.
- Adds actual
StatusBadgecomponent with props for setting levels RENO-1882
- Updates
Hero's primary option to have a larger top/bottom padding on the inner content via Reno-1670
- Converts the Accordion component to open and close through CSS rather than through Javascript.
- Updates the
Inputcomponent to conditionally render anidattribute if anidprop value is passed to it.
- Add
overflow: hiddento.no-scrollstyling on<body>for modal to prevent scroll element for content behind modal being displayed
- Updates Accordion sets so that first item in list doesn't have
-1pxtop margin
- For
Inputcomponents that use the.input-groupclass, on mobile those input elements are now stacked on top of each other rather than side-to-side.
- Updates the
Inputcomponent to allow it to render a "hidden" input type.
- Removes type, color, and line-height declarations from
bodytags and moves them to the.nypl-dsnamespace
- Moves footer outside of
.nypl-dsnamespace on Template story
SkeletonLoadercomponent for loading screens
selectedOptiontoPaginationstory
FiftyFiftyHero type styling
- Sets up the default
font-sizevalue in the.nypl-dsnamespace.
- Styling for
Accordionsets
classNames withinAccordionfor content- Hover stylings for
Accordion
- Removes the padding on the
breakoutmixin - Removes the padding on the
wrappermixin at thexlbreakpoint
arrow_xsmallandsearch_smallicons
- Fixes a bug in which content was not centered within
Buttonwhen button was made larger than the text content
- Additional
ButtonCSS that was no longer used after Button API refactor in 0.13.0 - Deprecates
SearchResultItem
Imagenow has analtprop instead of analtTextprop- Removes
isDecorativeproperty in favor of an emptyalt
- Adds HTML
<img>props to theImagecomponent
- Removes all icon props from
Button. Button now usesIconas a child - Removes
ButtonIconPositions
- Makes
Button'sonClickproperty optional
- Moves box-sizing declarations to a
.nypl-dsnamespace. All future "global" CSS settings will move to exist under this namespace.
- Universal focus styling
- Updates the margin on action-links from
xxstoxs
- Removes the
descriptiontag from the<span>element wrapping svg icons (#360)
Iconnow accepts children for custom icons
- Status Badge component as stories
- DS bundle is now compiled for es5 instead of es6 to accommodate for IE11 and the arrow functions we're using in DS
- Removes options from the
Paginationcomponent
- Updates the
Linkcomponent'slinkTypeprop totype, implementsReact.forwardRefto use with other libraries, and updates the stories.
- Updates the
Iconcomponent'snameprop to allow forLogoNamesenum types.
- Adds a "negative" NYPL logo to be used on non-white backgrounds.
- Updates the formatting of svg file names to use underscores
- Updates the
Inputelement to allow props and attributes to be able to render input elements of type "radio".
- Deprecates
SectionNamein favor of the stories underColors—Brand
- SVGs for NYPL full logo lockup, Queens Public Library Logo, and Brooklyn Public Library Logo
- CSS to style React Autosuggest
Breadcrumbs's background color now reflects the app's globally applied section modifier, such as.nypl--locations. It recognizes these for--locations,--whats-on,--research, and--books-and-more.
- Removes
$color-spotlight,$color-your-interests,$color-support, and$color-help - Removes all
$nypl-prefixed Sass variables $color-successis now--ui-success.- Breakpoint variables are now prefixed with
breakpoint. - Type sizing variables are now prefixed with
font-size. - Typeface variables are now prefixed with
typeface. - Removes
--font-size-1p5, which was originally added as certain designs call out20pxfor headings and others at18px. Figma documentation refers to18pxonly as of 0.1.1.
- Exposes color and typography constants as CSS variables
- Adds Section colors for
--section-research-library-lpa,--section-research-library-schomburg, and--section-research-library-schwartzman
- Letterspacing property on all body copy
width: 100%on svgs
- Adds icons for
accessibility_full,accessibility_partial,clock,check, andclose
- Updates the
downloadicon to Google Material Design's icon.
- Updated the Select component to take in a ref using ForwardRef and also a
nameprop.
FormDropDownandDropdownare nowSelectTextfieldhas been retired in favor ofInputInputtype is now controlled via an enum defined inInputTypesinstead of a string- Changes
referenceIdtohtmlForonLabel - Deprecates
DateRangeForm,BodyText,SearchPromo,Container, andRNHeaderWithSearch Buttonnow accepts anonClickinstead of acallback- In the
ButtonTypesenum,FilledandOutlinehave been changed toPrimaryandSecondary, respectively Accordionnow acceptsaccordionLabelandlabelIdinstead ofbuttonOptsproperties- Removes project-specific styles for now deprecated
EditionCard - Removes project-specific styles of
.search-results-listand.form-item--radios UnorderedListis nowList, with an enum to control whether is it ordered or unorderedInputidis no longer prepended withinput-Buttonidis no longer prepended withbtn-SearchBarno longer has props forselectChangeHandler,selectBlurHandler, orsearchChangeHandler.InputoffersariaLabelandariaLabelledbyprops in favor oflabelIdandhelperTextId- Removes
headingAttributes?: {}fromSectionTitle
- Adds
aria-liveandaria-atomictoHelperErrorTextin its errored state - Adds "Optional", "Required", or empty string inside
Labelfor forms - Adds
IconNamesenum to makeallSVGsarray globally accessible - Adds
width: 100%globally to SVGs Cardnow constrains items in itsimagecolumn to the column width- Adds the
forwardRefimplementation to theInputcomponent - Adds
disabledprop toInputandButtoncomponents - Adds
disabledstyling toButton.Primary - Adds
className?: string;as additional props to all components - Adds
attributes?: { [key: string]: string };toInput,Button,Select,Link, andImage - Adds
justify-content: centerforButtonwith icon to adjust for mobile
- Fixes bug in former
FormDropdown(nowSelect) where the select value would not change ifselectedOptionwere passed Link's scss now references$ui-link-primaryinstead of$nypl-blue-regular- Changes
Select's SCSS to use the updated styling from Filament Group Imageis wrapped infigurewhenimageCaptionorimageCreditis passed toImage- Adds
viewportproperties to any SVG files that were missing it
- Removes
HelperErrorTextOptions
- Removes
RNSectionTitle
- Updates
$nypl-blue-regularfrom #0071ce to #0576d3 $nypl-blue-regularis now extended with$ui-link-primary
EditionCardis nowCard- Buttons from black by default to blue
- Icon for audiobook
- Changes the line-height values on some of the heading mixins
- Makes all IDs optional
- Concatenates
BasicLink,UnderlineLink, andIconLinkintoLinkwithLinkTypesenum - Moves styles into their corresponding component folders
- Moves base styles into the react-components package
- Deprecates
@nypl/design-system-styles
- Moves tests into their corresponding component folders
- Flattens component structure to export as one package.
- Exports
Icon
- Fixed
distscript so it clears the folder - Added
viewBoxtoarrowicon
- added
Templatestories - fixed
Accordionbuttons - added
viewBoxtoarrow-xsmallicon
- Move
Placeholder,Modal,SectionNameandContainerfrom/00-baseinto top-level/components - Fix Storybook errors for Headings with Bold and Headings with Link.
- Move
Headings/*from/02-moleculesinto top-level/components - Inlined icons inside
react-components - No longer publishing
@nypl/design-system-iconspackage
- Exported
searchValueandselectedFieldinRNHeaderWithSearch
- Added
blockNamehandling toDateRangeForm
- Exports
SectionNameandImage
- Edition Card no longer accepts strings for links and descriptions
- Added
iconNameas an optional prop inIconLink
HeaderWithImageRightcomponent and corresponding story
- Reworks
HeaderWithImageRightintoHero, which accepts values from an enum to display different kinds of heros based on this documentation page
Textfieldid is no longer duplicatedDropdownnow appliesbemblockNamePaginationnow passes inblockNameintoDropdown
- Large classes now have
Optsinteface that allows for the component to be built over multiple steps. This affects:HelperErrorTextLabelTextFieldButton
- Deprecated
SearchResultsList,IconLinkListandEditionsListin favor ofUnorderedList typeinButtonnow corresponds to html button types.buttonTypein button corresponds to the visual categories of buttons (eg:filled,outline)subtitleinSearchResultsItemchanged tosubtitleContentto take a JSXLabelandButtononly accept children when called directly
CheckboxDateRangeFormInputAccordionUnorderedList
- Changelog update
HeaderImgRightaccepts elements
Buttoncomponent accepts content to render from itscontentprop or itschildrenprop.
EditionCardEditionInfofields accept elementsEditionCardReadOnlineandDownloadfields accept elements
- added
noLinkElementtoEditionCardto receive an element
EditionsList
Dropdownwhich controlsFormDropdownand its correspondingLabelLabelHelperErrorTextPaginationEditionCardcomponentSearchResultItemcomponent that usesEditionCardRN Header With Search- a story for
RN Section Title, which is just a collection of styles SearchResultsListcomponent
- added
iconModifierstoButton buttonIdinButtonis now required- refactored
FormDropdownto not include its ownlabel RN Header With Search- a story for
RN Section Title, which is just a collection of styles Link->BasicLinkfor clarity- Bugfixes in
UnderlineLinkandIconLink - Added stories for
BasicLink Linkmissing URL error message- Consolidated
HeadingandPageTitle Headingnow only takes a single span- Added ResearchNow specific
SearchBarerror state - A11Y changes for
SearchBarandHeaderWithSearch - Added stories for AT-79, AT-264 and AT-3
selectedOptionadded toFormDropdownstores selected state
- A webpack file in order to build and distribute a compiled version of the react components. Does not replace the /lib folder usage, but the main file is now pointing to
/dist/design-system-react-components.min.js.
Imagefor 2:1 ratioPageTitleHeader with Image RightFormDropdownSearchPromo
- Moved heading-related atoms from
01-atoms/Textinto01-atoms/Text/Heading - Updated
Searchbarcomponent to include Parameters - Changed
Breadcrumbexport fromBreadcrumbs
Iconimport
Body textcomponent for plain-text elementsUnderlineLinkandIconLinkfor linksIconcomponent that uses thedesign-system-iconspackage.SectionTitleandHeadingfor heading componentsIconLink-Listfor the list of subject linksButtonandTextFieldfor the searchbarSearchBarcomponent
Breadcrumbnow shows icon in mobile view
- Changed
BreadcrumbtoBreadcrumbsto match Twig - Changed the Breadcrumbs props to accept components
- Started a change log
- Added the Breadcrumb React Component
- Changed folder structure to match Twig
- Published as a test