@stanko/ctrls 0.3.4 → 0.4.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.
- 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 +204 -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,60 @@
|
|
|
300
304
|
display: block;
|
|
301
305
|
overflow: visible;
|
|
302
306
|
}
|
|
307
|
+
.ctrls img {
|
|
308
|
+
max-width: 100%;
|
|
309
|
+
}
|
|
303
310
|
|
|
304
|
-
.
|
|
305
|
-
|
|
311
|
+
.ctrls button:focus-visible {
|
|
312
|
+
outline: 2px solid var(--ctrls-theme);
|
|
313
|
+
outline-offset: 2px;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.ctrls__title,
|
|
317
|
+
.ctrls__group-title {
|
|
306
318
|
background: none;
|
|
307
319
|
border: none;
|
|
308
|
-
display:
|
|
320
|
+
display: flex;
|
|
321
|
+
gap: 0.5rem;
|
|
322
|
+
justify-content: space-between;
|
|
323
|
+
align-items: center;
|
|
309
324
|
width: 100%;
|
|
310
325
|
font-weight: bold;
|
|
311
326
|
letter-spacing: -0.025em;
|
|
312
|
-
padding: 0.
|
|
327
|
+
padding: 0.25rem 0.5rem;
|
|
313
328
|
cursor: pointer;
|
|
314
329
|
transition: color 300ms, background-color 300ms;
|
|
315
330
|
}
|
|
316
|
-
.
|
|
317
|
-
.
|
|
318
|
-
.
|
|
331
|
+
.ctrls__title:focus-visible, .ctrls__title:hover,
|
|
332
|
+
.ctrls__group-title:focus-visible,
|
|
333
|
+
.ctrls__group-title:hover {
|
|
319
334
|
color: var(--ctrls-theme);
|
|
320
|
-
background: var(--ctrls-
|
|
335
|
+
background: var(--ctrls-hover-bg);
|
|
336
|
+
}
|
|
337
|
+
.ctrls .ctrls__title:focus-visible,
|
|
338
|
+
.ctrls .ctrls__group-title:focus-visible {
|
|
339
|
+
outline: none;
|
|
340
|
+
background-color: var(--ctrls-theme);
|
|
341
|
+
color: white;
|
|
342
|
+
}
|
|
343
|
+
.ctrls__title svg,
|
|
344
|
+
.ctrls__group-title svg {
|
|
345
|
+
transition: transform 250ms;
|
|
346
|
+
width: 1rem;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.ctrls__group-title {
|
|
350
|
+
padding-block: 0.125rem;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.ctrls--hidden .ctrls__title svg,
|
|
354
|
+
.ctrls__group--hidden .ctrls__group-title svg {
|
|
355
|
+
transform: rotate(180deg);
|
|
321
356
|
}
|
|
322
357
|
|
|
323
358
|
.ctrls__controls {
|
|
324
|
-
display: grid;
|
|
325
|
-
padding-block: 0.5rem;
|
|
326
|
-
gap: 0.5rem;
|
|
327
359
|
overflow: auto;
|
|
360
|
+
display: grid;
|
|
328
361
|
scrollbar-width: thin;
|
|
329
362
|
scrollbar-color: var(--ctrls-scrollbar-thumb-bg) transparent;
|
|
330
363
|
}
|
|
@@ -333,11 +366,60 @@
|
|
|
333
366
|
display: none;
|
|
334
367
|
}
|
|
335
368
|
|
|
336
|
-
.
|
|
337
|
-
|
|
369
|
+
.ctrls__group {
|
|
370
|
+
margin: 0.25rem 0.5rem;
|
|
371
|
+
border: 1px solid var(--ctrls-border);
|
|
372
|
+
border-radius: var(--ctrls-radius);
|
|
373
|
+
overflow: hidden;
|
|
374
|
+
}
|
|
375
|
+
.ctrls__group:only-child {
|
|
376
|
+
margin: 0.5rem;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
.ctrls__group + .ctrls__group {
|
|
380
|
+
margin-top: 0.5rem;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.ctrls__group .ctrls__control {
|
|
384
|
+
grid-template-columns: calc(var(--ctrls-label-width) - 0.5rem) minmax(0, 1fr);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.ctrls__group--hidden {
|
|
388
|
+
padding-block-end: 0;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.ctrls__group--hidden .ctrls__control {
|
|
392
|
+
display: none;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.ctrls__control {
|
|
396
|
+
padding: 0.25rem 0.5rem;
|
|
397
|
+
display: grid;
|
|
398
|
+
grid-template-columns: var(--ctrls-label-width) minmax(0, 1fr);
|
|
399
|
+
align-items: center;
|
|
400
|
+
}
|
|
401
|
+
.ctrls__control:only-child {
|
|
402
|
+
padding: 0.5rem;
|
|
403
|
+
}
|
|
404
|
+
.ctrls__control:hover {
|
|
405
|
+
background: var(--ctrls-hover-bg);
|
|
406
|
+
}
|
|
407
|
+
.ctrls__control:hover .ctrls__control-label {
|
|
408
|
+
color: var(--ctrls-theme);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.ctrls__control-label {
|
|
412
|
+
color: var(--ctrls-text-muted);
|
|
413
|
+
font-weight: 700;
|
|
414
|
+
hyphens: auto;
|
|
415
|
+
padding-right: 0.25rem;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.ctrls__control-value {
|
|
419
|
+
font-weight: 400;
|
|
420
|
+
font-size: var(--ctrls-value-font-size);
|
|
338
421
|
}
|
|
339
422
|
|
|
340
|
-
/* ----- Buttons ----- */
|
|
341
423
|
.ctrls__btn {
|
|
342
424
|
background: none;
|
|
343
425
|
border: none;
|
|
@@ -347,7 +429,7 @@
|
|
|
347
429
|
justify-content: center;
|
|
348
430
|
gap: 0.25rem;
|
|
349
431
|
border-radius: var(--ctrls-radius);
|
|
350
|
-
transition: color 300ms, background-color 300ms;
|
|
432
|
+
transition: color 300ms, border-color 300ms, background-color 300ms;
|
|
351
433
|
}
|
|
352
434
|
.ctrls__btn:focus-visible, .ctrls__btn:hover {
|
|
353
435
|
color: var(--ctrls-btn-hover-text);
|
|
@@ -361,6 +443,17 @@
|
|
|
361
443
|
transition: opacity 300ms;
|
|
362
444
|
}
|
|
363
445
|
|
|
446
|
+
.ctrls__btn--sm {
|
|
447
|
+
padding: 0.375rem 0.5rem;
|
|
448
|
+
background: var(--ctrls-btn-bg);
|
|
449
|
+
border: 1px solid var(--ctrls-input-border);
|
|
450
|
+
}
|
|
451
|
+
.ctrls__btn--sm:focus-visible, .ctrls__btn--sm:hover {
|
|
452
|
+
color: var(--ctrls-theme);
|
|
453
|
+
background: var(--ctrls-btn-hover-bg);
|
|
454
|
+
border-color: var(--ctrls-hover-border);
|
|
455
|
+
}
|
|
456
|
+
|
|
364
457
|
.ctrls__btn--lg {
|
|
365
458
|
margin-inline-start: calc(var(--ctrls-label-width) + 0.5rem);
|
|
366
459
|
margin-inline-end: 0.5rem;
|
|
@@ -372,8 +465,12 @@
|
|
|
372
465
|
.ctrls__btn--lg:focus-visible, .ctrls__btn--lg:hover {
|
|
373
466
|
color: var(--ctrls-theme);
|
|
374
467
|
background: var(--ctrls-btn-hover-bg);
|
|
468
|
+
border-color: var(--ctrls-hover-border);
|
|
375
469
|
}
|
|
376
470
|
|
|
471
|
+
.ctrls__randomize {
|
|
472
|
+
margin-block: 0.5rem;
|
|
473
|
+
}
|
|
377
474
|
.ctrls__randomize:focus-visible svg, .ctrls__randomize:hover svg {
|
|
378
475
|
transform: rotate(0.5turn);
|
|
379
476
|
}
|
|
@@ -383,58 +480,6 @@
|
|
|
383
480
|
opacity: 0;
|
|
384
481
|
}
|
|
385
482
|
|
|
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
483
|
.ctrls__control--boolean input {
|
|
439
484
|
opacity: 0;
|
|
440
485
|
pointer-events: none;
|
|
@@ -478,7 +523,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
478
523
|
outline-offset: 2px;
|
|
479
524
|
}
|
|
480
525
|
|
|
481
|
-
/* ----- Range ----- */
|
|
482
526
|
.ctrls__range-input {
|
|
483
527
|
width: 100%;
|
|
484
528
|
-webkit-tap-highlight-color: transparent;
|
|
@@ -489,7 +533,7 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
489
533
|
border-radius: 0;
|
|
490
534
|
flex-basis: calc(50% + var(--dri-thumb-width));
|
|
491
535
|
flex-shrink: 0;
|
|
492
|
-
height: 1.
|
|
536
|
+
height: 1.5rem;
|
|
493
537
|
margin: 0;
|
|
494
538
|
min-width: var(--dri-thumb-width);
|
|
495
539
|
outline: none;
|
|
@@ -569,7 +613,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
569
613
|
border-color: var(--ctrls-range-thumb-hover-border);
|
|
570
614
|
}
|
|
571
615
|
|
|
572
|
-
/* ----- Dual range ----- */
|
|
573
616
|
.ctrls__control-right .dual-range-input {
|
|
574
617
|
padding-inline-end: calc(var(--dri-thumb-width) * 2);
|
|
575
618
|
}
|
|
@@ -579,7 +622,7 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
579
622
|
.ctrls__control-right .dual-range-input {
|
|
580
623
|
--dri-track-color: var(--ctrls-range-track-bg);
|
|
581
624
|
--dri-track-filled-color: var(--ctrls-range-track-active-bg);
|
|
582
|
-
--dri-height: 1.
|
|
625
|
+
--dri-height: 1.5rem;
|
|
583
626
|
--dri-thumb-width: 1.25rem;
|
|
584
627
|
--dri-thumb-height: 1rem;
|
|
585
628
|
--dri-thumb-border-radius: var(--ctrls-range-thumb-radius);
|
|
@@ -594,7 +637,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
594
637
|
outline-offset: 2px;
|
|
595
638
|
}
|
|
596
639
|
|
|
597
|
-
/* ----- Radio ----- */
|
|
598
640
|
.ctrls__control--radio .ctrls__control-right {
|
|
599
641
|
display: grid;
|
|
600
642
|
grid-template-columns: 1fr 1fr 1fr;
|
|
@@ -609,13 +651,14 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
609
651
|
white-space: nowrap;
|
|
610
652
|
overflow: hidden;
|
|
611
653
|
text-overflow: ellipsis;
|
|
612
|
-
transition: color 250ms, background-color 250ms;
|
|
654
|
+
transition: color 250ms, border-color 250ms, background-color 250ms;
|
|
613
655
|
border-radius: var(--ctrls-radius);
|
|
614
656
|
border: 1px solid var(--ctrls-input-border);
|
|
615
657
|
background: var(--ctrls-btn-bg);
|
|
616
658
|
}
|
|
617
659
|
.ctrls__radio-label:focus-visible, .ctrls__radio-label:hover {
|
|
618
660
|
background: var(--ctrls-btn-hover-bg);
|
|
661
|
+
border-color: var(--ctrls-hover-border);
|
|
619
662
|
color: var(--ctrls-theme);
|
|
620
663
|
}
|
|
621
664
|
|
|
@@ -637,7 +680,6 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
637
680
|
outline-offset: 2px;
|
|
638
681
|
}
|
|
639
682
|
|
|
640
|
-
/* ----- Seed ----- */
|
|
641
683
|
.ctrls__control--seed .ctrls__control-right {
|
|
642
684
|
display: flex;
|
|
643
685
|
gap: 0.25rem;
|
|
@@ -665,7 +707,79 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
665
707
|
transform: rotate(0.5turn);
|
|
666
708
|
}
|
|
667
709
|
|
|
668
|
-
|
|
710
|
+
.ctrls__file-top {
|
|
711
|
+
display: flex;
|
|
712
|
+
gap: 0.25rem;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
.ctrls__file-input {
|
|
716
|
+
opacity: 0;
|
|
717
|
+
position: absolute;
|
|
718
|
+
left: -200vw;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
.ctrls__file-fake-input {
|
|
722
|
+
border-radius: var(--ctrls-radius);
|
|
723
|
+
flex-grow: 1;
|
|
724
|
+
font-weight: 700;
|
|
725
|
+
color: var(--ctrls-text-muted);
|
|
726
|
+
display: grid;
|
|
727
|
+
place-items: center;
|
|
728
|
+
line-height: 1;
|
|
729
|
+
}
|
|
730
|
+
.ctrls__file-fake-input span {
|
|
731
|
+
display: block;
|
|
732
|
+
font-weight: normal;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
.ctrls__file-input:focus-visible + .ctrls__file-fake-input {
|
|
736
|
+
outline: 2px solid var(--ctrls-theme);
|
|
737
|
+
outline-offset: 2px;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
.ctrls__file-clear {
|
|
741
|
+
padding: 0 0.375rem;
|
|
742
|
+
flex-shrink: 0;
|
|
743
|
+
}
|
|
744
|
+
.ctrls__file-clear path {
|
|
745
|
+
transition: transform 250ms;
|
|
746
|
+
}
|
|
747
|
+
.ctrls__file-clear:hover path:nth-child(2),
|
|
748
|
+
.ctrls__file-clear:hover path:nth-child(3), .ctrls__file-clear:focus-visible path:nth-child(2),
|
|
749
|
+
.ctrls__file-clear:focus-visible path:nth-child(3) {
|
|
750
|
+
transform-origin: center;
|
|
751
|
+
transform: translateY(-0.25rem);
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
.ctrls__file-preview-item {
|
|
755
|
+
padding: 0.25rem 0.5rem;
|
|
756
|
+
background: var(--ctrls-btn-bg);
|
|
757
|
+
border: 1px solid var(--ctrls-input-border);
|
|
758
|
+
border-radius: var(--ctrls-radius);
|
|
759
|
+
color: var(--ctrls-text-muted);
|
|
760
|
+
font-weight: 700;
|
|
761
|
+
margin-top: 0.25rem;
|
|
762
|
+
display: grid;
|
|
763
|
+
place-items: center;
|
|
764
|
+
text-align: center;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
.ctrls__file-image {
|
|
768
|
+
max-height: 8rem;
|
|
769
|
+
max-width: 8rem;
|
|
770
|
+
border-radius: max(2px, var(--ctrls-radius) - 4px);
|
|
771
|
+
margin-block: 0.25rem;
|
|
772
|
+
outline-offset: -1px;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
.ctrls__file-label {
|
|
776
|
+
display: block;
|
|
777
|
+
text-overflow: ellipsis;
|
|
778
|
+
white-space: nowrap;
|
|
779
|
+
overflow: hidden;
|
|
780
|
+
width: 100%;
|
|
781
|
+
}
|
|
782
|
+
|
|
669
783
|
.ctrls__easing-wrapper {
|
|
670
784
|
padding: 0.5rem;
|
|
671
785
|
border: 1px solid var(--ctrls-input-border);
|
|
@@ -727,10 +841,11 @@ label:hover .ctrls__boolean-input:not(:checked) + .ctrls__boolean-checkmark {
|
|
|
727
841
|
border-radius: var(--ctrls-radius);
|
|
728
842
|
background: var(--ctrls-btn-bg);
|
|
729
843
|
padding: 0.25rem;
|
|
730
|
-
transition: color 250ms, background-color 250ms;
|
|
844
|
+
transition: color 250ms, border-color 250ms, background-color 250ms;
|
|
731
845
|
}
|
|
732
846
|
.ctrls__easing-buttons button:focus-visible, .ctrls__easing-buttons button:hover {
|
|
733
847
|
background: var(--ctrls-btn-hover-bg);
|
|
848
|
+
border-color: var(--ctrls-hover-border);
|
|
734
849
|
color: var(--ctrls-theme);
|
|
735
850
|
}
|
|
736
851
|
|
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;EACE;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAGF;AAAA;AAAA;EAEE;EACA;;AAKF;AAAA;EACE;EACA;EACA;;AAGF;AAAA;EACE;EACA;;;AAIJ;EACE;;;AAKA;AAAA;EACE;;;AAMJ;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;;;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;;;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.1",
|
|
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",
|