Skip to content

v0.9.0

Compare
Choose a tag to compare
released this 03 Feb 17:23
84c0dff

0.9.0 (2022-02-02)

Thanks for supporting Odyssey. First, a few highlights to share from this release:

  • Important foundational work on our styles and CSS architecture.
  • New theme APIs that allow run time branding or deeper component customization.
    • see the @okta/odyssey-react-theme and @okta/odyssey-design-tokens packages for more detail
  • Improved component prop APIs
  • New contribution guidelines, philosophy writeup and getting started documentation

Although Odyssey is a pre-major release project, our commitment to stability remains. This is a BREAKING CHANGE release and thus we've moved forward a minor version following our published versioning schema. Please pay special attention to this change when pulling in the latest package version:

  • Global CSS has been removed entirely, and the odyssey-deprecated-global.css stylesheet removed. If your app previously used this file from an older release - remove it. You may also need to refactor your application styles further to account for the lack of globally applied CSS. You can now solve layout or style issues by using component composition by using one of our Box or Text components to create layouts without writing or maintaining any CSS by hand.

If you have trouble or have questions please reach out to us through the channels mentioned in our new Contribution Guidelines!

🚀

CHANGELOG
### ⚠ BREAKING CHANGES
  • odyssey-react: rename TextInput "inputRef" prop to "ref"
  • odyssey-react: rename TextArea "textareaRef" prop to "ref"
  • odyssey-react: renames "title" props to "heading"
  • odyssey-react: renames FieldGroup "title" prop to "legend"
  • odyssey-react: renames Table "title" prop to "caption"
  • odyssey-react: rename Tag component to TagList
  • odyssey-react: rename Table prop "title" to "heading"
  • odyssey-react: remove odyssey-deprecated-global.css stylesheet. Odyssey consumers should now use component composition.
  • odyssey-react: remove data-testid="ods-toast-pen" from Toast
  • odyssey-react: remove data-testid="ods-tabs" from Tabs
  • odyssey-react: Text prop fontWeight "regular" renamed to "normal"
  • odyssey-react: Text props color "heading" "danger-disabled" and "code" removed
  • odyssey-react: Text prop fontSize "lede" removed
  • odyssey-react: Text props textTransform "full-width" and "full-size-kana" removed
  • odyssey-react: Text prop lineHeight "font" removed
  • odyssey-react: Text prop overflowWrap "anywhere" removed
  • odyssey-react: required form input components must now declare true prop for required
  • odyssey-react: non-required form input components must now declare translated string prop for optionalLabel
  • odyssey-react: rename Text props and values to match standard css, remove text interaction props
  • odyssey-react: Text prop hoverBorderColor prop "interactive" renamed to "ui"

Features

  • expose hidden choices reference (a64597a)
  • no invalid theme properties eslint rule (847d506)
  • odyssey-design-tokens: add heading color token (2e55f7b)
  • odyssey-design-tokens: add new functional colors (a7890f8)
  • odyssey-design-tokens: add space tokens (e8ff2de)
  • odyssey-design-tokens: add tokens for sizing, addl colors (6b8d9a0)
  • odyssey-design-tokens: add transition and line height tokens (b8a1d9f)
  • odyssey-react-theme: add new react-theme package (d2197f2)
  • odyssey-react: add base styles and theme variables to TextInput (3216e72)
  • odyssey-react: add Box as Button root (c0971de)
  • odyssey-react: add Box as root of Banner (3321802)
  • odyssey-react: add Box as root of Checkbox (ce14011)
  • odyssey-react: add Box as root of FieldGroup (e325f50)
  • odyssey-react: add Box as root of Link (35d74f9)
  • odyssey-react: add Box in Heading (564d674)
  • odyssey-react: add Box to Tag (ab87e11)
  • odyssey-react: add Box to Modal and sub-components (0b8f85a)
  • odyssey-react: add Box to Select option and optiongroup (a48a5d4)
  • odyssey-react: add Box to Table (f7aed53)
  • odyssey-react: add Box to Tabs components (d4bfae9)
  • odyssey-react: add Box to Toast (581a8eb)
  • odyssey-react: add Box to Tooltip (f157469)
  • odyssey-react: add Box wrapper to RadioButton (31938c6)
  • odyssey-react: add full Box component implementation (35c47af)
  • odyssey-react: add inherit to Box text prop values (4ba9794)
  • odyssey-react: add reset styles to box, expose as prop (ab539a8)
  • odyssey-react: add support for className prop in Box (117e0bb)
  • odyssey-react: add text classes to Box withStyles (264218f)
  • odyssey-react: add Text component to Button to remove dependence on global styles (16e7b3e)
  • odyssey-react: add text styles to Box root (a653b3d)
  • odyssey-react: add theme variables to List (2364006)
  • odyssey-react: add theme variables to RadioButton. Consistency pass for variable naming (be14acc)
  • odyssey-react: add themeing variables to Checkbox (fbf79e5)
  • odyssey-react: add themeing variables to Toast (752d1ea)
  • odyssey-react: add ThemeProvider (41a5516)
  • odyssey-react: add theming to CircularLoadIndicator (d58604f)
  • odyssey-react: add theming to Table (e059ac3)
  • odyssey-react: add theming to Tooltip (2ec9e86)
  • odyssey-react: add WithTheme HOC (325155e)
  • odyssey-react: add withTheme to Infobox (015256d)
  • odyssey-react: additional theme vars in Checkbox (27cafca)
  • odyssey-react: additional theme vars in Checkbox (54e3f38)
  • odyssey-react: align theme variables between components (97ee069)
  • odyssey-react: align types related to Box (0c4d4d9)
  • odyssey-react: allow Button to control font-family (8eb6d05)
  • odyssey-react: allow default text properties to be overriden in Box (da68956)
  • odyssey-react: allow font-style to be set by Link with Box (0cfe6d0)
  • odyssey-react: cleanup Box api docs and css rules (014b867)
  • odyssey-react: consistent margin and padding theme varible names in Checkbox (899789f)
  • odyssey-react: convert Status to tokens (be5b1f2)
  • odyssey-react: correct order of stylesheets withStyles in Box (4a627e7)
  • odyssey-react: enable theming for Link (81a7b1b)
  • odyssey-react: eternalize string case conversion utils, remove duplicate root Text styles (75178c1)
  • odyssey-react: exclude lineHeight from Table Box wrapper (e2588a1)
  • odyssey-react: fix TS error in Box story (a86e98f)
  • odyssey-react: heading withTheme (d8cbae5)
  • odyssey-react: initial theme setup for TextInput (1e0ac34)
  • odyssey-react: omit fontSize from Heading's Box root (916011f)
  • odyssey-react: omit lineHeight from Heading's Box root (7f16d75)
  • odyssey-react: only style unclassed HTML 5 elements under box (759681a)
  • odyssey-react: refactor CircularLoadIndicator to use Box (d0d4666)
  • odyssey-react: refactor Infobox to use Box (1508d2e)
  • odyssey-react: remove defaults for Box margin and padding (df07d90)
  • odyssey-react: remove lineheight from TableSortButton Box wrapper (8262093)
  • odyssey-react: remove Text styles form Box (505c7a4)
  • odyssey-react: remove unused style declaration and add missing variables to TextInput (2d72b10)
  • odyssey-react: remove use of ReactDOMServer in Select (6f484a4)
  • odyssey-react: rename theme properties in List (e9bb90c)
  • odyssey-react: set overrides for Tooltip font styles (575112c)
  • odyssey-react: spread omitted rest props for TextInput (e86aaaf)
  • odyssey-react: spread omitted rest props through for Modal (aeed8f0)
  • odyssey-react: Text component refactor in Banner (#1160) (8795f01)
  • odyssey-react: trim Box css reset (7daac55)
  • odyssey-react: unset default text properties in Box using false value for props (d0ba167)
  • odyssey-react: update Box docs to match implementation (fd09115)
  • odyssey-react: update Button with Text to overcome regressions (235863b)
  • odyssey-react: update indicator size in TextInput (254398d)
  • odyssey-react: update max width variable (f4d039b)
  • odyssey-react: update overflow story for Box (6fc2261)
  • odyssey-react: update spacing css for RadioButton (4b7834d)
  • odyssey-react: update Text api to simplify and align with standard css (54b2538)
  • odyssey-react: update text import (d48393a)
  • odyssey-react: update to correct FontSize theme variable name in Checkbox (a09cb4c)
  • odyssey-react: update variable naming (bbea0f5)
  • odyssey-react: updated Box to use polymorphic as prop (32a3cf2)
  • odyssey-react: use root class name from styles object in RadioButton (de032a0)
  • odyssey-react: use Text component in Field (c0b5735)
  • odyssey-react: utilize Space tokens in Status (e8f052e)
  • odyssey-react: withTheme for Banner (e56d09e)
  • odyssey-react: withTheme for Box (6916b7a)
  • odyssey-react: withTheme for Button (fe466a7)
  • odyssey-react: withTheme for Field (a6b9cfa)
  • odyssey-react: withTheme for Form (fa77ce3)
  • odyssey-react: withTheme for Modal (75ad6f2)
  • odyssey-react: withTheme for ScreenReaderText (b21e4f3)
  • odyssey-react: withTheme for Select (95008bf)
  • odyssey-react: withTheme for SvgIcon (a1d66d3)
  • odyssey-react: withTheme for Tabs (b037e68)
  • odyssey-react: withTheme for tag (970ccdd)
  • odyssey-react: withTheme for Text (83ddd3f)
  • odyssey-react: withTheme for TextArea (1a52082)
  • odyssey-storybook: add stories to document Box (eb4bf3d)
  • odyssey-storybook: update stories to use new Text api (a269860)
  • support async select options (0bc1986)

Bug Fixes

  • controlled select case by using to ref.current (b61b2bd)
  • lint (617b736)
  • odyssey-design-tokens: fix em to rem (4774ae5)
  • odyssey-react: disabled text color for Select (38445f2)
  • odyssey-react: fix failing Field related tests (0fd1fe0)
  • odyssey-react: fix Search Icon layer height (b597d73)
  • odyssey-react: fix types path (674ba20)
  • odyssey-react: fixes visual blemishes in Select styling (d52d054)
  • odyssey-react: improve List children type annotation (1676b58)
  • odyssey-react: input height for multiple Select (5cf6a79)
  • odyssey-react: remove inherited color from props for StatusProps (704b226)
  • odyssey-react: remove stray console log (48cde40)
  • odyssey-react: required prop default to true (0ad6b7a)
  • odyssey-storybook: add Field.docgen to fix props table (f2672bc)
  • odyssey-storybook: updated deprecated prop in box (5658844)
  • remove added dep / prop (a349727)
  • type issue need cast to force union start type when using callback (2f8f482)
  • updates per review feedback (10cf21e)

Code Refactoring

  • odyssey-design-tokens: renames "title" tokens to "heading" (fd650fd)
  • odyssey-react: remove data-testid="ods-tabs" from Tabs (641a332)
  • odyssey-react: remove data-testid="ods-toast-pen" from Toast (8689746)
  • odyssey-react: remove global typography styles (01f0b0e)
  • odyssey-react: rename Table prop "title" to "heading" (1aa9bd1)
  • odyssey-react: rename Tag to TagList (6bdbfa6)
  • odyssey-react: rename TextArea textareaRef prop to ref, forward spread rest props (354bd84)
  • odyssey-react: rename TextInput inputRef prop to ref (a795c66)
  • odyssey-react: renames "title" props to "heading" (0be3fb7)
  • odyssey-react: renames FieldGroup "title" prop to "legend" (44dc958)
  • odyssey-react: renames Table "heading" and "caption" props (a515cee)
  • odyssey: renames "title" variables to "heading" (622d4ec)