@stanko/ctrls 0.3.4 → 0.4.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.
- package/README.md +81 -5
- package/dist/ctrls/ctrl-boolean.d.ts +2 -2
- package/dist/ctrls/ctrl-boolean.js +1 -1
- package/dist/ctrls/ctrl-dual-range.d.ts +2 -2
- package/dist/ctrls/ctrl-dual-range.js +1 -1
- package/dist/ctrls/ctrl-easing.d.ts +2 -2
- package/dist/ctrls/ctrl-easing.js +1 -1
- package/dist/ctrls/ctrl-file.d.ts +27 -0
- package/dist/ctrls/ctrl-file.js +99 -0
- package/dist/ctrls/ctrl-html.d.ts +2 -0
- package/dist/ctrls/ctrl-html.js +13 -0
- package/dist/ctrls/ctrl-radio.d.ts +2 -2
- package/dist/ctrls/ctrl-range.d.ts +2 -2
- package/dist/ctrls/ctrl-range.js +1 -1
- package/dist/ctrls/ctrl-seed.d.ts +2 -2
- package/dist/ctrls/ctrl-seed.js +1 -1
- package/dist/ctrls/dom.d.ts +12 -0
- package/dist/ctrls/dom.js +16 -0
- package/dist/ctrls/index.d.ts +3 -127
- package/dist/ctrls/index.js +93 -85
- package/dist/ctrls/types.d.ts +146 -0
- package/dist/ctrls/types.js +1 -0
- package/dist/ctrls.css +198 -89
- package/dist/ctrls.css.map +1 -1
- package/dist/utils/icons.d.ts +2 -0
- package/dist/utils/icons.js +2 -0
- package/dist/utils/random.d.ts +1 -1
- package/package.json +5 -5
package/dist/ctrls.css
CHANGED
|
@@ -188,11 +188,13 @@
|
|
|
188
188
|
--ctrls-bg: oklch(0.99 0.005 var(--ctrls-h) / 0.9);
|
|
189
189
|
--ctrls-text: oklch(0.01 0.2 var(--ctrls-h));
|
|
190
190
|
--ctrls-text-muted: oklch(0.5 0.005 var(--ctrls-h));
|
|
191
|
+
--ctrls-hover-bg: oklch(0.98 0.03 var(--ctrls-h));
|
|
191
192
|
--ctrls-border: oklch(0.925 0.01 var(--ctrls-h));
|
|
192
193
|
--ctrls-input-border: oklch(0.925 0.01 var(--ctrls-h));
|
|
194
|
+
--ctrls-hover-border: oklch(0.85 0.075 var(--ctrls-h));
|
|
193
195
|
--ctrls-input-wrapper-bg: white;
|
|
194
196
|
--ctrls-btn-bg: white;
|
|
195
|
-
--ctrls-btn-hover-bg: oklch(0.
|
|
197
|
+
--ctrls-btn-hover-bg: oklch(0.98 0.02 var(--ctrls-h) / 0.5);
|
|
196
198
|
--ctrls-btn-hover-text: var(--ctrls-theme);
|
|
197
199
|
--ctrls-btn-selected-bg: var(--ctrls-theme);
|
|
198
200
|
--ctrls-btn-selected-text: white;
|
|
@@ -218,9 +220,9 @@
|
|
|
218
220
|
|
|
219
221
|
@media (prefers-color-scheme: dark) {
|
|
220
222
|
.ctrls--system-theme {
|
|
221
|
-
--ctrls-c: 0.
|
|
222
|
-
--ctrls-theme-oklch: 0.6
|
|
223
|
-
--ctrls-theme: oklch(0.6
|
|
223
|
+
--ctrls-c: 0.2;
|
|
224
|
+
--ctrls-theme-oklch: 0.6 var(--ctrls-c) var(--ctrls-h);
|
|
225
|
+
--ctrls-theme: oklch(0.6 var(--ctrls-c) var(--ctrls-h));
|
|
224
226
|
--ctrls-gray-50: #e1e1e1;
|
|
225
227
|
--ctrls-gray-100: #d3d3d3;
|
|
226
228
|
--ctrls-gray-200: #b7b7b7;
|
|
@@ -231,21 +233,22 @@
|
|
|
231
233
|
--ctrls-bg: oklch(0.27 0.003 var(--ctrls-h) / 0.9);
|
|
232
234
|
--ctrls-text: oklch(0.95 0.005 var(--ctrls-h));
|
|
233
235
|
--ctrls-text-muted: oklch(0.75 0.005 var(--ctrls-h));
|
|
236
|
+
--ctrls-hover-bg: oklch(0.23 0.03 var(--ctrls-h));
|
|
234
237
|
--ctrls-border: oklch(0.35 0.01 var(--ctrls-h));
|
|
235
238
|
--ctrls-input-border: transparent;
|
|
239
|
+
--ctrls-hover-border: oklch(0.5 0.15 var(--ctrls-h));
|
|
236
240
|
--ctrls-input-wrapper-bg: oklch(0.22 0.002 var(--ctrls-h));
|
|
237
241
|
--ctrls-btn-bg: oklch(0.2 0.001 var(--ctrls-h));
|
|
242
|
+
--ctrls-btn-selected-bg: oklch(0.5 var(--ctrls-c) var(--ctrls-h));
|
|
238
243
|
--ctrls-btn-hover-bg: oklch(0.1 0.001 var(--ctrls-h));
|
|
239
244
|
--ctrls-input-bg: var(--ctrls-input-wrapper-bg);
|
|
240
|
-
--ctrls-checkbox-checked-hover-bg: oklch(
|
|
241
|
-
0.45 calc(var(--ctrls-c) - 0.1) var(--ctrls-h)
|
|
242
|
-
);
|
|
245
|
+
--ctrls-checkbox-checked-hover-bg: oklch(0.45 var(--ctrls-c) var(--ctrls-h));
|
|
243
246
|
}
|
|
244
247
|
}
|
|
245
248
|
.ctrls--dark-theme {
|
|
246
|
-
--ctrls-c: 0.
|
|
247
|
-
--ctrls-theme-oklch: 0.6
|
|
248
|
-
--ctrls-theme: oklch(0.6
|
|
249
|
+
--ctrls-c: 0.2;
|
|
250
|
+
--ctrls-theme-oklch: 0.6 var(--ctrls-c) var(--ctrls-h);
|
|
251
|
+
--ctrls-theme: oklch(0.6 var(--ctrls-c) var(--ctrls-h));
|
|
249
252
|
--ctrls-gray-50: #e1e1e1;
|
|
250
253
|
--ctrls-gray-100: #d3d3d3;
|
|
251
254
|
--ctrls-gray-200: #b7b7b7;
|
|
@@ -256,15 +259,16 @@
|
|
|
256
259
|
--ctrls-bg: oklch(0.27 0.003 var(--ctrls-h) / 0.9);
|
|
257
260
|
--ctrls-text: oklch(0.95 0.005 var(--ctrls-h));
|
|
258
261
|
--ctrls-text-muted: oklch(0.75 0.005 var(--ctrls-h));
|
|
262
|
+
--ctrls-hover-bg: oklch(0.23 0.03 var(--ctrls-h));
|
|
259
263
|
--ctrls-border: oklch(0.35 0.01 var(--ctrls-h));
|
|
260
264
|
--ctrls-input-border: transparent;
|
|
265
|
+
--ctrls-hover-border: oklch(0.5 0.15 var(--ctrls-h));
|
|
261
266
|
--ctrls-input-wrapper-bg: oklch(0.22 0.002 var(--ctrls-h));
|
|
262
267
|
--ctrls-btn-bg: oklch(0.2 0.001 var(--ctrls-h));
|
|
268
|
+
--ctrls-btn-selected-bg: oklch(0.5 var(--ctrls-c) var(--ctrls-h));
|
|
263
269
|
--ctrls-btn-hover-bg: oklch(0.1 0.001 var(--ctrls-h));
|
|
264
270
|
--ctrls-input-bg: var(--ctrls-input-wrapper-bg);
|
|
265
|
-
--ctrls-checkbox-checked-hover-bg: oklch(
|
|
266
|
-
0.45 calc(var(--ctrls-c) - 0.1) var(--ctrls-h)
|
|
267
|
-
);
|
|
271
|
+
--ctrls-checkbox-checked-hover-bg: oklch(0.45 var(--ctrls-c) var(--ctrls-h));
|
|
268
272
|
}
|
|
269
273
|
|
|
270
274
|
.ctrls {
|
|
@@ -300,31 +304,48 @@
|
|
|
300
304
|
display: block;
|
|
301
305
|
overflow: visible;
|
|
302
306
|
}
|
|
307
|
+
.ctrls img {
|
|
308
|
+
max-width: 100%;
|
|
309
|
+
}
|
|
303
310
|
|
|
304
|
-
.
|
|
305
|
-
.
|
|
311
|
+
.ctrls__title,
|
|
312
|
+
.ctrls__group-title {
|
|
306
313
|
background: none;
|
|
307
314
|
border: none;
|
|
308
|
-
display:
|
|
315
|
+
display: flex;
|
|
316
|
+
justify-content: space-between;
|
|
317
|
+
align-items: center;
|
|
309
318
|
width: 100%;
|
|
310
319
|
font-weight: bold;
|
|
311
320
|
letter-spacing: -0.025em;
|
|
312
|
-
padding: 0.
|
|
321
|
+
padding: 0.25rem 0.5rem;
|
|
313
322
|
cursor: pointer;
|
|
314
323
|
transition: color 300ms, background-color 300ms;
|
|
315
324
|
}
|
|
316
|
-
.
|
|
317
|
-
.
|
|
318
|
-
.
|
|
325
|
+
.ctrls__title:focus-visible, .ctrls__title:hover,
|
|
326
|
+
.ctrls__group-title:focus-visible,
|
|
327
|
+
.ctrls__group-title:hover {
|
|
319
328
|
color: var(--ctrls-theme);
|
|
320
|
-
background: var(--ctrls-
|
|
329
|
+
background: var(--ctrls-hover-bg);
|
|
330
|
+
}
|
|
331
|
+
.ctrls__title svg,
|
|
332
|
+
.ctrls__group-title svg {
|
|
333
|
+
transition: transform 250ms;
|
|
334
|
+
width: 1rem;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.ctrls__group-title {
|
|
338
|
+
padding-block: 0.125rem;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.ctrls--hidden .ctrls__title svg,
|
|
342
|
+
.ctrls__group--hidden .ctrls__group-title svg {
|
|
343
|
+
transform: rotate(180deg);
|
|
321
344
|
}
|
|
322
345
|
|
|
323
346
|
.ctrls__controls {
|
|
324
|
-
display: grid;
|
|
325
|
-
padding-block: 0.5rem;
|
|
326
|
-
gap: 0.5rem;
|
|
327
347
|
overflow: auto;
|
|
348
|
+
display: grid;
|
|
328
349
|
scrollbar-width: thin;
|
|
329
350
|
scrollbar-color: var(--ctrls-scrollbar-thumb-bg) transparent;
|
|
330
351
|
}
|
|
@@ -333,11 +354,65 @@
|
|
|
333
354
|
display: none;
|
|
334
355
|
}
|
|
335
356
|
|
|
336
|
-
.
|
|
337
|
-
|
|
357
|
+
.ctrls__group {
|
|
358
|
+
margin: 0.25rem 0.5rem;
|
|
359
|
+
border: 1px solid var(--ctrls-border);
|
|
360
|
+
border-radius: var(--ctrls-radius);
|
|
361
|
+
overflow: hidden;
|
|
362
|
+
}
|
|
363
|
+
.ctrls__group:only-child {
|
|
364
|
+
margin: 0.5rem;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.ctrls__group + .ctrls__group {
|
|
368
|
+
margin-top: 0.5rem;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.ctrls__group .ctrls__control {
|
|
372
|
+
grid-template-columns: calc(var(--ctrls-label-width) - 0.5rem) minmax(0, 1fr);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
.ctrls__group--hidden {
|
|
376
|
+
padding-block-end: 0;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.ctrls__group--hidden .ctrls__control {
|
|
380
|
+
display: none;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.ctrls__control {
|
|
384
|
+
padding: 0.25rem 0.5rem;
|
|
385
|
+
display: grid;
|
|
386
|
+
grid-template-columns: var(--ctrls-label-width) minmax(0, 1fr);
|
|
387
|
+
align-items: center;
|
|
388
|
+
}
|
|
389
|
+
.ctrls__control:only-child {
|
|
390
|
+
padding: 0.5rem;
|
|
391
|
+
}
|
|
392
|
+
.ctrls__control:hover {
|
|
393
|
+
background: var(--ctrls-hover-bg);
|
|
394
|
+
}
|
|
395
|
+
.ctrls__control:hover .ctrls__control-label {
|
|
396
|
+
color: var(--ctrls-theme);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
.ctrls__control-label {
|
|
400
|
+
color: var(--ctrls-text-muted);
|
|
401
|
+
font-weight: 700;
|
|
402
|
+
hyphens: auto;
|
|
403
|
+
padding-right: 0.25rem;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.ctrls__control-value {
|
|
407
|
+
font-weight: 400;
|
|
408
|
+
font-size: var(--ctrls-value-font-size);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.ctrls button:focus-visible {
|
|
412
|
+
outline: 2px solid var(--ctrls-theme);
|
|
413
|
+
outline-offset: 2px;
|
|
338
414
|
}
|
|
339
415
|
|
|
340
|
-
/* ----- Buttons ----- */
|
|
341
416
|
.ctrls__btn {
|
|
342
417
|
background: none;
|
|
343
418
|
border: none;
|
|
@@ -347,7 +422,7 @@
|
|
|
347
422
|
justify-content: center;
|
|
348
423
|
gap: 0.25rem;
|
|
349
424
|
border-radius: var(--ctrls-radius);
|
|
350
|
-
transition: color 300ms, background-color 300ms;
|
|
425
|
+
transition: color 300ms, border-color 300ms, background-color 300ms;
|
|
351
426
|
}
|
|
352
427
|
.ctrls__btn:focus-visible, .ctrls__btn:hover {
|
|
353
428
|
color: var(--ctrls-btn-hover-text);
|
|
@@ -361,6 +436,17 @@
|
|
|
361
436
|
transition: opacity 300ms;
|
|
362
437
|
}
|
|
363
438
|
|
|
439
|
+
.ctrls__btn--sm {
|
|
440
|
+
padding: 0.375rem 0.5rem;
|
|
441
|
+
background: var(--ctrls-btn-bg);
|
|
442
|
+
border: 1px solid var(--ctrls-input-border);
|
|
443
|
+
}
|
|
444
|
+
.ctrls__btn--sm:focus-visible, .ctrls__btn--sm:hover {
|
|
445
|
+
color: var(--ctrls-theme);
|
|
446
|
+
background: var(--ctrls-btn-hover-bg);
|
|
447
|
+
border-color: var(--ctrls-hover-border);
|
|
448
|
+
}
|
|
449
|
+
|
|
364
450
|
.ctrls__btn--lg {
|
|
365
451
|
margin-inline-start: calc(var(--ctrls-label-width) + 0.5rem);
|
|
366
452
|
margin-inline-end: 0.5rem;
|
|
@@ -372,8 +458,12 @@
|
|
|
372
458
|
.ctrls__btn--lg:focus-visible, .ctrls__btn--lg:hover {
|
|
373
459
|
color: var(--ctrls-theme);
|
|
374
460
|
background: var(--ctrls-btn-hover-bg);
|
|
461
|
+
border-color: var(--ctrls-hover-border);
|
|
375
462
|
}
|
|
376
463
|
|
|
464
|
+
.ctrls__randomize {
|
|
465
|
+
margin-block: 0.5rem;
|
|
466
|
+
}
|
|
377
467
|
.ctrls__randomize:focus-visible svg, .ctrls__randomize:hover svg {
|
|
378
468
|
transform: rotate(0.5turn);
|
|
379
469
|
}
|
|
@@ -383,58 +473,6 @@
|
|
|
383
473
|
opacity: 0;
|
|
384
474
|
}
|
|
385
475
|
|
|
386
|
-
/* ----- Groups ----- */
|
|
387
|
-
.ctrls__group {
|
|
388
|
-
margin: 0 0.5rem;
|
|
389
|
-
display: grid;
|
|
390
|
-
gap: 0.5rem;
|
|
391
|
-
padding-block-end: 0.5rem;
|
|
392
|
-
border: 1px solid var(--ctrls-border);
|
|
393
|
-
border-radius: var(--ctrls-radius);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
.ctrls__group .ctrls__control {
|
|
397
|
-
grid-template-columns: calc(var(--ctrls-label-width) - 0.5rem) minmax(0, 1fr);
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
.ctrls__group-title {
|
|
401
|
-
text-align: left;
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
.ctrls__group--hidden {
|
|
405
|
-
padding-block-end: 0;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
.ctrls__group--hidden .ctrls__control {
|
|
409
|
-
display: none;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
/* ----- Controls ----- */
|
|
413
|
-
.ctrls__control {
|
|
414
|
-
padding-inline: 0.5rem;
|
|
415
|
-
display: grid;
|
|
416
|
-
grid-template-columns: var(--ctrls-label-width) minmax(0, 1fr);
|
|
417
|
-
align-items: center;
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
.ctrls__control-label {
|
|
421
|
-
color: var(--ctrls-text-muted);
|
|
422
|
-
font-weight: 700;
|
|
423
|
-
hyphens: auto;
|
|
424
|
-
padding-right: 0.25rem;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
.ctrls__control-value {
|
|
428
|
-
font-weight: 400;
|
|
429
|
-
font-size: var(--ctrls-value-font-size);
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
.ctrls button:focus-visible {
|
|
433
|
-
outline: 2px solid var(--ctrls-theme);
|
|
434
|
-
outline-offset: 2px;
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
/* ----- Boolean ----- */
|
|
438
476
|
.ctrls__control--boolean input {
|
|
439
477
|
opacity: 0;
|
|
440
478
|
pointer-events: none;
|
|
@@ -471,6 +509,7 @@ label:hover .ctrls__boolean-input:checked + .ctrls__boolean-checkmark {
|
|
|
471
509
|
|
|
472
510
|
label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
473
511
|
color: var(--ctrls-checkbox-hover-text);
|
|
512
|
+
border-color: var(--ctrls-hover-border);
|
|
474
513
|
}
|
|
475
514
|
|
|
476
515
|
.ctrls__boolean-input:focus-visible + .ctrls__boolean-checkmark {
|
|
@@ -478,7 +517,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
478
517
|
outline-offset: 2px;
|
|
479
518
|
}
|
|
480
519
|
|
|
481
|
-
/* ----- Range ----- */
|
|
482
520
|
.ctrls__range-input {
|
|
483
521
|
width: 100%;
|
|
484
522
|
-webkit-tap-highlight-color: transparent;
|
|
@@ -489,7 +527,7 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
489
527
|
border-radius: 0;
|
|
490
528
|
flex-basis: calc(50% + var(--dri-thumb-width));
|
|
491
529
|
flex-shrink: 0;
|
|
492
|
-
height: 1.
|
|
530
|
+
height: 1.5rem;
|
|
493
531
|
margin: 0;
|
|
494
532
|
min-width: var(--dri-thumb-width);
|
|
495
533
|
outline: none;
|
|
@@ -569,7 +607,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
569
607
|
border-color: var(--ctrls-range-thumb-hover-border);
|
|
570
608
|
}
|
|
571
609
|
|
|
572
|
-
/* ----- Dual range ----- */
|
|
573
610
|
.ctrls__control-right .dual-range-input {
|
|
574
611
|
padding-inline-end: calc(var(--dri-thumb-width) * 2);
|
|
575
612
|
}
|
|
@@ -579,7 +616,7 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
579
616
|
.ctrls__control-right .dual-range-input {
|
|
580
617
|
--dri-track-color: var(--ctrls-range-track-bg);
|
|
581
618
|
--dri-track-filled-color: var(--ctrls-range-track-active-bg);
|
|
582
|
-
--dri-height: 1.
|
|
619
|
+
--dri-height: 1.5rem;
|
|
583
620
|
--dri-thumb-width: 1.25rem;
|
|
584
621
|
--dri-thumb-height: 1rem;
|
|
585
622
|
--dri-thumb-border-radius: var(--ctrls-range-thumb-radius);
|
|
@@ -594,7 +631,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
594
631
|
outline-offset: 2px;
|
|
595
632
|
}
|
|
596
633
|
|
|
597
|
-
/* ----- Radio ----- */
|
|
598
634
|
.ctrls__control--radio .ctrls__control-right {
|
|
599
635
|
display: grid;
|
|
600
636
|
grid-template-columns: 1fr 1fr 1fr;
|
|
@@ -609,13 +645,14 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
609
645
|
white-space: nowrap;
|
|
610
646
|
overflow: hidden;
|
|
611
647
|
text-overflow: ellipsis;
|
|
612
|
-
transition: color 250ms, background-color 250ms;
|
|
648
|
+
transition: color 250ms, border-color 250ms, background-color 250ms;
|
|
613
649
|
border-radius: var(--ctrls-radius);
|
|
614
650
|
border: 1px solid var(--ctrls-input-border);
|
|
615
651
|
background: var(--ctrls-btn-bg);
|
|
616
652
|
}
|
|
617
653
|
.ctrls__radio-label:focus-visible, .ctrls__radio-label:hover {
|
|
618
654
|
background: var(--ctrls-btn-hover-bg);
|
|
655
|
+
border-color: var(--ctrls-hover-border);
|
|
619
656
|
color: var(--ctrls-theme);
|
|
620
657
|
}
|
|
621
658
|
|
|
@@ -637,7 +674,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
637
674
|
outline-offset: 2px;
|
|
638
675
|
}
|
|
639
676
|
|
|
640
|
-
/* ----- Seed ----- */
|
|
641
677
|
.ctrls__control--seed .ctrls__control-right {
|
|
642
678
|
display: flex;
|
|
643
679
|
gap: 0.25rem;
|
|
@@ -665,7 +701,79 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
665
701
|
transform: rotate(0.5turn);
|
|
666
702
|
}
|
|
667
703
|
|
|
668
|
-
|
|
704
|
+
.ctrls__file-top {
|
|
705
|
+
display: flex;
|
|
706
|
+
gap: 0.25rem;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
.ctrls__file-input {
|
|
710
|
+
opacity: 0;
|
|
711
|
+
position: absolute;
|
|
712
|
+
left: -200vw;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
.ctrls__file-fake-input {
|
|
716
|
+
border-radius: var(--ctrls-radius);
|
|
717
|
+
flex-grow: 1;
|
|
718
|
+
font-weight: 700;
|
|
719
|
+
color: var(--ctrls-text-muted);
|
|
720
|
+
display: grid;
|
|
721
|
+
place-items: center;
|
|
722
|
+
line-height: 1;
|
|
723
|
+
}
|
|
724
|
+
.ctrls__file-fake-input span {
|
|
725
|
+
display: block;
|
|
726
|
+
font-weight: normal;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
.ctrls__file-input:focus-visible + .ctrls__file-fake-input {
|
|
730
|
+
outline: 2px solid var(--ctrls-theme);
|
|
731
|
+
outline-offset: 2px;
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
.ctrls__file-clear {
|
|
735
|
+
padding: 0 0.375rem;
|
|
736
|
+
flex-shrink: 0;
|
|
737
|
+
}
|
|
738
|
+
.ctrls__file-clear path {
|
|
739
|
+
transition: transform 250ms;
|
|
740
|
+
}
|
|
741
|
+
.ctrls__file-clear:hover path:nth-child(2),
|
|
742
|
+
.ctrls__file-clear:hover path:nth-child(3), .ctrls__file-clear:focus-visible path:nth-child(2),
|
|
743
|
+
.ctrls__file-clear:focus-visible path:nth-child(3) {
|
|
744
|
+
transform-origin: center;
|
|
745
|
+
transform: translateY(-0.25rem);
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
.ctrls__file-preview-item {
|
|
749
|
+
padding: 0.25rem 0.5rem;
|
|
750
|
+
background: var(--ctrls-btn-bg);
|
|
751
|
+
border: 1px solid var(--ctrls-input-border);
|
|
752
|
+
border-radius: var(--ctrls-radius);
|
|
753
|
+
color: var(--ctrls-text-muted);
|
|
754
|
+
font-weight: 700;
|
|
755
|
+
margin-top: 0.25rem;
|
|
756
|
+
display: grid;
|
|
757
|
+
place-items: center;
|
|
758
|
+
text-align: center;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
.ctrls__file-image {
|
|
762
|
+
max-height: 8rem;
|
|
763
|
+
max-width: 8rem;
|
|
764
|
+
border-radius: max(2px, var(--ctrls-radius) - 4px);
|
|
765
|
+
margin-block: 0.25rem;
|
|
766
|
+
outline-offset: -1px;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
.ctrls__file-label {
|
|
770
|
+
display: block;
|
|
771
|
+
text-overflow: ellipsis;
|
|
772
|
+
white-space: nowrap;
|
|
773
|
+
overflow: hidden;
|
|
774
|
+
width: 100%;
|
|
775
|
+
}
|
|
776
|
+
|
|
669
777
|
.ctrls__easing-wrapper {
|
|
670
778
|
padding: 0.5rem;
|
|
671
779
|
border: 1px solid var(--ctrls-input-border);
|
|
@@ -727,10 +835,11 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
727
835
|
border-radius: var(--ctrls-radius);
|
|
728
836
|
background: var(--ctrls-btn-bg);
|
|
729
837
|
padding: 0.25rem;
|
|
730
|
-
transition: color 250ms, background-color 250ms;
|
|
838
|
+
transition: color 250ms, border-color 250ms, background-color 250ms;
|
|
731
839
|
}
|
|
732
840
|
.ctrls__easing-buttons button:focus-visible, .ctrls__easing-buttons button:hover {
|
|
733
841
|
background: var(--ctrls-btn-hover-bg);
|
|
842
|
+
border-color: var(--ctrls-hover-border);
|
|
734
843
|
color: var(--ctrls-theme);
|
|
735
844
|
}
|
|
736
845
|
|
package/dist/ctrls.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../node_modules/@stanko/dual-range-input/dist/index.css","../src/scss/_ctrls.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;;AC3IF;EACE;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EAEA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAEA;EACA;EAEA;EACA;EAGA;EAGA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EACA;EAEA;EAGA;EAEA;EACA;;;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../node_modules/@stanko/dual-range-input/dist/index.css","../src/scss/_ctrls.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;;AC3IF;EACE;AAAA;AAAA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EAEA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EAGA;EAEA;EACA;EAEA;EACA;EAGA;EAGA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EACA;EAEA;EAGA;EAEA;EACA;;;AAgDF;EACE;IA5CA;IAEA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IAGA;IAGA;IACA;IACA;IACA;IAGA;IACA;IACA;IAGA;IAGA;IACA;IAEA;IAGA;IAGA;;;AASF;EAjDE;EAEA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EAGA;EACA;EAEA;EAGA;EAGA;;;AAeF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAGF;AAAA;AAAA;EAEE;EACA;;AAGF;AAAA;EACE;EACA;;;AAIJ;EACE;;;AAKA;AAAA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;;;AAKN;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAIF;EAEE;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EACE;;;AAKJ;EACE;EACA;EACA;;AAEA;EAEE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;EACA;;;AAIJ;EACE;;AAIE;EACE;;AAGF;AAAA;AAAA;EAEE;;;AAON;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;;AAIF;EACE;;;AAIF;EACE;EACA;;;AAIF;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAmCJ;EA5BE;EACA;EACA;EACA;EACA;EAEA;;;AA0BF;EAhCE;EACA;EACA;EACA;EACA;EAEA;;;AA8BF;EAtBE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAkBA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAKF;EAvDE;EACA;EACA;EACA;EACA;EAEA;;;AAqDF;EA7CE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAwCA;EACA;;;AAGF;EACE;EACA;;;AAKF;EAIE;;AAEA;EACE;;AAPJ;EAUE;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;;AAMJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAGF;EACA;EACA;;AAEA;EAEE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;AAIE;EACE;;;AAON;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;;AAEA;EACE;;AAKA;AAAA;AAAA;EAEE;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAIF;EAEE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEE;;AAEA;EACE;EACA","file":"ctrls.css"}
|
package/dist/utils/icons.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export declare const checkIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"/></svg>";
|
|
2
2
|
export declare const refreshIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\"/><path d=\"M21 3v5h-5\"/><path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\"/><path d=\"M8 16H3v5\"/></svg>";
|
|
3
3
|
export declare const diceIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" stroke-width=\"2\"/><path d=\"M16 8h.01\"/><path d=\"M8 8h.01\"/><path d=\"M8 16h.01\"/><path d=\"M16 16h.01\"/><path d=\"M12 12h.01\"/></svg>";
|
|
4
|
+
export declare const closeIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\"/><path d=\"M3 6h18\"/><path d=\"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"/></svg>";
|
|
5
|
+
export declare const chevronUpIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m18 15-6-6-6 6\"/></svg>";
|
package/dist/utils/icons.js
CHANGED
|
@@ -2,3 +2,5 @@
|
|
|
2
2
|
export const checkIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>`;
|
|
3
3
|
export const refreshIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/></svg>`;
|
|
4
4
|
export const diceIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" stroke-width="2"/><path d="M16 8h.01"/><path d="M8 8h.01"/><path d="M8 16h.01"/><path d="M16 16h.01"/><path d="M12 12h.01"/></svg>`;
|
|
5
|
+
export const closeIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M3 6h18"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>`;
|
|
6
|
+
export const chevronUpIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>`;
|
package/dist/utils/random.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { PRNG } from "../ctrls";
|
|
1
|
+
import type { PRNG } from "../ctrls/types";
|
|
2
2
|
export default function random(min?: number, max?: number, rng?: PRNG | null, decimalPlaces?: number): number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stanko/ctrls",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "vitest",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
],
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"highlight.js": "^11.11.1",
|
|
23
|
-
"marked": "^17.0.
|
|
23
|
+
"marked": "^17.0.1",
|
|
24
24
|
"marked-highlight": "^2.2.3",
|
|
25
|
-
"sass": "^1.94.
|
|
25
|
+
"sass": "^1.94.2",
|
|
26
26
|
"simplex-noise": "^4.0.3",
|
|
27
27
|
"typescript": "~5.9.3",
|
|
28
|
-
"vite": "^7.2.
|
|
29
|
-
"vitest": "^4.0.
|
|
28
|
+
"vite": "^7.2.4",
|
|
29
|
+
"vitest": "^4.0.13"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@stanko/dual-range-input": "^1.0.1",
|