@astryxdesign/cli 0.7.12-canary.b87846c → 0.7.12-canary.c08de54

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.
@@ -128,6 +128,10 @@
128
128
  "kind": "component",
129
129
  "name": "CommentThread"
130
130
  },
131
+ {
132
+ "kind": "component",
133
+ "name": "DialogHeroHeader"
134
+ },
131
135
  {
132
136
  "kind": "component",
133
137
  "name": "DiffViewer"
@@ -136,6 +140,10 @@
136
140
  "kind": "component",
137
141
  "name": "EmojiPicker"
138
142
  },
143
+ {
144
+ "kind": "component",
145
+ "name": "LineClamp"
146
+ },
139
147
  {
140
148
  "kind": "component",
141
149
  "name": "ListInput"
@@ -74,6 +74,7 @@ function CouponField({statusVariant}: {statusVariant: FieldStatusPlacement}) {
74
74
  <div
75
75
  {...stylex.props(
76
76
  inputWrapperStyles.base,
77
+ inputWrapperStyles.textField,
77
78
  styles.field,
78
79
  status && inputStatusBorderStyles[status.type],
79
80
  )}>
@@ -1129,18 +1129,6 @@ const INITIAL_SAVED_VIEWS: SavedView[] = [
1129
1129
  const COMPACT_SURFACE_QUERY =
1130
1130
  '(max-width: 768px), (max-width: 1024px) and (pointer: coarse) and (hover: none)';
1131
1131
 
1132
- /**
1133
- * Top padding for whatever opens a BottomSheet, on the spacing scale.
1134
- *
1135
- * The panel's grab pill floats over the content instead of reserving layout
1136
- * space for itself: it is 4px centered in a 24px band, so it covers the top
1137
- * 10-14px of the sheet. Content that starts at the usual 16px gutter clears it
1138
- * by 2px, which does not read as a gap — it reads as the sheet being cut off.
1139
- * Opening at the full 24px band puts real space under the pill, and every
1140
- * sheet here uses this one value so they all start on the same line.
1141
- */
1142
- const SHEET_TOP_INSET = 6;
1143
-
1144
1132
  /**
1145
1133
  * Width the filter row holds back, in px, for the readout that trails the
1146
1134
  * clauses — the density toggle, the result count and Clear all.
@@ -1698,6 +1686,7 @@ const styles = stylex.create({
1698
1686
  fontSize: typeScaleVars['--text-body-size'],
1699
1687
  fontWeight: typeScaleVars['--text-body-weight'],
1700
1688
  height: 'auto',
1689
+ minHeight: 0,
1701
1690
  lineHeight: typeScaleVars['--text-body-leading'],
1702
1691
  paddingBlock: 0,
1703
1692
  paddingInline: 0,
@@ -2052,7 +2041,8 @@ function FilterOverflow({
2052
2041
  <VStack
2053
2042
  gap={2}
2054
2043
  padding={isCompactSurface ? 4 : 0}
2055
- paddingBlockStart={isCompactSurface ? SHEET_TOP_INSET : 0}>
2044
+ // In a sheet the sheet's band under its grab bar is the top inset.
2045
+ paddingBlockStart={0}>
2056
2046
  {items.map(({child, index}) => (
2057
2047
  <StackItem key={index} xstyle={styles.overflowItem}>
2058
2048
  {child}
@@ -2145,7 +2135,8 @@ function AdaptiveSavedViewForm({
2145
2135
  <Section
2146
2136
  variant="transparent"
2147
2137
  padding={4}
2148
- paddingBlockStart={SHEET_TOP_INSET}>
2138
+ // The sheet's band under its grab bar is the top inset.
2139
+ paddingBlockStart={0}>
2149
2140
  <VStack gap={4}>
2150
2141
  <HStack gap={2}>
2151
2142
  <StackItem size="fill">
@@ -4090,11 +4081,11 @@ export default function TableFilterTemplate() {
4090
4081
  label="View options"
4091
4082
  height="tall"
4092
4083
  // The tab strip compensates against a container inset, so the sheet
4093
- // publishes none and the wrapper below owns the top band.
4084
+ // publishes none; its band under the grab bar is the only top inset,
4085
+ // so the strip's own box starts at the tab row and its scroll arrow
4086
+ // lands on the tabs rather than above them.
4094
4087
  padding={0}>
4095
- {/* The inset is the wrapper's, so the strip's own box starts at the tab
4096
- row and its scroll arrow lands on the tabs rather than above them. */}
4097
- <VStack gap={0} paddingBlockStart={SHEET_TOP_INSET}>
4088
+ <VStack gap={0}>
4098
4089
  {/* The heading the popover puts above the pane is dropped here: it
4099
4090
  restates the selected tab word for word, and the strip already
4100
4091
  marks which one that is. On a phone that is a line of vertical
@@ -4148,14 +4139,15 @@ export default function TableFilterTemplate() {
4148
4139
  const detailBody =
4149
4140
  activeJob == null ? null : (
4150
4141
  <VStack gap={0} xstyle={styles.detailPanel}>
4151
- {/* The only part of the body that knows which host it is in: the sheet
4152
- needs the pill cleared, the docked panel has no pill and would just
4153
- sit 8px lower than the panels beside it. The two never coexist —
4154
- Layout drops the panel entirely on a compact surface. */}
4142
+ {/* The only part of the body that knows which host it is in: in the
4143
+ sheet, the sheet's band under its grab bar is the top inset; the
4144
+ docked panel has no pill and keeps the 16px gutter of the panels
4145
+ beside it. The two never coexist — Layout drops the panel entirely
4146
+ on a compact surface. */}
4155
4147
  <Section
4156
4148
  variant="transparent"
4157
4149
  padding={4}
4158
- paddingBlockStart={isCompactSurface ? SHEET_TOP_INSET : 4}>
4150
+ paddingBlockStart={isCompactSurface ? 0 : 4}>
4159
4151
  <VStack gap={4}>
4160
4152
  <HStack gap={2}>
4161
4153
  <StackItem size="fill">
@@ -1785,12 +1785,9 @@ function ComposeWindow({
1785
1785
  hasScrim={false}
1786
1786
  // The Layout below owns the inset; the sheet adds none of its own.
1787
1787
  padding={0}>
1788
- {/* The grab handle floats over the top edge, out of flow, about 12px
1789
- down. The Layout's own padding is not quite enough to clear it — the
1790
- heading came up level with the pill, four pixels under it — so the
1791
- sheet buys the handle its own band of space before the content
1792
- starts. */}
1793
- <VStack paddingBlockStart={3}>
1788
+ {/* The sheet keeps a band under its grab handle at rest, so the Layout
1789
+ starts below the pill without a band of its own. */}
1790
+ <VStack>
1794
1791
  <Layout
1795
1792
  // auto, not fill: the sheet is sized by this Layout now rather than
1796
1793
  // the other way round. `fill` would stretch it to a height that
@@ -394,8 +394,9 @@ export const butterTheme = defineTheme({
394
394
  // Radius intentionally not pinned, so buttons keep core's
395
395
  // `var(--_button-radius, --radius-element)`: standalone buttons stay 8px,
396
396
  // while the chat composer (which sets --_button-radius) rounds them fully.
397
+ // Inline padding only: a labelled button's size is its minimum height,
398
+ // and block padding would add to it.
397
399
  base: {
398
- paddingBlock: 'var(--spacing-3)',
399
400
  paddingInline: 'var(--spacing-4)',
400
401
  },
401
402
  'variant:secondary': SECONDARY_BUTTON,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/cli",
3
- "version": "0.7.12-canary.b87846c",
3
+ "version": "0.7.12-canary.c08de54",
4
4
  "displayName": "CLI",
5
5
  "description": "Scaffold projects, browse templates, generate themes, and get agent-ready docs from the command line.",
6
6
  "author": "Meta Open Source",
@@ -125,7 +125,7 @@
125
125
  "zod": "^4.4.3"
126
126
  },
127
127
  "peerDependencies": {
128
- "@astryxdesign/core": "0.7.12-canary.b87846c"
128
+ "@astryxdesign/core": "0.7.12-canary.c08de54"
129
129
  },
130
130
  "peerDependenciesMeta": {
131
131
  "@astryxdesign/core": {
@@ -133,10 +133,10 @@
133
133
  }
134
134
  },
135
135
  "devDependencies": {
136
- "@astryxdesign/charts": "0.7.12-canary.b87846c",
137
- "@astryxdesign/core": "0.7.12-canary.b87846c",
138
- "@astryxdesign/lab": "0.7.12-canary.b87846c",
139
- "@astryxdesign/theme-neutral": "0.7.12-canary.b87846c",
136
+ "@astryxdesign/charts": "0.7.12-canary.c08de54",
137
+ "@astryxdesign/core": "0.7.12-canary.c08de54",
138
+ "@astryxdesign/lab": "0.7.12-canary.c08de54",
139
+ "@astryxdesign/theme-neutral": "0.7.12-canary.c08de54",
140
140
  "@heroicons/react": "^2.2.0",
141
141
  "@stylexjs/stylex": "^0.19.0",
142
142
  "@types/babel__core": "^7.20.5",