@astryxdesign/core 0.5.0 → 0.5.1-canary.f64186a
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 +222 -0
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +45 -20
- package/dist/AspectRatio/AspectRatio.d.ts +6 -6
- package/dist/Avatar/Avatar.d.ts +25 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +43 -9
- package/dist/Avatar/index.d.ts +2 -2
- package/dist/Avatar/index.d.ts.map +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts +9 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +5 -2
- package/dist/AvatarGroup/AvatarGroupContext.d.ts +2 -1
- package/dist/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +11 -7
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +26 -2
- package/dist/Banner/Banner.d.ts +10 -1
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +11 -2
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +8 -7
- package/dist/Calendar/Calendar.d.ts +4 -2
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +15 -21
- package/dist/Calendar/hooks/useCalendarDays.js +4 -6
- package/dist/Calendar/hooks/useCalendarNavigation.js +4 -6
- package/dist/Calendar/styles.d.ts +5 -20
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +15 -17
- package/dist/Card/Card.d.ts +12 -12
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +17 -9
- package/dist/Card/index.d.ts +35 -1
- package/dist/Card/index.d.ts.map +1 -1
- package/dist/Card/index.js +21 -1
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +108 -7
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +7 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +15 -4
- package/dist/CodeBlock/highlightRanges.js +1 -1
- package/dist/CodeBlock/highlightStyles.js +13 -13
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +2 -7
- package/dist/ComplexSelector/ComplexSelector.d.ts +10 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +14 -7
- package/dist/DateInput/DateInput.d.ts +43 -0
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +22 -5
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +5 -3
- package/dist/DateInput/MonthYearWheels.d.ts.map +1 -1
- package/dist/DateInput/MonthYearWheels.js +6 -4
- package/dist/DateInput/NativeDateField.d.ts +10 -0
- package/dist/DateInput/NativeDateField.d.ts.map +1 -0
- package/dist/DateInput/NativeDateField.js +494 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +52 -25
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +1 -0
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.d.ts.map +1 -1
- package/dist/DateInput/nativeDateSegments.d.ts +22 -0
- package/dist/DateInput/nativeDateSegments.d.ts.map +1 -0
- package/dist/DateInput/nativeDateSegments.js +111 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +3 -5
- package/dist/DateTimeInput/DateTimeInput.d.ts +23 -24
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +35 -10
- package/dist/DateTimeInput/TouchDateTimeField.d.ts +6 -0
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -0
- package/dist/DateTimeInput/TouchDateTimeField.js +1021 -0
- package/dist/Dialog/Dialog.d.ts +16 -2
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +28 -7
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +4 -13
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +9 -1
- package/dist/Field/InputClearButton.d.ts +9 -3
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +14 -3
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +0 -1
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +104 -3
- package/dist/HoverCard/useHoverCard.d.ts +14 -2
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +7 -1
- package/dist/Icon/Icon.d.ts +4 -2
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/defaultIcons.d.ts +3 -2
- package/dist/Icon/defaultIcons.d.ts.map +1 -1
- package/dist/Icon/defaultIcons.js +7 -0
- package/dist/Icon/globalIconRegistry.d.ts +13 -0
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Icon/globalIconRegistry.js +34 -6
- package/dist/Icon/index.d.ts +1 -1
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/Icon/useIcon.d.ts +5 -2
- package/dist/Icon/useIcon.d.ts.map +1 -1
- package/dist/Icon/useIcon.js +3 -0
- package/dist/Indicator/CheckboxIndicator.d.ts.map +1 -1
- package/dist/Indicator/CheckboxIndicator.js +6 -2
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +2 -2
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +2 -26
- package/dist/Layer/gestureCounter.d.ts +8 -0
- package/dist/Layer/gestureCounter.d.ts.map +1 -0
- package/dist/Layer/gestureCounter.js +53 -0
- package/dist/Layer/useLayer.d.ts +23 -13
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +146 -24
- package/dist/List/List.d.ts +1 -1
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +15 -4
- package/dist/Markdown/Markdown.d.ts +1 -1
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +20 -7
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +5 -3
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/MetadataList/MetadataListItem.js +4 -1
- package/dist/MultiSelector/MultiSelector.d.ts +18 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +58 -11
- package/dist/MultiSelector/hooks.d.ts +7 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +3 -2
- package/dist/NavIcon/NavIcon.d.ts.map +1 -1
- package/dist/NavIcon/NavIcon.js +5 -1
- package/dist/NavItem/navItemStyles.stylex.d.ts +0 -8
- package/dist/NavItem/navItemStyles.stylex.d.ts.map +1 -1
- package/dist/NavItem/navItemStyles.stylex.js +0 -2
- package/dist/NavMenu/NavHeadingMenu.d.ts +1 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +7 -4
- package/dist/NumberInput/NumberInput.d.ts +6 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +95 -126
- package/dist/NumberInput/numberInputCommit.d.ts +34 -0
- package/dist/NumberInput/numberInputCommit.d.ts.map +1 -0
- package/dist/NumberInput/numberInputCommit.js +71 -0
- package/dist/NumberInput/numberParser.d.ts +64 -0
- package/dist/NumberInput/numberParser.d.ts.map +1 -0
- package/dist/NumberInput/numberParser.js +350 -0
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +2 -3
- package/dist/OverflowList/OverflowList.d.ts +41 -1
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +43 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +8 -14
- package/dist/Popover/usePopover.d.ts +15 -41
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +26 -7
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +91 -18
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +4 -2
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +18 -5
- package/dist/Resizable/useResizable.d.ts +19 -1
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +104 -38
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +9 -0
- package/dist/Selector/Selector.d.ts +18 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +92 -21
- package/dist/Selector/hooks.d.ts +7 -1
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +3 -2
- package/dist/SideNav/SideNav.d.ts +6 -1
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +57 -27
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +5 -4
- package/dist/SideNav/SideNavItem.d.ts +29 -4
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +75 -20
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +34 -2
- package/dist/Spinner/Spinner.d.ts +3 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +199 -20
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +6 -1
- package/dist/Stepper/Step.d.ts.map +1 -1
- package/dist/Stepper/Step.js +7 -6
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +5 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +6 -1
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +3 -6
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +73 -4
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +26 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +34 -3
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +25 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +3 -4
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +0 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +13 -8
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +10 -18
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +10 -5
- package/dist/Toast/Toast.d.ts +17 -2
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +77 -11
- package/dist/Toast/ToastViewport.d.ts +1 -0
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +76 -21
- package/dist/Toast/index.d.ts +1 -1
- package/dist/Toast/index.d.ts.map +1 -1
- package/dist/Toast/types.d.ts +38 -0
- package/dist/Toast/types.d.ts.map +1 -1
- package/dist/Toast/useToastGesture.d.ts +26 -0
- package/dist/Toast/useToastGesture.d.ts.map +1 -0
- package/dist/Toast/useToastGesture.js +223 -0
- package/dist/Token/Token.d.ts +1 -1
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +23 -12
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +5 -2
- package/dist/Tokenizer/Tokenizer.d.ts +12 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +31 -21
- package/dist/TopNav/TopNavHeading.js +2 -2
- package/dist/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavItem.js +3 -3
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +30 -9
- package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +3 -3
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +21 -6
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +7 -2
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +2 -2
- package/dist/Typeahead/BaseTypeahead.d.ts +33 -0
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +51 -8
- package/dist/Typeahead/Typeahead.d.ts +8 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +2 -0
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/Typeahead/TypeaheadItem.js +7 -2
- package/dist/astryx.css +87 -22
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -25
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +14 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +46 -10
- package/dist/theme/defineTheme.d.ts +9 -3
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +5 -0
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +24 -4
- package/dist/theme/generateThemeRules.d.ts +21 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +26 -0
- package/dist/theme/syntax/tokens.d.ts +1 -1
- package/dist/theme/syntax/tokens.d.ts.map +1 -1
- package/dist/theme/syntax/tokens.js +5 -2
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +6 -7
- package/dist/utils/dateParser.d.ts +5 -8
- package/dist/utils/dateParser.d.ts.map +1 -1
- package/dist/utils/dateParser.js +10 -11
- package/dist/utils/focusOutline.stylex.d.ts +25 -0
- package/dist/utils/focusOutline.stylex.d.ts.map +1 -1
- package/dist/utils/focusOutline.stylex.js +15 -0
- package/dist/utils/interactionOverlay.stylex.d.ts +26 -0
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -0
- package/dist/utils/interactionOverlay.stylex.js +42 -0
- 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/plainDate.d.ts +11 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +20 -4
- package/locales/af-ZA.json +7 -7
- package/locales/ar-SA.json +7 -7
- package/locales/ca-ES.json +6 -6
- package/locales/cs-CZ.json +7 -7
- package/locales/da-DK.json +7 -7
- package/locales/de-DE.json +7 -7
- package/locales/el-GR.json +7 -7
- package/locales/en.json +178 -6
- package/locales/es-ES.json +6 -6
- package/locales/fi-FI.json +7 -7
- package/locales/fr-FR.json +7 -7
- package/locales/he-IL.json +7 -7
- package/locales/hu-HU.json +7 -7
- package/locales/it-IT.json +7 -7
- package/locales/ja-JP.json +7 -7
- package/locales/ko-KR.json +7 -7
- package/locales/nl-NL.json +7 -7
- package/locales/no-NO.json +7 -7
- package/locales/pl-PL.json +7 -7
- package/locales/pseudo.json +130 -1
- package/locales/pt-BR.json +7 -7
- package/locales/pt-PT.json +7 -7
- package/locales/ro-RO.json +7 -7
- package/locales/ru-RU.json +7 -7
- package/locales/sr-SP.json +7 -7
- package/locales/sv-SE.json +7 -7
- package/locales/tr-TR.json +7 -7
- package/locales/uk-UA.json +7 -7
- package/locales/vi-VN.json +7 -7
- package/locales/zh-CN.json +7 -7
- package/locales/zh-TW.json +7 -7
- package/package.json +4 -5
- package/src/AlertDialog/AlertDialog.doc.mjs +114 -30
- package/src/AlertDialog/AlertDialog.test.tsx +211 -2
- package/src/AlertDialog/AlertDialog.tsx +62 -20
- package/src/AspectRatio/AspectRatio.doc.mjs +3 -3
- package/src/AspectRatio/AspectRatio.tsx +6 -6
- package/src/Avatar/Avatar.doc.mjs +12 -2
- package/src/Avatar/Avatar.test.tsx +80 -0
- package/src/Avatar/Avatar.tsx +64 -14
- package/src/Avatar/index.ts +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +8 -2
- package/src/AvatarGroup/AvatarGroup.test.tsx +24 -0
- package/src/AvatarGroup/AvatarGroup.tsx +12 -4
- package/src/AvatarGroup/AvatarGroupContext.ts +5 -3
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +12 -12
- package/src/Badge/Badge.doc.mjs +3 -2
- package/src/Badge/Badge.test.tsx +32 -3
- package/src/Badge/Badge.tsx +42 -1
- package/src/Banner/Banner.doc.mjs +9 -0
- package/src/Banner/Banner.test.tsx +76 -11
- package/src/Banner/Banner.tsx +21 -2
- package/src/Button/Button.doc.mjs +2 -1
- package/src/Button/Button.test.tsx +19 -4
- package/src/Button/Button.tsx +9 -29
- package/src/ButtonGroup/ButtonGroup.doc.mjs +2 -2
- package/src/ButtonGroup/ButtonGroup.test.tsx +13 -0
- package/src/Calendar/Calendar.doc.mjs +3 -3
- package/src/Calendar/Calendar.test.tsx +112 -0
- package/src/Calendar/Calendar.tsx +18 -16
- package/src/Calendar/hooks/useCalendarDays.ts +4 -4
- package/src/Calendar/hooks/useCalendarNavigation.ts +4 -4
- package/src/Calendar/styles.ts +48 -42
- package/src/Card/Card.doc.mjs +10 -7
- package/src/Card/Card.test.tsx +113 -19
- package/src/Card/Card.tsx +67 -89
- package/src/Card/index.ts +36 -1
- package/src/Carousel/Carousel.doc.mjs +3 -0
- package/src/Carousel/Carousel.test.tsx +360 -0
- package/src/Carousel/Carousel.tsx +116 -15
- package/src/CheckboxInput/CheckboxInput.doc.mjs +2 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +15 -0
- package/src/CheckboxInput/CheckboxInput.tsx +5 -0
- package/src/CodeBlock/CodeBlock.doc.mjs +10 -4
- package/src/CodeBlock/CodeBlock.test.tsx +37 -0
- package/src/CodeBlock/CodeBlock.tsx +20 -4
- package/src/CodeBlock/highlightRanges.ts +1 -1
- package/src/CodeBlock/highlightStyles.ts +13 -13
- package/src/CommandPalette/CommandPaletteItem.tsx +2 -12
- package/src/ComplexSelector/ComplexSelector.doc.mjs +7 -0
- package/src/ComplexSelector/ComplexSelector.test.tsx +183 -0
- package/src/ComplexSelector/ComplexSelector.tsx +22 -12
- package/src/DateInput/DateInput.doc.mjs +16 -0
- package/src/DateInput/DateInput.test.tsx +9 -4
- package/src/DateInput/DateInput.tsx +54 -3
- package/src/DateInput/DateInputTouch.test.tsx +146 -32
- package/src/DateInput/MonthScroller.tsx +5 -1
- package/src/DateInput/MonthYearWheels.tsx +7 -4
- package/src/DateInput/NativeDateField.test.tsx +635 -0
- package/src/DateInput/NativeDateField.tsx +641 -0
- package/src/DateInput/TouchDateField.tsx +83 -33
- package/src/DateInput/Wheel.tsx +1 -0
- package/src/DateInput/index.ts +1 -0
- package/src/DateInput/nativeDateSegments.ts +127 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
- package/src/DateRangeInput/DateRangeInput.test.tsx +46 -0
- package/src/DateRangeInput/DateRangeInput.tsx +8 -13
- package/src/DateTimeInput/DateTimeInput.doc.mjs +38 -21
- package/src/DateTimeInput/DateTimeInput.test.tsx +76 -0
- package/src/DateTimeInput/DateTimeInput.tsx +54 -20
- package/src/DateTimeInput/DateTimeInputTouch.test.tsx +980 -0
- package/src/DateTimeInput/TouchDateTimeField.tsx +1437 -0
- package/src/Dialog/Dialog.test.tsx +185 -18
- package/src/Dialog/Dialog.tsx +35 -11
- package/src/DropdownMenu/DropdownMenu.test.tsx +44 -10
- package/src/DropdownMenu/DropdownMenu.tsx +4 -13
- package/src/Field/FieldLabel.test.tsx +29 -0
- package/src/Field/FieldLabel.tsx +7 -0
- package/src/Field/InputClearButton.test.tsx +15 -1
- package/src/Field/InputClearButton.tsx +28 -4
- package/src/Heading/Heading.tsx +0 -1
- package/src/HoverCard/HoverCard.doc.mjs +8 -2
- package/src/HoverCard/HoverCard.test.tsx +154 -4
- package/src/HoverCard/HoverCard.tsx +137 -3
- package/src/HoverCard/useHoverCard.tsx +23 -3
- package/src/Icon/Icon.test.tsx +55 -1
- package/src/Icon/Icon.tsx +5 -3
- package/src/Icon/defaultIcons.tsx +11 -2
- package/src/Icon/globalIconRegistry.test.tsx +16 -3
- package/src/Icon/globalIconRegistry.tsx +37 -6
- package/src/Icon/index.ts +1 -0
- package/src/Icon/useIcon.ts +9 -2
- package/src/Indicator/CheckboxIndicator.tsx +14 -8
- package/src/Indicator/Indicator.doc.mjs +2 -0
- package/src/Item/Item.tsx +2 -7
- package/src/Kbd/Kbd.test.tsx +0 -17
- package/src/Kbd/Kbd.tsx +2 -26
- package/src/Layer/gestureCounter.ts +57 -0
- package/src/Layer/useLayer.test.tsx +368 -16
- package/src/Layer/useLayer.tsx +208 -35
- package/src/Layout/__tests__/edgeCompensation.test.tsx +1 -1
- package/src/List/List.test.tsx +38 -0
- package/src/List/List.tsx +8 -1
- package/src/Markdown/Markdown.test.tsx +37 -0
- package/src/Markdown/Markdown.tsx +16 -5
- package/src/Markdown/parser.test.ts +33 -0
- package/src/Markdown/parser.ts +9 -3
- package/src/MetadataList/MetadataList.test.tsx +75 -2
- package/src/MetadataList/MetadataListItem.tsx +5 -2
- package/src/MultiSelector/MultiSelector.doc.mjs +22 -1
- package/src/MultiSelector/MultiSelector.test.tsx +205 -0
- package/src/MultiSelector/MultiSelector.tsx +103 -16
- package/src/MultiSelector/hooks.ts +9 -2
- package/src/NavIcon/NavIcon.doc.mjs +8 -2
- package/src/NavIcon/NavIcon.test.tsx +9 -0
- package/src/NavIcon/NavIcon.tsx +5 -1
- package/src/NavItem/navItemStyles.stylex.ts +0 -8
- package/src/NavMenu/NavHeadingMenu.test.tsx +30 -0
- package/src/NavMenu/NavHeadingMenu.tsx +7 -4
- package/src/NumberInput/NumberInput.doc.mjs +26 -7
- package/src/NumberInput/NumberInput.test.tsx +563 -8
- package/src/NumberInput/NumberInput.tsx +77 -131
- package/src/NumberInput/numberInputCommit.test.ts +72 -0
- package/src/NumberInput/numberInputCommit.ts +103 -0
- package/src/NumberInput/numberParser.docblock.test.ts +234 -0
- package/src/NumberInput/numberParser.test.ts +222 -0
- package/src/NumberInput/numberParser.ts +403 -0
- package/src/Outline/Outline.tsx +2 -4
- package/src/OverflowList/OverflowList.doc.mjs +102 -21
- package/src/OverflowList/OverflowList.test.tsx +550 -4
- package/src/OverflowList/OverflowList.tsx +100 -2
- package/src/Pagination/Pagination.test.tsx +3 -2
- package/src/Popover/Popover.doc.mjs +2 -2
- package/src/Popover/Popover.test.tsx +38 -0
- package/src/Popover/Popover.tsx +28 -66
- package/src/Popover/usePopover.tsx +44 -5
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +87 -0
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +64 -0
- package/src/PowerSearch/PowerSearchValueEditor.tsx +109 -10
- package/src/PowerSearch/formatFilterValue.test.ts +16 -1
- package/src/PowerSearch/formatFilterValue.ts +2 -0
- package/src/ProgressBar/ProgressBar.doc.mjs +42 -6
- package/src/ProgressBar/ProgressBar.test.tsx +24 -0
- package/src/ProgressBar/ProgressBar.tsx +28 -8
- package/src/Resizable/Resizable.doc.mjs +2 -2
- package/src/Resizable/useResizable.doc.mjs +21 -2
- package/src/Resizable/useResizable.test.ts +421 -0
- package/src/Resizable/useResizable.ts +133 -48
- package/src/SelectableCard/SelectableCard.doc.mjs +3 -0
- package/src/SelectableCard/SelectableCard.tsx +16 -0
- package/src/Selector/Selector.doc.mjs +14 -0
- package/src/Selector/Selector.source-build.test.mjs +65 -0
- package/src/Selector/Selector.test.tsx +301 -0
- package/src/Selector/Selector.tsx +145 -32
- package/src/Selector/hooks.ts +17 -2
- package/src/SideNav/SideNav.doc.mjs +2 -2
- package/src/SideNav/SideNav.test.tsx +1069 -6
- package/src/SideNav/SideNav.tsx +109 -38
- package/src/SideNav/SideNavHeading.tsx +5 -2
- package/src/SideNav/SideNavItem.doc.mjs +24 -3
- package/src/SideNav/SideNavItem.tsx +134 -44
- package/src/Slider/Slider.test.tsx +106 -1
- package/src/Slider/Slider.tsx +52 -1
- package/src/Spinner/Spinner.doc.mjs +17 -5
- package/src/Spinner/Spinner.test.tsx +164 -0
- package/src/Spinner/Spinner.tsx +252 -22
- package/src/StatusDot/StatusDot.doc.mjs +8 -2
- package/src/StatusDot/StatusDot.test.tsx +9 -0
- package/src/StatusDot/StatusDot.tsx +7 -1
- package/src/Stepper/Step.doc.mjs +1 -1
- package/src/Stepper/Step.tsx +7 -14
- package/src/Switch/Switch.doc.mjs +2 -0
- package/src/Switch/Switch.test.tsx +10 -0
- package/src/Switch/Switch.tsx +3 -0
- package/src/Table/BaseTable.tsx +6 -1
- package/src/Table/Table.doc.mjs +5 -3
- package/src/Table/Table.tsx +3 -8
- package/src/Table/TableBody.doc.mjs +2 -2
- package/src/Table/TableFooter.doc.mjs +1 -1
- package/src/Table/TableHeader.doc.mjs +1 -1
- package/src/Table/plugins/filtering/useTableFiltering.test.tsx +44 -6
- package/src/Table/plugins/filtering/useTableFiltering.tsx +100 -4
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +50 -4
- package/src/Table/plugins/selection/useTableSelection.test.tsx +62 -0
- package/src/Table/plugins/selection/useTableSelection.tsx +25 -2
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
- package/src/Table/useTableGroupedRows.doc.mjs +3 -3
- package/src/Table/useTablePagination.doc.mjs +1 -1
- package/src/Table/useTableSelection.doc.mjs +1 -1
- package/src/Text/Text.test.tsx +44 -0
- package/src/Text/Text.tsx +0 -1
- package/src/TextArea/TextArea.doc.mjs +12 -2
- package/src/TextArea/TextArea.test.tsx +11 -0
- package/src/TextArea/TextArea.tsx +34 -22
- package/src/Timestamp/Timestamp.test.tsx +89 -0
- package/src/Timestamp/Timestamp.tsx +8 -8
- package/src/Timestamp/formatInstant.ts +5 -0
- package/src/Toast/Toast.doc.mjs +213 -44
- package/src/Toast/Toast.tsx +118 -23
- package/src/Toast/ToastViewport.test.tsx +1434 -8
- package/src/Toast/ToastViewport.tsx +85 -14
- package/src/Toast/index.ts +2 -0
- package/src/Toast/types.ts +43 -5
- package/src/Toast/useToastGesture.ts +361 -0
- package/src/Token/Token.test.tsx +95 -0
- package/src/Token/Token.tsx +19 -17
- package/src/Token/TokenLink.tsx +12 -3
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -3
- package/src/Tokenizer/Tokenizer.test.tsx +161 -0
- package/src/Tokenizer/Tokenizer.tsx +49 -24
- package/src/TopNav/TopNavHeading.tsx +2 -2
- package/src/TopNav/TopNavItem.tsx +3 -7
- package/src/TopNav/TopNavMegaMenu.test.tsx +104 -0
- package/src/TopNav/TopNavMegaMenu.tsx +47 -4
- package/src/TopNav/TopNavMegaMenuItem.tsx +10 -9
- package/src/TopNav/TopNavMenu.test.tsx +133 -1
- package/src/TopNav/TopNavMenu.tsx +38 -5
- package/src/TreeList/TreeList.test.tsx +49 -0
- package/src/TreeList/TreeList.tsx +7 -2
- package/src/TreeList/TreeListItem.tsx +2 -7
- package/src/Typeahead/BaseTypeahead.doc.mjs +13 -0
- package/src/Typeahead/BaseTypeahead.tsx +96 -6
- package/src/Typeahead/Typeahead.doc.mjs +6 -0
- package/src/Typeahead/Typeahead.test.tsx +154 -0
- package/src/Typeahead/Typeahead.tsx +9 -0
- package/src/Typeahead/TypeaheadItem.test.tsx +43 -0
- package/src/Typeahead/TypeaheadItem.tsx +8 -1
- package/src/hooks/useAnnounce.doc.mjs +96 -0
- package/src/hooks/useDevWarning.doc.mjs +96 -0
- package/src/hooks/useHotkeys.test.ts +0 -18
- package/src/hooks/useHotkeys.ts +3 -25
- package/src/hooks/useIndicatorFocusRing.doc.mjs +104 -0
- package/src/hooks/useInputStatusIcon.doc.mjs +142 -0
- package/src/hooks/useInteractiveRole.doc.mjs +119 -0
- package/src/hooks/useLongPress.doc.mjs +123 -0
- package/src/hooks/useOverflow.doc.mjs +58 -17
- package/src/hooks/useOverflow.ts +16 -4
- package/src/hooks/useTypeahead.doc.mjs +153 -0
- package/src/index.ts +2 -0
- package/src/raw-import.d.ts +14 -0
- package/src/theme/Theme.test.tsx +104 -2
- package/src/theme/Theme.tsx +49 -14
- package/src/theme/defineTheme.test.ts +23 -0
- package/src/theme/defineTheme.ts +12 -3
- package/src/theme/derivedVarRegistry.test.ts +87 -3
- package/src/theme/derivedVarRegistry.ts +23 -4
- package/src/theme/generateThemeRules.test.ts +99 -1
- package/src/theme/generateThemeRules.ts +28 -0
- package/src/theme/syntax/tokens.ts +5 -2
- package/src/theme/useTheme.test.tsx +10 -0
- package/src/theme/useTheme.ts +16 -10
- package/src/utils/dateParser.test.ts +34 -2
- package/src/utils/dateParser.ts +11 -14
- package/src/utils/focusOutline.stylex.ts +50 -0
- package/src/utils/interactionOverlay.stylex.ts +74 -0
- package/src/utils/isApplePlatform.test.ts +61 -0
- package/src/utils/isApplePlatform.ts +37 -0
- package/src/utils/plainDate.test.ts +46 -0
- package/src/utils/plainDate.ts +18 -3
package/dist/Spinner/Spinner.js
CHANGED
|
@@ -33,6 +33,16 @@ import { themeProps } from "../utils/themeProps.js";
|
|
|
33
33
|
*/
|
|
34
34
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
35
35
|
const ARC_FRACTION = 0.375;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The dash pattern, per unit of diameter: one arc, then the gap that closes
|
|
39
|
+
* the circle. The circumference is `pi x diameter`, so multiplying the
|
|
40
|
+
* resolved diameter by these two constants gives exactly the lengths the
|
|
41
|
+
* default render has always used, and scales them with a themed diameter.
|
|
42
|
+
*/
|
|
43
|
+
const PI = 3.141592653589793;
|
|
44
|
+
const ARC_DASH = PI * ARC_FRACTION;
|
|
45
|
+
const ARC_GAP = PI * (1 - ARC_FRACTION);
|
|
36
46
|
const SIZES = {
|
|
37
47
|
sm: {
|
|
38
48
|
diameter: 10,
|
|
@@ -52,7 +62,12 @@ const SIZES = {
|
|
|
52
62
|
}
|
|
53
63
|
};
|
|
54
64
|
|
|
55
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Opacity the track is drawn at, per shade. `77 / 255` is the `4D` the onMedia
|
|
67
|
+
* track used to append to the token's hex — the same composite, but applied as
|
|
68
|
+
* `stroke-opacity` to a color off the cascade, so it no longer depends on the
|
|
69
|
+
* token being hex notation and it applies to a themed color too.
|
|
70
|
+
*/
|
|
56
71
|
const TRACK_OPACITY = {
|
|
57
72
|
default: 1,
|
|
58
73
|
subtle: 1,
|
|
@@ -60,6 +75,87 @@ const TRACK_OPACITY = {
|
|
|
60
75
|
inherit: 0.3
|
|
61
76
|
};
|
|
62
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Where the resolved geometry lands: the public var, resolved into a registered
|
|
80
|
+
* `<length>` the `calc()`s below can do arithmetic on. The box and the ring
|
|
81
|
+
* read these; the public vars are declared once, on the element carrying the
|
|
82
|
+
* theme target, by `sizeStyles`.
|
|
83
|
+
*/
|
|
84
|
+
const RESOLVED_DIAMETER = '--_spinner-ring-diameter';
|
|
85
|
+
const RESOLVED_STROKE = '--_spinner-ring-stroke';
|
|
86
|
+
const RESOLVED_GEOMETRY_VARS = [RESOLVED_DIAMETER, RESOLVED_STROKE];
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* The composed box size: diameter plus a stroke width on each side.
|
|
90
|
+
*
|
|
91
|
+
* It is deliberately NOT registered, unlike the pair above. The element reads
|
|
92
|
+
* it through an inline `width`/`height` with the size's own default as the
|
|
93
|
+
* `var()` fallback, so a render with no stylesheet — where nothing declares
|
|
94
|
+
* it — still sizes the box the way it always did. A registered property always
|
|
95
|
+
* has a value (its `initial-value`), which would swallow that fallback and
|
|
96
|
+
* collapse the box to zero.
|
|
97
|
+
*/
|
|
98
|
+
const BOX_SIZE = '--_spinner-box-size';
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Register the resolved geometry vars as `<length>`.
|
|
102
|
+
*
|
|
103
|
+
* Both are consumed inside `calc()` — the box adds two stroke widths to a diameter,
|
|
104
|
+
* the circle halves one. Unregistered, a custom property substitutes as text,
|
|
105
|
+
* so whatever a theme wrote lands in the expression verbatim and a bare `0`
|
|
106
|
+
* (a valid length on its own, a `<number>` inside `calc()`) poisons the sum:
|
|
107
|
+
* `calc(28px + 0 * 2)` is invalid at computed-value time and the box loses its
|
|
108
|
+
* size. Registered, the value is already an absolute length by the time the
|
|
109
|
+
* `calc()` sees it, so `0` means `0px` — a zero-width stroke that paints
|
|
110
|
+
* nothing — rather than a bare `0` that invalidates the sum and leaves the box
|
|
111
|
+
* with no size at all. One `stroke-width` drives both circles, so a themed
|
|
112
|
+
* stroke width of `0` hides the arc along with the track; an arc with no track behind
|
|
113
|
+
* it is `--spinner-track-color: transparent`.
|
|
114
|
+
*
|
|
115
|
+
* Only these private vars are registered. The four public ones deliberately
|
|
116
|
+
* are not: a registered property has an `initial-value`, so every element in
|
|
117
|
+
* the document would report a value for it — and
|
|
118
|
+
* `.github/scripts/theme-var-reachability.js` finds a var's declaring element
|
|
119
|
+
* by exactly that test, so registering them would point the guard at `<html>`
|
|
120
|
+
* and report a var no theme can select.
|
|
121
|
+
*/
|
|
122
|
+
function registerSpinnerVars() {
|
|
123
|
+
if (typeof CSS === 'undefined' || typeof CSS.registerProperty !== 'function') {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
for (const name of RESOLVED_GEOMETRY_VARS) {
|
|
127
|
+
try {
|
|
128
|
+
CSS.registerProperty({
|
|
129
|
+
name,
|
|
130
|
+
syntax: '<length>',
|
|
131
|
+
inherits: true,
|
|
132
|
+
initialValue: '0px'
|
|
133
|
+
});
|
|
134
|
+
} catch {
|
|
135
|
+
// Already registered — a second copy of the package on the page, or a
|
|
136
|
+
// fast-refresh re-evaluation. registerProperty throws rather than
|
|
137
|
+
// replacing, and the existing registration is this same one.
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Registering an inherited property with an `initial-value` invalidates style
|
|
143
|
+
// for the whole document, so this runs when the module is evaluated rather
|
|
144
|
+
// than when a spinner mounts. A spinner is the loading indicator: it mounts
|
|
145
|
+
// onto a page that is already rendered, with someone already waiting, and the
|
|
146
|
+
// recalc it triggers there is paid on the full tree. At import the tree is
|
|
147
|
+
// whatever has rendered so far, which for a bundle loaded in the head is
|
|
148
|
+
// nothing.
|
|
149
|
+
//
|
|
150
|
+
// It is safe at module scope in both directions. The `typeof CSS` guard above
|
|
151
|
+
// keeps it out of the server render, and tree-shaking cannot strip it from a
|
|
152
|
+
// build that renders a spinner: core's `sideEffects` allowlist does not name
|
|
153
|
+
// this file, so a bundle that never imports `Spinner` drops the module whole —
|
|
154
|
+
// registration and all, which is the outcome you want — while one that does
|
|
155
|
+
// import it keeps the module, and a bare call is not something a bundler may
|
|
156
|
+
// elide.
|
|
157
|
+
registerSpinnerVars();
|
|
158
|
+
|
|
63
159
|
/**
|
|
64
160
|
* Pin every ring's rotation to the document timeline's origin instead of its
|
|
65
161
|
* own start time, so spinners mounted seconds apart turn in phase.
|
|
@@ -87,10 +183,19 @@ function pinRingsToTimelineOrigin() {
|
|
|
87
183
|
animation.startTime = 0;
|
|
88
184
|
}
|
|
89
185
|
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Ref callback for the ring: the one place a mounted ring touches the DOM.
|
|
189
|
+
*
|
|
190
|
+
* It reads nothing back — the geometry is resolved by the cascade, not in JS.
|
|
191
|
+
*/
|
|
90
192
|
function syncRotationPhase(svg) {
|
|
193
|
+
if (svg == null) {
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
91
196
|
// jsdom implements no Web Animations, and this runs in every consumer's
|
|
92
197
|
// component tests.
|
|
93
|
-
if (
|
|
198
|
+
if (typeof svg.getAnimations !== 'function') {
|
|
94
199
|
return undefined;
|
|
95
200
|
}
|
|
96
201
|
pendingRings.add(svg);
|
|
@@ -126,50 +231,104 @@ const styles = {
|
|
|
126
231
|
kgQiWS: "x1ku5rj1",
|
|
127
232
|
kVQacm: "xb3r6kr",
|
|
128
233
|
kXLuUW: "xxymvpz",
|
|
234
|
+
"--_spinner-ring-diameter": "x2lq4xu",
|
|
235
|
+
"--_spinner-ring-stroke": "x10qssua",
|
|
236
|
+
"--_spinner-box-size": "x69vvuq",
|
|
129
237
|
$$css: true
|
|
130
238
|
},
|
|
131
239
|
circle: {
|
|
132
240
|
kDwRjp: "xbh8q5q",
|
|
133
241
|
kU5bRw: "x1owpc8m",
|
|
242
|
+
kPFa82: "xio8zfp",
|
|
243
|
+
kfJifR: "xgw3ha0",
|
|
244
|
+
$$css: true
|
|
245
|
+
},
|
|
246
|
+
track: {
|
|
247
|
+
kjVXCG: "xalkhop",
|
|
134
248
|
$$css: true
|
|
135
249
|
}
|
|
136
250
|
};
|
|
137
|
-
|
|
251
|
+
|
|
252
|
+
// What each named `size` and `shade` resolve to. Both groups DECLARE the four
|
|
253
|
+
// public vars, on the element that carries the `spinner` theme target, and
|
|
254
|
+
// everything downstream reads them — so a theme's `@layer astryx-theme` rule
|
|
255
|
+
// against `.astryx-spinner.xl` overrides the default the same way it does for
|
|
256
|
+
// `--tree-list-indent` or `--button-focus-offset`, e.g.
|
|
257
|
+
// spinner: { 'size:xl': { '--spinner-diameter': '40px' } }.
|
|
258
|
+
//
|
|
259
|
+
// Declaring is only safe because #5410 moved the compiled StyleX CSS inside
|
|
260
|
+
// `@layer astryx-base`. Before it, StyleX emitted custom-property
|
|
261
|
+
// declarations at priority 0 and therefore OUTSIDE its layers, and an
|
|
262
|
+
// unlayered declaration beats every layer — so a StyleX-declared
|
|
263
|
+
// `--spinner-diameter: 10px` shadowed the theme's own rule no matter how
|
|
264
|
+
// specific the theme got. An earlier revision of this component worked around
|
|
265
|
+
// that by never declaring the public var and reading it with the default as a
|
|
266
|
+
// `var()` fallback; that is no longer necessary, and the fallback shape has a
|
|
267
|
+
// cost of its own — with nothing declaring the var,
|
|
268
|
+
// `theme-var-reachability.js` cannot find an element to check, so a documented
|
|
269
|
+
// var reads as unreachable.
|
|
270
|
+
const sizeStyles = {
|
|
271
|
+
sm: {
|
|
272
|
+
"--spinner-diameter": "x11wm0hx",
|
|
273
|
+
"--spinner-stroke-width": "xls98ul",
|
|
274
|
+
$$css: true
|
|
275
|
+
},
|
|
276
|
+
md: {
|
|
277
|
+
"--spinner-diameter": "x15pu9g6",
|
|
278
|
+
"--spinner-stroke-width": "xr0wkrm",
|
|
279
|
+
$$css: true
|
|
280
|
+
},
|
|
281
|
+
lg: {
|
|
282
|
+
"--spinner-diameter": "x1w424tr",
|
|
283
|
+
"--spinner-stroke-width": "xr0wkrm",
|
|
284
|
+
$$css: true
|
|
285
|
+
},
|
|
286
|
+
xl: {
|
|
287
|
+
"--spinner-diameter": "x1orj1z9",
|
|
288
|
+
"--spinner-stroke-width": "x7y2bof",
|
|
289
|
+
$$css: true
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
const shadeStyles = {
|
|
138
293
|
default: {
|
|
139
|
-
|
|
294
|
+
"--spinner-color": "xt1b8mc",
|
|
295
|
+
"--spinner-track-color": "xspt9s2",
|
|
140
296
|
$$css: true
|
|
141
297
|
},
|
|
142
298
|
subtle: {
|
|
143
|
-
|
|
299
|
+
"--spinner-color": "x1jevo6s",
|
|
300
|
+
"--spinner-track-color": "xspt9s2",
|
|
144
301
|
$$css: true
|
|
145
302
|
},
|
|
146
303
|
onMedia: {
|
|
147
|
-
|
|
304
|
+
"--spinner-color": "x13u6jys",
|
|
305
|
+
"--spinner-track-color": "x1ufpcf6",
|
|
148
306
|
$$css: true
|
|
149
307
|
},
|
|
150
308
|
inherit: {
|
|
151
|
-
|
|
309
|
+
"--spinner-color": "x1uzk0gl",
|
|
310
|
+
"--spinner-track-color": "xbfzqbu",
|
|
152
311
|
$$css: true
|
|
153
312
|
}
|
|
154
313
|
};
|
|
155
|
-
|
|
314
|
+
|
|
315
|
+
// The track's alpha is a property, not a color: it composites over whatever
|
|
316
|
+
// color the shade or the theme supplies. `77 / 255` is the `4D` the onMedia
|
|
317
|
+
// token's hex used to carry.
|
|
318
|
+
const trackOpacityStyles = {
|
|
156
319
|
default: {
|
|
157
|
-
kjVXCG: "xpi25hw",
|
|
158
320
|
kDd8S0: "x1g350g8",
|
|
159
321
|
$$css: true
|
|
160
322
|
},
|
|
161
323
|
subtle: {
|
|
162
|
-
kjVXCG: "xpi25hw",
|
|
163
324
|
kDd8S0: "x1g350g8",
|
|
164
325
|
$$css: true
|
|
165
326
|
},
|
|
166
327
|
onMedia: {
|
|
167
|
-
kjVXCG: "x16lqycg",
|
|
168
328
|
kDd8S0: "x1smxkh6",
|
|
169
329
|
$$css: true
|
|
170
330
|
},
|
|
171
331
|
inherit: {
|
|
172
|
-
kjVXCG: "x73je2i",
|
|
173
332
|
kDd8S0: "x7bo2k",
|
|
174
333
|
$$css: true
|
|
175
334
|
}
|
|
@@ -236,10 +395,24 @@ export function Spinner({
|
|
|
236
395
|
...mergeProps(hasLabel ? '' : themeProps('spinner', {
|
|
237
396
|
size,
|
|
238
397
|
shade
|
|
239
|
-
}), stylex.props(styles.spinner,
|
|
398
|
+
}), stylex.props(styles.spinner,
|
|
399
|
+
// The defaults are declared on whichever element carries the theme
|
|
400
|
+
// target, and only there: when a label moves the target to the
|
|
401
|
+
// wrapper, this span must inherit the wrapper's value rather than
|
|
402
|
+
// declare its own, which would shadow a theme's override with the
|
|
403
|
+
// default it is trying to replace.
|
|
404
|
+
!hasLabel && sizeStyles[size], !hasLabel && shadeStyles[shade], !hasLabel && xstyle), hasLabel ? undefined : className,
|
|
405
|
+
// The box is sized here, after the caller's `style`, exactly as it was
|
|
406
|
+
// before the geometry became themeable: the component's own size wins
|
|
407
|
+
// over a `style={{width}}` a caller passes, and the precedence between
|
|
408
|
+
// the two is unchanged by this PR. What the value is made of has
|
|
409
|
+
// changed — it is the composed var rather than a number — so a themed
|
|
410
|
+
// diameter moves the box with the ring. The fallback is the size's own
|
|
411
|
+
// frame, for the render where no stylesheet has declared the var.
|
|
412
|
+
{
|
|
240
413
|
...(hasLabel ? {} : style),
|
|
241
|
-
width: frameSize
|
|
242
|
-
height: frameSize
|
|
414
|
+
width: `var(${BOX_SIZE}, ${frameSize}px)`,
|
|
415
|
+
height: `var(${BOX_SIZE}, ${frameSize}px)`
|
|
243
416
|
}),
|
|
244
417
|
children: /*#__PURE__*/_jsxs("svg", {
|
|
245
418
|
ref: syncRotationPhase,
|
|
@@ -248,22 +421,28 @@ export function Spinner({
|
|
|
248
421
|
viewBox: `0 0 ${frameSize} ${frameSize}`,
|
|
249
422
|
"aria-hidden": "true",
|
|
250
423
|
...{
|
|
251
|
-
className: "xlp1x4z x1lliihq x1so62im x14qxm4i xnh0sag xa4qsjk x1ka1v4i x1esw782"
|
|
424
|
+
className: "xlp1x4z x1lliihq x1so62im x1rea2x4 x14qxm4i xnh0sag xa4qsjk x1ka1v4i x1esw782"
|
|
252
425
|
},
|
|
253
426
|
children: [/*#__PURE__*/_jsx("circle", {
|
|
254
427
|
cx: center,
|
|
255
428
|
cy: center,
|
|
256
429
|
r: diameter / 2,
|
|
257
430
|
strokeWidth: border,
|
|
258
|
-
...stylex.props(styles.circle,
|
|
431
|
+
...stylex.props(styles.circle, styles.track, trackOpacityStyles[shade])
|
|
259
432
|
}), /*#__PURE__*/_jsx("circle", {
|
|
260
433
|
cx: center,
|
|
261
434
|
cy: center,
|
|
262
435
|
r: diameter / 2,
|
|
263
|
-
strokeWidth: border
|
|
436
|
+
strokeWidth: border
|
|
437
|
+
// The size's own dash, for the render with no stylesheet. The rule
|
|
438
|
+
// above composes the same lengths from the resolved diameter, so a
|
|
439
|
+
// themed ring keeps this fraction of arc rather than this length.
|
|
440
|
+
,
|
|
264
441
|
strokeDasharray: `${arcLength} ${circumference - arcLength}`,
|
|
265
442
|
transform: `rotate(-90 ${center} ${center})`,
|
|
266
|
-
...
|
|
443
|
+
...{
|
|
444
|
+
className: "xbh8q5q x1owpc8m xio8zfp xgw3ha0 xtve3lm x1vy8frr"
|
|
445
|
+
}
|
|
267
446
|
})]
|
|
268
447
|
})
|
|
269
448
|
});
|
|
@@ -277,7 +456,7 @@ export function Spinner({
|
|
|
277
456
|
...mergeProps(themeProps('spinner', {
|
|
278
457
|
size,
|
|
279
458
|
shade
|
|
280
|
-
}), stylex.props(styles.wrapper, xstyle), className, style),
|
|
459
|
+
}), stylex.props(styles.wrapper, sizeStyles[size], shadeStyles[shade], xstyle), className, style),
|
|
281
460
|
children: [spinner, typeof label === 'string' ? /*#__PURE__*/_jsx(Text, {
|
|
282
461
|
id: labelId,
|
|
283
462
|
type: "body",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDot.d.ts","sourceRoot":"","sources":["../../src/StatusDot/StatusDot.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAoFjD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,eAAe,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,KAAK,EACL,SAAiB,EACjB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,+
|
|
1
|
+
{"version":3,"file":"StatusDot.d.ts","sourceRoot":"","sources":["../../src/StatusDot/StatusDot.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAI5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAoFjD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,eAAe,CAAC;IAChE,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,KAAK,EACL,SAAiB,EACjB,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,+BAyChB;yBApDe,SAAS"}
|
|
@@ -143,8 +143,13 @@ export function StatusDot({
|
|
|
143
143
|
ref: ref,
|
|
144
144
|
role: "img",
|
|
145
145
|
"aria-label": label,
|
|
146
|
-
...mergeProps(themeProps('
|
|
146
|
+
...mergeProps(themeProps('status-dot', {
|
|
147
147
|
variant
|
|
148
|
+
},
|
|
149
|
+
// `statusdot` ran the compound name together; themes styling it keep
|
|
150
|
+
// working until the next major.
|
|
151
|
+
{
|
|
152
|
+
legacyNames: ['statusdot']
|
|
148
153
|
}), stylex.props(styles.base, variants[variant], isPulsing && styles.pulsing, isPulsing && styles.reducedMotion, xstyle), className, style),
|
|
149
154
|
...props,
|
|
150
155
|
children: showsIcon && /*#__PURE__*/_jsx("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../src/Stepper/Step.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../src/Stepper/Step.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAoBhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,aAAa,CAAC;IACzD,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC5C;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAgtBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,UAAkB,EAClB,UAAkB,EAClB,UAAU,EACV,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EAAE,SAAS,+BAqtBX;yBAtuBe,IAAI"}
|
package/dist/Stepper/Step.js
CHANGED
|
@@ -36,6 +36,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
36
36
|
import "../theme/tokens.stylex.js";
|
|
37
37
|
import { colorVars, spacingVars, radiusVars, fontWeightVars, typeScaleVars, textSizeVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
38
38
|
import { focusOutlineStyles, mergeProps, isRenderable, themeProps } from "../utils/index.js";
|
|
39
|
+
import { interactionOverlayStyles } from "../utils/interactionOverlay.stylex.js";
|
|
39
40
|
import { Icon } from "../Icon/index.js";
|
|
40
41
|
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
41
42
|
import { useTranslator } from "../i18n/index.js";
|
|
@@ -445,7 +446,7 @@ const styles = {
|
|
|
445
446
|
k1ekBW: "x15406qy",
|
|
446
447
|
kIyJzY: "xkvfbh3 x12w9bfk",
|
|
447
448
|
kAMwcw: "xlr8y92",
|
|
448
|
-
kWkggS: "xjbqb8w
|
|
449
|
+
kWkggS: "xjbqb8w",
|
|
449
450
|
$$css: true
|
|
450
451
|
},
|
|
451
452
|
otVerticalRoot: {
|
|
@@ -469,7 +470,7 @@ const styles = {
|
|
|
469
470
|
k1ekBW: "x15406qy",
|
|
470
471
|
kIyJzY: "xkvfbh3 x12w9bfk",
|
|
471
472
|
kAMwcw: "xlr8y92",
|
|
472
|
-
kWkggS: "xjbqb8w
|
|
473
|
+
kWkggS: "xjbqb8w",
|
|
473
474
|
$$css: true
|
|
474
475
|
},
|
|
475
476
|
otRowWrap: {
|
|
@@ -945,7 +946,7 @@ export function Step({
|
|
|
945
946
|
type: "button",
|
|
946
947
|
onClick: handleClick,
|
|
947
948
|
"aria-label": stepAriaLabel,
|
|
948
|
-
...stylex.props(styles.otInteractive, styles.otRowWrap, styles.otRowPadV(densitySpace), focusOutlineStyles.focusVisible),
|
|
949
|
+
...stylex.props(styles.otInteractive, interactionOverlayStyles.backgroundColor, styles.otRowWrap, styles.otRowPadV(densitySpace), focusOutlineStyles.focusVisible),
|
|
949
950
|
children: inner
|
|
950
951
|
}) : /*#__PURE__*/_jsx("div", {
|
|
951
952
|
...stylex.props(styles.otRowWrap, styles.otRowPadV(densitySpace)),
|
|
@@ -982,7 +983,7 @@ export function Step({
|
|
|
982
983
|
type: "button",
|
|
983
984
|
onClick: handleClick,
|
|
984
985
|
"aria-label": stepAriaLabel,
|
|
985
|
-
...stylex.props(styles.otInteractive, styles.otColWrap, styles.otPadBlock(densitySpace), focusOutlineStyles.focusVisible),
|
|
986
|
+
...stylex.props(styles.otInteractive, interactionOverlayStyles.backgroundColor, styles.otColWrap, styles.otPadBlock(densitySpace), focusOutlineStyles.focusVisible),
|
|
986
987
|
children: innerH
|
|
987
988
|
}) : /*#__PURE__*/_jsx("div", {
|
|
988
989
|
...stylex.props(styles.otColWrap, styles.otPadBlock(densitySpace)),
|
|
@@ -1010,7 +1011,7 @@ export function Step({
|
|
|
1010
1011
|
type: "button",
|
|
1011
1012
|
onClick: handleClick,
|
|
1012
1013
|
"aria-label": stepAriaLabel,
|
|
1013
|
-
...stylex.props(styles.buttonReset, focusOutlineStyles.focusVisible, density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
1014
|
+
...stylex.props(styles.buttonReset, interactionOverlayStyles.backgroundColor, focusOutlineStyles.focusVisible, density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
1014
1015
|
children: [iconLabelNode, descriptionNode]
|
|
1015
1016
|
}) : /*#__PURE__*/_jsxs("div", {
|
|
1016
1017
|
...stylex.props(density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
@@ -1034,7 +1035,7 @@ export function Step({
|
|
|
1034
1035
|
type: "button",
|
|
1035
1036
|
onClick: handleClick,
|
|
1036
1037
|
"aria-label": stepAriaLabel,
|
|
1037
|
-
...stylex.props(styles.buttonReset, focusOutlineStyles.focusVisible, density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
1038
|
+
...stylex.props(styles.buttonReset, interactionOverlayStyles.backgroundColor, focusOutlineStyles.focusVisible, density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
1038
1039
|
children: [iconLabelNode, descriptionNode]
|
|
1039
1040
|
}) : /*#__PURE__*/_jsxs("div", {
|
|
1040
1041
|
...stylex.props(density === 'compact' && styles.densityCompact, density === 'balanced' && styles.densityBalanced, density === 'spacious' && styles.densitySpacious, styles.densityInline(separatedDensityInline)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKhD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAqR9C,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC9D,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACxE;;OAEG;IACH,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAC7B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,KAAK,EACL,UAAkB,EAClB,QAAQ,EACR,eAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAqB,EACrB,YAAoB,EACpB,MAAM,EACN,IAAW,EACX,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,WAAW,+
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"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"}
|
package/dist/Switch/Switch.js
CHANGED
|
@@ -381,7 +381,11 @@ export function Switch({
|
|
|
381
381
|
});
|
|
382
382
|
const labelElement = /*#__PURE__*/_jsx("div", {
|
|
383
383
|
...stylex.props(styles.labelWrapper, labelWrapperSizeStyles[size]),
|
|
384
|
-
children: /*#__PURE__*/_jsx(FieldLabel
|
|
384
|
+
children: /*#__PURE__*/_jsx(FieldLabel
|
|
385
|
+
// See CheckboxInput: the control names its own label target rather
|
|
386
|
+
// than the label guessing at its placement.
|
|
387
|
+
, {
|
|
388
|
+
...themeProps('switch-label'),
|
|
385
389
|
label: label,
|
|
386
390
|
inputID: id,
|
|
387
391
|
isLabelHidden: isLabelHidden,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseTable.d.ts","sourceRoot":"","sources":["../../src/Table/BaseTable.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAkB,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAGhF,OAAO,KAAK,EACV,cAAc,EAYf,MAAM,SAAS,CAAC;AA2mBjB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,EAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3E,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACrD,YAAY,CAAC"}
|
package/dist/Table/BaseTable.js
CHANGED
|
@@ -410,7 +410,12 @@ function BaseTableInner({
|
|
|
410
410
|
'aria-rowcount': ariaRowCount
|
|
411
411
|
} : null),
|
|
412
412
|
...tableRenderProps.htmlProps,
|
|
413
|
-
...mergeProps(themeProps('
|
|
413
|
+
...mergeProps(themeProps('table', undefined, {
|
|
414
|
+
// `base-table` was a second root on the same <table> element that
|
|
415
|
+
// `table` names; themes styling it keep working until the next
|
|
416
|
+
// major.
|
|
417
|
+
legacyNames: ['base-table']
|
|
418
|
+
}), stylex.props(...tableRenderProps.xstyle, xstyle), [tableRenderProps.htmlProps.className, className].filter(Boolean).join(' ') || undefined, tableStyle),
|
|
414
419
|
...rest,
|
|
415
420
|
children: children ? children : /*#__PURE__*/_jsxs(_Fragment, {
|
|
416
421
|
children: [hasColumns && /*#__PURE__*/_jsx(TableHeader, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,WAAW,EAEZ,MAAM,SAAS,CAAC;AAQjB,oDAAoD;AAEpD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,kCAAkC;AAElC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,8DAA8D;AAE9D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD;;;;;GAKG;AAEH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,IAAI,CACzE,cAAc,CAAC,CAAC,CAAC,EACjB,SAAS,GAAG,YAAY,CACzB;IACC,uCAAuC;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table/Table.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,GAAG,EAAC,MAAM,OAAO,CAAC;AAQ3D,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,WAAW,EAEZ,MAAM,SAAS,CAAC;AAQjB,oDAAoD;AAEpD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/D,kCAAkC;AAElC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,8DAA8D;AAE9D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEpD;;;;;GAKG;AAEH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,IAAI,CACzE,cAAc,CAAC,CAAC,CAAC,EACjB,SAAS,GAAG,YAAY,CACzB;IACC,uCAAuC;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C;AAqJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,KAAK,EAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;CAAC,KACjD,YAAY,CAAC"}
|
package/dist/Table/Table.js
CHANGED
|
@@ -105,14 +105,11 @@ function TableScrollWrapper({
|
|
|
105
105
|
function buildTableStylePlugin() {
|
|
106
106
|
return {
|
|
107
107
|
transformTable(props) {
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
// The `astryx-table` class itself comes from BaseTable, which renders
|
|
109
|
+
// the <table> element and now names it `table` (with `base-table` as its
|
|
110
|
+
// legacy name). Adding it here too would put the token on twice.
|
|
110
111
|
return {
|
|
111
112
|
...props,
|
|
112
|
-
htmlProps: {
|
|
113
|
-
...props.htmlProps,
|
|
114
|
-
className: existingClass ? `${existingClass} ${tableClass}` : tableClass
|
|
115
|
-
},
|
|
116
113
|
xstyle: [...props.xstyle, tableStyles.base]
|
|
117
114
|
};
|
|
118
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableFiltering.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/filtering/useTableFiltering.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTableFiltering.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/filtering/useTableFiltering.tsx"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,iBAAiB,EAGjB,iBAAiB,EASlB,MAAM,4BAA4B,CAAC;AAMpC,uFAAuF;AACvF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC;CACvC,CAAC,EACF,YAAY,EAAE,iBAAiB,GAC9B,iBAAiB,EAAE,CAoCrB;AAwDD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAMzE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,kEAAkE;IAClE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5E;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;;;;;OAQG;IACH,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAuxBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,MAAM,EAAE,uBAAuB,GAC9B,WAAW,CAAC,CAAC,CAAC,CAiGhB"}
|
|
@@ -21,13 +21,14 @@ import { Button } from "../../../Button/index.js";
|
|
|
21
21
|
import { Popover } from "../../../Popover/index.js";
|
|
22
22
|
import { TextInput } from "../../../TextInput/index.js";
|
|
23
23
|
import { NumberInput } from "../../../NumberInput/index.js";
|
|
24
|
+
import { parseNumberInput, resolveNumberInputCommit } from "../../../NumberInput/numberInputCommit.js";
|
|
24
25
|
import { DateInput } from "../../../DateInput/index.js";
|
|
25
26
|
import { TimeInput } from "../../../TimeInput/index.js";
|
|
26
27
|
import { Selector } from "../../../Selector/index.js";
|
|
27
28
|
import { MultiSelector } from "../../../MultiSelector/index.js";
|
|
28
29
|
import { Tokenizer } from "../../../Tokenizer/index.js";
|
|
29
30
|
import { proportional } from "../../columnUtils.js";
|
|
30
|
-
import { useTranslator } from "../../../i18n/index.js";
|
|
31
|
+
import { useLocale, useTranslator } from "../../../i18n/index.js";
|
|
31
32
|
|
|
32
33
|
// =============================================================================
|
|
33
34
|
// Filter Value Types
|
|
@@ -310,6 +311,59 @@ function TextFilterControl({
|
|
|
310
311
|
hasClear: hasClear
|
|
311
312
|
});
|
|
312
313
|
}
|
|
314
|
+
function useLiveNumberFilter({
|
|
315
|
+
value,
|
|
316
|
+
min,
|
|
317
|
+
max,
|
|
318
|
+
hasClear,
|
|
319
|
+
onChange
|
|
320
|
+
}) {
|
|
321
|
+
const locale = useLocale();
|
|
322
|
+
const editStartValueRef = useRef(value);
|
|
323
|
+
const handleChange = useCallback(nextValue => {
|
|
324
|
+
editStartValueRef.current = nextValue;
|
|
325
|
+
onChange(nextValue);
|
|
326
|
+
}, [onChange]);
|
|
327
|
+
const handleFocus = useCallback(() => {
|
|
328
|
+
editStartValueRef.current = value;
|
|
329
|
+
}, [value]);
|
|
330
|
+
const handleInput = useCallback(event => {
|
|
331
|
+
const nextValue = parseNumberInput(event.currentTarget.value, {
|
|
332
|
+
min,
|
|
333
|
+
max,
|
|
334
|
+
locale
|
|
335
|
+
});
|
|
336
|
+
if (nextValue !== null && nextValue !== value) {
|
|
337
|
+
onChange(nextValue);
|
|
338
|
+
}
|
|
339
|
+
}, [locale, max, min, onChange, value]);
|
|
340
|
+
const restoreRejectedDraft = useCallback(input => {
|
|
341
|
+
const decision = resolveNumberInputCommit(input.value, {
|
|
342
|
+
min,
|
|
343
|
+
max,
|
|
344
|
+
locale,
|
|
345
|
+
hasClear
|
|
346
|
+
});
|
|
347
|
+
if (decision.type === 'revert' && value !== editStartValueRef.current) {
|
|
348
|
+
onChange(editStartValueRef.current);
|
|
349
|
+
}
|
|
350
|
+
}, [hasClear, locale, max, min, onChange, value]);
|
|
351
|
+
const handleBlur = useCallback(event => {
|
|
352
|
+
restoreRejectedDraft(event.currentTarget);
|
|
353
|
+
}, [restoreRejectedDraft]);
|
|
354
|
+
const handleKeyDown = useCallback(event => {
|
|
355
|
+
if (event.key === 'Enter') {
|
|
356
|
+
restoreRejectedDraft(event.currentTarget);
|
|
357
|
+
}
|
|
358
|
+
}, [restoreRejectedDraft]);
|
|
359
|
+
return {
|
|
360
|
+
handleBlur,
|
|
361
|
+
handleChange,
|
|
362
|
+
handleFocus,
|
|
363
|
+
handleInput,
|
|
364
|
+
handleKeyDown
|
|
365
|
+
};
|
|
366
|
+
}
|
|
313
367
|
function NumberFilterControl({
|
|
314
368
|
columnKey,
|
|
315
369
|
header,
|
|
@@ -323,9 +377,16 @@ function NumberFilterControl({
|
|
|
323
377
|
const value = config.filters[columnKey];
|
|
324
378
|
const numValue = typeof value === 'number' ? value : null;
|
|
325
379
|
const step = operatorValue.type === 'integer' ? 1 : null;
|
|
326
|
-
const
|
|
380
|
+
const updateFilter = useCallback(newValue => {
|
|
327
381
|
store.getConfig().onFilterChange(columnKey, newValue);
|
|
328
382
|
}, [store, columnKey]);
|
|
383
|
+
const liveFilter = useLiveNumberFilter({
|
|
384
|
+
value: numValue,
|
|
385
|
+
min: operatorValue.minValue,
|
|
386
|
+
max: operatorValue.maxValue,
|
|
387
|
+
hasClear: !!hasClear,
|
|
388
|
+
onChange: updateFilter
|
|
389
|
+
});
|
|
329
390
|
if (hasClear) {
|
|
330
391
|
return /*#__PURE__*/_jsx(NumberInput, {
|
|
331
392
|
label: t('@astryx.tableFiltering.filterByColumn', {
|
|
@@ -333,7 +394,11 @@ function NumberFilterControl({
|
|
|
333
394
|
}),
|
|
334
395
|
isLabelHidden: true,
|
|
335
396
|
value: numValue,
|
|
336
|
-
onChange: handleChange,
|
|
397
|
+
onChange: liveFilter.handleChange,
|
|
398
|
+
onFocus: liveFilter.handleFocus,
|
|
399
|
+
onInput: liveFilter.handleInput,
|
|
400
|
+
onBlur: liveFilter.handleBlur,
|
|
401
|
+
onKeyDown: liveFilter.handleKeyDown,
|
|
337
402
|
placeholder: t('@astryx.tableFiltering.filterByColumn', {
|
|
338
403
|
header
|
|
339
404
|
}),
|
|
@@ -350,7 +415,11 @@ function NumberFilterControl({
|
|
|
350
415
|
}),
|
|
351
416
|
isLabelHidden: true,
|
|
352
417
|
value: numValue,
|
|
353
|
-
onChange: handleChange,
|
|
418
|
+
onChange: liveFilter.handleChange,
|
|
419
|
+
onFocus: liveFilter.handleFocus,
|
|
420
|
+
onInput: liveFilter.handleInput,
|
|
421
|
+
onBlur: liveFilter.handleBlur,
|
|
422
|
+
onKeyDown: liveFilter.handleKeyDown,
|
|
354
423
|
placeholder: t('@astryx.tableFiltering.filterByColumn', {
|
|
355
424
|
header
|
|
356
425
|
}),
|
|
@@ -73,6 +73,32 @@ export interface UseTableGroupedRowsResult<T extends Record<string, unknown>> {
|
|
|
73
73
|
* plugins={{grouped: grouped.plugin}}
|
|
74
74
|
* />;
|
|
75
75
|
* ```
|
|
76
|
+
*
|
|
77
|
+
* ## Pairing with pagination
|
|
78
|
+
*
|
|
79
|
+
* Grouping runs on the rows it is handed, so the order is filter, sort, slice,
|
|
80
|
+
* then group. Sort by the group key first and the reader's own keys second —
|
|
81
|
+
* the same `ORDER BY group, sort` a backend would run. That keeps a section's
|
|
82
|
+
* rows contiguous in the result set, so pages fill sections in order and new
|
|
83
|
+
* rows always land at the bottom of the table. Slice a differently-ordered
|
|
84
|
+
* list and every page holds a scatter of sections instead, so loading more
|
|
85
|
+
* splices rows into the middle and new headings appear above the fold.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```
|
|
89
|
+
* const ordered = useMemo(
|
|
90
|
+
* () => [...filtered].sort((a, b) => byTeam(a, b) || bySortKeys(a, b)),
|
|
91
|
+
* [filtered, sortKeys],
|
|
92
|
+
* );
|
|
93
|
+
* const page = ordered.slice(0, loadedCount);
|
|
94
|
+
*
|
|
95
|
+
* const grouped = useTableGroupedRows({
|
|
96
|
+
* data: page,
|
|
97
|
+
* groupBy: r => r.team,
|
|
98
|
+
* collapsedGroups,
|
|
99
|
+
* onToggleGroup,
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
76
102
|
*/
|
|
77
103
|
export declare function useTableGroupedRows<T extends Record<string, unknown>>(config: UseTableGroupedRowsConfig<T>): UseTableGroupedRowsResult<T>;
|
|
78
104
|
//# sourceMappingURL=useTableGroupedRows.d.ts.map
|