@astryxdesign/core 0.4.7 → 0.5.0-canary.54bb922
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 +161 -1
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +3 -2
- package/dist/AspectRatio/AspectRatio.d.ts +24 -0
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +23 -4
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +15 -10
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +3 -2
- package/dist/Banner/Banner.d.ts +40 -15
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +51 -18
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +17 -4
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +3 -2
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +11 -10
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +5 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts +5 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +26 -7
- package/dist/Calendar/Calendar.d.ts +3 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +13 -14
- package/dist/Calendar/getInitialFocusDate.d.ts +46 -0
- package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -0
- package/dist/Calendar/getInitialFocusDate.js +62 -0
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +3 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +2 -3
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +3 -3
- package/dist/Chat/ChatMessageList.d.ts +22 -3
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +6 -3
- package/dist/Chat/ChatTokenizedText.d.ts +2 -0
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +11 -6
- package/dist/Chat/useChatComposerTokens.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +3 -2
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +3 -3
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +3 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +3 -2
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +4 -3
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +3 -2
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +38 -4
- package/dist/DateTimeInput/DateTimeInput.d.ts +21 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +406 -12
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.d.ts +7 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +89 -58
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +6 -5
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +3 -2
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +6 -2
- package/dist/HoverCard/HoverCard.d.ts +6 -0
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.d.ts +5 -0
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +67 -25
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +4 -2
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +2 -19
- package/dist/Layer/LayerDepthContext.d.ts +52 -0
- package/dist/Layer/LayerDepthContext.d.ts.map +1 -0
- package/dist/Layer/LayerDepthContext.js +66 -0
- package/dist/Layer/index.d.ts +3 -0
- package/dist/Layer/index.d.ts.map +1 -1
- package/dist/Layer/index.js +4 -0
- package/dist/Layer/layerStack.d.ts +98 -0
- package/dist/Layer/layerStack.d.ts.map +1 -0
- package/dist/Layer/layerStack.js +306 -0
- package/dist/Layer/useLayerDismissal.d.ts +93 -0
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -0
- package/dist/Layer/useLayerDismissal.js +91 -0
- package/dist/Lightbox/Lightbox.d.ts +1 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +103 -81
- package/dist/Markdown/index.d.ts +1 -1
- package/dist/Markdown/index.d.ts.map +1 -1
- package/dist/Markdown/parser.d.ts +38 -1
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +177 -29
- package/dist/MobileNav/MobileNav.d.ts +6 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +61 -36
- package/dist/MultiSelector/MultiSelector.d.ts +15 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +17 -6
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +3 -2
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +3 -2
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -2
- package/dist/Overlay/Overlay.d.ts.map +1 -1
- package/dist/Overlay/Overlay.js +3 -2
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +20 -17
- package/dist/PowerSearch/PowerSearch.d.ts +8 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +19 -6
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +28 -6
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +19 -9
- package/dist/PowerSearch/types.d.ts +2 -0
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts +6 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.js +14 -5
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +3 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +3 -2
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +3 -3
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +5 -0
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +4 -3
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +6 -5
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +4 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +3 -3
- package/dist/Spinner/Spinner.d.ts +3 -3
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +130 -78
- package/dist/Stepper/Step.d.ts +140 -0
- package/dist/Stepper/Step.d.ts.map +1 -0
- package/dist/Stepper/Step.js +1045 -0
- package/dist/Stepper/StepStatus.d.ts +24 -0
- package/dist/Stepper/StepStatus.d.ts.map +1 -0
- package/dist/Stepper/StepStatus.js +1 -0
- package/dist/Stepper/Stepper.d.ts +93 -0
- package/dist/Stepper/Stepper.d.ts.map +1 -0
- package/dist/Stepper/Stepper.js +184 -0
- package/dist/Stepper/StepperContext.d.ts +41 -0
- package/dist/Stepper/StepperContext.d.ts.map +1 -0
- package/dist/Stepper/StepperContext.js +34 -0
- package/dist/Stepper/index.d.ts +8 -0
- package/dist/Stepper/index.d.ts.map +1 -0
- package/dist/Stepper/index.js +7 -0
- package/dist/Stepper/stepper.stylex.d.ts +15 -0
- package/dist/Stepper/stepper.stylex.d.ts.map +1 -0
- package/dist/Stepper/stepper.stylex.js +20 -0
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +3 -2
- package/dist/TabList/Tab.d.ts +15 -2
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +32 -7
- package/dist/TabList/TabList.d.ts +46 -7
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +353 -23
- package/dist/TabList/TabListContext.d.ts +11 -1
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +11 -2
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +3 -2
- package/dist/TabList/index.d.ts +2 -2
- package/dist/TabList/index.d.ts.map +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +4 -1
- package/dist/Table/TableRow.d.ts +16 -5
- package/dist/Table/TableRow.d.ts.map +1 -1
- package/dist/Table/TableRow.js +16 -5
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +20 -8
- package/dist/Table/plugins/pagination/useTablePagination.d.ts +3 -0
- package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +21 -4
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +7 -2
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -1
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +10 -3
- package/dist/Table/plugins/selection/useTableSelection.d.ts +16 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +19 -5
- package/dist/Table/types.d.ts +22 -4
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +5 -0
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +6 -2
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +3 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +3 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +3 -2
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +5 -3
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +2 -2
- package/dist/Tokenizer/Tokenizer.d.ts +3 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +2 -0
- package/dist/Tooltip/Tooltip.d.ts +5 -0
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.d.ts +5 -0
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +39 -24
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +3 -2
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +3 -3
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +4 -3
- package/dist/Typeahead/BaseTypeahead.d.ts +2 -0
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +68 -29
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +3 -2
- package/dist/astryx.css +68 -2
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +7 -4
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +60 -95
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -18
- package/dist/hooks/useMergedRefs.d.ts +18 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +25 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/utils/groupItems.d.ts +5 -1
- package/dist/utils/groupItems.d.ts.map +1 -1
- package/dist/utils/groupItems.js +9 -9
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/isApplePlatform.d.ts +18 -0
- package/dist/utils/isApplePlatform.d.ts.map +1 -0
- package/dist/utils/isApplePlatform.js +37 -0
- package/dist/utils/sharedResizeObserver.d.ts.map +1 -1
- package/dist/utils/sharedResizeObserver.js +10 -1
- package/dist/utils/timeParser.d.ts +1 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +26 -12
- package/locales/en.json +31 -7
- package/locales/pseudo.json +18 -0
- package/package.json +8 -3
- package/src/AppShell/AppShell.tsx +3 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +6 -3
- package/src/AspectRatio/AspectRatio.test.tsx +57 -10
- package/src/AspectRatio/AspectRatio.tsx +40 -1
- package/src/Avatar/Avatar.doc.mjs +2 -1
- package/src/Avatar/Avatar.test.tsx +17 -0
- package/src/Avatar/Avatar.tsx +61 -38
- package/src/AvatarGroup/AvatarGroup.tsx +3 -2
- package/src/Banner/Banner.doc.mjs +13 -11
- package/src/Banner/Banner.test.tsx +102 -15
- package/src/Banner/Banner.tsx +72 -25
- package/src/BottomSheet/BottomSheet.test.tsx +123 -0
- package/src/BottomSheet/BottomSheet.tsx +17 -4
- package/src/BottomSheet/BottomSheetSwitcher.tsx +3 -2
- package/src/Breadcrumbs/BreadcrumbItem.tsx +9 -5
- package/src/Button/Button.doc.mjs +22 -0
- package/src/Button/Button.test.tsx +13 -0
- package/src/Button/Button.tsx +5 -4
- package/src/ButtonGroup/ButtonGroup.doc.mjs +10 -1
- package/src/ButtonGroup/ButtonGroup.test.tsx +391 -1
- package/src/ButtonGroup/ButtonGroup.tsx +23 -5
- package/src/Calendar/Calendar.doc.mjs +4 -3
- package/src/Calendar/Calendar.test.tsx +52 -0
- package/src/Calendar/Calendar.tsx +18 -15
- package/src/Calendar/getInitialFocusDate.test.ts +94 -0
- package/src/Calendar/getInitialFocusDate.ts +93 -0
- package/src/Carousel/Carousel.tsx +3 -2
- package/src/Chat/ChatComposerInput.tsx +5 -1
- package/src/Chat/ChatLayout.tsx +3 -2
- package/src/Chat/ChatMessageList.doc.mjs +9 -1
- package/src/Chat/ChatMessageList.test.tsx +46 -0
- package/src/Chat/ChatMessageList.tsx +28 -4
- package/src/Chat/ChatTokenizedText.tsx +17 -10
- package/src/Chat/useChatComposerTokens.ts +1 -1
- package/src/CheckboxInput/CheckboxInput.tsx +3 -2
- package/src/ClickableCard/ClickableCard.tsx +3 -2
- package/src/CodeBlock/CodeBlock.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteInput.tsx +3 -2
- package/src/CommandPalette/CommandPaletteItem.tsx +3 -2
- package/src/ContextMenu/ContextMenu.doc.mjs +5 -0
- package/src/ContextMenu/ContextMenu.tsx +4 -3
- package/src/DateInput/DateInput.tsx +3 -2
- package/src/DateInput/DateInputTouch.test.tsx +36 -0
- package/src/DateInput/TouchDateField.tsx +38 -4
- package/src/DateTimeInput/DateTimeInput.doc.mjs +18 -0
- package/src/DateTimeInput/DateTimeInput.test.tsx +1088 -0
- package/src/DateTimeInput/DateTimeInput.tsx +556 -24
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.mjs +8 -3
- package/src/Dialog/Dialog.test.tsx +261 -1
- package/src/Dialog/Dialog.tsx +109 -58
- package/src/DropdownMenu/DropdownMenu.doc.mjs +6 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +8 -5
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +8 -11
- package/src/Field/Field.doc.mjs +13 -2
- package/src/FileInput/FileInput.tsx +3 -2
- package/src/Heading/Heading.test.tsx +23 -1
- package/src/Heading/Heading.tsx +6 -2
- package/src/HoverCard/HoverCard.doc.mjs +5 -0
- package/src/HoverCard/HoverCard.tsx +6 -0
- package/src/HoverCard/useHoverCard.tsx +81 -30
- package/src/Item/Item.tsx +5 -4
- package/src/Kbd/Kbd.tsx +2 -19
- package/src/Layer/LayerDepthContext.tsx +62 -0
- package/src/Layer/index.ts +9 -0
- package/src/Layer/layerDismissalFamilies.test.tsx +359 -0
- package/src/Layer/layerDismissalInvariants.test.tsx +417 -0
- package/src/Layer/layerStack.ts +362 -0
- package/src/Layer/useLayerDismissal.test.tsx +469 -0
- package/src/Layer/useLayerDismissal.ts +173 -0
- package/src/Layout/Layout.doc.mjs +2 -2
- package/src/Lightbox/Lightbox.doc.mjs +12 -0
- package/src/Lightbox/Lightbox.tsx +124 -102
- package/src/Link/Link.doc.mjs +39 -0
- package/src/Markdown/Markdown.doc.mjs +5 -0
- package/src/Markdown/incremental.test.ts +16 -2
- package/src/Markdown/index.ts +1 -0
- package/src/Markdown/parser.perf.test.ts +96 -1
- package/src/Markdown/parser.test.ts +145 -2
- package/src/Markdown/parser.ts +244 -29
- package/src/MobileNav/MobileNav.tsx +62 -36
- package/src/MoreMenu/MoreMenu.doc.mjs +7 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +27 -0
- package/src/MultiSelector/MultiSelector.test.tsx +106 -0
- package/src/MultiSelector/MultiSelector.tsx +50 -6
- package/src/MultiSelector/index.ts +1 -0
- package/src/NavMenu/NavHeadingMenu.tsx +3 -2
- package/src/NumberInput/NumberInput.doc.mjs +5 -0
- package/src/Outline/Outline.tsx +3 -2
- package/src/OverflowList/OverflowList.tsx +3 -2
- package/src/Overlay/Overlay.tsx +3 -2
- package/src/Popover/usePopover.tsx +31 -28
- package/src/PowerSearch/PowerSearch.doc.mjs +160 -28
- package/src/PowerSearch/PowerSearch.test.tsx +240 -1
- package/src/PowerSearch/PowerSearch.tsx +34 -5
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +201 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +29 -2
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +47 -1
- package/src/PowerSearch/PowerSearchValueEditor.tsx +15 -0
- package/src/PowerSearch/types.ts +2 -0
- package/src/PowerSearch/usePowerSearchSource.test.ts +82 -2
- package/src/PowerSearch/usePowerSearchSource.ts +13 -3
- package/src/Resizable/ResizeHandle.tsx +3 -2
- package/src/SegmentedControl/SegmentedControl.tsx +3 -2
- package/src/SelectableCard/SelectableCard.tsx +3 -2
- package/src/Selector/Selector.doc.mjs +12 -1
- package/src/Selector/Selector.test.tsx +45 -1
- package/src/Selector/Selector.tsx +11 -1
- package/src/SideNav/SideNav.doc.mjs +6 -6
- package/src/SideNav/SideNav.tsx +4 -2
- package/src/SideNav/SideNavHeading.tsx +10 -10
- package/src/SideNav/SideNavItem.tsx +4 -2
- package/src/Slider/Slider.tsx +3 -2
- package/src/Spinner/Spinner.test.tsx +147 -1
- package/src/Spinner/Spinner.tsx +120 -101
- package/src/Stepper/Step.doc.mjs +98 -0
- package/src/Stepper/Step.tsx +1638 -0
- package/src/Stepper/StepStatus.ts +26 -0
- package/src/Stepper/Stepper.doc.mjs +370 -0
- package/src/Stepper/Stepper.test.tsx +1024 -0
- package/src/Stepper/Stepper.tsx +258 -0
- package/src/Stepper/StepperContext.ts +71 -0
- package/src/Stepper/index.ts +18 -0
- package/src/Stepper/stepper.stylex.ts +19 -0
- package/src/Switch/Switch.tsx +3 -2
- package/src/TabList/Tab.doc.mjs +13 -1
- package/src/TabList/Tab.tsx +67 -7
- package/src/TabList/TabList.doc.mjs +22 -6
- package/src/TabList/TabList.test.tsx +559 -0
- package/src/TabList/TabList.tsx +490 -22
- package/src/TabList/TabListContext.ts +13 -2
- package/src/TabList/TabMenu.tsx +3 -2
- package/src/TabList/index.ts +6 -2
- package/src/Table/BaseTable.tsx +6 -3
- package/src/Table/Table.doc.mjs +6 -1
- package/src/Table/Table.test.tsx +132 -14
- package/src/Table/TableBody.doc.mjs +40 -0
- package/src/Table/TableFooter.doc.mjs +40 -0
- package/src/Table/TableHeader.doc.mjs +40 -0
- package/src/Table/TableRow.tsx +16 -5
- package/src/Table/plugins/groupedRows/useTableGroupedRows-perf.test.tsx +112 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +100 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +17 -8
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +34 -4
- package/src/Table/plugins/pagination/useTablePagination.tsx +35 -3
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +9 -2
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +13 -7
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +12 -3
- package/src/Table/plugins/selection/useTableSelection.test.tsx +76 -0
- package/src/Table/plugins/selection/useTableSelection.tsx +40 -7
- package/src/Table/types.ts +22 -4
- package/src/Table/useBaseTablePlugins.ts +5 -0
- package/src/Table/useTableGroupedRows.doc.mjs +5 -4
- package/src/Table/useTablePagination.doc.mjs +7 -0
- package/src/Table/useTableRowStatus.doc.mjs +1 -1
- package/src/Table/useTableSelection.doc.mjs +31 -0
- package/src/Text/Text.test.tsx +23 -1
- package/src/Text/Text.tsx +6 -2
- package/src/TextArea/TextArea.tsx +3 -2
- package/src/TextInput/TextInput.doc.mjs +10 -0
- package/src/TextInput/TextInput.tsx +3 -2
- package/src/Thumbnail/Thumbnail.doc.mjs +1 -1
- package/src/TimeInput/TimeInput.tsx +2 -2
- package/src/Timestamp/Timestamp.tsx +4 -2
- package/src/Toast/Toast.doc.mjs +6 -0
- package/src/Token/TokenLink.tsx +2 -2
- package/src/Tokenizer/Tokenizer.doc.mjs +27 -0
- package/src/Tokenizer/Tokenizer.tsx +4 -0
- package/src/Toolbar/Toolbar.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.test.tsx +32 -0
- package/src/Tooltip/Tooltip.tsx +5 -0
- package/src/Tooltip/useTooltip.tsx +47 -24
- package/src/TopNav/TopNavHeading.tsx +3 -2
- package/src/TopNav/TopNavMegaMenu.tsx +3 -2
- package/src/TopNav/TopNavMenu.tsx +4 -3
- package/src/Typeahead/BaseTypeahead.doc.mjs +11 -0
- package/src/Typeahead/BaseTypeahead.tsx +85 -33
- package/src/Typeahead/Typeahead.doc.mjs +5 -0
- package/src/Typeahead/Typeahead.test.tsx +49 -0
- package/src/Typeahead/Typeahead.tsx +3 -2
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useContainerReveal.doc.mjs +2 -2
- package/src/hooks/useFocusTrap.test.tsx +14 -0
- package/src/hooks/useFocusTrap.ts +62 -111
- package/src/hooks/useFocusTrapEscapeShim.test.tsx +165 -0
- package/src/hooks/useHotkeys.ts +3 -18
- package/src/hooks/useMergedRefs.doc.mjs +79 -0
- package/src/hooks/useMergedRefs.test.tsx +62 -0
- package/src/hooks/useMergedRefs.ts +36 -0
- package/src/index.ts +1 -0
- package/src/theme/MediaTheme.doc.mjs +5 -5
- package/src/utils/groupItems.ts +12 -6
- package/src/utils/index.ts +1 -1
- package/src/utils/isApplePlatform.test.ts +61 -0
- package/src/utils/isApplePlatform.ts +37 -0
- package/src/utils/sharedResizeObserver.ts +10 -2
- package/src/utils/timeParser.test.ts +6 -1
- package/src/utils/timeParser.ts +35 -13
- package/src/__tests__/inputWidthContract.test.tsx +0 -69
package/dist/Markdown/parser.js
CHANGED
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
// Types
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Where a block sits in the source string handed to `parseMarkdown`:
|
|
18
|
+
* `source.slice(start, end)` is the block, and `end` excludes the block's
|
|
19
|
+
* trailing blank lines.
|
|
20
|
+
*
|
|
21
|
+
* An object rather than a `[start, end]` tuple so a second way of addressing
|
|
22
|
+
* the same block — line numbers, once a consumer needs them — can be added as
|
|
23
|
+
* optional fields without breaking anyone.
|
|
24
|
+
*/
|
|
25
|
+
|
|
16
26
|
// ---------------------------------------------------------------------------
|
|
17
27
|
// Parse options
|
|
18
28
|
// ---------------------------------------------------------------------------
|
|
@@ -47,7 +57,8 @@ function resolveOptions(arg) {
|
|
|
47
57
|
const opts = arg;
|
|
48
58
|
return {
|
|
49
59
|
sourceIds: opts.sourceIds,
|
|
50
|
-
autolink: opts.autolink
|
|
60
|
+
autolink: opts.autolink,
|
|
61
|
+
sourceRanges: opts.sourceRanges
|
|
51
62
|
};
|
|
52
63
|
}
|
|
53
64
|
|
|
@@ -168,10 +179,17 @@ function extractLinkDefinitions(input) {
|
|
|
168
179
|
cleaned: input
|
|
169
180
|
};
|
|
170
181
|
}
|
|
171
|
-
const
|
|
182
|
+
const lineMap = [];
|
|
183
|
+
for (let index = 0; index < lines.length; index++) {
|
|
184
|
+
if (keep[index]) {
|
|
185
|
+
lineMap.push(index);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const cleaned = lineMap.map(index => lines[index]).join('\n');
|
|
172
189
|
return {
|
|
173
190
|
defs,
|
|
174
|
-
cleaned
|
|
191
|
+
cleaned,
|
|
192
|
+
lineMap
|
|
175
193
|
};
|
|
176
194
|
}
|
|
177
195
|
|
|
@@ -965,6 +983,19 @@ function isTableSeparator(line) {
|
|
|
965
983
|
return nonEmpty.length > 0 && nonEmpty.every(cell => /^:?-+:?$/.test(cell));
|
|
966
984
|
}
|
|
967
985
|
|
|
986
|
+
/**
|
|
987
|
+
* The same options for content parsed out of an enclosing block. Ranges are a
|
|
988
|
+
* top-level contract: a list item's or a blockquote's children are parsed from
|
|
989
|
+
* text the caller reassembled (markers and `>` prefixes stripped), so an
|
|
990
|
+
* offset into it would not address the document.
|
|
991
|
+
*/
|
|
992
|
+
function nested(opts) {
|
|
993
|
+
return opts.sourceRanges ? {
|
|
994
|
+
...opts,
|
|
995
|
+
sourceRanges: false
|
|
996
|
+
} : opts;
|
|
997
|
+
}
|
|
998
|
+
|
|
968
999
|
/**
|
|
969
1000
|
* Returns true when a line could start a new block — used to stop paragraph
|
|
970
1001
|
* continuation. Every regex here uses bounded or single-class quantifiers
|
|
@@ -1095,7 +1126,7 @@ function parseList(lines, startIndex, ordered, opts) {
|
|
|
1095
1126
|
}
|
|
1096
1127
|
items.push({
|
|
1097
1128
|
checked,
|
|
1098
|
-
children: parseMarkdownImpl(itemText, opts)
|
|
1129
|
+
children: parseMarkdownImpl(itemText, nested(opts))
|
|
1099
1130
|
});
|
|
1100
1131
|
|
|
1101
1132
|
// CommonMark loose list: blank line(s) between items of the same style
|
|
@@ -1140,7 +1171,8 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1140
1171
|
// parse.
|
|
1141
1172
|
const {
|
|
1142
1173
|
defs,
|
|
1143
|
-
cleaned
|
|
1174
|
+
cleaned,
|
|
1175
|
+
lineMap
|
|
1144
1176
|
} = extractLinkDefinitions(input);
|
|
1145
1177
|
const inherited = baseOpts.linkDefs;
|
|
1146
1178
|
let linkDefs;
|
|
@@ -1157,8 +1189,22 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1157
1189
|
} : baseOpts;
|
|
1158
1190
|
const lines = cleaned.split('\n');
|
|
1159
1191
|
const blocks = [];
|
|
1192
|
+
// The line each block started on, parallel to `blocks`. Only collected when
|
|
1193
|
+
// ranges were asked for; a block's end is resolved after the loop, since the
|
|
1194
|
+
// branch that produced it has already moved `index` past whatever it read.
|
|
1195
|
+
const blockStartLines = opts.sourceRanges ? [] : null;
|
|
1196
|
+
// Set only by a block that consumes blank lines as content, where the
|
|
1197
|
+
// positional end derivation would trim them away.
|
|
1198
|
+
const blockEndLines = opts.sourceRanges ? [] : null;
|
|
1199
|
+
let blockStartLine = 0;
|
|
1200
|
+
const pushBlock = (node, endLine) => {
|
|
1201
|
+
blocks.push(node);
|
|
1202
|
+
blockStartLines?.push(blockStartLine);
|
|
1203
|
+
blockEndLines?.push(endLine);
|
|
1204
|
+
};
|
|
1160
1205
|
let index = 0;
|
|
1161
1206
|
while (index < lines.length) {
|
|
1207
|
+
blockStartLine = index;
|
|
1162
1208
|
const line = lines[index];
|
|
1163
1209
|
if (line.trim() === '') {
|
|
1164
1210
|
index++;
|
|
@@ -1177,18 +1223,21 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1177
1223
|
index++;
|
|
1178
1224
|
}
|
|
1179
1225
|
index++; // skip closing fence
|
|
1180
|
-
|
|
1226
|
+
// A fence owns its blank lines, and an unterminated one (mid-stream)
|
|
1227
|
+
// can end on them, so it states its own end rather than letting the
|
|
1228
|
+
// positional derivation trim them off.
|
|
1229
|
+
pushBlock({
|
|
1181
1230
|
type: 'codeblock',
|
|
1182
1231
|
language,
|
|
1183
1232
|
content: codeLines.join('\n')
|
|
1184
|
-
});
|
|
1233
|
+
}, Math.min(index, lines.length) - 1);
|
|
1185
1234
|
continue;
|
|
1186
1235
|
}
|
|
1187
1236
|
|
|
1188
1237
|
// --- Heading ---
|
|
1189
1238
|
const headingMatch = line.match(/^(#{1,6}) +(.*)/);
|
|
1190
1239
|
if (headingMatch) {
|
|
1191
|
-
|
|
1240
|
+
pushBlock({
|
|
1192
1241
|
type: 'heading',
|
|
1193
1242
|
level: headingMatch[1].length,
|
|
1194
1243
|
children: parseInlineEntry(headingMatch[2], opts)
|
|
@@ -1199,7 +1248,7 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1199
1248
|
|
|
1200
1249
|
// --- HR (must precede list check to handle `- - -`, `* * *`, `_ _ _`) ---
|
|
1201
1250
|
if (isHorizontalRule(line)) {
|
|
1202
|
-
|
|
1251
|
+
pushBlock({
|
|
1203
1252
|
type: 'hr'
|
|
1204
1253
|
});
|
|
1205
1254
|
index++;
|
|
@@ -1209,7 +1258,7 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1209
1258
|
// --- Standalone image ---
|
|
1210
1259
|
const imageMatch = line.match(/^!\[([^\]]*)\]\(([^)]+)\)/);
|
|
1211
1260
|
if (imageMatch && line.trim() === imageMatch[0]) {
|
|
1212
|
-
|
|
1261
|
+
pushBlock({
|
|
1213
1262
|
type: 'image',
|
|
1214
1263
|
alt: imageMatch[1],
|
|
1215
1264
|
src: imageMatch[2]
|
|
@@ -1221,7 +1270,7 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1221
1270
|
// --- Table (with or without leading pipe) ---
|
|
1222
1271
|
if (index + 1 < lines.length && line.includes('|') && isTableSeparator(lines[index + 1])) {
|
|
1223
1272
|
const tableResult = parseTable(lines, index, opts);
|
|
1224
|
-
|
|
1273
|
+
pushBlock(tableResult.node);
|
|
1225
1274
|
index = tableResult.nextIndex;
|
|
1226
1275
|
continue;
|
|
1227
1276
|
}
|
|
@@ -1233,9 +1282,9 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1233
1282
|
quoteLines.push(lines[index].replace(/^> ?/, ''));
|
|
1234
1283
|
index++;
|
|
1235
1284
|
}
|
|
1236
|
-
|
|
1285
|
+
pushBlock({
|
|
1237
1286
|
type: 'blockquote',
|
|
1238
|
-
children: parseMarkdownImpl(quoteLines.join('\n'), opts)
|
|
1287
|
+
children: parseMarkdownImpl(quoteLines.join('\n'), nested(opts))
|
|
1239
1288
|
});
|
|
1240
1289
|
continue;
|
|
1241
1290
|
}
|
|
@@ -1243,7 +1292,7 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1243
1292
|
// --- Unordered list ---
|
|
1244
1293
|
if (/^ {0,9}[-*+] /.test(line)) {
|
|
1245
1294
|
const listResult = parseList(lines, index, false, opts);
|
|
1246
|
-
|
|
1295
|
+
pushBlock(listResult.node);
|
|
1247
1296
|
index = listResult.nextIndex;
|
|
1248
1297
|
continue;
|
|
1249
1298
|
}
|
|
@@ -1251,7 +1300,7 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1251
1300
|
// --- Ordered list ---
|
|
1252
1301
|
if (/^ {0,9}\d+[.)] /.test(line)) {
|
|
1253
1302
|
const listResult = parseList(lines, index, true, opts);
|
|
1254
|
-
|
|
1303
|
+
pushBlock(listResult.node);
|
|
1255
1304
|
index = listResult.nextIndex;
|
|
1256
1305
|
continue;
|
|
1257
1306
|
}
|
|
@@ -1263,14 +1312,63 @@ function parseMarkdownImpl(input, baseOpts) {
|
|
|
1263
1312
|
paraLines.push(lines[index]);
|
|
1264
1313
|
index++;
|
|
1265
1314
|
}
|
|
1266
|
-
|
|
1315
|
+
pushBlock({
|
|
1267
1316
|
type: 'paragraph',
|
|
1268
1317
|
children: parseInlineEntry(paraLines.join('\n'), opts)
|
|
1269
1318
|
});
|
|
1270
1319
|
}
|
|
1320
|
+
if (blockStartLines != null) {
|
|
1321
|
+
stampSourceRanges(blocks, blockStartLines, blockEndLines ?? [], lines, lineMap, input, opts);
|
|
1322
|
+
}
|
|
1271
1323
|
return blocks;
|
|
1272
1324
|
}
|
|
1273
1325
|
|
|
1326
|
+
/**
|
|
1327
|
+
* Give each block the offsets it occupies in the original input.
|
|
1328
|
+
*
|
|
1329
|
+
* Blocks are contiguous and in source order, so a block runs from its own
|
|
1330
|
+
* first line to the line before the next block starts, minus the blank lines
|
|
1331
|
+
* between them. Offsets are computed against the *input*, not the text the
|
|
1332
|
+
* block loop saw: link reference definitions are stripped before parsing, and
|
|
1333
|
+
* `lineMap` says which input line each surviving line came from.
|
|
1334
|
+
*/
|
|
1335
|
+
function stampSourceRanges(blocks, blockStartLines, blockEndLines, lines, lineMap, input, opts) {
|
|
1336
|
+
const base = opts.baseOffset ?? 0;
|
|
1337
|
+
// Offset of the first character of every line of the input.
|
|
1338
|
+
const inputLineStarts = [0];
|
|
1339
|
+
for (let i = 0; i < input.length; i++) {
|
|
1340
|
+
if (input[i] === '\n') {
|
|
1341
|
+
inputLineStarts.push(i + 1);
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
// Stripping removes whole lines and never edits one, so a parsed line's
|
|
1345
|
+
// length is its input line's length.
|
|
1346
|
+
const lineStart = line => base + inputLineStarts[lineMap != null ? lineMap[line] : line];
|
|
1347
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
1348
|
+
const startLine = blockStartLines[i];
|
|
1349
|
+
let endLine = blockEndLines[i];
|
|
1350
|
+
if (endLine == null) {
|
|
1351
|
+
const nextStart = i + 1 < blocks.length ? blockStartLines[i + 1] : lines.length;
|
|
1352
|
+
endLine = nextStart - 1;
|
|
1353
|
+
while (endLine > startLine && lines[endLine].trim() === '') {
|
|
1354
|
+
endLine--;
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
// Exactly the block's own lines, verbatim — a CRLF document's trailing
|
|
1358
|
+
// `\r` included, since the parser reads it as part of the line too and a
|
|
1359
|
+
// range that dropped it would slice to something that re-parses
|
|
1360
|
+
// differently.
|
|
1361
|
+
const end = lineStart(endLine) + lines[endLine].length;
|
|
1362
|
+
blocks[i] = {
|
|
1363
|
+
...blocks[i],
|
|
1364
|
+
range: {
|
|
1365
|
+
start: lineStart(startLine),
|
|
1366
|
+
end
|
|
1367
|
+
}
|
|
1368
|
+
};
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1274
1372
|
// ---------------------------------------------------------------------------
|
|
1275
1373
|
// Incremental parsing
|
|
1276
1374
|
// ---------------------------------------------------------------------------
|
|
@@ -1286,12 +1384,23 @@ export function createIncrementalState() {
|
|
|
1286
1384
|
|
|
1287
1385
|
/**
|
|
1288
1386
|
* Find the line-index of the last blank line that is NOT inside a fenced code
|
|
1289
|
-
* block
|
|
1387
|
+
* block, and report whether a fence is still open at the end of the input.
|
|
1388
|
+
* Returns -1 when nothing is settled.
|
|
1389
|
+
*
|
|
1390
|
+
* This index must never move backwards as more of the document arrives. The
|
|
1391
|
+
* caller's cache is keyed on the settled text staying a prefix of what it was,
|
|
1392
|
+
* so a boundary that retracts by one line costs a re-parse of every block in
|
|
1393
|
+
* the document. Two things used to retract it: a blank last line, which is
|
|
1394
|
+
* just the newline the stream has written so far and stops being blank as soon
|
|
1395
|
+
* as the next chunk appends to it; and an open fence, which used to collapse
|
|
1396
|
+
* the boundary to -1 even though the content before the fence opened cannot be
|
|
1397
|
+
* changed by anything typed inside it.
|
|
1290
1398
|
*/
|
|
1291
1399
|
function findSettledBoundary(lines) {
|
|
1292
1400
|
let inFence = false;
|
|
1293
1401
|
let fenceMarker = '';
|
|
1294
1402
|
let lastBoundary = -1;
|
|
1403
|
+
let boundaryBeforeFence = -1;
|
|
1295
1404
|
for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {
|
|
1296
1405
|
const line = lines[lineIndex];
|
|
1297
1406
|
|
|
@@ -1301,16 +1410,20 @@ function findSettledBoundary(lines) {
|
|
|
1301
1410
|
if (!inFence) {
|
|
1302
1411
|
inFence = true;
|
|
1303
1412
|
fenceMarker = fenceMatch[1];
|
|
1413
|
+
boundaryBeforeFence = lastBoundary;
|
|
1304
1414
|
} else if (fenceMatch[1].startsWith(fenceMarker[0]) && fenceMatch[1].length >= fenceMarker.length) {
|
|
1305
1415
|
inFence = false;
|
|
1306
1416
|
fenceMarker = '';
|
|
1307
1417
|
}
|
|
1308
1418
|
}
|
|
1309
|
-
if (!inFence && line.trim() === '' && lineIndex > 0) {
|
|
1419
|
+
if (!inFence && line.trim() === '' && lineIndex > 0 && lineIndex < lines.length - 1) {
|
|
1310
1420
|
lastBoundary = lineIndex;
|
|
1311
1421
|
}
|
|
1312
1422
|
}
|
|
1313
|
-
return
|
|
1423
|
+
return {
|
|
1424
|
+
boundary: inFence ? boundaryBeforeFence : lastBoundary,
|
|
1425
|
+
openFence: inFence
|
|
1426
|
+
};
|
|
1314
1427
|
}
|
|
1315
1428
|
|
|
1316
1429
|
/**
|
|
@@ -1532,6 +1645,18 @@ function trimUnsettledStructural(text) {
|
|
|
1532
1645
|
return lines.join('\n');
|
|
1533
1646
|
}
|
|
1534
1647
|
|
|
1648
|
+
/**
|
|
1649
|
+
* The same options, for parsing a slice that starts at `offset` of the
|
|
1650
|
+
* document — so the slice's blocks report ranges into the whole document
|
|
1651
|
+
* rather than into the slice.
|
|
1652
|
+
*/
|
|
1653
|
+
function atOffset(opts, offset) {
|
|
1654
|
+
return opts.sourceRanges ? {
|
|
1655
|
+
...opts,
|
|
1656
|
+
baseOffset: offset
|
|
1657
|
+
} : opts;
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1535
1660
|
/**
|
|
1536
1661
|
* Concatenate freshly-parsed delta blocks with previously-settled blocks,
|
|
1537
1662
|
* merging adjacent same-style lists into a single loose list. The boundary
|
|
@@ -1552,7 +1677,15 @@ function mergeSettledBlocks(prev, delta) {
|
|
|
1552
1677
|
start: prevLast.start,
|
|
1553
1678
|
delimiter: prevLast.delimiter,
|
|
1554
1679
|
loose: true,
|
|
1555
|
-
items: [...prevLast.items, ...deltaFirst.items]
|
|
1680
|
+
items: [...prevLast.items, ...deltaFirst.items],
|
|
1681
|
+
// One list now, so one range: from where the first half started to
|
|
1682
|
+
// where the second half ended.
|
|
1683
|
+
...(prevLast.range != null && deltaFirst.range != null ? {
|
|
1684
|
+
range: {
|
|
1685
|
+
start: prevLast.range.start,
|
|
1686
|
+
end: deltaFirst.range.end
|
|
1687
|
+
}
|
|
1688
|
+
} : null)
|
|
1556
1689
|
};
|
|
1557
1690
|
return [...prev.slice(0, -1), merged, ...delta.slice(1)];
|
|
1558
1691
|
}
|
|
@@ -1560,15 +1693,16 @@ function mergeSettledBlocks(prev, delta) {
|
|
|
1560
1693
|
}
|
|
1561
1694
|
export function parseMarkdownIncremental(input, state, arg) {
|
|
1562
1695
|
const opts = resolveOptions(arg);
|
|
1563
|
-
// Invalidate cache when the autolink option flips — cached
|
|
1564
|
-
// were parsed with the previous setting and would otherwise
|
|
1565
|
-
// unchanged.
|
|
1566
|
-
if (state.autolink !== opts.autolink) {
|
|
1696
|
+
// Invalidate cache when the autolink or sourceRanges option flips — cached
|
|
1697
|
+
// settled blocks were parsed with the previous setting and would otherwise
|
|
1698
|
+
// be reused unchanged.
|
|
1699
|
+
if (state.autolink !== opts.autolink || Boolean(state.sourceRanges) !== Boolean(opts.sourceRanges)) {
|
|
1567
1700
|
state.prevInput = '';
|
|
1568
1701
|
state.settledText = '';
|
|
1569
1702
|
state.settledBlocks = [];
|
|
1570
1703
|
state.settledUpTo = 0;
|
|
1571
1704
|
state.autolink = opts.autolink;
|
|
1705
|
+
state.sourceRanges = opts.sourceRanges;
|
|
1572
1706
|
}
|
|
1573
1707
|
if (input === '') {
|
|
1574
1708
|
state.prevInput = '';
|
|
@@ -1599,15 +1733,22 @@ export function parseMarkdownIncremental(input, state, arg) {
|
|
|
1599
1733
|
linkDefs
|
|
1600
1734
|
} : opts;
|
|
1601
1735
|
const lines = input.split('\n');
|
|
1602
|
-
const
|
|
1736
|
+
const {
|
|
1737
|
+
boundary,
|
|
1738
|
+
openFence
|
|
1739
|
+
} = findSettledBoundary(lines);
|
|
1603
1740
|
if (boundary < 0) {
|
|
1604
|
-
//
|
|
1741
|
+
// Nothing settled yet — no blank line, or a fence opened before the first
|
|
1742
|
+
// one — so there is no prefix to keep and the whole input is re-parsed.
|
|
1605
1743
|
state.prevInput = input;
|
|
1606
1744
|
return parseMarkdownImpl(input, parseOpts);
|
|
1607
1745
|
}
|
|
1608
1746
|
const settledText = lines.slice(0, boundary).join('\n');
|
|
1609
1747
|
const unsettledRaw = lines.slice(boundary).join('\n').trim();
|
|
1610
|
-
|
|
1748
|
+
// Structural trimming holds back lines that look like an incomplete list or
|
|
1749
|
+
// table, which inside a fence is ordinary code: a TypeScript union or a `- `
|
|
1750
|
+
// would disappear from the code block as it streams.
|
|
1751
|
+
const unsettledText = openFence ? unsettledRaw : trimUnsettledStructural(unsettledRaw);
|
|
1611
1752
|
let settledBlocks;
|
|
1612
1753
|
if (settledText === state.settledText) {
|
|
1613
1754
|
// Settled portion unchanged — reuse cached blocks
|
|
@@ -1615,13 +1756,20 @@ export function parseMarkdownIncremental(input, state, arg) {
|
|
|
1615
1756
|
} else if (state.settledText.length > 0 && settledText.startsWith(state.settledText)) {
|
|
1616
1757
|
// Settled portion grew — parse only the new delta
|
|
1617
1758
|
const delta = settledText.slice(state.settledText.length);
|
|
1618
|
-
const deltaBlocks = parseMarkdownImpl(delta, parseOpts);
|
|
1759
|
+
const deltaBlocks = parseMarkdownImpl(delta, atOffset(parseOpts, state.settledText.length));
|
|
1619
1760
|
settledBlocks = mergeSettledBlocks(state.settledBlocks, deltaBlocks);
|
|
1620
1761
|
} else {
|
|
1621
1762
|
// Content before the boundary changed — full re-parse of settled portion
|
|
1622
1763
|
settledBlocks = parseMarkdownImpl(settledText, parseOpts);
|
|
1623
1764
|
}
|
|
1624
|
-
|
|
1765
|
+
|
|
1766
|
+
// The unsettled tail is trimmed before parsing, so its offset in the
|
|
1767
|
+
// document is where that trimmed text actually starts — not the boundary,
|
|
1768
|
+
// which is a line index. If it somehow can't be located, parse it without
|
|
1769
|
+
// ranges rather than report wrong ones. Only worth searching for when
|
|
1770
|
+
// ranges were asked for: this runs on every streamed chunk.
|
|
1771
|
+
const unsettledStart = unsettledText && opts.sourceRanges ? input.indexOf(unsettledText, settledText.length) : -1;
|
|
1772
|
+
const unsettledBlocks = unsettledText ? parseMarkdownImpl(unsettledText, unsettledStart >= 0 ? atOffset(parseOpts, unsettledStart) : nested(parseOpts)) : [];
|
|
1625
1773
|
state.settledText = settledText;
|
|
1626
1774
|
state.settledBlocks = settledBlocks;
|
|
1627
1775
|
state.settledUpTo = boundary;
|
|
@@ -15,10 +15,15 @@
|
|
|
15
15
|
* - `::backdrop` pseudo-element
|
|
16
16
|
* - Body scroll lock
|
|
17
17
|
* - Focus trapping
|
|
18
|
-
*
|
|
18
|
+
*
|
|
19
|
+
* Escape is owned by the shared dismissal stack (`useLayerDismissal`), so a
|
|
20
|
+
* drawer opened over another layer takes the press and nothing behind it
|
|
21
|
+
* closes. The native `cancel` event still handles the dismissals the browser
|
|
22
|
+
* starts itself, such as the Android back gesture.
|
|
19
23
|
*
|
|
20
24
|
* SYNC: When modified, update these files to stay in sync:
|
|
21
25
|
* - /packages/core/src/MobileNav/index.ts (exports if types change)
|
|
26
|
+
* - /packages/core/src/Layer/useLayerDismissal.ts (dismissal stack)
|
|
22
27
|
* - /packages/core/src/hooks/scrollbarGutter.ts (shared scroll-lock gutter)
|
|
23
28
|
* - /packages/cli/assets/templates/blocks/components/MobileNav/ (showcase blocks)
|
|
24
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileNav.d.ts","sourceRoot":"","sources":["../../src/MobileNav/MobileNav.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"MobileNav.d.ts","sourceRoot":"","sources":["../../src/MobileNav/MobileNav.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAqBf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AA8L5C;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBpE;AAmCD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAEzC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EACR,MAAM,EACN,KAAW,EACX,IAAa,EACb,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EAAE,WAAW,EACpB,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+BAmOhB;yBAlPe,SAAS"}
|
|
@@ -19,10 +19,15 @@
|
|
|
19
19
|
* - `::backdrop` pseudo-element
|
|
20
20
|
* - Body scroll lock
|
|
21
21
|
* - Focus trapping
|
|
22
|
-
*
|
|
22
|
+
*
|
|
23
|
+
* Escape is owned by the shared dismissal stack (`useLayerDismissal`), so a
|
|
24
|
+
* drawer opened over another layer takes the press and nothing behind it
|
|
25
|
+
* closes. The native `cancel` event still handles the dismissals the browser
|
|
26
|
+
* starts itself, such as the Android back gesture.
|
|
23
27
|
*
|
|
24
28
|
* SYNC: When modified, update these files to stay in sync:
|
|
25
29
|
* - /packages/core/src/MobileNav/index.ts (exports if types change)
|
|
30
|
+
* - /packages/core/src/Layer/useLayerDismissal.ts (dismissal stack)
|
|
26
31
|
* - /packages/core/src/hooks/scrollbarGutter.ts (shared scroll-lock gutter)
|
|
27
32
|
* - /packages/cli/assets/templates/blocks/components/MobileNav/ (showcase blocks)
|
|
28
33
|
*/
|
|
@@ -35,11 +40,13 @@ import { Icon } from "../Icon/index.js";
|
|
|
35
40
|
import { Heading } from "../Heading/Heading.js";
|
|
36
41
|
import { useAppShellMobile } from "../AppShell/AppShellMobileContext.js";
|
|
37
42
|
import { holdScrollbarGutter } from "../hooks/scrollbarGutter.js";
|
|
38
|
-
import { mergeProps,
|
|
43
|
+
import { mergeProps, composeEventHandlers } from "../utils/index.js";
|
|
39
44
|
import { overlayPaddingReset } from "../Layout/padding.stylex.js";
|
|
45
|
+
import { LayerDepthProvider } from "../Layer/LayerDepthContext.js";
|
|
46
|
+
import { useLayerDismissal } from "../Layer/useLayerDismissal.js";
|
|
40
47
|
import { themeProps } from "../utils/themeProps.js";
|
|
41
48
|
import { useTranslator } from "../i18n/index.js";
|
|
42
|
-
|
|
49
|
+
import { useMergedRefs } from "../hooks/useMergedRefs.js";
|
|
43
50
|
// =============================================================================
|
|
44
51
|
// Styles
|
|
45
52
|
// =============================================================================
|
|
@@ -352,12 +359,28 @@ export function MobileNav({
|
|
|
352
359
|
}
|
|
353
360
|
};
|
|
354
361
|
}, []);
|
|
362
|
+
const {
|
|
363
|
+
shouldDismissOnCloseRequest
|
|
364
|
+
} = useLayerDismissal({
|
|
365
|
+
isActive: isOpen,
|
|
366
|
+
onDismiss: () => onOpenChange(false)
|
|
367
|
+
});
|
|
355
368
|
|
|
356
|
-
//
|
|
369
|
+
// The native `cancel` event is the browser's own close-watcher firing: an
|
|
370
|
+
// Android back gesture, or a close request the stack never saw a press for.
|
|
371
|
+
// Escape presses the stack owns never arrive here — it preventDefault()s
|
|
372
|
+
// those, which suppresses the close watcher.
|
|
373
|
+
//
|
|
374
|
+
// Always preventDefault so the browser cannot close a controlled <dialog>
|
|
375
|
+
// behind React's back, then answer with the stack's own rules: top-most
|
|
376
|
+
// only, and never while an IME composition is in progress.
|
|
357
377
|
const handleCancel = useCallback(event => {
|
|
358
378
|
event.preventDefault();
|
|
379
|
+
if (!shouldDismissOnCloseRequest()) {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
359
382
|
onOpenChange(false);
|
|
360
|
-
}, [onOpenChange]);
|
|
383
|
+
}, [onOpenChange, shouldDismissOnCloseRequest]);
|
|
361
384
|
|
|
362
385
|
// Handle clicks on the dialog backdrop area (outside the drawer)
|
|
363
386
|
const handleDialogClick = useCallback(event => {
|
|
@@ -369,7 +392,7 @@ export function MobileNav({
|
|
|
369
392
|
}, [onOpenChange]);
|
|
370
393
|
const isStart = resolvedSide === 'start';
|
|
371
394
|
return /*#__PURE__*/_jsx("dialog", {
|
|
372
|
-
ref:
|
|
395
|
+
ref: useMergedRefs(ref, dialogRef),
|
|
373
396
|
id: dialogId,
|
|
374
397
|
...mergeProps(themeProps('mobile-nav', {
|
|
375
398
|
side: resolvedSide
|
|
@@ -379,38 +402,40 @@ export function MobileNav({
|
|
|
379
402
|
"aria-label": label ?? (typeof header === 'string' ? header : t('@astryx.mobileNav.navigation')),
|
|
380
403
|
onClick: composeEventHandlers(onClickProp, handleDialogClick),
|
|
381
404
|
onCancel: handleCancel,
|
|
382
|
-
children: /*#__PURE__*/
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
405
|
+
children: /*#__PURE__*/_jsx(LayerDepthProvider, {
|
|
406
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
407
|
+
tabIndex: -1,
|
|
408
|
+
...stylex.props(styles.drawer, dynamicStyles.width(width), isStart && styles.drawerStart, isStart && isOpen && styles.drawerStartOpen, !isStart && styles.drawerEnd, !isStart && isOpen && styles.drawerEndOpen),
|
|
409
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
410
|
+
...{
|
|
411
|
+
0: {
|
|
412
|
+
className: "x78zum5 x6s0dn4 x1qughib x1k15mir xf314gf x2lah0s x92x3c3 x1q0q8m5 xw8gpjh"
|
|
413
|
+
},
|
|
414
|
+
1: {
|
|
415
|
+
className: "x78zum5 x6s0dn4 x1k15mir xf314gf x2lah0s x92x3c3 x1q0q8m5 xw8gpjh x13a6bvl"
|
|
416
|
+
}
|
|
417
|
+
}[!!!header << 0],
|
|
418
|
+
children: [typeof header === 'string' ? /*#__PURE__*/_jsx(Heading, {
|
|
419
|
+
level: 2,
|
|
420
|
+
xstyle: styles.headerText,
|
|
421
|
+
children: header
|
|
422
|
+
}) : header ?? null, /*#__PURE__*/_jsx(Button, {
|
|
423
|
+
variant: "ghost",
|
|
424
|
+
label: t('@astryx.mobileNav.closeNavigation'),
|
|
425
|
+
icon: /*#__PURE__*/_jsx(Icon, {
|
|
426
|
+
icon: "close",
|
|
427
|
+
color: "inherit"
|
|
428
|
+
}),
|
|
429
|
+
onClick: () => onOpenChange(false),
|
|
430
|
+
isIconOnly: true
|
|
431
|
+
})]
|
|
432
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
433
|
+
...{
|
|
434
|
+
className: "x98rzlu x1odjw0f x6ikm8r xish69e xx69xxh xf314gf xce4md1"
|
|
389
435
|
},
|
|
390
|
-
|
|
391
|
-
className: "x78zum5 x6s0dn4 x1k15mir xf314gf x2lah0s x92x3c3 x1q0q8m5 xw8gpjh x13a6bvl"
|
|
392
|
-
}
|
|
393
|
-
}[!!!header << 0],
|
|
394
|
-
children: [typeof header === 'string' ? /*#__PURE__*/_jsx(Heading, {
|
|
395
|
-
level: 2,
|
|
396
|
-
xstyle: styles.headerText,
|
|
397
|
-
children: header
|
|
398
|
-
}) : header ?? null, /*#__PURE__*/_jsx(Button, {
|
|
399
|
-
variant: "ghost",
|
|
400
|
-
label: t('@astryx.mobileNav.closeNavigation'),
|
|
401
|
-
icon: /*#__PURE__*/_jsx(Icon, {
|
|
402
|
-
icon: "close",
|
|
403
|
-
color: "inherit"
|
|
404
|
-
}),
|
|
405
|
-
onClick: () => onOpenChange(false),
|
|
406
|
-
isIconOnly: true
|
|
436
|
+
children: children
|
|
407
437
|
})]
|
|
408
|
-
})
|
|
409
|
-
...{
|
|
410
|
-
className: "x98rzlu x1odjw0f x6ikm8r xish69e xx69xxh xf314gf xce4md1"
|
|
411
|
-
},
|
|
412
|
-
children: children
|
|
413
|
-
})]
|
|
438
|
+
})
|
|
414
439
|
})
|
|
415
440
|
});
|
|
416
441
|
}
|
|
@@ -22,6 +22,10 @@ export type MultiSelectorSize = 'sm' | 'md' | 'lg';
|
|
|
22
22
|
export type MultiSelectorVariant = 'input' | 'ghost';
|
|
23
23
|
export type MultiSelectorStatusType = 'warning' | 'error' | 'success';
|
|
24
24
|
export type { MultiSelectorStatus };
|
|
25
|
+
export interface MultiSelectorSelectedItem {
|
|
26
|
+
value: string;
|
|
27
|
+
label: string;
|
|
28
|
+
}
|
|
25
29
|
export interface MultiSelectorProps<T extends MultiSelectorOptionType = MultiSelectorOptionType> extends Omit<BaseProps, 'onChange' | 'defaultValue'> {
|
|
26
30
|
/**
|
|
27
31
|
* Label text for the multi-selector (always rendered for accessibility).
|
|
@@ -179,6 +183,16 @@ export interface MultiSelectorProps<T extends MultiSelectorOptionType = MultiSel
|
|
|
179
183
|
* @default 'count'
|
|
180
184
|
*/
|
|
181
185
|
triggerDisplay?: 'count' | 'labels' | 'badges';
|
|
186
|
+
/**
|
|
187
|
+
* Formats the trigger text when triggerDisplay is 'count' or 'labels'.
|
|
188
|
+
* Receives the selected items (value plus resolved label, in selection
|
|
189
|
+
* order) and returns the full trigger text; the count is `items.length`.
|
|
190
|
+
* Not called when nothing is selected — the placeholder shows instead — and
|
|
191
|
+
* not called for triggerDisplay 'badges', which renders Badge elements
|
|
192
|
+
* rather than text.
|
|
193
|
+
* @default items => `${items.length} selected` for 'count', "A, B, C, +N" for 'labels'
|
|
194
|
+
*/
|
|
195
|
+
formatValue?: (items: MultiSelectorSelectedItem[]) => string;
|
|
182
196
|
/**
|
|
183
197
|
* Maximum number of badges to show before showing "+N".
|
|
184
198
|
* Only used when triggerDisplay is 'badges'.
|
|
@@ -222,7 +236,7 @@ export interface MultiSelectorProps<T extends MultiSelectorOptionType = MultiSel
|
|
|
222
236
|
* />
|
|
223
237
|
* ```
|
|
224
238
|
*/
|
|
225
|
-
export declare function MultiSelector<T extends MultiSelectorOptionType>({ label, isLabelHidden, description, isOptional, isRequired, isDisabled, disabledMessage, options, value, onChange, changeAction, isLoading, placeholder: placeholderFromProps, size: sizeProp, variant, status, statusVariant, labelTooltip, startIcon, hasClear, hasSelectAll, selectAllLabel: selectAllLabelFromProps, hasSearch, searchPlaceholder: searchPlaceholderFromProps, triggerDisplay, maxBadges, renderOption, indicatorPosition, isDefaultOpen, 'data-testid': testId, htmlName, width, xstyle, className, style, }: MultiSelectorProps<T>): React.JSX.Element;
|
|
239
|
+
export declare function MultiSelector<T extends MultiSelectorOptionType>({ label, isLabelHidden, description, isOptional, isRequired, isDisabled, disabledMessage, options, value, onChange, changeAction, isLoading, placeholder: placeholderFromProps, size: sizeProp, variant, status, statusVariant, labelTooltip, startIcon, hasClear, hasSelectAll, selectAllLabel: selectAllLabelFromProps, hasSearch, searchPlaceholder: searchPlaceholderFromProps, triggerDisplay, formatValue, maxBadges, renderOption, indicatorPosition, isDefaultOpen, 'data-testid': testId, htmlName, width, xstyle, className, style, }: MultiSelectorProps<T>): React.JSX.Element;
|
|
226
240
|
export declare namespace MultiSelector {
|
|
227
241
|
var displayName: string;
|
|
228
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelector.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/MultiSelector.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSelector.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/MultiSelector.tsx"],"names":[],"mappings":"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"}
|