unipo-ui 0.1.0 → 1.0.2

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "1.0.2",
3
3
  "versions": {
4
4
  "sass": "1.108.2",
5
5
  "tsup": "8.5.1",
@@ -14,7 +14,7 @@
14
14
  "@base-ui/react": "1.9.0",
15
15
  "lucide-react": "1.73.0",
16
16
  "country-flag-icons": "1.6.20",
17
- "unipo-ui-tokens": "0.1.0"
17
+ "unipo-ui-tokens": "1.0.2"
18
18
  },
19
19
  "files": {
20
20
  "components/actions.tsx": {
@@ -89,9 +89,38 @@
89
89
  > svg {
90
90
  width: 1.125rem;
91
91
  height: 1.125rem;
92
- margin-top: 0.0625rem;
92
+ // Tengah baris pertama (judul 1.4 × text-base, atau deskripsi 1.5 × text-sm bila tanpa judul).
93
+ margin-top: calc((var(--u-text-base) * 1.4 - 1.125rem) / 2);
93
94
  color: var(--u-alert-accent);
94
95
  }
96
+ // Teks di dalam alert kebal terhadap margin CSS halaman (mis. `.prose p { margin: 1em 0 }` di artikel/markdown),
97
+ // supaya ikon tetap sejajar judul dan jarak atas = jarak bawah.
98
+ .u-alert-title {
99
+ margin: 0;
100
+ }
101
+ .u-alert-description {
102
+ margin: 0;
103
+ // Ukuran dan tinggi baris milik alert, bukan milik pembungkus dari halaman (mis. hasil markdown).
104
+ :where(div, p, ul, ol, li) {
105
+ font-size: inherit;
106
+ line-height: inherit;
107
+ }
108
+ :first-child {
109
+ margin-top: 0;
110
+ }
111
+ :last-child {
112
+ margin-bottom: 0;
113
+ }
114
+ :where(p, ul, ol) {
115
+ margin-block: 0.375rem;
116
+ }
117
+ }
118
+ .u-alert-title + .u-alert-description {
119
+ margin-top: 0.125rem;
120
+ }
121
+ &:not(:has(.u-alert-title)) > svg {
122
+ margin-top: calc((var(--u-text-sm) * 1.5 - 1.125rem) / 2);
123
+ }
95
124
  &[data-variant='info'] {
96
125
  --u-alert-accent: var(--u-info);
97
126
  background: var(--u-info-soft);
@@ -591,14 +620,18 @@
591
620
  height: 1.25rem;
592
621
  }
593
622
  }
594
- .u-empty-title {
623
+ .u-empty .u-empty-title {
595
624
  margin: 0;
625
+ }
626
+ .u-empty-title {
596
627
  font-size: var(--u-text-md);
597
628
  font-weight: 600;
598
629
  }
630
+ .u-empty .u-empty-description {
631
+ margin: 0;
632
+ }
599
633
  .u-empty-description {
600
634
  max-width: 24rem;
601
- margin: 0;
602
635
  color: var(--u-muted-foreground);
603
636
  font-size: var(--u-text-sm);
604
637
  line-height: 1.5;
@@ -56,16 +56,20 @@
56
56
  flex: 1;
57
57
  min-width: 0;
58
58
  }
59
- .u-status-banner-title {
59
+ .u-status-banner .u-status-banner-title {
60
60
  margin: 0;
61
+ }
62
+ .u-status-banner-title {
61
63
  font-family: var(--u-font-heading, var(--u-font-sans));
62
64
  font-size: 1.1875rem;
63
65
  font-weight: 700;
64
66
  letter-spacing: -0.01em;
65
67
  line-height: 1.3;
66
68
  }
67
- .u-status-banner-note {
69
+ .u-status-banner .u-status-banner-note {
68
70
  margin: 0.125rem 0 0;
71
+ }
72
+ .u-status-banner-note {
69
73
  color: color-mix(in oklab, white 82%, transparent);
70
74
  font-size: var(--u-text-sm);
71
75
  font-variant-numeric: tabular-nums;
@@ -31,14 +31,18 @@
31
31
  display: none;
32
32
  }
33
33
  }
34
- .u-wizard-intro-title {
34
+ .u-wizard .u-wizard-intro-title {
35
35
  margin: 0;
36
+ }
37
+ .u-wizard-intro-title {
36
38
  font-family: var(--u-font-heading);
37
39
  font-weight: var(--u-weight-semibold);
38
40
  font-size: 1rem;
39
41
  }
40
- .u-wizard-intro-desc {
42
+ .u-wizard .u-wizard-intro-desc {
41
43
  margin: 0.25rem 0 0;
44
+ }
45
+ .u-wizard-intro-desc {
42
46
  font-size: var(--u-text-sm);
43
47
  color: var(--u-muted-foreground);
44
48
  line-height: 1.5;
package/dist/ui-unipo.css CHANGED
@@ -2201,9 +2201,34 @@
2201
2201
  .u-alert > svg {
2202
2202
  width: 1.125rem;
2203
2203
  height: 1.125rem;
2204
- margin-top: 0.0625rem;
2204
+ margin-top: calc((var(--u-text-base) * 1.4 - 1.125rem) / 2);
2205
2205
  color: var(--u-alert-accent);
2206
2206
  }
2207
+ .u-alert .u-alert-title {
2208
+ margin: 0;
2209
+ }
2210
+ .u-alert .u-alert-description {
2211
+ margin: 0;
2212
+ }
2213
+ .u-alert .u-alert-description :where(div, p, ul, ol, li) {
2214
+ font-size: inherit;
2215
+ line-height: inherit;
2216
+ }
2217
+ .u-alert .u-alert-description :first-child {
2218
+ margin-top: 0;
2219
+ }
2220
+ .u-alert .u-alert-description :last-child {
2221
+ margin-bottom: 0;
2222
+ }
2223
+ .u-alert .u-alert-description :where(p, ul, ol) {
2224
+ margin-block: 0.375rem;
2225
+ }
2226
+ .u-alert .u-alert-title + .u-alert-description {
2227
+ margin-top: 0.125rem;
2228
+ }
2229
+ .u-alert:not(:has(.u-alert-title)) > svg {
2230
+ margin-top: calc((var(--u-text-sm) * 1.5 - 1.125rem) / 2);
2231
+ }
2207
2232
  .u-alert[data-variant=info] {
2208
2233
  --u-alert-accent: var(--u-info);
2209
2234
  background: var(--u-info-soft);
@@ -2728,15 +2753,21 @@
2728
2753
  height: 1.25rem;
2729
2754
  }
2730
2755
 
2731
- .u-empty-title {
2756
+ .u-empty .u-empty-title {
2732
2757
  margin: 0;
2758
+ }
2759
+
2760
+ .u-empty-title {
2733
2761
  font-size: var(--u-text-md);
2734
2762
  font-weight: 600;
2735
2763
  }
2736
2764
 
2765
+ .u-empty .u-empty-description {
2766
+ margin: 0;
2767
+ }
2768
+
2737
2769
  .u-empty-description {
2738
2770
  max-width: 24rem;
2739
- margin: 0;
2740
2771
  color: var(--u-muted-foreground);
2741
2772
  font-size: var(--u-text-sm);
2742
2773
  line-height: 1.5;
@@ -5691,8 +5722,11 @@ button.u-step-marker:focus-visible {
5691
5722
  min-width: 0;
5692
5723
  }
5693
5724
 
5694
- .u-status-banner-title {
5725
+ .u-status-banner .u-status-banner-title {
5695
5726
  margin: 0;
5727
+ }
5728
+
5729
+ .u-status-banner-title {
5696
5730
  font-family: var(--u-font-heading, var(--u-font-sans));
5697
5731
  font-size: 1.1875rem;
5698
5732
  font-weight: 700;
@@ -5700,8 +5734,11 @@ button.u-step-marker:focus-visible {
5700
5734
  line-height: 1.3;
5701
5735
  }
5702
5736
 
5703
- .u-status-banner-note {
5737
+ .u-status-banner .u-status-banner-note {
5704
5738
  margin: 0.125rem 0 0;
5739
+ }
5740
+
5741
+ .u-status-banner-note {
5705
5742
  color: color-mix(in oklab, white 82%, transparent);
5706
5743
  font-size: var(--u-text-sm);
5707
5744
  font-variant-numeric: tabular-nums;
@@ -7242,15 +7279,21 @@ button.u-step-marker:focus-visible {
7242
7279
  display: none;
7243
7280
  }
7244
7281
  }
7245
- .u-wizard-intro-title {
7282
+ .u-wizard .u-wizard-intro-title {
7246
7283
  margin: 0;
7284
+ }
7285
+
7286
+ .u-wizard-intro-title {
7247
7287
  font-family: var(--u-font-heading);
7248
7288
  font-weight: var(--u-weight-semibold);
7249
7289
  font-size: 1rem;
7250
7290
  }
7251
7291
 
7252
- .u-wizard-intro-desc {
7292
+ .u-wizard .u-wizard-intro-desc {
7253
7293
  margin: 0.25rem 0 0;
7294
+ }
7295
+
7296
+ .u-wizard-intro-desc {
7254
7297
  font-size: var(--u-text-sm);
7255
7298
  color: var(--u-muted-foreground);
7256
7299
  line-height: 1.5;