agroptima-design-system 1.2.30-beta.0 → 1.2.31

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.
@@ -17,7 +17,7 @@ jobs:
17
17
  # Setup .npmrc file to publish to npm
18
18
  - uses: actions/setup-node@v6
19
19
  with:
20
- node-version: '20.x'
20
+ node-version: 'lts/*'
21
21
  registry-url: 'https://registry.npmjs.org'
22
22
 
23
23
  # Ensure npm 11.5.1 or later is installed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agroptima-design-system",
3
- "version": "1.2.30-beta.0",
3
+ "version": "1.2.31",
4
4
  "scripts": {
5
5
  "dev": "npm run storybook",
6
6
  "storybook": "storybook dev -p 6006 --ci",
@@ -13,8 +13,7 @@ type HtmlButtonProps = ButtonHTMLAttributes<HTMLButtonElement>
13
13
  type AnchorProps = AnchorHTMLAttributes<HTMLAnchorElement> & LinkProps
14
14
 
15
15
  export type BaseButtonProps =
16
- | (HtmlButtonProps & CommonProps)
17
- | (AnchorProps & CommonProps)
16
+ (HtmlButtonProps & CommonProps) | (AnchorProps & CommonProps)
18
17
 
19
18
  const hasHref = (
20
19
  props: HtmlButtonProps | AnchorProps,
@@ -27,8 +27,7 @@ export function Collapsible({
27
27
  onToggle,
28
28
  ...props
29
29
  }: CollapsibleProps) {
30
- const [expanded, setExpanded] = useState(false)
31
- const isOpen = controlledOpen !== undefined ? controlledOpen : expanded
30
+ const [isOpen, setIsOpen] = useState(controlledOpen ?? false)
32
31
 
33
32
  const cssClasses = classNames('collapsible', variant, className, {
34
33
  open: isOpen,
@@ -46,7 +45,7 @@ export function Collapsible({
46
45
  className={cssClasses}
47
46
  aria-label={title}
48
47
  onToggle={(e) => {
49
- if (controlledOpen === undefined) setExpanded(e.currentTarget.open)
48
+ setIsOpen(e.currentTarget.open)
50
49
  onToggle?.(e)
51
50
  }}
52
51
  {...props}
@@ -13,12 +13,7 @@ import {
13
13
  } from '.'
14
14
 
15
15
  export type Variant =
16
- | 'info'
17
- | 'success'
18
- | 'warning'
19
- | 'error'
20
- | 'discard'
21
- | 'details'
16
+ 'info' | 'success' | 'warning' | 'error' | 'discard' | 'details'
22
17
 
23
18
  export interface ModalProps {
24
19
  id: string
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#discount__a)"><path d="M10 20c-.4 0-.783-.075-1.15-.225a2.942 2.942 0 0 1-.975-.65c-.483-.483-.9-.8-1.25-.95-.35-.15-.875-.225-1.575-.225a2.893 2.893 0 0 1-2.125-.875 2.893 2.893 0 0 1-.875-2.125c0-.7-.075-1.225-.225-1.575-.15-.35-.467-.767-.95-1.25a2.941 2.941 0 0 1-.65-.975A3.009 3.009 0 0 1 0 10c0-.4.075-.783.225-1.15a2.94 2.94 0 0 1 .65-.975c.483-.483.8-.9.95-1.25.15-.35.225-.875.225-1.575 0-.833.292-1.542.875-2.125A2.893 2.893 0 0 1 5.05 2.05c.7 0 1.225-.075 1.575-.225.35-.15.767-.467 1.25-.95.283-.283.608-.5.975-.65A3.01 3.01 0 0 1 10 0c.4 0 .783.075 1.15.225.367.15.692.367.975.65.483.483.9.8 1.25.95.35.15.875.225 1.575.225.833 0 1.542.292 2.125.875s.875 1.292.875 2.125c0 .7.075 1.225.225 1.575.15.35.467.767.95 1.25.283.283.5.608.65.975.15.367.225.75.225 1.15 0 .4-.075.783-.225 1.15a2.94 2.94 0 0 1-.65.975c-.483.483-.8.9-.95 1.25-.15.35-.225.875-.225 1.575 0 .833-.292 1.542-.875 2.125a2.893 2.893 0 0 1-2.125.875c-.7 0-1.225.075-1.575.225-.35.15-.767.467-1.25.95a2.94 2.94 0 0 1-.975.65A3.01 3.01 0 0 1 10 20Zm0-2c.133 0 .262-.03.387-.087.125-.059.23-.13.313-.213.683-.683 1.325-1.146 1.925-1.387.6-.242 1.375-.363 2.325-.363.283 0 .52-.096.713-.287a.968.968 0 0 0 .287-.713c0-.967.12-1.746.363-2.337.241-.592.704-1.23 1.387-1.913.2-.2.3-.433.3-.7 0-.267-.1-.5-.3-.7-.683-.683-1.146-1.325-1.387-1.925-.242-.6-.363-1.375-.363-2.325a.967.967 0 0 0-.287-.712.968.968 0 0 0-.713-.288c-.967 0-1.746-.12-2.337-.362-.592-.242-1.23-.705-1.913-1.388a1.085 1.085 0 0 0-.313-.212.907.907 0 0 0-.774 0c-.125.058-.23.129-.313.212-.683.683-1.325 1.146-1.925 1.388-.6.241-1.375.362-2.325.362a.968.968 0 0 0-.712.288.968.968 0 0 0-.288.712c0 .967-.12 1.746-.362 2.338-.242.591-.705 1.229-1.388 1.912-.2.2-.3.433-.3.7 0 .267.1.5.3.7.683.683 1.146 1.325 1.388 1.925.241.6.362 1.375.362 2.325 0 .283.096.52.288.713a.968.968 0 0 0 .712.287c.967 0 1.746.12 2.338.363.591.241 1.229.704 1.912 1.387.083.083.188.154.313.213A.907.907 0 0 0 10 18Zm2.5-4c.417 0 .77-.146 1.063-.438.291-.291.437-.645.437-1.062 0-.417-.146-.77-.438-1.063A1.446 1.446 0 0 0 12.5 11c-.417 0-.77.146-1.063.438A1.446 1.446 0 0 0 11 12.5c0 .417.146.77.438 1.063.291.291.645.437 1.062.437Zm-5.05-.05 6.5-6.5-1.4-1.4-6.5 6.5 1.4 1.4Zm1.112-5.387C8.854 8.27 9 7.917 9 7.5c0-.417-.146-.77-.438-1.063A1.447 1.447 0 0 0 7.5 6c-.417 0-.77.146-1.063.438A1.447 1.447 0 0 0 6 7.5c0 .417.146.77.438 1.063.291.291.645.437 1.062.437.417 0 .77-.146 1.063-.438Z" fill="#161C26"/></g><defs><clipPath id="discount__a"><path fill="#fff" d="M0 0h20v20H0z"/></clipPath></defs></svg>
@@ -22,6 +22,7 @@ import CreditNote from './credit-note.svg'
22
22
  import Delete from './delete.svg'
23
23
  import Delivery from './delivery.svg'
24
24
  import DeliveryNote from './delivery-note.svg'
25
+ import Discount from './discount.svg'
25
26
  import Done from './done.svg'
26
27
  import DoubleArrowLeft from './double-arrow-left.svg'
27
28
  import DoubleArrowRight from './double-arrow-right.svg'
@@ -98,6 +99,7 @@ export const icons = {
98
99
  Delete,
99
100
  Delivery,
100
101
  DeliveryNote,
102
+ Discount,
101
103
  Done,
102
104
  DoubleArrowLeft,
103
105
  DoubleArrowRight,
@@ -4,6 +4,18 @@ import { Meta } from "@storybook/addon-docs/blocks";
4
4
 
5
5
  # Changelog
6
6
 
7
+ ## 1.2.31
8
+
9
+ * Add Discount icon
10
+
11
+ ## 1.2.30
12
+
13
+ * Fix Webpack icons exports bug
14
+
15
+ ## 1.2.29
16
+
17
+ * Fix Collapsible styles not updating when closing a default-open collapsible
18
+
7
19
  ## 1.2.28
8
20
 
9
21
  * Add Link icon
@@ -1,4 +1,5 @@
1
- import { render } from '@testing-library/react'
1
+ import { render, waitFor } from '@testing-library/react'
2
+ import userEvent from '@testing-library/user-event'
2
3
  import React from 'react'
3
4
  import { Collapsible } from '../src/atoms/Collapsible'
4
5
  import { Input } from '../src/atoms/Input'
@@ -24,4 +25,50 @@ describe('Collapsible', () => {
24
25
  expect(getByRole('textbox')).toBeInTheDocument()
25
26
  expect(getByRole('group')).toHaveClass(`collapsible primary open`)
26
27
  })
28
+
29
+ it('removes the open styles when a default-open collapsible is closed', async () => {
30
+ const user = userEvent.setup()
31
+ const { getByRole } = render(
32
+ <Collapsible title="My personal data" name="personal-data" open>
33
+ <Input
34
+ accessibilityLabel="Fill the form name"
35
+ id="name_input"
36
+ label="Name"
37
+ name="name"
38
+ type="name"
39
+ variant="primary"
40
+ />
41
+ </Collapsible>,
42
+ )
43
+
44
+ const group = getByRole('group')
45
+ expect(group).toHaveClass('open')
46
+
47
+ await user.click(group.querySelector('summary')!)
48
+
49
+ await waitFor(() => expect(group).not.toHaveClass('open'))
50
+ })
51
+
52
+ it('adds the open styles when a closed collapsible is opened', async () => {
53
+ const user = userEvent.setup()
54
+ const { getByRole } = render(
55
+ <Collapsible title="My personal data" name="personal-data">
56
+ <Input
57
+ accessibilityLabel="Fill the form name"
58
+ id="name_input"
59
+ label="Name"
60
+ name="name"
61
+ type="name"
62
+ variant="primary"
63
+ />
64
+ </Collapsible>,
65
+ )
66
+
67
+ const group = getByRole('group')
68
+ expect(group).not.toHaveClass('open')
69
+
70
+ await user.click(group.querySelector('summary')!)
71
+
72
+ await waitFor(() => expect(group).toHaveClass('open'))
73
+ })
27
74
  })
@@ -1,7 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(git rev-list *)"
5
- ]
6
- }
7
- }