@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/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,60 @@
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 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: block;
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.375rem 0.5rem;
327
+ padding: 0.25rem 0.5rem;
313
328
  cursor: pointer;
314
329
  transition: color 300ms, background-color 300ms;
315
330
  }
316
- .ctrls__group-title:focus-visible, .ctrls__group-title:hover,
317
- .ctrls__title:focus-visible,
318
- .ctrls__title:hover {
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-btn-hover-bg);
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
- .ctrls--hidden .ctrls__title {
337
- border-block-end: none;
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.75rem;
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.75rem;
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
- /* ----- Easing ----- */
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
 
@@ -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;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"}
@@ -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.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.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",