@platformatic/ui-components 0.1.49 → 0.1.51

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 (177) hide show
  1. package/.github/workflows/ci.yml +26 -26
  2. package/.nvmrc +1 -1
  3. package/LICENSE +201 -201
  4. package/README.md +30 -30
  5. package/dist/api-icon-closed.svg +6 -0
  6. package/dist/api-icon.svg +9 -0
  7. package/dist/assets/Montserrat-Regular.dcfe8df2.ttf +0 -0
  8. package/dist/assets/index.691ca940.css +1 -0
  9. package/dist/assets/index.ff0dadfc.js +797 -0
  10. package/dist/index.html +14 -0
  11. package/dist/stats.html +6177 -0
  12. package/dist/vite.svg +1 -0
  13. package/fonts/Montserrat/README.txt +81 -81
  14. package/index.html +12 -12
  15. package/index.js +71 -71
  16. package/package.json +76 -76
  17. package/postcss.config.cjs +8 -8
  18. package/public/api-icon-closed.svg +6 -6
  19. package/public/api-icon.svg +9 -9
  20. package/src/App.jsx +12 -12
  21. package/src/components/BorderedBox.jsx +18 -18
  22. package/src/components/BorderedBox.module.css +8 -8
  23. package/src/components/BorderedText.jsx +8 -8
  24. package/src/components/BorderedText.module.css +2 -2
  25. package/src/components/Box.jsx +14 -14
  26. package/src/components/Box.module.css +7 -7
  27. package/src/components/Button.jsx +95 -95
  28. package/src/components/Button.module.css +127 -127
  29. package/src/components/ButtonFullRounded.jsx +17 -17
  30. package/src/components/ButtonFullRounded.module.css +28 -28
  31. package/src/components/Checkbox.jsx +11 -11
  32. package/src/components/Checkbox.module.css +18 -18
  33. package/src/components/Common.module.css +28 -28
  34. package/src/components/DetailedMetric.jsx +32 -32
  35. package/src/components/DetailedMetric.module.css +2 -2
  36. package/src/components/DropDown.jsx +35 -36
  37. package/src/components/DropDown.module.css +25 -27
  38. package/src/components/FollowUs.jsx +35 -35
  39. package/src/components/FollowUs.module.css +11 -11
  40. package/src/components/GHLoginButton.jsx +14 -14
  41. package/src/components/HorizontalSeparator.jsx +15 -15
  42. package/src/components/HorizontalSeparator.module.css +26 -26
  43. package/src/components/InfoBox.jsx +50 -50
  44. package/src/components/InfoBox.module.css +5 -5
  45. package/src/components/List.jsx +20 -20
  46. package/src/components/List.module.css +11 -11
  47. package/src/components/ListElement.jsx +23 -23
  48. package/src/components/ListElement.module.css +23 -23
  49. package/src/components/Loadable.jsx +34 -34
  50. package/src/components/Loadable.module.css +13 -13
  51. package/src/components/Loader.jsx +22 -22
  52. package/src/components/Loader.module.css +13 -13
  53. package/src/components/LoginButton.jsx +17 -17
  54. package/src/components/LoginButton.module.css +7 -7
  55. package/src/components/LoginButton.test.jsx +25 -25
  56. package/src/components/Logo.jsx +62 -62
  57. package/src/components/Logo.module.css +5 -5
  58. package/src/components/Main.jsx +33 -33
  59. package/src/components/MetricValue.jsx +15 -15
  60. package/src/components/MetricValue.module.css +9 -9
  61. package/src/components/Modal.jsx +93 -93
  62. package/src/components/Modal.module.css +50 -50
  63. package/src/components/PlatformaticIcon.jsx +57 -57
  64. package/src/components/PlatformaticIcon.module.css +2 -2
  65. package/src/components/Playground.jsx +9 -9
  66. package/src/components/SearchBar.jsx +63 -63
  67. package/src/components/SearchBar.module.css +20 -20
  68. package/src/components/Sidebar.jsx +151 -153
  69. package/src/components/Sidebar.module.css +70 -66
  70. package/src/components/SimpleMetric.jsx +28 -28
  71. package/src/components/SimpleMetric.module.css +6 -6
  72. package/src/components/Status.jsx +26 -26
  73. package/src/components/TabbedWindow.jsx +39 -39
  74. package/src/components/TabbedWindow.module.css +16 -16
  75. package/src/components/TextWithLabel.jsx +11 -11
  76. package/src/components/TextWithLabel.module.css +8 -8
  77. package/src/components/Versions.jsx +9 -9
  78. package/src/components/VerticalSeparator.jsx +5 -5
  79. package/src/components/forms/Field.jsx +53 -20
  80. package/src/components/forms/Field.module.css +23 -17
  81. package/src/components/forms/Input.jsx +80 -80
  82. package/src/components/forms/Input.module.css +28 -28
  83. package/src/components/forms/Preview.jsx +75 -77
  84. package/src/components/forms/Preview.module.css +14 -14
  85. package/src/components/forms/ToggleSwitch.jsx +18 -18
  86. package/src/components/forms/ToggleSwitch.module.css +42 -42
  87. package/src/components/forms/index.js +8 -8
  88. package/src/components/icons/AddIcon.jsx +78 -0
  89. package/src/components/icons/AlertIcon.jsx +81 -0
  90. package/src/components/icons/AllInOneIcon.jsx +111 -0
  91. package/src/components/icons/ApiCloudIcon.jsx +93 -0
  92. package/src/components/icons/ApiEmptyIcon.jsx +107 -107
  93. package/src/components/icons/ApiIcon.jsx +84 -29
  94. package/src/components/icons/ApiIconClosed.jsx +19 -19
  95. package/src/components/icons/AppEmptyIcon.jsx +94 -94
  96. package/src/components/icons/AppIcon.jsx +85 -38
  97. package/src/components/icons/AppListIcon.jsx +73 -73
  98. package/src/components/icons/ArrowDownFullIcon.jsx +76 -0
  99. package/src/components/icons/ArrowDownIcon.jsx +75 -0
  100. package/src/components/icons/ArrowLeftIcon.jsx +75 -0
  101. package/src/components/icons/ArrowRightIcon.jsx +75 -0
  102. package/src/components/icons/ArrowUpIcon.jsx +75 -0
  103. package/src/components/icons/Calendar1DayIcon.jsx +90 -0
  104. package/src/components/icons/Calendar7DaysIcon.jsx +88 -0
  105. package/src/components/icons/CalendarIcon.jsx +102 -56
  106. package/src/components/icons/CircleAddIcon.jsx +81 -40
  107. package/src/components/icons/CircleBackIcon.jsx +51 -51
  108. package/src/components/icons/{Calendar1Icon.jsx → CircleCheckMarkIcon.jsx} +66 -54
  109. package/src/components/icons/CircleCloseHoverIcon.jsx +42 -42
  110. package/src/components/icons/CircleCloseIcon.jsx +32 -32
  111. package/src/components/icons/CircleExclamationIcon.jsx +29 -29
  112. package/src/components/icons/CloseIcon.jsx +79 -31
  113. package/src/components/icons/CopyPasteIcon.jsx +81 -0
  114. package/src/components/icons/DatabaseIcon.jsx +81 -0
  115. package/src/components/icons/EditIcon.jsx +81 -38
  116. package/src/components/icons/GearIcon.jsx +78 -40
  117. package/src/components/icons/Icons.module.css +46 -29
  118. package/src/components/icons/LiveIcon.jsx +43 -43
  119. package/src/components/icons/MetricsIcon.jsx +52 -52
  120. package/src/components/icons/PlayIcon.jsx +20 -20
  121. package/src/components/icons/PullRequestIcon.jsx +35 -35
  122. package/src/components/icons/StopIcon.jsx +21 -21
  123. package/src/components/icons/TerminalIcon.jsx +22 -22
  124. package/src/components/icons/UpgradeIcon.jsx +48 -48
  125. package/src/components/icons/Users2Icon.jsx +84 -0
  126. package/src/components/icons/WorkspaceDynamicIcon.jsx +87 -0
  127. package/src/components/icons/WorkspaceReadyIcon.jsx +144 -0
  128. package/src/components/icons/WorkspaceStaticIcon.jsx +84 -0
  129. package/src/components/icons/index.js +83 -61
  130. package/src/components/layouts/Layout.jsx +11 -11
  131. package/src/components/layouts/TwoColumnsLayout.jsx +12 -12
  132. package/src/components/layouts/TwoColumnsLayout.module.css +9 -9
  133. package/src/hooks/useEscapeKey.js +20 -20
  134. package/src/lib/utils.js +23 -23
  135. package/src/main.jsx +9 -9
  136. package/src/stories/BorderedBox.stories.jsx +33 -33
  137. package/src/stories/BorderedText.stories.jsx +24 -24
  138. package/src/stories/Button.stories.jsx +114 -114
  139. package/src/stories/ButtonFullRounded.stories.jsx +61 -61
  140. package/src/stories/Checkbox.stories.jsx +27 -27
  141. package/src/stories/DetailedMetric.stories.jsx +33 -33
  142. package/src/stories/DropDown.stories.jsx +62 -62
  143. package/src/stories/FollowUs.stories.jsx +14 -14
  144. package/src/stories/GHLoginButton.stories.jsx +14 -14
  145. package/src/stories/HorizontalSeparator.stories.jsx +12 -12
  146. package/src/stories/InfoBox.stories.jsx +46 -46
  147. package/src/stories/Introduction.stories.mdx +211 -211
  148. package/src/stories/List.stories.jsx +29 -29
  149. package/src/stories/ListElement.stories.jsx +15 -15
  150. package/src/stories/Loadable.stories.jsx +75 -75
  151. package/src/stories/Loader.stories.jsx +44 -44
  152. package/src/stories/LoginButton.stories.jsx +15 -15
  153. package/src/stories/Logo.stories.jsx +17 -17
  154. package/src/stories/Modal.stories.jsx +100 -100
  155. package/src/stories/PlatformaticIcon.stories.jsx +57 -35
  156. package/src/stories/SearchBar.stories.jsx +28 -28
  157. package/src/stories/Sidebar.stories.jsx +61 -61
  158. package/src/stories/SimpleMetric.stories.jsx +41 -41
  159. package/src/stories/Status.stories.jsx +31 -31
  160. package/src/stories/TextWithLabel.stories.jsx +25 -25
  161. package/src/stories/TwoColumnsLayout.stories.jsx +42 -42
  162. package/src/stories/forms/Field.stories.jsx +89 -81
  163. package/src/stories/forms/Input.stories.jsx +89 -89
  164. package/src/stories/forms/Preview.stories.jsx +57 -57
  165. package/src/stories/forms/ToggleSwitch.stories.jsx +15 -15
  166. package/src/stories/icons/Icons.stories.jsx +68 -74
  167. package/src/styles/main.css +22 -15
  168. package/tailwind.config.cjs +60 -60
  169. package/vite.config.js +6 -6
  170. package/vitest.config.js +14 -14
  171. package/dist/main.css +0 -704
  172. package/src/components/icons/Calendar7Icon.jsx +0 -55
  173. package/src/components/icons/CopyIcon.jsx +0 -75
  174. package/src/components/icons/CreatedWorkspaceIcon.jsx +0 -70
  175. package/src/components/icons/DynamicWorkspaceIcon.jsx +0 -125
  176. package/src/components/icons/StaticWorkspaceIcon.jsx +0 -119
  177. package/src/components/icons/TriangleExclamationIcon.jsx +0 -26
@@ -1,57 +1,57 @@
1
- 'use strict'
2
- import Preview from '../../components/forms/Preview'
3
-
4
- const divStyle = {
5
- width: '100%',
6
- height: 'auto',
7
- padding: '10px',
8
- backgroundColor: 'white'
9
- }
10
-
11
- export default {
12
- title: 'Platformatic/Forms/Preview',
13
- component: Preview,
14
- decorators: [
15
- (Story) => (
16
- <div style={divStyle}>
17
- <Story />
18
- </div>
19
- )
20
- ]
21
- }
22
-
23
- const Template = (args) => <Preview {...args} />
24
-
25
- export const NormalPreview = Template.bind({})
26
-
27
- NormalPreview.args = {
28
- title: 'My title',
29
- value: 'My value'
30
- }
31
-
32
- export const WithLink = Template.bind({})
33
-
34
- WithLink.args = {
35
- title: 'My value is a link',
36
- value: 'https://example.com',
37
- isLink: true
38
- }
39
-
40
- const TemplateWithChildren = (args) => <Preview {...args}><p>1st paragraph</p><p>2nd paragraph</p></Preview>
41
-
42
- export const WithChildren = TemplateWithChildren.bind({})
43
-
44
- WithChildren.args = {
45
- title: 'My title',
46
- value: 'My value'
47
- }
48
-
49
- export const WithIcon = Template.bind({})
50
-
51
- WithIcon.args = {
52
- title: 'My title',
53
- value: 'My value',
54
- afterValueIcon: 'StaticWorkspaceIcon',
55
- afterValueIconColor: 'green',
56
- onClickAfterValueIcon: () => alert('icon clicked')
57
- }
1
+ 'use strict'
2
+ import Preview from '../../components/forms/Preview'
3
+
4
+ const divStyle = {
5
+ width: '100%',
6
+ height: 'auto',
7
+ padding: '10px',
8
+ backgroundColor: 'white'
9
+ }
10
+
11
+ export default {
12
+ title: 'Platformatic/Forms/Preview',
13
+ component: Preview,
14
+ decorators: [
15
+ (Story) => (
16
+ <div style={divStyle}>
17
+ <Story />
18
+ </div>
19
+ )
20
+ ]
21
+ }
22
+
23
+ const Template = (args) => <Preview {...args} />
24
+
25
+ export const NormalPreview = Template.bind({})
26
+
27
+ NormalPreview.args = {
28
+ title: 'My title',
29
+ value: 'My value'
30
+ }
31
+
32
+ export const WithLink = Template.bind({})
33
+
34
+ WithLink.args = {
35
+ title: 'My value is a link',
36
+ value: 'https://example.com',
37
+ isLink: true
38
+ }
39
+
40
+ const TemplateWithChildren = (args) => <Preview {...args}><p>1st paragraph</p><p>2nd paragraph</p></Preview>
41
+
42
+ export const WithChildren = TemplateWithChildren.bind({})
43
+
44
+ WithChildren.args = {
45
+ title: 'My title',
46
+ value: 'My value'
47
+ }
48
+
49
+ export const WithIcon = Template.bind({})
50
+
51
+ WithIcon.args = {
52
+ title: 'My title',
53
+ value: 'My value',
54
+ afterValueIcon: 'WorkspaceStaticIcon',
55
+ afterValueIconColor: 'green',
56
+ onClickAfterValueIcon: () => alert('icon clicked')
57
+ }
@@ -1,15 +1,15 @@
1
- 'use strict'
2
- import ToggleSwitch from '../../components/forms/ToggleSwitch'
3
- export default {
4
- title: 'Platformatic/Forms/ToggleSwitch',
5
- component: ToggleSwitch
6
- }
7
-
8
- const Template = (args) => <ToggleSwitch {...args} />
9
-
10
- export const Default = Template.bind({})
11
-
12
- Default.args = {
13
- name: 'test',
14
- label: 'This is a label'
15
- }
1
+ 'use strict'
2
+ import ToggleSwitch from '../../components/forms/ToggleSwitch'
3
+ export default {
4
+ title: 'Platformatic/Forms/ToggleSwitch',
5
+ component: ToggleSwitch
6
+ }
7
+
8
+ const Template = (args) => <ToggleSwitch {...args} />
9
+
10
+ export const Default = Template.bind({})
11
+
12
+ Default.args = {
13
+ name: 'test',
14
+ label: 'This is a label'
15
+ }
@@ -1,74 +1,68 @@
1
- import React from 'react'
2
- import PullRequestIcon from '../../components/icons/PullRequestIcon'
3
- import CloseIcon from '../../components/icons/CloseIcon'
4
- import CircleCloseIcon from '../../components/icons/CircleCloseIcon'
5
- import TriangleExclamationIcon from '../../components/icons/TriangleExclamationIcon'
6
- import StaticWorkspaceIcon from '../../components/icons/StaticWorkspaceIcon'
7
- import CreatedWorkspaceIcon from '../../components/icons/CreatedWorkspaceIcon'
8
- import UpgradeIcon from '../../components/icons/UpgradeIcon'
9
- import DynamicWorkspaceIcon from '../../components/icons/DynamicWorkspaceIcon'
10
-
11
- const divStyle = {
12
- display: 'flex',
13
- width: '100%',
14
- minHeight: '400px',
15
- gap: '10px',
16
- backgroundColor: 'white'
17
- }
18
-
19
- export default {
20
- title: 'Platformatic/Icons',
21
- component: PullRequestIcon,
22
- decorators: [
23
- (Story) => (
24
- <div style={divStyle}>
25
- <Story />
26
- </div>
27
- )
28
- ],
29
- argTypes: {
30
- color: {
31
- type: 'string',
32
- control: {
33
- type: 'radio',
34
- options: ['green', 'white', 'red']
35
- }
36
- }
37
- }
38
- }
39
-
40
- const PullRequestIconTemplate = (args) => <PullRequestIcon {...args} />
41
- export const PullRequestIconDefault = PullRequestIconTemplate.bind({})
42
- PullRequestIconDefault.args = {}
43
-
44
- const CloseIconTemplate = (args) => <CloseIcon {...args} />
45
- export const CloseIconDefault = CloseIconTemplate.bind({})
46
- CloseIconDefault.args = {}
47
-
48
- const CircleCloseIconTemplate = (args) => <CircleCloseIcon {...args} />
49
- export const CircleCloseIconDefault = CircleCloseIconTemplate.bind({})
50
- CircleCloseIconDefault.args = {}
51
-
52
- const TriangleExclamationIconTemplate = (args) => <TriangleExclamationIcon {...args} />
53
- export const TriangleExclamationIconDefault = TriangleExclamationIconTemplate.bind({})
54
- TriangleExclamationIconDefault.args = {}
55
-
56
- const WorkspaceIconsTemplate = () => (
57
- [<StaticWorkspaceIcon key='a' />, <DynamicWorkspaceIcon key='b' />].map((component, index) => {
58
- const listElement = []
59
- listElement.push(React.cloneElement(component, { key: `0${index}` }))
60
- listElement.push(React.cloneElement(component, { key: `1${index}`, size: 'small', color: 'green' }))
61
- listElement.push(React.cloneElement(component, { key: `2${index}`, color: 'red' }))
62
- listElement.push(React.cloneElement(component, { key: `3${index}`, size: 'small', color: 'red' }))
63
- listElement.push(React.cloneElement(component, { key: `4${index}`, color: 'main-dark-blue' }))
64
- listElement.push(React.cloneElement(component, { key: `5${index}`, size: 'small', color: 'main-dark-blue' }))
65
- return listElement
66
- })
67
- )
68
-
69
- export const WorkspaceIconsAll = WorkspaceIconsTemplate.bind({})
70
- WorkspaceIconsAll.args = {}
71
-
72
- const LargeIconsTemplate = () => ([<CreatedWorkspaceIcon key='a' size='extra-large' />, <UpgradeIcon key='b' size='extra-large' />].map(component => component))
73
- export const LargeIconsDefault = LargeIconsTemplate.bind({})
74
- LargeIconsDefault.args = {}
1
+ import React from 'react'
2
+ import PullRequestIcon from '../../components/icons/PullRequestIcon'
3
+ import CloseIcon from '../../components/icons/CloseIcon'
4
+ import CircleCloseIcon from '../../components/icons/CircleCloseIcon'
5
+ import WorkspaceStaticIcon from '../../components/icons/WorkspaceStaticIcon'
6
+ import UpgradeIcon from '../../components/icons/UpgradeIcon'
7
+ import WorkspaceDynamicIcon from '../../components/icons/WorkspaceDynamicIcon'
8
+
9
+ const divStyle = {
10
+ display: 'flex',
11
+ width: '100%',
12
+ minHeight: '400px',
13
+ gap: '10px',
14
+ backgroundColor: 'white'
15
+ }
16
+
17
+ export default {
18
+ title: 'Platformatic/Icons',
19
+ component: PullRequestIcon,
20
+ decorators: [
21
+ (Story) => (
22
+ <div style={divStyle}>
23
+ <Story />
24
+ </div>
25
+ )
26
+ ],
27
+ argTypes: {
28
+ color: {
29
+ type: 'string',
30
+ control: {
31
+ type: 'radio',
32
+ options: ['green', 'white', 'red']
33
+ }
34
+ }
35
+ }
36
+ }
37
+
38
+ const PullRequestIconTemplate = (args) => <PullRequestIcon {...args} />
39
+ export const PullRequestIconDefault = PullRequestIconTemplate.bind({})
40
+ PullRequestIconDefault.args = {}
41
+
42
+ const CloseIconTemplate = (args) => <CloseIcon {...args} />
43
+ export const CloseIconDefault = CloseIconTemplate.bind({})
44
+ CloseIconDefault.args = {}
45
+
46
+ const CircleCloseIconTemplate = (args) => <CircleCloseIcon {...args} />
47
+ export const CircleCloseIconDefault = CircleCloseIconTemplate.bind({})
48
+ CircleCloseIconDefault.args = {}
49
+
50
+ const WorkspaceIconsTemplate = () => (
51
+ [<WorkspaceStaticIcon key='a' />, <WorkspaceDynamicIcon key='b' />].map((component, index) => {
52
+ const listElement = []
53
+ listElement.push(React.cloneElement(component, { key: `0${index}` }))
54
+ listElement.push(React.cloneElement(component, { key: `1${index}`, size: 'small', color: 'green' }))
55
+ listElement.push(React.cloneElement(component, { key: `2${index}`, color: 'red' }))
56
+ listElement.push(React.cloneElement(component, { key: `3${index}`, size: 'small', color: 'red' }))
57
+ listElement.push(React.cloneElement(component, { key: `4${index}`, color: 'main-dark-blue' }))
58
+ listElement.push(React.cloneElement(component, { key: `5${index}`, size: 'small', color: 'main-dark-blue' }))
59
+ return listElement
60
+ })
61
+ )
62
+
63
+ export const WorkspaceIconsAll = WorkspaceIconsTemplate.bind({})
64
+ WorkspaceIconsAll.args = {}
65
+
66
+ const LargeIconsTemplate = () => ([<UpgradeIcon key='b' size='extra-large' />].map(component => component))
67
+ export const LargeIconsDefault = LargeIconsTemplate.bind({})
68
+ LargeIconsDefault.args = {}
@@ -1,16 +1,23 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- :root {
6
- @apply bg-main-dark-blue;
7
- font-family: 'Montserrat';
8
- }
9
- a {
10
- @apply text-tertiary-blue;
11
- }
12
-
13
- input {
14
- background-color: transparent;
15
-
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @font-face {
6
+ font-family: 'Montserrat';
7
+ src: url('/fonts/Montserrat/static/Montserrat-Regular.ttf') format('truetype');
8
+ font-weight: 400;
9
+ font-style: normal;
10
+ }
11
+
12
+ :root {
13
+ @apply bg-main-dark-blue;
14
+ font-family: 'Montserrat';
15
+ }
16
+
17
+ a {
18
+ @apply text-tertiary-blue;
19
+ }
20
+
21
+ input {
22
+ background-color: transparent;
16
23
  }
@@ -1,60 +1,60 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- content: ['./src/**/*.{html,jsx}'],
4
- theme: {
5
- container: {
6
- center: true
7
- },
8
- extend: {
9
- screens: {
10
- lg: '1440px'
11
- // => @media (min-width: 1440px) { ... }
12
- },
13
- boxShadow: {
14
- wrap: '0px 0px 20px rgba(0, 0, 0, 0.6)',
15
- 'main-green': '0px 0px 10px rgba(33, 250, 144, 0.5)',
16
- 'dark-green': '0px 0px 10px rgba(2, 120, 63, 1)',
17
- 'light-green': '0px 0px 10px rgba(33, 241, 144, 0.5)',
18
- 'main-dark-blue': '0px 0px 10px rgba(33, 250, 144, 0.5)',
19
- 'dark-blue': '0px 0px 10px rgba(0, 52, 79, 0.5)',
20
- 'light-blue': '0px 0px 10px rgba(233, 247, 255, 0.5)',
21
- 'error-red': '0px 0px 10px rgba(250, 33, 33, 0.5)',
22
- 'tertiary-blue': '0px 0px 10px rgba(37, 136, 228, 0.5)'
23
- }
24
- },
25
- colors: {
26
- 'main-green': '#21FA90',
27
- 'dark-green': '#02783F',
28
- 'light-green': '#21F190',
29
- 'main-dark-blue': '#00283D',
30
- 'dark-blue': '#00344F',
31
- 'light-blue': '#E9F7FF',
32
- white: '#FFFFFF',
33
- 'error-red': '#FA2121',
34
- 'tertiary-blue': '#2588E4',
35
- transparent: 'transparent'
36
- },
37
- fontFamily: {
38
- sans: ['Montserrat']
39
- },
40
- letterSpacing: {
41
- tighter: '-.05em',
42
- tight: '-.025em',
43
- normal: '0',
44
- wide: '.025em',
45
- wider: '.05em',
46
- widest: '.1em',
47
- 'more-widest': '.15em',
48
- 'super-widest': '.25em'
49
- }
50
- },
51
- safelist: [
52
- 'border-error-red',
53
- 'border-main-green',
54
- 'text-3xl',
55
- 'text-4xl',
56
- 'text-5xl',
57
- 'text-6xl'
58
- ],
59
- plugins: []
60
- }
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ content: ['./src/**/*.{html,jsx}'],
4
+ theme: {
5
+ container: {
6
+ center: true
7
+ },
8
+ extend: {
9
+ screens: {
10
+ lg: '1440px'
11
+ // => @media (min-width: 1440px) { ... }
12
+ },
13
+ boxShadow: {
14
+ wrap: '0px 0px 20px rgba(0, 0, 0, 0.6)',
15
+ 'main-green': '0px 0px 10px rgba(33, 250, 144, 0.5)',
16
+ 'dark-green': '0px 0px 10px rgba(2, 120, 63, 1)',
17
+ 'light-green': '0px 0px 10px rgba(33, 241, 144, 0.5)',
18
+ 'main-dark-blue': '0px 0px 10px rgba(33, 250, 144, 0.5)',
19
+ 'dark-blue': '0px 0px 10px rgba(0, 52, 79, 0.5)',
20
+ 'light-blue': '0px 0px 10px rgba(233, 247, 255, 0.5)',
21
+ 'error-red': '0px 0px 10px rgba(250, 33, 33, 0.5)',
22
+ 'tertiary-blue': '0px 0px 10px rgba(37, 136, 228, 0.5)'
23
+ }
24
+ },
25
+ colors: {
26
+ 'main-green': '#21FA90',
27
+ 'dark-green': '#02783F',
28
+ 'light-green': '#21F190',
29
+ 'main-dark-blue': '#00283D',
30
+ 'dark-blue': '#00344F',
31
+ 'light-blue': '#E9F7FF',
32
+ white: '#FFFFFF',
33
+ 'error-red': '#FA2121',
34
+ 'tertiary-blue': '#2588E4',
35
+ transparent: 'transparent'
36
+ },
37
+ fontFamily: {
38
+ sans: ['Montserrat']
39
+ },
40
+ letterSpacing: {
41
+ tighter: '-.05em',
42
+ tight: '-.025em',
43
+ normal: '0',
44
+ wide: '.025em',
45
+ wider: '.05em',
46
+ widest: '.1em',
47
+ 'more-widest': '.15em',
48
+ 'super-widest': '.25em'
49
+ }
50
+ },
51
+ safelist: [
52
+ 'border-error-red',
53
+ 'border-main-green',
54
+ 'text-3xl',
55
+ 'text-4xl',
56
+ 'text-5xl',
57
+ 'text-6xl'
58
+ ],
59
+ plugins: []
60
+ }
package/vite.config.js CHANGED
@@ -1,6 +1,6 @@
1
- import { defineConfig } from 'vite'
2
- import react from '@vitejs/plugin-react'
3
- /** @type {import('vite').UserConfig} */
4
- export default defineConfig({
5
- plugins: [react()]
6
- })
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ /** @type {import('vite').UserConfig} */
4
+ export default defineConfig({
5
+ plugins: [react()]
6
+ })
package/vitest.config.js CHANGED
@@ -1,14 +1,14 @@
1
- /// <reference types="vitest" />
2
-
3
- import { defineConfig } from 'vite'
4
- import react from '@vitejs/plugin-react'
5
-
6
- export default defineConfig({
7
- plugins: [react()],
8
- test: {
9
- globals: true,
10
- environment: 'happy-dom',
11
- exclude: ['node_modules']
12
- }
13
-
14
- })
1
+ /// <reference types="vitest" />
2
+
3
+ import { defineConfig } from 'vite'
4
+ import react from '@vitejs/plugin-react'
5
+
6
+ export default defineConfig({
7
+ plugins: [react()],
8
+ test: {
9
+ globals: true,
10
+ environment: 'happy-dom',
11
+ exclude: ['node_modules']
12
+ }
13
+
14
+ })