@multiplatform.one/components 7.10.0 → 7.15.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 +100 -2
- package/dist/cjs/Accordion/index.cjs +2 -6
- package/dist/cjs/Accordion/index.native.js +2 -6
- package/dist/cjs/Accordion/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/Chip/index.cjs +8 -1
- package/dist/cjs/Chip/index.native.js +8 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.cjs +22 -3
- package/dist/cjs/SheetModal/index.native.js +115 -27
- package/dist/cjs/SheetModal/index.native.js.map +1 -1
- package/dist/cjs/Tabs/index.cjs +35 -18
- package/dist/cjs/Tabs/index.native.js +39 -18
- 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/TreeSelect/index.cjs +55 -52
- package/dist/cjs/TreeSelect/index.native.js +55 -52
- package/dist/cjs/TreeSelect/index.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/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 +4 -5
- package/dist/cjs/code/CodeBlock/index.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/knobImmuneExports.cjs +3 -3
- package/dist/cjs/knobImmuneExports.native.js +3 -3
- 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/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/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.map +1 -1
- package/dist/cjs/surfaces.cjs +0 -32
- package/dist/cjs/surfaces.native.js +0 -32
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/views/List.cjs +1 -3
- package/dist/cjs/views/List.native.js +1 -3
- 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/TreeView.cjs +175 -43
- package/dist/cjs/views/TreeView.native.js +181 -46
- package/dist/cjs/views/TreeView.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 +16 -0
- package/dist/cjs/views/index.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/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.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +9 -2
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +9 -2
- 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/Separator/index.native.js.map +1 -1
- package/dist/esm/SheetModal/detents.native.js.map +1 -1
- package/dist/esm/SheetModal/index.mjs +22 -3
- package/dist/esm/SheetModal/index.mjs.map +1 -1
- package/dist/esm/SheetModal/index.native.js +117 -29
- package/dist/esm/SheetModal/index.native.js.map +1 -1
- 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 +36 -19
- package/dist/esm/Tabs/index.mjs.map +1 -1
- package/dist/esm/Tabs/index.native.js +40 -19
- 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.native.js.map +1 -1
- package/dist/esm/charts/series.native.js.map +1 -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.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.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.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js.map +1 -1
- 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.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/List.mjs +2 -4
- package/dist/esm/views/List.mjs.map +1 -1
- package/dist/esm/views/List.native.js +2 -4
- 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.mjs +175 -43
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +181 -46
- 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/Chip/index.mjs +9 -2
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +8 -1
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/SheetModal/index.mjs +22 -3
- package/dist/jsx/SheetModal/index.mjs.map +1 -1
- package/dist/jsx/SheetModal/index.native.js +115 -27
- package/dist/jsx/SheetModal/index.native.js.map +1 -1
- package/dist/jsx/Tabs/index.mjs +36 -19
- package/dist/jsx/Tabs/index.mjs.map +1 -1
- package/dist/jsx/Tabs/index.native.js +39 -18
- 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/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/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/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.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/views/List.mjs +2 -4
- package/dist/jsx/views/List.mjs.map +1 -1
- package/dist/jsx/views/List.native.js +1 -3
- 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/TreeView.mjs +175 -43
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +181 -46
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- 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 +12 -12
- package/src/Accordion/Accordion.spec.tsx +20 -0
- package/src/Accordion/index.tsx +8 -4
- package/src/AnimateHeight/index.tsx +143 -142
- package/src/Chip/Chip.borderLadder.spec.tsx +54 -0
- package/src/Chip/Chip.pressSlop.spec.tsx +57 -0
- package/src/Chip/index.tsx +15 -1
- package/src/Heading.native.spec.tsx +1 -1
- package/src/Separator/index.tsx +3 -3
- package/src/SheetModal/SheetModal.detentLayout.spec.tsx +173 -0
- package/src/SheetModal/SheetModal.fill.spec.tsx +147 -0
- package/src/SheetModal/SheetModal.ownedBody.spec.tsx +200 -0
- package/src/SheetModal/SheetModal.stories.spec.tsx +23 -2
- package/src/SheetModal/SheetModal.stories.tsx +275 -2
- package/src/SheetModal/SheetModal.touch.spec.tsx +63 -0
- package/src/SheetModal/index.native.tsx +143 -21
- package/src/SheetModal/index.tsx +40 -3
- package/src/Tabs/Tabs.hydration.spec.tsx +123 -0
- package/src/Tabs/Tabs.lifecycle.spec.tsx +123 -0
- package/src/Tabs/Tabs.measurement.spec.tsx +186 -0
- package/src/Tabs/Tabs.stories.tsx +43 -0
- package/src/Tabs/index.tsx +45 -15
- 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/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/page.designLaw.spec.tsx +20 -0
- package/src/layouts/page.tsx +2 -0
- package/src/layouts/sidebar.tsx +2 -3
- package/src/layouts/tags.tsx +2 -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/textAccentSecondary.spec.tsx +100 -2
- package/src/views/List.tsx +2 -1
- 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/TreeView.reveal.spec.tsx +7 -0
- package/src/views/TreeView.reveal.stories.tsx +134 -0
- package/src/views/TreeView.scroll-index.spec.tsx +246 -0
- package/src/views/TreeView.scroll.spec.tsx +711 -50
- package/src/views/TreeView.tsx +230 -49
- 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/Chip/index.d.ts.map +1 -1
- package/types/Separator/index.d.ts +3 -3
- package/types/SheetModal/index.d.ts +8 -1
- package/types/SheetModal/index.d.ts.map +1 -1
- package/types/SheetModal/index.native.d.ts +1 -1
- package/types/SheetModal/index.native.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/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/page.d.ts.map +1 -1
- package/types/layouts/sidebar.d.ts.map +1 -1
- package/types/layouts/tags.d.ts.map +1 -1
- package/types/surfaces.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/TreeView.d.ts +10 -1
- package/types/views/TreeView.d.ts.map +1 -1
- 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,543 @@
|
|
|
1
|
+
import { componentColors, sectionHeading } from "../componentColors.mjs";
|
|
2
|
+
import { AsyncBoundary } from "../layouts/AsyncBoundary.mjs";
|
|
3
|
+
import { Skeleton } from "../Skeleton/index.mjs";
|
|
4
|
+
import { ViewSwitcher } from "../layouts/ViewSwitcher.mjs";
|
|
5
|
+
import { withInterp } from "../shared/t.mjs";
|
|
6
|
+
import { Intent, MIN_PRESS_TARGET, ensureKeyboardModalityTracking, formatNumber, hairline, hairlineWidth, keyboardFocusRingProps, useReadableTextOn, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
|
|
7
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
|
8
|
+
import { useTranslation } from "../shared/i18n.mjs";
|
|
9
|
+
import { ScrollView as RNScrollView } from "react-native-web";
|
|
10
|
+
import { ScrollView, Text, XStack, YStack, isWeb } from "tamagui";
|
|
11
|
+
import { formatRangeLabel } from "./ganttMath.mjs";
|
|
12
|
+
import { alignMatrixRange, matrixCellIntensity, matrixCellKey, computeMatrixRange, generateBuckets, matrixMaxValue, summarizeMatrixCells } from "./matrixMath.mjs";
|
|
13
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
const CanvasScroller = isWeb ? ScrollView : RNScrollView;
|
|
15
|
+
const hairlineEnd = isWeb ? {
|
|
16
|
+
borderInlineEndWidth: hairlineWidth,
|
|
17
|
+
borderInlineEndStyle: "solid",
|
|
18
|
+
className: "mp-hairline-ie"
|
|
19
|
+
} : {
|
|
20
|
+
borderEndWidth: hairlineWidth
|
|
21
|
+
};
|
|
22
|
+
const FILL_FLOOR = 0.14;
|
|
23
|
+
const ON_FILL_INK_FROM = 0.55;
|
|
24
|
+
const LEGEND_STEPS = [0, 0.25, 0.5, 0.75, 1];
|
|
25
|
+
function CellIntentWrap({
|
|
26
|
+
intent,
|
|
27
|
+
children
|
|
28
|
+
}) {
|
|
29
|
+
if (!intent || intent === "accent") return /* @__PURE__ */jsx(Fragment, {
|
|
30
|
+
children
|
|
31
|
+
});
|
|
32
|
+
return /* @__PURE__ */jsx(Intent, {
|
|
33
|
+
name: intent,
|
|
34
|
+
children
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function resolveFill(color, intent) {
|
|
38
|
+
return color ?? (intent && intent !== "accent" ? "$color9" : "$accentBackground");
|
|
39
|
+
}
|
|
40
|
+
function fillOpacity(intensity) {
|
|
41
|
+
return FILL_FLOOR + (1 - FILL_FLOOR) * intensity;
|
|
42
|
+
}
|
|
43
|
+
function MatrixCellBox({
|
|
44
|
+
row,
|
|
45
|
+
bucket,
|
|
46
|
+
summary,
|
|
47
|
+
intensity,
|
|
48
|
+
fill,
|
|
49
|
+
text,
|
|
50
|
+
name,
|
|
51
|
+
width,
|
|
52
|
+
height,
|
|
53
|
+
lastColumn,
|
|
54
|
+
onPress
|
|
55
|
+
}) {
|
|
56
|
+
const {
|
|
57
|
+
knobProps
|
|
58
|
+
} = useResolvedKnobs();
|
|
59
|
+
const readable = useReadableTextOn(fill);
|
|
60
|
+
const [keyboardRing, setKeyboardRing] = useState(false);
|
|
61
|
+
const empty = summary === void 0;
|
|
62
|
+
const state = summary === void 0 ? "empty" : summary.value === 0 ? "zero" : "value";
|
|
63
|
+
const ink = !empty && intensity >= ON_FILL_INK_FROM && readable ? readable : "$color";
|
|
64
|
+
const pressable = onPress !== void 0;
|
|
65
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
66
|
+
width,
|
|
67
|
+
height,
|
|
68
|
+
alignItems: "center",
|
|
69
|
+
justifyContent: "center",
|
|
70
|
+
position: "relative",
|
|
71
|
+
overflow: "hidden",
|
|
72
|
+
...(lastColumn ? null : hairlineEnd),
|
|
73
|
+
borderColor: componentColors.divider,
|
|
74
|
+
cursor: pressable ? "pointer" : void 0,
|
|
75
|
+
hoverStyle: pressable ? {
|
|
76
|
+
backgroundColor: componentColors.interactive.hover
|
|
77
|
+
} : void 0,
|
|
78
|
+
pressStyle: pressable ? {
|
|
79
|
+
opacity: 0.8
|
|
80
|
+
} : void 0,
|
|
81
|
+
role: pressable ? "button" : void 0,
|
|
82
|
+
tabIndex: pressable ? 0 : void 0,
|
|
83
|
+
"aria-label": name,
|
|
84
|
+
...(keyboardRing ? keyboardFocusRingProps : {
|
|
85
|
+
outlineWidth: 0
|
|
86
|
+
}),
|
|
87
|
+
onFocus: pressable ? () => setKeyboardRing(wasKeyboardFocus()) : void 0,
|
|
88
|
+
onBlur: pressable ? () => setKeyboardRing(false) : void 0,
|
|
89
|
+
onPress,
|
|
90
|
+
onKeyDown: pressable ? ke => {
|
|
91
|
+
if (ke.key !== "Enter" && ke.key !== " ") return;
|
|
92
|
+
ke.preventDefault?.();
|
|
93
|
+
onPress();
|
|
94
|
+
} : void 0,
|
|
95
|
+
...{
|
|
96
|
+
"data-matrix-cell": `${row.id}:${bucket.key}`,
|
|
97
|
+
"data-matrix-cell-state": state,
|
|
98
|
+
...(summary?.intent ? {
|
|
99
|
+
"data-matrix-cell-intent": summary.intent
|
|
100
|
+
} : null)
|
|
101
|
+
},
|
|
102
|
+
children: [!empty && /* @__PURE__ */jsx(YStack, {
|
|
103
|
+
position: "absolute",
|
|
104
|
+
top: 0,
|
|
105
|
+
left: 0,
|
|
106
|
+
right: 0,
|
|
107
|
+
bottom: 0,
|
|
108
|
+
backgroundColor: fill,
|
|
109
|
+
opacity: fillOpacity(intensity),
|
|
110
|
+
pointerEvents: "none",
|
|
111
|
+
...{
|
|
112
|
+
"data-matrix-fill": String(intensity)
|
|
113
|
+
}
|
|
114
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
115
|
+
...knobProps.label,
|
|
116
|
+
color: empty ? componentColors.text.subtle : ink,
|
|
117
|
+
numberOfLines: 1,
|
|
118
|
+
pointerEvents: "none",
|
|
119
|
+
zIndex: 1,
|
|
120
|
+
"aria-hidden": true,
|
|
121
|
+
children: empty ? "\xB7" : text
|
|
122
|
+
})]
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function LegendSwatch({
|
|
126
|
+
intensity,
|
|
127
|
+
fill,
|
|
128
|
+
empty
|
|
129
|
+
}) {
|
|
130
|
+
const {
|
|
131
|
+
knobProps
|
|
132
|
+
} = useResolvedKnobs();
|
|
133
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
134
|
+
width: 14,
|
|
135
|
+
height: 14,
|
|
136
|
+
...knobProps.borderRadius,
|
|
137
|
+
position: "relative",
|
|
138
|
+
overflow: "hidden",
|
|
139
|
+
alignItems: "center",
|
|
140
|
+
justifyContent: "center",
|
|
141
|
+
borderWidth: hairlineWidth,
|
|
142
|
+
borderColor: componentColors.surface.border,
|
|
143
|
+
...{
|
|
144
|
+
"data-matrix-legend-swatch": empty ? "empty" : String(intensity ?? 1)
|
|
145
|
+
},
|
|
146
|
+
children: empty ? /* @__PURE__ */jsx(Text, {
|
|
147
|
+
fontSize: 10,
|
|
148
|
+
lineHeight: 10,
|
|
149
|
+
color: componentColors.text.subtle,
|
|
150
|
+
"aria-hidden": true,
|
|
151
|
+
children: "\xB7"
|
|
152
|
+
}) : /* @__PURE__ */jsx(YStack, {
|
|
153
|
+
position: "absolute",
|
|
154
|
+
top: 0,
|
|
155
|
+
left: 0,
|
|
156
|
+
right: 0,
|
|
157
|
+
bottom: 0,
|
|
158
|
+
backgroundColor: fill ?? "$accentBackground",
|
|
159
|
+
opacity: fillOpacity(intensity ?? 1)
|
|
160
|
+
})
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
const SKELETON_ROWS = [96, 72, 112, 64, 88];
|
|
164
|
+
function MatrixSkeleton({
|
|
165
|
+
labelWidth,
|
|
166
|
+
columnWidth,
|
|
167
|
+
rowHeight
|
|
168
|
+
}) {
|
|
169
|
+
const {
|
|
170
|
+
t
|
|
171
|
+
} = useTranslation();
|
|
172
|
+
const {
|
|
173
|
+
knobProps
|
|
174
|
+
} = useResolvedKnobs();
|
|
175
|
+
const edgePad = knobProps.panelPadding.padding;
|
|
176
|
+
const columns = [0, 1, 2, 3, 4, 5];
|
|
177
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
178
|
+
width: "100%",
|
|
179
|
+
"aria-busy": true,
|
|
180
|
+
"aria-label": t("Loading"),
|
|
181
|
+
...{
|
|
182
|
+
"data-matrix-skeleton": "true",
|
|
183
|
+
"data-async-skeleton": "matrix"
|
|
184
|
+
},
|
|
185
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
186
|
+
height: rowHeight,
|
|
187
|
+
alignItems: "center",
|
|
188
|
+
...hairline.bottom,
|
|
189
|
+
borderColor: "$borderColor",
|
|
190
|
+
children: [/* @__PURE__ */jsx(XStack, {
|
|
191
|
+
width: labelWidth,
|
|
192
|
+
paddingHorizontal: edgePad,
|
|
193
|
+
children: /* @__PURE__ */jsx(Skeleton, {
|
|
194
|
+
width: 64,
|
|
195
|
+
height: 12
|
|
196
|
+
})
|
|
197
|
+
}), columns.map(column => /* @__PURE__ */jsx(XStack, {
|
|
198
|
+
width: columnWidth,
|
|
199
|
+
justifyContent: "center",
|
|
200
|
+
children: /* @__PURE__ */jsx(Skeleton, {
|
|
201
|
+
width: Math.max(24, columnWidth - 24),
|
|
202
|
+
height: 12
|
|
203
|
+
})
|
|
204
|
+
}, column))]
|
|
205
|
+
}), SKELETON_ROWS.map((labelSkeletonWidth, index) => /* @__PURE__ */jsxs(XStack, {
|
|
206
|
+
height: rowHeight,
|
|
207
|
+
alignItems: "center",
|
|
208
|
+
...(index < SKELETON_ROWS.length - 1 ? hairline.bottom : null),
|
|
209
|
+
borderColor: componentColors.divider,
|
|
210
|
+
children: [/* @__PURE__ */jsx(XStack, {
|
|
211
|
+
width: labelWidth,
|
|
212
|
+
paddingHorizontal: edgePad,
|
|
213
|
+
children: /* @__PURE__ */jsx(Skeleton, {
|
|
214
|
+
width: labelSkeletonWidth,
|
|
215
|
+
height: 12
|
|
216
|
+
})
|
|
217
|
+
}), columns.map(column => /* @__PURE__ */jsx(XStack, {
|
|
218
|
+
width: columnWidth,
|
|
219
|
+
justifyContent: "center",
|
|
220
|
+
children: (column + index) % 3 === 0 ? null : /* @__PURE__ */jsx(Skeleton, {
|
|
221
|
+
variant: "rounded",
|
|
222
|
+
width: Math.max(16, columnWidth - 16),
|
|
223
|
+
height: Math.max(10, rowHeight - 20)
|
|
224
|
+
})
|
|
225
|
+
}, column))]
|
|
226
|
+
}, index))]
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
function MatrixView({
|
|
230
|
+
rows,
|
|
231
|
+
cells,
|
|
232
|
+
rule: initialRule = "month",
|
|
233
|
+
onRuleChange,
|
|
234
|
+
range: rangeProp,
|
|
235
|
+
firstDayOfWeek = 0,
|
|
236
|
+
onCellPress,
|
|
237
|
+
formatCell,
|
|
238
|
+
isLoading = false,
|
|
239
|
+
error = null,
|
|
240
|
+
onRetry,
|
|
241
|
+
emptyTitle,
|
|
242
|
+
emptyDescription,
|
|
243
|
+
height: heightProp,
|
|
244
|
+
labelWidth = 180,
|
|
245
|
+
columnWidth: columnWidthProp,
|
|
246
|
+
subjectLabel,
|
|
247
|
+
showRuleSwitcher = true,
|
|
248
|
+
showLegend = true,
|
|
249
|
+
legendItems,
|
|
250
|
+
...stackProps
|
|
251
|
+
}) {
|
|
252
|
+
const {
|
|
253
|
+
t
|
|
254
|
+
} = useTranslation();
|
|
255
|
+
const {
|
|
256
|
+
knobProps
|
|
257
|
+
} = useResolvedKnobs();
|
|
258
|
+
const [rule, setRule] = useState(initialRule);
|
|
259
|
+
if (typeof document !== "undefined") ensureKeyboardModalityTracking();
|
|
260
|
+
const sz = knobProps.sizeToken;
|
|
261
|
+
const height = heightProp ?? (sz === "$3" ? 400 : sz === "$5" ? 560 : 480);
|
|
262
|
+
const rowHeight = Math.max(MIN_PRESS_TARGET, sz === "$3" ? 44 : sz === "$5" ? 56 : 48);
|
|
263
|
+
const columnWidth = Math.max(MIN_PRESS_TARGET, columnWidthProp ?? (sz === "$3" ? 56 : sz === "$5" ? 72 : 64));
|
|
264
|
+
const axisHeight = sz === "$3" ? 40 : sz === "$5" ? 52 : 46;
|
|
265
|
+
const range = useMemo(() => rangeProp ? alignMatrixRange(rangeProp, rule, firstDayOfWeek) : computeMatrixRange(cells.map(cell => cell.date), rule, firstDayOfWeek), [rangeProp, cells, rule, firstDayOfWeek]);
|
|
266
|
+
const buckets = useMemo(() => generateBuckets(range, rule, firstDayOfWeek), [range, rule, firstDayOfWeek]);
|
|
267
|
+
const summaries = useMemo(() => summarizeMatrixCells(cells, rule, firstDayOfWeek), [cells, rule, firstDayOfWeek]);
|
|
268
|
+
const maxValue = useMemo(() => {
|
|
269
|
+
const rowIds = new Set(rows.map(row => row.id));
|
|
270
|
+
const bucketKeys = new Set(buckets.map(bucket => bucket.key));
|
|
271
|
+
return matrixMaxValue(Array.from(summaries.values()).filter(summary => rowIds.has(summary.rowId) && bucketKeys.has(summary.bucketKey)));
|
|
272
|
+
}, [summaries, rows, buckets]);
|
|
273
|
+
const gridWidth = buckets.length * columnWidth;
|
|
274
|
+
const rangeLabel = useMemo(() => formatRangeLabel(range), [range]);
|
|
275
|
+
const changeRule = useCallback(next => {
|
|
276
|
+
setRule(next);
|
|
277
|
+
onRuleChange?.(next);
|
|
278
|
+
}, [onRuleChange]);
|
|
279
|
+
const cellText = useCallback(summary => {
|
|
280
|
+
if (formatCell) return formatCell(summary);
|
|
281
|
+
if (summary.label !== void 0) return summary.label;
|
|
282
|
+
return formatNumber(summary.value ?? summary.count);
|
|
283
|
+
}, [formatCell]);
|
|
284
|
+
const axisScrollRef = useRef(null);
|
|
285
|
+
const handleCanvasScroll = useCallback(event => {
|
|
286
|
+
const x = event?.nativeEvent?.contentOffset?.x ?? 0;
|
|
287
|
+
axisScrollRef.current?.scrollTo?.({
|
|
288
|
+
x,
|
|
289
|
+
animated: false
|
|
290
|
+
});
|
|
291
|
+
}, []);
|
|
292
|
+
const scrollerDirection = {
|
|
293
|
+
direction: "ltr"
|
|
294
|
+
};
|
|
295
|
+
const showSkeleton = !error && isLoading && rows.length === 0;
|
|
296
|
+
return /* @__PURE__ */jsx(AsyncBoundary, {
|
|
297
|
+
loading: showSkeleton ? /* @__PURE__ */jsx(MatrixSkeleton, {
|
|
298
|
+
labelWidth,
|
|
299
|
+
columnWidth,
|
|
300
|
+
rowHeight
|
|
301
|
+
}) : false,
|
|
302
|
+
empty: !error && !isLoading && rows.length === 0,
|
|
303
|
+
error,
|
|
304
|
+
onRetry,
|
|
305
|
+
emptyTitle: emptyTitle ?? t("No subjects"),
|
|
306
|
+
emptyDescription,
|
|
307
|
+
...stackProps,
|
|
308
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
309
|
+
height,
|
|
310
|
+
overflow: "hidden",
|
|
311
|
+
backgroundColor: "$background",
|
|
312
|
+
elevation: knobProps.elevation,
|
|
313
|
+
...knobProps.containerRadius,
|
|
314
|
+
...{
|
|
315
|
+
"data-matrix-view": rule,
|
|
316
|
+
"data-size": knobProps.size,
|
|
317
|
+
"data-density": knobProps.density
|
|
318
|
+
},
|
|
319
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
320
|
+
...knobProps.panelPadding,
|
|
321
|
+
alignItems: "center",
|
|
322
|
+
justifyContent: "space-between",
|
|
323
|
+
...knobProps.gap,
|
|
324
|
+
...hairline.bottom,
|
|
325
|
+
borderColor: "$borderColor",
|
|
326
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
327
|
+
...knobProps.heading,
|
|
328
|
+
...sectionHeading,
|
|
329
|
+
numberOfLines: 1,
|
|
330
|
+
children: rangeLabel
|
|
331
|
+
}), showRuleSwitcher && /* @__PURE__ */jsx(ViewSwitcher, {
|
|
332
|
+
views: [{
|
|
333
|
+
type: "day",
|
|
334
|
+
label: t("Day")
|
|
335
|
+
}, {
|
|
336
|
+
type: "week",
|
|
337
|
+
label: t("Week")
|
|
338
|
+
}, {
|
|
339
|
+
type: "month",
|
|
340
|
+
label: t("Month")
|
|
341
|
+
}],
|
|
342
|
+
currentView: rule,
|
|
343
|
+
onViewChange: val => changeRule(val)
|
|
344
|
+
})]
|
|
345
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
346
|
+
...hairline.bottom,
|
|
347
|
+
borderColor: "$borderColor",
|
|
348
|
+
...{
|
|
349
|
+
"data-matrix-axis-row": "true"
|
|
350
|
+
},
|
|
351
|
+
children: [/* @__PURE__ */jsx(XStack, {
|
|
352
|
+
width: labelWidth,
|
|
353
|
+
flexShrink: 0,
|
|
354
|
+
height: axisHeight,
|
|
355
|
+
alignItems: "center",
|
|
356
|
+
paddingHorizontal: knobProps.panelPadding.padding,
|
|
357
|
+
...hairlineEnd,
|
|
358
|
+
borderColor: "$borderColor",
|
|
359
|
+
...{
|
|
360
|
+
backgroundColor: componentColors.surface.background
|
|
361
|
+
},
|
|
362
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
363
|
+
...knobProps.label,
|
|
364
|
+
color: knobProps.textAccentColor,
|
|
365
|
+
numberOfLines: 1,
|
|
366
|
+
children: subjectLabel ?? t("Subject")
|
|
367
|
+
})
|
|
368
|
+
}), /* @__PURE__ */jsx(ScrollView, {
|
|
369
|
+
ref: axisScrollRef,
|
|
370
|
+
horizontal: true,
|
|
371
|
+
flex: 1,
|
|
372
|
+
scrollEnabled: false,
|
|
373
|
+
showsHorizontalScrollIndicator: false,
|
|
374
|
+
style: scrollerDirection,
|
|
375
|
+
children: /* @__PURE__ */jsx(XStack, {
|
|
376
|
+
width: gridWidth,
|
|
377
|
+
height: axisHeight,
|
|
378
|
+
...{
|
|
379
|
+
backgroundColor: componentColors.surface.background,
|
|
380
|
+
"data-matrix-axis": rule
|
|
381
|
+
},
|
|
382
|
+
children: buckets.map((bucket, index) => /* @__PURE__ */jsx(XStack, {
|
|
383
|
+
width: columnWidth,
|
|
384
|
+
height: axisHeight,
|
|
385
|
+
alignItems: "center",
|
|
386
|
+
justifyContent: "center",
|
|
387
|
+
...(index === buckets.length - 1 ? null : hairlineEnd),
|
|
388
|
+
borderColor: componentColors.divider,
|
|
389
|
+
"aria-label": bucket.name,
|
|
390
|
+
...{
|
|
391
|
+
"data-matrix-column": bucket.key
|
|
392
|
+
},
|
|
393
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
394
|
+
...knobProps.label,
|
|
395
|
+
color: knobProps.textAccentColor,
|
|
396
|
+
numberOfLines: 1,
|
|
397
|
+
children: bucket.label
|
|
398
|
+
})
|
|
399
|
+
}, bucket.key))
|
|
400
|
+
})
|
|
401
|
+
})]
|
|
402
|
+
}), /* @__PURE__ */jsx(ScrollView, {
|
|
403
|
+
flex: 1,
|
|
404
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
405
|
+
...{
|
|
406
|
+
"data-matrix-scroll-body": "true"
|
|
407
|
+
},
|
|
408
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
409
|
+
width: labelWidth,
|
|
410
|
+
flexShrink: 0,
|
|
411
|
+
...hairlineEnd,
|
|
412
|
+
borderColor: "$borderColor",
|
|
413
|
+
...{
|
|
414
|
+
"data-matrix-labels": "true"
|
|
415
|
+
},
|
|
416
|
+
children: rows.map((row, index) => /* @__PURE__ */jsx(XStack, {
|
|
417
|
+
height: rowHeight,
|
|
418
|
+
alignItems: "center",
|
|
419
|
+
paddingHorizontal: knobProps.panelPadding.padding,
|
|
420
|
+
...(index === rows.length - 1 ? null : hairline.bottom),
|
|
421
|
+
borderColor: componentColors.divider,
|
|
422
|
+
...{
|
|
423
|
+
"data-matrix-row-label": row.id
|
|
424
|
+
},
|
|
425
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
426
|
+
...knobProps.body,
|
|
427
|
+
numberOfLines: 1,
|
|
428
|
+
color: "$color",
|
|
429
|
+
children: row.label
|
|
430
|
+
})
|
|
431
|
+
}, row.id))
|
|
432
|
+
}), /* @__PURE__ */jsx(CanvasScroller, {
|
|
433
|
+
horizontal: true,
|
|
434
|
+
...(isWeb ? {
|
|
435
|
+
flex: 1
|
|
436
|
+
} : null),
|
|
437
|
+
showsHorizontalScrollIndicator: true,
|
|
438
|
+
onScroll: handleCanvasScroll,
|
|
439
|
+
scrollEventThrottle: 16,
|
|
440
|
+
style: isWeb ? scrollerDirection : [{
|
|
441
|
+
flex: 1
|
|
442
|
+
}, scrollerDirection],
|
|
443
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
444
|
+
width: gridWidth,
|
|
445
|
+
...{
|
|
446
|
+
"data-matrix-canvas": "true"
|
|
447
|
+
},
|
|
448
|
+
children: rows.map((row, rowIndex) => /* @__PURE__ */jsx(XStack, {
|
|
449
|
+
height: rowHeight,
|
|
450
|
+
...(rowIndex === rows.length - 1 ? null : hairline.bottom),
|
|
451
|
+
borderColor: componentColors.divider,
|
|
452
|
+
...{
|
|
453
|
+
"data-matrix-row": row.id
|
|
454
|
+
},
|
|
455
|
+
children: buckets.map((bucket, columnIndex) => {
|
|
456
|
+
const summary = summaries.get(matrixCellKey(row.id, bucket.key));
|
|
457
|
+
const intensity = summary ? matrixCellIntensity(summary, maxValue) : 0;
|
|
458
|
+
const fill = resolveFill(summary?.color, summary?.intent);
|
|
459
|
+
const text = summary ? cellText(summary) : t("No data");
|
|
460
|
+
const name = withInterp(t("{{subject}}, {{bucket}}: {{value}}"), {
|
|
461
|
+
subject: row.label,
|
|
462
|
+
bucket: bucket.name,
|
|
463
|
+
value: text
|
|
464
|
+
});
|
|
465
|
+
return /* @__PURE__ */jsx(CellIntentWrap, {
|
|
466
|
+
intent: summary?.color ? void 0 : summary?.intent,
|
|
467
|
+
children: /* @__PURE__ */jsx(MatrixCellBox, {
|
|
468
|
+
row,
|
|
469
|
+
bucket,
|
|
470
|
+
summary,
|
|
471
|
+
intensity,
|
|
472
|
+
fill,
|
|
473
|
+
text,
|
|
474
|
+
name,
|
|
475
|
+
width: columnWidth,
|
|
476
|
+
height: rowHeight,
|
|
477
|
+
lastColumn: columnIndex === buckets.length - 1,
|
|
478
|
+
onPress: onCellPress ? () => onCellPress({
|
|
479
|
+
row,
|
|
480
|
+
bucket,
|
|
481
|
+
summary
|
|
482
|
+
}) : void 0
|
|
483
|
+
})
|
|
484
|
+
}, bucket.key);
|
|
485
|
+
})
|
|
486
|
+
}, row.id))
|
|
487
|
+
})
|
|
488
|
+
})]
|
|
489
|
+
})
|
|
490
|
+
}), showLegend && /* @__PURE__ */jsxs(XStack, {
|
|
491
|
+
...knobProps.panelPadding,
|
|
492
|
+
alignItems: "center",
|
|
493
|
+
flexWrap: "wrap",
|
|
494
|
+
...knobProps.gap,
|
|
495
|
+
...hairline.top,
|
|
496
|
+
borderColor: "$borderColor",
|
|
497
|
+
...{
|
|
498
|
+
"data-matrix-legend": "true"
|
|
499
|
+
},
|
|
500
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
501
|
+
alignItems: "center",
|
|
502
|
+
gap: "$1.5",
|
|
503
|
+
children: [/* @__PURE__ */jsx(LegendSwatch, {
|
|
504
|
+
empty: true
|
|
505
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
506
|
+
...knobProps.label,
|
|
507
|
+
color: knobProps.textAccentColor,
|
|
508
|
+
children: t("No data")
|
|
509
|
+
})]
|
|
510
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
511
|
+
alignItems: "center",
|
|
512
|
+
gap: "$1.5",
|
|
513
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
514
|
+
...knobProps.label,
|
|
515
|
+
color: knobProps.textAccentColor,
|
|
516
|
+
children: t("Less")
|
|
517
|
+
}), LEGEND_STEPS.map(step => /* @__PURE__ */jsx(LegendSwatch, {
|
|
518
|
+
intensity: step
|
|
519
|
+
}, step)), /* @__PURE__ */jsx(Text, {
|
|
520
|
+
...knobProps.label,
|
|
521
|
+
color: knobProps.textAccentColor,
|
|
522
|
+
children: t("More")
|
|
523
|
+
})]
|
|
524
|
+
}), legendItems?.map((item, index) => /* @__PURE__ */jsx(CellIntentWrap, {
|
|
525
|
+
intent: item.color ? void 0 : item.intent,
|
|
526
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
527
|
+
alignItems: "center",
|
|
528
|
+
gap: "$1.5",
|
|
529
|
+
children: [/* @__PURE__ */jsx(LegendSwatch, {
|
|
530
|
+
fill: resolveFill(item.color, item.intent)
|
|
531
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
532
|
+
...knobProps.label,
|
|
533
|
+
color: knobProps.textAccentColor,
|
|
534
|
+
children: item.label
|
|
535
|
+
})]
|
|
536
|
+
})
|
|
537
|
+
}, `${item.label}-${index}`))]
|
|
538
|
+
})]
|
|
539
|
+
})
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
export { MatrixView };
|
|
543
|
+
//# sourceMappingURL=Matrix.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["componentColors","sectionHeading","AsyncBoundary","Skeleton","ViewSwitcher","withInterp","Intent","MIN_PRESS_TARGET","ensureKeyboardModalityTracking","formatNumber","hairline","hairlineWidth","keyboardFocusRingProps","useReadableTextOn","useResolvedKnobs","wasKeyboardFocus","useCallback","useMemo","useRef","useState","useTranslation","ScrollView","RNScrollView","Text","XStack","YStack","isWeb","formatRangeLabel","alignMatrixRange","matrixCellIntensity","matrixCellKey","computeMatrixRange","generateBuckets","matrixMaxValue","summarizeMatrixCells","Fragment","jsx","jsxs","CanvasScroller","hairlineEnd","borderInlineEndWidth","borderInlineEndStyle","className","borderEndWidth","FILL_FLOOR","ON_FILL_INK_FROM","LEGEND_STEPS","CellIntentWrap","intent","children","name","resolveFill","color","fillOpacity","intensity","MatrixCellBox","row","bucket","summary","fill","text","width","height","lastColumn","onPress","knobProps","readable","keyboardRing","setKeyboardRing","empty","state","value","ink","pressable","alignItems","justifyContent","position","overflow","borderColor","divider","cursor","hoverStyle","backgroundColor","interactive","hover","pressStyle","opacity","role","tabIndex","outlineWidth","onFocus","onBlur","onKeyDown","ke","key","preventDefault","id","top","left","right","bottom","pointerEvents","String","label","subtle","numberOfLines","zIndex","LegendSwatch","borderRadius","borderWidth","surface","border","fontSize","lineHeight","SKELETON_ROWS","MatrixSkeleton","labelWidth","columnWidth","rowHeight","t","edgePad","panelPadding","padding","columns","paddingHorizontal","map","column","Math","max","labelSkeletonWidth","index","length","variant","MatrixView","rows","cells","rule","initialRule","onRuleChange","range","rangeProp","firstDayOfWeek","onCellPress","formatCell","isLoading","error","onRetry","emptyTitle","emptyDescription","heightProp","columnWidthProp","subjectLabel","showRuleSwitcher","showLegend","legendItems","stackProps","setRule","document","sz","sizeToken","axisHeight","cell","date","buckets","summaries","maxValue","rowIds","Set","bucketKeys","Array","from","values","filter","has","rowId","bucketKey","gridWidth","rangeLabel","changeRule","next","cellText","count","axisScrollRef","handleCanvasScroll","event","x","nativeEvent","contentOffset","current","scrollTo","animated","scrollerDirection","direction","showSkeleton","loading","elevation","containerRadius","size","density","gap","heading","views","type","currentView","onViewChange","val","flexShrink","background","textAccentColor","ref","horizontal","flex","scrollEnabled","showsHorizontalScrollIndicator","style","body","onScroll","scrollEventThrottle","rowIndex","columnIndex","get","subject","flexWrap","step","item"],"sources":["../../../src/views/Matrix.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|