@dtdot/lego 0.19.12 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/build/components/ActionMenu/ActionMenu.component.js +2 -2
  2. package/build/components/ActionMenu/_ActionMenuItem.component.js +1 -1
  3. package/build/components/Card/Card.component.js +1 -1
  4. package/build/components/Card/_CardActions.component.js +1 -1
  5. package/build/components/Checklist/Checklist.component.js +1 -1
  6. package/build/components/Checklist/_ChecklistItem.component.js +1 -1
  7. package/build/components/ImageUpload/ImageUpload.component.js +2 -2
  8. package/build/components/InlineCard/InlineCard.component.js +4 -4
  9. package/build/components/Input/Input.component.js +2 -2
  10. package/build/components/LiveList/LiveList.component.js +2 -2
  11. package/build/components/LiveList/_LiveListRow.js +3 -3
  12. package/build/components/Menu/Menu.component.js +1 -1
  13. package/build/components/Menu/_MenuHeading.component.js +1 -1
  14. package/build/components/Menu/_MenuItem.component.js +1 -1
  15. package/build/components/MinimalMenu/MinimalMenu.component.js +2 -2
  16. package/build/components/MinimalMenu/_MinimalMenuItem.component.js +1 -1
  17. package/build/components/MinimalMenu/desktop/_DesktopMinimalMenuItem.component.js +1 -1
  18. package/build/components/MinimalMenu/mobile/_MobileMinimalMenuContainer.component.js +1 -1
  19. package/build/components/MinimalMenu/mobile/_MobileMinimalMenuItem.component.js +4 -4
  20. package/build/components/Modal/Modal.component.js +2 -2
  21. package/build/components/Modal/_ModalHeader.component.js +2 -2
  22. package/build/components/Notifications/Notifications.component.js +2 -2
  23. package/build/components/ProfileImage/ProfileImage.component.js +2 -2
  24. package/build/contexts/File.context.js +6 -2
  25. package/build/layouts/Content/Content.layout.js +1 -1
  26. package/package.json +18 -12
@@ -1,9 +1,9 @@
1
- import { faEllipsisV } from '@fortawesome/free-solid-svg-icons';
2
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
2
  import React, { useCallback, useEffect, useState } from 'react';
4
3
  import ReactDOM from 'react-dom';
5
- import styled from 'styled-components';
6
4
  import { usePopper } from 'react-popper';
5
+ import { faEllipsisV } from '@fortawesome/free-solid-svg-icons';
6
+ import styled from 'styled-components';
7
7
  import Button from '../Button/Button.component';
8
8
  import ActionMenuPanel from './_ActionMenuPanel.component';
9
9
  const StyledIcon = styled(FontAwesomeIcon) `
@@ -1,5 +1,5 @@
1
- import { motion } from 'framer-motion';
2
1
  import React from 'react';
2
+ import { motion } from 'framer-motion';
3
3
  import styled, { useTheme } from 'styled-components';
4
4
  const ActionMenuItemOuter = styled(motion.div) `
5
5
  padding: 12px 16px;
@@ -1,5 +1,5 @@
1
- import { motion } from 'framer-motion';
2
1
  import React, { useEffect, useRef, useState } from 'react';
2
+ import { motion } from 'framer-motion';
3
3
  import styled, { useTheme } from 'styled-components';
4
4
  import responsive from '../../responsive/responsive';
5
5
  import CardContext from './Card.context';
@@ -1,6 +1,6 @@
1
- import { AnimatePresence, motion } from 'framer-motion';
2
1
  import React, { useContext, useEffect } from 'react';
3
2
  import { createPortal } from 'react-dom';
3
+ import { AnimatePresence, motion } from 'framer-motion';
4
4
  import styled from 'styled-components';
5
5
  import CardContext from './Card.context';
6
6
  const actionsHeight = 32;
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
- import styled from 'styled-components';
3
2
  import { motion, LayoutGroup } from 'framer-motion';
3
+ import styled from 'styled-components';
4
4
  import ChecklistItem from './_ChecklistItem.component';
5
5
  const ListDivider = styled.div `
6
6
  width: 100%;
@@ -1,5 +1,5 @@
1
- import { motion } from 'framer-motion';
2
1
  import React from 'react';
2
+ import { motion } from 'framer-motion';
3
3
  import styled, { useTheme } from 'styled-components';
4
4
  const Outerlabel = styled(motion.label) `
5
5
  position: relative;
@@ -1,8 +1,8 @@
1
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
1
2
  import React, { useContext, useRef, useState } from 'react';
2
3
  import { faCloudUploadAlt, faExclamationCircle, faSearch } from '@fortawesome/free-solid-svg-icons';
3
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import styled from 'styled-components';
5
4
  import { motion } from 'framer-motion';
5
+ import styled from 'styled-components';
6
6
  import FileContext from '../../contexts/File.context';
7
7
  import useFormNode from '../Form/useFormNode.hook';
8
8
  import Loader from '../Loader/Loader.component';
@@ -1,15 +1,15 @@
1
- import { motion, useMotionValue, useTransform } from 'framer-motion';
1
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
2
2
  import React, { useContext, useState } from 'react';
3
- import styled, { useTheme } from 'styled-components';
4
3
  import useMeasure from 'react-use-measure';
4
+ import { faCheck } from '@fortawesome/free-solid-svg-icons';
5
+ import { motion, useMotionValue, useTransform } from 'framer-motion';
6
+ import styled, { useTheme } from 'styled-components';
5
7
  import { responsive } from '../..';
6
8
  import getThemeStatusColour from '../../theme/helpers/getThemeStatusColour';
7
9
  import InlineCardContent from './_InlineCardContent.component';
8
10
  import InlineCardMedia from './_InlineCardMedia.component';
9
11
  import InlineCardMeta from './_InlineCardMeta.component';
10
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
11
12
  import InlineCardSelectionContext from './_InlineCardSelection.context';
12
- import { faCheck } from '@fortawesome/free-solid-svg-icons';
13
13
  const CardWrapper = styled.div `
14
14
  position: relative;
15
15
  height: 64px;
@@ -1,8 +1,8 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2
- import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
3
2
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import { motion } from 'framer-motion';
5
3
  import React, { useState } from 'react';
4
+ import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons';
5
+ import { motion } from 'framer-motion';
6
6
  import styled, { css } from 'styled-components';
7
7
  import getThemeControlColours from '../../theme/helpers/getThemeControlColours';
8
8
  import useFormNode, { getValue } from '../Form/useFormNode.hook';
@@ -1,7 +1,7 @@
1
- import { faPlusCircle } from '@fortawesome/free-solid-svg-icons';
2
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
- import { motion } from 'framer-motion';
4
2
  import React, { useCallback, useContext, useEffect } from 'react';
3
+ import { faPlusCircle } from '@fortawesome/free-solid-svg-icons';
4
+ import { motion } from 'framer-motion';
5
5
  import styled from 'styled-components';
6
6
  import { v4 as uuidv4 } from 'uuid';
7
7
  import useKeypress from '../../hooks/useKeyPress';
@@ -1,10 +1,10 @@
1
- import { faTimes } from '@fortawesome/free-solid-svg-icons';
2
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
- import { motion } from 'framer-motion';
4
2
  import React, { useContext, useEffect, useRef, useState } from 'react';
3
+ import { faTimes } from '@fortawesome/free-solid-svg-icons';
4
+ import { motion } from 'framer-motion';
5
5
  import styled from 'styled-components';
6
- import { FocusContext } from './_FocusContext';
7
6
  import Input from '../Input/Input.component';
7
+ import { FocusContext } from './_FocusContext';
8
8
  const InputContainer = styled(motion.div) `
9
9
  position: relative;
10
10
  margin: 2px 0;
@@ -1,5 +1,5 @@
1
- import { AnimatePresence, motion } from 'framer-motion';
2
1
  import React, { useState } from 'react';
2
+ import { AnimatePresence, motion } from 'framer-motion';
3
3
  import styled from 'styled-components';
4
4
  import responsive from '../../responsive/responsive';
5
5
  import MenuContent from './_MenuContent.component';
@@ -1,6 +1,6 @@
1
- import { faBars } from '@fortawesome/free-solid-svg-icons';
2
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
2
  import React from 'react';
3
+ import { faBars } from '@fortawesome/free-solid-svg-icons';
4
4
  import styled from 'styled-components';
5
5
  import responsive from '../../responsive/responsive';
6
6
  const MenuHeadingDiv = styled.div `
@@ -1,6 +1,6 @@
1
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
1
2
  import React from 'react';
2
3
  import styled from 'styled-components';
3
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
4
  const MenuItemOuter = styled.div `
5
5
  display: flex;
6
6
  `;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { useIsScreenSize } from '../../responsive/responsive';
3
- import DesktopMinimalMenuContainer from './desktop/_DesktopMinimalMenuContainer.component';
4
- import MobileMinimalMenuContainer from './mobile/_MobileMinimalMenuContainer.component';
5
3
  import MinimalMenuItem from './_MinimalMenuItem.component';
6
4
  import MinimalMenuPage from './_MinimalMenuPage.component';
5
+ import DesktopMinimalMenuContainer from './desktop/_DesktopMinimalMenuContainer.component';
6
+ import MobileMinimalMenuContainer from './mobile/_MobileMinimalMenuContainer.component';
7
7
  const MinimalMenu = ({ children }) => {
8
8
  const isMobile = useIsScreenSize('mobile');
9
9
  if (isMobile) {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { useIsScreenSize } from '../../responsive/responsive';
3
- import MobileMinimalMenuItem from './mobile/_MobileMinimalMenuItem.component';
4
3
  import DesktopMinimalMenuItem from './desktop/_DesktopMinimalMenuItem.component';
4
+ import MobileMinimalMenuItem from './mobile/_MobileMinimalMenuItem.component';
5
5
  const MinimalMenuItem = ({ icon, active, onClick, 'data-cy': dataCy }) => {
6
6
  const isMobile = useIsScreenSize('mobile');
7
7
  if (isMobile) {
@@ -1,6 +1,6 @@
1
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
2
- import { motion } from 'framer-motion';
3
2
  import React, { useMemo } from 'react';
3
+ import { motion } from 'framer-motion';
4
4
  import styled, { useTheme } from 'styled-components';
5
5
  const ItemContainer = styled(motion.div) `
6
6
  position: relative;
@@ -1,5 +1,5 @@
1
- import { motion } from 'framer-motion';
2
1
  import React, { useState } from 'react';
2
+ import { motion } from 'framer-motion';
3
3
  import styled from 'styled-components';
4
4
  import { mobileMenuDefaultTransition } from './_MobileMenu.constants';
5
5
  import MobileMenuBump from './_MobileMenuBump.component';
@@ -1,10 +1,10 @@
1
- import React, { useContext, useEffect, useRef } from 'react';
2
- import styled from 'styled-components';
3
1
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
2
+ import React, { useContext, useEffect, useRef } from 'react';
4
3
  import { motion } from 'framer-motion';
5
- import MobileMenuBumpContext from './_MobileMenuBump.context';
6
- import { mobileMenuDefaultTransition } from './_MobileMenu.constants';
4
+ import styled from 'styled-components';
7
5
  import useWindowDimensions from '../../../hooks/useWindowDimensions';
6
+ import { mobileMenuDefaultTransition } from './_MobileMenu.constants';
7
+ import MobileMenuBumpContext from './_MobileMenuBump.context';
8
8
  const ItemContainer = styled.div `
9
9
  position: relative;
10
10
 
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
- import styled from 'styled-components';
4
3
  import { motion, AnimatePresence } from 'framer-motion';
4
+ import styled from 'styled-components';
5
5
  import { Loader } from '../..';
6
+ import zIndexConstants from '../../constants/zIndex.constants';
6
7
  import responsive from '../../responsive/responsive';
7
8
  import ModalContext from './_Modal.context';
8
9
  import ModalBody from './_ModalBody.component';
9
10
  import ModalHeader from './_ModalHeader.component';
10
- import zIndexConstants from '../../constants/zIndex.constants';
11
11
  const getResponsiveSize = (size) => {
12
12
  switch (size) {
13
13
  case 'sm':
@@ -1,7 +1,7 @@
1
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
1
2
  import React, { useContext } from 'react';
2
- import styled from 'styled-components';
3
3
  import { faTimes } from '@fortawesome/free-solid-svg-icons';
4
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import styled from 'styled-components';
5
5
  import ModalContext from './_Modal.context';
6
6
  const HeaderContainer = styled.div `
7
7
  display: flex;
@@ -1,10 +1,10 @@
1
1
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
2
2
  import React from 'react';
3
+ import { AnimatePresence, motion } from 'framer-motion';
3
4
  import styled from 'styled-components';
4
5
  import { Notification, Spacer } from '../..';
5
- import responsive from '../../responsive/responsive';
6
6
  import zIndexConstants from '../../constants/zIndex.constants';
7
- import { AnimatePresence, motion } from 'framer-motion';
7
+ import responsive from '../../responsive/responsive';
8
8
  const NotificationContainer = styled.div `
9
9
  position: fixed;
10
10
  bottom: 20px;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import styled from 'styled-components';
3
2
  import IdenticonObj from 'identicon.js';
4
- import colours from '../../colours/colours';
5
3
  import SparkMD5 from 'spark-md5';
4
+ import styled from 'styled-components';
5
+ import colours from '../../colours/colours';
6
6
  const ImageContainer = styled.div `
7
7
  height: 36px;
8
8
  width: 36px;
@@ -1,8 +1,12 @@
1
1
  import { createContext } from 'react';
2
2
  const FileContext = createContext({
3
3
  // eslint-disable-next-line
4
- upload: (file) => { throw new Error('ERROR: Upload function must be bound in a context'); },
4
+ upload: (file) => {
5
+ throw new Error('ERROR: Upload function must be bound in a context');
6
+ },
5
7
  // eslint-disable-next-line
6
- getUrl: (key) => { throw new Error('ERROR: Get URL function must be bound in a context'); },
8
+ getUrl: (key) => {
9
+ throw new Error('ERROR: Get URL function must be bound in a context');
10
+ },
7
11
  });
8
12
  export default FileContext;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components';
3
- import ContentHeader from './_ContentHeader.component';
4
3
  import ContentContent from './_ContentContent.component';
4
+ import ContentHeader from './_ContentHeader.component';
5
5
  const ContentContainer = styled.div ``;
6
6
  const ContentLayout = ({ children }) => {
7
7
  return React.createElement(ContentContainer, null, children);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dtdot/lego",
3
- "version": "0.19.12",
3
+ "version": "1.0.0",
4
4
  "description": "Some reusable components for building my applications",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -9,7 +9,8 @@
9
9
  "watch": "npm run build -- --watch",
10
10
  "lint": "eslint 'src/**/*.{js,jsx,ts,tsx}'",
11
11
  "storybook": "start-storybook -p 6006",
12
- "build-storybook": "build-storybook"
12
+ "build-storybook": "build-storybook",
13
+ "pretty": "prettier --write \"./**/*.{js,jsx,ts,tsx,json}\""
13
14
  },
14
15
  "author": "Simon Pratt <19920260+simonpratt@users.noreply.github.com>",
15
16
  "license": "ISC",
@@ -21,9 +22,16 @@
21
22
  "@babel/core": "^7.19.0",
22
23
  "@babel/preset-react": "^7.18.6",
23
24
  "@babel/preset-typescript": "^7.18.6",
24
- "@storybook/addon-actions": "^6.4.19",
25
- "@storybook/addon-essentials": "^6.4.19",
26
- "@storybook/react": "^6.1.21",
25
+ "@dtdot/eslint-config": "^0.0.6",
26
+ "@storybook/addon-actions": "^6.5.15",
27
+ "@storybook/addon-essentials": "^6.5.15",
28
+ "@storybook/addon-interactions": "^6.5.15",
29
+ "@storybook/addon-links": "^6.5.15",
30
+ "@storybook/builder-webpack5": "^6.5.15",
31
+ "@storybook/manager-webpack5": "^6.5.15",
32
+ "@storybook/react": "^6.5.15",
33
+ "@storybook/testing-library": "^0.0.13",
34
+ "@trivago/prettier-plugin-sort-imports": "^4.0.0",
27
35
  "@types/identicon.js": "^2.3.1",
28
36
  "@types/qrcode": "^1.5.0",
29
37
  "@types/react": "^18.0.20",
@@ -31,19 +39,17 @@
31
39
  "@types/spark-md5": "^3.0.2",
32
40
  "@types/styled-components": "^5.1.26",
33
41
  "@types/uuid": "^8.3.4",
34
- "@typescript-eslint/eslint-plugin": "^5.37.0",
35
- "@typescript-eslint/parser": "^5.37.0",
42
+ "@typescript-eslint/eslint-plugin": "^5.47.0",
43
+ "@typescript-eslint/parser": "^5.47.0",
36
44
  "babel-loader": "^8.2.5",
37
- "eslint": "^8.23.1",
45
+ "eslint": "^8.30.0",
38
46
  "eslint-config-prettier": "^8.5.0",
39
47
  "eslint-plugin-prettier": "^4.2.1",
40
- "eslint-plugin-react": "^7.31.8",
48
+ "eslint-plugin-react": "^7.31.11",
41
49
  "eslint-plugin-react-hooks": "^4.6.0",
42
- "prettier": "^2.7.1",
43
- "prettier-eslint": "^15.0.1",
50
+ "prettier": "^2.8.1",
44
51
  "react": "^18.2.0",
45
52
  "react-dom": "^18.2.0",
46
- "storybook-addon-styled-component-theme": "^2.0.0",
47
53
  "styled-components": "^5.3.5",
48
54
  "typescript": "^4.8.3"
49
55
  },