@automattic/vip-design-system 0.26.1 → 0.26.3

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 (38) hide show
  1. package/.storybook/preview.js +6 -0
  2. package/build/system/Accordion/Accordion.js +36 -25
  3. package/build/system/Form/Checkbox.stories.js +85 -0
  4. package/build/system/Form/Input.js +55 -31
  5. package/build/system/Form/Input.stories.js +34 -4
  6. package/build/system/Form/MultiSelect.js +38 -0
  7. package/build/system/Form/Radio.stories.js +95 -0
  8. package/build/system/Form/Select.stories.js +1 -1
  9. package/build/system/Form/Textarea.js +14 -53
  10. package/build/system/Form/Textarea.stories.js +67 -0
  11. package/build/system/Form/Validation.js +17 -10
  12. package/build/system/NewConfirmationDialog/NewConfirmationDialog.stories.js +1 -1
  13. package/build/system/NewDialog/NewDialog.stories.js +1 -1
  14. package/build/system/NewForm/index.js +12 -0
  15. package/build/system/NewTabs/Tabs.stories.js +11 -5
  16. package/build/system/NewTabs/TabsList.js +1 -1
  17. package/build/system/ResourceList/ResourceList.js +1 -1
  18. package/build/system/Tabs/Tabs.stories.js +1 -1
  19. package/build/system/UsageChart/UsageChart.js +60 -0
  20. package/build/system/UsageChart/index.js +7 -0
  21. package/build/system/theme/index.js +7 -0
  22. package/package.json +1 -1
  23. package/src/system/Accordion/Accordion.js +8 -5
  24. package/src/system/Form/Checkbox.stories.jsx +54 -0
  25. package/src/system/Form/Input.js +44 -27
  26. package/src/system/Form/Input.stories.jsx +29 -4
  27. package/src/system/Form/Radio.stories.jsx +66 -0
  28. package/src/system/Form/Select.stories.jsx +1 -1
  29. package/src/system/Form/Textarea.js +4 -49
  30. package/src/system/Form/Textarea.stories.jsx +40 -0
  31. package/src/system/Form/Validation.js +14 -8
  32. package/src/system/NewConfirmationDialog/NewConfirmationDialog.stories.jsx +1 -1
  33. package/src/system/NewDialog/NewDialog.stories.jsx +1 -1
  34. package/src/system/NewForm/index.js +4 -1
  35. package/src/system/NewTabs/Tabs.stories.jsx +7 -3
  36. package/src/system/NewTabs/TabsList.js +1 -1
  37. package/src/system/Tabs/Tabs.stories.jsx +1 -1
  38. package/src/system/theme/index.js +8 -0
@@ -9,27 +9,33 @@ import { MdErrorOutline, MdCheckCircle } from 'react-icons/md';
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
- import { Heading } from '..';
13
12
 
14
- const Validation = ( { children, isValid, ...props } ) => {
13
+ const Validation = ( { children, isValid, describedId = null, ...props } ) => {
15
14
  const Icon = isValid ? MdCheckCircle : MdErrorOutline;
15
+ const IconLabel = isValid ? 'Valid' : 'Invalid';
16
16
 
17
17
  return (
18
- <Heading
19
- variant="h5"
20
- as="p"
21
- sx={ { color: isValid ? 'success' : 'error', display: 'flex', alignItems: 'center' } }
18
+ <p
19
+ sx={ {
20
+ color: isValid ? 'success' : 'error',
21
+ display: 'flex',
22
+ alignItems: 'center',
23
+ m: 0,
24
+ fontSize: 1,
25
+ } }
26
+ id={ describedId ? `describe-${ describedId }-validation` : undefined }
22
27
  { ...props }
23
28
  >
24
- <Icon sx={ { mr: 1 } } />
29
+ <Icon sx={ { mr: 1 } } aria-label={ IconLabel } />
25
30
  { children }
26
- </Heading>
31
+ </p>
27
32
  );
28
33
  };
29
34
 
30
35
  Validation.propTypes = {
31
36
  children: PropTypes.node,
32
37
  isValid: PropTypes.bool,
38
+ describedId: PropTypes.string,
33
39
  };
34
40
 
35
41
  export { Validation };
@@ -5,7 +5,7 @@ import React from 'react';
5
5
  import { Box, NewConfirmationDialog, Button } from '..';
6
6
 
7
7
  export default {
8
- title: 'NewConfirmationDialog',
8
+ title: 'Dialog/NewConfirmationDialog',
9
9
  component: NewConfirmationDialog,
10
10
  };
11
11
 
@@ -14,7 +14,7 @@ import ScreenReaderText from '../ScreenReaderText';
14
14
  import * as NewDialog from '.';
15
15
 
16
16
  export default {
17
- title: 'NewDialog',
17
+ title: 'Dialog/NewDialog',
18
18
  component: NewDialog.Root,
19
19
  };
20
20
 
@@ -4,12 +4,15 @@
4
4
 
5
5
  import { FormSelect } from './FormSelect';
6
6
  import { FormAutocomplete } from './FormAutocomplete';
7
+ import { Textarea } from '../Form/Textarea';
8
+ import { Input } from '../Form/Input';
7
9
  import { Form } from './Form';
10
+ import { Label } from '../Form/Label';
8
11
 
9
12
  const Select = FormSelect;
10
13
  const Autocomplete = FormAutocomplete;
11
14
  const Root = Form;
12
15
 
13
- export { Root, Select, Autocomplete };
16
+ export { Root, Select, Autocomplete, Textarea, Input, Label };
14
17
 
15
18
  export default Root;
@@ -4,7 +4,7 @@
4
4
  import { NewTabs, TabsTrigger, TabsList, TabsContent, Text } from '..';
5
5
 
6
6
  export default {
7
- title: 'NewTabs',
7
+ title: 'Tabs',
8
8
  component: NewTabs,
9
9
  };
10
10
 
@@ -19,11 +19,15 @@ export const Default = () => (
19
19
  </TabsTrigger>
20
20
  </TabsList>
21
21
  <TabsContent value="all">
22
- <Text>All content</Text>
22
+ <Text>
23
+ All content <a href="https://google.com">https://google.com</a>
24
+ </Text>
23
25
  </TabsContent>
24
26
  <TabsContent value="live">Live content</TabsContent>
25
27
  <TabsContent value="dev">
26
- <Text>In Development content</Text>
28
+ <Text>
29
+ In Development content <button type="button">Hey I am a button</button>{ ' ' }
30
+ </Text>
27
31
  </TabsContent>
28
32
  </NewTabs>
29
33
  );
@@ -18,7 +18,7 @@ const TabsList = ( { children, title, sx } ) => (
18
18
  display: 'flex',
19
19
  ...sx,
20
20
  } }
21
- title={ title }
21
+ aria-label={ title }
22
22
  >
23
23
  { children }
24
24
  </TabsPrimitive.List>
@@ -4,7 +4,7 @@
4
4
  import { Tabs, TabItem } from '..';
5
5
 
6
6
  export default {
7
- title: 'Tabs',
7
+ title: 'Deprecated/Tabs',
8
8
  component: Tabs,
9
9
  };
10
10
 
@@ -162,6 +162,14 @@ export default {
162
162
  '0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802), 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725), 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035), 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275), 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198), 0px 100px 80px rgba(0, 0, 0, 0.07)',
163
163
  },
164
164
 
165
+ accordion: {
166
+ background: {
167
+ open: getVariants( 'color.gold' )[ '7' ],
168
+ closed: 'transparent',
169
+ hover: getVariants( 'color.gold' )[ '7' ],
170
+ },
171
+ },
172
+
165
173
  tag: {
166
174
  gold: getVariants( 'tag.gold' ),
167
175
  },