@clickhouse/click-ui 0.0.0

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 (151) hide show
  1. package/.eslintrc.cjs +32 -0
  2. package/.github/workflows/deployment.yml +34 -0
  3. package/.storybook/main.ts +18 -0
  4. package/.storybook/preview-head.html +4 -0
  5. package/.storybook/preview.tsx +67 -0
  6. package/README.md +11 -0
  7. package/app/.babelrc +27 -0
  8. package/app/.eslintrc.json +6 -0
  9. package/app/.storybook/main.ts +17 -0
  10. package/app/.storybook/preview.tsx +26 -0
  11. package/app/README.md +38 -0
  12. package/app/next.config.js +6 -0
  13. package/app/package-lock.json +28711 -0
  14. package/app/package.json +44 -0
  15. package/app/public/favicon.ico +0 -0
  16. package/app/public/next.svg +1 -0
  17. package/app/public/vercel.svg +1 -0
  18. package/app/src/assets/RightArrow/right-arrow.tsx +17 -0
  19. package/app/src/assets/S3Logo/s3-logo.tsx +31 -0
  20. package/app/src/assets/amazon_s3.svg +9 -0
  21. package/app/src/assets/arrow.svg +3 -0
  22. package/app/src/globals.d.ts +4 -0
  23. package/app/src/pages/_app.tsx +8 -0
  24. package/app/src/pages/_document.tsx +17 -0
  25. package/app/src/pages/api/hello.ts +13 -0
  26. package/app/src/pages/index.tsx +141 -0
  27. package/app/src/pages/label.tsx +27 -0
  28. package/app/src/stories/assets/code-brackets.svg +1 -0
  29. package/app/src/stories/assets/colors.svg +1 -0
  30. package/app/src/stories/assets/comments.svg +1 -0
  31. package/app/src/stories/assets/direction.svg +1 -0
  32. package/app/src/stories/assets/flow.svg +1 -0
  33. package/app/src/stories/assets/plugin.svg +1 -0
  34. package/app/src/stories/assets/repo.svg +1 -0
  35. package/app/src/stories/assets/stackalt.svg +1 -0
  36. package/app/src/styles/Home.module.css +235 -0
  37. package/app/src/styles/globals.css +111 -0
  38. package/app/src/styles/types.ts +1031 -0
  39. package/app/src/styles/variables.classic.css +16 -0
  40. package/app/src/styles/variables.classic.json +31 -0
  41. package/app/src/styles/variables.css +763 -0
  42. package/app/src/styles/variables.dark.css +135 -0
  43. package/app/src/styles/variables.dark.json +339 -0
  44. package/app/src/styles/variables.json +1029 -0
  45. package/app/src/styles/variables.light.css +203 -0
  46. package/app/src/styles/variables.light.json +478 -0
  47. package/app/tokens/themes/$metadata.json +9 -0
  48. package/app/tokens/themes/$themes.json +1 -0
  49. package/app/tokens/themes/classic.json +58 -0
  50. package/app/tokens/themes/component.json +868 -0
  51. package/app/tokens/themes/dark.json +937 -0
  52. package/app/tokens/themes/light.json +1380 -0
  53. package/app/tokens/themes/primitives.json +859 -0
  54. package/app/tsconfig.json +23 -0
  55. package/build-tokens.js +131 -0
  56. package/index.html +17 -0
  57. package/jest.config.ts +11 -0
  58. package/package.json +77 -0
  59. package/public/vite.svg +1 -0
  60. package/src/App.css +1 -0
  61. package/src/App.module.css +235 -0
  62. package/src/App.tsx +154 -0
  63. package/src/assets/RightArrow/RightArrow.tsx +17 -0
  64. package/src/assets/S3Logo/S3Logo.tsx +31 -0
  65. package/src/assets/react.svg +1 -0
  66. package/src/components/Accordion/Accordion.stories.tsx +78 -0
  67. package/src/components/Accordion/Accordion.test.tsx +46 -0
  68. package/src/components/Accordion/Accordion.tsx +118 -0
  69. package/src/components/Badge/Badge.stories.ts +14 -0
  70. package/src/components/Badge/Badge.test.tsx +11 -0
  71. package/src/components/Badge/Badge.tsx +24 -0
  72. package/src/components/BigStat/BigStat.stories.ts +15 -0
  73. package/src/components/BigStat/BigStat.tsx +37 -0
  74. package/src/components/Button/Button.stories.ts +82 -0
  75. package/src/components/Button/Button.test.tsx +32 -0
  76. package/src/components/Button/Button.tsx +97 -0
  77. package/src/components/ButtonGroup/ButtonGroup.stories.ts +14 -0
  78. package/src/components/ButtonGroup/ButtonGroup.tsx +78 -0
  79. package/src/components/Card/Card.stories.ts +19 -0
  80. package/src/components/Card/Card.tsx +107 -0
  81. package/src/components/FormField/FormField.stories.ts +14 -0
  82. package/src/components/FormField/FormField.tsx +22 -0
  83. package/src/components/Icon/Icon.stories.ts +46 -0
  84. package/src/components/Icon/Icon.tsx +90 -0
  85. package/src/components/Icon/types.ts +18 -0
  86. package/src/components/IconButton/IconButton.stories.ts +16 -0
  87. package/src/components/IconButton/IconButton.tsx +94 -0
  88. package/src/components/SidebarNavigationItem/SidebarNavigationItem.stories.tsx +28 -0
  89. package/src/components/SidebarNavigationItem/SidebarNavigationItem.tsx +112 -0
  90. package/src/components/Switch/Switch.stories.ts +14 -0
  91. package/src/components/Switch/Switch.tsx +106 -0
  92. package/src/components/Tabs/Tabs.stories.tsx +71 -0
  93. package/src/components/Tabs/Tabs.test.tsx +86 -0
  94. package/src/components/Tabs/Tabs.tsx +82 -0
  95. package/src/components/icons/ChatIcon.tsx +22 -0
  96. package/src/components/icons/ChevronDown.tsx +6 -0
  97. package/src/components/icons/ChevronRight.tsx +20 -0
  98. package/src/components/icons/DatabaseIcon.tsx +33 -0
  99. package/src/components/icons/FilterIcon.tsx +24 -0
  100. package/src/components/icons/Flags/EuropeanUnion.tsx +174 -0
  101. package/src/components/icons/Flags/Germany.tsx +25 -0
  102. package/src/components/icons/Flags/India.tsx +48 -0
  103. package/src/components/icons/Flags/Ireland.tsx +32 -0
  104. package/src/components/icons/Flags/Netherlands.tsx +29 -0
  105. package/src/components/icons/Flags/Singapore.tsx +43 -0
  106. package/src/components/icons/Flags/UnitedKingdom.tsx +32 -0
  107. package/src/components/icons/Flags/UnitedStates.tsx +26 -0
  108. package/src/components/icons/Flags/index.tsx +46 -0
  109. package/src/components/icons/HistoryIcon.tsx +28 -0
  110. package/src/components/icons/Icons.mdx +36 -0
  111. package/src/components/icons/InsertRowIcon.tsx +36 -0
  112. package/src/components/icons/SortAltIcon.tsx +24 -0
  113. package/src/components/icons/UserIcon.tsx +17 -0
  114. package/src/components/icons/UsersIcon.tsx +43 -0
  115. package/src/components/index.ts +14 -0
  116. package/src/components/types.ts +1 -0
  117. package/src/index.css +9 -0
  118. package/src/index.ts +2 -0
  119. package/src/main.tsx +11 -0
  120. package/src/stories/assets/code-brackets.svg +1 -0
  121. package/src/stories/assets/colors.svg +1 -0
  122. package/src/stories/assets/comments.svg +1 -0
  123. package/src/stories/assets/direction.svg +1 -0
  124. package/src/stories/assets/flow.svg +1 -0
  125. package/src/stories/assets/plugin.svg +1 -0
  126. package/src/stories/assets/repo.svg +1 -0
  127. package/src/stories/assets/stackalt.svg +1 -0
  128. package/src/styles/Home.module.css +235 -0
  129. package/src/styles/globals.css +111 -0
  130. package/src/styles/types.ts +1669 -0
  131. package/src/styles/variables.classic.css +16 -0
  132. package/src/styles/variables.classic.json +31 -0
  133. package/src/styles/variables.css +763 -0
  134. package/src/styles/variables.dark.css +135 -0
  135. package/src/styles/variables.dark.json +576 -0
  136. package/src/styles/variables.json +1667 -0
  137. package/src/styles/variables.light.css +203 -0
  138. package/src/styles/variables.light.json +789 -0
  139. package/src/theme/index.ts +22 -0
  140. package/src/theme/theme.tsx +28 -0
  141. package/src/vite-env.d.ts +1 -0
  142. package/tokens/themes/$metadata.json +9 -0
  143. package/tokens/themes/$themes.json +1 -0
  144. package/tokens/themes/classic.json +58 -0
  145. package/tokens/themes/component.json +1567 -0
  146. package/tokens/themes/dark.json +1450 -0
  147. package/tokens/themes/light.json +2059 -0
  148. package/tokens/themes/primitives.json +863 -0
  149. package/tsconfig.json +27 -0
  150. package/tsconfig.node.json +10 -0
  151. package/vite.config.ts +38 -0
@@ -0,0 +1,235 @@
1
+ .main {
2
+ display: flex;
3
+ flex-direction: column;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ padding: 6rem;
7
+ min-height: 100vh;
8
+ }
9
+
10
+ .description {
11
+ display: inherit;
12
+ justify-content: inherit;
13
+ align-items: inherit;
14
+ font-size: 0.85rem;
15
+ max-width: var(--max-width);
16
+ width: 100%;
17
+ z-index: 2;
18
+ font-family: var(--font-mono);
19
+ }
20
+
21
+ .description a {
22
+ display: flex;
23
+ justify-content: center;
24
+ align-items: center;
25
+ gap: 0.5rem;
26
+ }
27
+
28
+ .description p {
29
+ position: relative;
30
+ margin: 0;
31
+ padding: 1rem;
32
+ background-color: rgba(var(--callout-rgb), 0.5);
33
+ border: 1px solid rgba(var(--callout-border-rgb), 0.3);
34
+ border-radius: var(--border-radius);
35
+ }
36
+
37
+ .code {
38
+ font-weight: 700;
39
+ font-family: var(--font-mono);
40
+ }
41
+
42
+ .grid {
43
+ display: grid;
44
+ grid-template-columns: repeat(4, minmax(25%, auto));
45
+ width: var(--max-width);
46
+ max-width: 100%;
47
+ }
48
+
49
+ .card {
50
+ padding: 1rem 1.2rem;
51
+ border-radius: var(--border-radius);
52
+ background: rgba(var(--card-rgb), 0);
53
+ border: 1px solid rgba(var(--card-border-rgb), 0);
54
+ transition: background 200ms, border 200ms;
55
+ }
56
+
57
+ .card span {
58
+ display: inline-block;
59
+ transition: transform 200ms;
60
+ }
61
+
62
+ .card h2 {
63
+ font-weight: 600;
64
+ margin-bottom: 0.7rem;
65
+ }
66
+
67
+ .card p {
68
+ margin: 0;
69
+ opacity: 0.6;
70
+ font-size: 0.9rem;
71
+ line-height: 1.5;
72
+ max-width: 30ch;
73
+ }
74
+
75
+ .center {
76
+ display: flex;
77
+ justify-content: center;
78
+ align-items: center;
79
+ position: relative;
80
+ padding: 4rem 0;
81
+ }
82
+
83
+ .center::before {
84
+ background: var(--secondary-glow);
85
+ border-radius: 50%;
86
+ width: 480px;
87
+ height: 360px;
88
+ margin-left: -400px;
89
+ }
90
+
91
+ .center::after {
92
+ background: var(--primary-glow);
93
+ width: 240px;
94
+ height: 180px;
95
+ z-index: -1;
96
+ }
97
+
98
+ .center::before,
99
+ .center::after {
100
+ content: '';
101
+ left: 50%;
102
+ position: absolute;
103
+ filter: blur(45px);
104
+ transform: translateZ(0);
105
+ }
106
+
107
+ .logo {
108
+ position: relative;
109
+ }
110
+ /* Enable hover only on non-touch devices */
111
+ @media (hover: hover) and (pointer: fine) {
112
+ .card:hover {
113
+ background: rgba(var(--card-rgb), 0.1);
114
+ border: 1px solid rgba(var(--card-border-rgb), 0.15);
115
+ }
116
+
117
+ .card:hover span {
118
+ transform: translateX(4px);
119
+ }
120
+ }
121
+
122
+ @media (prefers-reduced-motion) {
123
+ .card:hover span {
124
+ transform: none;
125
+ }
126
+ }
127
+
128
+ /* Mobile */
129
+ @media (max-width: 700px) {
130
+ .content {
131
+ padding: 4rem;
132
+ }
133
+
134
+ .grid {
135
+ grid-template-columns: 1fr;
136
+ margin-bottom: 120px;
137
+ max-width: 320px;
138
+ text-align: center;
139
+ }
140
+
141
+ .card {
142
+ padding: 1rem 2.5rem;
143
+ }
144
+
145
+ .card h2 {
146
+ margin-bottom: 0.5rem;
147
+ }
148
+
149
+ .center {
150
+ padding: 8rem 0 6rem;
151
+ }
152
+
153
+ .center::before {
154
+ transform: none;
155
+ height: 300px;
156
+ }
157
+
158
+ .description {
159
+ font-size: 0.8rem;
160
+ }
161
+
162
+ .description a {
163
+ padding: 1rem;
164
+ }
165
+
166
+ .description p,
167
+ .description div {
168
+ display: flex;
169
+ justify-content: center;
170
+ position: fixed;
171
+ width: 100%;
172
+ }
173
+
174
+ .description p {
175
+ align-items: center;
176
+ inset: 0 0 auto;
177
+ padding: 2rem 1rem 1.4rem;
178
+ border-radius: 0;
179
+ border: none;
180
+ border-bottom: 1px solid rgba(var(--callout-border-rgb), 0.25);
181
+ background: linear-gradient(
182
+ to bottom,
183
+ rgba(var(--background-start-rgb), 1),
184
+ rgba(var(--callout-rgb), 0.5)
185
+ );
186
+ background-clip: padding-box;
187
+ backdrop-filter: blur(24px);
188
+ }
189
+
190
+ .description div {
191
+ align-items: flex-end;
192
+ pointer-events: none;
193
+ inset: auto 0 0;
194
+ padding: 2rem;
195
+ height: 200px;
196
+ background: linear-gradient(
197
+ to bottom,
198
+ transparent 0%,
199
+ rgb(var(--background-end-rgb)) 40%
200
+ );
201
+ z-index: 1;
202
+ }
203
+ }
204
+
205
+ /* Tablet and Smaller Desktop */
206
+ @media (min-width: 701px) and (max-width: 1120px) {
207
+ .grid {
208
+ grid-template-columns: repeat(2, 50%);
209
+ }
210
+ }
211
+
212
+ @media (prefers-color-scheme: dark) {
213
+ .vercelLogo {
214
+ filter: invert(1);
215
+ }
216
+
217
+ .logo {
218
+ filter: invert(1) drop-shadow(0 0 0.3rem #ffffff70);
219
+ }
220
+ }
221
+
222
+ @keyframes rotate {
223
+ from {
224
+ transform: rotate(360deg);
225
+ }
226
+ to {
227
+ transform: rotate(0deg);
228
+ }
229
+ }
230
+
231
+ .flexWrap {
232
+ display: flex;
233
+ flex-flow: row wrap;
234
+ gap: 10px;
235
+ }
@@ -0,0 +1,111 @@
1
+ @import "variables.css";
2
+
3
+ :root {
4
+ --max-width: 1100px;
5
+ --border-radius: 12px;
6
+ --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono",
7
+ "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro",
8
+ "Fira Mono", "Droid Sans Mono", "Courier New", monospace;
9
+
10
+ --foreground-rgb: 0, 0, 0;
11
+ --background-start-rgb: 214, 219, 220;
12
+ --background-end-rgb: 255, 255, 255;
13
+
14
+ --primary-glow: conic-gradient(
15
+ from 180deg at 50% 50%,
16
+ #16abff33 0deg,
17
+ #0885ff33 55deg,
18
+ #54d6ff33 120deg,
19
+ #0071ff33 160deg,
20
+ transparent 360deg
21
+ );
22
+ --secondary-glow: radial-gradient(
23
+ rgba(255, 255, 255, 1),
24
+ rgba(255, 255, 255, 0)
25
+ );
26
+
27
+ --tile-start-rgb: 239, 245, 249;
28
+ --tile-end-rgb: 228, 232, 233;
29
+ --tile-border: conic-gradient(
30
+ #00000080,
31
+ #00000040,
32
+ #00000030,
33
+ #00000020,
34
+ #00000010,
35
+ #00000010,
36
+ #00000080
37
+ );
38
+
39
+ --callout-rgb: 238, 240, 241;
40
+ --callout-border-rgb: 172, 175, 176;
41
+ --card-rgb: 180, 185, 188;
42
+ --card-border-rgb: 131, 134, 135;
43
+ }
44
+
45
+ @media (prefers-color-scheme: dark) {
46
+ :root {
47
+ --foreground-rgb: 255, 255, 255;
48
+ --background-start-rgb: 0, 0, 0;
49
+ --background-end-rgb: 0, 0, 0;
50
+
51
+ --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0));
52
+ --secondary-glow: linear-gradient(
53
+ to bottom right,
54
+ rgba(1, 65, 255, 0),
55
+ rgba(1, 65, 255, 0),
56
+ rgba(1, 65, 255, 0.3)
57
+ );
58
+
59
+ --tile-start-rgb: 2, 13, 46;
60
+ --tile-end-rgb: 2, 5, 19;
61
+ --tile-border: conic-gradient(
62
+ #ffffff80,
63
+ #ffffff40,
64
+ #ffffff30,
65
+ #ffffff20,
66
+ #ffffff10,
67
+ #ffffff10,
68
+ #ffffff80
69
+ );
70
+
71
+ --callout-rgb: 20, 20, 20;
72
+ --callout-border-rgb: 108, 108, 108;
73
+ --card-rgb: 100, 100, 100;
74
+ --card-border-rgb: 200, 200, 200;
75
+ }
76
+ }
77
+
78
+ * {
79
+ box-sizing: border-box;
80
+ padding: 0;
81
+ margin: 0;
82
+ }
83
+
84
+ html,
85
+ body {
86
+ max-width: 100vw;
87
+ overflow-x: hidden;
88
+ }
89
+
90
+ body {
91
+ color: rgb(var(--foreground-rgb));
92
+ background: linear-gradient(
93
+ to bottom,
94
+ transparent,
95
+ rgb(var(--background-end-rgb))
96
+ )
97
+ rgb(var(--background-start-rgb));
98
+ font-family: "Inter";
99
+ font-style: normal;
100
+ }
101
+
102
+ a {
103
+ color: inherit;
104
+ text-decoration: none;
105
+ }
106
+
107
+ @media (prefers-color-scheme: dark) {
108
+ html {
109
+ color-scheme: dark;
110
+ }
111
+ }