@astryxdesign/core 0.1.2-canary.ac17c7f → 0.1.2-canary.ae2d146
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/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +11 -5
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +20 -4
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +43 -28
- package/dist/Calendar/styles.d.ts +3 -9
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +3 -11
- package/dist/Chat/ChatMessageList.d.ts +14 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +2 -0
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +4 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +4 -2
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +49 -37
- package/dist/ContextMenu/ContextMenu.d.ts +6 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +55 -3
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +17 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +9 -4
- package/dist/DateTimeInput/DateTimeInput.d.ts +7 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +15 -3
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +12 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +38 -5
- package/dist/Field/Field.d.ts +19 -2
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +4 -0
- package/dist/Field/FieldLabel.d.ts +21 -2
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +37 -22
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +13 -5
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +4 -1
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +33 -1
- package/dist/Layer/layerAnimations.stylex.d.ts +4 -0
- package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
- package/dist/Layer/layerAnimations.stylex.js +8 -4
- package/dist/Layer/useLayer.d.ts +10 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +41 -6
- package/dist/Layout/padding.stylex.d.ts +51 -0
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +63 -0
- package/dist/Link/Link.d.ts +7 -1
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +12 -4
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +5 -0
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +16 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +17 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +7 -1
- package/dist/Popover/usePopover.d.ts +25 -2
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +18 -6
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +4 -1
- 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 +76 -3
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +22 -0
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +6 -2
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +17 -1
- 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 +8 -2
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +1 -1
- package/dist/Stack/Stack.d.ts +28 -1
- package/dist/Stack/Stack.d.ts.map +1 -1
- package/dist/Stack/Stack.js +17 -1
- package/dist/Stack/StackItem.d.ts +12 -1
- package/dist/Stack/StackItem.d.ts.map +1 -1
- package/dist/Stack/StackItem.js +8 -1
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +6 -0
- package/dist/TabList/TabList.d.ts +14 -3
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +75 -4
- package/dist/TabList/TabListContext.d.ts +5 -0
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +5 -0
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +6 -1
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +7 -1
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +14 -0
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +132 -3
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +56 -9
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +8 -3
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +58 -4
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +61 -0
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/VisuallyHidden/VisuallyHidden.js +65 -0
- package/dist/VisuallyHidden/index.d.ts +11 -0
- package/dist/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/VisuallyHidden/index.js +13 -0
- package/dist/astryx.css +1 -0
- package/dist/astryx.umd.js +47 -47
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/focusableSelector.d.ts +22 -0
- package/dist/hooks/focusableSelector.d.ts.map +1 -0
- package/dist/hooks/focusableSelector.js +24 -0
- package/dist/hooks/index.d.ts +5 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/useAnnounce.d.ts +40 -0
- package/dist/hooks/useAnnounce.d.ts.map +1 -0
- package/dist/hooks/useAnnounce.js +142 -0
- package/dist/hooks/useClickableContainer.d.ts +16 -1
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +16 -4
- package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
- package/dist/hooks/useEntryAnimation.js +4 -4
- package/dist/hooks/useFocusTrap.d.ts +18 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +87 -3
- package/dist/hooks/useGridFocus.d.ts +32 -1
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +143 -58
- package/dist/hooks/useListFocus.d.ts +1 -1
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +58 -19
- package/dist/hooks/useTypeahead.d.ts +63 -0
- package/dist/hooks/useTypeahead.d.ts.map +1 -0
- package/dist/hooks/useTypeahead.js +117 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/package.json +6 -1
- package/src/Avatar/Avatar.test.tsx +37 -0
- package/src/Avatar/Avatar.tsx +10 -5
- package/src/Breadcrumbs/BreadcrumbItem.tsx +20 -5
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +31 -10
- package/src/Calendar/Calendar.test.tsx +147 -4
- package/src/Calendar/Calendar.tsx +52 -43
- package/src/Calendar/styles.ts +4 -9
- package/src/Chat/ChatMessageList.doc.mjs +8 -0
- package/src/Chat/ChatMessageList.test.tsx +18 -0
- package/src/Chat/ChatMessageList.tsx +16 -0
- package/src/Chat/useTriggerMenu.tsx +3 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +14 -25
- package/src/CheckboxInput/CheckboxInput.tsx +4 -2
- package/src/CheckboxList/CheckboxList.test.tsx +11 -14
- package/src/CodeBlock/CodeBlock.test.tsx +115 -0
- package/src/CodeBlock/CodeBlock.tsx +61 -33
- package/src/ContextMenu/ContextMenu.doc.mjs +6 -0
- package/src/ContextMenu/ContextMenu.test.tsx +90 -0
- package/src/ContextMenu/ContextMenu.tsx +78 -9
- package/src/DateInput/DateInput.test.tsx +59 -0
- package/src/DateInput/DateInput.tsx +24 -7
- package/src/DateRangeInput/DateRangeInput.test.tsx +69 -18
- package/src/DateRangeInput/DateRangeInput.tsx +7 -3
- package/src/DateTimeInput/DateTimeInput.doc.mjs +7 -0
- package/src/DateTimeInput/DateTimeInput.test.tsx +99 -6
- package/src/DateTimeInput/DateTimeInput.tsx +32 -3
- package/src/Dialog/Dialog.tsx +12 -0
- package/src/DropdownMenu/DropdownMenu.test.tsx +56 -19
- package/src/DropdownMenu/DropdownMenu.tsx +48 -2
- package/src/Field/Field.test.tsx +32 -0
- package/src/Field/Field.tsx +23 -5
- package/src/Field/FieldLabel.tsx +53 -17
- package/src/FileInput/FileInput.test.tsx +36 -47
- package/src/FileInput/FileInput.tsx +9 -3
- package/src/InputGroup/InputGroup.test.tsx +21 -63
- package/src/InputGroup/InputGroup.tsx +4 -1
- package/src/Kbd/Kbd.test.tsx +22 -4
- package/src/Kbd/Kbd.tsx +35 -3
- package/src/Layer/layerAnimations.stylex.ts +20 -4
- package/src/Layer/useLayer.tsx +67 -6
- package/src/Layout/padding.stylex.ts +52 -0
- package/src/Link/Link.doc.mjs +14 -0
- package/src/Link/Link.test.tsx +32 -0
- package/src/Link/Link.tsx +23 -1
- package/src/Markdown/Markdown.test.tsx +11 -0
- package/src/Markdown/Markdown.tsx +5 -0
- package/src/MultiSelector/MultiSelector.test.tsx +34 -0
- package/src/MultiSelector/MultiSelector.tsx +16 -1
- package/src/NavMenu/NavHeadingMenu.test.tsx +32 -1
- package/src/NavMenu/NavHeadingMenu.tsx +30 -2
- package/src/NumberInput/NumberInput.test.tsx +72 -38
- package/src/NumberInput/NumberInput.tsx +12 -1
- package/src/Popover/usePopover.doc.mjs +7 -3
- package/src/Popover/usePopover.tsx +49 -6
- package/src/PowerSearch/PowerSearch.tsx +3 -0
- package/src/ProgressBar/ProgressBar.test.tsx +34 -26
- package/src/ProgressBar/ProgressBar.tsx +1 -1
- package/src/RadioList/RadioList.test.tsx +129 -14
- package/src/RadioList/RadioList.tsx +103 -8
- package/src/SegmentedControl/SegmentedControl.test.tsx +84 -40
- package/src/SegmentedControl/SegmentedControl.tsx +26 -0
- package/src/SegmentedControl/SegmentedControlItem.tsx +4 -1
- package/src/Selector/Selector.test.tsx +46 -0
- package/src/Selector/Selector.tsx +16 -0
- package/src/SideNav/SideNav.test.tsx +16 -0
- package/src/SideNav/SideNavItem.tsx +2 -4
- package/src/Skeleton/Skeleton.test.tsx +25 -0
- package/src/Skeleton/Skeleton.tsx +11 -1
- package/src/Spinner/Spinner.tsx +7 -1
- package/src/Stack/Stack.doc.mjs +57 -0
- package/src/Stack/Stack.test.tsx +55 -5
- package/src/Stack/Stack.tsx +53 -1
- package/src/Stack/StackItem.test.tsx +23 -0
- package/src/Stack/StackItem.tsx +20 -0
- package/src/TabList/Tab.tsx +6 -0
- package/src/TabList/TabList.doc.mjs +6 -0
- package/src/TabList/TabList.test.tsx +167 -0
- package/src/TabList/TabList.tsx +103 -9
- package/src/TabList/TabListContext.ts +7 -3
- package/src/TabList/TabMenu.tsx +6 -3
- package/src/Table/Table.test.tsx +10 -0
- package/src/Table/Table.tsx +5 -0
- package/src/Toast/Toast.tsx +14 -0
- package/src/Toast/ToastViewport.test.tsx +204 -0
- package/src/Toast/ToastViewport.tsx +167 -21
- package/src/Tooltip/Tooltip.test.tsx +68 -0
- package/src/Tooltip/useTooltip.tsx +55 -8
- package/src/TreeList/TreeList.test.tsx +22 -6
- package/src/TreeList/TreeListItem.tsx +8 -3
- package/src/Typeahead/BaseTypeahead.tsx +69 -8
- package/src/Typeahead/Typeahead.test.tsx +160 -0
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +80 -0
- package/src/VisuallyHidden/VisuallyHidden.test.tsx +76 -0
- package/src/VisuallyHidden/VisuallyHidden.tsx +113 -0
- package/src/VisuallyHidden/index.ts +15 -0
- package/src/hooks/focusableSelector.ts +25 -0
- package/src/hooks/index.ts +7 -1
- package/src/hooks/useAnnounce.test.tsx +101 -0
- package/src/hooks/useAnnounce.ts +168 -0
- package/src/hooks/useClickableContainer.ts +16 -4
- package/src/hooks/useEntryAnimation.ts +16 -4
- package/src/hooks/useFocusTrap.test.tsx +132 -0
- package/src/hooks/useFocusTrap.ts +98 -4
- package/src/hooks/useGridFocus.ts +184 -64
- package/src/hooks/useListFocus.test.tsx +106 -0
- package/src/hooks/useListFocus.ts +72 -19
- package/src/hooks/useTypeahead.test.tsx +109 -0
- package/src/hooks/useTypeahead.ts +183 -0
- package/src/index.ts +1 -0
|
@@ -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,+BAmFb;yBAhGe,MAAM"}
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -247,7 +247,12 @@ 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
|
-
|
|
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;
|
|
251
256
|
const avatarGroup = useAvatarGroup();
|
|
252
257
|
const resolvedSize = avatarGroup?.size ?? size;
|
|
253
258
|
const numericSize = useMemo(() => resolveSize(resolvedSize), [resolvedSize]);
|
|
@@ -255,8 +260,9 @@ export function Avatar({
|
|
|
255
260
|
value: numericSize,
|
|
256
261
|
children: /*#__PURE__*/_jsxs("div", {
|
|
257
262
|
ref: ref,
|
|
258
|
-
role:
|
|
259
|
-
"aria-label": accessibleName,
|
|
263
|
+
role: isDecorative ? 'presentation' : 'img',
|
|
264
|
+
"aria-label": isDecorative ? undefined : accessibleName,
|
|
265
|
+
"aria-hidden": isDecorative || undefined,
|
|
260
266
|
"data-testid": testId,
|
|
261
267
|
...mergeProps(themeProps('avatar', {
|
|
262
268
|
size: resolvedSize
|
|
@@ -266,14 +272,14 @@ export function Avatar({
|
|
|
266
272
|
...stylex.props(styles.content, dynamicStyles.size(numericSize)),
|
|
267
273
|
children: [showImage && /*#__PURE__*/_jsx("img", {
|
|
268
274
|
src: src,
|
|
269
|
-
alt:
|
|
275
|
+
alt: "",
|
|
270
276
|
onError: () => setImageError(true),
|
|
271
277
|
...{
|
|
272
278
|
className: "xh8yej3 x5yr21d xl1xv1r"
|
|
273
279
|
}
|
|
274
280
|
}), showFallbackImage && /*#__PURE__*/_jsx("img", {
|
|
275
281
|
src: fallbackSrc,
|
|
276
|
-
alt:
|
|
282
|
+
alt: "",
|
|
277
283
|
onError: () => setFallbackError(true),
|
|
278
284
|
...{
|
|
279
285
|
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,qBAqJrB;yBAjKe,cAAc"}
|
|
@@ -88,12 +88,20 @@ 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);
|
|
91
95
|
const isCurrent = isCurrentProp === true;
|
|
92
96
|
const isAutoCandidate = isCurrentProp == null;
|
|
93
97
|
|
|
94
98
|
// Auto-detect: if no sibling has aria-current="page" and this is the last
|
|
95
99
|
// non-separator item, set aria-current on our content element.
|
|
96
100
|
// 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).
|
|
97
105
|
useEffect(() => {
|
|
98
106
|
if (!isAutoCandidate) {
|
|
99
107
|
return;
|
|
@@ -112,11 +120,16 @@ export function BreadcrumbItem({
|
|
|
112
120
|
const isLast = items.length > 0 && items[items.length - 1] === li;
|
|
113
121
|
const hasExplicit = ol.querySelector('[aria-current="page"]');
|
|
114
122
|
if (isLast && !hasExplicit) {
|
|
115
|
-
|
|
123
|
+
// We control the element that holds the content (see the auto-candidate
|
|
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
|
+
};
|
|
116
132
|
}
|
|
117
|
-
return () => {
|
|
118
|
-
li.removeAttribute('aria-current');
|
|
119
|
-
};
|
|
120
133
|
});
|
|
121
134
|
const content = /*#__PURE__*/_jsxs(_Fragment, {
|
|
122
135
|
children: [startIcon && /*#__PURE__*/_jsx("span", {
|
|
@@ -165,6 +178,7 @@ export function BreadcrumbItem({
|
|
|
165
178
|
},
|
|
166
179
|
children: ctx.separator
|
|
167
180
|
}), href != null ? /*#__PURE__*/_jsx(LinkComponent, {
|
|
181
|
+
ref: contentRef,
|
|
168
182
|
href: href,
|
|
169
183
|
onClick: onClick,
|
|
170
184
|
...{
|
|
@@ -177,6 +191,7 @@ export function BreadcrumbItem({
|
|
|
177
191
|
}[!!isSupporting << 0],
|
|
178
192
|
children: content
|
|
179
193
|
}) : onClick != null ? /*#__PURE__*/_jsx("button", {
|
|
194
|
+
ref: contentRef,
|
|
180
195
|
type: "button",
|
|
181
196
|
onClick: onClick,
|
|
182
197
|
...{
|
|
@@ -189,6 +204,7 @@ export function BreadcrumbItem({
|
|
|
189
204
|
}[!!isSupporting << 0],
|
|
190
205
|
children: content
|
|
191
206
|
}) : /*#__PURE__*/_jsx("span", {
|
|
207
|
+
ref: contentRef,
|
|
192
208
|
...{
|
|
193
209
|
0: {
|
|
194
210
|
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;AA6C5C,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,
|
|
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";
|
|
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
|
|
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).
|
|
365
369
|
const getFocusedDate = useCallback(() => {
|
|
366
370
|
const activeElement = document.activeElement;
|
|
367
371
|
if (!activeElement) {
|
|
368
372
|
return null;
|
|
369
373
|
}
|
|
370
|
-
const
|
|
371
|
-
if (!
|
|
374
|
+
const iso = activeElement.getAttribute('data-date');
|
|
375
|
+
if (!iso) {
|
|
372
376
|
return null;
|
|
373
377
|
}
|
|
374
|
-
|
|
375
|
-
if (isNaN(parsed.getTime())) {
|
|
376
|
-
return null;
|
|
377
|
-
}
|
|
378
|
-
return plainDateToISO(plainDateFromDate(parsed));
|
|
378
|
+
return iso;
|
|
379
379
|
}, []);
|
|
380
380
|
|
|
381
381
|
// Handle navigation to previous month
|
|
@@ -408,13 +408,23 @@ function MonthGrid({
|
|
|
408
408
|
}
|
|
409
409
|
}, [getFocusedDate, onNavigateNext]);
|
|
410
410
|
|
|
411
|
-
// Grid focus navigation
|
|
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.
|
|
412
420
|
const {
|
|
413
421
|
gridRef,
|
|
414
422
|
handleKeyDown: handleGridKeyDown
|
|
415
423
|
} = useGridFocus({
|
|
416
424
|
columns: 7,
|
|
417
|
-
cellSelector: '
|
|
425
|
+
cellSelector: '[role="gridcell"]',
|
|
426
|
+
isCellFocusable: cell => cell.querySelector('button:not([disabled])') !== null,
|
|
427
|
+
getFocusTarget: cell => cell.querySelector('button'),
|
|
418
428
|
onNavigateBefore: handleNavigatePrevious,
|
|
419
429
|
onNavigateAfter: handleNavigateNext,
|
|
420
430
|
onPageUp: handlePageUp,
|
|
@@ -428,10 +438,10 @@ function MonthGrid({
|
|
|
428
438
|
}
|
|
429
439
|
const buttons = gridRef.current.querySelectorAll('button:not([disabled])');
|
|
430
440
|
const targetPd = plainDateFromISO(pendingFocus);
|
|
431
|
-
const
|
|
441
|
+
const targetIso = plainDateToISO(targetPd);
|
|
432
442
|
let targetButton = null;
|
|
433
443
|
for (const button of buttons) {
|
|
434
|
-
if (button.getAttribute('
|
|
444
|
+
if (button.getAttribute('data-date') === targetIso) {
|
|
435
445
|
targetButton = button;
|
|
436
446
|
break;
|
|
437
447
|
}
|
|
@@ -482,30 +492,32 @@ function MonthGrid({
|
|
|
482
492
|
const monthLabel = useMemo(() => {
|
|
483
493
|
return plainDateFormat(month, DATE_FORMAT_MONTH_YEAR);
|
|
484
494
|
}, [month]);
|
|
485
|
-
return /*#__PURE__*/
|
|
495
|
+
return /*#__PURE__*/_jsx("div", {
|
|
486
496
|
...stylex.props(monthGridStyles.monthGrid),
|
|
487
|
-
children:
|
|
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", {
|
|
497
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
497
498
|
ref: gridRef,
|
|
498
499
|
role: "grid",
|
|
499
500
|
"aria-label": monthLabel,
|
|
500
501
|
onKeyDown: handleGridKeyDown,
|
|
501
502
|
...stylex.props(monthGridStyles.daysGrid, hasWeekNumbers && monthGridStyles.daysGridWithNumbers),
|
|
502
|
-
children:
|
|
503
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
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 => {
|
|
503
514
|
const weekDate = week.find(d => !d.isOutside)?.date || week[0].date;
|
|
504
515
|
const weekNum = plainDateGetWeekNumber(weekDate);
|
|
505
516
|
return /*#__PURE__*/_jsxs("div", {
|
|
506
517
|
role: "row",
|
|
507
518
|
...stylex.props(monthGridStyles.weekRow),
|
|
508
519
|
children: [hasWeekNumbers && /*#__PURE__*/_jsx("div", {
|
|
520
|
+
role: "rowheader",
|
|
509
521
|
...stylex.props(monthGridStyles.weekNumber),
|
|
510
522
|
children: weekNum
|
|
511
523
|
}), week.map((day, dayIndex) => /*#__PURE__*/_jsx(DayCell, {
|
|
@@ -525,8 +537,8 @@ function MonthGrid({
|
|
|
525
537
|
onDayHover: onDayHover
|
|
526
538
|
}, day.iso))]
|
|
527
539
|
}, plainDateToISO(weekDate));
|
|
528
|
-
})
|
|
529
|
-
})
|
|
540
|
+
})]
|
|
541
|
+
})
|
|
530
542
|
});
|
|
531
543
|
}
|
|
532
544
|
|
|
@@ -556,7 +568,10 @@ function DayCell({
|
|
|
556
568
|
dayNumber
|
|
557
569
|
} = day;
|
|
558
570
|
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.
|
|
559
573
|
return /*#__PURE__*/_jsx("div", {
|
|
574
|
+
role: "gridcell",
|
|
560
575
|
...stylex.props(dayCellStyles.cell)
|
|
561
576
|
});
|
|
562
577
|
}
|
|
@@ -577,6 +592,7 @@ function DayCell({
|
|
|
577
592
|
const rangeRounding = computeRangeRounding(state);
|
|
578
593
|
const previewRounding = computePreviewRounding(state);
|
|
579
594
|
return /*#__PURE__*/_jsxs("div", {
|
|
595
|
+
role: "gridcell",
|
|
580
596
|
...stylex.props(dayCellStyles.cell),
|
|
581
597
|
children: [state.isInRange && /*#__PURE__*/_jsx("div", {
|
|
582
598
|
...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)
|
|
@@ -584,7 +600,6 @@ function DayCell({
|
|
|
584
600
|
...stylex.props(dayCellStyles.previewBg, dayCellTheme.previewBg, previewRounding.roundLeft && dayCellStyles.previewBgRadiusLeft, previewRounding.roundRight && dayCellStyles.previewBgRadiusRight, state.isPreviewStart && dayCellStyles.previewStart, state.isPreviewEnd && dayCellStyles.previewEnd)
|
|
585
601
|
}), /*#__PURE__*/_jsx("button", {
|
|
586
602
|
type: "button",
|
|
587
|
-
role: "gridcell",
|
|
588
603
|
"data-date": day.iso,
|
|
589
604
|
"aria-label": plainDateFormat(date, DATE_FORMAT_WITH_WEEKDAY),
|
|
590
605
|
"aria-selected": state.isSelected || state.isInRange || undefined,
|
|
@@ -55,17 +55,11 @@ 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
|
-
}>;
|
|
66
58
|
readonly dayName: Readonly<{
|
|
67
59
|
readonly width: stylex.StyleXClassNameFor<"width", "32px">;
|
|
68
|
-
readonly height: stylex.StyleXClassNameFor<"height", "32px"
|
|
60
|
+
readonly height: stylex.StyleXClassNameFor<"height", `calc(${stylex.StyleXVar<"32px">} + ${stylex.StyleXVar<"4px">})`>;
|
|
61
|
+
readonly paddingBottom: stylex.StyleXClassNameFor<"paddingBottom", "4px">;
|
|
62
|
+
readonly boxSizing: stylex.StyleXClassNameFor<"boxSizing", "border-box">;
|
|
69
63
|
readonly display: stylex.StyleXClassNameFor<"display", "flex">;
|
|
70
64
|
readonly alignItems: stylex.StyleXClassNameFor<"alignItems", "center">;
|
|
71
65
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1B,CAAC;AAMH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GxB,CAAC;AAMH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEvB,CAAC"}
|
package/dist/Calendar/styles.js
CHANGED
|
@@ -77,19 +77,11 @@ 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
|
-
},
|
|
90
80
|
dayName: {
|
|
91
81
|
kzqmXN: "x805d0l",
|
|
92
|
-
kZKoxP: "
|
|
82
|
+
kZKoxP: "x1u5rhrp",
|
|
83
|
+
kGO01o: "xy143xn",
|
|
84
|
+
kB7OPa: "x9f619",
|
|
93
85
|
k1xSpc: "x78zum5",
|
|
94
86
|
kGNEyG: "x6s0dn4",
|
|
95
87
|
kjj79g: "xl56j7k",
|
|
@@ -52,6 +52,19 @@ 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;
|
|
55
68
|
}
|
|
56
69
|
/**
|
|
57
70
|
* Presentational container for chat messages.
|
|
@@ -73,7 +86,7 @@ export interface ChatMessageListProps extends BaseProps<HTMLDivElement> {
|
|
|
73
86
|
* </ChatMessageList>
|
|
74
87
|
* ```
|
|
75
88
|
*/
|
|
76
|
-
export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap, xstyle, className, style, 'data-testid': testId, ref, }: ChatMessageListProps): import("react").JSX.Element;
|
|
89
|
+
export declare function ChatMessageList({ children, emptyState, scrollToTopAction, density, gap, isStreaming, xstyle, className, style, 'data-testid': testId, ref, }: ChatMessageListProps): import("react").JSX.Element;
|
|
77
90
|
export declare namespace ChatMessageList {
|
|
78
91
|
var displayName: string;
|
|
79
92
|
}
|
|
@@ -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;IAElB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA4FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,OAAoB,EACpB,GAAG,EACH,WAAmB,EACnB,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,EAAE,oBAAoB,+BA4FtB;yBAxGe,eAAe"}
|
|
@@ -145,6 +145,7 @@ export function ChatMessageList({
|
|
|
145
145
|
scrollToTopAction,
|
|
146
146
|
density = 'balanced',
|
|
147
147
|
gap,
|
|
148
|
+
isStreaming = false,
|
|
148
149
|
xstyle,
|
|
149
150
|
className,
|
|
150
151
|
style,
|
|
@@ -195,6 +196,7 @@ export function ChatMessageList({
|
|
|
195
196
|
ref: ref,
|
|
196
197
|
role: "log",
|
|
197
198
|
"aria-live": "polite",
|
|
199
|
+
"aria-busy": isStreaming || undefined,
|
|
198
200
|
tabIndex: 0,
|
|
199
201
|
"data-testid": testId,
|
|
200
202
|
...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,CA2ctB"}
|
|
@@ -159,7 +159,10 @@ export function useTriggerMenu(options) {
|
|
|
159
159
|
}, [removeAnchorSpan]),
|
|
160
160
|
hasLightDismiss: true,
|
|
161
161
|
hasCloseButton: false,
|
|
162
|
-
hasAutoFocus: 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'
|
|
163
166
|
});
|
|
164
167
|
|
|
165
168
|
// 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,+BAsKpB;yBA5Le,aAAa"}
|
|
@@ -227,7 +227,10 @@ 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
|
|
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.
|
|
231
234
|
const indeterminateRef = useCallback(el => {
|
|
232
235
|
if (el) {
|
|
233
236
|
el.indeterminate = isIndeterminate;
|
|
@@ -275,7 +278,6 @@ export function CheckboxInput({
|
|
|
275
278
|
},
|
|
276
279
|
onFocus: onFocus,
|
|
277
280
|
onBlur: onBlur,
|
|
278
|
-
"aria-checked": isIndeterminate ? 'mixed' : undefined,
|
|
279
281
|
"aria-readonly": isReadOnly || undefined,
|
|
280
282
|
"aria-describedby": ariaDescribedBy,
|
|
281
283
|
"aria-invalid": status?.type === 'error' ? true : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsU5C,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC/D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,KACb;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC7C;AAgOD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,QAAsB,EACtB,KAAK,EACL,gBAAuB,EACvB,cAAsB,EACtB,cAAc,EACd,aAAoB,EACpB,MAAM,EACN,SAAiB,EACjB,SAAS,EACT,aAAqB,EACrB,oBAAyB,EACzB,IAAW,EACX,KAAK,EAAE,SAAyB,EAChC,SAAkB,EAClB,SAAS,EAAE,eAAe,EAC1B,aAAsB,EACtB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,qBAgMhB;yBAvNe,SAAS"}
|
|
@@ -413,7 +413,9 @@ export function CodeBlock({
|
|
|
413
413
|
});
|
|
414
414
|
const copyButtonEl = hasCopyButton ? /*#__PURE__*/_jsx("button", {
|
|
415
415
|
type: "button",
|
|
416
|
-
onClick:
|
|
416
|
+
onClick: e => {
|
|
417
|
+
// Stop propagation so copying does not toggle the collapsible header.
|
|
418
|
+
e.stopPropagation();
|
|
417
419
|
void handleCopy();
|
|
418
420
|
},
|
|
419
421
|
"aria-label": copied ? 'Copied' : 'Copy code',
|
|
@@ -428,53 +430,63 @@ export function CodeBlock({
|
|
|
428
430
|
children: copyIcon
|
|
429
431
|
}) : null;
|
|
430
432
|
const headerEl = showHeader ? /*#__PURE__*/_jsxs("div", {
|
|
431
|
-
role: canCollapse ? 'button' : undefined,
|
|
432
|
-
tabIndex: canCollapse ? 0 : undefined,
|
|
433
|
-
"aria-expanded": canCollapse ? !isCollapsed : undefined,
|
|
434
|
-
onClick: canCollapse ? () => setIsCollapsed(prev => !prev) : undefined,
|
|
435
|
-
onKeyDown: canCollapse ? e => {
|
|
436
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
437
|
-
e.preventDefault();
|
|
438
|
-
setIsCollapsed(prev => !prev);
|
|
439
|
-
}
|
|
440
|
-
} : undefined,
|
|
441
433
|
...{
|
|
442
434
|
0: {
|
|
443
435
|
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1"
|
|
444
436
|
},
|
|
445
|
-
2: {
|
|
446
|
-
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1 x92x3c3 x1q0q8m5 xw8gpjh"
|
|
447
|
-
},
|
|
448
437
|
1: {
|
|
449
|
-
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1
|
|
450
|
-
},
|
|
451
|
-
3: {
|
|
452
|
-
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1 x92x3c3 x1q0q8m5 xw8gpjh x1ypdohk x87ps6o"
|
|
438
|
+
className: "x78zum5 x6s0dn4 x1qughib x1pzlopt xzyc27v x7wzq59 x13vifvy x1vjfegm xce4md1 x92x3c3 x1q0q8m5 xw8gpjh"
|
|
453
439
|
}
|
|
454
|
-
}[!!hasLineNumbers <<
|
|
455
|
-
children: [/*#__PURE__*/
|
|
440
|
+
}[!!hasLineNumbers << 0],
|
|
441
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
442
|
+
role: canCollapse ? 'button' : undefined,
|
|
443
|
+
tabIndex: canCollapse ? 0 : undefined,
|
|
444
|
+
"aria-expanded": canCollapse ? !isCollapsed : undefined,
|
|
445
|
+
onClick: canCollapse ? () => setIsCollapsed(prev => !prev) : undefined,
|
|
446
|
+
onKeyDown: canCollapse ? e => {
|
|
447
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
448
|
+
e.preventDefault();
|
|
449
|
+
setIsCollapsed(prev => !prev);
|
|
450
|
+
}
|
|
451
|
+
} : undefined,
|
|
456
452
|
...{
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
453
|
+
0: {
|
|
454
|
+
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h"
|
|
455
|
+
},
|
|
456
|
+
1: {
|
|
457
|
+
className: "x78zum5 x6s0dn4 x98rzlu xeuugli x1717udv xjbqb8w x1heor9g xln7xf2 x1yc453h x1ypdohk x87ps6o"
|
|
458
|
+
}
|
|
459
|
+
}[!!canCollapse << 0],
|
|
460
|
+
children: /*#__PURE__*/_jsxs("span", {
|
|
460
461
|
...{
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
462
|
+
className: "x78zum5 x6s0dn4 xzye2dw x141an7d x9m5x89 x1e4wzip x1mjzq1q x1ghz6dp x1ltkj2j"
|
|
463
|
+
},
|
|
464
|
+
children: [title, title && languageLabel ? ' — ' : '', languageLabel, canCollapse && /*#__PURE__*/_jsx("span", {
|
|
465
|
+
...{
|
|
466
|
+
0: {
|
|
467
|
+
className: "x3nfvp2 x6s0dn4 xl56j7k x2lah0s x6jxa94 x1v9usgg x1mjzq1q x11xpdln xuedmi6 xlr8y92"
|
|
468
|
+
},
|
|
469
|
+
1: {
|
|
470
|
+
className: "x3nfvp2 x6s0dn4 xl56j7k x2lah0s x6jxa94 x1v9usgg x1mjzq1q x11xpdln xuedmi6 xlr8y92 x19jd1h0"
|
|
471
|
+
}
|
|
472
|
+
}[!!isCollapsed << 0],
|
|
473
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
474
|
+
icon: "chevronDown",
|
|
475
|
+
size: "xsm",
|
|
476
|
+
color: "inherit"
|
|
477
|
+
})
|
|
478
|
+
})]
|
|
479
|
+
})
|
|
474
480
|
}), copyButtonEl]
|
|
475
481
|
}) : null;
|
|
476
482
|
const codeBody = /*#__PURE__*/_jsx("div", {
|
|
477
|
-
ref: scrollContainerRef
|
|
483
|
+
ref: scrollContainerRef
|
|
484
|
+
// The scroll container is keyboard-focusable so keyboard users can
|
|
485
|
+
// scroll long or wide code that overflows the viewport.
|
|
486
|
+
,
|
|
487
|
+
tabIndex: 0,
|
|
488
|
+
role: "region",
|
|
489
|
+
"aria-label": languageLabel ?? 'Code',
|
|
478
490
|
...mergeProps({
|
|
479
491
|
className: "xw2csxc x1odjw0f"
|
|
480
492
|
}, {
|
|
@@ -38,6 +38,11 @@ interface ContextMenuBaseProps extends BaseProps {
|
|
|
38
38
|
menuWidth?: number | string;
|
|
39
39
|
/** Size of menu items. @default 'md' */
|
|
40
40
|
size?: 'sm' | 'md' | 'lg';
|
|
41
|
+
/**
|
|
42
|
+
* Accessible name for the menu surface, announced when it opens.
|
|
43
|
+
* @default 'Context menu'
|
|
44
|
+
*/
|
|
45
|
+
label?: string;
|
|
41
46
|
/**
|
|
42
47
|
* Whether to auto-focus the first menu item when the menu opens.
|
|
43
48
|
* Set to `false` for inline showcases or documentation previews.
|
|
@@ -84,7 +89,7 @@ export type ContextMenuProps = ContextMenuDataProps | ContextMenuCompoundProps;
|
|
|
84
89
|
* </ContextMenu>
|
|
85
90
|
* ```
|
|
86
91
|
*/
|
|
87
|
-
export declare function ContextMenu({ children, menuWidth, size, hasAutoFocus, isDisabled, onOpenChange, ref, className, style, xstyle, 'data-testid': testId, ...props }: ContextMenuProps): React.JSX.Element;
|
|
92
|
+
export declare function ContextMenu({ children, menuWidth, size, label, hasAutoFocus, isDisabled, onOpenChange, ref, className, style, xstyle, 'data-testid': testId, ...props }: ContextMenuProps): React.JSX.Element;
|
|
88
93
|
export declare namespace ContextMenu {
|
|
89
94
|
var displayName: string;
|
|
90
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAoBrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,8BAA8B,CAAC;AAiCtC,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,+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;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,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,KAAsB,EACtB,YAAmB,EACnB,UAAkB,EAClB,YAAY,EACZ,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,aAAa,EAAE,MAAM,EACrB,GAAG,KAAK,EACT,EAAE,gBAAgB,qBAoMlB;yBAlNe,WAAW"}
|