agroptima-design-system 0.27.21 → 0.27.22
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.
- package/.storybook/main.ts +2 -2
- package/.storybook/preview.ts +2 -2
- package/eslint.config.mjs +15 -3
- package/package.json +10 -9
- package/src/atoms/Alert/Alert.tsx +4 -3
- package/src/atoms/Alert/AlertContainer.tsx +1 -1
- package/src/atoms/Badge.tsx +2 -2
- package/src/atoms/Button/Button.tsx +3 -3
- package/src/atoms/Button/FloatingButton.tsx +3 -3
- package/src/atoms/Button/IconButton.tsx +3 -3
- package/src/atoms/Button/SubmitButton.tsx +1 -1
- package/src/atoms/Button/index.ts +5 -5
- package/src/atoms/Card/Card.tsx +1 -1
- package/src/atoms/Card/index.ts +2 -2
- package/src/atoms/CardMenu/CardMenuOption.tsx +4 -4
- package/src/atoms/CardsTable/CardsTable.tsx +1 -1
- package/src/atoms/CardsTable/CardsTableCell.tsx +1 -1
- package/src/atoms/CardsTable/CardsTableRow.tsx +1 -1
- package/src/atoms/CardsTable/index.ts +5 -5
- package/src/atoms/CardsTableList.tsx +6 -6
- package/src/atoms/CheckableTag/CheckableTag.tsx +1 -1
- package/src/atoms/CheckableTag/CheckableTagGroup.tsx +1 -1
- package/src/atoms/Checkbox.tsx +1 -1
- package/src/atoms/Collapsible.tsx +1 -1
- package/src/atoms/DetailItem.tsx +1 -1
- package/src/atoms/Drawer.tsx +2 -2
- package/src/atoms/EmptyState.tsx +2 -2
- package/src/atoms/Form/Actions.tsx +1 -1
- package/src/atoms/Form/Form.tsx +1 -1
- package/src/atoms/Form/index.ts +2 -2
- package/src/atoms/Icon.tsx +2 -2
- package/src/atoms/Input.tsx +5 -5
- package/src/atoms/Menu/MenuDropdown.tsx +2 -2
- package/src/atoms/Menu/MenuLink.tsx +4 -4
- package/src/atoms/Menu/index.ts +2 -2
- package/src/atoms/Modal.tsx +2 -2
- package/src/atoms/Multiselect.tsx +6 -6
- package/src/atoms/Pagination/Ellipsis.tsx +1 -1
- package/src/atoms/Pagination/Pagination.tsx +1 -1
- package/src/atoms/Pagination/PaginationArrow.tsx +2 -2
- package/src/atoms/Pagination/PaginationNumber.tsx +2 -2
- package/src/atoms/Pagination/index.ts +2 -2
- package/src/atoms/Popover/Popover.tsx +3 -3
- package/src/atoms/Popover/PopoverMenu.tsx +1 -1
- package/src/atoms/Popover/PopoverMenuOption.tsx +2 -2
- package/src/atoms/QuantitySelector.tsx +3 -3
- package/src/atoms/RadioButton.tsx +1 -1
- package/src/atoms/Select.tsx +7 -7
- package/src/atoms/TextArea.tsx +2 -2
- package/src/icons/index.tsx +2 -2
- package/src/stories/Card.stories.js +1 -1
- package/src/stories/CardsTable.stories.js +5 -6
- package/src/stories/CardsTableList.stories.ts +1 -1
- package/src/stories/Collapsible.stories.js +3 -3
- package/src/stories/Drawer.stories.js +2 -3
- package/src/stories/Form.stories.js +2 -2
- package/src/stories/Input.stories.ts +1 -1
- package/src/stories/Menu.stories.js +1 -2
- package/src/stories/Modal.stories.js +3 -3
- package/src/stories/Multiselect.stories.ts +1 -1
- package/src/stories/Pagination.stories.js +1 -2
- package/src/stories/Popover.stories.js +1 -1
- package/src/stories/QuantitySelector.stories.ts +1 -1
- package/src/stories/Select.stories.ts +1 -1
- package/src/stories/TextArea.stories.ts +1 -1
- package/tests/Alert.spec.tsx +2 -2
- package/tests/Badge.spec.tsx +2 -2
- package/tests/Button.spec.tsx +3 -3
- package/tests/Card.spec.tsx +2 -2
- package/tests/CardMenuOption.spec.tsx +1 -1
- package/tests/CardsTable.spec.tsx +6 -6
- package/tests/CheckableTag.spec.tsx +2 -2
- package/tests/Checkbox.spec.tsx +1 -1
- package/tests/Collapsible.spec.tsx +1 -1
- package/tests/Drawer.spec.tsx +3 -3
- package/tests/EmptyState.spec.tsx +2 -2
- package/tests/FloatingButton.spec.tsx +3 -3
- package/tests/Icon.spec.tsx +1 -1
- package/tests/IconButton.spec.tsx +3 -3
- package/tests/Input.spec.tsx +1 -1
- package/tests/Menu.spec.tsx +2 -2
- package/tests/Modal.spec.tsx +1 -1
- package/tests/Multiselect.spec.tsx +2 -2
- package/tests/Pagination.spec.tsx +2 -2
- package/tests/Popover.spec.tsx +2 -2
- package/tests/Select.spec.tsx +1 -1
- package/tests/a11y.spec.tsx +0 -1
- package/tests/library.ts +2 -2
package/.storybook/main.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StorybookConfig } from '@storybook/nextjs'
|
|
2
|
-
import {
|
|
2
|
+
import { dirname, join, resolve } from 'path'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* This function is used to resolve the absolute path of a package.
|
|
@@ -41,7 +41,7 @@ const config: StorybookConfig = {
|
|
|
41
41
|
const imageRule = config.module.rules.find((rule) =>
|
|
42
42
|
rule?.['test']?.test('.svg'),
|
|
43
43
|
)
|
|
44
|
-
if (!imageRule || typeof imageRule !== 'object') return
|
|
44
|
+
if (!imageRule || typeof imageRule !== 'object') return config
|
|
45
45
|
|
|
46
46
|
// Configure .svg files to be loaded with @svgr/webpack
|
|
47
47
|
config.module.rules.push({
|
package/.storybook/preview.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Preview } from '@storybook/react'
|
|
2
|
-
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'
|
|
3
1
|
import '../src/index.scss'
|
|
2
|
+
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'
|
|
3
|
+
import type { Preview } from '@storybook/react'
|
|
4
4
|
|
|
5
5
|
const preview: Preview = {
|
|
6
6
|
parameters: {
|
package/eslint.config.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { FlatCompat } from '@eslint/eslintrc'
|
|
2
|
+
import js from '@eslint/js'
|
|
1
3
|
import prettier from 'eslint-plugin-prettier'
|
|
4
|
+
import simpleImportSort from 'eslint-plugin-simple-import-sort'
|
|
2
5
|
import path from 'node:path'
|
|
3
6
|
import { fileURLToPath } from 'node:url'
|
|
4
|
-
import js from '@eslint/js'
|
|
5
|
-
import { FlatCompat } from '@eslint/eslintrc'
|
|
6
7
|
|
|
7
8
|
const __filename = fileURLToPath(import.meta.url)
|
|
8
9
|
const __dirname = path.dirname(__filename)
|
|
@@ -18,10 +19,21 @@ const config = [
|
|
|
18
19
|
{
|
|
19
20
|
plugins: {
|
|
20
21
|
prettier,
|
|
22
|
+
'simple-import-sort': simpleImportSort,
|
|
23
|
+
},
|
|
24
|
+
languageOptions: {
|
|
25
|
+
ecmaVersion: 'latest',
|
|
26
|
+
sourceType: 'module',
|
|
21
27
|
},
|
|
22
|
-
|
|
23
28
|
rules: {
|
|
24
29
|
'prettier/prettier': ['error'],
|
|
30
|
+
'simple-import-sort/imports': [
|
|
31
|
+
'error',
|
|
32
|
+
{
|
|
33
|
+
groups: [['^\\u0000', '^@?\\w', '^[^.]', '^\\.']],
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
'simple-import-sort/exports': 'error',
|
|
25
37
|
},
|
|
26
38
|
},
|
|
27
39
|
]
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agroptima-design-system",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.22",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"dev": "npm run storybook",
|
|
6
6
|
"storybook": "storybook dev -p 6006 --ci",
|
|
7
7
|
"build": "npm run build-storybook",
|
|
8
8
|
"build-storybook": "storybook build",
|
|
9
9
|
"lint": "eslint",
|
|
10
|
-
"lint:fix": "eslint
|
|
10
|
+
"lint:fix": "eslint --fix",
|
|
11
11
|
"types": "tsc --noEmit",
|
|
12
12
|
"chromatic": "npx chromatic --exit-zero-on-changes",
|
|
13
13
|
"test": "jest",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"next": "^15.1.0",
|
|
19
19
|
"react": "^19.0.0",
|
|
20
20
|
"react-dom": "^19.0.0",
|
|
21
|
-
"sass": "^1.83.
|
|
21
|
+
"sass": "^1.83.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@chromatic-com/storybook": "^3.2.
|
|
24
|
+
"@chromatic-com/storybook": "^3.2.3",
|
|
25
25
|
"@eslint/eslintrc": "^3.2.0",
|
|
26
26
|
"@eslint/js": "^9.16.0",
|
|
27
27
|
"@storybook/addon-a11y": "^8.4.7",
|
|
@@ -40,15 +40,16 @@
|
|
|
40
40
|
"@testing-library/user-event": "^14.5.2",
|
|
41
41
|
"@types/jest": "^29.5.14",
|
|
42
42
|
"@types/jest-axe": "^3.5.9",
|
|
43
|
-
"@types/node": "^22.10.
|
|
44
|
-
"@types/react": "^19.0.
|
|
43
|
+
"@types/node": "^22.10.5",
|
|
44
|
+
"@types/react": "^19.0.3",
|
|
45
45
|
"@types/react-dom": "^19.0.2",
|
|
46
46
|
"ajv": "^8.17.1",
|
|
47
|
-
"eslint": "^9.
|
|
48
|
-
"eslint-config-next": "^15.1.
|
|
47
|
+
"eslint": "^9.17.0",
|
|
48
|
+
"eslint-config-next": "^15.1.3",
|
|
49
49
|
"eslint-config-prettier": "^9.0.0",
|
|
50
50
|
"eslint-plugin-prettier": "^5.0.1",
|
|
51
|
-
"eslint-plugin-
|
|
51
|
+
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
52
|
+
"eslint-plugin-storybook": "^0.11.2",
|
|
52
53
|
"jest": "^29.7.0",
|
|
53
54
|
"jest-axe": "^9.0.0",
|
|
54
55
|
"jest-environment-jsdom": "^29.7.0",
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import './Alert.scss'
|
|
2
|
+
import type { ReactElement } from 'react'
|
|
3
|
+
import { classNames } from '../../utils/classNames'
|
|
1
4
|
import type { IconButtonProps } from '../Button'
|
|
2
5
|
import { IconButton } from '../Button'
|
|
3
6
|
import { Icon } from '../Icon'
|
|
4
|
-
import './Alert.scss'
|
|
5
|
-
import { classNames } from '../../utils/classNames'
|
|
6
7
|
|
|
7
8
|
export type Variant = 'info' | 'success' | 'warning' | 'error'
|
|
8
9
|
|
|
9
10
|
export interface AlertProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
10
11
|
id: string
|
|
11
12
|
variant?: Variant
|
|
12
|
-
text: string
|
|
13
|
+
text: string | ReactElement
|
|
13
14
|
button?: IconButtonProps
|
|
14
15
|
fadeOut?: boolean
|
|
15
16
|
fitContent?: boolean
|
package/src/atoms/Badge.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import './Button.scss'
|
|
2
|
+
import { classNames } from '../../utils/classNames'
|
|
1
3
|
import type { IconType } from '../Icon'
|
|
2
|
-
import type { BaseButtonProps } from './BaseButton'
|
|
3
4
|
import { Icon } from '../Icon'
|
|
4
|
-
import {
|
|
5
|
+
import type { BaseButtonProps } from './BaseButton'
|
|
5
6
|
import { BaseButton } from './BaseButton'
|
|
6
|
-
import './Button.scss'
|
|
7
7
|
|
|
8
8
|
interface CustomProps {
|
|
9
9
|
label: string
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import './FloatingButton.scss'
|
|
2
|
+
import { classNames } from '../../utils/classNames'
|
|
1
3
|
import type { IconType } from '../Icon'
|
|
2
|
-
import type { BaseButtonProps } from './BaseButton'
|
|
3
4
|
import { Icon } from '../Icon'
|
|
4
|
-
import {
|
|
5
|
+
import type { BaseButtonProps } from './BaseButton'
|
|
5
6
|
import { BaseButton } from './BaseButton'
|
|
6
|
-
import './FloatingButton.scss'
|
|
7
7
|
|
|
8
8
|
export type Variant = 'primary'
|
|
9
9
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import './IconButton.scss'
|
|
2
|
+
import { classNames } from '../../utils/classNames'
|
|
1
3
|
import type { IconSize, IconType } from '../Icon'
|
|
2
|
-
import type { BaseButtonProps } from './BaseButton'
|
|
3
4
|
import { Icon } from '../Icon'
|
|
4
|
-
import {
|
|
5
|
+
import type { BaseButtonProps } from './BaseButton'
|
|
5
6
|
import { BaseButton } from './BaseButton'
|
|
6
|
-
import './IconButton.scss'
|
|
7
7
|
|
|
8
8
|
export type Variant = 'primary' | 'secondary'
|
|
9
9
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { BaseButton } from './BaseButton'
|
|
1
2
|
import { Button } from './Button'
|
|
2
|
-
import { IconButton } from './IconButton'
|
|
3
3
|
import { FloatingButton } from './FloatingButton'
|
|
4
|
-
import {
|
|
4
|
+
import { IconButton } from './IconButton'
|
|
5
5
|
import { SubmitButton } from './SubmitButton'
|
|
6
6
|
|
|
7
|
+
export type { BaseButtonProps } from './BaseButton'
|
|
7
8
|
export type { ButtonProps } from './Button'
|
|
8
|
-
export type { IconButtonProps } from './IconButton'
|
|
9
9
|
export type { FloatingButtonProps } from './FloatingButton'
|
|
10
|
-
export type {
|
|
10
|
+
export type { IconButtonProps } from './IconButton'
|
|
11
11
|
export type { SubmitButtonProps } from './SubmitButton'
|
|
12
12
|
|
|
13
|
-
export {
|
|
13
|
+
export { BaseButton, Button, FloatingButton, IconButton, SubmitButton }
|
package/src/atoms/Card/Card.tsx
CHANGED
package/src/atoms/Card/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Card } from './Card'
|
|
2
|
-
import { CardHeader } from './CardHeader'
|
|
3
2
|
import { CardContent } from './CardContent'
|
|
4
3
|
import { CardFooter } from './CardFooter'
|
|
4
|
+
import { CardHeader } from './CardHeader'
|
|
5
5
|
|
|
6
|
-
export { Card,
|
|
6
|
+
export { Card, CardContent, CardFooter, CardHeader }
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './CardMenu.scss'
|
|
2
2
|
import type { LinkProps as NextLinkProps } from 'next/link'
|
|
3
|
-
import { Icon } from '../Icon'
|
|
4
|
-
import { classNames } from '../../utils/classNames'
|
|
5
3
|
import Link from 'next/link'
|
|
6
|
-
import '
|
|
4
|
+
import { classNames } from '../../utils/classNames'
|
|
5
|
+
import type { IconType } from '../Icon'
|
|
6
|
+
import { Icon } from '../Icon'
|
|
7
7
|
|
|
8
8
|
export type Variant = 'primary'
|
|
9
9
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { CardsTable } from './CardsTable'
|
|
2
|
+
import { CardsTableBody } from './CardsTableBody'
|
|
3
|
+
import { Alignment, CardsTableCell } from './CardsTableCell'
|
|
2
4
|
import { CardsTableHead } from './CardsTableHead'
|
|
3
5
|
import { CardsTableHeader } from './CardsTableHeader'
|
|
4
6
|
import { CardsTableRow } from './CardsTableRow'
|
|
5
|
-
import { CardsTableBody } from './CardsTableBody'
|
|
6
|
-
import { CardsTableCell, Alignment } from './CardsTableCell'
|
|
7
7
|
|
|
8
8
|
export {
|
|
9
|
+
Alignment,
|
|
9
10
|
CardsTable,
|
|
11
|
+
CardsTableBody,
|
|
12
|
+
CardsTableCell,
|
|
10
13
|
CardsTableHead,
|
|
11
14
|
CardsTableHeader,
|
|
12
15
|
CardsTableRow,
|
|
13
|
-
CardsTableBody,
|
|
14
|
-
CardsTableCell,
|
|
15
|
-
Alignment,
|
|
16
16
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './CardsTable/CardsTable.scss'
|
|
2
2
|
import React, { useState } from 'react'
|
|
3
3
|
import { sortBy } from '../utils/sort'
|
|
4
4
|
import {
|
|
5
|
-
CardsTableHeader,
|
|
6
|
-
CardsTableCell,
|
|
7
|
-
CardsTableRow,
|
|
8
5
|
CardsTable,
|
|
9
|
-
CardsTableHead,
|
|
10
6
|
CardsTableBody,
|
|
7
|
+
CardsTableCell,
|
|
8
|
+
CardsTableHead,
|
|
9
|
+
CardsTableHeader,
|
|
10
|
+
CardsTableRow,
|
|
11
11
|
} from './CardsTable'
|
|
12
|
+
import type { IconType } from './Icon'
|
|
12
13
|
import { Icon } from './Icon'
|
|
13
|
-
import './CardsTable/CardsTable.scss'
|
|
14
14
|
|
|
15
15
|
export type Variant = 'primary'
|
|
16
16
|
|
package/src/atoms/Checkbox.tsx
CHANGED
package/src/atoms/DetailItem.tsx
CHANGED
package/src/atoms/Drawer.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Drawer.scss'
|
|
2
2
|
import { classNames } from '../utils/classNames'
|
|
3
|
+
import type { ButtonProps } from './Button'
|
|
3
4
|
import { Button, IconButton } from './Button'
|
|
4
|
-
import './Drawer.scss'
|
|
5
5
|
import { Actions } from './Form'
|
|
6
6
|
|
|
7
7
|
export type Variant = 'primary'
|
package/src/atoms/EmptyState.tsx
CHANGED
package/src/atoms/Form/Form.tsx
CHANGED
package/src/atoms/Form/index.ts
CHANGED
package/src/atoms/Icon.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './Icon.scss'
|
|
2
|
-
|
|
2
|
+
import type { ReactNode } from 'react'
|
|
3
3
|
import * as icons from '../icons'
|
|
4
4
|
import { classNames } from '../utils/classNames'
|
|
5
5
|
export type IconType = keyof typeof icons
|
|
@@ -28,7 +28,7 @@ export const Icon: React.FC<IconProps> = ({
|
|
|
28
28
|
})
|
|
29
29
|
return (
|
|
30
30
|
<span role="img" title={props.title || name} className={cssClasses}>
|
|
31
|
-
{icons[name](props)}
|
|
31
|
+
{icons[name](props) as ReactNode}
|
|
32
32
|
</span>
|
|
33
33
|
)
|
|
34
34
|
}
|
package/src/atoms/Input.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Input.scss'
|
|
2
2
|
import React, { useState } from 'react'
|
|
3
|
-
import { Icon } from './Icon'
|
|
4
|
-
import { IconButton } from './Button/IconButton'
|
|
5
|
-
import { classNames } from '../utils/classNames'
|
|
6
3
|
import { buildHelpText } from '../utils/buildHelpText'
|
|
7
|
-
import '
|
|
4
|
+
import { classNames } from '../utils/classNames'
|
|
5
|
+
import { IconButton } from './Button/IconButton'
|
|
6
|
+
import type { IconType } from './Icon'
|
|
7
|
+
import { Icon } from './Icon'
|
|
8
8
|
|
|
9
9
|
export type InputVariant = 'primary'
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Menu.scss'
|
|
2
|
+
import Link from 'next/link'
|
|
2
3
|
import React from 'react'
|
|
3
|
-
import { Icon } from '../Icon'
|
|
4
4
|
import { classNames } from '../../utils/classNames'
|
|
5
|
-
import
|
|
6
|
-
import '
|
|
5
|
+
import type { IconType } from '../Icon'
|
|
6
|
+
import { Icon } from '../Icon'
|
|
7
7
|
|
|
8
8
|
export type Variant = 'primary'
|
|
9
9
|
|
package/src/atoms/Menu/index.ts
CHANGED
package/src/atoms/Modal.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Modal.scss'
|
|
2
2
|
import { classNames } from '../utils/classNames'
|
|
3
|
+
import type { ButtonProps } from './Button'
|
|
3
4
|
import { Button } from './Button'
|
|
4
5
|
import { Icon } from './Icon'
|
|
5
|
-
import './Modal.scss'
|
|
6
6
|
|
|
7
7
|
export type Variant =
|
|
8
8
|
| 'info'
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import './Select.scss'
|
|
2
2
|
import React, { useRef, useState } from 'react'
|
|
3
|
-
import { Icon } from './Icon'
|
|
4
|
-
import { IconButton } from './Button'
|
|
5
|
-
import { classNames } from '../utils/classNames'
|
|
6
|
-
import { buildHelpText } from '../utils/buildHelpText'
|
|
7
|
-
import { useOutsideClick } from '../hooks/useOutsideClick'
|
|
8
3
|
import { useOpen } from '../hooks/useOpen'
|
|
9
|
-
import {
|
|
4
|
+
import { useOutsideClick } from '../hooks/useOutsideClick'
|
|
10
5
|
import { useSearch } from '../hooks/useSearch'
|
|
6
|
+
import { buildHelpText } from '../utils/buildHelpText'
|
|
7
|
+
import { classNames } from '../utils/classNames'
|
|
8
|
+
import { IconButton } from './Button'
|
|
9
|
+
import { Icon } from './Icon'
|
|
10
|
+
import { Input } from './Input'
|
|
11
11
|
|
|
12
12
|
export type Variant = 'primary'
|
|
13
13
|
export type Option = { id: string; label: string }
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Pagination.scss'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { classNames } from '../../utils/classNames'
|
|
4
|
+
import type { IconButtonProps } from '../Button'
|
|
4
5
|
import { IconButton } from '../Button'
|
|
5
|
-
import './Pagination.scss'
|
|
6
6
|
|
|
7
7
|
export type Variant = 'primary'
|
|
8
8
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './Pagination.scss'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { classNames } from '../../utils/classNames'
|
|
4
|
+
import type { ButtonProps } from '../Button'
|
|
4
5
|
import { Button } from '../Button'
|
|
5
|
-
import './Pagination.scss'
|
|
6
6
|
|
|
7
7
|
export type Variant = 'primary'
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { Ellipsis } from './Ellipsis'
|
|
1
2
|
import { Pagination } from './Pagination'
|
|
2
3
|
import { PaginationArrow } from './PaginationArrow'
|
|
3
4
|
import { PaginationNumber } from './PaginationNumber'
|
|
4
|
-
import { Ellipsis } from './Ellipsis'
|
|
5
5
|
|
|
6
|
-
export { Pagination, PaginationArrow, PaginationNumber
|
|
6
|
+
export { Ellipsis, Pagination, PaginationArrow, PaginationNumber }
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import './Popover.scss'
|
|
3
|
+
import { useRef } from 'react'
|
|
4
|
+
import { useOpen } from '../../hooks/useOpen'
|
|
2
5
|
import { useOutsideClick } from '../../hooks/useOutsideClick'
|
|
3
6
|
import { classNames } from '../../utils/classNames'
|
|
4
|
-
import { useOpen } from '../../hooks/useOpen'
|
|
5
|
-
import { useRef } from 'react'
|
|
6
|
-
import './Popover.scss'
|
|
7
7
|
|
|
8
8
|
export interface PopoverProps {
|
|
9
9
|
renderButton: (props: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import './Popover.scss'
|
|
1
2
|
import type { LinkProps as NextLinkProps } from 'next/link'
|
|
2
|
-
import { classNames } from '../../utils/classNames'
|
|
3
3
|
import Link from 'next/link'
|
|
4
|
-
import '
|
|
4
|
+
import { classNames } from '../../utils/classNames'
|
|
5
5
|
|
|
6
6
|
export type Variant = 'primary'
|
|
7
7
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import './QuantitySelector.scss'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
import { classNames } from '../utils/classNames'
|
|
4
|
-
import { Input } from './Input'
|
|
5
4
|
import { Button } from './Button'
|
|
6
|
-
import './
|
|
5
|
+
import type { InputProps } from './Input'
|
|
6
|
+
import { Input } from './Input'
|
|
7
7
|
|
|
8
8
|
export type Variant = 'primary'
|
|
9
9
|
|
package/src/atoms/Select.tsx
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import './Select.scss'
|
|
2
3
|
import React, { useRef, useState } from 'react'
|
|
3
|
-
import { Icon } from './Icon'
|
|
4
|
-
import { IconButton } from './Button'
|
|
5
|
-
import { classNames } from '../utils/classNames'
|
|
6
|
-
import { buildHelpText } from '../utils/buildHelpText'
|
|
7
|
-
import { useOutsideClick } from '../hooks/useOutsideClick'
|
|
8
4
|
import { useOpen } from '../hooks/useOpen'
|
|
9
|
-
import '
|
|
10
|
-
import { Input } from './Input'
|
|
5
|
+
import { useOutsideClick } from '../hooks/useOutsideClick'
|
|
11
6
|
import { useSearch } from '../hooks/useSearch'
|
|
7
|
+
import { buildHelpText } from '../utils/buildHelpText'
|
|
8
|
+
import { classNames } from '../utils/classNames'
|
|
9
|
+
import { IconButton } from './Button'
|
|
10
|
+
import { Icon } from './Icon'
|
|
11
|
+
import { Input } from './Input'
|
|
12
12
|
|
|
13
13
|
export type Variant = 'primary'
|
|
14
14
|
export type Option = { id: string; label: string }
|
package/src/atoms/TextArea.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { classNames } from '../utils/classNames'
|
|
2
|
-
import { buildHelpText } from '../utils/buildHelpText'
|
|
3
1
|
import './Input.scss'
|
|
2
|
+
import { buildHelpText } from '../utils/buildHelpText'
|
|
3
|
+
import { classNames } from '../utils/classNames'
|
|
4
4
|
|
|
5
5
|
export type TextAreaVariant = 'primary'
|
|
6
6
|
|
package/src/icons/index.tsx
CHANGED
|
@@ -6,11 +6,11 @@ import AngleRight from './angle-right.svg'
|
|
|
6
6
|
import AngleUp from './angle-up.svg'
|
|
7
7
|
import ArrowBack from './arrow-back.svg'
|
|
8
8
|
import Calendar from './calendar.svg'
|
|
9
|
+
import ChangePassword from './change-password.svg'
|
|
9
10
|
import Check from './check.svg'
|
|
10
11
|
import CheckboxActive from './checkbox-active.svg'
|
|
11
12
|
import CheckboxInactive from './checkbox-inactive.svg'
|
|
12
13
|
import CheckboxIndeterminate from './checkbox-indeterminate.svg'
|
|
13
|
-
import ChangePassword from './change-password.svg'
|
|
14
14
|
import Client from './client.svg'
|
|
15
15
|
import Close from './close.svg'
|
|
16
16
|
import Comment from './comment.svg'
|
|
@@ -34,6 +34,7 @@ import Invoice from './invoice.svg'
|
|
|
34
34
|
import Loading from './loading.svg'
|
|
35
35
|
import Logout from './logout.svg'
|
|
36
36
|
import Minus from './minus.svg'
|
|
37
|
+
import PDF from './pdf.svg'
|
|
37
38
|
import Product from './product.svg'
|
|
38
39
|
import ReturnDeliveryNote from './return-delivery-note.svg'
|
|
39
40
|
import Salesman from './salesman.svg'
|
|
@@ -46,7 +47,6 @@ import Sorter from './sorter.svg'
|
|
|
46
47
|
import Upload from './upload.svg'
|
|
47
48
|
import UserMenu from './user-menu.svg'
|
|
48
49
|
import Warning from './warning.svg'
|
|
49
|
-
import PDF from './pdf.svg'
|
|
50
50
|
|
|
51
51
|
export {
|
|
52
52
|
Add,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IconButton } from '../atoms/Button'
|
|
2
|
-
import { Card, CardHeader, CardContent, CardFooter } from '../atoms/Card'
|
|
3
2
|
import { Button } from '../atoms/Button'
|
|
3
|
+
import { Card, CardContent, CardFooter, CardHeader } from '../atoms/Card'
|
|
4
4
|
|
|
5
5
|
const figmaPrimaryDesign = {
|
|
6
6
|
design: {
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
|
|
2
|
+
import { Badge } from '../atoms/Badge'
|
|
3
|
+
import { IconButton } from '../atoms/Button'
|
|
4
|
+
import { Button } from '../atoms/Button'
|
|
3
5
|
import {
|
|
4
6
|
CardsTable,
|
|
7
|
+
CardsTableBody,
|
|
8
|
+
CardsTableCell,
|
|
5
9
|
CardsTableHead,
|
|
6
10
|
CardsTableHeader,
|
|
7
11
|
CardsTableRow,
|
|
8
|
-
CardsTableBody,
|
|
9
|
-
CardsTableCell,
|
|
10
12
|
} from '../atoms/CardsTable'
|
|
11
|
-
import { IconButton } from '../atoms/Button'
|
|
12
|
-
import { Badge } from '../atoms/Badge'
|
|
13
13
|
import { Checkbox } from '../atoms/Checkbox'
|
|
14
14
|
import { Popover, PopoverMenu, PopoverMenuOption } from '../atoms/Popover'
|
|
15
|
-
import { Button } from '../atoms/Button'
|
|
16
15
|
|
|
17
16
|
const figmaPrimaryDesign = {
|
|
18
17
|
design: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
+
import { Button } from '../atoms/Button'
|
|
3
|
+
import { Card } from '../atoms/Card'
|
|
2
4
|
import { Collapsible } from '../atoms/Collapsible'
|
|
5
|
+
import { Actions, Form as FormComponent } from '../atoms/Form'
|
|
3
6
|
import { Input } from '../atoms/Input'
|
|
4
7
|
import { Select } from '../atoms/Select'
|
|
5
|
-
import { Card } from '../atoms/Card'
|
|
6
|
-
import { Form as FormComponent, Actions } from '../atoms/Form'
|
|
7
|
-
import { Button } from '../atoms/Button'
|
|
8
8
|
|
|
9
9
|
const figmaPrimaryDesign = {
|
|
10
10
|
design: {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
|
|
3
|
-
import { Drawer } from '../atoms/Drawer'
|
|
4
|
-
import { CheckableTagGroup, CheckableTag } from '../atoms/CheckableTag'
|
|
2
|
+
import { CheckableTag, CheckableTagGroup } from '../atoms/CheckableTag'
|
|
5
3
|
import { Collapsible } from '../atoms/Collapsible'
|
|
4
|
+
import { Drawer } from '../atoms/Drawer'
|
|
6
5
|
|
|
7
6
|
const figmaPrimaryDesign = {
|
|
8
7
|
design: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Form, Actions } from '../atoms/Form'
|
|
2
|
-
import { Input } from '../atoms/Input'
|
|
3
1
|
import { Button } from '../atoms/Button'
|
|
2
|
+
import { Actions, Form } from '../atoms/Form'
|
|
3
|
+
import { Input } from '../atoms/Input'
|
|
4
4
|
|
|
5
5
|
const meta = {
|
|
6
6
|
title: 'Design System/Atoms/Form',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { Modal } from '../atoms/Modal'
|
|
3
|
-
import { DetailItem } from '../atoms/DetailItem'
|
|
4
|
-
import { Collapsible } from '../atoms/Collapsible'
|
|
5
2
|
import { Card } from '../atoms/Card'
|
|
3
|
+
import { Collapsible } from '../atoms/Collapsible'
|
|
4
|
+
import { DetailItem } from '../atoms/DetailItem'
|
|
5
|
+
import { Modal } from '../atoms/Modal'
|
|
6
6
|
|
|
7
7
|
const figmaPrimaryDesign = {
|
|
8
8
|
design: {
|
package/tests/Alert.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { render, screen } from '@testing-library/react'
|
|
2
2
|
import React from 'react'
|
|
3
|
-
import { screen, render } from '@testing-library/react'
|
|
4
3
|
import { Alert } from '../src/atoms/Alert'
|
|
4
|
+
import type { Variant } from '../src/atoms/Alert/Alert'
|
|
5
5
|
|
|
6
6
|
describe('Alert', () => {
|
|
7
7
|
const variants = ['info', 'success', 'warning', 'error']
|
package/tests/Badge.spec.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Variant } from '../src/atoms/Badge'
|
|
2
|
-
import React from 'react'
|
|
3
1
|
import { render, screen } from '@testing-library/react'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import type { Variant } from '../src/atoms/Badge'
|
|
4
4
|
import { Badge } from '../src/atoms/Badge'
|
|
5
5
|
|
|
6
6
|
describe('Badge', () => {
|
package/tests/Button.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { screen, render, getByRole } from '@testing-library/react'
|
|
1
|
+
import { getByRole, render, screen } from '@testing-library/react'
|
|
4
2
|
import userEvent from '@testing-library/user-event'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import type { ButtonVariant } from '../src/atoms/Button/Button'
|
|
5
5
|
import { Button } from '../src/atoms/Button/Button'
|
|
6
6
|
|
|
7
7
|
describe('Button', () => {
|
package/tests/Card.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
3
|
-
import
|
|
2
|
+
import React from 'react'
|
|
4
3
|
import { Button } from '../src/atoms/Button'
|
|
4
|
+
import { Card, CardContent, CardFooter, CardHeader } from '../src/atoms/Card'
|
|
5
5
|
|
|
6
6
|
describe('Product card', () => {
|
|
7
7
|
it('renders the expected structure and data', () => {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Badge } from '../src/atoms/Badge'
|
|
4
|
+
import { IconButton } from '../src/atoms/Button'
|
|
3
5
|
import {
|
|
6
|
+
Alignment,
|
|
4
7
|
CardsTable,
|
|
8
|
+
CardsTableBody,
|
|
9
|
+
CardsTableCell,
|
|
5
10
|
CardsTableHead,
|
|
6
11
|
CardsTableHeader,
|
|
7
12
|
CardsTableRow,
|
|
8
|
-
CardsTableBody,
|
|
9
|
-
CardsTableCell,
|
|
10
|
-
Alignment,
|
|
11
13
|
} from '../src/atoms/CardsTable'
|
|
12
|
-
import { IconButton } from '../src/atoms/Button'
|
|
13
|
-
import { Badge } from '../src/atoms/Badge'
|
|
14
14
|
|
|
15
15
|
describe('CardsTable', () => {
|
|
16
16
|
it('renders', () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Variant } from '../src/atoms/CheckableTag'
|
|
2
|
-
import React from 'react'
|
|
3
1
|
import { render } from '@testing-library/react'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import type { Variant } from '../src/atoms/CheckableTag'
|
|
4
4
|
import { CheckableTag } from '../src/atoms/CheckableTag'
|
|
5
5
|
|
|
6
6
|
describe('CheckableTag', () => {
|
package/tests/Checkbox.spec.tsx
CHANGED
package/tests/Drawer.spec.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
3
|
-
import
|
|
4
|
-
import { Collapsible } from '../src/atoms/Collapsible'
|
|
2
|
+
import React from 'react'
|
|
5
3
|
import { CheckableTag, CheckableTagGroup } from '../src/atoms/CheckableTag'
|
|
4
|
+
import { Collapsible } from '../src/atoms/Collapsible'
|
|
5
|
+
import { Drawer } from '../src/atoms/Drawer'
|
|
6
6
|
|
|
7
7
|
describe('Drawer', () => {
|
|
8
8
|
it('renders with expected title, content and buttons', () => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Button } from '../src/atoms/Button/Button'
|
|
3
4
|
import type { Variant } from '../src/atoms/EmptyState'
|
|
4
5
|
import { EmptyState } from '../src/atoms/EmptyState'
|
|
5
|
-
import { Button } from '../src/atoms/Button/Button'
|
|
6
6
|
|
|
7
7
|
describe('EmptyState', () => {
|
|
8
8
|
const variants = ['primary']
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { screen, render } from '@testing-library/react'
|
|
1
|
+
import { render, screen } from '@testing-library/react'
|
|
4
2
|
import userEvent from '@testing-library/user-event'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import type { Variant } from '../src/atoms/Button/FloatingButton'
|
|
5
5
|
import { FloatingButton } from '../src/atoms/Button/FloatingButton'
|
|
6
6
|
|
|
7
7
|
describe('Floating Button', () => {
|
package/tests/Icon.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { screen, render } from '@testing-library/react'
|
|
1
|
+
import { render, screen } from '@testing-library/react'
|
|
4
2
|
import userEvent from '@testing-library/user-event'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import type { Variant } from '../src/atoms/Button/IconButton'
|
|
5
5
|
import { IconButton } from '../src/atoms/Button/IconButton'
|
|
6
6
|
|
|
7
7
|
describe('Icon Button', () => {
|
package/tests/Input.spec.tsx
CHANGED
package/tests/Menu.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
3
|
-
import
|
|
2
|
+
import React from 'react'
|
|
4
3
|
import { MenuDropdown, MenuLink } from '../src/atoms/Menu'
|
|
4
|
+
import { Menu } from '../src/atoms/Menu/Menu'
|
|
5
5
|
|
|
6
6
|
describe('Menu', () => {
|
|
7
7
|
it('renders first-level menu', () => {
|
package/tests/Modal.spec.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render, screen } from '@testing-library/react'
|
|
3
2
|
import userEvent from '@testing-library/user-event'
|
|
4
|
-
import
|
|
3
|
+
import React from 'react'
|
|
5
4
|
import { Placeholder } from 'storybook/internal/components'
|
|
5
|
+
import { Multiselect } from '../src/atoms/Multiselect'
|
|
6
6
|
|
|
7
7
|
describe('Multiselect', () => {
|
|
8
8
|
it('renders', async () => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
2
|
+
import React from 'react'
|
|
3
3
|
import {
|
|
4
|
+
Ellipsis,
|
|
4
5
|
Pagination,
|
|
5
6
|
PaginationArrow,
|
|
6
7
|
PaginationNumber,
|
|
7
|
-
Ellipsis,
|
|
8
8
|
} from '../src/atoms/Pagination'
|
|
9
9
|
|
|
10
10
|
describe('Pagination', () => {
|
package/tests/Popover.spec.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
1
|
import { render } from '@testing-library/react'
|
|
3
2
|
import userEvent from '@testing-library/user-event'
|
|
4
|
-
import
|
|
3
|
+
import React from 'react'
|
|
5
4
|
import { Button } from '../src/atoms/Button'
|
|
5
|
+
import { Popover, PopoverMenu, PopoverMenuOption } from '../src/atoms/Popover'
|
|
6
6
|
|
|
7
7
|
describe('PopoverMenu', () => {
|
|
8
8
|
it('shows when click on button', async () => {
|
package/tests/Select.spec.tsx
CHANGED
package/tests/a11y.spec.tsx
CHANGED
package/tests/library.ts
CHANGED
|
@@ -3,9 +3,9 @@ export * as CardsTable from '../src/stories/CardsTable.stories'
|
|
|
3
3
|
export * as CardsTableList from '../src/stories/CardsTableList.stories'
|
|
4
4
|
export * as Checkbox from '../src/stories/Checkbox.stories'
|
|
5
5
|
export * as EmptyState from '../src/stories/EmptyState.stories'
|
|
6
|
+
export * as Form from '../src/stories/Form.stories'
|
|
6
7
|
export * as IconButton from '../src/stories/IconButton.stories'
|
|
7
8
|
export * as Input from '../src/stories/Input.stories'
|
|
8
|
-
export * as Multiselect from '../src/stories/Multiselect.stories'
|
|
9
9
|
export * as Modal from '../src/stories/Modal.stories'
|
|
10
|
+
export * as Multiselect from '../src/stories/Multiselect.stories'
|
|
10
11
|
export * as Select from '../src/stories/Select.stories'
|
|
11
|
-
export * as Form from '../src/stories/Form.stories'
|