7.0.1 (2023-03-16)
- Remove helpers/tests from exports to remove deps (75468d0)
7.0.0 (2023-03-16)
- Export ThemeCustomizations type from each theme file (285c9ca)
- Fix missing exports (1338315)
- Update to current MDX extension (d127977)
- Add Encourage E4S theme (work in progress) (1a57c41)
- Add spacingPx to all themes (0039309)
- Better tree shaking support (0697936)
- Enable github actions and standard-release (81238fb)
- Encourage theme tweaks based on latest E4S (96a5346)
- Migrate from babel build to es6 build for better tree shaking (6660657)
- Migrate MUI stories to CSF V3 format (257c9d6)
- Remove custom colors from themes and move into palette on existing themes (f5a2d55)
- Breaking changes to the theme creation format and the module output
7.0.0-next.4 (2023-03-16)
7.0.0-next.3 (2023-03-13)
- Encourage theme tweaks based on latest E4S (96a5346)
7.0.0-next.2 (2023-03-13)
- Add spacingPx to all themes (0039309)
7.0.0-next.1 (2023-02-17)
- Update to current MDX extension (d127977)
- Add Encourage E4S theme (work in progress) (1a57c41)
- Better tree shaking support (0697936)
- Enable github actions and standard-release (81238fb)
- Migrate from babel build to es6 build for better tree shaking (6660657)
- Migrate MUI stories to CSF V3 format (257c9d6)
- Remove custom colors from themes and move into palette on existing themes (f5a2d55)
- Breaking changes to the theme creation format and the module output
6.3.0 (2022-12-02)
- Bump npm packages to their latest compatible releases (12321f7)
6.2.0 (2022-11-01)
- Upgrade NPM deps to their latest compatible releases (00e7861)
6.1.2 (2022-08-31)
- Fix 'Select' component playground not interacting well with 'multiple' control (9f0e9ae)
6.1.1 (2022-07-14)
6.0.5 (2022-07-14)
6.1.0 (2022-07-14)
- Add Confirmation Dialog component (7c43699)
- Confirmation hook multiple fires and API organization (9531207)
- Remove story types from build (3d1b80b)
6.0.4 (2022-07-05)
6.0.3 (2022-06-29)
6.0.2 (2022-06-29)
-
mui 5 and mui 4 are incompatible
-
mui 5 no longer uses JSS but emotion
-
chore(release): 6.0.0-alpha.0
-
chore: Add release scripts
-
chore: Fix labs peer dep
-
chore(release): 6.0.0-alpha.1
-
chore: Cleanup typography settings after migration
-
chore(release): 6.0.0-alpha.2
-
chore: Clean up babel build overrides
-
chore(release): 6.0.0-alpha.3
-
chore: Clean up act theme fix babel remaps and config inheritance
-
chore(release): 6.0.0-alpha.4
-
chore: Refactor styled engine provider location
-
chore: Fix styled-engine peerDep
-
chore(release): 6.0.0-alpha.5
-
chore: Use rem for typography spacing
-
chore(release): 6.0.0-alpha.6
-
chore: Update snap
-
chore: Clean ui mui stories and update tests
-
chore(release): 6.0.0-alpha.7
-
chore: Update lock file
-
chore(release): 6.0.0-alpha.8
-
chore: NPM package upgrades
-
test: Update tests
-
test: Fix all tests
-
fix: Rename story names
-
feat: Remove deprecated components
-
refactor: Rename FormInputGroups to GridGenerator
-
feat: Added status badges, documentation cleanup
-
chore: Documentation cleanup
-
refactor: Migrate styling from JSS to emotion
-
fix: Remove @mui/styles dep
-
chore: Updated packages
-
test: Fix tests
-
fix: Fix issues with React 18 upgrade
-
docs: Remove versions from install command since we are compatible with latest
-
docs: Fix versions
-
docs: Fix dev guide for mui5
-
chore(release): 6.0.0-alpha.9
-
fix: Import classes directly to fix downstream module issues
-
chore(release): 6.0.0-alpha.10
-
fix: Import StyledEngineProvider from main package
-
chore(release): 6.0.0-alpha.11
-
fix: Fix import of StyledEngineProvider
-
chore(release): 6.0.0-alpha.12
-
docs: Minor doc improvements
-
chore: Fix storybook publish command
-
fix: Do not import colors on private path
-
chore(release): 6.0.0-alpha.13
-
build: Prep for release
-
chore(release): 6.0.0
-
build: Prep for release
-
chore(release): 6.0.0
-
build: Prep for release
-
chore(release): 6.0.0
Co-authored-by: Justin Watkins [email protected]
-
Replace ACT logo with ACT|Encoura lockup logo (#40) (4e18c14)
-
Migrate to MUI5, Add Support for React 18 (#75) (13528a5), closes #75
6.0.0-alpha.13 (2022-05-31)
- Do not import colors on private path (d21b426)
6.0.0-alpha.12 (2022-05-26)
- Fix import of StyledEngineProvider (77cd478)
6.0.0-alpha.11 (2022-05-26)
- Import StyledEngineProvider from main package (a2e489f)
6.0.0-alpha.9 (2022-05-24)
- Fix issues with React 18 upgrade (795c361)
- Remove @mui/styles dep (eab73de)
- Rename story names (913d10c)
6.0.0-alpha.8 (2022-05-20)
6.0.0-alpha.7 (2022-04-05)
6.0.0-alpha.6 (2022-04-04)
6.0.0-alpha.5 (2022-04-01)
6.0.0-alpha.4 (2022-04-01)
6.0.0-alpha.3 (2022-03-31)
6.0.0-alpha.2 (2022-03-09)
6.0.0-alpha.1 (2022-03-04)
6.0.0-alpha.0 (2022-03-02)
- mui 5 and mui 4 are incompatible
- mui 5 no longer uses JSS but emotion
- Documentation and Working build for mui-5 upgrade (be6662e)
- Material UI 5 support (36c942e)
- Mui 5 functional themes, cleaned up Mui storybook examples (2ae784b)
- Moved
@material-ui/core
,@material-ui/data-grid
, and@material-ui/lab
to thedevDependencies
section ofpackage.json
, since they are peer dependencies. This allows the downstream project to choose the exact versions of these packages that they would like to use. Any4.x
version should suffice!
- Moved
@material-ui/core
,@material-ui/data-grid
, and@material-ui/lab
to thedevDependencies
section ofpackage.json
, since they are peer dependencies. This allows the downstream project to choose the exact versions of these packages that they would like to use. Any4.x
version should suffice!
- Improved the TypeScript definition of the
titleTypographyProps
prop on the<EmptyState />
component.
- Added new optional props to the
EmptyState
componentdescriptionTypographyProps
iconProps
titleTypographyProps
- Improved the styling of the
EmptyState
title so that this component looks good across all themes.
- Upgraded most of the NPM dependencies and dev-dependencies to their latest compatible releases.
- Added a new color option,
customColors.tertiary.main
, to all themes.- Material UI v4 does not support the "tertiary" keyword on the
palette
, so this was implemented throughcustomColors
instead.
- Material UI v4 does not support the "tertiary" keyword on the
- Updated the
palette.secondary.dark
color on theENCOURA_DATALAB
theme to#003359
.
- Enable more flexibility on the react version used by downstream projects by
moving
react
andreact-dom
to dev dependencies.
- Added a new theme,
ENCOURA_DATALAB
, to the DLS. This theme is representative of one of Encoura's product lines. - Minor improvements and bug fixes for the
ACT_ET
theme. - Added more stories to the Storybook.
-
New component:
<TablePaginationActions />
- Useful for paginating large lists and tables
-
Enhanced
<DataTable />
component with<TablePaginationActions />
and optional props to support server-side pagination:limit?: number; offset?: number; onChangeLimit?: (limit: number) => void; onChangeOffset?: (offset: number) => void; rowsPerPageOptions?: number[]; totalCount?: number;
- Bind
this
toaddError
inAlertContext
.
- Added a new helper:
getErrorMessage
- Added new action for
AlertContext
:addError
.
- Updated the
ACT_ET
theme to produce cleaner text inputs and dropdowns when using Material UI's<TextField />
component. - Updated the documentation for
<FormInputGroups />
to use<TextField />
under the hood, since this is now the preferred way to add inputs to your app.
- Added a new helper:
oxfordCommaJoin
- Added
useLocalStorage
hook, which replaces the NPM packagereact-use-localstorage
.
- Fixes the
ReferenceError: regeneratorRuntime is not defined
exception inAlertContext
.
- Added
<SnackbarAlert />
component, which is an enhanced<Alert />
component that can transition on and off of the screen. - Added
AlertContext
(React Context) to queue and manage the display of multipleSnackbarAlert
s at the same time. Downstream apps should use the providedAlertContext
to programmatically trigger alerts, rather than usingSnackbarAlert
directly. Example below!- Powered by notistack.
// APP SETUP:
import AlertContextProvider from '@actinc/dls/context/AlertContext/provider';
const Root: React.FC = (): React.ReactElement<any> => (
<AlertContextProvider
anchorOriginHorizontal="right" // optional
anchorOriginVertical="bottom" // optional
maxSnack={5} // optional
>
<MyApp />
</AlertContextProvider>
);
// COMPONENT USAGE:
import { AlertContext } from '@actinc/dls/context';
const MyComponent: React.FC = (): React.ReactElement<any> => {
const { actions } = React.useContext(AlertContext);
return (
<span
onClick={async (): Promise<void> => {
await actions.addAlert({
message: 'Some error message',
options: {
variant: 'error',
},
});
}}
>
Click Me
</span>
);
};
- Lots of CSS improvements for the
<DataGrid />
component on theACT_ET
theme - Revamped the
<DataTable />
component as a simpler alternative to<DataGrid />
- All styles are now pulled from the Material UI theme
- Introduced a new
color: 'default' | 'primary' | 'secondary'
prop- BREAKING STYLE CHANGE: Previously, the default color treatment was
primary
(blue header row). The new default color treatment isdefault
(grey header row).
- BREAKING STYLE CHANGE: Previously, the default color treatment was
- Fixed some style issues with the
<Switch />
and<Badge />
components in theACT_ET
theme - Fixed some minor style issues with the
<AppBarNavigation />
component - We are no longer exporting the some components that were previously marked
as V3 / Deprecated:
<TableCellHead />
<TableCellBody />
<TableContainer />
- Added
<IdleTimer />
utility- Monitors keyboard and mouse activity to determine when the user has gone idle.
- Added
<DialogContinueSession />
molecule- Used to prompt the user to continue their current session. If the user does not choose to continue their session by the provided date, the user's session will expire.
- Added
<SessionTimer />
organism- Combines two
IdleTimer
s with theDialogContinueSession
component in order to fully and effectively manage the user's session.
- Combines two
- NPM package updates (
@material-ui/core
->^4.12.1
) - Added
<SessionStorageKeySharer />
utility component which allows a newly-opened tab to obtain a key:value pair from the Session Storage of another tab.- This is useful if you are storing your application's auth token in Session Storage and want to allow your users to open your app in another tab without having to re-authenticate.
- The implementation was inspired by this blog post.
- Note: Since this component makes use of Session Storage and Local Storage, this component is only meant to be rendered in the browser context. SSR apps should not use Session Storage for key/value pairs that are critical to the render (such as the user's auth token).
- Updated
<FormSelect />
component to allow options to be disabled. (Pull Request)
- With this release, the DLS will no longer export components that you can
import directly from Material UI, such as
<Button />
and<Link />
. - In almost all cases, there is no functional/stylistic difference between
importing a MUI component from the DLS vs. MUI. The only exception is with the
<Link />
component, as the MUILink
component does not accept ato
prop. - Removed
COLORS
andDIMS
constants. All DLS components are now powered by the theme engine. - Renamed the following components:
- Renamed
<DataTablePrimary />
to<DataTable />
- Renamed
<LoadingPrimary />
to<Loading />
- Renamed
<TableContainerPrimary />
to<TableContainer />
- Renamed
- Re-instated, and marked as deprecated, the following v3 components to help
with reverse compatibility / application migration. These components should
be removed when they have suitable alternatives that are powered by the MUI
themeing engine:
<FormInputPrimary />
<FormSelectPrimary />
<InputLabelPrimary />
<InputPrimary />
<SelectPrimary />
<SelectSecondary />
- This release includes a new
<AppBarNavigation />
component, courtesy of @stefansolyom.
- The DLS has been completely rebuilt on top of the Material UI
theme engine.
- There are two UI themes that are provided out of the box:
ACT
andACT_ET
. - Refer to the README for usage instructions and more details.
- There are two UI themes that are provided out of the box:
- This package is now open source! Available on NPM at
@actinc/dls
- Check the
README.md
file for slightly modified installation and usage instructions
This release improves the ability for developers to extend / override DLS components within their downstream applications.
Previously, the DLS styles were defined in a rigid manner, such that when you
would send in a custom classes
prop with some custom styles, these styles
would replace the default styling of the component, rather than
extend / compliment it.
To that end, v3 components will now extend their default styling when a
custom classes
prop is supplied.
Furthermore, we have introduced a new mergeClasses
helper function -- the
brains behind the new style merging behavior -- since this is a useful utility
for downstream apps as well.
Here's an example of how you can use mergeClasses
to help create your own
component variants that are based on Material UI:
/**
* @prettier
*/
import * as React from 'react';
import { Button, ButtonProps } from '@material-ui/core';
import { mergeClasses } from 'act-dls/lib/helpers';
import useStyles from './styles';
type Props = ButtonProps & {
subject: Subject;
};
const CustomButtonForTestPrep: React.FC<Props> = ({
classes: classesProp, // allow custom classes/styling to be supplied
subject,
...otherButtonProps
}: Props): React.ReactElement<any> => {
const classes = useStyles({ subject });
return (
<Button
classes={mergeClasses( // merge the default and custom styles together
{
outlined: classes.buttonOutlined,
root: classes.buttonRoot,
},
classesProp, // the custom styles take preference
)}
{...otherButtonProps}
/>
);
};
export default CustomButtonForTestPrep;