@auticlabs/bulut 1.0.4 → 1.2.1

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,383 @@
1
+ :root {
2
+ --bg: #f4f7fb;
3
+ --panel: #ffffff;
4
+ --panel-alt: #e9f0f7;
5
+ --text: #152038;
6
+ --muted: #5c6784;
7
+ --line: #c7d1e0;
8
+ --primary: #0955d6;
9
+ --primary-strong: #073fa0;
10
+ --danger: #b53a3a;
11
+ --warning: #b47712;
12
+ --success: #1e7f4d;
13
+ --radius: 12px;
14
+ --shadow: 0 10px 22px rgba(9, 27, 66, 0.1);
15
+ }
16
+
17
+ * {
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ body {
22
+ margin: 0;
23
+ font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
24
+ background: linear-gradient(160deg, #f8fbff 0%, #eef3fb 100%);
25
+ color: var(--text);
26
+ min-height: 100vh;
27
+ }
28
+
29
+ a {
30
+ color: var(--primary);
31
+ }
32
+
33
+ .site-shell {
34
+ max-width: 1320px;
35
+ margin: 0 auto;
36
+ padding: 24px;
37
+ display: grid;
38
+ gap: 20px;
39
+ }
40
+
41
+ .site-header {
42
+ background: var(--panel);
43
+ border: 1px solid var(--line);
44
+ border-radius: var(--radius);
45
+ box-shadow: var(--shadow);
46
+ padding: 18px 20px;
47
+ display: flex;
48
+ flex-wrap: wrap;
49
+ align-items: center;
50
+ gap: 16px;
51
+ justify-content: space-between;
52
+ }
53
+
54
+ .site-title {
55
+ margin: 0;
56
+ font-size: 1.4rem;
57
+ }
58
+
59
+ .nav-row {
60
+ display: flex;
61
+ flex-wrap: wrap;
62
+ gap: 10px;
63
+ }
64
+
65
+ .nav-link {
66
+ text-decoration: none;
67
+ color: #16315f;
68
+ background: #dde7f5;
69
+ border: 1px solid #a9bfdc;
70
+ border-radius: 999px;
71
+ padding: 8px 14px;
72
+ font-size: 0.9rem;
73
+ }
74
+
75
+ .layout {
76
+ display: grid;
77
+ grid-template-columns: 2fr 1fr;
78
+ gap: 20px;
79
+ }
80
+
81
+ .main-column,
82
+ .side-column {
83
+ display: grid;
84
+ gap: 16px;
85
+ }
86
+
87
+ .card {
88
+ background: var(--panel);
89
+ border: 1px solid var(--line);
90
+ border-radius: var(--radius);
91
+ box-shadow: var(--shadow);
92
+ padding: 18px;
93
+ }
94
+
95
+ .card h2,
96
+ .card h3,
97
+ .card h4 {
98
+ margin-top: 0;
99
+ }
100
+
101
+ .muted {
102
+ color: var(--muted);
103
+ }
104
+
105
+ .grid-2,
106
+ .grid-3,
107
+ .grid-4 {
108
+ display: grid;
109
+ gap: 12px;
110
+ }
111
+
112
+ .grid-2 {
113
+ grid-template-columns: repeat(2, minmax(0, 1fr));
114
+ }
115
+
116
+ .grid-3 {
117
+ grid-template-columns: repeat(3, minmax(0, 1fr));
118
+ }
119
+
120
+ .grid-4 {
121
+ grid-template-columns: repeat(4, minmax(0, 1fr));
122
+ }
123
+
124
+ .form-grid {
125
+ display: grid;
126
+ grid-template-columns: repeat(3, minmax(0, 1fr));
127
+ gap: 12px;
128
+ }
129
+
130
+ .form-grid .full {
131
+ grid-column: 1 / -1;
132
+ }
133
+
134
+ label {
135
+ font-weight: 600;
136
+ display: block;
137
+ font-size: 0.88rem;
138
+ }
139
+
140
+ input,
141
+ select,
142
+ textarea,
143
+ button {
144
+ font: inherit;
145
+ }
146
+
147
+ input,
148
+ select,
149
+ textarea {
150
+ width: 100%;
151
+ margin-top: 6px;
152
+ border: 1px solid #aebdd3;
153
+ border-radius: 10px;
154
+ padding: 9px 10px;
155
+ background: #fff;
156
+ color: var(--text);
157
+ }
158
+
159
+ textarea {
160
+ min-height: 90px;
161
+ resize: vertical;
162
+ }
163
+
164
+ fieldset {
165
+ border: 1px solid #b9c7da;
166
+ border-radius: 10px;
167
+ padding: 12px;
168
+ }
169
+
170
+ legend {
171
+ padding: 0 6px;
172
+ font-weight: 700;
173
+ font-size: 0.86rem;
174
+ }
175
+
176
+ .inline-options {
177
+ display: flex;
178
+ gap: 12px;
179
+ flex-wrap: wrap;
180
+ margin-top: 8px;
181
+ }
182
+
183
+ .inline-options label {
184
+ font-weight: 500;
185
+ display: inline-flex;
186
+ align-items: center;
187
+ gap: 6px;
188
+ margin: 0;
189
+ }
190
+
191
+ .inline-options input {
192
+ width: auto;
193
+ margin: 0;
194
+ }
195
+
196
+ .button-row {
197
+ display: flex;
198
+ flex-wrap: wrap;
199
+ gap: 10px;
200
+ margin-top: 12px;
201
+ }
202
+
203
+ .btn {
204
+ border-radius: 10px;
205
+ border: 1px solid #9fb0c8;
206
+ padding: 9px 14px;
207
+ background: #edf2fa;
208
+ color: #10264e;
209
+ cursor: pointer;
210
+ }
211
+
212
+ .btn:hover {
213
+ filter: brightness(0.97);
214
+ }
215
+
216
+ .btn-primary {
217
+ background: var(--primary);
218
+ border-color: var(--primary-strong);
219
+ color: #fff;
220
+ }
221
+
222
+ .btn-danger {
223
+ background: #f8e8e8;
224
+ border-color: #dba7a7;
225
+ color: #7e1f1f;
226
+ }
227
+
228
+ .btn-warning {
229
+ background: #fff2da;
230
+ border-color: #d9b06a;
231
+ color: #744b04;
232
+ }
233
+
234
+ .btn-success {
235
+ background: #e6f5ed;
236
+ border-color: #8fc29e;
237
+ color: #145e38;
238
+ }
239
+
240
+ .btn-outline {
241
+ background: transparent;
242
+ }
243
+
244
+ .btn-sm {
245
+ padding: 7px 10px;
246
+ font-size: 0.85rem;
247
+ }
248
+
249
+ .btn-lg {
250
+ padding: 11px 18px;
251
+ }
252
+
253
+ .pill-row {
254
+ display: flex;
255
+ flex-wrap: wrap;
256
+ gap: 8px;
257
+ }
258
+
259
+ .pill {
260
+ border-radius: 999px;
261
+ border: 1px solid #b8c6da;
262
+ background: #eff5ff;
263
+ color: #24436e;
264
+ padding: 6px 10px;
265
+ font-size: 0.83rem;
266
+ }
267
+
268
+ .data-table {
269
+ width: 100%;
270
+ border-collapse: collapse;
271
+ margin-top: 10px;
272
+ }
273
+
274
+ .data-table th,
275
+ .data-table td {
276
+ border: 1px solid #c7d3e5;
277
+ padding: 10px;
278
+ text-align: left;
279
+ vertical-align: top;
280
+ }
281
+
282
+ .data-table th {
283
+ background: #eef3fb;
284
+ }
285
+
286
+ .callout {
287
+ border-left: 4px solid #8fb0df;
288
+ background: #edf3fb;
289
+ padding: 10px 12px;
290
+ border-radius: 8px;
291
+ }
292
+
293
+ .timeline {
294
+ list-style: none;
295
+ margin: 0;
296
+ padding: 0;
297
+ display: grid;
298
+ gap: 10px;
299
+ }
300
+
301
+ .timeline li {
302
+ background: #f1f6fe;
303
+ border: 1px solid #c8d6ea;
304
+ border-radius: 10px;
305
+ padding: 10px;
306
+ }
307
+
308
+ .footer-grid {
309
+ display: grid;
310
+ grid-template-columns: repeat(4, minmax(0, 1fr));
311
+ gap: 12px;
312
+ }
313
+
314
+ .kbd {
315
+ border: 1px solid #b5c1d5;
316
+ border-bottom-width: 2px;
317
+ border-radius: 6px;
318
+ padding: 2px 6px;
319
+ background: #f8fbff;
320
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
321
+ font-size: 0.84rem;
322
+ }
323
+
324
+ .status-grid {
325
+ display: grid;
326
+ gap: 8px;
327
+ }
328
+
329
+ .status-tile {
330
+ border: 1px solid #c3d1e5;
331
+ border-radius: 10px;
332
+ background: #f5f9ff;
333
+ padding: 10px;
334
+ }
335
+
336
+ code {
337
+ background: #edf2fa;
338
+ border-radius: 5px;
339
+ padding: 2px 5px;
340
+ }
341
+
342
+ .progress-row {
343
+ display: grid;
344
+ gap: 6px;
345
+ }
346
+
347
+ .progress-row progress {
348
+ width: 100%;
349
+ }
350
+
351
+ dialog[open] {
352
+ border: 1px solid #9fb4d3;
353
+ border-radius: 10px;
354
+ padding: 14px;
355
+ box-shadow: var(--shadow);
356
+ }
357
+
358
+ @media (max-width: 1080px) {
359
+ .layout {
360
+ grid-template-columns: 1fr;
361
+ }
362
+
363
+ .form-grid,
364
+ .grid-3,
365
+ .grid-4,
366
+ .footer-grid {
367
+ grid-template-columns: repeat(2, minmax(0, 1fr));
368
+ }
369
+ }
370
+
371
+ @media (max-width: 700px) {
372
+ .site-shell {
373
+ padding: 14px;
374
+ }
375
+
376
+ .grid-2,
377
+ .grid-3,
378
+ .grid-4,
379
+ .form-grid,
380
+ .footer-grid {
381
+ grid-template-columns: 1fr;
382
+ }
383
+ }
@@ -0,0 +1,31 @@
1
+ (() => {
2
+ const output = document.querySelector('[data-form-output]');
3
+
4
+ const serializeForm = (form) => {
5
+ const data = new FormData(form);
6
+ const entries = [];
7
+
8
+ for (const [key, value] of data.entries()) {
9
+ entries.push(`${key}: ${value}`);
10
+ }
11
+
12
+ return entries.join(' | ');
13
+ };
14
+
15
+ document.querySelectorAll('form[data-capture]').forEach((form) => {
16
+ form.addEventListener('submit', (event) => {
17
+ event.preventDefault();
18
+ if (!output) return;
19
+
20
+ const summary = serializeForm(form);
21
+ output.textContent = summary || 'Form submitted without visible values.';
22
+ });
23
+ });
24
+
25
+ document.querySelectorAll('[data-toggle-pressed]').forEach((button) => {
26
+ button.addEventListener('click', () => {
27
+ const isPressed = button.getAttribute('aria-pressed') === 'true';
28
+ button.setAttribute('aria-pressed', String(!isPressed));
29
+ });
30
+ });
31
+ })();