@jjlmoya/utils-diy 1.17.0 → 1.19.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-diy",
3
- "version": "1.17.0",
3
+ "version": "1.19.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -1,13 +1,23 @@
1
- .ec-root {
1
+ .ec-root {
2
+ box-sizing: border-box;
2
3
  width: 100%;
3
4
  max-width: 72rem;
4
5
  margin: 0 auto;
6
+ container-type: inline-size;
7
+ overflow-x: clip;
8
+ }
9
+
10
+ .ec-root *,
11
+ .ec-root *::before,
12
+ .ec-root *::after {
13
+ box-sizing: border-box;
5
14
  }
6
15
 
7
16
  .ec-grid {
8
17
  display: grid;
9
18
  grid-template-columns: 1fr;
10
19
  gap: 2rem;
20
+ min-width: 0;
11
21
  }
12
22
 
13
23
  @media (min-width: 1024px) {
@@ -17,6 +27,7 @@
17
27
  }
18
28
 
19
29
  .ec-panel-left {
30
+ min-width: 0;
20
31
  background: rgba(255, 255, 255, 0.7);
21
32
  backdrop-filter: blur(12px);
22
33
  border: 1px solid rgba(255, 255, 255, 0.4);
@@ -34,6 +45,8 @@
34
45
  background: rgba(241, 245, 249, 0.5);
35
46
  padding: 0.375rem;
36
47
  border-radius: 1rem;
48
+ max-width: 100%;
49
+ min-width: 0;
37
50
  }
38
51
 
39
52
  .ec-tab-btn {
@@ -52,6 +65,7 @@
52
65
  justify-content: center;
53
66
  gap: 0.5rem;
54
67
  transition: all 0.2s;
68
+ overflow: hidden;
55
69
  }
56
70
 
57
71
  .ec-tab-btn[data-ec-active="true"] {
@@ -215,6 +229,7 @@
215
229
  display: flex;
216
230
  align-items: center;
217
231
  gap: 0.75rem;
232
+ min-width: 0;
218
233
  }
219
234
 
220
235
  .ec-waste-icon {
@@ -289,6 +304,7 @@
289
304
  display: flex;
290
305
  flex-direction: column;
291
306
  gap: 1.5rem;
307
+ min-width: 0;
292
308
  }
293
309
 
294
310
  .ec-result-card {
@@ -572,28 +588,42 @@
572
588
  }
573
589
 
574
590
  @media (max-width: 640px) {
591
+ .ec-root {
592
+ max-width: 100%;
593
+ }
594
+
575
595
  .ec-grid {
576
596
  gap: 1rem;
597
+ min-width: 0;
577
598
  }
578
599
 
579
600
  .ec-panel-left,
580
601
  .ec-result-inner,
581
602
  .ec-viz-card {
582
- padding: 1rem;
603
+ padding: 0.875rem;
583
604
  border-radius: 1rem;
605
+ min-width: 0;
584
606
  }
585
607
 
586
608
  .ec-tabs {
587
- overflow-x: auto;
588
- scroll-snap-type: x mandatory;
609
+ display: grid;
610
+ grid-template-columns: repeat(3, minmax(0, 1fr));
611
+ gap: 0.25rem;
612
+ overflow: hidden;
589
613
  }
590
614
 
591
615
  .ec-tab-btn {
592
- flex: 0 0 auto;
593
- min-width: 7.5rem;
594
- padding: 0.625rem 0.75rem;
595
- scroll-snap-align: start;
596
- white-space: nowrap;
616
+ min-width: 0;
617
+ padding: 0.55rem 0.35rem;
618
+ font-size: 0.75rem;
619
+ line-height: 1.15;
620
+ white-space: normal;
621
+ overflow-wrap: anywhere;
622
+ }
623
+
624
+ .ec-tab-icon {
625
+ flex-shrink: 0;
626
+ font-size: 1rem;
597
627
  }
598
628
 
599
629
  .ec-inputs-grid,
@@ -610,6 +640,14 @@
610
640
 
611
641
  .ec-waste-row {
612
642
  gap: 1rem;
643
+ padding: 0.875rem;
644
+ overflow: hidden;
645
+ }
646
+
647
+ .ec-waste-title,
648
+ .ec-waste-desc,
649
+ .ec-custom-check-row span {
650
+ overflow-wrap: anywhere;
613
651
  }
614
652
 
615
653
  .ec-result-inner {
@@ -647,3 +685,64 @@
647
685
  width: 5rem;
648
686
  }
649
687
  }
688
+
689
+ @media (max-width: 380px) {
690
+ .ec-tab-btn {
691
+ flex-direction: column;
692
+ gap: 0.25rem;
693
+ min-height: 3.15rem;
694
+ }
695
+ }
696
+
697
+ @container (max-width: 720px) {
698
+ .ec-grid {
699
+ gap: 1rem;
700
+ }
701
+
702
+ .ec-panel-left,
703
+ .ec-result-inner,
704
+ .ec-viz-card {
705
+ min-width: 0;
706
+ padding: 0.875rem;
707
+ border-radius: 1rem;
708
+ }
709
+
710
+ .ec-tabs {
711
+ display: grid;
712
+ grid-template-columns: repeat(3, minmax(0, 1fr));
713
+ gap: 0.25rem;
714
+ overflow: hidden;
715
+ }
716
+
717
+ .ec-tab-btn {
718
+ min-width: 0;
719
+ padding: 0.55rem 0.35rem;
720
+ font-size: 0.75rem;
721
+ line-height: 1.15;
722
+ white-space: normal;
723
+ overflow-wrap: anywhere;
724
+ }
725
+
726
+ .ec-tab-icon {
727
+ flex-shrink: 0;
728
+ font-size: 1rem;
729
+ }
730
+
731
+ .ec-inputs-grid,
732
+ .ec-custom-grid,
733
+ .ec-parts-grid {
734
+ grid-template-columns: minmax(0, 1fr);
735
+ gap: 1rem;
736
+ }
737
+
738
+ .ec-waste-row {
739
+ gap: 1rem;
740
+ align-items: flex-start;
741
+ padding: 0.875rem;
742
+ overflow: hidden;
743
+ }
744
+
745
+ .ec-waste-info {
746
+ align-items: flex-start;
747
+ }
748
+ }
@@ -1,7 +1,9 @@
1
1
  .pp-root {
2
+ box-sizing: border-box;
2
3
  width: 100%;
3
4
  max-width: 1100px;
4
5
  margin: 0 auto;
6
+ container-type: inline-size;
5
7
  background: #fff;
6
8
  border: 1px solid #e2e8f0;
7
9
  border-radius: 1.5rem;
@@ -9,6 +11,12 @@
9
11
  overflow: hidden;
10
12
  }
11
13
 
14
+ .pp-root *,
15
+ .pp-root *::before,
16
+ .pp-root *::after {
17
+ box-sizing: border-box;
18
+ }
19
+
12
20
  .theme-dark .pp-root {
13
21
  background: #1e1e2e;
14
22
  border-color: #2d2d3f;
@@ -18,6 +26,7 @@
18
26
  .pp-grid {
19
27
  display: grid;
20
28
  grid-template-columns: 1fr;
29
+ min-width: 0;
21
30
  }
22
31
 
23
32
  @media (min-width: 1024px) {
@@ -27,6 +36,7 @@
27
36
  }
28
37
 
29
38
  .pp-inputs {
39
+ min-width: 0;
30
40
  padding: 2rem;
31
41
  background: #f8fafc;
32
42
  display: flex;
@@ -564,11 +574,11 @@
564
574
 
565
575
  .pp-preview {
566
576
  min-height: 360px;
567
- padding: 3.25rem 2rem;
577
+ padding: 3.25rem 1rem;
568
578
  }
569
579
 
570
580
  .pp-frame-wrapper {
571
- width: min(100%, 74vw);
581
+ width: min(100%, 76vw);
572
582
  max-height: 320px;
573
583
  }
574
584
 
@@ -577,11 +587,17 @@
577
587
  }
578
588
 
579
589
  .pp-border-left {
580
- padding-right: 0.5rem;
590
+ left: 0.35rem;
591
+ align-items: flex-start;
592
+ padding-right: 0;
593
+ transform: translateY(-50%);
581
594
  }
582
595
 
583
596
  .pp-border-right {
584
- padding-left: 0.5rem;
597
+ right: 0.35rem;
598
+ align-items: flex-end;
599
+ padding-left: 0;
600
+ transform: translateY(-50%);
585
601
  }
586
602
 
587
603
  .pp-border-val {
@@ -590,6 +606,14 @@
590
606
 
591
607
  .pp-border-tag {
592
608
  font-size: 0.55rem;
609
+ letter-spacing: 0.04em;
610
+ max-width: 2.75rem;
611
+ overflow-wrap: anywhere;
612
+ text-align: inherit;
613
+ }
614
+
615
+ .pp-border-unit {
616
+ font-size: 0.55rem;
593
617
  }
594
618
 
595
619
  .pp-art-placeholder {
@@ -602,11 +626,78 @@
602
626
 
603
627
  @media (max-width: 380px) {
604
628
  .pp-preview {
605
- padding-right: 1.5rem;
606
- padding-left: 1.5rem;
629
+ padding-right: 0.75rem;
630
+ padding-left: 0.75rem;
607
631
  }
608
632
 
609
633
  .pp-frame-wrapper {
610
- width: min(100%, 68vw);
634
+ width: min(100%, 70vw);
635
+ }
636
+ }
637
+
638
+ @container (max-width: 720px) {
639
+ .pp-root {
640
+ border-radius: 0.875rem;
641
+ }
642
+
643
+ .pp-inputs {
644
+ padding: 1rem;
645
+ gap: 1.25rem;
646
+ border-right: 0;
647
+ border-bottom: 1px solid #e2e8f0;
648
+ }
649
+
650
+ .theme-dark .pp-inputs {
651
+ border-bottom-color: #2d2d3f;
652
+ }
653
+
654
+ .pp-row {
655
+ grid-template-columns: minmax(0, 1fr);
656
+ gap: 0.75rem;
657
+ }
658
+
659
+ .pp-toggle-label {
660
+ align-items: flex-start;
661
+ }
662
+
663
+ .pp-preview {
664
+ min-height: 360px;
665
+ padding: 3.25rem 1rem;
666
+ overflow: hidden;
667
+ }
668
+
669
+ .pp-frame-wrapper {
670
+ width: min(100%, 76%);
671
+ max-height: 320px;
672
+ }
673
+
674
+ .pp-border-left {
675
+ left: 0.35rem;
676
+ align-items: flex-start;
677
+ padding-right: 0;
678
+ transform: translateY(-50%);
679
+ }
680
+
681
+ .pp-border-right {
682
+ right: 0.35rem;
683
+ align-items: flex-end;
684
+ padding-left: 0;
685
+ transform: translateY(-50%);
686
+ }
687
+
688
+ .pp-border-val {
689
+ font-size: 0.95rem;
690
+ }
691
+
692
+ .pp-border-tag,
693
+ .pp-border-unit {
694
+ font-size: 0.55rem;
695
+ }
696
+
697
+ .pp-border-tag {
698
+ letter-spacing: 0.04em;
699
+ max-width: 2.75rem;
700
+ overflow-wrap: anywhere;
701
+ text-align: inherit;
611
702
  }
612
703
  }
@@ -22,21 +22,33 @@
22
22
  }
23
23
 
24
24
  .sc-root {
25
+ box-sizing: border-box;
25
26
  width: 100%;
26
27
  max-width: 1100px;
27
28
  margin: 1.5rem auto;
28
29
  padding: 0 1rem;
29
30
  color: var(--sc-neutral);
31
+ container-type: inline-size;
32
+ overflow-x: clip;
33
+ }
34
+
35
+ .sc-root *,
36
+ .sc-root *::before,
37
+ .sc-root *::after {
38
+ box-sizing: border-box;
30
39
  }
31
40
 
32
41
  .sc-card {
42
+ width: 100%;
43
+ max-width: 100%;
33
44
  background: var(--sc-bg);
34
45
  border-radius: 2rem;
35
46
  overflow: hidden;
36
47
  display: grid;
37
- grid-template-columns: 350px 1fr;
48
+ grid-template-columns: minmax(0, 350px) minmax(0, 1fr);
38
49
  box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1);
39
50
  border: 1px solid var(--sc-border);
51
+ min-width: 0;
40
52
  }
41
53
 
42
54
  .sc-sidebar {
@@ -46,6 +58,7 @@
46
58
  display: flex;
47
59
  flex-direction: column;
48
60
  gap: 1rem;
61
+ min-width: 0;
49
62
  }
50
63
 
51
64
  .sc-section h3 {
@@ -63,6 +76,7 @@
63
76
  flex-direction: column;
64
77
  gap: 1.5rem;
65
78
  background: var(--sc-bg);
79
+ min-width: 0;
66
80
  }
67
81
 
68
82
  .sc-results-header {
@@ -135,6 +149,7 @@
135
149
 
136
150
  .sc-input-group {
137
151
  margin-bottom: 0.75rem;
152
+ min-width: 0;
138
153
  }
139
154
 
140
155
  .sc-input-group label {
@@ -211,6 +226,7 @@
211
226
 
212
227
  .sc-select {
213
228
  width: 100%;
229
+ box-sizing: border-box;
214
230
  padding: 0.8rem 2.8rem 0.8rem 1rem;
215
231
  border-radius: 1rem;
216
232
  border: 2px solid var(--sc-border);
@@ -245,6 +261,7 @@
245
261
 
246
262
  .sc-optimize-btn {
247
263
  width: 100%;
264
+ box-sizing: border-box;
248
265
  padding: 0.75rem;
249
266
  background: var(--sc-primary-dark);
250
267
  color: white;
@@ -528,7 +545,7 @@
528
545
  }
529
546
 
530
547
  #sc-stair-svg {
531
- min-width: 360px;
548
+ min-width: 0;
532
549
  }
533
550
 
534
551
  .sc-table-card,
@@ -547,3 +564,58 @@
547
564
  font-size: 1rem;
548
565
  }
549
566
  }
567
+
568
+ @container (max-width: 720px) {
569
+ .sc-root {
570
+ padding: 0;
571
+ }
572
+
573
+ .sc-card {
574
+ grid-template-columns: minmax(0, 1fr);
575
+ border-radius: 1rem;
576
+ max-width: 100%;
577
+ }
578
+
579
+ .sc-sidebar {
580
+ border-right: 0;
581
+ border-bottom: 1px solid var(--sc-border);
582
+ padding: 1rem;
583
+ }
584
+
585
+ .sc-main {
586
+ padding: 1rem;
587
+ }
588
+
589
+ .sc-results-header,
590
+ .sc-bottom-grid,
591
+ .sc-input-grid {
592
+ grid-template-columns: minmax(0, 1fr);
593
+ }
594
+
595
+ .sc-stepper,
596
+ .sc-select,
597
+ .sc-optimize-btn {
598
+ max-width: 100%;
599
+ }
600
+
601
+ .sc-step-btn {
602
+ width: 38px;
603
+ height: 38px;
604
+ }
605
+
606
+ .sc-stepper input {
607
+ height: 38px;
608
+ font-size: 1rem;
609
+ }
610
+
611
+ .sc-visualizer-container {
612
+ min-height: 210px;
613
+ padding: 0.5rem;
614
+ border-radius: 1rem;
615
+ }
616
+
617
+ #sc-stair-svg {
618
+ min-width: 0;
619
+ max-width: 100%;
620
+ }
621
+ }