@apliteni/apliteni-ui 0.75.0 → 0.75.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apliteni/apliteni-ui",
3
- "version": "0.75.0",
3
+ "version": "0.75.2",
4
4
  "workspaces": [
5
5
  "react"
6
6
  ],
package/react/README.md CHANGED
@@ -29,6 +29,9 @@ import '@apliteni/apliteni-ui/react/css'; // React components' shell styles (mo
29
29
  import { DataTable, Modal, Button } from '@apliteni/apliteni-ui/react';
30
30
  ```
31
31
 
32
+ Both stylesheets. The React one adds what React's own components need — it carries no tokens, no
33
+ reset and none of the kit's control CSS, so it cannot stand in for the first import.
34
+
32
35
  Components: `Success`, `SuccessPanel`, `SuccessCheck`, `Checkbox`, `Switch`, `SearchField`, `EmptyState`, `DataTable`, `Pagination`, `StatBand`, `Modal`, `Confirm`, `Drawer`, `CommandPalette`, `Dropdown`, `BackLink`, `Tooltip`, `Snippet`, `Tabs`, `Button`, `Badge`, `Pill`, `StatusDot`, `Card`, `Callout`, `Icon`.
33
36
 
34
37
  `Pill` renders metadata with the existing pill spacing. Omit `variant` for neutral
@@ -109,260 +109,6 @@
109
109
  }
110
110
  }
111
111
 
112
- /* ../src/styles/input.css */
113
- .ui-field {
114
- display: block;
115
- }
116
- .ui-field__label {
117
- display: block;
118
- color: var(--strong);
119
- font-size: var(--text-base);
120
- font-weight: var(--weight-medium);
121
- margin-bottom: 8px;
122
- }
123
- .ui-field__req {
124
- color: var(--pink);
125
- margin-left: 4px;
126
- }
127
- .ui-field__hint {
128
- color: var(--text);
129
- font-size: var(--text-sm);
130
- margin-top: 7px;
131
- line-height: 1.5;
132
- }
133
- .ui-field__error {
134
- color: var(--pink);
135
- font-size: var(--text-sm);
136
- margin-top: 7px;
137
- display: flex;
138
- align-items: center;
139
- gap: 6px;
140
- }
141
- .ui-field__error svg {
142
- width: 16px;
143
- height: 16px;
144
- flex: none;
145
- stroke-width: 2.4;
146
- }
147
- .ui-input,
148
- .ui-textarea,
149
- .ui-select {
150
- font-family: var(--font-sans);
151
- font-size: var(--text-base);
152
- color: var(--strong);
153
- background: var(--field-bg);
154
- border: 1px solid var(--field-edge);
155
- border-radius: var(--radius-md);
156
- padding: 12px 15px;
157
- width: 100%;
158
- transition: border-color var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);
159
- }
160
- .ui-textarea {
161
- resize: vertical;
162
- min-height: 96px;
163
- line-height: 1.55;
164
- }
165
- .ui-input:hover,
166
- .ui-textarea:hover,
167
- .ui-select:hover {
168
- border-color: var(--field-edge-hover);
169
- }
170
- .ui-input:focus-visible,
171
- .ui-textarea:focus-visible,
172
- .ui-select:focus-visible {
173
- outline: 2px solid transparent;
174
- border-color: var(--accent);
175
- box-shadow: var(--ring);
176
- }
177
- .ui-input::placeholder,
178
- .ui-textarea::placeholder {
179
- color: var(--muted);
180
- opacity: 0.9;
181
- }
182
- .ui-input:disabled,
183
- .ui-select:disabled,
184
- .ui-textarea:disabled {
185
- background: var(--disabled-surface);
186
- border-color: var(--disabled-border);
187
- color: var(--disabled-ink);
188
- cursor: not-allowed;
189
- }
190
- .ui-input.is-invalid,
191
- .ui-select.is-invalid,
192
- .ui-textarea.is-invalid {
193
- border-color: var(--pink);
194
- }
195
- .ui-input[type=search]::-webkit-search-cancel-button {
196
- appearance: none;
197
- display: none;
198
- }
199
- .ui-input-group {
200
- position: relative;
201
- display: flex;
202
- align-items: center;
203
- }
204
- .ui-input-group .ui-input {
205
- padding-left: 42px;
206
- }
207
- .ui-input-group__icon {
208
- position: absolute;
209
- left: 14px;
210
- width: 17px;
211
- height: 17px;
212
- color: var(--muted);
213
- pointer-events: none;
214
- }
215
- .ui-input-group__icon svg {
216
- width: 100%;
217
- height: 100%;
218
- stroke: currentColor;
219
- fill: none;
220
- stroke-width: 2.2;
221
- }
222
- .ui-select {
223
- appearance: none;
224
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a29db6' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
225
- background-repeat: no-repeat;
226
- background-position: right 15px center;
227
- padding-right: 40px;
228
- cursor: pointer;
229
- }
230
- :root[data-theme=light] .ui-select {
231
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6270' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
232
- }
233
- .ui-check {
234
- display: inline-flex;
235
- align-items: flex-start;
236
- gap: 11px;
237
- cursor: pointer;
238
- font-size: var(--text-base);
239
- color: var(--text);
240
- line-height: 1.5;
241
- }
242
- .ui-check input {
243
- appearance: none;
244
- width: 19px;
245
- height: 19px;
246
- flex: none;
247
- margin-top: 1px;
248
- border: 1.5px solid var(--border-strong);
249
- border-radius: var(--radius-xs);
250
- background: var(--surface-2);
251
- cursor: pointer;
252
- transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
253
- position: relative;
254
- }
255
- .ui-check input::before {
256
- content: "";
257
- position: absolute;
258
- left: 50%;
259
- top: 50%;
260
- width: 24px;
261
- height: 24px;
262
- transform: translate(-50%, -50%);
263
- }
264
- .ui-check input[type=radio] {
265
- border-radius: 50%;
266
- }
267
- .ui-check input:enabled:hover {
268
- border-color: var(--accent);
269
- }
270
- .ui-check input:checked {
271
- background: var(--accent);
272
- border-color: var(--accent);
273
- }
274
- .ui-check input[type=checkbox]:checked::after {
275
- content: "";
276
- position: absolute;
277
- left: 5px;
278
- top: 1.5px;
279
- width: 5px;
280
- height: 10px;
281
- border: solid var(--accent-contrast);
282
- border-width: 0 2px 2px 0;
283
- transform: rotate(45deg);
284
- }
285
- .ui-check input[type=radio]:checked::after {
286
- content: "";
287
- position: absolute;
288
- inset: 4px;
289
- border-radius: 50%;
290
- background: var(--accent-contrast);
291
- }
292
- .ui-check input:focus-visible {
293
- outline: 2px solid transparent;
294
- box-shadow: var(--ring);
295
- }
296
- .ui-check input:disabled {
297
- background: var(--disabled-surface);
298
- border-color: var(--disabled-border);
299
- cursor: not-allowed;
300
- }
301
- .ui-check input:disabled:checked {
302
- background: var(--disabled-ink);
303
- border-color: var(--disabled-ink);
304
- }
305
- .ui-check input[type=checkbox]:disabled:checked::after {
306
- border-color: var(--disabled-surface);
307
- }
308
- .ui-check input[type=radio]:disabled:checked::after {
309
- background: var(--disabled-surface);
310
- }
311
- .ui-check:has(input:disabled) {
312
- color: var(--disabled-ink);
313
- cursor: not-allowed;
314
- }
315
- .ui-switch {
316
- --sw-w: 44px;
317
- --sw-h: 26px;
318
- position: relative;
319
- display: inline-block;
320
- width: var(--sw-w);
321
- height: var(--sw-h);
322
- flex: none;
323
- }
324
- .ui-switch input {
325
- position: absolute;
326
- opacity: 0;
327
- width: 0;
328
- height: 0;
329
- }
330
- .ui-switch__track {
331
- position: absolute;
332
- inset: 0;
333
- background: var(--surface-3);
334
- border-radius: var(--radius-pill);
335
- cursor: pointer;
336
- transition: background var(--dur-med) var(--ease);
337
- }
338
- .ui-switch__track::before {
339
- content: "";
340
- position: absolute;
341
- top: 3px;
342
- left: 3px;
343
- width: calc(var(--sw-h) - 6px);
344
- height: calc(var(--sw-h) - 6px);
345
- background: var(--control-knob);
346
- border: 1px solid var(--border-strong);
347
- box-sizing: border-box;
348
- border-radius: 50%;
349
- transition: transform var(--dur-med) var(--ease);
350
- }
351
- .ui-switch input:checked + .ui-switch__track {
352
- background: var(--accent);
353
- }
354
- .ui-switch input:checked + .ui-switch__track::before {
355
- transform: translateX(calc(var(--sw-w) - var(--sw-h)));
356
- }
357
- .ui-switch input:focus-visible + .ui-switch__track {
358
- outline: 2px solid transparent;
359
- box-shadow: var(--ring);
360
- }
361
- .ui-switch input:disabled + .ui-switch__track {
362
- opacity: 0.5;
363
- cursor: not-allowed;
364
- }
365
-
366
112
  /* ../src/styles/tooltip.css */
367
113
  .ui-tip-host {
368
114
  position: relative;
@@ -50,16 +50,16 @@
50
50
  .ui-textarea::placeholder { /* muted-ink: placeholder — empty form field */ color: var(--muted); opacity: 0.9; }
51
51
 
52
52
  /* The value a reader typed is still the value; it goes quiet, it does not fade
53
- into the field under it the way an opacity would take both down together. #220 */
54
- /* `.ui-select` joins these two in #273. It had no disabled rule at all, and it
55
- sets `background: var(--surface-2)` as an author declaration — which outranks
56
- the UA's own grey-out — so a disabled select rendered pixel-identical to a live
57
- one. A pager marked busy showed every button and the jump input visibly off
58
- beside a size control that still looked available. */
53
+ into the field under it the way an opacity would take both down together. #220
54
+ `.ui-select` joined the pair in #273: it paints its own field, which outranks the
55
+ UA's grey-out, so a disabled one had looked exactly like a live one.
56
+ `background-color`, not `background` — the shorthand also resets the three
57
+ longhands the chevron is drawn with (#511). Held by stories/select-chevron.test.js.
58
+ why: docs/specification.md#icons-and-glyphs */
59
59
  .ui-input:disabled,
60
60
  .ui-select:disabled,
61
61
  .ui-textarea:disabled {
62
- background: var(--disabled-surface); /* ring-gap: inherit — control paint; its focus indicator uses the containing surface. */
62
+ background-color: var(--disabled-surface); /* ring-gap: inherit — control paint; its focus indicator uses the containing surface. */
63
63
  border-color: var(--disabled-border);
64
64
  /* muted-ink: state — unavailable control */ color: var(--disabled-ink);
65
65
  cursor: not-allowed;