@womp/kookie-ui 0.27.1 → 0.28.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/components.css CHANGED
@@ -4601,7 +4601,7 @@
4601
4601
  --base-menu-font-size: var(--font-size-1);
4602
4602
  --base-menu-line-height: var(--line-height-1);
4603
4603
  --base-menu-letter-spacing: var(--letter-spacing-1);
4604
- border-radius: var(--radius-surface-1);
4604
+ border-radius: var(--radius-panel-1);
4605
4605
  }
4606
4606
  .kui-BaseMenuContent:where(.kui-r-size-2) {
4607
4607
  --base-menu-content-padding: var(--panel-p-2);
@@ -4615,7 +4615,7 @@
4615
4615
  --base-menu-font-size: var(--font-size-2);
4616
4616
  --base-menu-line-height: var(--line-height-2);
4617
4617
  --base-menu-letter-spacing: var(--letter-spacing-2);
4618
- border-radius: var(--radius-surface-2);
4618
+ border-radius: var(--radius-panel-2);
4619
4619
  }
4620
4620
  .kui-BaseMenuContent:where(.kui-r-size-3) {
4621
4621
  --base-menu-content-padding: var(--panel-p-3);
@@ -4629,7 +4629,7 @@
4629
4629
  --base-menu-font-size: var(--font-size-3);
4630
4630
  --base-menu-line-height: var(--line-height-3);
4631
4631
  --base-menu-letter-spacing: var(--letter-spacing-3);
4632
- border-radius: var(--radius-surface-3);
4632
+ border-radius: var(--radius-panel-3);
4633
4633
  }
4634
4634
  .kui-BaseMenuContent:where(.kui-r-size-4) {
4635
4635
  --base-menu-content-padding: var(--panel-p-4);
@@ -4643,7 +4643,7 @@
4643
4643
  --base-menu-font-size: var(--font-size-4);
4644
4644
  --base-menu-line-height: var(--line-height-4);
4645
4645
  --base-menu-letter-spacing: var(--letter-spacing-4);
4646
- border-radius: var(--radius-surface-4);
4646
+ border-radius: var(--radius-panel-4);
4647
4647
  }
4648
4648
  @media (min-width: 520px) {
4649
4649
  .kui-BaseMenuContent:where(.xs\:kui-r-size-1) {
@@ -4658,7 +4658,7 @@
4658
4658
  --base-menu-font-size: var(--font-size-1);
4659
4659
  --base-menu-line-height: var(--line-height-1);
4660
4660
  --base-menu-letter-spacing: var(--letter-spacing-1);
4661
- border-radius: var(--radius-surface-1);
4661
+ border-radius: var(--radius-panel-1);
4662
4662
  }
4663
4663
  .kui-BaseMenuContent:where(.xs\:kui-r-size-2) {
4664
4664
  --base-menu-content-padding: var(--panel-p-2);
@@ -4672,7 +4672,7 @@
4672
4672
  --base-menu-font-size: var(--font-size-2);
4673
4673
  --base-menu-line-height: var(--line-height-2);
4674
4674
  --base-menu-letter-spacing: var(--letter-spacing-2);
4675
- border-radius: var(--radius-surface-2);
4675
+ border-radius: var(--radius-panel-2);
4676
4676
  }
4677
4677
  .kui-BaseMenuContent:where(.xs\:kui-r-size-3) {
4678
4678
  --base-menu-content-padding: var(--panel-p-3);
@@ -4686,7 +4686,7 @@
4686
4686
  --base-menu-font-size: var(--font-size-3);
4687
4687
  --base-menu-line-height: var(--line-height-3);
4688
4688
  --base-menu-letter-spacing: var(--letter-spacing-3);
4689
- border-radius: var(--radius-surface-3);
4689
+ border-radius: var(--radius-panel-3);
4690
4690
  }
4691
4691
  .kui-BaseMenuContent:where(.xs\:kui-r-size-4) {
4692
4692
  --base-menu-content-padding: var(--panel-p-4);
@@ -4700,7 +4700,7 @@
4700
4700
  --base-menu-font-size: var(--font-size-4);
4701
4701
  --base-menu-line-height: var(--line-height-4);
4702
4702
  --base-menu-letter-spacing: var(--letter-spacing-4);
4703
- border-radius: var(--radius-surface-4);
4703
+ border-radius: var(--radius-panel-4);
4704
4704
  }
4705
4705
  }
4706
4706
  @media (min-width: 768px) {
@@ -4716,7 +4716,7 @@
4716
4716
  --base-menu-font-size: var(--font-size-1);
4717
4717
  --base-menu-line-height: var(--line-height-1);
4718
4718
  --base-menu-letter-spacing: var(--letter-spacing-1);
4719
- border-radius: var(--radius-surface-1);
4719
+ border-radius: var(--radius-panel-1);
4720
4720
  }
4721
4721
  .kui-BaseMenuContent:where(.sm\:kui-r-size-2) {
4722
4722
  --base-menu-content-padding: var(--panel-p-2);
@@ -4730,7 +4730,7 @@
4730
4730
  --base-menu-font-size: var(--font-size-2);
4731
4731
  --base-menu-line-height: var(--line-height-2);
4732
4732
  --base-menu-letter-spacing: var(--letter-spacing-2);
4733
- border-radius: var(--radius-surface-2);
4733
+ border-radius: var(--radius-panel-2);
4734
4734
  }
4735
4735
  .kui-BaseMenuContent:where(.sm\:kui-r-size-3) {
4736
4736
  --base-menu-content-padding: var(--panel-p-3);
@@ -4744,7 +4744,7 @@
4744
4744
  --base-menu-font-size: var(--font-size-3);
4745
4745
  --base-menu-line-height: var(--line-height-3);
4746
4746
  --base-menu-letter-spacing: var(--letter-spacing-3);
4747
- border-radius: var(--radius-surface-3);
4747
+ border-radius: var(--radius-panel-3);
4748
4748
  }
4749
4749
  .kui-BaseMenuContent:where(.sm\:kui-r-size-4) {
4750
4750
  --base-menu-content-padding: var(--panel-p-4);
@@ -4758,7 +4758,7 @@
4758
4758
  --base-menu-font-size: var(--font-size-4);
4759
4759
  --base-menu-line-height: var(--line-height-4);
4760
4760
  --base-menu-letter-spacing: var(--letter-spacing-4);
4761
- border-radius: var(--radius-surface-4);
4761
+ border-radius: var(--radius-panel-4);
4762
4762
  }
4763
4763
  }
4764
4764
  @media (min-width: 1024px) {
@@ -4774,7 +4774,7 @@
4774
4774
  --base-menu-font-size: var(--font-size-1);
4775
4775
  --base-menu-line-height: var(--line-height-1);
4776
4776
  --base-menu-letter-spacing: var(--letter-spacing-1);
4777
- border-radius: var(--radius-surface-1);
4777
+ border-radius: var(--radius-panel-1);
4778
4778
  }
4779
4779
  .kui-BaseMenuContent:where(.md\:kui-r-size-2) {
4780
4780
  --base-menu-content-padding: var(--panel-p-2);
@@ -4788,7 +4788,7 @@
4788
4788
  --base-menu-font-size: var(--font-size-2);
4789
4789
  --base-menu-line-height: var(--line-height-2);
4790
4790
  --base-menu-letter-spacing: var(--letter-spacing-2);
4791
- border-radius: var(--radius-surface-2);
4791
+ border-radius: var(--radius-panel-2);
4792
4792
  }
4793
4793
  .kui-BaseMenuContent:where(.md\:kui-r-size-3) {
4794
4794
  --base-menu-content-padding: var(--panel-p-3);
@@ -4802,7 +4802,7 @@
4802
4802
  --base-menu-font-size: var(--font-size-3);
4803
4803
  --base-menu-line-height: var(--line-height-3);
4804
4804
  --base-menu-letter-spacing: var(--letter-spacing-3);
4805
- border-radius: var(--radius-surface-3);
4805
+ border-radius: var(--radius-panel-3);
4806
4806
  }
4807
4807
  .kui-BaseMenuContent:where(.md\:kui-r-size-4) {
4808
4808
  --base-menu-content-padding: var(--panel-p-4);
@@ -4816,7 +4816,7 @@
4816
4816
  --base-menu-font-size: var(--font-size-4);
4817
4817
  --base-menu-line-height: var(--line-height-4);
4818
4818
  --base-menu-letter-spacing: var(--letter-spacing-4);
4819
- border-radius: var(--radius-surface-4);
4819
+ border-radius: var(--radius-panel-4);
4820
4820
  }
4821
4821
  }
4822
4822
  @media (min-width: 1280px) {
@@ -4832,7 +4832,7 @@
4832
4832
  --base-menu-font-size: var(--font-size-1);
4833
4833
  --base-menu-line-height: var(--line-height-1);
4834
4834
  --base-menu-letter-spacing: var(--letter-spacing-1);
4835
- border-radius: var(--radius-surface-1);
4835
+ border-radius: var(--radius-panel-1);
4836
4836
  }
4837
4837
  .kui-BaseMenuContent:where(.lg\:kui-r-size-2) {
4838
4838
  --base-menu-content-padding: var(--panel-p-2);
@@ -4846,7 +4846,7 @@
4846
4846
  --base-menu-font-size: var(--font-size-2);
4847
4847
  --base-menu-line-height: var(--line-height-2);
4848
4848
  --base-menu-letter-spacing: var(--letter-spacing-2);
4849
- border-radius: var(--radius-surface-2);
4849
+ border-radius: var(--radius-panel-2);
4850
4850
  }
4851
4851
  .kui-BaseMenuContent:where(.lg\:kui-r-size-3) {
4852
4852
  --base-menu-content-padding: var(--panel-p-3);
@@ -4860,7 +4860,7 @@
4860
4860
  --base-menu-font-size: var(--font-size-3);
4861
4861
  --base-menu-line-height: var(--line-height-3);
4862
4862
  --base-menu-letter-spacing: var(--letter-spacing-3);
4863
- border-radius: var(--radius-surface-3);
4863
+ border-radius: var(--radius-panel-3);
4864
4864
  }
4865
4865
  .kui-BaseMenuContent:where(.lg\:kui-r-size-4) {
4866
4866
  --base-menu-content-padding: var(--panel-p-4);
@@ -4874,7 +4874,7 @@
4874
4874
  --base-menu-font-size: var(--font-size-4);
4875
4875
  --base-menu-line-height: var(--line-height-4);
4876
4876
  --base-menu-letter-spacing: var(--letter-spacing-4);
4877
- border-radius: var(--radius-surface-4);
4877
+ border-radius: var(--radius-panel-4);
4878
4878
  }
4879
4879
  }
4880
4880
  @media (min-width: 1640px) {
@@ -4890,7 +4890,7 @@
4890
4890
  --base-menu-font-size: var(--font-size-1);
4891
4891
  --base-menu-line-height: var(--line-height-1);
4892
4892
  --base-menu-letter-spacing: var(--letter-spacing-1);
4893
- border-radius: var(--radius-surface-1);
4893
+ border-radius: var(--radius-panel-1);
4894
4894
  }
4895
4895
  .kui-BaseMenuContent:where(.xl\:kui-r-size-2) {
4896
4896
  --base-menu-content-padding: var(--panel-p-2);
@@ -4904,7 +4904,7 @@
4904
4904
  --base-menu-font-size: var(--font-size-2);
4905
4905
  --base-menu-line-height: var(--line-height-2);
4906
4906
  --base-menu-letter-spacing: var(--letter-spacing-2);
4907
- border-radius: var(--radius-surface-2);
4907
+ border-radius: var(--radius-panel-2);
4908
4908
  }
4909
4909
  .kui-BaseMenuContent:where(.xl\:kui-r-size-3) {
4910
4910
  --base-menu-content-padding: var(--panel-p-3);
@@ -4918,7 +4918,7 @@
4918
4918
  --base-menu-font-size: var(--font-size-3);
4919
4919
  --base-menu-line-height: var(--line-height-3);
4920
4920
  --base-menu-letter-spacing: var(--letter-spacing-3);
4921
- border-radius: var(--radius-surface-3);
4921
+ border-radius: var(--radius-panel-3);
4922
4922
  }
4923
4923
  .kui-BaseMenuContent:where(.xl\:kui-r-size-4) {
4924
4924
  --base-menu-content-padding: var(--panel-p-4);
@@ -4932,7 +4932,7 @@
4932
4932
  --base-menu-font-size: var(--font-size-4);
4933
4933
  --base-menu-line-height: var(--line-height-4);
4934
4934
  --base-menu-letter-spacing: var(--letter-spacing-4);
4935
- border-radius: var(--radius-surface-4);
4935
+ border-radius: var(--radius-panel-4);
4936
4936
  }
4937
4937
  }
4938
4938
  .kui-BaseMenuItem:where([data-accent-color]) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@womp/kookie-ui",
3
- "version": "0.27.1",
3
+ "version": "0.28.0",
4
4
  "description": "Kookie UI v1: a React component library with design tokens, flexible theming, a full layout shell, and comprehensive documentation.",
5
5
  "keywords": [
6
6
  "react",
@@ -208,7 +208,7 @@
208
208
  --base-menu-font-size: var(--font-size-1);
209
209
  --base-menu-line-height: var(--line-height-1);
210
210
  --base-menu-letter-spacing: var(--letter-spacing-1);
211
- border-radius: var(--radius-surface-1);
211
+ border-radius: var(--radius-panel-1);
212
212
  }
213
213
 
214
214
  &:where(.kui-r-size-2) {
@@ -223,7 +223,7 @@
223
223
  --base-menu-font-size: var(--font-size-2);
224
224
  --base-menu-line-height: var(--line-height-2);
225
225
  --base-menu-letter-spacing: var(--letter-spacing-2);
226
- border-radius: var(--radius-surface-2);
226
+ border-radius: var(--radius-panel-2);
227
227
  }
228
228
 
229
229
  &:where(.kui-r-size-3) {
@@ -238,7 +238,7 @@
238
238
  --base-menu-font-size: var(--font-size-3);
239
239
  --base-menu-line-height: var(--line-height-3);
240
240
  --base-menu-letter-spacing: var(--letter-spacing-3);
241
- border-radius: var(--radius-surface-3);
241
+ border-radius: var(--radius-panel-3);
242
242
  }
243
243
 
244
244
  &:where(.kui-r-size-4) {
@@ -253,7 +253,7 @@
253
253
  --base-menu-font-size: var(--font-size-4);
254
254
  --base-menu-line-height: var(--line-height-4);
255
255
  --base-menu-letter-spacing: var(--letter-spacing-4);
256
- border-radius: var(--radius-surface-4);
256
+ border-radius: var(--radius-panel-4);
257
257
  }
258
258
  }
259
259
  }
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * RADIUS
3
3
  *
4
- * v2's structure, v1's roundness.
4
+ * v2's structure and v2's corners (since 0.28.0; see docs/LOG.md, 2026-10-27).
5
5
  *
6
6
  * 1. The palette: --radius-0 to --radius-10, plus --radius-full. Raw corners, scaled by the
7
7
  * Theme radius through --radius-factor. --radius-full is 9999px at `full` and 0px below it.
@@ -11,12 +11,16 @@
11
11
  * the palette step N below it.
12
12
  * --radius-row-N a row's corner inside a panel that hugs rows. Half the row's own
13
13
  * height at `full`, --radius-control-N below it.
14
- * --radius-surface-N a surface's corner: cards, tables, panes, popovers, menus.
15
- * --radius-overlay-N a detached surface's corner: dialogs and sheets.
16
- * Surfaces and overlays damp as the theme grows (--radius-surface-factor, capped at 1)
17
- * and never go pill.
18
- * 3. Nesting: a pane inside a pane is concentric. Inner corner = outer corner minus outer
19
- * padding, never below 0. See the end of this file.
14
+ * --radius-panel-N a panel that hugs rows (menus, Select, Combobox): its row's corner
15
+ * plus its padding, so the rows are concentric with it. 0 at `none`.
16
+ * --radius-surface-N a surface's corner: cards, tables, panes, popovers.
17
+ * --radius-overlay-N a detached surface's corner: dialogs and sheets. The corner of the
18
+ * surface one size up.
19
+ * Surfaces and overlays are set per Theme radius: v2's bands at `medium` and below, a
20
+ * flatter v1 band at `large` and `full`. They never go pill. `large` and `full` share them, so turning the dial up never squares a card.
21
+ * 3. Nesting: a pane inside a pane is concentric where it can be. Inner corner = outer corner
22
+ * minus outer padding, never below 8px and never above its own corner. See the end of this
23
+ * file.
20
24
  */
21
25
 
22
26
  [data-radius] {
@@ -43,44 +47,78 @@
43
47
  --radius-row-3: var(--radius-control-3);
44
48
  --radius-row-4: var(--radius-control-4);
45
49
 
46
- --radius-surface-1: calc(8px * var(--scale) * var(--radius-surface-factor));
47
- --radius-surface-2: calc(12px * var(--scale) * var(--radius-surface-factor));
48
- --radius-surface-3: calc(16px * var(--scale) * var(--radius-surface-factor));
49
- --radius-surface-4: calc(20px * var(--scale) * var(--radius-surface-factor));
50
+ --radius-panel-1: calc(var(--radius-row-1) + var(--panel-p-1));
51
+ --radius-panel-2: calc(var(--radius-row-2) + var(--panel-p-2));
52
+ --radius-panel-3: calc(var(--radius-row-3) + var(--panel-p-3));
53
+ --radius-panel-4: calc(var(--radius-row-4) + var(--panel-p-4));
50
54
 
51
- --radius-overlay-1: calc(12px * var(--scale) * var(--radius-surface-factor));
52
- --radius-overlay-2: calc(16px * var(--scale) * var(--radius-surface-factor));
53
- --radius-overlay-3: calc(20px * var(--scale) * var(--radius-surface-factor));
54
- --radius-overlay-4: calc(24px * var(--scale) * var(--radius-surface-factor));
55
+ /* The surface band at `large` and `full`, by eye (Kushagra, 2026-10-27): v2's band
56
+ (24/32/40/48, v2 tokens/config.ts radiusLevels) read too round, and so did 28px at
57
+ size 2. These sit at or under the surface padding (16/24/32/40), where the concentric
58
+ rule alone would square every nested surface, so nesting has a floor (section 3).
59
+ See docs/LOG.md, 2026-10-27. */
60
+ --radius-surface-1: calc(16px * var(--scale));
61
+ --radius-surface-2: calc(20px * var(--scale));
62
+ --radius-surface-3: calc(24px * var(--scale));
63
+ --radius-surface-4: calc(28px * var(--scale));
64
+
65
+ --radius-overlay-1: calc(20px * var(--scale));
66
+ --radius-overlay-2: calc(24px * var(--scale));
67
+ --radius-overlay-3: calc(28px * var(--scale));
68
+ --radius-overlay-4: calc(32px * var(--scale));
55
69
  }
56
70
 
57
71
  [data-radius='none'] {
58
72
  --radius-factor: 0;
59
- --radius-surface-factor: 0;
60
73
  --radius-full: 0px;
74
+ --radius-panel-1: 0px;
75
+ --radius-panel-2: 0px;
76
+ --radius-panel-3: 0px;
77
+ --radius-panel-4: 0px;
78
+ --radius-surface-1: 0px;
79
+ --radius-surface-2: 0px;
80
+ --radius-surface-3: 0px;
81
+ --radius-surface-4: 0px;
82
+ --radius-overlay-1: 0px;
83
+ --radius-overlay-2: 0px;
84
+ --radius-overlay-3: 0px;
85
+ --radius-overlay-4: 0px;
61
86
  }
62
87
 
63
88
  [data-radius='small'] {
64
89
  --radius-factor: 0.75;
65
- --radius-surface-factor: 0.5;
66
90
  --radius-full: 0px;
91
+ --radius-surface-1: calc(5px * var(--scale));
92
+ --radius-surface-2: calc(6px * var(--scale));
93
+ --radius-surface-3: calc(8px * var(--scale));
94
+ --radius-surface-4: calc(10px * var(--scale));
95
+ --radius-overlay-1: calc(6px * var(--scale));
96
+ --radius-overlay-2: calc(8px * var(--scale));
97
+ --radius-overlay-3: calc(10px * var(--scale));
98
+ --radius-overlay-4: calc(12px * var(--scale));
67
99
  }
68
100
 
69
101
  [data-radius='medium'] {
70
102
  --radius-factor: 1;
71
- --radius-surface-factor: 0.75;
72
103
  --radius-full: 0px;
104
+ --radius-surface-1: calc(12px * var(--scale));
105
+ --radius-surface-2: calc(18px * var(--scale));
106
+ --radius-surface-3: calc(24px * var(--scale));
107
+ --radius-surface-4: calc(30px * var(--scale));
108
+ --radius-overlay-1: calc(18px * var(--scale));
109
+ --radius-overlay-2: calc(24px * var(--scale));
110
+ --radius-overlay-3: calc(30px * var(--scale));
111
+ --radius-overlay-4: calc(36px * var(--scale));
73
112
  }
74
113
 
75
114
  [data-radius='large'] {
115
+ /* Surfaces and overlays keep the base band, which is large's and full's. */
76
116
  --radius-factor: 1.5;
77
- --radius-surface-factor: 0.9;
78
117
  --radius-full: 0px;
79
118
  }
80
119
 
81
120
  [data-radius='full'] {
82
121
  --radius-factor: 2;
83
- --radius-surface-factor: 1;
84
122
  --radius-full: 9999px;
85
123
 
86
124
  /* A control at `full` is a capsule: half its own height. */
@@ -105,7 +143,10 @@
105
143
  * --kui-sf-p its padding (--surface-p-N)
106
144
  * --kui-sf-r the corner to draw: its own, or the nested corner when inside another
107
145
  * and on its CHILDREN:
108
- * --kui-nest outer corner minus outer padding
146
+ * --kui-nest outer corner minus outer padding, at least 8px. v1's corners are at or
147
+ * under their padding, where v2's rule gives 0 and the inner pane squares;
148
+ * a tighter inner corner reads fine, a square one reads as a missing
149
+ * corner. min() with its own corner keeps `small` and `none` honest.
109
150
  *
110
151
  * --kui-nest is written from the size tokens, not from --kui-sf-radius and --kui-sf-p: a
111
152
  * direct child that is itself a surface would resolve those against its own declarations.
@@ -122,28 +163,28 @@
122
163
  --kui-sf-p: var(--surface-p-1);
123
164
  }
124
165
  &:where(.kui-r-size-1) > * {
125
- --kui-nest: max(0px, calc(var(--radius-surface-1) - var(--surface-p-1)));
166
+ --kui-nest: max(calc(8px * var(--scale)), calc(var(--radius-surface-1) - var(--surface-p-1)));
126
167
  }
127
168
  &:where(.kui-r-size-2) {
128
169
  --kui-sf-radius: var(--radius-surface-2);
129
170
  --kui-sf-p: var(--surface-p-2);
130
171
  }
131
172
  &:where(.kui-r-size-2) > * {
132
- --kui-nest: max(0px, calc(var(--radius-surface-2) - var(--surface-p-2)));
173
+ --kui-nest: max(calc(8px * var(--scale)), calc(var(--radius-surface-2) - var(--surface-p-2)));
133
174
  }
134
175
  &:where(.kui-r-size-3) {
135
176
  --kui-sf-radius: var(--radius-surface-3);
136
177
  --kui-sf-p: var(--surface-p-3);
137
178
  }
138
179
  &:where(.kui-r-size-3) > * {
139
- --kui-nest: max(0px, calc(var(--radius-surface-3) - var(--surface-p-3)));
180
+ --kui-nest: max(calc(8px * var(--scale)), calc(var(--radius-surface-3) - var(--surface-p-3)));
140
181
  }
141
182
  &:where(.kui-r-size-4) {
142
183
  --kui-sf-radius: var(--radius-surface-4);
143
184
  --kui-sf-p: var(--surface-p-4);
144
185
  }
145
186
  &:where(.kui-r-size-4) > * {
146
- --kui-nest: max(0px, calc(var(--radius-surface-4) - var(--surface-p-4)));
187
+ --kui-nest: max(calc(8px * var(--scale)), calc(var(--radius-surface-4) - var(--surface-p-4)));
147
188
  }
148
189
  }
149
190
  }