@multiplatform.one/components 7.11.0 → 7.16.0
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/README.md +2 -2
- package/dist/cjs/Accordion/index.cjs +2 -6
- package/dist/cjs/Accordion/index.native.js +3 -7
- package/dist/cjs/Accordion/index.native.js.map +1 -1
- package/dist/cjs/Alert/index.native.js.map +1 -1
- package/dist/cjs/AnimateHeight/index.cjs +1 -3
- package/dist/cjs/AnimateHeight/index.native.js +1 -3
- package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
- package/dist/cjs/Avatar/getInitials.native.js.map +1 -1
- package/dist/cjs/Avatar/index.native.js.map +1 -1
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Button.native.js.map +1 -1
- package/dist/cjs/Card.native.js.map +1 -1
- package/dist/cjs/CardFooter.native.js.map +1 -1
- package/dist/cjs/CardHeader.native.js.map +1 -1
- package/dist/cjs/Carousel/index.cjs +2 -1
- package/dist/cjs/Carousel/index.native.js +3 -2
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +13 -3
- package/dist/cjs/Chip/index.native.js +13 -3
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/Collapsible.native.js.map +1 -1
- package/dist/cjs/ContextMenu/index.native.js.map +1 -1
- package/dist/cjs/CopyField/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
- package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
- package/dist/cjs/Heading.native.js.map +1 -1
- package/dist/cjs/Meter/index.native.js +1 -1
- package/dist/cjs/Meter/index.native.js.map +1 -1
- package/dist/cjs/Meter/meter.native.js.map +1 -1
- package/dist/cjs/Pagination.native.js +1 -1
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/Quote/index.native.js.map +1 -1
- package/dist/cjs/ScrollView/index.cjs +28 -0
- package/dist/cjs/ScrollView/index.native.js +72 -0
- package/dist/cjs/ScrollView/index.native.js.map +1 -0
- package/dist/cjs/Separator/index.native.js.map +1 -1
- package/dist/cjs/SheetModal/detents.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.native.js +70 -22
- package/dist/cjs/SheetModal/index.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.cjs +1 -13
- package/dist/cjs/Skeleton/index.native.js +1 -13
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/SkipLink/index.native.js.map +1 -1
- package/dist/cjs/SortableList/SortableHandle.native.js.map +1 -1
- package/dist/cjs/SortableList/index.native.js.map +1 -1
- package/dist/cjs/SortableList/useSortableRows.native.js.map +1 -1
- package/dist/cjs/Tabs/index.cjs +4 -7
- package/dist/cjs/Tabs/index.native.js +4 -7
- package/dist/cjs/Tabs/index.native.js.map +1 -1
- package/dist/cjs/Text.cjs +2 -0
- package/dist/cjs/Text.native.js +2 -0
- package/dist/cjs/Text.native.js.map +1 -1
- package/dist/cjs/Toast/index.native.js.map +1 -1
- package/dist/cjs/Toast/store.native.js.map +1 -1
- package/dist/cjs/Tooltip/nativePress.native.js.map +1 -1
- package/dist/cjs/Tooltip/tooltipShared.native.js.map +1 -1
- package/dist/cjs/TreeSelect/index.cjs +55 -52
- package/dist/cjs/TreeSelect/index.native.js +56 -53
- package/dist/cjs/TreeSelect/index.native.js.map +1 -1
- package/dist/cjs/TreeSelect/treeSelectModel.native.js.map +1 -1
- package/dist/cjs/Video/PlayerChrome.cjs +3 -9
- package/dist/cjs/Video/PlayerChrome.native.js +3 -9
- package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
- package/dist/cjs/Video/VideoFrame.native.js.map +1 -1
- package/dist/cjs/Video/types.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wizard/index.native.js +2 -2
- package/dist/cjs/Wizard/index.native.js.map +1 -1
- package/dist/cjs/actions/ActionBar.native.js.map +1 -1
- package/dist/cjs/actions/DestructiveAction.native.js.map +1 -1
- package/dist/cjs/actions/devWarn.native.js.map +1 -1
- package/dist/cjs/actions/index.native.js.map +1 -1
- package/dist/cjs/actions/severity.native.js.map +1 -1
- package/dist/cjs/charts/Axis.native.js.map +1 -1
- package/dist/cjs/charts/BarChart.native.js.map +1 -1
- package/dist/cjs/charts/ChartDataView.native.js.map +1 -1
- package/dist/cjs/charts/ChartSurface.native.js.map +1 -1
- package/dist/cjs/charts/LineChart.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/charts/Sparkline.native.js.map +1 -1
- package/dist/cjs/charts/accessibility.native.js.map +1 -1
- package/dist/cjs/charts/composeChart.native.js.map +1 -1
- package/dist/cjs/charts/index.native.js.map +1 -1
- package/dist/cjs/charts/math.cjs +18 -0
- package/dist/cjs/charts/math.native.js +18 -0
- package/dist/cjs/charts/math.native.js.map +1 -1
- package/dist/cjs/charts/series.cjs +17 -8
- package/dist/cjs/charts/series.native.js +17 -8
- package/dist/cjs/charts/series.native.js.map +1 -1
- package/dist/cjs/charts/svg.cjs +6 -0
- package/dist/cjs/charts/svg.native.js +6 -0
- package/dist/cjs/charts/svg.native.js.map +1 -1
- package/dist/cjs/charts/types.native.js.map +1 -1
- package/dist/cjs/charts/useChartTheme.cjs +3 -9
- package/dist/cjs/charts/useChartTheme.native.js +4 -10
- package/dist/cjs/charts/useChartTheme.native.js.map +1 -1
- package/dist/cjs/code/Code/index.cjs +6 -0
- package/dist/cjs/code/Code/index.native.js +7 -4
- package/dist/cjs/code/Code/index.native.js.map +1 -1
- package/dist/cjs/code/CodeBlock/index.cjs +4 -5
- package/dist/cjs/code/CodeBlock/index.native.js +10 -11
- package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
- package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/cjs/code/Highlighter/index.native.js.map +1 -1
- package/dist/cjs/code/Pre/index.native.js.map +1 -1
- package/dist/cjs/code/index.native.js +5 -5
- package/dist/cjs/code/index.native.js.map +1 -1
- package/dist/cjs/componentColors.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/cjs/feedback/NotifyHost.native.js +2 -2
- package/dist/cjs/feedback/NotifyHost.native.js.map +1 -1
- package/dist/cjs/feedback/copy.native.js.map +1 -1
- package/dist/cjs/feedback/index.native.js.map +1 -1
- package/dist/cjs/feedback/notify.native.js.map +1 -1
- package/dist/cjs/feedback/route.native.js.map +1 -1
- package/dist/cjs/feedback/store.native.js.map +1 -1
- package/dist/cjs/hooks/index.native.js +1 -1
- package/dist/cjs/hooks/index.native.js.map +1 -1
- package/dist/cjs/hooks/useClipboard.native.js.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle.native.js.map +1 -1
- package/dist/cjs/icons/CheckRegular.native.js.map +1 -1
- package/dist/cjs/icons/MinusRegular.native.js.map +1 -1
- package/dist/cjs/icons/index.native.js.map +1 -1
- package/dist/cjs/icons/lucide.native.js.map +1 -1
- package/dist/cjs/icons/themed.cjs +2 -1
- package/dist/cjs/icons/themed.native.js +2 -1
- package/dist/cjs/icons/themed.native.js.map +1 -1
- package/dist/cjs/images/Image/ImageFrame.native.js +1 -1
- package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/cjs/images/Image/index.native.js +1 -1
- package/dist/cjs/images/Image/shared.native.js +1 -1
- package/dist/cjs/images/Image/shared.native.js.map +1 -1
- package/dist/cjs/images/Image/types.native.js.map +1 -1
- package/dist/cjs/images/index.native.js.map +1 -1
- package/dist/cjs/index.native.js +29 -29
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/knobImmuneExports.cjs +3 -3
- package/dist/cjs/knobImmuneExports.native.js +3 -3
- package/dist/cjs/knobImmuneExports.native.js.map +1 -1
- package/dist/cjs/layouts/AsyncBoundary.native.js +2 -2
- package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/cjs/layouts/Debug/index.native.js.map +1 -1
- package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
- package/dist/cjs/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
- package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
- package/dist/cjs/layouts/PaneScaffold.cjs +70 -42
- package/dist/cjs/layouts/PaneScaffold.native.js +75 -48
- package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/cjs/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +2 -1
- package/dist/cjs/layouts/attachments.native.js +3 -2
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/cjs/layouts/index.native.js +3 -3
- package/dist/cjs/layouts/index.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +2 -1
- package/dist/cjs/layouts/page.native.js +2 -1
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/cjs/layouts/sidebar.cjs +1 -3
- package/dist/cjs/layouts/sidebar.native.js +1 -3
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/cjs/layouts/tags.native.js +1 -1
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +9 -1
- package/dist/cjs/layouts/timeline.native.js +11 -3
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/layouts/toolbar.native.js.map +1 -1
- package/dist/cjs/shared/actionScan.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/textRidesText.native.js.map +1 -1
- package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/cjs/surfaces.cjs +0 -32
- package/dist/cjs/surfaces.native.js +1 -33
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/tamagui.cjs +2 -1
- package/dist/cjs/tamagui.native.js +2 -1
- package/dist/cjs/tamagui.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/utils/setTinted.native.js.map +1 -1
- package/dist/cjs/utils/unwrapText.native.js.map +1 -1
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.native.js +1 -1
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Gantt.native.js +1 -1
- package/dist/cjs/views/Gantt.native.js.map +1 -1
- package/dist/cjs/views/ImageGrid.native.js +1 -1
- package/dist/cjs/views/ImageGrid.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +1 -0
- package/dist/cjs/views/Kanban.native.js +3 -1
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/List.cjs +4 -4
- package/dist/cjs/views/List.native.js +7 -7
- package/dist/cjs/views/List.native.js.map +1 -1
- package/dist/cjs/views/Matrix.cjs +568 -0
- package/dist/cjs/views/Matrix.native.js +612 -0
- package/dist/cjs/views/Matrix.native.js.map +1 -0
- package/dist/cjs/views/ReportBuilder.native.js +1 -1
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/cjs/views/calendarMath.native.js.map +1 -1
- package/dist/cjs/views/ganttMath.cjs +2 -0
- package/dist/cjs/views/ganttMath.native.js +2 -0
- package/dist/cjs/views/ganttMath.native.js.map +1 -1
- package/dist/cjs/views/index.cjs +16 -0
- package/dist/cjs/views/index.native.js +17 -1
- package/dist/cjs/views/index.native.js.map +1 -1
- package/dist/cjs/views/kanbanDnd.native.js.map +1 -1
- package/dist/cjs/views/matrixMath.cjs +157 -0
- package/dist/cjs/views/matrixMath.native.js +229 -0
- package/dist/cjs/views/matrixMath.native.js.map +1 -0
- package/dist/cjs/views/treeViewDnd.native.js.map +1 -1
- package/dist/cjs/views/treeViewLayout.native.js.map +1 -1
- package/dist/cjs/views/treeViewMotion.native.js.map +1 -1
- package/dist/cjs/views/treeViewReveal.native.js.map +1 -1
- package/dist/esm/Accordion/index.mjs +3 -7
- package/dist/esm/Accordion/index.mjs.map +1 -1
- package/dist/esm/Accordion/index.native.js +3 -7
- package/dist/esm/Accordion/index.native.js.map +1 -1
- package/dist/esm/AnimateHeight/index.mjs +2 -4
- package/dist/esm/AnimateHeight/index.mjs.map +1 -1
- package/dist/esm/AnimateHeight/index.native.js +2 -4
- package/dist/esm/AnimateHeight/index.native.js.map +1 -1
- package/dist/esm/Avatar/getInitials.native.js.map +1 -1
- package/dist/esm/Avatar/index.native.js.map +1 -1
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Button.native.js.map +1 -1
- package/dist/esm/Carousel/index.mjs +2 -1
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +2 -1
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +15 -5
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +15 -5
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/Collapsible.native.js.map +1 -1
- package/dist/esm/ContextMenu/index.native.js.map +1 -1
- package/dist/esm/CopyField/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.native.js.map +1 -1
- package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
- package/dist/esm/Heading.native.js.map +1 -1
- package/dist/esm/Meter/index.native.js.map +1 -1
- package/dist/esm/Meter/meter.native.js.map +1 -1
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/Quote/index.native.js.map +1 -1
- package/dist/esm/ScrollView/index.mjs +3 -0
- package/dist/esm/ScrollView/index.mjs.map +1 -0
- package/dist/esm/ScrollView/index.native.js +44 -0
- package/dist/esm/ScrollView/index.native.js.map +1 -0
- package/dist/esm/Separator/index.native.js.map +1 -1
- package/dist/esm/SheetModal/detents.native.js.map +1 -1
- package/dist/esm/SheetModal/index.native.js +71 -23
- package/dist/esm/SheetModal/index.native.js.map +1 -1
- package/dist/esm/Skeleton/index.mjs +1 -13
- package/dist/esm/Skeleton/index.mjs.map +1 -1
- package/dist/esm/Skeleton/index.native.js +1 -13
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/SkipLink/index.native.js.map +1 -1
- package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
- package/dist/esm/SortableList/index.native.js.map +1 -1
- package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
- package/dist/esm/Tabs/index.mjs +5 -8
- package/dist/esm/Tabs/index.mjs.map +1 -1
- package/dist/esm/Tabs/index.native.js +5 -8
- package/dist/esm/Tabs/index.native.js.map +1 -1
- package/dist/esm/Text.mjs +3 -1
- package/dist/esm/Text.mjs.map +1 -1
- package/dist/esm/Text.native.js +3 -1
- package/dist/esm/Text.native.js.map +1 -1
- package/dist/esm/Toast/index.native.js.map +1 -1
- package/dist/esm/Toast/store.native.js.map +1 -1
- package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
- package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
- package/dist/esm/TreeSelect/index.mjs +56 -53
- package/dist/esm/TreeSelect/index.mjs.map +1 -1
- package/dist/esm/TreeSelect/index.native.js +56 -53
- package/dist/esm/TreeSelect/index.native.js.map +1 -1
- package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
- package/dist/esm/Video/PlayerChrome.mjs +4 -10
- package/dist/esm/Video/PlayerChrome.mjs.map +1 -1
- package/dist/esm/Video/PlayerChrome.native.js +4 -10
- package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
- package/dist/esm/Video/VideoFrame.native.js.map +1 -1
- package/dist/esm/Video/types.native.js.map +1 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wizard/index.native.js.map +1 -1
- package/dist/esm/actions/ActionBar.native.js.map +1 -1
- package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
- package/dist/esm/actions/devWarn.native.js.map +1 -1
- package/dist/esm/actions/index.native.js.map +1 -1
- package/dist/esm/actions/severity.native.js.map +1 -1
- package/dist/esm/charts/Axis.native.js.map +1 -1
- package/dist/esm/charts/BarChart.native.js.map +1 -1
- package/dist/esm/charts/ChartDataView.native.js.map +1 -1
- package/dist/esm/charts/ChartSurface.native.js.map +1 -1
- package/dist/esm/charts/LineChart.native.js.map +1 -1
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/charts/Sparkline.native.js.map +1 -1
- package/dist/esm/charts/accessibility.native.js.map +1 -1
- package/dist/esm/charts/composeChart.native.js.map +1 -1
- package/dist/esm/charts/index.native.js.map +1 -1
- package/dist/esm/charts/math.mjs +18 -1
- package/dist/esm/charts/math.mjs.map +1 -1
- package/dist/esm/charts/math.native.js +18 -1
- package/dist/esm/charts/math.native.js.map +1 -1
- package/dist/esm/charts/series.mjs +19 -10
- package/dist/esm/charts/series.mjs.map +1 -1
- package/dist/esm/charts/series.native.js +19 -10
- package/dist/esm/charts/series.native.js.map +1 -1
- package/dist/esm/charts/svg.mjs +6 -1
- package/dist/esm/charts/svg.mjs.map +1 -1
- package/dist/esm/charts/svg.native.js +6 -1
- package/dist/esm/charts/svg.native.js.map +1 -1
- package/dist/esm/charts/types.native.js.map +1 -1
- package/dist/esm/charts/useChartTheme.mjs +4 -10
- package/dist/esm/charts/useChartTheme.mjs.map +1 -1
- package/dist/esm/charts/useChartTheme.native.js +5 -11
- package/dist/esm/charts/useChartTheme.native.js.map +1 -1
- package/dist/esm/code/Code/index.mjs +6 -0
- package/dist/esm/code/Code/index.mjs.map +1 -1
- package/dist/esm/code/Code/index.native.js +10 -7
- package/dist/esm/code/Code/index.native.js.map +1 -1
- package/dist/esm/code/CodeBlock/index.mjs +5 -6
- package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
- package/dist/esm/code/CodeBlock/index.native.js +5 -6
- package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
- package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/esm/code/Highlighter/index.native.js.map +1 -1
- package/dist/esm/code/Pre/index.native.js.map +1 -1
- package/dist/esm/code/index.native.js.map +1 -1
- package/dist/esm/componentColors.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
- package/dist/esm/feedback/copy.native.js.map +1 -1
- package/dist/esm/feedback/index.native.js.map +1 -1
- package/dist/esm/feedback/notify.native.js.map +1 -1
- package/dist/esm/feedback/route.native.js.map +1 -1
- package/dist/esm/feedback/store.native.js.map +1 -1
- package/dist/esm/hooks/index.native.js.map +1 -1
- package/dist/esm/hooks/useClipboard.native.js.map +1 -1
- package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
- package/dist/esm/icons/CheckRegular.native.js.map +1 -1
- package/dist/esm/icons/MinusRegular.native.js.map +1 -1
- package/dist/esm/icons/index.native.js.map +1 -1
- package/dist/esm/icons/lucide.native.js.map +1 -1
- package/dist/esm/icons/themed.mjs +3 -2
- package/dist/esm/icons/themed.mjs.map +1 -1
- package/dist/esm/icons/themed.native.js +3 -2
- package/dist/esm/icons/themed.native.js.map +1 -1
- package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/esm/images/Image/shared.native.js.map +1 -1
- package/dist/esm/images/Image/types.native.js.map +1 -1
- package/dist/esm/images/index.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/knobImmuneExports.mjs +3 -3
- package/dist/esm/knobImmuneExports.native.js +3 -3
- package/dist/esm/knobImmuneExports.native.js.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/esm/layouts/Debug/index.native.js.map +1 -1
- package/dist/esm/layouts/EmptyState.native.js.map +1 -1
- package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
- package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
- package/dist/esm/layouts/PaneScaffold.mjs +70 -42
- package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
- package/dist/esm/layouts/PaneScaffold.native.js +75 -48
- package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +3 -2
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +3 -2
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/esm/layouts/index.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +3 -2
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +3 -2
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/esm/layouts/sidebar.mjs +2 -4
- package/dist/esm/layouts/sidebar.mjs.map +1 -1
- package/dist/esm/layouts/sidebar.native.js +2 -4
- package/dist/esm/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +11 -3
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +11 -3
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/layouts/toolbar.native.js.map +1 -1
- package/dist/esm/shared/actionScan.native.js.map +1 -1
- package/dist/esm/shared/i18n.native.js.map +1 -1
- package/dist/esm/shared/t.native.js.map +1 -1
- package/dist/esm/shared/textRidesText.native.js.map +1 -1
- package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/esm/surfaces.mjs +1 -33
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +1 -33
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/tamagui.mjs +2 -1
- package/dist/esm/tamagui.mjs.map +1 -1
- package/dist/esm/tamagui.native.js +2 -1
- package/dist/esm/tamagui.native.js.map +1 -1
- package/dist/esm/testSetup.native.js.map +1 -1
- package/dist/esm/utils/setTinted.native.js.map +1 -1
- package/dist/esm/utils/unwrapText.native.js.map +1 -1
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Gantt.native.js.map +1 -1
- package/dist/esm/views/ImageGrid.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +1 -0
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +3 -1
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/List.mjs +5 -5
- package/dist/esm/views/List.mjs.map +1 -1
- package/dist/esm/views/List.native.js +8 -8
- package/dist/esm/views/List.native.js.map +1 -1
- package/dist/esm/views/Matrix.mjs +543 -0
- package/dist/esm/views/Matrix.mjs.map +1 -0
- package/dist/esm/views/Matrix.native.js +573 -0
- package/dist/esm/views/Matrix.native.js.map +1 -0
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/calendarMath.native.js.map +1 -1
- package/dist/esm/views/ganttMath.mjs +1 -1
- package/dist/esm/views/ganttMath.mjs.map +1 -1
- package/dist/esm/views/ganttMath.native.js +1 -1
- package/dist/esm/views/ganttMath.native.js.map +1 -1
- package/dist/esm/views/index.mjs +4 -2
- package/dist/esm/views/index.mjs.map +1 -1
- package/dist/esm/views/index.native.js +4 -2
- package/dist/esm/views/index.native.js.map +1 -1
- package/dist/esm/views/kanbanDnd.native.js.map +1 -1
- package/dist/esm/views/matrixMath.mjs +122 -0
- package/dist/esm/views/matrixMath.mjs.map +1 -0
- package/dist/esm/views/matrixMath.native.js +191 -0
- package/dist/esm/views/matrixMath.native.js.map +1 -0
- package/dist/esm/views/treeViewDnd.native.js.map +1 -1
- package/dist/esm/views/treeViewLayout.native.js.map +1 -1
- package/dist/esm/views/treeViewMotion.native.js.map +1 -1
- package/dist/esm/views/treeViewReveal.native.js.map +1 -1
- package/dist/jsx/Accordion/index.mjs +3 -7
- package/dist/jsx/Accordion/index.mjs.map +1 -1
- package/dist/jsx/Accordion/index.native.js +2 -6
- package/dist/jsx/Accordion/index.native.js.map +1 -1
- package/dist/jsx/AnimateHeight/index.mjs +2 -4
- package/dist/jsx/AnimateHeight/index.mjs.map +1 -1
- package/dist/jsx/AnimateHeight/index.native.js +1 -3
- package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
- package/dist/jsx/Carousel/index.mjs +2 -1
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +2 -1
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +15 -5
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +13 -3
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ScrollView/index.mjs +3 -0
- package/dist/jsx/ScrollView/index.mjs.map +1 -0
- package/dist/jsx/ScrollView/index.native.js +72 -0
- package/dist/jsx/ScrollView/index.native.js.map +1 -0
- package/dist/jsx/SheetModal/index.native.js +70 -22
- package/dist/jsx/SheetModal/index.native.js.map +1 -1
- package/dist/jsx/Skeleton/index.mjs +1 -13
- package/dist/jsx/Skeleton/index.mjs.map +1 -1
- package/dist/jsx/Skeleton/index.native.js +1 -13
- package/dist/jsx/Skeleton/index.native.js.map +1 -1
- package/dist/jsx/Tabs/index.mjs +5 -8
- package/dist/jsx/Tabs/index.mjs.map +1 -1
- package/dist/jsx/Tabs/index.native.js +4 -7
- package/dist/jsx/Tabs/index.native.js.map +1 -1
- package/dist/jsx/Text.mjs +3 -1
- package/dist/jsx/Text.mjs.map +1 -1
- package/dist/jsx/Text.native.js +2 -0
- package/dist/jsx/Text.native.js.map +1 -1
- package/dist/jsx/TreeSelect/index.mjs +56 -53
- package/dist/jsx/TreeSelect/index.mjs.map +1 -1
- package/dist/jsx/TreeSelect/index.native.js +55 -52
- package/dist/jsx/TreeSelect/index.native.js.map +1 -1
- package/dist/jsx/Video/PlayerChrome.mjs +4 -10
- package/dist/jsx/Video/PlayerChrome.mjs.map +1 -1
- package/dist/jsx/Video/PlayerChrome.native.js +3 -9
- package/dist/jsx/Video/PlayerChrome.native.js.map +1 -1
- package/dist/jsx/charts/math.mjs +18 -1
- package/dist/jsx/charts/math.mjs.map +1 -1
- package/dist/jsx/charts/math.native.js +18 -0
- package/dist/jsx/charts/math.native.js.map +1 -1
- package/dist/jsx/charts/series.mjs +19 -10
- package/dist/jsx/charts/series.mjs.map +1 -1
- package/dist/jsx/charts/series.native.js +17 -8
- package/dist/jsx/charts/series.native.js.map +1 -1
- package/dist/jsx/charts/svg.mjs +6 -1
- package/dist/jsx/charts/svg.mjs.map +1 -1
- package/dist/jsx/charts/svg.native.js +6 -0
- package/dist/jsx/charts/svg.native.js.map +1 -1
- package/dist/jsx/charts/useChartTheme.mjs +4 -10
- package/dist/jsx/charts/useChartTheme.mjs.map +1 -1
- package/dist/jsx/charts/useChartTheme.native.js +4 -10
- package/dist/jsx/charts/useChartTheme.native.js.map +1 -1
- package/dist/jsx/code/Code/index.mjs +6 -0
- package/dist/jsx/code/Code/index.mjs.map +1 -1
- package/dist/jsx/code/Code/index.native.js +7 -4
- package/dist/jsx/code/Code/index.native.js.map +1 -1
- package/dist/jsx/code/CodeBlock/index.mjs +5 -6
- package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
- package/dist/jsx/code/CodeBlock/index.native.js +4 -5
- package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
- package/dist/jsx/icons/themed.mjs +3 -2
- package/dist/jsx/icons/themed.mjs.map +1 -1
- package/dist/jsx/icons/themed.native.js +2 -1
- package/dist/jsx/icons/themed.native.js.map +1 -1
- package/dist/jsx/knobImmuneExports.mjs +3 -3
- package/dist/jsx/knobImmuneExports.native.js +3 -3
- package/dist/jsx/layouts/PaneScaffold.mjs +70 -42
- package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
- package/dist/jsx/layouts/PaneScaffold.native.js +75 -48
- package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +3 -2
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +2 -1
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +3 -2
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +2 -1
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/sidebar.mjs +2 -4
- package/dist/jsx/layouts/sidebar.mjs.map +1 -1
- package/dist/jsx/layouts/sidebar.native.js +1 -3
- package/dist/jsx/layouts/sidebar.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +11 -3
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +9 -1
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/surfaces.mjs +1 -33
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +0 -32
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/tamagui.mjs +2 -1
- package/dist/jsx/tamagui.mjs.map +1 -1
- package/dist/jsx/tamagui.native.js +2 -1
- package/dist/jsx/tamagui.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +1 -0
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +3 -1
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/List.mjs +5 -5
- package/dist/jsx/views/List.mjs.map +1 -1
- package/dist/jsx/views/List.native.js +7 -7
- package/dist/jsx/views/List.native.js.map +1 -1
- package/dist/jsx/views/Matrix.mjs +543 -0
- package/dist/jsx/views/Matrix.mjs.map +1 -0
- package/dist/jsx/views/Matrix.native.js +612 -0
- package/dist/jsx/views/Matrix.native.js.map +1 -0
- package/dist/jsx/views/ganttMath.mjs +1 -1
- package/dist/jsx/views/ganttMath.mjs.map +1 -1
- package/dist/jsx/views/ganttMath.native.js +2 -0
- package/dist/jsx/views/ganttMath.native.js.map +1 -1
- package/dist/jsx/views/index.mjs +4 -2
- package/dist/jsx/views/index.mjs.map +1 -1
- package/dist/jsx/views/index.native.js +16 -0
- package/dist/jsx/views/index.native.js.map +1 -1
- package/dist/jsx/views/matrixMath.mjs +122 -0
- package/dist/jsx/views/matrixMath.mjs.map +1 -0
- package/dist/jsx/views/matrixMath.native.js +229 -0
- package/dist/jsx/views/matrixMath.native.js.map +1 -0
- package/package.json +10 -10
- package/src/Accordion/Accordion.spec.tsx +20 -0
- package/src/Accordion/index.tsx +7 -3
- package/src/AnimateHeight/index.tsx +143 -142
- package/src/Carousel/index.tsx +2 -1
- package/src/Chip/Chip.borderLadder.spec.tsx +54 -0
- package/src/Chip/Chip.pressSlop.spec.tsx +57 -0
- package/src/Chip/Chip.spec.tsx +21 -16
- package/src/Chip/index.tsx +25 -3
- package/src/Heading.native.spec.tsx +1 -1
- package/src/ScrollView/ScrollView.native.spec.tsx +157 -0
- package/src/ScrollView/index.native.tsx +45 -0
- package/src/ScrollView/index.tsx +2 -0
- package/src/Separator/index.tsx +3 -3
- package/src/SheetModal/SheetModal.detentLayout.spec.tsx +173 -0
- package/src/SheetModal/SheetModal.touch.spec.tsx +63 -0
- package/src/SheetModal/index.native.tsx +95 -17
- package/src/Skeleton/Skeleton.spec.tsx +3 -3
- package/src/Skeleton/index.tsx +2 -15
- package/src/Tabs/Tabs.hydration.spec.tsx +123 -0
- package/src/Tabs/index.tsx +4 -3
- package/src/Text.spec.tsx +32 -2
- package/src/Text.tsx +7 -6
- package/src/Toast/Toast.spec.tsx +50 -0
- package/src/Tooltip/Tooltip.spec.tsx +55 -2
- package/src/TreeSelect/TreeSelect.spec.tsx +15 -15
- package/src/TreeSelect/index.tsx +53 -50
- package/src/Video/PlayerChrome.tsx +4 -3
- package/src/Wheel/Wheel.spec.tsx +4 -4
- package/src/adjacency.l1.spec.tsx +175 -0
- package/src/charts/charts.spec.tsx +49 -6
- package/src/charts/math.spec.ts +30 -0
- package/src/charts/math.ts +36 -0
- package/src/charts/series.tsx +14 -9
- package/src/charts/svg.ts +13 -0
- package/src/charts/useChartTheme.ts +14 -15
- package/src/code/Code/code.spec.tsx +2 -19
- package/src/code/Code/index.tsx +0 -6
- package/src/code/CodeBlock/index.tsx +5 -3
- package/src/code/highlightedCode.spec.tsx +2 -2
- package/src/code/hostProps.spec.tsx +55 -0
- package/src/icons/themed.hydration.spec.tsx +60 -0
- package/src/icons/themed.tsx +3 -6
- package/src/knobImmuneExports.ts +3 -3
- package/src/layouts/PaneScaffold.spec.tsx +148 -2
- package/src/layouts/PaneScaffold.stories.tsx +33 -1
- package/src/layouts/PaneScaffold.tsx +101 -48
- package/src/layouts/attachments.radius.spec.tsx +74 -0
- package/src/layouts/attachments.tsx +3 -1
- package/src/layouts/page.designLaw.spec.tsx +20 -0
- package/src/layouts/page.tsx +2 -0
- package/src/layouts/sidebar.tsx +2 -3
- package/src/layouts/timeline-radius.spec.tsx +38 -0
- package/src/layouts/timeline.tsx +16 -1
- package/src/overlayElevation.spec.tsx +39 -51
- package/src/surfaces.spec.tsx +13 -10
- package/src/surfaces.tsx +4 -33
- package/src/tamagui.spec.ts +4 -3
- package/src/tamagui.ts +4 -1
- package/src/textAccentSecondary.spec.tsx +100 -2
- package/src/views/Kanban.native.tsx +3 -1
- package/src/views/Kanban.spec.tsx +15 -0
- package/src/views/Kanban.tsx +1 -0
- package/src/views/List.spec.tsx +50 -0
- package/src/views/List.tsx +13 -5
- package/src/views/Matrix.spec.tsx +339 -0
- package/src/views/Matrix.stories.spec.tsx +68 -0
- package/src/views/Matrix.stories.tsx +153 -0
- package/src/views/Matrix.tsx +738 -0
- package/src/views/ganttMath.ts +4 -2
- package/src/views/index.ts +30 -0
- package/src/views/matrixMath.spec.ts +237 -0
- package/src/views/matrixMath.ts +251 -0
- package/src/views/views.spec.tsx +3 -1
- package/types/Accordion/index.d.ts.map +1 -1
- package/types/AnimateHeight/index.d.ts.map +1 -1
- package/types/Carousel/index.d.ts.map +1 -1
- package/types/Chip/index.d.ts.map +1 -1
- package/types/ScrollView/index.d.ts +3 -0
- package/types/ScrollView/index.d.ts.map +1 -0
- package/types/ScrollView/index.native.d.ts +4 -0
- package/types/ScrollView/index.native.d.ts.map +1 -0
- package/types/Separator/index.d.ts +3 -3
- package/types/SheetModal/index.native.d.ts.map +1 -1
- package/types/Skeleton/index.d.ts.map +1 -1
- package/types/Tabs/index.d.ts.map +1 -1
- package/types/Text.d.ts.map +1 -1
- package/types/TreeSelect/index.d.ts.map +1 -1
- package/types/Video/PlayerChrome.d.ts.map +1 -1
- package/types/charts/math.d.ts +18 -0
- package/types/charts/math.d.ts.map +1 -1
- package/types/charts/series.d.ts +2 -1
- package/types/charts/series.d.ts.map +1 -1
- package/types/charts/svg.d.ts +8 -0
- package/types/charts/svg.d.ts.map +1 -1
- package/types/charts/useChartTheme.d.ts +4 -3
- package/types/charts/useChartTheme.d.ts.map +1 -1
- package/types/code/Code/index.d.ts.map +1 -1
- package/types/code/CodeBlock/index.d.ts.map +1 -1
- package/types/icons/themed.d.ts.map +1 -1
- package/types/layouts/PaneScaffold.d.ts +14 -1
- package/types/layouts/PaneScaffold.d.ts.map +1 -1
- package/types/layouts/attachments.d.ts.map +1 -1
- package/types/layouts/page.d.ts.map +1 -1
- package/types/layouts/sidebar.d.ts.map +1 -1
- package/types/layouts/timeline.d.ts.map +1 -1
- package/types/surfaces.d.ts.map +1 -1
- package/types/tamagui.d.ts +2 -1
- package/types/tamagui.d.ts.map +1 -1
- package/types/views/Kanban.native.d.ts.map +1 -1
- package/types/views/List.d.ts.map +1 -1
- package/types/views/Matrix.d.ts +102 -0
- package/types/views/Matrix.d.ts.map +1 -0
- package/types/views/ganttMath.d.ts +4 -0
- package/types/views/ganttMath.d.ts.map +1 -1
- package/types/views/index.d.ts +3 -1
- package/types/views/index.d.ts.map +1 -1
- package/types/views/matrixMath.d.ts +114 -0
- package/types/views/matrixMath.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","matrixMath_exports","alignMatrixRange","bucketName","bucketStart","computeMatrixRange","generateBuckets","localDateKey","matrixCellIntensity","matrixCellKey","matrixMaxValue","nextBucketStart","summarizeMatrixCells","module","exports","import_theme","require","import_ganttMath","date","y","getFullYear","m","String","getMonth","padStart","d","getDate","rule","firstDayOfWeek","arguments","length","startOfDay","startOfWeek","startOfMonth","start","addDays","Date","range","lastIncluded","end","lastDay","getTime","dates","today","min","max","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","err","return","lo","hi","formatAbsoluteDate","year","formatMonthYear","aligned","majors","generateTicks","filter","tick","major","map","index","_ref","_tick_label"],"sources":["../../../src/views/matrixMath.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/components",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.16.0",
|
|
4
4
|
"description": "multiplatform.one ui components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "git+https://
|
|
18
|
+
"url": "git+https://git.corp.bitspur.com/multiplatform.one/mpo.git",
|
|
19
19
|
"directory": "public/components"
|
|
20
20
|
},
|
|
21
21
|
"source": "src/index.ts",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@floating-ui/react": "^0.27.19",
|
|
60
|
-
"@multiplatform.one/forms": "7.
|
|
61
|
-
"@multiplatform.one/i18n": "7.
|
|
62
|
-
"@multiplatform.one/platform": "7.
|
|
63
|
-
"@multiplatform.one/router": "7.
|
|
64
|
-
"@multiplatform.one/theme": "7.
|
|
60
|
+
"@multiplatform.one/forms": "7.16.0",
|
|
61
|
+
"@multiplatform.one/i18n": "7.16.0",
|
|
62
|
+
"@multiplatform.one/platform": "7.16.0",
|
|
63
|
+
"@multiplatform.one/router": "7.16.0",
|
|
64
|
+
"@multiplatform.one/theme": "7.16.0",
|
|
65
65
|
"@phosphor-icons/react": "^2.1.10",
|
|
66
66
|
"@shopify/flash-list": "^2.3.1",
|
|
67
67
|
"@tamagui/core": "2.7.6",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"tamagui": "2.7.6"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@multiplatform.one/config": "7.
|
|
88
|
-
"@multiplatform.one/storybook": "7.
|
|
89
|
-
"@multiplatform.one/test-utils": "7.
|
|
87
|
+
"@multiplatform.one/config": "7.16.0",
|
|
88
|
+
"@multiplatform.one/storybook": "7.16.0",
|
|
89
|
+
"@multiplatform.one/test-utils": "7.16.0",
|
|
90
90
|
"@tamagui/build": "2.7.6",
|
|
91
91
|
"@testing-library/jest-dom": "^6.9.1",
|
|
92
92
|
"@testing-library/react": "^16.3.2",
|
|
@@ -245,4 +245,24 @@ describe("Accordion density — pad and gap move, control height holds (LC-76)",
|
|
|
245
245
|
expect(atoms(compactTrigger, gap)).not.toEqual(comfortableMeasure.gap);
|
|
246
246
|
expect(atoms(compactTrigger, height)).toEqual(comfortableMeasure.height);
|
|
247
247
|
});
|
|
248
|
+
it("survives the animation knob flipping live from none to bouncy (MPO-327)", () => {
|
|
249
|
+
const Flip = ({ animation }: { animation: "none" | "bouncy" }) => (
|
|
250
|
+
<Preset overrides={{ animation }}>
|
|
251
|
+
<Accordion defaultValue="a">
|
|
252
|
+
<Accordion.Item value="a">
|
|
253
|
+
<Accordion.Trigger>Section A</Accordion.Trigger>
|
|
254
|
+
<Accordion.Content>
|
|
255
|
+
<Text>Content A</Text>
|
|
256
|
+
</Accordion.Content>
|
|
257
|
+
</Accordion.Item>
|
|
258
|
+
</Accordion>
|
|
259
|
+
</Preset>
|
|
260
|
+
);
|
|
261
|
+
const { container, rerender } = renderWithProviders(<Flip animation="none" />);
|
|
262
|
+
expect(container.textContent).toContain("Content A");
|
|
263
|
+
|
|
264
|
+
expect(() => rerender(<Flip animation="bouncy" />)).not.toThrow();
|
|
265
|
+
expect(container.textContent).toContain("Content A");
|
|
266
|
+
expect(getTriggers(container)[0].getAttribute("aria-expanded")).toBe("true");
|
|
267
|
+
});
|
|
248
268
|
});
|
package/src/Accordion/index.tsx
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
useResolvedKnobs,
|
|
16
16
|
wasKeyboardFocus,
|
|
17
17
|
type GroupPosition,
|
|
18
|
+
transitionProps,
|
|
18
19
|
} from "@multiplatform.one/theme";
|
|
19
20
|
import type { ReactNode } from "react";
|
|
20
21
|
import {
|
|
@@ -254,7 +255,7 @@ function Chevron({
|
|
|
254
255
|
rotate={open ? "180deg" : "0deg"}
|
|
255
256
|
aria-hidden
|
|
256
257
|
pointerEvents="none"
|
|
257
|
-
{...(transition
|
|
258
|
+
{...transitionProps(transition)}
|
|
258
259
|
>
|
|
259
260
|
<ThemedCaretDown color={color} size={size} />
|
|
260
261
|
</View>
|
|
@@ -550,13 +551,16 @@ const AccordionTrigger = forwardRef<TamaguiElement, AccordionTriggerProps>(
|
|
|
550
551
|
},
|
|
551
552
|
}
|
|
552
553
|
: { onFocus, onBlur })}
|
|
553
|
-
{...(knobProps.transition
|
|
554
|
+
{...transitionProps(knobProps.transition)}
|
|
554
555
|
{...props}
|
|
555
556
|
>
|
|
556
557
|
<Chevron
|
|
557
558
|
open={item.open}
|
|
558
559
|
size={chevronPx}
|
|
559
|
-
color={
|
|
560
|
+
color={
|
|
561
|
+
(item.disabled ? disabledState.textKnobProps.color : knobProps.textAccentColor) ??
|
|
562
|
+
knobProps.textAccentColor
|
|
563
|
+
}
|
|
560
564
|
transition={knobProps.transition}
|
|
561
565
|
/>
|
|
562
566
|
{icon ? (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isWeb } from "@multiplatform.one/platform";
|
|
2
|
-
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
|
+
import { transitionProps, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
3
|
import type { ReactNode } from "react";
|
|
4
4
|
import { forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
5
5
|
import type { LayoutChangeEvent } from "react-native";
|
|
@@ -77,163 +77,164 @@ export function settleMs(transition: TransitionProp | undefined): number {
|
|
|
77
77
|
return (ms ?? 600) + 80;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
const WebAnimateHeight = forwardRef<TamaguiElement, AnimateHeightProps>(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
const WebAnimateHeight = forwardRef<TamaguiElement, AnimateHeightProps>(function AnimateHeight(
|
|
81
|
+
{ open, children, transition: transitionProp, ...props },
|
|
82
|
+
ref,
|
|
83
|
+
) {
|
|
84
|
+
const { knobProps } = useResolvedKnobs();
|
|
85
|
+
// knob transition is undefined under reduced motion / animation="none"
|
|
86
|
+
const transition = transitionProp ?? knobProps.transition;
|
|
87
|
+
const collapsible = open !== undefined;
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
// null = natural (auto) height: initial open/follower render before the
|
|
90
|
+
// first measurement, so there is never a flash of collapsed content.
|
|
91
|
+
const [displayHeight, setDisplayHeight] = useState<number | null>(
|
|
92
|
+
collapsible && !open ? 0 : null,
|
|
93
|
+
);
|
|
94
|
+
// Children stay mounted through the exit tween, then unmount at rest.
|
|
95
|
+
const [exiting, setExiting] = useState(false);
|
|
96
|
+
const [prevOpen, setPrevOpen] = useState(open);
|
|
95
97
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
const measuredRef = useRef<number | null>(null);
|
|
99
|
+
// Set on closed → open: hold height 0 until the first measurement so the
|
|
100
|
+
// expand tweens 0 → px instead of snapping to auto.
|
|
101
|
+
const openingRef = useRef(false);
|
|
102
|
+
const unmountTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
|
|
103
|
+
const rafRef = useRef<number | null>(null);
|
|
104
|
+
const innerRef = useRef<TamaguiElement | null>(null);
|
|
103
105
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
106
|
+
// Adjust state during render (React's usePrevious pattern) so children
|
|
107
|
+
// mount in the SAME commit `open` flips true, and stay mounted for the
|
|
108
|
+
// exit tween when it flips false.
|
|
109
|
+
if (collapsible && open !== prevOpen) {
|
|
110
|
+
setPrevOpen(open);
|
|
111
|
+
if (open) {
|
|
112
|
+
// Hold at 0 until measurement only when children were unmounted (at
|
|
113
|
+
// rest). Re-opening mid-exit keeps the existing measurement — the
|
|
114
|
+
// observer will not re-fire for unchanged content — so the effect
|
|
115
|
+
// below retargets it directly and the tween reverses in place.
|
|
116
|
+
openingRef.current = !exiting;
|
|
117
|
+
if (exiting) setExiting(false);
|
|
118
|
+
} else {
|
|
119
|
+
openingRef.current = false;
|
|
120
|
+
setExiting(true);
|
|
120
121
|
}
|
|
122
|
+
}
|
|
121
123
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
const shouldRenderChildren = !collapsible || open || exiting;
|
|
125
|
+
const atRestClosed = collapsible && !open && !exiting;
|
|
124
126
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
127
|
+
const clearPending = useCallback(() => {
|
|
128
|
+
if (unmountTimerRef.current != null) {
|
|
129
|
+
clearTimeout(unmountTimerRef.current);
|
|
130
|
+
unmountTimerRef.current = null;
|
|
131
|
+
}
|
|
132
|
+
if (rafRef.current != null && typeof cancelAnimationFrame === "function") {
|
|
133
|
+
cancelAnimationFrame(rafRef.current);
|
|
134
|
+
rafRef.current = null;
|
|
135
|
+
}
|
|
136
|
+
}, []);
|
|
135
137
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
138
|
+
const handleMeasured = useCallback(
|
|
139
|
+
(height: number) => {
|
|
140
|
+
measuredRef.current = height;
|
|
141
|
+
// Closing (or closed): the target stays 0 — ignore content measures.
|
|
142
|
+
if (collapsible && !open) return;
|
|
143
|
+
if (openingRef.current) {
|
|
144
|
+
openingRef.current = false;
|
|
145
|
+
// Double rAF: guarantee the browser paints the height-0 frame
|
|
146
|
+
// before the target lands, or the 0 → px tween never runs.
|
|
147
|
+
rafRef.current = requestAnimationFrame(() => {
|
|
145
148
|
rafRef.current = requestAnimationFrame(() => {
|
|
146
|
-
rafRef.current =
|
|
147
|
-
|
|
148
|
-
setDisplayHeight(height);
|
|
149
|
-
});
|
|
149
|
+
rafRef.current = null;
|
|
150
|
+
setDisplayHeight(height);
|
|
150
151
|
});
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
152
|
+
});
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
setDisplayHeight(height);
|
|
156
|
+
},
|
|
157
|
+
[collapsible, open],
|
|
158
|
+
);
|
|
159
|
+
const handleMeasuredRef = useRef(handleMeasured);
|
|
160
|
+
handleMeasuredRef.current = handleMeasured;
|
|
161
|
+
const transitionRef = useRef(transition);
|
|
162
|
+
transitionRef.current = transition;
|
|
161
163
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
164
|
+
// Web: ResizeObserver on the content wrapper — fires on observe (initial
|
|
165
|
+
// measure) and on any intrinsic size change while mounted.
|
|
166
|
+
useLayoutEffect(() => {
|
|
167
|
+
if (!isWeb || !shouldRenderChildren) return;
|
|
168
|
+
const node = innerRef.current as unknown as HTMLElement | null;
|
|
169
|
+
if (!node || typeof ResizeObserver === "undefined") return;
|
|
170
|
+
const observer = new ResizeObserver(() => {
|
|
171
|
+
// getBoundingClientRect keeps fractional text heights exact.
|
|
172
|
+
handleMeasuredRef.current(node.getBoundingClientRect().height);
|
|
173
|
+
});
|
|
174
|
+
observer.observe(node);
|
|
175
|
+
return () => observer.disconnect();
|
|
176
|
+
}, [shouldRenderChildren]);
|
|
175
177
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
// Native: onLayout on the content wrapper is the measurement source.
|
|
179
|
+
const onInnerLayout = useCallback((event: LayoutChangeEvent) => {
|
|
180
|
+
handleMeasuredRef.current(event.nativeEvent.layout.height);
|
|
181
|
+
}, []);
|
|
180
182
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
return;
|
|
183
|
+
// Drive the open/close targets after commit.
|
|
184
|
+
useEffect(() => {
|
|
185
|
+
if (!collapsible) return;
|
|
186
|
+
clearPending();
|
|
187
|
+
if (open) {
|
|
188
|
+
// Opening from closed holds 0 until measurement (openingRef); if a
|
|
189
|
+
// measurement already exists (close interrupted mid-tween), retarget
|
|
190
|
+
// it immediately so the tween reverses from wherever it is.
|
|
191
|
+
if (!openingRef.current && measuredRef.current != null) {
|
|
192
|
+
setDisplayHeight(measuredRef.current);
|
|
193
193
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
} else {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
// Closing: tween px → 0, then unmount at rest. When nothing can tween
|
|
197
|
+
// (no transition token — reduced motion — or no real measurement, as in
|
|
198
|
+
// non-layout test environments), finalize immediately. The transition is
|
|
199
|
+
// read through a ref at close time only — mid-tween knob changes should
|
|
200
|
+
// not restart the exit timer.
|
|
201
|
+
setDisplayHeight(0);
|
|
202
|
+
const closeTransition = transitionRef.current;
|
|
203
|
+
const canTween = Boolean(closeTransition) && (measuredRef.current ?? 0) > 0;
|
|
204
|
+
if (canTween) {
|
|
205
|
+
unmountTimerRef.current = setTimeout(() => {
|
|
206
|
+
unmountTimerRef.current = null;
|
|
208
207
|
setExiting(false);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
208
|
+
}, settleMs(closeTransition));
|
|
209
|
+
} else {
|
|
210
|
+
setExiting(false);
|
|
211
|
+
}
|
|
212
|
+
}, [collapsible, open, clearPending]);
|
|
211
213
|
|
|
212
|
-
|
|
214
|
+
useEffect(() => clearPending, [clearPending]);
|
|
213
215
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
);
|
|
216
|
+
return (
|
|
217
|
+
<View
|
|
218
|
+
ref={ref}
|
|
219
|
+
overflow="hidden"
|
|
220
|
+
{...(displayHeight != null ? { height: displayHeight } : {})}
|
|
221
|
+
{...(atRestClosed ? { display: "none" as const } : {})}
|
|
222
|
+
{...transitionProps(transition)}
|
|
223
|
+
{...props}
|
|
224
|
+
>
|
|
225
|
+
{shouldRenderChildren ? (
|
|
226
|
+
<View
|
|
227
|
+
ref={innerRef}
|
|
228
|
+
// keep natural height inside the clipped, height-driven outer
|
|
229
|
+
flexShrink={0}
|
|
230
|
+
{...(!isWeb ? { onLayout: onInnerLayout } : {})}
|
|
231
|
+
>
|
|
232
|
+
{children}
|
|
233
|
+
</View>
|
|
234
|
+
) : null}
|
|
235
|
+
</View>
|
|
236
|
+
);
|
|
237
|
+
});
|
|
237
238
|
|
|
238
239
|
/** Native layout has no height tween, so measurement must not gate visibility. */
|
|
239
240
|
const NativeAnimateHeight = forwardRef<TamaguiElement, AnimateHeightProps>(
|
package/src/Carousel/index.tsx
CHANGED
|
@@ -19,8 +19,9 @@ import {
|
|
|
19
19
|
useResolvedKnobs,
|
|
20
20
|
} from "@multiplatform.one/theme";
|
|
21
21
|
import type { GetProps, ScrollView as TamaguiScrollView } from "tamagui";
|
|
22
|
-
import { View, XStack,
|
|
22
|
+
import { View, XStack, getTokens, isWeb, styled } from "tamagui";
|
|
23
23
|
import { DotIndicator } from "../DotIndicator";
|
|
24
|
+
import { ScrollView } from "../ScrollView";
|
|
24
25
|
import { useDirection } from "../hooks/useDirection";
|
|
25
26
|
import { withInterp } from "../shared/t";
|
|
26
27
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MPO-134: the story-backed Chip (`Components/Chip`) spreads the resolver's
|
|
3
|
+
* borderWidth as-is. knob-laws used to describe the frame as an ignore pinned
|
|
4
|
+
* at 1, and the sweep measured 1 / 1 / 1 / 2 while a local `Math.max(…, 1)`
|
|
5
|
+
* floor was in place; that floor went with 5056bce23, so the real ladder is
|
|
6
|
+
* the resolver's, and the box moves with it. This pins the declared edge at
|
|
7
|
+
* every stop so the doc row cannot drift from the component again.
|
|
8
|
+
*
|
|
9
|
+
* Assertions read the atomic border-width class the FRAME emits.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
13
|
+
import { Preset } from "@multiplatform.one/theme";
|
|
14
|
+
import { cleanup } from "@testing-library/react";
|
|
15
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
16
|
+
import { Chip } from "./index";
|
|
17
|
+
|
|
18
|
+
afterEach(cleanup);
|
|
19
|
+
|
|
20
|
+
const STOPS = ["none", "small", "medium", "large"] as const;
|
|
21
|
+
|
|
22
|
+
function renderAt(stop: (typeof STOPS)[number], outlined = false): string[] {
|
|
23
|
+
const result = renderWithProviders(
|
|
24
|
+
<Preset overrides={{ fillStyle: outlined ? "outlined" : "filled", borderWidth: stop }}>
|
|
25
|
+
<Chip variant="outlined" onPress={() => {}}>
|
|
26
|
+
Fire
|
|
27
|
+
</Chip>
|
|
28
|
+
</Preset>,
|
|
29
|
+
);
|
|
30
|
+
const frame = result.container.querySelector("[data-chip]") as HTMLElement;
|
|
31
|
+
const atoms = String(frame.className || "")
|
|
32
|
+
.split(/\s+/)
|
|
33
|
+
.filter((c) => c.startsWith("_btw-"))
|
|
34
|
+
.sort();
|
|
35
|
+
cleanup();
|
|
36
|
+
return atoms;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
describe("Chip borderWidth ladder (MPO-134)", () => {
|
|
40
|
+
it("the frame honours the resolver's edge: 0 / 0.5 / 1 / 2", () => {
|
|
41
|
+
expect(renderAt("none")).toEqual(["_btw-0px"]);
|
|
42
|
+
expect(renderAt("small")).toEqual(["_btw-0--5px"]);
|
|
43
|
+
expect(renderAt("medium")).toEqual(["_btw-1px"]);
|
|
44
|
+
expect(renderAt("large")).toEqual(["_btw-2px"]);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("medium and large differ, so the chip box moves with the stop", () => {
|
|
48
|
+
expect(renderAt("medium")).not.toEqual(renderAt("large"));
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("none under fillStyle:outlined is the resolver's hairline, not a local floor", () => {
|
|
52
|
+
expect(renderAt("none", true)).toEqual(["_btw-0--5px"]);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MPO-134 K12: the pressable Chip body takes the press-slop channel on the
|
|
3
|
+
* vertical axis only, pitch-limited so a wrapped chip row's target never
|
|
4
|
+
* reaches the next row's (LC-54). Rows wrap at `$2` = 7px, so each row may
|
|
5
|
+
* reach 3px past its painted box; the channel's pseudo-element sits on the
|
|
6
|
+
* padding box, so the outset carries the frame's border width on top.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
10
|
+
import { Preset } from "@multiplatform.one/theme";
|
|
11
|
+
import { cleanup } from "@testing-library/react";
|
|
12
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
13
|
+
import { Chip } from "./index";
|
|
14
|
+
|
|
15
|
+
afterEach(cleanup);
|
|
16
|
+
|
|
17
|
+
type Stop = "none" | "small" | "medium" | "large";
|
|
18
|
+
|
|
19
|
+
function frameAt(
|
|
20
|
+
borderWidth: Stop,
|
|
21
|
+
props: { onPress?: () => void; disabled?: boolean } = { onPress: () => {} },
|
|
22
|
+
) {
|
|
23
|
+
const result = renderWithProviders(
|
|
24
|
+
<Preset overrides={{ borderWidth }}>
|
|
25
|
+
<Chip variant="outlined" {...props}>
|
|
26
|
+
Fire
|
|
27
|
+
</Chip>
|
|
28
|
+
</Preset>,
|
|
29
|
+
);
|
|
30
|
+
return result.container.querySelector("[data-chip]") as HTMLElement;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
describe("Chip pressable body slop (MPO-134, K12)", () => {
|
|
34
|
+
it("reaches half the chip-row gap past the painted box, vertically only", () => {
|
|
35
|
+
const frame = frameAt("none");
|
|
36
|
+
expect(frame.getAttribute("role")).toBe("button");
|
|
37
|
+
expect(frame.getAttribute("data-mp-press-slop")).toBe("3");
|
|
38
|
+
expect(frame.getAttribute("data-mp-press-axis")).toBe("vertical");
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it("adds the frame's border back, so the reach past the box is the same at every stop", () => {
|
|
42
|
+
expect(frameAt("small").getAttribute("data-mp-press-slop")).toBe("4");
|
|
43
|
+
expect(frameAt("medium").getAttribute("data-mp-press-slop")).toBe("4");
|
|
44
|
+
expect(frameAt("large").getAttribute("data-mp-press-slop")).toBe("5");
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it("a chip with no press handler has no target, so no slop", () => {
|
|
48
|
+
const frame = frameAt("medium", {});
|
|
49
|
+
expect(frame.getAttribute("role")).toBeNull();
|
|
50
|
+
expect(frame.getAttribute("data-mp-press-slop")).toBeNull();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("a disabled chip gates its target and drops the slop", () => {
|
|
54
|
+
const frame = frameAt("medium", { onPress: () => {}, disabled: true });
|
|
55
|
+
expect(frame.getAttribute("data-mp-press-slop")).toBeNull();
|
|
56
|
+
});
|
|
57
|
+
});
|
package/src/Chip/Chip.spec.tsx
CHANGED
|
@@ -199,21 +199,26 @@ describe("Chip", () => {
|
|
|
199
199
|
).toEqual(["_btlr-t-radius-12"]);
|
|
200
200
|
});
|
|
201
201
|
|
|
202
|
-
it("dismiss is
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
<
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
202
|
+
it("dismiss is CIRCULAR-AT-FULL: the token below full, a circle at full (DG-RAD-02)", () => {
|
|
203
|
+
const radiusAt = (borderRadius: "none" | "small" | "medium" | "full") => {
|
|
204
|
+
const result = renderWithProviders(
|
|
205
|
+
<Preset overrides={{ borderRadius }}>
|
|
206
|
+
<Chip onDismiss={() => {}}>Dismiss</Chip>
|
|
207
|
+
</Preset>,
|
|
208
|
+
);
|
|
209
|
+
const button = result.container.querySelector("[aria-label='Remove']") as HTMLElement;
|
|
210
|
+
const ring = button.querySelector(".mp-chip-dismiss-ring") as HTMLElement;
|
|
211
|
+
const atoms = [button, ring].map((el) =>
|
|
212
|
+
String(el.className)
|
|
213
|
+
.split(" ")
|
|
214
|
+
.filter((c) => c.startsWith("_btlr-")),
|
|
215
|
+
);
|
|
216
|
+
result.unmount();
|
|
217
|
+
return atoms;
|
|
218
|
+
};
|
|
219
|
+
expect(radiusAt("none")).toEqual([["_btlr-0px"], ["_btlr-0px"]]);
|
|
220
|
+
expect(radiusAt("small")).toEqual([["_btlr-5px"], ["_btlr-5px"]]);
|
|
221
|
+
expect(radiusAt("medium")).toEqual([["_btlr-9px"], ["_btlr-9px"]]);
|
|
222
|
+
expect(radiusAt("full")).toEqual([["_btlr-1000px"], ["_btlr-1000px"]]);
|
|
218
223
|
});
|
|
219
224
|
});
|