@astryxdesign/core 0.1.2-canary.fc7b77b → 0.1.2-canary.fe84edc
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 +12 -12
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +5 -11
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +4 -20
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +28 -43
- package/dist/Calendar/styles.d.ts +9 -3
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +11 -3
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +3 -17
- package/dist/Chat/ChatMessageList.d.ts +1 -14
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +0 -2
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +1 -4
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +2 -4
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +4 -12
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +37 -49
- package/dist/ContextMenu/ContextMenu.d.ts +5 -4
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +11 -93
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +2 -17
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +4 -9
- package/dist/DateTimeInput/DateTimeInput.d.ts +1 -7
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +3 -15
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +0 -12
- package/dist/DropdownMenu/DropdownMenu.d.ts +8 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +14 -42
- package/dist/Field/Field.d.ts +2 -19
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +0 -4
- package/dist/Field/FieldLabel.d.ts +2 -21
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +22 -37
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +6 -27
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +1 -4
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +1 -33
- package/dist/Layer/layerAnimations.stylex.d.ts +0 -4
- package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
- package/dist/Layer/layerAnimations.stylex.js +4 -8
- package/dist/Layer/useLayer.d.ts +0 -10
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +6 -41
- package/dist/Layout/padding.stylex.d.ts +0 -51
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +0 -63
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +2 -4
- package/dist/Link/Link.d.ts +1 -7
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +4 -12
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +0 -5
- package/dist/MoreMenu/MoreMenu.d.ts +7 -1
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MoreMenu/MoreMenu.js +2 -0
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +15 -72
- package/dist/MultiSelector/hooks.d.ts +1 -12
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +1 -14
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +2 -17
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +1 -7
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +0 -8
- package/dist/Popover/usePopover.d.ts +2 -25
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +6 -18
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +1 -4
- package/dist/ProgressBar/ProgressBar.js +1 -1
- package/dist/RadioList/RadioList.d.ts +1 -1
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +3 -76
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +0 -22
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +2 -6
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +16 -53
- package/dist/Selector/hooks.d.ts +1 -8
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +1 -14
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +1 -1
- package/dist/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/Skeleton/Skeleton.js +2 -8
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +1 -1
- package/dist/Stack/Stack.d.ts +1 -28
- package/dist/Stack/Stack.d.ts.map +1 -1
- package/dist/Stack/Stack.js +1 -17
- package/dist/Stack/StackItem.d.ts +1 -12
- package/dist/Stack/StackItem.d.ts.map +1 -1
- package/dist/Stack/StackItem.js +1 -8
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +0 -6
- package/dist/TabList/TabList.d.ts +4 -15
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +4 -58
- package/dist/TabList/TabListContext.d.ts +0 -5
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +0 -5
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +1 -6
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +1 -7
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +3 -0
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +0 -14
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +3 -132
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.js +3 -7
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +9 -56
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +2 -78
- package/dist/TreeList/TreeListItem.d.ts +1 -10
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +12 -51
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +4 -58
- package/dist/astryx.css +0 -4
- package/dist/astryx.umd.js +48 -48
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/index.d.ts +2 -10
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -6
- package/dist/hooks/useClickableContainer.d.ts +1 -16
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +4 -16
- package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
- package/dist/hooks/useEntryAnimation.js +4 -4
- package/dist/hooks/useFocusTrap.d.ts +0 -18
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +3 -87
- package/dist/hooks/useGridFocus.d.ts +1 -32
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +58 -143
- package/dist/hooks/useListFocus.d.ts +7 -78
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +52 -305
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/package.json +1 -6
- package/src/Avatar/Avatar.tsx +5 -10
- package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -20
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +10 -31
- package/src/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +4 -147
- package/src/Calendar/Calendar.tsx +43 -52
- package/src/Calendar/styles.ts +9 -4
- package/src/Carousel/Carousel.test.tsx +0 -20
- package/src/Carousel/Carousel.tsx +1 -16
- package/src/Chat/ChatMessageList.doc.mjs +0 -8
- package/src/Chat/ChatMessageList.test.tsx +0 -18
- package/src/Chat/ChatMessageList.tsx +0 -16
- package/src/Chat/useTriggerMenu.tsx +0 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +25 -14
- package/src/CheckboxInput/CheckboxInput.tsx +2 -4
- package/src/CheckboxList/CheckboxList.test.tsx +14 -30
- package/src/CheckboxList/CheckboxList.tsx +3 -18
- package/src/CodeBlock/CodeBlock.tsx +33 -61
- package/src/ContextMenu/ContextMenu.doc.mjs +4 -4
- package/src/ContextMenu/ContextMenu.test.tsx +1 -155
- package/src/ContextMenu/ContextMenu.tsx +16 -113
- package/src/DateInput/DateInput.test.tsx +0 -59
- package/src/DateInput/DateInput.tsx +7 -24
- package/src/DateRangeInput/DateRangeInput.test.tsx +18 -69
- package/src/DateRangeInput/DateRangeInput.tsx +3 -7
- package/src/DateTimeInput/DateTimeInput.doc.mjs +0 -7
- package/src/DateTimeInput/DateTimeInput.test.tsx +6 -99
- package/src/DateTimeInput/DateTimeInput.tsx +3 -32
- package/src/Dialog/Dialog.tsx +0 -12
- package/src/DropdownMenu/DropdownMenu.doc.mjs +8 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +42 -56
- package/src/DropdownMenu/DropdownMenu.tsx +18 -52
- package/src/Field/Field.test.tsx +0 -32
- package/src/Field/Field.tsx +5 -23
- package/src/Field/FieldLabel.tsx +17 -53
- package/src/FileInput/FileInput.test.tsx +49 -104
- package/src/FileInput/FileInput.tsx +3 -27
- package/src/InputGroup/InputGroup.test.tsx +63 -21
- package/src/InputGroup/InputGroup.tsx +1 -4
- package/src/Kbd/Kbd.test.tsx +4 -22
- package/src/Kbd/Kbd.tsx +3 -35
- package/src/Layer/layerAnimations.stylex.ts +4 -20
- package/src/Layer/useLayer.tsx +6 -67
- package/src/Layout/padding.stylex.ts +0 -52
- package/src/Lightbox/Lightbox.test.tsx +5 -53
- package/src/Lightbox/Lightbox.tsx +4 -9
- package/src/Link/Link.doc.mjs +0 -14
- package/src/Link/Link.test.tsx +0 -32
- package/src/Link/Link.tsx +1 -23
- package/src/Markdown/Markdown.test.tsx +0 -11
- package/src/Markdown/Markdown.tsx +0 -5
- package/src/MoreMenu/MoreMenu.doc.mjs +17 -2
- package/src/MoreMenu/MoreMenu.tsx +9 -0
- package/src/MultiSelector/MultiSelector.test.tsx +8 -166
- package/src/MultiSelector/MultiSelector.tsx +17 -90
- package/src/MultiSelector/hooks.ts +0 -27
- package/src/NavMenu/NavHeadingMenu.test.tsx +1 -32
- package/src/NavMenu/NavHeadingMenu.tsx +2 -30
- package/src/NumberInput/NumberInput.test.tsx +38 -72
- package/src/NumberInput/NumberInput.tsx +1 -12
- package/src/Pagination/Pagination.test.tsx +5 -58
- package/src/Pagination/Pagination.tsx +0 -12
- package/src/Popover/usePopover.doc.mjs +3 -7
- package/src/Popover/usePopover.tsx +6 -49
- package/src/PowerSearch/PowerSearch.tsx +0 -3
- package/src/ProgressBar/ProgressBar.test.tsx +26 -34
- package/src/ProgressBar/ProgressBar.tsx +1 -1
- package/src/RadioList/RadioList.test.tsx +14 -129
- package/src/RadioList/RadioList.tsx +8 -103
- package/src/SegmentedControl/SegmentedControl.test.tsx +40 -84
- package/src/SegmentedControl/SegmentedControl.tsx +0 -26
- package/src/SegmentedControl/SegmentedControlItem.tsx +1 -4
- package/src/Selector/Selector.test.tsx +17 -146
- package/src/Selector/Selector.tsx +36 -73
- package/src/Selector/hooks.ts +0 -23
- package/src/SideNav/SideNav.test.tsx +0 -16
- package/src/SideNav/SideNavItem.tsx +4 -2
- package/src/Skeleton/Skeleton.tsx +1 -11
- package/src/Spinner/Spinner.tsx +1 -7
- package/src/Stack/Stack.doc.mjs +0 -57
- package/src/Stack/Stack.test.tsx +5 -55
- package/src/Stack/Stack.tsx +1 -53
- package/src/Stack/StackItem.test.tsx +0 -23
- package/src/Stack/StackItem.tsx +0 -20
- package/src/TabList/Tab.tsx +0 -6
- package/src/TabList/TabList.doc.mjs +0 -6
- package/src/TabList/TabList.test.tsx +0 -167
- package/src/TabList/TabList.tsx +9 -72
- package/src/TabList/TabListContext.ts +3 -7
- package/src/TabList/TabMenu.tsx +3 -6
- package/src/Table/Table.test.tsx +0 -10
- package/src/Table/Table.tsx +0 -5
- package/src/Table/tableContextMenu.tsx +5 -1
- package/src/Toast/Toast.tsx +0 -14
- package/src/Toast/ToastViewport.tsx +21 -167
- package/src/Toolbar/Toolbar.test.tsx +0 -45
- package/src/Toolbar/Toolbar.tsx +2 -5
- package/src/Tooltip/Tooltip.test.tsx +0 -68
- package/src/Tooltip/useTooltip.tsx +8 -55
- package/src/TreeList/TreeList.test.tsx +6 -295
- package/src/TreeList/TreeList.tsx +1 -84
- package/src/TreeList/TreeListItem.tsx +5 -50
- package/src/Typeahead/BaseTypeahead.tsx +8 -69
- package/src/Typeahead/Typeahead.test.tsx +0 -160
- package/src/hooks/index.ts +2 -21
- package/src/hooks/useClickableContainer.ts +4 -16
- package/src/hooks/useEntryAnimation.ts +4 -16
- package/src/hooks/useFocusTrap.ts +4 -98
- package/src/hooks/useGridFocus.ts +64 -184
- package/src/hooks/useListFocus.doc.mjs +10 -49
- package/src/hooks/useListFocus.ts +57 -395
- package/src/index.ts +0 -1
- package/dist/TreeList/treeListItem.markers.stylex.d.ts +0 -16
- package/dist/TreeList/treeListItem.markers.stylex.d.ts.map +0 -1
- package/dist/TreeList/treeListItem.markers.stylex.js +0 -22
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +0 -61
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +0 -65
- package/dist/VisuallyHidden/index.d.ts +0 -11
- package/dist/VisuallyHidden/index.d.ts.map +0 -1
- package/dist/VisuallyHidden/index.js +0 -13
- package/dist/hooks/focusableSelector.d.ts +0 -22
- package/dist/hooks/focusableSelector.d.ts.map +0 -1
- package/dist/hooks/focusableSelector.js +0 -24
- package/dist/hooks/useAnnounce.d.ts +0 -40
- package/dist/hooks/useAnnounce.d.ts.map +0 -1
- package/dist/hooks/useAnnounce.js +0 -142
- package/dist/hooks/useLongPress.d.ts +0 -21
- package/dist/hooks/useLongPress.d.ts.map +0 -1
- package/dist/hooks/useLongPress.js +0 -89
- package/dist/hooks/useTreeFocus.d.ts +0 -133
- package/dist/hooks/useTreeFocus.d.ts.map +0 -1
- package/dist/hooks/useTreeFocus.js +0 -274
- package/dist/hooks/useTypeahead.d.ts +0 -63
- package/dist/hooks/useTypeahead.d.ts.map +0 -1
- package/dist/hooks/useTypeahead.js +0 -117
- package/src/Avatar/Avatar.test.tsx +0 -37
- package/src/CodeBlock/CodeBlock.test.tsx +0 -115
- package/src/Skeleton/Skeleton.test.tsx +0 -25
- package/src/Toast/ToastViewport.test.tsx +0 -204
- package/src/TreeList/treeListItem.markers.stylex.ts +0 -20
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +0 -80
- package/src/VisuallyHidden/VisuallyHidden.test.tsx +0 -76
- package/src/VisuallyHidden/VisuallyHidden.tsx +0 -113
- package/src/VisuallyHidden/index.ts +0 -15
- package/src/hooks/focusableSelector.ts +0 -25
- package/src/hooks/useAnnounce.test.tsx +0 -101
- package/src/hooks/useAnnounce.ts +0 -168
- package/src/hooks/useFocusTrap.test.tsx +0 -132
- package/src/hooks/useListFocus.test.tsx +0 -375
- package/src/hooks/useLongPress.test.tsx +0 -134
- package/src/hooks/useLongPress.ts +0 -119
- package/src/hooks/useTreeFocus.doc.mjs +0 -126
- package/src/hooks/useTreeFocus.test.tsx +0 -214
- package/src/hooks/useTreeFocus.ts +0 -464
- package/src/hooks/useTypeahead.test.tsx +0 -109
- package/src/hooks/useTypeahead.ts +0 -183
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @astryxdesign/core
|
|
2
2
|
|
|
3
|
-
Core UI components, theme system, and utilities for the
|
|
3
|
+
Core UI components, theme system, and utilities for the XDS design system. For project setup, see [Quick Start](#quick-start) below.
|
|
4
4
|
|
|
5
5
|
## Component Docs
|
|
6
6
|
|
|
@@ -15,9 +15,9 @@ node node_modules/@astryxdesign/core/docs.mjs --list --brief # brief summaries
|
|
|
15
15
|
## Page Layouts
|
|
16
16
|
|
|
17
17
|
Building a full page? Start with a template rather than composing from scratch.
|
|
18
|
-
Templates are content-only; they compose `
|
|
18
|
+
Templates are content-only; they compose `XDSLayout` with header, content, and
|
|
19
19
|
panel slots into common page patterns (dashboards, settings, forms, detail pages).
|
|
20
|
-
Wrap them in your own app chrome (`
|
|
20
|
+
Wrap them in your own app chrome (`XDSAppShell`, `XDSTopNav`, `XDSSideNav`) to add
|
|
21
21
|
global navigation.
|
|
22
22
|
|
|
23
23
|
Requires `@astryxdesign/cli` (`npm install -D @astryxdesign/cli`):
|
|
@@ -28,7 +28,7 @@ npx astryx template dashboard # emit full page source
|
|
|
28
28
|
npx astryx template settings --skeleton # layout skeleton with spatial annotations
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
##
|
|
31
|
+
## XDS CLI
|
|
32
32
|
|
|
33
33
|
The CLI (`@astryxdesign/cli`) provides additional tooling:
|
|
34
34
|
|
|
@@ -38,11 +38,11 @@ npx astryx component Button # full docs + related block templates
|
|
|
38
38
|
npx astryx docs # reference docs (principles, tokens, theming, styling)
|
|
39
39
|
npx astryx docs theme # theming guide (Theme, defineTheme, light/dark)
|
|
40
40
|
npx astryx docs tokens # spacing, color, radius, typography token reference
|
|
41
|
-
npx astryx init # initialize
|
|
41
|
+
npx astryx init # initialize XDS in your project
|
|
42
42
|
npx astryx theme build # build theme CSS for production
|
|
43
43
|
npx astryx swizzle Button # eject component source for customization
|
|
44
44
|
npx astryx upgrade --apply # run codemods to migrate between versions
|
|
45
|
-
npx astryx discover # discover external
|
|
45
|
+
npx astryx discover # discover external XDS packages
|
|
46
46
|
npx astryx gap-report # report a missing capability
|
|
47
47
|
```
|
|
48
48
|
|
|
@@ -62,7 +62,7 @@ npx astryx gap-report # report a missing capability
|
|
|
62
62
|
|
|
63
63
|
## Quick Start
|
|
64
64
|
|
|
65
|
-
Install
|
|
65
|
+
Install XDS and a theme:
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
68
|
npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
@@ -122,7 +122,7 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
|
|
|
122
122
|
|
|
123
123
|
### Next.js + Tailwind
|
|
124
124
|
|
|
125
|
-
No build plugins needed;
|
|
125
|
+
No build plugins needed; XDS ships pre-built CSS that works alongside Tailwind.
|
|
126
126
|
|
|
127
127
|
**`src/app/globals.css`**
|
|
128
128
|
|
|
@@ -150,7 +150,7 @@ The `tailwind-theme.css` import maps system tokens to Tailwind utilities via `@t
|
|
|
150
150
|
|
|
151
151
|
Some useful mappings:
|
|
152
152
|
|
|
153
|
-
| Tailwind class |
|
|
153
|
+
| Tailwind class | XDS token |
|
|
154
154
|
| --------------------------------------------------------- | ------------------------------------------------- |
|
|
155
155
|
| `text-primary` / `text-secondary` | `--color-text-primary` / `--color-text-secondary` |
|
|
156
156
|
| `bg-surface` / `bg-card` / `bg-body` | `--color-background-surface` / `card` / `body` |
|
|
@@ -160,7 +160,7 @@ Some useful mappings:
|
|
|
160
160
|
| `rounded-sm` / `rounded-md` / `rounded-lg` | `--radius-inner` / `element` / `container` |
|
|
161
161
|
| `shadow-sm` / `shadow-md` / `shadow-lg` | `--shadow-low` / `med` / `high` |
|
|
162
162
|
|
|
163
|
-
Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching
|
|
163
|
+
Spacing references `var(--spacing-1)` as the base unit, so `p-4` = 16px, matching XDS's `--spacing-4`. Arbitrary values still work as an escape hatch: `bg-[var(--color-background-surface)]`.
|
|
164
164
|
|
|
165
165
|
**`src/app/providers.tsx`**
|
|
166
166
|
|
|
@@ -204,7 +204,7 @@ That's it. Start using components:
|
|
|
204
204
|
import {Button} from '@astryxdesign/core/Button';
|
|
205
205
|
|
|
206
206
|
export default function Page() {
|
|
207
|
-
return <Button label="Hello
|
|
207
|
+
return <Button label="Hello XDS" variant="primary" />;
|
|
208
208
|
}
|
|
209
209
|
```
|
|
210
210
|
|
|
@@ -232,7 +232,7 @@ Providers and layout are the same as the Tailwind example (use `@astryxdesign/th
|
|
|
232
232
|
npm install @astryxdesign/core @astryxdesign/theme-neutral
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
-
Same CSS imports and providers as above. No build plugins needed;
|
|
235
|
+
Same CSS imports and providers as above. No build plugins needed; XDS ships pre-built.
|
|
236
236
|
|
|
237
237
|
### No build step (CDN)
|
|
238
238
|
|
|
@@ -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;;GAEG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,KAAK,iBAAiB,GAClB,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER;;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,+
|
|
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,GAClB,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER;;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,+BA8Eb;yBA3Fe,MAAM"}
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -247,12 +247,7 @@ export function Avatar({
|
|
|
247
247
|
const showFallbackImage = !showImage && fallbackSrc && !fallbackError;
|
|
248
248
|
const showInitials = !showImage && !showFallbackImage && name;
|
|
249
249
|
const showIcon = !showImage && !showFallbackImage && !name;
|
|
250
|
-
|
|
251
|
-
// A meaningful accessible name comes from `alt` or `name`. With neither, the
|
|
252
|
-
// avatar is decorative — expose it as `presentation`/`aria-hidden` rather than
|
|
253
|
-
// announcing a meaningless generic "Avatar" (obs-9).
|
|
254
|
-
const accessibleName = alt || name;
|
|
255
|
-
const isDecorative = !accessibleName;
|
|
250
|
+
const accessibleName = alt || name || 'Avatar';
|
|
256
251
|
const avatarGroup = useAvatarGroup();
|
|
257
252
|
const resolvedSize = avatarGroup?.size ?? size;
|
|
258
253
|
const numericSize = useMemo(() => resolveSize(resolvedSize), [resolvedSize]);
|
|
@@ -260,9 +255,8 @@ export function Avatar({
|
|
|
260
255
|
value: numericSize,
|
|
261
256
|
children: /*#__PURE__*/_jsxs("div", {
|
|
262
257
|
ref: ref,
|
|
263
|
-
role:
|
|
264
|
-
"aria-label":
|
|
265
|
-
"aria-hidden": isDecorative || undefined,
|
|
258
|
+
role: "img",
|
|
259
|
+
"aria-label": accessibleName,
|
|
266
260
|
"data-testid": testId,
|
|
267
261
|
...mergeProps(themeProps('avatar', {
|
|
268
262
|
size: resolvedSize
|
|
@@ -272,14 +266,14 @@ export function Avatar({
|
|
|
272
266
|
...stylex.props(styles.content, dynamicStyles.size(numericSize)),
|
|
273
267
|
children: [showImage && /*#__PURE__*/_jsx("img", {
|
|
274
268
|
src: src,
|
|
275
|
-
alt:
|
|
269
|
+
alt: accessibleName,
|
|
276
270
|
onError: () => setImageError(true),
|
|
277
271
|
...{
|
|
278
272
|
className: "xh8yej3 x5yr21d xl1xv1r"
|
|
279
273
|
}
|
|
280
274
|
}), showFallbackImage && /*#__PURE__*/_jsx("img", {
|
|
281
275
|
src: fallbackSrc,
|
|
282
|
-
alt:
|
|
276
|
+
alt: accessibleName,
|
|
283
277
|
onError: () => setFallbackError(true),
|
|
284
278
|
...{
|
|
285
279
|
className: "xh8yej3 x5yr21d xl1xv1r"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAIZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GACtB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"BreadcrumbItem.d.ts","sourceRoot":"","sources":["../../src/Breadcrumbs/BreadcrumbItem.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,EAIZ,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAC/C,SAAS,CAAC,aAAa,CAAC,EACxB,SAAS,CACV;IACC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;;OAIG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,SAAS,EAAE,aAAa,EACxB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,GACtB,EAAE,mBAAmB,qBAsIrB;yBAlJe,cAAc"}
|
|
@@ -88,20 +88,12 @@ export function BreadcrumbItem({
|
|
|
88
88
|
const LinkComponent = useLinkComponent(as);
|
|
89
89
|
const isSupporting = ctx.variant === 'supporting';
|
|
90
90
|
const liRef = useRef(null);
|
|
91
|
-
// Points at the element we render to hold the item's content (the
|
|
92
|
-
// link/button/span in the auto-candidate path). Auto-current detection sets
|
|
93
|
-
// aria-current on this instead of guessing the <li>'s last child.
|
|
94
|
-
const contentRef = useRef(null);
|
|
95
91
|
const isCurrent = isCurrentProp === true;
|
|
96
92
|
const isAutoCandidate = isCurrentProp == null;
|
|
97
93
|
|
|
98
94
|
// Auto-detect: if no sibling has aria-current="page" and this is the last
|
|
99
95
|
// non-separator item, set aria-current on our content element.
|
|
100
96
|
// Runs as useEffect (not layout) — only sets an aria attribute, no visual change.
|
|
101
|
-
// Placed on the item's content element (the link/button/span after the
|
|
102
|
-
// separator), matching where the explicit `isCurrent` path sets it, so
|
|
103
|
-
// aria-current lands on the actual interactive element — including when the
|
|
104
|
-
// last item is a link — rather than on the outer <li> (navigation-11).
|
|
105
97
|
useEffect(() => {
|
|
106
98
|
if (!isAutoCandidate) {
|
|
107
99
|
return;
|
|
@@ -120,16 +112,11 @@ export function BreadcrumbItem({
|
|
|
120
112
|
const isLast = items.length > 0 && items[items.length - 1] === li;
|
|
121
113
|
const hasExplicit = ol.querySelector('[aria-current="page"]');
|
|
122
114
|
if (isLast && !hasExplicit) {
|
|
123
|
-
|
|
124
|
-
// render path below), so set aria-current on that ref rather than
|
|
125
|
-
// assuming a positional last child. Fall back to the <li> only if the
|
|
126
|
-
// ref is somehow unresolved.
|
|
127
|
-
const target = contentRef.current ?? li;
|
|
128
|
-
target.setAttribute('aria-current', 'page');
|
|
129
|
-
return () => {
|
|
130
|
-
target.removeAttribute('aria-current');
|
|
131
|
-
};
|
|
115
|
+
li.setAttribute('aria-current', 'page');
|
|
132
116
|
}
|
|
117
|
+
return () => {
|
|
118
|
+
li.removeAttribute('aria-current');
|
|
119
|
+
};
|
|
133
120
|
});
|
|
134
121
|
const content = /*#__PURE__*/_jsxs(_Fragment, {
|
|
135
122
|
children: [startIcon && /*#__PURE__*/_jsx("span", {
|
|
@@ -178,7 +165,6 @@ export function BreadcrumbItem({
|
|
|
178
165
|
},
|
|
179
166
|
children: ctx.separator
|
|
180
167
|
}), href != null ? /*#__PURE__*/_jsx(LinkComponent, {
|
|
181
|
-
ref: contentRef,
|
|
182
168
|
href: href,
|
|
183
169
|
onClick: onClick,
|
|
184
170
|
...{
|
|
@@ -191,7 +177,6 @@ export function BreadcrumbItem({
|
|
|
191
177
|
}[!!isSupporting << 0],
|
|
192
178
|
children: content
|
|
193
179
|
}) : onClick != null ? /*#__PURE__*/_jsx("button", {
|
|
194
|
-
ref: contentRef,
|
|
195
180
|
type: "button",
|
|
196
181
|
onClick: onClick,
|
|
197
182
|
...{
|
|
@@ -204,7 +189,6 @@ export function BreadcrumbItem({
|
|
|
204
189
|
}[!!isSupporting << 0],
|
|
205
190
|
children: content
|
|
206
191
|
}) : /*#__PURE__*/_jsx("span", {
|
|
207
|
-
ref: contentRef,
|
|
208
192
|
...{
|
|
209
193
|
0: {
|
|
210
194
|
className: "x78zum5 x6s0dn4 xzye2dw x1pd3egz x1tgivj0"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA8C5C,YAAY,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACV,MAAM,oBAAoB,CAAC;AAI5B,+CAA+C;AAE/C,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC3C;AAID,UAAU,iBAAkB,SAAQ,IAAI,CACtC,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,GAAG,cAAc,CAC5B;IACC,kDAAkD;IAClD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,aAAa,CAAC;IAEpB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAEzD;;;OAGG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,qBAAqB;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC;CAC9D;AAED,UAAU,kBAAmB,SAAQ,iBAAiB;IACpD,qBAAqB;IACrB,IAAI,EAAE,OAAO,CAAC;IAEd,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAMrE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAC,GAAG,EAAE,GAAG,KAAK,EAAC,EAAE,aAAa,+BA4RtD;yBA5Re,QAAQ"}
|
|
@@ -23,7 +23,7 @@ import { Icon } from "../Icon/index.js";
|
|
|
23
23
|
import { useGridFocus } from "../hooks/index.js";
|
|
24
24
|
import { useCalendarDays, useCalendarConstraints, useCalendarRovingTabindex } from "./hooks/index.js";
|
|
25
25
|
import { calendarStyles, monthGridStyles, dayCellStyles, dayCellTheme } from "./styles.js";
|
|
26
|
-
import { plainDateFromISO, plainDateToISO, plainDateToDate, plainDateToday, plainDateSetFirstOfMonth, plainDateAddMonths, plainDateAddDays, plainDateIsBefore, plainDateIsEqual, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_MONTH_YEAR } from "../utils/plainDate.js";
|
|
26
|
+
import { plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, plainDateSetFirstOfMonth, plainDateAddMonths, plainDateAddDays, plainDateIsBefore, plainDateIsEqual, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_MONTH_YEAR } from "../utils/plainDate.js";
|
|
27
27
|
import { mergeProps } from "../utils/index.js";
|
|
28
28
|
import { computeDayCellState, computeRangeRounding, computePreviewRounding, isEndpoint } from "./dayCellUtils.js";
|
|
29
29
|
|
|
@@ -361,21 +361,21 @@ function MonthGrid({
|
|
|
361
361
|
selectedDate: selectedDateForTabindex
|
|
362
362
|
});
|
|
363
363
|
|
|
364
|
-
// Helper to get the focused date from the currently focused element
|
|
365
|
-
// Reads the machine-readable `data-date` (ISO) attribute rather than parsing
|
|
366
|
-
// the human-readable `aria-label` with `new Date()`, which is locale/format
|
|
367
|
-
// dependent and returns Invalid Date in non-English locales (e.g. fr-FR,
|
|
368
|
-
// ja-JP), silently swallowing month-boundary arrow navigation (complex-4).
|
|
364
|
+
// Helper to get the focused date from the currently focused element
|
|
369
365
|
const getFocusedDate = useCallback(() => {
|
|
370
366
|
const activeElement = document.activeElement;
|
|
371
367
|
if (!activeElement) {
|
|
372
368
|
return null;
|
|
373
369
|
}
|
|
374
|
-
const
|
|
375
|
-
if (!
|
|
370
|
+
const ariaLabel = activeElement.getAttribute('aria-label');
|
|
371
|
+
if (!ariaLabel) {
|
|
376
372
|
return null;
|
|
377
373
|
}
|
|
378
|
-
|
|
374
|
+
const parsed = new Date(ariaLabel);
|
|
375
|
+
if (isNaN(parsed.getTime())) {
|
|
376
|
+
return null;
|
|
377
|
+
}
|
|
378
|
+
return plainDateToISO(plainDateFromDate(parsed));
|
|
379
379
|
}, []);
|
|
380
380
|
|
|
381
381
|
// Handle navigation to previous month
|
|
@@ -408,23 +408,13 @@ function MonthGrid({
|
|
|
408
408
|
}
|
|
409
409
|
}, [getFocusedDate, onNavigateNext]);
|
|
410
410
|
|
|
411
|
-
// Grid focus navigation
|
|
412
|
-
//
|
|
413
|
-
// The hook enumerates ALL grid cells (every `role="gridcell"`, including
|
|
414
|
-
// disabled days and empty placeholder cells) so the true 7-column geometry is
|
|
415
|
-
// preserved. `isCellFocusable` / `getFocusTarget` tell the hook which cells
|
|
416
|
-
// can take focus (those containing an enabled day button) and where to send
|
|
417
|
-
// focus (the day button inside the cell). Arrow keys move to the target
|
|
418
|
-
// row/column and, if that cell is disabled, continue in the same direction to
|
|
419
|
-
// the next enabled cell.
|
|
411
|
+
// Grid focus navigation
|
|
420
412
|
const {
|
|
421
413
|
gridRef,
|
|
422
414
|
handleKeyDown: handleGridKeyDown
|
|
423
415
|
} = useGridFocus({
|
|
424
416
|
columns: 7,
|
|
425
|
-
cellSelector: '[
|
|
426
|
-
isCellFocusable: cell => cell.querySelector('button:not([disabled])') !== null,
|
|
427
|
-
getFocusTarget: cell => cell.querySelector('button'),
|
|
417
|
+
cellSelector: 'button:not([disabled])',
|
|
428
418
|
onNavigateBefore: handleNavigatePrevious,
|
|
429
419
|
onNavigateAfter: handleNavigateNext,
|
|
430
420
|
onPageUp: handlePageUp,
|
|
@@ -438,10 +428,10 @@ function MonthGrid({
|
|
|
438
428
|
}
|
|
439
429
|
const buttons = gridRef.current.querySelectorAll('button:not([disabled])');
|
|
440
430
|
const targetPd = plainDateFromISO(pendingFocus);
|
|
441
|
-
const
|
|
431
|
+
const targetLabel = plainDateFormat(targetPd, DATE_FORMAT_WITH_WEEKDAY);
|
|
442
432
|
let targetButton = null;
|
|
443
433
|
for (const button of buttons) {
|
|
444
|
-
if (button.getAttribute('
|
|
434
|
+
if (button.getAttribute('aria-label') === targetLabel) {
|
|
445
435
|
targetButton = button;
|
|
446
436
|
break;
|
|
447
437
|
}
|
|
@@ -492,32 +482,30 @@ function MonthGrid({
|
|
|
492
482
|
const monthLabel = useMemo(() => {
|
|
493
483
|
return plainDateFormat(month, DATE_FORMAT_MONTH_YEAR);
|
|
494
484
|
}, [month]);
|
|
495
|
-
return /*#__PURE__*/
|
|
485
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
496
486
|
...stylex.props(monthGridStyles.monthGrid),
|
|
497
|
-
children: /*#__PURE__*/_jsxs("div", {
|
|
487
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
488
|
+
...stylex.props(monthGridStyles.weekHeader, hasWeekNumbers && monthGridStyles.weekHeaderWithNumbers),
|
|
489
|
+
children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
|
|
490
|
+
...stylex.props(monthGridStyles.dayName, monthGridStyles.weekNumberHeader)
|
|
491
|
+
}), dayNames.map(name => /*#__PURE__*/_jsx("div", {
|
|
492
|
+
role: "columnheader",
|
|
493
|
+
...stylex.props(monthGridStyles.dayName),
|
|
494
|
+
children: name
|
|
495
|
+
}, name))]
|
|
496
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
498
497
|
ref: gridRef,
|
|
499
498
|
role: "grid",
|
|
500
499
|
"aria-label": monthLabel,
|
|
501
500
|
onKeyDown: handleGridKeyDown,
|
|
502
501
|
...stylex.props(monthGridStyles.daysGrid, hasWeekNumbers && monthGridStyles.daysGridWithNumbers),
|
|
503
|
-
children:
|
|
504
|
-
role: "row",
|
|
505
|
-
...stylex.props(monthGridStyles.weekRow),
|
|
506
|
-
children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
|
|
507
|
-
...stylex.props(monthGridStyles.dayName, monthGridStyles.weekNumberHeader)
|
|
508
|
-
}), dayNames.map(name => /*#__PURE__*/_jsx("div", {
|
|
509
|
-
role: "columnheader",
|
|
510
|
-
...stylex.props(monthGridStyles.dayName),
|
|
511
|
-
children: name
|
|
512
|
-
}, name))]
|
|
513
|
-
}), weeks.map(week => {
|
|
502
|
+
children: weeks.map(week => {
|
|
514
503
|
const weekDate = week.find(d => !d.isOutside)?.date || week[0].date;
|
|
515
504
|
const weekNum = plainDateGetWeekNumber(weekDate);
|
|
516
505
|
return /*#__PURE__*/_jsxs("div", {
|
|
517
506
|
role: "row",
|
|
518
507
|
...stylex.props(monthGridStyles.weekRow),
|
|
519
508
|
children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
|
|
520
|
-
role: "rowheader",
|
|
521
509
|
...stylex.props(monthGridStyles.weekNumber),
|
|
522
510
|
children: weekNum
|
|
523
511
|
}), week.map((day, dayIndex) => /*#__PURE__*/_jsx(DayCell, {
|
|
@@ -537,8 +525,8 @@ function MonthGrid({
|
|
|
537
525
|
onDayHover: onDayHover
|
|
538
526
|
}, day.iso))]
|
|
539
527
|
}, plainDateToISO(weekDate));
|
|
540
|
-
})
|
|
541
|
-
})
|
|
528
|
+
})
|
|
529
|
+
})]
|
|
542
530
|
});
|
|
543
531
|
}
|
|
544
532
|
|
|
@@ -568,10 +556,7 @@ function DayCell({
|
|
|
568
556
|
dayNumber
|
|
569
557
|
} = day;
|
|
570
558
|
if (isOutside && !hasOutsideDays) {
|
|
571
|
-
// Empty placeholder cell — still a gridcell so the grid geometry stays a
|
|
572
|
-
// clean 7-per-row set for keyboard navigation.
|
|
573
559
|
return /*#__PURE__*/_jsx("div", {
|
|
574
|
-
role: "gridcell",
|
|
575
560
|
...stylex.props(dayCellStyles.cell)
|
|
576
561
|
});
|
|
577
562
|
}
|
|
@@ -592,7 +577,6 @@ function DayCell({
|
|
|
592
577
|
const rangeRounding = computeRangeRounding(state);
|
|
593
578
|
const previewRounding = computePreviewRounding(state);
|
|
594
579
|
return /*#__PURE__*/_jsxs("div", {
|
|
595
|
-
role: "gridcell",
|
|
596
580
|
...stylex.props(dayCellStyles.cell),
|
|
597
581
|
children: [state.isInRange && /*#__PURE__*/_jsx("div", {
|
|
598
582
|
...stylex.props(dayCellStyles.rangeBg, dayCellTheme.rangeBg, rangeRounding.roundLeft && dayCellStyles.rangeBgRadiusLeft, rangeRounding.roundRight && dayCellStyles.rangeBgRadiusRight, state.isRangeStart && dayCellStyles.rangeInsetLeft, state.isRangeStart && rangeRounding.roundRight && dayCellStyles.rangeInsetRight, state.isRangeEnd && dayCellStyles.rangeInsetRight, state.isRangeStart && rangeRounding.roundLeft && dayCellStyles.rangeInsetLeft)
|
|
@@ -600,6 +584,7 @@ function DayCell({
|
|
|
600
584
|
...stylex.props(dayCellStyles.previewBg, dayCellTheme.previewBg, previewRounding.roundLeft && dayCellStyles.previewBgRadiusLeft, previewRounding.roundRight && dayCellStyles.previewBgRadiusRight, state.isPreviewStart && dayCellStyles.previewStart, state.isPreviewEnd && dayCellStyles.previewEnd)
|
|
601
585
|
}), /*#__PURE__*/_jsx("button", {
|
|
602
586
|
type: "button",
|
|
587
|
+
role: "gridcell",
|
|
603
588
|
"data-date": day.iso,
|
|
604
589
|
"aria-label": plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY),
|
|
605
590
|
"aria-selected": state.isSelected || state.isInRange || undefined,
|
|
@@ -55,11 +55,17 @@ export declare const monthGridStyles: Readonly<{
|
|
|
55
55
|
readonly monthGrid: Readonly<{
|
|
56
56
|
readonly flex: stylex.StyleXClassNameFor<"flex", "1 1 0">;
|
|
57
57
|
}>;
|
|
58
|
+
readonly weekHeader: Readonly<{
|
|
59
|
+
readonly display: stylex.StyleXClassNameFor<"display", "grid">;
|
|
60
|
+
readonly gridTemplateColumns: stylex.StyleXClassNameFor<"gridTemplateColumns", "repeat(7, 1fr)">;
|
|
61
|
+
readonly marginBottom: stylex.StyleXClassNameFor<"marginBottom", "4px">;
|
|
62
|
+
}>;
|
|
63
|
+
readonly weekHeaderWithNumbers: Readonly<{
|
|
64
|
+
readonly gridTemplateColumns: stylex.StyleXClassNameFor<"gridTemplateColumns", "auto repeat(7, 1fr)">;
|
|
65
|
+
}>;
|
|
58
66
|
readonly dayName: Readonly<{
|
|
59
67
|
readonly width: stylex.StyleXClassNameFor<"width", "32px">;
|
|
60
|
-
readonly height: stylex.StyleXClassNameFor<"height",
|
|
61
|
-
readonly paddingBottom: stylex.StyleXClassNameFor<"paddingBottom", "4px">;
|
|
62
|
-
readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
|
|
68
|
+
readonly height: stylex.StyleXClassNameFor<"height", "32px">;
|
|
63
69
|
readonly display: stylex.StyleXClassNameFor<"display", "flex">;
|
|
64
70
|
readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
|
|
65
71
|
readonly justifyContent: stylex.StyleXClassNameFor<"justifyContent", "center">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAgB3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCzB,CAAC;AAMH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/Calendar/styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAgB3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCzB,CAAC;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C1B,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GxB,CAAC;AAMH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEvB,CAAC"}
|
package/dist/Calendar/styles.js
CHANGED
|
@@ -77,11 +77,19 @@ export const monthGridStyles = {
|
|
|
77
77
|
kUk6DE: "x1cqoux5",
|
|
78
78
|
$$css: true
|
|
79
79
|
},
|
|
80
|
+
weekHeader: {
|
|
81
|
+
k1xSpc: "xrvj5dj",
|
|
82
|
+
kumcoG: "x1mzazjb",
|
|
83
|
+
k1K539: "x14cgwvg",
|
|
84
|
+
$$css: true
|
|
85
|
+
},
|
|
86
|
+
weekHeaderWithNumbers: {
|
|
87
|
+
kumcoG: "x1wthsqz",
|
|
88
|
+
$$css: true
|
|
89
|
+
},
|
|
80
90
|
dayName: {
|
|
81
91
|
kzqmXN: "x805d0l",
|
|
82
|
-
kZKoxP: "
|
|
83
|
-
kGO01o: "xy143xn",
|
|
84
|
-
kB7OPa: "x9f619",
|
|
92
|
+
kZKoxP: "x1ueg155",
|
|
85
93
|
k1xSpc: "x78zum5",
|
|
86
94
|
kGNEyG: "x6s0dn4",
|
|
87
95
|
kjj79g: "xl56j7k",
|
|
@@ -1 +1 @@
|
|
|
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;AAGhD,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,SAAsB,EACpC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+
|
|
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;AAGhD,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,SAAsB,EACpC,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,SAAS,EACb,EAAE,aAAa,+BAgIf;yBA9Ie,QAAQ"}
|
|
@@ -239,13 +239,9 @@ export function Carousel({
|
|
|
239
239
|
const firstChild = el.firstElementChild;
|
|
240
240
|
const itemWidth = firstChild ? firstChild.offsetWidth : 0;
|
|
241
241
|
const amount = el.clientWidth - itemWidth * 0.5;
|
|
242
|
-
// Respect the user's reduced-motion preference — mirrors the CSS
|
|
243
|
-
// scroll-behavior override so button-driven scrolling doesn't animate
|
|
244
|
-
// for users who opted out of motion.
|
|
245
|
-
const prefersReducedMotion = typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
246
242
|
el.scrollBy({
|
|
247
243
|
left: direction * Math.max(amount, itemWidth),
|
|
248
|
-
behavior:
|
|
244
|
+
behavior: 'smooth'
|
|
249
245
|
});
|
|
250
246
|
}, []);
|
|
251
247
|
const fadeStyle = hasEdgeFade ? overflowStart && overflowEnd ? styles.fadeBoth : overflowStart ? styles.fadeStart : overflowEnd ? styles.fadeEnd : null : null;
|
|
@@ -289,13 +285,7 @@ export function Carousel({
|
|
|
289
285
|
label: "Scroll left",
|
|
290
286
|
variant: "ghost",
|
|
291
287
|
size: "sm",
|
|
292
|
-
isIconOnly: true
|
|
293
|
-
// Disabled when there's nothing to scroll toward. Keeps the
|
|
294
|
-
// button mounted (stable layout/focus) but removes it from the
|
|
295
|
-
// tab order and a11y tree while it's visually hidden, so
|
|
296
|
-
// keyboard users don't land on an invisible control.
|
|
297
|
-
,
|
|
298
|
-
isDisabled: !overflowStart,
|
|
288
|
+
isIconOnly: true,
|
|
299
289
|
onClick: () => scrollBy(-1),
|
|
300
290
|
xstyle: styles.buttonRadiusOverride
|
|
301
291
|
})
|
|
@@ -316,11 +306,7 @@ export function Carousel({
|
|
|
316
306
|
label: "Scroll right",
|
|
317
307
|
variant: "ghost",
|
|
318
308
|
size: "sm",
|
|
319
|
-
isIconOnly: true
|
|
320
|
-
// See "Scroll left" — disabled while visually hidden so the
|
|
321
|
-
// button stays mounted but out of the tab order / a11y tree.
|
|
322
|
-
,
|
|
323
|
-
isDisabled: !overflowEnd,
|
|
309
|
+
isIconOnly: true,
|
|
324
310
|
onClick: () => scrollBy(1),
|
|
325
311
|
xstyle: styles.buttonRadiusOverride
|
|
326
312
|
})
|
|
@@ -52,19 +52,6 @@ export interface ChatMessageListProps extends BaseProps<HTMLDivElement> {
|
|
|
52
52
|
* be grouped) and row spacing should be tuned separately from density.
|
|
53
53
|
*/
|
|
54
54
|
gap?: SpacingStep;
|
|
55
|
-
/**
|
|
56
|
-
* Whether an assistant message is actively streaming into the list.
|
|
57
|
-
*
|
|
58
|
-
* The list is a `role="log"` / `aria-live="polite"` region, so while a
|
|
59
|
-
* message streams in token-by-token, screen readers would otherwise
|
|
60
|
-
* re-announce the accumulating partial text on every mutation. Set
|
|
61
|
-
* `isStreaming` to `true` for the duration of a stream: it marks the log
|
|
62
|
-
* `aria-busy="true"` so assistive tech waits and announces the completed
|
|
63
|
-
* message once, when `isStreaming` returns to `false`.
|
|
64
|
-
*
|
|
65
|
-
* @default false
|
|
66
|
-
*/
|
|
67
|
-
isStreaming?: boolean;
|
|
68
55
|
}
|
|
69
56
|
/**
|
|
70
57
|
* Presentational container for chat messages.
|
|
@@ -86,7 +73,7 @@ export interface ChatMessageListProps extends BaseProps<HTMLDivElement> {
|
|
|
86
73
|
* </ChatMessageList>
|
|
87
74
|
* ```
|
|
88
75
|
*/
|
|
89
|
-
export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap,
|
|
76
|
+
export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap, xstyle, className, style, 'data-testid': testId, ref, }: ChatMessageListProps): import("react").JSX.Element;
|
|
90
77
|
export declare namespace ChatMessageList {
|
|
91
78
|
var displayName: string;
|
|
92
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatMessageList.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessageList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAGhF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACrE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatMessageList.d.ts","sourceRoot":"","sources":["../../src/Chat/ChatMessageList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAC,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAGhF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAGhD,MAAM,WAAW,oBAAqB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACrE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AA4FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,OAAoB,EACpB,GAAG,EACH,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,oBAAoB,+BA2FtB;yBAtGe,eAAe"}
|
|
@@ -145,7 +145,6 @@ export function ChatMessageList({
|
|
|
145
145
|
scrollToTopAction,
|
|
146
146
|
density = 'balanced',
|
|
147
147
|
gap,
|
|
148
|
-
isStreaming = false,
|
|
149
148
|
xstyle,
|
|
150
149
|
className,
|
|
151
150
|
style,
|
|
@@ -196,7 +195,6 @@ export function ChatMessageList({
|
|
|
196
195
|
ref: ref,
|
|
197
196
|
role: "log",
|
|
198
197
|
"aria-live": "polite",
|
|
199
|
-
"aria-busy": isStreaming || undefined,
|
|
200
198
|
tabIndex: 0,
|
|
201
199
|
"data-testid": testId,
|
|
202
200
|
...mergeProps(themeProps('chat-message-list', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTriggerMenu.d.ts","sourceRoot":"","sources":["../../src/Chat/useTriggerMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC;IACnD,sCAAsC;IACtC,UAAU,EAAE,MAAM,SAAS,CAAC;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,eAAe,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACH;AA+JD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,
|
|
1
|
+
{"version":3,"file":"useTriggerMenu.d.ts","sourceRoot":"","sources":["../../src/Chat/useTriggerMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC;IACnD,sCAAsC;IACtC,UAAU,EAAE,MAAM,SAAS,CAAC;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE;QACT,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,eAAe,CAAC,EAAE,SAAS,CAAC;KAC7B,CAAC;CACH;AA+JD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,oBAAoB,CAwctB"}
|
|
@@ -159,10 +159,7 @@ export function useTriggerMenu(options) {
|
|
|
159
159
|
}, [removeAnchorSpan]),
|
|
160
160
|
hasLightDismiss: true,
|
|
161
161
|
hasCloseButton: false,
|
|
162
|
-
hasAutoFocus: false
|
|
163
|
-
// The popup's own role="listbox" is the exposed semantics; focus stays in
|
|
164
|
-
// the contenteditable composer, so a modal dialog wrapper is incorrect.
|
|
165
|
-
role: 'none'
|
|
162
|
+
hasAutoFocus: false
|
|
166
163
|
});
|
|
167
164
|
|
|
168
165
|
// Cleanup on unmount
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA4IhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAmCH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,kBAAkB,+
|
|
1
|
+
{"version":3,"file":"CheckboxInput.d.ts","sourceRoot":"","sources":["../../src/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAY3C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA4IhD,QAAA,MAAM,iBAAiB;;;;;;;;;EASrB,CAAC;AAmCH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE/D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACrE,wDAAwD;IACxD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,IAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE,kBAAkB,+BAoKpB;yBA1Le,aAAa"}
|
|
@@ -227,10 +227,7 @@ export function CheckboxInput({
|
|
|
227
227
|
const isChecked = optimisticValue === true;
|
|
228
228
|
const isCheckedOrIndeterminate = isChecked || isIndeterminate;
|
|
229
229
|
|
|
230
|
-
// Sync the native indeterminate DOM property (can't be set via JSX
|
|
231
|
-
// attribute). On a native checkbox this is the authoritative way to expose
|
|
232
|
-
// the mixed state — a separate aria-checked="mixed" would be redundant and
|
|
233
|
-
// can desync from / override the native state (forms-16), so it is omitted.
|
|
230
|
+
// Sync the native indeterminate DOM property (can't be set via JSX attribute)
|
|
234
231
|
const indeterminateRef = useCallback(el => {
|
|
235
232
|
if (el) {
|
|
236
233
|
el.indeterminate = isIndeterminate;
|
|
@@ -278,6 +275,7 @@ export function CheckboxInput({
|
|
|
278
275
|
},
|
|
279
276
|
onFocus: onFocus,
|
|
280
277
|
onBlur: onBlur,
|
|
278
|
+
"aria-checked": isIndeterminate ? 'mixed' : undefined,
|
|
281
279
|
"aria-readonly": isReadOnly || undefined,
|
|
282
280
|
"aria-describedby": ariaDescribedBy,
|
|
283
281
|
"aria-invalid": status?.type === 'error' ? true : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAUrD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,iBAAiB,+
|
|
1
|
+
{"version":3,"file":"CheckboxList.d.ts","sourceRoot":"","sources":["../../src/CheckboxList/CheckboxList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAUrD,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAC7C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAoB,EACpB,WAAmB,EACnB,UAAkB,EAClB,UAAkB,EAClB,QAAQ,EACR,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,iBAAiB,+BAmFnB;yBAtGe,YAAY"}
|