@apliteni/apliteni-ui 0.54.0 → 0.55.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.
@@ -20,7 +20,7 @@
20
20
 
21
21
  **Why:** A confirm keeps keyboard focus until answered; a callout does not interrupt.
22
22
 
23
- **Except:** Use a drawer when the answer needs a form instead of two buttons.
23
+ **Except:** Use a content-sized modal for a short form and a drawer for a long form.
24
24
 
25
25
  **Do:** Ask “Rotate this token?” in a confirm with “Keep token” and “Rotate token” buttons.
26
26
 
@@ -26,15 +26,15 @@
26
26
 
27
27
  **Don't:** Put each group in a card inside the drawer.
28
28
 
29
- ## Three divider lines
29
+ ## Header and group dividers
30
30
 
31
31
  <!-- rule: three-lines -->
32
32
 
33
- **Rule:** Draw lines under the header, over the footer, and between each group; draw no other lines.
33
+ **Rule:** Add lines below the header and between groups. Leave the footer unfilled and without a rule.
34
34
 
35
- **Why:** These lines mark scrolling boundaries and separate groups, not rows.
35
+ **Why:** The header line marks the scrolling body; group lines separate content, and actions share the panel surface.
36
36
 
37
- **Do:** Separate header, footer and groups.
37
+ **Do:** Separate the header and groups.
38
38
 
39
39
  **Don't:** Add dividers between every row.
40
40
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apliteni/apliteni-ui",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
4
4
  "workspaces": [
5
5
  "react"
6
6
  ],
@@ -30,8 +30,7 @@
30
30
  .rx-scrim {
31
31
  position: fixed;
32
32
  inset: 0;
33
- background: rgba(0, 0, 0, .55);
34
- backdrop-filter: blur(2px);
33
+ background: color-mix(in srgb, var(--shadow-ink) 82%, transparent);
35
34
  display: grid;
36
35
  place-items: center;
37
36
  z-index: calc(var(--z-overlay) + 1);
@@ -42,14 +41,18 @@
42
41
  opacity: 1;
43
42
  }
44
43
  .rx-modal {
45
- width: min(480px, 92vw);
44
+ width: min(calc(var(--panel-lg) - var(--space-10) * 2), 96vw);
45
+ max-height: 96vh;
46
+ max-height: 96dvh;
47
+ display: flex;
48
+ flex-direction: column;
46
49
  background: var(--bg-elevated);
47
50
  --ring-gap: var(--bg-elevated);
48
- border: 1px solid var(--border-strong);
49
- box-shadow: inset 0 0 0 1px var(--elev-edge, var(--border)), var(--elev-drop);
50
- border-radius: var(--radius-xl);
51
+ border: 0;
52
+ box-shadow: var(--elev-drop);
53
+ border-radius: var(--radius-md);
51
54
  overflow: hidden;
52
- transform: translateY(8px);
55
+ transform: translateY(var(--space-2));
53
56
  transition: transform var(--dur-med) var(--ease);
54
57
  }
55
58
  .rx-scrim.is-open .rx-modal {
@@ -59,25 +62,38 @@
59
62
  display: flex;
60
63
  align-items: center;
61
64
  justify-content: space-between;
62
- padding: 16px 20px;
65
+ gap: var(--space-3);
66
+ flex: none;
67
+ padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
63
68
  border-bottom: 1px solid var(--border);
64
69
  }
65
70
  .rx-modal__title {
66
- font-weight: 600;
67
- font-size: var(--text-lg);
71
+ font-weight: var(--weight-normal);
72
+ font-size: var(--text-base);
73
+ color: var(--text);
68
74
  }
69
75
  .rx-modal__body {
70
- padding: 20px;
76
+ padding: var(--space-4);
71
77
  display: flex;
72
78
  flex-direction: column;
73
- gap: 16px;
79
+ gap: var(--space-4);
80
+ min-height: 0;
81
+ overflow: auto;
82
+ }
83
+ .rx-modal__body > * {
84
+ flex-shrink: 0;
74
85
  }
75
86
  .rx-modal__foot {
76
87
  display: flex;
77
88
  justify-content: flex-end;
78
- gap: 12px;
79
- padding: 16px 20px;
80
- border-top: 1px solid var(--border);
89
+ gap: var(--space-3);
90
+ flex: none;
91
+ padding: var(--space-4);
92
+ }
93
+ .rx-modal__head > .ui-btn {
94
+ width: calc(var(--space-10) + var(--space-1));
95
+ height: calc(var(--space-10) + var(--space-1));
96
+ flex: none;
81
97
  }
82
98
 
83
99
  /* src/DataTable.css */
@@ -127,16 +127,13 @@
127
127
  .ui-drawer--top.ui-drawer--lg, .ui-drawer--bottom.ui-drawer--lg { --drawer-h: 72vh; }
128
128
 
129
129
  /* -- Slots ----------------------------------------------------------------- */
130
- /* The header keeps its rule, and the footer keeps its. A drawer's normal state is a
131
- long record scrolling, and those two lines are what say where the scrolling body
132
- ends: the one place inside the panel a line still earns.
133
- why: docs/specification.md#the-drawer */
130
+ /* The header marks the scroll boundary; actions share the panel surface. */
134
131
  .ui-drawer__header {
135
132
  display: flex;
136
133
  align-items: center;
137
134
  justify-content: space-between;
138
- gap: 12px;
139
- padding: 18px 20px;
135
+ gap: var(--space-3);
136
+ padding: var(--space-4) var(--space-5);
140
137
  border-bottom: 1px solid var(--border);
141
138
  flex: none;
142
139
  }
@@ -188,10 +185,8 @@
188
185
  display: flex;
189
186
  align-items: center;
190
187
  justify-content: flex-end;
191
- gap: 10px;
192
- padding: 16px 20px;
193
- border-top: 1px solid var(--border);
194
- background: var(--surface-2); --ring-gap: var(--surface-2);
188
+ gap: var(--space-3);
189
+ padding: var(--space-4) var(--space-5);
195
190
  flex: none;
196
191
  }
197
192