@multiplatform.one/components 6.6.0 → 7.0.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/dist/cjs/Accordion/index.cjs +213 -70
- package/dist/cjs/Accordion/index.native.js +254 -75
- package/dist/cjs/Accordion/index.native.js.map +1 -1
- package/dist/cjs/Alert/index.cjs +204 -56
- package/dist/cjs/Alert/index.native.js +211 -60
- package/dist/cjs/Alert/index.native.js.map +1 -1
- package/dist/cjs/AnimateHeight/index.cjs +166 -0
- package/dist/cjs/AnimateHeight/index.native.js +176 -0
- package/dist/cjs/AnimateHeight/index.native.js.map +1 -0
- package/dist/cjs/Avatar/getInitials.cjs +34 -0
- package/dist/cjs/Avatar/getInitials.native.js +34 -0
- package/dist/cjs/Avatar/getInitials.native.js.map +1 -1
- package/dist/cjs/Avatar/index.cjs +246 -62
- package/dist/cjs/Avatar/index.native.js +252 -68
- package/dist/cjs/Avatar/index.native.js.map +1 -1
- package/dist/cjs/Badge/index.cjs +109 -75
- package/dist/cjs/Badge/index.native.js +110 -76
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Button.cjs +41 -0
- package/dist/cjs/Button.native.js +45 -0
- package/dist/cjs/Button.native.js.map +1 -0
- package/dist/cjs/Carousel/index.cjs +184 -105
- package/dist/cjs/Carousel/index.native.js +212 -107
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +360 -5
- package/dist/cjs/Chip/index.native.js +374 -5
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.cjs +129 -13
- package/dist/cjs/DotIndicator/index.native.js +133 -13
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/index.cjs +110 -44
- package/dist/cjs/DropdownMenu/index.native.js +113 -46
- package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
- package/dist/cjs/ErrorBoundary/index.cjs +2 -2
- package/dist/cjs/ErrorBoundary/index.native.js +2 -2
- package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
- package/dist/cjs/Pagination.cjs +40 -11
- package/dist/cjs/Pagination.native.js +44 -11
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.cjs +163 -107
- package/dist/cjs/ProgressSteps/index.native.js +171 -115
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/Quote/index.cjs +58 -39
- package/dist/cjs/Quote/index.native.js +69 -45
- package/dist/cjs/Quote/index.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.cjs +141 -4
- package/dist/cjs/SheetModal/index.native.js +42 -29
- package/dist/cjs/SheetModal/index.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.cjs +216 -4
- package/dist/cjs/Skeleton/index.native.js +223 -4
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/SkipLink/index.cjs +91 -57
- package/dist/cjs/SkipLink/index.native.js +92 -66
- package/dist/cjs/SkipLink/index.native.js.map +1 -1
- package/dist/cjs/Tabs/index.cjs +136 -95
- package/dist/cjs/Tabs/index.native.js +161 -108
- package/dist/cjs/Tabs/index.native.js.map +1 -1
- package/dist/cjs/Toast/index.cjs +229 -67
- package/dist/cjs/Toast/index.native.js +232 -67
- package/dist/cjs/Toast/index.native.js.map +1 -1
- package/dist/cjs/Toast/store.cjs +83 -10
- package/dist/cjs/Toast/store.native.js +108 -10
- package/dist/cjs/Toast/store.native.js.map +1 -1
- package/dist/cjs/Tooltip/index.cjs +159 -42
- package/dist/cjs/Tooltip/index.native.js +195 -43
- package/dist/cjs/Tooltip/index.native.js.map +1 -1
- package/dist/cjs/Video/PlayerChrome.cjs +403 -0
- package/dist/cjs/Video/PlayerChrome.native.js +436 -0
- package/dist/cjs/Video/PlayerChrome.native.js.map +1 -0
- package/dist/cjs/Video/VideoFrame.cjs +14 -5
- package/dist/cjs/Video/VideoFrame.native.js +16 -5
- package/dist/cjs/Video/VideoFrame.native.js.map +1 -1
- package/dist/cjs/Video/index.cjs +227 -11
- package/dist/cjs/Video/index.native.js +28 -13
- package/dist/cjs/Video/index.native.js.map +1 -1
- package/dist/cjs/Wheel/index.cjs +144 -93
- package/dist/cjs/Wheel/index.native.js +149 -96
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/actions/DestructiveAction.cjs +2 -2
- package/dist/cjs/actions/DestructiveAction.native.js +2 -2
- package/dist/cjs/actions/DestructiveAction.native.js.map +1 -1
- package/dist/cjs/charts/BarChart.cjs +9 -5
- package/dist/cjs/charts/BarChart.native.js +9 -5
- package/dist/cjs/charts/BarChart.native.js.map +1 -1
- package/dist/cjs/charts/LineChart.cjs +2 -2
- package/dist/cjs/charts/LineChart.native.js +2 -2
- package/dist/cjs/charts/LineChart.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.cjs +2 -2
- package/dist/cjs/charts/PieChart.native.js +2 -2
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/charts/Sparkline.cjs +2 -2
- package/dist/cjs/charts/Sparkline.native.js +2 -2
- package/dist/cjs/charts/Sparkline.native.js.map +1 -1
- package/dist/cjs/charts/index.cjs +4 -0
- package/dist/cjs/charts/index.native.js +4 -0
- package/dist/cjs/charts/index.native.js.map +1 -1
- package/dist/cjs/code/CodeBlock/index.cjs +34 -7
- package/dist/cjs/code/CodeBlock/index.native.js +36 -9
- package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.cjs +92 -5
- package/dist/cjs/feedback/ConfirmDialog.native.js +123 -5
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/cjs/feedback/NotifyHost.cjs +2 -2
- package/dist/cjs/feedback/NotifyHost.native.js +2 -2
- package/dist/cjs/feedback/NotifyHost.native.js.map +1 -1
- package/dist/cjs/icons/themed.cjs +4 -1
- package/dist/cjs/icons/themed.native.js +4 -1
- package/dist/cjs/icons/themed.native.js.map +1 -1
- package/dist/cjs/images/Image/ImageFrame.cjs +242 -0
- package/dist/cjs/images/Image/ImageFrame.native.js +248 -0
- package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -0
- package/dist/cjs/images/Image/index.cjs +93 -40
- package/dist/cjs/images/Image/index.native.js +146 -108
- package/dist/cjs/images/Image/index.native.js.map +1 -1
- package/dist/cjs/images/Image/shared.cjs +106 -0
- package/dist/cjs/images/Image/shared.native.js +109 -0
- package/dist/cjs/images/Image/shared.native.js.map +1 -0
- package/dist/cjs/index.cjs +7 -0
- package/dist/cjs/index.native.js +7 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/knobImmuneExports.cjs +95 -0
- package/dist/cjs/knobImmuneExports.native.js +98 -0
- package/dist/cjs/knobImmuneExports.native.js.map +1 -0
- package/dist/cjs/layouts/AsyncBoundary.cjs +163 -36
- package/dist/cjs/layouts/AsyncBoundary.native.js +166 -37
- package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/cjs/layouts/EmptyState.cjs +157 -0
- package/dist/cjs/layouts/EmptyState.native.js +165 -0
- package/dist/cjs/layouts/EmptyState.native.js.map +1 -0
- package/dist/cjs/layouts/PageTemplates.cjs +13 -5
- package/dist/cjs/layouts/PageTemplates.native.js +13 -5
- package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
- package/dist/cjs/layouts/PaneScaffold.cjs +273 -13
- package/dist/cjs/layouts/PaneScaffold.native.js +294 -13
- package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/cjs/layouts/ViewSwitcher.cjs +65 -23
- package/dist/cjs/layouts/ViewSwitcher.native.js +78 -30
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.cjs +350 -185
- package/dist/cjs/layouts/attachments.native.js +370 -186
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/breadcrumbs.cjs +161 -62
- package/dist/cjs/layouts/breadcrumbs.native.js +184 -65
- package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +71 -111
- package/dist/cjs/layouts/page.native.js +82 -130
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/pageHeadingScope.cjs +8 -2
- package/dist/cjs/layouts/pageHeadingScope.native.js +10 -2
- package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/cjs/layouts/sidebar.cjs +150 -66
- package/dist/cjs/layouts/sidebar.native.js +118 -47
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/cjs/layouts/tags.cjs +321 -138
- package/dist/cjs/layouts/tags.native.js +355 -158
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.cjs +129 -56
- package/dist/cjs/layouts/timeline.native.js +179 -55
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/layouts/toolbar.cjs +56 -20
- package/dist/cjs/layouts/toolbar.native.js +62 -25
- package/dist/cjs/layouts/toolbar.native.js.map +1 -1
- package/dist/cjs/shared/i18n.cjs +46 -0
- package/dist/cjs/shared/i18n.native.js +52 -0
- package/dist/cjs/shared/i18n.native.js.map +1 -0
- package/dist/cjs/shared/textRidesText.cjs +57 -0
- package/dist/cjs/shared/textRidesText.native.js +81 -0
- package/dist/cjs/shared/textRidesText.native.js.map +1 -0
- package/dist/cjs/shared/useReturnFocusOnClose.cjs +7 -1
- package/dist/cjs/shared/useReturnFocusOnClose.native.js +7 -1
- package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/cjs/surfaces.cjs +93 -16
- package/dist/cjs/surfaces.native.js +95 -16
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/tamagui.cjs +38 -39
- package/dist/cjs/tamagui.native.js +37 -38
- package/dist/cjs/tamagui.native.js.map +1 -1
- package/dist/cjs/views/Calendar.cjs +101 -64
- package/dist/cjs/views/Calendar.native.js +105 -70
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.cjs +399 -107
- package/dist/cjs/views/Dashboard.native.js +408 -110
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Gantt.cjs +256 -59
- package/dist/cjs/views/Gantt.native.js +264 -39
- package/dist/cjs/views/Gantt.native.js.map +1 -1
- package/dist/cjs/views/ImageGrid.cjs +138 -73
- package/dist/cjs/views/ImageGrid.native.js +155 -71
- package/dist/cjs/views/ImageGrid.native.js.map +1 -1
- package/dist/cjs/views/Kanban.cjs +53 -31
- package/dist/cjs/views/Kanban.native.js +55 -41
- package/dist/cjs/views/Kanban.native.js.map +1 -1
- package/dist/cjs/views/List.cjs +280 -93
- package/dist/cjs/views/List.native.js +280 -101
- package/dist/cjs/views/List.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.cjs +539 -172
- package/dist/cjs/views/ReportBuilder.native.js +592 -169
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/TreeView.cjs +142 -52
- package/dist/cjs/views/TreeView.native.js +170 -55
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/esm/Accordion/index.mjs +216 -73
- package/dist/esm/Accordion/index.mjs.map +1 -1
- package/dist/esm/Accordion/index.native.js +257 -78
- package/dist/esm/Accordion/index.native.js.map +1 -1
- package/dist/esm/Alert/index.mjs +206 -58
- package/dist/esm/Alert/index.mjs.map +1 -1
- package/dist/esm/Alert/index.native.js +213 -62
- package/dist/esm/Alert/index.native.js.map +1 -1
- package/dist/esm/AnimateHeight/index.mjs +140 -0
- package/dist/esm/AnimateHeight/index.mjs.map +1 -0
- package/dist/esm/AnimateHeight/index.native.js +147 -0
- package/dist/esm/AnimateHeight/index.native.js.map +1 -0
- package/dist/esm/Avatar/getInitials.mjs +32 -1
- package/dist/esm/Avatar/getInitials.mjs.map +1 -1
- package/dist/esm/Avatar/getInitials.native.js +32 -1
- package/dist/esm/Avatar/getInitials.native.js.map +1 -1
- package/dist/esm/Avatar/index.mjs +249 -68
- package/dist/esm/Avatar/index.mjs.map +1 -1
- package/dist/esm/Avatar/index.native.js +255 -74
- package/dist/esm/Avatar/index.native.js.map +1 -1
- package/dist/esm/Badge/index.mjs +110 -76
- package/dist/esm/Badge/index.mjs.map +1 -1
- package/dist/esm/Badge/index.native.js +111 -77
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Button.mjs +16 -0
- package/dist/esm/Button.mjs.map +1 -0
- package/dist/esm/Button.native.js +17 -0
- package/dist/esm/Button.native.js.map +1 -0
- package/dist/esm/Carousel/index.mjs +185 -106
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +213 -108
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +356 -2
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +370 -2
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.mjs +130 -14
- package/dist/esm/DotIndicator/index.mjs.map +1 -1
- package/dist/esm/DotIndicator/index.native.js +134 -14
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.mjs +112 -46
- package/dist/esm/DropdownMenu/index.mjs.map +1 -1
- package/dist/esm/DropdownMenu/index.native.js +115 -48
- package/dist/esm/DropdownMenu/index.native.js.map +1 -1
- package/dist/esm/ErrorBoundary/index.mjs +1 -1
- package/dist/esm/ErrorBoundary/index.native.js +1 -1
- package/dist/esm/Pagination.mjs +41 -12
- package/dist/esm/Pagination.mjs.map +1 -1
- package/dist/esm/Pagination.native.js +45 -12
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.mjs +165 -109
- package/dist/esm/ProgressSteps/index.mjs.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js +173 -117
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/Quote/index.mjs +59 -40
- package/dist/esm/Quote/index.mjs.map +1 -1
- package/dist/esm/Quote/index.native.js +70 -46
- package/dist/esm/Quote/index.native.js.map +1 -1
- package/dist/esm/SheetModal/index.mjs +144 -7
- package/dist/esm/SheetModal/index.mjs.map +1 -1
- package/dist/esm/SheetModal/index.native.js +41 -28
- package/dist/esm/SheetModal/index.native.js.map +1 -1
- package/dist/esm/Skeleton/index.mjs +213 -2
- package/dist/esm/Skeleton/index.mjs.map +1 -1
- package/dist/esm/Skeleton/index.native.js +220 -2
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/SkipLink/index.mjs +93 -59
- package/dist/esm/SkipLink/index.mjs.map +1 -1
- package/dist/esm/SkipLink/index.native.js +94 -68
- package/dist/esm/SkipLink/index.native.js.map +1 -1
- package/dist/esm/Tabs/index.mjs +137 -96
- package/dist/esm/Tabs/index.mjs.map +1 -1
- package/dist/esm/Tabs/index.native.js +162 -109
- package/dist/esm/Tabs/index.native.js.map +1 -1
- package/dist/esm/Toast/index.mjs +227 -68
- package/dist/esm/Toast/index.mjs.map +1 -1
- package/dist/esm/Toast/index.native.js +230 -68
- package/dist/esm/Toast/index.native.js.map +1 -1
- package/dist/esm/Toast/store.mjs +75 -11
- package/dist/esm/Toast/store.mjs.map +1 -1
- package/dist/esm/Toast/store.native.js +100 -11
- package/dist/esm/Toast/store.native.js.map +1 -1
- package/dist/esm/Tooltip/index.mjs +147 -42
- package/dist/esm/Tooltip/index.mjs.map +1 -1
- package/dist/esm/Tooltip/index.native.js +184 -44
- package/dist/esm/Tooltip/index.native.js.map +1 -1
- package/dist/esm/Video/PlayerChrome.mjs +377 -0
- package/dist/esm/Video/PlayerChrome.mjs.map +1 -0
- package/dist/esm/Video/PlayerChrome.native.js +407 -0
- package/dist/esm/Video/PlayerChrome.native.js.map +1 -0
- package/dist/esm/Video/VideoFrame.mjs +14 -5
- package/dist/esm/Video/VideoFrame.mjs.map +1 -1
- package/dist/esm/Video/VideoFrame.native.js +16 -5
- package/dist/esm/Video/VideoFrame.native.js.map +1 -1
- package/dist/esm/Video/index.mjs +227 -11
- package/dist/esm/Video/index.mjs.map +1 -1
- package/dist/esm/Video/index.native.js +28 -13
- package/dist/esm/Video/index.native.js.map +1 -1
- package/dist/esm/Wheel/index.mjs +143 -92
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +148 -95
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/actions/DestructiveAction.mjs +1 -1
- package/dist/esm/actions/DestructiveAction.native.js +1 -1
- package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
- package/dist/esm/charts/BarChart.mjs +8 -4
- package/dist/esm/charts/BarChart.mjs.map +1 -1
- package/dist/esm/charts/BarChart.native.js +8 -4
- package/dist/esm/charts/BarChart.native.js.map +1 -1
- package/dist/esm/charts/LineChart.mjs +1 -1
- package/dist/esm/charts/LineChart.native.js +1 -1
- package/dist/esm/charts/PieChart.mjs +1 -1
- package/dist/esm/charts/PieChart.native.js +1 -1
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/charts/Sparkline.mjs +1 -1
- package/dist/esm/charts/Sparkline.native.js +1 -1
- package/dist/esm/charts/index.mjs +2 -1
- package/dist/esm/charts/index.mjs.map +1 -1
- package/dist/esm/charts/index.native.js +2 -1
- package/dist/esm/charts/index.native.js.map +1 -1
- package/dist/esm/code/CodeBlock/index.mjs +34 -7
- package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
- package/dist/esm/code/CodeBlock/index.native.js +36 -9
- package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.mjs +93 -6
- package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.native.js +124 -6
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/esm/feedback/NotifyHost.mjs +1 -1
- package/dist/esm/feedback/NotifyHost.native.js +1 -1
- package/dist/esm/icons/themed.mjs +5 -2
- package/dist/esm/icons/themed.mjs.map +1 -1
- package/dist/esm/icons/themed.native.js +5 -2
- package/dist/esm/icons/themed.native.js.map +1 -1
- package/dist/esm/images/Image/ImageFrame.mjs +216 -0
- package/dist/esm/images/Image/ImageFrame.mjs.map +1 -0
- package/dist/esm/images/Image/ImageFrame.native.js +219 -0
- package/dist/esm/images/Image/ImageFrame.native.js.map +1 -0
- package/dist/esm/images/Image/index.mjs +94 -41
- package/dist/esm/images/Image/index.mjs.map +1 -1
- package/dist/esm/images/Image/index.native.js +148 -110
- package/dist/esm/images/Image/index.native.js.map +1 -1
- package/dist/esm/images/Image/shared.mjs +76 -0
- package/dist/esm/images/Image/shared.mjs.map +1 -0
- package/dist/esm/images/Image/shared.native.js +76 -0
- package/dist/esm/images/Image/shared.native.js.map +1 -0
- package/dist/esm/index.mjs +4 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +4 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/knobImmuneExports.mjs +70 -0
- package/dist/esm/knobImmuneExports.mjs.map +1 -0
- package/dist/esm/knobImmuneExports.native.js +70 -0
- package/dist/esm/knobImmuneExports.native.js.map +1 -0
- package/dist/esm/layouts/AsyncBoundary.mjs +165 -38
- package/dist/esm/layouts/AsyncBoundary.mjs.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.native.js +168 -39
- package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/esm/layouts/EmptyState.mjs +132 -0
- package/dist/esm/layouts/EmptyState.mjs.map +1 -0
- package/dist/esm/layouts/EmptyState.native.js +137 -0
- package/dist/esm/layouts/EmptyState.native.js.map +1 -0
- package/dist/esm/layouts/PageTemplates.mjs +13 -5
- package/dist/esm/layouts/PageTemplates.mjs.map +1 -1
- package/dist/esm/layouts/PageTemplates.native.js +13 -5
- package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
- package/dist/esm/layouts/PaneScaffold.mjs +277 -17
- package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
- package/dist/esm/layouts/PaneScaffold.native.js +298 -17
- package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.mjs +66 -24
- package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js +79 -31
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.mjs +351 -175
- package/dist/esm/layouts/attachments.mjs.map +1 -1
- package/dist/esm/layouts/attachments.native.js +371 -187
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/breadcrumbs.mjs +163 -53
- package/dist/esm/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/esm/layouts/breadcrumbs.native.js +187 -68
- package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +72 -112
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +83 -131
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/pageHeadingScope.mjs +8 -3
- package/dist/esm/layouts/pageHeadingScope.mjs.map +1 -1
- package/dist/esm/layouts/pageHeadingScope.native.js +10 -3
- package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/esm/layouts/sidebar.mjs +152 -68
- package/dist/esm/layouts/sidebar.mjs.map +1 -1
- package/dist/esm/layouts/sidebar.native.js +120 -49
- package/dist/esm/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/layouts/tags.mjs +323 -140
- package/dist/esm/layouts/tags.mjs.map +1 -1
- package/dist/esm/layouts/tags.native.js +357 -160
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.mjs +129 -45
- package/dist/esm/layouts/timeline.mjs.map +1 -1
- package/dist/esm/layouts/timeline.native.js +179 -55
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/layouts/toolbar.mjs +57 -21
- package/dist/esm/layouts/toolbar.mjs.map +1 -1
- package/dist/esm/layouts/toolbar.native.js +63 -26
- package/dist/esm/layouts/toolbar.native.js.map +1 -1
- package/dist/esm/shared/i18n.mjs +10 -0
- package/dist/esm/shared/i18n.mjs.map +1 -0
- package/dist/esm/shared/i18n.native.js +13 -0
- package/dist/esm/shared/i18n.native.js.map +1 -0
- package/dist/esm/shared/textRidesText.mjs +31 -0
- package/dist/esm/shared/textRidesText.mjs.map +1 -0
- package/dist/esm/shared/textRidesText.native.js +52 -0
- package/dist/esm/shared/textRidesText.native.js.map +1 -0
- package/dist/esm/shared/useReturnFocusOnClose.mjs +7 -1
- package/dist/esm/shared/useReturnFocusOnClose.mjs.map +1 -1
- package/dist/esm/shared/useReturnFocusOnClose.native.js +7 -1
- package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/esm/surfaces.mjs +94 -17
- package/dist/esm/surfaces.mjs.map +1 -1
- package/dist/esm/surfaces.native.js +96 -17
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/tamagui.mjs +2 -3
- package/dist/esm/tamagui.mjs.map +1 -1
- package/dist/esm/tamagui.native.js +2 -3
- package/dist/esm/tamagui.native.js.map +1 -1
- package/dist/esm/views/Calendar.mjs +101 -64
- package/dist/esm/views/Calendar.mjs.map +1 -1
- package/dist/esm/views/Calendar.native.js +105 -70
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.mjs +396 -107
- package/dist/esm/views/Dashboard.mjs.map +1 -1
- package/dist/esm/views/Dashboard.native.js +405 -110
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Gantt.mjs +256 -59
- package/dist/esm/views/Gantt.mjs.map +1 -1
- package/dist/esm/views/Gantt.native.js +264 -39
- package/dist/esm/views/Gantt.native.js.map +1 -1
- package/dist/esm/views/ImageGrid.mjs +138 -73
- package/dist/esm/views/ImageGrid.mjs.map +1 -1
- package/dist/esm/views/ImageGrid.native.js +155 -71
- package/dist/esm/views/ImageGrid.native.js.map +1 -1
- package/dist/esm/views/Kanban.mjs +52 -30
- package/dist/esm/views/Kanban.mjs.map +1 -1
- package/dist/esm/views/Kanban.native.js +54 -40
- package/dist/esm/views/Kanban.native.js.map +1 -1
- package/dist/esm/views/List.mjs +268 -95
- package/dist/esm/views/List.mjs.map +1 -1
- package/dist/esm/views/List.native.js +280 -104
- package/dist/esm/views/List.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.mjs +533 -166
- package/dist/esm/views/ReportBuilder.mjs.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js +585 -162
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/TreeView.mjs +142 -52
- package/dist/esm/views/TreeView.mjs.map +1 -1
- package/dist/esm/views/TreeView.native.js +170 -55
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/jsx/Accordion/index.mjs +216 -73
- package/dist/jsx/Accordion/index.mjs.map +1 -1
- package/dist/jsx/Accordion/index.native.js +254 -75
- package/dist/jsx/Accordion/index.native.js.map +1 -1
- package/dist/jsx/Alert/index.mjs +206 -58
- package/dist/jsx/Alert/index.mjs.map +1 -1
- package/dist/jsx/Alert/index.native.js +211 -60
- package/dist/jsx/Alert/index.native.js.map +1 -1
- package/dist/jsx/AnimateHeight/index.mjs +140 -0
- package/dist/jsx/AnimateHeight/index.mjs.map +1 -0
- package/dist/jsx/AnimateHeight/index.native.js +176 -0
- package/dist/jsx/AnimateHeight/index.native.js.map +1 -0
- package/dist/jsx/Avatar/getInitials.mjs +32 -1
- package/dist/jsx/Avatar/getInitials.mjs.map +1 -1
- package/dist/jsx/Avatar/getInitials.native.js +34 -0
- package/dist/jsx/Avatar/getInitials.native.js.map +1 -1
- package/dist/jsx/Avatar/index.mjs +249 -68
- package/dist/jsx/Avatar/index.mjs.map +1 -1
- package/dist/jsx/Avatar/index.native.js +252 -68
- package/dist/jsx/Avatar/index.native.js.map +1 -1
- package/dist/jsx/Badge/index.mjs +110 -76
- package/dist/jsx/Badge/index.mjs.map +1 -1
- package/dist/jsx/Badge/index.native.js +110 -76
- package/dist/jsx/Badge/index.native.js.map +1 -1
- package/dist/jsx/Button.mjs +16 -0
- package/dist/jsx/Button.mjs.map +1 -0
- package/dist/jsx/Button.native.js +45 -0
- package/dist/jsx/Button.native.js.map +1 -0
- package/dist/jsx/Carousel/index.mjs +185 -106
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +212 -107
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +356 -2
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +374 -5
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/DotIndicator/index.mjs +130 -14
- package/dist/jsx/DotIndicator/index.mjs.map +1 -1
- package/dist/jsx/DotIndicator/index.native.js +133 -13
- package/dist/jsx/DotIndicator/index.native.js.map +1 -1
- package/dist/jsx/DropdownMenu/index.mjs +112 -46
- package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
- package/dist/jsx/DropdownMenu/index.native.js +113 -46
- package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
- package/dist/jsx/ErrorBoundary/index.mjs +1 -1
- package/dist/jsx/ErrorBoundary/index.native.js +2 -2
- package/dist/jsx/ErrorBoundary/index.native.js.map +1 -1
- package/dist/jsx/Pagination.mjs +41 -12
- package/dist/jsx/Pagination.mjs.map +1 -1
- package/dist/jsx/Pagination.native.js +44 -11
- package/dist/jsx/Pagination.native.js.map +1 -1
- package/dist/jsx/ProgressSteps/index.mjs +165 -109
- package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
- package/dist/jsx/ProgressSteps/index.native.js +171 -115
- package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
- package/dist/jsx/Quote/index.mjs +59 -40
- package/dist/jsx/Quote/index.mjs.map +1 -1
- package/dist/jsx/Quote/index.native.js +69 -45
- package/dist/jsx/Quote/index.native.js.map +1 -1
- package/dist/jsx/SheetModal/index.mjs +144 -7
- package/dist/jsx/SheetModal/index.mjs.map +1 -1
- package/dist/jsx/SheetModal/index.native.js +42 -29
- package/dist/jsx/SheetModal/index.native.js.map +1 -1
- package/dist/jsx/Skeleton/index.mjs +213 -2
- package/dist/jsx/Skeleton/index.mjs.map +1 -1
- package/dist/jsx/Skeleton/index.native.js +223 -4
- package/dist/jsx/Skeleton/index.native.js.map +1 -1
- package/dist/jsx/SkipLink/index.mjs +93 -59
- package/dist/jsx/SkipLink/index.mjs.map +1 -1
- package/dist/jsx/SkipLink/index.native.js +92 -66
- package/dist/jsx/SkipLink/index.native.js.map +1 -1
- package/dist/jsx/Tabs/index.mjs +137 -96
- package/dist/jsx/Tabs/index.mjs.map +1 -1
- package/dist/jsx/Tabs/index.native.js +161 -108
- package/dist/jsx/Tabs/index.native.js.map +1 -1
- package/dist/jsx/Toast/index.mjs +227 -68
- package/dist/jsx/Toast/index.mjs.map +1 -1
- package/dist/jsx/Toast/index.native.js +232 -67
- package/dist/jsx/Toast/index.native.js.map +1 -1
- package/dist/jsx/Toast/store.mjs +75 -11
- package/dist/jsx/Toast/store.mjs.map +1 -1
- package/dist/jsx/Toast/store.native.js +108 -10
- package/dist/jsx/Toast/store.native.js.map +1 -1
- package/dist/jsx/Tooltip/index.mjs +147 -42
- package/dist/jsx/Tooltip/index.mjs.map +1 -1
- package/dist/jsx/Tooltip/index.native.js +195 -43
- package/dist/jsx/Tooltip/index.native.js.map +1 -1
- package/dist/jsx/Video/PlayerChrome.mjs +377 -0
- package/dist/jsx/Video/PlayerChrome.mjs.map +1 -0
- package/dist/jsx/Video/PlayerChrome.native.js +436 -0
- package/dist/jsx/Video/PlayerChrome.native.js.map +1 -0
- package/dist/jsx/Video/VideoFrame.mjs +14 -5
- package/dist/jsx/Video/VideoFrame.mjs.map +1 -1
- package/dist/jsx/Video/VideoFrame.native.js +16 -5
- package/dist/jsx/Video/VideoFrame.native.js.map +1 -1
- package/dist/jsx/Video/index.mjs +227 -11
- package/dist/jsx/Video/index.mjs.map +1 -1
- package/dist/jsx/Video/index.native.js +28 -13
- package/dist/jsx/Video/index.native.js.map +1 -1
- package/dist/jsx/Wheel/index.mjs +143 -92
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +149 -96
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/actions/DestructiveAction.mjs +1 -1
- package/dist/jsx/actions/DestructiveAction.native.js +2 -2
- package/dist/jsx/actions/DestructiveAction.native.js.map +1 -1
- package/dist/jsx/charts/BarChart.mjs +8 -4
- package/dist/jsx/charts/BarChart.mjs.map +1 -1
- package/dist/jsx/charts/BarChart.native.js +9 -5
- package/dist/jsx/charts/BarChart.native.js.map +1 -1
- package/dist/jsx/charts/LineChart.mjs +1 -1
- package/dist/jsx/charts/LineChart.native.js +2 -2
- package/dist/jsx/charts/LineChart.native.js.map +1 -1
- package/dist/jsx/charts/PieChart.mjs +1 -1
- package/dist/jsx/charts/PieChart.native.js +2 -2
- package/dist/jsx/charts/PieChart.native.js.map +1 -1
- package/dist/jsx/charts/Sparkline.mjs +1 -1
- package/dist/jsx/charts/Sparkline.native.js +2 -2
- package/dist/jsx/charts/Sparkline.native.js.map +1 -1
- package/dist/jsx/charts/index.mjs +2 -1
- package/dist/jsx/charts/index.mjs.map +1 -1
- package/dist/jsx/charts/index.native.js +4 -0
- package/dist/jsx/charts/index.native.js.map +1 -1
- package/dist/jsx/code/CodeBlock/index.mjs +34 -7
- package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
- package/dist/jsx/code/CodeBlock/index.native.js +36 -9
- package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.mjs +93 -6
- package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -1
- package/dist/jsx/feedback/ConfirmDialog.native.js +123 -5
- package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/jsx/feedback/NotifyHost.mjs +1 -1
- package/dist/jsx/feedback/NotifyHost.native.js +2 -2
- package/dist/jsx/feedback/NotifyHost.native.js.map +1 -1
- package/dist/jsx/icons/themed.mjs +5 -2
- package/dist/jsx/icons/themed.mjs.map +1 -1
- package/dist/jsx/icons/themed.native.js +4 -1
- package/dist/jsx/icons/themed.native.js.map +1 -1
- package/dist/jsx/images/Image/ImageFrame.mjs +216 -0
- package/dist/jsx/images/Image/ImageFrame.mjs.map +1 -0
- package/dist/jsx/images/Image/ImageFrame.native.js +248 -0
- package/dist/jsx/images/Image/ImageFrame.native.js.map +1 -0
- package/dist/jsx/images/Image/index.mjs +94 -41
- package/dist/jsx/images/Image/index.mjs.map +1 -1
- package/dist/jsx/images/Image/index.native.js +146 -108
- package/dist/jsx/images/Image/index.native.js.map +1 -1
- package/dist/jsx/images/Image/shared.mjs +76 -0
- package/dist/jsx/images/Image/shared.mjs.map +1 -0
- package/dist/jsx/images/Image/shared.native.js +109 -0
- package/dist/jsx/images/Image/shared.native.js.map +1 -0
- package/dist/jsx/index.js +4 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +4 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +7 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/knobImmuneExports.mjs +70 -0
- package/dist/jsx/knobImmuneExports.mjs.map +1 -0
- package/dist/jsx/knobImmuneExports.native.js +98 -0
- package/dist/jsx/knobImmuneExports.native.js.map +1 -0
- package/dist/jsx/layouts/AsyncBoundary.mjs +165 -38
- package/dist/jsx/layouts/AsyncBoundary.mjs.map +1 -1
- package/dist/jsx/layouts/AsyncBoundary.native.js +166 -37
- package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/jsx/layouts/EmptyState.mjs +132 -0
- package/dist/jsx/layouts/EmptyState.mjs.map +1 -0
- package/dist/jsx/layouts/EmptyState.native.js +165 -0
- package/dist/jsx/layouts/EmptyState.native.js.map +1 -0
- package/dist/jsx/layouts/PageTemplates.mjs +13 -5
- package/dist/jsx/layouts/PageTemplates.mjs.map +1 -1
- package/dist/jsx/layouts/PageTemplates.native.js +13 -5
- package/dist/jsx/layouts/PageTemplates.native.js.map +1 -1
- package/dist/jsx/layouts/PaneScaffold.mjs +277 -17
- package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
- package/dist/jsx/layouts/PaneScaffold.native.js +294 -13
- package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.mjs +66 -24
- package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
- package/dist/jsx/layouts/ViewSwitcher.native.js +78 -30
- package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/jsx/layouts/attachments.mjs +351 -175
- package/dist/jsx/layouts/attachments.mjs.map +1 -1
- package/dist/jsx/layouts/attachments.native.js +370 -186
- package/dist/jsx/layouts/attachments.native.js.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.mjs +163 -53
- package/dist/jsx/layouts/breadcrumbs.mjs.map +1 -1
- package/dist/jsx/layouts/breadcrumbs.native.js +184 -65
- package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +72 -112
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +82 -130
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/pageHeadingScope.mjs +8 -3
- package/dist/jsx/layouts/pageHeadingScope.mjs.map +1 -1
- package/dist/jsx/layouts/pageHeadingScope.native.js +10 -2
- package/dist/jsx/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/jsx/layouts/sidebar.mjs +152 -68
- package/dist/jsx/layouts/sidebar.mjs.map +1 -1
- package/dist/jsx/layouts/sidebar.native.js +118 -47
- package/dist/jsx/layouts/sidebar.native.js.map +1 -1
- package/dist/jsx/layouts/tags.mjs +323 -140
- package/dist/jsx/layouts/tags.mjs.map +1 -1
- package/dist/jsx/layouts/tags.native.js +355 -158
- package/dist/jsx/layouts/tags.native.js.map +1 -1
- package/dist/jsx/layouts/timeline.mjs +129 -45
- package/dist/jsx/layouts/timeline.mjs.map +1 -1
- package/dist/jsx/layouts/timeline.native.js +179 -55
- package/dist/jsx/layouts/timeline.native.js.map +1 -1
- package/dist/jsx/layouts/toolbar.mjs +57 -21
- package/dist/jsx/layouts/toolbar.mjs.map +1 -1
- package/dist/jsx/layouts/toolbar.native.js +62 -25
- package/dist/jsx/layouts/toolbar.native.js.map +1 -1
- package/dist/jsx/shared/i18n.mjs +10 -0
- package/dist/jsx/shared/i18n.mjs.map +1 -0
- package/dist/jsx/shared/i18n.native.js +52 -0
- package/dist/jsx/shared/i18n.native.js.map +1 -0
- package/dist/jsx/shared/textRidesText.mjs +31 -0
- package/dist/jsx/shared/textRidesText.mjs.map +1 -0
- package/dist/jsx/shared/textRidesText.native.js +81 -0
- package/dist/jsx/shared/textRidesText.native.js.map +1 -0
- package/dist/jsx/shared/useReturnFocusOnClose.mjs +7 -1
- package/dist/jsx/shared/useReturnFocusOnClose.mjs.map +1 -1
- package/dist/jsx/shared/useReturnFocusOnClose.native.js +7 -1
- package/dist/jsx/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/jsx/surfaces.mjs +94 -17
- package/dist/jsx/surfaces.mjs.map +1 -1
- package/dist/jsx/surfaces.native.js +95 -16
- package/dist/jsx/surfaces.native.js.map +1 -1
- package/dist/jsx/tamagui.mjs +2 -3
- package/dist/jsx/tamagui.mjs.map +1 -1
- package/dist/jsx/tamagui.native.js +37 -38
- package/dist/jsx/tamagui.native.js.map +1 -1
- package/dist/jsx/views/Calendar.mjs +101 -64
- package/dist/jsx/views/Calendar.mjs.map +1 -1
- package/dist/jsx/views/Calendar.native.js +105 -70
- package/dist/jsx/views/Calendar.native.js.map +1 -1
- package/dist/jsx/views/Dashboard.mjs +396 -107
- package/dist/jsx/views/Dashboard.mjs.map +1 -1
- package/dist/jsx/views/Dashboard.native.js +408 -110
- package/dist/jsx/views/Dashboard.native.js.map +1 -1
- package/dist/jsx/views/Gantt.mjs +256 -59
- package/dist/jsx/views/Gantt.mjs.map +1 -1
- package/dist/jsx/views/Gantt.native.js +264 -39
- package/dist/jsx/views/Gantt.native.js.map +1 -1
- package/dist/jsx/views/ImageGrid.mjs +138 -73
- package/dist/jsx/views/ImageGrid.mjs.map +1 -1
- package/dist/jsx/views/ImageGrid.native.js +155 -71
- package/dist/jsx/views/ImageGrid.native.js.map +1 -1
- package/dist/jsx/views/Kanban.mjs +52 -30
- package/dist/jsx/views/Kanban.mjs.map +1 -1
- package/dist/jsx/views/Kanban.native.js +55 -41
- package/dist/jsx/views/Kanban.native.js.map +1 -1
- package/dist/jsx/views/List.mjs +268 -95
- package/dist/jsx/views/List.mjs.map +1 -1
- package/dist/jsx/views/List.native.js +280 -101
- package/dist/jsx/views/List.native.js.map +1 -1
- package/dist/jsx/views/ReportBuilder.mjs +533 -166
- package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
- package/dist/jsx/views/ReportBuilder.native.js +592 -169
- package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
- package/dist/jsx/views/TreeView.mjs +142 -52
- package/dist/jsx/views/TreeView.mjs.map +1 -1
- package/dist/jsx/views/TreeView.native.js +170 -55
- package/dist/jsx/views/TreeView.native.js.map +1 -1
- package/package.json +19 -19
- package/src/Accordion/Accordion.lc50.spec.tsx +69 -0
- package/src/Accordion/Accordion.spec.tsx +36 -0
- package/src/Accordion/Accordion.stories.tsx +82 -36
- package/src/Accordion/index.tsx +296 -75
- package/src/Alert/Alert.spec.tsx +137 -1
- package/src/Alert/Alert.stories.tsx +10 -11
- package/src/Alert/index.tsx +244 -62
- package/src/AnimateHeight/AnimateHeight.spec.tsx +152 -0
- package/src/AnimateHeight/index.tsx +237 -0
- package/src/Avatar/Avatar.spec.tsx +73 -2
- package/src/Avatar/Avatar.stories.tsx +106 -4
- package/src/Avatar/getInitials.ts +29 -0
- package/src/Avatar/index.tsx +323 -105
- package/src/Badge/Badge.spec.tsx +83 -0
- package/src/Badge/Badge.stories.tsx +15 -1
- package/src/Badge/index.tsx +138 -84
- package/src/Button.spec.tsx +181 -0
- package/src/Button.stories.tsx +92 -0
- package/src/Button.tsx +43 -0
- package/src/Carousel/Carousel.spec.tsx +152 -0
- package/src/Carousel/index.tsx +239 -102
- package/src/Chip/Chip.spec.tsx +141 -0
- package/src/Chip/Chip.stories.tsx +163 -10
- package/src/Chip/index.tsx +452 -11
- package/src/DialogContent.stories.tsx +8 -6
- package/src/DotIndicator/DotIndicator.stories.tsx +18 -0
- package/src/DotIndicator/dotIndicator.spec.tsx +57 -2
- package/src/DotIndicator/index.tsx +159 -24
- package/src/DropdownMenu/DropdownMenu.spec.tsx +172 -0
- package/src/DropdownMenu/DropdownMenu.stories.tsx +35 -0
- package/src/DropdownMenu/index.tsx +172 -46
- package/src/ErrorBoundary/index.tsx +1 -1
- package/src/Pagination.api.spec.tsx +41 -0
- package/src/Pagination.tsx +49 -8
- package/src/PopoverContent.stories.tsx +4 -2
- package/src/ProgressSteps/ProgressSteps.spec.tsx +48 -1
- package/src/ProgressSteps/ProgressSteps.stories.tsx +48 -0
- package/src/ProgressSteps/index.tsx +224 -133
- package/src/Quote/Quote.lc50.spec.tsx +53 -0
- package/src/Quote/Quote.spec.tsx +9 -2
- package/src/Quote/Quote.stories.tsx +1 -1
- package/src/Quote/index.tsx +77 -60
- package/src/SheetModal/index.native.tsx +41 -39
- package/src/SheetModal/index.tsx +149 -18
- package/src/Skeleton/Skeleton.stories.tsx +109 -93
- package/src/Skeleton/SkeletonText.stories.tsx +11 -0
- package/src/Skeleton/index.tsx +257 -8
- package/src/SkipLink/SkipLink.spec.tsx +35 -0
- package/src/SkipLink/SkipLink.stories.tsx +1 -1
- package/src/SkipLink/index.tsx +120 -71
- package/src/Tabs/Tabs.spec.tsx +65 -0
- package/src/Tabs/Tabs.stories.tsx +32 -0
- package/src/Tabs/index.tsx +188 -133
- package/src/Toast/Toast.spec.tsx +208 -8
- package/src/Toast/Toast.stories.tsx +97 -16
- package/src/Toast/index.tsx +322 -78
- package/src/Toast/store.ts +150 -16
- package/src/Tooltip/Tooltip.lc50.spec.tsx +52 -0
- package/src/Tooltip/Tooltip.spec.tsx +99 -0
- package/src/Tooltip/Tooltip.stories.tsx +23 -0
- package/src/Tooltip/index.tsx +200 -44
- package/src/Video/PlayerChrome.tsx +412 -0
- package/src/Video/Video.spec.tsx +47 -4
- package/src/Video/Video.stories.tsx +2 -1
- package/src/Video/VideoFrame.tsx +15 -3
- package/src/Video/index.native.tsx +20 -12
- package/src/Video/index.tsx +285 -21
- package/src/Video/types.ts +7 -1
- package/src/Wheel/Wheel.spec.tsx +217 -2
- package/src/Wheel/Wheel.stories.tsx +39 -13
- package/src/Wheel/index.tsx +205 -134
- package/src/actions/DestructiveAction.tsx +1 -1
- package/src/charts/BarChart.tsx +14 -3
- package/src/charts/LineChart.tsx +1 -1
- package/src/charts/PieChart.tsx +1 -1
- package/src/charts/Sparkline.tsx +1 -1
- package/src/charts/charts.spec.tsx +25 -0
- package/src/charts/index.ts +9 -0
- package/src/code/CodeBlock/index.tsx +43 -7
- package/src/export-surface.spec.tsx +137 -0
- package/src/feedback/ConfirmDialog.spec.tsx +36 -0
- package/src/feedback/ConfirmDialog.stories.tsx +20 -1
- package/src/feedback/ConfirmDialog.tsx +121 -9
- package/src/feedback/NotifyHost.tsx +1 -1
- package/src/icons/themed.tsx +7 -2
- package/src/images/Image/Image.spec.tsx +136 -73
- package/src/images/Image/Image.stories.tsx +113 -9
- package/src/images/Image/ImageFrame.tsx +288 -0
- package/src/images/Image/index.native.tsx +177 -144
- package/src/images/Image/index.tsx +103 -51
- package/src/images/Image/shared.ts +88 -0
- package/src/images/Image/types.ts +32 -1
- package/src/index.ts +18 -0
- package/src/knobImmuneExports.ts +97 -0
- package/src/layouts/AsyncBoundary.spec.tsx +77 -0
- package/src/layouts/AsyncBoundary.stories.tsx +33 -1
- package/src/layouts/AsyncBoundary.tsx +183 -46
- package/src/layouts/Attachments.stories.tsx +28 -14
- package/src/layouts/Breadcrumbs.stories.tsx +22 -1
- package/src/layouts/EmptyState.stories.tsx +94 -26
- package/src/layouts/EmptyState.tsx +169 -0
- package/src/layouts/PageHeader.stories.tsx +68 -15
- package/src/layouts/PageTemplates.tsx +11 -6
- package/src/layouts/PaneScaffold.stories.tsx +132 -37
- package/src/layouts/PaneScaffold.tsx +354 -18
- package/src/layouts/ScreenToolbar.stories.tsx +36 -11
- package/src/layouts/Sidebar.stories.tsx +30 -7
- package/src/layouts/Tags.stories.tsx +31 -32
- package/src/layouts/Timeline.stories.tsx +2 -2
- package/src/layouts/Toolbar.stories.tsx +19 -0
- package/src/layouts/ViewSwitcher.stories.tsx +11 -3
- package/src/layouts/ViewSwitcher.tsx +101 -48
- package/src/layouts/attachments.tsx +394 -186
- package/src/layouts/breadcrumbs.tsx +213 -75
- package/src/layouts/layouts.spec.tsx +32 -0
- package/src/layouts/page.tsx +103 -164
- package/src/layouts/pageHeadingScope.tsx +28 -2
- package/src/layouts/sidebar.tsx +184 -91
- package/src/layouts/tags-trigger.spec.tsx +8 -8
- package/src/layouts/tags.tsx +356 -159
- package/src/layouts/timeline-comments.spec.tsx +17 -0
- package/src/layouts/timeline.tsx +179 -65
- package/src/layouts/toolbar.tsx +78 -27
- package/src/shared/i18n.ts +26 -0
- package/src/shared/textRidesText.ts +57 -0
- package/src/shared/useReturnFocusOnClose.ts +7 -1
- package/src/surfaces.tsx +83 -22
- package/src/tamagui.spec.ts +19 -4
- package/src/tamagui.ts +14 -6
- package/src/views/Calendar.stories.tsx +2 -1
- package/src/views/Calendar.tsx +129 -81
- package/src/views/Dashboard.stories.tsx +132 -1
- package/src/views/Dashboard.tsx +440 -127
- package/src/views/Gantt.stories.tsx +6 -5
- package/src/views/Gantt.tsx +330 -61
- package/src/views/ImageGrid.stories.tsx +81 -17
- package/src/views/ImageGrid.tsx +176 -96
- package/src/views/Kanban.native.tsx +73 -42
- package/src/views/Kanban.stories.tsx +42 -26
- package/src/views/Kanban.tsx +68 -40
- package/src/views/List.stories.tsx +107 -29
- package/src/views/List.tsx +335 -109
- package/src/views/ReportBuilder.stories.tsx +28 -1
- package/src/views/ReportBuilder.tsx +647 -275
- package/src/views/TreeView.stories.tsx +19 -0
- package/src/views/TreeView.tsx +194 -59
- package/types/Accordion/index.d.ts +10 -2
- package/types/Accordion/index.d.ts.map +1 -1
- package/types/Alert/index.d.ts +8 -2
- package/types/Alert/index.d.ts.map +1 -1
- package/types/AnimateHeight/index.d.ts +48 -0
- package/types/AnimateHeight/index.d.ts.map +1 -0
- package/types/Avatar/getInitials.d.ts +26 -0
- package/types/Avatar/getInitials.d.ts.map +1 -1
- package/types/Avatar/index.d.ts +34 -11
- package/types/Avatar/index.d.ts.map +1 -1
- package/types/Badge/index.d.ts +17 -12
- package/types/Badge/index.d.ts.map +1 -1
- package/types/Button.d.ts +42 -0
- package/types/Button.d.ts.map +1 -0
- package/types/Carousel/index.d.ts.map +1 -1
- package/types/Chip/index.d.ts +41 -1
- package/types/Chip/index.d.ts.map +1 -1
- package/types/DotIndicator/index.d.ts +4 -3
- package/types/DotIndicator/index.d.ts.map +1 -1
- package/types/DropdownMenu/index.d.ts +39 -5
- package/types/DropdownMenu/index.d.ts.map +1 -1
- package/types/ErrorBoundary/index.d.ts +1 -1
- package/types/Pagination.d.ts.map +1 -1
- package/types/ProgressSteps/index.d.ts +20 -5
- package/types/ProgressSteps/index.d.ts.map +1 -1
- package/types/Quote/index.d.ts +4 -3
- package/types/Quote/index.d.ts.map +1 -1
- package/types/SheetModal/index.d.ts +7 -10
- package/types/SheetModal/index.d.ts.map +1 -1
- package/types/SheetModal/index.native.d.ts +6 -13
- package/types/SheetModal/index.native.d.ts.map +1 -1
- package/types/Skeleton/index.d.ts +40 -1
- package/types/Skeleton/index.d.ts.map +1 -1
- package/types/SkipLink/index.d.ts +5 -6
- package/types/SkipLink/index.d.ts.map +1 -1
- package/types/Tabs/index.d.ts +12 -10
- package/types/Tabs/index.d.ts.map +1 -1
- package/types/Toast/index.d.ts +32 -9
- package/types/Toast/index.d.ts.map +1 -1
- package/types/Toast/store.d.ts +59 -4
- package/types/Toast/store.d.ts.map +1 -1
- package/types/Tooltip/index.d.ts +50 -5
- package/types/Tooltip/index.d.ts.map +1 -1
- package/types/Video/PlayerChrome.d.ts +24 -0
- package/types/Video/PlayerChrome.d.ts.map +1 -0
- package/types/Video/VideoFrame.d.ts.map +1 -1
- package/types/Video/index.d.ts +3 -2
- package/types/Video/index.d.ts.map +1 -1
- package/types/Video/index.native.d.ts +3 -2
- package/types/Video/index.native.d.ts.map +1 -1
- package/types/Video/types.d.ts +7 -1
- package/types/Video/types.d.ts.map +1 -1
- package/types/Wheel/index.d.ts +10 -1
- package/types/Wheel/index.d.ts.map +1 -1
- package/types/charts/BarChart.d.ts +7 -1
- package/types/charts/BarChart.d.ts.map +1 -1
- package/types/charts/index.d.ts +1 -0
- package/types/charts/index.d.ts.map +1 -1
- package/types/code/CodeBlock/index.d.ts.map +1 -1
- package/types/feedback/ConfirmDialog.d.ts +6 -0
- package/types/feedback/ConfirmDialog.d.ts.map +1 -1
- package/types/icons/themed.d.ts.map +1 -1
- package/types/images/Image/ImageFrame.d.ts +40 -0
- package/types/images/Image/ImageFrame.d.ts.map +1 -0
- package/types/images/Image/index.d.ts +1 -1
- package/types/images/Image/index.d.ts.map +1 -1
- package/types/images/Image/index.native.d.ts +1 -1
- package/types/images/Image/index.native.d.ts.map +1 -1
- package/types/images/Image/shared.d.ts +13 -0
- package/types/images/Image/shared.d.ts.map +1 -0
- package/types/images/Image/types.d.ts +27 -1
- package/types/images/Image/types.d.ts.map +1 -1
- package/types/index.d.ts +6 -0
- package/types/index.d.ts.map +1 -1
- package/types/knobImmuneExports.d.ts +21 -0
- package/types/knobImmuneExports.d.ts.map +1 -0
- package/types/layouts/AsyncBoundary.d.ts +20 -2
- package/types/layouts/AsyncBoundary.d.ts.map +1 -1
- package/types/layouts/EmptyState.d.ts +26 -0
- package/types/layouts/EmptyState.d.ts.map +1 -0
- package/types/layouts/PageTemplates.d.ts +5 -3
- package/types/layouts/PageTemplates.d.ts.map +1 -1
- package/types/layouts/PaneScaffold.d.ts +27 -5
- package/types/layouts/PaneScaffold.d.ts.map +1 -1
- package/types/layouts/ViewSwitcher.d.ts +7 -4
- package/types/layouts/ViewSwitcher.d.ts.map +1 -1
- package/types/layouts/attachments.d.ts +4 -2
- package/types/layouts/attachments.d.ts.map +1 -1
- package/types/layouts/breadcrumbs.d.ts +13 -5
- package/types/layouts/breadcrumbs.d.ts.map +1 -1
- package/types/layouts/page.d.ts +16 -27
- package/types/layouts/page.d.ts.map +1 -1
- package/types/layouts/pageHeadingScope.d.ts +14 -1
- package/types/layouts/pageHeadingScope.d.ts.map +1 -1
- package/types/layouts/sidebar.d.ts +3 -1
- package/types/layouts/sidebar.d.ts.map +1 -1
- package/types/layouts/tags.d.ts +4 -1
- package/types/layouts/tags.d.ts.map +1 -1
- package/types/layouts/timeline.d.ts +7 -5
- package/types/layouts/timeline.d.ts.map +1 -1
- package/types/layouts/toolbar.d.ts +1 -1
- package/types/layouts/toolbar.d.ts.map +1 -1
- package/types/shared/i18n.d.ts +14 -0
- package/types/shared/i18n.d.ts.map +1 -0
- package/types/shared/textRidesText.d.ts +20 -0
- package/types/shared/textRidesText.d.ts.map +1 -0
- package/types/shared/useReturnFocusOnClose.d.ts.map +1 -1
- package/types/surfaces.d.ts +0 -14
- package/types/surfaces.d.ts.map +1 -1
- package/types/tamagui.d.ts +2 -3
- package/types/tamagui.d.ts.map +1 -1
- package/types/views/Calendar.d.ts.map +1 -1
- package/types/views/Dashboard.d.ts +68 -6
- package/types/views/Dashboard.d.ts.map +1 -1
- package/types/views/Gantt.d.ts +5 -0
- package/types/views/Gantt.d.ts.map +1 -1
- package/types/views/ImageGrid.d.ts +4 -0
- package/types/views/ImageGrid.d.ts.map +1 -1
- package/types/views/Kanban.d.ts.map +1 -1
- package/types/views/Kanban.native.d.ts +12 -1
- package/types/views/Kanban.native.d.ts.map +1 -1
- package/types/views/List.d.ts +45 -6
- package/types/views/List.d.ts.map +1 -1
- package/types/views/ReportBuilder.d.ts +8 -54
- package/types/views/ReportBuilder.d.ts.map +1 -1
- package/types/views/TreeView.d.ts +13 -11
- package/types/views/TreeView.d.ts.map +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { MIN_PRESS_TARGET, radiusClassProps, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
|
+
import { FOCUS_VISIBLE_RING, MIN_PRESS_TARGET, ensureKeyboardModalityTracking, radiusClassProps, useResolvedKnobs, wasKeyboardFocus } from "@multiplatform.one/theme";
|
|
3
3
|
import { CheckIcon } from "@phosphor-icons/react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useRef, useState } from "react";
|
|
5
|
+
import { useTranslation } from "../shared/i18n.native.js";
|
|
6
|
+
import { View, XStack, getTokens, isWeb, styled } from "tamagui";
|
|
6
7
|
import { componentColors } from "../componentColors.native.js";
|
|
7
8
|
import { withInterp } from "../shared/t.native.js";
|
|
8
9
|
var dotGapMap = {
|
|
@@ -28,6 +29,7 @@ var dotGeometryMap = {
|
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
31
|
var CHECK_MIN_DOT = 8;
|
|
32
|
+
var WINDOW = 5;
|
|
31
33
|
function sizePx(value, fallback) {
|
|
32
34
|
if (typeof value === "number") return value;
|
|
33
35
|
if (typeof value === "string") {
|
|
@@ -37,11 +39,53 @@ function sizePx(value, fallback) {
|
|
|
37
39
|
}
|
|
38
40
|
return fallback;
|
|
39
41
|
}
|
|
42
|
+
function idleMarkWidth(variant, itemSize, activeSize) {
|
|
43
|
+
if (variant === "pills") return Math.round(itemSize * 2.25);
|
|
44
|
+
if (variant === "bars") return Math.max(itemSize, Math.round(activeSize * 0.55));
|
|
45
|
+
return itemSize;
|
|
46
|
+
}
|
|
47
|
+
function activeMarkWidth(variant, itemSize, geometryActive) {
|
|
48
|
+
if (variant === "dots") return Math.round(itemSize * 2);
|
|
49
|
+
if (variant === "pills") return Math.round(itemSize * 3);
|
|
50
|
+
return geometryActive;
|
|
51
|
+
}
|
|
52
|
+
function windowRange(active, total) {
|
|
53
|
+
if (total <= WINDOW) return [0, Math.max(0, total - 1)];
|
|
54
|
+
var half = Math.floor(WINDOW / 2);
|
|
55
|
+
var start = active - half;
|
|
56
|
+
var end = active + half;
|
|
57
|
+
if (start < 0) {
|
|
58
|
+
end -= start;
|
|
59
|
+
start = 0;
|
|
60
|
+
}
|
|
61
|
+
if (end > total - 1) {
|
|
62
|
+
start -= end - (total - 1);
|
|
63
|
+
end = total - 1;
|
|
64
|
+
}
|
|
65
|
+
return [Math.max(0, start), end];
|
|
66
|
+
}
|
|
67
|
+
function windowScale(index, active, start, end, total) {
|
|
68
|
+
if (total <= WINDOW) return 1;
|
|
69
|
+
if (index < start || index > end) return 0;
|
|
70
|
+
var dist = Math.abs(index - active);
|
|
71
|
+
if (dist === 0) return 1;
|
|
72
|
+
if (dist === 1) return 0.72;
|
|
73
|
+
return 0.48;
|
|
74
|
+
}
|
|
75
|
+
function isRtl(node) {
|
|
76
|
+
var _node_closest;
|
|
77
|
+
if (typeof document === "undefined") return false;
|
|
78
|
+
var fromNode = node === null || node === void 0 ? void 0 : (_node_closest = node.closest("[dir]")) === null || _node_closest === void 0 ? void 0 : _node_closest.getAttribute("dir");
|
|
79
|
+
var dir = fromNode || document.documentElement.dir;
|
|
80
|
+
return dir === "rtl";
|
|
81
|
+
}
|
|
40
82
|
var DotsContainer = styled(XStack, {
|
|
41
83
|
name: "DotIndicator",
|
|
42
84
|
alignItems: "center",
|
|
43
85
|
justifyContent: "center",
|
|
44
86
|
gap: "$2",
|
|
87
|
+
// Outer +2px LC-71 ring on the painted mark must not clip at the strip edge.
|
|
88
|
+
overflow: "visible",
|
|
45
89
|
variants: {
|
|
46
90
|
// A rail seats the strip on a filled capsule instead of the page. It is a
|
|
47
91
|
// variant of the strip rather than host chrome because the rail and the
|
|
@@ -64,11 +108,20 @@ var DotTarget = styled(View, {
|
|
|
64
108
|
alignItems: "center",
|
|
65
109
|
justifyContent: "center",
|
|
66
110
|
backgroundColor: "transparent",
|
|
111
|
+
overflow: "visible",
|
|
112
|
+
borderRadius: 1e3,
|
|
113
|
+
// LC-71: the 44px hit box is not the perceived control (Chip ✕ rule). Rest,
|
|
114
|
+
// mouse-focus, and :focus-visible paint no ring here — the ring rides the
|
|
115
|
+
// painted mark via FOCUS_VISIBLE_RING when wasKeyboardFocus().
|
|
116
|
+
outlineWidth: 0,
|
|
117
|
+
outlineStyle: "none",
|
|
118
|
+
focusStyle: {
|
|
119
|
+
outlineWidth: 0,
|
|
120
|
+
outlineStyle: "none"
|
|
121
|
+
},
|
|
67
122
|
focusVisibleStyle: {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
outlineStyle: "solid",
|
|
71
|
-
outlineOffset: 1
|
|
123
|
+
outlineWidth: 0,
|
|
124
|
+
outlineStyle: "none"
|
|
72
125
|
}
|
|
73
126
|
});
|
|
74
127
|
var Dot = styled(View, {
|
|
@@ -129,11 +182,15 @@ function DotIndicator(param) {
|
|
|
129
182
|
var {
|
|
130
183
|
knobProps
|
|
131
184
|
} = useResolvedKnobs();
|
|
185
|
+
var rootRef = useRef(null);
|
|
186
|
+
var [kbFocusIndex, setKbFocusIndex] = useState(null);
|
|
187
|
+
if (isWeb) ensureKeyboardModalityTracking();
|
|
132
188
|
var gap = (_ref = gapProp !== null && gapProp !== void 0 ? gapProp : dotGapMap[knobProps.space]) !== null && _ref !== void 0 ? _ref : "$2";
|
|
133
189
|
var geometry = (_dotGeometryMap_knobProps_sizeToken = dotGeometryMap[knobProps.sizeToken]) !== null && _dotGeometryMap_knobProps_sizeToken !== void 0 ? _dotGeometryMap_knobProps_sizeToken : dotGeometryMap.$4;
|
|
134
190
|
var isTick = variant === "bars";
|
|
135
191
|
var itemSize = sizePx(dotSize, isTick ? geometry.bar : geometry.dot);
|
|
136
|
-
var activeSize = sizePx(activeDotSize, geometry.active);
|
|
192
|
+
var activeSize = sizePx(activeDotSize, activeMarkWidth(variant, itemSize, geometry.active));
|
|
193
|
+
var idleWidth = idleMarkWidth(variant, itemSize, activeSize);
|
|
137
194
|
var gapPx = typeof gap === "number" ? gap : (_ref1 = (_getTokens_space = getTokens().space) === null || _getTokens_space === void 0 ? void 0 : (_getTokens_space_gap = _getTokens_space[gap]) === null || _getTokens_space_gap === void 0 ? void 0 : _getTokens_space_gap.val) !== null && _ref1 !== void 0 ? _ref1 : 7;
|
|
138
195
|
var slopX = Math.max(0, Math.floor((gapPx - 1) / 2));
|
|
139
196
|
var outsetY = Math.max(0, Math.ceil((MIN_PRESS_TARGET - itemSize) / 2));
|
|
@@ -141,12 +198,31 @@ function DotIndicator(param) {
|
|
|
141
198
|
var isStep = idiom === "step";
|
|
142
199
|
var label = isStep ? t("Go to step {{number}}") : t("Go to item {{number}}");
|
|
143
200
|
var currentValue = isStep ? "step" : "true";
|
|
144
|
-
var
|
|
145
|
-
|
|
201
|
+
var motion = knobProps.transition ? transition !== null && transition !== void 0 ? transition : knobProps.transition : void 0;
|
|
202
|
+
var motionStyle = motion ? {
|
|
203
|
+
transition: "width var(--mp-transition, 200ms) ease, height var(--mp-transition, 200ms) ease, background-color var(--mp-transition, 200ms) ease, transform var(--mp-transition, 200ms) ease"
|
|
146
204
|
} : void 0;
|
|
205
|
+
var clampedActive = Math.min(Math.max(0, activeIndex), Math.max(0, total - 1));
|
|
206
|
+
var [winStart, winEnd] = windowRange(clampedActive, total);
|
|
207
|
+
var focusMark = function focusMark2(index) {
|
|
208
|
+
requestAnimationFrame(function () {
|
|
209
|
+
var _rootRef_current_querySelector, _rootRef_current, _el_focus;
|
|
210
|
+
var el = (_rootRef_current = rootRef.current) === null || _rootRef_current === void 0 ? void 0 : (_rootRef_current_querySelector = _rootRef_current.querySelector) === null || _rootRef_current_querySelector === void 0 ? void 0 : _rootRef_current_querySelector.call(_rootRef_current, `[data-dot-index="${index}"]`);
|
|
211
|
+
el === null || el === void 0 ? void 0 : (_el_focus = el.focus) === null || _el_focus === void 0 ? void 0 : _el_focus.call(el);
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
var moveTo = function moveTo2(index) {
|
|
215
|
+
var next = Math.min(Math.max(0, index), total - 1);
|
|
216
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(next);
|
|
217
|
+
focusMark(next);
|
|
218
|
+
};
|
|
147
219
|
return /* @__PURE__ */_jsx(DotsContainer, {
|
|
220
|
+
ref: rootRef,
|
|
148
221
|
gap,
|
|
149
222
|
rail,
|
|
223
|
+
...(interactive ? {
|
|
224
|
+
role: "group"
|
|
225
|
+
} : void 0),
|
|
150
226
|
...(rail ? {
|
|
151
227
|
paddingHorizontal: knobProps.panelPadding.padding,
|
|
152
228
|
height: knobProps.sizeToken
|
|
@@ -156,16 +232,23 @@ function DotIndicator(param) {
|
|
|
156
232
|
}).map(function (_, index) {
|
|
157
233
|
var isActive = index === activeIndex;
|
|
158
234
|
var isCompleted = !isActive && !!(completedSteps === null || completedSteps === void 0 ? void 0 : completedSteps.has(index));
|
|
159
|
-
var
|
|
235
|
+
var scale = windowScale(index, clampedActive, winStart, winEnd, total);
|
|
236
|
+
var hidden = scale === 0;
|
|
237
|
+
var baseWidth = isActive ? activeSize : idleWidth;
|
|
238
|
+
var dotWidth = Math.max(1, Math.round(baseWidth * scale));
|
|
239
|
+
var dotHeight = Math.max(1, Math.round(itemSize * scale));
|
|
160
240
|
var restingFill = isCompleted ? componentColors.indicator.completed : rail ?
|
|
161
241
|
// Idle chrome steps up the ramp on a rail so the dot still
|
|
162
242
|
// separates from the capsule fill it sits on.
|
|
163
243
|
componentColors.indicator.track : componentColors.indicator.inactive;
|
|
244
|
+
var kbRing = kbFocusIndex === index;
|
|
164
245
|
return /* @__PURE__ */_jsx(DotTarget, {
|
|
246
|
+
display: hidden ? "none" : "flex",
|
|
165
247
|
width: dotWidth + slopX * 2,
|
|
166
248
|
minHeight: MIN_PRESS_TARGET,
|
|
167
249
|
marginHorizontal: -slopX,
|
|
168
250
|
marginVertical: -outsetY,
|
|
251
|
+
zIndex: kbRing ? 1 : void 0,
|
|
169
252
|
cursor: interactive ? "pointer" : disabled ? "not-allowed" : "default",
|
|
170
253
|
onPress: interactive ? function () {
|
|
171
254
|
return onChange === null || onChange === void 0 ? void 0 : onChange(index);
|
|
@@ -173,16 +256,45 @@ function DotIndicator(param) {
|
|
|
173
256
|
"aria-label": withInterp(label, {
|
|
174
257
|
number: index + 1
|
|
175
258
|
}),
|
|
259
|
+
...{
|
|
260
|
+
"data-dot-index": String(index)
|
|
261
|
+
},
|
|
262
|
+
...(hidden ? {
|
|
263
|
+
"data-dot-hidden": "true"
|
|
264
|
+
} : void 0),
|
|
176
265
|
...(isActive ? {
|
|
177
266
|
"aria-current": currentValue
|
|
178
267
|
} : void 0),
|
|
179
268
|
...(interactive ? {
|
|
180
269
|
role: "button",
|
|
181
270
|
tabIndex: 0,
|
|
271
|
+
onFocus: function onFocus() {
|
|
272
|
+
if (!isWeb || wasKeyboardFocus()) setKbFocusIndex(index);
|
|
273
|
+
},
|
|
274
|
+
onBlur: function onBlur() {
|
|
275
|
+
setKbFocusIndex(function (prev) {
|
|
276
|
+
return prev === index ? null : prev;
|
|
277
|
+
});
|
|
278
|
+
},
|
|
182
279
|
onKeyDown: function onKeyDown(e) {
|
|
183
280
|
if (e.key === "Enter" || e.key === " ") {
|
|
184
281
|
e.preventDefault();
|
|
185
282
|
onChange === null || onChange === void 0 ? void 0 : onChange(index);
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
var rtl = isRtl(e.currentTarget);
|
|
286
|
+
if (e.key === "ArrowRight") {
|
|
287
|
+
e.preventDefault();
|
|
288
|
+
moveTo(index + (rtl ? -1 : 1));
|
|
289
|
+
} else if (e.key === "ArrowLeft") {
|
|
290
|
+
e.preventDefault();
|
|
291
|
+
moveTo(index + (rtl ? 1 : -1));
|
|
292
|
+
} else if (e.key === "Home") {
|
|
293
|
+
e.preventDefault();
|
|
294
|
+
moveTo(0);
|
|
295
|
+
} else if (e.key === "End") {
|
|
296
|
+
e.preventDefault();
|
|
297
|
+
moveTo(total - 1);
|
|
186
298
|
}
|
|
187
299
|
}
|
|
188
300
|
} : disabled ? {
|
|
@@ -202,13 +314,21 @@ function DotIndicator(param) {
|
|
|
202
314
|
} : void 0)
|
|
203
315
|
}),
|
|
204
316
|
width: dotWidth,
|
|
205
|
-
height:
|
|
317
|
+
height: dotHeight,
|
|
206
318
|
disabled,
|
|
207
|
-
transition,
|
|
319
|
+
transition: motion,
|
|
208
320
|
style: motionStyle,
|
|
321
|
+
...(kbRing ? FOCUS_VISIBLE_RING : {
|
|
322
|
+
outlineWidth: 0
|
|
323
|
+
}),
|
|
209
324
|
...{
|
|
210
|
-
[dotStateAttribute]: isActive ? "active" : "idle"
|
|
325
|
+
[dotStateAttribute]: isActive ? "active" : "idle",
|
|
326
|
+
"data-mark-width": String(dotWidth),
|
|
327
|
+
"data-mark-height": String(dotHeight)
|
|
211
328
|
},
|
|
329
|
+
...(kbRing ? {
|
|
330
|
+
"data-dot-ring": "true"
|
|
331
|
+
} : void 0),
|
|
212
332
|
children: isCompleted && !isTick && itemSize >= CHECK_MIN_DOT && /* @__PURE__ */_jsx(CheckIcon, {
|
|
213
333
|
size: 8,
|
|
214
334
|
color: "white",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","MIN_PRESS_TARGET","radiusClassProps","useResolvedKnobs","CheckIcon","useTranslation","View","XStack","getTokens","styled","componentColors","withInterp","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","sizePx","value","fallback","_getTokens_size_value","_getTokens_size","token","size","val","DotsContainer","name","alignItems","justifyContent","gap","variants","rail","true","backgroundColor","interactive","background","borderRadius","DotTarget","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","DotIndicator","param","total","activeIndex","onChange","variant","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","knobProps","space","geometry","sizeToken","isTick","itemSize","activeSize","gapPx","slopX","Math","max","floor","outsetY","ceil","isStep","label","currentValue","motionStyle","paddingHorizontal","panelPadding","padding","height","children","Array","from","length","map","_","index","isActive","isCompleted","has","dotWidth","restingFill","completed","track","width","minHeight","marginHorizontal","marginVertical","cursor","onPress","number","role","tabIndex","onKeyDown","e","key","preventDefault"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","FOCUS_VISIBLE_RING","MIN_PRESS_TARGET","ensureKeyboardModalityTracking","radiusClassProps","useResolvedKnobs","wasKeyboardFocus","CheckIcon","useRef","useState","useTranslation","View","XStack","getTokens","isWeb","styled","componentColors","withInterp","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","WINDOW","sizePx","value","fallback","_getTokens_size_value","_getTokens_size","token","size","val","idleMarkWidth","variant","itemSize","activeSize","Math","round","max","activeMarkWidth","geometryActive","windowRange","total","half","floor","start","end","windowScale","index","dist","abs","isRtl","node","_node_closest","document","fromNode","closest","getAttribute","dir","documentElement","DotsContainer","name","alignItems","justifyContent","gap","overflow","variants","rail","true","backgroundColor","interactive","background","borderRadius","DotTarget","outlineWidth","outlineStyle","focusStyle","focusVisibleStyle","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","DotIndicator","param","activeIndex","onChange","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","knobProps","rootRef","kbFocusIndex","setKbFocusIndex","space","geometry","sizeToken","isTick","idleWidth","gapPx","slopX","outsetY","ceil","isStep","label","currentValue","motion","motionStyle","clampedActive","min","winStart","winEnd","focusMark","focusMark2","requestAnimationFrame","_rootRef_current_querySelector","_rootRef_current","_el_focus","el","current","querySelector","call","focus","moveTo","moveTo2","next","ref","role","paddingHorizontal","panelPadding","padding","height","children","Array","from","length","map","_","isActive","isCompleted","has","scale","hidden","baseWidth","dotWidth","dotHeight","restingFill","completed","track","kbRing","display","width","minHeight","marginHorizontal","marginVertical","zIndex","cursor","onPress","number","String","tabIndex","onFocus","onBlur","prev","onKeyDown","e","key","preventDefault","rtl","currentTarget"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useRef } from "react";
|
|
2
|
-
import {
|
|
1
|
+
import { createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
import { OVERLAY_ANCHOR_GAP, hairline, keyboardFocusRingProps, menuRowFrame, ensureKeyboardModalityTracking, useResolvedKnobs, warnBareDisabled, wasKeyboardFocus } from "@multiplatform.one/theme";
|
|
3
3
|
import { CheckIcon } from "@phosphor-icons/react";
|
|
4
4
|
import { Popover, Text, View, XStack, YStack, isWeb, styled, useComposedRefs, useControllableState, useTheme, withStaticProperties } from "tamagui";
|
|
5
5
|
import { componentColors } from "../componentColors.mjs";
|
|
@@ -15,20 +15,24 @@ const ItemRow = styled(XStack, {
|
|
|
15
15
|
...menuRowFrame,
|
|
16
16
|
gap: "$2.5",
|
|
17
17
|
cursor: "pointer",
|
|
18
|
+
// LC-72 CONTAINER-CLIP: rows stay square; the overlay clips outer corners.
|
|
19
|
+
// LC-71: rest and pointer-origin focus paint no ring. Keyboard ring is
|
|
20
|
+
// applied per-row via keyboardFocusRingProps (inset so overflow:hidden
|
|
21
|
+
// does not sever it) when wasKeyboardFocus().
|
|
22
|
+
outlineWidth: 0,
|
|
18
23
|
hoverStyle: {
|
|
19
24
|
backgroundColor: componentColors.interactive.hover
|
|
20
25
|
},
|
|
21
26
|
pressStyle: {
|
|
22
27
|
backgroundColor: componentColors.interactive.active
|
|
23
28
|
},
|
|
24
|
-
// Focus highlight doubles as the roving-focus indicator (full-width row).
|
|
25
29
|
focusStyle: {
|
|
26
30
|
backgroundColor: componentColors.interactive.hover,
|
|
27
|
-
|
|
31
|
+
outlineWidth: 0
|
|
28
32
|
},
|
|
29
33
|
focusVisibleStyle: {
|
|
30
34
|
backgroundColor: componentColors.interactive.hover,
|
|
31
|
-
|
|
35
|
+
outlineWidth: 0
|
|
32
36
|
},
|
|
33
37
|
variants: {
|
|
34
38
|
disabled: {
|
|
@@ -63,7 +67,8 @@ function DropdownMenuRoot({
|
|
|
63
67
|
defaultOpen = false,
|
|
64
68
|
onOpenChange,
|
|
65
69
|
placement = "bottom-start",
|
|
66
|
-
maxHeight
|
|
70
|
+
maxHeight,
|
|
71
|
+
closeOnSelect
|
|
67
72
|
}) {
|
|
68
73
|
const [open, setOpen] = useControllableState({
|
|
69
74
|
prop: openProp,
|
|
@@ -71,6 +76,7 @@ function DropdownMenuRoot({
|
|
|
71
76
|
onChange: onOpenChange
|
|
72
77
|
});
|
|
73
78
|
const triggerRef = useRef(null);
|
|
79
|
+
const pendingFocusRef = useRef("first");
|
|
74
80
|
const close = useCallback(() => {
|
|
75
81
|
setOpen(false);
|
|
76
82
|
if (isWeb) {
|
|
@@ -82,15 +88,17 @@ function DropdownMenuRoot({
|
|
|
82
88
|
open,
|
|
83
89
|
setOpen,
|
|
84
90
|
triggerRef,
|
|
85
|
-
close
|
|
86
|
-
|
|
91
|
+
close,
|
|
92
|
+
closeOnSelect,
|
|
93
|
+
pendingFocusRef
|
|
94
|
+
}), [open, setOpen, close, closeOnSelect]);
|
|
87
95
|
return /* @__PURE__ */jsx(DropdownMenuContext.Provider, {
|
|
88
96
|
value: ctx,
|
|
89
97
|
children: /* @__PURE__ */jsx(Popover, {
|
|
90
98
|
open,
|
|
91
99
|
onOpenChange: setOpen,
|
|
92
100
|
placement,
|
|
93
|
-
offset:
|
|
101
|
+
offset: OVERLAY_ANCHOR_GAP,
|
|
94
102
|
stayInFrame: true,
|
|
95
103
|
allowFlip: true,
|
|
96
104
|
children: items ? /* @__PURE__ */jsxs(Fragment, {
|
|
@@ -102,6 +110,8 @@ function DropdownMenuRoot({
|
|
|
102
110
|
children: items.map((entry, index) => "separator" in entry && entry.separator ? /* @__PURE__ */jsx(DropdownMenuSeparator, {}, `separator-${index}`) : "checked" in entry && entry.checked !== void 0 ? /* @__PURE__ */jsx(DropdownMenuCheckboxItem, {
|
|
103
111
|
checked: entry.checked,
|
|
104
112
|
onCheckedChange: entry.onCheckedChange,
|
|
113
|
+
onSelect: entry.onSelect,
|
|
114
|
+
closeOnSelect: entry.closeOnSelect,
|
|
105
115
|
disabled: entry.disabled,
|
|
106
116
|
disabledReason: entry.disabledReason,
|
|
107
117
|
shortcut: entry.shortcut,
|
|
@@ -112,6 +122,7 @@ function DropdownMenuRoot({
|
|
|
112
122
|
disabled: entry.disabled,
|
|
113
123
|
disabledReason: entry.disabledReason,
|
|
114
124
|
destructive: entry.destructive,
|
|
125
|
+
closeOnSelect: entry.closeOnSelect,
|
|
115
126
|
onSelect: entry.onSelect,
|
|
116
127
|
children: entry.label
|
|
117
128
|
}, entry.key ?? index))
|
|
@@ -139,13 +150,18 @@ const DropdownMenuTrigger = forwardRef(function DropdownMenuTrigger2({
|
|
|
139
150
|
const handleKeyDown = e => {
|
|
140
151
|
onKeyDown?.(e);
|
|
141
152
|
if (e.repeat) return;
|
|
142
|
-
if (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") {
|
|
153
|
+
if (e.key === "Enter" || e.key === " " || e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
143
154
|
swallowNextKeyUp(e.key);
|
|
144
155
|
if (e.defaultPrevented) return;
|
|
145
156
|
e.preventDefault();
|
|
146
157
|
if (e.key === "ArrowDown") {
|
|
158
|
+
ctx.pendingFocusRef.current = "first";
|
|
159
|
+
if (!ctx.open) ctx.setOpen(true);
|
|
160
|
+
} else if (e.key === "ArrowUp") {
|
|
161
|
+
ctx.pendingFocusRef.current = "last";
|
|
147
162
|
if (!ctx.open) ctx.setOpen(true);
|
|
148
163
|
} else {
|
|
164
|
+
ctx.pendingFocusRef.current = "first";
|
|
149
165
|
ctx.setOpen(!ctx.open);
|
|
150
166
|
}
|
|
151
167
|
}
|
|
@@ -163,7 +179,7 @@ const DropdownMenuTrigger = forwardRef(function DropdownMenuTrigger2({
|
|
|
163
179
|
const DropdownMenuContent = forwardRef(function DropdownMenuContent2({
|
|
164
180
|
children,
|
|
165
181
|
maxHeight,
|
|
166
|
-
minWidth
|
|
182
|
+
minWidth,
|
|
167
183
|
...props
|
|
168
184
|
}, forwardedRef) {
|
|
169
185
|
const ctx = useDropdownMenuContext("Content");
|
|
@@ -171,11 +187,21 @@ const DropdownMenuContent = forwardRef(function DropdownMenuContent2({
|
|
|
171
187
|
knobProps
|
|
172
188
|
} = useResolvedKnobs();
|
|
173
189
|
const innerRef = useRef(null);
|
|
190
|
+
const [triggerWidth, setTriggerWidth] = useState(void 0);
|
|
191
|
+
useLayoutEffect(() => {
|
|
192
|
+
if (!isWeb || !ctx.open) return;
|
|
193
|
+
const node = ctx.triggerRef.current;
|
|
194
|
+
if (node && typeof node.getBoundingClientRect === "function") {
|
|
195
|
+
setTriggerWidth(Math.ceil(node.getBoundingClientRect().width));
|
|
196
|
+
}
|
|
197
|
+
}, [ctx.open, ctx.triggerRef]);
|
|
198
|
+
const resolvedMinWidth = minWidth ?? triggerWidth;
|
|
174
199
|
const composedRef = useComposedRefs(innerRef, forwardedRef);
|
|
175
200
|
const typeahead = useRef({
|
|
176
201
|
buffer: "",
|
|
177
202
|
at: 0
|
|
178
203
|
});
|
|
204
|
+
if (isWeb) ensureKeyboardModalityTracking();
|
|
179
205
|
const getItems = useCallback(() => {
|
|
180
206
|
const node = innerRef.current;
|
|
181
207
|
if (!node) return [];
|
|
@@ -186,8 +212,13 @@ const DropdownMenuContent = forwardRef(function DropdownMenuContent2({
|
|
|
186
212
|
}, []);
|
|
187
213
|
const handleOpenAutoFocus = useCallback(event => {
|
|
188
214
|
event.preventDefault();
|
|
189
|
-
|
|
190
|
-
|
|
215
|
+
const prefer = ctx.pendingFocusRef.current;
|
|
216
|
+
ctx.pendingFocusRef.current = "first";
|
|
217
|
+
requestAnimationFrame(() => {
|
|
218
|
+
const items = getItems();
|
|
219
|
+
focusItem(prefer === "last" ? items[items.length - 1] : items[0]);
|
|
220
|
+
});
|
|
221
|
+
}, [ctx, focusItem, getItems]);
|
|
191
222
|
const handleCloseAutoFocus = useCallback(event => {
|
|
192
223
|
event.preventDefault();
|
|
193
224
|
const node = ctx.triggerRef.current;
|
|
@@ -258,7 +289,7 @@ const DropdownMenuContent = forwardRef(function DropdownMenuContent2({
|
|
|
258
289
|
...knobProps.elevatedSurface,
|
|
259
290
|
padding: 0,
|
|
260
291
|
overflow: "hidden",
|
|
261
|
-
minWidth,
|
|
292
|
+
minWidth: resolvedMinWidth,
|
|
262
293
|
transition: knobProps.transition,
|
|
263
294
|
enterStyle: {
|
|
264
295
|
opacity: 0,
|
|
@@ -296,7 +327,8 @@ const DropdownMenuItemBody = forwardRef(function DropdownMenuItemBody2({
|
|
|
296
327
|
disabledReason,
|
|
297
328
|
destructive = false,
|
|
298
329
|
onSelect,
|
|
299
|
-
closeOnSelect
|
|
330
|
+
closeOnSelect,
|
|
331
|
+
closeOnSelectDefault = true,
|
|
300
332
|
role = "menuitem",
|
|
301
333
|
leading,
|
|
302
334
|
...props
|
|
@@ -306,6 +338,9 @@ const DropdownMenuItemBody = forwardRef(function DropdownMenuItemBody2({
|
|
|
306
338
|
knobProps
|
|
307
339
|
} = useResolvedKnobs();
|
|
308
340
|
const theme = useTheme();
|
|
341
|
+
const [kbRing, setKbRing] = useState(false);
|
|
342
|
+
const [highlighted, setHighlighted] = useState(false);
|
|
343
|
+
const pointerIntentRef = useRef(false);
|
|
309
344
|
warnBareDisabled({
|
|
310
345
|
component: "DropdownMenu.Item",
|
|
311
346
|
id: typeof children === "string" ? children : void 0,
|
|
@@ -314,12 +349,29 @@ const DropdownMenuItemBody = forwardRef(function DropdownMenuItemBody2({
|
|
|
314
349
|
});
|
|
315
350
|
const explainedDisable = disabled && Boolean(disabledReason?.trim());
|
|
316
351
|
const iconColor = destructive ? theme.red11?.get() : theme.color12?.get();
|
|
352
|
+
const shouldCloseOnSelect = closeOnSelect ?? ctx.closeOnSelect ?? closeOnSelectDefault;
|
|
317
353
|
const handleSelect = () => {
|
|
318
354
|
if (disabled) return;
|
|
319
355
|
onSelect?.();
|
|
320
|
-
if (
|
|
356
|
+
if (shouldCloseOnSelect) ctx.close();
|
|
321
357
|
};
|
|
322
358
|
const textColor = destructive ? "$red11" : componentColors.text.primary;
|
|
359
|
+
const highlightFill = destructive && !disabled ? {
|
|
360
|
+
hoverStyle: {
|
|
361
|
+
backgroundColor: "$red3"
|
|
362
|
+
},
|
|
363
|
+
pressStyle: {
|
|
364
|
+
backgroundColor: "$red4"
|
|
365
|
+
}
|
|
366
|
+
} : void 0;
|
|
367
|
+
const focusFill = destructive && !disabled ? {
|
|
368
|
+
backgroundColor: "$red3"
|
|
369
|
+
} : {
|
|
370
|
+
backgroundColor: componentColors.interactive.hover
|
|
371
|
+
};
|
|
372
|
+
const ring = kbRing ? keyboardFocusRingProps : {
|
|
373
|
+
outlineWidth: 0
|
|
374
|
+
};
|
|
323
375
|
return /* @__PURE__ */jsxs(ItemRow, {
|
|
324
376
|
ref: forwardedRef,
|
|
325
377
|
role,
|
|
@@ -328,30 +380,50 @@ const DropdownMenuItemBody = forwardRef(function DropdownMenuItemBody2({
|
|
|
328
380
|
minHeight: knobProps.sizeToken,
|
|
329
381
|
transition: knobProps.transition,
|
|
330
382
|
onPress: handleSelect,
|
|
383
|
+
...highlightFill,
|
|
384
|
+
...(explainedDisable ? {
|
|
385
|
+
paddingVertical: "$1.5"
|
|
386
|
+
} : {}),
|
|
387
|
+
...props,
|
|
331
388
|
...(isWeb ? {
|
|
332
389
|
tabIndex: -1,
|
|
333
|
-
[MENU_ITEM_ATTR]: ""
|
|
334
|
-
//
|
|
335
|
-
//
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
390
|
+
[MENU_ITEM_ATTR]: "",
|
|
391
|
+
// Radix: pointer-move moves highlight so hover and keyboard
|
|
392
|
+
// never paint two rows at once. LC-71: ring only when the
|
|
393
|
+
// focus is keyboard-origin — pointer-move sets a local flag
|
|
394
|
+
// so wasKeyboardFocus() (still true until pointerdown) does
|
|
395
|
+
// not keep the ring after the mouse takes over.
|
|
396
|
+
onFocus: () => {
|
|
397
|
+
setHighlighted(true);
|
|
398
|
+
setKbRing(wasKeyboardFocus() && !pointerIntentRef.current);
|
|
399
|
+
pointerIntentRef.current = false;
|
|
340
400
|
},
|
|
341
|
-
|
|
342
|
-
|
|
401
|
+
onBlur: () => {
|
|
402
|
+
setHighlighted(false);
|
|
403
|
+
setKbRing(false);
|
|
343
404
|
},
|
|
344
|
-
|
|
345
|
-
|
|
405
|
+
onPointerMove: e => {
|
|
406
|
+
if (disabled) return;
|
|
407
|
+
if (e.pointerType && e.pointerType !== "mouse") return;
|
|
408
|
+
const node = e.currentTarget;
|
|
409
|
+
if (document.activeElement === node) return;
|
|
410
|
+
pointerIntentRef.current = true;
|
|
411
|
+
node.focus();
|
|
346
412
|
},
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
} : {}),
|
|
351
|
-
...(explainedDisable ? {
|
|
352
|
-
paddingVertical: "$1.5"
|
|
413
|
+
"data-highlighted": highlighted ? "true" : void 0,
|
|
414
|
+
"data-mp-kb-ring": kbRing ? "true" : void 0
|
|
353
415
|
} : {}),
|
|
354
|
-
...
|
|
416
|
+
...(kbRing ? keyboardFocusRingProps : {
|
|
417
|
+
outlineWidth: 0
|
|
418
|
+
}),
|
|
419
|
+
focusStyle: {
|
|
420
|
+
...focusFill,
|
|
421
|
+
...ring
|
|
422
|
+
},
|
|
423
|
+
focusVisibleStyle: {
|
|
424
|
+
...focusFill,
|
|
425
|
+
...ring
|
|
426
|
+
},
|
|
355
427
|
children: [leading, icon ? /* @__PURE__ */jsx(View, {
|
|
356
428
|
flexShrink: 0,
|
|
357
429
|
alignItems: "center",
|
|
@@ -404,15 +476,6 @@ const DropdownMenuItemBody = forwardRef(function DropdownMenuItemBody2({
|
|
|
404
476
|
});
|
|
405
477
|
});
|
|
406
478
|
const DropdownMenuItem = forwardRef(function DropdownMenuItem2(props, ref) {
|
|
407
|
-
if (props.destructive) {
|
|
408
|
-
return /* @__PURE__ */jsx(Intent, {
|
|
409
|
-
name: "error",
|
|
410
|
-
children: /* @__PURE__ */jsx(DropdownMenuItemBody, {
|
|
411
|
-
ref,
|
|
412
|
-
...props
|
|
413
|
-
})
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
479
|
return /* @__PURE__ */jsx(DropdownMenuItemBody, {
|
|
417
480
|
ref,
|
|
418
481
|
...props
|
|
@@ -421,15 +484,18 @@ const DropdownMenuItem = forwardRef(function DropdownMenuItem2(props, ref) {
|
|
|
421
484
|
const DropdownMenuCheckboxItem = forwardRef(function DropdownMenuCheckboxItem2({
|
|
422
485
|
checked,
|
|
423
486
|
onCheckedChange,
|
|
424
|
-
|
|
487
|
+
onSelect,
|
|
425
488
|
...props
|
|
426
489
|
}, ref) {
|
|
427
490
|
return /* @__PURE__ */jsx(DropdownMenuItemBody, {
|
|
428
491
|
ref,
|
|
429
492
|
role: "menuitemcheckbox",
|
|
430
493
|
"aria-checked": checked,
|
|
431
|
-
|
|
432
|
-
onSelect: () =>
|
|
494
|
+
closeOnSelectDefault: false,
|
|
495
|
+
onSelect: () => {
|
|
496
|
+
onCheckedChange?.(!checked);
|
|
497
|
+
onSelect?.();
|
|
498
|
+
},
|
|
433
499
|
leading: /* @__PURE__ */jsx(View, {
|
|
434
500
|
width: 18,
|
|
435
501
|
flexShrink: 0,
|