From ecbbd7fd6200823864bd78ef33f8924c4a2b1b7e Mon Sep 17 00:00:00 2001 From: Tomas Engebretsen Date: Mon, 11 Dec 2023 10:30:44 +0100 Subject: [PATCH] Refactor icon file structure (#11825) --- .../studio-icons/src/components/Accordion/index.ts | 1 - .../libs/studio-icons/src/components/Checkbox/index.ts | 1 - .../libs/studio-icons/src/components/Group/index.ts | 1 - .../libs/studio-icons/src/components/Likert/index.ts | 1 - .../libs/studio-icons/src/components/LongText/index.ts | 1 - .../libs/studio-icons/src/components/NavBar/index.ts | 1 - .../studio-icons/src/components/Paragraph/index.ts | 1 - .../studio-icons/src/components/RadioButton/index.ts | 1 - .../libs/studio-icons/src/components/Select/index.ts | 1 - .../studio-icons/src/components/ShortText/index.ts | 1 - .../studio-icons/src/components/SvgTemplate/index.ts | 1 - .../libs/studio-icons/src/components/Title/index.ts | 1 - frontend/libs/studio-icons/src/index.ts | 4 ++-- .../Accordion => react/icons}/Accordion.tsx | 10 ++-------- .../{components/Checkbox => react/icons}/Checkbox.tsx | 10 ++-------- .../src/{components/Group => react/icons}/Group.tsx | 10 ++-------- .../src/{components => react/icons}/Icons.test.tsx | 0 .../src/{components/Likert => react/icons}/Likert.tsx | 10 ++-------- .../{components/LongText => react/icons}/LongText.tsx | 10 ++-------- .../src/{components/NavBar => react/icons}/NavBar.tsx | 10 ++-------- .../Paragraph => react/icons}/Paragraph.tsx | 10 ++-------- .../RadioButton => react/icons}/RadioButton.tsx | 10 ++-------- .../src/{components/Select => react/icons}/Select.tsx | 10 ++-------- .../ShortText => react/icons}/ShortText.tsx | 10 ++-------- .../SvgTemplate => react/icons}/SvgTemplate.tsx | 7 +------ .../src/{components/Title => react/icons}/Title.tsx | 10 ++-------- .../src/{components => react/icons}/index.ts | 0 .../studio-icons/src/{ => react}/types/IconProps.ts | 0 frontend/libs/studio-icons/src/react/types/index.ts | 1 + 29 files changed, 26 insertions(+), 108 deletions(-) delete mode 100644 frontend/libs/studio-icons/src/components/Accordion/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Checkbox/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Group/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Likert/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/LongText/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/NavBar/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Paragraph/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/RadioButton/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Select/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/ShortText/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/SvgTemplate/index.ts delete mode 100644 frontend/libs/studio-icons/src/components/Title/index.ts rename frontend/libs/studio-icons/src/{components/Accordion => react/icons}/Accordion.tsx (67%) rename frontend/libs/studio-icons/src/{components/Checkbox => react/icons}/Checkbox.tsx (68%) rename frontend/libs/studio-icons/src/{components/Group => react/icons}/Group.tsx (57%) rename frontend/libs/studio-icons/src/{components => react/icons}/Icons.test.tsx (100%) rename frontend/libs/studio-icons/src/{components/Likert => react/icons}/Likert.tsx (87%) rename frontend/libs/studio-icons/src/{components/LongText => react/icons}/LongText.tsx (77%) rename frontend/libs/studio-icons/src/{components/NavBar => react/icons}/NavBar.tsx (79%) rename frontend/libs/studio-icons/src/{components/Paragraph => react/icons}/Paragraph.tsx (73%) rename frontend/libs/studio-icons/src/{components/RadioButton => react/icons}/RadioButton.tsx (56%) rename frontend/libs/studio-icons/src/{components/Select => react/icons}/Select.tsx (67%) rename frontend/libs/studio-icons/src/{components/ShortText => react/icons}/ShortText.tsx (68%) rename frontend/libs/studio-icons/src/{components/SvgTemplate => react/icons}/SvgTemplate.tsx (72%) rename frontend/libs/studio-icons/src/{components/Title => react/icons}/Title.tsx (72%) rename frontend/libs/studio-icons/src/{components => react/icons}/index.ts (100%) rename frontend/libs/studio-icons/src/{ => react}/types/IconProps.ts (100%) create mode 100644 frontend/libs/studio-icons/src/react/types/index.ts diff --git a/frontend/libs/studio-icons/src/components/Accordion/index.ts b/frontend/libs/studio-icons/src/components/Accordion/index.ts deleted file mode 100644 index feee0c4f098..00000000000 --- a/frontend/libs/studio-icons/src/components/Accordion/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Accordion } from './Accordion'; diff --git a/frontend/libs/studio-icons/src/components/Checkbox/index.ts b/frontend/libs/studio-icons/src/components/Checkbox/index.ts deleted file mode 100644 index 8f59e4fbb54..00000000000 --- a/frontend/libs/studio-icons/src/components/Checkbox/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Checkbox } from './Checkbox'; diff --git a/frontend/libs/studio-icons/src/components/Group/index.ts b/frontend/libs/studio-icons/src/components/Group/index.ts deleted file mode 100644 index 07c480f0194..00000000000 --- a/frontend/libs/studio-icons/src/components/Group/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Group } from './Group'; diff --git a/frontend/libs/studio-icons/src/components/Likert/index.ts b/frontend/libs/studio-icons/src/components/Likert/index.ts deleted file mode 100644 index 0a983d5a7e5..00000000000 --- a/frontend/libs/studio-icons/src/components/Likert/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Likert } from './Likert'; diff --git a/frontend/libs/studio-icons/src/components/LongText/index.ts b/frontend/libs/studio-icons/src/components/LongText/index.ts deleted file mode 100644 index 83e7e6ea2a5..00000000000 --- a/frontend/libs/studio-icons/src/components/LongText/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { LongText } from './LongText'; diff --git a/frontend/libs/studio-icons/src/components/NavBar/index.ts b/frontend/libs/studio-icons/src/components/NavBar/index.ts deleted file mode 100644 index 766d96c64fe..00000000000 --- a/frontend/libs/studio-icons/src/components/NavBar/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { NavBar } from './NavBar'; diff --git a/frontend/libs/studio-icons/src/components/Paragraph/index.ts b/frontend/libs/studio-icons/src/components/Paragraph/index.ts deleted file mode 100644 index 560eebac9f1..00000000000 --- a/frontend/libs/studio-icons/src/components/Paragraph/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Paragraph } from './Paragraph'; diff --git a/frontend/libs/studio-icons/src/components/RadioButton/index.ts b/frontend/libs/studio-icons/src/components/RadioButton/index.ts deleted file mode 100644 index f268c5f9d5d..00000000000 --- a/frontend/libs/studio-icons/src/components/RadioButton/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { RadioButton } from './RadioButton'; diff --git a/frontend/libs/studio-icons/src/components/Select/index.ts b/frontend/libs/studio-icons/src/components/Select/index.ts deleted file mode 100644 index 205709b2045..00000000000 --- a/frontend/libs/studio-icons/src/components/Select/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Select } from './Select'; diff --git a/frontend/libs/studio-icons/src/components/ShortText/index.ts b/frontend/libs/studio-icons/src/components/ShortText/index.ts deleted file mode 100644 index 6e846e6ca4f..00000000000 --- a/frontend/libs/studio-icons/src/components/ShortText/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ShortText } from './ShortText'; diff --git a/frontend/libs/studio-icons/src/components/SvgTemplate/index.ts b/frontend/libs/studio-icons/src/components/SvgTemplate/index.ts deleted file mode 100644 index d9abe6a1138..00000000000 --- a/frontend/libs/studio-icons/src/components/SvgTemplate/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { SvgTemplate } from './SvgTemplate'; diff --git a/frontend/libs/studio-icons/src/components/Title/index.ts b/frontend/libs/studio-icons/src/components/Title/index.ts deleted file mode 100644 index 177576b64e1..00000000000 --- a/frontend/libs/studio-icons/src/components/Title/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Title } from './Title'; diff --git a/frontend/libs/studio-icons/src/index.ts b/frontend/libs/studio-icons/src/index.ts index 9767ebfb38a..390592de521 100644 --- a/frontend/libs/studio-icons/src/index.ts +++ b/frontend/libs/studio-icons/src/index.ts @@ -1,5 +1,5 @@ // Re-export all icons from @navikt/aksel-icons to make them available for consumers of studio/icons export * from '@navikt/aksel-icons'; -export * from './components'; -export * from './types/IconProps'; +export * from './react/icons'; +export * from './react/types'; diff --git a/frontend/libs/studio-icons/src/components/Accordion/Accordion.tsx b/frontend/libs/studio-icons/src/react/icons/Accordion.tsx similarity index 67% rename from frontend/libs/studio-icons/src/components/Accordion/Accordion.tsx rename to frontend/libs/studio-icons/src/react/icons/Accordion.tsx index 32e7bdc474a..eacefa3767a 100644 --- a/frontend/libs/studio-icons/src/components/Accordion/Accordion.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Accordion.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Accordion } from '@studio/icons'; - */ export const Accordion = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/Checkbox/Checkbox.tsx b/frontend/libs/studio-icons/src/react/icons/Checkbox.tsx similarity index 68% rename from frontend/libs/studio-icons/src/components/Checkbox/Checkbox.tsx rename to frontend/libs/studio-icons/src/react/icons/Checkbox.tsx index 3fa7c5c7bd4..936bc36f24a 100644 --- a/frontend/libs/studio-icons/src/components/Checkbox/Checkbox.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Checkbox.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Checkbox } from '@studio/icons'; - */ export const Checkbox = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/Group/Group.tsx b/frontend/libs/studio-icons/src/react/icons/Group.tsx similarity index 57% rename from frontend/libs/studio-icons/src/components/Group/Group.tsx rename to frontend/libs/studio-icons/src/react/icons/Group.tsx index b3353fa0b2e..070cc635b8d 100644 --- a/frontend/libs/studio-icons/src/components/Group/Group.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Group.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Group } from '@studio/icons'; - */ export const Group = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/Icons.test.tsx b/frontend/libs/studio-icons/src/react/icons/Icons.test.tsx similarity index 100% rename from frontend/libs/studio-icons/src/components/Icons.test.tsx rename to frontend/libs/studio-icons/src/react/icons/Icons.test.tsx diff --git a/frontend/libs/studio-icons/src/components/Likert/Likert.tsx b/frontend/libs/studio-icons/src/react/icons/Likert.tsx similarity index 87% rename from frontend/libs/studio-icons/src/components/Likert/Likert.tsx rename to frontend/libs/studio-icons/src/react/icons/Likert.tsx index 60904388488..f86631928bf 100644 --- a/frontend/libs/studio-icons/src/components/Likert/Likert.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Likert.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Likert } from '@studio/icons'; - */ export const Likert = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/LongText/LongText.tsx b/frontend/libs/studio-icons/src/react/icons/LongText.tsx similarity index 77% rename from frontend/libs/studio-icons/src/components/LongText/LongText.tsx rename to frontend/libs/studio-icons/src/react/icons/LongText.tsx index 270b883c3d0..2b72daa6b7a 100644 --- a/frontend/libs/studio-icons/src/components/LongText/LongText.tsx +++ b/frontend/libs/studio-icons/src/react/icons/LongText.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { LongText } from '@studio/icons'; - */ export const LongText = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/NavBar/NavBar.tsx b/frontend/libs/studio-icons/src/react/icons/NavBar.tsx similarity index 79% rename from frontend/libs/studio-icons/src/components/NavBar/NavBar.tsx rename to frontend/libs/studio-icons/src/react/icons/NavBar.tsx index dd7483c1ffb..4678e33e276 100644 --- a/frontend/libs/studio-icons/src/components/NavBar/NavBar.tsx +++ b/frontend/libs/studio-icons/src/react/icons/NavBar.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { NavBar } from '@studio/icons'; - */ export const NavBar = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/Paragraph/Paragraph.tsx b/frontend/libs/studio-icons/src/react/icons/Paragraph.tsx similarity index 73% rename from frontend/libs/studio-icons/src/components/Paragraph/Paragraph.tsx rename to frontend/libs/studio-icons/src/react/icons/Paragraph.tsx index 922bd6c85e2..547a03637de 100644 --- a/frontend/libs/studio-icons/src/components/Paragraph/Paragraph.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Paragraph.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Paragraph } from '@studio/icons'; - */ export const Paragraph = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/RadioButton/RadioButton.tsx b/frontend/libs/studio-icons/src/react/icons/RadioButton.tsx similarity index 56% rename from frontend/libs/studio-icons/src/components/RadioButton/RadioButton.tsx rename to frontend/libs/studio-icons/src/react/icons/RadioButton.tsx index 922d35321fb..8ee1732dc74 100644 --- a/frontend/libs/studio-icons/src/components/RadioButton/RadioButton.tsx +++ b/frontend/libs/studio-icons/src/react/icons/RadioButton.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { RadioButton } from '@studio/icons'; - */ export const RadioButton = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/Select/Select.tsx b/frontend/libs/studio-icons/src/react/icons/Select.tsx similarity index 67% rename from frontend/libs/studio-icons/src/components/Select/Select.tsx rename to frontend/libs/studio-icons/src/react/icons/Select.tsx index 0e5871306ea..820560e45a2 100644 --- a/frontend/libs/studio-icons/src/components/Select/Select.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Select.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Select } from '@studio/icons'; - */ export const Select = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/ShortText/ShortText.tsx b/frontend/libs/studio-icons/src/react/icons/ShortText.tsx similarity index 68% rename from frontend/libs/studio-icons/src/components/ShortText/ShortText.tsx rename to frontend/libs/studio-icons/src/react/icons/ShortText.tsx index 39d6e294bf0..d7373ac4412 100644 --- a/frontend/libs/studio-icons/src/components/ShortText/ShortText.tsx +++ b/frontend/libs/studio-icons/src/react/icons/ShortText.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { ShortText } from '@studio/icons'; - */ export const ShortText = ({ ...props }: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/SvgTemplate/SvgTemplate.tsx b/frontend/libs/studio-icons/src/react/icons/SvgTemplate.tsx similarity index 72% rename from frontend/libs/studio-icons/src/components/SvgTemplate/SvgTemplate.tsx rename to frontend/libs/studio-icons/src/react/icons/SvgTemplate.tsx index 8b59e7f818e..cfac6c7993d 100644 --- a/frontend/libs/studio-icons/src/components/SvgTemplate/SvgTemplate.tsx +++ b/frontend/libs/studio-icons/src/react/icons/SvgTemplate.tsx @@ -1,10 +1,5 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; - -/** - * @param {SvgTemplateProps} props the SvgTemplate props - * @returns {JSX.Element} template for svg icons - */ +import { IconProps } from '../types'; type SvgTemplateProps = IconProps & { children: React.ReactNode }; export const SvgTemplate = ({ title, children, ...rest }: SvgTemplateProps): JSX.Element => { diff --git a/frontend/libs/studio-icons/src/components/Title/Title.tsx b/frontend/libs/studio-icons/src/react/icons/Title.tsx similarity index 72% rename from frontend/libs/studio-icons/src/components/Title/Title.tsx rename to frontend/libs/studio-icons/src/react/icons/Title.tsx index eae7fa25336..e449cca1932 100644 --- a/frontend/libs/studio-icons/src/components/Title/Title.tsx +++ b/frontend/libs/studio-icons/src/react/icons/Title.tsx @@ -1,13 +1,7 @@ import React from 'react'; -import { IconProps } from '../../types/IconProps'; -import { SvgTemplate } from '../SvgTemplate'; +import { IconProps } from '../types'; +import { SvgTemplate } from './SvgTemplate'; -/** - * @param {IconProps} props the icon props - * @returns {JSX.Element} the icon as a react component - * @example - * import { Title } from '@studio/icons'; - */ export const Title = (props: IconProps): JSX.Element => { return ( diff --git a/frontend/libs/studio-icons/src/components/index.ts b/frontend/libs/studio-icons/src/react/icons/index.ts similarity index 100% rename from frontend/libs/studio-icons/src/components/index.ts rename to frontend/libs/studio-icons/src/react/icons/index.ts diff --git a/frontend/libs/studio-icons/src/types/IconProps.ts b/frontend/libs/studio-icons/src/react/types/IconProps.ts similarity index 100% rename from frontend/libs/studio-icons/src/types/IconProps.ts rename to frontend/libs/studio-icons/src/react/types/IconProps.ts diff --git a/frontend/libs/studio-icons/src/react/types/index.ts b/frontend/libs/studio-icons/src/react/types/index.ts new file mode 100644 index 00000000000..c5e7bb1beb8 --- /dev/null +++ b/frontend/libs/studio-icons/src/react/types/index.ts @@ -0,0 +1 @@ +export type { IconProps } from './IconProps';