@multiplatform.one/components 7.8.0 → 7.11.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 +98 -0
- package/dist/cjs/Accordion/index.cjs +3 -3
- package/dist/cjs/Accordion/index.native.js +4 -4
- package/dist/cjs/Accordion/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +1 -1
- package/dist/cjs/Chip/index.native.js +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ContextMenu/index.cjs +3 -3
- package/dist/cjs/ContextMenu/index.native.js +3 -3
- package/dist/cjs/ContextMenu/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/index.cjs +3 -3
- package/dist/cjs/DropdownMenu/index.native.js +3 -3
- package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
- package/dist/cjs/Meter/index.cjs +3 -2
- package/dist/cjs/Meter/index.native.js +3 -2
- package/dist/cjs/Meter/index.native.js.map +1 -1
- package/dist/cjs/Meter/meter.cjs +1 -2
- package/dist/cjs/Meter/meter.native.js +1 -2
- package/dist/cjs/Meter/meter.native.js.map +1 -1
- package/dist/cjs/Pagination.cjs +2 -2
- package/dist/cjs/Pagination.native.js +2 -2
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.cjs +3 -3
- package/dist/cjs/ProgressSteps/index.native.js +3 -3
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/Quote/index.cjs +1 -2
- package/dist/cjs/Quote/index.native.js +1 -2
- package/dist/cjs/Quote/index.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.cjs +22 -3
- package/dist/cjs/SheetModal/index.native.js +50 -10
- package/dist/cjs/SheetModal/index.native.js.map +1 -1
- package/dist/cjs/Tabs/index.cjs +34 -13
- package/dist/cjs/Tabs/index.native.js +38 -13
- package/dist/cjs/Tabs/index.native.js.map +1 -1
- package/dist/cjs/Toast/index.cjs +4 -5
- package/dist/cjs/Toast/index.native.js +4 -5
- package/dist/cjs/Toast/index.native.js.map +1 -1
- package/dist/cjs/TreeSelect/index.cjs +46 -7
- package/dist/cjs/TreeSelect/index.native.js +58 -7
- package/dist/cjs/TreeSelect/index.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.cjs +1 -2
- package/dist/cjs/charts/PieChart.native.js +1 -2
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/code/HighlightedCode/index.cjs +1 -1
- package/dist/cjs/code/HighlightedCode/index.native.js +1 -1
- package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/cjs/componentColors.cjs +6 -4
- package/dist/cjs/componentColors.native.js +6 -4
- package/dist/cjs/componentColors.native.js.map +1 -1
- package/dist/cjs/images/Image/ImageFrame.cjs +4 -2
- package/dist/cjs/images/Image/ImageFrame.native.js +4 -2
- package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/cjs/layouts/AsyncBoundary.cjs +1 -2
- package/dist/cjs/layouts/AsyncBoundary.native.js +1 -2
- package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/cjs/layouts/EmptyState.cjs +6 -2
- package/dist/cjs/layouts/EmptyState.native.js +10 -6
- package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +4 -4
- package/dist/cjs/layouts/attachments.native.js +4 -4
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/breadcrumbs.cjs +1 -2
- package/dist/cjs/layouts/breadcrumbs.native.js +1 -2
- package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +2 -2
- package/dist/cjs/layouts/page.native.js +2 -2
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/sidebar.cjs +2 -2
- package/dist/cjs/layouts/sidebar.native.js +2 -2
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/cjs/layouts/tags.cjs +6 -7
- package/dist/cjs/layouts/tags.native.js +6 -9
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +5 -5
- package/dist/cjs/layouts/timeline.native.js +5 -5
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/surfaces.cjs +1 -0
- package/dist/cjs/surfaces.native.js +1 -0
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/views/Calendar.cjs +11 -8
- package/dist/cjs/views/Calendar.native.js +11 -8
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.cjs +6 -6
- package/dist/cjs/views/Dashboard.native.js +7 -7
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Gantt.cjs +3 -3
- package/dist/cjs/views/Gantt.native.js +3 -3
- package/dist/cjs/views/Gantt.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +2 -2
- package/dist/cjs/views/Kanban.native.js +2 -2
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.cjs +4 -4
- package/dist/cjs/views/ReportBuilder.native.js +4 -4
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/TreeView.cjs +248 -19
- package/dist/cjs/views/TreeView.native.js +264 -20
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/cjs/views/treeViewReveal.cjs +55 -0
- package/dist/cjs/views/treeViewReveal.native.js +80 -0
- package/dist/cjs/views/treeViewReveal.native.js.map +1 -0
- package/dist/esm/Accordion/index.mjs +3 -3
- package/dist/esm/Accordion/index.mjs.map +1 -1
- package/dist/esm/Accordion/index.native.js +4 -4
- package/dist/esm/Accordion/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +1 -1
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +1 -1
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ContextMenu/index.mjs +3 -3
- package/dist/esm/ContextMenu/index.mjs.map +1 -1
- package/dist/esm/ContextMenu/index.native.js +3 -3
- package/dist/esm/ContextMenu/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.mjs +3 -3
- package/dist/esm/DropdownMenu/index.mjs.map +1 -1
- package/dist/esm/DropdownMenu/index.native.js +3 -3
- package/dist/esm/DropdownMenu/index.native.js.map +1 -1
- package/dist/esm/Meter/index.mjs +3 -2
- package/dist/esm/Meter/index.mjs.map +1 -1
- package/dist/esm/Meter/index.native.js +3 -2
- package/dist/esm/Meter/index.native.js.map +1 -1
- package/dist/esm/Meter/meter.mjs +1 -2
- package/dist/esm/Meter/meter.mjs.map +1 -1
- package/dist/esm/Meter/meter.native.js +1 -2
- package/dist/esm/Meter/meter.native.js.map +1 -1
- package/dist/esm/Pagination.mjs +2 -2
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +2 -2
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.mjs +3 -3
- package/dist/esm/ProgressSteps/index.mjs.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js +3 -3
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/Quote/index.mjs +1 -2
- package/dist/esm/Quote/index.mjs.map +1 -1
- package/dist/esm/Quote/index.native.js +1 -2
- package/dist/esm/Quote/index.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 +51 -11
- package/dist/esm/SheetModal/index.native.js.map +1 -1
- package/dist/esm/Tabs/index.mjs +34 -13
- package/dist/esm/Tabs/index.mjs.map +1 -1
- package/dist/esm/Tabs/index.native.js +38 -13
- package/dist/esm/Tabs/index.native.js.map +1 -1
- package/dist/esm/Toast/index.mjs +4 -5
- package/dist/esm/Toast/index.mjs.map +1 -1
- package/dist/esm/Toast/index.native.js +4 -5
- package/dist/esm/Toast/index.native.js.map +1 -1
- package/dist/esm/TreeSelect/index.mjs +46 -7
- package/dist/esm/TreeSelect/index.mjs.map +1 -1
- package/dist/esm/TreeSelect/index.native.js +58 -7
- package/dist/esm/TreeSelect/index.native.js.map +1 -1
- package/dist/esm/charts/PieChart.mjs +1 -2
- package/dist/esm/charts/PieChart.mjs.map +1 -1
- package/dist/esm/charts/PieChart.native.js +1 -2
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/code/HighlightedCode/index.mjs +1 -1
- package/dist/esm/code/HighlightedCode/index.mjs.map +1 -1
- package/dist/esm/code/HighlightedCode/index.native.js +1 -1
- package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/esm/componentColors.mjs +6 -4
- package/dist/esm/componentColors.mjs.map +1 -1
- package/dist/esm/componentColors.native.js +6 -4
- package/dist/esm/componentColors.native.js.map +1 -1
- package/dist/esm/images/Image/ImageFrame.mjs +4 -2
- package/dist/esm/images/Image/ImageFrame.mjs.map +1 -1
- package/dist/esm/images/Image/ImageFrame.native.js +4 -2
- package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.mjs +1 -2
- package/dist/esm/layouts/AsyncBoundary.mjs.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.native.js +1 -2
- package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/esm/layouts/EmptyState.mjs +7 -3
- package/dist/esm/layouts/EmptyState.mjs.map +1 -1
- package/dist/esm/layouts/EmptyState.native.js +11 -7
- package/dist/esm/layouts/EmptyState.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +4 -4
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +4 -4
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/breadcrumbs.mjs +1 -2
- package/dist/esm/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/esm/layouts/breadcrumbs.native.js +1 -2
- package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +2 -2
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +2 -2
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/sidebar.mjs +2 -2
- package/dist/esm/layouts/sidebar.mjs.map +1 -1
- package/dist/esm/layouts/sidebar.native.js +2 -2
- package/dist/esm/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/layouts/tags.mjs +6 -7
- package/dist/esm/layouts/tags.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js +6 -9
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +5 -5
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +5 -5
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/surfaces.mjs +1 -0
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +1 -0
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/views/Calendar.mjs +11 -8
- package/dist/esm/views/Calendar.mjs.map +1 -1
- package/dist/esm/views/Calendar.native.js +11 -8
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.mjs +6 -6
- package/dist/esm/views/Dashboard.mjs.map +1 -1
- package/dist/esm/views/Dashboard.native.js +7 -7
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Gantt.mjs +3 -3
- package/dist/esm/views/Gantt.mjs.map +1 -1
- package/dist/esm/views/Gantt.native.js +3 -3
- package/dist/esm/views/Gantt.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +2 -2
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +2 -2
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.mjs +4 -4
- package/dist/esm/views/ReportBuilder.mjs.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js +4 -4
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/TreeView.mjs +249 -20
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +265 -21
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/treeViewReveal.mjs +29 -0
- package/dist/esm/views/treeViewReveal.mjs.map +1 -0
- package/dist/esm/views/treeViewReveal.native.js +51 -0
- package/dist/esm/views/treeViewReveal.native.js.map +1 -0
- package/dist/jsx/Accordion/index.mjs +3 -3
- package/dist/jsx/Accordion/index.mjs.map +1 -1
- package/dist/jsx/Accordion/index.native.js +4 -4
- package/dist/jsx/Accordion/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +1 -1
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +1 -1
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ContextMenu/index.mjs +3 -3
- package/dist/jsx/ContextMenu/index.mjs.map +1 -1
- package/dist/jsx/ContextMenu/index.native.js +3 -3
- package/dist/jsx/ContextMenu/index.native.js.map +1 -1
- package/dist/jsx/DropdownMenu/index.mjs +3 -3
- package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
- package/dist/jsx/DropdownMenu/index.native.js +3 -3
- package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
- package/dist/jsx/Meter/index.mjs +3 -2
- package/dist/jsx/Meter/index.mjs.map +1 -1
- package/dist/jsx/Meter/index.native.js +3 -2
- package/dist/jsx/Meter/index.native.js.map +1 -1
- package/dist/jsx/Meter/meter.mjs +1 -2
- package/dist/jsx/Meter/meter.mjs.map +1 -1
- package/dist/jsx/Meter/meter.native.js +1 -2
- package/dist/jsx/Meter/meter.native.js.map +1 -1
- package/dist/jsx/Pagination.mjs +2 -2
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +2 -2
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/ProgressSteps/index.mjs +3 -3
- package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
- package/dist/jsx/ProgressSteps/index.native.js +3 -3
- package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
- package/dist/jsx/Quote/index.mjs +1 -2
- package/dist/jsx/Quote/index.mjs.map +1 -1
- package/dist/jsx/Quote/index.native.js +1 -2
- package/dist/jsx/Quote/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 +50 -10
- package/dist/jsx/SheetModal/index.native.js.map +1 -1
- package/dist/jsx/Tabs/index.mjs +34 -13
- package/dist/jsx/Tabs/index.mjs.map +1 -1
- package/dist/jsx/Tabs/index.native.js +38 -13
- package/dist/jsx/Tabs/index.native.js.map +1 -1
- package/dist/jsx/Toast/index.mjs +4 -5
- package/dist/jsx/Toast/index.mjs.map +1 -1
- package/dist/jsx/Toast/index.native.js +4 -5
- package/dist/jsx/Toast/index.native.js.map +1 -1
- package/dist/jsx/TreeSelect/index.mjs +46 -7
- package/dist/jsx/TreeSelect/index.mjs.map +1 -1
- package/dist/jsx/TreeSelect/index.native.js +58 -7
- package/dist/jsx/TreeSelect/index.native.js.map +1 -1
- package/dist/jsx/charts/PieChart.mjs +1 -2
- package/dist/jsx/charts/PieChart.mjs.map +1 -1
- package/dist/jsx/charts/PieChart.native.js +1 -2
- package/dist/jsx/charts/PieChart.native.js.map +1 -1
- package/dist/jsx/code/HighlightedCode/index.mjs +1 -1
- package/dist/jsx/code/HighlightedCode/index.mjs.map +1 -1
- package/dist/jsx/code/HighlightedCode/index.native.js +1 -1
- package/dist/jsx/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/jsx/componentColors.mjs +6 -4
- package/dist/jsx/componentColors.mjs.map +1 -1
- package/dist/jsx/componentColors.native.js +6 -4
- package/dist/jsx/componentColors.native.js.map +1 -1
- package/dist/jsx/images/Image/ImageFrame.mjs +4 -2
- package/dist/jsx/images/Image/ImageFrame.mjs.map +1 -1
- package/dist/jsx/images/Image/ImageFrame.native.js +4 -2
- package/dist/jsx/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/jsx/layouts/AsyncBoundary.mjs +1 -2
- package/dist/jsx/layouts/AsyncBoundary.mjs.map +1 -1
- package/dist/jsx/layouts/AsyncBoundary.native.js +1 -2
- package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/jsx/layouts/EmptyState.mjs +7 -3
- package/dist/jsx/layouts/EmptyState.mjs.map +1 -1
- package/dist/jsx/layouts/EmptyState.native.js +10 -6
- package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +4 -4
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +4 -4
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.mjs +1 -2
- package/dist/jsx/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.native.js +1 -2
- package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +2 -2
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +2 -2
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/sidebar.mjs +2 -2
- package/dist/jsx/layouts/sidebar.mjs.map +1 -1
- package/dist/jsx/layouts/sidebar.native.js +2 -2
- package/dist/jsx/layouts/sidebar.native.js.map +1 -1
- package/dist/jsx/layouts/tags.mjs +6 -7
- package/dist/jsx/layouts/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.native.js +6 -9
- package/dist/jsx/layouts/tags.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +5 -5
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +5 -5
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/surfaces.mjs +1 -0
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +1 -0
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/views/Calendar.mjs +11 -8
- package/dist/jsx/views/Calendar.mjs.map +1 -1
- package/dist/jsx/views/Calendar.native.js +11 -8
- package/dist/jsx/views/Calendar.native.js.map +1 -1
- package/dist/jsx/views/Dashboard.mjs +6 -6
- package/dist/jsx/views/Dashboard.mjs.map +1 -1
- package/dist/jsx/views/Dashboard.native.js +7 -7
- package/dist/jsx/views/Dashboard.native.js.map +1 -1
- package/dist/jsx/views/Gantt.mjs +3 -3
- package/dist/jsx/views/Gantt.mjs.map +1 -1
- package/dist/jsx/views/Gantt.native.js +3 -3
- package/dist/jsx/views/Gantt.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +2 -2
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +2 -2
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/ReportBuilder.mjs +4 -4
- package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
- package/dist/jsx/views/ReportBuilder.native.js +4 -4
- package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
- package/dist/jsx/views/TreeView.mjs +249 -20
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +264 -20
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/dist/jsx/views/treeViewReveal.mjs +29 -0
- package/dist/jsx/views/treeViewReveal.mjs.map +1 -0
- package/dist/jsx/views/treeViewReveal.native.js +80 -0
- package/dist/jsx/views/treeViewReveal.native.js.map +1 -0
- package/package.json +11 -11
- package/src/Accordion/index.tsx +4 -6
- package/src/Chip/index.tsx +1 -1
- package/src/ContextMenu/index.tsx +3 -3
- package/src/DropdownMenu/index.tsx +3 -3
- package/src/Meter/Meter.spec.tsx +12 -4
- package/src/Meter/index.tsx +3 -2
- package/src/Meter/meter.ts +6 -1
- package/src/Pagination.tsx +2 -2
- package/src/ProgressSteps/index.tsx +3 -3
- package/src/Quote/index.tsx +1 -3
- 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/index.native.tsx +50 -6
- package/src/SheetModal/index.tsx +40 -3
- 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 +44 -15
- package/src/Toast/Toast.spec.tsx +120 -48
- package/src/Toast/index.tsx +5 -3
- package/src/TreeSelect/index.tsx +61 -1
- package/src/charts/PieChart.tsx +1 -2
- package/src/code/HighlightedCode/index.tsx +1 -1
- package/src/componentColors.ts +6 -4
- package/src/images/Image/ImageFrame.tsx +2 -2
- package/src/layouts/AsyncBoundary.tsx +1 -2
- package/src/layouts/EmptyState.spec.tsx +58 -1
- package/src/layouts/EmptyState.tsx +11 -7
- package/src/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.tsx +3 -3
- package/src/layouts/PaneScaffold.stories.tsx +3 -8
- package/src/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.tsx +3 -3
- package/src/layouts/attachments.tsx +4 -4
- package/src/layouts/breadcrumbs.tsx +1 -2
- package/src/layouts/page.tsx +2 -2
- package/src/layouts/sidebar.tsx +2 -2
- package/src/layouts/tags-trigger.spec.tsx +32 -0
- package/src/layouts/tags.tsx +7 -9
- package/src/layouts/timeline.tsx +5 -5
- package/src/surfaces.spec.tsx +97 -3
- package/src/surfaces.tsx +4 -2
- package/src/textAccentSecondary.spec.tsx +187 -0
- package/src/views/Calendar.tsx +9 -8
- package/src/views/Dashboard.tsx +13 -8
- package/src/views/Gantt.tsx +3 -3
- package/src/views/Kanban.native.tsx +2 -2
- package/src/views/Kanban.tsx +2 -2
- package/src/views/ReportBuilder.tsx +4 -4
- package/src/views/TreeView.reveal.spec.tsx +174 -0
- package/src/views/TreeView.reveal.stories.tsx +249 -0
- package/src/views/TreeView.scroll-index.spec.tsx +246 -0
- package/src/views/TreeView.scroll.spec.tsx +857 -0
- package/src/views/TreeView.spec.tsx +1 -1
- package/src/views/TreeView.tsx +353 -29
- package/src/views/treeViewReveal.spec.ts +83 -0
- package/src/views/treeViewReveal.ts +45 -0
- package/src/views/views.spec.tsx +13 -12
- package/types/Accordion/index.d.ts.map +1 -1
- package/types/Meter/index.d.ts.map +1 -1
- package/types/Meter/meter.d.ts +5 -1
- package/types/Meter/meter.d.ts.map +1 -1
- package/types/Quote/index.d.ts.map +1 -1
- 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/Toast/index.d.ts.map +1 -1
- package/types/TreeSelect/index.d.ts +9 -1
- package/types/TreeSelect/index.d.ts.map +1 -1
- package/types/charts/PieChart.d.ts.map +1 -1
- package/types/componentColors.d.ts +1 -4
- package/types/componentColors.d.ts.map +1 -1
- package/types/images/Image/ImageFrame.d.ts.map +1 -1
- package/types/layouts/AsyncBoundary.d.ts.map +1 -1
- package/types/layouts/EmptyState.d.ts.map +1 -1
- package/types/layouts/breadcrumbs.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/Calendar.d.ts.map +1 -1
- package/types/views/Dashboard.d.ts +7 -3
- package/types/views/Dashboard.d.ts.map +1 -1
- package/types/views/TreeView.d.ts +19 -1
- package/types/views/TreeView.d.ts.map +1 -1
- package/types/views/treeViewReveal.d.ts +11 -0
- package/types/views/treeViewReveal.d.ts.map +1 -0
|
@@ -8,10 +8,11 @@ import { useDirection } from "../hooks/useDirection.native.js";
|
|
|
8
8
|
import { useHotkey } from "@tanstack/react-hotkeys";
|
|
9
9
|
import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
10
10
|
import { useTranslation } from "../shared/i18n.native.js";
|
|
11
|
-
import { Text, View, XStack, YStack } from "tamagui";
|
|
11
|
+
import { Text, View, XStack, YStack, isWeb } from "tamagui";
|
|
12
12
|
import { autoScrollVelocity } from "./kanbanDnd.native.js";
|
|
13
13
|
import { applyTreeMove, describeTreeCancel, describeTreeDragState, flattenDndRows, indicatorForTarget, resolveTreeDrop, subtreeIds, treeDropTargetForY, treeKeyboardLift, treeKeyboardMove } from "./treeViewDnd.native.js";
|
|
14
14
|
import { diffVisibleRows, flattenVisibleIds, isEmptyDiff } from "./treeViewMotion.native.js";
|
|
15
|
+
import { treeRevealExpansion, treeRevealOffset } from "./treeViewReveal.native.js";
|
|
15
16
|
import { TREE_LIFT_SHADOW, treeDefaultHeight, treeEdgeRowPad, treeIndentStep } from "./treeViewLayout.native.js";
|
|
16
17
|
var ENTER_RISE_PX = -4;
|
|
17
18
|
var DRAG_THRESHOLD_PX = 4;
|
|
@@ -107,8 +108,14 @@ function TreeView(param) {
|
|
|
107
108
|
estimateSize: estimateSizeProp,
|
|
108
109
|
overscan = 10,
|
|
109
110
|
height: heightProp,
|
|
111
|
+
initialScrollOffset,
|
|
112
|
+
onScrollOffsetChange,
|
|
110
113
|
emptyMessage: emptyMessageProp,
|
|
111
114
|
defaultExpandedIds,
|
|
115
|
+
expandedIds: controlledExpandedIds,
|
|
116
|
+
onExpandedIdsChange,
|
|
117
|
+
revealRequest,
|
|
118
|
+
onRevealComplete,
|
|
112
119
|
expandByDefault = false,
|
|
113
120
|
display = "default",
|
|
114
121
|
showExpansionArrows = true,
|
|
@@ -148,6 +155,28 @@ function TreeView(param) {
|
|
|
148
155
|
var treeId = useId();
|
|
149
156
|
var containerRef = useRef(null);
|
|
150
157
|
var flashListRef = useRef(null);
|
|
158
|
+
var initialScroll = useRef(initialScrollOffset === void 0 ? void 0 : {
|
|
159
|
+
offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0
|
|
160
|
+
});
|
|
161
|
+
var cancelInitialScroll = useCallback(function () {
|
|
162
|
+
initialScroll.current = void 0;
|
|
163
|
+
}, []);
|
|
164
|
+
var hasNodes = nodes.length > 0;
|
|
165
|
+
var listInstance = useMemo(function () {
|
|
166
|
+
return {
|
|
167
|
+
hasNodes,
|
|
168
|
+
attached: false,
|
|
169
|
+
loaded: false,
|
|
170
|
+
indexScrollRequested: false,
|
|
171
|
+
offset: 0
|
|
172
|
+
};
|
|
173
|
+
}, [hasNodes]);
|
|
174
|
+
var scrollActive = useRef(true);
|
|
175
|
+
var lastReportedOffset = useRef(void 0);
|
|
176
|
+
var offsetCallback = useRef(onScrollOffsetChange);
|
|
177
|
+
useLayoutEffect(function () {
|
|
178
|
+
offsetCallback.current = onScrollOffsetChange;
|
|
179
|
+
}, [onScrollOffsetChange]);
|
|
151
180
|
var [focusedIndex, setFocusedIndex] = useState(-1);
|
|
152
181
|
var [keyboardRing, setKeyboardRing] = useState(false);
|
|
153
182
|
var typeaheadRef = useRef({
|
|
@@ -165,11 +194,18 @@ function TreeView(param) {
|
|
|
165
194
|
var handleContainerBlur = useCallback(function () {
|
|
166
195
|
setKeyboardRing(false);
|
|
167
196
|
}, []);
|
|
168
|
-
var [
|
|
197
|
+
var [internalExpandedIds, setInternalExpandedIds] = useState(function () {
|
|
169
198
|
if (defaultExpandedIds) return new Set(defaultExpandedIds);
|
|
170
199
|
if (expandByDefault) return collectBranchIds(nodes);
|
|
171
200
|
return /* @__PURE__ */new Set();
|
|
172
201
|
});
|
|
202
|
+
var expandedIds = useMemo(function () {
|
|
203
|
+
return controlledExpandedIds === void 0 ? internalExpandedIds : new Set(controlledExpandedIds);
|
|
204
|
+
}, [controlledExpandedIds, internalExpandedIds]);
|
|
205
|
+
var setExpandedIds = useCallback(function (next) {
|
|
206
|
+
if (controlledExpandedIds === void 0) setInternalExpandedIds(new Set(next));
|
|
207
|
+
onExpandedIdsChange === null || onExpandedIdsChange === void 0 ? void 0 : onExpandedIdsChange([...next]);
|
|
208
|
+
}, [controlledExpandedIds, onExpandedIdsChange]);
|
|
173
209
|
var [motion, setMotion] = useState(null);
|
|
174
210
|
var rowHeights = useRef(/* @__PURE__ */new Map());
|
|
175
211
|
var getRowHeight = useCallback(function (id) {
|
|
@@ -177,14 +213,25 @@ function TreeView(param) {
|
|
|
177
213
|
return (_rowHeights_current_get = rowHeights.current.get(id)) !== null && _rowHeights_current_get !== void 0 ? _rowHeights_current_get : estimateSize;
|
|
178
214
|
}, [estimateSize]);
|
|
179
215
|
var toggleNode = useCallback(function (node) {
|
|
216
|
+
cancelInitialScroll();
|
|
180
217
|
var next = new Set(expandedIds);
|
|
181
218
|
if (next.has(node.id)) {
|
|
182
219
|
next.delete(node.id);
|
|
183
220
|
} else {
|
|
184
221
|
next.add(node.id);
|
|
185
222
|
}
|
|
223
|
+
setExpandedIds(next);
|
|
224
|
+
onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
|
|
225
|
+
}, [expandedIds, setExpandedIds, onNodeToggle, cancelInitialScroll]);
|
|
226
|
+
var previousExpandedIds = useRef(expandedIds);
|
|
227
|
+
useLayoutEffect(function () {
|
|
228
|
+
var previous = previousExpandedIds.current;
|
|
229
|
+
previousExpandedIds.current = expandedIds;
|
|
230
|
+
if (previous.size === expandedIds.size && [...previous].every(function (id) {
|
|
231
|
+
return expandedIds.has(id);
|
|
232
|
+
})) return;
|
|
186
233
|
if (transition) {
|
|
187
|
-
var diff = diffVisibleRows(flattenVisibleIds(nodes,
|
|
234
|
+
var diff = diffVisibleRows(flattenVisibleIds(nodes, previous), flattenVisibleIds(nodes, expandedIds), getRowHeight);
|
|
188
235
|
setMotion(isEmptyDiff(diff) ? null : {
|
|
189
236
|
phase: "armed",
|
|
190
237
|
...diff
|
|
@@ -192,9 +239,7 @@ function TreeView(param) {
|
|
|
192
239
|
} else {
|
|
193
240
|
setMotion(null);
|
|
194
241
|
}
|
|
195
|
-
|
|
196
|
-
onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
|
|
197
|
-
}, [expandedIds, nodes, transition, getRowHeight, onNodeToggle]);
|
|
242
|
+
}, [expandedIds, nodes, transition, getRowHeight]);
|
|
198
243
|
useLayoutEffect(function () {
|
|
199
244
|
if ((motion === null || motion === void 0 ? void 0 : motion.phase) !== "armed") return;
|
|
200
245
|
var raf = requestAnimationFrame(function () {
|
|
@@ -252,15 +297,191 @@ function TreeView(param) {
|
|
|
252
297
|
walk(nodes, 0, null);
|
|
253
298
|
return result;
|
|
254
299
|
}, [nodes, expandedIds]);
|
|
300
|
+
var revealIntent = useRef(void 0);
|
|
301
|
+
var scrollFrame = useRef(void 0);
|
|
302
|
+
var scrollStep = useRef(function () {});
|
|
303
|
+
var renderedRows = useRef(/* @__PURE__ */new Set());
|
|
304
|
+
var scrollBounds = useCallback(function () {
|
|
305
|
+
var list = flashListRef.current;
|
|
306
|
+
if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;
|
|
307
|
+
if (isWeb) {
|
|
308
|
+
var _containerRef_current;
|
|
309
|
+
var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
|
|
310
|
+
if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;
|
|
311
|
+
}
|
|
312
|
+
var viewport = list.getWindowSize();
|
|
313
|
+
var contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();
|
|
314
|
+
if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;
|
|
315
|
+
return {
|
|
316
|
+
list,
|
|
317
|
+
width: viewport.width,
|
|
318
|
+
height: viewport.height,
|
|
319
|
+
contentHeight,
|
|
320
|
+
maxOffset: Math.max(0, contentHeight - viewport.height)
|
|
321
|
+
};
|
|
322
|
+
}, [listInstance]);
|
|
323
|
+
var observeOffset = useCallback(function (offset) {
|
|
324
|
+
var fromEvent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
325
|
+
var _initialScroll_current;
|
|
326
|
+
if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;
|
|
327
|
+
if (fromEvent && ((_initialScroll_current = initialScroll.current) === null || _initialScroll_current === void 0 ? void 0 : _initialScroll_current.attempted) === void 0 && offset !== listInstance.offset) {
|
|
328
|
+
cancelInitialScroll();
|
|
329
|
+
}
|
|
330
|
+
listInstance.offset = offset;
|
|
331
|
+
var bounds = scrollBounds();
|
|
332
|
+
if (!bounds) return;
|
|
333
|
+
var bounded = Math.max(0, Math.min(offset, bounds.maxOffset));
|
|
334
|
+
var initial = initialScroll.current;
|
|
335
|
+
if (initial) {
|
|
336
|
+
var target = Math.min(initial.offset, bounds.maxOffset);
|
|
337
|
+
if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;
|
|
338
|
+
initialScroll.current = void 0;
|
|
339
|
+
}
|
|
340
|
+
if (offsetCallback.current && lastReportedOffset.current !== bounded) {
|
|
341
|
+
lastReportedOffset.current = bounded;
|
|
342
|
+
offsetCallback.current(bounded);
|
|
343
|
+
}
|
|
344
|
+
}, [cancelInitialScroll, scrollBounds, listInstance]);
|
|
345
|
+
var scheduleScroll = useCallback(function () {
|
|
346
|
+
if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;
|
|
347
|
+
if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;
|
|
348
|
+
scrollFrame.current = requestAnimationFrame(function () {
|
|
349
|
+
scrollFrame.current = void 0;
|
|
350
|
+
if (listInstance.attached) scrollStep.current();
|
|
351
|
+
});
|
|
352
|
+
}, [listInstance]);
|
|
353
|
+
var attachList = useCallback(function (list) {
|
|
354
|
+
flashListRef.current = list;
|
|
355
|
+
listInstance.attached = list !== null;
|
|
356
|
+
if (!list) {
|
|
357
|
+
listInstance.loaded = false;
|
|
358
|
+
if (initialScroll.current) initialScroll.current.attempted = void 0;
|
|
359
|
+
if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
|
|
360
|
+
scrollFrame.current = void 0;
|
|
361
|
+
}
|
|
362
|
+
}, [listInstance]);
|
|
363
|
+
useLayoutEffect(function () {
|
|
364
|
+
scrollActive.current = true;
|
|
365
|
+
return function () {
|
|
366
|
+
scrollActive.current = false;
|
|
367
|
+
revealIntent.current = void 0;
|
|
368
|
+
if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
|
|
369
|
+
scrollFrame.current = void 0;
|
|
370
|
+
};
|
|
371
|
+
}, []);
|
|
372
|
+
useLayoutEffect(function () {
|
|
373
|
+
var _revealIntent_current, _revealIntent_current1;
|
|
374
|
+
if (!revealRequest) {
|
|
375
|
+
revealIntent.current = void 0;
|
|
376
|
+
} else if (((_revealIntent_current = revealIntent.current) === null || _revealIntent_current === void 0 ? void 0 : _revealIntent_current.id) !== revealRequest.id || ((_revealIntent_current1 = revealIntent.current) === null || _revealIntent_current1 === void 0 ? void 0 : _revealIntent_current1.requestId) !== revealRequest.requestId) {
|
|
377
|
+
cancelInitialScroll();
|
|
378
|
+
revealIntent.current = {
|
|
379
|
+
...revealRequest,
|
|
380
|
+
complete: false
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
var step = function step1() {
|
|
384
|
+
var currentList = flashListRef.current;
|
|
385
|
+
if (currentList) {
|
|
386
|
+
observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());
|
|
387
|
+
}
|
|
388
|
+
if (!scrollActive.current) return;
|
|
389
|
+
if (scrollStep.current !== step) {
|
|
390
|
+
scheduleScroll();
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
var intent = revealIntent.current;
|
|
394
|
+
if (!intent || intent.complete) {
|
|
395
|
+
var initial = initialScroll.current;
|
|
396
|
+
var bounds = scrollBounds();
|
|
397
|
+
if (!initial || !bounds || flatNodes.length === 0) return;
|
|
398
|
+
var target = Math.min(initial.offset, bounds.maxOffset);
|
|
399
|
+
var attempted = initial.attempted;
|
|
400
|
+
if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {
|
|
401
|
+
initial.attempted = {
|
|
402
|
+
target,
|
|
403
|
+
width: bounds.width,
|
|
404
|
+
height: bounds.height,
|
|
405
|
+
contentHeight: bounds.contentHeight
|
|
406
|
+
};
|
|
407
|
+
bounds.list.scrollToOffset({
|
|
408
|
+
offset: target,
|
|
409
|
+
animated: false
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
var next = treeRevealExpansion(nodes, expandedIds, intent.id);
|
|
415
|
+
if (!next) return;
|
|
416
|
+
if (next !== expandedIds) {
|
|
417
|
+
var notified = intent.notifiedExpansion;
|
|
418
|
+
if (!notified || notified.size !== next.size || [...next].some(function (id) {
|
|
419
|
+
return !notified.has(id);
|
|
420
|
+
})) {
|
|
421
|
+
intent.notifiedExpansion = next;
|
|
422
|
+
setExpandedIds(next);
|
|
423
|
+
}
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
if (motion) {
|
|
427
|
+
setMotion(null);
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
var list = flashListRef.current;
|
|
431
|
+
var index = flatNodes.findIndex(function (item) {
|
|
432
|
+
return item.node.id === intent.id;
|
|
433
|
+
});
|
|
434
|
+
if (!list || index < 0) return;
|
|
435
|
+
if (isWeb) {
|
|
436
|
+
var _containerRef_current;
|
|
437
|
+
var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
|
|
438
|
+
if (!rect || rect.width <= 0 || rect.height <= 0) return;
|
|
439
|
+
}
|
|
440
|
+
var viewport = list.getWindowSize();
|
|
441
|
+
if (viewport.width <= 0) return;
|
|
442
|
+
var layout = list.getLayout(index);
|
|
443
|
+
if (!layout) return;
|
|
444
|
+
var offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();
|
|
445
|
+
var top = layout.y + list.getFirstItemOffset();
|
|
446
|
+
var nextOffset = treeRevealOffset({
|
|
447
|
+
y: top,
|
|
448
|
+
height: layout.height
|
|
449
|
+
}, offset, viewport.height);
|
|
450
|
+
if (nextOffset === void 0) return;
|
|
451
|
+
if (Math.abs(nextOffset - offset) < 1) {
|
|
452
|
+
var visible = top < offset + viewport.height && top + layout.height > offset;
|
|
453
|
+
if (!listInstance.indexScrollRequested) {
|
|
454
|
+
var range = list.computeVisibleIndices();
|
|
455
|
+
visible = visible && index >= range.startIndex && index <= range.endIndex;
|
|
456
|
+
}
|
|
457
|
+
if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {
|
|
458
|
+
intent.complete = true;
|
|
459
|
+
onRevealComplete === null || onRevealComplete === void 0 ? void 0 : onRevealComplete({
|
|
460
|
+
id: intent.id,
|
|
461
|
+
requestId: intent.requestId
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
return;
|
|
465
|
+
}
|
|
466
|
+
list.scrollToOffset({
|
|
467
|
+
offset: nextOffset,
|
|
468
|
+
animated: false
|
|
469
|
+
});
|
|
470
|
+
};
|
|
471
|
+
scrollStep.current = step;
|
|
472
|
+
scheduleScroll();
|
|
473
|
+
}, [nodes, expandedIds, setExpandedIds, flatNodes, revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.id, revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.requestId, onRevealComplete, height, motion, scheduleScroll, cancelInitialScroll, observeOffset, scrollBounds, listInstance]);
|
|
255
474
|
var scrollToIndex = useCallback(function (index) {
|
|
256
475
|
if (index >= 0 && index < flatNodes.length) {
|
|
257
476
|
var _flashListRef_current;
|
|
477
|
+
cancelInitialScroll();
|
|
478
|
+
listInstance.indexScrollRequested = true;
|
|
258
479
|
(_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToIndex({
|
|
259
480
|
index,
|
|
260
481
|
animated: true
|
|
261
482
|
});
|
|
262
483
|
}
|
|
263
|
-
}, [flatNodes.length]);
|
|
484
|
+
}, [flatNodes.length, cancelInitialScroll, listInstance]);
|
|
264
485
|
var focusRow = useCallback(function (index) {
|
|
265
486
|
setKeyboardRing(true);
|
|
266
487
|
setFocusedIndex(index);
|
|
@@ -508,6 +729,7 @@ function TreeView(param) {
|
|
|
508
729
|
if (!(container === null || container === void 0 ? void 0 : container.getBoundingClientRect)) return false;
|
|
509
730
|
var session = treeKeyboardLift(nodes, flat.node.id);
|
|
510
731
|
if (!session) return false;
|
|
732
|
+
cancelInitialScroll();
|
|
511
733
|
var rowRect = rowEl.getBoundingClientRect();
|
|
512
734
|
var containerRect = container.getBoundingClientRect();
|
|
513
735
|
grabOffsetRef.current = {
|
|
@@ -540,7 +762,7 @@ function TreeView(param) {
|
|
|
540
762
|
announce(describeTreeDragState("lift", session, nodes, flat.node.label));
|
|
541
763
|
startAutoScroll();
|
|
542
764
|
return true;
|
|
543
|
-
}, [announce, nodes, startAutoScroll]);
|
|
765
|
+
}, [announce, nodes, startAutoScroll, cancelInitialScroll]);
|
|
544
766
|
var handleDragHandlePointerDown = useCallback(function (flat, e) {
|
|
545
767
|
var _ref13, _e_pointerType;
|
|
546
768
|
var _sessionCleanupRef_current, _e_stopPropagation, _handleEl_closest;
|
|
@@ -677,6 +899,7 @@ function TreeView(param) {
|
|
|
677
899
|
if (!flat) return false;
|
|
678
900
|
var session = treeKeyboardLift(nodes, flat.node.id);
|
|
679
901
|
if (!session) return false;
|
|
902
|
+
cancelInitialScroll();
|
|
680
903
|
var ui = {
|
|
681
904
|
mode: "keyboard",
|
|
682
905
|
node: flat.node,
|
|
@@ -694,7 +917,7 @@ function TreeView(param) {
|
|
|
694
917
|
dragUiRef.current = ui;
|
|
695
918
|
announce(describeTreeDragState("lift", session, nodes, flat.node.label));
|
|
696
919
|
return true;
|
|
697
|
-
}, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes]);
|
|
920
|
+
}, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes, cancelInitialScroll]);
|
|
698
921
|
var moveKeyboardDrag = useCallback(function (direction) {
|
|
699
922
|
var ui = dragUiRef.current;
|
|
700
923
|
if (!ui || ui.mode !== "keyboard") return false;
|
|
@@ -864,17 +1087,32 @@ function TreeView(param) {
|
|
|
864
1087
|
onFocus: handleContainerFocus,
|
|
865
1088
|
onBlur: handleContainerBlur,
|
|
866
1089
|
onKeyDown: handleTreeKeyDown,
|
|
1090
|
+
onLayout: scheduleScroll,
|
|
1091
|
+
...(isWeb && {
|
|
1092
|
+
onWheel: cancelInitialScroll,
|
|
1093
|
+
onPointerDown: cancelInitialScroll
|
|
1094
|
+
}),
|
|
867
1095
|
position: "relative",
|
|
868
1096
|
style: {
|
|
869
1097
|
height
|
|
870
1098
|
},
|
|
871
1099
|
children: [/* @__PURE__ */_jsx(FlashList, {
|
|
872
|
-
ref:
|
|
1100
|
+
ref: attachList,
|
|
873
1101
|
data: flatNodes,
|
|
874
1102
|
drawDistance: overscan * estimateSize,
|
|
875
1103
|
keyExtractor: function keyExtractor(item) {
|
|
876
1104
|
return item.node.id;
|
|
877
1105
|
},
|
|
1106
|
+
onLoad: function onLoad() {
|
|
1107
|
+
if (!scrollActive.current || !listInstance.attached) return;
|
|
1108
|
+
listInstance.loaded = true;
|
|
1109
|
+
scheduleScroll();
|
|
1110
|
+
},
|
|
1111
|
+
onCommitLayoutEffect: scheduleScroll,
|
|
1112
|
+
onContentSizeChange: scheduleScroll,
|
|
1113
|
+
onScrollBeginDrag: function onScrollBeginDrag() {
|
|
1114
|
+
if (scrollActive.current && listInstance.attached) cancelInitialScroll();
|
|
1115
|
+
},
|
|
878
1116
|
extraData: {
|
|
879
1117
|
focused: effectiveFocused,
|
|
880
1118
|
selectedId,
|
|
@@ -885,17 +1123,18 @@ function TreeView(param) {
|
|
|
885
1123
|
keyboardRing,
|
|
886
1124
|
collapsedSelectedAncestors
|
|
887
1125
|
},
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
}
|
|
1126
|
+
onScroll: function onScroll(e) {
|
|
1127
|
+
var _e_nativeEvent_contentOffset, _e_nativeEvent;
|
|
1128
|
+
if (!scrollActive.current || !listInstance.attached) return;
|
|
1129
|
+
var y = e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : (_e_nativeEvent_contentOffset = _e_nativeEvent.contentOffset) === null || _e_nativeEvent_contentOffset === void 0 ? void 0 : _e_nativeEvent_contentOffset.y;
|
|
1130
|
+
if (typeof y === "number" && Number.isFinite(y)) {
|
|
1131
|
+
scrollOffsetRef.current = y;
|
|
1132
|
+
if (dragUiRef.current) setDragScrollY(y);
|
|
1133
|
+
observeOffset(y, true);
|
|
1134
|
+
}
|
|
1135
|
+
scheduleScroll();
|
|
1136
|
+
},
|
|
1137
|
+
scrollEventThrottle: 16,
|
|
899
1138
|
renderItem: function renderItem(param2) {
|
|
900
1139
|
var {
|
|
901
1140
|
item,
|
|
@@ -932,6 +1171,10 @@ function TreeView(param) {
|
|
|
932
1171
|
var rowOpacity = isSettleHidden ? 0 : armed && entering ? 0 : inDraggedSubtree ? 0.4 : 1;
|
|
933
1172
|
var rowTransition = armed && (entering || delta !== 0) ? "none" : transition;
|
|
934
1173
|
return /* @__PURE__ */_jsxs(XStack, {
|
|
1174
|
+
ref: function ref(row) {
|
|
1175
|
+
if (row) renderedRows.current.add(node.id);else renderedRows.current.delete(node.id);
|
|
1176
|
+
scheduleScroll();
|
|
1177
|
+
},
|
|
935
1178
|
id: `${treeId}-node-${index}`,
|
|
936
1179
|
"data-treeview-row": node.id,
|
|
937
1180
|
...(isDropParent && {
|
|
@@ -963,6 +1206,7 @@ function TreeView(param) {
|
|
|
963
1206
|
var _e_nativeEvent_layout, _e_nativeEvent;
|
|
964
1207
|
var h = e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : (_e_nativeEvent_layout = _e_nativeEvent.layout) === null || _e_nativeEvent_layout === void 0 ? void 0 : _e_nativeEvent_layout.height;
|
|
965
1208
|
if (typeof h === "number" && h > 0) rowHeights.current.set(node.id, h);
|
|
1209
|
+
scheduleScroll();
|
|
966
1210
|
},
|
|
967
1211
|
backgroundColor:
|
|
968
1212
|
// Nest-into parent highlight wins while a drag is active
|