@astryxdesign/core 0.0.15 → 0.1.0-canary.0b5b49f
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/CHANGELOG.md +69 -0
- package/README.md +8 -10
- package/dist/AlertDialog/AlertDialog.js +2 -2
- package/dist/AppShell/AppShell.js +5 -5
- package/dist/AspectRatio/AspectRatio.js +2 -2
- package/dist/Avatar/Avatar.js +2 -2
- package/dist/Avatar/AvatarStatusDot.js +2 -2
- package/dist/AvatarGroup/AvatarGroup.js +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.js +3 -3
- package/dist/Badge/Badge.js +2 -2
- package/dist/Banner/Banner.d.ts +2 -2
- package/dist/Banner/Banner.js +6 -6
- package/dist/Blockquote/Blockquote.js +2 -2
- package/dist/Breadcrumbs/BreadcrumbItem.js +3 -3
- package/dist/Breadcrumbs/Breadcrumbs.js +2 -2
- package/dist/Button/Button.js +2 -2
- package/dist/ButtonGroup/ButtonGroup.js +2 -2
- package/dist/Calendar/Calendar.js +3 -3
- package/dist/Card/Card.js +2 -2
- package/dist/Carousel/Carousel.js +2 -2
- package/dist/Center/Center.js +2 -2
- package/dist/Chat/ChatComposer.js +2 -2
- package/dist/Chat/ChatComposerDrawer.js +2 -2
- package/dist/Chat/ChatComposerInput.js +2 -2
- package/dist/Chat/ChatLayout.js +2 -2
- package/dist/Chat/ChatMessage.js +2 -2
- package/dist/Chat/ChatMessageBubble.js +2 -2
- package/dist/Chat/ChatMessageList.js +2 -2
- package/dist/Chat/ChatMessageMetadata.js +2 -2
- package/dist/Chat/ChatSendButton.js +2 -2
- package/dist/Chat/ChatSystemMessage.js +3 -3
- package/dist/Chat/ChatTokenizedText.js +3 -3
- package/dist/Chat/ChatToolCalls.js +3 -3
- package/dist/Chat/useTriggerMenu.js +2 -2
- package/dist/CheckboxInput/CheckboxInput.js +3 -3
- package/dist/CheckboxList/CheckboxList.js +2 -2
- package/dist/Citation/Citation.js +3 -3
- package/dist/ClickableCard/ClickableCard.js +2 -2
- package/dist/Code/Code.js +2 -2
- package/dist/CodeBlock/CodeBlock.js +2 -2
- package/dist/Collapsible/Collapsible.js +2 -2
- package/dist/CommandPalette/CommandPaletteFooter.js +2 -2
- package/dist/CommandPalette/CommandPaletteGroup.js +2 -2
- package/dist/CommandPalette/CommandPaletteInput.js +2 -2
- package/dist/CommandPalette/CommandPaletteItem.js +2 -2
- package/dist/CommandPalette/CommandPaletteList.js +2 -2
- package/dist/ContextMenu/ContextMenu.js +2 -2
- package/dist/DateInput/DateInput.js +2 -2
- package/dist/DateRangeInput/DateRangeInput.js +2 -2
- package/dist/DateTimeInput/DateTimeInput.js +2 -2
- package/dist/Dialog/Dialog.js +3 -3
- package/dist/Divider/Divider.js +2 -2
- package/dist/DropdownMenu/DropdownMenu.js +2 -2
- package/dist/DropdownMenu/DropdownMenuItem.js +2 -2
- package/dist/EmptyState/EmptyState.js +2 -2
- package/dist/Field/Field.js +3 -3
- package/dist/Field/FieldLabel.js +2 -2
- package/dist/FieldStatus/FieldStatus.js +2 -2
- package/dist/FileInput/FileInput.js +2 -2
- package/dist/FormLayout/FormLayout.js +2 -2
- package/dist/Grid/Grid.js +3 -3
- package/dist/Grid/GridSpan.js +2 -2
- package/dist/Heading/Heading.js +2 -2
- package/dist/HoverCard/useHoverCard.js +2 -2
- package/dist/Icon/Icon.js +3 -3
- package/dist/InputGroup/InputGroup.js +2 -2
- package/dist/InputGroup/InputGroupText.js +2 -2
- package/dist/Item/Item.js +2 -2
- package/dist/Kbd/Kbd.js +2 -2
- package/dist/Layer/useLayer.d.ts +2 -2
- package/dist/Layout/Layout.js +2 -2
- package/dist/Layout/LayoutContent.js +2 -2
- package/dist/Layout/LayoutFooter.js +2 -2
- package/dist/Layout/LayoutHeader.js +2 -2
- package/dist/Layout/LayoutPanel.js +2 -2
- package/dist/Lightbox/Lightbox.js +2 -2
- package/dist/Link/Link.js +3 -3
- package/dist/List/List.js +2 -2
- package/dist/List/ListItem.js +2 -2
- package/dist/Markdown/Markdown.js +3 -3
- package/dist/MetadataList/MetadataList.js +2 -2
- package/dist/MetadataList/MetadataListItem.js +3 -3
- package/dist/MobileNav/MobileNav.js +2 -2
- package/dist/MultiSelector/MultiSelector.js +2 -2
- package/dist/NavIcon/NavIcon.js +2 -2
- package/dist/NavMenu/NavHeadingMenu.js +2 -2
- package/dist/NavMenu/NavHeadingMenuItem.js +2 -2
- package/dist/NumberInput/NumberInput.js +2 -2
- package/dist/Outline/Outline.js +4 -4
- package/dist/OverflowList/OverflowList.js +2 -2
- package/dist/Overlay/Overlay.js +2 -2
- package/dist/Overlay/OverlayScrim.js +2 -2
- package/dist/Pagination/Pagination.js +3 -3
- package/dist/Popover/Popover.js +4 -4
- package/dist/PowerSearch/PowerSearch.js +2 -2
- package/dist/ProgressBar/ProgressBar.js +5 -5
- package/dist/RadioList/RadioList.js +2 -2
- package/dist/RadioList/RadioListItem.js +4 -4
- package/dist/Resizable/ResizeHandle.js +4 -4
- package/dist/Section/Section.js +2 -2
- package/dist/SegmentedControl/SegmentedControl.js +2 -2
- package/dist/SegmentedControl/SegmentedControlItem.js +2 -2
- package/dist/SelectableCard/SelectableCard.js +2 -2
- package/dist/Selector/Selector.js +2 -2
- package/dist/Selector/SelectorOption.js +2 -2
- package/dist/SideNav/SideNav.js +3 -3
- package/dist/SideNav/SideNavHeading.js +9 -9
- package/dist/SideNav/SideNavItem.js +3 -3
- package/dist/SideNav/SideNavSection.js +2 -2
- package/dist/Skeleton/Skeleton.js +2 -2
- package/dist/Slider/Slider.js +4 -4
- package/dist/Spinner/Spinner.js +3 -3
- package/dist/Stack/Stack.js +2 -2
- package/dist/Stack/StackItem.js +2 -2
- package/dist/StatusDot/StatusDot.js +2 -2
- package/dist/Switch/Switch.js +4 -4
- package/dist/TabList/Tab.js +3 -3
- package/dist/TabList/TabList.js +2 -2
- package/dist/TabList/TabMenu.js +5 -5
- package/dist/Table/BaseTable.js +2 -2
- package/dist/Table/Table.js +3 -3
- package/dist/Table/TableBody.js +2 -2
- package/dist/Table/TableCell.js +3 -3
- package/dist/Table/TableFooter.js +2 -2
- package/dist/Table/TableHeader.js +2 -2
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/TableRow.js +3 -3
- package/dist/Text/Text.js +2 -2
- package/dist/TextArea/TextArea.js +2 -2
- package/dist/TextInput/TextInput.js +2 -2
- package/dist/Thumbnail/Thumbnail.js +2 -2
- package/dist/TimeInput/TimeInput.js +2 -2
- package/dist/Timestamp/Timestamp.js +2 -2
- package/dist/Toast/Toast.js +2 -2
- package/dist/ToggleButton/ToggleButton.js +2 -2
- package/dist/ToggleButton/ToggleButtonGroup.js +2 -2
- package/dist/Token/Token.js +4 -4
- package/dist/Tokenizer/Tokenizer.js +3 -3
- package/dist/Toolbar/Toolbar.js +2 -2
- package/dist/Tooltip/useTooltip.js +2 -2
- package/dist/TopNav/TopNav.js +3 -3
- package/dist/TopNav/TopNavHeading.js +7 -7
- package/dist/TopNav/TopNavItem.js +3 -3
- package/dist/TopNav/TopNavMegaMenu.js +3 -3
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +2 -2
- package/dist/TopNav/TopNavMegaMenuItem.js +3 -3
- package/dist/TopNav/TopNavMenu.js +2 -2
- package/dist/TreeList/TreeList.js +2 -2
- package/dist/TreeList/TreeListItem.js +2 -2
- package/dist/Typeahead/BaseTypeahead.js +2 -2
- package/dist/Typeahead/Typeahead.js +2 -2
- package/dist/Typeahead/TypeaheadItem.js +2 -2
- package/dist/docs-types.d.ts +3 -3
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/naming.d.ts +1 -1
- package/dist/naming.js +1 -1
- package/dist/theme/Theme.js +1 -1
- package/dist/theme/defineTheme.d.ts +2 -2
- package/dist/theme/index.d.ts +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.js +1 -1
- package/dist/utils/mergeProps.d.ts +3 -3
- package/dist/utils/mergeProps.js +4 -4
- package/dist/utils/parseStyleKey.d.ts +2 -2
- package/dist/utils/parseStyleKey.js +2 -2
- package/dist/utils/{xdsThemeProps.d.ts → themeProps.d.ts} +4 -4
- package/dist/utils/themeProps.d.ts.map +1 -0
- package/dist/utils/{xdsThemeProps.js → themeProps.js} +5 -5
- package/package.json +1 -1
- package/src/AlertDialog/AlertDialog.tsx +2 -2
- package/src/AppShell/AppShell.tsx +5 -5
- package/src/AspectRatio/AspectRatio.tsx +2 -2
- package/src/Avatar/Avatar.tsx +2 -2
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.tsx +2 -2
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +3 -3
- package/src/Badge/Badge.tsx +2 -2
- package/src/Banner/Banner.tsx +6 -6
- package/src/Blockquote/Blockquote.tsx +2 -2
- package/src/Breadcrumbs/BreadcrumbItem.tsx +3 -3
- package/src/Breadcrumbs/Breadcrumbs.tsx +2 -2
- package/src/Button/Button.tsx +2 -2
- package/src/ButtonGroup/ButtonGroup.tsx +2 -2
- package/src/Calendar/Calendar.tsx +3 -3
- package/src/Card/Card.tsx +2 -2
- package/src/Carousel/Carousel.tsx +2 -2
- package/src/Center/Center.tsx +2 -2
- package/src/Chat/ChatComposer.tsx +2 -2
- package/src/Chat/ChatComposerDrawer.tsx +2 -2
- package/src/Chat/ChatComposerInput.tsx +2 -2
- package/src/Chat/ChatLayout.tsx +2 -2
- package/src/Chat/ChatMessage.tsx +2 -2
- package/src/Chat/ChatMessageBubble.tsx +2 -2
- package/src/Chat/ChatMessageList.tsx +2 -2
- package/src/Chat/ChatMessageMetadata.tsx +2 -2
- package/src/Chat/ChatSendButton.tsx +2 -2
- package/src/Chat/ChatSystemMessage.tsx +3 -3
- package/src/Chat/ChatTokenizedText.tsx +3 -3
- package/src/Chat/ChatToolCalls.tsx +3 -3
- package/src/Chat/useTriggerMenu.tsx +2 -2
- package/src/CheckboxInput/CheckboxInput.tsx +3 -3
- package/src/CheckboxList/CheckboxList.tsx +2 -2
- package/src/Citation/Citation.tsx +3 -3
- package/src/ClickableCard/ClickableCard.tsx +2 -2
- package/src/Code/Code.tsx +2 -2
- package/src/CodeBlock/CodeBlock.tsx +2 -2
- package/src/Collapsible/Collapsible.tsx +2 -2
- package/src/CommandPalette/CommandPaletteFooter.tsx +2 -2
- package/src/CommandPalette/CommandPaletteGroup.tsx +2 -2
- package/src/CommandPalette/CommandPaletteInput.tsx +2 -2
- package/src/CommandPalette/CommandPaletteItem.tsx +2 -2
- package/src/CommandPalette/CommandPaletteList.tsx +2 -2
- package/src/ContextMenu/ContextMenu.tsx +2 -2
- package/src/DateInput/DateInput.tsx +2 -2
- package/src/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/DateTimeInput/DateTimeInput.tsx +2 -2
- package/src/Dialog/Dialog.tsx +3 -3
- package/src/Divider/Divider.tsx +2 -2
- package/src/DropdownMenu/DropdownMenu.tsx +2 -2
- package/src/DropdownMenu/DropdownMenuItem.tsx +2 -2
- package/src/EmptyState/EmptyState.tsx +2 -2
- package/src/Field/Field.tsx +3 -3
- package/src/Field/FieldLabel.tsx +2 -2
- package/src/FieldStatus/FieldStatus.tsx +2 -2
- package/src/FileInput/FileInput.tsx +2 -2
- package/src/FormLayout/FormLayout.tsx +2 -2
- package/src/Grid/Grid.tsx +3 -3
- package/src/Grid/GridSpan.tsx +2 -2
- package/src/Heading/Heading.tsx +2 -2
- package/src/HoverCard/useHoverCard.tsx +2 -2
- package/src/Icon/Icon.tsx +3 -3
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InputGroup/InputGroupText.tsx +2 -2
- package/src/Item/Item.tsx +2 -2
- package/src/Kbd/Kbd.tsx +2 -2
- package/src/Layer/useLayer.tsx +2 -2
- package/src/Layout/Layout.tsx +2 -2
- package/src/Layout/LayoutContent.tsx +2 -2
- package/src/Layout/LayoutFooter.tsx +2 -2
- package/src/Layout/LayoutHeader.tsx +2 -2
- package/src/Layout/LayoutPanel.tsx +2 -2
- package/src/Lightbox/Lightbox.tsx +2 -2
- package/src/Link/Link.tsx +3 -3
- package/src/List/List.tsx +2 -2
- package/src/List/ListItem.tsx +2 -2
- package/src/Markdown/Markdown.tsx +3 -3
- package/src/MetadataList/MetadataList.tsx +2 -2
- package/src/MetadataList/MetadataListItem.tsx +3 -3
- package/src/MobileNav/MobileNav.tsx +2 -2
- package/src/MoreMenu/MoreMenu.doc.mjs +0 -13
- package/src/MultiSelector/MultiSelector.tsx +2 -2
- package/src/NavIcon/NavIcon.tsx +2 -2
- package/src/NavMenu/NavHeadingMenu.tsx +2 -2
- package/src/NavMenu/NavHeadingMenuItem.tsx +2 -2
- package/src/NumberInput/NumberInput.tsx +2 -2
- package/src/Outline/Outline.tsx +4 -4
- package/src/OverflowList/OverflowList.tsx +2 -2
- package/src/Overlay/Overlay.tsx +2 -2
- package/src/Overlay/OverlayScrim.tsx +2 -2
- package/src/Pagination/Pagination.tsx +3 -3
- package/src/Popover/Popover.tsx +4 -4
- package/src/PowerSearch/PowerSearch.tsx +2 -2
- package/src/ProgressBar/ProgressBar.tsx +5 -5
- package/src/RadioList/RadioList.tsx +2 -2
- package/src/RadioList/RadioListItem.tsx +4 -4
- package/src/Resizable/ResizeHandle.tsx +4 -4
- package/src/Section/Section.tsx +2 -2
- package/src/SegmentedControl/SegmentedControl.tsx +2 -2
- package/src/SegmentedControl/SegmentedControlItem.tsx +2 -2
- package/src/SelectableCard/SelectableCard.tsx +2 -2
- package/src/Selector/Selector.tsx +2 -2
- package/src/Selector/SelectorOption.tsx +2 -2
- package/src/SideNav/SideNav.tsx +3 -3
- package/src/SideNav/SideNavHeading.tsx +9 -9
- package/src/SideNav/SideNavItem.tsx +3 -3
- package/src/SideNav/SideNavSection.tsx +2 -2
- package/src/Skeleton/Skeleton.tsx +2 -2
- package/src/Slider/Slider.tsx +4 -4
- package/src/Spinner/Spinner.tsx +3 -3
- package/src/Stack/Stack.tsx +2 -2
- package/src/Stack/StackItem.tsx +2 -2
- package/src/StatusDot/StatusDot.tsx +2 -2
- package/src/Switch/Switch.tsx +4 -4
- package/src/TabList/Tab.tsx +3 -3
- package/src/TabList/TabList.tsx +2 -2
- package/src/TabList/TabMenu.tsx +5 -5
- package/src/Table/BaseTable.tsx +2 -2
- package/src/Table/Table.tsx +3 -3
- package/src/Table/TableBody.tsx +2 -2
- package/src/Table/TableCell.tsx +3 -3
- package/src/Table/TableFooter.tsx +2 -2
- package/src/Table/TableHeader.tsx +2 -2
- package/src/Table/TableHeaderCell.tsx +3 -3
- package/src/Table/TableRow.tsx +3 -3
- package/src/Text/Text.tsx +2 -2
- package/src/TextArea/TextArea.tsx +2 -2
- package/src/TextInput/TextInput.tsx +2 -2
- package/src/Thumbnail/Thumbnail.tsx +2 -2
- package/src/TimeInput/TimeInput.tsx +2 -2
- package/src/Timestamp/Timestamp.tsx +2 -2
- package/src/Toast/Toast.tsx +2 -2
- package/src/ToggleButton/ToggleButton.tsx +2 -2
- package/src/ToggleButton/ToggleButtonGroup.tsx +2 -2
- package/src/Token/Token.tsx +4 -4
- package/src/Tokenizer/Tokenizer.tsx +3 -3
- package/src/Toolbar/Toolbar.doc.mjs +8 -7
- package/src/Toolbar/Toolbar.tsx +2 -2
- package/src/Tooltip/useTooltip.tsx +2 -2
- package/src/TopNav/TopNav.tsx +3 -3
- package/src/TopNav/TopNavHeading.tsx +7 -7
- package/src/TopNav/TopNavItem.tsx +3 -3
- package/src/TopNav/TopNavMegaMenu.tsx +3 -3
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +2 -2
- package/src/TopNav/TopNavMegaMenuItem.tsx +3 -3
- package/src/TopNav/TopNavMenu.tsx +2 -2
- package/src/TreeList/TreeList.tsx +2 -2
- package/src/TreeList/TreeListItem.tsx +2 -2
- package/src/Typeahead/BaseTypeahead.tsx +2 -2
- package/src/Typeahead/Typeahead.tsx +2 -2
- package/src/Typeahead/TypeaheadItem.tsx +2 -2
- package/src/docs-types.ts +3 -3
- package/src/naming.ts +1 -1
- package/src/reset.css +1 -1
- package/src/tailwind-theme.css +1 -1
- package/src/theme/Theme.tsx +1 -1
- package/src/theme/defineTheme.ts +2 -2
- package/src/theme/index.ts +1 -1
- package/src/theme/syntax/defineSyntaxTheme.ts +1 -1
- package/src/utils/mergeProps.ts +4 -4
- package/src/utils/parseStyleKey.ts +2 -2
- package/src/utils/{xdsThemeProps.test.ts → themeProps.test.ts} +12 -12
- package/src/utils/{xdsThemeProps.ts → themeProps.ts} +5 -5
- package/dist/utils/xdsThemeProps.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,74 @@
|
|
|
1
1
|
# @xds/core
|
|
2
2
|
|
|
3
|
+
# 0.1.0
|
|
4
|
+
|
|
5
|
+
#### Breaking Changes
|
|
6
|
+
|
|
7
|
+
- Rename theme-token helpers off the XDS name
|
|
8
|
+
The `@xds/core/theme` token helpers are renamed: `resolveXDSThemeTokens` ->
|
|
9
|
+
`resolveThemeTokens`, `resolveXDSThemeToken` -> `resolveThemeToken`,
|
|
10
|
+
`xdsTokenVar` -> `tokenVar`, `xdsTokenVars` -> `tokenVars`, and the option types
|
|
11
|
+
`ResolveXDSThemeToken(s)Options` -> `ResolveThemeToken(s)Options`. Update imports
|
|
12
|
+
from `@xds/core/theme` / `@xds/core/theme/tokens`. Part of removing `xds` naming
|
|
13
|
+
from the public API.
|
|
14
|
+
- Remove the XDS-prefix compatibility layer — astryx is now the only public surface
|
|
15
|
+
This release erases all `xds` naming from the public API; there is no compatibility
|
|
16
|
+
window. Consumers must migrate (we own all consumers pre-OSS):
|
|
17
|
+
- Remove the daily, brutalist, and default themes; neutral is the new baseline
|
|
18
|
+
Three theme packages are removed from the repo and will no longer be published:
|
|
19
|
+
|
|
20
|
+
#### New Features
|
|
21
|
+
|
|
22
|
+
- Underline links by default in the Markdown component
|
|
23
|
+
Markdown links now render with a persistent underline instead of only underlining on hover, making links clearly distinguishable from surrounding text and improving accessibility. The accent color is unchanged.
|
|
24
|
+
|
|
25
|
+
#### Fixes
|
|
26
|
+
|
|
27
|
+
- Markdown: parse ordered lists using the `)` marker delimiter, not just `.` (#2994)
|
|
28
|
+
CommonMark 5.2 allows an ordered-list marker to end in `.` or `)` (e.g. `1)`), but the parser only matched `\d+\. `, so `1) First` lists rendered as literal paragraph text. Lists now capture their delimiter — a `.` → `)` change starts a new list, including across streamed chunks — and paragraph interruption follows CommonMark (only a marker value of 1, including zero-padded like `01.`, may interrupt).
|
|
29
|
+
|
|
30
|
+
#### Other Changes
|
|
31
|
+
|
|
32
|
+
- **Component names:** the `XDS*` aliases are gone — use bare names (`Button` not
|
|
33
|
+
`XDSButton`, `useTheme` not `useXDSTheme`, `ButtonProps` not `XDSButtonProps`). The
|
|
34
|
+
`drop-xds-prefix-imports` codemod automates this.
|
|
35
|
+
- **CSS classes:** components emit only `.astryx-*` (the dual `.xds-*` class is gone).
|
|
36
|
+
Update custom CSS selectors `.xds-button` -> `.astryx-button` (prop/state value classes
|
|
37
|
+
like `.primary`/`.sm` are unchanged).
|
|
38
|
+
- **data attributes:** only `data-astryx-theme` / `data-astryx-media` are written; update
|
|
39
|
+
custom selectors and SSR root attributes off `data-xds-*`.
|
|
40
|
+
- **CSS layers:** `@layer xds-base` / `xds-theme` are renamed to `astryx-base` /
|
|
41
|
+
`astryx-theme`; update your `@layer` order line and any PostCSS `layersBefore` config.
|
|
42
|
+
`@astryxdesign/build`'s default library layer is now `astryx-base`.
|
|
43
|
+
- **Pre-compiled stylesheet:** the `@astryxdesign/core/xds.css` export is removed — import
|
|
44
|
+
`@astryxdesign/core/astryx.css`.
|
|
45
|
+
- **CSS custom properties:** the `--xds-*` padding fallback is gone; set `--astryx-*`.
|
|
46
|
+
- **CLI config key:** `@astryxdesign/cli` reads the package.json `"astryx"` field (was `"xds"`).
|
|
47
|
+
Rename the block; a stale `"xds"` key silently drops the package from discovery.
|
|
48
|
+
- `@astryxdesign/theme-daily`
|
|
49
|
+
- `@astryxdesign/theme-brutalist`
|
|
50
|
+
- `@astryxdesign/theme-default`
|
|
51
|
+
- import {defaultTheme} from '@astryxdesign/theme-default/built';
|
|
52
|
+
- import {neutralTheme} from '@astryxdesign/theme-neutral/built';
|
|
53
|
+
- <Theme theme={defaultTheme}>...</Theme>
|
|
54
|
+
- <Theme theme={neutralTheme}>...</Theme>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
- Rename the npm package scope from `@xds/*` to `@astryxdesign/*`
|
|
59
|
+
All published packages move to the new `@astryxdesign` scope (e.g. `@xds/core` → `@astryxdesign/core`), along with the workspace lockfile, build/runtime scope-directory scans, and docsite slug derivation. Consumers must update their imports and dependency names. The internal ESLint plugin namespace (`@xds/*` rules) is intentionally untouched and tracked separately. Existing `@xds/*` codemods continue to target the old scope so projects still on `@xds/*` can migrate.
|
|
60
|
+
|
|
61
|
+
#### Contributors
|
|
62
|
+
|
|
63
|
+
Thanks to everyone who contributed to this release:
|
|
64
|
+
|
|
65
|
+
- @cixzhang
|
|
66
|
+
- @ejhammond
|
|
67
|
+
- @kentonquatman
|
|
68
|
+
- @lexs
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
3
72
|
# 0.0.15
|
|
4
73
|
|
|
5
74
|
This release makes **bare component names canonical**: `Button`, `Stack`, `useTheme`, etc. are now first-class, and the `XDS*` / `useXDS*` names become compatibility aliases. Existing prefixed code keeps working through the alias layer — migrate when you're ready with the codemod below. It also lands several prop/component renames for cross-component consistency, each with its own codemod.
|
package/README.md
CHANGED
|
@@ -51,9 +51,7 @@ npx astryx gap-report # report a missing capability
|
|
|
51
51
|
| Package | Description |
|
|
52
52
|
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
|
|
53
53
|
| [`@astryxdesign/cli`](https://github.com/facebook/astryx/tree/main/packages/cli) | CLI tooling: component docs, templates, scaffolding, codemods |
|
|
54
|
-
| [`@astryxdesign/theme-default`](https://github.com/facebook/astryx/tree/main/packages/themes/default) | Default theme (Heroicons) |
|
|
55
54
|
| [`@astryxdesign/theme-neutral`](https://github.com/facebook/astryx/tree/main/packages/themes/neutral) | Muted, minimal theme (Lucide icons) |
|
|
56
|
-
| [`@astryxdesign/theme-daily`](https://github.com/facebook/astryx/tree/main/packages/themes/daily) | Warm, productivity-focused theme (Lucide icons) |
|
|
57
55
|
|
|
58
56
|
## Resources
|
|
59
57
|
|
|
@@ -67,7 +65,7 @@ npx astryx gap-report # report a missing capability
|
|
|
67
65
|
Install XDS and a theme:
|
|
68
66
|
|
|
69
67
|
```bash
|
|
70
|
-
npm install @astryxdesign/core @astryxdesign/theme-
|
|
68
|
+
npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
71
69
|
```
|
|
72
70
|
|
|
73
71
|
Then pick your setup below based on your framework and styling approach.
|
|
@@ -85,7 +83,7 @@ No build plugins needed; XDS ships pre-built CSS that works alongside Tailwind.
|
|
|
85
83
|
@import 'tailwindcss/preflight.css' layer(base);
|
|
86
84
|
@import '@astryxdesign/core/reset.css';
|
|
87
85
|
@import '@astryxdesign/core/astryx.css';
|
|
88
|
-
@import '@astryxdesign/theme-
|
|
86
|
+
@import '@astryxdesign/theme-neutral/theme.css';
|
|
89
87
|
@import '@astryxdesign/core/tailwind-theme.css';
|
|
90
88
|
@import 'tailwindcss/utilities.css' layer(utilities);
|
|
91
89
|
```
|
|
@@ -122,11 +120,11 @@ Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matchin
|
|
|
122
120
|
import Link from 'next/link';
|
|
123
121
|
import {Theme} from '@astryxdesign/core/theme';
|
|
124
122
|
import {LinkProvider} from '@astryxdesign/core/Link';
|
|
125
|
-
import {
|
|
123
|
+
import {neutralTheme} from '@astryxdesign/theme-neutral/built';
|
|
126
124
|
|
|
127
125
|
export function Providers({children}: {children: React.ReactNode}) {
|
|
128
126
|
return (
|
|
129
|
-
<Theme theme={
|
|
127
|
+
<Theme theme={neutralTheme}>
|
|
130
128
|
<LinkProvider component={Link}>{children}</LinkProvider>
|
|
131
129
|
</Theme>
|
|
132
130
|
);
|
|
@@ -165,7 +163,7 @@ export default function Page() {
|
|
|
165
163
|
Use the pre-built dist alongside StyleX for your own styles.
|
|
166
164
|
|
|
167
165
|
```bash
|
|
168
|
-
npm install @astryxdesign/core @astryxdesign/theme-
|
|
166
|
+
npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
169
167
|
```
|
|
170
168
|
|
|
171
169
|
**`src/app/globals.css`**
|
|
@@ -173,15 +171,15 @@ npm install @astryxdesign/core @astryxdesign/theme-default
|
|
|
173
171
|
```css
|
|
174
172
|
@import '@astryxdesign/core/reset.css';
|
|
175
173
|
@import '@astryxdesign/core/astryx.css';
|
|
176
|
-
@import '@astryxdesign/theme-
|
|
174
|
+
@import '@astryxdesign/theme-neutral/theme.css';
|
|
177
175
|
```
|
|
178
176
|
|
|
179
|
-
Providers and layout are the same as the Tailwind example (use `@astryxdesign/theme-
|
|
177
|
+
Providers and layout are the same as the Tailwind example (use `@astryxdesign/theme-neutral/built`).
|
|
180
178
|
|
|
181
179
|
### Vite
|
|
182
180
|
|
|
183
181
|
```bash
|
|
184
|
-
npm install @astryxdesign/core @astryxdesign/theme-
|
|
182
|
+
npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
185
183
|
```
|
|
186
184
|
|
|
187
185
|
Same CSS imports and providers as above. No build plugins needed; XDS ships pre-built.
|
|
@@ -25,7 +25,7 @@ import { Heading } from "../Heading/Heading.js";
|
|
|
25
25
|
import { Text } from "../Text/Text.js";
|
|
26
26
|
import { Button } from "../Button/index.js";
|
|
27
27
|
import { mergeProps } from "../utils/index.js";
|
|
28
|
-
import {
|
|
28
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
29
29
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
30
30
|
/**
|
|
31
31
|
* A confirmation dialog for destructive or irreversible actions.
|
|
@@ -79,7 +79,7 @@ export function AlertDialog({
|
|
|
79
79
|
role: "alertdialog",
|
|
80
80
|
"aria-labelledby": titleId,
|
|
81
81
|
"aria-describedby": descriptionId,
|
|
82
|
-
...mergeProps(
|
|
82
|
+
...mergeProps(themeProps('alert-dialog'), {
|
|
83
83
|
className,
|
|
84
84
|
style
|
|
85
85
|
}),
|
|
@@ -36,7 +36,7 @@ import { AppShellMobileContext } from "./AppShellMobileContext.js";
|
|
|
36
36
|
import { mergeProps, mergeRefs, isRenderable } from "../utils/index.js";
|
|
37
37
|
import { useMediaQuery } from "../hooks/useMediaQuery.js";
|
|
38
38
|
import { observeResize, unobserveResize } from "../utils/sharedResizeObserver.js";
|
|
39
|
-
import {
|
|
39
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
40
40
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
41
41
|
const HasActivity = typeof React.Activity !== 'undefined';
|
|
42
42
|
const ActivityWrapper = HasActivity ? ({
|
|
@@ -355,7 +355,7 @@ export function AppShell({
|
|
|
355
355
|
}) : undefined;
|
|
356
356
|
const headerContent = headerInner != null ? /*#__PURE__*/_jsx("div", {
|
|
357
357
|
ref: headerRef,
|
|
358
|
-
...mergeProps(
|
|
358
|
+
...mergeProps(themeProps('app-shell-header', {
|
|
359
359
|
variant
|
|
360
360
|
}), stylex.props(navAreaStyle, isAuto && styles.headerSticky)),
|
|
361
361
|
children: headerInner
|
|
@@ -373,7 +373,7 @@ export function AppShell({
|
|
|
373
373
|
padding: 0,
|
|
374
374
|
hasDivider: navHasDividers,
|
|
375
375
|
isScrollable: isFill,
|
|
376
|
-
...
|
|
376
|
+
...themeProps('app-shell-sidenav', {
|
|
377
377
|
variant
|
|
378
378
|
}),
|
|
379
379
|
xstyle: [navAreaStyle, isAuto && stickyBgStyle, isAuto && styles.panelAutoFill],
|
|
@@ -424,7 +424,7 @@ export function AppShell({
|
|
|
424
424
|
// For sidenav-only layouts with no TopNav, render the sideNav in topbar
|
|
425
425
|
// mode — it shows heading + footer icons horizontally, with the hamburger
|
|
426
426
|
const autoMobileTopBar = shouldShowAutoToggle && !hasTopNav && hasSideNav ? /*#__PURE__*/_jsx("div", {
|
|
427
|
-
...mergeProps(
|
|
427
|
+
...mergeProps(themeProps('app-shell-header', {
|
|
428
428
|
variant
|
|
429
429
|
}), stylex.props(navAreaStyle, isAuto && styles.headerSticky)),
|
|
430
430
|
children: /*#__PURE__*/_jsx(LayoutHeader, {
|
|
@@ -448,7 +448,7 @@ export function AppShell({
|
|
|
448
448
|
children: /*#__PURE__*/_jsxs("div", {
|
|
449
449
|
ref: mergeRefs(ref, shellRef),
|
|
450
450
|
"data-testid": dataTestId,
|
|
451
|
-
...mergeProps(
|
|
451
|
+
...mergeProps(themeProps('app-shell', {
|
|
452
452
|
variant
|
|
453
453
|
}), stylex.props(styles.root, variant === 'wash' ? styles.variantWash : variant === 'surface' ? styles.variantSurface : variant === 'section' ? styles.variantSection : styles.variantElevated, isFill ? styles.rootFill : styles.rootAuto, xstyle), className, style),
|
|
454
454
|
children: [/*#__PURE__*/_jsx("a", {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import * as stylex from '@stylexjs/stylex';
|
|
18
18
|
import { mergeProps } from "../utils/index.js";
|
|
19
|
-
import {
|
|
19
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* The shape of the aspect ratio container.
|
|
@@ -77,7 +77,7 @@ export function AspectRatio({
|
|
|
77
77
|
}) {
|
|
78
78
|
return /*#__PURE__*/_jsx("div", {
|
|
79
79
|
ref: ref,
|
|
80
|
-
...mergeProps(
|
|
80
|
+
...mergeProps(themeProps('aspect-ratio', {
|
|
81
81
|
shape
|
|
82
82
|
}), stylex.props(styles.container, shape === 'ellipse' && styles.ellipse, xstyle), className, {
|
|
83
83
|
...style,
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -21,7 +21,7 @@ import { colorVars, typographyVars, fontWeightVars, radiusVars } from "../theme/
|
|
|
21
21
|
import { AvatarSizeContext } from "./AvatarSizeContext.js";
|
|
22
22
|
import { useAvatarGroup } from "../AvatarGroup/AvatarGroupContext.js";
|
|
23
23
|
import { mergeProps } from "../utils/index.js";
|
|
24
|
-
import {
|
|
24
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* The offset ratio for positioning elements on a circle's edge at 45°.
|
|
@@ -258,7 +258,7 @@ export function Avatar({
|
|
|
258
258
|
role: "img",
|
|
259
259
|
"aria-label": accessibleName,
|
|
260
260
|
"data-testid": testId,
|
|
261
|
-
...mergeProps(
|
|
261
|
+
...mergeProps(themeProps('avatar', {
|
|
262
262
|
size: resolvedSize
|
|
263
263
|
}), stylex.props(styles.wrapper, avatarGroup && groupStyles.ring, avatarGroup && groupStyles.overlap, avatarGroup && groupDynamicStyles.overlap(-avatarGroup.overlap), xstyle), className, style),
|
|
264
264
|
...props,
|
|
@@ -20,7 +20,7 @@ import "../theme/tokens.stylex.js";
|
|
|
20
20
|
import { colorVars, radiusVars } from "../theme/tokens.stylex.js";
|
|
21
21
|
import { AvatarSizeContext } from "./AvatarSizeContext.js";
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
|
-
import {
|
|
23
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Resolves the status dot size, border width, and icon size based on the
|
|
@@ -180,7 +180,7 @@ export function AvatarStatusDot({
|
|
|
180
180
|
role: 'img',
|
|
181
181
|
'aria-label': label
|
|
182
182
|
} : undefined),
|
|
183
|
-
...mergeProps(
|
|
183
|
+
...mergeProps(themeProps('avatar-status-dot', {
|
|
184
184
|
variant
|
|
185
185
|
}), stylex.props(styles.dot, variantStyleMap[variant], dynamicStyles.size(dotSize, borderWidth), xstyle), className, style),
|
|
186
186
|
...props,
|
|
@@ -22,7 +22,7 @@ import { resolveSize } from "../Avatar/index.js";
|
|
|
22
22
|
import * as stylex from '@stylexjs/stylex';
|
|
23
23
|
import { mergeProps } from "../utils/index.js";
|
|
24
24
|
import { AvatarGroupContext } from "./AvatarGroupContext.js";
|
|
25
|
-
import {
|
|
25
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
26
26
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
27
27
|
const OVERLAP_RATIO = 0.25;
|
|
28
28
|
const styles = {
|
|
@@ -76,7 +76,7 @@ export function AvatarGroup({
|
|
|
76
76
|
role: "group",
|
|
77
77
|
"aria-label": ariaLabel,
|
|
78
78
|
"data-testid": testId,
|
|
79
|
-
...mergeProps(
|
|
79
|
+
...mergeProps(themeProps('avatar-group', {
|
|
80
80
|
size
|
|
81
81
|
}), stylex.props(styles.root, xstyle), className, style),
|
|
82
82
|
...props,
|
|
@@ -18,7 +18,7 @@ import "../theme/tokens.stylex.js";
|
|
|
18
18
|
import { colorVars, typographyVars, fontWeightVars, radiusVars } from "../theme/tokens.stylex.js";
|
|
19
19
|
import { mergeProps } from "../utils/index.js";
|
|
20
20
|
import { useAvatarGroup } from "./AvatarGroupContext.js";
|
|
21
|
-
import {
|
|
21
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
22
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
23
|
const BORDER_WIDTH = 2;
|
|
24
24
|
const OVERFLOW_FONT_RATIO = 0.35;
|
|
@@ -113,14 +113,14 @@ export function AvatarGroupOverflow({
|
|
|
113
113
|
type: "button",
|
|
114
114
|
onClick: onClick,
|
|
115
115
|
"aria-label": label,
|
|
116
|
-
...mergeProps(
|
|
116
|
+
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.button, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
117
117
|
children: content
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
return /*#__PURE__*/_jsx("span", {
|
|
121
121
|
ref: ref,
|
|
122
122
|
"aria-label": label,
|
|
123
|
-
...mergeProps(
|
|
123
|
+
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
124
124
|
children: content
|
|
125
125
|
});
|
|
126
126
|
}
|
package/dist/Badge/Badge.js
CHANGED
|
@@ -19,7 +19,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
19
19
|
import "../theme/tokens.stylex.js";
|
|
20
20
|
import { colorVars, spacingVars, radiusVars, fontWeightVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
21
21
|
import { mergeProps } from "../utils/index.js";
|
|
22
|
-
import {
|
|
22
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Base badge styles
|
|
@@ -166,7 +166,7 @@ export function Badge({
|
|
|
166
166
|
}) {
|
|
167
167
|
return /*#__PURE__*/_jsxs("span", {
|
|
168
168
|
ref: ref,
|
|
169
|
-
...mergeProps(
|
|
169
|
+
...mergeProps(themeProps('badge', {
|
|
170
170
|
variant
|
|
171
171
|
}), stylex.props(styles.base, variants[variant], xstyle), className, style),
|
|
172
172
|
...props,
|
package/dist/Banner/Banner.d.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Visual structure:
|
|
8
8
|
* - Root container: layout-only wrapper (flex column), no visual styling, no theme target
|
|
9
|
-
* - Header area (
|
|
10
|
-
* - Content area (
|
|
9
|
+
* - Header area (themeProps 'banner'): colored status background with icon, title, description, actions, dismiss
|
|
10
|
+
* - Content area (themeProps 'banner-content'): collapsible card background for additional content (children)
|
|
11
11
|
* - No left border accent — color is expressed through the full header background
|
|
12
12
|
* - Each visual area owns its own border-radius (no overflow:clip on the container)
|
|
13
13
|
* - When children are provided, a collapse/expand toggle button appears in the end area
|
package/dist/Banner/Banner.js
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Visual structure:
|
|
12
12
|
* - Root container: layout-only wrapper (flex column), no visual styling, no theme target
|
|
13
|
-
* - Header area (
|
|
14
|
-
* - Content area (
|
|
13
|
+
* - Header area (themeProps 'banner'): colored status background with icon, title, description, actions, dismiss
|
|
14
|
+
* - Content area (themeProps 'banner-content'): collapsible card background for additional content (children)
|
|
15
15
|
* - No left border accent — color is expressed through the full header background
|
|
16
16
|
* - Each visual area owns its own border-radius (no overflow:clip on the container)
|
|
17
17
|
* - When children are provided, a collapse/expand toggle button appears in the end area
|
|
@@ -31,7 +31,7 @@ import "../theme/tokens.stylex.js";
|
|
|
31
31
|
import { colorVars, spacingVars, radiusVars, fontWeightVars, typeScaleVars, borderVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
32
32
|
import { mergeProps } from "../utils/index.js";
|
|
33
33
|
import { edgeCompSlot } from "../Layout/edgeCompensation.stylex.js";
|
|
34
|
-
import {
|
|
34
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
35
35
|
|
|
36
36
|
// =============================================================================
|
|
37
37
|
// Types
|
|
@@ -271,12 +271,12 @@ export function Banner({
|
|
|
271
271
|
...mergeProps(stylex.props(styles.root, xstyle), className, style),
|
|
272
272
|
...rest,
|
|
273
273
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
274
|
-
...mergeProps(
|
|
274
|
+
...mergeProps(themeProps('banner', {
|
|
275
275
|
container,
|
|
276
276
|
status
|
|
277
277
|
}), stylex.props(styles.header, isSingleLine && styles.headerCentered, statusStyles[status], isCard && (showContent ? styles.headerCardWithContent : styles.headerCardStandalone))),
|
|
278
278
|
children: [/*#__PURE__*/_jsx("div", {
|
|
279
|
-
...mergeProps(
|
|
279
|
+
...mergeProps(themeProps('banner-icon', {
|
|
280
280
|
status
|
|
281
281
|
}), {
|
|
282
282
|
className: "x78zum5 x6s0dn4 x2lah0s"
|
|
@@ -342,7 +342,7 @@ export function Banner({
|
|
|
342
342
|
})]
|
|
343
343
|
})]
|
|
344
344
|
}), showContent && /*#__PURE__*/_jsx("div", {
|
|
345
|
-
...mergeProps(
|
|
345
|
+
...mergeProps(themeProps('banner-content', {
|
|
346
346
|
container,
|
|
347
347
|
status
|
|
348
348
|
}), {
|
|
@@ -18,7 +18,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
18
18
|
import "../theme/tokens.stylex.js";
|
|
19
19
|
import { colorVars, spacingVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
20
20
|
import { mergeProps } from "../utils/index.js";
|
|
21
|
-
import {
|
|
21
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const styles = {
|
|
24
24
|
root: {
|
|
@@ -57,7 +57,7 @@ export function Blockquote({
|
|
|
57
57
|
}) {
|
|
58
58
|
return /*#__PURE__*/_jsxs("blockquote", {
|
|
59
59
|
ref: ref,
|
|
60
|
-
...mergeProps(
|
|
60
|
+
...mergeProps(themeProps('blockquote'), stylex.props(styles.root, xstyle), className, style),
|
|
61
61
|
...props,
|
|
62
62
|
children: [children, cite != null && /*#__PURE__*/_jsx("footer", {
|
|
63
63
|
children: /*#__PURE__*/_jsx("cite", {
|
|
@@ -22,7 +22,7 @@ import { colorVars, spacingVars, typeScaleVars } from "../theme/tokens.stylex.js
|
|
|
22
22
|
import { BreadcrumbContext } from "./Breadcrumbs.js";
|
|
23
23
|
import { useLinkComponent } from "../Link/useLinkComponent.js";
|
|
24
24
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
25
|
-
import {
|
|
25
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
26
26
|
|
|
27
27
|
// =============================================================================
|
|
28
28
|
// Props
|
|
@@ -129,7 +129,7 @@ export function BreadcrumbItem({
|
|
|
129
129
|
if (isCurrent) {
|
|
130
130
|
return /*#__PURE__*/_jsxs("li", {
|
|
131
131
|
ref: mergeRefs(ref, liRef),
|
|
132
|
-
...mergeProps(
|
|
132
|
+
...mergeProps(themeProps('breadcrumb-item'), stylex.props(itemStyles.root, isSupporting ? itemStyles.supportingSize : itemStyles.defaultSize, xstyle), className, style),
|
|
133
133
|
"data-testid": testId,
|
|
134
134
|
children: [/*#__PURE__*/_jsx("span", {
|
|
135
135
|
"aria-hidden": "true",
|
|
@@ -156,7 +156,7 @@ export function BreadcrumbItem({
|
|
|
156
156
|
// The effect handles adding aria-current for auto-last detection.
|
|
157
157
|
return /*#__PURE__*/_jsxs("li", {
|
|
158
158
|
ref: mergeRefs(ref, liRef),
|
|
159
|
-
...mergeProps(
|
|
159
|
+
...mergeProps(themeProps('breadcrumb-item'), stylex.props(itemStyles.root, isSupporting ? itemStyles.supportingSize : itemStyles.defaultSize, xstyle), className, style),
|
|
160
160
|
"data-testid": testId,
|
|
161
161
|
children: [/*#__PURE__*/_jsx("span", {
|
|
162
162
|
"aria-hidden": "true",
|
|
@@ -20,7 +20,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
20
20
|
import "../theme/tokens.stylex.js";
|
|
21
21
|
import { spacingVars } from "../theme/tokens.stylex.js";
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
|
-
import {
|
|
23
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
|
|
25
25
|
// =============================================================================
|
|
26
26
|
// Variant type
|
|
@@ -115,7 +115,7 @@ export function Breadcrumbs({
|
|
|
115
115
|
children: /*#__PURE__*/_jsx("nav", {
|
|
116
116
|
ref: ref,
|
|
117
117
|
"aria-label": label,
|
|
118
|
-
...mergeProps(
|
|
118
|
+
...mergeProps(themeProps('breadcrumbs', {
|
|
119
119
|
variant
|
|
120
120
|
}), stylex.props(navStyles.root, xstyle), className, style),
|
|
121
121
|
...rest,
|
package/dist/Button/Button.js
CHANGED
|
@@ -28,7 +28,7 @@ import { useSize } from "../SizeContext/SizeContext.js";
|
|
|
28
28
|
import { useButtonGroup } from "../ButtonGroup/ButtonGroupContext.js";
|
|
29
29
|
import { mergeProps } from "../utils/index.js";
|
|
30
30
|
import { useLinkComponent } from "../Link/useLinkComponent.js";
|
|
31
|
-
import {
|
|
31
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Base button styles
|
|
@@ -337,7 +337,7 @@ export function Button({
|
|
|
337
337
|
|
|
338
338
|
// Shared StyleX props for both button and link rendering
|
|
339
339
|
const sharedStylexProps = stylex.props(styles.base, sizeStyles[size], variants[variant], isIconOnly && styles.iconOnly, buttonDisabled && styles.disabled, useAriaDisabled && styles.ariaDisabled, renderAsLink && styles.link, !buttonGroup && styles.pressable, buttonGroup && (buttonGroup.orientation === 'horizontal' ? groupStyles.horizontal : groupStyles.vertical), buttonGroup && (variant === 'primary' || variant === 'destructive') && (buttonGroup.orientation === 'horizontal' ? groupStyles.onSolidHorizontal : groupStyles.onSolidVertical), xstyle);
|
|
340
|
-
const sharedMergedProps = mergeProps(
|
|
340
|
+
const sharedMergedProps = mergeProps(themeProps('button', {
|
|
341
341
|
variant,
|
|
342
342
|
size
|
|
343
343
|
}), sharedStylexProps, className, style);
|
|
@@ -25,7 +25,7 @@ import { SizeProvider, useSize } from "../SizeContext/SizeContext.js";
|
|
|
25
25
|
import { useListFocus } from "../hooks/useListFocus.js";
|
|
26
26
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
27
27
|
import { ButtonGroupContext } from "./ButtonGroupContext.js";
|
|
28
|
-
import {
|
|
28
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
29
29
|
|
|
30
30
|
// =============================================================================
|
|
31
31
|
// Props
|
|
@@ -104,7 +104,7 @@ export function ButtonGroup({
|
|
|
104
104
|
"aria-orientation": orientation,
|
|
105
105
|
"aria-disabled": isDisabled || undefined,
|
|
106
106
|
"data-testid": testId,
|
|
107
|
-
...mergeProps(
|
|
107
|
+
...mergeProps(themeProps('button-group', {
|
|
108
108
|
size,
|
|
109
109
|
orientation
|
|
110
110
|
}), stylex.props(styles.group, orientation === 'vertical' && styles.vertical, xstyle), className, style),
|
|
@@ -31,7 +31,7 @@ import { computeDayCellState, computeRangeRounding, computePreviewRounding, isEn
|
|
|
31
31
|
// Types
|
|
32
32
|
// =============================================================================
|
|
33
33
|
|
|
34
|
-
import {
|
|
34
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
35
35
|
|
|
36
36
|
/** Imperative handle for Calendar handleRef */
|
|
37
37
|
|
|
@@ -231,7 +231,7 @@ export function Calendar({
|
|
|
231
231
|
}, [mode, onChange, rangeSelectionStart]);
|
|
232
232
|
return /*#__PURE__*/_jsxs("div", {
|
|
233
233
|
ref: ref,
|
|
234
|
-
...mergeProps(
|
|
234
|
+
...mergeProps(themeProps('calendar', {
|
|
235
235
|
mode
|
|
236
236
|
}), stylex.props(calendarStyles.calendar, xstyle), className, style),
|
|
237
237
|
onKeyDown: handleCalendarKeyDown,
|
|
@@ -589,7 +589,7 @@ function DayCell({
|
|
|
589
589
|
onClick: () => !state.effectivelyDisabled && onDayClick(date),
|
|
590
590
|
onMouseEnter: () => !state.effectivelyDisabled && onDayHover(date),
|
|
591
591
|
onMouseLeave: () => onDayHover(null),
|
|
592
|
-
...mergeProps(
|
|
592
|
+
...mergeProps(themeProps('calendar-day', {
|
|
593
593
|
selected: endpoint ? 'selected' : null,
|
|
594
594
|
today: state.isToday ? 'today' : null,
|
|
595
595
|
disabled: state.effectivelyDisabled ? 'disabled' : null,
|
package/dist/Card/Card.js
CHANGED
|
@@ -20,7 +20,7 @@ import { borderVars, colorVars, radiusVars } from "../theme/tokens.stylex.js";
|
|
|
20
20
|
import { container } from "../Layout/container.stylex.js";
|
|
21
21
|
import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles, spacingStepToToken } from "../Layout/padding.stylex.js";
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
|
-
import {
|
|
23
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
|
|
25
25
|
// =============================================================================
|
|
26
26
|
// Variant type
|
|
@@ -190,7 +190,7 @@ export function Card({
|
|
|
190
190
|
const paddingToken = spacingStepToToken[effectivePadding];
|
|
191
191
|
return /*#__PURE__*/_jsx("div", {
|
|
192
192
|
ref: ref,
|
|
193
|
-
...mergeProps(
|
|
193
|
+
...mergeProps(themeProps('card', {
|
|
194
194
|
variant
|
|
195
195
|
}), stylex.props(styles.card, variantStyles[variant], variant === 'default' && styles.withBorder, hasFixedHeight && styles.scrollable, dynamicStyles.sizing(width ?? null, height ?? null, maxWidth ?? null, minHeight ?? null), ...container(useThemeDefault ? {
|
|
196
196
|
useThemeDefault: 'card'
|
|
@@ -24,7 +24,7 @@ import { Icon } from "../Icon/index.js";
|
|
|
24
24
|
import { useLayer } from "../Layer/index.js";
|
|
25
25
|
import { useScrollOverflow } from "../hooks/useScrollOverflow.js";
|
|
26
26
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
27
|
-
import {
|
|
27
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
28
28
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
29
|
// =============================================================================
|
|
30
30
|
// Styles
|
|
@@ -256,7 +256,7 @@ export function Carousel({
|
|
|
256
256
|
role: "region",
|
|
257
257
|
"aria-label": ariaLabel,
|
|
258
258
|
"aria-roledescription": "carousel",
|
|
259
|
-
...mergeProps(
|
|
259
|
+
...mergeProps(themeProps('carousel'), stylex.props(styles.root, xstyle), className, style),
|
|
260
260
|
...htmlProps,
|
|
261
261
|
children: [/*#__PURE__*/_jsx("div", {
|
|
262
262
|
ref: composedRef,
|
package/dist/Center/Center.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import * as stylex from '@stylexjs/stylex';
|
|
18
18
|
import { mergeProps } from "../utils/index.js";
|
|
19
|
-
import {
|
|
19
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
20
20
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
21
|
const styles = {
|
|
22
22
|
base: {
|
|
@@ -73,7 +73,7 @@ export function Center({
|
|
|
73
73
|
ref,
|
|
74
74
|
...props
|
|
75
75
|
}) {
|
|
76
|
-
const stylexProps = mergeProps(
|
|
76
|
+
const stylexProps = mergeProps(themeProps('center', {
|
|
77
77
|
axis
|
|
78
78
|
}), stylex.props(isInline ? styles.inline : styles.base, (axis === 'both' || axis === 'vertical') && styles.alignItemsCenter, (axis === 'both' || axis === 'horizontal') && styles.justifyContentCenter, dynamicStyles.sizing(width ?? null, height ?? null), xstyle), className, style);
|
|
79
79
|
return /*#__PURE__*/_jsx("div", {
|
|
@@ -31,7 +31,7 @@ import { Icon } from "../Icon/index.js";
|
|
|
31
31
|
import { ChatComposerInput } from "./ChatComposerInput.js";
|
|
32
32
|
import { ChatComposerContext } from "./ChatContext.js";
|
|
33
33
|
import { ChatSendButton } from "./ChatSendButton.js";
|
|
34
|
-
import {
|
|
34
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
35
35
|
|
|
36
36
|
// =============================================================================
|
|
37
37
|
// Types
|
|
@@ -182,7 +182,7 @@ export function ChatComposer(props) {
|
|
|
182
182
|
value: composerContext,
|
|
183
183
|
children: /*#__PURE__*/_jsxs("div", {
|
|
184
184
|
ref: ref,
|
|
185
|
-
...mergeProps(
|
|
185
|
+
...mergeProps(themeProps('chat-composer', {
|
|
186
186
|
density
|
|
187
187
|
}), {
|
|
188
188
|
0: {
|
|
@@ -20,7 +20,7 @@ import "../theme/tokens.stylex.js";
|
|
|
20
20
|
import { colorVars, spacingVars, radiusVars, durationVars, easeVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
21
21
|
import { Badge } from "../Badge/index.js";
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
|
-
import {
|
|
23
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
25
|
const styles = {
|
|
26
26
|
root: {
|
|
@@ -81,7 +81,7 @@ export function ChatComposerDrawer({
|
|
|
81
81
|
return /*#__PURE__*/_jsxs("div", {
|
|
82
82
|
ref: ref,
|
|
83
83
|
"data-testid": testId,
|
|
84
|
-
...mergeProps(
|
|
84
|
+
...mergeProps(themeProps('chat-composer-drawer', {
|
|
85
85
|
collapsed: isCollapsed ? 'collapsed' : null
|
|
86
86
|
}), stylex.props(styles.root, xstyle), className, style),
|
|
87
87
|
...htmlProps,
|
|
@@ -33,7 +33,7 @@ import { ChatPastedTextToken } from "./ChatPastedTextToken.js";
|
|
|
33
33
|
import { useChatPasteAsToken } from "./useChatPasteAsToken.js";
|
|
34
34
|
import { Badge } from "../Badge/index.js";
|
|
35
35
|
import { useChatComposerContext } from "./ChatContext.js";
|
|
36
|
-
import {
|
|
36
|
+
import { themeProps } from "../utils/themeProps.js";
|
|
37
37
|
|
|
38
38
|
// =============================================================================
|
|
39
39
|
// Types
|
|
@@ -406,7 +406,7 @@ export function ChatComposerInput(props) {
|
|
|
406
406
|
const maxHeight = maxRows * LINE_HEIGHT_PX;
|
|
407
407
|
return /*#__PURE__*/_jsxs("div", {
|
|
408
408
|
ref: ref,
|
|
409
|
-
...mergeProps(
|
|
409
|
+
...mergeProps(themeProps('chat-composer-input'), stylex.props(styles.root, isDisabled && styles.disabled, xstyle), className, style),
|
|
410
410
|
...rest,
|
|
411
411
|
children: [isEmpty && /*#__PURE__*/_jsx("div", {
|
|
412
412
|
...{
|