Visage changelist
5.22.0 (coming soon)
- Background color: new colors added for holiday support:
holiday-beige-1
, holiday-green-1
, holiday-green-2
, holiday-red-1
, holiday-red-2
Callout
:
- updated skin 'holiday' color to semantic-holiday-red-2
- updated variant 'inverse' default background set to black
Price Bar
: fixed the PriceBarPriceInfo's info button icon not being visible on light background
Promo Bar
- updated skin 'holiday' color to semantic-holiday-red-2
- added skin 'inverse' for white text on black background.
Toggle Switch
: focus indicator now goes only around the visible switch
5.21.1
- Popover: exported "usePopoverContext" hook to give more control to developers.
5.21.0
- Thumbnails Hero: adjusted image aspect ratio to 21:10, and set max height to 95% of viewport height (95vh)
5.20.3
- Added brandstore.vistaprint.in domain in valid domains list
5.20.2
Bug Fixes
- Thumbnails Hero "under" skin: this component no longer forces down the page content below the Hero, nor overlaps that content with the Hero contents
5.20.1
Bug Fixes
- Text Input: "mini" input height no longer varies based on load order of stylesheets, and now always matches the height of "mini" buttons
5.20
- Price Bar: visual restyling; added support for using Listbox for quantity
5.19
- Control Icon: new "password-show" and "password-hide" icons for use inside password entry fields
- Standard Hero:
- new "hide image on mobile" option hides the hero image on mobile (Small and Extra-Small) screens
- new "image behind text on mobile" option keeps the image behind the text on mobile (Small and Extra-Small) screens, rather than showing them in the normal vertical order
- Thumbnails Hero "under" skin:
- the large image now tries to display with a 9:21 aspect ratio; when it reaches its max height (60% of the viewport height), it will crop from the top and bottom
- on Small (tablet) screen size, thumbnails are now shown below the image, rather than hidden
- on Extra-Small screen size, dots are now shown below the image rather than over it
Bug Fixes
- Buttonbar: focus indicator is correctly-shaped for last button
- Standard Banner: text placement is off when the Banner is placed inside a Grid element that isn't 12 grid columns wide
- Textbutton: Standard Hero now only affects the margins of Textbuttons that are actually inside the hero
5.18
- Button: "clear selection" button now has a "mini" size variant, and is automatically shorter on mobile screens
- Left Hand Navigation: new "button menu" variant, to support My Account
- List: a ListItem inside a List now supports an optional
selected
boolean prop; used by Left Hand Navigation variants that show the currently selected item
- List: new styling for list bullets
- Table: new
textAlign
property that will align the text of table cells and headers left, right, or center
- Table: new "dividers" skin that puts horizontal dividers between rows
- Uncustomizable Markup:
<table>
tags inside this component now take on the "dividers" skin for Tables, rather than the default (striped) skin
Bug Fixes
- Listbox: support "error" skin
5.17
- Accordion: new "color swatches" variant, for use around Color Swatches inside a Standard Tile
- Carousel: arrow buttons are now smaller on mobile
- Dropdown and Text Input: both components now have the same height, for visually consistency in forms
- Listbox:
- new "link" variant that looks much like a text link
- ListboxOption supports an additional prop
labelNode
for rendering inner label which supports string as well as ReactNode
- Standard Tile: support for Color Swatches inside tiles
- Table: new "divider" skin
Bug Fixes
- Dropdown: Fixed dropdown appearance changing to
line
skin when FormError
is included in the Form.
- Popover: PopoverLauncher issue fix for react 17
5.16
- Accordion: the +/- icon is now vertically centered within the heading, instead of being top-aligned
- Checkbox: Checkboxes now support indeterminate state (neither "on" or "off")
- Text Input: Placeholder text is now using color
inherit
to work in any color mode
- Tabs: tabs that aren't selected are now dark grey instead of black
- VISAGE_SUPPORTED_DOMAINS: Whitelisted Visage support for following domains:
https://www.vistaprint.in
https://www.vistaprint.jp
- marketingBackgroundTokenMapping: Exported a map of marketing source colors to marketing background colors
Bug Fixes
- ModalDialog: Fixed the
id
attribute not being assigned to the ModalDialogTitle
.
- Tabs:
margin
fixed for tab headers so that they do not overlap with parent element.
- TextButton:
type
attribute will only be automatically output for input
and button
tags
- TextInputFloating: Long placeholder(label) text flowing out of the input boundaries fixed.
- Thumbnails Hero: Full support for
<video>
tags added for the default skin.
5.15
- Breadcrumbs: visual redesign, making the component shorter and keeping it to one line that will scroll horizontally
- Thumbnails Hero: support
<video>
in the content carousel
- Typography: support
noWrap
prop (and .nowrap
class in the vanilla API) to prevent text from line-wrapping
- Exported
VISAGE_MARKETING_BACKGROUND_COLORS
which provides a set of acceptable marketing color values for the global prop backgroundColor
- VISAGE_SUPPORTED_DOMAINS: Whitelisted Visage support for following domains:
https://www.promotique.com
https://www.vistaprint.at
https://www.vistaprint.be
https://www.vistaprint.ch
https://www.vistaprint.de
https://www.vistaprint.dk
https://www.vistaprint.fi
https://www.vistaprint.fr
https://www.vistaprint.nl
https://www.vistaprint.no
https://www.vistaprint.se
- Added
font-display: swap
to font-face
Bug Fixes
- Alert Box: "legal warning" skin no longer has bold, centered text
- Callout: now has an explicit line-height, to keep parent elements from making it display too short
- Modal Dialog: "panel-bottom" dialogs with a footer no longer have faint shadows on the sides of the footer
5.14.1
- Responsive System: Created and exported a hook
useIsScreenClassInitialized
which helps in letting know if the ScreenClassProvider is initialized on the browser. Returns a boolean value.
5.14
- Callout: new "mini" size variant; minor visual restyling
- Color Swatches: visual restyling
- Standard Tile: support overlays with more than just a Callout in them
- VISAGE_SUPPORTED_DOMAINS: Added support for canada domain
https://www.promotique.ca
Bug Fixes
- Carousel: "fraction" option on mobile no longer has mis-aligned arrows
5.13.1
- Standard Hero: on S/XS screens, put a translucent white border between the text zone and image zone
- Standard Tile: "gallery" skin now has a hover state, and less padding around the image on smaller screens
- TextButton: adjusted vertical positioning of icons
- Popover: Supports new prop
eventContainerRef
to control dom node for listening click/keydown event for closing the popover automatically
Bug Fixes
- Alert Box: close icon is now centered within its focus indicator
- Disabling
useStylesheetStatus
check in test environment.
5.12
- Collapsible: support rich summary in React; new, easier API for aligning the last sub-element of a rich summary to the right
- Dark Mode: updated border colors for Text Input, Dropdown, Listbox
- Floating Container: support in React
- Link: support "link with icon" in React
- Modal Dialog: support panels from the top
- Table: support second line of text in React
- Tabs: visual redesign
- Tabs: support "wrap headers" in React
- added a standard placeholder image to the package (as
/library/images/placeholder-image.svg
)
Bug Fixes
- Modal Dialog: when using a panel dialog with a nav, the nav will now always sit on top of the dialog body
- Standard Hero: "full width image" heroes on smaller screens now properly crop their images
5.11
- Icons: the search icon is now defined via a theme-able CSS custom property, rather than an external file.
- Ordered List: wide numbers will not line-wrap.
- Standard Hero: "full-width-image" heroes and "heroes with left nav" now have the same minimum height as default heroes.
- Standard Hero: added support for using
<picture>
tag for the hero image.
- Tabs: new option to hide the dividing line between headers and contents.
Bug Fixes
- Carousel with "promo bar" skin: arrows are now aligned to the boundaries of the main content area.
- List: nested lists no longer have too much padding on the bottom.
- Modal Dialog: panel dialogs with the header inside the dialog's nav now have correct margins.
5.10.3
- Standard Hero: "full width image" heroes on small screens now have horizontal padding around their text areas
- Tabs: "mega" skin headers have correct background color
5.10.2
- VISAGE_SUPPORTED_DOMAINS: Added support for domains
https://next.brandstore.vistaprint.in
, https://next.novelty.vistaprint.jp
, https://next.promotique.ca
, and https://next.promotique.com
5.10.1
- VISAGE_SUPPORTED_DOMAINS: Added support for canada domain
https://www.vistaprint.ca
5.10
- Link: new "cta-left" skin
- Selling Points: new component
Bug Fixes
- Modal Dialog: when using "full bleed" on a capped panel dialog, the dialog content will now actually be full bleed.
- ModalDialog: Added the missing prop
allowPinchZoom
which allows zooming to be enabled/disabled for the devices when the dialog is open (defaults to true).
5.9
- Buttons: all
button
tags now default to the pointer (hand) cursor
- Standard Hero: support background video in addition to images
- Tabs: added new "mega" variant
5.8.1
- VISAGE_BACKGROUND_COLORS variable exported
Bug Fixes
- Carousel: Fixed the jittering of the Carousel slides on SSR
5.8
- Carousel: the new "arrowVerticalPosition" and "arrowVerticalOffset" props allow you to set or adjust the vertical position of the Carousel arrows.
- Toggle Switch: new icons for "mini" size switches
- Zoom Controls: new component
- Check for node.js 14 removed
Bug Fixes
- Collapsible: now includes the style keys for the Accordion stylesheet.
5.7.2
Bug Fixes
- Listbox: The issue introduced in the listbox popover's z-index value during the 5.7.0 release
5.7.1
Bug Fixes
- Modal Dialog: when using both "full-bleed" and "panel", the content can now vertically scroll
5.7
- Accordion and Collapsible: the new "full bleed" option removes the left- and right-hand padding from the Collapsible's content. Putting this on an Accordion will apply it to all of that accordion's Collapsibles
- Carousel: adjusted "promo-bar" skin so that the arrows sit at the edge of the main content zone, not at the edge of the browser window
- Promo Bar: an updated API adds a PromoBarContents inner element, to cap the text content of the Promo Bar (but not cap its background color)
- Ratings Stars: new "monochromatic" skin sets the stars to black (or to white, in dark mode)
- Selection Set "tiles" skins: while the API calls for using FluidImage instead of ResponsiveImage, ResponsiveImages will at least no longer be hidden
- Text Input: new "mega" size
Bug Fixes
- Carousel: Added a placeholder for the Carousel slides in case of pages using SSR
- Listbox: When used inside ModalDialog, fixed the ListBox popover overlay getting hidden behind the ModalDialog overlay
- ResponsiveValues: Fixed the object mode for accepting the responsive values eg. paddingY={{ xs: 1, sm: 1, md: 1, lg: 1 }}
- Standard Hero: using the "full width image" option with a background color on desktops, prevent a flash of the background color before the image loads
- ThumbnailsHero: Fixed the issue of page getting auto-scrolled to get ThumbnailsHero into viewport
For contributors
5.6.1
- VisageProvider styleConfig: It now supports the ability to validate the passed domain and baseUrl from a list of available domains. This list is exported and available for the developers as a hash variable
VISAGE_SUPPORTED_DOMAINS
. Developers can also disable auto validation of the domain by passing false in the key domainValidation
5.6
- Callout: new "foil" skin
- Responsive Image: support for Responsive Image as
picture
tag instead of just img
tag
- Paginator:
- "Paginator buttons" re-added
- visual restyling
- Selection Set:
- new "mini tiles" skin to support holiday
- "tiles" skins: updated API adds a new image container element around the image, to provide better UX consistency
- visual updates to border radius and thickness
- Standard Hero: adjust heading size on "short" heroes
- Standard Tile: when there's no description, tighten the spacing between name and price
- Links: added support for a global prop called
removeLinkStyles
which removes a link's visual styling, for when a component is being used as a link, e.g. using as="a"
. This was created for Standard Heroes where the entire hero is a link, but it can be usd on any component.
Bug fixes
- Modal Dialog: focus ring around close button was not vertically centered
5.5
- Design Token: added design-experience-selected-color, for selected items in design experiences
- Dropdown: new "line" skin, with a Form Label to match
- Ordered List: added support for "start" property
- Standard Tile: "gallery" skin can now hide drop shadow on the image
- Text Input: visual restyling for "floating label" version
- react-helmet is now an optional dependency: This is done for the users who are using VisageSlimeProvider. Users who are using VisageProvider will still have to install the react-helmet as before.
Bug fixes
- LeftHandNavigation: When used with dark mode, links are now black on hover instead of white.
5.4.1
Bug fixes
- TextButton: Default button type 'type="button"' added to override the default behaviour of button in a form which will benefit in avoiding page reload.
- VisageSlimProvider: The provider released in v5.3.2 wasn't exported. This fix basically exports the provider.
5.4.0
- Colors: add JS design token for the approved marketing background colors
- Count: support for dark mode; support inside Textbuttons
- Paginator: new visual styling
- Step Indicator: new visual styling
- Toggle Switch: added icons to make "on" and "off" states more clear
- Versioning: Force version updates for all the stylesheets so as to clear the cache for all the users.
Bug fixes
- CSS variables missing warnings in the CI pipeline muted.
For contributors
- Added functionality to auto-generate a component(Styling not included). Refer README.md for usage.
5.3.5
- Performance improvement of auto loading of styles.
Bug Fixes
- Standard Hero: fixed too-wide gutters on mobile screens.
- Grid: Fixed some of the CSS where the calc method was wrapped inside the quotes.
- Edited type information for
ThemeKey
, StyleKey
and ScriptKey
5.3.4
- Default domain for Loading styles and scripts are set to
https://visage-design-system.prod.merch.vpsvc.com/
from https://visage-design-system-prod.s3-eu-west-1.amazonaws.com
- Bug Fix: Auto loading of styles, for non-default keys in SSR.
- Support for favicons assets available at eg.
- Same URLs across minor/patch versions
https://visage-design-system.prod.merch.vpsvc.com/latest/v5/all/icons/favicon-96x96.png
https://vistaprint.ie/visage/latest/v5/all/icons/favicon-96x96.png
- URLs specific to minor/patch release (replace the version
5.3.4
with your version)
https://www.vistaprint.ie/visage/latest/v5/5.3.4/icons/favicon-96x96.png
5.3.3
- Custom domain name configuration in VisageProvider:
- Default - Uses "visage-design-system-prod.s3-eu-west-1.amazonaws.com" if no domain is provided. A generic domain that can be used when you don't know which domain the page will be served from.
- Custom - Accepts valid Vistaprint domains: "vistaprint.ie", "vistaprint.es", "vistaprint.pt", "vistaprint.nl", "vistaprint.it", "vistaprint.be", "vistaprint.se", "vistaprint.fi", "vistaprint.no", "vistaprint.dk", "vistaprint.com.au", "vistaprint.co.nz", and "vistaprint.sg"
- Relative - When provided "relative" value in domain, this will get you back a relative URL that will try to find the Visage files on whatever domain the page happens to be served from.
- Standard Hero: support TextButtons (not just StandardHeroCTA), for when there are multiple CTA buttons
Bug Fixes
- FormLabel: Added support for
for
attribute.
- Flickering of styles in the apps fixed
- useLayoutEffect warnings from ScreenClassProvider suppressed
5.3.2
- VisageProvider: we now have a new VisageSlimProvider, to support projects which do not require autoloading of styles and fonts.
Bug fixes
- Link: in React, the issue with Link component treating values passed in 'as' or 'component' props as always an 'a' is fixed.
- Carousel: removed 'react-slick' dependency which was being used in Carousel. Instead, the Carousel has been reverted back to using '@ant-design/react-slick' to avoid the errors.
5.3.1
- SASS version in library updated to 1.34.0
5.3
- Color Swatches:
- Support for background images (not just background color)
- Hover state now shows a grey border
- The 'X' icon for disabled swatches is now white or black based on the swatch's primary color.
- Text Input: new hover colors for the input with a floating label.
- Carousel: support for the "global messaging bar", as a Carousel of Promo Bars, with a new "promo-bar" skin that uses smaller arrows.
- Promo Bar: new "promo-bar" skin; see above.
- Typography: the React API now supports "not-bold" as a weight.
- Alert Box: the "warning" skin has been re-introduced.
- Color: the backgroundColor feature now supports "discount" to provide a standard light green background for discount messaging.
- Form elements: new hover colors for Dropdown, Listbox, Checkbox, Radio Button
Bug fixes
- Text Button: TextButton defaulting to 'div' issue is resolved. The onClick signature would be
MouseEvent<HTMLButtonElement>
instead of MouseEvent<HTMLDivElement, MouseEvent>
.
- Ratings Stars: 'starsToShow' property is now optional.
- Preloader: Default delay in the preloader animation is how '0' seconds.
- Modal Dialog: "panel-right" option used with the "full bleed" option no longer creates a horizontal scrollbar.
- Standard Hero: on XL screens, the left nav and hero text are no longer misaligned.
- PaginatorInput: The warning issues regarding 'as' and 'component' are fixed.
- Tabs: bottom border of the selected tab now has the correct color.
- CSS: since usage of '/' for division is deprecated in dart-sass, our CSS is now using 'math.div' for division, to avoid any SASS transpilation issues.
5.2
New features
- Checkbox: checkbox hover color is updated in case of selected and deselected state.
- Alert Box: update for "warning" and "positive" skin background colors, update in styling e.g. set font weight to bold, adjusted paragraph margins
Bug fixes
- Modal Dialog - menu buttons spacing and alignment issue fixed.
Other updates
- Standardized disabled colors across components.
5.1
New features
- Callout: new "new" skin; new visual styling for all skins
- Collapsible: React version now supports different open/closed text
- Grid: React version now supports sticky columns
- Modal Dialog: close button supports visuallyHiddenText prop
- Preloader Graphic: animation begins immediately, rather than after a delay
- Selection Set: added new "tiles" skins; new visual styling for "buttons" skin
- Standard Banner: a new component for mid-page banners *
- Standard Tile: the default skin now places a light grey background behind the image, so the image can use transparency
- Table: React version now supports captions
- Text Input: change focus color from blue to black
- Typography: you can now explicitly set a text color of black
Bug fixes
- Modal Dialog: "panel" dialogs no longer have the scrollbar up against (or overlapping) the content
Other updates
- Standard Hero: "narrow" banner option is now deprecated in favor of the new Standard Banner component
5.0.3
New features
- Hey, it's a new mono-repo for v5!
- Breadcrumbs: new visual styling
- Background Color: an expanded list of possible background colors, with 20 new color choices
- Carousel:
- support for aligning dots to the left
- support for "tight" grid gutters
- new visual styling
- Dark Mode: a few global prop that turns text white and makes components visible on dark backgrounds. (Replaces the now-deprecated "dark" theme.)
- Range: new visual styling
- Ratings Stars:
- you can specify just one star instead of five
- new visual styling
- Standard Hero:
- support for a new "eyebrow" element over the hero heading
- support for multiple Textbuttons
- Hero With Left Nav now supports text and images sitting side-by-side (not just full-width images with text overlaid on top)
- new visual styling
- Standard Tile:
- new "circular" skin
- "gallery" skin now supports a translucent background
- new visual styling
- Textbutton: new "design-path" variant with two lines of text
- Themes: the "dark" theme is now deprecated in favor of the easier-to-use "dark mode" feature.
Dropped
- Dropped React support for these deprecated components:
FullWidthContainer
, CheckboxOptionSet
, RadioButtonOptionSet
, Flipswitch
, TitleBlock
, FavoriteCheckbox
- Dropped support in the CSS for these deprecated features:
- Accordion:
bounded
option, and alert-box-background-white
- Background Color values of
mist
or translucent-blue
- Callout: skins
warning
, neutral
, hollow-light
, and hollow-dark
- Carousel: options
tabs
, xs-only
, and the product-tiles
skin
- Collapsible:
minimal
skin
- Count: skins
cart
and empty
, plus shadow
option
- Forms: error classes
label-required
, input-skin-error
and form-input-error
- Dropdown:
stylized-select-container-full-width
option
- Promo Bar: skins
holiday-red
and holiday-white
- Promo Code:
white
skin
- Tabs: skins
thumbnails-under
and minimal-full
- Textbutton: skins tertiary, progress, checkout, hollow-white, holiday-red, and holiday-white
- Text Input: size
super
, and borderless
- Typography: text sizes 0, A, and B, and many text colors we haven't used in a long time like
ultraviolet
and fire-orange
- deprecated components
.page-alert
, .callout-bar
, and .price-block
Bug fixes
- Listbox: new visual styling for hover/focus state, so that options no longer look disabled on hover
- Color Swatches: inside a Selection Set, borders are now correct on two-tone swatches
- Textbutton: custom icons now have no CSS filter