@multiplatform.one/components 6.0.4 → 6.3.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 +70 -0
- package/dist/cjs/Accordion/index.cjs +332 -0
- package/dist/cjs/Accordion/index.native.js +353 -0
- package/dist/cjs/Accordion/index.native.js.map +1 -0
- package/dist/cjs/Alert/index.cjs +207 -0
- package/dist/cjs/Alert/index.native.js +223 -0
- package/dist/cjs/Alert/index.native.js.map +1 -0
- package/dist/cjs/Avatar/getInitials.cjs +38 -0
- package/dist/cjs/Avatar/getInitials.native.js +42 -0
- package/dist/cjs/Avatar/getInitials.native.js.map +1 -0
- package/dist/cjs/Avatar/index.cjs +119 -0
- package/dist/cjs/Avatar/index.native.js +129 -0
- package/dist/cjs/Avatar/index.native.js.map +1 -0
- package/dist/cjs/Badge/index.cjs +42 -9
- package/dist/cjs/Badge/index.native.js +45 -10
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Carousel/index.cjs +61 -13
- package/dist/cjs/Carousel/index.native.js +65 -13
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +4 -1
- package/dist/cjs/Chip/index.native.js +4 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.cjs +61 -6
- package/dist/cjs/DotIndicator/index.native.js +64 -8
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/index.cjs +507 -0
- package/dist/cjs/DropdownMenu/index.native.js +537 -0
- package/dist/cjs/DropdownMenu/index.native.js.map +1 -0
- package/dist/cjs/ErrorBoundary/index.cjs +20 -9
- package/dist/cjs/ErrorBoundary/index.native.js +23 -11
- package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
- package/dist/cjs/Pagination.cjs +198 -18
- package/dist/cjs/Pagination.native.js +220 -18
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.cjs +239 -0
- package/dist/cjs/ProgressSteps/index.native.js +249 -0
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -0
- package/dist/cjs/Quote/index.cjs +90 -0
- package/dist/cjs/Quote/index.native.js +100 -0
- package/dist/cjs/Quote/index.native.js.map +1 -0
- package/dist/cjs/SheetModal/index.cjs +67 -0
- package/dist/cjs/SheetModal/index.native.js +143 -0
- package/dist/cjs/SheetModal/index.native.js.map +1 -0
- package/dist/cjs/SkipLink/index.cjs +134 -0
- package/dist/cjs/SkipLink/index.native.js +156 -0
- package/dist/cjs/SkipLink/index.native.js.map +1 -0
- package/dist/cjs/Tabs/index.cjs +401 -0
- package/dist/cjs/Tabs/index.native.js +432 -0
- package/dist/cjs/Tabs/index.native.js.map +1 -0
- package/dist/cjs/Toast/index.cjs +422 -0
- package/dist/cjs/Toast/index.native.js +447 -0
- package/dist/cjs/Toast/index.native.js.map +1 -0
- package/dist/cjs/Toast/store.cjs +106 -0
- package/dist/cjs/Toast/store.native.js +179 -0
- package/dist/cjs/Toast/store.native.js.map +1 -0
- package/dist/cjs/Tooltip/index.cjs +58 -1
- package/dist/cjs/Tooltip/index.native.js +51 -2
- package/dist/cjs/Tooltip/index.native.js.map +1 -1
- package/dist/cjs/Video/VideoFrame.cjs +46 -0
- package/dist/cjs/Video/VideoFrame.native.js +50 -0
- package/dist/cjs/Video/VideoFrame.native.js.map +1 -0
- package/dist/cjs/Video/index.cjs +72 -0
- package/dist/cjs/Video/index.native.js +172 -0
- package/dist/cjs/Video/index.native.js.map +1 -0
- package/dist/cjs/Video/types.cjs +18 -0
- package/dist/cjs/Video/types.native.js +21 -0
- package/dist/cjs/Video/types.native.js.map +1 -0
- package/dist/cjs/Wheel/index.cjs +603 -2
- package/dist/cjs/Wheel/index.native.js +626 -2
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/actions/ActionBar.cjs +148 -0
- package/dist/cjs/actions/ActionBar.native.js +154 -0
- package/dist/cjs/actions/ActionBar.native.js.map +1 -0
- package/dist/cjs/actions/DestructiveAction.cjs +216 -0
- package/dist/cjs/actions/DestructiveAction.native.js +227 -0
- package/dist/cjs/actions/DestructiveAction.native.js.map +1 -0
- package/dist/cjs/actions/devWarn.cjs +38 -0
- package/dist/cjs/actions/devWarn.native.js +42 -0
- package/dist/cjs/actions/devWarn.native.js.map +1 -0
- package/dist/cjs/actions/index.cjs +39 -0
- package/dist/cjs/actions/index.native.js +42 -0
- package/dist/cjs/actions/index.native.js.map +1 -0
- package/dist/cjs/actions/severity.cjs +42 -0
- package/dist/cjs/actions/severity.native.js +46 -0
- package/dist/cjs/actions/severity.native.js.map +1 -0
- package/dist/cjs/charts/Axis.cjs +152 -0
- package/dist/cjs/charts/Axis.native.js +159 -0
- package/dist/cjs/charts/Axis.native.js.map +1 -0
- package/dist/cjs/charts/BarChart.cjs +132 -0
- package/dist/cjs/charts/BarChart.native.js +150 -0
- package/dist/cjs/charts/BarChart.native.js.map +1 -0
- package/dist/cjs/charts/ChartSurface.cjs +73 -0
- package/dist/cjs/charts/ChartSurface.native.js +79 -0
- package/dist/cjs/charts/ChartSurface.native.js.map +1 -0
- package/dist/cjs/charts/LineChart.cjs +152 -0
- package/dist/cjs/charts/LineChart.native.js +173 -0
- package/dist/cjs/charts/LineChart.native.js.map +1 -0
- package/dist/cjs/charts/PieChart.cjs +152 -0
- package/dist/cjs/charts/PieChart.native.js +166 -0
- package/dist/cjs/charts/PieChart.native.js.map +1 -0
- package/dist/cjs/charts/Sparkline.cjs +103 -0
- package/dist/cjs/charts/Sparkline.native.js +116 -0
- package/dist/cjs/charts/Sparkline.native.js.map +1 -0
- package/dist/cjs/charts/accessibility.cjs +62 -0
- package/dist/cjs/charts/accessibility.native.js +86 -0
- package/dist/cjs/charts/accessibility.native.js.map +1 -0
- package/dist/cjs/charts/composeChart.cjs +69 -0
- package/dist/cjs/charts/composeChart.native.js +79 -0
- package/dist/cjs/charts/composeChart.native.js.map +1 -0
- package/dist/cjs/charts/index.cjs +66 -0
- package/dist/cjs/charts/index.native.js +69 -0
- package/dist/cjs/charts/index.native.js.map +1 -0
- package/dist/cjs/charts/math.cjs +145 -0
- package/dist/cjs/charts/math.native.js +170 -0
- package/dist/cjs/charts/math.native.js.map +1 -0
- package/dist/cjs/charts/series.cjs +180 -0
- package/dist/cjs/charts/series.native.js +199 -0
- package/dist/cjs/charts/series.native.js.map +1 -0
- package/dist/cjs/charts/svg.cjs +94 -0
- package/dist/cjs/charts/svg.native.js +97 -0
- package/dist/cjs/charts/svg.native.js.map +1 -0
- package/dist/cjs/charts/types.cjs +18 -0
- package/dist/cjs/charts/types.native.js +21 -0
- package/dist/cjs/charts/types.native.js.map +1 -0
- package/dist/cjs/charts/useChartTheme.cjs +97 -0
- package/dist/cjs/charts/useChartTheme.native.js +106 -0
- package/dist/cjs/charts/useChartTheme.native.js.map +1 -0
- package/dist/cjs/code/Code/index.cjs +22 -4
- package/dist/cjs/code/Code/index.native.js +22 -4
- package/dist/cjs/code/Code/index.native.js.map +1 -1
- package/dist/cjs/code/CodeBlock/index.cjs +14 -7
- package/dist/cjs/code/CodeBlock/index.native.js +14 -7
- package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
- package/dist/cjs/code/HighlightedCode/index.cjs +9 -8
- package/dist/cjs/code/HighlightedCode/index.native.js +12 -8
- package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/cjs/code/Highlighter/index.cjs +24 -7
- package/dist/cjs/code/Highlighter/index.native.js +27 -7
- package/dist/cjs/code/Highlighter/index.native.js.map +1 -1
- package/dist/cjs/componentColors.cjs +25 -13
- package/dist/cjs/componentColors.native.js +25 -13
- package/dist/cjs/componentColors.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.cjs +140 -0
- package/dist/cjs/feedback/ConfirmDialog.native.js +154 -0
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -0
- package/dist/cjs/feedback/NotifyHost.cjs +134 -0
- package/dist/cjs/feedback/NotifyHost.native.js +166 -0
- package/dist/cjs/feedback/NotifyHost.native.js.map +1 -0
- package/dist/cjs/feedback/index.cjs +42 -0
- package/dist/cjs/feedback/index.native.js +45 -0
- package/dist/cjs/feedback/index.native.js.map +1 -0
- package/dist/cjs/feedback/notify.cjs +69 -0
- package/dist/cjs/feedback/notify.native.js +72 -0
- package/dist/cjs/feedback/notify.native.js.map +1 -0
- package/dist/cjs/feedback/route.cjs +92 -0
- package/dist/cjs/feedback/route.native.js +97 -0
- package/dist/cjs/feedback/route.native.js.map +1 -0
- package/dist/cjs/feedback/store.cjs +76 -0
- package/dist/cjs/feedback/store.native.js +107 -0
- package/dist/cjs/feedback/store.native.js.map +1 -0
- package/dist/cjs/hooks/index.cjs +3 -1
- package/dist/cjs/hooks/index.native.js +2 -0
- package/dist/cjs/hooks/index.native.js.map +1 -1
- package/dist/cjs/hooks/useClipboard.cjs +10 -5
- package/dist/cjs/hooks/useClipboard.native.js +12 -5
- package/dist/cjs/hooks/useClipboard.native.js.map +1 -1
- package/dist/cjs/hooks/useDirection.cjs +53 -0
- package/dist/cjs/hooks/useDirection.native.js +34 -0
- package/dist/cjs/hooks/useDirection.native.js.map +1 -0
- package/dist/cjs/hooks/useDocumentTitle.cjs +49 -0
- package/dist/cjs/hooks/useDocumentTitle.native.js +61 -0
- package/dist/cjs/hooks/useDocumentTitle.native.js.map +1 -0
- package/dist/cjs/icons/index.cjs +2 -1
- package/dist/cjs/icons/index.native.js +1 -0
- package/dist/cjs/icons/index.native.js.map +1 -1
- package/dist/cjs/icons/lucide.cjs +34 -0
- package/dist/cjs/icons/lucide.native.js +37 -0
- package/dist/cjs/icons/lucide.native.js.map +1 -0
- package/dist/cjs/images/Image/index.cjs +10 -0
- package/dist/cjs/index.cjs +40 -2
- package/dist/cjs/index.native.js +40 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/AsyncBoundary.cjs +347 -0
- package/dist/cjs/layouts/AsyncBoundary.native.js +374 -0
- package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -0
- package/dist/cjs/layouts/PageTemplates.cjs +141 -0
- package/dist/cjs/layouts/PageTemplates.native.js +148 -0
- package/dist/cjs/layouts/PageTemplates.native.js.map +1 -0
- package/dist/cjs/layouts/PaneScaffold.cjs +157 -0
- package/dist/cjs/layouts/PaneScaffold.native.js +167 -0
- package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -0
- package/dist/cjs/layouts/ViewSwitcher.cjs +68 -11
- package/dist/cjs/layouts/ViewSwitcher.native.js +81 -11
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +130 -33
- package/dist/cjs/layouts/attachments.native.js +147 -34
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/breadcrumbs.cjs +62 -29
- package/dist/cjs/layouts/breadcrumbs.native.js +70 -32
- package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/cjs/layouts/index.cjs +19 -1
- package/dist/cjs/layouts/index.native.js +18 -0
- package/dist/cjs/layouts/index.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +132 -27
- package/dist/cjs/layouts/page.native.js +150 -28
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/pageHeadingScope.cjs +74 -0
- package/dist/cjs/layouts/pageHeadingScope.native.js +80 -0
- package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -0
- package/dist/cjs/layouts/sidebar.cjs +48 -10
- package/dist/cjs/layouts/sidebar.native.js +70 -10
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/cjs/layouts/tags.cjs +77 -87
- package/dist/cjs/layouts/tags.native.js +90 -89
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +500 -183
- package/dist/cjs/layouts/timeline.native.js +602 -186
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/layouts/toolbar.cjs +111 -35
- package/dist/cjs/layouts/toolbar.native.js +172 -38
- package/dist/cjs/layouts/toolbar.native.js.map +1 -1
- package/dist/cjs/shared/actionScan.cjs +53 -0
- package/dist/cjs/shared/actionScan.native.js +56 -0
- package/dist/cjs/shared/actionScan.native.js.map +1 -0
- package/dist/cjs/shared/t.cjs +36 -0
- package/dist/cjs/shared/t.native.js +41 -0
- package/dist/cjs/shared/t.native.js.map +1 -0
- package/dist/cjs/shared/useReturnFocusOnClose.cjs +56 -0
- package/dist/cjs/shared/useReturnFocusOnClose.native.js +63 -0
- package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -0
- package/dist/cjs/surfaces.cjs +68 -27
- package/dist/cjs/surfaces.native.js +67 -26
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/tamagui.cjs +94 -0
- package/dist/cjs/tamagui.native.js +97 -0
- package/dist/cjs/tamagui.native.js.map +1 -0
- package/dist/cjs/views/Calendar.cjs +1547 -155
- package/dist/cjs/views/Calendar.native.js +1713 -180
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.cjs +108 -303
- package/dist/cjs/views/Dashboard.native.js +113 -327
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Gantt.cjs +876 -0
- package/dist/cjs/views/Gantt.native.js +970 -0
- package/dist/cjs/views/Gantt.native.js.map +1 -0
- package/dist/cjs/views/ImageGrid.cjs +131 -64
- package/dist/cjs/views/ImageGrid.native.js +143 -65
- package/dist/cjs/views/ImageGrid.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +840 -41
- package/dist/cjs/views/Kanban.native.js +688 -58
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/List.cjs +33 -26
- package/dist/cjs/views/List.native.js +39 -26
- package/dist/cjs/views/List.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.cjs +60 -59
- package/dist/cjs/views/ReportBuilder.native.js +66 -63
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/TreeView.cjs +830 -80
- package/dist/cjs/views/TreeView.native.js +912 -91
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/cjs/views/calendarMath.cjs +154 -0
- package/dist/cjs/views/calendarMath.native.js +203 -0
- package/dist/cjs/views/calendarMath.native.js.map +1 -0
- package/dist/cjs/views/ganttMath.cjs +239 -0
- package/dist/cjs/views/ganttMath.native.js +266 -0
- package/dist/cjs/views/ganttMath.native.js.map +1 -0
- package/dist/cjs/views/index.cjs +30 -2
- package/dist/cjs/views/index.native.js +29 -1
- package/dist/cjs/views/index.native.js.map +1 -1
- package/dist/cjs/views/kanbanDnd.cjs +200 -0
- package/dist/cjs/views/kanbanDnd.native.js +242 -0
- package/dist/cjs/views/kanbanDnd.native.js.map +1 -0
- package/dist/cjs/views/treeViewDnd.cjs +376 -0
- package/dist/cjs/views/treeViewDnd.native.js +453 -0
- package/dist/cjs/views/treeViewDnd.native.js.map +1 -0
- package/dist/cjs/views/treeViewMotion.cjs +70 -0
- package/dist/cjs/views/treeViewMotion.native.js +130 -0
- package/dist/cjs/views/treeViewMotion.native.js.map +1 -0
- package/dist/esm/Accordion/index.mjs +307 -0
- package/dist/esm/Accordion/index.mjs.map +1 -0
- package/dist/esm/Accordion/index.native.js +325 -0
- package/dist/esm/Accordion/index.native.js.map +1 -0
- package/dist/esm/Alert/index.mjs +182 -0
- package/dist/esm/Alert/index.mjs.map +1 -0
- package/dist/esm/Alert/index.native.js +195 -0
- package/dist/esm/Alert/index.native.js.map +1 -0
- package/dist/esm/Avatar/getInitials.mjs +13 -0
- package/dist/esm/Avatar/getInitials.mjs.map +1 -0
- package/dist/esm/Avatar/getInitials.native.js +14 -0
- package/dist/esm/Avatar/getInitials.native.js.map +1 -0
- package/dist/esm/Avatar/index.mjs +93 -0
- package/dist/esm/Avatar/index.mjs.map +1 -0
- package/dist/esm/Avatar/index.native.js +100 -0
- package/dist/esm/Avatar/index.native.js.map +1 -0
- package/dist/esm/Badge/index.mjs +42 -9
- package/dist/esm/Badge/index.mjs.map +1 -1
- package/dist/esm/Badge/index.native.js +45 -10
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Carousel/index.mjs +62 -14
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +66 -14
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +2 -2
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +2 -2
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.mjs +61 -6
- package/dist/esm/DotIndicator/index.mjs.map +1 -1
- package/dist/esm/DotIndicator/index.native.js +64 -8
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.mjs +482 -0
- package/dist/esm/DropdownMenu/index.mjs.map +1 -0
- package/dist/esm/DropdownMenu/index.native.js +509 -0
- package/dist/esm/DropdownMenu/index.native.js.map +1 -0
- package/dist/esm/ErrorBoundary/index.mjs +20 -9
- package/dist/esm/ErrorBoundary/index.mjs.map +1 -1
- package/dist/esm/ErrorBoundary/index.native.js +23 -11
- package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
- package/dist/esm/Pagination.mjs +200 -21
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +222 -21
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.mjs +214 -0
- package/dist/esm/ProgressSteps/index.mjs.map +1 -0
- package/dist/esm/ProgressSteps/index.native.js +221 -0
- package/dist/esm/ProgressSteps/index.native.js.map +1 -0
- package/dist/esm/Quote/index.mjs +65 -0
- package/dist/esm/Quote/index.mjs.map +1 -0
- package/dist/esm/Quote/index.native.js +72 -0
- package/dist/esm/Quote/index.native.js.map +1 -0
- package/dist/esm/SheetModal/index.mjs +42 -0
- package/dist/esm/SheetModal/index.mjs.map +1 -0
- package/dist/esm/SheetModal/index.native.js +115 -0
- package/dist/esm/SheetModal/index.native.js.map +1 -0
- package/dist/esm/SkipLink/index.mjs +109 -0
- package/dist/esm/SkipLink/index.mjs.map +1 -0
- package/dist/esm/SkipLink/index.native.js +128 -0
- package/dist/esm/SkipLink/index.native.js.map +1 -0
- package/dist/esm/Tabs/index.mjs +365 -0
- package/dist/esm/Tabs/index.mjs.map +1 -0
- package/dist/esm/Tabs/index.native.js +393 -0
- package/dist/esm/Tabs/index.native.js.map +1 -0
- package/dist/esm/Toast/index.mjs +391 -0
- package/dist/esm/Toast/index.mjs.map +1 -0
- package/dist/esm/Toast/index.native.js +413 -0
- package/dist/esm/Toast/index.native.js.map +1 -0
- package/dist/esm/Toast/store.mjs +74 -0
- package/dist/esm/Toast/store.mjs.map +1 -0
- package/dist/esm/Toast/store.native.js +144 -0
- package/dist/esm/Toast/store.native.js.map +1 -0
- package/dist/esm/Tooltip/index.mjs +48 -2
- package/dist/esm/Tooltip/index.mjs.map +1 -1
- package/dist/esm/Tooltip/index.native.js +52 -3
- package/dist/esm/Tooltip/index.native.js.map +1 -1
- package/dist/esm/Video/VideoFrame.mjs +20 -0
- package/dist/esm/Video/VideoFrame.mjs.map +1 -0
- package/dist/esm/Video/VideoFrame.native.js +21 -0
- package/dist/esm/Video/VideoFrame.native.js.map +1 -0
- package/dist/esm/Video/index.mjs +47 -0
- package/dist/esm/Video/index.mjs.map +1 -0
- package/dist/esm/Video/index.native.js +144 -0
- package/dist/esm/Video/index.native.js.map +1 -0
- package/dist/esm/Video/types.mjs +2 -0
- package/dist/esm/Video/types.mjs.map +1 -0
- package/dist/esm/Video/types.native.js +2 -0
- package/dist/esm/Video/types.native.js.map +1 -0
- package/dist/esm/Wheel/index.mjs +602 -1
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +625 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/actions/ActionBar.mjs +123 -0
- package/dist/esm/actions/ActionBar.mjs.map +1 -0
- package/dist/esm/actions/ActionBar.native.js +126 -0
- package/dist/esm/actions/ActionBar.native.js.map +1 -0
- package/dist/esm/actions/DestructiveAction.mjs +191 -0
- package/dist/esm/actions/DestructiveAction.mjs.map +1 -0
- package/dist/esm/actions/DestructiveAction.native.js +199 -0
- package/dist/esm/actions/DestructiveAction.native.js.map +1 -0
- package/dist/esm/actions/devWarn.mjs +10 -0
- package/dist/esm/actions/devWarn.mjs.map +1 -0
- package/dist/esm/actions/devWarn.native.js +11 -0
- package/dist/esm/actions/devWarn.native.js.map +1 -0
- package/dist/esm/actions/index.mjs +7 -0
- package/dist/esm/actions/index.mjs.map +1 -0
- package/dist/esm/actions/index.native.js +7 -0
- package/dist/esm/actions/index.native.js.map +1 -0
- package/dist/esm/actions/severity.mjs +15 -0
- package/dist/esm/actions/severity.mjs.map +1 -0
- package/dist/esm/actions/severity.native.js +16 -0
- package/dist/esm/actions/severity.native.js.map +1 -0
- package/dist/esm/charts/Axis.mjs +124 -0
- package/dist/esm/charts/Axis.mjs.map +1 -0
- package/dist/esm/charts/Axis.native.js +128 -0
- package/dist/esm/charts/Axis.native.js.map +1 -0
- package/dist/esm/charts/BarChart.mjs +107 -0
- package/dist/esm/charts/BarChart.mjs.map +1 -0
- package/dist/esm/charts/BarChart.native.js +122 -0
- package/dist/esm/charts/BarChart.native.js.map +1 -0
- package/dist/esm/charts/ChartSurface.mjs +48 -0
- package/dist/esm/charts/ChartSurface.mjs.map +1 -0
- package/dist/esm/charts/ChartSurface.native.js +51 -0
- package/dist/esm/charts/ChartSurface.native.js.map +1 -0
- package/dist/esm/charts/LineChart.mjs +126 -0
- package/dist/esm/charts/LineChart.mjs.map +1 -0
- package/dist/esm/charts/LineChart.native.js +144 -0
- package/dist/esm/charts/LineChart.native.js.map +1 -0
- package/dist/esm/charts/PieChart.mjs +127 -0
- package/dist/esm/charts/PieChart.mjs.map +1 -0
- package/dist/esm/charts/PieChart.native.js +138 -0
- package/dist/esm/charts/PieChart.native.js.map +1 -0
- package/dist/esm/charts/Sparkline.mjs +78 -0
- package/dist/esm/charts/Sparkline.mjs.map +1 -0
- package/dist/esm/charts/Sparkline.native.js +88 -0
- package/dist/esm/charts/Sparkline.native.js.map +1 -0
- package/dist/esm/charts/accessibility.mjs +36 -0
- package/dist/esm/charts/accessibility.mjs.map +1 -0
- package/dist/esm/charts/accessibility.native.js +57 -0
- package/dist/esm/charts/accessibility.native.js.map +1 -0
- package/dist/esm/charts/composeChart.mjs +42 -0
- package/dist/esm/charts/composeChart.mjs.map +1 -0
- package/dist/esm/charts/composeChart.native.js +49 -0
- package/dist/esm/charts/composeChart.native.js.map +1 -0
- package/dist/esm/charts/index.mjs +12 -0
- package/dist/esm/charts/index.mjs.map +1 -0
- package/dist/esm/charts/index.native.js +12 -0
- package/dist/esm/charts/index.native.js.map +1 -0
- package/dist/esm/charts/math.mjs +106 -0
- package/dist/esm/charts/math.mjs.map +1 -0
- package/dist/esm/charts/math.native.js +128 -0
- package/dist/esm/charts/math.native.js.map +1 -0
- package/dist/esm/charts/series.mjs +152 -0
- package/dist/esm/charts/series.mjs.map +1 -0
- package/dist/esm/charts/series.native.js +168 -0
- package/dist/esm/charts/series.native.js.map +1 -0
- package/dist/esm/charts/svg.mjs +61 -0
- package/dist/esm/charts/svg.mjs.map +1 -0
- package/dist/esm/charts/svg.native.js +61 -0
- package/dist/esm/charts/svg.native.js.map +1 -0
- package/dist/esm/charts/types.mjs +2 -0
- package/dist/esm/charts/types.mjs.map +1 -0
- package/dist/esm/charts/types.native.js +2 -0
- package/dist/esm/charts/types.native.js.map +1 -0
- package/dist/esm/charts/useChartTheme.mjs +61 -0
- package/dist/esm/charts/useChartTheme.mjs.map +1 -0
- package/dist/esm/charts/useChartTheme.native.js +67 -0
- package/dist/esm/charts/useChartTheme.native.js.map +1 -0
- package/dist/esm/code/Code/index.mjs +22 -4
- package/dist/esm/code/Code/index.mjs.map +1 -1
- package/dist/esm/code/Code/index.native.js +22 -4
- package/dist/esm/code/Code/index.native.js.map +1 -1
- package/dist/esm/code/CodeBlock/index.mjs +15 -8
- package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
- package/dist/esm/code/CodeBlock/index.native.js +15 -8
- package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
- package/dist/esm/code/HighlightedCode/index.mjs +10 -9
- package/dist/esm/code/HighlightedCode/index.mjs.map +1 -1
- package/dist/esm/code/HighlightedCode/index.native.js +13 -9
- package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/esm/code/Highlighter/index.mjs +24 -7
- package/dist/esm/code/Highlighter/index.mjs.map +1 -1
- package/dist/esm/code/Highlighter/index.native.js +27 -7
- package/dist/esm/code/Highlighter/index.native.js.map +1 -1
- package/dist/esm/componentColors.mjs +24 -13
- package/dist/esm/componentColors.mjs.map +1 -1
- package/dist/esm/componentColors.native.js +24 -13
- package/dist/esm/componentColors.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.mjs +115 -0
- package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -0
- package/dist/esm/feedback/ConfirmDialog.native.js +126 -0
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -0
- package/dist/esm/feedback/NotifyHost.mjs +108 -0
- package/dist/esm/feedback/NotifyHost.mjs.map +1 -0
- package/dist/esm/feedback/NotifyHost.native.js +137 -0
- package/dist/esm/feedback/NotifyHost.native.js.map +1 -0
- package/dist/esm/feedback/index.mjs +7 -0
- package/dist/esm/feedback/index.mjs.map +1 -0
- package/dist/esm/feedback/index.native.js +7 -0
- package/dist/esm/feedback/index.native.js.map +1 -0
- package/dist/esm/feedback/notify.mjs +44 -0
- package/dist/esm/feedback/notify.mjs.map +1 -0
- package/dist/esm/feedback/notify.native.js +44 -0
- package/dist/esm/feedback/notify.native.js.map +1 -0
- package/dist/esm/feedback/route.mjs +67 -0
- package/dist/esm/feedback/route.mjs.map +1 -0
- package/dist/esm/feedback/route.native.js +69 -0
- package/dist/esm/feedback/route.native.js.map +1 -0
- package/dist/esm/feedback/store.mjs +46 -0
- package/dist/esm/feedback/store.mjs.map +1 -0
- package/dist/esm/feedback/store.native.js +74 -0
- package/dist/esm/feedback/store.native.js.map +1 -0
- package/dist/esm/hooks/index.mjs +2 -0
- package/dist/esm/hooks/index.mjs.map +1 -1
- package/dist/esm/hooks/index.native.js +2 -0
- package/dist/esm/hooks/index.native.js.map +1 -1
- package/dist/esm/hooks/useClipboard.mjs +10 -5
- package/dist/esm/hooks/useClipboard.mjs.map +1 -1
- package/dist/esm/hooks/useClipboard.native.js +12 -5
- package/dist/esm/hooks/useClipboard.native.js.map +1 -1
- package/dist/esm/hooks/useDirection.mjs +28 -0
- package/dist/esm/hooks/useDirection.mjs.map +1 -0
- package/dist/esm/hooks/useDirection.native.js +6 -0
- package/dist/esm/hooks/useDirection.native.js.map +1 -0
- package/dist/esm/hooks/useDocumentTitle.mjs +22 -0
- package/dist/esm/hooks/useDocumentTitle.mjs.map +1 -0
- package/dist/esm/hooks/useDocumentTitle.native.js +31 -0
- package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -0
- package/dist/esm/icons/index.mjs +1 -0
- package/dist/esm/icons/index.mjs.map +1 -1
- package/dist/esm/icons/index.native.js +1 -0
- package/dist/esm/icons/index.native.js.map +1 -1
- package/dist/esm/icons/lucide.mjs +4 -0
- package/dist/esm/icons/lucide.mjs.map +1 -0
- package/dist/esm/icons/lucide.native.js +4 -0
- package/dist/esm/icons/lucide.native.js.map +1 -0
- package/dist/esm/images/Image/index.mjs +10 -0
- package/dist/esm/images/Image/index.mjs.map +1 -1
- package/dist/esm/index.mjs +20 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +20 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.mjs +317 -0
- package/dist/esm/layouts/AsyncBoundary.mjs.map +1 -0
- package/dist/esm/layouts/AsyncBoundary.native.js +341 -0
- package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -0
- package/dist/esm/layouts/PageTemplates.mjs +114 -0
- package/dist/esm/layouts/PageTemplates.mjs.map +1 -0
- package/dist/esm/layouts/PageTemplates.native.js +118 -0
- package/dist/esm/layouts/PageTemplates.native.js.map +1 -0
- package/dist/esm/layouts/PaneScaffold.mjs +128 -0
- package/dist/esm/layouts/PaneScaffold.mjs.map +1 -0
- package/dist/esm/layouts/PaneScaffold.native.js +135 -0
- package/dist/esm/layouts/PaneScaffold.native.js.map +1 -0
- package/dist/esm/layouts/ViewSwitcher.mjs +70 -13
- package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js +83 -13
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +133 -36
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +150 -37
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/breadcrumbs.mjs +64 -31
- package/dist/esm/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/esm/layouts/breadcrumbs.native.js +72 -34
- package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/esm/layouts/index.mjs +5 -0
- package/dist/esm/layouts/index.mjs.map +1 -1
- package/dist/esm/layouts/index.native.js +5 -0
- package/dist/esm/layouts/index.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +135 -31
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +153 -32
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/pageHeadingScope.mjs +48 -0
- package/dist/esm/layouts/pageHeadingScope.mjs.map +1 -0
- package/dist/esm/layouts/pageHeadingScope.native.js +51 -0
- package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -0
- package/dist/esm/layouts/sidebar.mjs +50 -12
- package/dist/esm/layouts/sidebar.mjs.map +1 -1
- package/dist/esm/layouts/sidebar.native.js +72 -12
- package/dist/esm/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/layouts/tags.mjs +78 -88
- package/dist/esm/layouts/tags.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js +91 -90
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +500 -187
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +603 -191
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/layouts/toolbar.mjs +114 -38
- package/dist/esm/layouts/toolbar.mjs.map +1 -1
- package/dist/esm/layouts/toolbar.native.js +175 -41
- package/dist/esm/layouts/toolbar.native.js.map +1 -1
- package/dist/esm/shared/actionScan.mjs +27 -0
- package/dist/esm/shared/actionScan.mjs.map +1 -0
- package/dist/esm/shared/actionScan.native.js +27 -0
- package/dist/esm/shared/actionScan.native.js.map +1 -0
- package/dist/esm/shared/t.mjs +10 -0
- package/dist/esm/shared/t.mjs.map +1 -0
- package/dist/esm/shared/t.native.js +12 -0
- package/dist/esm/shared/t.native.js.map +1 -0
- package/dist/esm/shared/useReturnFocusOnClose.mjs +31 -0
- package/dist/esm/shared/useReturnFocusOnClose.mjs.map +1 -0
- package/dist/esm/shared/useReturnFocusOnClose.native.js +35 -0
- package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -0
- package/dist/esm/surfaces.mjs +61 -31
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +61 -31
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/tamagui.mjs +10 -0
- package/dist/esm/tamagui.mjs.map +1 -0
- package/dist/esm/tamagui.native.js +10 -0
- package/dist/esm/tamagui.native.js.map +1 -0
- package/dist/esm/views/Calendar.mjs +1538 -160
- package/dist/esm/views/Calendar.mjs.map +1 -1
- package/dist/esm/views/Calendar.native.js +1716 -186
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.mjs +110 -306
- package/dist/esm/views/Dashboard.mjs.map +1 -1
- package/dist/esm/views/Dashboard.native.js +115 -330
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Gantt.mjs +851 -0
- package/dist/esm/views/Gantt.mjs.map +1 -0
- package/dist/esm/views/Gantt.native.js +931 -0
- package/dist/esm/views/Gantt.native.js.map +1 -0
- package/dist/esm/views/ImageGrid.mjs +134 -67
- package/dist/esm/views/ImageGrid.mjs.map +1 -1
- package/dist/esm/views/ImageGrid.native.js +146 -68
- package/dist/esm/views/ImageGrid.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +841 -42
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +690 -60
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/List.mjs +33 -26
- package/dist/esm/views/List.mjs.map +1 -1
- package/dist/esm/views/List.native.js +39 -26
- package/dist/esm/views/List.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.mjs +60 -59
- package/dist/esm/views/ReportBuilder.mjs.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js +66 -63
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/TreeView.mjs +834 -84
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +916 -95
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/calendarMath.mjs +116 -0
- package/dist/esm/views/calendarMath.mjs.map +1 -0
- package/dist/esm/views/calendarMath.native.js +162 -0
- package/dist/esm/views/calendarMath.native.js.map +1 -0
- package/dist/esm/views/ganttMath.mjs +195 -0
- package/dist/esm/views/ganttMath.mjs.map +1 -0
- package/dist/esm/views/ganttMath.native.js +219 -0
- package/dist/esm/views/ganttMath.native.js.map +1 -0
- package/dist/esm/views/index.mjs +7 -3
- package/dist/esm/views/index.mjs.map +1 -1
- package/dist/esm/views/index.native.js +7 -3
- package/dist/esm/views/index.native.js.map +1 -1
- package/dist/esm/views/kanbanDnd.mjs +165 -0
- package/dist/esm/views/kanbanDnd.mjs.map +1 -0
- package/dist/esm/views/kanbanDnd.native.js +204 -0
- package/dist/esm/views/kanbanDnd.native.js.map +1 -0
- package/dist/esm/views/treeViewDnd.mjs +336 -0
- package/dist/esm/views/treeViewDnd.mjs.map +1 -0
- package/dist/esm/views/treeViewDnd.native.js +410 -0
- package/dist/esm/views/treeViewDnd.native.js.map +1 -0
- package/dist/esm/views/treeViewMotion.mjs +43 -0
- package/dist/esm/views/treeViewMotion.mjs.map +1 -0
- package/dist/esm/views/treeViewMotion.native.js +100 -0
- package/dist/esm/views/treeViewMotion.native.js.map +1 -0
- package/dist/jsx/Accordion/index.mjs +307 -0
- package/dist/jsx/Accordion/index.mjs.map +1 -0
- package/dist/jsx/Accordion/index.native.js +353 -0
- package/dist/jsx/Accordion/index.native.js.map +1 -0
- package/dist/jsx/Alert/index.mjs +182 -0
- package/dist/jsx/Alert/index.mjs.map +1 -0
- package/dist/jsx/Alert/index.native.js +223 -0
- package/dist/jsx/Alert/index.native.js.map +1 -0
- package/dist/jsx/Avatar/getInitials.mjs +13 -0
- package/dist/jsx/Avatar/getInitials.mjs.map +1 -0
- package/dist/jsx/Avatar/getInitials.native.js +42 -0
- package/dist/jsx/Avatar/getInitials.native.js.map +1 -0
- package/dist/jsx/Avatar/index.mjs +93 -0
- package/dist/jsx/Avatar/index.mjs.map +1 -0
- package/dist/jsx/Avatar/index.native.js +129 -0
- package/dist/jsx/Avatar/index.native.js.map +1 -0
- package/dist/jsx/Badge/index.mjs +42 -9
- package/dist/jsx/Badge/index.mjs.map +1 -1
- package/dist/jsx/Badge/index.native.js +45 -10
- package/dist/jsx/Badge/index.native.js.map +1 -1
- package/dist/jsx/Carousel/index.mjs +62 -14
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +65 -13
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +2 -2
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +4 -1
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/DotIndicator/index.mjs +61 -6
- package/dist/jsx/DotIndicator/index.mjs.map +1 -1
- package/dist/jsx/DotIndicator/index.native.js +64 -8
- package/dist/jsx/DotIndicator/index.native.js.map +1 -1
- package/dist/jsx/DropdownMenu/index.mjs +482 -0
- package/dist/jsx/DropdownMenu/index.mjs.map +1 -0
- package/dist/jsx/DropdownMenu/index.native.js +537 -0
- package/dist/jsx/DropdownMenu/index.native.js.map +1 -0
- package/dist/jsx/ErrorBoundary/index.mjs +20 -9
- package/dist/jsx/ErrorBoundary/index.mjs.map +1 -1
- package/dist/jsx/ErrorBoundary/index.native.js +23 -11
- package/dist/jsx/ErrorBoundary/index.native.js.map +1 -1
- package/dist/jsx/Pagination.mjs +200 -21
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +220 -18
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/ProgressSteps/index.mjs +214 -0
- package/dist/jsx/ProgressSteps/index.mjs.map +1 -0
- package/dist/jsx/ProgressSteps/index.native.js +249 -0
- package/dist/jsx/ProgressSteps/index.native.js.map +1 -0
- package/dist/jsx/Quote/index.mjs +65 -0
- package/dist/jsx/Quote/index.mjs.map +1 -0
- package/dist/jsx/Quote/index.native.js +100 -0
- package/dist/jsx/Quote/index.native.js.map +1 -0
- package/dist/jsx/SheetModal/index.mjs +42 -0
- package/dist/jsx/SheetModal/index.mjs.map +1 -0
- package/dist/jsx/SheetModal/index.native.js +143 -0
- package/dist/jsx/SheetModal/index.native.js.map +1 -0
- package/dist/jsx/SkipLink/index.mjs +109 -0
- package/dist/jsx/SkipLink/index.mjs.map +1 -0
- package/dist/jsx/SkipLink/index.native.js +156 -0
- package/dist/jsx/SkipLink/index.native.js.map +1 -0
- package/dist/jsx/Tabs/index.mjs +365 -0
- package/dist/jsx/Tabs/index.mjs.map +1 -0
- package/dist/jsx/Tabs/index.native.js +432 -0
- package/dist/jsx/Tabs/index.native.js.map +1 -0
- package/dist/jsx/Toast/index.mjs +391 -0
- package/dist/jsx/Toast/index.mjs.map +1 -0
- package/dist/jsx/Toast/index.native.js +447 -0
- package/dist/jsx/Toast/index.native.js.map +1 -0
- package/dist/jsx/Toast/store.mjs +74 -0
- package/dist/jsx/Toast/store.mjs.map +1 -0
- package/dist/jsx/Toast/store.native.js +179 -0
- package/dist/jsx/Toast/store.native.js.map +1 -0
- package/dist/jsx/Tooltip/index.mjs +48 -2
- package/dist/jsx/Tooltip/index.mjs.map +1 -1
- package/dist/jsx/Tooltip/index.native.js +51 -2
- package/dist/jsx/Tooltip/index.native.js.map +1 -1
- package/dist/jsx/Video/VideoFrame.mjs +20 -0
- package/dist/jsx/Video/VideoFrame.mjs.map +1 -0
- package/dist/jsx/Video/VideoFrame.native.js +50 -0
- package/dist/jsx/Video/VideoFrame.native.js.map +1 -0
- package/dist/jsx/Video/index.mjs +47 -0
- package/dist/jsx/Video/index.mjs.map +1 -0
- package/dist/jsx/Video/index.native.js +172 -0
- package/dist/jsx/Video/index.native.js.map +1 -0
- package/dist/jsx/Video/types.mjs +2 -0
- package/dist/jsx/Video/types.mjs.map +1 -0
- package/dist/jsx/Video/types.native.js +21 -0
- package/dist/jsx/Video/types.native.js.map +1 -0
- package/dist/jsx/Wheel/index.mjs +602 -1
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +626 -2
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/actions/ActionBar.mjs +123 -0
- package/dist/jsx/actions/ActionBar.mjs.map +1 -0
- package/dist/jsx/actions/ActionBar.native.js +154 -0
- package/dist/jsx/actions/ActionBar.native.js.map +1 -0
- package/dist/jsx/actions/DestructiveAction.mjs +191 -0
- package/dist/jsx/actions/DestructiveAction.mjs.map +1 -0
- package/dist/jsx/actions/DestructiveAction.native.js +227 -0
- package/dist/jsx/actions/DestructiveAction.native.js.map +1 -0
- package/dist/jsx/actions/devWarn.mjs +10 -0
- package/dist/jsx/actions/devWarn.mjs.map +1 -0
- package/dist/jsx/actions/devWarn.native.js +42 -0
- package/dist/jsx/actions/devWarn.native.js.map +1 -0
- package/dist/jsx/actions/index.mjs +7 -0
- package/dist/jsx/actions/index.mjs.map +1 -0
- package/dist/jsx/actions/index.native.js +42 -0
- package/dist/jsx/actions/index.native.js.map +1 -0
- package/dist/jsx/actions/severity.mjs +15 -0
- package/dist/jsx/actions/severity.mjs.map +1 -0
- package/dist/jsx/actions/severity.native.js +46 -0
- package/dist/jsx/actions/severity.native.js.map +1 -0
- package/dist/jsx/charts/Axis.mjs +124 -0
- package/dist/jsx/charts/Axis.mjs.map +1 -0
- package/dist/jsx/charts/Axis.native.js +159 -0
- package/dist/jsx/charts/Axis.native.js.map +1 -0
- package/dist/jsx/charts/BarChart.mjs +107 -0
- package/dist/jsx/charts/BarChart.mjs.map +1 -0
- package/dist/jsx/charts/BarChart.native.js +150 -0
- package/dist/jsx/charts/BarChart.native.js.map +1 -0
- package/dist/jsx/charts/ChartSurface.mjs +48 -0
- package/dist/jsx/charts/ChartSurface.mjs.map +1 -0
- package/dist/jsx/charts/ChartSurface.native.js +79 -0
- package/dist/jsx/charts/ChartSurface.native.js.map +1 -0
- package/dist/jsx/charts/LineChart.mjs +126 -0
- package/dist/jsx/charts/LineChart.mjs.map +1 -0
- package/dist/jsx/charts/LineChart.native.js +173 -0
- package/dist/jsx/charts/LineChart.native.js.map +1 -0
- package/dist/jsx/charts/PieChart.mjs +127 -0
- package/dist/jsx/charts/PieChart.mjs.map +1 -0
- package/dist/jsx/charts/PieChart.native.js +166 -0
- package/dist/jsx/charts/PieChart.native.js.map +1 -0
- package/dist/jsx/charts/Sparkline.mjs +78 -0
- package/dist/jsx/charts/Sparkline.mjs.map +1 -0
- package/dist/jsx/charts/Sparkline.native.js +116 -0
- package/dist/jsx/charts/Sparkline.native.js.map +1 -0
- package/dist/jsx/charts/accessibility.mjs +36 -0
- package/dist/jsx/charts/accessibility.mjs.map +1 -0
- package/dist/jsx/charts/accessibility.native.js +86 -0
- package/dist/jsx/charts/accessibility.native.js.map +1 -0
- package/dist/jsx/charts/composeChart.mjs +42 -0
- package/dist/jsx/charts/composeChart.mjs.map +1 -0
- package/dist/jsx/charts/composeChart.native.js +79 -0
- package/dist/jsx/charts/composeChart.native.js.map +1 -0
- package/dist/jsx/charts/index.mjs +12 -0
- package/dist/jsx/charts/index.mjs.map +1 -0
- package/dist/jsx/charts/index.native.js +69 -0
- package/dist/jsx/charts/index.native.js.map +1 -0
- package/dist/jsx/charts/math.mjs +106 -0
- package/dist/jsx/charts/math.mjs.map +1 -0
- package/dist/jsx/charts/math.native.js +170 -0
- package/dist/jsx/charts/math.native.js.map +1 -0
- package/dist/jsx/charts/series.mjs +152 -0
- package/dist/jsx/charts/series.mjs.map +1 -0
- package/dist/jsx/charts/series.native.js +199 -0
- package/dist/jsx/charts/series.native.js.map +1 -0
- package/dist/jsx/charts/svg.mjs +61 -0
- package/dist/jsx/charts/svg.mjs.map +1 -0
- package/dist/jsx/charts/svg.native.js +97 -0
- package/dist/jsx/charts/svg.native.js.map +1 -0
- package/dist/jsx/charts/types.mjs +2 -0
- package/dist/jsx/charts/types.mjs.map +1 -0
- package/dist/jsx/charts/types.native.js +21 -0
- package/dist/jsx/charts/types.native.js.map +1 -0
- package/dist/jsx/charts/useChartTheme.mjs +61 -0
- package/dist/jsx/charts/useChartTheme.mjs.map +1 -0
- package/dist/jsx/charts/useChartTheme.native.js +106 -0
- package/dist/jsx/charts/useChartTheme.native.js.map +1 -0
- package/dist/jsx/code/Code/index.mjs +22 -4
- package/dist/jsx/code/Code/index.mjs.map +1 -1
- package/dist/jsx/code/Code/index.native.js +22 -4
- package/dist/jsx/code/Code/index.native.js.map +1 -1
- package/dist/jsx/code/CodeBlock/index.mjs +15 -8
- package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
- package/dist/jsx/code/CodeBlock/index.native.js +14 -7
- package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
- package/dist/jsx/code/HighlightedCode/index.mjs +10 -9
- package/dist/jsx/code/HighlightedCode/index.mjs.map +1 -1
- package/dist/jsx/code/HighlightedCode/index.native.js +12 -8
- package/dist/jsx/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/jsx/code/Highlighter/index.mjs +24 -7
- package/dist/jsx/code/Highlighter/index.mjs.map +1 -1
- package/dist/jsx/code/Highlighter/index.native.js +27 -7
- package/dist/jsx/code/Highlighter/index.native.js.map +1 -1
- package/dist/jsx/componentColors.mjs +24 -13
- package/dist/jsx/componentColors.mjs.map +1 -1
- package/dist/jsx/componentColors.native.js +25 -13
- package/dist/jsx/componentColors.native.js.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.mjs +115 -0
- package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -0
- package/dist/jsx/feedback/ConfirmDialog.native.js +154 -0
- package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -0
- package/dist/jsx/feedback/NotifyHost.mjs +108 -0
- package/dist/jsx/feedback/NotifyHost.mjs.map +1 -0
- package/dist/jsx/feedback/NotifyHost.native.js +166 -0
- package/dist/jsx/feedback/NotifyHost.native.js.map +1 -0
- package/dist/jsx/feedback/index.mjs +7 -0
- package/dist/jsx/feedback/index.mjs.map +1 -0
- package/dist/jsx/feedback/index.native.js +45 -0
- package/dist/jsx/feedback/index.native.js.map +1 -0
- package/dist/jsx/feedback/notify.mjs +44 -0
- package/dist/jsx/feedback/notify.mjs.map +1 -0
- package/dist/jsx/feedback/notify.native.js +72 -0
- package/dist/jsx/feedback/notify.native.js.map +1 -0
- package/dist/jsx/feedback/route.mjs +67 -0
- package/dist/jsx/feedback/route.mjs.map +1 -0
- package/dist/jsx/feedback/route.native.js +97 -0
- package/dist/jsx/feedback/route.native.js.map +1 -0
- package/dist/jsx/feedback/store.mjs +46 -0
- package/dist/jsx/feedback/store.mjs.map +1 -0
- package/dist/jsx/feedback/store.native.js +107 -0
- package/dist/jsx/feedback/store.native.js.map +1 -0
- package/dist/jsx/hooks/index.mjs +2 -0
- package/dist/jsx/hooks/index.mjs.map +1 -1
- package/dist/jsx/hooks/index.native.js +2 -0
- package/dist/jsx/hooks/index.native.js.map +1 -1
- package/dist/jsx/hooks/useClipboard.mjs +10 -5
- package/dist/jsx/hooks/useClipboard.mjs.map +1 -1
- package/dist/jsx/hooks/useClipboard.native.js +12 -5
- package/dist/jsx/hooks/useClipboard.native.js.map +1 -1
- package/dist/jsx/hooks/useDirection.mjs +28 -0
- package/dist/jsx/hooks/useDirection.mjs.map +1 -0
- package/dist/jsx/hooks/useDirection.native.js +34 -0
- package/dist/jsx/hooks/useDirection.native.js.map +1 -0
- package/dist/jsx/hooks/useDocumentTitle.mjs +22 -0
- package/dist/jsx/hooks/useDocumentTitle.mjs.map +1 -0
- package/dist/jsx/hooks/useDocumentTitle.native.js +61 -0
- package/dist/jsx/hooks/useDocumentTitle.native.js.map +1 -0
- package/dist/jsx/icons/index.mjs +1 -0
- package/dist/jsx/icons/index.mjs.map +1 -1
- package/dist/jsx/icons/index.native.js +1 -0
- package/dist/jsx/icons/index.native.js.map +1 -1
- package/dist/jsx/icons/lucide.mjs +4 -0
- package/dist/jsx/icons/lucide.mjs.map +1 -0
- package/dist/jsx/icons/lucide.native.js +37 -0
- package/dist/jsx/icons/lucide.native.js.map +1 -0
- package/dist/jsx/images/Image/index.mjs +10 -0
- package/dist/jsx/images/Image/index.mjs.map +1 -1
- package/dist/jsx/index.js +20 -3
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +20 -3
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +40 -2
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/layouts/AsyncBoundary.mjs +317 -0
- package/dist/jsx/layouts/AsyncBoundary.mjs.map +1 -0
- package/dist/jsx/layouts/AsyncBoundary.native.js +374 -0
- package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -0
- package/dist/jsx/layouts/PageTemplates.mjs +114 -0
- package/dist/jsx/layouts/PageTemplates.mjs.map +1 -0
- package/dist/jsx/layouts/PageTemplates.native.js +148 -0
- package/dist/jsx/layouts/PageTemplates.native.js.map +1 -0
- package/dist/jsx/layouts/PaneScaffold.mjs +128 -0
- package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -0
- package/dist/jsx/layouts/PaneScaffold.native.js +167 -0
- package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -0
- package/dist/jsx/layouts/ViewSwitcher.mjs +70 -13
- package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.native.js +81 -11
- package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +133 -36
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +147 -34
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.mjs +64 -31
- package/dist/jsx/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.native.js +70 -32
- package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/jsx/layouts/index.mjs +5 -0
- package/dist/jsx/layouts/index.mjs.map +1 -1
- package/dist/jsx/layouts/index.native.js +18 -0
- package/dist/jsx/layouts/index.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +135 -31
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +150 -28
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/pageHeadingScope.mjs +48 -0
- package/dist/jsx/layouts/pageHeadingScope.mjs.map +1 -0
- package/dist/jsx/layouts/pageHeadingScope.native.js +80 -0
- package/dist/jsx/layouts/pageHeadingScope.native.js.map +1 -0
- package/dist/jsx/layouts/sidebar.mjs +50 -12
- package/dist/jsx/layouts/sidebar.mjs.map +1 -1
- package/dist/jsx/layouts/sidebar.native.js +70 -10
- package/dist/jsx/layouts/sidebar.native.js.map +1 -1
- package/dist/jsx/layouts/tags.mjs +78 -88
- package/dist/jsx/layouts/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.native.js +90 -89
- package/dist/jsx/layouts/tags.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +500 -187
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +602 -186
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/layouts/toolbar.mjs +114 -38
- package/dist/jsx/layouts/toolbar.mjs.map +1 -1
- package/dist/jsx/layouts/toolbar.native.js +172 -38
- package/dist/jsx/layouts/toolbar.native.js.map +1 -1
- package/dist/jsx/shared/actionScan.mjs +27 -0
- package/dist/jsx/shared/actionScan.mjs.map +1 -0
- package/dist/jsx/shared/actionScan.native.js +56 -0
- package/dist/jsx/shared/actionScan.native.js.map +1 -0
- package/dist/jsx/shared/t.mjs +10 -0
- package/dist/jsx/shared/t.mjs.map +1 -0
- package/dist/jsx/shared/t.native.js +41 -0
- package/dist/jsx/shared/t.native.js.map +1 -0
- package/dist/jsx/shared/useReturnFocusOnClose.mjs +31 -0
- package/dist/jsx/shared/useReturnFocusOnClose.mjs.map +1 -0
- package/dist/jsx/shared/useReturnFocusOnClose.native.js +63 -0
- package/dist/jsx/shared/useReturnFocusOnClose.native.js.map +1 -0
- package/dist/jsx/surfaces.mjs +61 -31
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +67 -26
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/tamagui.mjs +10 -0
- package/dist/jsx/tamagui.mjs.map +1 -0
- package/dist/jsx/tamagui.native.js +97 -0
- package/dist/jsx/tamagui.native.js.map +1 -0
- package/dist/jsx/views/Calendar.mjs +1538 -160
- package/dist/jsx/views/Calendar.mjs.map +1 -1
- package/dist/jsx/views/Calendar.native.js +1713 -180
- package/dist/jsx/views/Calendar.native.js.map +1 -1
- package/dist/jsx/views/Dashboard.mjs +110 -306
- package/dist/jsx/views/Dashboard.mjs.map +1 -1
- package/dist/jsx/views/Dashboard.native.js +113 -327
- package/dist/jsx/views/Dashboard.native.js.map +1 -1
- package/dist/jsx/views/Gantt.mjs +851 -0
- package/dist/jsx/views/Gantt.mjs.map +1 -0
- package/dist/jsx/views/Gantt.native.js +970 -0
- package/dist/jsx/views/Gantt.native.js.map +1 -0
- package/dist/jsx/views/ImageGrid.mjs +134 -67
- package/dist/jsx/views/ImageGrid.mjs.map +1 -1
- package/dist/jsx/views/ImageGrid.native.js +143 -65
- package/dist/jsx/views/ImageGrid.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +841 -42
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +688 -58
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/List.mjs +33 -26
- package/dist/jsx/views/List.mjs.map +1 -1
- package/dist/jsx/views/List.native.js +39 -26
- package/dist/jsx/views/List.native.js.map +1 -1
- package/dist/jsx/views/ReportBuilder.mjs +60 -59
- package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
- package/dist/jsx/views/ReportBuilder.native.js +66 -63
- package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
- package/dist/jsx/views/TreeView.mjs +834 -84
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +912 -91
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/dist/jsx/views/calendarMath.mjs +116 -0
- package/dist/jsx/views/calendarMath.mjs.map +1 -0
- package/dist/jsx/views/calendarMath.native.js +203 -0
- package/dist/jsx/views/calendarMath.native.js.map +1 -0
- package/dist/jsx/views/ganttMath.mjs +195 -0
- package/dist/jsx/views/ganttMath.mjs.map +1 -0
- package/dist/jsx/views/ganttMath.native.js +266 -0
- package/dist/jsx/views/ganttMath.native.js.map +1 -0
- package/dist/jsx/views/index.mjs +7 -3
- package/dist/jsx/views/index.mjs.map +1 -1
- package/dist/jsx/views/index.native.js +29 -1
- package/dist/jsx/views/index.native.js.map +1 -1
- package/dist/jsx/views/kanbanDnd.mjs +165 -0
- package/dist/jsx/views/kanbanDnd.mjs.map +1 -0
- package/dist/jsx/views/kanbanDnd.native.js +242 -0
- package/dist/jsx/views/kanbanDnd.native.js.map +1 -0
- package/dist/jsx/views/treeViewDnd.mjs +336 -0
- package/dist/jsx/views/treeViewDnd.mjs.map +1 -0
- package/dist/jsx/views/treeViewDnd.native.js +453 -0
- package/dist/jsx/views/treeViewDnd.native.js.map +1 -0
- package/dist/jsx/views/treeViewMotion.mjs +43 -0
- package/dist/jsx/views/treeViewMotion.mjs.map +1 -0
- package/dist/jsx/views/treeViewMotion.native.js +130 -0
- package/dist/jsx/views/treeViewMotion.native.js.map +1 -0
- package/package.json +51 -15
- package/src/Accordion/Accordion.spec.tsx +114 -0
- package/src/Accordion/Accordion.stories.tsx +187 -0
- package/src/Accordion/index.tsx +419 -0
- package/src/Alert/Alert.spec.tsx +83 -0
- package/src/Alert/Alert.stories.tsx +207 -0
- package/src/Alert/index.tsx +256 -0
- package/src/Avatar/Avatar.spec.tsx +45 -0
- package/src/Avatar/Avatar.stories.tsx +79 -0
- package/src/Avatar/getInitials.ts +15 -0
- package/src/Avatar/index.tsx +158 -0
- package/src/Badge/Badge.stories.tsx +37 -2
- package/src/Badge/index.tsx +39 -9
- package/src/Card.stories.tsx +96 -0
- package/src/CardFooter.stories.tsx +69 -0
- package/src/CardHeader.stories.tsx +67 -0
- package/src/Carousel/Carousel.stories.tsx +15 -16
- package/src/Carousel/index.tsx +65 -12
- package/src/Chip/index.tsx +3 -0
- package/src/DialogContent.stories.tsx +76 -0
- package/src/DotIndicator/DotIndicator.stories.tsx +12 -0
- package/src/DotIndicator/dotIndicator.spec.tsx +75 -0
- package/src/DotIndicator/index.tsx +59 -6
- package/src/DropdownMenu/DropdownMenu.spec.tsx +222 -0
- package/src/DropdownMenu/DropdownMenu.stories.tsx +198 -0
- package/src/DropdownMenu/index.tsx +696 -0
- package/src/ErrorBoundary/index.tsx +12 -6
- package/src/Pagination.spec.tsx +158 -0
- package/src/Pagination.stories.tsx +120 -4
- package/src/Pagination.tsx +309 -29
- package/src/Panel.stories.tsx +72 -0
- package/src/PopoverContent.stories.tsx +67 -0
- package/src/ProgressSteps/ProgressSteps.spec.tsx +31 -0
- package/src/ProgressSteps/ProgressSteps.stories.tsx +87 -0
- package/src/ProgressSteps/index.tsx +291 -0
- package/src/Quote/Quote.spec.tsx +17 -0
- package/src/Quote/Quote.stories.tsx +50 -0
- package/src/Quote/index.tsx +100 -0
- package/src/SheetFrame.stories.tsx +78 -0
- package/src/SheetModal/index.native.tsx +140 -0
- package/src/SheetModal/index.tsx +66 -0
- package/src/Skeleton/SkeletonCircle.stories.tsx +55 -0
- package/src/Skeleton/SkeletonText.stories.tsx +107 -0
- package/src/SkipLink/SkipLink.spec.tsx +45 -0
- package/src/SkipLink/SkipLink.stories.tsx +89 -0
- package/src/SkipLink/index.tsx +147 -0
- package/src/Tabs/Tabs.spec.tsx +70 -0
- package/src/Tabs/Tabs.stories.tsx +249 -0
- package/src/Tabs/index.tsx +524 -0
- package/src/Toast/Toast.spec.tsx +223 -0
- package/src/Toast/Toast.stories.tsx +210 -0
- package/src/Toast/index.tsx +478 -0
- package/src/Toast/store.ts +142 -0
- package/src/Tooltip/Tooltip.devWarn.spec.tsx +43 -0
- package/src/Tooltip/index.tsx +68 -6
- package/src/Video/Video.spec.tsx +78 -0
- package/src/Video/Video.stories.tsx +75 -0
- package/src/Video/VideoFrame.tsx +15 -0
- package/src/Video/index.native.tsx +181 -0
- package/src/Video/index.tsx +50 -0
- package/src/Video/types.ts +17 -0
- package/src/Wheel/Wheel.spec.tsx +30 -0
- package/src/Wheel/Wheel.stories.tsx +1 -1
- package/src/Wheel/index.tsx +862 -7
- package/src/actions/ActionBar.spec.tsx +166 -0
- package/src/actions/ActionBar.tsx +207 -0
- package/src/actions/DestructiveAction.spec.tsx +254 -0
- package/src/actions/DestructiveAction.stories.tsx +113 -0
- package/src/actions/DestructiveAction.tsx +281 -0
- package/src/actions/devWarn.ts +33 -0
- package/src/actions/index.ts +24 -0
- package/src/actions/severity.ts +40 -0
- package/src/charts/Axis.tsx +180 -0
- package/src/charts/BarChart.tsx +138 -0
- package/src/charts/ChartSurface.tsx +70 -0
- package/src/charts/Charts.stories.tsx +187 -0
- package/src/charts/LineChart.tsx +172 -0
- package/src/charts/PieChart.tsx +153 -0
- package/src/charts/Sparkline.tsx +98 -0
- package/src/charts/accessibility.ts +75 -0
- package/src/charts/charts.spec.tsx +321 -0
- package/src/charts/composeChart.ts +86 -0
- package/src/charts/index.ts +69 -0
- package/src/charts/math.spec.ts +184 -0
- package/src/charts/math.ts +275 -0
- package/src/charts/series.tsx +245 -0
- package/src/charts/svg.ts +84 -0
- package/src/charts/types.ts +54 -0
- package/src/charts/useChartTheme.ts +128 -0
- package/src/code/Code/index.tsx +38 -4
- package/src/code/CodeBlock/index.tsx +25 -9
- package/src/code/CodeInline.stories.tsx +74 -0
- package/src/code/HighlightedCode/HighlightedCode.stories.tsx +36 -5
- package/src/code/HighlightedCode/index.tsx +15 -10
- package/src/code/Highlighter/Highlighter.spec.ts +35 -0
- package/src/code/Highlighter/index.ts +40 -11
- package/src/code/highlightedCode.spec.tsx +97 -0
- package/src/componentColors.ts +40 -12
- package/src/feedback/ConfirmDialog.spec.tsx +331 -0
- package/src/feedback/ConfirmDialog.stories.tsx +160 -0
- package/src/feedback/ConfirmDialog.tsx +186 -0
- package/src/feedback/Notify.stories.tsx +175 -0
- package/src/feedback/NotifyHost.tsx +139 -0
- package/src/feedback/index.ts +22 -0
- package/src/feedback/notify.spec.ts +180 -0
- package/src/feedback/notify.ts +54 -0
- package/src/feedback/route.ts +118 -0
- package/src/feedback/store.ts +71 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useClipboard.spec.tsx +26 -0
- package/src/hooks/useClipboard.ts +16 -9
- package/src/hooks/useDirection.native.ts +16 -0
- package/src/hooks/useDirection.spec.tsx +89 -0
- package/src/hooks/useDirection.ts +67 -0
- package/src/hooks/useDocumentTitle.spec.tsx +88 -0
- package/src/hooks/useDocumentTitle.ts +76 -0
- package/src/icons/CheckRegular.stories.tsx +75 -0
- package/src/icons/MinusRegular.stories.tsx +84 -0
- package/src/icons/index.ts +1 -0
- package/src/icons/lucide.ts +5 -0
- package/src/images/Image/index.tsx +15 -0
- package/src/images/SvgUri/SvgUri.stories.tsx +22 -7
- package/src/index.ts +65 -3
- package/src/layouts/AsyncBoundary.spec.tsx +142 -0
- package/src/layouts/AsyncBoundary.stories.tsx +147 -0
- package/src/layouts/AsyncBoundary.tsx +400 -0
- package/src/layouts/Attachments.stories.tsx +29 -0
- package/src/layouts/Debug/debug.spec.tsx +58 -3
- package/src/layouts/EmptyState.stories.tsx +96 -0
- package/src/layouts/PageHeader.stories.tsx +90 -0
- package/src/layouts/PageSection.stories.tsx +85 -0
- package/src/layouts/PageTemplates.spec.tsx +136 -0
- package/src/layouts/PageTemplates.stories.tsx +107 -0
- package/src/layouts/PageTemplates.tsx +203 -0
- package/src/layouts/PaneScaffold.spec.tsx +139 -0
- package/src/layouts/PaneScaffold.stories.tsx +132 -0
- package/src/layouts/PaneScaffold.tsx +249 -0
- package/src/layouts/Screen.stories.tsx +104 -0
- package/src/layouts/ScreenToolbar.stories.tsx +81 -0
- package/src/layouts/Sidebar.stories.tsx +40 -34
- package/src/layouts/Timeline.stories.tsx +123 -0
- package/src/layouts/Toolbar.stories.tsx +31 -2
- package/src/layouts/ViewSwitcher.stories.tsx +42 -4
- package/src/layouts/ViewSwitcher.tsx +98 -6
- package/src/layouts/attachments.tsx +186 -48
- package/src/layouts/breadcrumbs.tsx +64 -13
- package/src/layouts/index.tsx +15 -0
- package/src/layouts/layouts.spec.tsx +164 -1
- package/src/layouts/page.tsx +257 -41
- package/src/layouts/pageHeadingScope.tsx +87 -0
- package/src/layouts/pageHeadings.spec.tsx +151 -0
- package/src/layouts/sidebar.tsx +95 -20
- package/src/layouts/tags-trigger.spec.tsx +73 -0
- package/src/layouts/tags.tsx +132 -89
- package/src/layouts/timeline-comments.spec.tsx +243 -0
- package/src/layouts/timeline-radius.spec.tsx +57 -0
- package/src/layouts/timeline.tsx +661 -232
- package/src/layouts/toolbar.tsx +161 -38
- package/src/shared/actionScan.ts +40 -0
- package/src/shared/t.ts +29 -0
- package/src/shared/useReturnFocusOnClose.ts +51 -0
- package/src/surfaces.spec.tsx +51 -0
- package/src/surfaces.tsx +152 -58
- package/src/tamagui.spec.ts +182 -0
- package/src/tamagui.ts +126 -0
- package/src/views/Calendar.motion.spec.tsx +204 -0
- package/src/views/Calendar.stories.tsx +252 -4
- package/src/views/Calendar.tsx +2156 -156
- package/src/views/Dashboard.stories.tsx +52 -3
- package/src/views/Dashboard.tsx +200 -359
- package/src/views/Gantt.spec.tsx +611 -0
- package/src/views/Gantt.stories.tsx +209 -0
- package/src/views/Gantt.tsx +1183 -0
- package/src/views/ImageGrid.stories.tsx +56 -2
- package/src/views/ImageGrid.tsx +172 -43
- package/src/views/Kanban.native.tsx +801 -72
- package/src/views/Kanban.stories.tsx +187 -1
- package/src/views/Kanban.tsx +1188 -69
- package/src/views/List.stories.tsx +54 -2
- package/src/views/List.tsx +118 -78
- package/src/views/ReportBuilder.stories.tsx +38 -2
- package/src/views/ReportBuilder.tsx +98 -80
- package/src/views/TreeView.stories.tsx +98 -5
- package/src/views/TreeView.tsx +1099 -93
- package/src/views/calendarMath.spec.ts +197 -0
- package/src/views/calendarMath.ts +229 -0
- package/src/views/ganttMath.ts +333 -0
- package/src/views/index.ts +48 -1
- package/src/views/kanbanDnd.spec.ts +259 -0
- package/src/views/kanbanDnd.ts +323 -0
- package/src/views/treeViewDnd.spec.ts +353 -0
- package/src/views/treeViewDnd.ts +503 -0
- package/src/views/treeViewMotion.spec.ts +108 -0
- package/src/views/treeViewMotion.ts +100 -0
- package/src/views/tz-verify.spec.tsx +81 -0
- package/src/views/views.spec.tsx +602 -25
- package/types/Accordion/index.d.ts +59 -0
- package/types/Accordion/index.d.ts.map +1 -0
- package/types/Alert/index.d.ts +43 -0
- package/types/Alert/index.d.ts.map +1 -0
- package/types/Avatar/getInitials.d.ts +6 -0
- package/types/Avatar/getInitials.d.ts.map +1 -0
- package/types/Avatar/index.d.ts +55 -0
- package/types/Avatar/index.d.ts.map +1 -0
- package/types/Badge/index.d.ts +34 -0
- package/types/Badge/index.d.ts.map +1 -0
- package/types/Carousel/index.d.ts +29 -0
- package/types/Carousel/index.d.ts.map +1 -0
- package/types/Chip/index.d.ts +2 -0
- package/types/Chip/index.d.ts.map +1 -0
- package/types/DotIndicator/index.d.ts +31 -0
- package/types/DotIndicator/index.d.ts.map +1 -0
- package/types/DropdownMenu/index.d.ts +115 -0
- package/types/DropdownMenu/index.d.ts.map +1 -0
- package/types/ErrorBoundary/index.d.ts +18 -0
- package/types/ErrorBoundary/index.d.ts.map +1 -0
- package/types/Pagination.d.ts +48 -0
- package/types/Pagination.d.ts.map +1 -0
- package/types/ProgressSteps/index.d.ts +40 -0
- package/types/ProgressSteps/index.d.ts.map +1 -0
- package/types/Quote/index.d.ts +21 -0
- package/types/Quote/index.d.ts.map +1 -0
- package/types/SheetModal/index.d.ts +27 -0
- package/types/SheetModal/index.d.ts.map +1 -0
- package/types/SheetModal/index.native.d.ts +22 -0
- package/types/SheetModal/index.native.d.ts.map +1 -0
- package/types/Skeleton/index.d.ts +2 -0
- package/types/Skeleton/index.d.ts.map +1 -0
- package/types/SkipLink/index.d.ts +30 -0
- package/types/SkipLink/index.d.ts.map +1 -0
- package/types/Tabs/index.d.ts +394 -0
- package/types/Tabs/index.d.ts.map +1 -0
- package/types/Toast/index.d.ts +75 -0
- package/types/Toast/index.d.ts.map +1 -0
- package/types/Toast/store.d.ts +61 -0
- package/types/Toast/store.d.ts.map +1 -0
- package/types/Tooltip/index.d.ts +62 -0
- package/types/Tooltip/index.d.ts.map +1 -0
- package/types/Video/VideoFrame.d.ts +9 -0
- package/types/Video/VideoFrame.d.ts.map +1 -0
- package/types/Video/index.d.ts +9 -0
- package/types/Video/index.d.ts.map +1 -0
- package/types/Video/index.native.d.ts +8 -0
- package/types/Video/index.native.d.ts.map +1 -0
- package/types/Video/types.d.ts +17 -0
- package/types/Video/types.d.ts.map +1 -0
- package/types/Wheel/index.d.ts +41 -0
- package/types/Wheel/index.d.ts.map +1 -0
- package/types/actions/ActionBar.d.ts +34 -0
- package/types/actions/ActionBar.d.ts.map +1 -0
- package/types/actions/DestructiveAction.d.ts +49 -0
- package/types/actions/DestructiveAction.d.ts.map +1 -0
- package/types/actions/devWarn.d.ts +12 -0
- package/types/actions/devWarn.d.ts.map +1 -0
- package/types/actions/index.d.ts +6 -0
- package/types/actions/index.d.ts.map +1 -0
- package/types/actions/severity.d.ts +24 -0
- package/types/actions/severity.d.ts.map +1 -0
- package/types/charts/Axis.d.ts +43 -0
- package/types/charts/Axis.d.ts.map +1 -0
- package/types/charts/BarChart.d.ts +35 -0
- package/types/charts/BarChart.d.ts.map +1 -0
- package/types/charts/ChartSurface.d.ts +34 -0
- package/types/charts/ChartSurface.d.ts.map +1 -0
- package/types/charts/LineChart.d.ts +39 -0
- package/types/charts/LineChart.d.ts.map +1 -0
- package/types/charts/PieChart.d.ts +37 -0
- package/types/charts/PieChart.d.ts.map +1 -0
- package/types/charts/Sparkline.d.ts +27 -0
- package/types/charts/Sparkline.d.ts.map +1 -0
- package/types/charts/accessibility.d.ts +39 -0
- package/types/charts/accessibility.d.ts.map +1 -0
- package/types/charts/composeChart.d.ts +41 -0
- package/types/charts/composeChart.d.ts.map +1 -0
- package/types/charts/index.d.ts +12 -0
- package/types/charts/index.d.ts.map +1 -0
- package/types/charts/math.d.ts +115 -0
- package/types/charts/math.d.ts.map +1 -0
- package/types/charts/series.d.ts +85 -0
- package/types/charts/series.d.ts.map +1 -0
- package/types/charts/svg.d.ts +42 -0
- package/types/charts/svg.d.ts.map +1 -0
- package/types/charts/types.d.ts +49 -0
- package/types/charts/types.d.ts.map +1 -0
- package/types/charts/useChartTheme.d.ts +44 -0
- package/types/charts/useChartTheme.d.ts.map +1 -0
- package/types/code/Code/index.d.ts +30 -0
- package/types/code/Code/index.d.ts.map +1 -0
- package/types/code/CodeBlock/index.d.ts +25 -0
- package/types/code/CodeBlock/index.d.ts.map +1 -0
- package/types/code/HighlightedCode/index.d.ts +24 -0
- package/types/code/HighlightedCode/index.d.ts.map +1 -0
- package/types/code/Highlighter/index.d.ts +33 -0
- package/types/code/Highlighter/index.d.ts.map +1 -0
- package/types/code/Pre/index.d.ts +8 -0
- package/types/code/Pre/index.d.ts.map +1 -0
- package/types/code/index.d.ts +6 -0
- package/types/code/index.d.ts.map +1 -0
- package/types/componentColors.d.ts +98 -0
- package/types/componentColors.d.ts.map +1 -0
- package/types/feedback/ConfirmDialog.d.ts +62 -0
- package/types/feedback/ConfirmDialog.d.ts.map +1 -0
- package/types/feedback/NotifyHost.d.ts +26 -0
- package/types/feedback/NotifyHost.d.ts.map +1 -0
- package/types/feedback/index.d.ts +6 -0
- package/types/feedback/index.d.ts.map +1 -0
- package/types/feedback/notify.d.ts +16 -0
- package/types/feedback/notify.d.ts.map +1 -0
- package/types/feedback/route.d.ts +67 -0
- package/types/feedback/route.d.ts.map +1 -0
- package/types/feedback/store.d.ts +25 -0
- package/types/feedback/store.d.ts.map +1 -0
- package/types/hooks/index.d.ts +5 -0
- package/types/hooks/index.d.ts.map +1 -0
- package/types/hooks/useAssets/index.d.ts +3 -0
- package/types/hooks/useAssets/index.d.ts.map +1 -0
- package/types/hooks/useAssets/index.native.d.ts +4 -0
- package/types/hooks/useAssets/index.native.d.ts.map +1 -0
- package/types/hooks/useClipboard.d.ts +23 -0
- package/types/hooks/useClipboard.d.ts.map +1 -0
- package/types/hooks/useDirection.d.ts +29 -0
- package/types/hooks/useDirection.d.ts.map +1 -0
- package/types/hooks/useDirection.native.d.ts +11 -0
- package/types/hooks/useDirection.native.d.ts.map +1 -0
- package/types/hooks/useDocumentTitle.d.ts +41 -0
- package/types/hooks/useDocumentTitle.d.ts.map +1 -0
- package/types/icons/CheckRegular.d.ts +11 -0
- package/types/icons/CheckRegular.d.ts.map +1 -0
- package/types/icons/MinusRegular.d.ts +11 -0
- package/types/icons/MinusRegular.d.ts.map +1 -0
- package/types/icons/index.d.ts +4 -0
- package/types/icons/index.d.ts.map +1 -0
- package/types/icons/lucide.d.ts +4 -0
- package/types/icons/lucide.d.ts.map +1 -0
- package/types/icons/themed.d.ts +3 -0
- package/types/icons/themed.d.ts.map +1 -0
- package/types/images/Image/index.d.ts +4 -0
- package/types/images/Image/index.d.ts.map +1 -0
- package/types/images/Image/index.native.d.ts +4 -0
- package/types/images/Image/index.native.d.ts.map +1 -0
- package/types/images/Image/types.d.ts +8 -0
- package/types/images/Image/types.d.ts.map +1 -0
- package/types/images/Svg/index.d.ts +5 -0
- package/types/images/Svg/index.d.ts.map +1 -0
- package/types/images/Svg/index.native.d.ts +4 -0
- package/types/images/Svg/index.native.d.ts.map +1 -0
- package/types/images/SvgUri/index.d.ts +12 -0
- package/types/images/SvgUri/index.d.ts.map +1 -0
- package/types/images/SvgUri/index.native.d.ts +5 -0
- package/types/images/SvgUri/index.native.d.ts.map +1 -0
- package/types/images/index.d.ts +4 -0
- package/types/images/index.d.ts.map +1 -0
- package/types/index.d.ts +52 -0
- package/types/index.d.ts.map +1 -0
- package/types/layouts/AsyncBoundary.d.ts +94 -0
- package/types/layouts/AsyncBoundary.d.ts.map +1 -0
- package/types/layouts/Debug/index.d.ts +17 -0
- package/types/layouts/Debug/index.d.ts.map +1 -0
- package/types/layouts/KeyboardAvoidingWrapper/index.d.ts +29 -0
- package/types/layouts/KeyboardAvoidingWrapper/index.d.ts.map +1 -0
- package/types/layouts/KeyboardAvoidingWrapper/index.native.d.ts +29 -0
- package/types/layouts/KeyboardAvoidingWrapper/index.native.d.ts.map +1 -0
- package/types/layouts/PageTemplates.d.ts +94 -0
- package/types/layouts/PageTemplates.d.ts.map +1 -0
- package/types/layouts/PaneScaffold.d.ts +83 -0
- package/types/layouts/PaneScaffold.d.ts.map +1 -0
- package/types/layouts/SafeAreaWrapper/index.d.ts +24 -0
- package/types/layouts/SafeAreaWrapper/index.d.ts.map +1 -0
- package/types/layouts/SafeAreaWrapper/index.native.d.ts +25 -0
- package/types/layouts/SafeAreaWrapper/index.native.d.ts.map +1 -0
- package/types/layouts/ViewSwitcher.d.ts +27 -0
- package/types/layouts/ViewSwitcher.d.ts.map +1 -0
- package/types/layouts/attachments.d.ts +91 -0
- package/types/layouts/attachments.d.ts.map +1 -0
- package/types/layouts/breadcrumbs.d.ts +17 -0
- package/types/layouts/breadcrumbs.d.ts.map +1 -0
- package/types/layouts/index.d.ts +16 -0
- package/types/layouts/index.d.ts.map +1 -0
- package/types/layouts/page.d.ts +138 -0
- package/types/layouts/page.d.ts.map +1 -0
- package/types/layouts/pageHeadingScope.d.ts +43 -0
- package/types/layouts/pageHeadingScope.d.ts.map +1 -0
- package/types/layouts/sidebar.d.ts +25 -0
- package/types/layouts/sidebar.d.ts.map +1 -0
- package/types/layouts/tags.d.ts +72 -0
- package/types/layouts/tags.d.ts.map +1 -0
- package/types/layouts/timeline.d.ts +148 -0
- package/types/layouts/timeline.d.ts.map +1 -0
- package/types/layouts/toolbar.d.ts +33 -0
- package/types/layouts/toolbar.d.ts.map +1 -0
- package/types/shared/actionScan.d.ts +16 -0
- package/types/shared/actionScan.d.ts.map +1 -0
- package/types/shared/t.d.ts +18 -0
- package/types/shared/t.d.ts.map +1 -0
- package/types/shared/useReturnFocusOnClose.d.ts +18 -0
- package/types/shared/useReturnFocusOnClose.d.ts.map +1 -0
- package/types/surfaces.d.ts +294 -0
- package/types/surfaces.d.ts.map +1 -0
- package/types/tamagui.d.ts +10 -0
- package/types/tamagui.d.ts.map +1 -0
- package/types/testSetup.d.ts +2 -0
- package/types/testSetup.d.ts.map +1 -0
- package/types/utils/setTinted.d.ts +5 -0
- package/types/utils/setTinted.d.ts.map +1 -0
- package/types/utils/unwrapText.d.ts +3 -0
- package/types/utils/unwrapText.d.ts.map +1 -0
- package/types/views/Calendar.d.ts +135 -0
- package/types/views/Calendar.d.ts.map +1 -0
- package/types/views/Dashboard.d.ts +175 -0
- package/types/views/Dashboard.d.ts.map +1 -0
- package/types/views/Gantt.d.ts +121 -0
- package/types/views/Gantt.d.ts.map +1 -0
- package/types/views/ImageGrid.d.ts +82 -0
- package/types/views/ImageGrid.d.ts.map +1 -0
- package/types/views/Kanban.d.ts +123 -0
- package/types/views/Kanban.d.ts.map +1 -0
- package/types/views/Kanban.native.d.ts +102 -0
- package/types/views/Kanban.native.d.ts.map +1 -0
- package/types/views/List.d.ts +82 -0
- package/types/views/List.d.ts.map +1 -0
- package/types/views/ReportBuilder.d.ts +83 -0
- package/types/views/ReportBuilder.d.ts.map +1 -0
- package/types/views/TreeView.d.ts +110 -0
- package/types/views/TreeView.d.ts.map +1 -0
- package/types/views/calendarMath.d.ts +95 -0
- package/types/views/calendarMath.d.ts.map +1 -0
- package/types/views/ganttMath.d.ts +122 -0
- package/types/views/ganttMath.d.ts.map +1 -0
- package/types/views/index.d.ts +12 -0
- package/types/views/index.d.ts.map +1 -0
- package/types/views/kanbanDnd.d.ts +170 -0
- package/types/views/kanbanDnd.d.ts.map +1 -0
- package/types/views/treeViewDnd.d.ts +164 -0
- package/types/views/treeViewDnd.d.ts.map +1 -0
- package/types/views/treeViewMotion.d.ts +51 -0
- package/types/views/treeViewMotion.d.ts.map +1 -0
- package/dist/cjs/Badge/Badge.stories.cjs +0 -495
- package/dist/cjs/Badge/Badge.stories.native.js +0 -525
- package/dist/cjs/Badge/Badge.stories.native.js.map +0 -1
- package/dist/cjs/Carousel/Carousel.stories.cjs +0 -336
- package/dist/cjs/Carousel/Carousel.stories.native.js +0 -396
- package/dist/cjs/Carousel/Carousel.stories.native.js.map +0 -1
- package/dist/cjs/Chip/Chip.stories.cjs +0 -257
- package/dist/cjs/Chip/Chip.stories.native.js +0 -286
- package/dist/cjs/Chip/Chip.stories.native.js.map +0 -1
- package/dist/cjs/DotIndicator/DotIndicator.stories.cjs +0 -284
- package/dist/cjs/DotIndicator/DotIndicator.stories.native.js +0 -308
- package/dist/cjs/DotIndicator/DotIndicator.stories.native.js.map +0 -1
- package/dist/cjs/ErrorBoundary/ErrorBoundary.spec.cjs +0 -48
- package/dist/cjs/ErrorBoundary/ErrorBoundary.spec.native.js +0 -51
- package/dist/cjs/ErrorBoundary/ErrorBoundary.spec.native.js.map +0 -1
- package/dist/cjs/ErrorBoundary/ErrorBoundary.stories.cjs +0 -164
- package/dist/cjs/ErrorBoundary/ErrorBoundary.stories.native.js +0 -181
- package/dist/cjs/ErrorBoundary/ErrorBoundary.stories.native.js.map +0 -1
- package/dist/cjs/Pagination.stories.cjs +0 -178
- package/dist/cjs/Pagination.stories.native.js +0 -197
- package/dist/cjs/Pagination.stories.native.js.map +0 -1
- package/dist/cjs/Skeleton/Skeleton.stories.cjs +0 -434
- package/dist/cjs/Skeleton/Skeleton.stories.native.js +0 -465
- package/dist/cjs/Skeleton/Skeleton.stories.native.js.map +0 -1
- package/dist/cjs/Tooltip/Tooltip.stories.cjs +0 -105
- package/dist/cjs/Tooltip/Tooltip.stories.native.js +0 -114
- package/dist/cjs/Tooltip/Tooltip.stories.native.js.map +0 -1
- package/dist/cjs/Wheel/Wheel.stories.cjs +0 -353
- package/dist/cjs/Wheel/Wheel.stories.native.js +0 -382
- package/dist/cjs/Wheel/Wheel.stories.native.js.map +0 -1
- package/dist/cjs/code/Code/Code.stories.cjs +0 -46
- package/dist/cjs/code/Code/Code.stories.native.js +0 -49
- package/dist/cjs/code/Code/Code.stories.native.js.map +0 -1
- package/dist/cjs/code/Code/code.spec.cjs +0 -65
- package/dist/cjs/code/Code/code.spec.native.js +0 -68
- package/dist/cjs/code/Code/code.spec.native.js.map +0 -1
- package/dist/cjs/code/CodeBlock/CodeBlock.spec.cjs +0 -73
- package/dist/cjs/code/CodeBlock/CodeBlock.spec.native.js +0 -76
- package/dist/cjs/code/CodeBlock/CodeBlock.spec.native.js.map +0 -1
- package/dist/cjs/code/CodeBlock/codeBlock.stories.cjs +0 -57
- package/dist/cjs/code/CodeBlock/codeBlock.stories.native.js +0 -60
- package/dist/cjs/code/CodeBlock/codeBlock.stories.native.js.map +0 -1
- package/dist/cjs/code/HighlightedCode/HighlightedCode.stories.cjs +0 -123
- package/dist/cjs/code/HighlightedCode/HighlightedCode.stories.native.js +0 -134
- package/dist/cjs/code/HighlightedCode/HighlightedCode.stories.native.js.map +0 -1
- package/dist/cjs/code/Pre/Pre.stories.cjs +0 -135
- package/dist/cjs/code/Pre/Pre.stories.native.js +0 -148
- package/dist/cjs/code/Pre/Pre.stories.native.js.map +0 -1
- package/dist/cjs/code/Pre/pre.spec.cjs +0 -139
- package/dist/cjs/code/Pre/pre.spec.native.js +0 -145
- package/dist/cjs/code/Pre/pre.spec.native.js.map +0 -1
- package/dist/cjs/code/code.spec.cjs +0 -46
- package/dist/cjs/code/code.spec.native.js +0 -49
- package/dist/cjs/code/code.spec.native.js.map +0 -1
- package/dist/cjs/hooks/useAssets/useAssets.spec.cjs +0 -200
- package/dist/cjs/hooks/useAssets/useAssets.spec.native.js +0 -249
- package/dist/cjs/hooks/useAssets/useAssets.spec.native.js.map +0 -1
- package/dist/cjs/hooks/useClipboard.spec.cjs +0 -165
- package/dist/cjs/hooks/useClipboard.spec.native.js +0 -184
- package/dist/cjs/hooks/useClipboard.spec.native.js.map +0 -1
- package/dist/cjs/icons/icons.spec.cjs +0 -33
- package/dist/cjs/icons/icons.spec.native.js +0 -36
- package/dist/cjs/icons/icons.spec.native.js.map +0 -1
- package/dist/cjs/images/Image/Image.spec.cjs +0 -238
- package/dist/cjs/images/Image/Image.spec.native.js +0 -241
- package/dist/cjs/images/Image/Image.spec.native.js.map +0 -1
- package/dist/cjs/images/Image/Image.stories.cjs +0 -184
- package/dist/cjs/images/Image/Image.stories.native.js +0 -191
- package/dist/cjs/images/Image/Image.stories.native.js.map +0 -1
- package/dist/cjs/images/Svg/Svg.stories.cjs +0 -54
- package/dist/cjs/images/Svg/Svg.stories.native.js +0 -59
- package/dist/cjs/images/Svg/Svg.stories.native.js.map +0 -1
- package/dist/cjs/images/Svg/svg.spec.cjs +0 -186
- package/dist/cjs/images/Svg/svg.spec.native.js +0 -189
- package/dist/cjs/images/Svg/svg.spec.native.js.map +0 -1
- package/dist/cjs/images/SvgUri/SvgUri.spec.cjs +0 -160
- package/dist/cjs/images/SvgUri/SvgUri.spec.native.js +0 -168
- package/dist/cjs/images/SvgUri/SvgUri.spec.native.js.map +0 -1
- package/dist/cjs/images/SvgUri/SvgUri.stories.cjs +0 -123
- package/dist/cjs/images/SvgUri/SvgUri.stories.native.js +0 -136
- package/dist/cjs/images/SvgUri/SvgUri.stories.native.js.map +0 -1
- package/dist/cjs/images/images.spec.cjs +0 -104
- package/dist/cjs/images/images.spec.native.js +0 -107
- package/dist/cjs/images/images.spec.native.js.map +0 -1
- package/dist/cjs/layouts/Attachments.stories.cjs +0 -192
- package/dist/cjs/layouts/Attachments.stories.native.js +0 -217
- package/dist/cjs/layouts/Attachments.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Breadcrumbs.stories.cjs +0 -67
- package/dist/cjs/layouts/Breadcrumbs.stories.native.js +0 -76
- package/dist/cjs/layouts/Breadcrumbs.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Debug/DebugLayout.stories.cjs +0 -48
- package/dist/cjs/layouts/Debug/DebugLayout.stories.native.js +0 -55
- package/dist/cjs/layouts/Debug/DebugLayout.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Debug/debug.spec.cjs +0 -198
- package/dist/cjs/layouts/Debug/debug.spec.native.js +0 -233
- package/dist/cjs/layouts/Debug/debug.spec.native.js.map +0 -1
- package/dist/cjs/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.cjs +0 -62
- package/dist/cjs/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js +0 -67
- package/dist/cjs/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js.map +0 -1
- package/dist/cjs/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.cjs +0 -58
- package/dist/cjs/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js +0 -63
- package/dist/cjs/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Sidebar.stories.cjs +0 -98
- package/dist/cjs/layouts/Sidebar.stories.native.js +0 -103
- package/dist/cjs/layouts/Sidebar.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Tags.stories.cjs +0 -205
- package/dist/cjs/layouts/Tags.stories.native.js +0 -232
- package/dist/cjs/layouts/Tags.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Timeline.stories.cjs +0 -212
- package/dist/cjs/layouts/Timeline.stories.native.js +0 -241
- package/dist/cjs/layouts/Timeline.stories.native.js.map +0 -1
- package/dist/cjs/layouts/Toolbar.stories.cjs +0 -90
- package/dist/cjs/layouts/Toolbar.stories.native.js +0 -97
- package/dist/cjs/layouts/Toolbar.stories.native.js.map +0 -1
- package/dist/cjs/layouts/ViewSwitcher.stories.cjs +0 -70
- package/dist/cjs/layouts/ViewSwitcher.stories.native.js +0 -75
- package/dist/cjs/layouts/ViewSwitcher.stories.native.js.map +0 -1
- package/dist/cjs/layouts/layouts.spec.cjs +0 -249
- package/dist/cjs/layouts/layouts.spec.native.js +0 -272
- package/dist/cjs/layouts/layouts.spec.native.js.map +0 -1
- package/dist/cjs/src.spec.cjs +0 -6
- package/dist/cjs/src.spec.native.js +0 -9
- package/dist/cjs/src.spec.native.js.map +0 -1
- package/dist/cjs/utils/utils.spec.cjs +0 -58
- package/dist/cjs/utils/utils.spec.native.js +0 -61
- package/dist/cjs/utils/utils.spec.native.js.map +0 -1
- package/dist/cjs/views/Calendar.stories.cjs +0 -66
- package/dist/cjs/views/Calendar.stories.native.js +0 -73
- package/dist/cjs/views/Calendar.stories.native.js.map +0 -1
- package/dist/cjs/views/Dashboard.stories.cjs +0 -95
- package/dist/cjs/views/Dashboard.stories.native.js +0 -100
- package/dist/cjs/views/Dashboard.stories.native.js.map +0 -1
- package/dist/cjs/views/ImageGrid.stories.cjs +0 -68
- package/dist/cjs/views/ImageGrid.stories.native.js +0 -79
- package/dist/cjs/views/ImageGrid.stories.native.js.map +0 -1
- package/dist/cjs/views/Kanban.stories.cjs +0 -82
- package/dist/cjs/views/Kanban.stories.native.js +0 -91
- package/dist/cjs/views/Kanban.stories.native.js.map +0 -1
- package/dist/cjs/views/List.stories.cjs +0 -74
- package/dist/cjs/views/List.stories.native.js +0 -85
- package/dist/cjs/views/List.stories.native.js.map +0 -1
- package/dist/cjs/views/ReportBuilder.stories.cjs +0 -89
- package/dist/cjs/views/ReportBuilder.stories.native.js +0 -96
- package/dist/cjs/views/ReportBuilder.stories.native.js.map +0 -1
- package/dist/cjs/views/TreeView.stories.cjs +0 -94
- package/dist/cjs/views/TreeView.stories.native.js +0 -101
- package/dist/cjs/views/TreeView.stories.native.js.map +0 -1
- package/dist/cjs/views/hotkeys.spec.cjs +0 -210
- package/dist/cjs/views/hotkeys.spec.native.js +0 -253
- package/dist/cjs/views/hotkeys.spec.native.js.map +0 -1
- package/dist/cjs/views/views.spec.cjs +0 -313
- package/dist/cjs/views/views.spec.native.js +0 -344
- package/dist/cjs/views/views.spec.native.js.map +0 -1
- package/dist/esm/Badge/Badge.stories.mjs +0 -459
- package/dist/esm/Badge/Badge.stories.mjs.map +0 -1
- package/dist/esm/Badge/Badge.stories.native.js +0 -486
- package/dist/esm/Badge/Badge.stories.native.js.map +0 -1
- package/dist/esm/Carousel/Carousel.stories.mjs +0 -299
- package/dist/esm/Carousel/Carousel.stories.mjs.map +0 -1
- package/dist/esm/Carousel/Carousel.stories.native.js +0 -356
- package/dist/esm/Carousel/Carousel.stories.native.js.map +0 -1
- package/dist/esm/Chip/Chip.stories.mjs +0 -225
- package/dist/esm/Chip/Chip.stories.mjs.map +0 -1
- package/dist/esm/Chip/Chip.stories.native.js +0 -251
- package/dist/esm/Chip/Chip.stories.native.js.map +0 -1
- package/dist/esm/DotIndicator/DotIndicator.stories.mjs +0 -252
- package/dist/esm/DotIndicator/DotIndicator.stories.mjs.map +0 -1
- package/dist/esm/DotIndicator/DotIndicator.stories.native.js +0 -273
- package/dist/esm/DotIndicator/DotIndicator.stories.native.js.map +0 -1
- package/dist/esm/ErrorBoundary/ErrorBoundary.spec.mjs +0 -49
- package/dist/esm/ErrorBoundary/ErrorBoundary.spec.mjs.map +0 -1
- package/dist/esm/ErrorBoundary/ErrorBoundary.spec.native.js +0 -49
- package/dist/esm/ErrorBoundary/ErrorBoundary.spec.native.js.map +0 -1
- package/dist/esm/ErrorBoundary/ErrorBoundary.stories.mjs +0 -134
- package/dist/esm/ErrorBoundary/ErrorBoundary.stories.mjs.map +0 -1
- package/dist/esm/ErrorBoundary/ErrorBoundary.stories.native.js +0 -148
- package/dist/esm/ErrorBoundary/ErrorBoundary.stories.native.js.map +0 -1
- package/dist/esm/Pagination.stories.mjs +0 -145
- package/dist/esm/Pagination.stories.mjs.map +0 -1
- package/dist/esm/Pagination.stories.native.js +0 -161
- package/dist/esm/Pagination.stories.native.js.map +0 -1
- package/dist/esm/Skeleton/Skeleton.stories.mjs +0 -398
- package/dist/esm/Skeleton/Skeleton.stories.mjs.map +0 -1
- package/dist/esm/Skeleton/Skeleton.stories.native.js +0 -426
- package/dist/esm/Skeleton/Skeleton.stories.native.js.map +0 -1
- package/dist/esm/Tooltip/Tooltip.stories.mjs +0 -77
- package/dist/esm/Tooltip/Tooltip.stories.mjs.map +0 -1
- package/dist/esm/Tooltip/Tooltip.stories.native.js +0 -83
- package/dist/esm/Tooltip/Tooltip.stories.native.js.map +0 -1
- package/dist/esm/Wheel/Wheel.stories.mjs +0 -319
- package/dist/esm/Wheel/Wheel.stories.mjs.map +0 -1
- package/dist/esm/Wheel/Wheel.stories.native.js +0 -345
- package/dist/esm/Wheel/Wheel.stories.native.js.map +0 -1
- package/dist/esm/code/Code/Code.stories.mjs +0 -20
- package/dist/esm/code/Code/Code.stories.mjs.map +0 -1
- package/dist/esm/code/Code/Code.stories.native.js +0 -20
- package/dist/esm/code/Code/Code.stories.native.js.map +0 -1
- package/dist/esm/code/Code/code.spec.mjs +0 -66
- package/dist/esm/code/Code/code.spec.mjs.map +0 -1
- package/dist/esm/code/Code/code.spec.native.js +0 -66
- package/dist/esm/code/Code/code.spec.native.js.map +0 -1
- package/dist/esm/code/CodeBlock/CodeBlock.spec.mjs +0 -74
- package/dist/esm/code/CodeBlock/CodeBlock.spec.mjs.map +0 -1
- package/dist/esm/code/CodeBlock/CodeBlock.spec.native.js +0 -74
- package/dist/esm/code/CodeBlock/CodeBlock.spec.native.js.map +0 -1
- package/dist/esm/code/CodeBlock/codeBlock.stories.mjs +0 -31
- package/dist/esm/code/CodeBlock/codeBlock.stories.mjs.map +0 -1
- package/dist/esm/code/CodeBlock/codeBlock.stories.native.js +0 -31
- package/dist/esm/code/CodeBlock/codeBlock.stories.native.js.map +0 -1
- package/dist/esm/code/HighlightedCode/HighlightedCode.stories.mjs +0 -94
- package/dist/esm/code/HighlightedCode/HighlightedCode.stories.mjs.map +0 -1
- package/dist/esm/code/HighlightedCode/HighlightedCode.stories.native.js +0 -102
- package/dist/esm/code/HighlightedCode/HighlightedCode.stories.native.js.map +0 -1
- package/dist/esm/code/Pre/Pre.stories.mjs +0 -105
- package/dist/esm/code/Pre/Pre.stories.mjs.map +0 -1
- package/dist/esm/code/Pre/Pre.stories.native.js +0 -115
- package/dist/esm/code/Pre/Pre.stories.native.js.map +0 -1
- package/dist/esm/code/Pre/pre.spec.mjs +0 -140
- package/dist/esm/code/Pre/pre.spec.mjs.map +0 -1
- package/dist/esm/code/Pre/pre.spec.native.js +0 -143
- package/dist/esm/code/Pre/pre.spec.native.js.map +0 -1
- package/dist/esm/code/code.spec.mjs +0 -47
- package/dist/esm/code/code.spec.mjs.map +0 -1
- package/dist/esm/code/code.spec.native.js +0 -47
- package/dist/esm/code/code.spec.native.js.map +0 -1
- package/dist/esm/hooks/useAssets/useAssets.spec.mjs +0 -177
- package/dist/esm/hooks/useAssets/useAssets.spec.mjs.map +0 -1
- package/dist/esm/hooks/useAssets/useAssets.spec.native.js +0 -223
- package/dist/esm/hooks/useAssets/useAssets.spec.native.js.map +0 -1
- package/dist/esm/hooks/useClipboard.spec.mjs +0 -166
- package/dist/esm/hooks/useClipboard.spec.mjs.map +0 -1
- package/dist/esm/hooks/useClipboard.spec.native.js +0 -182
- package/dist/esm/hooks/useClipboard.spec.native.js.map +0 -1
- package/dist/esm/icons/icons.spec.mjs +0 -34
- package/dist/esm/icons/icons.spec.mjs.map +0 -1
- package/dist/esm/icons/icons.spec.native.js +0 -34
- package/dist/esm/icons/icons.spec.native.js.map +0 -1
- package/dist/esm/images/Image/Image.spec.mjs +0 -239
- package/dist/esm/images/Image/Image.spec.mjs.map +0 -1
- package/dist/esm/images/Image/Image.spec.native.js +0 -239
- package/dist/esm/images/Image/Image.spec.native.js.map +0 -1
- package/dist/esm/images/Image/Image.stories.mjs +0 -147
- package/dist/esm/images/Image/Image.stories.mjs.map +0 -1
- package/dist/esm/images/Image/Image.stories.native.js +0 -151
- package/dist/esm/images/Image/Image.stories.native.js.map +0 -1
- package/dist/esm/images/Svg/Svg.stories.mjs +0 -28
- package/dist/esm/images/Svg/Svg.stories.mjs.map +0 -1
- package/dist/esm/images/Svg/Svg.stories.native.js +0 -30
- package/dist/esm/images/Svg/Svg.stories.native.js.map +0 -1
- package/dist/esm/images/Svg/svg.spec.mjs +0 -187
- package/dist/esm/images/Svg/svg.spec.mjs.map +0 -1
- package/dist/esm/images/Svg/svg.spec.native.js +0 -187
- package/dist/esm/images/Svg/svg.spec.native.js.map +0 -1
- package/dist/esm/images/SvgUri/SvgUri.spec.mjs +0 -161
- package/dist/esm/images/SvgUri/SvgUri.spec.mjs.map +0 -1
- package/dist/esm/images/SvgUri/SvgUri.spec.native.js +0 -166
- package/dist/esm/images/SvgUri/SvgUri.spec.native.js.map +0 -1
- package/dist/esm/images/SvgUri/SvgUri.stories.mjs +0 -93
- package/dist/esm/images/SvgUri/SvgUri.stories.mjs.map +0 -1
- package/dist/esm/images/SvgUri/SvgUri.stories.native.js +0 -103
- package/dist/esm/images/SvgUri/SvgUri.stories.native.js.map +0 -1
- package/dist/esm/images/images.spec.mjs +0 -81
- package/dist/esm/images/images.spec.mjs.map +0 -1
- package/dist/esm/images/images.spec.native.js +0 -81
- package/dist/esm/images/images.spec.native.js.map +0 -1
- package/dist/esm/layouts/Attachments.stories.mjs +0 -162
- package/dist/esm/layouts/Attachments.stories.mjs.map +0 -1
- package/dist/esm/layouts/Attachments.stories.native.js +0 -184
- package/dist/esm/layouts/Attachments.stories.native.js.map +0 -1
- package/dist/esm/layouts/Breadcrumbs.stories.mjs +0 -41
- package/dist/esm/layouts/Breadcrumbs.stories.mjs.map +0 -1
- package/dist/esm/layouts/Breadcrumbs.stories.native.js +0 -47
- package/dist/esm/layouts/Breadcrumbs.stories.native.js.map +0 -1
- package/dist/esm/layouts/Debug/DebugLayout.stories.mjs +0 -22
- package/dist/esm/layouts/Debug/DebugLayout.stories.mjs.map +0 -1
- package/dist/esm/layouts/Debug/DebugLayout.stories.native.js +0 -26
- package/dist/esm/layouts/Debug/DebugLayout.stories.native.js.map +0 -1
- package/dist/esm/layouts/Debug/debug.spec.mjs +0 -199
- package/dist/esm/layouts/Debug/debug.spec.mjs.map +0 -1
- package/dist/esm/layouts/Debug/debug.spec.native.js +0 -231
- package/dist/esm/layouts/Debug/debug.spec.native.js.map +0 -1
- package/dist/esm/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.mjs +0 -36
- package/dist/esm/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.mjs.map +0 -1
- package/dist/esm/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js +0 -38
- package/dist/esm/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js.map +0 -1
- package/dist/esm/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.mjs +0 -32
- package/dist/esm/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.mjs.map +0 -1
- package/dist/esm/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js +0 -34
- package/dist/esm/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js.map +0 -1
- package/dist/esm/layouts/Sidebar.stories.mjs +0 -72
- package/dist/esm/layouts/Sidebar.stories.mjs.map +0 -1
- package/dist/esm/layouts/Sidebar.stories.native.js +0 -74
- package/dist/esm/layouts/Sidebar.stories.native.js.map +0 -1
- package/dist/esm/layouts/Tags.stories.mjs +0 -175
- package/dist/esm/layouts/Tags.stories.mjs.map +0 -1
- package/dist/esm/layouts/Tags.stories.native.js +0 -199
- package/dist/esm/layouts/Tags.stories.native.js.map +0 -1
- package/dist/esm/layouts/Timeline.stories.mjs +0 -181
- package/dist/esm/layouts/Timeline.stories.mjs.map +0 -1
- package/dist/esm/layouts/Timeline.stories.native.js +0 -207
- package/dist/esm/layouts/Timeline.stories.native.js.map +0 -1
- package/dist/esm/layouts/Toolbar.stories.mjs +0 -63
- package/dist/esm/layouts/Toolbar.stories.mjs.map +0 -1
- package/dist/esm/layouts/Toolbar.stories.native.js +0 -67
- package/dist/esm/layouts/Toolbar.stories.native.js.map +0 -1
- package/dist/esm/layouts/ViewSwitcher.stories.mjs +0 -44
- package/dist/esm/layouts/ViewSwitcher.stories.mjs.map +0 -1
- package/dist/esm/layouts/ViewSwitcher.stories.native.js +0 -46
- package/dist/esm/layouts/ViewSwitcher.stories.native.js.map +0 -1
- package/dist/esm/layouts/layouts.spec.mjs +0 -226
- package/dist/esm/layouts/layouts.spec.mjs.map +0 -1
- package/dist/esm/layouts/layouts.spec.native.js +0 -246
- package/dist/esm/layouts/layouts.spec.native.js.map +0 -1
- package/dist/esm/src.spec.mjs +0 -7
- package/dist/esm/src.spec.mjs.map +0 -1
- package/dist/esm/src.spec.native.js +0 -7
- package/dist/esm/src.spec.native.js.map +0 -1
- package/dist/esm/utils/utils.spec.mjs +0 -59
- package/dist/esm/utils/utils.spec.mjs.map +0 -1
- package/dist/esm/utils/utils.spec.native.js +0 -59
- package/dist/esm/utils/utils.spec.native.js.map +0 -1
- package/dist/esm/views/Calendar.stories.mjs +0 -40
- package/dist/esm/views/Calendar.stories.mjs.map +0 -1
- package/dist/esm/views/Calendar.stories.native.js +0 -44
- package/dist/esm/views/Calendar.stories.native.js.map +0 -1
- package/dist/esm/views/Dashboard.stories.mjs +0 -69
- package/dist/esm/views/Dashboard.stories.mjs.map +0 -1
- package/dist/esm/views/Dashboard.stories.native.js +0 -71
- package/dist/esm/views/Dashboard.stories.native.js.map +0 -1
- package/dist/esm/views/ImageGrid.stories.mjs +0 -42
- package/dist/esm/views/ImageGrid.stories.mjs.map +0 -1
- package/dist/esm/views/ImageGrid.stories.native.js +0 -50
- package/dist/esm/views/ImageGrid.stories.native.js.map +0 -1
- package/dist/esm/views/Kanban.stories.mjs +0 -56
- package/dist/esm/views/Kanban.stories.mjs.map +0 -1
- package/dist/esm/views/Kanban.stories.native.js +0 -62
- package/dist/esm/views/Kanban.stories.native.js.map +0 -1
- package/dist/esm/views/List.stories.mjs +0 -48
- package/dist/esm/views/List.stories.mjs.map +0 -1
- package/dist/esm/views/List.stories.native.js +0 -56
- package/dist/esm/views/List.stories.native.js.map +0 -1
- package/dist/esm/views/ReportBuilder.stories.mjs +0 -63
- package/dist/esm/views/ReportBuilder.stories.mjs.map +0 -1
- package/dist/esm/views/ReportBuilder.stories.native.js +0 -67
- package/dist/esm/views/ReportBuilder.stories.native.js.map +0 -1
- package/dist/esm/views/TreeView.stories.mjs +0 -68
- package/dist/esm/views/TreeView.stories.mjs.map +0 -1
- package/dist/esm/views/TreeView.stories.native.js +0 -72
- package/dist/esm/views/TreeView.stories.native.js.map +0 -1
- package/dist/esm/views/hotkeys.spec.mjs +0 -211
- package/dist/esm/views/hotkeys.spec.mjs.map +0 -1
- package/dist/esm/views/hotkeys.spec.native.js +0 -227
- package/dist/esm/views/hotkeys.spec.native.js.map +0 -1
- package/dist/esm/views/views.spec.mjs +0 -290
- package/dist/esm/views/views.spec.mjs.map +0 -1
- package/dist/esm/views/views.spec.native.js +0 -318
- package/dist/esm/views/views.spec.native.js.map +0 -1
- package/dist/jsx/Badge/Badge.stories.mjs +0 -459
- package/dist/jsx/Badge/Badge.stories.mjs.map +0 -1
- package/dist/jsx/Badge/Badge.stories.native.js +0 -525
- package/dist/jsx/Badge/Badge.stories.native.js.map +0 -1
- package/dist/jsx/Carousel/Carousel.stories.mjs +0 -299
- package/dist/jsx/Carousel/Carousel.stories.mjs.map +0 -1
- package/dist/jsx/Carousel/Carousel.stories.native.js +0 -396
- package/dist/jsx/Carousel/Carousel.stories.native.js.map +0 -1
- package/dist/jsx/Chip/Chip.stories.mjs +0 -225
- package/dist/jsx/Chip/Chip.stories.mjs.map +0 -1
- package/dist/jsx/Chip/Chip.stories.native.js +0 -286
- package/dist/jsx/Chip/Chip.stories.native.js.map +0 -1
- package/dist/jsx/DotIndicator/DotIndicator.stories.mjs +0 -252
- package/dist/jsx/DotIndicator/DotIndicator.stories.mjs.map +0 -1
- package/dist/jsx/DotIndicator/DotIndicator.stories.native.js +0 -308
- package/dist/jsx/DotIndicator/DotIndicator.stories.native.js.map +0 -1
- package/dist/jsx/ErrorBoundary/ErrorBoundary.spec.mjs +0 -49
- package/dist/jsx/ErrorBoundary/ErrorBoundary.spec.mjs.map +0 -1
- package/dist/jsx/ErrorBoundary/ErrorBoundary.spec.native.js +0 -51
- package/dist/jsx/ErrorBoundary/ErrorBoundary.spec.native.js.map +0 -1
- package/dist/jsx/ErrorBoundary/ErrorBoundary.stories.mjs +0 -134
- package/dist/jsx/ErrorBoundary/ErrorBoundary.stories.mjs.map +0 -1
- package/dist/jsx/ErrorBoundary/ErrorBoundary.stories.native.js +0 -181
- package/dist/jsx/ErrorBoundary/ErrorBoundary.stories.native.js.map +0 -1
- package/dist/jsx/Pagination.stories.mjs +0 -145
- package/dist/jsx/Pagination.stories.mjs.map +0 -1
- package/dist/jsx/Pagination.stories.native.js +0 -197
- package/dist/jsx/Pagination.stories.native.js.map +0 -1
- package/dist/jsx/Skeleton/Skeleton.stories.mjs +0 -398
- package/dist/jsx/Skeleton/Skeleton.stories.mjs.map +0 -1
- package/dist/jsx/Skeleton/Skeleton.stories.native.js +0 -465
- package/dist/jsx/Skeleton/Skeleton.stories.native.js.map +0 -1
- package/dist/jsx/Tooltip/Tooltip.stories.mjs +0 -77
- package/dist/jsx/Tooltip/Tooltip.stories.mjs.map +0 -1
- package/dist/jsx/Tooltip/Tooltip.stories.native.js +0 -114
- package/dist/jsx/Tooltip/Tooltip.stories.native.js.map +0 -1
- package/dist/jsx/Wheel/Wheel.stories.mjs +0 -319
- package/dist/jsx/Wheel/Wheel.stories.mjs.map +0 -1
- package/dist/jsx/Wheel/Wheel.stories.native.js +0 -382
- package/dist/jsx/Wheel/Wheel.stories.native.js.map +0 -1
- package/dist/jsx/code/Code/Code.stories.mjs +0 -20
- package/dist/jsx/code/Code/Code.stories.mjs.map +0 -1
- package/dist/jsx/code/Code/Code.stories.native.js +0 -49
- package/dist/jsx/code/Code/Code.stories.native.js.map +0 -1
- package/dist/jsx/code/Code/code.spec.mjs +0 -66
- package/dist/jsx/code/Code/code.spec.mjs.map +0 -1
- package/dist/jsx/code/Code/code.spec.native.js +0 -68
- package/dist/jsx/code/Code/code.spec.native.js.map +0 -1
- package/dist/jsx/code/CodeBlock/CodeBlock.spec.mjs +0 -74
- package/dist/jsx/code/CodeBlock/CodeBlock.spec.mjs.map +0 -1
- package/dist/jsx/code/CodeBlock/CodeBlock.spec.native.js +0 -76
- package/dist/jsx/code/CodeBlock/CodeBlock.spec.native.js.map +0 -1
- package/dist/jsx/code/CodeBlock/codeBlock.stories.mjs +0 -31
- package/dist/jsx/code/CodeBlock/codeBlock.stories.mjs.map +0 -1
- package/dist/jsx/code/CodeBlock/codeBlock.stories.native.js +0 -60
- package/dist/jsx/code/CodeBlock/codeBlock.stories.native.js.map +0 -1
- package/dist/jsx/code/HighlightedCode/HighlightedCode.stories.mjs +0 -94
- package/dist/jsx/code/HighlightedCode/HighlightedCode.stories.mjs.map +0 -1
- package/dist/jsx/code/HighlightedCode/HighlightedCode.stories.native.js +0 -134
- package/dist/jsx/code/HighlightedCode/HighlightedCode.stories.native.js.map +0 -1
- package/dist/jsx/code/Pre/Pre.stories.mjs +0 -105
- package/dist/jsx/code/Pre/Pre.stories.mjs.map +0 -1
- package/dist/jsx/code/Pre/Pre.stories.native.js +0 -148
- package/dist/jsx/code/Pre/Pre.stories.native.js.map +0 -1
- package/dist/jsx/code/Pre/pre.spec.mjs +0 -140
- package/dist/jsx/code/Pre/pre.spec.mjs.map +0 -1
- package/dist/jsx/code/Pre/pre.spec.native.js +0 -145
- package/dist/jsx/code/Pre/pre.spec.native.js.map +0 -1
- package/dist/jsx/code/code.spec.mjs +0 -47
- package/dist/jsx/code/code.spec.mjs.map +0 -1
- package/dist/jsx/code/code.spec.native.js +0 -49
- package/dist/jsx/code/code.spec.native.js.map +0 -1
- package/dist/jsx/hooks/useAssets/useAssets.spec.mjs +0 -177
- package/dist/jsx/hooks/useAssets/useAssets.spec.mjs.map +0 -1
- package/dist/jsx/hooks/useAssets/useAssets.spec.native.js +0 -249
- package/dist/jsx/hooks/useAssets/useAssets.spec.native.js.map +0 -1
- package/dist/jsx/hooks/useClipboard.spec.mjs +0 -166
- package/dist/jsx/hooks/useClipboard.spec.mjs.map +0 -1
- package/dist/jsx/hooks/useClipboard.spec.native.js +0 -184
- package/dist/jsx/hooks/useClipboard.spec.native.js.map +0 -1
- package/dist/jsx/icons/icons.spec.mjs +0 -34
- package/dist/jsx/icons/icons.spec.mjs.map +0 -1
- package/dist/jsx/icons/icons.spec.native.js +0 -36
- package/dist/jsx/icons/icons.spec.native.js.map +0 -1
- package/dist/jsx/images/Image/Image.spec.mjs +0 -239
- package/dist/jsx/images/Image/Image.spec.mjs.map +0 -1
- package/dist/jsx/images/Image/Image.spec.native.js +0 -241
- package/dist/jsx/images/Image/Image.spec.native.js.map +0 -1
- package/dist/jsx/images/Image/Image.stories.mjs +0 -147
- package/dist/jsx/images/Image/Image.stories.mjs.map +0 -1
- package/dist/jsx/images/Image/Image.stories.native.js +0 -191
- package/dist/jsx/images/Image/Image.stories.native.js.map +0 -1
- package/dist/jsx/images/Svg/Svg.stories.mjs +0 -28
- package/dist/jsx/images/Svg/Svg.stories.mjs.map +0 -1
- package/dist/jsx/images/Svg/Svg.stories.native.js +0 -59
- package/dist/jsx/images/Svg/Svg.stories.native.js.map +0 -1
- package/dist/jsx/images/Svg/svg.spec.mjs +0 -187
- package/dist/jsx/images/Svg/svg.spec.mjs.map +0 -1
- package/dist/jsx/images/Svg/svg.spec.native.js +0 -189
- package/dist/jsx/images/Svg/svg.spec.native.js.map +0 -1
- package/dist/jsx/images/SvgUri/SvgUri.spec.mjs +0 -161
- package/dist/jsx/images/SvgUri/SvgUri.spec.mjs.map +0 -1
- package/dist/jsx/images/SvgUri/SvgUri.spec.native.js +0 -168
- package/dist/jsx/images/SvgUri/SvgUri.spec.native.js.map +0 -1
- package/dist/jsx/images/SvgUri/SvgUri.stories.mjs +0 -93
- package/dist/jsx/images/SvgUri/SvgUri.stories.mjs.map +0 -1
- package/dist/jsx/images/SvgUri/SvgUri.stories.native.js +0 -136
- package/dist/jsx/images/SvgUri/SvgUri.stories.native.js.map +0 -1
- package/dist/jsx/images/images.spec.mjs +0 -81
- package/dist/jsx/images/images.spec.mjs.map +0 -1
- package/dist/jsx/images/images.spec.native.js +0 -107
- package/dist/jsx/images/images.spec.native.js.map +0 -1
- package/dist/jsx/layouts/Attachments.stories.mjs +0 -162
- package/dist/jsx/layouts/Attachments.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Attachments.stories.native.js +0 -217
- package/dist/jsx/layouts/Attachments.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Breadcrumbs.stories.mjs +0 -41
- package/dist/jsx/layouts/Breadcrumbs.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Breadcrumbs.stories.native.js +0 -76
- package/dist/jsx/layouts/Breadcrumbs.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Debug/DebugLayout.stories.mjs +0 -22
- package/dist/jsx/layouts/Debug/DebugLayout.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Debug/DebugLayout.stories.native.js +0 -55
- package/dist/jsx/layouts/Debug/DebugLayout.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Debug/debug.spec.mjs +0 -199
- package/dist/jsx/layouts/Debug/debug.spec.mjs.map +0 -1
- package/dist/jsx/layouts/Debug/debug.spec.native.js +0 -233
- package/dist/jsx/layouts/Debug/debug.spec.native.js.map +0 -1
- package/dist/jsx/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.mjs +0 -36
- package/dist/jsx/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.mjs.map +0 -1
- package/dist/jsx/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js +0 -67
- package/dist/jsx/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.native.js.map +0 -1
- package/dist/jsx/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.mjs +0 -32
- package/dist/jsx/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.mjs.map +0 -1
- package/dist/jsx/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js +0 -63
- package/dist/jsx/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Sidebar.stories.mjs +0 -72
- package/dist/jsx/layouts/Sidebar.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Sidebar.stories.native.js +0 -103
- package/dist/jsx/layouts/Sidebar.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Tags.stories.mjs +0 -175
- package/dist/jsx/layouts/Tags.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Tags.stories.native.js +0 -232
- package/dist/jsx/layouts/Tags.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Timeline.stories.mjs +0 -181
- package/dist/jsx/layouts/Timeline.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Timeline.stories.native.js +0 -241
- package/dist/jsx/layouts/Timeline.stories.native.js.map +0 -1
- package/dist/jsx/layouts/Toolbar.stories.mjs +0 -63
- package/dist/jsx/layouts/Toolbar.stories.mjs.map +0 -1
- package/dist/jsx/layouts/Toolbar.stories.native.js +0 -97
- package/dist/jsx/layouts/Toolbar.stories.native.js.map +0 -1
- package/dist/jsx/layouts/ViewSwitcher.stories.mjs +0 -44
- package/dist/jsx/layouts/ViewSwitcher.stories.mjs.map +0 -1
- package/dist/jsx/layouts/ViewSwitcher.stories.native.js +0 -75
- package/dist/jsx/layouts/ViewSwitcher.stories.native.js.map +0 -1
- package/dist/jsx/layouts/layouts.spec.mjs +0 -226
- package/dist/jsx/layouts/layouts.spec.mjs.map +0 -1
- package/dist/jsx/layouts/layouts.spec.native.js +0 -272
- package/dist/jsx/layouts/layouts.spec.native.js.map +0 -1
- package/dist/jsx/src.spec.mjs +0 -7
- package/dist/jsx/src.spec.mjs.map +0 -1
- package/dist/jsx/src.spec.native.js +0 -9
- package/dist/jsx/src.spec.native.js.map +0 -1
- package/dist/jsx/utils/utils.spec.mjs +0 -59
- package/dist/jsx/utils/utils.spec.mjs.map +0 -1
- package/dist/jsx/utils/utils.spec.native.js +0 -61
- package/dist/jsx/utils/utils.spec.native.js.map +0 -1
- package/dist/jsx/views/Calendar.stories.mjs +0 -40
- package/dist/jsx/views/Calendar.stories.mjs.map +0 -1
- package/dist/jsx/views/Calendar.stories.native.js +0 -73
- package/dist/jsx/views/Calendar.stories.native.js.map +0 -1
- package/dist/jsx/views/Dashboard.stories.mjs +0 -69
- package/dist/jsx/views/Dashboard.stories.mjs.map +0 -1
- package/dist/jsx/views/Dashboard.stories.native.js +0 -100
- package/dist/jsx/views/Dashboard.stories.native.js.map +0 -1
- package/dist/jsx/views/ImageGrid.stories.mjs +0 -42
- package/dist/jsx/views/ImageGrid.stories.mjs.map +0 -1
- package/dist/jsx/views/ImageGrid.stories.native.js +0 -79
- package/dist/jsx/views/ImageGrid.stories.native.js.map +0 -1
- package/dist/jsx/views/Kanban.stories.mjs +0 -56
- package/dist/jsx/views/Kanban.stories.mjs.map +0 -1
- package/dist/jsx/views/Kanban.stories.native.js +0 -91
- package/dist/jsx/views/Kanban.stories.native.js.map +0 -1
- package/dist/jsx/views/List.stories.mjs +0 -48
- package/dist/jsx/views/List.stories.mjs.map +0 -1
- package/dist/jsx/views/List.stories.native.js +0 -85
- package/dist/jsx/views/List.stories.native.js.map +0 -1
- package/dist/jsx/views/ReportBuilder.stories.mjs +0 -63
- package/dist/jsx/views/ReportBuilder.stories.mjs.map +0 -1
- package/dist/jsx/views/ReportBuilder.stories.native.js +0 -96
- package/dist/jsx/views/ReportBuilder.stories.native.js.map +0 -1
- package/dist/jsx/views/TreeView.stories.mjs +0 -68
- package/dist/jsx/views/TreeView.stories.mjs.map +0 -1
- package/dist/jsx/views/TreeView.stories.native.js +0 -101
- package/dist/jsx/views/TreeView.stories.native.js.map +0 -1
- package/dist/jsx/views/hotkeys.spec.mjs +0 -211
- package/dist/jsx/views/hotkeys.spec.mjs.map +0 -1
- package/dist/jsx/views/hotkeys.spec.native.js +0 -253
- package/dist/jsx/views/hotkeys.spec.native.js.map +0 -1
- package/dist/jsx/views/views.spec.mjs +0 -290
- package/dist/jsx/views/views.spec.mjs.map +0 -1
- package/dist/jsx/views/views.spec.native.js +0 -344
- package/dist/jsx/views/views.spec.native.js.map +0 -1
|
@@ -1,9 +1,44 @@
|
|
|
1
|
-
import { componentColors } from "../componentColors.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { componentColors, sectionHeading } from "../componentColors.mjs";
|
|
2
|
+
import { ViewSwitcher } from "../layouts/ViewSwitcher.mjs";
|
|
3
|
+
import { withInterp } from "../shared/t.mjs";
|
|
4
|
+
import { MINUTES_PER_DAY, computeResizeRange, createRangeFromDrag, eventAccessibleLabel, formatTimeRangeLabel, layoutDayBlocks, minutesOfDay, minutesToY, moveFocusDate, moveFocusSlot, moveRangeToSlot, snapMinutes, yToMinutes } from "./calendarMath.mjs";
|
|
5
|
+
import { hairline, hairlineWidth, pressTargetHitSlop, useReadableTextOn, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
6
|
+
import React, { useState, useMemo, useCallback, useEffect, useId, useRef } from "react";
|
|
7
|
+
import { useTranslation } from "react-i18next";
|
|
8
|
+
import { Button, FloatingPanel, Input, zIndex } from "@multiplatform.one/forms";
|
|
9
|
+
import { AnimatePresence, ScrollView, Text, XStack, YStack, isWeb, styled } from "tamagui";
|
|
10
|
+
import { useDirection } from "../hooks/useDirection.mjs";
|
|
11
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
const hairlineEnd = isWeb ? {
|
|
13
|
+
borderInlineEndWidth: hairlineWidth,
|
|
14
|
+
borderInlineEndStyle: "solid",
|
|
15
|
+
className: "mp-hairline-ie"
|
|
16
|
+
} : {
|
|
17
|
+
borderEndWidth: hairlineWidth
|
|
18
|
+
};
|
|
19
|
+
function gridCellEdges(end, bottom) {
|
|
20
|
+
const className = [end && "mp-hairline-ie", bottom && "mp-hairline-b"].filter(Boolean).join(" ") || void 0;
|
|
21
|
+
return {
|
|
22
|
+
...(end ? hairlineEnd : null),
|
|
23
|
+
borderBottomWidth: bottom ? hairlineWidth : 0,
|
|
24
|
+
...(isWeb && className ? {
|
|
25
|
+
className
|
|
26
|
+
} : null)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function eventChipTextColor(bg) {
|
|
30
|
+
if (!bg || !bg.startsWith("#")) return "$accentColor";
|
|
31
|
+
const hex = bg.slice(1);
|
|
32
|
+
const full = hex.length === 3 ? hex.split("").map(c => c + c).join("") : hex.slice(0, 6);
|
|
33
|
+
const [r, g, b] = [0, 2, 4].map(i => {
|
|
34
|
+
const c = Number.parseInt(full.slice(i, i + 2), 16) / 255;
|
|
35
|
+
return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
|
|
36
|
+
});
|
|
37
|
+
const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
38
|
+
const contrastWhite = 1.05 / (luminance + 0.05);
|
|
39
|
+
const contrastBlack = (luminance + 0.05) / 0.05;
|
|
40
|
+
return contrastWhite >= contrastBlack ? "#ffffff" : "#000000";
|
|
41
|
+
}
|
|
7
42
|
function getMonthDays(date, firstDayOfWeek) {
|
|
8
43
|
const year = date.getFullYear();
|
|
9
44
|
const month = date.getMonth();
|
|
@@ -35,7 +70,18 @@ function getWeekDays(date, firstDayOfWeek) {
|
|
|
35
70
|
return days;
|
|
36
71
|
}
|
|
37
72
|
function formatDateKey(date) {
|
|
38
|
-
|
|
73
|
+
const year = date.getFullYear();
|
|
74
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
75
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
76
|
+
return `${year}-${month}-${day}`;
|
|
77
|
+
}
|
|
78
|
+
function addMonths(date, delta) {
|
|
79
|
+
const next = new Date(date);
|
|
80
|
+
next.setDate(1);
|
|
81
|
+
next.setMonth(next.getMonth() + delta);
|
|
82
|
+
const lastDay = new Date(next.getFullYear(), next.getMonth() + 1, 0).getDate();
|
|
83
|
+
next.setDate(Math.min(date.getDate(), lastDay));
|
|
84
|
+
return next;
|
|
39
85
|
}
|
|
40
86
|
function isSameDay(d1, d2) {
|
|
41
87
|
return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();
|
|
@@ -43,6 +89,69 @@ function isSameDay(d1, d2) {
|
|
|
43
89
|
function isToday(date) {
|
|
44
90
|
return isSameDay(date, /* @__PURE__ */new Date());
|
|
45
91
|
}
|
|
92
|
+
const MS_PER_DAY = 864e5;
|
|
93
|
+
function computeEventMoveRange(event, targetDay) {
|
|
94
|
+
const startOfDay = d => new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
95
|
+
const dayDelta = Math.round((startOfDay(targetDay).getTime() - startOfDay(event.start).getTime()) / MS_PER_DAY);
|
|
96
|
+
const shiftDays = d => new Date(d.getFullYear(), d.getMonth(), d.getDate() + dayDelta, d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
|
97
|
+
const start = shiftDays(event.start);
|
|
98
|
+
const end = event.end ? shiftDays(event.end) : new Date(start.getTime());
|
|
99
|
+
return {
|
|
100
|
+
start,
|
|
101
|
+
end
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function findDayKeyAtPoint(pageX, pageY, layouts) {
|
|
105
|
+
for (const layout of layouts) {
|
|
106
|
+
if (pageX >= layout.x && pageX < layout.x + layout.width && pageY >= layout.y && pageY < layout.y + layout.height) {
|
|
107
|
+
return layout.key;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
function measureDayLayouts(refs, cb) {
|
|
113
|
+
const entries = [...refs.entries()];
|
|
114
|
+
if (entries.length === 0) {
|
|
115
|
+
cb([]);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const layouts = [];
|
|
119
|
+
let remaining = entries.length;
|
|
120
|
+
for (const [key, node] of entries) {
|
|
121
|
+
if (typeof node.measureInWindow !== "function") {
|
|
122
|
+
if (--remaining === 0) cb(layouts);
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
node.measureInWindow((x, y, width, height) => {
|
|
126
|
+
layouts.push({
|
|
127
|
+
key,
|
|
128
|
+
x,
|
|
129
|
+
y,
|
|
130
|
+
width,
|
|
131
|
+
height
|
|
132
|
+
});
|
|
133
|
+
if (--remaining === 0) cb(layouts);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function dayKeyToDate(key) {
|
|
138
|
+
const [ty, tm, td] = key.split("-").map(Number);
|
|
139
|
+
return new Date(ty, tm - 1, td);
|
|
140
|
+
}
|
|
141
|
+
function dateAtMinutes(day, minutes) {
|
|
142
|
+
return new Date(day.getFullYear(), day.getMonth(), day.getDate(), 0, minutes);
|
|
143
|
+
}
|
|
144
|
+
function isTimedEvent(event) {
|
|
145
|
+
return event.end !== void 0 && event.end.getTime() > event.start.getTime() && isSameDay(event.start, event.end) && event.allDay !== true;
|
|
146
|
+
}
|
|
147
|
+
const DRAG_THRESHOLD_PX = 4;
|
|
148
|
+
const TOUCH_LONG_PRESS_MS = 300;
|
|
149
|
+
const TOUCH_SLOP_PX = 8;
|
|
150
|
+
const LIFT_SHADOW = "0px 8px 28px rgba(0,0,0,0.18), 0px 2px 6px rgba(0,0,0,0.08)";
|
|
151
|
+
const MIN_BLOCK_PX = 18;
|
|
152
|
+
const RESIZE_ZONE_PX = 44;
|
|
153
|
+
const DAY_DISC_PX = 22;
|
|
154
|
+
const MONTH_CHIP_MIN_PX = 24;
|
|
46
155
|
function getWeekdayNames() {
|
|
47
156
|
const formatter = new Intl.DateTimeFormat(void 0, {
|
|
48
157
|
weekday: "short"
|
|
@@ -71,26 +180,709 @@ function formatHour(hour) {
|
|
|
71
180
|
hour12: true
|
|
72
181
|
}).format(date);
|
|
73
182
|
}
|
|
183
|
+
function formatDayLong(date) {
|
|
184
|
+
return new Intl.DateTimeFormat(void 0, {
|
|
185
|
+
weekday: "long",
|
|
186
|
+
month: "long",
|
|
187
|
+
day: "numeric"
|
|
188
|
+
}).format(date);
|
|
189
|
+
}
|
|
74
190
|
const weekdayNames = getWeekdayNames();
|
|
75
191
|
const monthNames = getMonthNames();
|
|
192
|
+
const hours = getHours();
|
|
193
|
+
function startWebPointerSession(options) {
|
|
194
|
+
const threshold = options.thresholdPx ?? DRAG_THRESHOLD_PX;
|
|
195
|
+
const isTouch = options.pointerType === "touch";
|
|
196
|
+
let active = false;
|
|
197
|
+
let ended = false;
|
|
198
|
+
let escaped = false;
|
|
199
|
+
let liftArmed = !isTouch;
|
|
200
|
+
let last = {
|
|
201
|
+
x: options.startX,
|
|
202
|
+
y: options.startY
|
|
203
|
+
};
|
|
204
|
+
let prevUserSelect = "";
|
|
205
|
+
let longPressTimer = null;
|
|
206
|
+
const preventTouchScroll = te => {
|
|
207
|
+
if (active) te.preventDefault();
|
|
208
|
+
};
|
|
209
|
+
const activate = pt => {
|
|
210
|
+
if (active) return;
|
|
211
|
+
active = true;
|
|
212
|
+
prevUserSelect = document.body.style.userSelect;
|
|
213
|
+
document.body.style.userSelect = "none";
|
|
214
|
+
options.onActivate(pt);
|
|
215
|
+
};
|
|
216
|
+
const teardown = () => {
|
|
217
|
+
if (ended) return;
|
|
218
|
+
ended = true;
|
|
219
|
+
if (longPressTimer) clearTimeout(longPressTimer);
|
|
220
|
+
window.removeEventListener("pointermove", onMove);
|
|
221
|
+
window.removeEventListener("pointerup", onUp);
|
|
222
|
+
window.removeEventListener("keydown", onKey, true);
|
|
223
|
+
window.removeEventListener("touchmove", preventTouchScroll);
|
|
224
|
+
if (active) document.body.style.userSelect = prevUserSelect;
|
|
225
|
+
options.onSettled?.(active, escaped);
|
|
226
|
+
};
|
|
227
|
+
const onMove = me => {
|
|
228
|
+
last = {
|
|
229
|
+
x: me.clientX,
|
|
230
|
+
y: me.clientY
|
|
231
|
+
};
|
|
232
|
+
if (!active) {
|
|
233
|
+
const travel = Math.hypot(me.clientX - options.startX, me.clientY - options.startY);
|
|
234
|
+
if (isTouch && !liftArmed) {
|
|
235
|
+
if (travel > TOUCH_SLOP_PX) teardown();
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (travel < threshold) return;
|
|
239
|
+
activate(last);
|
|
240
|
+
}
|
|
241
|
+
options.onMove(last);
|
|
242
|
+
};
|
|
243
|
+
const onUp = ue => {
|
|
244
|
+
last = {
|
|
245
|
+
x: ue.clientX,
|
|
246
|
+
y: ue.clientY
|
|
247
|
+
};
|
|
248
|
+
const wasActive = active;
|
|
249
|
+
teardown();
|
|
250
|
+
if (wasActive) options.onCommit(last);else options.onTapInstead?.();
|
|
251
|
+
};
|
|
252
|
+
const onKey = ke => {
|
|
253
|
+
if (ke.key !== "Escape" || !active) return;
|
|
254
|
+
ke.stopPropagation();
|
|
255
|
+
escaped = true;
|
|
256
|
+
const cancel = options.onCancel;
|
|
257
|
+
teardown();
|
|
258
|
+
cancel();
|
|
259
|
+
};
|
|
260
|
+
if (isTouch) {
|
|
261
|
+
longPressTimer = setTimeout(() => {
|
|
262
|
+
liftArmed = true;
|
|
263
|
+
activate(last);
|
|
264
|
+
}, TOUCH_LONG_PRESS_MS);
|
|
265
|
+
window.addEventListener("touchmove", preventTouchScroll, {
|
|
266
|
+
passive: false
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
window.addEventListener("pointermove", onMove);
|
|
270
|
+
window.addEventListener("pointerup", onUp);
|
|
271
|
+
window.addEventListener("keydown", onKey, true);
|
|
272
|
+
return teardown;
|
|
273
|
+
}
|
|
274
|
+
function NowIndicator({
|
|
275
|
+
hourHeight
|
|
276
|
+
}) {
|
|
277
|
+
const [now, setNow] = useState(() => /* @__PURE__ */new Date());
|
|
278
|
+
const isRTL = useDirection() === "rtl";
|
|
279
|
+
useEffect(() => {
|
|
280
|
+
const id = setInterval(() => setNow(/* @__PURE__ */new Date()), 6e4);
|
|
281
|
+
return () => clearInterval(id);
|
|
282
|
+
}, []);
|
|
283
|
+
const y = minutesToY(minutesOfDay(now), hourHeight);
|
|
284
|
+
return /* @__PURE__ */jsx(XStack, {
|
|
285
|
+
position: "absolute",
|
|
286
|
+
left: 0,
|
|
287
|
+
right: 0,
|
|
288
|
+
top: y - 1,
|
|
289
|
+
height: 2,
|
|
290
|
+
backgroundColor: "$accentBackground",
|
|
291
|
+
pointerEvents: "none",
|
|
292
|
+
zIndex: 3,
|
|
293
|
+
...{
|
|
294
|
+
"data-calendar-now": "true"
|
|
295
|
+
},
|
|
296
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
297
|
+
position: "absolute",
|
|
298
|
+
...(isRTL ? {
|
|
299
|
+
right: -3
|
|
300
|
+
} : {
|
|
301
|
+
left: -3
|
|
302
|
+
}),
|
|
303
|
+
top: -3,
|
|
304
|
+
width: 8,
|
|
305
|
+
height: 8,
|
|
306
|
+
borderRadius: 4,
|
|
307
|
+
backgroundColor: "$accentBackground"
|
|
308
|
+
})
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
function SettleGhost({
|
|
312
|
+
settle,
|
|
313
|
+
transition,
|
|
314
|
+
borderRadius,
|
|
315
|
+
onDone
|
|
316
|
+
}) {
|
|
317
|
+
const [moved, setMoved] = useState(false);
|
|
318
|
+
useEffect(() => {
|
|
319
|
+
let raf2 = 0;
|
|
320
|
+
const raf1 = requestAnimationFrame(() => {
|
|
321
|
+
raf2 = requestAnimationFrame(() => setMoved(true));
|
|
322
|
+
});
|
|
323
|
+
const timer = setTimeout(onDone, 480);
|
|
324
|
+
return () => {
|
|
325
|
+
cancelAnimationFrame(raf1);
|
|
326
|
+
cancelAnimationFrame(raf2);
|
|
327
|
+
clearTimeout(timer);
|
|
328
|
+
};
|
|
329
|
+
}, [onDone]);
|
|
330
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
331
|
+
pointerEvents: "none",
|
|
332
|
+
...borderRadius,
|
|
333
|
+
backgroundColor: settle.color || "$accentBackground",
|
|
334
|
+
padding: "$1",
|
|
335
|
+
transition,
|
|
336
|
+
x: moved ? settle.to.x - settle.from.x : 0,
|
|
337
|
+
y: moved ? settle.to.y - settle.from.y : 0,
|
|
338
|
+
scale: moved ? 1 : 1.03,
|
|
339
|
+
opacity: moved ? 0.6 : 0.95,
|
|
340
|
+
...{
|
|
341
|
+
"data-calendar-settle-ghost": "true",
|
|
342
|
+
style: {
|
|
343
|
+
position: "fixed",
|
|
344
|
+
left: settle.from.x,
|
|
345
|
+
top: settle.from.y,
|
|
346
|
+
zIndex: zIndex.sheet,
|
|
347
|
+
maxWidth: 220,
|
|
348
|
+
boxShadow: LIFT_SHADOW
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
352
|
+
fontSize: "$2",
|
|
353
|
+
numberOfLines: 1,
|
|
354
|
+
color: eventChipTextColor(settle.color),
|
|
355
|
+
children: settle.title
|
|
356
|
+
})
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
const CalendarSlide = styled(YStack, {
|
|
360
|
+
variants: {
|
|
361
|
+
fromStart: {
|
|
362
|
+
true: {
|
|
363
|
+
x: -24,
|
|
364
|
+
opacity: 0
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
fromEnd: {
|
|
368
|
+
true: {
|
|
369
|
+
x: 24,
|
|
370
|
+
opacity: 0
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
fade: {
|
|
374
|
+
true: {
|
|
375
|
+
opacity: 0
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
});
|
|
76
380
|
function Calendar({
|
|
77
381
|
events,
|
|
78
382
|
renderEvent,
|
|
79
383
|
onDateSelect,
|
|
80
384
|
onEventClick,
|
|
385
|
+
onEventMove,
|
|
386
|
+
onEventResize,
|
|
387
|
+
onEventCreate,
|
|
388
|
+
enableEventDrag,
|
|
81
389
|
viewType: initialViewType = "month",
|
|
82
390
|
initialDate,
|
|
83
391
|
height = 600,
|
|
84
392
|
showNavigation = true,
|
|
85
393
|
showViewSwitcher = true,
|
|
86
394
|
firstDayOfWeek = 0,
|
|
395
|
+
slotMinutes = 30,
|
|
87
396
|
...stackProps
|
|
88
397
|
}) {
|
|
398
|
+
const {
|
|
399
|
+
t
|
|
400
|
+
} = useTranslation();
|
|
89
401
|
const {
|
|
90
402
|
knobProps
|
|
91
403
|
} = useResolvedKnobs();
|
|
404
|
+
const onAccent = useReadableTextOn("$accentBackground");
|
|
405
|
+
const calendarId = useId();
|
|
406
|
+
const isRTL = useDirection() === "rtl";
|
|
92
407
|
const [currentDate, setCurrentDate] = useState(initialDate ?? /* @__PURE__ */new Date());
|
|
93
408
|
const [view, setView] = useState(initialViewType);
|
|
409
|
+
const sz = knobProps.sizeToken;
|
|
410
|
+
const hourHeight = sz === "$3" ? 48 : sz === "$5" ? 80 : 64;
|
|
411
|
+
const monthCellMinHeight = sz === "$3" ? 64 : sz === "$5" ? 96 : 76;
|
|
412
|
+
const space = knobProps.space;
|
|
413
|
+
const cellPad = space === "small" ? 2 : space === "large" ? 7 : 4;
|
|
414
|
+
const chipGap = space === "small" ? 2 : space === "large" ? 5 : 3;
|
|
415
|
+
const monthRowHardFloor = cellPad * 2 + DAY_DISC_PX + chipGap + MONTH_CHIP_MIN_PX;
|
|
416
|
+
const [monthBodyHeight, setMonthBodyHeight] = useState(0);
|
|
417
|
+
const overlayInset = isRTL ? {
|
|
418
|
+
left: 2,
|
|
419
|
+
right: 0
|
|
420
|
+
} : {
|
|
421
|
+
left: 0,
|
|
422
|
+
right: 2
|
|
423
|
+
};
|
|
424
|
+
const transition = knobProps.transition;
|
|
425
|
+
const webLayoutTransition = isWeb ? transition : void 0;
|
|
426
|
+
const navDirectionRef = useRef(0);
|
|
427
|
+
const hasNavigatedRef = useRef(false);
|
|
428
|
+
const periodKey = view === "month" ? `${currentDate.getFullYear()}-${currentDate.getMonth()}` : view === "week" ? formatDateKey(getWeekDays(currentDate, firstDayOfWeek)[0]) : formatDateKey(currentDate);
|
|
429
|
+
const motionKey = `${view}:${periodKey}`;
|
|
430
|
+
const dragEnabled = enableEventDrag ?? onEventMove !== void 0;
|
|
431
|
+
const hasDom = isWeb && typeof window !== "undefined" && typeof document !== "undefined";
|
|
432
|
+
const webDragEnabled = dragEnabled && hasDom;
|
|
433
|
+
const nativeDragEnabled = dragEnabled && !isWeb;
|
|
434
|
+
const webResizeEnabled = onEventResize !== void 0 && hasDom;
|
|
435
|
+
const webCreateEnabled = onEventCreate !== void 0 && hasDom;
|
|
436
|
+
const [dragGhost, setDragGhost] = useState(null);
|
|
437
|
+
const [dropTargetKey, setDropTargetKey] = useState(null);
|
|
438
|
+
const [slotTarget, setSlotTarget] = useState(null);
|
|
439
|
+
const [settle, setSettle] = useState(null);
|
|
440
|
+
const [resizePreview, setResizePreview] = useState(null);
|
|
441
|
+
const [createDraft, setCreateDraft] = useState(null);
|
|
442
|
+
const [editorState, setEditorState] = useState(null);
|
|
443
|
+
const [draftTitle, setDraftTitle] = useState("");
|
|
444
|
+
const [overflowDayKey, setOverflowDayKey] = useState(null);
|
|
445
|
+
const [scrollLocked, setScrollLocked] = useState(false);
|
|
446
|
+
const [draggingEventId, setDraggingEventId] = useState(null);
|
|
447
|
+
const suppressClickRef = useRef(false);
|
|
448
|
+
const dragSessionCleanupRef = useRef(null);
|
|
449
|
+
const slotTargetRef = useRef(null);
|
|
450
|
+
const resizePreviewRef = useRef(null);
|
|
451
|
+
const editorStateRef = useRef(null);
|
|
452
|
+
const draftTitleRef = useRef("");
|
|
453
|
+
const dayRefs = useRef(/* @__PURE__ */new Map());
|
|
454
|
+
const containerNodeRef = useRef(null);
|
|
455
|
+
const containerOffsetRef = useRef({
|
|
456
|
+
x: 0,
|
|
457
|
+
y: 0
|
|
458
|
+
});
|
|
459
|
+
const nativeSessionRef = useRef(null);
|
|
460
|
+
slotTargetRef.current = slotTarget;
|
|
461
|
+
resizePreviewRef.current = resizePreview;
|
|
462
|
+
editorStateRef.current = editorState;
|
|
463
|
+
draftTitleRef.current = draftTitle;
|
|
464
|
+
const registerDayRef = useCallback((key, node) => {
|
|
465
|
+
if (node) dayRefs.current.set(key, node);else dayRefs.current.delete(key);
|
|
466
|
+
}, []);
|
|
467
|
+
const refreshContainerOffset = useCallback(() => {
|
|
468
|
+
containerNodeRef.current?.measureInWindow?.((x, y) => {
|
|
469
|
+
containerOffsetRef.current = {
|
|
470
|
+
x,
|
|
471
|
+
y
|
|
472
|
+
};
|
|
473
|
+
});
|
|
474
|
+
}, []);
|
|
475
|
+
useEffect(() => () => dragSessionCleanupRef.current?.(), []);
|
|
476
|
+
const clearSettle = useCallback(() => setSettle(null), []);
|
|
477
|
+
const suppressNextClick = useCallback(() => {
|
|
478
|
+
suppressClickRef.current = true;
|
|
479
|
+
setTimeout(() => {
|
|
480
|
+
suppressClickRef.current = false;
|
|
481
|
+
}, 0);
|
|
482
|
+
}, []);
|
|
483
|
+
const beginSettle = useCallback((event, from, to) => {
|
|
484
|
+
if (!transition || !hasDom) return;
|
|
485
|
+
setSettle({
|
|
486
|
+
key: Date.now(),
|
|
487
|
+
title: event.title,
|
|
488
|
+
color: event.color,
|
|
489
|
+
from,
|
|
490
|
+
to
|
|
491
|
+
});
|
|
492
|
+
}, [transition, hasDom]);
|
|
493
|
+
const commitMoveToKey = useCallback((event, key) => {
|
|
494
|
+
if (!key) return;
|
|
495
|
+
const targetDay = dayKeyToDate(key);
|
|
496
|
+
if (!isSameDay(targetDay, event.start)) {
|
|
497
|
+
onEventMove?.(event, computeEventMoveRange(event, targetDay));
|
|
498
|
+
}
|
|
499
|
+
}, [onEventMove]);
|
|
500
|
+
const handleEventPointerDown = useCallback((event, e, mode) => {
|
|
501
|
+
if (!webDragEnabled) return;
|
|
502
|
+
if (e.button !== void 0 && e.button !== 0) return;
|
|
503
|
+
e.stopPropagation?.();
|
|
504
|
+
dragSessionCleanupRef.current?.();
|
|
505
|
+
const chipEl = e.currentTarget;
|
|
506
|
+
const originRect = chipEl?.getBoundingClientRect?.() ?? null;
|
|
507
|
+
const durationMin = event.end ? Math.max(slotMinutes, (event.end.getTime() - event.start.getTime()) / 6e4) : slotMinutes;
|
|
508
|
+
const grabOffsetMin = mode === "slot" && originRect ? yToMinutes(e.clientY - originRect.top, hourHeight) : 0;
|
|
509
|
+
const findDayKey = (x, y) => {
|
|
510
|
+
const el = document.elementFromPoint?.(x, y);
|
|
511
|
+
const dayEl = el?.closest?.("[data-calendar-day]");
|
|
512
|
+
return dayEl?.getAttribute("data-calendar-day") ?? null;
|
|
513
|
+
};
|
|
514
|
+
const findSlotTarget = (x, y) => {
|
|
515
|
+
const el = document.elementFromPoint?.(x, y);
|
|
516
|
+
const colEl = el?.closest?.("[data-calendar-timecol]");
|
|
517
|
+
if (!colEl) return null;
|
|
518
|
+
const dayKey = colEl.getAttribute("data-calendar-timecol");
|
|
519
|
+
if (!dayKey) return null;
|
|
520
|
+
const rect = colEl.getBoundingClientRect();
|
|
521
|
+
const raw = yToMinutes(y - rect.top, hourHeight) - grabOffsetMin;
|
|
522
|
+
const startMin = Math.max(0, Math.min(MINUTES_PER_DAY - durationMin, snapMinutes(raw, slotMinutes, "round")));
|
|
523
|
+
return {
|
|
524
|
+
dayKey,
|
|
525
|
+
startMin,
|
|
526
|
+
durationMin,
|
|
527
|
+
rect
|
|
528
|
+
};
|
|
529
|
+
};
|
|
530
|
+
const endVisuals = () => {
|
|
531
|
+
setDragGhost(null);
|
|
532
|
+
setDropTargetKey(null);
|
|
533
|
+
setSlotTarget(null);
|
|
534
|
+
setDraggingEventId(null);
|
|
535
|
+
setScrollLocked(false);
|
|
536
|
+
dragSessionCleanupRef.current = null;
|
|
537
|
+
};
|
|
538
|
+
let lastPoint = {
|
|
539
|
+
x: e.clientX,
|
|
540
|
+
y: e.clientY
|
|
541
|
+
};
|
|
542
|
+
const cleanup = startWebPointerSession({
|
|
543
|
+
pointerType: e.pointerType,
|
|
544
|
+
startX: e.clientX,
|
|
545
|
+
startY: e.clientY,
|
|
546
|
+
onActivate: pt => {
|
|
547
|
+
lastPoint = pt;
|
|
548
|
+
setDraggingEventId(event.id);
|
|
549
|
+
setScrollLocked(true);
|
|
550
|
+
setDragGhost({
|
|
551
|
+
event,
|
|
552
|
+
x: pt.x,
|
|
553
|
+
y: pt.y
|
|
554
|
+
});
|
|
555
|
+
},
|
|
556
|
+
onMove: pt => {
|
|
557
|
+
lastPoint = pt;
|
|
558
|
+
setDragGhost({
|
|
559
|
+
event,
|
|
560
|
+
x: pt.x,
|
|
561
|
+
y: pt.y
|
|
562
|
+
});
|
|
563
|
+
if (mode === "slot") {
|
|
564
|
+
const target = findSlotTarget(pt.x, pt.y);
|
|
565
|
+
setSlotTarget(target ? {
|
|
566
|
+
dayKey: target.dayKey,
|
|
567
|
+
startMin: target.startMin,
|
|
568
|
+
durationMin
|
|
569
|
+
} : null);
|
|
570
|
+
setDropTargetKey(target ? null : findDayKey(pt.x, pt.y));
|
|
571
|
+
} else {
|
|
572
|
+
setDropTargetKey(findDayKey(pt.x, pt.y));
|
|
573
|
+
}
|
|
574
|
+
},
|
|
575
|
+
onCommit: pt => {
|
|
576
|
+
endVisuals();
|
|
577
|
+
suppressNextClick();
|
|
578
|
+
const ghostFrom = {
|
|
579
|
+
x: pt.x + 12,
|
|
580
|
+
y: pt.y + 12
|
|
581
|
+
};
|
|
582
|
+
if (mode === "slot") {
|
|
583
|
+
const target = findSlotTarget(pt.x, pt.y);
|
|
584
|
+
if (target) {
|
|
585
|
+
const targetDay = dayKeyToDate(target.dayKey);
|
|
586
|
+
const range = moveRangeToSlot(event, targetDay, target.startMin);
|
|
587
|
+
if (range.start.getTime() !== event.start.getTime()) {
|
|
588
|
+
onEventMove?.(event, range);
|
|
589
|
+
}
|
|
590
|
+
beginSettle(event, ghostFrom, {
|
|
591
|
+
x: target.rect.left + 2,
|
|
592
|
+
y: target.rect.top + minutesToY(target.startMin, hourHeight)
|
|
593
|
+
});
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
const dayKey = findDayKey(pt.x, pt.y);
|
|
598
|
+
if (dayKey) {
|
|
599
|
+
commitMoveToKey(event, dayKey);
|
|
600
|
+
const cellEl = document.querySelector(`[data-calendar-day="${dayKey}"]`);
|
|
601
|
+
const rect = cellEl?.getBoundingClientRect?.();
|
|
602
|
+
if (rect) beginSettle(event, ghostFrom, {
|
|
603
|
+
x: rect.left + 4,
|
|
604
|
+
y: rect.top + 24
|
|
605
|
+
});
|
|
606
|
+
return;
|
|
607
|
+
}
|
|
608
|
+
if (originRect) beginSettle(event, ghostFrom, {
|
|
609
|
+
x: originRect.left,
|
|
610
|
+
y: originRect.top
|
|
611
|
+
});
|
|
612
|
+
},
|
|
613
|
+
onCancel: () => {
|
|
614
|
+
const ghost = {
|
|
615
|
+
x: lastPoint.x + 12,
|
|
616
|
+
y: lastPoint.y + 12
|
|
617
|
+
};
|
|
618
|
+
endVisuals();
|
|
619
|
+
suppressClickRef.current = true;
|
|
620
|
+
window.addEventListener("pointerup", () => setTimeout(() => {
|
|
621
|
+
suppressClickRef.current = false;
|
|
622
|
+
}, 0), {
|
|
623
|
+
once: true
|
|
624
|
+
});
|
|
625
|
+
if (originRect) {
|
|
626
|
+
beginSettle(event, ghost, {
|
|
627
|
+
x: originRect.left,
|
|
628
|
+
y: originRect.top
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
onSettled: activated => {
|
|
633
|
+
if (!activated) {
|
|
634
|
+
endVisuals();
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
});
|
|
638
|
+
dragSessionCleanupRef.current = cleanup;
|
|
639
|
+
}, [webDragEnabled, slotMinutes, hourHeight, onEventMove, commitMoveToKey, beginSettle, suppressNextClick]);
|
|
640
|
+
const handleResizePointerDown = useCallback((event, edge, e) => {
|
|
641
|
+
if (!webResizeEnabled) return;
|
|
642
|
+
if (e.button !== void 0 && e.button !== 0) return;
|
|
643
|
+
e.stopPropagation?.();
|
|
644
|
+
dragSessionCleanupRef.current?.();
|
|
645
|
+
const handleEl = e.currentTarget;
|
|
646
|
+
const colEl = handleEl?.closest?.("[data-calendar-timecol]");
|
|
647
|
+
const colRect = colEl?.getBoundingClientRect?.();
|
|
648
|
+
if (!colRect) return;
|
|
649
|
+
const applyPreview = pt => {
|
|
650
|
+
const raw = yToMinutes(pt.y - colRect.top, hourHeight);
|
|
651
|
+
const range = computeResizeRange(event, edge, raw, slotMinutes);
|
|
652
|
+
setResizePreview({
|
|
653
|
+
id: event.id,
|
|
654
|
+
start: range.start,
|
|
655
|
+
end: range.end
|
|
656
|
+
});
|
|
657
|
+
};
|
|
658
|
+
const cleanup = startWebPointerSession({
|
|
659
|
+
pointerType: e.pointerType,
|
|
660
|
+
startX: e.clientX,
|
|
661
|
+
startY: e.clientY,
|
|
662
|
+
thresholdPx: 1,
|
|
663
|
+
onActivate: pt => {
|
|
664
|
+
setScrollLocked(true);
|
|
665
|
+
applyPreview(pt);
|
|
666
|
+
},
|
|
667
|
+
onMove: applyPreview,
|
|
668
|
+
onCommit: () => {
|
|
669
|
+
const preview = resizePreviewRef.current;
|
|
670
|
+
setResizePreview(null);
|
|
671
|
+
setScrollLocked(false);
|
|
672
|
+
dragSessionCleanupRef.current = null;
|
|
673
|
+
suppressNextClick();
|
|
674
|
+
if (!preview) return;
|
|
675
|
+
const prevEnd = event.end ?? event.start;
|
|
676
|
+
if (preview.start.getTime() !== event.start.getTime() || preview.end.getTime() !== prevEnd.getTime()) {
|
|
677
|
+
onEventResize?.(event, {
|
|
678
|
+
start: preview.start,
|
|
679
|
+
end: preview.end
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
},
|
|
683
|
+
onCancel: () => {
|
|
684
|
+
setResizePreview(null);
|
|
685
|
+
setScrollLocked(false);
|
|
686
|
+
dragSessionCleanupRef.current = null;
|
|
687
|
+
suppressClickRef.current = true;
|
|
688
|
+
window.addEventListener("pointerup", () => setTimeout(() => {
|
|
689
|
+
suppressClickRef.current = false;
|
|
690
|
+
}, 0), {
|
|
691
|
+
once: true
|
|
692
|
+
});
|
|
693
|
+
},
|
|
694
|
+
onSettled: activated => {
|
|
695
|
+
if (!activated) {
|
|
696
|
+
setResizePreview(null);
|
|
697
|
+
setScrollLocked(false);
|
|
698
|
+
dragSessionCleanupRef.current = null;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
dragSessionCleanupRef.current = cleanup;
|
|
703
|
+
}, [webResizeEnabled, hourHeight, slotMinutes, onEventResize, suppressNextClick]);
|
|
704
|
+
const openEditor = useCallback((dayKey, range) => {
|
|
705
|
+
setCreateDraft(null);
|
|
706
|
+
setDraftTitle("");
|
|
707
|
+
setEditorState({
|
|
708
|
+
dayKey,
|
|
709
|
+
start: range.start,
|
|
710
|
+
end: range.end
|
|
711
|
+
});
|
|
712
|
+
}, []);
|
|
713
|
+
const commitEditor = useCallback(() => {
|
|
714
|
+
const state = editorStateRef.current;
|
|
715
|
+
if (!state) return;
|
|
716
|
+
setEditorState(null);
|
|
717
|
+
setCreateDraft(null);
|
|
718
|
+
setDraftTitle("");
|
|
719
|
+
onEventCreate?.({
|
|
720
|
+
title: draftTitleRef.current.trim() || t("New event"),
|
|
721
|
+
start: state.start,
|
|
722
|
+
end: state.end
|
|
723
|
+
});
|
|
724
|
+
}, [onEventCreate, t]);
|
|
725
|
+
const handleGridPointerDown = useCallback((day, e) => {
|
|
726
|
+
if (!hasDom) return;
|
|
727
|
+
if (e.button !== void 0 && e.button !== 0) return;
|
|
728
|
+
if (editorStateRef.current) return;
|
|
729
|
+
dragSessionCleanupRef.current?.();
|
|
730
|
+
const colEl = e.currentTarget;
|
|
731
|
+
const colRect = colEl?.getBoundingClientRect?.();
|
|
732
|
+
if (!colRect) return;
|
|
733
|
+
const dayKey = formatDateKey(day);
|
|
734
|
+
const anchorRaw = yToMinutes(e.clientY - colRect.top, hourHeight);
|
|
735
|
+
let created = false;
|
|
736
|
+
let lastRange = null;
|
|
737
|
+
const cleanup = startWebPointerSession({
|
|
738
|
+
pointerType: e.pointerType,
|
|
739
|
+
startX: e.clientX,
|
|
740
|
+
startY: e.clientY,
|
|
741
|
+
onActivate: pt => {
|
|
742
|
+
if (!webCreateEnabled) return;
|
|
743
|
+
created = true;
|
|
744
|
+
setScrollLocked(true);
|
|
745
|
+
const raw = yToMinutes(pt.y - colRect.top, hourHeight);
|
|
746
|
+
const range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);
|
|
747
|
+
lastRange = range;
|
|
748
|
+
setCreateDraft({
|
|
749
|
+
dayKey,
|
|
750
|
+
start: range.start,
|
|
751
|
+
end: range.end
|
|
752
|
+
});
|
|
753
|
+
},
|
|
754
|
+
onMove: pt => {
|
|
755
|
+
if (!webCreateEnabled) return;
|
|
756
|
+
const raw = yToMinutes(pt.y - colRect.top, hourHeight);
|
|
757
|
+
const range = createRangeFromDrag(day, anchorRaw, raw, slotMinutes);
|
|
758
|
+
lastRange = range;
|
|
759
|
+
setCreateDraft({
|
|
760
|
+
dayKey,
|
|
761
|
+
start: range.start,
|
|
762
|
+
end: range.end
|
|
763
|
+
});
|
|
764
|
+
},
|
|
765
|
+
onCommit: () => {
|
|
766
|
+
setScrollLocked(false);
|
|
767
|
+
dragSessionCleanupRef.current = null;
|
|
768
|
+
suppressNextClick();
|
|
769
|
+
if (!created) return;
|
|
770
|
+
const range = lastRange ?? createRangeFromDrag(day, anchorRaw, anchorRaw, slotMinutes);
|
|
771
|
+
setTimeout(() => openEditor(dayKey, range), 0);
|
|
772
|
+
},
|
|
773
|
+
onCancel: () => {
|
|
774
|
+
setCreateDraft(null);
|
|
775
|
+
setScrollLocked(false);
|
|
776
|
+
dragSessionCleanupRef.current = null;
|
|
777
|
+
},
|
|
778
|
+
onTapInstead: () => {
|
|
779
|
+
dragSessionCleanupRef.current = null;
|
|
780
|
+
if (suppressClickRef.current) return;
|
|
781
|
+
const startMin = snapMinutes(anchorRaw, slotMinutes, "floor");
|
|
782
|
+
onDateSelect?.(dateAtMinutes(day, startMin));
|
|
783
|
+
},
|
|
784
|
+
onSettled: activated => {
|
|
785
|
+
if (!activated) dragSessionCleanupRef.current = null;
|
|
786
|
+
}
|
|
787
|
+
});
|
|
788
|
+
dragSessionCleanupRef.current = cleanup;
|
|
789
|
+
}, [hasDom, webCreateEnabled, hourHeight, slotMinutes, onDateSelect, openEditor, suppressNextClick]);
|
|
790
|
+
const endNativeSession = useCallback(opts => {
|
|
791
|
+
const session = nativeSessionRef.current;
|
|
792
|
+
nativeSessionRef.current = null;
|
|
793
|
+
setScrollLocked(false);
|
|
794
|
+
setDragGhost(null);
|
|
795
|
+
setDropTargetKey(null);
|
|
796
|
+
setDraggingEventId(null);
|
|
797
|
+
if (!session?.dragging) return;
|
|
798
|
+
suppressClickRef.current = true;
|
|
799
|
+
setTimeout(() => {
|
|
800
|
+
suppressClickRef.current = false;
|
|
801
|
+
}, 0);
|
|
802
|
+
if (!opts.commit || opts.pageX === void 0 || opts.pageY === void 0) return;
|
|
803
|
+
measureDayLayouts(dayRefs.current, layouts => {
|
|
804
|
+
const key = findDayKeyAtPoint(opts.pageX, opts.pageY, layouts) ?? findDayKeyAtPoint(opts.pageX, opts.pageY, session.layouts);
|
|
805
|
+
commitMoveToKey(session.event, key);
|
|
806
|
+
});
|
|
807
|
+
}, [commitMoveToKey]);
|
|
808
|
+
const handleNativeGrant = useCallback((event, e) => {
|
|
809
|
+
if (!nativeDragEnabled) return;
|
|
810
|
+
const pageX = e.nativeEvent?.pageX ?? 0;
|
|
811
|
+
const pageY = e.nativeEvent?.pageY ?? 0;
|
|
812
|
+
nativeSessionRef.current = {
|
|
813
|
+
event,
|
|
814
|
+
startX: pageX,
|
|
815
|
+
startY: pageY,
|
|
816
|
+
dragging: false,
|
|
817
|
+
layouts: []
|
|
818
|
+
};
|
|
819
|
+
}, [nativeDragEnabled]);
|
|
820
|
+
const handleNativeMove = useCallback(e => {
|
|
821
|
+
const session = nativeSessionRef.current;
|
|
822
|
+
if (!session) return;
|
|
823
|
+
const pageX = e.nativeEvent?.pageX ?? 0;
|
|
824
|
+
const pageY = e.nativeEvent?.pageY ?? 0;
|
|
825
|
+
if (!session.dragging) {
|
|
826
|
+
if (Math.hypot(pageX - session.startX, pageY - session.startY) < DRAG_THRESHOLD_PX) return;
|
|
827
|
+
session.dragging = true;
|
|
828
|
+
setScrollLocked(true);
|
|
829
|
+
setDraggingEventId(session.event.id);
|
|
830
|
+
refreshContainerOffset();
|
|
831
|
+
measureDayLayouts(dayRefs.current, layouts => {
|
|
832
|
+
if (nativeSessionRef.current) nativeSessionRef.current.layouts = layouts;
|
|
833
|
+
});
|
|
834
|
+
}
|
|
835
|
+
setDragGhost({
|
|
836
|
+
event: session.event,
|
|
837
|
+
x: pageX - containerOffsetRef.current.x + 12,
|
|
838
|
+
y: pageY - containerOffsetRef.current.y + 12
|
|
839
|
+
});
|
|
840
|
+
setDropTargetKey(findDayKeyAtPoint(pageX, pageY, session.layouts));
|
|
841
|
+
}, [refreshContainerOffset]);
|
|
842
|
+
const handleNativeRelease = useCallback(e => {
|
|
843
|
+
const session = nativeSessionRef.current;
|
|
844
|
+
if (!session) return;
|
|
845
|
+
if (!session.dragging) {
|
|
846
|
+
nativeSessionRef.current = null;
|
|
847
|
+
onEventClick?.(session.event);
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
endNativeSession({
|
|
851
|
+
commit: true,
|
|
852
|
+
pageX: e.nativeEvent?.pageX,
|
|
853
|
+
pageY: e.nativeEvent?.pageY
|
|
854
|
+
});
|
|
855
|
+
}, [endNativeSession, onEventClick]);
|
|
856
|
+
const handleNativeTerminate = useCallback(() => {
|
|
857
|
+
endNativeSession({
|
|
858
|
+
commit: false
|
|
859
|
+
});
|
|
860
|
+
}, [endNativeSession]);
|
|
861
|
+
const getEventDragProps = useCallback((event, mode = "day") => {
|
|
862
|
+
const base = {
|
|
863
|
+
"data-calendar-event": event.id
|
|
864
|
+
};
|
|
865
|
+
if (webDragEnabled) {
|
|
866
|
+
return {
|
|
867
|
+
...base,
|
|
868
|
+
onPointerDown: e => handleEventPointerDown(event, e, mode)
|
|
869
|
+
};
|
|
870
|
+
}
|
|
871
|
+
if (nativeDragEnabled) {
|
|
872
|
+
return {
|
|
873
|
+
...base,
|
|
874
|
+
// Claim the touch so moves continue outside the chip (ScrollView-safe once dragging).
|
|
875
|
+
onStartShouldSetResponder: () => true,
|
|
876
|
+
onMoveShouldSetResponder: () => true,
|
|
877
|
+
onResponderTerminationRequest: () => !nativeSessionRef.current?.dragging,
|
|
878
|
+
onResponderGrant: e => handleNativeGrant(event, e),
|
|
879
|
+
onResponderMove: handleNativeMove,
|
|
880
|
+
onResponderRelease: handleNativeRelease,
|
|
881
|
+
onResponderTerminate: handleNativeTerminate
|
|
882
|
+
};
|
|
883
|
+
}
|
|
884
|
+
return base;
|
|
885
|
+
}, [webDragEnabled, nativeDragEnabled, handleEventPointerDown, handleNativeGrant, handleNativeMove, handleNativeRelease, handleNativeTerminate]);
|
|
94
886
|
const eventsByDate = useMemo(() => {
|
|
95
887
|
const grouped = {};
|
|
96
888
|
for (const event of events) {
|
|
@@ -101,22 +893,35 @@ function Calendar({
|
|
|
101
893
|
return grouped;
|
|
102
894
|
}, [events]);
|
|
103
895
|
const goToPrevious = useCallback(() => {
|
|
896
|
+
navDirectionRef.current = -1;
|
|
897
|
+
hasNavigatedRef.current = true;
|
|
104
898
|
setCurrentDate(prev => {
|
|
899
|
+
if (view === "month") return addMonths(prev, -1);
|
|
105
900
|
const next = new Date(prev);
|
|
106
|
-
if (view === "
|
|
901
|
+
if (view === "week") next.setDate(prev.getDate() - 7);else next.setDate(prev.getDate() - 1);
|
|
107
902
|
return next;
|
|
108
903
|
});
|
|
109
904
|
}, [view]);
|
|
110
905
|
const goToNext = useCallback(() => {
|
|
906
|
+
navDirectionRef.current = 1;
|
|
907
|
+
hasNavigatedRef.current = true;
|
|
111
908
|
setCurrentDate(prev => {
|
|
909
|
+
if (view === "month") return addMonths(prev, 1);
|
|
112
910
|
const next = new Date(prev);
|
|
113
|
-
if (view === "
|
|
911
|
+
if (view === "week") next.setDate(prev.getDate() + 7);else next.setDate(prev.getDate() + 1);
|
|
114
912
|
return next;
|
|
115
913
|
});
|
|
116
914
|
}, [view]);
|
|
117
915
|
const goToToday = useCallback(() => {
|
|
916
|
+
navDirectionRef.current = 0;
|
|
917
|
+
hasNavigatedRef.current = true;
|
|
118
918
|
setCurrentDate(/* @__PURE__ */new Date());
|
|
119
919
|
}, []);
|
|
920
|
+
const changeView = useCallback(next => {
|
|
921
|
+
navDirectionRef.current = 0;
|
|
922
|
+
hasNavigatedRef.current = true;
|
|
923
|
+
setView(next);
|
|
924
|
+
}, []);
|
|
120
925
|
const displayTitle = useMemo(() => {
|
|
121
926
|
if (view === "month") {
|
|
122
927
|
return `${monthNames[currentDate.getMonth()]} ${currentDate.getFullYear()}`;
|
|
@@ -132,50 +937,173 @@ function Calendar({
|
|
|
132
937
|
}
|
|
133
938
|
return `${weekdayNames[currentDate.getDay()]}, ${monthNames[currentDate.getMonth()]} ${currentDate.getDate()}, ${currentDate.getFullYear()}`;
|
|
134
939
|
}, [currentDate, view, firstDayOfWeek]);
|
|
940
|
+
const [focusedDate, setFocusedDate] = useState(null);
|
|
941
|
+
const [focusedSlotMin, setFocusedSlotMin] = useState(9 * 60);
|
|
942
|
+
const [announcement, setAnnouncement] = useState("");
|
|
943
|
+
useEffect(() => {
|
|
944
|
+
if (hasNavigatedRef.current) setAnnouncement(displayTitle);
|
|
945
|
+
}, [displayTitle]);
|
|
946
|
+
const focusedDayKey = focusedDate ? formatDateKey(focusedDate) : null;
|
|
947
|
+
const focusCellId = focusedDayKey ? view === "month" ? `${calendarId}-day-${focusedDayKey}` : `${calendarId}-slot-cursor` : void 0;
|
|
948
|
+
const handleBodyKeyDown = useCallback(e => {
|
|
949
|
+
if (editorStateRef.current) return;
|
|
950
|
+
const key = e.key;
|
|
951
|
+
const arrows = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
|
952
|
+
if (arrows.includes(key)) {
|
|
953
|
+
e.preventDefault?.();
|
|
954
|
+
const base = focusedDate ?? currentDate;
|
|
955
|
+
if (!focusedDate) {
|
|
956
|
+
setFocusedDate(base);
|
|
957
|
+
setAnnouncement(formatDayLong(base));
|
|
958
|
+
return;
|
|
959
|
+
}
|
|
960
|
+
if (view !== "month" && (key === "ArrowUp" || key === "ArrowDown")) {
|
|
961
|
+
const nextMin = moveFocusSlot(focusedSlotMin, key, slotMinutes);
|
|
962
|
+
setFocusedSlotMin(nextMin);
|
|
963
|
+
setAnnouncement(`${formatDayLong(base)}, ${formatTimeRangeLabel(dateAtMinutes(base, nextMin), dateAtMinutes(base, nextMin + slotMinutes))}`);
|
|
964
|
+
return;
|
|
965
|
+
}
|
|
966
|
+
const logicalKey = isRTL && key === "ArrowLeft" ? "ArrowRight" : isRTL && key === "ArrowRight" ? "ArrowLeft" : key;
|
|
967
|
+
const next = moveFocusDate(base, logicalKey, view);
|
|
968
|
+
setFocusedDate(next);
|
|
969
|
+
setAnnouncement(formatDayLong(next));
|
|
970
|
+
const delta = next.getTime() - base.getTime();
|
|
971
|
+
if (view === "month" && next.getMonth() !== currentDate.getMonth()) {
|
|
972
|
+
navDirectionRef.current = delta > 0 ? 1 : -1;
|
|
973
|
+
hasNavigatedRef.current = true;
|
|
974
|
+
setCurrentDate(next);
|
|
975
|
+
} else if (view === "week") {
|
|
976
|
+
const visible = getWeekDays(currentDate, firstDayOfWeek).map(formatDateKey);
|
|
977
|
+
if (!visible.includes(formatDateKey(next))) {
|
|
978
|
+
navDirectionRef.current = delta > 0 ? 1 : -1;
|
|
979
|
+
hasNavigatedRef.current = true;
|
|
980
|
+
setCurrentDate(next);
|
|
981
|
+
}
|
|
982
|
+
} else if (view === "day" && !isSameDay(next, currentDate)) {
|
|
983
|
+
navDirectionRef.current = delta > 0 ? 1 : -1;
|
|
984
|
+
hasNavigatedRef.current = true;
|
|
985
|
+
setCurrentDate(next);
|
|
986
|
+
}
|
|
987
|
+
return;
|
|
988
|
+
}
|
|
989
|
+
if (key === "Enter" && focusedDate) {
|
|
990
|
+
e.preventDefault?.();
|
|
991
|
+
if (view === "month") {
|
|
992
|
+
onDateSelect?.(focusedDate);
|
|
993
|
+
return;
|
|
994
|
+
}
|
|
995
|
+
const start = dateAtMinutes(focusedDate, focusedSlotMin);
|
|
996
|
+
if (onEventCreate) {
|
|
997
|
+
openEditor(formatDateKey(focusedDate), {
|
|
998
|
+
start,
|
|
999
|
+
end: dateAtMinutes(focusedDate, focusedSlotMin + slotMinutes)
|
|
1000
|
+
});
|
|
1001
|
+
} else {
|
|
1002
|
+
onDateSelect?.(start);
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
}, [focusedDate, currentDate, view, focusedSlotMin, slotMinutes, firstDayOfWeek, isRTL, onDateSelect, onEventCreate, openEditor]);
|
|
1006
|
+
const eventA11yProps = useCallback(event => ({
|
|
1007
|
+
role: "button",
|
|
1008
|
+
tabIndex: 0,
|
|
1009
|
+
"aria-label": eventAccessibleLabel(event),
|
|
1010
|
+
onKeyDown: ke => {
|
|
1011
|
+
if (ke.key === "Enter" || ke.key === " ") {
|
|
1012
|
+
ke.preventDefault?.();
|
|
1013
|
+
ke.stopPropagation?.();
|
|
1014
|
+
onEventClick?.(event);
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}), [onEventClick]);
|
|
135
1018
|
const renderEventBadge = useCallback((event, compact = false) => {
|
|
136
|
-
|
|
1019
|
+
const dragProps = getEventDragProps(event, "day");
|
|
1020
|
+
const lifted = draggingEventId === event.id;
|
|
1021
|
+
if (renderEvent) {
|
|
1022
|
+
if (!dragEnabled) {
|
|
1023
|
+
return /* @__PURE__ */jsx(React.Fragment, {
|
|
1024
|
+
children: renderEvent(event)
|
|
1025
|
+
}, event.id);
|
|
1026
|
+
}
|
|
1027
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
1028
|
+
cursor: webDragEnabled ? "grab" : void 0,
|
|
1029
|
+
opacity: lifted ? 0.4 : 1,
|
|
1030
|
+
...dragProps,
|
|
1031
|
+
children: renderEvent(event)
|
|
1032
|
+
}, event.id);
|
|
1033
|
+
}
|
|
137
1034
|
return /* @__PURE__ */jsx(YStack, {
|
|
138
1035
|
...knobProps.borderRadius,
|
|
139
1036
|
backgroundColor: event.color || "$accentBackground",
|
|
140
1037
|
padding: compact ? "$1" : "$2",
|
|
1038
|
+
minHeight: MONTH_CHIP_MIN_PX,
|
|
1039
|
+
justifyContent: "center",
|
|
1040
|
+
hitSlop: pressTargetHitSlop(compact ? MONTH_CHIP_MIN_PX : 32),
|
|
1041
|
+
opacity: lifted ? 0.4 : 1,
|
|
141
1042
|
hoverStyle: {
|
|
142
|
-
opacity: 0.9
|
|
1043
|
+
opacity: lifted ? 0.4 : 0.9
|
|
143
1044
|
},
|
|
144
1045
|
pressStyle: {
|
|
145
1046
|
opacity: 0.8
|
|
146
1047
|
},
|
|
147
|
-
cursor: "pointer",
|
|
148
|
-
|
|
1048
|
+
cursor: webDragEnabled ? "grab" : "pointer",
|
|
1049
|
+
...eventA11yProps(event),
|
|
1050
|
+
...dragProps,
|
|
1051
|
+
onPress: nativeDragEnabled ? void 0 : e => {
|
|
149
1052
|
e?.stopPropagation?.();
|
|
1053
|
+
if (suppressClickRef.current) return;
|
|
150
1054
|
onEventClick?.(event);
|
|
151
1055
|
},
|
|
152
1056
|
children: /* @__PURE__ */jsx(Text, {
|
|
1057
|
+
...knobProps.body,
|
|
153
1058
|
fontSize: compact ? "$1" : "$2",
|
|
154
1059
|
numberOfLines: compact ? 1 : 2,
|
|
155
|
-
color:
|
|
1060
|
+
color: eventChipTextColor(event.color),
|
|
156
1061
|
children: event.title
|
|
157
1062
|
})
|
|
158
1063
|
}, event.id);
|
|
159
|
-
}, [renderEvent, onEventClick, knobProps.borderRadius]);
|
|
1064
|
+
}, [renderEvent, onEventClick, knobProps.borderRadius, dragEnabled, webDragEnabled, nativeDragEnabled, getEventDragProps, eventA11yProps, draggingEventId]);
|
|
1065
|
+
const MONTH_VISIBLE_EVENTS = 3;
|
|
160
1066
|
const renderMonthView = () => {
|
|
161
1067
|
const monthDays = getMonthDays(currentDate, firstDayOfWeek);
|
|
1068
|
+
const totalWeeks = Math.ceil(monthDays.length / 7);
|
|
1069
|
+
let monthRowMinHeight = monthCellMinHeight;
|
|
1070
|
+
if (monthBodyHeight > 0 && totalWeeks * monthCellMinHeight > monthBodyHeight) {
|
|
1071
|
+
monthRowMinHeight = totalWeeks * monthRowHardFloor <= monthBodyHeight ? monthRowHardFloor : monthBodyHeight / Math.max(1, Math.floor(monthBodyHeight / monthRowHardFloor));
|
|
1072
|
+
}
|
|
162
1073
|
const weekdayHeaders = [];
|
|
163
1074
|
for (let i = 0; i < 7; i++) {
|
|
164
1075
|
weekdayHeaders.push(weekdayNames[(firstDayOfWeek + i) % 7]);
|
|
165
1076
|
}
|
|
166
1077
|
return /* @__PURE__ */jsxs(YStack, {
|
|
167
1078
|
flex: 1,
|
|
1079
|
+
role: "grid",
|
|
1080
|
+
"aria-label": t("Calendar"),
|
|
1081
|
+
tabIndex: 0,
|
|
1082
|
+
"aria-activedescendant": focusCellId,
|
|
1083
|
+
onKeyDown: handleBodyKeyDown,
|
|
1084
|
+
outlineWidth: 0,
|
|
1085
|
+
focusVisibleStyle: {
|
|
1086
|
+
outlineWidth: 2,
|
|
1087
|
+
outlineColor: "$accentBackground",
|
|
1088
|
+
outlineStyle: "solid"
|
|
1089
|
+
},
|
|
1090
|
+
...{
|
|
1091
|
+
"data-calendar-body": view
|
|
1092
|
+
},
|
|
168
1093
|
children: [/* @__PURE__ */jsx(XStack, {
|
|
169
|
-
|
|
1094
|
+
...hairline.bottom,
|
|
170
1095
|
borderColor: "$borderColor",
|
|
1096
|
+
role: "row",
|
|
171
1097
|
children: weekdayHeaders.map(day => /* @__PURE__ */jsx(YStack, {
|
|
172
1098
|
flex: 1,
|
|
173
1099
|
padding: "$2",
|
|
174
1100
|
alignItems: "center",
|
|
1101
|
+
role: "columnheader",
|
|
175
1102
|
...{
|
|
176
1103
|
backgroundColor: componentColors.surface.background
|
|
177
1104
|
},
|
|
178
1105
|
children: /* @__PURE__ */jsx(Text, {
|
|
1106
|
+
...knobProps.body,
|
|
179
1107
|
fontWeight: "500",
|
|
180
1108
|
fontSize: "$2",
|
|
181
1109
|
color: componentColors.text.muted,
|
|
@@ -184,42 +1112,136 @@ function Calendar({
|
|
|
184
1112
|
}, day))
|
|
185
1113
|
}), /* @__PURE__ */jsx(ScrollView, {
|
|
186
1114
|
flex: 1,
|
|
1115
|
+
scrollEnabled: !scrollLocked,
|
|
1116
|
+
contentContainerStyle: {
|
|
1117
|
+
flexGrow: 1
|
|
1118
|
+
},
|
|
1119
|
+
onLayout: e => {
|
|
1120
|
+
const next = e.nativeEvent.layout.height;
|
|
1121
|
+
setMonthBodyHeight(prev => prev === next ? prev : next);
|
|
1122
|
+
},
|
|
187
1123
|
children: /* @__PURE__ */jsx(YStack, {
|
|
1124
|
+
flex: 1,
|
|
188
1125
|
children: Array.from({
|
|
189
|
-
length:
|
|
190
|
-
}).map((_, weekIndex) =>
|
|
191
|
-
|
|
192
|
-
|
|
1126
|
+
length: totalWeeks
|
|
1127
|
+
}).map((_, weekIndex, weeks) =>
|
|
1128
|
+
// basis:auto (not flex={1}): rows grow from their content and
|
|
1129
|
+
// share only the EXTRA space, so a crowded cell can never be
|
|
1130
|
+
// sliced by a fixed row share; scroll engages past the floor.
|
|
1131
|
+
/* @__PURE__ */
|
|
1132
|
+
jsx(XStack, {
|
|
1133
|
+
flexGrow: 1,
|
|
1134
|
+
flexShrink: 0,
|
|
1135
|
+
flexBasis: "auto",
|
|
1136
|
+
minHeight: monthRowMinHeight,
|
|
1137
|
+
role: "row",
|
|
1138
|
+
children: monthDays.slice(weekIndex * 7, (weekIndex + 1) * 7).map((day, dayIndex) => {
|
|
193
1139
|
const isCurrentMonth = day.getMonth() === currentDate.getMonth();
|
|
194
|
-
const
|
|
1140
|
+
const dayKey = formatDateKey(day);
|
|
1141
|
+
const dayEvents = eventsByDate[dayKey] || [];
|
|
1142
|
+
const isDropTarget = dragGhost !== null && dropTargetKey === dayKey;
|
|
1143
|
+
const isFocused = focusedDayKey === dayKey;
|
|
1144
|
+
const hiddenCount = dayEvents.length - MONTH_VISIBLE_EVENTS;
|
|
1145
|
+
const today = isToday(day);
|
|
195
1146
|
return /* @__PURE__ */jsxs(YStack, {
|
|
1147
|
+
id: `${calendarId}-day-${dayKey}`,
|
|
1148
|
+
...{
|
|
1149
|
+
role: "gridcell"
|
|
1150
|
+
},
|
|
1151
|
+
"aria-selected": isFocused || void 0,
|
|
1152
|
+
"aria-label": dayEvents.length > 0 ? `${formatDayLong(day)}, ${withInterp(t("{{count}} events"), {
|
|
1153
|
+
count: dayEvents.length
|
|
1154
|
+
})}` : formatDayLong(day),
|
|
1155
|
+
ref: nativeDragEnabled ? node => registerDayRef(dayKey, node) : void 0,
|
|
196
1156
|
flex: 1,
|
|
197
|
-
minHeight:
|
|
198
|
-
|
|
199
|
-
borderBottomWidth: 1,
|
|
1157
|
+
minHeight: monthRowMinHeight,
|
|
1158
|
+
...gridCellEdges(dayIndex < 6, weekIndex < weeks.length - 1),
|
|
200
1159
|
borderColor: "$borderColor",
|
|
201
|
-
backgroundColor:
|
|
202
|
-
padding:
|
|
203
|
-
|
|
1160
|
+
backgroundColor: isDropTarget ? "$accentBackground" : isCurrentMonth ? "$background" : componentColors.surface.background,
|
|
1161
|
+
padding: cellPad,
|
|
1162
|
+
...(isFocused && {
|
|
1163
|
+
outlineWidth: 2,
|
|
1164
|
+
outlineColor: "$accentBackground",
|
|
1165
|
+
outlineStyle: "solid",
|
|
1166
|
+
outlineOffset: -2
|
|
1167
|
+
}),
|
|
1168
|
+
...{
|
|
1169
|
+
"data-calendar-day": dayKey
|
|
1170
|
+
},
|
|
1171
|
+
onPress: () => {
|
|
1172
|
+
if (suppressClickRef.current) return;
|
|
1173
|
+
onDateSelect?.(day);
|
|
1174
|
+
},
|
|
204
1175
|
cursor: "pointer",
|
|
205
1176
|
hoverStyle: {
|
|
206
1177
|
backgroundColor: componentColors.surface.background
|
|
207
1178
|
},
|
|
208
|
-
children: [/* @__PURE__ */jsx(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
1179
|
+
children: [/* @__PURE__ */jsx(XStack, {
|
|
1180
|
+
justifyContent: "flex-end",
|
|
1181
|
+
paddingInlineEnd: "$1",
|
|
1182
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
1183
|
+
width: DAY_DISC_PX,
|
|
1184
|
+
height: DAY_DISC_PX,
|
|
1185
|
+
borderRadius: DAY_DISC_PX / 2,
|
|
1186
|
+
alignItems: "center",
|
|
1187
|
+
justifyContent: "center",
|
|
1188
|
+
backgroundColor: today ? "$accentBackground" : "transparent",
|
|
1189
|
+
...(today && {
|
|
1190
|
+
"data-calendar-today": "true"
|
|
1191
|
+
}),
|
|
1192
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1193
|
+
...knobProps.body,
|
|
1194
|
+
fontSize: "$2",
|
|
1195
|
+
fontWeight: today ? "700" : "400",
|
|
1196
|
+
color: today ? onAccent ?? "$accentColor" : isCurrentMonth ? "$color" :
|
|
1197
|
+
// muted, not subtle: adjacent-month days are
|
|
1198
|
+
// clickable text — $color8 measured 1.79:1
|
|
1199
|
+
componentColors.text.muted,
|
|
1200
|
+
textAlign: "center",
|
|
1201
|
+
children: day.getDate()
|
|
1202
|
+
})
|
|
1203
|
+
})
|
|
215
1204
|
}), /* @__PURE__ */jsxs(YStack, {
|
|
216
|
-
gap:
|
|
217
|
-
marginTop:
|
|
218
|
-
children: [dayEvents.slice(0,
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
1205
|
+
gap: chipGap,
|
|
1206
|
+
marginTop: chipGap,
|
|
1207
|
+
children: [dayEvents.slice(0, MONTH_VISIBLE_EVENTS).map(event => renderEventBadge(event, true)), hiddenCount > 0 && /* @__PURE__ */jsx(FloatingPanel, {
|
|
1208
|
+
open: overflowDayKey === dayKey,
|
|
1209
|
+
onOpenChange: open => setOverflowDayKey(open ? dayKey : null),
|
|
1210
|
+
fitContent: true,
|
|
1211
|
+
trigger: /* @__PURE__ */jsx(XStack, {
|
|
1212
|
+
role: "button",
|
|
1213
|
+
"aria-label": withInterp(t("Show all {{count}} events"), {
|
|
1214
|
+
count: dayEvents.length
|
|
1215
|
+
}),
|
|
1216
|
+
cursor: "pointer",
|
|
1217
|
+
paddingInlineStart: "$1",
|
|
1218
|
+
onPress: isWeb ? e => e?.stopPropagation?.() : void 0,
|
|
1219
|
+
hoverStyle: {
|
|
1220
|
+
opacity: 0.7
|
|
1221
|
+
},
|
|
1222
|
+
...{
|
|
1223
|
+
"data-calendar-overflow": String(hiddenCount)
|
|
1224
|
+
},
|
|
1225
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1226
|
+
fontSize: "$1",
|
|
1227
|
+
color: componentColors.text.muted,
|
|
1228
|
+
children: withInterp(t("+{{count}} more"), {
|
|
1229
|
+
count: hiddenCount
|
|
1230
|
+
})
|
|
1231
|
+
})
|
|
1232
|
+
}),
|
|
1233
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
1234
|
+
gap: "$1",
|
|
1235
|
+
minWidth: 220,
|
|
1236
|
+
...{
|
|
1237
|
+
"data-calendar-overflow-panel": dayKey
|
|
1238
|
+
},
|
|
1239
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
1240
|
+
...knobProps.heading,
|
|
1241
|
+
fontSize: "$3",
|
|
1242
|
+
children: formatDayLong(day)
|
|
1243
|
+
}), dayEvents.map(event => renderEventBadge(event, false))]
|
|
1244
|
+
})
|
|
223
1245
|
})]
|
|
224
1246
|
})]
|
|
225
1247
|
}, day.toISOString());
|
|
@@ -229,14 +1251,164 @@ function Calendar({
|
|
|
229
1251
|
})]
|
|
230
1252
|
});
|
|
231
1253
|
};
|
|
232
|
-
const
|
|
233
|
-
|
|
1254
|
+
const timeGridScrollRef = useRef(null);
|
|
1255
|
+
const gridHeight = 24 * hourHeight;
|
|
1256
|
+
useEffect(() => {
|
|
1257
|
+
if (view === "month") return;
|
|
1258
|
+
const target = Math.max(0, minutesToY(7 * 60, hourHeight) - 8);
|
|
1259
|
+
timeGridScrollRef.current?.scrollTo?.({
|
|
1260
|
+
y: target,
|
|
1261
|
+
animated: false
|
|
1262
|
+
});
|
|
1263
|
+
}, [view, hourHeight]);
|
|
1264
|
+
const renderTimedBlock = (event, layout) => {
|
|
1265
|
+
const preview = resizePreview?.id === event.id ? resizePreview : null;
|
|
1266
|
+
const start = preview ? preview.start : event.start;
|
|
1267
|
+
const end = preview ? preview.end : event.end ?? event.start;
|
|
1268
|
+
const startMin = minutesOfDay(start);
|
|
1269
|
+
const endMin = Math.max(startMin + slotMinutes, startMin + (end.getTime() - start.getTime()) / 6e4);
|
|
1270
|
+
const top = minutesToY(startMin, hourHeight);
|
|
1271
|
+
const blockHeight = Math.max(MIN_BLOCK_PX, minutesToY(endMin - startMin, hourHeight));
|
|
1272
|
+
const widthPct = 100 / layout.columns;
|
|
1273
|
+
const leftPct = (isRTL ? layout.columns - 1 - layout.column : layout.column) * widthPct;
|
|
1274
|
+
const lifted = draggingEventId === event.id;
|
|
1275
|
+
const zoneInner = Math.min(RESIZE_ZONE_PX / 2, blockHeight / 2);
|
|
1276
|
+
const dragProps = getEventDragProps(event, "slot");
|
|
1277
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
1278
|
+
position: "absolute",
|
|
1279
|
+
top,
|
|
1280
|
+
height: blockHeight,
|
|
1281
|
+
left: `${leftPct}%`,
|
|
1282
|
+
width: `${widthPct}%`,
|
|
1283
|
+
paddingInlineEnd: 2,
|
|
1284
|
+
zIndex: preview ? 4 : 2,
|
|
1285
|
+
transition: webLayoutTransition,
|
|
1286
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
1287
|
+
flex: 1,
|
|
1288
|
+
...knobProps.borderRadius,
|
|
1289
|
+
backgroundColor: event.color || "$accentBackground",
|
|
1290
|
+
padding: "$1",
|
|
1291
|
+
overflow: "hidden",
|
|
1292
|
+
opacity: lifted ? 0.4 : 1,
|
|
1293
|
+
borderWidth: 1,
|
|
1294
|
+
borderColor: "$background",
|
|
1295
|
+
cursor: webDragEnabled ? "grab" : "pointer",
|
|
1296
|
+
...eventA11yProps(event),
|
|
1297
|
+
...dragProps,
|
|
1298
|
+
onPress: nativeDragEnabled ? void 0 : e => {
|
|
1299
|
+
e?.stopPropagation?.();
|
|
1300
|
+
if (suppressClickRef.current) return;
|
|
1301
|
+
onEventClick?.(event);
|
|
1302
|
+
},
|
|
1303
|
+
children: renderEvent ? renderEvent(event) : /* @__PURE__ */jsxs(Fragment, {
|
|
1304
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
1305
|
+
fontSize: "$1",
|
|
1306
|
+
fontWeight: "600",
|
|
1307
|
+
numberOfLines: 1,
|
|
1308
|
+
color: eventChipTextColor(event.color),
|
|
1309
|
+
children: event.title
|
|
1310
|
+
}), blockHeight >= 34 && /* @__PURE__ */jsx(Text, {
|
|
1311
|
+
fontSize: "$1",
|
|
1312
|
+
numberOfLines: 1,
|
|
1313
|
+
color: eventChipTextColor(event.color),
|
|
1314
|
+
children: formatTimeRangeLabel(start, end)
|
|
1315
|
+
})]
|
|
1316
|
+
})
|
|
1317
|
+
}), webResizeEnabled && /* @__PURE__ */jsxs(Fragment, {
|
|
1318
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
1319
|
+
position: "absolute",
|
|
1320
|
+
...overlayInset,
|
|
1321
|
+
top: -RESIZE_ZONE_PX / 2,
|
|
1322
|
+
height: RESIZE_ZONE_PX / 2 + zoneInner,
|
|
1323
|
+
cursor: "ns-resize",
|
|
1324
|
+
zIndex: 3,
|
|
1325
|
+
justifyContent: "flex-end",
|
|
1326
|
+
alignItems: "center",
|
|
1327
|
+
opacity: 0,
|
|
1328
|
+
hoverStyle: {
|
|
1329
|
+
opacity: 1
|
|
1330
|
+
},
|
|
1331
|
+
onPointerDown: e => handleResizePointerDown(event, "start", e),
|
|
1332
|
+
...{
|
|
1333
|
+
"data-calendar-resize": `start:${event.id}`
|
|
1334
|
+
},
|
|
1335
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
1336
|
+
width: 28,
|
|
1337
|
+
height: 3,
|
|
1338
|
+
borderRadius: 2,
|
|
1339
|
+
backgroundColor: "$accentColor",
|
|
1340
|
+
marginBottom: 2
|
|
1341
|
+
})
|
|
1342
|
+
}), /* @__PURE__ */jsx(YStack, {
|
|
1343
|
+
position: "absolute",
|
|
1344
|
+
...overlayInset,
|
|
1345
|
+
bottom: -RESIZE_ZONE_PX / 2,
|
|
1346
|
+
height: RESIZE_ZONE_PX / 2 + zoneInner,
|
|
1347
|
+
cursor: "ns-resize",
|
|
1348
|
+
zIndex: 3,
|
|
1349
|
+
justifyContent: "flex-start",
|
|
1350
|
+
alignItems: "center",
|
|
1351
|
+
opacity: 0,
|
|
1352
|
+
hoverStyle: {
|
|
1353
|
+
opacity: 1
|
|
1354
|
+
},
|
|
1355
|
+
onPointerDown: e => handleResizePointerDown(event, "end", e),
|
|
1356
|
+
...{
|
|
1357
|
+
"data-calendar-resize": `end:${event.id}`
|
|
1358
|
+
},
|
|
1359
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
1360
|
+
width: 28,
|
|
1361
|
+
height: 3,
|
|
1362
|
+
borderRadius: 2,
|
|
1363
|
+
backgroundColor: "$accentColor",
|
|
1364
|
+
marginTop: 2
|
|
1365
|
+
})
|
|
1366
|
+
})]
|
|
1367
|
+
}), preview && /* @__PURE__ */jsx(YStack, {
|
|
1368
|
+
position: "absolute",
|
|
1369
|
+
top: -26,
|
|
1370
|
+
alignSelf: "center",
|
|
1371
|
+
backgroundColor: "$background",
|
|
1372
|
+
...knobProps.borderRadius,
|
|
1373
|
+
borderWidth: 1,
|
|
1374
|
+
borderColor: "$borderColor",
|
|
1375
|
+
paddingHorizontal: "$2",
|
|
1376
|
+
zIndex: 5,
|
|
1377
|
+
pointerEvents: "none",
|
|
1378
|
+
...{
|
|
1379
|
+
"data-calendar-resize-label": "true"
|
|
1380
|
+
},
|
|
1381
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1382
|
+
fontSize: "$1",
|
|
1383
|
+
color: "$color",
|
|
1384
|
+
children: formatTimeRangeLabel(preview.start, preview.end)
|
|
1385
|
+
})
|
|
1386
|
+
})]
|
|
1387
|
+
}, event.id);
|
|
1388
|
+
};
|
|
1389
|
+
const renderTimeGrid = days => {
|
|
234
1390
|
return /* @__PURE__ */jsxs(YStack, {
|
|
235
1391
|
flex: 1,
|
|
236
|
-
|
|
237
|
-
|
|
1392
|
+
role: "grid",
|
|
1393
|
+
"aria-label": t("Calendar"),
|
|
1394
|
+
tabIndex: 0,
|
|
1395
|
+
"aria-activedescendant": focusCellId,
|
|
1396
|
+
onKeyDown: handleBodyKeyDown,
|
|
1397
|
+
outlineWidth: 0,
|
|
1398
|
+
focusVisibleStyle: {
|
|
1399
|
+
outlineWidth: 2,
|
|
1400
|
+
outlineColor: "$accentBackground",
|
|
1401
|
+
outlineStyle: "solid"
|
|
1402
|
+
},
|
|
1403
|
+
...{
|
|
1404
|
+
"data-calendar-body": view
|
|
1405
|
+
},
|
|
1406
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
1407
|
+
...hairline.bottom,
|
|
238
1408
|
borderColor: "$borderColor",
|
|
239
|
-
children:
|
|
1409
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
1410
|
+
width: 56
|
|
1411
|
+
}), days.map(day => /* @__PURE__ */jsxs(YStack, {
|
|
240
1412
|
flex: 1,
|
|
241
1413
|
padding: "$2",
|
|
242
1414
|
alignItems: "center",
|
|
@@ -247,107 +1419,250 @@ function Calendar({
|
|
|
247
1419
|
backgroundColor: componentColors.interactive.background
|
|
248
1420
|
}),
|
|
249
1421
|
children: [/* @__PURE__ */jsx(Text, {
|
|
1422
|
+
...knobProps.body,
|
|
250
1423
|
fontWeight: "500",
|
|
251
1424
|
fontSize: "$2",
|
|
252
1425
|
color: componentColors.text.muted,
|
|
253
1426
|
children: weekdayNames[day.getDay()]
|
|
254
1427
|
}), /* @__PURE__ */jsx(Text, {
|
|
1428
|
+
...knobProps.body,
|
|
255
1429
|
fontWeight: isToday(day) ? "700" : "400",
|
|
256
1430
|
fontSize: knobProps.sizeToken,
|
|
257
1431
|
color: isToday(day) ? "$accentColor" : "$color",
|
|
258
1432
|
children: day.getDate()
|
|
259
1433
|
})]
|
|
260
|
-
}, day.toISOString()))
|
|
1434
|
+
}, day.toISOString()))]
|
|
1435
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
1436
|
+
...hairline.bottom,
|
|
1437
|
+
borderColor: "$borderColor",
|
|
1438
|
+
minHeight: 30,
|
|
1439
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
1440
|
+
width: 56,
|
|
1441
|
+
justifyContent: "center",
|
|
1442
|
+
alignItems: "flex-end",
|
|
1443
|
+
paddingInlineEnd: "$2",
|
|
1444
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1445
|
+
fontSize: "$1",
|
|
1446
|
+
color: componentColors.text.muted,
|
|
1447
|
+
children: t("All day")
|
|
1448
|
+
})
|
|
1449
|
+
}), days.map(day => {
|
|
1450
|
+
const dayKey = formatDateKey(day);
|
|
1451
|
+
const dayEvents = (eventsByDate[dayKey] || []).filter(ev => !isTimedEvent(ev));
|
|
1452
|
+
const isDropTarget = dragGhost !== null && dropTargetKey === dayKey;
|
|
1453
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
1454
|
+
flex: 1,
|
|
1455
|
+
...hairlineEnd,
|
|
1456
|
+
borderColor: "$borderColor",
|
|
1457
|
+
padding: "$1",
|
|
1458
|
+
gap: "$1",
|
|
1459
|
+
backgroundColor: isDropTarget ? "$accentBackground" : void 0,
|
|
1460
|
+
...{
|
|
1461
|
+
"data-calendar-day": dayKey
|
|
1462
|
+
},
|
|
1463
|
+
ref: nativeDragEnabled ? node => registerDayRef(`allday:${dayKey}`, node) : void 0,
|
|
1464
|
+
onPress: () => {
|
|
1465
|
+
if (suppressClickRef.current) return;
|
|
1466
|
+
onDateSelect?.(day);
|
|
1467
|
+
},
|
|
1468
|
+
children: dayEvents.map(event => renderEventBadge(event, true))
|
|
1469
|
+
}, day.toISOString());
|
|
1470
|
+
})]
|
|
261
1471
|
}), /* @__PURE__ */jsx(ScrollView, {
|
|
1472
|
+
ref: timeGridScrollRef,
|
|
262
1473
|
flex: 1,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
1474
|
+
scrollEnabled: !scrollLocked,
|
|
1475
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
1476
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
1477
|
+
width: 56,
|
|
1478
|
+
children: hours.map(hour => /* @__PURE__ */jsx(YStack, {
|
|
1479
|
+
height: hourHeight,
|
|
1480
|
+
alignItems: "flex-end",
|
|
1481
|
+
paddingInlineEnd: "$2",
|
|
1482
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1483
|
+
fontSize: "$1",
|
|
1484
|
+
color: componentColors.text.muted,
|
|
1485
|
+
children: formatHour(hour)
|
|
1486
|
+
})
|
|
1487
|
+
}, hour))
|
|
1488
|
+
}), days.map(day => {
|
|
1489
|
+
const dayKey = formatDateKey(day);
|
|
1490
|
+
const dayEvents = (eventsByDate[dayKey] || []).filter(isTimedEvent);
|
|
1491
|
+
const blocks = layoutDayBlocks(dayEvents.map(ev => ({
|
|
1492
|
+
id: ev.id,
|
|
1493
|
+
startMin: minutesOfDay(ev.start),
|
|
1494
|
+
endMin: Math.min(MINUTES_PER_DAY, Math.max(minutesOfDay(ev.start) + slotMinutes, minutesOfDay(ev.start) + ((ev.end?.getTime() ?? ev.start.getTime()) - ev.start.getTime()) / 6e4))
|
|
1495
|
+
})));
|
|
1496
|
+
const byId = new Map(dayEvents.map(ev => [ev.id, ev]));
|
|
1497
|
+
const isSlotTargetDay = slotTarget?.dayKey === dayKey;
|
|
1498
|
+
const draftHere = createDraft?.dayKey === dayKey ? createDraft : null;
|
|
1499
|
+
const editorHere = editorState?.dayKey === dayKey ? editorState : null;
|
|
1500
|
+
const focusHere = view !== "month" && focusedDayKey === dayKey;
|
|
1501
|
+
return /* @__PURE__ */jsxs(YStack, {
|
|
269
1502
|
flex: 1,
|
|
270
|
-
|
|
1503
|
+
height: gridHeight,
|
|
1504
|
+
position: "relative",
|
|
1505
|
+
...hairlineEnd,
|
|
271
1506
|
borderColor: "$borderColor",
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
cursor: "pointer",
|
|
275
|
-
hoverStyle: {
|
|
276
|
-
backgroundColor: componentColors.surface.background
|
|
1507
|
+
...{
|
|
1508
|
+
"data-calendar-timecol": dayKey
|
|
277
1509
|
},
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
1510
|
+
ref: nativeDragEnabled ? node => registerDayRef(dayKey, node) : void 0,
|
|
1511
|
+
onPointerDown: hasDom ? e => handleGridPointerDown(day, e) : void 0,
|
|
1512
|
+
children: [hours.map(hour => /* @__PURE__ */jsx(YStack, {
|
|
1513
|
+
height: hourHeight,
|
|
1514
|
+
...hairline.bottom,
|
|
1515
|
+
borderColor: componentColors.divider,
|
|
1516
|
+
pointerEvents: "none"
|
|
1517
|
+
}, hour)), blocks.map(block => {
|
|
1518
|
+
const event = byId.get(block.id);
|
|
1519
|
+
if (!event) return null;
|
|
1520
|
+
return renderTimedBlock(event, block);
|
|
1521
|
+
}), isSlotTargetDay && slotTarget && /* @__PURE__ */jsx(YStack, {
|
|
1522
|
+
position: "absolute",
|
|
1523
|
+
...overlayInset,
|
|
1524
|
+
top: minutesToY(slotTarget.startMin, hourHeight),
|
|
1525
|
+
height: Math.max(MIN_BLOCK_PX, minutesToY(slotTarget.durationMin, hourHeight)),
|
|
1526
|
+
backgroundColor: "$accentBackground",
|
|
1527
|
+
opacity: 0.25,
|
|
1528
|
+
...knobProps.borderRadius,
|
|
1529
|
+
borderWidth: 1,
|
|
1530
|
+
borderColor: "$accentColor",
|
|
1531
|
+
pointerEvents: "none",
|
|
1532
|
+
zIndex: 1,
|
|
1533
|
+
...{
|
|
1534
|
+
"data-calendar-slot-target": "true"
|
|
1535
|
+
}
|
|
1536
|
+
}), draftHere && !editorHere && /* @__PURE__ */jsx(YStack, {
|
|
1537
|
+
position: "absolute",
|
|
1538
|
+
...overlayInset,
|
|
1539
|
+
top: minutesToY(minutesOfDay(draftHere.start), hourHeight),
|
|
1540
|
+
height: Math.max(MIN_BLOCK_PX, minutesToY((draftHere.end.getTime() - draftHere.start.getTime()) / 6e4, hourHeight)),
|
|
1541
|
+
backgroundColor: "$accentBackground",
|
|
1542
|
+
opacity: 0.45,
|
|
1543
|
+
...knobProps.borderRadius,
|
|
1544
|
+
borderWidth: 1,
|
|
1545
|
+
borderColor: "$accentColor",
|
|
1546
|
+
pointerEvents: "none",
|
|
1547
|
+
zIndex: 4,
|
|
1548
|
+
transition: webLayoutTransition,
|
|
1549
|
+
...{
|
|
1550
|
+
"data-calendar-create-draft": "true"
|
|
1551
|
+
},
|
|
1552
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1553
|
+
fontSize: "$1",
|
|
1554
|
+
color: "$accentColor",
|
|
1555
|
+
padding: "$1",
|
|
1556
|
+
numberOfLines: 1,
|
|
1557
|
+
children: formatTimeRangeLabel(draftHere.start, draftHere.end)
|
|
1558
|
+
})
|
|
1559
|
+
}), editorHere && /* @__PURE__ */jsx(YStack, {
|
|
1560
|
+
position: "absolute",
|
|
1561
|
+
...overlayInset,
|
|
1562
|
+
top: minutesToY(minutesOfDay(editorHere.start), hourHeight),
|
|
1563
|
+
height: Math.max(MIN_BLOCK_PX + 6, minutesToY((editorHere.end.getTime() - editorHere.start.getTime()) / 6e4, hourHeight)),
|
|
1564
|
+
zIndex: 5,
|
|
1565
|
+
children: /* @__PURE__ */jsx(FloatingPanel, {
|
|
1566
|
+
open: true,
|
|
1567
|
+
onOpenChange: open => {
|
|
1568
|
+
if (!open) commitEditor();
|
|
1569
|
+
},
|
|
1570
|
+
fitContent: true,
|
|
1571
|
+
trigger: /* @__PURE__ */jsx(YStack, {
|
|
1572
|
+
...knobProps.borderRadius,
|
|
1573
|
+
height: "100%",
|
|
1574
|
+
backgroundColor: "$accentBackground",
|
|
1575
|
+
opacity: 0.9,
|
|
1576
|
+
borderWidth: 1,
|
|
1577
|
+
borderColor: "$accentColor",
|
|
1578
|
+
padding: "$1",
|
|
1579
|
+
overflow: "hidden",
|
|
1580
|
+
...{
|
|
1581
|
+
"data-calendar-editor-block": "true"
|
|
1582
|
+
},
|
|
1583
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1584
|
+
fontSize: "$1",
|
|
1585
|
+
fontWeight: "600",
|
|
1586
|
+
color: "$accentColor",
|
|
1587
|
+
numberOfLines: 1,
|
|
1588
|
+
children: draftTitle || t("New event")
|
|
1589
|
+
})
|
|
1590
|
+
}),
|
|
1591
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
1592
|
+
gap: "$2",
|
|
1593
|
+
minWidth: 240,
|
|
1594
|
+
...{
|
|
1595
|
+
"data-calendar-create-editor": "true"
|
|
1596
|
+
},
|
|
1597
|
+
children: [/* @__PURE__ */jsx(Input, {
|
|
1598
|
+
label: t("Title"),
|
|
1599
|
+
placeholder: t("New event"),
|
|
1600
|
+
value: draftTitle,
|
|
1601
|
+
onChangeText: setDraftTitle,
|
|
1602
|
+
inputProps: {
|
|
1603
|
+
autoFocus: true
|
|
1604
|
+
}
|
|
1605
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
1606
|
+
fontSize: "$2",
|
|
1607
|
+
color: componentColors.text.muted,
|
|
1608
|
+
children: `${formatDayLong(editorHere.start)}, ${formatTimeRangeLabel(editorHere.start, editorHere.end)}`
|
|
1609
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
1610
|
+
fontSize: "$1",
|
|
1611
|
+
color: componentColors.text.muted,
|
|
1612
|
+
children: t("Changes apply when the editor closes")
|
|
1613
|
+
})]
|
|
1614
|
+
})
|
|
1615
|
+
})
|
|
1616
|
+
}), focusHere && /* @__PURE__ */jsx(YStack, {
|
|
1617
|
+
id: `${calendarId}-slot-cursor`,
|
|
1618
|
+
...{
|
|
1619
|
+
role: "gridcell"
|
|
1620
|
+
},
|
|
1621
|
+
"aria-label": `${formatDayLong(day)}, ${formatTimeRangeLabel(dateAtMinutes(day, focusedSlotMin), dateAtMinutes(day, focusedSlotMin + slotMinutes))}`,
|
|
1622
|
+
position: "absolute",
|
|
1623
|
+
...overlayInset,
|
|
1624
|
+
top: minutesToY(focusedSlotMin, hourHeight),
|
|
1625
|
+
height: minutesToY(slotMinutes, hourHeight),
|
|
1626
|
+
...knobProps.borderRadius,
|
|
1627
|
+
borderWidth: 2,
|
|
1628
|
+
borderColor: "$accentBackground",
|
|
1629
|
+
pointerEvents: "none",
|
|
1630
|
+
zIndex: 3,
|
|
1631
|
+
transition: webLayoutTransition,
|
|
1632
|
+
...{
|
|
1633
|
+
"data-calendar-slot-cursor": "true"
|
|
1634
|
+
}
|
|
1635
|
+
}), isToday(day) && /* @__PURE__ */jsx(NowIndicator, {
|
|
1636
|
+
hourHeight
|
|
1637
|
+
})]
|
|
282
1638
|
}, day.toISOString());
|
|
283
|
-
})
|
|
1639
|
+
})]
|
|
284
1640
|
})
|
|
285
1641
|
})]
|
|
286
1642
|
});
|
|
287
1643
|
};
|
|
288
|
-
const
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
children: /* @__PURE__ */jsxs(YStack, {
|
|
294
|
-
children: [dayEvents.length > 0 && /* @__PURE__ */jsxs(YStack, {
|
|
295
|
-
padding: "$2",
|
|
296
|
-
borderBottomWidth: 1,
|
|
297
|
-
borderColor: "$borderColor",
|
|
298
|
-
...{
|
|
299
|
-
backgroundColor: componentColors.surface.background
|
|
300
|
-
},
|
|
301
|
-
children: [/* @__PURE__ */jsx(Text, {
|
|
302
|
-
fontSize: "$2",
|
|
303
|
-
color: componentColors.text.muted,
|
|
304
|
-
marginBottom: "$2",
|
|
305
|
-
children: "Events"
|
|
306
|
-
}), /* @__PURE__ */jsx(YStack, {
|
|
307
|
-
gap: "$1",
|
|
308
|
-
children: dayEvents.map(event => renderEventBadge(event, false))
|
|
309
|
-
})]
|
|
310
|
-
}), hours.map(hour => /* @__PURE__ */jsxs(XStack, {
|
|
311
|
-
minHeight: 60,
|
|
312
|
-
borderBottomWidth: 1,
|
|
313
|
-
borderColor: "$borderColor",
|
|
314
|
-
onPress: () => {
|
|
315
|
-
const date = new Date(currentDate);
|
|
316
|
-
date.setHours(hour, 0, 0, 0);
|
|
317
|
-
onDateSelect?.(date);
|
|
318
|
-
},
|
|
319
|
-
hoverStyle: {
|
|
320
|
-
backgroundColor: componentColors.surface.background
|
|
321
|
-
},
|
|
322
|
-
cursor: "pointer",
|
|
323
|
-
children: [/* @__PURE__ */jsx(YStack, {
|
|
324
|
-
width: 60,
|
|
325
|
-
paddingRight: "$2",
|
|
326
|
-
alignItems: "flex-end",
|
|
327
|
-
paddingTop: "$1",
|
|
328
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
329
|
-
fontSize: "$2",
|
|
330
|
-
color: componentColors.text.muted,
|
|
331
|
-
children: formatHour(hour)
|
|
332
|
-
})
|
|
333
|
-
}), /* @__PURE__ */jsx(YStack, {
|
|
334
|
-
flex: 1,
|
|
335
|
-
borderLeftWidth: 1,
|
|
336
|
-
borderColor: "$borderColor",
|
|
337
|
-
padding: "$2"
|
|
338
|
-
})]
|
|
339
|
-
}, hour))]
|
|
340
|
-
})
|
|
341
|
-
});
|
|
342
|
-
};
|
|
1644
|
+
const renderWeekView = () => renderTimeGrid(getWeekDays(currentDate, firstDayOfWeek));
|
|
1645
|
+
const renderDayView = () => renderTimeGrid([currentDate]);
|
|
1646
|
+
const physicalDir = navDirectionRef.current * (isRTL ? -1 : 1);
|
|
1647
|
+
const bodyEnterVariant = !transition ? void 0 : physicalDir > 0 ? "fromEnd" : physicalDir < 0 ? "fromStart" : "fade";
|
|
1648
|
+
const bodyExitVariant = !transition ? void 0 : physicalDir > 0 ? "fromStart" : physicalDir < 0 ? "fromEnd" : "fade";
|
|
343
1649
|
return /* @__PURE__ */jsxs(YStack, {
|
|
344
1650
|
height,
|
|
1651
|
+
position: "relative",
|
|
1652
|
+
overflow: "hidden",
|
|
1653
|
+
backgroundColor: "$background",
|
|
1654
|
+
elevation: knobProps.elevation,
|
|
1655
|
+
ref: nativeDragEnabled ? node => {
|
|
1656
|
+
containerNodeRef.current = node;
|
|
1657
|
+
refreshContainerOffset();
|
|
1658
|
+
} : void 0,
|
|
1659
|
+
onLayout: nativeDragEnabled ? refreshContainerOffset : void 0,
|
|
345
1660
|
...stackProps,
|
|
346
1661
|
children: [(showNavigation || showViewSwitcher) && /* @__PURE__ */jsxs(XStack, {
|
|
347
1662
|
...knobProps.panelPadding,
|
|
348
1663
|
alignItems: "center",
|
|
349
1664
|
justifyContent: "space-between",
|
|
350
|
-
|
|
1665
|
+
...hairline.bottom,
|
|
351
1666
|
borderColor: "$borderColor",
|
|
352
1667
|
children: [showNavigation && /* @__PURE__ */jsxs(XStack, {
|
|
353
1668
|
gap: "$2",
|
|
@@ -355,60 +1670,123 @@ function Calendar({
|
|
|
355
1670
|
children: [/* @__PURE__ */jsx(Button, {
|
|
356
1671
|
size: knobProps.sizeToken,
|
|
357
1672
|
onPress: goToPrevious,
|
|
358
|
-
"aria-label": "Previous",
|
|
1673
|
+
"aria-label": t("Previous"),
|
|
359
1674
|
children: "<"
|
|
360
1675
|
}), /* @__PURE__ */jsx(Button, {
|
|
361
1676
|
size: knobProps.sizeToken,
|
|
362
1677
|
onPress: goToToday,
|
|
363
|
-
children: "Today"
|
|
1678
|
+
children: t("Today")
|
|
364
1679
|
}), /* @__PURE__ */jsx(Button, {
|
|
365
1680
|
size: knobProps.sizeToken,
|
|
366
1681
|
onPress: goToNext,
|
|
367
|
-
"aria-label": "Next",
|
|
1682
|
+
"aria-label": t("Next"),
|
|
368
1683
|
children: ">"
|
|
369
1684
|
})]
|
|
370
1685
|
}), /* @__PURE__ */jsx(Text, {
|
|
371
1686
|
...knobProps.heading,
|
|
372
|
-
|
|
1687
|
+
...sectionHeading,
|
|
373
1688
|
children: displayTitle
|
|
374
|
-
}), showViewSwitcher &&
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
value: "week",
|
|
393
|
-
size: knobProps.sizeToken,
|
|
394
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
395
|
-
fontSize: knobProps.sizeToken,
|
|
396
|
-
children: "Week"
|
|
397
|
-
})
|
|
398
|
-
}), /* @__PURE__ */jsx(ToggleGroup.Item, {
|
|
399
|
-
value: "day",
|
|
400
|
-
size: knobProps.sizeToken,
|
|
401
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
402
|
-
fontSize: knobProps.sizeToken,
|
|
403
|
-
children: "Day"
|
|
404
|
-
})
|
|
405
|
-
})]
|
|
1689
|
+
}), showViewSwitcher &&
|
|
1690
|
+
/* Canonical fused view picker (LC-16 ONE-IMPLEMENTATION): brings
|
|
1691
|
+
the 44px press-target floor + hitSlop (SP-FIXED) and the
|
|
1692
|
+
keyboard focus ring the hand-rolled ToggleGroup lacked. */
|
|
1693
|
+
/* @__PURE__ */
|
|
1694
|
+
jsx(ViewSwitcher, {
|
|
1695
|
+
views: [{
|
|
1696
|
+
type: "month",
|
|
1697
|
+
label: t("Month")
|
|
1698
|
+
}, {
|
|
1699
|
+
type: "week",
|
|
1700
|
+
label: t("Week")
|
|
1701
|
+
}, {
|
|
1702
|
+
type: "day",
|
|
1703
|
+
label: t("Day")
|
|
1704
|
+
}],
|
|
1705
|
+
currentView: view,
|
|
1706
|
+
onViewChange: val => changeView(val)
|
|
406
1707
|
})]
|
|
407
|
-
}), /* @__PURE__ */
|
|
1708
|
+
}), /* @__PURE__ */jsx(YStack, {
|
|
1709
|
+
position: "absolute",
|
|
1710
|
+
width: 1,
|
|
1711
|
+
height: 1,
|
|
1712
|
+
overflow: "hidden",
|
|
1713
|
+
opacity: 0,
|
|
1714
|
+
pointerEvents: "none",
|
|
1715
|
+
"aria-live": "polite",
|
|
1716
|
+
...{
|
|
1717
|
+
"data-calendar-live": "true"
|
|
1718
|
+
},
|
|
1719
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1720
|
+
children: announcement
|
|
1721
|
+
})
|
|
1722
|
+
}), /* @__PURE__ */jsx(YStack, {
|
|
408
1723
|
flex: 1,
|
|
409
|
-
|
|
410
|
-
|
|
1724
|
+
overflow: "hidden",
|
|
1725
|
+
position: "relative",
|
|
1726
|
+
children: /* @__PURE__ */jsx(AnimatePresence, {
|
|
1727
|
+
initial: false,
|
|
1728
|
+
enterVariant: bodyEnterVariant,
|
|
1729
|
+
exitVariant: bodyExitVariant,
|
|
1730
|
+
children: /* @__PURE__ */jsxs(CalendarSlide, {
|
|
1731
|
+
fullscreen: true,
|
|
1732
|
+
x: 0,
|
|
1733
|
+
opacity: 1,
|
|
1734
|
+
transition,
|
|
1735
|
+
...{
|
|
1736
|
+
"data-calendar-motion": motionKey
|
|
1737
|
+
},
|
|
1738
|
+
children: [view === "month" && renderMonthView(), view === "week" && renderWeekView(), view === "day" && renderDayView()]
|
|
1739
|
+
}, motionKey)
|
|
1740
|
+
})
|
|
1741
|
+
}), dragGhost && /* @__PURE__ */jsx(YStack, {
|
|
1742
|
+
pointerEvents: "none",
|
|
1743
|
+
...knobProps.borderRadius,
|
|
1744
|
+
backgroundColor: dragGhost.event.color || "$accentBackground",
|
|
1745
|
+
padding: "$1",
|
|
1746
|
+
opacity: 0.95,
|
|
1747
|
+
scale: 1.03,
|
|
1748
|
+
...{
|
|
1749
|
+
"data-calendar-drag-ghost": true,
|
|
1750
|
+
...(isWeb ? {
|
|
1751
|
+
style: {
|
|
1752
|
+
position: "fixed",
|
|
1753
|
+
left: dragGhost.x + 12,
|
|
1754
|
+
top: dragGhost.y + 12,
|
|
1755
|
+
// Sheet tier (Axiom 14): the ghost tracks the pointer
|
|
1756
|
+
// above page content and sticky chrome.
|
|
1757
|
+
zIndex: zIndex.sheet,
|
|
1758
|
+
maxWidth: 220,
|
|
1759
|
+
boxShadow: LIFT_SHADOW
|
|
1760
|
+
}
|
|
1761
|
+
} : {
|
|
1762
|
+
position: "absolute",
|
|
1763
|
+
left: dragGhost.x,
|
|
1764
|
+
top: dragGhost.y,
|
|
1765
|
+
zIndex: zIndex.sheet,
|
|
1766
|
+
maxWidth: 220,
|
|
1767
|
+
shadowColor: "$shadowColor",
|
|
1768
|
+
shadowOffset: {
|
|
1769
|
+
width: 0,
|
|
1770
|
+
height: 6
|
|
1771
|
+
},
|
|
1772
|
+
shadowRadius: 12,
|
|
1773
|
+
shadowOpacity: 0.3,
|
|
1774
|
+
elevation: 8
|
|
1775
|
+
})
|
|
1776
|
+
},
|
|
1777
|
+
children: /* @__PURE__ */jsx(Text, {
|
|
1778
|
+
fontSize: "$2",
|
|
1779
|
+
numberOfLines: 1,
|
|
1780
|
+
color: eventChipTextColor(dragGhost.event.color),
|
|
1781
|
+
children: dragGhost.event.title
|
|
1782
|
+
})
|
|
1783
|
+
}), settle && isWeb && /* @__PURE__ */jsx(SettleGhost, {
|
|
1784
|
+
settle,
|
|
1785
|
+
transition,
|
|
1786
|
+
borderRadius: knobProps.borderRadius,
|
|
1787
|
+
onDone: clearSettle
|
|
1788
|
+
}, settle.key)]
|
|
411
1789
|
});
|
|
412
1790
|
}
|
|
413
|
-
export { Calendar };
|
|
1791
|
+
export { Calendar, computeEventMoveRange, eventChipTextColor, findDayKeyAtPoint };
|
|
414
1792
|
//# sourceMappingURL=Calendar.mjs.map
|