twntyx-css 1.0.16 → 1.0.17

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.
@@ -23,6 +23,7 @@
23
23
  "assets/styles/badge.css",
24
24
  "assets/styles/contest.css",
25
25
  "assets/styles/form-text-select.css",
26
+ "assets/styles/menu.css",
26
27
  "assets/styles/shared.css"
27
28
  ],
28
29
  "apiModel": "html-class",
@@ -121,6 +122,7 @@
121
122
  "line-success",
122
123
  "line-warning",
123
124
  "text-attention",
125
+ "text-brand-active",
124
126
  "text-default",
125
127
  "text-disabled",
126
128
  "text-error",
@@ -109,7 +109,7 @@
109
109
  {
110
110
  "name": "is-editing",
111
111
  "className": "is-editing",
112
- "description": "Applies inline rename state to a menu row item"
112
+ "description": "Inline rename state: invisible in-flow link, absolute menu-row-input overlay, hidden action"
113
113
  }
114
114
  ],
115
115
  "structure": {
package/llm/index.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "llmSchemaVersion": "1.0.0",
3
- "designSystemVersion": "1.0.16",
3
+ "designSystemVersion": "1.0.17",
4
4
  "packageName": "twntyx-css",
5
5
  "apiModel": "html-class",
6
- "sourceFingerprint": "cf9f34775c1b86e3b2eb4ba59f55ea4075ab5faad4f27535cf971319d65014fc",
6
+ "sourceFingerprint": "f0c14f0a6476267f1e282ad0a6ae789f4c2446a73692165389eaa64730e2d87d",
7
7
  "files": {
8
8
  "schema": "schema.json",
9
9
  "tokens": "tokens.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twntyx-css",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "exports": {
5
5
  "./llm": "./llm/index.json",
6
6
  "./llm/components/*": "./llm/components/*.json",
package/styles/menu.css CHANGED
@@ -33,10 +33,10 @@
33
33
 
34
34
  /* Split row: main link + contextual action */
35
35
  > .menu-row {
36
- @apply grid grid-cols-[minmax(0,1fr)_auto] items-center py-2 pl-0 pr-2 w-full max-w-full min-w-0 text-sm rounded cursor-default include-hover-primary include-interactive text-text-tertiary hover:text-text-default;
36
+ @apply grid grid-cols-[minmax(0,1fr)_auto] items-center py-0 pl-0 pr-2 w-full max-w-full min-w-0 text-sm rounded cursor-default include-hover-primary include-interactive text-text-tertiary hover:text-text-default;
37
37
 
38
38
  > :where(a, button:not(.menu-row-action)) {
39
- @apply flex gap-2 items-center min-w-0 py-0 pl-4 pr-1 rounded-none cursor-pointer text-inherit hover:text-inherit outline-transparent focus-visible:outline-transparent active:outline-transparent;
39
+ @apply flex gap-2 items-center min-w-0 py-2 pl-4 pr-1 rounded-none cursor-pointer text-inherit hover:text-inherit outline-transparent focus-visible:outline-transparent active:outline-transparent;
40
40
 
41
41
  &::before {
42
42
  @apply hidden;
@@ -52,7 +52,7 @@
52
52
  }
53
53
 
54
54
  > .menu-row-action {
55
- @apply relative z-10 flex shrink-0 flex-none justify-center items-center -my-0.5 mr-0 size-6 rounded cursor-pointer include-interactive text-text-tertiary hover:text-text-default;
55
+ @apply relative z-10 flex shrink-0 flex-none justify-center items-center mr-0 size-6 rounded cursor-pointer include-interactive text-text-tertiary hover:text-text-default;
56
56
 
57
57
  &::before {
58
58
  @apply hidden;
@@ -64,7 +64,7 @@
64
64
  }
65
65
 
66
66
  > .menu-row-input {
67
- @apply relative z-10 flex min-w-0 py-0 pl-4 pr-1 select-text -my-1;
67
+ @apply relative z-10 flex min-w-0 py-2 pl-4 pr-1 select-text;
68
68
 
69
69
  .input-control {
70
70
  @apply flex-1 w-full min-h-0 p-0 border-transparent shadow-none bg-transparent input-ghost;
@@ -89,13 +89,26 @@
89
89
  }
90
90
 
91
91
  &.is-editing > .menu-row {
92
- @apply include-hover-primary-active text-text-default cursor-text;
92
+ @apply relative include-hover-primary-active text-text-default cursor-text;
93
93
 
94
94
  > :where(a, button:not(.menu-row-action)) {
95
+ @apply opacity-0 pointer-events-none select-none;
96
+ }
97
+
98
+ > .menu-row-input {
99
+ @apply absolute top-0 bottom-0 left-0 right-2 z-20;
100
+ }
101
+
102
+ > .menu-row-action {
95
103
  @apply hidden;
96
104
  }
97
105
  }
98
106
 
107
+ &.is-editing.menu-row-action-hover:hover > .menu-row > .menu-row-action,
108
+ &.is-editing.menu-row-action-hover:focus-within > .menu-row > .menu-row-action {
109
+ @apply hidden;
110
+ }
111
+
99
112
  &.menu-row-action-hover > .menu-row > .menu-row-action {
100
113
  @apply hidden;
101
114
  }
@@ -113,7 +126,7 @@
113
126
  &:has(svg:only-child) {
114
127
  @apply px-2;
115
128
  }
116
- > *:not(svg, .avatar, .material-symbols-rounded) {
129
+ > *:not(svg, .avatar, .badge, .material-symbols-rounded) {
117
130
  @apply w-full;
118
131
  }
119
132
  svg {
@@ -125,7 +138,7 @@
125
138
  @apply outline-transparent focus-visible:outline-transparent active:outline-transparent;
126
139
 
127
140
  > span {
128
- @apply block min-w-0 flex-1 truncate;
141
+ @apply block min-w-0 flex-1 truncate text-left;
129
142
  }
130
143
 
131
144
  > span + span {
@@ -255,15 +268,19 @@
255
268
  @utility menu-xs {
256
269
  @apply text-xs;
257
270
  li {
271
+ &.is-editing > .menu-row > .menu-row-input {
272
+ @apply right-1;
273
+ }
274
+
258
275
  > .menu-row {
259
- @apply gap-1 py-1 pr-1 text-xs;
276
+ @apply py-0 pr-1 text-xs;
260
277
 
261
278
  > :where(a, button:not(.menu-row-action)) {
262
- @apply pl-2 pr-0.5;
279
+ @apply py-1 pl-2 pr-0.5;
263
280
  }
264
281
 
265
282
  > .menu-row-input {
266
- @apply pl-2 pr-0.5;
283
+ @apply py-1 pl-2 pr-0.5;
267
284
  }
268
285
 
269
286
  > :where(a, button:not(.menu-row-action)) svg {
@@ -271,7 +288,7 @@
271
288
  }
272
289
 
273
290
  > .menu-row-action {
274
- @apply -my-0.5 mr-0 size-4;
291
+ @apply mr-0 size-4;
275
292
  }
276
293
 
277
294
  > .menu-row-action svg {
@@ -308,15 +325,19 @@
308
325
  @utility menu-sm {
309
326
  @apply text-xs;
310
327
  li {
328
+ &.is-editing > .menu-row > .menu-row-input {
329
+ @apply right-1.5;
330
+ }
331
+
311
332
  > .menu-row {
312
- @apply gap-1.5 py-1.5 pr-1.5 text-xs;
333
+ @apply py-0 pr-1.5 text-xs;
313
334
 
314
335
  > :where(a, button:not(.menu-row-action)) {
315
- @apply pl-3 pr-1;
336
+ @apply py-1.5 pl-3 pr-1;
316
337
  }
317
338
 
318
339
  > .menu-row-input {
319
- @apply pl-3 pr-1;
340
+ @apply py-1.5 pl-3 pr-1;
320
341
  }
321
342
 
322
343
  > :where(a, button:not(.menu-row-action)) svg {
@@ -324,7 +345,7 @@
324
345
  }
325
346
 
326
347
  > .menu-row-action {
327
- @apply -my-0.5 mr-0 size-5;
348
+ @apply mr-0 size-5;
328
349
  }
329
350
 
330
351
  > .menu-row-action svg {
@@ -361,15 +382,19 @@
361
382
  @utility menu-lg {
362
383
  @apply text-base;
363
384
  li {
385
+ &.is-editing > .menu-row > .menu-row-input {
386
+ @apply right-3;
387
+ }
388
+
364
389
  > .menu-row {
365
- @apply gap-3 py-3 pr-3 text-base;
390
+ @apply py-0 pr-3 text-base;
366
391
 
367
392
  > :where(a, button:not(.menu-row-action)) {
368
- @apply pl-5 pr-1.5;
393
+ @apply py-3 pl-5 pr-1.5;
369
394
  }
370
395
 
371
396
  > .menu-row-input {
372
- @apply pl-5 pr-1.5;
397
+ @apply py-3 pl-5 pr-1.5;
373
398
  }
374
399
 
375
400
  > :where(a, button:not(.menu-row-action)) svg {
@@ -377,7 +402,7 @@
377
402
  }
378
403
 
379
404
  > .menu-row-action {
380
- @apply -my-1 mr-0 size-7;
405
+ @apply mr-0 size-7;
381
406
  }
382
407
 
383
408
  > .menu-row-action svg {