@astryxdesign/core 0.1.4 → 0.1.5-canary.76e6697
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 +141 -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.d.ts +0 -2
- package/dist/AlertDialog/useImperativeAlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/useImperativeAlertDialog.js +3 -5
- 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.d.ts +48 -10
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +33 -12
- package/dist/AspectRatio/index.d.ts +1 -1
- package/dist/AspectRatio/index.d.ts.map +1 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +28 -26
- package/dist/Avatar/AvatarStatusDot.js +6 -6
- package/dist/AvatarGroup/AvatarGroup.js +6 -6
- package/dist/AvatarGroup/AvatarGroupOverflow.js +7 -7
- 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.js +19 -19
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +68 -48
- package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
- 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 +24 -21
- 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 +1 -1
- 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.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -15
- package/dist/CheckboxInput/CheckboxInput.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +25 -23
- 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.js +3 -3
- 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/Collapsible/Collapsible.d.ts +9 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +109 -22
- package/dist/Collapsible/CollapsibleGroup.d.ts +37 -7
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +64 -12
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +24 -0
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +26 -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.js +3 -3
- 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 +7 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +76 -43
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +21 -21
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -2
- 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.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.d.ts +5 -1
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- 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.d.ts +29 -2
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +44 -31
- 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.d.ts +0 -1
- package/dist/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/Lightbox/useLightbox.js +3 -4
- package/dist/Link/Link.d.ts +0 -2
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +15 -17
- 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/MetadataList/MetadataList.js +10 -10
- package/dist/MetadataList/MetadataListItem.js +15 -15
- package/dist/MobileNav/MobileNav.d.ts +1 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +26 -23
- package/dist/MobileNav/MobileNavToggle.js +5 -5
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.js +56 -56
- 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.d.ts +0 -3
- package/dist/Overlay/useOverlay.d.ts.map +1 -1
- package/dist/Overlay/useOverlay.js +3 -6
- 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.js +7 -7
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +24 -21
- 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.js +46 -46
- 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.js +23 -23
- package/dist/Spinner/Spinner.js +9 -9
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +8 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +34 -29
- 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 +50 -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.js +3 -3
- 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/groupedRows/index.d.ts +3 -0
- package/dist/Table/plugins/groupedRows/index.d.ts.map +1 -0
- package/dist/Table/plugins/groupedRows/index.js +3 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +78 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +250 -0
- 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/useTableRowExpansion.d.ts +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +23 -23
- 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.js +9 -9
- package/dist/Text/Text.js +10 -10
- 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.d.ts.map +1 -1
- package/dist/Toast/useToast.js +44 -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.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +36 -34
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- package/dist/Tooltip/useTooltip.d.ts +5 -1
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- 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/VisuallyHidden/VisuallyHidden.d.ts +0 -3
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +0 -3
- package/dist/astryx.css +7 -0
- package/dist/astryx.umd.js +63 -63
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +8 -2
- 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/theme/useTheme.d.ts +3 -2
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +73 -6
- 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 +4 -4
- package/src/AlertDialog/AlertDialog.doc.mjs +4 -0
- package/src/AlertDialog/AlertDialog.tsx +2 -0
- package/src/AlertDialog/useImperativeAlertDialog.tsx +0 -2
- package/src/AppShell/AppShell.tsx +2 -0
- package/src/AspectRatio/AspectRatio.doc.mjs +28 -1
- package/src/AspectRatio/AspectRatio.test.tsx +142 -1
- package/src/AspectRatio/AspectRatio.tsx +70 -10
- package/src/AspectRatio/index.ts +5 -1
- package/src/Avatar/Avatar.doc.mjs +11 -0
- package/src/Avatar/Avatar.test.tsx +32 -1
- package/src/Avatar/Avatar.tsx +14 -22
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +1 -0
- package/src/AvatarGroup/AvatarGroup.tsx +2 -2
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +2 -2
- 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/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +122 -17
- package/src/Calendar/Calendar.tsx +26 -5
- package/src/Calendar/dayCellUtils.ts +3 -1
- 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 +4 -2
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +27 -1
- package/src/Chat/ChatComposerInput.tsx +20 -15
- 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/useTriggerMenu.tsx +1 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +3 -3
- package/src/CheckboxInput/CheckboxInput.test.tsx +71 -4
- package/src/CheckboxInput/CheckboxInput.tsx +2 -0
- 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/CodeBlock/CodeBlock.doc.mjs +7 -2
- package/src/CodeBlock/CodeBlock.test.tsx +122 -3
- package/src/CodeBlock/CodeBlock.tsx +62 -4
- package/src/Collapsible/Collapsible.doc.mjs +8 -4
- package/src/Collapsible/Collapsible.test.tsx +403 -0
- package/src/Collapsible/Collapsible.tsx +85 -10
- package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
- package/src/Collapsible/CollapsibleGroup.test.tsx +314 -0
- package/src/Collapsible/CollapsibleGroup.tsx +97 -9
- package/src/Collapsible/CollapsibleGroupContext.tsx +34 -2
- package/src/Collapsible/index.ts +1 -0
- package/src/Collapsible/useCollapsible.ts +20 -6
- package/src/CommandPalette/CommandPalette.doc.mjs +5 -0
- package/src/CommandPalette/CommandPalette.tsx +5 -3
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
- 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 +87 -0
- package/src/ContextMenu/ContextMenu.tsx +87 -28
- package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
- package/src/DateInput/DateInput.test.tsx +11 -20
- package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -6
- package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
- package/src/DateTimeInput/DateTimeInput.doc.mjs +3 -2
- package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
- package/src/DateTimeInput/DateTimeInput.tsx +8 -2
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.mjs +4 -0
- package/src/Dialog/DialogHeader.doc.mjs +45 -0
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +22 -2
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/Field/Field.test.tsx +1 -4
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FieldStatus/FieldStatus.test.tsx +282 -0
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
- package/src/Grid/Grid.test.tsx +43 -18
- package/src/Grid/Grid.tsx +26 -9
- package/src/HoverCard/HoverCard.doc.mjs +6 -6
- package/src/HoverCard/useHoverCard.doc.mjs +5 -5
- package/src/HoverCard/useHoverCard.tsx +9 -2
- package/src/Icon/Icon.test.tsx +41 -29
- package/src/Icon/Icon.tsx +6 -2
- package/src/InputGroup/InputGroup.doc.mjs +1 -0
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
- package/src/Item/Item.tsx +1 -1
- package/src/Layer/useLayer.doc.mjs +2 -2
- package/src/Layer/useLayer.test.tsx +221 -2
- package/src/Layer/useLayer.tsx +69 -30
- 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/Lightbox/Lightbox.doc.mjs +5 -0
- package/src/Lightbox/Lightbox.test.tsx +123 -2
- package/src/Lightbox/Lightbox.tsx +29 -1
- package/src/Lightbox/useLightbox.tsx +0 -1
- package/src/Link/Link.tsx +0 -2
- package/src/Markdown/Markdown.tsx +9 -7
- package/src/Markdown/parser.perf.test.ts +34 -12
- package/src/MobileNav/MobileNav.test.tsx +56 -0
- package/src/MobileNav/MobileNav.tsx +13 -8
- 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/Outline.doc.mjs +2 -0
- 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/Overlay/useOverlay.tsx +0 -3
- package/src/Pagination/Pagination.test.tsx +162 -0
- package/src/Pagination/Pagination.tsx +80 -26
- package/src/Popover/Popover.doc.mjs +6 -6
- package/src/Popover/Popover.test.tsx +65 -0
- package/src/Popover/usePopover.doc.mjs +1 -1
- package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearch.test.tsx +109 -1
- package/src/PowerSearch/PowerSearch.tsx +37 -16
- package/src/ProgressBar/ProgressBar.doc.mjs +2 -0
- package/src/ProgressBar/ProgressBar.test.tsx +30 -0
- package/src/ProgressBar/ProgressBar.tsx +12 -5
- package/src/RadioList/RadioList.test.tsx +19 -0
- package/src/RadioList/RadioListItem.tsx +9 -4
- package/src/Resizable/ResizeHandle.test.tsx +218 -0
- package/src/Resizable/ResizeHandle.tsx +22 -4
- package/src/SegmentedControl/SegmentedControl.doc.mjs +1 -1
- 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.test.tsx +27 -1
- 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/Switch/Switch.doc.mjs +7 -7
- package/src/Switch/Switch.test.tsx +102 -3
- package/src/Switch/Switch.tsx +20 -7
- package/src/TabList/TabList.test.tsx +185 -1
- package/src/TabList/TabMenu.tsx +45 -9
- package/src/Table/BaseTable.tsx +13 -2
- package/src/Table/Table.doc.mjs +6 -1
- package/src/Table/Table.test.tsx +87 -0
- package/src/Table/TableBody.tsx +15 -2
- 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/groupedRows/index.ts +7 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +231 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +349 -0
- package/src/Table/plugins/pagination/paginateData.ts +5 -1
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +1 -1
- 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/useTableGroupedRows.doc.mjs +71 -0
- package/src/TextArea/TextArea.test.tsx +3 -3
- 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.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/Toast/useToast.test.tsx +258 -0
- package/src/Toast/useToast.tsx +41 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +2 -2
- package/src/Tokenizer/Tokenizer.test.tsx +54 -0
- package/src/Tokenizer/Tokenizer.tsx +5 -4
- package/src/Tooltip/Tooltip.doc.mjs +6 -6
- package/src/Tooltip/useTooltip.doc.mjs +5 -5
- package/src/Tooltip/useTooltip.tsx +12 -2
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +23 -7
- 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 +1 -1
- package/src/Typeahead/Typeahead.test.tsx +45 -1
- package/src/VisuallyHidden/VisuallyHidden.tsx +0 -3
- 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 +9 -1
- 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/useStreamingText.test.ts +54 -19
- package/src/hooks/useStreamingText.ts +16 -5
- package/src/hooks/useTreeFocus.test.tsx +1 -3
- package/src/reset.css +29 -0
- 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/themingTargets.test.ts +353 -0
- package/src/theme/tokens.test.ts +182 -9
- package/src/theme/tokens.ts +239 -4
- package/src/theme/useTheme.test.tsx +126 -2
- package/src/theme/useTheme.ts +87 -6
- 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/Carousel/carousel.markers.stylex.d.ts +0 -7
- package/dist/Carousel/carousel.markers.stylex.d.ts.map +0 -1
- package/dist/Carousel/carousel.markers.stylex.js +0 -12
- package/src/Carousel/carousel.markers.stylex.ts +0 -10
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file AspectRatio.tsx
|
|
3
3
|
* @input Uses React, stylex
|
|
4
|
-
* @output Exports AspectRatio component
|
|
4
|
+
* @output Exports AspectRatio component, AspectRatioProps, AspectRatioShape, AspectRatioFit
|
|
5
5
|
* @position AspectRatio component; maintains a specific aspect ratio for its children
|
|
6
6
|
*
|
|
7
7
|
* SYNC: When modified, update these files to stay in sync:
|
|
8
8
|
* - /packages/core/src/AspectRatio/AspectRatio.doc.mjs
|
|
9
9
|
* - /packages/core/src/AspectRatio/AspectRatio.test.tsx
|
|
10
|
+
* - /packages/core/src/reset.css (AspectRatio fit baseline rules)
|
|
10
11
|
* - /apps/storybook/stories/AspectRatio.stories.tsx
|
|
11
12
|
* - /packages/cli/templates/blocks/components/AspectRatio/ (showcase blocks)
|
|
12
13
|
*/
|
|
@@ -19,6 +20,15 @@ import type { BaseProps } from '../BaseProps';
|
|
|
19
20
|
* this renders a circle at `ratio={1}` and an oval at non-square ratios.
|
|
20
21
|
*/
|
|
21
22
|
export type AspectRatioShape = 'rectangle' | 'ellipse';
|
|
23
|
+
/**
|
|
24
|
+
* How the child is sized and positioned inside the ratio box.
|
|
25
|
+
* - `cover`: the child fills the box; media is cropped to preserve its own
|
|
26
|
+
* aspect ratio (`object-fit: cover`).
|
|
27
|
+
* - `contain`: the child fills the box; media is letterboxed to stay fully
|
|
28
|
+
* visible (`object-fit: contain`).
|
|
29
|
+
* - `center`: the child keeps its natural size and sits centered in the box.
|
|
30
|
+
*/
|
|
31
|
+
export type AspectRatioFit = 'cover' | 'contain' | 'center';
|
|
22
32
|
export interface AspectRatioProps extends BaseProps<HTMLDivElement> {
|
|
23
33
|
/** Ref forwarded to the root element */
|
|
24
34
|
ref?: React.Ref<HTMLDivElement>;
|
|
@@ -30,19 +40,43 @@ export interface AspectRatioProps extends BaseProps<HTMLDivElement> {
|
|
|
30
40
|
* The shape of the container. Both shapes respect the provided `ratio`.
|
|
31
41
|
* - `rectangle` (default): a standard rectangular container.
|
|
32
42
|
* - `ellipse`: clips the container to an ellipse — a circle when `ratio={1}`,
|
|
33
|
-
* or an oval at other ratios. Pair with
|
|
34
|
-
*
|
|
43
|
+
* or an oval at other ratios. Pair with `fit="cover"` so the media fills
|
|
44
|
+
* the clipped container.
|
|
35
45
|
*
|
|
36
46
|
* @default 'rectangle'
|
|
37
47
|
*
|
|
38
48
|
* @example
|
|
39
49
|
* ```
|
|
40
|
-
* <AspectRatio ratio={1} shape="ellipse">
|
|
41
|
-
* <img src="avatar.jpg" alt=""
|
|
50
|
+
* <AspectRatio ratio={1} shape="ellipse" fit="cover">
|
|
51
|
+
* <img src="avatar.jpg" alt="" />
|
|
42
52
|
* </AspectRatio>
|
|
43
53
|
* ```
|
|
44
54
|
*/
|
|
45
55
|
shape?: AspectRatioShape;
|
|
56
|
+
/**
|
|
57
|
+
* How the child is laid out inside the ratio box, so the child does not
|
|
58
|
+
* have to declare `width`/`height`/`objectFit` itself.
|
|
59
|
+
* - `cover`: child fills the box; media is cropped (`object-fit: cover`).
|
|
60
|
+
* - `contain`: child fills the box; media is letterboxed
|
|
61
|
+
* (`object-fit: contain`).
|
|
62
|
+
* - `center`: child keeps its natural size, centered in the box.
|
|
63
|
+
*
|
|
64
|
+
* `cover`/`contain` child sizing ships as zero-specificity baseline rules
|
|
65
|
+
* in `reset.css`, keyed on the `data-astryx-aspect-ratio-override`
|
|
66
|
+
* attribute the component sets on the child's direct parent. Any styles
|
|
67
|
+
* the child sets itself still win, so children that already size
|
|
68
|
+
* themselves keep their behavior. When omitted, the child is left
|
|
69
|
+
* unstyled (the pre-existing contract). `fit` is structural, not visual,
|
|
70
|
+
* so it is not exposed on the theming surface.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```
|
|
74
|
+
* <AspectRatio ratio={16 / 9} fit="cover">
|
|
75
|
+
* <img src="image.jpg" alt="Widescreen image" />
|
|
76
|
+
* </AspectRatio>
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
fit?: AspectRatioFit;
|
|
46
80
|
/**
|
|
47
81
|
* Content to render inside the aspect ratio container.
|
|
48
82
|
* The child element will be positioned absolutely to fill the container.
|
|
@@ -56,25 +90,29 @@ export interface AspectRatioProps extends BaseProps<HTMLDivElement> {
|
|
|
56
90
|
* is positioned absolutely to fill the container, which is useful for images,
|
|
57
91
|
* videos, embeds, and placeholders.
|
|
58
92
|
*
|
|
93
|
+
* Use `fit` to let the component size the child: `cover`/`contain` stretch
|
|
94
|
+
* the child to fill the box (cropping or letterboxing media), `center` keeps
|
|
95
|
+
* the child at its natural size. Without `fit`, the child styles itself.
|
|
96
|
+
*
|
|
59
97
|
* Use `shape="ellipse"` to clip the container into an ellipse — a circle at
|
|
60
98
|
* `ratio={1}` or an oval at other ratios. Both shapes respect the provided
|
|
61
99
|
* `ratio`.
|
|
62
100
|
*
|
|
63
101
|
* @example
|
|
64
102
|
* ```
|
|
65
|
-
* <AspectRatio ratio={16 / 9}>
|
|
66
|
-
* <img src="image.jpg" alt="Widescreen image"
|
|
103
|
+
* <AspectRatio ratio={16 / 9} fit="cover">
|
|
104
|
+
* <img src="image.jpg" alt="Widescreen image" />
|
|
67
105
|
* </AspectRatio>
|
|
68
106
|
* ```
|
|
69
107
|
*
|
|
70
108
|
* @example
|
|
71
109
|
* ```
|
|
72
|
-
* <AspectRatio ratio={1} shape="ellipse">
|
|
73
|
-
* <img src="avatar.jpg" alt=""
|
|
110
|
+
* <AspectRatio ratio={1} shape="ellipse" fit="cover">
|
|
111
|
+
* <img src="avatar.jpg" alt="" />
|
|
74
112
|
* </AspectRatio>
|
|
75
113
|
* ```
|
|
76
114
|
*/
|
|
77
|
-
export declare function AspectRatio({ ratio, shape, children, xstyle, className, style, ref, ...props }: AspectRatioProps): import("react").JSX.Element;
|
|
115
|
+
export declare function AspectRatio({ ratio, shape, fit, children, xstyle, className, style, ref, ...props }: AspectRatioProps): import("react").JSX.Element;
|
|
78
116
|
export declare namespace AspectRatio {
|
|
79
117
|
var displayName: string;
|
|
80
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AspectRatio.d.ts","sourceRoot":"","sources":["../../src/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"AspectRatio.d.ts","sourceRoot":"","sources":["../../src/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAErC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IAErB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAmB,EACnB,GAAG,EACH,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,gBAAgB,+BA2BlB;yBArCe,WAAW"}
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file AspectRatio.tsx
|
|
7
7
|
* @input Uses React, stylex
|
|
8
|
-
* @output Exports AspectRatio component
|
|
8
|
+
* @output Exports AspectRatio component, AspectRatioProps, AspectRatioShape, AspectRatioFit
|
|
9
9
|
* @position AspectRatio component; maintains a specific aspect ratio for its children
|
|
10
10
|
*
|
|
11
11
|
* SYNC: When modified, update these files to stay in sync:
|
|
12
12
|
* - /packages/core/src/AspectRatio/AspectRatio.doc.mjs
|
|
13
13
|
* - /packages/core/src/AspectRatio/AspectRatio.test.tsx
|
|
14
|
+
* - /packages/core/src/reset.css (AspectRatio fit baseline rules)
|
|
14
15
|
* - /apps/storybook/stories/AspectRatio.stories.tsx
|
|
15
16
|
* - /packages/cli/templates/blocks/components/AspectRatio/ (showcase blocks)
|
|
16
17
|
*/
|
|
@@ -24,7 +25,16 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
24
25
|
* - `ellipse`: clips the container to an ellipse. Combined with the `ratio`,
|
|
25
26
|
* this renders a circle at `ratio={1}` and an oval at non-square ratios.
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* How the child is sized and positioned inside the ratio box.
|
|
31
|
+
* - `cover`: the child fills the box; media is cropped to preserve its own
|
|
32
|
+
* aspect ratio (`object-fit: cover`).
|
|
33
|
+
* - `contain`: the child fills the box; media is letterboxed to stay fully
|
|
34
|
+
* visible (`object-fit: contain`).
|
|
35
|
+
* - `center`: the child keeps its natural size and sits centered in the box.
|
|
36
|
+
*/
|
|
37
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
28
38
|
const styles = {
|
|
29
39
|
container: {
|
|
30
40
|
kVAEAm: "x1n2onr6",
|
|
@@ -47,27 +57,32 @@ const styles = {
|
|
|
47
57
|
* is positioned absolutely to fill the container, which is useful for images,
|
|
48
58
|
* videos, embeds, and placeholders.
|
|
49
59
|
*
|
|
60
|
+
* Use `fit` to let the component size the child: `cover`/`contain` stretch
|
|
61
|
+
* the child to fill the box (cropping or letterboxing media), `center` keeps
|
|
62
|
+
* the child at its natural size. Without `fit`, the child styles itself.
|
|
63
|
+
*
|
|
50
64
|
* Use `shape="ellipse"` to clip the container into an ellipse — a circle at
|
|
51
65
|
* `ratio={1}` or an oval at other ratios. Both shapes respect the provided
|
|
52
66
|
* `ratio`.
|
|
53
67
|
*
|
|
54
68
|
* @example
|
|
55
69
|
* ```
|
|
56
|
-
* <AspectRatio ratio={16 / 9}>
|
|
57
|
-
* <img src="image.jpg" alt="Widescreen image"
|
|
70
|
+
* <AspectRatio ratio={16 / 9} fit="cover">
|
|
71
|
+
* <img src="image.jpg" alt="Widescreen image" />
|
|
58
72
|
* </AspectRatio>
|
|
59
73
|
* ```
|
|
60
74
|
*
|
|
61
75
|
* @example
|
|
62
76
|
* ```
|
|
63
|
-
* <AspectRatio ratio={1} shape="ellipse">
|
|
64
|
-
* <img src="avatar.jpg" alt=""
|
|
77
|
+
* <AspectRatio ratio={1} shape="ellipse" fit="cover">
|
|
78
|
+
* <img src="avatar.jpg" alt="" />
|
|
65
79
|
* </AspectRatio>
|
|
66
80
|
* ```
|
|
67
81
|
*/
|
|
68
82
|
export function AspectRatio({
|
|
69
83
|
ratio,
|
|
70
84
|
shape = 'rectangle',
|
|
85
|
+
fit,
|
|
71
86
|
children,
|
|
72
87
|
xstyle,
|
|
73
88
|
className,
|
|
@@ -75,7 +90,7 @@ export function AspectRatio({
|
|
|
75
90
|
ref,
|
|
76
91
|
...props
|
|
77
92
|
}) {
|
|
78
|
-
return /*#__PURE__*/
|
|
93
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
79
94
|
ref: ref,
|
|
80
95
|
...mergeProps(themeProps('aspect-ratio', {
|
|
81
96
|
shape
|
|
@@ -84,12 +99,18 @@ export function AspectRatio({
|
|
|
84
99
|
aspectRatio: ratio
|
|
85
100
|
}),
|
|
86
101
|
...props,
|
|
87
|
-
children: /*#__PURE__*/
|
|
102
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
103
|
+
"data-astryx-aspect-ratio-override": fit,
|
|
88
104
|
...{
|
|
89
|
-
|
|
90
|
-
|
|
105
|
+
0: {
|
|
106
|
+
className: "x10l6tqk x13vifvy x1o0tod xh8yej3 x5yr21d"
|
|
107
|
+
},
|
|
108
|
+
1: {
|
|
109
|
+
className: "x10l6tqk x13vifvy x1o0tod xh8yej3 x5yr21d x78zum5 x6s0dn4 xl56j7k"
|
|
110
|
+
}
|
|
111
|
+
}[!!(fit === 'center') << 0],
|
|
91
112
|
children: children
|
|
92
|
-
})
|
|
93
|
-
});
|
|
113
|
+
}, void 0, false)
|
|
114
|
+
}, void 0, false);
|
|
94
115
|
}
|
|
95
116
|
AspectRatio.displayName = 'AspectRatio';
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
* SYNC: When modified, update /packages/core/src/AspectRatio/AspectRatio.doc.mjs
|
|
8
8
|
*/
|
|
9
9
|
export { AspectRatio } from './AspectRatio';
|
|
10
|
-
export type { AspectRatioProps, AspectRatioShape } from './AspectRatio';
|
|
10
|
+
export type { AspectRatioProps, AspectRatioShape, AspectRatioFit, } from './AspectRatio';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AspectRatio/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AspectRatio/index.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsC5C;;GAEG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExE;;GAEG;AACH,KAAK,iBAAiB,GACpB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAgBpD;AAqFD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAsCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,WAAW,EACX,IAAI,EACJ,IAAc,EACd,GAAG,EACH,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,+BAwFb;yBArGe,MAAM"}
|
package/dist/Avatar/Avatar.js
CHANGED
|
@@ -35,7 +35,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
35
35
|
*
|
|
36
36
|
* This constant represents that ratio: (1 - 1/√2) / 2 ≈ 0.146
|
|
37
37
|
*/
|
|
38
|
-
import {
|
|
38
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
39
39
|
const CIRCLE_EDGE_OFFSET_RATIO = (1 - 1 / Math.SQRT2) / 2;
|
|
40
40
|
|
|
41
41
|
/**
|
|
@@ -202,16 +202,16 @@ function getInitials(name) {
|
|
|
202
202
|
function DefaultIcon({
|
|
203
203
|
size
|
|
204
204
|
}) {
|
|
205
|
-
return /*#__PURE__*/
|
|
205
|
+
return /*#__PURE__*/_jsxDEV("svg", {
|
|
206
206
|
width: size * 0.6,
|
|
207
207
|
height: size * 0.6,
|
|
208
208
|
viewBox: "0 0 24 24",
|
|
209
209
|
fill: "currentColor",
|
|
210
210
|
"aria-hidden": "true",
|
|
211
|
-
children: /*#__PURE__*/
|
|
211
|
+
children: /*#__PURE__*/_jsxDEV("path", {
|
|
212
212
|
d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
|
|
213
|
-
})
|
|
214
|
-
});
|
|
213
|
+
}, void 0, false)
|
|
214
|
+
}, void 0, false);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
/**
|
|
@@ -241,10 +241,12 @@ export function Avatar({
|
|
|
241
241
|
ref,
|
|
242
242
|
...props
|
|
243
243
|
}) {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const
|
|
247
|
-
const
|
|
244
|
+
// Track the exact src that failed (rather than a boolean) so a changed
|
|
245
|
+
// src/fallbackSrc gets a fresh load attempt instead of the stale error.
|
|
246
|
+
const [erroredSrc, setErroredSrc] = useState(undefined);
|
|
247
|
+
const [erroredFallbackSrc, setErroredFallbackSrc] = useState(undefined);
|
|
248
|
+
const showImage = src && erroredSrc !== src;
|
|
249
|
+
const showFallbackImage = !showImage && fallbackSrc && erroredFallbackSrc !== fallbackSrc;
|
|
248
250
|
const showInitials = !showImage && !showFallbackImage && name;
|
|
249
251
|
const showIcon = !showImage && !showFallbackImage && !name;
|
|
250
252
|
|
|
@@ -256,9 +258,10 @@ export function Avatar({
|
|
|
256
258
|
const avatarGroup = useAvatarGroup();
|
|
257
259
|
const resolvedSize = avatarGroup?.size ?? size;
|
|
258
260
|
const numericSize = useMemo(() => resolveSize(resolvedSize), [resolvedSize]);
|
|
259
|
-
return /*#__PURE__*/
|
|
261
|
+
return /*#__PURE__*/_jsxDEV(AvatarSizeContext, {
|
|
260
262
|
value: numericSize,
|
|
261
|
-
children: /*#__PURE__*/
|
|
263
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
264
|
+
...props,
|
|
262
265
|
ref: ref,
|
|
263
266
|
role: isDecorative ? 'presentation' : 'img',
|
|
264
267
|
"aria-label": isDecorative ? undefined : accessibleName,
|
|
@@ -267,39 +270,38 @@ export function Avatar({
|
|
|
267
270
|
...mergeProps(themeProps('avatar', {
|
|
268
271
|
size: resolvedSize
|
|
269
272
|
}), stylex.props(styles.wrapper, avatarGroup && groupStyles.ring, avatarGroup && groupStyles.overlap, avatarGroup && groupDynamicStyles.overlap(-avatarGroup.overlap), xstyle), className, style),
|
|
270
|
-
|
|
271
|
-
children: [/*#__PURE__*/_jsxs("div", {
|
|
273
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
272
274
|
...stylex.props(styles.content, dynamicStyles.size(numericSize)),
|
|
273
|
-
children: [showImage && /*#__PURE__*/
|
|
275
|
+
children: [showImage && /*#__PURE__*/_jsxDEV("img", {
|
|
274
276
|
src: src,
|
|
275
277
|
alt: "",
|
|
276
|
-
onError: () =>
|
|
278
|
+
onError: () => setErroredSrc(src),
|
|
277
279
|
...{
|
|
278
280
|
className: "xh8yej3 x5yr21d xl1xv1r"
|
|
279
281
|
}
|
|
280
|
-
}), showFallbackImage && /*#__PURE__*/
|
|
282
|
+
}, void 0, false), showFallbackImage && /*#__PURE__*/_jsxDEV("img", {
|
|
281
283
|
src: fallbackSrc,
|
|
282
284
|
alt: "",
|
|
283
|
-
onError: () =>
|
|
285
|
+
onError: () => setErroredFallbackSrc(fallbackSrc),
|
|
284
286
|
...{
|
|
285
287
|
className: "xh8yej3 x5yr21d xl1xv1r"
|
|
286
288
|
}
|
|
287
|
-
}), showInitials && /*#__PURE__*/
|
|
289
|
+
}, void 0, false), showInitials && /*#__PURE__*/_jsxDEV("div", {
|
|
288
290
|
...stylex.props(styles.fallback, dynamicStyles.fontSize(numericSize)),
|
|
289
291
|
children: getInitials(name)
|
|
290
|
-
}), showIcon && /*#__PURE__*/
|
|
292
|
+
}, void 0, false), showIcon && /*#__PURE__*/_jsxDEV("div", {
|
|
291
293
|
...{
|
|
292
294
|
className: "x78zum5 x6s0dn4 xl56j7k xh8yej3 x5yr21d x17x4s8c xv1l7n4 x9ynric x1e4wzip xtvhhri"
|
|
293
295
|
},
|
|
294
|
-
children: /*#__PURE__*/
|
|
296
|
+
children: /*#__PURE__*/_jsxDEV(DefaultIcon, {
|
|
295
297
|
size: numericSize
|
|
296
|
-
})
|
|
297
|
-
})]
|
|
298
|
-
}), status && /*#__PURE__*/
|
|
298
|
+
}, void 0, false)
|
|
299
|
+
}, void 0, false)]
|
|
300
|
+
}, void 0, true), status && /*#__PURE__*/_jsxDEV("div", {
|
|
299
301
|
...stylex.props(styles.status, dynamicStyles.statusPosition(numericSize)),
|
|
300
302
|
children: status
|
|
301
|
-
})]
|
|
302
|
-
})
|
|
303
|
-
});
|
|
303
|
+
}, void 0, false)]
|
|
304
|
+
}, void 0, true)
|
|
305
|
+
}, void 0, false);
|
|
304
306
|
}
|
|
305
307
|
Avatar.displayName = 'Avatar';
|
|
@@ -38,7 +38,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
38
38
|
* Icons are not rendered at the smallest tier — there isn't enough
|
|
39
39
|
* room for them to be legible.
|
|
40
40
|
*/
|
|
41
|
-
import {
|
|
41
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
42
42
|
function resolveStatusDotSize(avatarSize) {
|
|
43
43
|
if (avatarSize <= 36) {
|
|
44
44
|
return {
|
|
@@ -174,7 +174,8 @@ export function AvatarStatusDot({
|
|
|
174
174
|
borderWidth,
|
|
175
175
|
iconSize
|
|
176
176
|
} = resolveStatusDotSize(avatarSize);
|
|
177
|
-
return /*#__PURE__*/
|
|
177
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
178
|
+
...props,
|
|
178
179
|
ref: ref,
|
|
179
180
|
...(label ? {
|
|
180
181
|
role: 'img',
|
|
@@ -183,12 +184,11 @@ export function AvatarStatusDot({
|
|
|
183
184
|
...mergeProps(themeProps('avatar-status-dot', {
|
|
184
185
|
variant
|
|
185
186
|
}), stylex.props(styles.dot, variantStyleMap[variant], dynamicStyles.size(dotSize, borderWidth), xstyle), className, style),
|
|
186
|
-
|
|
187
|
-
children: icon && iconSize > 0 && /*#__PURE__*/_jsx("span", {
|
|
187
|
+
children: icon && iconSize > 0 && /*#__PURE__*/_jsxDEV("span", {
|
|
188
188
|
"aria-hidden": "true",
|
|
189
189
|
...stylex.props(styles.icon, dynamicStyles.iconSize(iconSize)),
|
|
190
190
|
children: icon
|
|
191
|
-
})
|
|
192
|
-
});
|
|
191
|
+
}, void 0, false)
|
|
192
|
+
}, void 0, false);
|
|
193
193
|
}
|
|
194
194
|
AvatarStatusDot.displayName = 'AvatarStatusDot';
|
|
@@ -23,7 +23,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
23
23
|
import { mergeProps } from "../utils/index.js";
|
|
24
24
|
import { AvatarGroupContext } from "./AvatarGroupContext.js";
|
|
25
25
|
import { themeProps } from "../utils/themeProps.js";
|
|
26
|
-
import {
|
|
26
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
27
27
|
const OVERLAP_RATIO = 0.25;
|
|
28
28
|
const styles = {
|
|
29
29
|
root: {
|
|
@@ -69,9 +69,10 @@ export function AvatarGroup({
|
|
|
69
69
|
overlap,
|
|
70
70
|
numericSize
|
|
71
71
|
}), [size, overlap, numericSize]);
|
|
72
|
-
return /*#__PURE__*/
|
|
72
|
+
return /*#__PURE__*/_jsxDEV(AvatarGroupContext, {
|
|
73
73
|
value: contextValue,
|
|
74
|
-
children: /*#__PURE__*/
|
|
74
|
+
children: /*#__PURE__*/_jsxDEV("div", {
|
|
75
|
+
...props,
|
|
75
76
|
ref: ref,
|
|
76
77
|
role: "group",
|
|
77
78
|
"aria-label": ariaLabel,
|
|
@@ -79,9 +80,8 @@ export function AvatarGroup({
|
|
|
79
80
|
...mergeProps(themeProps('avatar-group', {
|
|
80
81
|
size
|
|
81
82
|
}), stylex.props(styles.root, xstyle), className, style),
|
|
82
|
-
...props,
|
|
83
83
|
children: children
|
|
84
|
-
})
|
|
85
|
-
});
|
|
84
|
+
}, void 0, false)
|
|
85
|
+
}, void 0, false);
|
|
86
86
|
}
|
|
87
87
|
AvatarGroup.displayName = 'AvatarGroup';
|
|
@@ -19,7 +19,7 @@ import { colorVars, typographyVars, fontWeightVars, radiusVars } from "../theme/
|
|
|
19
19
|
import { mergeProps } from "../utils/index.js";
|
|
20
20
|
import { useAvatarGroup } from "./AvatarGroupContext.js";
|
|
21
21
|
import { themeProps } from "../utils/themeProps.js";
|
|
22
|
-
import {
|
|
22
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
23
23
|
const BORDER_WIDTH = 2;
|
|
24
24
|
const OVERFLOW_FONT_RATIO = 0.35;
|
|
25
25
|
const styles = {
|
|
@@ -109,22 +109,22 @@ export function AvatarGroupOverflow({
|
|
|
109
109
|
const label = `${count} more`;
|
|
110
110
|
const content = children ?? `+${count}`;
|
|
111
111
|
if (onClick) {
|
|
112
|
-
return /*#__PURE__*/
|
|
112
|
+
return /*#__PURE__*/_jsxDEV("button", {
|
|
113
113
|
ref: ref,
|
|
114
114
|
type: "button",
|
|
115
115
|
onClick: onClick,
|
|
116
|
-
"aria-label": label,
|
|
117
116
|
...rest,
|
|
117
|
+
"aria-label": label,
|
|
118
118
|
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.button, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
119
119
|
children: content
|
|
120
|
-
});
|
|
120
|
+
}, void 0, false);
|
|
121
121
|
}
|
|
122
|
-
return /*#__PURE__*/
|
|
122
|
+
return /*#__PURE__*/_jsxDEV("span", {
|
|
123
123
|
ref: ref,
|
|
124
|
-
"aria-label": label,
|
|
125
124
|
...rest,
|
|
125
|
+
"aria-label": label,
|
|
126
126
|
...mergeProps(themeProps('avatar-group-overflow'), stylex.props(styles.base, styles.overlap, dynamicStyles.size(numericSize), dynamicStyles.fontSize(numericSize), dynamicStyles.overlap(-overlap), xstyle), className, style),
|
|
127
127
|
children: content
|
|
128
|
-
});
|
|
128
|
+
}, void 0, false);
|
|
129
129
|
}
|
|
130
130
|
AvatarGroupOverflow.displayName = 'AvatarGroupOverflow';
|
package/dist/Badge/Badge.js
CHANGED
|
@@ -24,7 +24,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
24
24
|
/**
|
|
25
25
|
* Base badge styles
|
|
26
26
|
*/
|
|
27
|
-
import {
|
|
27
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
28
28
|
const styles = {
|
|
29
29
|
base: {
|
|
30
30
|
k1xSpc: "x3nfvp2",
|
|
@@ -164,13 +164,13 @@ export function Badge({
|
|
|
164
164
|
ref,
|
|
165
165
|
...props
|
|
166
166
|
}) {
|
|
167
|
-
return /*#__PURE__*/
|
|
167
|
+
return /*#__PURE__*/_jsxDEV("span", {
|
|
168
168
|
ref: ref,
|
|
169
169
|
...mergeProps(themeProps('badge', {
|
|
170
170
|
variant
|
|
171
171
|
}), stylex.props(styles.base, variants[variant], xstyle), className, style),
|
|
172
172
|
...props,
|
|
173
173
|
children: [icon, label]
|
|
174
|
-
});
|
|
174
|
+
}, void 0, true);
|
|
175
175
|
}
|
|
176
176
|
Badge.displayName = 'Badge';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/Banner/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAsB5C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,cAAc,CAAC;IAC5D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2JD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAqB,EACrB,SAAS,EACT,UAAU,EACV,SAAkB,EAClB,iBAAyB,EACzB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,sCAiIb;yBAjJe,MAAM"}
|
package/dist/Banner/Banner.js
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* - /apps/storybook/stories/Banner.stories.tsx (storybook stories)
|
|
31
31
|
* - /packages/cli/templates/blocks/components/Banner/ (showcase blocks)
|
|
32
32
|
*/
|
|
33
|
-
import { useState } from 'react';
|
|
33
|
+
import { useId, useState } from 'react';
|
|
34
34
|
import * as stylex from '@stylexjs/stylex';
|
|
35
35
|
import { Button } from "../Button/index.js";
|
|
36
36
|
import { Icon } from "../Icon/index.js";
|
|
@@ -84,7 +84,7 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
84
84
|
*
|
|
85
85
|
* Extensible via module augmentation of BannerContainerMap.
|
|
86
86
|
*/
|
|
87
|
-
import {
|
|
87
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
88
88
|
// =============================================================================
|
|
89
89
|
// Status → Icon mapping
|
|
90
90
|
// =============================================================================
|
|
@@ -249,6 +249,11 @@ export function Banner({
|
|
|
249
249
|
}) {
|
|
250
250
|
const [isDismissed, setIsDismissed] = useState(false);
|
|
251
251
|
const [isExpanded, setIsExpanded] = useState(defaultIsExpanded);
|
|
252
|
+
// Links the expand/collapse toggle to the content region it shows/hides so
|
|
253
|
+
// assistive tech can move from the button to its controlled content
|
|
254
|
+
// (disclosure pattern). The region is conditionally rendered, so aria-controls
|
|
255
|
+
// below is set only while it's mounted to avoid a dangling reference.
|
|
256
|
+
const contentId = useId();
|
|
252
257
|
const defaultIconName = defaultIconNames[status];
|
|
253
258
|
const role = statusRole[status];
|
|
254
259
|
const iconColor = statusIconColor[status];
|
|
@@ -272,51 +277,51 @@ export function Banner({
|
|
|
272
277
|
const isSingleLine = description == null && hasActions;
|
|
273
278
|
const showContent = hasChildren && isExpanded;
|
|
274
279
|
const isCard = container === 'card';
|
|
275
|
-
return /*#__PURE__*/
|
|
280
|
+
return /*#__PURE__*/_jsxDEV("div", {
|
|
276
281
|
ref: ref,
|
|
277
282
|
role: role,
|
|
278
283
|
...mergeProps(stylex.props(styles.root, xstyle), className, style),
|
|
279
284
|
...rest,
|
|
280
|
-
children: [/*#__PURE__*/
|
|
285
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
281
286
|
...mergeProps(themeProps('banner', {
|
|
282
287
|
container,
|
|
283
288
|
status
|
|
284
289
|
}), stylex.props(styles.header, isSingleLine && styles.headerCentered, statusStyles[status], isCard && (showContent ? styles.headerCardWithContent : styles.headerCardStandalone))),
|
|
285
|
-
children: [/*#__PURE__*/
|
|
290
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
286
291
|
...mergeProps(themeProps('banner-icon', {
|
|
287
292
|
status
|
|
288
293
|
}), {
|
|
289
294
|
className: "x78zum5 x6s0dn4 x2lah0s"
|
|
290
295
|
}),
|
|
291
296
|
"aria-hidden": "true",
|
|
292
|
-
children: icon != null ? icon : /*#__PURE__*/
|
|
297
|
+
children: icon != null ? icon : /*#__PURE__*/_jsxDEV(Icon, {
|
|
293
298
|
icon: defaultIconName,
|
|
294
299
|
size: "md",
|
|
295
300
|
color: iconColor
|
|
296
|
-
})
|
|
297
|
-
}), /*#__PURE__*/
|
|
301
|
+
}, void 0, false)
|
|
302
|
+
}, void 0, false), /*#__PURE__*/_jsxDEV("div", {
|
|
298
303
|
...{
|
|
299
304
|
className: "x78zum5 xdt5ytf xxhr3t x98rzlu xeuugli"
|
|
300
305
|
},
|
|
301
|
-
children: [/*#__PURE__*/
|
|
306
|
+
children: [/*#__PURE__*/_jsxDEV("div", {
|
|
302
307
|
...{
|
|
303
308
|
className: "x1ghz6dp xjb2p0i xcr08ib x2mo6ok x1kq96og x1tgivj0"
|
|
304
309
|
},
|
|
305
310
|
children: title
|
|
306
|
-
}), description != null && /*#__PURE__*/
|
|
311
|
+
}, void 0, false), description != null && /*#__PURE__*/_jsxDEV("div", {
|
|
307
312
|
...{
|
|
308
313
|
className: "x1ghz6dp xjb2p0i x141an7d x1sodnla x1ltkj2j xv1l7n4"
|
|
309
314
|
},
|
|
310
315
|
children: description
|
|
311
|
-
})]
|
|
312
|
-
}), showEndArea && /*#__PURE__*/
|
|
316
|
+
}, void 0, false)]
|
|
317
|
+
}, void 0, true), showEndArea && /*#__PURE__*/_jsxDEV("div", {
|
|
313
318
|
...stylex.props(styles.endArea, edgeCompSlot.inset(spacingVars['--spacing-2'])),
|
|
314
|
-
children: [endContent, hasChildren && /*#__PURE__*/
|
|
319
|
+
children: [endContent, hasChildren && /*#__PURE__*/_jsxDEV(Button, {
|
|
315
320
|
variant: "ghost",
|
|
316
321
|
size: "sm",
|
|
317
322
|
label: isExpanded ? 'Collapse' : 'Expand',
|
|
318
323
|
tooltip: isExpanded ? 'Collapse' : 'Expand',
|
|
319
|
-
icon: /*#__PURE__*/
|
|
324
|
+
icon: /*#__PURE__*/_jsxDEV("span", {
|
|
320
325
|
...{
|
|
321
326
|
0: {
|
|
322
327
|
className: "x3nfvp2 x11xpdln xuedmi6 xlr8y92"
|
|
@@ -325,30 +330,32 @@ export function Banner({
|
|
|
325
330
|
className: "x3nfvp2 x11xpdln xuedmi6 xlr8y92 x19jd1h0"
|
|
326
331
|
}
|
|
327
332
|
}[!!isExpanded << 0],
|
|
328
|
-
children: /*#__PURE__*/
|
|
333
|
+
children: /*#__PURE__*/_jsxDEV(Icon, {
|
|
329
334
|
icon: "chevronDown",
|
|
330
335
|
size: "sm",
|
|
331
336
|
color: "inherit"
|
|
332
|
-
})
|
|
333
|
-
}),
|
|
337
|
+
}, void 0, false)
|
|
338
|
+
}, void 0, false),
|
|
334
339
|
onClick: handleToggleExpand,
|
|
335
340
|
"aria-expanded": isExpanded,
|
|
341
|
+
"aria-controls": showContent ? contentId : undefined,
|
|
336
342
|
isIconOnly: true
|
|
337
|
-
}), isDismissable && /*#__PURE__*/
|
|
343
|
+
}, void 0, false), isDismissable && /*#__PURE__*/_jsxDEV(Button, {
|
|
338
344
|
variant: "ghost",
|
|
339
345
|
size: "sm",
|
|
340
346
|
label: "Dismiss",
|
|
341
347
|
tooltip: "Dismiss",
|
|
342
|
-
icon: /*#__PURE__*/
|
|
348
|
+
icon: /*#__PURE__*/_jsxDEV(Icon, {
|
|
343
349
|
icon: "close",
|
|
344
350
|
size: "sm",
|
|
345
351
|
color: "inherit"
|
|
346
|
-
}),
|
|
352
|
+
}, void 0, false),
|
|
347
353
|
onClick: handleDismiss,
|
|
348
354
|
isIconOnly: true
|
|
349
|
-
})]
|
|
350
|
-
})]
|
|
351
|
-
}), showContent && /*#__PURE__*/
|
|
355
|
+
}, void 0, false)]
|
|
356
|
+
}, void 0, true)]
|
|
357
|
+
}, void 0, true), showContent && /*#__PURE__*/_jsxDEV("div", {
|
|
358
|
+
id: contentId,
|
|
352
359
|
...mergeProps(themeProps('banner-content', {
|
|
353
360
|
container,
|
|
354
361
|
status
|
|
@@ -361,7 +368,7 @@ export function Banner({
|
|
|
361
368
|
}
|
|
362
369
|
}[!!isCard << 0]),
|
|
363
370
|
children: children
|
|
364
|
-
})]
|
|
365
|
-
});
|
|
371
|
+
}, void 0, false)]
|
|
372
|
+
}, void 0, true);
|
|
366
373
|
}
|
|
367
374
|
Banner.displayName = 'Banner';
|