norma-library 0.6.3 → 0.6.5

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 (176) hide show
  1. package/.babelrc.json +18 -18
  2. package/.prettierignore +10 -10
  3. package/.prettierrc.json +20 -20
  4. package/.storybook/main.ts +20 -20
  5. package/.storybook/preview.ts +15 -15
  6. package/README.md +43 -43
  7. package/commitlint.config.js +1 -1
  8. package/dist/esm/components/UncontrolledTable/components/header/index.js +4 -2
  9. package/dist/esm/components/UncontrolledTable/components/header/index.js.map +1 -1
  10. package/dist/esm/components/UncontrolledTable/components/header/styles.js +1 -1
  11. package/dist/esm/components/UncontrolledTable/components/header/styles.js.map +1 -1
  12. package/dist/esm/components/UncontrolledTable/index.js +1 -1
  13. package/dist/esm/components/UncontrolledTable/index.js.map +1 -1
  14. package/dist/esm/components/UncontrolledTable/interface.d.ts +2 -0
  15. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.d.ts +2 -1
  16. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js +5 -2
  17. package/dist/esm/components/UncontrolledTabs/UncontrolledTabs.js.map +1 -1
  18. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.d.ts +2 -0
  19. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js +5 -0
  20. package/dist/esm/components/UncontrolledTabs/UncontrolledTabsInfo.style.js.map +1 -0
  21. package/docs/index.md +118 -118
  22. package/package.json +136 -136
  23. package/src/components/Accordion.tsx +39 -39
  24. package/src/components/Avatar.tsx +17 -17
  25. package/src/components/Badge.tsx +14 -14
  26. package/src/components/Box/index.tsx +12 -12
  27. package/src/components/Box/interfaces.ts +3 -3
  28. package/src/components/Box/styles.tsx +22 -22
  29. package/src/components/Breadcrumb/index.tsx +27 -27
  30. package/src/components/Breadcrumb/interface.ts +8 -8
  31. package/src/components/Breadcrumb/styles.tsx +32 -32
  32. package/src/components/Button.tsx +26 -26
  33. package/src/components/Card.tsx +37 -37
  34. package/src/components/ChatMessage.tsx +87 -87
  35. package/src/components/ChatMessageBalloon/ChatMessageBalloon.style.ts +56 -56
  36. package/src/components/ChatMessageBalloon/ChatMessageBalloon.tsx +55 -55
  37. package/src/components/CheckBox.tsx +21 -21
  38. package/src/components/DateInput/index.tsx +34 -34
  39. package/src/components/DateInput/interface.ts +13 -13
  40. package/src/components/DateInput/styles.tsx +27 -27
  41. package/src/components/DatePicker.tsx +67 -67
  42. package/src/components/DropDown.tsx +24 -24
  43. package/src/components/IconButton.tsx +37 -37
  44. package/src/components/Icons.tsx +82 -82
  45. package/src/components/Modal.tsx +103 -103
  46. package/src/components/MultiSelectInput/components/MultiValue/index.tsx +44 -44
  47. package/src/components/MultiSelectInput/components/Option/index.tsx +62 -62
  48. package/src/components/MultiSelectInput/components/Option/styles.tsx +8 -8
  49. package/src/components/MultiSelectInput/index.tsx +60 -60
  50. package/src/components/MultiSelectInput/interfaces.ts +15 -15
  51. package/src/components/MultiSelectInput/styles.tsx +43 -43
  52. package/src/components/Paper.tsx +12 -12
  53. package/src/components/ProgressBar.tsx +71 -71
  54. package/src/components/RadioGroup.tsx +43 -43
  55. package/src/components/RangerSlider.tsx +65 -65
  56. package/src/components/Select.tsx +74 -74
  57. package/src/components/SelectInput/components/Option/index.tsx +61 -61
  58. package/src/components/SelectInput/components/Option/styles.tsx +8 -8
  59. package/src/components/SelectInput/index.tsx +45 -45
  60. package/src/components/SelectInput/interfaces.ts +15 -15
  61. package/src/components/SelectInput/styles.tsx +31 -31
  62. package/src/components/StatusModal/StatusModal.style.tsx +75 -75
  63. package/src/components/StatusModal/StatusModal.tsx +58 -58
  64. package/src/components/Svgs.tsx +506 -506
  65. package/src/components/Table/components/header/index.tsx +86 -86
  66. package/src/components/Table/components/header/styles.tsx +59 -59
  67. package/src/components/Table/components/index.tsx +8 -8
  68. package/src/components/Table/components/pagination/index.tsx +39 -39
  69. package/src/components/Table/components/pagination/styles.tsx +28 -28
  70. package/src/components/Table/components/tbody/index.tsx +30 -30
  71. package/src/components/Table/components/tbody/styles.tsx +4 -4
  72. package/src/components/Table/index.tsx +317 -317
  73. package/src/components/Table/interface.ts +23 -23
  74. package/src/components/Table/styles.tsx +117 -117
  75. package/src/components/Tabs.tsx +105 -105
  76. package/src/components/Tag.tsx +33 -33
  77. package/src/components/TextField.tsx +19 -19
  78. package/src/components/TextInput/index.tsx +37 -37
  79. package/src/components/TextInput/interface.ts +9 -9
  80. package/src/components/TextInput/styles.tsx +23 -23
  81. package/src/components/TimeLine.tsx +89 -89
  82. package/src/components/TimePicker.tsx +78 -78
  83. package/src/components/Typography/Text/index.tsx +20 -20
  84. package/src/components/Typography/Text/interfaces.ts +5 -5
  85. package/src/components/Typography/Text/styles.tsx +40 -40
  86. package/src/components/Typography/Title/index.tsx +22 -22
  87. package/src/components/Typography/Title/interfaces.ts +6 -6
  88. package/src/components/Typography/Title/styles.tsx +40 -40
  89. package/src/components/Typography/index.tsx +6 -6
  90. package/src/components/UncontrolledTable/components/header/index.tsx +72 -65
  91. package/src/components/UncontrolledTable/components/header/styles.tsx +66 -63
  92. package/src/components/UncontrolledTable/components/index.tsx +8 -8
  93. package/src/components/UncontrolledTable/components/pagination/index.tsx +43 -43
  94. package/src/components/UncontrolledTable/components/pagination/styles.tsx +28 -28
  95. package/src/components/UncontrolledTable/components/tbody/index.tsx +33 -33
  96. package/src/components/UncontrolledTable/components/tbody/styles.tsx +32 -32
  97. package/src/components/UncontrolledTable/index.tsx +222 -221
  98. package/src/components/UncontrolledTable/interface.ts +44 -43
  99. package/src/components/UncontrolledTable/styles.tsx +123 -123
  100. package/src/components/UncontrolledTabs/UncontrolledTabs.style.tsx +58 -56
  101. package/src/components/UncontrolledTabs/UncontrolledTabs.tsx +71 -68
  102. package/src/components/UncontrolledTabs/UncontrolledTabsInfo.style.ts +8 -0
  103. package/src/components/index.ts +24 -24
  104. package/src/helpers/alignments.ts +14 -14
  105. package/src/helpers/borders.ts +18 -18
  106. package/src/helpers/colors.ts +258 -258
  107. package/src/helpers/index.ts +5 -5
  108. package/src/helpers/radios.ts +24 -24
  109. package/src/helpers/sizes.ts +72 -72
  110. package/src/hooks/useClickOutside.tsx +18 -18
  111. package/src/index.ts +70 -70
  112. package/src/interfaces/Accordion.ts +12 -12
  113. package/src/interfaces/Avatar.tsx +15 -15
  114. package/src/interfaces/Badge.ts +19 -19
  115. package/src/interfaces/Button.ts +22 -22
  116. package/src/interfaces/Card.ts +11 -11
  117. package/src/interfaces/ChatMessage.ts +12 -12
  118. package/src/interfaces/ChatMessageBalloon.ts +17 -17
  119. package/src/interfaces/CheckBox.ts +27 -27
  120. package/src/interfaces/DatePicker.ts +13 -13
  121. package/src/interfaces/DropDown.ts +14 -14
  122. package/src/interfaces/IconButton.ts +22 -22
  123. package/src/interfaces/Icons.ts +17 -17
  124. package/src/interfaces/Modal.ts +18 -18
  125. package/src/interfaces/Paper.ts +12 -12
  126. package/src/interfaces/ProgressBar.ts +29 -29
  127. package/src/interfaces/RadioGroup.ts +23 -23
  128. package/src/interfaces/RangerSlider.ts +21 -21
  129. package/src/interfaces/Select.ts +17 -17
  130. package/src/interfaces/Tabs.ts +19 -19
  131. package/src/interfaces/Tag.ts +17 -17
  132. package/src/interfaces/TextField.ts +44 -44
  133. package/src/interfaces/TimeLine.ts +11 -11
  134. package/src/interfaces/TimePicker.ts +13 -13
  135. package/src/interfaces/index.ts +23 -23
  136. package/src/providers/NormaProvider.tsx +13 -13
  137. package/src/sample-data-2.json +178 -178
  138. package/src/sample-data.json +177 -177
  139. package/src/stories/Accordion.stories.tsx +65 -65
  140. package/src/stories/Avatar.stories.tsx +123 -123
  141. package/src/stories/Badge.stories.tsx +39 -39
  142. package/src/stories/Box.stories.tsx +35 -35
  143. package/src/stories/Breadcrumb.stories.tsx +44 -44
  144. package/src/stories/Button.stories.tsx +93 -93
  145. package/src/stories/Card.stories.tsx +39 -39
  146. package/src/stories/ChatMessage.stories.tsx +84 -84
  147. package/src/stories/ChatMessageBalloon.stories.tsx +108 -108
  148. package/src/stories/CheckBox.stories.tsx +88 -88
  149. package/src/stories/DateInput.stories.tsx +51 -51
  150. package/src/stories/DatePicker.stories.tsx +50 -50
  151. package/src/stories/DropDown.stories.tsx +57 -57
  152. package/src/stories/IconButton.stories.tsx +78 -78
  153. package/src/stories/Modal.stories.tsx +246 -246
  154. package/src/stories/ModalStatus.stories.tsx +46 -46
  155. package/src/stories/MultiSelectInput.stories.tsx +90 -90
  156. package/src/stories/Paper.stories.tsx +53 -53
  157. package/src/stories/ProgressBar.stories.tsx +116 -116
  158. package/src/stories/RadioGroup.stories.tsx +87 -87
  159. package/src/stories/RangerSlider.stories.tsx +149 -149
  160. package/src/stories/Select.stories.tsx +100 -100
  161. package/src/stories/SelectInput.stories.tsx +78 -78
  162. package/src/stories/Table.stories.tsx +372 -372
  163. package/src/stories/Tabs.stories.tsx +61 -61
  164. package/src/stories/Tag.stories.tsx +56 -56
  165. package/src/stories/Text.stories.tsx +37 -37
  166. package/src/stories/TextField.stories.tsx +310 -310
  167. package/src/stories/TextInput.stories.tsx +52 -52
  168. package/src/stories/TimeLine.stories.tsx +35 -35
  169. package/src/stories/TimePicker.stories.tsx +87 -87
  170. package/src/stories/Title.stories.tsx +43 -43
  171. package/src/stories/UncontrolledTable.stories.tsx +315 -305
  172. package/src/stories/UncontrolledTabs.stories.tsx +74 -63
  173. package/src/styles/globals.scss +17 -17
  174. package/src/types/index.ts +207 -207
  175. package/src/utils/styledBreakpoints.ts +25 -25
  176. package/vite.config.ts +15 -15
@@ -1,91 +1,91 @@
1
- import React, { useState } from 'react';
2
- import MultiSelectInput from '../components/MultiSelectInput';
3
-
4
- export default {
5
- title: 'Form/MultiSelectInput',
6
- component: MultiSelectInput,
7
- tags: ['autodocs'],
8
- parameters: {
9
- layout: 'centered',
10
- },
11
- argTypes: {
12
- className: {
13
- description: 'Adicione uma classe.',
14
- },
15
- label: {
16
- description: 'Adicione uma label.'
17
- },
18
- onChange: {
19
- description: 'Função para capturar o valor quando alterado.'
20
- },
21
- placeholder: {
22
- description: 'Adicione um placeholder.'
23
- },
24
- options: {
25
- description: 'Lista de valores a ser exibido.'
26
- },
27
- value: {
28
- description: 'Valor selecionado.'
29
- },
30
- isSearchable: {
31
- description: 'Habilita a função de buscar um valor.'
32
- },
33
- isClearable: {
34
- description: 'Habilita a função de limpar o item selecionado.'
35
- },
36
- disabled: {
37
- description: 'Habilita ou desabilita.'
38
- }
39
- }
40
- }
41
-
42
- export const Default = (args) => {
43
- const options = [
44
- {
45
- label: 'options 1',
46
- value: 'value 1'
47
- },
48
- {
49
- label: 'options 2',
50
- value: 'value 2'
51
- },
52
- {
53
- label: 'options 3',
54
- value: 'value 3'
55
- },
56
- {
57
- label: 'options 4',
58
- value: 'value 4'
59
- },
60
- {
61
- label: 'options 5',
62
- value: 'value 5'
63
- },
64
- {
65
- label: 'options 6',
66
- value: 'value 6'
67
- }
68
- ]
69
- const [selectedValue, setSelectedValue] = useState<any>(options[0])
70
- return (
71
- <div style={{
72
- width: 300
73
- }}>
74
- <MultiSelectInput
75
- options={options}
76
- value={selectedValue}
77
- onChange={(value) => setSelectedValue(value)}
78
- {...args}
79
- />
80
- </div>
81
- )
82
- }
83
-
84
- Default.args = {
85
- className: '',
86
- label: 'Selecione:',
87
- placeholder: 'Selecione uma opção',
88
- disabled: false,
89
- isSearchable: false,
90
- isClearable: false,
1
+ import React, { useState } from 'react';
2
+ import MultiSelectInput from '../components/MultiSelectInput';
3
+
4
+ export default {
5
+ title: 'Form/MultiSelectInput',
6
+ component: MultiSelectInput,
7
+ tags: ['autodocs'],
8
+ parameters: {
9
+ layout: 'centered',
10
+ },
11
+ argTypes: {
12
+ className: {
13
+ description: 'Adicione uma classe.',
14
+ },
15
+ label: {
16
+ description: 'Adicione uma label.'
17
+ },
18
+ onChange: {
19
+ description: 'Função para capturar o valor quando alterado.'
20
+ },
21
+ placeholder: {
22
+ description: 'Adicione um placeholder.'
23
+ },
24
+ options: {
25
+ description: 'Lista de valores a ser exibido.'
26
+ },
27
+ value: {
28
+ description: 'Valor selecionado.'
29
+ },
30
+ isSearchable: {
31
+ description: 'Habilita a função de buscar um valor.'
32
+ },
33
+ isClearable: {
34
+ description: 'Habilita a função de limpar o item selecionado.'
35
+ },
36
+ disabled: {
37
+ description: 'Habilita ou desabilita.'
38
+ }
39
+ }
40
+ }
41
+
42
+ export const Default = (args) => {
43
+ const options = [
44
+ {
45
+ label: 'options 1',
46
+ value: 'value 1'
47
+ },
48
+ {
49
+ label: 'options 2',
50
+ value: 'value 2'
51
+ },
52
+ {
53
+ label: 'options 3',
54
+ value: 'value 3'
55
+ },
56
+ {
57
+ label: 'options 4',
58
+ value: 'value 4'
59
+ },
60
+ {
61
+ label: 'options 5',
62
+ value: 'value 5'
63
+ },
64
+ {
65
+ label: 'options 6',
66
+ value: 'value 6'
67
+ }
68
+ ]
69
+ const [selectedValue, setSelectedValue] = useState<any>(options[0])
70
+ return (
71
+ <div style={{
72
+ width: 300
73
+ }}>
74
+ <MultiSelectInput
75
+ options={options}
76
+ value={selectedValue}
77
+ onChange={(value) => setSelectedValue(value)}
78
+ {...args}
79
+ />
80
+ </div>
81
+ )
82
+ }
83
+
84
+ Default.args = {
85
+ className: '',
86
+ label: 'Selecione:',
87
+ placeholder: 'Selecione uma opção',
88
+ disabled: false,
89
+ isSearchable: false,
90
+ isClearable: false,
91
91
  }
@@ -1,53 +1,53 @@
1
- import React from 'react';
2
- import { Paper } from '../components';
3
- import type { Meta, StoryObj } from '@storybook/react';
4
-
5
- import Grid from '@mui/material/Grid';
6
- import Box from '@mui/material/Box';
7
- import { ThemeProvider, styled } from '@mui/material/styles';
8
- import { themes } from '../helpers';
9
-
10
- const Item = styled(Paper)(({ theme }) => ({
11
- ...theme.typography.body2,
12
- textAlign: 'center',
13
- height: 60,
14
- lineHeight: '60px',
15
- }));
16
-
17
- const meta = {
18
- title: 'Layout/Paper',
19
- component: Paper,
20
- parameters: {
21
- // layout: "centered",
22
- },
23
- tags: ['autodocs'],
24
- argTypes: {},
25
- } satisfies Meta<typeof Paper>;
26
-
27
- export default meta;
28
-
29
- type Story = StoryObj<typeof meta>;
30
-
31
- const defaultArgs = {};
32
-
33
- export const PaperElevations = () => (
34
- <Grid container spacing={2}>
35
- <Grid item xs={12}>
36
- <Box
37
- sx={{
38
- p: 2,
39
- bgcolor: 'background.default',
40
- display: 'grid',
41
- gridTemplateColumns: { md: '1fr 1fr' },
42
- gap: 2,
43
- }}
44
- >
45
- {[0, 1, 2, 3, 4, 6, 8, 12, 16, 24].map(elevation => (
46
- <Item key={elevation} elevation={elevation}>
47
- {`elevation=${elevation}`}
48
- </Item>
49
- ))}
50
- </Box>
51
- </Grid>
52
- </Grid>
53
- );
1
+ import React from 'react';
2
+ import { Paper } from '../components';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+
5
+ import Grid from '@mui/material/Grid';
6
+ import Box from '@mui/material/Box';
7
+ import { ThemeProvider, styled } from '@mui/material/styles';
8
+ import { themes } from '../helpers';
9
+
10
+ const Item = styled(Paper)(({ theme }) => ({
11
+ ...theme.typography.body2,
12
+ textAlign: 'center',
13
+ height: 60,
14
+ lineHeight: '60px',
15
+ }));
16
+
17
+ const meta = {
18
+ title: 'Layout/Paper',
19
+ component: Paper,
20
+ parameters: {
21
+ // layout: "centered",
22
+ },
23
+ tags: ['autodocs'],
24
+ argTypes: {},
25
+ } satisfies Meta<typeof Paper>;
26
+
27
+ export default meta;
28
+
29
+ type Story = StoryObj<typeof meta>;
30
+
31
+ const defaultArgs = {};
32
+
33
+ export const PaperElevations = () => (
34
+ <Grid container spacing={2}>
35
+ <Grid item xs={12}>
36
+ <Box
37
+ sx={{
38
+ p: 2,
39
+ bgcolor: 'background.default',
40
+ display: 'grid',
41
+ gridTemplateColumns: { md: '1fr 1fr' },
42
+ gap: 2,
43
+ }}
44
+ >
45
+ {[0, 1, 2, 3, 4, 6, 8, 12, 16, 24].map(elevation => (
46
+ <Item key={elevation} elevation={elevation}>
47
+ {`elevation=${elevation}`}
48
+ </Item>
49
+ ))}
50
+ </Box>
51
+ </Grid>
52
+ </Grid>
53
+ );
@@ -1,116 +1,116 @@
1
- import React from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { ProgressBar } from '../components';
4
- import { ColorVariant } from '../types';
5
-
6
- const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
7
-
8
- const meta = {
9
- title: 'Display/ProgressBar',
10
- component: ProgressBar,
11
- parameters: {
12
- layout: 'centered',
13
- },
14
- tags: ['autodocs'],
15
- argTypes: {},
16
- } satisfies Meta<typeof ProgressBar>;
17
-
18
- export default meta;
19
-
20
- type Story = StoryObj<typeof meta>;
21
-
22
- const defaultArgs = {
23
- disabled: false,
24
- };
25
-
26
- export const Playground: Story = {
27
- args: {
28
- label: 'Progress',
29
- total: 100,
30
- color: 'primary',
31
- value: 10,
32
- },
33
- };
34
-
35
- export const ProgressBarBasic = () => (
36
- <div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
37
- <div style={{ position: 'relative', width: '100%' }}>
38
- <ProgressBar value={40} total={100} color="primary" />
39
- </div>
40
- </div>
41
- );
42
-
43
- ProgressBarBasic.storyName = 'ProgressBar Basic';
44
-
45
- export const ProgressBarTitle: Story = () => (
46
- <div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
47
- <div style={{ position: 'relative', width: '100%' }}>
48
- <ProgressBar value={10} label="Progress" total={100} />
49
- </div>
50
- </div>
51
- );
52
-
53
- ProgressBarTitle.storyName = 'ProgressBar With Title';
54
-
55
- export const ProgressBarColors: Story = () => (
56
- <>
57
- <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
58
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
59
- <ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
60
- </div>
61
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
62
- <ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
63
- </div>
64
- </div>
65
- <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
66
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
67
- <ProgressBar value={22} total={100} color="error" label="Progress error" />
68
- </div>
69
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
70
- <ProgressBar value={24} total={100} color="info" label="Progress info" />
71
- </div>
72
- </div>
73
- <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
74
- <div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
75
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
76
- <ProgressBar value={45} total={100} color="success" label="Progress success" />
77
- </div>
78
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
79
- <ProgressBar value={86} total={100} color="warning" label="Progress warning" />
80
- </div>
81
- </div>
82
- </div>
83
- </>
84
- );
85
-
86
- ProgressBarColors.storyName = 'ProgressBar Colors';
87
-
88
- export const ProgressBarCustomColors: Story = () => (
89
- <>
90
- <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
91
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
92
- <ProgressBar
93
- value={50}
94
- total={100}
95
- colorCustom={{ root: 'rgba(179, 222, 105, 0.2)', bar: '#b3de69' }}
96
- htmlLabel={<div>Custom Color Green</div>}
97
- />
98
- </div>
99
- </div>
100
- <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
101
- <div style={{ position: 'relative', flex: 1, width: '230px' }}>
102
- <ProgressBar
103
- value={75}
104
- total={100}
105
- colorCustom={{ root: 'rgba(0, 191, 255, 0.2)', bar: '#00bfff' }}
106
- label="Custom Color Blue"
107
- h={5}
108
- hideValue
109
- fSize='12px'
110
- />
111
- </div>
112
- </div>
113
- </>
114
- );
115
-
116
- ProgressBarCustomColors.storyName = 'ProgressBar Custom Colors';
1
+ import React from 'react';
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ import { ProgressBar } from '../components';
4
+ import { ColorVariant } from '../types';
5
+
6
+ const colors: ColorVariant[] = ['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning'];
7
+
8
+ const meta = {
9
+ title: 'Display/ProgressBar',
10
+ component: ProgressBar,
11
+ parameters: {
12
+ layout: 'centered',
13
+ },
14
+ tags: ['autodocs'],
15
+ argTypes: {},
16
+ } satisfies Meta<typeof ProgressBar>;
17
+
18
+ export default meta;
19
+
20
+ type Story = StoryObj<typeof meta>;
21
+
22
+ const defaultArgs = {
23
+ disabled: false,
24
+ };
25
+
26
+ export const Playground: Story = {
27
+ args: {
28
+ label: 'Progress',
29
+ total: 100,
30
+ color: 'primary',
31
+ value: 10,
32
+ },
33
+ };
34
+
35
+ export const ProgressBarBasic = () => (
36
+ <div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
37
+ <div style={{ position: 'relative', width: '100%' }}>
38
+ <ProgressBar value={40} total={100} color="primary" />
39
+ </div>
40
+ </div>
41
+ );
42
+
43
+ ProgressBarBasic.storyName = 'ProgressBar Basic';
44
+
45
+ export const ProgressBarTitle: Story = () => (
46
+ <div style={{ display: 'flex', gap: '1rem', width: '320px' }}>
47
+ <div style={{ position: 'relative', width: '100%' }}>
48
+ <ProgressBar value={10} label="Progress" total={100} />
49
+ </div>
50
+ </div>
51
+ );
52
+
53
+ ProgressBarTitle.storyName = 'ProgressBar With Title';
54
+
55
+ export const ProgressBarColors: Story = () => (
56
+ <>
57
+ <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
58
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
59
+ <ProgressBar value={100} total={300} color="inherit" label="Progress Inherit" />
60
+ </div>
61
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
62
+ <ProgressBar value={125} total={1000} color="secondary" label="Progress secondary" />
63
+ </div>
64
+ </div>
65
+ <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
66
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
67
+ <ProgressBar value={22} total={100} color="error" label="Progress error" />
68
+ </div>
69
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
70
+ <ProgressBar value={24} total={100} color="info" label="Progress info" />
71
+ </div>
72
+ </div>
73
+ <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
74
+ <div style={{ display: 'flex', gap: '1rem', marginBottom: 15 }}>
75
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
76
+ <ProgressBar value={45} total={100} color="success" label="Progress success" />
77
+ </div>
78
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
79
+ <ProgressBar value={86} total={100} color="warning" label="Progress warning" />
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </>
84
+ );
85
+
86
+ ProgressBarColors.storyName = 'ProgressBar Colors';
87
+
88
+ export const ProgressBarCustomColors: Story = () => (
89
+ <>
90
+ <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
91
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
92
+ <ProgressBar
93
+ value={50}
94
+ total={100}
95
+ colorCustom={{ root: 'rgba(179, 222, 105, 0.2)', bar: '#b3de69' }}
96
+ htmlLabel={<div>Custom Color Green</div>}
97
+ />
98
+ </div>
99
+ </div>
100
+ <div style={{ display: 'flex', gap: '1rem', width: '480px', marginBottom: 30 }}>
101
+ <div style={{ position: 'relative', flex: 1, width: '230px' }}>
102
+ <ProgressBar
103
+ value={75}
104
+ total={100}
105
+ colorCustom={{ root: 'rgba(0, 191, 255, 0.2)', bar: '#00bfff' }}
106
+ label="Custom Color Blue"
107
+ h={5}
108
+ hideValue
109
+ fSize='12px'
110
+ />
111
+ </div>
112
+ </div>
113
+ </>
114
+ );
115
+
116
+ ProgressBarCustomColors.storyName = 'ProgressBar Custom Colors';