@astryxdesign/core 0.1.3 → 0.1.4-canary.01e5b29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +20 -18
- package/dist/AlertDialog/useImperativeAlertDialog.js +3 -3
- package/dist/AppShell/AppShell.d.ts +1 -1
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +55 -53
- package/dist/AspectRatio/AspectRatio.js +5 -5
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +27 -25
- package/dist/Avatar/AvatarStatusDot.js +5 -5
- package/dist/AvatarGroup/AvatarGroup.js +5 -5
- package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
- package/dist/Badge/Badge.js +3 -3
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +32 -25
- package/dist/Blockquote/Blockquote.js +7 -7
- package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
- package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +47 -26
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +108 -64
- package/dist/Calendar/dayCellUtils.d.ts +67 -5
- package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
- package/dist/Calendar/dayCellUtils.js +139 -18
- package/dist/Calendar/styles.d.ts +2 -2
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +2 -2
- package/dist/Card/Card.d.ts +4 -2
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +18 -10
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +20 -19
- package/dist/Center/Center.js +3 -3
- package/dist/Chat/ChatComposer.js +23 -23
- package/dist/Chat/ChatComposerDrawer.js +14 -14
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +27 -15
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +13 -11
- package/dist/Chat/ChatLayout.js +17 -17
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +12 -10
- package/dist/Chat/ChatMessage.js +12 -12
- package/dist/Chat/ChatMessageBubble.js +7 -7
- package/dist/Chat/ChatMessageList.js +14 -14
- package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatMessageMetadata.js +14 -12
- package/dist/Chat/ChatPastedTextToken.js +13 -13
- package/dist/Chat/ChatSendButton.js +3 -3
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
- package/dist/Chat/ChatSystemMessage.js +17 -17
- package/dist/Chat/ChatTokenizedText.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +24 -15
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +81 -74
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -15
- package/dist/CheckboxInput/CheckboxInput.d.ts +6 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +32 -24
- package/dist/CheckboxList/CheckboxList.js +9 -9
- package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +8 -6
- package/dist/Citation/Citation.js +10 -10
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +32 -9
- package/dist/Code/Code.d.ts +15 -1
- package/dist/Code/Code.d.ts.map +1 -1
- package/dist/Code/Code.js +35 -5
- package/dist/Code/index.d.ts +1 -1
- package/dist/Code/index.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +88 -52
- package/dist/CodeBlock/index.d.ts +1 -1
- package/dist/CodeBlock/index.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.d.ts +9 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +110 -22
- package/dist/Collapsible/CollapsibleGroup.d.ts +39 -7
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +73 -12
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +31 -0
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +33 -3
- package/dist/Collapsible/index.d.ts +1 -0
- package/dist/Collapsible/index.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.d.ts +4 -1
- package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.js +20 -6
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +36 -34
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +27 -7
- package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
- package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
- package/dist/CommandPalette/CommandPaletteInput.js +13 -13
- package/dist/CommandPalette/CommandPaletteItem.js +3 -3
- package/dist/CommandPalette/CommandPaletteList.js +3 -3
- package/dist/ContextMenu/ContextMenu.d.ts +9 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +16 -11
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +23 -23
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -7
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +30 -26
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -9
- package/dist/Dialog/DialogHeader.js +16 -16
- package/dist/Dialog/useImperativeDialog.js +3 -3
- package/dist/Divider/Divider.d.ts +0 -22
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +7 -7
- package/dist/DropdownMenu/DropdownMenu.js +10 -10
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -17
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
- package/dist/DropdownMenu/renderDropdownItems.js +10 -10
- package/dist/EmptyState/EmptyState.js +9 -9
- package/dist/Field/Field.js +17 -17
- package/dist/Field/FieldLabel.js +15 -15
- package/dist/Field/InputClearButton.js +5 -5
- package/dist/FieldStatus/FieldStatus.js +3 -3
- package/dist/FileInput/FileInput.js +29 -29
- package/dist/FormLayout/FormLayout.js +5 -5
- package/dist/Grid/Grid.d.ts +4 -3
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +29 -12
- package/dist/Grid/GridSpan.js +3 -3
- package/dist/HStack/HStack.js +3 -3
- package/dist/Heading/Heading.js +10 -10
- package/dist/HoverCard/HoverCard.js +9 -9
- package/dist/HoverCard/useHoverCard.js +3 -3
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +16 -12
- package/dist/Icon/defaultIcons.js +116 -116
- package/dist/IconButton/IconButton.js +3 -3
- package/dist/InputGroup/InputGroup.js +11 -11
- package/dist/InputGroup/InputGroupText.js +3 -3
- package/dist/Item/Item.js +18 -18
- package/dist/Kbd/Kbd.js +5 -5
- package/dist/Layer/LayerProvider.js +7 -7
- package/dist/Layer/useLayer.js +5 -5
- package/dist/Layout/Layout.js +21 -21
- package/dist/Layout/LayoutContent.js +3 -3
- package/dist/Layout/LayoutFooter.js +5 -5
- package/dist/Layout/LayoutHeader.js +5 -5
- package/dist/Layout/LayoutPanel.js +3 -3
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +55 -31
- package/dist/Lightbox/useLightbox.js +3 -3
- package/dist/Link/Link.js +15 -15
- package/dist/Link/LinkProvider.js +3 -3
- package/dist/Link/useLinkify.js +3 -3
- package/dist/List/List.js +11 -11
- package/dist/List/ListItem.js +11 -11
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +102 -102
- package/dist/Markdown/parser.d.ts +7 -0
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +300 -6
- package/dist/MetadataList/MetadataList.js +10 -10
- package/dist/MetadataList/MetadataListItem.js +15 -15
- package/dist/MobileNav/MobileNav.js +15 -15
- package/dist/MobileNav/MobileNavToggle.js +5 -5
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.d.ts +7 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +64 -55
- package/dist/NavIcon/NavIcon.js +3 -3
- package/dist/NavMenu/NavHeadingMenu.js +5 -5
- package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +48 -32
- package/dist/Outline/Outline.js +15 -15
- package/dist/OverflowList/OverflowList.js +8 -8
- package/dist/Overlay/Overlay.js +3 -3
- package/dist/Overlay/OverlayScrim.js +5 -5
- package/dist/Overlay/useOverlay.js +3 -3
- package/dist/Pagination/Pagination.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +125 -72
- package/dist/Popover/Popover.js +16 -16
- package/dist/Popover/usePopover.js +7 -7
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +110 -92
- package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
- package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
- package/dist/PowerSearch/PowerSearchToken.js +5 -5
- package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +25 -18
- package/dist/RadioList/RadioList.d.ts +7 -1
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +10 -8
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +30 -22
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +28 -10
- package/dist/Section/Section.js +5 -5
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +32 -10
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +18 -12
- package/dist/SelectableCard/SelectableCard.js +5 -5
- package/dist/Selector/Selector.d.ts +6 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +54 -45
- package/dist/Selector/SelectorOption.js +3 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +38 -34
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +8 -6
- package/dist/SideNav/SideNavHeading.js +87 -87
- package/dist/SideNav/SideNavItem.js +42 -42
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/SideNav/SideNavSection.js +18 -16
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.d.ts +6 -0
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +31 -22
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +10 -10
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +13 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +41 -30
- package/dist/TabList/Tab.js +18 -18
- package/dist/TabList/TabList.js +5 -5
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +57 -30
- package/dist/TabList/tab.markers.stylex.d.ts +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +51 -39
- package/dist/Table/Table.js +7 -7
- package/dist/Table/TableBody.d.ts +1 -1
- package/dist/Table/TableBody.d.ts.map +1 -1
- package/dist/Table/TableBody.js +9 -5
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +76 -7
- package/dist/Table/TableFooter.d.ts +1 -1
- package/dist/Table/TableFooter.d.ts.map +1 -1
- package/dist/Table/TableFooter.js +9 -5
- package/dist/Table/TableHeader.d.ts +1 -1
- package/dist/Table/TableHeader.d.ts.map +1 -1
- package/dist/Table/TableHeader.js +9 -5
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/TableRow.js +5 -5
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +14 -11
- package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
- package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/paginateData.js +5 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
- package/dist/Table/plugins/rowExpansion/index.d.ts +3 -0
- package/dist/Table/plugins/rowExpansion/index.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/index.js +3 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +90 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +398 -0
- package/dist/Table/plugins/selection/useTableSelection.js +18 -18
- package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelectionState.js +11 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
- package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortableState.js +8 -4
- package/dist/Table/tableContextMenu.d.ts +5 -1
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +19 -12
- package/dist/Text/Text.d.ts +1 -1
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +14 -13
- package/dist/Text/text.stylex.d.ts +35 -0
- package/dist/Text/text.stylex.d.ts.map +1 -1
- package/dist/Text/text.stylex.js +52 -1
- package/dist/TextArea/TextArea.js +14 -14
- package/dist/TextInput/TextInput.js +15 -15
- package/dist/Thumbnail/Thumbnail.d.ts +3 -2
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +30 -29
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +26 -21
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +37 -26
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -17
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +23 -11
- package/dist/Toast/useToast.js +4 -4
- package/dist/ToggleButton/ToggleButton.js +12 -12
- package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
- package/dist/Token/Token.js +21 -21
- package/dist/Tokenizer/Tokenizer.d.ts +6 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +38 -29
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- package/dist/Tooltip/useTooltip.js +3 -3
- package/dist/TopNav/TopNav.js +32 -32
- package/dist/TopNav/TopNavHeading.js +67 -67
- package/dist/TopNav/TopNavItem.js +5 -5
- package/dist/TopNav/TopNavMegaMenu.js +30 -30
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +25 -14
- package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
- package/dist/TopNav/TopNavMenu.js +32 -32
- package/dist/TreeList/TreeList.js +8 -8
- package/dist/TreeList/TreeListBranches.js +11 -11
- package/dist/TreeList/TreeListItem.js +30 -30
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +23 -20
- package/dist/Typeahead/Typeahead.js +12 -12
- package/dist/Typeahead/TypeaheadItem.js +10 -10
- package/dist/VStack/VStack.js +3 -3
- package/dist/astryx.css +23 -0
- package/dist/astryx.umd.js +60 -58
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +13 -1
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.d.ts +1 -1
- package/dist/hooks/focusableSelector.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.js +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +3 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +38 -1
- package/dist/hooks/useHotkeys.d.ts +51 -0
- package/dist/hooks/useHotkeys.d.ts.map +1 -0
- package/dist/hooks/useHotkeys.js +160 -0
- package/dist/hooks/useInteractiveRole.d.ts +6 -2
- package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
- package/dist/hooks/useInteractiveRole.js +6 -2
- package/dist/hooks/useKeyboardHint.js +9 -9
- package/dist/hooks/useStreamingText.d.ts +3 -1
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +14 -5
- package/dist/theme/MediaTheme.js +3 -3
- package/dist/theme/Theme.js +7 -7
- package/dist/theme/defineTheme.d.ts +1 -1
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +10 -3
- package/dist/theme/hct.d.ts +0 -15
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +9 -9
- package/dist/theme/syntax/SyntaxTheme.js +5 -5
- package/dist/theme/tokens.d.ts +10 -2
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +220 -4
- package/dist/utils/color.d.ts +42 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.js +150 -0
- package/dist/utils/composeEventHandlers.d.ts +30 -0
- package/dist/utils/composeEventHandlers.d.ts.map +1 -0
- package/dist/utils/composeEventHandlers.js +40 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +8 -5
- package/package.json +3 -3
- package/src/AlertDialog/AlertDialog.tsx +2 -0
- package/src/AppShell/AppShell.tsx +2 -0
- package/src/AspectRatio/AspectRatio.doc.mjs +1 -1
- package/src/Avatar/Avatar.doc.mjs +13 -2
- package/src/Avatar/Avatar.test.tsx +32 -1
- package/src/Avatar/Avatar.tsx +12 -20
- package/src/Banner/Banner.doc.mjs +8 -0
- package/src/Banner/Banner.test.tsx +38 -0
- package/src/Banner/Banner.tsx +8 -1
- package/src/Button/Button.tsx +39 -6
- package/src/ButtonGroup/ButtonGroup.doc.mjs +1 -1
- package/src/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +201 -17
- package/src/Calendar/Calendar.tsx +79 -26
- package/src/Calendar/dayCellUtils.test.ts +306 -1
- package/src/Calendar/dayCellUtils.ts +206 -13
- package/src/Calendar/styles.ts +12 -2
- package/src/Card/Card.doc.mjs +1 -1
- package/src/Card/Card.tsx +16 -6
- package/src/Carousel/Carousel.doc.mjs +12 -12
- package/src/Carousel/Carousel.test.tsx +13 -0
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +24 -0
- package/src/Chat/ChatComposerInput.tsx +17 -1
- package/src/Chat/ChatDictationButton.test.tsx +43 -0
- package/src/Chat/ChatDictationButton.tsx +4 -4
- package/src/Chat/ChatLayoutScrollButton.test.tsx +33 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +3 -1
- package/src/Chat/ChatMessageMetadata.test.tsx +32 -0
- package/src/Chat/ChatMessageMetadata.tsx +4 -6
- package/src/Chat/ChatSystemMessage.test.tsx +26 -11
- package/src/Chat/ChatSystemMessage.tsx +7 -7
- package/src/Chat/ChatTokenizedText.test.tsx +29 -16
- package/src/Chat/ChatTokenizedText.tsx +15 -8
- package/src/Chat/ChatToolCalls.test.tsx +55 -0
- package/src/Chat/ChatToolCalls.tsx +10 -12
- package/src/Chat/index.ts +1 -4
- package/src/Chat/useChatNewMessages.test.tsx +4 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +12 -4
- package/src/CheckboxInput/CheckboxInput.test.tsx +103 -0
- package/src/CheckboxInput/CheckboxInput.tsx +13 -0
- package/src/CheckboxList/CheckboxList.doc.mjs +1 -1
- package/src/CheckboxList/CheckboxList.test.tsx +19 -0
- package/src/CheckboxList/CheckboxListItem.tsx +11 -2
- package/src/Citation/Citation.doc.mjs +5 -0
- package/src/ClickableCard/ClickableCard.tsx +45 -2
- package/src/Code/Code.test.tsx +54 -0
- package/src/Code/Code.tsx +48 -4
- package/src/Code/index.ts +1 -1
- package/src/CodeBlock/CodeBlock.doc.mjs +7 -2
- package/src/CodeBlock/CodeBlock.test.tsx +122 -3
- package/src/CodeBlock/CodeBlock.tsx +62 -4
- package/src/CodeBlock/index.ts +1 -1
- package/src/Collapsible/Collapsible.doc.mjs +8 -4
- package/src/Collapsible/Collapsible.test.tsx +405 -0
- package/src/Collapsible/Collapsible.tsx +86 -10
- package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
- package/src/Collapsible/CollapsibleGroup.test.tsx +318 -0
- package/src/Collapsible/CollapsibleGroup.tsx +107 -9
- package/src/Collapsible/CollapsibleGroupContext.tsx +42 -2
- package/src/Collapsible/index.ts +4 -0
- package/src/Collapsible/useCollapsible.ts +20 -6
- package/src/CommandPalette/CommandPalette.tsx +5 -3
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
- package/src/CommandPalette/CommandPaletteEmpty.tsx +15 -1
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +10 -0
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteList.doc.mjs +9 -0
- package/src/ContextMenu/ContextMenu.doc.mjs +15 -0
- package/src/ContextMenu/ContextMenu.test.tsx +15 -0
- package/src/ContextMenu/ContextMenu.tsx +19 -1
- package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
- package/src/DateInput/DateInput.doc.mjs +6 -1
- package/src/DateInput/DateInput.test.tsx +11 -20
- package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
- package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
- package/src/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +4 -3
- package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
- package/src/DateTimeInput/DateTimeInput.tsx +9 -8
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/DialogHeader.doc.mjs +45 -0
- package/src/Divider/Divider.tsx +1 -23
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +5 -3
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/Field/Field.doc.mjs +1 -1
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FieldStatus/FieldStatus.test.tsx +282 -0
- package/src/FileInput/FileInput.doc.mjs +1 -1
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
- package/src/Grid/Grid.doc.mjs +3 -3
- package/src/Grid/Grid.test.tsx +43 -18
- package/src/Grid/Grid.tsx +26 -9
- package/src/Icon/Icon.test.tsx +41 -29
- package/src/Icon/Icon.tsx +6 -2
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
- package/src/Item/Item.tsx +1 -1
- package/src/Layout/Layout.test.tsx +285 -0
- package/src/Layout/LayoutContent.doc.mjs +12 -0
- package/src/Layout/LayoutPanel.doc.mjs +40 -0
- package/src/Layout/LayoutSlots.test.tsx +364 -0
- package/src/Layout/__tests__/edgeCompensation.test.tsx +72 -0
- package/src/Lightbox/Lightbox.doc.mjs +5 -0
- package/src/Lightbox/Lightbox.test.tsx +123 -2
- package/src/Lightbox/Lightbox.tsx +29 -1
- package/src/Markdown/Markdown.test.tsx +23 -0
- package/src/Markdown/Markdown.tsx +9 -7
- package/src/Markdown/incremental.test.ts +36 -0
- package/src/Markdown/parser.perf.test.ts +34 -12
- package/src/Markdown/parser.test.ts +210 -0
- package/src/Markdown/parser.ts +301 -6
- package/src/MobileNav/MobileNav.doc.mjs +20 -0
- package/src/MultiSelector/MultiSelector.doc.mjs +14 -1
- package/src/MultiSelector/MultiSelector.test.tsx +33 -0
- package/src/MultiSelector/MultiSelector.tsx +20 -0
- package/src/NavMenu/NavMenu.doc.mjs +15 -0
- package/src/NumberInput/NumberInput.test.tsx +48 -3
- package/src/NumberInput/NumberInput.tsx +32 -15
- package/src/Outline/parseOutlineFromMarkdown.test.ts +80 -0
- package/src/OverflowList/OverflowList.test.tsx +416 -0
- package/src/Overlay/Overlay.doc.mjs +6 -0
- package/src/Overlay/Overlay.test.tsx +356 -0
- package/src/Pagination/Pagination.test.tsx +162 -0
- package/src/Pagination/Pagination.tsx +80 -26
- package/src/Popover/Popover.test.tsx +65 -0
- package/src/PowerSearch/PowerSearch.doc.mjs +4 -4
- package/src/PowerSearch/PowerSearch.test.tsx +109 -1
- package/src/PowerSearch/PowerSearch.tsx +37 -16
- package/src/ProgressBar/ProgressBar.test.tsx +30 -0
- package/src/ProgressBar/ProgressBar.tsx +12 -5
- package/src/RadioList/RadioList.doc.mjs +7 -1
- package/src/RadioList/RadioList.test.tsx +65 -0
- package/src/RadioList/RadioList.tsx +10 -1
- package/src/RadioList/RadioListItem.tsx +13 -4
- package/src/Resizable/ResizeHandle.test.tsx +218 -0
- package/src/Resizable/ResizeHandle.tsx +22 -4
- package/src/Section/Section.test.tsx +4 -10
- package/src/SegmentedControl/SegmentedControl.doc.mjs +2 -2
- package/src/SegmentedControl/SegmentedControl.test.tsx +192 -0
- package/src/SegmentedControl/SegmentedControl.tsx +27 -5
- package/src/SegmentedControl/SegmentedControlItem.tsx +9 -4
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +12 -1
- package/src/Selector/Selector.test.tsx +30 -0
- package/src/Selector/Selector.tsx +18 -0
- package/src/SideNav/SideNav.doc.mjs +7 -1
- package/src/SideNav/SideNav.test.tsx +66 -0
- package/src/SideNav/SideNav.tsx +6 -2
- package/src/SideNav/SideNavCollapseButton.tsx +4 -3
- package/src/SideNav/SideNavSection.tsx +6 -4
- package/src/SizeContext/SizeContext.test.tsx +226 -0
- package/src/Slider/Slider.doc.mjs +14 -2
- package/src/Slider/Slider.test.tsx +30 -0
- package/src/Slider/Slider.tsx +20 -0
- package/src/Spinner/Spinner.tsx +1 -0
- package/src/Switch/Switch.doc.mjs +21 -9
- package/src/Switch/Switch.test.tsx +137 -0
- package/src/Switch/Switch.tsx +32 -7
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +185 -1
- package/src/TabList/TabMenu.tsx +45 -9
- package/src/Table/BaseTable.tsx +16 -3
- package/src/Table/Table.test.tsx +87 -0
- package/src/Table/TableBody.tsx +15 -2
- package/src/Table/TableCell.tsx +87 -8
- package/src/Table/TableFooter.tsx +15 -2
- package/src/Table/TableHeader.tsx +15 -2
- package/src/Table/index.ts +5 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +13 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +3 -1
- package/src/Table/plugins/pagination/paginateData.ts +5 -1
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
- package/src/Table/plugins/rowExpansion/index.ts +7 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +155 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +590 -0
- package/src/Table/plugins/selection/useTableSelectionState.test.tsx +23 -0
- package/src/Table/plugins/selection/useTableSelectionState.tsx +11 -6
- package/src/Table/plugins/sortable/useTableSortableState.test.tsx +35 -1
- package/src/Table/plugins/sortable/useTableSortableState.tsx +8 -4
- package/src/Table/tableContextMenu.test.tsx +27 -3
- package/src/Table/tableContextMenu.tsx +20 -2
- package/src/Table/useTablePagination.doc.mjs +4 -1
- package/src/Table/useTableRowExpansion.doc.mjs +80 -0
- package/src/Table/useTableSortable.doc.mjs +4 -1
- package/src/Text/Text.doc.mjs +2 -2
- package/src/Text/Text.test.tsx +11 -0
- package/src/Text/Text.tsx +4 -2
- package/src/Text/text.stylex.ts +41 -0
- package/src/TextArea/TextArea.doc.mjs +1 -1
- package/src/TextArea/TextArea.test.tsx +3 -3
- package/src/TextInput/TextInput.doc.mjs +1 -1
- package/src/TextInput/TextInput.test.tsx +3 -3
- package/src/Thumbnail/Thumbnail.test.tsx +36 -2
- package/src/Thumbnail/Thumbnail.tsx +4 -2
- package/src/TimeInput/TimeInput.doc.mjs +11 -6
- package/src/TimeInput/TimeInput.test.tsx +37 -0
- package/src/TimeInput/TimeInput.tsx +11 -1
- package/src/Timestamp/Timestamp.doc.mjs +1 -1
- package/src/Timestamp/Timestamp.test.tsx +52 -0
- package/src/Timestamp/Timestamp.tsx +30 -16
- package/src/Toast/Toast.tsx +11 -3
- package/src/Toast/ToastViewport.test.tsx +64 -0
- package/src/Toast/ToastViewport.tsx +12 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -4
- package/src/Tokenizer/Tokenizer.test.tsx +33 -0
- package/src/Tokenizer/Tokenizer.tsx +19 -0
- package/src/Toolbar/Toolbar.test.tsx +1 -1
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +18 -0
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
- package/src/TreeList/TreeList.doc.mjs +2 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +19 -0
- package/src/Typeahead/BaseTypeahead.tsx +5 -2
- package/src/Typeahead/Typeahead.doc.mjs +7 -2
- package/src/Typeahead/Typeahead.test.tsx +45 -1
- package/src/__tests__/TestIcon.tsx +26 -0
- package/src/__tests__/fastRoleQueries.ts +66 -0
- package/src/docPropReferences.test.ts +178 -0
- package/src/docs-types.ts +14 -0
- package/src/hooks/focusableSelector.ts +1 -1
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useFocusTrap.doc.mjs +4 -2
- package/src/hooks/useFocusTrap.test.tsx +149 -1
- package/src/hooks/useFocusTrap.ts +50 -1
- package/src/hooks/useHotkeys.doc.mjs +52 -0
- package/src/hooks/useHotkeys.test.ts +245 -0
- package/src/hooks/useHotkeys.ts +203 -0
- package/src/hooks/useInteractiveRole.ts +12 -4
- package/src/hooks/useKeyboardHint.doc.mjs +6 -6
- package/src/hooks/useStreamingText.test.ts +54 -19
- package/src/hooks/useStreamingText.ts +16 -5
- package/src/theme/SyntaxTheme.doc.mjs +4 -4
- package/src/theme/defineTheme.ts +4 -13
- package/src/theme/derivedVarRegistry.test.ts +2 -2
- package/src/theme/expandColorScale.test.ts +29 -0
- package/src/theme/expandColorScale.ts +11 -6
- package/src/theme/hct.ts +9 -17
- package/src/theme/tokens.test.ts +182 -9
- package/src/theme/tokens.ts +239 -4
- package/src/theme/useTheme.test.tsx +20 -0
- package/src/utils/color.test.ts +133 -0
- package/src/utils/color.ts +148 -0
- package/src/utils/composeEventHandlers.test.ts +71 -0
- package/src/utils/composeEventHandlers.ts +44 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/mergeProps.test.ts +166 -0
- package/src/utils/sharedResizeObserver.test.ts +2 -2
- package/src/utils/timeParser.test.ts +13 -0
- package/src/utils/timeParser.ts +8 -5
package/dist/Item/Item.js
CHANGED
|
@@ -26,7 +26,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
26
26
|
// =============================================================================
|
|
27
27
|
// Types
|
|
28
28
|
// =============================================================================
|
|
29
|
-
import {
|
|
29
|
+
import { jsxDEV as _jsxDEV, Fragment as _Fragment } from "react/jsx-dev-runtime";
|
|
30
30
|
// =============================================================================
|
|
31
31
|
// Styles
|
|
32
32
|
// =============================================================================
|
|
@@ -193,15 +193,15 @@ export function Item({
|
|
|
193
193
|
const isStringDescription = typeof description === 'string';
|
|
194
194
|
const labelTruncateStyle = labelLines != null ? labelLines === 1 ? styles.labelSingleTruncate : styles.labelMultiTruncate : isStringLabel ? styles.labelSingleTruncate : null;
|
|
195
195
|
const descriptionTruncateStyle = descriptionLines != null ? descriptionLines === 1 ? styles.descriptionSingleTruncate : styles.descriptionMultiTruncate : isStringDescription ? styles.descriptionSingleTruncate : null;
|
|
196
|
-
const labelAndDescription = /*#__PURE__*/
|
|
197
|
-
children: [/*#__PURE__*/
|
|
196
|
+
const labelAndDescription = /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
197
|
+
children: [/*#__PURE__*/_jsxDEV("span", {
|
|
198
198
|
...stylex.props(styles.label, labelTruncateStyle, labelLines != null && labelLines > 1 && dynamicStyles.lineClamp(labelLines)),
|
|
199
199
|
children: label
|
|
200
|
-
}), description != null && /*#__PURE__*/
|
|
200
|
+
}, void 0, false), description != null && /*#__PURE__*/_jsxDEV("span", {
|
|
201
201
|
...stylex.props(styles.description, descriptionTruncateStyle, descriptionLines != null && descriptionLines > 1 && dynamicStyles.lineClamp(descriptionLines)),
|
|
202
202
|
children: description
|
|
203
|
-
})]
|
|
204
|
-
});
|
|
203
|
+
}, void 0, false)]
|
|
204
|
+
}, void 0, true);
|
|
205
205
|
const handleContainerClick = e => {
|
|
206
206
|
if (isDisabled) {
|
|
207
207
|
return;
|
|
@@ -212,13 +212,13 @@ export function Item({
|
|
|
212
212
|
}
|
|
213
213
|
onClick?.(e);
|
|
214
214
|
};
|
|
215
|
-
const innerContent = /*#__PURE__*/
|
|
216
|
-
children: [marker, startContent != null && /*#__PURE__*/
|
|
215
|
+
const innerContent = /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
216
|
+
children: [marker, startContent != null && /*#__PURE__*/_jsxDEV("span", {
|
|
217
217
|
...{
|
|
218
218
|
className: "x3psx0u x78zum5"
|
|
219
219
|
},
|
|
220
220
|
children: startContent
|
|
221
|
-
}), hasParentRole ? /*#__PURE__*/
|
|
221
|
+
}, void 0, false), hasParentRole ? /*#__PURE__*/_jsxDEV("span", {
|
|
222
222
|
...{
|
|
223
223
|
0: {
|
|
224
224
|
className: "x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h"
|
|
@@ -228,7 +228,7 @@ export function Item({
|
|
|
228
228
|
}
|
|
229
229
|
}[!!isDisabled << 0],
|
|
230
230
|
children: labelAndDescription
|
|
231
|
-
}) : href != null ? /*#__PURE__*/
|
|
231
|
+
}, void 0, false) : href != null ? /*#__PURE__*/_jsxDEV(LinkComponent, {
|
|
232
232
|
href: href,
|
|
233
233
|
target: target,
|
|
234
234
|
rel: rel,
|
|
@@ -243,7 +243,7 @@ export function Item({
|
|
|
243
243
|
}
|
|
244
244
|
}[!!isDisabled << 0],
|
|
245
245
|
children: labelAndDescription
|
|
246
|
-
}) : onClick != null ? /*#__PURE__*/
|
|
246
|
+
}, void 0, false) : onClick != null ? /*#__PURE__*/_jsxDEV("button", {
|
|
247
247
|
type: "button",
|
|
248
248
|
onClick: onClick,
|
|
249
249
|
disabled: isDisabled,
|
|
@@ -256,7 +256,7 @@ export function Item({
|
|
|
256
256
|
}
|
|
257
257
|
}[!!isDisabled << 0],
|
|
258
258
|
children: labelAndDescription
|
|
259
|
-
}) : /*#__PURE__*/
|
|
259
|
+
}, void 0, false) : /*#__PURE__*/_jsxDEV("span", {
|
|
260
260
|
...{
|
|
261
261
|
0: {
|
|
262
262
|
className: "x78zum5 xdt5ytf x98rzlu xeuugli x1yc453h"
|
|
@@ -266,7 +266,7 @@ export function Item({
|
|
|
266
266
|
}
|
|
267
267
|
}[!!isDisabled << 0],
|
|
268
268
|
children: labelAndDescription
|
|
269
|
-
}), endContent != null && /*#__PURE__*/
|
|
269
|
+
}, void 0, false), endContent != null && /*#__PURE__*/_jsxDEV("span", {
|
|
270
270
|
...{
|
|
271
271
|
0: {
|
|
272
272
|
className: "x3psx0u x78zum5 xvc5jky"
|
|
@@ -276,13 +276,13 @@ export function Item({
|
|
|
276
276
|
}
|
|
277
277
|
}[!!isDisabled << 0],
|
|
278
278
|
children: endContent
|
|
279
|
-
})]
|
|
280
|
-
});
|
|
281
|
-
return /*#__PURE__*/
|
|
279
|
+
}, void 0, false)]
|
|
280
|
+
}, void 0, true);
|
|
281
|
+
return /*#__PURE__*/_jsxDEV(Component, {
|
|
282
282
|
ref: ref,
|
|
283
|
+
...restProps,
|
|
283
284
|
"aria-selected": isSelected || undefined,
|
|
284
285
|
"aria-disabled": isDisabled || undefined,
|
|
285
|
-
...restProps,
|
|
286
286
|
...mergeProps(themeProps('item', {
|
|
287
287
|
density,
|
|
288
288
|
align
|
|
@@ -290,6 +290,6 @@ export function Item({
|
|
|
290
290
|
role: role,
|
|
291
291
|
onClick: hasParentRole ? onClick : isInteractive ? handleContainerClick : undefined,
|
|
292
292
|
children: innerContent
|
|
293
|
-
});
|
|
293
|
+
}, void 0, false);
|
|
294
294
|
}
|
|
295
295
|
Item.displayName = 'Item';
|
package/dist/Kbd/Kbd.js
CHANGED
|
@@ -18,7 +18,7 @@ import { mergeProps } from "../utils/index.js";
|
|
|
18
18
|
import { themeProps } from "../utils/themeProps.js";
|
|
19
19
|
import "../theme/tokens.stylex.js";
|
|
20
20
|
import { colorVars, spacingVars, radiusVars, typographyVars, fontWeightVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
21
|
-
import {
|
|
21
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
22
22
|
const styles = {
|
|
23
23
|
wrapper: {
|
|
24
24
|
k1xSpc: "x3nfvp2",
|
|
@@ -145,19 +145,19 @@ export function Kbd({
|
|
|
145
145
|
// Screen-reader name: the joined spoken labels (e.g. "Command + K"), since
|
|
146
146
|
// the visual glyphs below are announced meaninglessly by assistive tech.
|
|
147
147
|
const accessibleName = parts.map(key => getKeyLabel(key, isMac)).join(' + ');
|
|
148
|
-
return /*#__PURE__*/
|
|
148
|
+
return /*#__PURE__*/_jsxDEV("span", {
|
|
149
149
|
ref: ref,
|
|
150
150
|
role: "img",
|
|
151
151
|
"aria-label": accessibleName,
|
|
152
152
|
...rest,
|
|
153
153
|
...mergeProps(themeProps('kbd'), stylex.props(styles.wrapper, xstyle), className, style),
|
|
154
|
-
children: parts.map(key => /*#__PURE__*/
|
|
154
|
+
children: parts.map(key => /*#__PURE__*/_jsxDEV("kbd", {
|
|
155
155
|
"aria-hidden": "true",
|
|
156
156
|
...{
|
|
157
157
|
className: "x3nfvp2 x6s0dn4 xl56j7k x16asifk x1grt7ep x7a5moj xx3sua9 x17x4s8c xlxy82 x1q0q8m5 xib2hle xv1l7n4 x9ynric x141an7d x1e4wzip x1ltkj2j x87ps6o"
|
|
158
158
|
},
|
|
159
159
|
children: getKeyDisplay(key, isMac)
|
|
160
|
-
}, key))
|
|
161
|
-
});
|
|
160
|
+
}, key, false))
|
|
161
|
+
}, void 0, false);
|
|
162
162
|
}
|
|
163
163
|
Kbd.displayName = 'Kbd';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
import { LayerContext, useLayerContext } from "./LayerContext.js";
|
|
7
7
|
import { ToastViewport } from "../Toast/ToastViewport.js";
|
|
8
|
-
import { Fragment as _Fragment,
|
|
8
|
+
import { Fragment as _Fragment, jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
9
9
|
/**
|
|
10
10
|
* App-level provider for layer systems (toast, sheet, imperative modals).
|
|
11
11
|
*
|
|
@@ -32,18 +32,18 @@ export function LayerProvider({
|
|
|
32
32
|
|
|
33
33
|
// Nested provider — pass through
|
|
34
34
|
if (existingContext) {
|
|
35
|
-
return /*#__PURE__*/
|
|
35
|
+
return /*#__PURE__*/_jsxDEV(_Fragment, {
|
|
36
36
|
children: children
|
|
37
|
-
});
|
|
37
|
+
}, void 0, false);
|
|
38
38
|
}
|
|
39
|
-
return /*#__PURE__*/
|
|
39
|
+
return /*#__PURE__*/_jsxDEV(LayerContext, {
|
|
40
40
|
value: contextValue,
|
|
41
|
-
children: /*#__PURE__*/
|
|
41
|
+
children: /*#__PURE__*/_jsxDEV(ToastViewport, {
|
|
42
42
|
position: toastConfig.position,
|
|
43
43
|
maxVisible: toastConfig.maxVisible,
|
|
44
44
|
inset: toastConfig.inset,
|
|
45
45
|
children: children
|
|
46
|
-
})
|
|
47
|
-
});
|
|
46
|
+
}, void 0, false)
|
|
47
|
+
}, void 0, false);
|
|
48
48
|
}
|
|
49
49
|
LayerProvider.displayName = 'LayerProvider';
|
package/dist/Layer/useLayer.js
CHANGED
|
@@ -17,7 +17,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
17
17
|
import { addAnchorName, removeAnchorName } from "./anchorName.js";
|
|
18
18
|
import "../theme/tokens.stylex.js";
|
|
19
19
|
import { typographyVars } from "../theme/tokens.stylex.js";
|
|
20
|
-
import {
|
|
20
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
21
21
|
const styles = {
|
|
22
22
|
base: {
|
|
23
23
|
keoZOQ: "xdj266r",
|
|
@@ -276,7 +276,7 @@ export function useLayer(options) {
|
|
|
276
276
|
// Render as the requested tag. A `span` keeps the layer phrasing content
|
|
277
277
|
// so it is valid (and stays put on hydration) inside inline contexts like
|
|
278
278
|
// a `<p>`; `div` remains the default for block layers.
|
|
279
|
-
return /*#__PURE__*/
|
|
279
|
+
return /*#__PURE__*/_jsxDEV(Container, {
|
|
280
280
|
ref: popoverRefCallback,
|
|
281
281
|
id: id,
|
|
282
282
|
role: role,
|
|
@@ -290,7 +290,7 @@ export function useLayer(options) {
|
|
|
290
290
|
onMouseEnter: onMouseEnter,
|
|
291
291
|
onMouseLeave: onMouseLeave,
|
|
292
292
|
children: children
|
|
293
|
-
});
|
|
293
|
+
}, void 0, false);
|
|
294
294
|
}, [anchorId, id, lightDismiss, popoverRefCallback]);
|
|
295
295
|
|
|
296
296
|
// Render function for fixed mode
|
|
@@ -310,7 +310,7 @@ export function useLayer(options) {
|
|
|
310
310
|
};
|
|
311
311
|
const stylexResult = stylex.props(styles.base, styles.fixed, xstyle);
|
|
312
312
|
const combinedClassName = extraClassName ? `${extraClassName} ${stylexResult.className ?? ''}` : stylexResult.className;
|
|
313
|
-
return /*#__PURE__*/
|
|
313
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
314
314
|
ref: popoverRefCallback,
|
|
315
315
|
id: id,
|
|
316
316
|
popover: lightDismiss ? 'auto' : 'manual',
|
|
@@ -321,7 +321,7 @@ export function useLayer(options) {
|
|
|
321
321
|
...extraStyle
|
|
322
322
|
},
|
|
323
323
|
children: children
|
|
324
|
-
});
|
|
324
|
+
}, void 0, false);
|
|
325
325
|
}, [popoverRefCallback, id, lightDismiss]);
|
|
326
326
|
if (mode === 'context') {
|
|
327
327
|
return {
|
package/dist/Layout/Layout.js
CHANGED
|
@@ -32,7 +32,7 @@ import { layoutPaddingOuterXVarStyles, layoutPaddingOuterYVarStyles } from "./pa
|
|
|
32
32
|
* - `fill`: Layout fills container height, content scrolls internally (default)
|
|
33
33
|
* - `auto`: Layout grows with content, container/page scrolls
|
|
34
34
|
*/
|
|
35
|
-
import {
|
|
35
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
36
36
|
const styles = {
|
|
37
37
|
layoutOuter: {
|
|
38
38
|
keTefX: "xojxgvx",
|
|
@@ -97,10 +97,10 @@ function AreaProvider({
|
|
|
97
97
|
if (children == null) {
|
|
98
98
|
return null;
|
|
99
99
|
}
|
|
100
|
-
return /*#__PURE__*/
|
|
100
|
+
return /*#__PURE__*/_jsxDEV(LayoutAreaContext, {
|
|
101
101
|
value: area,
|
|
102
102
|
children: children
|
|
103
|
-
});
|
|
103
|
+
}, void 0, false);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/**
|
|
@@ -188,51 +188,51 @@ export function Layout({
|
|
|
188
188
|
hasStart,
|
|
189
189
|
hasEnd
|
|
190
190
|
}), [hasHeader, hasFooter, hasStart, hasEnd]);
|
|
191
|
-
const tree = /*#__PURE__*/
|
|
191
|
+
const tree = /*#__PURE__*/_jsxDEV(LayoutSlotsContext, {
|
|
192
192
|
value: slotsValue,
|
|
193
|
-
children: /*#__PURE__*/
|
|
193
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
194
194
|
ref: ref,
|
|
195
195
|
...mergeProps(themeProps('layout', {
|
|
196
196
|
height
|
|
197
197
|
}), stylex.props(styles.layoutOuter, isFill ? styles.fill : styles.auto, xstyle), className, style),
|
|
198
|
-
children: /*#__PURE__*/
|
|
198
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
199
199
|
...stylex.props(_temp2, styles.layoutInner, ...stack({
|
|
200
200
|
direction: 'vertical'
|
|
201
201
|
}), isFill ? styles.fill : styles.auto, padding === 0 && styles.fullBleed, padding != null && layoutPaddingOuterXVarStyles[padding], padding != null && layoutPaddingOuterYVarStyles[padding], contentWidth != null && dynamicStyles.contentWidthVar(contentWidth)),
|
|
202
|
-
children: [/*#__PURE__*/
|
|
202
|
+
children: [/*#__PURE__*/_jsxDEV(AreaProvider, {
|
|
203
203
|
area: "header",
|
|
204
204
|
children: header
|
|
205
|
-
}), /*#__PURE__*/
|
|
205
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("div", {
|
|
206
206
|
...stylex.props(...stack({
|
|
207
207
|
direction: 'horizontal'
|
|
208
208
|
}), styles.middle, contentWidth != null && dynamicStyles.contentWidth(contentWidth)),
|
|
209
|
-
children: [/*#__PURE__*/
|
|
209
|
+
children: [/*#__PURE__*/_jsxDEV(AreaProvider, {
|
|
210
210
|
area: "start",
|
|
211
211
|
children: start
|
|
212
|
-
}), /*#__PURE__*/
|
|
212
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("div", {
|
|
213
213
|
...stylex.props(...stackItem({
|
|
214
214
|
size: 'fill'
|
|
215
215
|
})),
|
|
216
|
-
children: /*#__PURE__*/
|
|
216
|
+
children: /*#__PURE__*/_jsxDEV(AreaProvider, {
|
|
217
217
|
area: "content",
|
|
218
218
|
children: resolvedContent
|
|
219
|
-
})
|
|
220
|
-
}), /*#__PURE__*/
|
|
219
|
+
}, void 0, false)
|
|
220
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV(AreaProvider, {
|
|
221
221
|
area: "end",
|
|
222
222
|
children: end
|
|
223
|
-
})]
|
|
224
|
-
}), /*#__PURE__*/
|
|
223
|
+
}, void 0, false)]
|
|
224
|
+
}, void 0, true), /*#__PURE__*/_jsxDEV(AreaProvider, {
|
|
225
225
|
area: "footer",
|
|
226
226
|
children: footer
|
|
227
|
-
})]
|
|
228
|
-
})
|
|
229
|
-
})
|
|
230
|
-
});
|
|
227
|
+
}, void 0, false)]
|
|
228
|
+
}, void 0, true)
|
|
229
|
+
}, void 0, false)
|
|
230
|
+
}, void 0, false);
|
|
231
231
|
if (dividerCtxValue != null) {
|
|
232
|
-
return /*#__PURE__*/
|
|
232
|
+
return /*#__PURE__*/_jsxDEV(LayoutDividerContext, {
|
|
233
233
|
value: dividerCtxValue,
|
|
234
234
|
children: tree
|
|
235
|
-
});
|
|
235
|
+
}, void 0, false);
|
|
236
236
|
}
|
|
237
237
|
return tree;
|
|
238
238
|
}
|
|
@@ -22,7 +22,7 @@ import { LayoutSlotsContext } from "./LayoutSlotsContext.js";
|
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
23
|
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles } from "./padding.stylex.js";
|
|
25
|
-
import {
|
|
25
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
26
26
|
const styles = {
|
|
27
27
|
content: {
|
|
28
28
|
kB7OPa: "x9f619",
|
|
@@ -130,7 +130,7 @@ export function LayoutContent({
|
|
|
130
130
|
hasEnd
|
|
131
131
|
} = use(LayoutSlotsContext);
|
|
132
132
|
const isZeroPadding = padding === 0;
|
|
133
|
-
return /*#__PURE__*/
|
|
133
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
134
134
|
ref: ref,
|
|
135
135
|
role: role,
|
|
136
136
|
"aria-label": label,
|
|
@@ -139,6 +139,6 @@ export function LayoutContent({
|
|
|
139
139
|
!hasStart && !isZeroPadding && padding == null && styles.noStart, !hasEnd && !isZeroPadding && padding == null && styles.noEnd, !hasHeader && !isZeroPadding && padding == null && styles.noHeader, !hasFooter && !isZeroPadding && padding == null && styles.noFooter, isScrollable && styles.scrollable, isZeroPadding && styles.fullBleed, padding != null && paddingStyles[padding], padding != null && containerPaddingInlineVarStyles[padding], padding != null && containerPaddingBlockStartVarStyles[padding], padding != null && containerPaddingBlockEndVarStyles[padding], xstyle), className, style),
|
|
140
140
|
...props,
|
|
141
141
|
children: children
|
|
142
|
-
});
|
|
142
|
+
}, void 0, false);
|
|
143
143
|
}
|
|
144
144
|
LayoutContent.displayName = 'LayoutContent';
|
|
@@ -22,7 +22,7 @@ import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
|
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
23
|
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles } from "./padding.stylex.js";
|
|
25
|
-
import {
|
|
25
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
26
26
|
const styles = {
|
|
27
27
|
footer: {
|
|
28
28
|
kmuXW: "x2lah0s",
|
|
@@ -103,17 +103,17 @@ export function LayoutFooter({
|
|
|
103
103
|
const dividerCtx = use(LayoutDividerContext);
|
|
104
104
|
const resolvedHasDivider = hasDivider ?? dividerCtx?.defaultHasDividers ?? false;
|
|
105
105
|
const isZeroPadding = padding === 0;
|
|
106
|
-
return /*#__PURE__*/
|
|
106
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
107
107
|
ref: ref,
|
|
108
108
|
role: role,
|
|
109
109
|
"aria-label": label,
|
|
110
110
|
"data-divider": resolvedHasDivider || undefined,
|
|
111
111
|
...mergeProps(themeProps('layout-footer'), stylex.props(styles.footer, dynamicStyles.sizing(height ?? null), resolvedHasDivider && styles.divider, xstyle), className, style),
|
|
112
112
|
...props,
|
|
113
|
-
children: /*#__PURE__*/
|
|
113
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
114
114
|
...stylex.props(styles.inner, isZeroPadding && styles.fullBleed, padding != null && paddingStyles[padding], padding != null && containerPaddingInlineVarStyles[padding], padding != null && containerPaddingBlockStartVarStyles[padding], padding != null && containerPaddingBlockEndVarStyles[padding]),
|
|
115
115
|
children: children
|
|
116
|
-
})
|
|
117
|
-
});
|
|
116
|
+
}, void 0, false)
|
|
117
|
+
}, void 0, false);
|
|
118
118
|
}
|
|
119
119
|
LayoutFooter.displayName = 'LayoutFooter';
|
|
@@ -22,7 +22,7 @@ import { colorVars, spacingVars } from "../theme/tokens.stylex.js";
|
|
|
22
22
|
import { mergeProps } from "../utils/index.js";
|
|
23
23
|
import { themeProps } from "../utils/themeProps.js";
|
|
24
24
|
import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles } from "./padding.stylex.js";
|
|
25
|
-
import {
|
|
25
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
26
26
|
const styles = {
|
|
27
27
|
header: {
|
|
28
28
|
kmuXW: "x2lah0s",
|
|
@@ -103,17 +103,17 @@ export function LayoutHeader({
|
|
|
103
103
|
const dividerCtx = use(LayoutDividerContext);
|
|
104
104
|
const resolvedHasDivider = hasDivider ?? dividerCtx?.defaultHasDividers ?? false;
|
|
105
105
|
const isZeroPadding = padding === 0;
|
|
106
|
-
return /*#__PURE__*/
|
|
106
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
107
107
|
ref: ref,
|
|
108
108
|
role: role,
|
|
109
109
|
"aria-label": label,
|
|
110
110
|
"data-divider": resolvedHasDivider || undefined,
|
|
111
111
|
...mergeProps(themeProps('layout-header'), stylex.props(styles.header, dynamicStyles.sizing(height ?? null), resolvedHasDivider && styles.divider, xstyle), className, style),
|
|
112
112
|
...props,
|
|
113
|
-
children: /*#__PURE__*/
|
|
113
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
114
114
|
...stylex.props(styles.inner, isZeroPadding && styles.fullBleed, padding != null && paddingStyles[padding], padding != null && containerPaddingInlineVarStyles[padding], padding != null && containerPaddingBlockStartVarStyles[padding], padding != null && containerPaddingBlockEndVarStyles[padding]),
|
|
115
115
|
children: children
|
|
116
|
-
})
|
|
117
|
-
});
|
|
116
|
+
}, void 0, false)
|
|
117
|
+
}, void 0, false);
|
|
118
118
|
}
|
|
119
119
|
LayoutHeader.displayName = 'LayoutHeader';
|
|
@@ -23,7 +23,7 @@ import { LayoutSlotsContext } from "./LayoutSlotsContext.js";
|
|
|
23
23
|
import { mergeProps } from "../utils/index.js";
|
|
24
24
|
import { themeProps } from "../utils/themeProps.js";
|
|
25
25
|
import { paddingStyles, containerPaddingInlineVarStyles, containerPaddingBlockStartVarStyles, containerPaddingBlockEndVarStyles } from "./padding.stylex.js";
|
|
26
|
-
import {
|
|
26
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
27
27
|
const styles = {
|
|
28
28
|
panel: {
|
|
29
29
|
kB7OPa: "x9f619",
|
|
@@ -166,7 +166,7 @@ export function LayoutPanel({
|
|
|
166
166
|
|
|
167
167
|
// Select collapse style based on position (collapse the side where divider would be)
|
|
168
168
|
const collapseStyle = isStartPanel ? styles.collapseEnd : isEndPanel ? styles.collapseStart : null;
|
|
169
|
-
return /*#__PURE__*/
|
|
169
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
170
170
|
ref: ref,
|
|
171
171
|
role: role,
|
|
172
172
|
"aria-label": label,
|
|
@@ -175,6 +175,6 @@ export function LayoutPanel({
|
|
|
175
175
|
isStartPanel && !isZeroPadding && padding == null && styles.startPanel, isEndPanel && !isZeroPadding && padding == null && styles.endPanel, !hasHeader && !isZeroPadding && padding == null && styles.noHeader, !hasFooter && !isZeroPadding && padding == null && styles.noFooter, isScrollable && styles.scrollable, isZeroPadding && styles.fullBleed, padding != null && paddingStyles[padding], padding != null && containerPaddingInlineVarStyles[padding], padding != null && containerPaddingBlockStartVarStyles[padding], padding != null && containerPaddingBlockEndVarStyles[padding], hasDivider && dividerStyle, shouldCollapseSpacing && collapseStyle, xstyle), className, style),
|
|
176
176
|
...props,
|
|
177
177
|
children: children
|
|
178
|
-
});
|
|
178
|
+
}, void 0, false);
|
|
179
179
|
}
|
|
180
180
|
LayoutPanel.displayName = 'LayoutPanel';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox/Lightbox.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"Lightbox.d.ts","sourceRoot":"","sources":["../../src/Lightbox/Lightbox.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACjE,+CAA+C;IAC/C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAqID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,KAAK,EAAE,eAAe,EACtB,YAAgB,EAChB,aAAa,EACb,OAAe,EACf,WAAmB,EACnB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,GAAG,KAAK,EACT,EAAE,aAAa,sCAmUf;yBAnVe,QAAQ"}
|
|
@@ -15,12 +15,13 @@
|
|
|
15
15
|
* - /apps/storybook/stories/Lightbox.stories.tsx (storybook stories)
|
|
16
16
|
* - /packages/cli/templates/blocks/components/Lightbox/ (showcase blocks)
|
|
17
17
|
*/
|
|
18
|
-
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
18
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
19
19
|
import * as stylex from '@stylexjs/stylex';
|
|
20
20
|
import "../theme/tokens.stylex.js";
|
|
21
21
|
import { colorVars, spacingVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
22
22
|
import { Icon } from "../Icon/index.js";
|
|
23
23
|
import { IconButton } from "../IconButton/index.js";
|
|
24
|
+
import { useAnnounce } from "../hooks/useAnnounce.js";
|
|
24
25
|
import { useScrollLock } from "../hooks/useScrollLock.js";
|
|
25
26
|
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
26
27
|
import { mergeProps, mergeRefs } from "../utils/index.js";
|
|
@@ -33,7 +34,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
33
34
|
/**
|
|
34
35
|
* Describes a single media item in a lightbox.
|
|
35
36
|
*/
|
|
36
|
-
import {
|
|
37
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
37
38
|
// =============================================================================
|
|
38
39
|
// Styles
|
|
39
40
|
// =============================================================================
|
|
@@ -162,7 +163,7 @@ export function Lightbox({
|
|
|
162
163
|
});
|
|
163
164
|
|
|
164
165
|
// Resolve current media item
|
|
165
|
-
const mediaArray = Array.isArray(media) ? media : [media];
|
|
166
|
+
const mediaArray = useMemo(() => Array.isArray(media) ? media : [media], [media]);
|
|
166
167
|
const isGallery = mediaArray.length > 1;
|
|
167
168
|
const currentItem = mediaArray.length > 0 ? mediaArray[Math.min(index, mediaArray.length - 1)] : null;
|
|
168
169
|
const currentType = currentItem?.type ?? 'image';
|
|
@@ -185,6 +186,29 @@ export function Lightbox({
|
|
|
185
186
|
});
|
|
186
187
|
}, [index, currentItem?.src]);
|
|
187
188
|
|
|
189
|
+
// Announce gallery navigation to screen readers. Moving between images only
|
|
190
|
+
// updates the visual counter, which is silent to assistive tech, so mirror
|
|
191
|
+
// each change in a polite live region ("<alt>, 3 of 12", or "Image 3 of 12"
|
|
192
|
+
// when the image has no alt). Announce only when the image changes during an
|
|
193
|
+
// already-open session — not on mount, not when opening (even at a new
|
|
194
|
+
// index, since the dialog's aria-label already names the current image), and
|
|
195
|
+
// not on close.
|
|
196
|
+
const announce = useAnnounce();
|
|
197
|
+
const prevIndexRef = useRef(index);
|
|
198
|
+
const wasOpenRef = useRef(isOpen);
|
|
199
|
+
useEffect(() => {
|
|
200
|
+
const indexChanged = prevIndexRef.current !== index;
|
|
201
|
+
const wasOpen = wasOpenRef.current;
|
|
202
|
+
prevIndexRef.current = index;
|
|
203
|
+
wasOpenRef.current = isOpen;
|
|
204
|
+
if (!indexChanged || !isOpen || !wasOpen) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const item = mediaArray[Math.min(index, mediaArray.length - 1)];
|
|
208
|
+
const position = `${index + 1} of ${mediaArray.length}`;
|
|
209
|
+
announce(item?.alt ? `${item.alt}, ${position}` : `Image ${position}`);
|
|
210
|
+
}, [index, isOpen, announce, mediaArray]);
|
|
211
|
+
|
|
188
212
|
// Open/close dialog
|
|
189
213
|
useIsomorphicLayoutEffect(() => {
|
|
190
214
|
const dialog = dialogRef.current;
|
|
@@ -301,7 +325,7 @@ export function Lightbox({
|
|
|
301
325
|
if (!currentItem) {
|
|
302
326
|
return null;
|
|
303
327
|
}
|
|
304
|
-
return /*#__PURE__*/
|
|
328
|
+
return /*#__PURE__*/_jsxDEV("dialog", {
|
|
305
329
|
ref: mergeRefs(ref, dialogRef),
|
|
306
330
|
onCancel: handleCancel,
|
|
307
331
|
onClick: e => {
|
|
@@ -315,46 +339,46 @@ export function Lightbox({
|
|
|
315
339
|
"aria-label": currentItem.alt || 'Media viewer',
|
|
316
340
|
...mergeProps(themeProps('lightbox'), stylex.props(styles.dialog, xstyle), className, style),
|
|
317
341
|
...props,
|
|
318
|
-
children: /*#__PURE__*/
|
|
342
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
319
343
|
...{
|
|
320
344
|
className: "x78zum5 xdt5ytf x6s0dn4 xl56j7k xh8yej3 x5yr21d x1n2onr6"
|
|
321
345
|
},
|
|
322
|
-
children: [/*#__PURE__*/
|
|
346
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
323
347
|
...{
|
|
324
348
|
className: "x10l6tqk xyx6v2t xmz3bnw x1vjfegm"
|
|
325
349
|
},
|
|
326
|
-
children: /*#__PURE__*/
|
|
327
|
-
icon: /*#__PURE__*/
|
|
350
|
+
children: /*#__PURE__*/_jsxDEV(IconButton, {
|
|
351
|
+
icon: /*#__PURE__*/_jsxDEV(Icon, {
|
|
328
352
|
icon: "close",
|
|
329
353
|
size: "sm",
|
|
330
354
|
color: "inherit"
|
|
331
|
-
}),
|
|
355
|
+
}, void 0, false),
|
|
332
356
|
label: "Close",
|
|
333
357
|
variant: "ghost",
|
|
334
358
|
onClick: handleClose,
|
|
335
359
|
xstyle: styles.controlButton
|
|
336
|
-
})
|
|
337
|
-
}), isGallery && /*#__PURE__*/
|
|
360
|
+
}, void 0, false)
|
|
361
|
+
}, void 0, false), isGallery && /*#__PURE__*/_jsxDEV("div", {
|
|
338
362
|
...{
|
|
339
363
|
className: "x10l6tqk xwa60dl x1cb1t30 x1vjfegm xnp31yv"
|
|
340
364
|
},
|
|
341
|
-
children: /*#__PURE__*/
|
|
342
|
-
icon: /*#__PURE__*/
|
|
365
|
+
children: /*#__PURE__*/_jsxDEV(IconButton, {
|
|
366
|
+
icon: /*#__PURE__*/_jsxDEV(Icon, {
|
|
343
367
|
icon: "chevronLeft",
|
|
344
368
|
size: "sm",
|
|
345
369
|
color: "inherit"
|
|
346
|
-
}),
|
|
370
|
+
}, void 0, false),
|
|
347
371
|
label: "Previous",
|
|
348
372
|
variant: "ghost",
|
|
349
373
|
isDisabled: !canPrev,
|
|
350
374
|
onClick: goToPrev,
|
|
351
375
|
xstyle: styles.controlButton
|
|
352
|
-
})
|
|
353
|
-
}), /*#__PURE__*/
|
|
376
|
+
}, void 0, false)
|
|
377
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("div", {
|
|
354
378
|
...{
|
|
355
379
|
className: "x78zum5 xdt5ytf x6s0dn4 x193iq5w xmz0i5r xb3r6kr"
|
|
356
380
|
},
|
|
357
|
-
children: [/*#__PURE__*/
|
|
381
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
358
382
|
ref: imageWrapperRef,
|
|
359
383
|
...{
|
|
360
384
|
0: {
|
|
@@ -384,7 +408,7 @@ export function Lightbox({
|
|
|
384
408
|
}[!!(!isVideo && hasZoom && !isZoomed) << 2 | !!(!isVideo && isZoomed) << 1 | !!(!isVideo && isDragging) << 0],
|
|
385
409
|
onDoubleClick: isVideo ? undefined : handleDoubleClick,
|
|
386
410
|
onPointerDown: isVideo ? undefined : handlePointerDown,
|
|
387
|
-
children: isVideo ? /*#__PURE__*/
|
|
411
|
+
children: isVideo ? /*#__PURE__*/_jsxDEV("video", {
|
|
388
412
|
src: currentItem.src,
|
|
389
413
|
"aria-label": currentItem.alt,
|
|
390
414
|
controls: true,
|
|
@@ -392,41 +416,41 @@ export function Lightbox({
|
|
|
392
416
|
...{
|
|
393
417
|
className: "x193iq5w xmz0i5r x19kjcj4 x1a2a7pz"
|
|
394
418
|
}
|
|
395
|
-
}) : /*#__PURE__*/
|
|
419
|
+
}, void 0, false) : /*#__PURE__*/_jsxDEV("img", {
|
|
396
420
|
src: currentItem.src,
|
|
397
421
|
alt: currentItem.alt,
|
|
398
422
|
draggable: false,
|
|
399
423
|
...stylex.props(styles.image, isDragging && styles.imageDragging, imageTransform != null && dynamicStyles.imageTransform(imageTransform))
|
|
400
|
-
})
|
|
401
|
-
}), currentItem.caption && /*#__PURE__*/
|
|
424
|
+
}, void 0, false)
|
|
425
|
+
}, void 0, false), currentItem.caption && /*#__PURE__*/_jsxDEV("div", {
|
|
402
426
|
...{
|
|
403
427
|
className: "x9e3rv5 x18juvz8 xf74fhv x2b8uid x1xye8es x18d9i69 xrrkdod xrlsmeg x2lah0s"
|
|
404
428
|
},
|
|
405
429
|
children: currentItem.caption
|
|
406
|
-
})]
|
|
407
|
-
}), isGallery && /*#__PURE__*/
|
|
430
|
+
}, void 0, false)]
|
|
431
|
+
}, void 0, true), isGallery && /*#__PURE__*/_jsxDEV("div", {
|
|
408
432
|
...{
|
|
409
433
|
className: "x10l6tqk xwa60dl x1cb1t30 x1vjfegm xmz3bnw"
|
|
410
434
|
},
|
|
411
|
-
children: /*#__PURE__*/
|
|
412
|
-
icon: /*#__PURE__*/
|
|
435
|
+
children: /*#__PURE__*/_jsxDEV(IconButton, {
|
|
436
|
+
icon: /*#__PURE__*/_jsxDEV(Icon, {
|
|
413
437
|
icon: "chevronRight",
|
|
414
438
|
size: "sm",
|
|
415
439
|
color: "inherit"
|
|
416
|
-
}),
|
|
440
|
+
}, void 0, false),
|
|
417
441
|
label: "Next",
|
|
418
442
|
variant: "ghost",
|
|
419
443
|
isDisabled: !canNext,
|
|
420
444
|
onClick: goToNext,
|
|
421
445
|
xstyle: styles.controlButton
|
|
422
|
-
})
|
|
423
|
-
}), isGallery && mediaArray.length > 1 && /*#__PURE__*/
|
|
446
|
+
}, void 0, false)
|
|
447
|
+
}, void 0, false), isGallery && mediaArray.length > 1 && /*#__PURE__*/_jsxDEV("div", {
|
|
424
448
|
...{
|
|
425
449
|
className: "x10l6tqk xyx6v2t xnp31yv x9e3rv5 xjm74w1 xw6l6zx x1vjfegm"
|
|
426
450
|
},
|
|
427
451
|
children: [index + 1, " / ", mediaArray.length]
|
|
428
|
-
})]
|
|
429
|
-
})
|
|
430
|
-
});
|
|
452
|
+
}, void 0, true)]
|
|
453
|
+
}, void 0, true)
|
|
454
|
+
}, void 0, false);
|
|
431
455
|
}
|
|
432
456
|
Lightbox.displayName = 'Lightbox';
|