@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/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.95 0.01 var(--ctrls-h) / 0.5);
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.3;
222
- --ctrls-theme-oklch: 0.6 calc(var(--ctrls-c) - 0.1) var(--ctrls-h);
223
- --ctrls-theme: oklch(0.6 calc(var(--ctrls-c) - 0.1) var(--ctrls-h));
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.3;
247
- --ctrls-theme-oklch: 0.6 calc(var(--ctrls-c) - 0.1) var(--ctrls-h);
248
- --ctrls-theme: oklch(0.6 calc(var(--ctrls-c) - 0.1) var(--ctrls-h));
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
- .ctrls__group-title,
305
- .ctrls__title {
311
+ .ctrls__title,
312
+ .ctrls__group-title {
306
313
  background: none;
307
314
  border: none;
308
- display: block;
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.375rem 0.5rem;
321
+ padding: 0.25rem 0.5rem;
313
322
  cursor: pointer;
314
323
  transition: color 300ms, background-color 300ms;
315
324
  }
316
- .ctrls__group-title:focus-visible, .ctrls__group-title:hover,
317
- .ctrls__title:focus-visible,
318
- .ctrls__title:hover {
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-btn-hover-bg);
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
- .ctrls--hidden .ctrls__title {
337
- border-block-end: none;
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.75rem;
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.75rem;
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
- /* ----- Easing ----- */
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
 
@@ -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;;;AA+CF;EACE;IA3CA;IAEA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IAGA;IAGA;IACA;IACA;IAGA;IACA;IAGA;IAGA;IAEA;IAGA;IAGA;AAAA;AAAA;;;AAWF;EAhDE;EAEA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EAGA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EAEA;EAGA;EAGA;AAAA;AAAA;;;AAiBF;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;;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAGF;AAAA;AAAA;EAEE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;;AAGF;EAEE;;AAGF;EACE;EACA;EACA,YACE;;AAIJ;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;;AAOA;EACE;;AAGF;AAAA;AAAA;EAEE;;;AAKN;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAEA;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;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;;;AAGF;AAEA;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;;;AAGF;AAEA;EAIE;;AAEA;EACE;;AAPJ;EAUE;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACE;;;AAIJ;AAEA;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAEF;EACA;EACA;;AAEA;EAEE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;AAEA;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;AAIE;EACE;;;AAKN;AAEA;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;;AAGF;EAEE;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"}
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"}
@@ -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>";
@@ -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>`;
@@ -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.4",
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.0",
23
+ "marked": "^17.0.1",
24
24
  "marked-highlight": "^2.2.3",
25
- "sass": "^1.94.0",
25
+ "sass": "^1.94.2",
26
26
  "simplex-noise": "^4.0.3",
27
27
  "typescript": "~5.9.3",
28
- "vite": "^7.2.2",
29
- "vitest": "^4.0.10"
28
+ "vite": "^7.2.4",
29
+ "vitest": "^4.0.13"
30
30
  },
31
31
  "dependencies": {
32
32
  "@stanko/dual-range-input": "^1.0.1",