@astryxdesign/core 0.1.7-canary.c0ff997 → 0.1.7-canary.cc83e7a
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 +19 -30
- package/dist/Avatar/Avatar.d.ts +5 -10
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +8 -12
- package/dist/Avatar/AvatarSizeContext.d.ts +1 -1
- package/dist/Avatar/AvatarSizeContext.js +1 -1
- package/dist/Avatar/AvatarStatusDot.d.ts +2 -2
- package/dist/Avatar/AvatarStatusDot.js +2 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +14 -16
- package/dist/Carousel/Carousel.d.ts +2 -3
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +2 -32
- package/dist/Chat/ChatMessage.d.ts +1 -1
- package/dist/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/Chat/ChatMessage.js +1 -1
- package/dist/Collapsible/Collapsible.d.ts +1 -11
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +4 -36
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +3 -4
- package/dist/ContextMenu/index.d.ts +0 -3
- package/dist/ContextMenu/index.d.ts.map +1 -1
- package/dist/ContextMenu/index.js +1 -7
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +4 -8
- package/dist/DropdownMenu/DropdownMenuContext.d.ts +1 -17
- package/dist/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContext.js +0 -18
- package/dist/DropdownMenu/index.d.ts +1 -5
- package/dist/DropdownMenu/index.d.ts.map +1 -1
- package/dist/DropdownMenu/index.js +1 -10
- package/dist/Icon/Icon.d.ts +13 -43
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +27 -62
- package/dist/Outline/Outline.d.ts +3 -69
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +26 -129
- package/dist/Outline/useScrollSpy.d.ts +7 -27
- package/dist/Outline/useScrollSpy.d.ts.map +1 -1
- package/dist/Outline/useScrollSpy.js +70 -202
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +2 -2
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +0 -2
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +1 -1
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Table/index.d.ts +0 -2
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +0 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +2 -24
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +7 -18
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +3 -6
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.js +1 -8
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +14 -5
- package/dist/TreeList/treeListItem.markers.stylex.d.ts +16 -0
- package/dist/TreeList/treeListItem.markers.stylex.d.ts.map +1 -0
- package/dist/TreeList/treeListItem.markers.stylex.js +22 -0
- package/dist/astryx.css +4 -24
- package/dist/astryx.umd.js +54 -54
- package/dist/astryx.umd.js.map +4 -4
- package/dist/theme/Theme.js +1 -1
- package/dist/theme/defineTheme.d.ts +1 -1
- package/dist/theme/defineTheme.js +1 -1
- package/dist/theme/hct.d.ts +1 -0
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +3 -0
- package/docs.mjs +461 -32
- package/locales/en.json +172 -200
- package/locales/pseudo.json +0 -21
- package/package.json +1 -3
- package/src/Avatar/Avatar.doc.mjs +6 -6
- package/src/Avatar/Avatar.tsx +11 -16
- package/src/Avatar/AvatarSizeContext.ts +1 -1
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +1 -1
- package/src/AvatarGroup/AvatarGroup.test.tsx +3 -17
- package/src/AvatarGroup/AvatarGroup.tsx +3 -3
- package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +4 -4
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +5 -21
- package/src/Carousel/Carousel.doc.mjs +0 -1
- package/src/Carousel/Carousel.test.tsx +1 -96
- package/src/Carousel/Carousel.tsx +2 -29
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatMessage.tsx +2 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +1 -1
- package/src/Collapsible/Collapsible.doc.mjs +0 -7
- package/src/Collapsible/Collapsible.test.tsx +0 -80
- package/src/Collapsible/Collapsible.tsx +5 -58
- package/src/ContextMenu/ContextMenu.test.tsx +1 -75
- package/src/ContextMenu/ContextMenu.tsx +5 -10
- package/src/ContextMenu/index.ts +0 -15
- package/src/DropdownMenu/DropdownMenu.doc.mjs +0 -23
- package/src/DropdownMenu/DropdownMenu.tsx +6 -11
- package/src/DropdownMenu/DropdownMenuContext.tsx +1 -29
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +1 -7
- package/src/DropdownMenu/index.ts +3 -23
- package/src/Field/Field.doc.mjs +1 -1
- package/src/Field/FieldLabel.doc.mjs +1 -1
- package/src/Icon/Icon.doc.mjs +0 -12
- package/src/Icon/Icon.test.tsx +0 -142
- package/src/Icon/Icon.tsx +30 -98
- package/src/Item/Item.doc.mjs +1 -1
- package/src/NumberInput/NumberInput.doc.mjs +2 -2
- package/src/Outline/Outline.doc.mjs +3 -123
- package/src/Outline/Outline.test.tsx +0 -735
- package/src/Outline/Outline.tsx +33 -184
- package/src/Outline/useScrollSpy.ts +72 -248
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- package/src/SideNav/SideNavItem.doc.mjs +2 -2
- package/src/Switch/Switch.doc.mjs +1 -1
- package/src/TabList/Tab.tsx +1 -5
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +0 -66
- package/src/TabList/TabList.tsx +0 -8
- package/src/TabList/TabMenu.tsx +1 -4
- package/src/Table/Table.doc.mjs +0 -2
- package/src/Table/Table.tsx +1 -1
- package/src/Table/index.ts +0 -7
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +1 -90
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +5 -37
- package/src/Table/plugins/sortable/useTableSortable.test.tsx +9 -95
- package/src/Table/plugins/sortable/useTableSortable.tsx +7 -23
- package/src/Table/useBaseTablePlugins.ts +2 -6
- package/src/TextArea/TextArea.doc.mjs +1 -1
- package/src/TextInput/TextInput.doc.mjs +1 -1
- package/src/Toolbar/Toolbar.tsx +3 -10
- package/src/TreeList/TreeList.test.tsx +1 -32
- package/src/TreeList/TreeListItem.tsx +10 -19
- package/src/TreeList/treeListItem.markers.stylex.ts +20 -0
- package/src/docs-script.test.mjs +13 -18
- package/src/theme/Theme.doc.mjs +4 -4
- package/src/theme/Theme.tsx +1 -1
- package/src/theme/defineTheme.ts +1 -1
- package/src/theme/hct.ts +4 -0
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +0 -89
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +0 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +0 -170
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +0 -69
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +0 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +0 -70
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +0 -69
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +0 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +0 -178
- package/dist/DropdownMenu/menuItemRoles.d.ts +0 -13
- package/dist/DropdownMenu/menuItemRoles.d.ts.map +0 -1
- package/dist/DropdownMenu/menuItemRoles.js +0 -15
- package/dist/Table/plugins/tree/index.d.ts +0 -5
- package/dist/Table/plugins/tree/index.d.ts.map +0 -1
- package/dist/Table/plugins/tree/index.js +0 -4
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +0 -38
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +0 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +0 -358
- package/dist/Table/plugins/tree/useTableTreeState.d.ts +0 -51
- package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +0 -1
- package/dist/Table/plugins/tree/useTableTreeState.js +0 -175
- package/scripts/postinstall.mjs +0 -93
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +0 -95
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +0 -237
- package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +0 -80
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +0 -119
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +0 -80
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +0 -232
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +0 -163
- package/src/DropdownMenu/menuItemRoles.ts +0 -22
- package/src/Table/plugins/tree/index.ts +0 -12
- package/src/Table/plugins/tree/useTableTreeData-perf.test.tsx +0 -163
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +0 -594
- package/src/Table/plugins/tree/useTableTreeData.tsx +0 -495
- package/src/Table/plugins/tree/useTableTreeState.test.tsx +0 -636
- package/src/Table/plugins/tree/useTableTreeState.tsx +0 -253
- package/src/Table/useTableTreeData.doc.mjs +0 -75
- package/src/Table/useTableTreeState.doc.mjs +0 -98
- package/src/postinstall.test.mjs +0 -71
package/README.md
CHANGED
|
@@ -2,27 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Core UI components, theme system, and utilities for the Astryx design system. For project setup, see [Quick Start](#quick-start) below.
|
|
4
4
|
|
|
5
|
-
> **Building with an AI agent?**
|
|
6
|
-
>
|
|
7
|
-
> ```bash
|
|
8
|
-
> npm install -D @astryxdesign/cli # or: pnpm add -D / yarn add -D / bun add -d
|
|
9
|
-
> npx astryx init # resolves to the CLI you just installed
|
|
10
|
-
> ```
|
|
11
|
-
>
|
|
12
|
-
> `init` writes the Astryx component index into your `AGENTS.md`/`CLAUDE.md` so your agent discovers components, templates, and design tokens instead of guessing. Need a single command without installing? Use the scoped package directly — `npx @astryxdesign/cli <cmd>` (or `pnpm dlx`/`bunx @astryxdesign/cli`). Bare `npx astryx` only works once `@astryxdesign/cli` is a dependency; before that npm resolves it to an unrelated package. See [XDS CLI](#xds-cli).
|
|
5
|
+
> **Building with an AI agent?** Run **`npx astryx init`** first. It installs the Astryx CLI's component index into your `AGENTS.md`/`CLAUDE.md` so your agent discovers components, templates, and design tokens instead of guessing. Without it, agents can't see the CLI — see [XDS CLI](#xds-cli).
|
|
13
6
|
|
|
14
7
|
## Component Docs
|
|
15
8
|
|
|
16
|
-
Look up any component's full API (props,
|
|
9
|
+
Look up any component's full API (props, types, best practices, and theming):
|
|
17
10
|
|
|
18
11
|
```bash
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
node node_modules/@astryxdesign/core/docs.mjs Button # full docs for a component
|
|
13
|
+
node node_modules/@astryxdesign/core/docs.mjs --list # list all components
|
|
14
|
+
node node_modules/@astryxdesign/core/docs.mjs --list --brief # brief summaries
|
|
22
15
|
```
|
|
23
16
|
|
|
24
|
-
> Use the scoped `@astryxdesign/cli` to run without installing; bare `npx astryx` only resolves once the CLI is a dependency.
|
|
25
|
-
|
|
26
17
|
## Page Layouts
|
|
27
18
|
|
|
28
19
|
Building a full page? Start with a template rather than composing from scratch.
|
|
@@ -34,9 +25,9 @@ global navigation.
|
|
|
34
25
|
Requires `@astryxdesign/cli` (`npm install -D @astryxdesign/cli`):
|
|
35
26
|
|
|
36
27
|
```bash
|
|
37
|
-
astryx template --list # browse all page and block templates
|
|
38
|
-
astryx template dashboard # emit full page source
|
|
39
|
-
astryx template settings --skeleton # layout skeleton with spatial annotations
|
|
28
|
+
npx astryx template --list # browse all page and block templates
|
|
29
|
+
npx astryx template dashboard # emit full page source
|
|
30
|
+
npx astryx template settings --skeleton # layout skeleton with spatial annotations
|
|
40
31
|
```
|
|
41
32
|
|
|
42
33
|
## Astryx CLI
|
|
@@ -44,21 +35,19 @@ astryx template settings --skeleton # layout skeleton with spatial annotations
|
|
|
44
35
|
The CLI (`@astryxdesign/cli`) provides additional tooling:
|
|
45
36
|
|
|
46
37
|
```bash
|
|
47
|
-
astryx --help # full listing of all commands
|
|
48
|
-
astryx component Button # full docs + related block templates
|
|
49
|
-
astryx docs # reference docs (principles, tokens, theming, styling)
|
|
50
|
-
astryx docs theme # theming guide (Theme, defineTheme, light/dark)
|
|
51
|
-
astryx docs tokens # spacing, color, radius, typography token reference
|
|
52
|
-
astryx init # initialize Astryx in your project
|
|
53
|
-
astryx theme build # build theme CSS for production
|
|
54
|
-
astryx swizzle Button # eject component source for customization
|
|
55
|
-
astryx upgrade --apply # run codemods to migrate between versions
|
|
56
|
-
astryx discover # discover external Astryx packages
|
|
57
|
-
astryx gap-report # report a missing capability
|
|
38
|
+
npx astryx --help # full listing of all commands
|
|
39
|
+
npx astryx component Button # full docs + related block templates
|
|
40
|
+
npx astryx docs # reference docs (principles, tokens, theming, styling)
|
|
41
|
+
npx astryx docs theme # theming guide (Theme, defineTheme, light/dark)
|
|
42
|
+
npx astryx docs tokens # spacing, color, radius, typography token reference
|
|
43
|
+
npx astryx init # initialize Astryx in your project
|
|
44
|
+
npx astryx theme build # build theme CSS for production
|
|
45
|
+
npx astryx swizzle Button # eject component source for customization
|
|
46
|
+
npx astryx upgrade --apply # run codemods to migrate between versions
|
|
47
|
+
npx astryx discover # discover external Astryx packages
|
|
48
|
+
npx astryx gap-report # report a missing capability
|
|
58
49
|
```
|
|
59
50
|
|
|
60
|
-
> Prefix these with your runner: `npx astryx …` / `pnpm exec astryx …` once the CLI is installed, or `npx @astryxdesign/cli …` to run without installing.
|
|
61
|
-
|
|
62
51
|
## Related Packages
|
|
63
52
|
|
|
64
53
|
| Package | Description |
|
package/dist/Avatar/Avatar.d.ts
CHANGED
|
@@ -13,13 +13,9 @@
|
|
|
13
13
|
import { type ReactNode } from 'react';
|
|
14
14
|
import type { BaseProps } from '../BaseProps';
|
|
15
15
|
/**
|
|
16
|
-
* Named size options
|
|
17
|
-
*
|
|
18
|
-
* Avatar uses the same abbreviated scale as Icon (`xsm`/`sm`/`md`/`lg`/`xl`),
|
|
19
|
-
* but the values are larger because avatars align with media rather than
|
|
20
|
-
* glyphs. The tiers match EPS's avatar sizes.
|
|
16
|
+
* Named size options
|
|
21
17
|
*/
|
|
22
|
-
type AvatarNamedSize = '
|
|
18
|
+
type AvatarNamedSize = 'tiny' | 'xsmall' | 'small' | 'medium' | 'large';
|
|
23
19
|
/**
|
|
24
20
|
* Numeric size options (in pixels)
|
|
25
21
|
*/
|
|
@@ -56,9 +52,8 @@ export interface AvatarProps extends BaseProps<HTMLDivElement> {
|
|
|
56
52
|
*/
|
|
57
53
|
name?: string;
|
|
58
54
|
/**
|
|
59
|
-
* The size of the avatar.
|
|
60
|
-
*
|
|
61
|
-
* @default 'md'
|
|
55
|
+
* The size of the avatar.
|
|
56
|
+
* @default 'small'
|
|
62
57
|
*/
|
|
63
58
|
size?: AvatarSize;
|
|
64
59
|
/**
|
|
@@ -80,7 +75,7 @@ export interface AvatarProps extends BaseProps<HTMLDivElement> {
|
|
|
80
75
|
* @example
|
|
81
76
|
* ```
|
|
82
77
|
* <Avatar src="/user.jpg" name="John Doe" />
|
|
83
|
-
* <Avatar name="Jane Smith" size="
|
|
78
|
+
* <Avatar name="Jane Smith" size="large" />
|
|
84
79
|
* <Avatar src="/user.jpg" status={<OnlineIndicator />} />
|
|
85
80
|
* ```
|
|
86
81
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C;;GAEG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,KAAK,iBAAiB,GACpB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AAqFD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAsCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAc,EACd,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BAwFb;yBArGe,MAAM"}
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -50,11 +50,7 @@ const CIRCLE_EDGE_OFFSET_RATIO = (1 - 1 / Math.SQRT2) / 2;
|
|
|
50
50
|
const INITIALS_FONT_SIZE_RATIO = 0.4;
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
-
* Named size options
|
|
54
|
-
*
|
|
55
|
-
* Avatar uses the same abbreviated scale as Icon (`xsm`/`sm`/`md`/`lg`/`xl`),
|
|
56
|
-
* but the values are larger because avatars align with media rather than
|
|
57
|
-
* glyphs. The tiers match EPS's avatar sizes.
|
|
53
|
+
* Named size options
|
|
58
54
|
*/
|
|
59
55
|
|
|
60
56
|
/**
|
|
@@ -73,15 +69,15 @@ export function resolveSize(size) {
|
|
|
73
69
|
return size;
|
|
74
70
|
}
|
|
75
71
|
switch (size) {
|
|
76
|
-
case '
|
|
72
|
+
case 'tiny':
|
|
77
73
|
return 20;
|
|
78
|
-
case '
|
|
74
|
+
case 'xsmall':
|
|
79
75
|
return 24;
|
|
80
|
-
case '
|
|
76
|
+
case 'small':
|
|
81
77
|
return 36;
|
|
82
|
-
case '
|
|
78
|
+
case 'medium':
|
|
83
79
|
return 48;
|
|
84
|
-
case '
|
|
80
|
+
case 'large':
|
|
85
81
|
return 128;
|
|
86
82
|
}
|
|
87
83
|
}
|
|
@@ -227,7 +223,7 @@ function DefaultIcon({
|
|
|
227
223
|
* @example
|
|
228
224
|
* ```
|
|
229
225
|
* <Avatar src="/user.jpg" name="John Doe" />
|
|
230
|
-
* <Avatar name="Jane Smith" size="
|
|
226
|
+
* <Avatar name="Jane Smith" size="large" />
|
|
231
227
|
* <Avatar src="/user.jpg" status={<OnlineIndicator />} />
|
|
232
228
|
* ```
|
|
233
229
|
*/
|
|
@@ -236,7 +232,7 @@ export function Avatar({
|
|
|
236
232
|
'data-testid': testId,
|
|
237
233
|
fallbackSrc,
|
|
238
234
|
name,
|
|
239
|
-
size = '
|
|
235
|
+
size = 'small',
|
|
240
236
|
src,
|
|
241
237
|
status,
|
|
242
238
|
xstyle,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Context that provides the resolved numeric avatar size (in pixels)
|
|
3
3
|
* to child components like AvatarStatusDot.
|
|
4
4
|
*
|
|
5
|
-
* Default value of 36 matches the default '
|
|
5
|
+
* Default value of 36 matches the default 'small' avatar size.
|
|
6
6
|
*/
|
|
7
7
|
export declare const AvatarSizeContext: import("react").Context<number>;
|
|
8
8
|
//# sourceMappingURL=AvatarSizeContext.d.ts.map
|
|
@@ -17,7 +17,7 @@ import { createContext } from 'react';
|
|
|
17
17
|
* Context that provides the resolved numeric avatar size (in pixels)
|
|
18
18
|
* to child components like AvatarStatusDot.
|
|
19
19
|
*
|
|
20
|
-
* Default value of 36 matches the default '
|
|
20
|
+
* Default value of 36 matches the default 'small' avatar size.
|
|
21
21
|
*/
|
|
22
22
|
export const AvatarSizeContext = /*#__PURE__*/createContext(36);
|
|
23
23
|
AvatarSizeContext.displayName = 'AvatarSizeContext';
|
|
@@ -76,12 +76,12 @@ export interface AvatarStatusDotProps extends BaseProps<HTMLDivElement> {
|
|
|
76
76
|
* ```
|
|
77
77
|
* <Avatar
|
|
78
78
|
* name="John Doe"
|
|
79
|
-
* size="
|
|
79
|
+
* size="medium"
|
|
80
80
|
* status={<AvatarStatusDot variant="success" label="Online" />}
|
|
81
81
|
* />
|
|
82
82
|
* <Avatar
|
|
83
83
|
* name="Jane Smith"
|
|
84
|
-
* size="
|
|
84
|
+
* size="large"
|
|
85
85
|
* status={<AvatarStatusDot variant="success" label="Verified" icon={<CheckIcon />} />}
|
|
86
86
|
* />
|
|
87
87
|
* ```
|
|
@@ -148,12 +148,12 @@ const variantStyleMap = {
|
|
|
148
148
|
* ```
|
|
149
149
|
* <Avatar
|
|
150
150
|
* name="John Doe"
|
|
151
|
-
* size="
|
|
151
|
+
* size="medium"
|
|
152
152
|
* status={<AvatarStatusDot variant="success" label="Online" />}
|
|
153
153
|
* />
|
|
154
154
|
* <Avatar
|
|
155
155
|
* name="Jane Smith"
|
|
156
|
-
* size="
|
|
156
|
+
* size="large"
|
|
157
157
|
* status={<AvatarStatusDot variant="success" label="Verified" icon={<CheckIcon />} />}
|
|
158
158
|
* />
|
|
159
159
|
* ```
|
|
@@ -27,7 +27,7 @@ export interface AvatarGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
27
27
|
children: ReactNode;
|
|
28
28
|
/**
|
|
29
29
|
* Size applied to all avatars via context.
|
|
30
|
-
* @default '
|
|
30
|
+
* @default 'small'
|
|
31
31
|
*/
|
|
32
32
|
size?: AvatarSize;
|
|
33
33
|
/**
|
|
@@ -45,7 +45,7 @@ export interface AvatarGroupProps extends BaseProps<HTMLDivElement> {
|
|
|
45
45
|
*
|
|
46
46
|
* @example
|
|
47
47
|
* ```
|
|
48
|
-
* <AvatarGroup size="
|
|
48
|
+
* <AvatarGroup size="medium">
|
|
49
49
|
* {users.slice(0, 3).map(u => (
|
|
50
50
|
* <Avatar key={u.id} src={u.src} name={u.name} />
|
|
51
51
|
* ))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAc,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AASvD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"AvatarGroup.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroup.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAU,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAC9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAc,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AASvD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,IAAc,EACd,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,kBAAkB,EAChC,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,SAAS,CA6B9B;yBAvCe,WAAW"}
|
|
@@ -44,7 +44,7 @@ const styles = {
|
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```
|
|
47
|
-
* <AvatarGroup size="
|
|
47
|
+
* <AvatarGroup size="medium">
|
|
48
48
|
* {users.slice(0, 3).map(u => (
|
|
49
49
|
* <Avatar key={u.id} src={u.src} name={u.name} />
|
|
50
50
|
* ))}
|
|
@@ -54,7 +54,7 @@ const styles = {
|
|
|
54
54
|
*/
|
|
55
55
|
export function AvatarGroup({
|
|
56
56
|
children,
|
|
57
|
-
size = '
|
|
57
|
+
size = 'small',
|
|
58
58
|
'data-testid': testId,
|
|
59
59
|
'aria-label': ariaLabelFromProps,
|
|
60
60
|
xstyle,
|
|
@@ -33,7 +33,7 @@ export interface AvatarGroupOverflowProps extends Omit<BaseProps<HTMLElement>, '
|
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
35
|
* ```
|
|
36
|
-
* <AvatarGroup size="
|
|
36
|
+
* <AvatarGroup size="medium">
|
|
37
37
|
* {users.slice(0, 3).map(u => (
|
|
38
38
|
* <Avatar key={u.id} src={u.src} name={u.name} />
|
|
39
39
|
* ))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarGroupOverflow.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroupOverflow.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AvatarGroupOverflow.d.ts","sourceRoot":"","sources":["../../src/AvatarGroup/AvatarGroupOverflow.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAU5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,SAAS,CAAC,WAAW,CAAC,EACtB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,wBAAwB,GAAG,SAAS,CAwDtC;yBAjEe,mBAAmB"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import React from 'react';
|
|
16
16
|
import * as stylex from '@stylexjs/stylex';
|
|
17
17
|
import "../theme/tokens.stylex.js";
|
|
18
|
-
import { colorVars, typographyVars, fontWeightVars, radiusVars
|
|
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
21
|
import { themeProps } from "../utils/themeProps.js";
|
|
@@ -37,14 +37,13 @@ const styles = {
|
|
|
37
37
|
kMzoRj: "xdh2fpr",
|
|
38
38
|
ksu8eU: "x1y0btm7",
|
|
39
39
|
kVAM5u: "x1touxvs",
|
|
40
|
-
kB7OPa: "
|
|
41
|
-
kg3NbH: "xf314gf",
|
|
40
|
+
kB7OPa: "x1afcbsf",
|
|
42
41
|
kKwaWg: "x14bno8m",
|
|
43
42
|
$$css: true
|
|
44
43
|
},
|
|
45
44
|
button: {
|
|
46
45
|
kkrTdU: "x1ypdohk",
|
|
47
|
-
|
|
46
|
+
kmVPX3: "x1717udv",
|
|
48
47
|
kKwaWg: "x14bno8m xbfmc0r x1nocapi",
|
|
49
48
|
kI3sdo: "x1a2a7pz x17nn4n9",
|
|
50
49
|
kInvED: "x7s97pk",
|
|
@@ -56,27 +55,26 @@ const styles = {
|
|
|
56
55
|
}
|
|
57
56
|
};
|
|
58
57
|
const _temp = {
|
|
59
|
-
k7Eaqz: "xkj4a21",
|
|
60
|
-
kZKoxP: "x16ye13r",
|
|
61
|
-
"$$css": true
|
|
62
|
-
};
|
|
63
|
-
const _temp2 = {
|
|
64
58
|
kGuDYH: "xdmh292",
|
|
65
59
|
"$$css": true
|
|
66
60
|
};
|
|
67
|
-
const
|
|
61
|
+
const _temp2 = {
|
|
68
62
|
"--_avatar-group-overlap": "xlz5hwt",
|
|
69
63
|
"$$css": true
|
|
70
64
|
};
|
|
71
65
|
const dynamicStyles = {
|
|
72
|
-
size: s => [
|
|
73
|
-
|
|
74
|
-
|
|
66
|
+
size: s => [{
|
|
67
|
+
kzqmXN: s != null ? "x5lhr3w" : s,
|
|
68
|
+
kZKoxP: s != null ? "x16ye13r" : s,
|
|
69
|
+
$$css: true
|
|
70
|
+
}, {
|
|
71
|
+
"--x-width": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(s),
|
|
72
|
+
"--x-height": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(s)
|
|
75
73
|
}],
|
|
76
|
-
fontSize: s => [
|
|
74
|
+
fontSize: s => [_temp, {
|
|
77
75
|
"--x-fontSize": (val => typeof val === "number" ? val + "px" : val != null ? val : undefined)(s * OVERFLOW_FONT_RATIO)
|
|
78
76
|
}],
|
|
79
|
-
overlap: offset => [
|
|
77
|
+
overlap: offset => [_temp2, {
|
|
80
78
|
"--x---_avatar-group-overlap": `${offset}px` != null ? `${offset}px` : undefined
|
|
81
79
|
}]
|
|
82
80
|
};
|
|
@@ -87,7 +85,7 @@ const dynamicStyles = {
|
|
|
87
85
|
*
|
|
88
86
|
* @example
|
|
89
87
|
* ```
|
|
90
|
-
* <AvatarGroup size="
|
|
88
|
+
* <AvatarGroup size="medium">
|
|
91
89
|
* {users.slice(0, 3).map(u => (
|
|
92
90
|
* <Avatar key={u.id} src={u.src} name={u.name} />
|
|
93
91
|
* ))}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* @input Uses React, StyleX, useScrollOverflow, useLayer, Button, Icon, theme tokens
|
|
4
4
|
* @output Exports Carousel component
|
|
5
5
|
* @position Horizontal scroll container with fade-edge overflow indication,
|
|
6
|
-
* optional prev/next buttons on the top layer, scroll-snap, a 1px
|
|
7
|
-
* visual bleed allowance for child selection indicators
|
|
8
|
-
* mapping so mouse users can scroll horizontally.
|
|
6
|
+
* optional prev/next buttons on the top layer, scroll-snap, and a 1px
|
|
7
|
+
* visual bleed allowance for child selection indicators.
|
|
9
8
|
*
|
|
10
9
|
* SYNC: When modified, update:
|
|
11
10
|
* - /packages/core/src/Carousel/index.ts (exports)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../src/Carousel/Carousel.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAc/E,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAIhD,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAyJD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,QAAQ,EACR,GAAO,EACP,UAAiB,EACjB,WAAkB,EAClB,OAAe,EACf,OAAO,EACP,YAAY,EAAE,kBAAkB,EAChC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BAmJf;yBAjKe,QAAQ"}
|
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
* @input Uses React, StyleX, useScrollOverflow, useLayer, Button, Icon, theme tokens
|
|
8
8
|
* @output Exports Carousel component
|
|
9
9
|
* @position Horizontal scroll container with fade-edge overflow indication,
|
|
10
|
-
* optional prev/next buttons on the top layer, scroll-snap, a 1px
|
|
11
|
-
* visual bleed allowance for child selection indicators
|
|
12
|
-
* mapping so mouse users can scroll horizontally.
|
|
10
|
+
* optional prev/next buttons on the top layer, scroll-snap, and a 1px
|
|
11
|
+
* visual bleed allowance for child selection indicators.
|
|
13
12
|
*
|
|
14
13
|
* SYNC: When modified, update:
|
|
15
14
|
* - /packages/core/src/Carousel/index.ts (exports)
|
|
@@ -235,34 +234,6 @@ export function Carousel({
|
|
|
235
234
|
scrollElRef.current = el;
|
|
236
235
|
scrollRef(el);
|
|
237
236
|
}, [scrollRef]);
|
|
238
|
-
|
|
239
|
-
// Map Shift + vertical wheel to horizontal scroll. Trackpads emit
|
|
240
|
-
// horizontal deltas natively, but a standard mouse only produces deltaY —
|
|
241
|
-
// so mouse users can't wheel-scroll a horizontal container. Shift + wheel
|
|
242
|
-
// is the long-established convention for horizontal scroll containers; we
|
|
243
|
-
// honor it by translating the vertical delta into a horizontal scroll.
|
|
244
|
-
//
|
|
245
|
-
// Only kicks in when Shift is held and the wheel is purely vertical
|
|
246
|
-
// (deltaX === 0), so native trackpad horizontal scrolling is untouched.
|
|
247
|
-
const handleWheel = useCallback(event => {
|
|
248
|
-
if (!event.shiftKey || event.deltaY === 0 || event.deltaX !== 0) {
|
|
249
|
-
return;
|
|
250
|
-
}
|
|
251
|
-
const el = scrollElRef.current;
|
|
252
|
-
if (!el) {
|
|
253
|
-
return;
|
|
254
|
-
}
|
|
255
|
-
// Nothing to scroll horizontally — let the event fall through so the page
|
|
256
|
-
// can scroll as it normally would.
|
|
257
|
-
if (el.scrollWidth <= el.clientWidth) {
|
|
258
|
-
return;
|
|
259
|
-
}
|
|
260
|
-
event.preventDefault();
|
|
261
|
-
el.scrollBy({
|
|
262
|
-
left: event.deltaY,
|
|
263
|
-
behavior: 'auto'
|
|
264
|
-
});
|
|
265
|
-
}, []);
|
|
266
237
|
const scrollBy = useCallback(direction => {
|
|
267
238
|
const el = scrollElRef.current;
|
|
268
239
|
if (!el) {
|
|
@@ -300,7 +271,6 @@ export function Carousel({
|
|
|
300
271
|
children: [/*#__PURE__*/_jsx("div", {
|
|
301
272
|
ref: composedRef,
|
|
302
273
|
tabIndex: 0,
|
|
303
|
-
onWheel: handleWheel,
|
|
304
274
|
...stylex.props(styles.scroller, gapStyles[gap], padding != null && paddingStyles[padding], hasSnap && styles.snap, fadeStyle),
|
|
305
275
|
children: Children.map(children, child => /*#__PURE__*/_jsx("div", {
|
|
306
276
|
...{
|
|
@@ -46,7 +46,7 @@ export interface ChatMessageProps extends BaseProps<HTMLElement> {
|
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ```
|
|
49
|
-
* <ChatMessage sender="assistant" name="Navi" avatar={<Avatar name="Navi" size="
|
|
49
|
+
* <ChatMessage sender="assistant" name="Navi" avatar={<Avatar name="Navi" size="small" />}>
|
|
50
50
|
* <ChatMessageBubble>Hello!</ChatMessageBubble>
|
|
51
51
|
* <ChatMessageMetadata timestamp="2:30 PM" />
|
|
52
52
|
* </ChatMessage>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAQrD,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,MAAM,EACN,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessage.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,KAAK,SAAS,EAAiB,MAAM,OAAO,CAAC;AAQrD,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,MAAM,EACN,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,EACH,GAAG,IAAI,EACR,EAAE,gBAAgB,+BAyFlB;yBAtGe,WAAW"}
|
package/dist/Chat/ChatMessage.js
CHANGED
|
@@ -122,7 +122,7 @@ const styles = {
|
|
|
122
122
|
*
|
|
123
123
|
* @example
|
|
124
124
|
* ```
|
|
125
|
-
* <ChatMessage sender="assistant" name="Navi" avatar={<Avatar name="Navi" size="
|
|
125
|
+
* <ChatMessage sender="assistant" name="Navi" avatar={<Avatar name="Navi" size="small" />}>
|
|
126
126
|
* <ChatMessageBubble>Hello!</ChatMessageBubble>
|
|
127
127
|
* <ChatMessageMetadata timestamp="2:30 PM" />
|
|
128
128
|
* </ChatMessage>
|
|
@@ -45,16 +45,6 @@ export interface CollapsibleProps extends BaseProps {
|
|
|
45
45
|
* Controlled open state. When provided, the component is fully controlled.
|
|
46
46
|
*/
|
|
47
47
|
isOpen?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Whether the collapsible is disabled. A disabled item can't be toggled —
|
|
50
|
-
* its trigger is non-interactive and dimmed. Following the system-wide
|
|
51
|
-
* disabled convention, the trigger uses `aria-disabled` (not the native
|
|
52
|
-
* `disabled` attribute) and drops out of the tab order, staying perceivable
|
|
53
|
-
* to assistive tech. The content stays in whatever open state it was;
|
|
54
|
-
* disabling doesn't collapse an already-open item.
|
|
55
|
-
* @default false
|
|
56
|
-
*/
|
|
57
|
-
isDisabled?: boolean;
|
|
58
48
|
/**
|
|
59
49
|
* Callback when the open state changes.
|
|
60
50
|
*/
|
|
@@ -106,7 +96,7 @@ export interface CollapsibleProps extends BaseProps {
|
|
|
106
96
|
* </CollapsibleGroup>
|
|
107
97
|
* ```
|
|
108
98
|
*/
|
|
109
|
-
export declare function Collapsible({ trigger, children, defaultIsOpen, isOpen: controlledIsOpen,
|
|
99
|
+
export declare function Collapsible({ trigger, children, defaultIsOpen, isOpen: controlledIsOpen, onOpenChange, value, ref, xstyle, className, style, ...props }: CollapsibleProps): import("react").JSX.Element;
|
|
110
100
|
export declare namespace Collapsible {
|
|
111
101
|
var displayName: string;
|
|
112
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/Collapsible/Collapsible.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAa,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAgBjD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAkG5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,MAAM,EAAE,gBAAgB,EACxB,YAAY,EACZ,KAAK,EACL,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAqElB;yBAjFe,WAAW"}
|
|
@@ -58,22 +58,12 @@ const styles = {
|
|
|
58
58
|
kInvED: "x1wfwxd8 x7s97pk",
|
|
59
59
|
$$css: true
|
|
60
60
|
},
|
|
61
|
-
triggerDisabled: {
|
|
62
|
-
kkrTdU: "x1h6gzvc",
|
|
63
|
-
kSiTet: "xbyyjgo",
|
|
64
|
-
$$css: true
|
|
65
|
-
},
|
|
66
61
|
contentHidden: {
|
|
67
62
|
k1xSpc: "x1s85apg",
|
|
68
63
|
$$css: true
|
|
69
64
|
},
|
|
70
65
|
content: {
|
|
71
66
|
kLKAdn: "xfsso4q",
|
|
72
|
-
kMv6JI: "x9ynric",
|
|
73
|
-
kGuDYH: "xjm74w1",
|
|
74
|
-
k63SB2: "xxovm9e",
|
|
75
|
-
kLWn49: "xw6l6zx",
|
|
76
|
-
kMwMTN: "x1tgivj0",
|
|
77
67
|
$$css: true
|
|
78
68
|
},
|
|
79
69
|
divided: {
|
|
@@ -165,7 +155,6 @@ export function Collapsible({
|
|
|
165
155
|
children,
|
|
166
156
|
defaultIsOpen,
|
|
167
157
|
isOpen: controlledIsOpen,
|
|
168
|
-
isDisabled = false,
|
|
169
158
|
onOpenChange,
|
|
170
159
|
value,
|
|
171
160
|
ref,
|
|
@@ -189,17 +178,6 @@ export function Collapsible({
|
|
|
189
178
|
isCollapsible: collapsibleConfig,
|
|
190
179
|
value
|
|
191
180
|
});
|
|
192
|
-
|
|
193
|
-
// Activation is blocked by this guard rather than the native `disabled`
|
|
194
|
-
// attribute, so the trigger keeps `aria-disabled` semantics and stays
|
|
195
|
-
// discoverable. A native `disabled` button would silently swallow events
|
|
196
|
-
// (e.g. a wrapping tooltip's hover) — the system-wide disabled convention.
|
|
197
|
-
const handleToggle = () => {
|
|
198
|
-
if (isDisabled) {
|
|
199
|
-
return;
|
|
200
|
-
}
|
|
201
|
-
toggle();
|
|
202
|
-
};
|
|
203
181
|
const presentation = use(CollapsibleGroupPresentationContext);
|
|
204
182
|
const isDivided = presentation?.hasDividers ?? false;
|
|
205
183
|
const density = presentation?.density ?? null;
|
|
@@ -216,18 +194,10 @@ export function Collapsible({
|
|
|
216
194
|
...props,
|
|
217
195
|
children: [/*#__PURE__*/_jsxs("button", {
|
|
218
196
|
type: "button",
|
|
219
|
-
onClick:
|
|
220
|
-
"aria-disabled": isDisabled || undefined,
|
|
197
|
+
onClick: toggle,
|
|
221
198
|
"aria-expanded": isOpen,
|
|
222
|
-
"aria-controls": contentId
|
|
223
|
-
|
|
224
|
-
// dead tab stop; activation stays blocked by the handleToggle guard,
|
|
225
|
-
// and aria-disabled keeps the state perceivable to assistive tech —
|
|
226
|
-
// the system-wide disabled convention (never native `disabled`, which
|
|
227
|
-
// would swallow events like a wrapping tooltip's hover).
|
|
228
|
-
,
|
|
229
|
-
tabIndex: isDisabled ? -1 : undefined,
|
|
230
|
-
...stylex.props(styles.trigger, density != null && triggerDensity[density], isDisabled && styles.triggerDisabled),
|
|
199
|
+
"aria-controls": contentId,
|
|
200
|
+
...stylex.props(styles.trigger, density != null && triggerDensity[density]),
|
|
231
201
|
children: [/*#__PURE__*/_jsx("span", {
|
|
232
202
|
...{
|
|
233
203
|
className: "x1b2iylo xwgcxoh"
|
|
@@ -246,9 +216,7 @@ export function Collapsible({
|
|
|
246
216
|
})]
|
|
247
217
|
}), /*#__PURE__*/_jsx("div", {
|
|
248
218
|
id: contentId,
|
|
249
|
-
...
|
|
250
|
-
density: density ?? undefined
|
|
251
|
-
}), stylex.props(styles.content, density != null && contentDensity[density], !isOpen && styles.contentHidden)),
|
|
219
|
+
...stylex.props(styles.content, density != null && contentDensity[density], !isOpen && styles.contentHidden),
|
|
252
220
|
children: presentation != null ? /*#__PURE__*/_jsx(CollapsibleGroupPresentationContext, {
|
|
253
221
|
value: null,
|
|
254
222
|
children: children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAqBrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAqDtC,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAMnD,UAAU,oBAAqB,SAAQ,SAAS;IAC9C,oDAAoD;IACpD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9C,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,oBAAqB,SAAQ,oBAAoB;IACzD,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;AAM/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,SAAS,EACT,IAAW,EACX,KAAK,EAAE,cAAc,EACrB,UAAkB,EAClB,YAAY,EACZ,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EACb,aAAa,EAAE,MAAM,EACrB,GAAG,KAAK,EACT,EAAE,gBAAgB,qBAiRlB;yBA/Re,WAAW"}
|
|
@@ -34,7 +34,6 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
34
34
|
import { useLayer } from "../Layer/useLayer.js";
|
|
35
35
|
import { renderDropdownItems } from "../DropdownMenu/renderDropdownItems.js";
|
|
36
36
|
import { DropdownMenuContext } from "../DropdownMenu/DropdownMenuContext.js";
|
|
37
|
-
import { MENU_ITEM_ROLES, MENU_ITEM_SELECTOR } from "../DropdownMenu/menuItemRoles.js";
|
|
38
37
|
import { useListFocus } from "../hooks/useListFocus.js";
|
|
39
38
|
import { useTypeahead } from "../hooks/useTypeahead.js";
|
|
40
39
|
import { useLongPress } from "../hooks/useLongPress.js";
|
|
@@ -179,13 +178,13 @@ export function ContextMenu({
|
|
|
179
178
|
focusFirst,
|
|
180
179
|
focusItem
|
|
181
180
|
} = useListFocus({
|
|
182
|
-
itemSelector:
|
|
181
|
+
itemSelector: '[role="menuitem"]:not([aria-disabled="true"])',
|
|
183
182
|
wrap: false,
|
|
184
183
|
onEscape: closeMenu
|
|
185
184
|
});
|
|
186
185
|
|
|
187
186
|
// First-character typeahead over the enabled menu items (menus-11).
|
|
188
|
-
const getMenuItems = useCallback(() => listRef.current ? Array.from(listRef.current.querySelectorAll(
|
|
187
|
+
const getMenuItems = useCallback(() => listRef.current ? Array.from(listRef.current.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')) : [], [listRef]);
|
|
189
188
|
const typeahead = useTypeahead({
|
|
190
189
|
getItemLabels: () => getMenuItems().map(el => el.textContent),
|
|
191
190
|
onMatch: focusItem,
|
|
@@ -239,7 +238,7 @@ export function ContextMenu({
|
|
|
239
238
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
240
239
|
e.preventDefault();
|
|
241
240
|
const focused = document.activeElement;
|
|
242
|
-
if (focused
|
|
241
|
+
if (focused?.getAttribute('role') === 'menuitem') {
|
|
243
242
|
focused.click();
|
|
244
243
|
}
|
|
245
244
|
return;
|
|
@@ -5,7 +5,4 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { ContextMenu, type ContextMenuProps, type ContextMenuItemData, type ContextMenuDivider, type ContextMenuSection, type ContextMenuOption, } from './ContextMenu';
|
|
7
7
|
export { DropdownMenuItem as ContextMenuItem, type DropdownMenuItemProps as ContextMenuItemProps, } from '../DropdownMenu/DropdownMenuItem';
|
|
8
|
-
export { DropdownMenuCheckboxItem as ContextMenuCheckboxItem, type DropdownMenuCheckboxItemProps as ContextMenuCheckboxItemProps, } from '../DropdownMenu/DropdownMenuCheckboxItem';
|
|
9
|
-
export { DropdownMenuRadioGroup as ContextMenuRadioGroup, type DropdownMenuRadioGroupProps as ContextMenuRadioGroupProps, } from '../DropdownMenu/DropdownMenuRadioGroup';
|
|
10
|
-
export { DropdownMenuRadioItem as ContextMenuRadioItem, type DropdownMenuRadioItemProps as ContextMenuRadioItemProps, } from '../DropdownMenu/DropdownMenuRadioItem';
|
|
11
8
|
//# sourceMappingURL=index.d.ts.map
|