diff --git a/.firebaserc b/.firebaserc index 8fb22e954..f84e328fb 100644 --- a/.firebaserc +++ b/.firebaserc @@ -1,8 +1,5 @@ { "projects": { - "default": "impact-nz-dev", - "dev": "impact-nz-dev", - "development": "impact-nz-dev", - "a11y": "impact-nz-dev-a11y" + "default": "impactoss-demo-fw" } } diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..e9ee3cb4d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +legacy-peer-deps=true \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index d71a79b43..3abf0ab7a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,6 +2,8 @@ build/ node_modules/ internals/generators/ internals/scripts/ +internals/webpack/ package-lock.json yarn.lock package.json +eslint.config.mjs diff --git a/.prettierrc b/.prettierrc index 0b0eae191..74054ac20 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { - "printWidth": 80, + "printWidth": 120, "tabWidth": 2, "useTabs": false, "semi": true, diff --git a/app/app.js b/app/app.js index 6bd89b861..cdc9d9a05 100644 --- a/app/app.js +++ b/app/app.js @@ -15,8 +15,14 @@ import { createRoot } from 'react-dom/client'; import { Provider } from 'react-redux'; import { Router, browserHistory } from 'react-router'; import { syncHistoryWithStore } from 'react-router-redux'; + +// Import ThemeProvider +import { Grommet } from 'grommet'; + +import { StyleSheetManager } from 'styled-components'; +import isPropValid from '@emotion/is-prop-valid'; + import 'sanitize.css/sanitize.css'; -import './fonts.css'; // Import root app import App from 'containers/App'; @@ -27,13 +33,7 @@ import { makeSelectLocationState } from 'containers/App/selectors'; // Import Language Provider import LanguageProvider from 'containers/LanguageProvider'; -// Import ThemeProvider -import { Grommet } from 'grommet'; - -import { StyleSheetManager } from 'styled-components'; -import isPropValid from '@emotion/is-prop-valid'; - -import theme from 'themes/theme-nz'; +import theme from 'themes/theme-base'; import './fonts/fonts.css'; import configureStore from './store'; @@ -116,7 +116,7 @@ if (!window.Intl) { } else { render(translationMessages); } - +/* // Install ServiceWorker and AppCache in the end since // it's not most important operation and if main code fails, // we do not want it installed @@ -129,4 +129,4 @@ if (process.env.NODE_ENV === 'production') { runtime.applyUpdate(); }, }); -} +}*/ diff --git a/app/components/Accordion/index.js b/app/components/Accordion/index.js new file mode 100644 index 000000000..2b0227a62 --- /dev/null +++ b/app/components/Accordion/index.js @@ -0,0 +1,67 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Button } from 'grommet'; +import styled from 'styled-components'; +import { without } from 'lodash/array'; + +import AccordionHeader from 'components/AccordionHeader'; + +const getActives = ({ activePanels, panelId, single }) => { + const changeToOpen = activePanels.indexOf(panelId) === -1; + if (single) { + return changeToOpen ? [panelId] : []; + } + return changeToOpen ? [...activePanels, panelId] : without(activePanels, panelId); +}; + +const StyledButton = styled((p) =>