anentrypoint-design 0.0.205 → 0.0.206

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/app-shell.css CHANGED
@@ -41,7 +41,7 @@ body {
41
41
  -webkit-font-smoothing: antialiased;
42
42
  text-rendering: optimizeLegibility;
43
43
  }
44
- ::selection { background: var(--mascot); color: var(--ink); }
44
+ ::selection { background: color-mix(in oklab, var(--accent) 24%, var(--bg-2)); color: var(--fg); }
45
45
 
46
46
  /* Every root has a CQ container so fluid type can resolve to a meaningful inline-size. */
47
47
  .app, [class*="kit-"], .ds-stage {
@@ -578,12 +578,17 @@ body.canvas-host { background: transparent !important; }
578
578
  .row.rail-purple::before { background: var(--purple-2, #7F18A4); }
579
579
  .row.rail-flame::before { background: var(--flame); }
580
580
  .row-grid { /* explicit grid-template-columns set inline */ }
581
+ /* A row with no leading code/index drops the empty first column so the title
582
+ takes the full width instead of wrapping in the narrow code gutter. */
583
+ .row.row-nocode { grid-template-columns: minmax(0, 1fr) auto; }
581
584
 
582
585
  .row .code { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
583
586
  .row .title { font-family: var(--ff-body); font-weight: 600; font-size: var(--fs-lg); line-height: var(--lh-snug, 1.3); display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; min-width: 0; }
584
587
  .row .title .sub { font-family: var(--ff-body); font-weight: 400; font-size: var(--fs-sm); color: var(--fg-3); }
585
588
  .row .sub { font-family: var(--ff-body); font-weight: 400; font-size: var(--fs-sm); color: var(--fg-3); }
586
589
  .row .meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; align-self: center; }
590
+ /* WorksList meta pairs a label with a disclosure chevron, inline-aligned. */
591
+ .ds-works-meta { display: inline-flex; align-items: center; gap: .4em; }
587
592
 
588
593
  a.row { text-decoration: none; }
589
594
 
@@ -1935,36 +1940,43 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
1935
1940
  .chat-msg:nth-child(n+4) { animation-delay: 0.15s; }
1936
1941
  }
1937
1942
 
1943
+ /* Calm composer (claude.ai/code): ONE bordered rounded-rect shell holding the
1944
+ context line, a borderless textarea, the hint, and an inline send button -
1945
+ not a stadium pill + a floating round send. The shell carries the border and
1946
+ the focus ring; the textarea fills it transparently. flex-wrap lets the
1947
+ context line and hint occupy their own rows above/below the input row. */
1938
1948
  .chat-composer {
1939
- display: flex; align-items: flex-end; gap: 8px;
1940
- padding: var(--space-3) 0 0;
1941
- border-top: 1px solid color-mix(in oklab, var(--fg) 8%, transparent);
1949
+ display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--space-2);
1950
+ padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
1951
+ background: var(--bg);
1952
+ border: var(--bw-hair) solid var(--rule);
1953
+ border-radius: var(--r-2);
1942
1954
  flex-shrink: 0;
1955
+ transition: border-color var(--dur-snap) var(--ease), box-shadow var(--dur-snap) var(--ease);
1956
+ }
1957
+ .chat-composer:focus-within {
1958
+ border-color: var(--accent);
1959
+ box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 18%, transparent);
1943
1960
  }
1944
1961
  .chat-composer textarea {
1945
- flex: 1; padding: 12px 16px;
1946
- background: var(--bg-2); color: var(--fg);
1947
- border: 1px solid transparent; border-radius: var(--r-pill);
1962
+ flex: 1; min-width: 0; padding: 8px 4px;
1963
+ background: none; color: var(--fg);
1964
+ border: none; border-radius: 0;
1948
1965
  font-family: inherit; font-size: var(--fs-sm);
1949
- line-height: 1.4; resize: none;
1950
- min-height: 44px; max-height: 200px;
1966
+ line-height: 1.45; resize: none;
1967
+ min-height: 28px; max-height: 200px;
1951
1968
  box-sizing: border-box; overflow-y: auto;
1952
1969
  scrollbar-width: thin;
1953
1970
  }
1954
1971
  .chat-composer textarea::placeholder { color: var(--fg-3); }
1955
- .chat-composer textarea:focus {
1956
- background: var(--bg-2);
1957
- border-color: var(--accent);
1958
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 20%, transparent);
1959
- outline: none;
1960
- }
1972
+ .chat-composer textarea:focus { background: none; border: none; box-shadow: none; outline: none; }
1961
1973
  .chat-composer .send {
1962
- width: 44px; height: 44px; border-radius: 50%;
1974
+ width: 36px; height: 36px; border-radius: var(--r-1);
1963
1975
  background: var(--accent); color: var(--accent-fg);
1964
1976
  border: 0; cursor: pointer;
1965
1977
  display: inline-flex; align-items: center; justify-content: center;
1966
1978
  flex-shrink: 0;
1967
- transition: background var(--dur-snap, .15s) var(--ease, ease), transform .1s ease;
1979
+ transition: background var(--dur-snap, .15s) var(--ease, ease);
1968
1980
  }
1969
1981
  .chat-composer .send:disabled { opacity: .5; cursor: not-allowed; }
1970
1982
  /* Ghost icon buttons in the toolbar (attach / emoji / more) — NOT the round
@@ -1978,8 +1990,8 @@ table tr.clickable:focus-visible td { background: var(--bg-2); }
1978
1990
  transition: background var(--dur-snap, .15s) var(--ease, ease), color var(--dur-snap, .15s) var(--ease, ease);
1979
1991
  }
1980
1992
  .composer-btn:hover { background: color-mix(in oklab, var(--fg) 8%, transparent); color: var(--fg); }
1981
- .chat-composer .send:hover { transform: scale(1.04); }
1982
- .chat-composer .send:active { transform: scale(0.96); }
1993
+ .chat-composer .send:hover { filter: brightness(1.08); }
1994
+ .chat-composer .send:active { filter: brightness(0.94); }
1983
1995
  .chat-composer .send:focus-visible,
1984
1996
  .composer-btn:focus-visible {
1985
1997
  outline: 2px solid var(--accent);
@@ -2836,6 +2848,12 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
2836
2848
  .ws-shell.ws-no-pane.ws-pane-collapsed.ws-no-sessions { grid-template-columns: var(--ws-rail-w) 1fr var(--ws-pane-w); grid-template-areas: "rail content pane"; }
2837
2849
  .ws-shell.ws-rail-collapsed { --ws-rail-w: var(--ws-rail-w-collapsed); }
2838
2850
  .ws-shell.ws-pane-collapsed { --ws-pane-w: 0px; }
2851
+ /* Ease the rail/pane collapse. Track COUNT stays stable on collapse (only a
2852
+ width var flips), so grid-template-columns is animatable; reduced-motion
2853
+ drops it to an instant swap. */
2854
+ @media (prefers-reduced-motion: no-preference) {
2855
+ .ws-shell { transition: grid-template-columns var(--dur-base) var(--ease); }
2856
+ }
2839
2857
 
2840
2858
  /* Rail (left nav) */
2841
2859
  .ws-rail {
@@ -2906,9 +2924,17 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
2906
2924
 
2907
2925
  /* Content column */
2908
2926
  .ws-content { grid-area: content; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
2909
- .ws-crumb { flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
2927
+ /* Crumb band is the top chrome of the content column: a stable height so the
2928
+ top edge aligns with the rail head, and a left gutter matching .ws-main so
2929
+ the trail text is not flush against the rail border. */
2930
+ .ws-crumb { flex: 0 0 auto; min-height: 48px; padding: 0 var(--space-4); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
2910
2931
  .ws-crumb-main { flex: 1 1 auto; min-width: 0; }
2911
- .ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; }
2932
+ /* Content column gutter. Claude-Code-class calm: file grid / dashboard / event
2933
+ list / history get a generous, consistent inner gutter instead of butting
2934
+ against the 1px column borders. The chat tab opts out via .ws-main--flush
2935
+ because the chat thread carries its own --measure gutter. */
2936
+ .ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; padding: var(--space-4) var(--space-5); }
2937
+ .ws-main.ws-main--flush { padding: 0; }
2912
2938
  .ws-main:focus { outline: none; }
2913
2939
 
2914
2940
  /* Right context pane */
@@ -2953,8 +2979,11 @@ input[type="password"]:not(:placeholder-shown) + .input-clear {
2953
2979
  .ws-rail-collapsed .ws-rail-item-label, .ws-rail-collapsed .ws-rail-brand { display: none; }
2954
2980
  /* Tap-scrim behind an open drawer; dismiss on click. Hidden unless a drawer
2955
2981
  is open so it never blocks the content area on desktop. */
2956
- .ws-scrim { display: none; position: fixed; inset: 0; z-index: 41; background: color-mix(in srgb, var(--fg) 38%, transparent); }
2957
- .ws-shell.ws-sessions-open .ws-scrim, .ws-shell.ws-pane-open .ws-scrim { display: block; }
2982
+ /* Scrim is always present on mobile so it can FADE with the drawer instead of
2983
+ hard-appearing via a display toggle; pointer-events gate keeps it inert
2984
+ while closed. Reduced-motion users get the global transition kill -> instant. */
2985
+ .ws-scrim { display: block; opacity: 0; pointer-events: none; position: fixed; inset: 0; z-index: 41; background: color-mix(in srgb, var(--fg) 38%, transparent); transition: opacity var(--dur-base) var(--ease); }
2986
+ .ws-shell.ws-sessions-open .ws-scrim, .ws-shell.ws-pane-open .ws-scrim { opacity: 1; pointer-events: auto; }
2958
2987
  /* The mobile drawer-toggle affordances live in the crumb bar. */
2959
2988
  .ws-drawer-toggle { display: inline-flex; }
2960
2989
  }
package/dist/247420.css CHANGED
@@ -442,7 +442,7 @@
442
442
  -webkit-font-smoothing: antialiased;
443
443
  text-rendering: optimizeLegibility;
444
444
  }
445
- .ds-247420 ::selection { background: var(--mascot); color: var(--ink); }
445
+ .ds-247420 ::selection { background: color-mix(in oklab, var(--accent) 24%, var(--bg-2)); color: var(--fg); }
446
446
 
447
447
  /* Every root has a CQ container so fluid type can resolve to a meaningful inline-size. */
448
448
  .ds-247420 .app, .ds-247420[class*="kit-"], .ds-247420 .ds-stage {
@@ -979,12 +979,17 @@
979
979
  .ds-247420 .row.rail-purple::before { background: var(--purple-2, #7F18A4); }
980
980
  .ds-247420 .row.rail-flame::before { background: var(--flame); }
981
981
  .ds-247420 .row-grid { /* explicit grid-template-columns set inline */ }
982
+ /* A row with no leading code/index drops the empty first column so the title
983
+ takes the full width instead of wrapping in the narrow code gutter. */
984
+ .ds-247420 .row.row-nocode { grid-template-columns: minmax(0, 1fr) auto; }
982
985
 
983
986
  .ds-247420 .row .code { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
984
987
  .ds-247420 .row .title { font-family: var(--ff-body); font-weight: 600; font-size: var(--fs-lg); line-height: var(--lh-snug, 1.3); display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; min-width: 0; }
985
988
  .ds-247420 .row .title .sub { font-family: var(--ff-body); font-weight: 400; font-size: var(--fs-sm); color: var(--fg-3); }
986
989
  .ds-247420 .row .sub { font-family: var(--ff-body); font-weight: 400; font-size: var(--fs-sm); color: var(--fg-3); }
987
990
  .ds-247420 .row .meta { font-family: var(--ff-mono); font-size: var(--fs-xs); color: var(--fg-3); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; align-self: center; }
991
+ /* WorksList meta pairs a label with a disclosure chevron, inline-aligned. */
992
+ .ds-247420 .ds-works-meta { display: inline-flex; align-items: center; gap: .4em; }
988
993
 
989
994
  .ds-247420 a.row { text-decoration: none; }
990
995
 
@@ -2336,36 +2341,43 @@
2336
2341
  .ds-247420 .chat-msg:nth-child(n+4) { animation-delay: 0.15s; }
2337
2342
  }
2338
2343
 
2344
+ /* Calm composer (claude.ai/code): ONE bordered rounded-rect shell holding the
2345
+ context line, a borderless textarea, the hint, and an inline send button -
2346
+ not a stadium pill + a floating round send. The shell carries the border and
2347
+ the focus ring; the textarea fills it transparently. flex-wrap lets the
2348
+ context line and hint occupy their own rows above/below the input row. */
2339
2349
  .ds-247420 .chat-composer {
2340
- display: flex; align-items: flex-end; gap: 8px;
2341
- padding: var(--space-3) 0 0;
2342
- border-top: 1px solid color-mix(in oklab, var(--fg) 8%, transparent);
2350
+ display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--space-2);
2351
+ padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
2352
+ background: var(--bg);
2353
+ border: var(--bw-hair) solid var(--rule);
2354
+ border-radius: var(--r-2);
2343
2355
  flex-shrink: 0;
2356
+ transition: border-color var(--dur-snap) var(--ease), box-shadow var(--dur-snap) var(--ease);
2357
+ }
2358
+ .ds-247420 .chat-composer:focus-within {
2359
+ border-color: var(--accent);
2360
+ box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 18%, transparent);
2344
2361
  }
2345
2362
  .ds-247420 .chat-composer textarea {
2346
- flex: 1; padding: 12px 16px;
2347
- background: var(--bg-2); color: var(--fg);
2348
- border: 1px solid transparent; border-radius: var(--r-pill);
2363
+ flex: 1; min-width: 0; padding: 8px 4px;
2364
+ background: none; color: var(--fg);
2365
+ border: none; border-radius: 0;
2349
2366
  font-family: inherit; font-size: var(--fs-sm);
2350
- line-height: 1.4; resize: none;
2351
- min-height: 44px; max-height: 200px;
2367
+ line-height: 1.45; resize: none;
2368
+ min-height: 28px; max-height: 200px;
2352
2369
  box-sizing: border-box; overflow-y: auto;
2353
2370
  scrollbar-width: thin;
2354
2371
  }
2355
2372
  .ds-247420 .chat-composer textarea::placeholder { color: var(--fg-3); }
2356
- .ds-247420 .chat-composer textarea:focus {
2357
- background: var(--bg-2);
2358
- border-color: var(--accent);
2359
- box-shadow: 0 0 0 2px color-mix(in oklab, var(--accent) 20%, transparent);
2360
- outline: none;
2361
- }
2373
+ .ds-247420 .chat-composer textarea:focus { background: none; border: none; box-shadow: none; outline: none; }
2362
2374
  .ds-247420 .chat-composer .send {
2363
- width: 44px; height: 44px; border-radius: 50%;
2375
+ width: 36px; height: 36px; border-radius: var(--r-1);
2364
2376
  background: var(--accent); color: var(--accent-fg);
2365
2377
  border: 0; cursor: pointer;
2366
2378
  display: inline-flex; align-items: center; justify-content: center;
2367
2379
  flex-shrink: 0;
2368
- transition: background var(--dur-snap, .15s) var(--ease, ease), transform .1s ease;
2380
+ transition: background var(--dur-snap, .15s) var(--ease, ease);
2369
2381
  }
2370
2382
  .ds-247420 .chat-composer .send:disabled { opacity: .5; cursor: not-allowed; }
2371
2383
  /* Ghost icon buttons in the toolbar (attach / emoji / more) — NOT the round
@@ -2379,8 +2391,8 @@
2379
2391
  transition: background var(--dur-snap, .15s) var(--ease, ease), color var(--dur-snap, .15s) var(--ease, ease);
2380
2392
  }
2381
2393
  .ds-247420 .composer-btn:hover { background: color-mix(in oklab, var(--fg) 8%, transparent); color: var(--fg); }
2382
- .ds-247420 .chat-composer .send:hover { transform: scale(1.04); }
2383
- .ds-247420 .chat-composer .send:active { transform: scale(0.96); }
2394
+ .ds-247420 .chat-composer .send:hover { filter: brightness(1.08); }
2395
+ .ds-247420 .chat-composer .send:active { filter: brightness(0.94); }
2384
2396
  .ds-247420 .chat-composer .send:focus-visible,
2385
2397
  .ds-247420 .composer-btn:focus-visible {
2386
2398
  outline: 2px solid var(--accent);
@@ -3228,6 +3240,12 @@
3228
3240
  .ds-247420 .ws-shell.ws-no-pane.ws-pane-collapsed.ws-no-sessions { grid-template-columns: var(--ws-rail-w) 1fr var(--ws-pane-w); grid-template-areas: "rail content pane"; }
3229
3241
  .ds-247420 .ws-shell.ws-rail-collapsed { --ws-rail-w: var(--ws-rail-w-collapsed); }
3230
3242
  .ds-247420 .ws-shell.ws-pane-collapsed { --ws-pane-w: 0px; }
3243
+ /* Ease the rail/pane collapse. Track COUNT stays stable on collapse (only a
3244
+ width var flips), so grid-template-columns is animatable; reduced-motion
3245
+ drops it to an instant swap. */
3246
+ @media (prefers-reduced-motion: no-preference) {
3247
+ .ds-247420 .ws-shell { transition: grid-template-columns var(--dur-base) var(--ease); }
3248
+ }
3231
3249
 
3232
3250
  /* Rail (left nav) */
3233
3251
  .ds-247420 .ws-rail {
@@ -3298,9 +3316,17 @@
3298
3316
 
3299
3317
  /* Content column */
3300
3318
  .ds-247420 .ws-content { grid-area: content; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
3301
- .ds-247420 .ws-crumb { flex: 0 0 auto; display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3319
+ /* Crumb band is the top chrome of the content column: a stable height so the
3320
+ top edge aligns with the rail head, and a left gutter matching .ws-main so
3321
+ the trail text is not flush against the rail border. */
3322
+ .ds-247420 .ws-crumb { flex: 0 0 auto; min-height: 48px; padding: 0 var(--space-4); display: flex; align-items: center; gap: var(--space-1); border-bottom: var(--bw-hair) solid var(--bg-3); }
3302
3323
  .ds-247420 .ws-crumb-main { flex: 1 1 auto; min-width: 0; }
3303
- .ds-247420 .ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; }
3324
+ /* Content column gutter. Claude-Code-class calm: file grid / dashboard / event
3325
+ list / history get a generous, consistent inner gutter instead of butting
3326
+ against the 1px column borders. The chat tab opts out via .ws-main--flush
3327
+ because the chat thread carries its own --measure gutter. */
3328
+ .ds-247420 .ws-main { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; padding: var(--space-4) var(--space-5); }
3329
+ .ds-247420 .ws-main.ws-main--flush { padding: 0; }
3304
3330
  .ds-247420 .ws-main:focus { outline: none; }
3305
3331
 
3306
3332
  /* Right context pane */
@@ -3345,8 +3371,11 @@
3345
3371
  .ds-247420 .ws-rail-collapsed .ws-rail-item-label, .ds-247420 .ws-rail-collapsed .ws-rail-brand { display: none; }
3346
3372
  /* Tap-scrim behind an open drawer; dismiss on click. Hidden unless a drawer
3347
3373
  is open so it never blocks the content area on desktop. */
3348
- .ds-247420 .ws-scrim { display: none; position: fixed; inset: 0; z-index: 41; background: color-mix(in srgb, var(--fg) 38%, transparent); }
3349
- .ds-247420 .ws-shell.ws-sessions-open .ws-scrim, .ds-247420 .ws-shell.ws-pane-open .ws-scrim { display: block; }
3374
+ /* Scrim is always present on mobile so it can FADE with the drawer instead of
3375
+ hard-appearing via a display toggle; pointer-events gate keeps it inert
3376
+ while closed. Reduced-motion users get the global transition kill -> instant. */
3377
+ .ds-247420 .ws-scrim { display: block; opacity: 0; pointer-events: none; position: fixed; inset: 0; z-index: 41; background: color-mix(in srgb, var(--fg) 38%, transparent); transition: opacity var(--dur-base) var(--ease); }
3378
+ .ds-247420 .ws-shell.ws-sessions-open .ws-scrim, .ds-247420 .ws-shell.ws-pane-open .ws-scrim { opacity: 1; pointer-events: auto; }
3350
3379
  /* The mobile drawer-toggle affordances live in the crumb bar. */
3351
3380
  .ds-247420 .ws-drawer-toggle { display: inline-flex; }
3352
3381
  }