@astryxdesign/lab 0.1.4-canary.efa3ea5 → 0.1.4-canary.f01eb10

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/README.md CHANGED
@@ -12,8 +12,6 @@ Components in lab:
12
12
  - Compose with `@astryxdesign/core` components (use the theme, follow naming conventions)
13
13
  - Graduate to `@astryxdesign/core` after thorough engineering review
14
14
 
15
- See the **[Component Lifecycle](https://github.com/facebook/astryx/wiki/Component-Lifecycle)** wiki for how a component moves from lab → core (and the promotion gates), and the **[Component Hardening Protocol](https://github.com/facebook/astryx/wiki/Component-Hardening-Protocol)** for the bar a component must clear to graduate.
16
-
17
15
  ## What's here vs what's in core
18
16
 
19
17
  **Lab:** Works, has basic props, maybe has stories. API might change. Not accessibility-hardened, not vibe-tested, not fully themed. **Canary-only — no stability promise.**
package/dist/index.d.ts CHANGED
@@ -14,7 +14,6 @@ export { CodeEditor, type CodeEditorProps } from './CodeEditor';
14
14
  export { tokenize, tokenizeAsync, SYNC_TOKENIZE_THRESHOLD, type SyntaxToken, } from '@astryxdesign/core/CodeBlock';
15
15
  export { InfoTip, type InfoTipProps, type InfoTipSize } from './InfoTip';
16
16
  export { ChatReasoning, type ChatReasoningProps, } from './ChatReasoning/ChatReasoning';
17
- export { Drawer, type DrawerProps } from './Drawer';
18
17
  export * from './Schedule';
19
18
  export { SVGIcon, type SVGIconProps, type SVGIconVariation, type SVGIconSize, type SVGIconColor, type SVGIconDef, type IconShape, type IconShapeRole, iconVars, variations, opticalSize, xIcon, checkIcon, bellIcon, homeIcon, settingsIcon, calendarIcon, menuIcon, heartIcon, eyeIcon, starIcon, folderIcon, shieldIcon, searchIcon, mailIcon, lockIcon, starterIcons, } from './SVGIcon';
20
19
  export { Chart, type ChartProps, type YBaseline, ChartAxis, type ChartAxisProps, ChartGrid, type ChartGridProps, ChartBar, type ChartBarProps, ChartLine, type ChartLineProps, ChartArea, type ChartAreaProps, ChartErrorBar, type ChartErrorBarProps, ChartCandlestick, type ChartCandlestickProps, ChartDot, type ChartDotProps, ChartDotGL, type ChartDotGLProps, ChartDotGLInteractive, type ChartDotGLInteractiveProps, ChartHeatmapGL, type ChartHeatmapGLProps, ChartStreamGL, type ChartStreamGLProps, type ChartStreamGLHandle, ChartTooltip, type ChartTooltipProps, type ChartCrosshairMode, ChartLegend, type ChartLegendProps, type ChartLegendItem, useChart, type ChartContext, type ChartMargin, type ChartScale, m4Reduce, type M4Point, useChartColors, useChartRange, type UseChartRangeOptions, type UseChartRangeReturn, getChartColors, getChartColorsFromResolver, type ChartColorsAPI, type SequentialHue, type TokenResolver, compactNumber, currency, percent, shortDate, monthYear, } from './Chart';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,9 +23,6 @@ export { InfoTip } from "./InfoTip/index.js";
23
23
  // Chat — experimental reasoning display
24
24
  export { ChatReasoning } from "./ChatReasoning/ChatReasoning.js";
25
25
 
26
- // Drawer — experimental overlay panel
27
- export { Drawer } from "./Drawer/index.js";
28
-
29
26
  // Schedule — experimental full-calendar views
30
27
  export * from "./Schedule/index.js";
31
28
 
package/dist/lab.css CHANGED
@@ -9,8 +9,6 @@
9
9
  @property --x-height { syntax: "*"; inherits: false;}
10
10
  @property --x-insetInlineStart { syntax: "*"; inherits: false;}
11
11
  @property --x-marginBlockStart { syntax: "*"; inherits: false;}
12
- @property --x-maxHeight { syntax: "*"; inherits: false;}
13
- @property --x-maxWidth { syntax: "*"; inherits: false;}
14
12
  @property --x-minHeight { syntax: "*"; inherits: false;}
15
13
  @property --x-minWidth { syntax: "*"; inherits: false;}
16
14
  @property --x-top { syntax: "*"; inherits: false;}
@@ -105,7 +103,6 @@
105
103
  .x1a2a7pz:not(#\#):not(#\#){outline:none}
106
104
  .xysyzu8:not(#\#):not(#\#){overflow:auto}
107
105
  .xb3r6kr:not(#\#):not(#\#){overflow:hidden}
108
- .xish69e:not(#\#):not(#\#){overscroll-behavior:contain}
109
106
  .x13f7esw:not(#\#):not(#\#){padding-block:var(--spacing-0-5)}
110
107
  .xu0wf1k:not(#\#):not(#\#){padding-block:var(--spacing-1)}
111
108
  .xce4md1:not(#\#):not(#\#){padding-block:var(--spacing-2)}
@@ -135,7 +132,6 @@
135
132
  .x1mla6dk:not(#\#):not(#\#):not(#\#){animation-name:xr5kuex-B}
136
133
  .x4hg4is:not(#\#):not(#\#):not(#\#){animation-timing-function:ease-in-out}
137
134
  .x1esw782:not(#\#):not(#\#):not(#\#){animation-timing-function:linear}
138
- .xjyslct:not(#\#):not(#\#):not(#\#){appearance:none}
139
135
  .x1ta4xzc:not(#\#):not(#\#):not(#\#){background-clip:text}
140
136
  .xndu7tf:not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-border-blue) 10%,var(--color-background-card))}
141
137
  .xuei7rd:not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-border-blue) 20%,var(--color-background-card))}
@@ -169,7 +165,6 @@
169
165
  .xnpoty2:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-pink)}
170
166
  .x16i6n6f:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-purple)}
171
167
  .x1cibrc5:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-red)}
172
- .x10xzikg:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}
173
168
  .x1jtji5o:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-teal)}
174
169
  .x1bo7t0x:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-yellow)}
175
170
  .xr0mm9x:not(#\#):not(#\#):not(#\#){background-color:var(--color-border-blue)}
@@ -192,12 +187,7 @@
192
187
  .x18b5jzi:not(#\#):not(#\#):not(#\#){border-inline-end-style:solid}
193
188
  .x10w94by:not(#\#):not(#\#):not(#\#){border-inline-end-width:0}
194
189
  .xw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}
195
- .x1j92z86:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-border)}
196
- .x1t7ytsu:not(#\#):not(#\#):not(#\#){border-inline-start-style:solid}
197
- .xgbv0en:not(#\#):not(#\#):not(#\#){border-inline-start-width:var(--border-width)}
198
190
  .x18oyj42:not(#\#):not(#\#):not(#\#){box-shadow:0 0 0 1px var(--color-accent)}
199
- .x1kcpxr7:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-high)}
200
- .x9f619:not(#\#):not(#\#):not(#\#){box-sizing:border-box}
201
191
  .x1ftfhsn:not(#\#):not(#\#):not(#\#){caret-color:var(--color-text-primary)}
202
192
  .xeh89do:not(#\#):not(#\#):not(#\#){clip:rect(0 0 0 0)}
203
193
  .xzpqnlu:not(#\#):not(#\#):not(#\#){clip:rect(0,0,0,0)}
@@ -245,26 +235,21 @@
245
235
  .x78zum5:not(#\#):not(#\#):not(#\#){display:flex}
246
236
  .xrvj5dj:not(#\#):not(#\#):not(#\#){display:grid}
247
237
  .x3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}
248
- .x1s85apg:not(#\#):not(#\#):not(#\#){display:none}
249
238
  .xbh8q5q:not(#\#):not(#\#):not(#\#){fill:none}
250
239
  .xdt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}
251
240
  .x1q0g3np:not(#\#):not(#\#):not(#\#){flex-direction:row}
252
- .x1iyjqo2:not(#\#):not(#\#):not(#\#){flex-grow:1}
253
241
  .x2lah0s:not(#\#):not(#\#):not(#\#){flex-shrink:0}
254
- .xjb2p0i:not(#\#):not(#\#):not(#\#){font-family:inherit}
255
242
  .x9ynric:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-body)}
256
243
  .x9m5x89:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-code)}
257
244
  .x1k6wstc:not(#\#):not(#\#):not(#\#){font-size:10px}
258
245
  .x1j29vfg:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-base)}
259
246
  .x1eqnyfr:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-sm)}
260
247
  .xjm74w1:not(#\#):not(#\#):not(#\#){font-size:var(--text-body-size)}
261
- .xcr08ib:not(#\#):not(#\#):not(#\#){font-size:var(--text-label-size)}
262
248
  .x141an7d:not(#\#):not(#\#):not(#\#){font-size:var(--text-supporting-size)}
263
249
  .x1lvx875:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-bold)}
264
250
  .x1e4wzip:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-medium)}
265
251
  .x1sodnla:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-normal)}
266
252
  .x2mo6ok:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-semibold)}
267
- .xmhvcl5:not(#\#):not(#\#):not(#\#){font-weight:var(--text-label-weight)}
268
253
  .x1pbwhf9:not(#\#):not(#\#):not(#\#){grid-auto-columns:minmax(140px,1fr)}
269
254
  .x1mt1orb:not(#\#):not(#\#):not(#\#){grid-auto-flow:column}
270
255
  .xc2ull6:not(#\#):not(#\#):not(#\#){grid-auto-rows:128px}
@@ -278,12 +263,7 @@
278
263
  .xihq33y:not(#\#):not(#\#):not(#\#){grid-template-rows:0fr}
279
264
  .x1tu4anv:not(#\#):not(#\#):not(#\#){grid-template-rows:1fr}
280
265
  .xb29p26:not(#\#):not(#\#):not(#\#){grid-template-rows:56px auto 1fr}
281
- .xtijo5x:not(#\#):not(#\#):not(#\#){inset-inline-end:0}
282
- .x1woyocn:not(#\#):not(#\#):not(#\#){inset-inline-end:auto}
283
266
  .xq124y2:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-0-5)}
284
- .x72tfeb:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-2)}
285
- .x1o0tod:not(#\#):not(#\#):not(#\#){inset-inline-start:0}
286
- .xhi6v0a:not(#\#):not(#\#):not(#\#){inset-inline-start:auto}
287
267
  .x1lxsm33:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--x-insetInlineStart)}
288
268
  .xl56j7k:not(#\#):not(#\#):not(#\#){justify-content:center}
289
269
  .x13a6bvl:not(#\#):not(#\#):not(#\#){justify-content:flex-end}
@@ -295,7 +275,6 @@
295
275
  .xklk4pu:not(#\#):not(#\#):not(#\#){line-height:30px}
296
276
  .xw6l6zx:not(#\#):not(#\#):not(#\#){line-height:var(--text-body-leading)}
297
277
  .x17iicif:not(#\#):not(#\#):not(#\#){line-height:var(--text-code-leading)}
298
- .x1kq96og:not(#\#):not(#\#):not(#\#){line-height:var(--text-label-leading)}
299
278
  .x1ltkj2j:not(#\#):not(#\#):not(#\#){line-height:var(--text-supporting-leading)}
300
279
  .x3ct3a4:not(#\#):not(#\#):not(#\#){list-style-type:none}
301
280
  .x1h1dc9q:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(var(--spacing-0-5) + var(--border-width))}
@@ -318,7 +297,6 @@
318
297
  .x67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}
319
298
  .x47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}
320
299
  .x10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}
321
- .xixxii4:not(#\#):not(#\#):not(#\#){position:fixed}
322
300
  .x1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}
323
301
  .x1owpc8m:not(#\#):not(#\#):not(#\#){stroke-linecap:round}
324
302
  .ximx5ud:not(#\#):not(#\#):not(#\#){stroke:var(--color-accent-muted)}
@@ -336,24 +314,15 @@
336
314
  .xp4054r:not(#\#):not(#\#):not(#\#){text-align:end}
337
315
  .x1yc453h:not(#\#):not(#\#):not(#\#){text-align:start}
338
316
  .xlyipyv:not(#\#):not(#\#):not(#\#){text-overflow:ellipsis}
339
- .xx69xxh:not(#\#):not(#\#):not(#\#){touch-action:pan-y}
340
317
  .x9tu13d:not(#\#):not(#\#):not(#\#){transform:rotate(-90deg)}
341
318
  .x19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}
342
- .x5i6ehr:not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}
343
- .xbryuvx:not(#\#):not(#\#):not(#\#){transform:translateX(0)}
344
- .xumwmo6:not(#\#):not(#\#):not(#\#){transform:translateX(100%)}
345
- .x105ttfm:not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}
346
319
  .x1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}
347
- .xnn1q72:not(#\#):not(#\#):not(#\#){transform:translateY(0)}
348
- .x1weeur4:not(#\#):not(#\#):not(#\#){transform:translateY(100%)}
349
- .xd00j3c:not(#\#):not(#\#):not(#\#){transition-behavior:allow-discrete}
350
320
  .xkvfbh3:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-min)}
351
321
  .xuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}
352
322
  .x80gvsz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium)}
353
323
  .x15406qy:not(#\#):not(#\#):not(#\#){transition-property:background-color}
354
324
  .xt3l3uh:not(#\#):not(#\#):not(#\#){transition-property:color}
355
325
  .xxnu56j:not(#\#):not(#\#):not(#\#){transition-property:stroke-dashoffset}
356
- .x1yw18vd:not(#\#):not(#\#):not(#\#){transition-property:transform,max-width,display}
357
326
  .xlr8y92:not(#\#):not(#\#):not(#\#){transition-timing-function:var(--ease-standard)}
358
327
  .x87ps6o:not(#\#):not(#\#):not(#\#){user-select:none}
359
328
  .xxymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}
@@ -361,18 +330,13 @@
361
330
  .xuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}
362
331
  .x1sdyfia:not(#\#):not(#\#):not(#\#){white-space:pre}
363
332
  .x1lldw8n:not(#\#):not(#\#):not(#\#){word-break:normal}
364
- .x98t3bc:not(#\#):not(#\#):not(#\#){writing-mode:vertical-rl}
365
333
  .x1vjfegm:not(#\#):not(#\#):not(#\#){z-index:1}
366
334
  .x1355qak:not(#\#):not(#\#):not(#\#){z-index:20}
367
335
  .xr3buco:not(#\#):not(#\#):not(#\#){z-index:var(--x-zIndex)}
368
336
  .x7s97pk:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:2px}
369
- .x1df3fe5:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}
370
- .xttggg:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}
371
- .xtao9ic:hover:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}
372
337
  .xyxi2l3:active:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}
373
338
  @media (prefers-reduced-motion: reduce){.xnh0sag.xnh0sag:not(#\#):not(#\#):not(#\#){animation-duration:3s}}
374
339
  @media (prefers-reduced-motion: reduce){.xy02sl2.xy02sl2:not(#\#):not(#\#):not(#\#){animation-duration:4s}}
375
- @media (prefers-reduced-motion: reduce){.xzg1mie.xzg1mie:not(#\#):not(#\#):not(#\#){transition-duration:.01s}}
376
340
  @media (hover: hover){.xe9uy6x.xe9uy6x:hover:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}}
377
341
  @media (hover: hover){.xkxie9p.xkxie9p:hover:not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}}
378
342
  .xw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}
@@ -380,13 +344,8 @@
380
344
  .x1qhh985:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0}
381
345
  .x92x3c3:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:var(--border-width)}
382
346
  .x5mp61g:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border-orange)}
383
- .x1pc3f07:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border)}
384
347
  .x13fuv20:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:solid}
385
348
  .xamhcws:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:2px}
386
- .x11xkdxz:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:var(--border-width)}
387
- .x1ey2m1c:not(#\#):not(#\#):not(#\#):not(#\#){bottom:0}
388
- .xdd4er5:not(#\#):not(#\#):not(#\#):not(#\#){bottom:auto}
389
- .xtdtrs8:not(#\#):not(#\#):not(#\#):not(#\#){height:100dvh}
390
349
  .x170jfvy:not(#\#):not(#\#):not(#\#):not(#\#){height:10px}
391
350
  .x1v9usgg:not(#\#):not(#\#):not(#\#):not(#\#){height:14px}
392
351
  .xlup9mm:not(#\#):not(#\#):not(#\#):not(#\#){height:16px}
@@ -404,11 +363,6 @@
404
363
  .x160xvyo:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(var(--spacing-1) * -1)}
405
364
  .xtbrsbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-2)}
406
365
  .x1vhfslr:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--x-marginBlockStart)}
407
- .x7ab17h:not(#\#):not(#\#):not(#\#):not(#\#){max-height:none}
408
- .x1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}
409
- .x1k2d6hx:not(#\#):not(#\#):not(#\#):not(#\#){max-width:44px}
410
- .x1x1rfll:not(#\#):not(#\#):not(#\#):not(#\#){max-width:none}
411
- .xf68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}
412
366
  .x2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}
413
367
  .xjwf9q1:not(#\#):not(#\#):not(#\#):not(#\#){min-height:24px}
414
368
  .x1cy360x:not(#\#):not(#\#):not(#\#):not(#\#){min-height:3em}
@@ -418,20 +372,14 @@
418
372
  .x1uz6y0c:not(#\#):not(#\#):not(#\#):not(#\#){min-width:784px}
419
373
  .xkj4a21:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--x-minWidth)}
420
374
  .xw2csxc:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:auto}
421
- .x6ikm8r:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:hidden}
422
- .x1odjw0f:not(#\#):not(#\#):not(#\#):not(#\#){overflow-y:auto}
423
375
  .x1j85h84:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:1px}
424
376
  .xy143xn:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-1)}
425
377
  .xpgmcrp:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--icon-block-offset)}
426
378
  .xbx876j:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-0-5)}
427
379
  .x1xye8es:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-2)}
428
- .x13vifvy:not(#\#):not(#\#):not(#\#):not(#\#){top:0}
429
- .x80663w:not(#\#):not(#\#):not(#\#):not(#\#){top:auto}
430
- .xctzyg:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-2)}
431
380
  .xyx6v2t:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-3)}
432
381
  .xjbys53:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--x-top)}
433
382
  .xh8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}
434
- .x1o6l61p:not(#\#):not(#\#):not(#\#):not(#\#){width:100dvw}
435
383
  .x1fsd2vl:not(#\#):not(#\#):not(#\#):not(#\#){width:10px}
436
384
  .x6jxa94:not(#\#):not(#\#):not(#\#):not(#\#){width:14px}
437
385
  .x1kky2od:not(#\#):not(#\#):not(#\#):not(#\#){width:16px}
@@ -442,40 +390,25 @@
442
390
  .x1oai4fc:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--icon-size)}
443
391
  .x12xnipv:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-4)}
444
392
  .xfyiiit:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-5)}
445
- @starting-style{.x6mt36l.x6mt36l:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}}
446
- @starting-style{.x1yqmsfc.x1yqmsfc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}}
447
- @starting-style{.xub2912.xub2912:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}}
448
- @starting-style{.xhbqy3z.xhbqy3z:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(100%)}}
449
- @starting-style{.x1lymnkk.x1lymnkk:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(-100%)}}
450
- @starting-style{.x14gflnl.x14gflnl:is([dir="rtl"] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateX(100%)}}
451
- .xmwhqxd:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-radius:var(--radius-full)}
452
- .xq94oqs:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{border-radius:var(--radius-full)}
453
- .xm4btww:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline:0}
454
- .x1abwkk1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{backdrop-filter:blur(2px)}
455
- .x19jfor0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{background-color:var(--color-border-orange)}
456
- .xvgeimn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{background-color:var(--color-border-orange)}
457
- .xnixb3f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{background-color:var(--color-overlay)}
458
- .x1cpjm7i:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:""}
459
- .x1s928wv:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{content:""}
460
- .xxxjk75:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{inset-inline-start:-1px}
461
- .xh7j7mt:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline-start:-6px}
462
- .xph5o2a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}
463
- .xb3n6bw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:1}
464
- .x1hmns74:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{position:absolute}
465
- .x1j6awrg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{position:absolute}
466
- .xft5bk6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-duration:var(--duration-medium)}
467
- .x167zut7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-property:opacity}
468
- .x15h3t91:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-timing-function:var(--ease-standard)}
469
- @media (prefers-reduced-motion: reduce){.x1viac0w.x1viac0w:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-duration:.01s}}
470
- .x1b5r9ul:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-color:var(--color-border-orange)}
471
- .xnvurfn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-style:solid}
472
- .x1b8stmw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-width:2px}
473
- .x17zp9gg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{height:10px}
474
- .x1bymyaz:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{height:10px}
475
- .x1mpa3hi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{top:-6px}
476
- .x1m1drc7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{top:0}
477
- .xw9j58:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{top:4px}
478
- .xaknh5y:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{width:10px}
479
- .xg4xgkf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{width:10px}
480
- @starting-style{.xxiuuzi.xxiuuzi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}}
393
+ .xmwhqxd:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-radius:var(--radius-full)}
394
+ .xq94oqs:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{border-radius:var(--radius-full)}
395
+ .xm4btww:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline:0}
396
+ .x19jfor0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{background-color:var(--color-border-orange)}
397
+ .xvgeimn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{background-color:var(--color-border-orange)}
398
+ .x1cpjm7i:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{content:""}
399
+ .x1s928wv:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{content:""}
400
+ .xxxjk75:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{inset-inline-start:-1px}
401
+ .xh7j7mt:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{inset-inline-start:-6px}
402
+ .x1hmns74:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{position:absolute}
403
+ .x1j6awrg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{position:absolute}
404
+ .x1b5r9ul:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-color:var(--color-border-orange)}
405
+ .xnvurfn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-style:solid}
406
+ .x1b8stmw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{border-top-width:2px}
407
+ .x17zp9gg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{height:10px}
408
+ .x1bymyaz:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{height:10px}
409
+ .x1mpa3hi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{top:-6px}
410
+ .x1m1drc7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{top:0}
411
+ .xw9j58:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{top:4px}
412
+ .xaknh5y:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::before{width:10px}
413
+ .xg4xgkf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::after{width:10px}
481
414
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/lab",
3
- "version": "0.1.4-canary.efa3ea5",
3
+ "version": "0.1.4-canary.f01eb10",
4
4
  "description": "Experimental Astryx components — published to npm only under the @canary dist-tag for early testing; never released as a stable (latest) version.",
5
5
  "author": "Meta Open Source",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@stylexjs/stylex": ">=0.10.0",
48
- "@astryxdesign/core": "0.1.4-canary.efa3ea5",
48
+ "@astryxdesign/core": "0.1.4-canary.f01eb10",
49
49
  "react": ">=19.0.0",
50
50
  "react-dom": ">=19.0.0"
51
51
  },
package/src/index.ts CHANGED
@@ -31,9 +31,6 @@ export {
31
31
  type ChatReasoningProps,
32
32
  } from './ChatReasoning/ChatReasoning';
33
33
 
34
- // Drawer — experimental overlay panel
35
- export {Drawer, type DrawerProps} from './Drawer';
36
-
37
34
  // Schedule — experimental full-calendar views
38
35
  export * from './Schedule';
39
36
 
@@ -1,135 +0,0 @@
1
- /**
2
- * @file Drawer.tsx
3
- * @input Uses React, StyleX, theme tokens, Icon/IconButton, useScrollLock, BaseProps, mergeProps/mergeRefs, themeProps
4
- * @output Exports Drawer component and DrawerProps
5
- * @position Lab implementation; consumed by index.ts, tested by Drawer.test.tsx, demonstrated in Storybook
6
- *
7
- * Edge-anchored overlay panel for inspectors, detail views, and sheets —
8
- * the "click a table row, see its details" pattern. Slides in from any of
9
- * the four edges: inline start/end (side panels) or block top/bottom
10
- * (full-width sheets).
11
- *
12
- * Uses the native `<dialog>` element (same precedent as Dialog/MobileNav):
13
- * - `showModal()` when `hasScrim` (default) — top-layer rendering, focus
14
- * trapping, `::backdrop`, no z-index management.
15
- * - `show()` when `hasScrim={false}` — non-modal overlay; the page behind
16
- * stays interactive (e.g. master-detail inspectors).
17
- *
18
- * Entry animation uses `@starting-style` + `transition-behavior:
19
- * allow-discrete` (see CLAUDE.md dialog-entry pattern); exit slides out
20
- * before a delayed `dialog.close()` releases the top layer and restores
21
- * focus to the element that opened the drawer.
22
- *
23
- * Sibling drawers coordinate through a module-level LIFO registry: Escape
24
- * closes only the top (last-opened) drawer, and non-modal drawers stack
25
- * last-opened-on-top via registry-assigned z-indexes.
26
- *
27
- * SYNC: When modified, update these files to stay in sync:
28
- * - /packages/lab/src/Drawer/Drawer.doc.mjs (props table, features, usage)
29
- * - /packages/lab/src/Drawer/Drawer.test.tsx (tests for new/changed behavior)
30
- * - /packages/lab/src/Drawer/index.ts (exports if types change)
31
- * - /apps/storybook/stories/Drawer.stories.tsx (examples and visual coverage)
32
- */
33
- import { type ReactNode } from 'react';
34
- import type { BaseProps } from '@astryxdesign/core';
35
- export interface DrawerProps extends BaseProps<HTMLDialogElement> {
36
- /** Ref forwarded to the root <dialog> element */
37
- ref?: React.Ref<HTMLDialogElement>;
38
- /**
39
- * Whether the drawer is open. Fully controlled — pair with `onClose`.
40
- */
41
- isOpen: boolean;
42
- /**
43
- * Called when the drawer requests to be closed
44
- * (Escape key, scrim click, built-in close button). The caller owns the
45
- * open state. When sibling drawers are open, Escape only closes the
46
- * top (last-opened) drawer.
47
- */
48
- onClose: () => void;
49
- /**
50
- * Which edge the drawer slides from.
51
- * - `'end'` — inline-end edge (right in LTR) — the inspector convention
52
- * - `'start'` — inline-start edge (left in LTR)
53
- * - `'top'` / `'bottom'` — full-width sheets on the block axis
54
- * @default 'end'
55
- */
56
- side?: 'start' | 'end' | 'top' | 'bottom';
57
- /**
58
- * Size budget of the panel along its slide axis: width for
59
- * `side="start"/"end"`, height for `side="top"/"bottom"`. A number is
60
- * pixels; a string is any CSS length (`'50%'`, `'40dvh'`). On viewports
61
- * smaller than the budget the drawer fills the axis.
62
- * @default 400
63
- */
64
- size?: number | string;
65
- /**
66
- * Accessible label for the drawer (required — the drawer has no
67
- * built-in heading to derive a name from). Also names the built-in
68
- * collapse/expand affordances.
69
- */
70
- label: string;
71
- /**
72
- * Whether to render a modal scrim behind the drawer.
73
- * - `true` (default) — `showModal()`: top layer, focus trap, body scroll
74
- * lock, click-outside-to-close.
75
- * - `false` — `show()`: non-modal overlay; the page behind stays
76
- * interactive. Escape still closes while focus is inside the drawer.
77
- * @default true
78
- */
79
- hasScrim?: boolean;
80
- /**
81
- * Whether to render the built-in close button in the top-trailing
82
- * corner. Defaults to the `hasScrim` value: modal drawers get a close
83
- * button, non-modal drawers don't.
84
- * @default hasScrim
85
- */
86
- hasCloseButton?: boolean;
87
- /**
88
- * Collapse the drawer to a narrow click-to-expand rail. Only supported
89
- * for non-modal (`hasScrim={false}`) drawers with `side="start"/"end"`;
90
- * ignored (with a dev warning) otherwise. Controlled — pair with
91
- * `onCollapsedChange`.
92
- */
93
- isCollapsed?: boolean;
94
- /**
95
- * Called when the built-in collapse/expand affordances are used.
96
- * Providing it renders a collapse toggle next to the close button while
97
- * expanded; the collapsed rail always expands on click.
98
- */
99
- onCollapsedChange?: (collapsed: boolean) => void;
100
- /**
101
- * Drawer content. Rendered inside a full-height scrollable area.
102
- * Focus the element with `data-autofocus` on open, if present.
103
- */
104
- children: ReactNode;
105
- /**
106
- * Test ID for the root element.
107
- */
108
- 'data-testid'?: string;
109
- }
110
- /**
111
- * An edge-anchored overlay panel for inspectors, detail views, and sheets.
112
- *
113
- * Slides in from the logical start/end edge (side panel) or the top/bottom
114
- * edge (full-width sheet) using the native `<dialog>` element: modal with a
115
- * scrim by default, or a non-modal inline overlay with `hasScrim={false}`.
116
- * Escape closes the top-most open drawer; focus returns to the element that
117
- * opened the drawer. Non-modal side drawers can collapse to a rail via
118
- * `isCollapsed`/`onCollapsedChange`.
119
- *
120
- * @example
121
- * ```
122
- * const [selected, setSelected] = useState(null);
123
- * <Drawer
124
- * isOpen={selected != null}
125
- * onClose={() => setSelected(null)}
126
- * label={`Details: ${selected?.name}`}>
127
- * <HostDetails host={selected} />
128
- * </Drawer>
129
- * ```
130
- */
131
- export declare function Drawer({ isOpen, onClose, side, size, label, hasScrim, hasCloseButton, isCollapsed, onCollapsedChange, children, xstyle, className, style, ref, ...props }: DrawerProps): import("react").JSX.Element;
132
- export declare namespace Drawer {
133
- var displayName: string;
134
- }
135
- //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../src/Drawer/Drawer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AA6SlD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IAC/D,iDAAiD;IACjD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAE1C;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,OAAO,EACP,IAAY,EACZ,IAAU,EACV,KAAK,EACL,QAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BAuQb;yBAvRe,MAAM"}