From 2113964b7b3267407b2b8b24eea1448d19443653 Mon Sep 17 00:00:00 2001 From: Kevin Ghadyani <97464104+KevinGhadyani-Okta@users.noreply.github.com> Date: Mon, 28 Aug 2023 14:33:00 -0500 Subject: [PATCH] Develop -> Master (#1948) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(odyssey-design-tokens): consolidate tokens, initial 2.0 work * refactor(odyssey-react-mui): refactor to use new tokens * refactor(odyssey-storybook): refactor to use new tokens * chore: pr feedback * refactor: update token names based on Content feedback * refactor: update typography tokens to match new values * fix(odyssey-storybook): match storybook ui to new tokens * chore: these keep popping up after build * docs(odyssey-storybook): update theming docs to use new tokens * Translations for odyssey (#1807) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * fix: use odyssey tokens inside mui components style override * refactor(odyssey-design-tokens): rename "primary" type color to "action" * feat(odyssey-design-tokens): add "darker" to primary palette * feat(odyssey-react-mui): update Link to match new brand standards * feat(odyssey-react-mui): include color properties in type styles * refactor(odyssey-react-mui): migrate Circular Progress to design tokens * chore: fix hover/visited ordering * chore: same fix for monochrome variant * fix: add incremental to root tsconfig (#1810) fix: added incremental to root TSconfig * feat(odyssey-design-tokens): add border.radius.round * refactor(odyssey-design-tokens): caution to warning * refactor(odyssey-react-mui): convert MuiChip to odyssey tokens; find/replace all touched tokens * fix: memoize the Link component (#1813) fix: memoized the Link component * feat(odyssey-design-tokens): add border.width.heavy * feat(odyssey-react-mui): update Status styles and variants to match brand * docs(odyssey-storybook): update Status stories * feat(odyssey-design-tokens): add tokens for colorized text * refactor(odyssey-react-mui): apply colorized text tokens * chore: upgraded Applitools (#1815) * fix: change to DesignTokens type rather than the overrides in theme (#1816) * fix: changed to DesignTokens type rather than the overrides in theme creation * fix: incorrectly named property in Odyssey Storybook theme issue * chore(odyssey-design-tokens): update hue values * chore: rename indicator to variant * feat(odyssey-design-tokens): add 'disabled' type color * feat(odyssey-react-mui): add icon support to Tag * fix(odyssey-react-mui): add aria-disabled to Tag * chore: update Tag and Status styles based on design feedback * fix: orrectly import zh-CN and zh-TW files * refactor: remove isDefaultChecked and add isInvalid to Radio * refactor: remove vestigial isDefaultChecked from Checkbox * refactor: remove isDefaultValue from Radio * refactor: change hasError to isInvalid for Radio * refactor: make default Tooltip placement top * feat(odyssey-design-tokens): add border.outer and palette.x.heading * refactor(odyssey-react-mui): update all Alert styles to match rebrand * fix: enable a11y tests in CI (#1826) * fix: enable a11y tests in CI, add ariaLabel to components with accessibility violations * refactor(odyssey-react-mui): refactor alert title styling to enable variation * fix: Applitools VRT (#1827) fix: fixed Applitools config * feat(odyssey-design-tokens): add alpha tokens * feat(odyssey-react-mui): add transparency and blur to Toast * chore(odyssey-design-tokens): update alpha values to hex * docs(odyssey-storybook): make datepicker starting date fixed * chore: fix borderRadius on banner * chore(deps-dev): bump vite from 4.3.8 to 4.3.9 (#1819) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.3.8 to 4.3.9. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.3.9/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: clicking MenuItem closes MenuButton (#1820) * fix: clicking MenuItem didn't close MenuButton * fix: incorrect prop name in MenuButton stories * Fix RTL position of chevron in NativeSelect (#1835) fix: adjust NativeSelect chevron position in RTL * Remove default branch in i18n config (#1841) * docs(odyssey-storybook): update Form stories to be more comprehensive * feat(odyssey-design-tokens): add token for border.radius.tight * feat(odyssey-react-mui): add sub2 type style * refactor(odyssey-react-mui): update Form and Fieldset styles to match brand * chore: add Checkbox to kitchen sink * fix: specfy accessibility tags section508, wcag21aa (#1839) * fix: specfy accessibility tags section508, wcag21aa * fix: a11y test for toast, typography, radio, checkbox * chore: update Field margin * RTL fixes for field labels (#1836) * fix: respect RTL in FormControlLabel children * fix: respect RTL in FormLabel optional text * refactor: replace margins with gap * refactor: remove vestigial display declaration * Enable button wrapping in Dialog footer (#1838) * feat: enable button wrapping in Dialog footer * refactor: improve Dialog footer specificity * Add missing displayNames to components (#1852) refactor: add missing displayNames * refactor(odyssey-react-mui): use component class name variables wherever possible * Prevent dismiss button from overlapping Banner text (#1850) * fix: add additional padding to dismissable banners * fix: make dismissable padding uniform * Update RTL spacing for tab icons (#1849) fix: update RTL spacing for tab icons * Fix div-inside-of-p issue in field errors (#1848) fix: make ScreenReaderText a span for semantics * feat(odyssey-icons): update all icon source SVGs * feat(odyssey-svgr): update template to support 24x24 sources * feat(odyssey-react-mui): generate new and updated icon components * feat(odyssey-react-mui): manually update icon index, update references in styling * docs(odyssey-storybook): update stories to use new icons * chore(odyssey-icons): update source/figma * chore(odyssey-react-mui): update icon components and index * chore(odyssey-storybook): update icon stories * chore: update external link icon * refactor(odyssey-react-mui): component Link now uses ExternalLinkIcon * chore: add pseudo-loc languages and fix locale inconsistency (#1851) * chore(odyssey-react-mui): change dash to underscore to align with other react locale format * chore: add ok-PL ok-SK language suppport * chore: updating README * chore: update naming for all icons * fix: add tooltip play test (#1854) * fix: add playwright tests for tabs, tooltip, banner, autocomplete * Translations for odyssey (#1856) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * Add DataGrid (unstyled) (#1808) * fix: add material-react-table * fix: upgraded Prettier * feat: added DataGrid * fix: added tsbuildinfo to speed up TS compiles * fix: removed unused dependencies from Storybook * fix: updated DataGrid story for Storybook v7 * feat: updated DataGrid with more functionality * fix: added notes to DataGrid and commented out Reports * fix: removed unused imports from DataGrid * fix: upgraded material-react-table * fix: removed unsused comment in DataGrid * fix: split DataGrid into 2 components * fix: added translation interpolation and plurality * feat: added PaginatedDataGrid * fix: minor alphabetization in Select * fix: pagination works now in DataGrid * fix: removed InfinitelyScrolledDataGrid * fix: minor code positioning * fix: renamed DataGrid to DataTable * fix: renamed table and fixed checkboxes * fix: removed unused DataGrid component * fix: incorrectly named i18nKey values * fix: removed old Table stories * fix: stories using Table now use StaticTable * fix: incorrect children type in OdysseyTranslationProvider * fix: story imports use @storybook/blocks instead of @storybook/addon-docs/blocks * fix: missing Table components in RTL stories * fix: updated TokenTables to properly render new brand tokens * fix: removed unused import * fix: added console.error where we had console.log * fix: axe testing bug * Allow MenuButton to accept null children (#1847) refactor: add NullElement * Change all imports to be relative to `./` rather than from `./index.ts` (#1828) * refactor: make file paths absolute * refactor: make remaining file paths absolute * fix: commit suggestions from KG * refactor: update createTheme import * fix: update source of createTheme * refactor: change Alert imports to relative --------- Co-authored-by: Edbury Enegren * Ensure TagList can wrap (#1837) * fix: ensure TagList can wrap * feat: add isWrappable to TagList * refactor: make flexWrap the default * refactor(odyssey-react-mui): update TextInput styles to match brand * fix(odyssey-react-mui): lengthy field labels are no longer cut off * refactor(odyssey-react-mui): fix spacing in Select menu * refactor(odyssey-react-mui): restyle Select and Autocomplete for brand * fix(odyssey-react-mui): autocomplete is now RTL friendly * docs(odyssey-storybook): fix broken Autocomplete.Loading story * docs: update docs for Supernova (#1821) * docs: update docs for Supernova * fix: change type of endIcon in controls * refactor: make Button default to primary * feat: switch args back to alphabetical * refactor: move icons into separate file * fix: fix merge conflicts * fix: fix type errors * refactor: apply recommended changes * feat: add docs for CircularProgress * feat: add Link docs * feat: add Icon docs * feat: add Dialog docs * feat: modify ScreenReaderText docs * feat: update Status documentation * feat: add Tooltip docs * feat: add Tag documentation * feat: add Tabs docs * feat: added MenuButton docs * feat: updated Typography docs * refactor: simplify DatePicker docs * feat: update Banner docs * feat: update docs for Infobox * feat: update Toast docs * feat: update Autocomplete docs * feat: update docs for TextField * feat: update Checkbox and CheckboxGroup docs * feat: update Radio and RadioGroup docs * feat: update Form and Fieldset docs * feat: update Select and NativeSelect docs * refactor: abstracted out type enums * fix: fix type errors in Toast stories * fix: remove click on disabled checkbox * refactor: commit KG suggestions * fix: add missing variant to Button * refactor: fix import relativity * refactor(odyssey-react-mui): make Button styling syntax consistent * refactor: simplify Select stories (#1867) * fix: Button's `tooltipText` needs to show on hover (#1817) * fix: not showing Button's tooltipText when the prop is passed * fix: minor ordering of properties in Tooltip stories * fix: some Tooltip position stories use Tag, not Button * refactor(odyssey-react-mui): replace all theme.spacing with spacing tokens * refactor(odyssey-react-mui): remove mui variables that have a token equivalent * refactor(odyssey-design-tokens): update token values for consistency * feat(odyssey-react-mui): update Button to match Rebrand * docs(odyssey-storybook): add Disabled states to Button stories * chore: update aria label * chore: update button colors per design review * refactor: remove forwardRef on Link (#1863) * refactor(odyssey-react-mui): update Tab/Tabs styling * fix: add play test for dialog, menubutton, select, tag, passwordfield (#1861) * chore: update based on design feedback * chore: fix tests * chore: fix broken a11y test * feat(odyssey-react-mui): updated ScopedCSSBaseline for rebrand * chore: use "highlight" tokens * refactor: remove IconButton (#1865) * docs: add monolith to OdysseyTranslationProvider doc (#1866) * docs: add monolith to OdysseyTranslationProvider doc * Update packages/odyssey-storybook/src/guidelines/OdysseyTranslationProvider.stories.mdx Co-authored-by: Kevin Ghadyani <97464104+KevinGhadyani-Okta@users.noreply.github.com> * docs: expand on monolith docs --------- Co-authored-by: Kevin Ghadyani <97464104+KevinGhadyani-Okta@users.noreply.github.com> * Simplify Dialog children type (#1873) refactor: prevent children from being an array * Remove Icon type restriction from Button adornments (#1872) refactor: loosen type rules around Button adornments * feat(odyssey-react-mui): update Dialog to match Rebrand * chore: remove unnec import * chore: fix No Button state * chore: update Floating button bg * fix: Upgrade many packages to fix vulns (#1880) * fix: upgraded all packages * fix: datePickerTheme types * Remove all direct MUI exports (#1874) * refactor: remove all direct MUI exports * fix: update broken import * fix: update ThemeOptions import * fix: update additional broken imports * fix: move dep to devDep * chore: update yarn lock * refactor: re-add MUI exports to our library * refactor: make MenuItem use our own props (#1822) * refactor: make MenuItem use our own props * feat: add props to MenuItem * fix: update MenuItem API * refactor: commit KG suggestions * docs: add prop docs to MenuItem * fix: add NonNullable to fix broken type * chore: pull close button * refactor(odyssey-react-mui): remove borders from button:hover * Clean up props (#1868) * refactor: alphabetize all the things * docs: add full documentation to props * docs: add Field hasVisibleLabel prop * fix: adjust comment placement in Tooltip * refactor(odyssey-react-mui): remove remaining Theme variables from components file * docs: add RadioGroup isOptional explanation (#1890) * Change names of the Dialog footer props (#1887) refactor: change Dialog footer props * chore: update token naming after review * chore: update border main to control * chore: remove more theme vars * Moved Odyssey Labs into MUI (#1885) * feat: merged labs with mui * fix: import for MuiThemeDecorator * fix: removed README from labs/ export * fix: types export from labs * chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 (#1871) Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3. - [Release notes](https://github.com/salesforce/tough-cookie/releases) - [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md) - [Commits](https://github.com/salesforce/tough-cookie/compare/v4.1.2...v4.1.3) --- updated-dependencies: - dependency-name: tough-cookie dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump semver from 5.7.1 to 5.7.2 (#1876) Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump word-wrap from 1.2.3 to 1.2.4 (#1892) Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(odyssey-react-mui): make Form, Infobox spacing constent across uses * refactor: enable ARIA attributes on MenuButton (#1893) * Default Button text to empty string (#1883) refactor: default Button text to empty string * Add Odyssey clear button to SearchField (#1878) * feat: hide native clear button * feat: add custom button for search clear * docs: add proper docs to SearchField * Update packages/odyssey-react-mui/src/SearchField.tsx * refactor: add KG improvements * Update packages/odyssey-react-mui/src/SearchField.tsx * Update packages/odyssey-react-mui/src/SearchField.tsx * Update packages/odyssey-react-mui/src/SearchField.tsx * Wrap Box (#1891) * feat: wrap Box * refactor: use internal Box where possible * fix: add ref to wrapped Box * refactor: switch to material Box * Add StylisPlugins to OdysseyCacheProvider (#1898) * feat: adds ability to optionally add stylisPlugins * fix: refactors prop types in OdysseyProvider * Update README.md with new URL (#1901) * feat: add Button types (#1903) * docs: add kitchen sink to Button (#1902) * docs: add kitchen sink to Button * fix: add aria to icon-only button * Change Checkbox onChange and validity (#1895) * refactor: moving isValid to validity * feat: make component controlled * fix: use correct type for onChange * test: remove tests on certain checkbox states * refactor: cpation to subordinate * feat: adds ScopedCssBaseline to OdysseyThemeProvider (#1904) * Move Table to Labs (#1900) * refactor: move Table to Labs * fix: update broken types * refactor: remove Button prop changes * Require Button to have text, startIcon, or endIcon (#1899) * refactor: require Button to have text, startIcon, or endIcon * fix: fix broken types * refactor: update play types * Wrap Typography (#1886) * feat: wrap Typography * feat: add ARIA props to Typography * refactor: switch Typography to internal and add color * fix: update types * refactor: abstract component list into type * refactor: encapsulate component * refactor: update aliases * fix: modify vestigial Typogrpahy components * feat: remove Icon component (#1864) * feat: remove Icon component * docs: add explanatory description * fix: remove unnecessary type specificity * fix: remove unneeded invalid import * refactor: export icons and iconDictionary * fix: update icon imports * refactor: switch from iconDictionary to icons * refactor: make icons a separate export * fix: fix broken imports * fix: update broken import path * fix: add type fix * refactor: improve iconUtils * fix: update type * docs(odyssey-storybook): update Form, Fieldset content * Fixed icon index generation as well as renaming to .generated (#1906) * fix: icons get moved to dist/, not src/ * fix: updates Link target type to properly show all possible string values * fix: icons export in mui package.json * fix: moved devDependencies as dependencies in odyssey-svgr * fix: export for @okta/odyssey-react-mui/icons contains generated icons * fix: svg path optimization * Add OdysseyDesignTokensContext (#1908) * fix: icons get moved to dist/, not src/ * fix: updates Link target type to properly show all possible string values * fix: icons export in mui package.json * fix: moved devDependencies as dependencies in odyssey-svgr * fix: export for @okta/odyssey-react-mui/icons contains generated icons * fix: svg path optimization * fix: add OdysseyDesignTokensContext * refactor: rename "Infobox" to "Callout" * Translations for odyssey (#1909) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * chore: typo fixes and sorting * feat: add `isDisabled` in context from Fieldset to Field (#1911) * Adds missing Tooltip functionality support to MenuButton and Status (#1912) * feat: add tooltipText to MenuButton * feat: rename `Button`'s `text` prop to `label * fix: refactored Button to use useMuiProps hook * feat: add Tooltip capabilities to Status * fix: button stories broken and menu button stories missing tooltip text * fix!: allow major version bumps (#1913) * Merge v1.0.0 into develop (#1915) Release/v1.0.0 (#1914) * refactor(odyssey-design-tokens): consolidate tokens, initial 2.0 work * refactor(odyssey-react-mui): refactor to use new tokens * refactor(odyssey-storybook): refactor to use new tokens * chore: pr feedback * refactor: update token names based on Content feedback * refactor: update typography tokens to match new values * fix(odyssey-storybook): match storybook ui to new tokens * chore: these keep popping up after build * docs(odyssey-storybook): update theming docs to use new tokens * Translations for odyssey (#1807) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * fix: use odyssey tokens inside mui components style override * refactor(odyssey-design-tokens): rename "primary" type color to "action" * feat(odyssey-design-tokens): add "darker" to primary palette * feat(odyssey-react-mui): update Link to match new brand standards * feat(odyssey-react-mui): include color properties in type styles * refactor(odyssey-react-mui): migrate Circular Progress to design tokens * chore: fix hover/visited ordering * chore: same fix for monochrome variant * fix: add incremental to root tsconfig (#1810) fix: added incremental to root TSconfig * feat(odyssey-design-tokens): add border.radius.round * refactor(odyssey-design-tokens): caution to warning * refactor(odyssey-react-mui): convert MuiChip to odyssey tokens; find/replace all touched tokens * fix: memoize the Link component (#1813) fix: memoized the Link component * feat(odyssey-design-tokens): add border.width.heavy * feat(odyssey-react-mui): update Status styles and variants to match brand * docs(odyssey-storybook): update Status stories * feat(odyssey-design-tokens): add tokens for colorized text * refactor(odyssey-react-mui): apply colorized text tokens * chore: upgraded Applitools (#1815) * fix: change to DesignTokens type rather than the overrides in theme (#1816) * fix: changed to DesignTokens type rather than the overrides in theme creation * fix: incorrectly named property in Odyssey Storybook theme issue * chore(odyssey-design-tokens): update hue values * chore: rename indicator to variant * feat(odyssey-design-tokens): add 'disabled' type color * feat(odyssey-react-mui): add icon support to Tag * fix(odyssey-react-mui): add aria-disabled to Tag * chore: update Tag and Status styles based on design feedback * fix: orrectly import zh-CN and zh-TW files * refactor: remove isDefaultChecked and add isInvalid to Radio * refactor: remove vestigial isDefaultChecked from Checkbox * refactor: remove isDefaultValue from Radio * refactor: change hasError to isInvalid for Radio * refactor: make default Tooltip placement top * feat(odyssey-design-tokens): add border.outer and palette.x.heading * refactor(odyssey-react-mui): update all Alert styles to match rebrand * fix: enable a11y tests in CI (#1826) * fix: enable a11y tests in CI, add ariaLabel to components with accessibility violations * refactor(odyssey-react-mui): refactor alert title styling to enable variation * fix: Applitools VRT (#1827) fix: fixed Applitools config * feat(odyssey-design-tokens): add alpha tokens * feat(odyssey-react-mui): add transparency and blur to Toast * chore(odyssey-design-tokens): update alpha values to hex * docs(odyssey-storybook): make datepicker starting date fixed * chore: fix borderRadius on banner * chore(deps-dev): bump vite from 4.3.8 to 4.3.9 (#1819) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.3.8 to 4.3.9. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.3.9/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... * fix: clicking MenuItem closes MenuButton (#1820) * fix: clicking MenuItem didn't close MenuButton * fix: incorrect prop name in MenuButton stories * Fix RTL position of chevron in NativeSelect (#1835) fix: adjust NativeSelect chevron position in RTL * Remove default branch in i18n config (#1841) * docs(odyssey-storybook): update Form stories to be more comprehensive * feat(odyssey-design-tokens): add token for border.radius.tight * feat(odyssey-react-mui): add sub2 type style * refactor(odyssey-react-mui): update Form and Fieldset styles to match brand * chore: add Checkbox to kitchen sink * fix: specfy accessibility tags section508, wcag21aa (#1839) * fix: specfy accessibility tags section508, wcag21aa * fix: a11y test for toast, typography, radio, checkbox * chore: update Field margin * RTL fixes for field labels (#1836) * fix: respect RTL in FormControlLabel children * fix: respect RTL in FormLabel optional text * refactor: replace margins with gap * refactor: remove vestigial display declaration * Enable button wrapping in Dialog footer (#1838) * feat: enable button wrapping in Dialog footer * refactor: improve Dialog footer specificity * Add missing displayNames to components (#1852) refactor: add missing displayNames * refactor(odyssey-react-mui): use component class name variables wherever possible * Prevent dismiss button from overlapping Banner text (#1850) * fix: add additional padding to dismissable banners * fix: make dismissable padding uniform * Update RTL spacing for tab icons (#1849) fix: update RTL spacing for tab icons * Fix div-inside-of-p issue in field errors (#1848) fix: make ScreenReaderText a span for semantics * feat(odyssey-icons): update all icon source SVGs * feat(odyssey-svgr): update template to support 24x24 sources * feat(odyssey-react-mui): generate new and updated icon components * feat(odyssey-react-mui): manually update icon index, update references in styling * docs(odyssey-storybook): update stories to use new icons * chore(odyssey-icons): update source/figma * chore(odyssey-react-mui): update icon components and index * chore(odyssey-storybook): update icon stories * chore: update external link icon * refactor(odyssey-react-mui): component Link now uses ExternalLinkIcon * chore: add pseudo-loc languages and fix locale inconsistency (#1851) * chore(odyssey-react-mui): change dash to underscore to align with other react locale format * chore: add ok-PL ok-SK language suppport * chore: updating README * chore: update naming for all icons * fix: add tooltip play test (#1854) * fix: add playwright tests for tabs, tooltip, banner, autocomplete * Translations for odyssey (#1856) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * Add DataGrid (unstyled) (#1808) * fix: add material-react-table * fix: upgraded Prettier * feat: added DataGrid * fix: added tsbuildinfo to speed up TS compiles * fix: removed unused dependencies from Storybook * fix: updated DataGrid story for Storybook v7 * feat: updated DataGrid with more functionality * fix: added notes to DataGrid and commented out Reports * fix: removed unused imports from DataGrid * fix: upgraded material-react-table * fix: removed unsused comment in DataGrid * fix: split DataGrid into 2 components * fix: added translation interpolation and plurality * feat: added PaginatedDataGrid * fix: minor alphabetization in Select * fix: pagination works now in DataGrid * fix: removed InfinitelyScrolledDataGrid * fix: minor code positioning * fix: renamed DataGrid to DataTable * fix: renamed table and fixed checkboxes * fix: removed unused DataGrid component * fix: incorrectly named i18nKey values * fix: removed old Table stories * fix: stories using Table now use StaticTable * fix: incorrect children type in OdysseyTranslationProvider * fix: story imports use @storybook/blocks instead of @storybook/addon-docs/blocks * fix: missing Table components in RTL stories * fix: updated TokenTables to properly render new brand tokens * fix: removed unused import * fix: added console.error where we had console.log * fix: axe testing bug * Allow MenuButton to accept null children (#1847) refactor: add NullElement * Change all imports to be relative to `./` rather than from `./index.ts` (#1828) * refactor: make file paths absolute * refactor: make remaining file paths absolute * fix: commit suggestions from KG * refactor: update createTheme import * fix: update source of createTheme * refactor: change Alert imports to relative --------- * Ensure TagList can wrap (#1837) * fix: ensure TagList can wrap * feat: add isWrappable to TagList * refactor: make flexWrap the default * refactor(odyssey-react-mui): update TextInput styles to match brand * fix(odyssey-react-mui): lengthy field labels are no longer cut off * refactor(odyssey-react-mui): fix spacing in Select menu * refactor(odyssey-react-mui): restyle Select and Autocomplete for brand * fix(odyssey-react-mui): autocomplete is now RTL friendly * docs(odyssey-storybook): fix broken Autocomplete.Loading story * docs: update docs for Supernova (#1821) * docs: update docs for Supernova * fix: change type of endIcon in controls * refactor: make Button default to primary * feat: switch args back to alphabetical * refactor: move icons into separate file * fix: fix merge conflicts * fix: fix type errors * refactor: apply recommended changes * feat: add docs for CircularProgress * feat: add Link docs * feat: add Icon docs * feat: add Dialog docs * feat: modify ScreenReaderText docs * feat: update Status documentation * feat: add Tooltip docs * feat: add Tag documentation * feat: add Tabs docs * feat: added MenuButton docs * feat: updated Typography docs * refactor: simplify DatePicker docs * feat: update Banner docs * feat: update docs for Infobox * feat: update Toast docs * feat: update Autocomplete docs * feat: update docs for TextField * feat: update Checkbox and CheckboxGroup docs * feat: update Radio and RadioGroup docs * feat: update Form and Fieldset docs * feat: update Select and NativeSelect docs * refactor: abstracted out type enums * fix: fix type errors in Toast stories * fix: remove click on disabled checkbox * refactor: commit KG suggestions * fix: add missing variant to Button * refactor: fix import relativity * refactor(odyssey-react-mui): make Button styling syntax consistent * refactor: simplify Select stories (#1867) * fix: Button's `tooltipText` needs to show on hover (#1817) * fix: not showing Button's tooltipText when the prop is passed * fix: minor ordering of properties in Tooltip stories * fix: some Tooltip position stories use Tag, not Button * refactor(odyssey-react-mui): replace all theme.spacing with spacing tokens * refactor(odyssey-react-mui): remove mui variables that have a token equivalent * refactor(odyssey-design-tokens): update token values for consistency * feat(odyssey-react-mui): update Button to match Rebrand * docs(odyssey-storybook): add Disabled states to Button stories * chore: update aria label * chore: update button colors per design review * refactor: remove forwardRef on Link (#1863) * refactor(odyssey-react-mui): update Tab/Tabs styling * fix: add play test for dialog, menubutton, select, tag, passwordfield (#1861) * chore: update based on design feedback * chore: fix tests * chore: fix broken a11y test * feat(odyssey-react-mui): updated ScopedCSSBaseline for rebrand * chore: use "highlight" tokens * refactor: remove IconButton (#1865) * docs: add monolith to OdysseyTranslationProvider doc (#1866) * docs: add monolith to OdysseyTranslationProvider doc * Update packages/odyssey-storybook/src/guidelines/OdysseyTranslationProvider.stories.mdx * docs: expand on monolith docs --------- * Simplify Dialog children type (#1873) refactor: prevent children from being an array * Remove Icon type restriction from Button adornments (#1872) refactor: loosen type rules around Button adornments * feat(odyssey-react-mui): update Dialog to match Rebrand * chore: remove unnec import * chore: fix No Button state * chore: update Floating button bg * fix: Upgrade many packages to fix vulns (#1880) * fix: upgraded all packages * fix: datePickerTheme types * Remove all direct MUI exports (#1874) * refactor: remove all direct MUI exports * fix: update broken import * fix: update ThemeOptions import * fix: update additional broken imports * fix: move dep to devDep * chore: update yarn lock * refactor: re-add MUI exports to our library * refactor: make MenuItem use our own props (#1822) * refactor: make MenuItem use our own props * feat: add props to MenuItem * fix: update MenuItem API * refactor: commit KG suggestions * docs: add prop docs to MenuItem * fix: add NonNullable to fix broken type * chore: pull close button * refactor(odyssey-react-mui): remove borders from button:hover * Clean up props (#1868) * refactor: alphabetize all the things * docs: add full documentation to props * docs: add Field hasVisibleLabel prop * fix: adjust comment placement in Tooltip * refactor(odyssey-react-mui): remove remaining Theme variables from components file * docs: add RadioGroup isOptional explanation (#1890) * Change names of the Dialog footer props (#1887) refactor: change Dialog footer props * chore: update token naming after review * chore: update border main to control * chore: remove more theme vars * Moved Odyssey Labs into MUI (#1885) * feat: merged labs with mui * fix: import for MuiThemeDecorator * fix: removed README from labs/ export * fix: types export from labs * chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 (#1871) Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3. - [Release notes](https://github.com/salesforce/tough-cookie/releases) - [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md) - [Commits](https://github.com/salesforce/tough-cookie/compare/v4.1.2...v4.1.3) --- updated-dependencies: - dependency-name: tough-cookie dependency-type: indirect ... * chore(deps): bump semver from 5.7.1 to 5.7.2 (#1876) Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... * chore(deps): bump word-wrap from 1.2.3 to 1.2.4 (#1892) Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... * fix(odyssey-react-mui): make Form, Infobox spacing constent across uses * refactor: enable ARIA attributes on MenuButton (#1893) * Default Button text to empty string (#1883) refactor: default Button text to empty string * Add Odyssey clear button to SearchField (#1878) * feat: hide native clear button * feat: add custom button for search clear * docs: add proper docs to SearchField * Update packages/odyssey-react-mui/src/SearchField.tsx * refactor: add KG improvements * Update packages/odyssey-react-mui/src/SearchField.tsx * Update packages/odyssey-react-mui/src/SearchField.tsx * Update packages/odyssey-react-mui/src/SearchField.tsx * Wrap Box (#1891) * feat: wrap Box * refactor: use internal Box where possible * fix: add ref to wrapped Box * refactor: switch to material Box * Add StylisPlugins to OdysseyCacheProvider (#1898) * feat: adds ability to optionally add stylisPlugins * fix: refactors prop types in OdysseyProvider * Update README.md with new URL (#1901) * feat: add Button types (#1903) * docs: add kitchen sink to Button (#1902) * docs: add kitchen sink to Button * fix: add aria to icon-only button * Change Checkbox onChange and validity (#1895) * refactor: moving isValid to validity * feat: make component controlled * fix: use correct type for onChange * test: remove tests on certain checkbox states * refactor: cpation to subordinate * feat: adds ScopedCssBaseline to OdysseyThemeProvider (#1904) * Move Table to Labs (#1900) * refactor: move Table to Labs * fix: update broken types * refactor: remove Button prop changes * Require Button to have text, startIcon, or endIcon (#1899) * refactor: require Button to have text, startIcon, or endIcon * fix: fix broken types * refactor: update play types * Wrap Typography (#1886) * feat: wrap Typography * feat: add ARIA props to Typography * refactor: switch Typography to internal and add color * fix: update types * refactor: abstract component list into type * refactor: encapsulate component * refactor: update aliases * fix: modify vestigial Typogrpahy components * feat: remove Icon component (#1864) * feat: remove Icon component * docs: add explanatory description * fix: remove unnecessary type specificity * fix: remove unneeded invalid import * refactor: export icons and iconDictionary * fix: update icon imports * refactor: switch from iconDictionary to icons * refactor: make icons a separate export * fix: fix broken imports * fix: update broken import path * fix: add type fix * refactor: improve iconUtils * fix: update type * docs(odyssey-storybook): update Form, Fieldset content * Fixed icon index generation as well as renaming to .generated (#1906) * fix: icons get moved to dist/, not src/ * fix: updates Link target type to properly show all possible string values * fix: icons export in mui package.json * fix: moved devDependencies as dependencies in odyssey-svgr * fix: export for @okta/odyssey-react-mui/icons contains generated icons * fix: svg path optimization * Add OdysseyDesignTokensContext (#1908) * fix: icons get moved to dist/, not src/ * fix: updates Link target type to properly show all possible string values * fix: icons export in mui package.json * fix: moved devDependencies as dependencies in odyssey-svgr * fix: export for @okta/odyssey-react-mui/icons contains generated icons * fix: svg path optimization * fix: add OdysseyDesignTokensContext * refactor: rename "Infobox" to "Callout" * Translations for odyssey (#1909) chore(odyssey-react-mui): translations for odyssey-react-mui.properties * chore: typo fixes and sorting * feat: add `isDisabled` in context from Fieldset to Field (#1911) * Adds missing Tooltip functionality support to MenuButton and Status (#1912) * feat: add tooltipText to MenuButton * feat: rename `Button`'s `text` prop to `label * fix: refactored Button to use useMuiProps hook * feat: add Tooltip capabilities to Status * fix: button stories broken and menu button stories missing tooltip text * fix!: allow major version bumps (#1913) * build: bump versions for v1.0.0 * docs: update CHANGELOG for v1.0.0 --------- Signed-off-by: dependabot[bot] Co-authored-by: Edbury Enegren <36284167+edburyenegren-okta@users.noreply.github.com> Co-authored-by: Edbury Enegren Co-authored-by: ui-okta <33877894+ui-okta@users.noreply.github.com> Co-authored-by: Ganesh Somasundaram Co-authored-by: François Lehoux Co-authored-by: Jordan Koschei <91091570+jordankoschei-okta@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Zihan Wang <57023248+zihanwang-okta@users.noreply.github.com> Co-authored-by: Queenie Chen <83596595+queeniechen-okta@users.noreply.github.com> * Launch day fixes (#1916) * refactor: move alert components out of folder * feat: add id to Box * fix: update fieldset description margins * docs: update the readmes * chore: upgrade storybook (#1917) * chore: upgrade storybook * chore: upgrade additional packages * Upgraded Lerna and conventional commit packages (#1919) * feat: upgrade Lerna to v7 * feat: upgrades commitlint cli * fix: upgrades commitlint plugins * feat: upgrades conventional-changelog-conventionalcommits * fix: removes lerna graduate commits * fix: fixes GitHub CI deploy failure on a11y * Merge v1.0.1 into develop (#1922) * fix: revert Odyssey bundle exports (#1920) fix: revert Odyssey exports changes * fix: broken styles in MuiInputBase (#1921) * build: bump versions for v1.0.2 * docs: update CHANGELOG for v1.0.2 * fix: update aria props passthrough * feat: memoize Box and Typography * feat: enable overflow and default MenuButton * fix: add back isDisabled to MenuItem * feat: add LTR-RTL button to support rtl languages (#1927) * feat: adds semgrep static scan to the repo (#1930) * fix(odyssey-react-mui): make Autocomplete option styles match Select * fix(odyssey-react-mui): make Autocomplete option focus a11y-compliant * chore: update hover colors on options * chore: update MenuItem option focus color to match hover * fix: remove useless isDestructive prop * Fix multi-select checkbox (#1931) fix: replace Select checkbox with MuiCheckbox * docs: update CustomTheming with correct example (#1932) * refactor(odyssey-react-mui): use IconButton within Form Fields * fix(odyssey-react-mui): ensure headings pick up TypographyFamilyHeading * fix: moves @emotion/styled and @emotion/react to dependencies (#1944) * fix: move @emotion/styled and @emotion/react to dependencies * fix: update README installation instructions * refactor: move ScopedCssBaseline to OdysseyProvider (#1940) * fix: adds branches back to Applitools (#1943) * fix: add branches back to Applitools * chore: testing branch name logging * fix: removed explicit baseline * fix: updated Applitools branch name --------- Signed-off-by: dependabot[bot] Co-authored-by: Edbury Enegren <36284167+edburyenegren-okta@users.noreply.github.com> Co-authored-by: Edbury Enegren Co-authored-by: ui-okta <33877894+ui-okta@users.noreply.github.com> Co-authored-by: Ganesh Somasundaram Co-authored-by: François Lehoux Co-authored-by: Jordan Koschei <91091570+jordankoschei-okta@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Zihan Wang <57023248+zihanwang-okta@users.noreply.github.com> Co-authored-by: Queenie Chen <83596595+queeniechen-okta@users.noreply.github.com> Co-authored-by: jordankoschei-okta --- .bacon.yml | 8 ++ ...ction-npm-0.0.19-a6fab876fe-688ac4c510.zip | Bin 0 -> 18649 bytes packages/odyssey-react-mui/README.md | 2 +- packages/odyssey-react-mui/package.json | 6 +- .../odyssey-react-mui/src/Autocomplete.tsx | 1 + packages/odyssey-react-mui/src/Box.tsx | 9 +- packages/odyssey-react-mui/src/MenuButton.tsx | 17 +++- packages/odyssey-react-mui/src/MenuItem.tsx | 6 +- .../odyssey-react-mui/src/OdysseyProvider.tsx | 15 ++-- .../src/OdysseyThemeProvider.tsx | 10 +-- .../odyssey-react-mui/src/PasswordField.tsx | 14 ++-- .../odyssey-react-mui/src/SearchField.tsx | 16 ++-- packages/odyssey-react-mui/src/Select.tsx | 4 +- packages/odyssey-react-mui/src/Typography.tsx | 79 ++++++++++++------ packages/odyssey-react-mui/src/labs/README.md | 4 +- .../src/theme/components.tsx | 47 +++++++++-- packages/odyssey-storybook/.storybook/main.ts | 1 + .../odyssey-storybook/.storybook/preview.ts | 4 + .../odyssey-storybook/applitools.config.js | 27 +++--- .../applitools.xbrowser.config.js | 2 +- packages/odyssey-storybook/package.json | 1 + .../MenuButton/MenuButton.stories.tsx | 15 +++- .../src/guidelines/CustomTheming.stories.mdx | 8 +- scripts/semgrep.sh | 12 +++ yarn.lock | 23 ++++- 25 files changed, 225 insertions(+), 106 deletions(-) create mode 100644 .bacon.yml create mode 100644 .yarn/cache/storybook-addon-rtl-direction-npm-0.0.19-a6fab876fe-688ac4c510.zip create mode 100644 scripts/semgrep.sh diff --git a/.bacon.yml b/.bacon.yml new file mode 100644 index 0000000000..1579edfee9 --- /dev/null +++ b/.bacon.yml @@ -0,0 +1,8 @@ +test_suites: + - name: semgrep + script_path: /root/okta/odyssey/scripts + sort_order: "1" + timeout: "10" + script_name: semgrep + criteria: MERGE + queue_name: small diff --git a/.yarn/cache/storybook-addon-rtl-direction-npm-0.0.19-a6fab876fe-688ac4c510.zip b/.yarn/cache/storybook-addon-rtl-direction-npm-0.0.19-a6fab876fe-688ac4c510.zip new file mode 100644 index 0000000000000000000000000000000000000000..fa7801fcb2762ec3fcb9a93cfca58d17be95ced5 GIT binary patch literal 18649 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 <19", "react-dom": ">=17 <19" } diff --git a/packages/odyssey-react-mui/src/Autocomplete.tsx b/packages/odyssey-react-mui/src/Autocomplete.tsx index 62481a15e7..54fd8aeae1 100644 --- a/packages/odyssey-react-mui/src/Autocomplete.tsx +++ b/packages/odyssey-react-mui/src/Autocomplete.tsx @@ -157,6 +157,7 @@ const Autocomplete = < ( +const Box = forwardRef( ({ children, component, id, sx }, ref) => ( ( ) ); -Box.displayName = "Box"; +const MemoizedBox = memo(Box); +MemoizedBox.displayName = "Box"; + +export { MemoizedBox as Box }; diff --git a/packages/odyssey-react-mui/src/MenuButton.tsx b/packages/odyssey-react-mui/src/MenuButton.tsx index f522d4e609..cafabfddd1 100644 --- a/packages/odyssey-react-mui/src/MenuButton.tsx +++ b/packages/odyssey-react-mui/src/MenuButton.tsx @@ -12,7 +12,7 @@ import { Button, buttonVariantValues, MenuItem, useUniqueId } from "./"; import { Divider, ListSubheader, Menu } from "@mui/material"; -import { ChevronDownIcon } from "./icons.generated"; +import { ChevronDownIcon, MoreIcon } from "./icons.generated"; import { memo, type ReactElement, useCallback, useMemo, useState } from "react"; import { MenuContext, MenuContextType } from "./MenuContext"; @@ -55,6 +55,10 @@ export type MenuButtonProps = { * The id of the Button */ id?: string; + /** + * If the MenuButton is an overflow menu or standard menu. + */ + isOverflow?: boolean; /** * The tooltip text for the Button if it's icon-only */ @@ -84,8 +88,9 @@ const MenuButton = ({ buttonLabel = "", buttonVariant = "secondary", children, - endIcon = , + endIcon: endIconProp, id: idOverride, + isOverflow, tooltipText, }: MenuButtonProps) => { const [anchorEl, setAnchorEl] = useState(null); @@ -115,6 +120,14 @@ const MenuButton = ({ [closeMenu, openMenu] ); + const endIcon = endIconProp ? ( + endIconProp + ) : isOverflow ? ( + + ) : ( + + ); + return (