@inf-monkeys-tech/monkeys-design 0.4.36 → 0.4.37

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.
@@ -0,0 +1,423 @@
1
+ .login-page {
2
+ --login-page-primary-color: var(--login-page-theme-primary-color, hsl(var(--primary, 222.2 47.4% 11.2%)));
3
+ --login-page-primary-foreground: hsl(var(--primary-foreground, 0 0% 100%));
4
+ --login-page-radius: var(--login-page-theme-radius, var(--radius, 12px));
5
+ --login-page-text-color: hsl(var(--foreground, 222.2 47.4% 11.2%));
6
+ --login-page-muted-color: hsl(var(--muted-foreground, 215.4 16.3% 46.9%));
7
+ --login-page-background-base: #ffffff;
8
+ --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 0 0% 100%)) 92%, transparent);
9
+ --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 22%, transparent);
10
+ --login-page-panel-shadow: 0 24px 80px rgb(15 23 42 / 18%);
11
+ --login-page-control-bg: hsl(var(--background, 0 0% 100%));
12
+ --login-page-control-border: hsl(var(--border, 214.3 31.8% 91.4%));
13
+ --login-page-control-text: var(--login-page-text-color);
14
+ --login-page-control-placeholder: var(--login-page-muted-color);
15
+ --login-page-control-focus: color-mix(in srgb, var(--login-page-primary-color) 26%, transparent);
16
+ --login-page-callout-warning-bg: rgb(254 252 232 / 86%);
17
+ --login-page-callout-warning-border: rgb(250 204 21 / 46%);
18
+ --login-page-callout-warning-text: rgb(113 63 18);
19
+ --login-page-callout-success-bg: rgb(240 253 244 / 86%);
20
+ --login-page-callout-success-border: rgb(34 197 94 / 34%);
21
+ --login-page-callout-success-text: rgb(22 101 52);
22
+ --login-page-callout-danger-bg: rgb(254 242 242 / 88%);
23
+ --login-page-callout-danger-border: rgb(248 113 113 / 40%);
24
+ --login-page-callout-danger-text: rgb(153 27 27);
25
+ --login-page-background-gradient: radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--login-page-primary-color) 22%, transparent), transparent 32%),
26
+ linear-gradient(135deg, color-mix(in srgb, var(--login-page-primary-color) 18%, var(--login-page-background-base)) 0%, var(--login-page-background-base) 58%);
27
+ --login-page-logo-size: 48px;
28
+ --login-page-form-width: 500px;
29
+ --login-page-form-padding: 72px;
30
+ --login-page-form-min-height: 720px;
31
+
32
+ position: relative;
33
+ display: flex;
34
+ min-height: 100vh;
35
+ width: 100vw;
36
+ align-items: center;
37
+ justify-content: flex-end;
38
+ overflow: hidden;
39
+ padding: clamp(24px, 5vw, 72px);
40
+ color: var(--login-page-text-color);
41
+ background: var(--login-page-background-gradient);
42
+ box-sizing: border-box;
43
+ }
44
+
45
+ .dark .login-page {
46
+ --login-page-background-base: #000000;
47
+ --login-page-text-color: hsl(var(--foreground, 210 40% 98%));
48
+ --login-page-muted-color: hsl(var(--muted-foreground, 215 20.2% 65.1%));
49
+ --login-page-panel-bg: color-mix(in srgb, hsl(var(--background, 222.2 84% 4.9%)) 88%, transparent);
50
+ --login-page-panel-border: color-mix(in srgb, var(--login-page-primary-color) 30%, transparent);
51
+ --login-page-panel-shadow: 0 24px 80px rgb(0 0 0 / 36%);
52
+ --login-page-control-bg: hsl(var(--background, 222.2 84% 4.9%));
53
+ --login-page-control-border: hsl(var(--border, 217.2 32.6% 17.5%));
54
+ --login-page-callout-warning-bg: rgb(113 63 18 / 28%);
55
+ --login-page-callout-warning-border: rgb(250 204 21 / 34%);
56
+ --login-page-callout-warning-text: rgb(254 240 138);
57
+ --login-page-callout-success-bg: rgb(22 101 52 / 28%);
58
+ --login-page-callout-success-border: rgb(34 197 94 / 32%);
59
+ --login-page-callout-success-text: rgb(187 247 208);
60
+ --login-page-callout-danger-bg: rgb(127 29 29 / 30%);
61
+ --login-page-callout-danger-border: rgb(248 113 113 / 34%);
62
+ --login-page-callout-danger-text: rgb(254 202 202);
63
+ }
64
+
65
+ .login-page *,
66
+ .login-page *::before,
67
+ .login-page *::after {
68
+ box-sizing: border-box;
69
+ }
70
+
71
+ .login-page__background {
72
+ position: absolute;
73
+ inset: 0;
74
+ z-index: 0;
75
+ background: var(--login-page-background-gradient);
76
+ background-position: center;
77
+ background-size: cover;
78
+ }
79
+
80
+ .login-page__background::after {
81
+ position: absolute;
82
+ inset: 0;
83
+ content: '';
84
+ background: var(--login-page-background-overlay, transparent);
85
+ }
86
+
87
+ .login-page__toolbar {
88
+ position: absolute;
89
+ top: clamp(20px, 4vw, 48px);
90
+ right: clamp(20px, 4vw, 48px);
91
+ z-index: 2;
92
+ display: inline-flex;
93
+ align-items: center;
94
+ gap: 8px;
95
+ }
96
+
97
+ .login-page__logo {
98
+ position: absolute;
99
+ left: clamp(20px, 4vw, 48px);
100
+ z-index: 1;
101
+ display: flex;
102
+ align-items: center;
103
+ }
104
+
105
+ .login-page__logo--top {
106
+ top: clamp(20px, 4vw, 48px);
107
+ }
108
+
109
+ .login-page__logo--middle {
110
+ top: 50%;
111
+ transform: translateY(-50%);
112
+ }
113
+
114
+ .login-page__logo--bottom {
115
+ bottom: clamp(20px, 4vw, 48px);
116
+ }
117
+
118
+ .login-page__logo-image {
119
+ display: block;
120
+ height: var(--login-page-logo-size);
121
+ width: auto;
122
+ max-width: min(320px, 42vw);
123
+ object-fit: contain;
124
+ transform-origin: left center;
125
+ }
126
+
127
+ .login-page__form {
128
+ position: relative;
129
+ z-index: 1;
130
+ width: min(var(--login-page-form-width), 100%);
131
+ min-height: min(var(--login-page-form-min-height), calc(100vh - 48px));
132
+ padding: var(--login-page-form-padding);
133
+ overflow: hidden;
134
+ color: var(--login-page-text-color);
135
+ background: var(--login-page-panel-bg);
136
+ border: 1px solid var(--login-page-panel-border);
137
+ border-radius: var(--login-page-radius);
138
+ box-shadow: var(--login-page-panel-shadow);
139
+ backdrop-filter: blur(16px);
140
+ }
141
+
142
+ .login-page__back {
143
+ position: absolute;
144
+ top: 20px;
145
+ right: 20px;
146
+ display: inline-flex;
147
+ align-items: center;
148
+ gap: 8px;
149
+ min-height: 36px;
150
+ padding: 0 14px;
151
+ color: var(--login-page-text-color);
152
+ background: color-mix(in srgb, var(--login-page-control-bg) 86%, transparent);
153
+ border: 1px solid var(--login-page-control-border);
154
+ border-radius: var(--login-page-radius);
155
+ cursor: pointer;
156
+ }
157
+
158
+ .login-page__back:hover {
159
+ border-color: var(--login-page-primary-color);
160
+ }
161
+
162
+ .login-page__back-icon,
163
+ .login-page__tab-icon,
164
+ .login-page__oauth-icon {
165
+ display: inline-flex;
166
+ width: 18px;
167
+ height: 18px;
168
+ align-items: center;
169
+ justify-content: center;
170
+ flex: none;
171
+ }
172
+
173
+ .login-page__back-icon svg,
174
+ .login-page__tab-icon svg,
175
+ .login-page__oauth-icon svg {
176
+ width: 100%;
177
+ height: 100%;
178
+ }
179
+
180
+ .login-page__title {
181
+ margin: 64px 0 28px;
182
+ color: var(--login-page-title-color, var(--login-page-text-color));
183
+ font-size: 28px;
184
+ font-weight: 700;
185
+ line-height: 1.2;
186
+ }
187
+
188
+ .login-page__tabs {
189
+ display: grid;
190
+ grid-auto-columns: 1fr;
191
+ grid-auto-flow: column;
192
+ gap: 0;
193
+ margin-bottom: 28px;
194
+ overflow: hidden;
195
+ border: 1px solid var(--login-page-control-border);
196
+ border-radius: var(--login-page-radius);
197
+ background: color-mix(in srgb, var(--login-page-control-bg) 76%, transparent);
198
+ }
199
+
200
+ .login-page__tab {
201
+ display: inline-flex;
202
+ min-width: 0;
203
+ align-items: center;
204
+ justify-content: center;
205
+ gap: 8px;
206
+ min-height: 44px;
207
+ padding: 0 16px;
208
+ color: var(--login-page-muted-color);
209
+ background: transparent;
210
+ border: 0;
211
+ cursor: pointer;
212
+ font: inherit;
213
+ }
214
+
215
+ .login-page__tab--active {
216
+ color: var(--login-page-primary-foreground);
217
+ background: var(--login-page-primary-color);
218
+ }
219
+
220
+ .login-page__form-fields {
221
+ display: flex;
222
+ flex-direction: column;
223
+ gap: 18px;
224
+ }
225
+
226
+ .login-page__input {
227
+ display: block;
228
+ width: 100%;
229
+ min-height: 48px;
230
+ padding: 0 16px;
231
+ color: var(--login-page-control-text);
232
+ background: var(--login-page-control-bg);
233
+ border: 1px solid var(--login-page-control-border);
234
+ border-radius: var(--login-page-radius);
235
+ outline: none;
236
+ font: inherit;
237
+ }
238
+
239
+ .login-page__input::placeholder {
240
+ color: var(--login-page-control-placeholder);
241
+ }
242
+
243
+ .login-page__input:focus {
244
+ border-color: var(--login-page-primary-color);
245
+ box-shadow: 0 0 0 3px var(--login-page-control-focus);
246
+ }
247
+
248
+ .login-page__remember {
249
+ display: inline-flex;
250
+ width: fit-content;
251
+ align-items: center;
252
+ gap: 8px;
253
+ color: var(--login-page-muted-color);
254
+ font-size: 14px;
255
+ }
256
+
257
+ .login-page__checkbox {
258
+ width: 16px;
259
+ height: 16px;
260
+ accent-color: var(--login-page-primary-color);
261
+ }
262
+
263
+ .login-page__method-footer {
264
+ display: flex;
265
+ min-height: 32px;
266
+ align-items: center;
267
+ justify-content: flex-end;
268
+ color: var(--login-page-muted-color);
269
+ font-size: 14px;
270
+ }
271
+
272
+ .login-page__submit,
273
+ .login-page__oauth-button,
274
+ .login-page__callout-action,
275
+ .login-page__method-footer-action {
276
+ display: inline-flex;
277
+ min-height: 46px;
278
+ align-items: center;
279
+ justify-content: center;
280
+ gap: 8px;
281
+ padding: 0 18px;
282
+ border-radius: var(--login-page-radius);
283
+ cursor: pointer;
284
+ font: inherit;
285
+ font-weight: 600;
286
+ }
287
+
288
+ .login-page__submit {
289
+ width: 100%;
290
+ color: var(--login-page-primary-foreground);
291
+ background: var(--login-page-primary-color);
292
+ border: 1px solid transparent;
293
+ }
294
+
295
+ .login-page__submit:hover:not(:disabled),
296
+ .login-page__oauth-button:hover:not(:disabled),
297
+ .login-page__callout-action:hover:not(:disabled),
298
+ .login-page__method-footer-action:hover:not(:disabled) {
299
+ transform: translateY(-1px);
300
+ }
301
+
302
+ .login-page__submit:disabled,
303
+ .login-page__oauth-button:disabled,
304
+ .login-page__callout-action:disabled,
305
+ .login-page__method-footer-action:disabled,
306
+ .login-page__input:disabled {
307
+ cursor: not-allowed;
308
+ opacity: 0.62;
309
+ }
310
+
311
+ .login-page__method-footer-action {
312
+ min-height: 32px;
313
+ padding: 0;
314
+ color: var(--login-page-primary-color);
315
+ background: transparent;
316
+ border: 0;
317
+ }
318
+
319
+ .login-page__callout {
320
+ margin-top: 18px;
321
+ padding: 14px;
322
+ color: var(--login-page-callout-text, var(--login-page-text-color));
323
+ background: var(--login-page-callout-bg, color-mix(in srgb, var(--login-page-primary-color) 10%, transparent));
324
+ border: 1px solid var(--login-page-callout-border, color-mix(in srgb, var(--login-page-primary-color) 28%, transparent));
325
+ border-radius: var(--login-page-radius);
326
+ }
327
+
328
+ .login-page__callout--warning {
329
+ --login-page-callout-bg: var(--login-page-callout-warning-bg);
330
+ --login-page-callout-border: var(--login-page-callout-warning-border);
331
+ --login-page-callout-text: var(--login-page-callout-warning-text);
332
+ }
333
+
334
+ .login-page__callout--success {
335
+ --login-page-callout-bg: var(--login-page-callout-success-bg);
336
+ --login-page-callout-border: var(--login-page-callout-success-border);
337
+ --login-page-callout-text: var(--login-page-callout-success-text);
338
+ }
339
+
340
+ .login-page__callout--danger {
341
+ --login-page-callout-bg: var(--login-page-callout-danger-bg);
342
+ --login-page-callout-border: var(--login-page-callout-danger-border);
343
+ --login-page-callout-text: var(--login-page-callout-danger-text);
344
+ }
345
+
346
+ .login-page__callout-title {
347
+ font-weight: 700;
348
+ }
349
+
350
+ .login-page__callout-description,
351
+ .login-page__callout-detail {
352
+ margin: 6px 0 0;
353
+ color: color-mix(in srgb, currentColor 76%, transparent);
354
+ font-size: 14px;
355
+ line-height: 1.5;
356
+ }
357
+
358
+ .login-page__callout-action {
359
+ min-height: 36px;
360
+ margin-top: 12px;
361
+ color: var(--login-page-text-color);
362
+ background: var(--login-page-control-bg);
363
+ border: 1px solid var(--login-page-control-border);
364
+ }
365
+
366
+ .login-page__oauth-section {
367
+ display: flex;
368
+ flex-direction: column;
369
+ align-items: center;
370
+ gap: 10px;
371
+ margin-top: 22px;
372
+ }
373
+
374
+ .login-page__oauth-label {
375
+ color: var(--login-page-muted-color);
376
+ font-size: 14px;
377
+ }
378
+
379
+ .login-page__oauth-list {
380
+ display: flex;
381
+ width: 100%;
382
+ flex-wrap: wrap;
383
+ justify-content: center;
384
+ gap: 10px;
385
+ }
386
+
387
+ .login-page__oauth-button {
388
+ min-width: min(180px, 100%);
389
+ color: var(--login-page-text-color);
390
+ background: color-mix(in srgb, var(--login-page-control-bg) 78%, transparent);
391
+ border: 1px solid var(--login-page-control-border);
392
+ }
393
+
394
+ @media (max-width: 768px) {
395
+ .login-page {
396
+ justify-content: center;
397
+ padding: 20px;
398
+ }
399
+
400
+ .login-page__form {
401
+ width: 100%;
402
+ min-height: auto;
403
+ padding: 56px 20px 24px;
404
+ }
405
+
406
+ .login-page__title {
407
+ margin-top: 40px;
408
+ font-size: 24px;
409
+ }
410
+
411
+ .login-page__logo {
412
+ left: 20px;
413
+ }
414
+
415
+ .login-page__toolbar {
416
+ top: 20px;
417
+ right: 20px;
418
+ }
419
+
420
+ .login-page__tabs {
421
+ grid-auto-flow: row;
422
+ }
423
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inf-monkeys-tech/monkeys-design",
3
- "version": "0.4.36",
3
+ "version": "0.4.37",
4
4
  "description": "Monkeys Design Components Library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -52,7 +52,9 @@
52
52
  "import": "./dist/components/toast/index.mjs",
53
53
  "require": "./dist/components/toast/index.js"
54
54
  },
55
- "./styles/artist-login.scss": "./dist/styles/artist-login.scss",
55
+ "./styles/login-page.scss": {
56
+ "default": "./dist/styles/login-page.scss"
57
+ },
56
58
  "./styles/global.scss": "./dist/styles/global.scss",
57
59
  "./styles/workflow-board.scss": "./dist/styles/workflow-board.scss",
58
60
  "./styles/workflow-nodes.css": "./dist/styles/workflow-nodes.css",
@@ -117,6 +119,7 @@
117
119
  "react": "^18.2.0",
118
120
  "react-dom": "^18.2.0",
119
121
  "rimraf": "^5.0.0",
122
+ "sass-embedded": "^1.100.0",
120
123
  "sonner": "^2.0.7",
121
124
  "storybook": "^10.3.5",
122
125
  "tailwindcss": "^3.4.18",