@multiplatform.one/components 6.7.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.
Files changed (997) hide show
  1. package/dist/cjs/Accordion/index.cjs +213 -70
  2. package/dist/cjs/Accordion/index.native.js +254 -75
  3. package/dist/cjs/Accordion/index.native.js.map +1 -1
  4. package/dist/cjs/Alert/index.cjs +204 -56
  5. package/dist/cjs/Alert/index.native.js +211 -60
  6. package/dist/cjs/Alert/index.native.js.map +1 -1
  7. package/dist/cjs/AnimateHeight/index.cjs +166 -0
  8. package/dist/cjs/AnimateHeight/index.native.js +176 -0
  9. package/dist/cjs/AnimateHeight/index.native.js.map +1 -0
  10. package/dist/cjs/Avatar/getInitials.cjs +34 -0
  11. package/dist/cjs/Avatar/getInitials.native.js +34 -0
  12. package/dist/cjs/Avatar/getInitials.native.js.map +1 -1
  13. package/dist/cjs/Avatar/index.cjs +246 -62
  14. package/dist/cjs/Avatar/index.native.js +252 -68
  15. package/dist/cjs/Avatar/index.native.js.map +1 -1
  16. package/dist/cjs/Badge/index.cjs +109 -75
  17. package/dist/cjs/Badge/index.native.js +110 -76
  18. package/dist/cjs/Badge/index.native.js.map +1 -1
  19. package/dist/cjs/Button.cjs +41 -0
  20. package/dist/cjs/Button.native.js +45 -0
  21. package/dist/cjs/Button.native.js.map +1 -0
  22. package/dist/cjs/Carousel/index.cjs +184 -105
  23. package/dist/cjs/Carousel/index.native.js +212 -107
  24. package/dist/cjs/Carousel/index.native.js.map +1 -1
  25. package/dist/cjs/Chip/index.cjs +360 -5
  26. package/dist/cjs/Chip/index.native.js +374 -5
  27. package/dist/cjs/Chip/index.native.js.map +1 -1
  28. package/dist/cjs/DotIndicator/index.cjs +129 -13
  29. package/dist/cjs/DotIndicator/index.native.js +133 -13
  30. package/dist/cjs/DotIndicator/index.native.js.map +1 -1
  31. package/dist/cjs/DropdownMenu/index.cjs +110 -44
  32. package/dist/cjs/DropdownMenu/index.native.js +113 -46
  33. package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
  34. package/dist/cjs/ErrorBoundary/index.cjs +2 -2
  35. package/dist/cjs/ErrorBoundary/index.native.js +2 -2
  36. package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
  37. package/dist/cjs/Pagination.cjs +40 -11
  38. package/dist/cjs/Pagination.native.js +44 -11
  39. package/dist/cjs/Pagination.native.js.map +1 -1
  40. package/dist/cjs/ProgressSteps/index.cjs +163 -107
  41. package/dist/cjs/ProgressSteps/index.native.js +171 -115
  42. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  43. package/dist/cjs/Quote/index.cjs +58 -39
  44. package/dist/cjs/Quote/index.native.js +69 -45
  45. package/dist/cjs/Quote/index.native.js.map +1 -1
  46. package/dist/cjs/SheetModal/index.cjs +141 -4
  47. package/dist/cjs/SheetModal/index.native.js +42 -29
  48. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  49. package/dist/cjs/Skeleton/index.cjs +216 -4
  50. package/dist/cjs/Skeleton/index.native.js +223 -4
  51. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  52. package/dist/cjs/SkipLink/index.cjs +91 -57
  53. package/dist/cjs/SkipLink/index.native.js +92 -66
  54. package/dist/cjs/SkipLink/index.native.js.map +1 -1
  55. package/dist/cjs/Tabs/index.cjs +136 -95
  56. package/dist/cjs/Tabs/index.native.js +161 -108
  57. package/dist/cjs/Tabs/index.native.js.map +1 -1
  58. package/dist/cjs/Toast/index.cjs +229 -67
  59. package/dist/cjs/Toast/index.native.js +232 -67
  60. package/dist/cjs/Toast/index.native.js.map +1 -1
  61. package/dist/cjs/Toast/store.cjs +83 -10
  62. package/dist/cjs/Toast/store.native.js +108 -10
  63. package/dist/cjs/Toast/store.native.js.map +1 -1
  64. package/dist/cjs/Tooltip/index.cjs +159 -42
  65. package/dist/cjs/Tooltip/index.native.js +195 -43
  66. package/dist/cjs/Tooltip/index.native.js.map +1 -1
  67. package/dist/cjs/Video/PlayerChrome.cjs +403 -0
  68. package/dist/cjs/Video/PlayerChrome.native.js +436 -0
  69. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -0
  70. package/dist/cjs/Video/VideoFrame.cjs +14 -5
  71. package/dist/cjs/Video/VideoFrame.native.js +16 -5
  72. package/dist/cjs/Video/VideoFrame.native.js.map +1 -1
  73. package/dist/cjs/Video/index.cjs +227 -11
  74. package/dist/cjs/Video/index.native.js +28 -13
  75. package/dist/cjs/Video/index.native.js.map +1 -1
  76. package/dist/cjs/Wheel/index.cjs +144 -93
  77. package/dist/cjs/Wheel/index.native.js +149 -96
  78. package/dist/cjs/Wheel/index.native.js.map +1 -1
  79. package/dist/cjs/actions/DestructiveAction.cjs +2 -2
  80. package/dist/cjs/actions/DestructiveAction.native.js +2 -2
  81. package/dist/cjs/actions/DestructiveAction.native.js.map +1 -1
  82. package/dist/cjs/charts/BarChart.cjs +9 -5
  83. package/dist/cjs/charts/BarChart.native.js +9 -5
  84. package/dist/cjs/charts/BarChart.native.js.map +1 -1
  85. package/dist/cjs/charts/LineChart.cjs +2 -2
  86. package/dist/cjs/charts/LineChart.native.js +2 -2
  87. package/dist/cjs/charts/LineChart.native.js.map +1 -1
  88. package/dist/cjs/charts/PieChart.cjs +2 -2
  89. package/dist/cjs/charts/PieChart.native.js +2 -2
  90. package/dist/cjs/charts/PieChart.native.js.map +1 -1
  91. package/dist/cjs/charts/Sparkline.cjs +2 -2
  92. package/dist/cjs/charts/Sparkline.native.js +2 -2
  93. package/dist/cjs/charts/Sparkline.native.js.map +1 -1
  94. package/dist/cjs/charts/index.cjs +4 -0
  95. package/dist/cjs/charts/index.native.js +4 -0
  96. package/dist/cjs/charts/index.native.js.map +1 -1
  97. package/dist/cjs/code/CodeBlock/index.cjs +34 -7
  98. package/dist/cjs/code/CodeBlock/index.native.js +36 -9
  99. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  100. package/dist/cjs/feedback/ConfirmDialog.cjs +92 -5
  101. package/dist/cjs/feedback/ConfirmDialog.native.js +123 -5
  102. package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
  103. package/dist/cjs/feedback/NotifyHost.cjs +2 -2
  104. package/dist/cjs/feedback/NotifyHost.native.js +2 -2
  105. package/dist/cjs/feedback/NotifyHost.native.js.map +1 -1
  106. package/dist/cjs/icons/themed.cjs +4 -1
  107. package/dist/cjs/icons/themed.native.js +4 -1
  108. package/dist/cjs/icons/themed.native.js.map +1 -1
  109. package/dist/cjs/images/Image/ImageFrame.cjs +242 -0
  110. package/dist/cjs/images/Image/ImageFrame.native.js +248 -0
  111. package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -0
  112. package/dist/cjs/images/Image/index.cjs +93 -40
  113. package/dist/cjs/images/Image/index.native.js +146 -108
  114. package/dist/cjs/images/Image/index.native.js.map +1 -1
  115. package/dist/cjs/images/Image/shared.cjs +106 -0
  116. package/dist/cjs/images/Image/shared.native.js +109 -0
  117. package/dist/cjs/images/Image/shared.native.js.map +1 -0
  118. package/dist/cjs/index.cjs +7 -0
  119. package/dist/cjs/index.native.js +7 -0
  120. package/dist/cjs/index.native.js.map +1 -1
  121. package/dist/cjs/knobImmuneExports.cjs +95 -0
  122. package/dist/cjs/knobImmuneExports.native.js +98 -0
  123. package/dist/cjs/knobImmuneExports.native.js.map +1 -0
  124. package/dist/cjs/layouts/AsyncBoundary.cjs +163 -36
  125. package/dist/cjs/layouts/AsyncBoundary.native.js +166 -37
  126. package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
  127. package/dist/cjs/layouts/EmptyState.cjs +157 -0
  128. package/dist/cjs/layouts/EmptyState.native.js +165 -0
  129. package/dist/cjs/layouts/EmptyState.native.js.map +1 -0
  130. package/dist/cjs/layouts/PageTemplates.cjs +13 -5
  131. package/dist/cjs/layouts/PageTemplates.native.js +13 -5
  132. package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
  133. package/dist/cjs/layouts/PaneScaffold.cjs +273 -13
  134. package/dist/cjs/layouts/PaneScaffold.native.js +294 -13
  135. package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
  136. package/dist/cjs/layouts/ViewSwitcher.cjs +65 -23
  137. package/dist/cjs/layouts/ViewSwitcher.native.js +78 -30
  138. package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
  139. package/dist/cjs/layouts/attachments.cjs +350 -185
  140. package/dist/cjs/layouts/attachments.native.js +370 -186
  141. package/dist/cjs/layouts/attachments.native.js.map +1 -1
  142. package/dist/cjs/layouts/breadcrumbs.cjs +161 -62
  143. package/dist/cjs/layouts/breadcrumbs.native.js +184 -65
  144. package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
  145. package/dist/cjs/layouts/page.cjs +71 -111
  146. package/dist/cjs/layouts/page.native.js +82 -130
  147. package/dist/cjs/layouts/page.native.js.map +1 -1
  148. package/dist/cjs/layouts/pageHeadingScope.cjs +8 -2
  149. package/dist/cjs/layouts/pageHeadingScope.native.js +10 -2
  150. package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -1
  151. package/dist/cjs/layouts/sidebar.cjs +150 -66
  152. package/dist/cjs/layouts/sidebar.native.js +118 -47
  153. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  154. package/dist/cjs/layouts/tags.cjs +321 -138
  155. package/dist/cjs/layouts/tags.native.js +355 -158
  156. package/dist/cjs/layouts/tags.native.js.map +1 -1
  157. package/dist/cjs/layouts/timeline.cjs +129 -56
  158. package/dist/cjs/layouts/timeline.native.js +179 -55
  159. package/dist/cjs/layouts/timeline.native.js.map +1 -1
  160. package/dist/cjs/layouts/toolbar.cjs +56 -20
  161. package/dist/cjs/layouts/toolbar.native.js +62 -25
  162. package/dist/cjs/layouts/toolbar.native.js.map +1 -1
  163. package/dist/cjs/shared/i18n.cjs +46 -0
  164. package/dist/cjs/shared/i18n.native.js +52 -0
  165. package/dist/cjs/shared/i18n.native.js.map +1 -0
  166. package/dist/cjs/shared/textRidesText.cjs +57 -0
  167. package/dist/cjs/shared/textRidesText.native.js +81 -0
  168. package/dist/cjs/shared/textRidesText.native.js.map +1 -0
  169. package/dist/cjs/shared/useReturnFocusOnClose.cjs +7 -1
  170. package/dist/cjs/shared/useReturnFocusOnClose.native.js +7 -1
  171. package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
  172. package/dist/cjs/surfaces.cjs +93 -16
  173. package/dist/cjs/surfaces.native.js +95 -16
  174. package/dist/cjs/surfaces.native.js.map +1 -1
  175. package/dist/cjs/tamagui.cjs +38 -39
  176. package/dist/cjs/tamagui.native.js +37 -38
  177. package/dist/cjs/tamagui.native.js.map +1 -1
  178. package/dist/cjs/views/Calendar.cjs +101 -64
  179. package/dist/cjs/views/Calendar.native.js +105 -70
  180. package/dist/cjs/views/Calendar.native.js.map +1 -1
  181. package/dist/cjs/views/Dashboard.cjs +399 -107
  182. package/dist/cjs/views/Dashboard.native.js +408 -110
  183. package/dist/cjs/views/Dashboard.native.js.map +1 -1
  184. package/dist/cjs/views/Gantt.cjs +256 -59
  185. package/dist/cjs/views/Gantt.native.js +264 -39
  186. package/dist/cjs/views/Gantt.native.js.map +1 -1
  187. package/dist/cjs/views/ImageGrid.cjs +138 -73
  188. package/dist/cjs/views/ImageGrid.native.js +155 -71
  189. package/dist/cjs/views/ImageGrid.native.js.map +1 -1
  190. package/dist/cjs/views/Kanban.cjs +53 -31
  191. package/dist/cjs/views/Kanban.native.js +55 -41
  192. package/dist/cjs/views/Kanban.native.js.map +1 -1
  193. package/dist/cjs/views/List.cjs +280 -93
  194. package/dist/cjs/views/List.native.js +280 -101
  195. package/dist/cjs/views/List.native.js.map +1 -1
  196. package/dist/cjs/views/ReportBuilder.cjs +539 -172
  197. package/dist/cjs/views/ReportBuilder.native.js +592 -169
  198. package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
  199. package/dist/cjs/views/TreeView.cjs +142 -52
  200. package/dist/cjs/views/TreeView.native.js +170 -55
  201. package/dist/cjs/views/TreeView.native.js.map +1 -1
  202. package/dist/esm/Accordion/index.mjs +216 -73
  203. package/dist/esm/Accordion/index.mjs.map +1 -1
  204. package/dist/esm/Accordion/index.native.js +257 -78
  205. package/dist/esm/Accordion/index.native.js.map +1 -1
  206. package/dist/esm/Alert/index.mjs +206 -58
  207. package/dist/esm/Alert/index.mjs.map +1 -1
  208. package/dist/esm/Alert/index.native.js +213 -62
  209. package/dist/esm/Alert/index.native.js.map +1 -1
  210. package/dist/esm/AnimateHeight/index.mjs +140 -0
  211. package/dist/esm/AnimateHeight/index.mjs.map +1 -0
  212. package/dist/esm/AnimateHeight/index.native.js +147 -0
  213. package/dist/esm/AnimateHeight/index.native.js.map +1 -0
  214. package/dist/esm/Avatar/getInitials.mjs +32 -1
  215. package/dist/esm/Avatar/getInitials.mjs.map +1 -1
  216. package/dist/esm/Avatar/getInitials.native.js +32 -1
  217. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  218. package/dist/esm/Avatar/index.mjs +249 -68
  219. package/dist/esm/Avatar/index.mjs.map +1 -1
  220. package/dist/esm/Avatar/index.native.js +255 -74
  221. package/dist/esm/Avatar/index.native.js.map +1 -1
  222. package/dist/esm/Badge/index.mjs +110 -76
  223. package/dist/esm/Badge/index.mjs.map +1 -1
  224. package/dist/esm/Badge/index.native.js +111 -77
  225. package/dist/esm/Badge/index.native.js.map +1 -1
  226. package/dist/esm/Button.mjs +16 -0
  227. package/dist/esm/Button.mjs.map +1 -0
  228. package/dist/esm/Button.native.js +17 -0
  229. package/dist/esm/Button.native.js.map +1 -0
  230. package/dist/esm/Carousel/index.mjs +185 -106
  231. package/dist/esm/Carousel/index.mjs.map +1 -1
  232. package/dist/esm/Carousel/index.native.js +213 -108
  233. package/dist/esm/Carousel/index.native.js.map +1 -1
  234. package/dist/esm/Chip/index.mjs +356 -2
  235. package/dist/esm/Chip/index.mjs.map +1 -1
  236. package/dist/esm/Chip/index.native.js +370 -2
  237. package/dist/esm/Chip/index.native.js.map +1 -1
  238. package/dist/esm/DotIndicator/index.mjs +130 -14
  239. package/dist/esm/DotIndicator/index.mjs.map +1 -1
  240. package/dist/esm/DotIndicator/index.native.js +134 -14
  241. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  242. package/dist/esm/DropdownMenu/index.mjs +112 -46
  243. package/dist/esm/DropdownMenu/index.mjs.map +1 -1
  244. package/dist/esm/DropdownMenu/index.native.js +115 -48
  245. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  246. package/dist/esm/ErrorBoundary/index.mjs +1 -1
  247. package/dist/esm/ErrorBoundary/index.native.js +1 -1
  248. package/dist/esm/Pagination.mjs +41 -12
  249. package/dist/esm/Pagination.mjs.map +1 -1
  250. package/dist/esm/Pagination.native.js +45 -12
  251. package/dist/esm/Pagination.native.js.map +1 -1
  252. package/dist/esm/ProgressSteps/index.mjs +165 -109
  253. package/dist/esm/ProgressSteps/index.mjs.map +1 -1
  254. package/dist/esm/ProgressSteps/index.native.js +173 -117
  255. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  256. package/dist/esm/Quote/index.mjs +59 -40
  257. package/dist/esm/Quote/index.mjs.map +1 -1
  258. package/dist/esm/Quote/index.native.js +70 -46
  259. package/dist/esm/Quote/index.native.js.map +1 -1
  260. package/dist/esm/SheetModal/index.mjs +144 -7
  261. package/dist/esm/SheetModal/index.mjs.map +1 -1
  262. package/dist/esm/SheetModal/index.native.js +41 -28
  263. package/dist/esm/SheetModal/index.native.js.map +1 -1
  264. package/dist/esm/Skeleton/index.mjs +213 -2
  265. package/dist/esm/Skeleton/index.mjs.map +1 -1
  266. package/dist/esm/Skeleton/index.native.js +220 -2
  267. package/dist/esm/Skeleton/index.native.js.map +1 -1
  268. package/dist/esm/SkipLink/index.mjs +93 -59
  269. package/dist/esm/SkipLink/index.mjs.map +1 -1
  270. package/dist/esm/SkipLink/index.native.js +94 -68
  271. package/dist/esm/SkipLink/index.native.js.map +1 -1
  272. package/dist/esm/Tabs/index.mjs +137 -96
  273. package/dist/esm/Tabs/index.mjs.map +1 -1
  274. package/dist/esm/Tabs/index.native.js +162 -109
  275. package/dist/esm/Tabs/index.native.js.map +1 -1
  276. package/dist/esm/Toast/index.mjs +227 -68
  277. package/dist/esm/Toast/index.mjs.map +1 -1
  278. package/dist/esm/Toast/index.native.js +230 -68
  279. package/dist/esm/Toast/index.native.js.map +1 -1
  280. package/dist/esm/Toast/store.mjs +75 -11
  281. package/dist/esm/Toast/store.mjs.map +1 -1
  282. package/dist/esm/Toast/store.native.js +100 -11
  283. package/dist/esm/Toast/store.native.js.map +1 -1
  284. package/dist/esm/Tooltip/index.mjs +147 -42
  285. package/dist/esm/Tooltip/index.mjs.map +1 -1
  286. package/dist/esm/Tooltip/index.native.js +184 -44
  287. package/dist/esm/Tooltip/index.native.js.map +1 -1
  288. package/dist/esm/Video/PlayerChrome.mjs +377 -0
  289. package/dist/esm/Video/PlayerChrome.mjs.map +1 -0
  290. package/dist/esm/Video/PlayerChrome.native.js +407 -0
  291. package/dist/esm/Video/PlayerChrome.native.js.map +1 -0
  292. package/dist/esm/Video/VideoFrame.mjs +14 -5
  293. package/dist/esm/Video/VideoFrame.mjs.map +1 -1
  294. package/dist/esm/Video/VideoFrame.native.js +16 -5
  295. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  296. package/dist/esm/Video/index.mjs +227 -11
  297. package/dist/esm/Video/index.mjs.map +1 -1
  298. package/dist/esm/Video/index.native.js +28 -13
  299. package/dist/esm/Video/index.native.js.map +1 -1
  300. package/dist/esm/Wheel/index.mjs +143 -92
  301. package/dist/esm/Wheel/index.mjs.map +1 -1
  302. package/dist/esm/Wheel/index.native.js +148 -95
  303. package/dist/esm/Wheel/index.native.js.map +1 -1
  304. package/dist/esm/actions/DestructiveAction.mjs +1 -1
  305. package/dist/esm/actions/DestructiveAction.native.js +1 -1
  306. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  307. package/dist/esm/charts/BarChart.mjs +8 -4
  308. package/dist/esm/charts/BarChart.mjs.map +1 -1
  309. package/dist/esm/charts/BarChart.native.js +8 -4
  310. package/dist/esm/charts/BarChart.native.js.map +1 -1
  311. package/dist/esm/charts/LineChart.mjs +1 -1
  312. package/dist/esm/charts/LineChart.native.js +1 -1
  313. package/dist/esm/charts/PieChart.mjs +1 -1
  314. package/dist/esm/charts/PieChart.native.js +1 -1
  315. package/dist/esm/charts/PieChart.native.js.map +1 -1
  316. package/dist/esm/charts/Sparkline.mjs +1 -1
  317. package/dist/esm/charts/Sparkline.native.js +1 -1
  318. package/dist/esm/charts/index.mjs +2 -1
  319. package/dist/esm/charts/index.mjs.map +1 -1
  320. package/dist/esm/charts/index.native.js +2 -1
  321. package/dist/esm/charts/index.native.js.map +1 -1
  322. package/dist/esm/code/CodeBlock/index.mjs +34 -7
  323. package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
  324. package/dist/esm/code/CodeBlock/index.native.js +36 -9
  325. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  326. package/dist/esm/feedback/ConfirmDialog.mjs +93 -6
  327. package/dist/esm/feedback/ConfirmDialog.mjs.map +1 -1
  328. package/dist/esm/feedback/ConfirmDialog.native.js +124 -6
  329. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  330. package/dist/esm/feedback/NotifyHost.mjs +1 -1
  331. package/dist/esm/feedback/NotifyHost.native.js +1 -1
  332. package/dist/esm/icons/themed.mjs +5 -2
  333. package/dist/esm/icons/themed.mjs.map +1 -1
  334. package/dist/esm/icons/themed.native.js +5 -2
  335. package/dist/esm/icons/themed.native.js.map +1 -1
  336. package/dist/esm/images/Image/ImageFrame.mjs +216 -0
  337. package/dist/esm/images/Image/ImageFrame.mjs.map +1 -0
  338. package/dist/esm/images/Image/ImageFrame.native.js +219 -0
  339. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -0
  340. package/dist/esm/images/Image/index.mjs +94 -41
  341. package/dist/esm/images/Image/index.mjs.map +1 -1
  342. package/dist/esm/images/Image/index.native.js +148 -110
  343. package/dist/esm/images/Image/index.native.js.map +1 -1
  344. package/dist/esm/images/Image/shared.mjs +76 -0
  345. package/dist/esm/images/Image/shared.mjs.map +1 -0
  346. package/dist/esm/images/Image/shared.native.js +76 -0
  347. package/dist/esm/images/Image/shared.native.js.map +1 -0
  348. package/dist/esm/index.mjs +4 -1
  349. package/dist/esm/index.mjs.map +1 -1
  350. package/dist/esm/index.native.js +4 -1
  351. package/dist/esm/index.native.js.map +1 -1
  352. package/dist/esm/knobImmuneExports.mjs +70 -0
  353. package/dist/esm/knobImmuneExports.mjs.map +1 -0
  354. package/dist/esm/knobImmuneExports.native.js +70 -0
  355. package/dist/esm/knobImmuneExports.native.js.map +1 -0
  356. package/dist/esm/layouts/AsyncBoundary.mjs +165 -38
  357. package/dist/esm/layouts/AsyncBoundary.mjs.map +1 -1
  358. package/dist/esm/layouts/AsyncBoundary.native.js +168 -39
  359. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  360. package/dist/esm/layouts/EmptyState.mjs +132 -0
  361. package/dist/esm/layouts/EmptyState.mjs.map +1 -0
  362. package/dist/esm/layouts/EmptyState.native.js +137 -0
  363. package/dist/esm/layouts/EmptyState.native.js.map +1 -0
  364. package/dist/esm/layouts/PageTemplates.mjs +13 -5
  365. package/dist/esm/layouts/PageTemplates.mjs.map +1 -1
  366. package/dist/esm/layouts/PageTemplates.native.js +13 -5
  367. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  368. package/dist/esm/layouts/PaneScaffold.mjs +277 -17
  369. package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
  370. package/dist/esm/layouts/PaneScaffold.native.js +298 -17
  371. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  372. package/dist/esm/layouts/ViewSwitcher.mjs +66 -24
  373. package/dist/esm/layouts/ViewSwitcher.mjs.map +1 -1
  374. package/dist/esm/layouts/ViewSwitcher.native.js +79 -31
  375. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  376. package/dist/esm/layouts/attachments.mjs +351 -175
  377. package/dist/esm/layouts/attachments.mjs.map +1 -1
  378. package/dist/esm/layouts/attachments.native.js +371 -187
  379. package/dist/esm/layouts/attachments.native.js.map +1 -1
  380. package/dist/esm/layouts/breadcrumbs.mjs +163 -53
  381. package/dist/esm/layouts/breadcrumbs.mjs.map +1 -1
  382. package/dist/esm/layouts/breadcrumbs.native.js +187 -68
  383. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  384. package/dist/esm/layouts/page.mjs +72 -112
  385. package/dist/esm/layouts/page.mjs.map +1 -1
  386. package/dist/esm/layouts/page.native.js +83 -131
  387. package/dist/esm/layouts/page.native.js.map +1 -1
  388. package/dist/esm/layouts/pageHeadingScope.mjs +8 -3
  389. package/dist/esm/layouts/pageHeadingScope.mjs.map +1 -1
  390. package/dist/esm/layouts/pageHeadingScope.native.js +10 -3
  391. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  392. package/dist/esm/layouts/sidebar.mjs +152 -68
  393. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  394. package/dist/esm/layouts/sidebar.native.js +120 -49
  395. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  396. package/dist/esm/layouts/tags.mjs +323 -140
  397. package/dist/esm/layouts/tags.mjs.map +1 -1
  398. package/dist/esm/layouts/tags.native.js +357 -160
  399. package/dist/esm/layouts/tags.native.js.map +1 -1
  400. package/dist/esm/layouts/timeline.mjs +129 -45
  401. package/dist/esm/layouts/timeline.mjs.map +1 -1
  402. package/dist/esm/layouts/timeline.native.js +179 -55
  403. package/dist/esm/layouts/timeline.native.js.map +1 -1
  404. package/dist/esm/layouts/toolbar.mjs +57 -21
  405. package/dist/esm/layouts/toolbar.mjs.map +1 -1
  406. package/dist/esm/layouts/toolbar.native.js +63 -26
  407. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  408. package/dist/esm/shared/i18n.mjs +10 -0
  409. package/dist/esm/shared/i18n.mjs.map +1 -0
  410. package/dist/esm/shared/i18n.native.js +13 -0
  411. package/dist/esm/shared/i18n.native.js.map +1 -0
  412. package/dist/esm/shared/textRidesText.mjs +31 -0
  413. package/dist/esm/shared/textRidesText.mjs.map +1 -0
  414. package/dist/esm/shared/textRidesText.native.js +52 -0
  415. package/dist/esm/shared/textRidesText.native.js.map +1 -0
  416. package/dist/esm/shared/useReturnFocusOnClose.mjs +7 -1
  417. package/dist/esm/shared/useReturnFocusOnClose.mjs.map +1 -1
  418. package/dist/esm/shared/useReturnFocusOnClose.native.js +7 -1
  419. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  420. package/dist/esm/surfaces.mjs +94 -17
  421. package/dist/esm/surfaces.mjs.map +1 -1
  422. package/dist/esm/surfaces.native.js +96 -17
  423. package/dist/esm/surfaces.native.js.map +1 -1
  424. package/dist/esm/tamagui.mjs +2 -3
  425. package/dist/esm/tamagui.mjs.map +1 -1
  426. package/dist/esm/tamagui.native.js +2 -3
  427. package/dist/esm/tamagui.native.js.map +1 -1
  428. package/dist/esm/views/Calendar.mjs +101 -64
  429. package/dist/esm/views/Calendar.mjs.map +1 -1
  430. package/dist/esm/views/Calendar.native.js +105 -70
  431. package/dist/esm/views/Calendar.native.js.map +1 -1
  432. package/dist/esm/views/Dashboard.mjs +396 -107
  433. package/dist/esm/views/Dashboard.mjs.map +1 -1
  434. package/dist/esm/views/Dashboard.native.js +405 -110
  435. package/dist/esm/views/Dashboard.native.js.map +1 -1
  436. package/dist/esm/views/Gantt.mjs +256 -59
  437. package/dist/esm/views/Gantt.mjs.map +1 -1
  438. package/dist/esm/views/Gantt.native.js +264 -39
  439. package/dist/esm/views/Gantt.native.js.map +1 -1
  440. package/dist/esm/views/ImageGrid.mjs +138 -73
  441. package/dist/esm/views/ImageGrid.mjs.map +1 -1
  442. package/dist/esm/views/ImageGrid.native.js +155 -71
  443. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  444. package/dist/esm/views/Kanban.mjs +52 -30
  445. package/dist/esm/views/Kanban.mjs.map +1 -1
  446. package/dist/esm/views/Kanban.native.js +54 -40
  447. package/dist/esm/views/Kanban.native.js.map +1 -1
  448. package/dist/esm/views/List.mjs +268 -95
  449. package/dist/esm/views/List.mjs.map +1 -1
  450. package/dist/esm/views/List.native.js +280 -104
  451. package/dist/esm/views/List.native.js.map +1 -1
  452. package/dist/esm/views/ReportBuilder.mjs +533 -166
  453. package/dist/esm/views/ReportBuilder.mjs.map +1 -1
  454. package/dist/esm/views/ReportBuilder.native.js +585 -162
  455. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  456. package/dist/esm/views/TreeView.mjs +142 -52
  457. package/dist/esm/views/TreeView.mjs.map +1 -1
  458. package/dist/esm/views/TreeView.native.js +170 -55
  459. package/dist/esm/views/TreeView.native.js.map +1 -1
  460. package/dist/jsx/Accordion/index.mjs +216 -73
  461. package/dist/jsx/Accordion/index.mjs.map +1 -1
  462. package/dist/jsx/Accordion/index.native.js +254 -75
  463. package/dist/jsx/Accordion/index.native.js.map +1 -1
  464. package/dist/jsx/Alert/index.mjs +206 -58
  465. package/dist/jsx/Alert/index.mjs.map +1 -1
  466. package/dist/jsx/Alert/index.native.js +211 -60
  467. package/dist/jsx/Alert/index.native.js.map +1 -1
  468. package/dist/jsx/AnimateHeight/index.mjs +140 -0
  469. package/dist/jsx/AnimateHeight/index.mjs.map +1 -0
  470. package/dist/jsx/AnimateHeight/index.native.js +176 -0
  471. package/dist/jsx/AnimateHeight/index.native.js.map +1 -0
  472. package/dist/jsx/Avatar/getInitials.mjs +32 -1
  473. package/dist/jsx/Avatar/getInitials.mjs.map +1 -1
  474. package/dist/jsx/Avatar/getInitials.native.js +34 -0
  475. package/dist/jsx/Avatar/getInitials.native.js.map +1 -1
  476. package/dist/jsx/Avatar/index.mjs +249 -68
  477. package/dist/jsx/Avatar/index.mjs.map +1 -1
  478. package/dist/jsx/Avatar/index.native.js +252 -68
  479. package/dist/jsx/Avatar/index.native.js.map +1 -1
  480. package/dist/jsx/Badge/index.mjs +110 -76
  481. package/dist/jsx/Badge/index.mjs.map +1 -1
  482. package/dist/jsx/Badge/index.native.js +110 -76
  483. package/dist/jsx/Badge/index.native.js.map +1 -1
  484. package/dist/jsx/Button.mjs +16 -0
  485. package/dist/jsx/Button.mjs.map +1 -0
  486. package/dist/jsx/Button.native.js +45 -0
  487. package/dist/jsx/Button.native.js.map +1 -0
  488. package/dist/jsx/Carousel/index.mjs +185 -106
  489. package/dist/jsx/Carousel/index.mjs.map +1 -1
  490. package/dist/jsx/Carousel/index.native.js +212 -107
  491. package/dist/jsx/Carousel/index.native.js.map +1 -1
  492. package/dist/jsx/Chip/index.mjs +356 -2
  493. package/dist/jsx/Chip/index.mjs.map +1 -1
  494. package/dist/jsx/Chip/index.native.js +374 -5
  495. package/dist/jsx/Chip/index.native.js.map +1 -1
  496. package/dist/jsx/DotIndicator/index.mjs +130 -14
  497. package/dist/jsx/DotIndicator/index.mjs.map +1 -1
  498. package/dist/jsx/DotIndicator/index.native.js +133 -13
  499. package/dist/jsx/DotIndicator/index.native.js.map +1 -1
  500. package/dist/jsx/DropdownMenu/index.mjs +112 -46
  501. package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
  502. package/dist/jsx/DropdownMenu/index.native.js +113 -46
  503. package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
  504. package/dist/jsx/ErrorBoundary/index.mjs +1 -1
  505. package/dist/jsx/ErrorBoundary/index.native.js +2 -2
  506. package/dist/jsx/ErrorBoundary/index.native.js.map +1 -1
  507. package/dist/jsx/Pagination.mjs +41 -12
  508. package/dist/jsx/Pagination.mjs.map +1 -1
  509. package/dist/jsx/Pagination.native.js +44 -11
  510. package/dist/jsx/Pagination.native.js.map +1 -1
  511. package/dist/jsx/ProgressSteps/index.mjs +165 -109
  512. package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
  513. package/dist/jsx/ProgressSteps/index.native.js +171 -115
  514. package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
  515. package/dist/jsx/Quote/index.mjs +59 -40
  516. package/dist/jsx/Quote/index.mjs.map +1 -1
  517. package/dist/jsx/Quote/index.native.js +69 -45
  518. package/dist/jsx/Quote/index.native.js.map +1 -1
  519. package/dist/jsx/SheetModal/index.mjs +144 -7
  520. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  521. package/dist/jsx/SheetModal/index.native.js +42 -29
  522. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  523. package/dist/jsx/Skeleton/index.mjs +213 -2
  524. package/dist/jsx/Skeleton/index.mjs.map +1 -1
  525. package/dist/jsx/Skeleton/index.native.js +223 -4
  526. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  527. package/dist/jsx/SkipLink/index.mjs +93 -59
  528. package/dist/jsx/SkipLink/index.mjs.map +1 -1
  529. package/dist/jsx/SkipLink/index.native.js +92 -66
  530. package/dist/jsx/SkipLink/index.native.js.map +1 -1
  531. package/dist/jsx/Tabs/index.mjs +137 -96
  532. package/dist/jsx/Tabs/index.mjs.map +1 -1
  533. package/dist/jsx/Tabs/index.native.js +161 -108
  534. package/dist/jsx/Tabs/index.native.js.map +1 -1
  535. package/dist/jsx/Toast/index.mjs +227 -68
  536. package/dist/jsx/Toast/index.mjs.map +1 -1
  537. package/dist/jsx/Toast/index.native.js +232 -67
  538. package/dist/jsx/Toast/index.native.js.map +1 -1
  539. package/dist/jsx/Toast/store.mjs +75 -11
  540. package/dist/jsx/Toast/store.mjs.map +1 -1
  541. package/dist/jsx/Toast/store.native.js +108 -10
  542. package/dist/jsx/Toast/store.native.js.map +1 -1
  543. package/dist/jsx/Tooltip/index.mjs +147 -42
  544. package/dist/jsx/Tooltip/index.mjs.map +1 -1
  545. package/dist/jsx/Tooltip/index.native.js +195 -43
  546. package/dist/jsx/Tooltip/index.native.js.map +1 -1
  547. package/dist/jsx/Video/PlayerChrome.mjs +377 -0
  548. package/dist/jsx/Video/PlayerChrome.mjs.map +1 -0
  549. package/dist/jsx/Video/PlayerChrome.native.js +436 -0
  550. package/dist/jsx/Video/PlayerChrome.native.js.map +1 -0
  551. package/dist/jsx/Video/VideoFrame.mjs +14 -5
  552. package/dist/jsx/Video/VideoFrame.mjs.map +1 -1
  553. package/dist/jsx/Video/VideoFrame.native.js +16 -5
  554. package/dist/jsx/Video/VideoFrame.native.js.map +1 -1
  555. package/dist/jsx/Video/index.mjs +227 -11
  556. package/dist/jsx/Video/index.mjs.map +1 -1
  557. package/dist/jsx/Video/index.native.js +28 -13
  558. package/dist/jsx/Video/index.native.js.map +1 -1
  559. package/dist/jsx/Wheel/index.mjs +143 -92
  560. package/dist/jsx/Wheel/index.mjs.map +1 -1
  561. package/dist/jsx/Wheel/index.native.js +149 -96
  562. package/dist/jsx/Wheel/index.native.js.map +1 -1
  563. package/dist/jsx/actions/DestructiveAction.mjs +1 -1
  564. package/dist/jsx/actions/DestructiveAction.native.js +2 -2
  565. package/dist/jsx/actions/DestructiveAction.native.js.map +1 -1
  566. package/dist/jsx/charts/BarChart.mjs +8 -4
  567. package/dist/jsx/charts/BarChart.mjs.map +1 -1
  568. package/dist/jsx/charts/BarChart.native.js +9 -5
  569. package/dist/jsx/charts/BarChart.native.js.map +1 -1
  570. package/dist/jsx/charts/LineChart.mjs +1 -1
  571. package/dist/jsx/charts/LineChart.native.js +2 -2
  572. package/dist/jsx/charts/LineChart.native.js.map +1 -1
  573. package/dist/jsx/charts/PieChart.mjs +1 -1
  574. package/dist/jsx/charts/PieChart.native.js +2 -2
  575. package/dist/jsx/charts/PieChart.native.js.map +1 -1
  576. package/dist/jsx/charts/Sparkline.mjs +1 -1
  577. package/dist/jsx/charts/Sparkline.native.js +2 -2
  578. package/dist/jsx/charts/Sparkline.native.js.map +1 -1
  579. package/dist/jsx/charts/index.mjs +2 -1
  580. package/dist/jsx/charts/index.mjs.map +1 -1
  581. package/dist/jsx/charts/index.native.js +4 -0
  582. package/dist/jsx/charts/index.native.js.map +1 -1
  583. package/dist/jsx/code/CodeBlock/index.mjs +34 -7
  584. package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
  585. package/dist/jsx/code/CodeBlock/index.native.js +36 -9
  586. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  587. package/dist/jsx/feedback/ConfirmDialog.mjs +93 -6
  588. package/dist/jsx/feedback/ConfirmDialog.mjs.map +1 -1
  589. package/dist/jsx/feedback/ConfirmDialog.native.js +123 -5
  590. package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
  591. package/dist/jsx/feedback/NotifyHost.mjs +1 -1
  592. package/dist/jsx/feedback/NotifyHost.native.js +2 -2
  593. package/dist/jsx/feedback/NotifyHost.native.js.map +1 -1
  594. package/dist/jsx/icons/themed.mjs +5 -2
  595. package/dist/jsx/icons/themed.mjs.map +1 -1
  596. package/dist/jsx/icons/themed.native.js +4 -1
  597. package/dist/jsx/icons/themed.native.js.map +1 -1
  598. package/dist/jsx/images/Image/ImageFrame.mjs +216 -0
  599. package/dist/jsx/images/Image/ImageFrame.mjs.map +1 -0
  600. package/dist/jsx/images/Image/ImageFrame.native.js +248 -0
  601. package/dist/jsx/images/Image/ImageFrame.native.js.map +1 -0
  602. package/dist/jsx/images/Image/index.mjs +94 -41
  603. package/dist/jsx/images/Image/index.mjs.map +1 -1
  604. package/dist/jsx/images/Image/index.native.js +146 -108
  605. package/dist/jsx/images/Image/index.native.js.map +1 -1
  606. package/dist/jsx/images/Image/shared.mjs +76 -0
  607. package/dist/jsx/images/Image/shared.mjs.map +1 -0
  608. package/dist/jsx/images/Image/shared.native.js +109 -0
  609. package/dist/jsx/images/Image/shared.native.js.map +1 -0
  610. package/dist/jsx/index.js +4 -1
  611. package/dist/jsx/index.js.map +1 -1
  612. package/dist/jsx/index.mjs +4 -1
  613. package/dist/jsx/index.mjs.map +1 -1
  614. package/dist/jsx/index.native.js +7 -0
  615. package/dist/jsx/index.native.js.map +1 -1
  616. package/dist/jsx/knobImmuneExports.mjs +70 -0
  617. package/dist/jsx/knobImmuneExports.mjs.map +1 -0
  618. package/dist/jsx/knobImmuneExports.native.js +98 -0
  619. package/dist/jsx/knobImmuneExports.native.js.map +1 -0
  620. package/dist/jsx/layouts/AsyncBoundary.mjs +165 -38
  621. package/dist/jsx/layouts/AsyncBoundary.mjs.map +1 -1
  622. package/dist/jsx/layouts/AsyncBoundary.native.js +166 -37
  623. package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
  624. package/dist/jsx/layouts/EmptyState.mjs +132 -0
  625. package/dist/jsx/layouts/EmptyState.mjs.map +1 -0
  626. package/dist/jsx/layouts/EmptyState.native.js +165 -0
  627. package/dist/jsx/layouts/EmptyState.native.js.map +1 -0
  628. package/dist/jsx/layouts/PageTemplates.mjs +13 -5
  629. package/dist/jsx/layouts/PageTemplates.mjs.map +1 -1
  630. package/dist/jsx/layouts/PageTemplates.native.js +13 -5
  631. package/dist/jsx/layouts/PageTemplates.native.js.map +1 -1
  632. package/dist/jsx/layouts/PaneScaffold.mjs +277 -17
  633. package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
  634. package/dist/jsx/layouts/PaneScaffold.native.js +294 -13
  635. package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
  636. package/dist/jsx/layouts/ViewSwitcher.mjs +66 -24
  637. package/dist/jsx/layouts/ViewSwitcher.mjs.map +1 -1
  638. package/dist/jsx/layouts/ViewSwitcher.native.js +78 -30
  639. package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
  640. package/dist/jsx/layouts/attachments.mjs +351 -175
  641. package/dist/jsx/layouts/attachments.mjs.map +1 -1
  642. package/dist/jsx/layouts/attachments.native.js +370 -186
  643. package/dist/jsx/layouts/attachments.native.js.map +1 -1
  644. package/dist/jsx/layouts/breadcrumbs.mjs +163 -53
  645. package/dist/jsx/layouts/breadcrumbs.mjs.map +1 -1
  646. package/dist/jsx/layouts/breadcrumbs.native.js +184 -65
  647. package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
  648. package/dist/jsx/layouts/page.mjs +72 -112
  649. package/dist/jsx/layouts/page.mjs.map +1 -1
  650. package/dist/jsx/layouts/page.native.js +82 -130
  651. package/dist/jsx/layouts/page.native.js.map +1 -1
  652. package/dist/jsx/layouts/pageHeadingScope.mjs +8 -3
  653. package/dist/jsx/layouts/pageHeadingScope.mjs.map +1 -1
  654. package/dist/jsx/layouts/pageHeadingScope.native.js +10 -2
  655. package/dist/jsx/layouts/pageHeadingScope.native.js.map +1 -1
  656. package/dist/jsx/layouts/sidebar.mjs +152 -68
  657. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  658. package/dist/jsx/layouts/sidebar.native.js +118 -47
  659. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  660. package/dist/jsx/layouts/tags.mjs +323 -140
  661. package/dist/jsx/layouts/tags.mjs.map +1 -1
  662. package/dist/jsx/layouts/tags.native.js +355 -158
  663. package/dist/jsx/layouts/tags.native.js.map +1 -1
  664. package/dist/jsx/layouts/timeline.mjs +129 -45
  665. package/dist/jsx/layouts/timeline.mjs.map +1 -1
  666. package/dist/jsx/layouts/timeline.native.js +179 -55
  667. package/dist/jsx/layouts/timeline.native.js.map +1 -1
  668. package/dist/jsx/layouts/toolbar.mjs +57 -21
  669. package/dist/jsx/layouts/toolbar.mjs.map +1 -1
  670. package/dist/jsx/layouts/toolbar.native.js +62 -25
  671. package/dist/jsx/layouts/toolbar.native.js.map +1 -1
  672. package/dist/jsx/shared/i18n.mjs +10 -0
  673. package/dist/jsx/shared/i18n.mjs.map +1 -0
  674. package/dist/jsx/shared/i18n.native.js +52 -0
  675. package/dist/jsx/shared/i18n.native.js.map +1 -0
  676. package/dist/jsx/shared/textRidesText.mjs +31 -0
  677. package/dist/jsx/shared/textRidesText.mjs.map +1 -0
  678. package/dist/jsx/shared/textRidesText.native.js +81 -0
  679. package/dist/jsx/shared/textRidesText.native.js.map +1 -0
  680. package/dist/jsx/shared/useReturnFocusOnClose.mjs +7 -1
  681. package/dist/jsx/shared/useReturnFocusOnClose.mjs.map +1 -1
  682. package/dist/jsx/shared/useReturnFocusOnClose.native.js +7 -1
  683. package/dist/jsx/shared/useReturnFocusOnClose.native.js.map +1 -1
  684. package/dist/jsx/surfaces.mjs +94 -17
  685. package/dist/jsx/surfaces.mjs.map +1 -1
  686. package/dist/jsx/surfaces.native.js +95 -16
  687. package/dist/jsx/surfaces.native.js.map +1 -1
  688. package/dist/jsx/tamagui.mjs +2 -3
  689. package/dist/jsx/tamagui.mjs.map +1 -1
  690. package/dist/jsx/tamagui.native.js +37 -38
  691. package/dist/jsx/tamagui.native.js.map +1 -1
  692. package/dist/jsx/views/Calendar.mjs +101 -64
  693. package/dist/jsx/views/Calendar.mjs.map +1 -1
  694. package/dist/jsx/views/Calendar.native.js +105 -70
  695. package/dist/jsx/views/Calendar.native.js.map +1 -1
  696. package/dist/jsx/views/Dashboard.mjs +396 -107
  697. package/dist/jsx/views/Dashboard.mjs.map +1 -1
  698. package/dist/jsx/views/Dashboard.native.js +408 -110
  699. package/dist/jsx/views/Dashboard.native.js.map +1 -1
  700. package/dist/jsx/views/Gantt.mjs +256 -59
  701. package/dist/jsx/views/Gantt.mjs.map +1 -1
  702. package/dist/jsx/views/Gantt.native.js +264 -39
  703. package/dist/jsx/views/Gantt.native.js.map +1 -1
  704. package/dist/jsx/views/ImageGrid.mjs +138 -73
  705. package/dist/jsx/views/ImageGrid.mjs.map +1 -1
  706. package/dist/jsx/views/ImageGrid.native.js +155 -71
  707. package/dist/jsx/views/ImageGrid.native.js.map +1 -1
  708. package/dist/jsx/views/Kanban.mjs +52 -30
  709. package/dist/jsx/views/Kanban.mjs.map +1 -1
  710. package/dist/jsx/views/Kanban.native.js +55 -41
  711. package/dist/jsx/views/Kanban.native.js.map +1 -1
  712. package/dist/jsx/views/List.mjs +268 -95
  713. package/dist/jsx/views/List.mjs.map +1 -1
  714. package/dist/jsx/views/List.native.js +280 -101
  715. package/dist/jsx/views/List.native.js.map +1 -1
  716. package/dist/jsx/views/ReportBuilder.mjs +533 -166
  717. package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
  718. package/dist/jsx/views/ReportBuilder.native.js +592 -169
  719. package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
  720. package/dist/jsx/views/TreeView.mjs +142 -52
  721. package/dist/jsx/views/TreeView.mjs.map +1 -1
  722. package/dist/jsx/views/TreeView.native.js +170 -55
  723. package/dist/jsx/views/TreeView.native.js.map +1 -1
  724. package/package.json +18 -18
  725. package/src/Accordion/Accordion.lc50.spec.tsx +69 -0
  726. package/src/Accordion/Accordion.spec.tsx +36 -0
  727. package/src/Accordion/Accordion.stories.tsx +82 -36
  728. package/src/Accordion/index.tsx +296 -75
  729. package/src/Alert/Alert.spec.tsx +137 -1
  730. package/src/Alert/Alert.stories.tsx +10 -11
  731. package/src/Alert/index.tsx +244 -62
  732. package/src/AnimateHeight/AnimateHeight.spec.tsx +152 -0
  733. package/src/AnimateHeight/index.tsx +237 -0
  734. package/src/Avatar/Avatar.spec.tsx +73 -2
  735. package/src/Avatar/Avatar.stories.tsx +106 -4
  736. package/src/Avatar/getInitials.ts +29 -0
  737. package/src/Avatar/index.tsx +323 -105
  738. package/src/Badge/Badge.spec.tsx +83 -0
  739. package/src/Badge/Badge.stories.tsx +15 -1
  740. package/src/Badge/index.tsx +138 -84
  741. package/src/Button.spec.tsx +181 -0
  742. package/src/Button.stories.tsx +92 -0
  743. package/src/Button.tsx +43 -0
  744. package/src/Carousel/Carousel.spec.tsx +152 -0
  745. package/src/Carousel/index.tsx +239 -102
  746. package/src/Chip/Chip.spec.tsx +141 -0
  747. package/src/Chip/Chip.stories.tsx +163 -10
  748. package/src/Chip/index.tsx +452 -11
  749. package/src/DialogContent.stories.tsx +8 -6
  750. package/src/DotIndicator/DotIndicator.stories.tsx +18 -0
  751. package/src/DotIndicator/dotIndicator.spec.tsx +57 -2
  752. package/src/DotIndicator/index.tsx +159 -24
  753. package/src/DropdownMenu/DropdownMenu.spec.tsx +172 -0
  754. package/src/DropdownMenu/DropdownMenu.stories.tsx +35 -0
  755. package/src/DropdownMenu/index.tsx +172 -46
  756. package/src/ErrorBoundary/index.tsx +1 -1
  757. package/src/Pagination.api.spec.tsx +41 -0
  758. package/src/Pagination.tsx +49 -8
  759. package/src/PopoverContent.stories.tsx +4 -2
  760. package/src/ProgressSteps/ProgressSteps.spec.tsx +48 -1
  761. package/src/ProgressSteps/ProgressSteps.stories.tsx +48 -0
  762. package/src/ProgressSteps/index.tsx +224 -133
  763. package/src/Quote/Quote.lc50.spec.tsx +53 -0
  764. package/src/Quote/Quote.spec.tsx +9 -2
  765. package/src/Quote/Quote.stories.tsx +1 -1
  766. package/src/Quote/index.tsx +77 -60
  767. package/src/SheetModal/index.native.tsx +41 -39
  768. package/src/SheetModal/index.tsx +149 -18
  769. package/src/Skeleton/Skeleton.stories.tsx +109 -93
  770. package/src/Skeleton/SkeletonText.stories.tsx +11 -0
  771. package/src/Skeleton/index.tsx +257 -8
  772. package/src/SkipLink/SkipLink.spec.tsx +35 -0
  773. package/src/SkipLink/SkipLink.stories.tsx +1 -1
  774. package/src/SkipLink/index.tsx +120 -71
  775. package/src/Tabs/Tabs.spec.tsx +65 -0
  776. package/src/Tabs/Tabs.stories.tsx +32 -0
  777. package/src/Tabs/index.tsx +188 -133
  778. package/src/Toast/Toast.spec.tsx +208 -8
  779. package/src/Toast/Toast.stories.tsx +97 -16
  780. package/src/Toast/index.tsx +322 -78
  781. package/src/Toast/store.ts +150 -16
  782. package/src/Tooltip/Tooltip.lc50.spec.tsx +52 -0
  783. package/src/Tooltip/Tooltip.spec.tsx +99 -0
  784. package/src/Tooltip/Tooltip.stories.tsx +23 -0
  785. package/src/Tooltip/index.tsx +200 -44
  786. package/src/Video/PlayerChrome.tsx +412 -0
  787. package/src/Video/Video.spec.tsx +47 -4
  788. package/src/Video/Video.stories.tsx +2 -1
  789. package/src/Video/VideoFrame.tsx +15 -3
  790. package/src/Video/index.native.tsx +20 -12
  791. package/src/Video/index.tsx +285 -21
  792. package/src/Video/types.ts +7 -1
  793. package/src/Wheel/Wheel.spec.tsx +217 -2
  794. package/src/Wheel/Wheel.stories.tsx +39 -13
  795. package/src/Wheel/index.tsx +205 -134
  796. package/src/actions/DestructiveAction.tsx +1 -1
  797. package/src/charts/BarChart.tsx +14 -3
  798. package/src/charts/LineChart.tsx +1 -1
  799. package/src/charts/PieChart.tsx +1 -1
  800. package/src/charts/Sparkline.tsx +1 -1
  801. package/src/charts/charts.spec.tsx +25 -0
  802. package/src/charts/index.ts +9 -0
  803. package/src/code/CodeBlock/index.tsx +43 -7
  804. package/src/export-surface.spec.tsx +137 -0
  805. package/src/feedback/ConfirmDialog.spec.tsx +36 -0
  806. package/src/feedback/ConfirmDialog.stories.tsx +20 -1
  807. package/src/feedback/ConfirmDialog.tsx +121 -9
  808. package/src/feedback/NotifyHost.tsx +1 -1
  809. package/src/icons/themed.tsx +7 -2
  810. package/src/images/Image/Image.spec.tsx +136 -73
  811. package/src/images/Image/Image.stories.tsx +113 -9
  812. package/src/images/Image/ImageFrame.tsx +288 -0
  813. package/src/images/Image/index.native.tsx +177 -144
  814. package/src/images/Image/index.tsx +103 -51
  815. package/src/images/Image/shared.ts +88 -0
  816. package/src/images/Image/types.ts +32 -1
  817. package/src/index.ts +18 -0
  818. package/src/knobImmuneExports.ts +97 -0
  819. package/src/layouts/AsyncBoundary.spec.tsx +77 -0
  820. package/src/layouts/AsyncBoundary.stories.tsx +33 -1
  821. package/src/layouts/AsyncBoundary.tsx +183 -46
  822. package/src/layouts/Attachments.stories.tsx +28 -14
  823. package/src/layouts/Breadcrumbs.stories.tsx +22 -1
  824. package/src/layouts/EmptyState.stories.tsx +94 -26
  825. package/src/layouts/EmptyState.tsx +169 -0
  826. package/src/layouts/PageHeader.stories.tsx +68 -15
  827. package/src/layouts/PageTemplates.tsx +11 -6
  828. package/src/layouts/PaneScaffold.stories.tsx +132 -37
  829. package/src/layouts/PaneScaffold.tsx +354 -18
  830. package/src/layouts/ScreenToolbar.stories.tsx +36 -11
  831. package/src/layouts/Sidebar.stories.tsx +30 -7
  832. package/src/layouts/Tags.stories.tsx +31 -32
  833. package/src/layouts/Timeline.stories.tsx +2 -2
  834. package/src/layouts/Toolbar.stories.tsx +19 -0
  835. package/src/layouts/ViewSwitcher.stories.tsx +11 -3
  836. package/src/layouts/ViewSwitcher.tsx +101 -48
  837. package/src/layouts/attachments.tsx +394 -186
  838. package/src/layouts/breadcrumbs.tsx +213 -75
  839. package/src/layouts/layouts.spec.tsx +32 -0
  840. package/src/layouts/page.tsx +103 -164
  841. package/src/layouts/pageHeadingScope.tsx +28 -2
  842. package/src/layouts/sidebar.tsx +184 -91
  843. package/src/layouts/tags-trigger.spec.tsx +8 -8
  844. package/src/layouts/tags.tsx +356 -159
  845. package/src/layouts/timeline-comments.spec.tsx +17 -0
  846. package/src/layouts/timeline.tsx +179 -65
  847. package/src/layouts/toolbar.tsx +78 -27
  848. package/src/shared/i18n.ts +26 -0
  849. package/src/shared/textRidesText.ts +57 -0
  850. package/src/shared/useReturnFocusOnClose.ts +7 -1
  851. package/src/surfaces.tsx +83 -22
  852. package/src/tamagui.spec.ts +19 -4
  853. package/src/tamagui.ts +14 -6
  854. package/src/views/Calendar.stories.tsx +2 -1
  855. package/src/views/Calendar.tsx +129 -81
  856. package/src/views/Dashboard.stories.tsx +132 -1
  857. package/src/views/Dashboard.tsx +440 -127
  858. package/src/views/Gantt.stories.tsx +6 -5
  859. package/src/views/Gantt.tsx +330 -61
  860. package/src/views/ImageGrid.stories.tsx +81 -17
  861. package/src/views/ImageGrid.tsx +176 -96
  862. package/src/views/Kanban.native.tsx +73 -42
  863. package/src/views/Kanban.stories.tsx +42 -26
  864. package/src/views/Kanban.tsx +68 -40
  865. package/src/views/List.stories.tsx +107 -29
  866. package/src/views/List.tsx +335 -109
  867. package/src/views/ReportBuilder.stories.tsx +28 -1
  868. package/src/views/ReportBuilder.tsx +647 -275
  869. package/src/views/TreeView.stories.tsx +19 -0
  870. package/src/views/TreeView.tsx +194 -59
  871. package/types/Accordion/index.d.ts +10 -2
  872. package/types/Accordion/index.d.ts.map +1 -1
  873. package/types/Alert/index.d.ts +8 -2
  874. package/types/Alert/index.d.ts.map +1 -1
  875. package/types/AnimateHeight/index.d.ts +48 -0
  876. package/types/AnimateHeight/index.d.ts.map +1 -0
  877. package/types/Avatar/getInitials.d.ts +26 -0
  878. package/types/Avatar/getInitials.d.ts.map +1 -1
  879. package/types/Avatar/index.d.ts +34 -11
  880. package/types/Avatar/index.d.ts.map +1 -1
  881. package/types/Badge/index.d.ts +17 -12
  882. package/types/Badge/index.d.ts.map +1 -1
  883. package/types/Button.d.ts +42 -0
  884. package/types/Button.d.ts.map +1 -0
  885. package/types/Carousel/index.d.ts.map +1 -1
  886. package/types/Chip/index.d.ts +41 -1
  887. package/types/Chip/index.d.ts.map +1 -1
  888. package/types/DotIndicator/index.d.ts +4 -3
  889. package/types/DotIndicator/index.d.ts.map +1 -1
  890. package/types/DropdownMenu/index.d.ts +39 -5
  891. package/types/DropdownMenu/index.d.ts.map +1 -1
  892. package/types/ErrorBoundary/index.d.ts +1 -1
  893. package/types/Pagination.d.ts.map +1 -1
  894. package/types/ProgressSteps/index.d.ts +20 -5
  895. package/types/ProgressSteps/index.d.ts.map +1 -1
  896. package/types/Quote/index.d.ts +4 -3
  897. package/types/Quote/index.d.ts.map +1 -1
  898. package/types/SheetModal/index.d.ts +7 -10
  899. package/types/SheetModal/index.d.ts.map +1 -1
  900. package/types/SheetModal/index.native.d.ts +6 -13
  901. package/types/SheetModal/index.native.d.ts.map +1 -1
  902. package/types/Skeleton/index.d.ts +40 -1
  903. package/types/Skeleton/index.d.ts.map +1 -1
  904. package/types/SkipLink/index.d.ts +5 -6
  905. package/types/SkipLink/index.d.ts.map +1 -1
  906. package/types/Tabs/index.d.ts +12 -10
  907. package/types/Tabs/index.d.ts.map +1 -1
  908. package/types/Toast/index.d.ts +32 -9
  909. package/types/Toast/index.d.ts.map +1 -1
  910. package/types/Toast/store.d.ts +59 -4
  911. package/types/Toast/store.d.ts.map +1 -1
  912. package/types/Tooltip/index.d.ts +50 -5
  913. package/types/Tooltip/index.d.ts.map +1 -1
  914. package/types/Video/PlayerChrome.d.ts +24 -0
  915. package/types/Video/PlayerChrome.d.ts.map +1 -0
  916. package/types/Video/VideoFrame.d.ts.map +1 -1
  917. package/types/Video/index.d.ts +3 -2
  918. package/types/Video/index.d.ts.map +1 -1
  919. package/types/Video/index.native.d.ts +3 -2
  920. package/types/Video/index.native.d.ts.map +1 -1
  921. package/types/Video/types.d.ts +7 -1
  922. package/types/Video/types.d.ts.map +1 -1
  923. package/types/Wheel/index.d.ts +10 -1
  924. package/types/Wheel/index.d.ts.map +1 -1
  925. package/types/charts/BarChart.d.ts +7 -1
  926. package/types/charts/BarChart.d.ts.map +1 -1
  927. package/types/charts/index.d.ts +1 -0
  928. package/types/charts/index.d.ts.map +1 -1
  929. package/types/code/CodeBlock/index.d.ts.map +1 -1
  930. package/types/feedback/ConfirmDialog.d.ts +6 -0
  931. package/types/feedback/ConfirmDialog.d.ts.map +1 -1
  932. package/types/icons/themed.d.ts.map +1 -1
  933. package/types/images/Image/ImageFrame.d.ts +40 -0
  934. package/types/images/Image/ImageFrame.d.ts.map +1 -0
  935. package/types/images/Image/index.d.ts +1 -1
  936. package/types/images/Image/index.d.ts.map +1 -1
  937. package/types/images/Image/index.native.d.ts +1 -1
  938. package/types/images/Image/index.native.d.ts.map +1 -1
  939. package/types/images/Image/shared.d.ts +13 -0
  940. package/types/images/Image/shared.d.ts.map +1 -0
  941. package/types/images/Image/types.d.ts +27 -1
  942. package/types/images/Image/types.d.ts.map +1 -1
  943. package/types/index.d.ts +6 -0
  944. package/types/index.d.ts.map +1 -1
  945. package/types/knobImmuneExports.d.ts +21 -0
  946. package/types/knobImmuneExports.d.ts.map +1 -0
  947. package/types/layouts/AsyncBoundary.d.ts +20 -2
  948. package/types/layouts/AsyncBoundary.d.ts.map +1 -1
  949. package/types/layouts/EmptyState.d.ts +26 -0
  950. package/types/layouts/EmptyState.d.ts.map +1 -0
  951. package/types/layouts/PageTemplates.d.ts +5 -3
  952. package/types/layouts/PageTemplates.d.ts.map +1 -1
  953. package/types/layouts/PaneScaffold.d.ts +27 -5
  954. package/types/layouts/PaneScaffold.d.ts.map +1 -1
  955. package/types/layouts/ViewSwitcher.d.ts +7 -4
  956. package/types/layouts/ViewSwitcher.d.ts.map +1 -1
  957. package/types/layouts/attachments.d.ts +4 -2
  958. package/types/layouts/attachments.d.ts.map +1 -1
  959. package/types/layouts/breadcrumbs.d.ts +13 -5
  960. package/types/layouts/breadcrumbs.d.ts.map +1 -1
  961. package/types/layouts/page.d.ts +16 -27
  962. package/types/layouts/page.d.ts.map +1 -1
  963. package/types/layouts/pageHeadingScope.d.ts +14 -1
  964. package/types/layouts/pageHeadingScope.d.ts.map +1 -1
  965. package/types/layouts/sidebar.d.ts +3 -1
  966. package/types/layouts/sidebar.d.ts.map +1 -1
  967. package/types/layouts/tags.d.ts +4 -1
  968. package/types/layouts/tags.d.ts.map +1 -1
  969. package/types/layouts/timeline.d.ts +7 -5
  970. package/types/layouts/timeline.d.ts.map +1 -1
  971. package/types/layouts/toolbar.d.ts +1 -1
  972. package/types/layouts/toolbar.d.ts.map +1 -1
  973. package/types/shared/i18n.d.ts +14 -0
  974. package/types/shared/i18n.d.ts.map +1 -0
  975. package/types/shared/textRidesText.d.ts +20 -0
  976. package/types/shared/textRidesText.d.ts.map +1 -0
  977. package/types/shared/useReturnFocusOnClose.d.ts.map +1 -1
  978. package/types/surfaces.d.ts +0 -14
  979. package/types/surfaces.d.ts.map +1 -1
  980. package/types/tamagui.d.ts +2 -3
  981. package/types/tamagui.d.ts.map +1 -1
  982. package/types/views/Calendar.d.ts.map +1 -1
  983. package/types/views/Dashboard.d.ts +68 -6
  984. package/types/views/Dashboard.d.ts.map +1 -1
  985. package/types/views/Gantt.d.ts +5 -0
  986. package/types/views/Gantt.d.ts.map +1 -1
  987. package/types/views/ImageGrid.d.ts +4 -0
  988. package/types/views/ImageGrid.d.ts.map +1 -1
  989. package/types/views/Kanban.d.ts.map +1 -1
  990. package/types/views/Kanban.native.d.ts +12 -1
  991. package/types/views/Kanban.native.d.ts.map +1 -1
  992. package/types/views/List.d.ts +45 -6
  993. package/types/views/List.d.ts.map +1 -1
  994. package/types/views/ReportBuilder.d.ts +8 -54
  995. package/types/views/ReportBuilder.d.ts.map +1 -1
  996. package/types/views/TreeView.d.ts +13 -11
  997. package/types/views/TreeView.d.ts.map +1 -1
@@ -30,7 +30,8 @@ module.exports = __toCommonJS(DotIndicator_exports);
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var import_theme = require("@multiplatform.one/theme");
32
32
  var import_react = require("@phosphor-icons/react");
33
- var import_react_i18next = require("react-i18next");
33
+ var import_react2 = require("react");
34
+ var import_i18n = require("../shared/i18n.native.js");
34
35
  var import_tamagui = require("tamagui");
35
36
  var import_componentColors = require("../componentColors.native.js");
36
37
  var import_t = require("../shared/t.native.js");
@@ -57,6 +58,7 @@ var dotGeometryMap = {
57
58
  }
58
59
  };
59
60
  var CHECK_MIN_DOT = 8;
61
+ var WINDOW = 5;
60
62
  function sizePx(value, fallback) {
61
63
  if (typeof value === "number") return value;
62
64
  if (typeof value === "string") {
@@ -66,11 +68,53 @@ function sizePx(value, fallback) {
66
68
  }
67
69
  return fallback;
68
70
  }
71
+ function idleMarkWidth(variant, itemSize, activeSize) {
72
+ if (variant === "pills") return Math.round(itemSize * 2.25);
73
+ if (variant === "bars") return Math.max(itemSize, Math.round(activeSize * 0.55));
74
+ return itemSize;
75
+ }
76
+ function activeMarkWidth(variant, itemSize, geometryActive) {
77
+ if (variant === "dots") return Math.round(itemSize * 2);
78
+ if (variant === "pills") return Math.round(itemSize * 3);
79
+ return geometryActive;
80
+ }
81
+ function windowRange(active, total) {
82
+ if (total <= WINDOW) return [0, Math.max(0, total - 1)];
83
+ var half = Math.floor(WINDOW / 2);
84
+ var start = active - half;
85
+ var end = active + half;
86
+ if (start < 0) {
87
+ end -= start;
88
+ start = 0;
89
+ }
90
+ if (end > total - 1) {
91
+ start -= end - (total - 1);
92
+ end = total - 1;
93
+ }
94
+ return [Math.max(0, start), end];
95
+ }
96
+ function windowScale(index, active, start, end, total) {
97
+ if (total <= WINDOW) return 1;
98
+ if (index < start || index > end) return 0;
99
+ var dist = Math.abs(index - active);
100
+ if (dist === 0) return 1;
101
+ if (dist === 1) return 0.72;
102
+ return 0.48;
103
+ }
104
+ function isRtl(node) {
105
+ var _node_closest;
106
+ if (typeof document === "undefined") return false;
107
+ 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");
108
+ var dir = fromNode || document.documentElement.dir;
109
+ return dir === "rtl";
110
+ }
69
111
  var DotsContainer = (0, import_tamagui.styled)(import_tamagui.XStack, {
70
112
  name: "DotIndicator",
71
113
  alignItems: "center",
72
114
  justifyContent: "center",
73
115
  gap: "$2",
116
+ // Outer +2px LC-71 ring on the painted mark must not clip at the strip edge.
117
+ overflow: "visible",
74
118
  variants: {
75
119
  // A rail seats the strip on a filled capsule instead of the page. It is a
76
120
  // variant of the strip rather than host chrome because the rail and the
@@ -93,11 +137,20 @@ var DotTarget = (0, import_tamagui.styled)(import_tamagui.View, {
93
137
  alignItems: "center",
94
138
  justifyContent: "center",
95
139
  backgroundColor: "transparent",
140
+ overflow: "visible",
141
+ borderRadius: 1e3,
142
+ // LC-71: the 44px hit box is not the perceived control (Chip ✕ rule). Rest,
143
+ // mouse-focus, and :focus-visible paint no ring here — the ring rides the
144
+ // painted mark via FOCUS_VISIBLE_RING when wasKeyboardFocus().
145
+ outlineWidth: 0,
146
+ outlineStyle: "none",
147
+ focusStyle: {
148
+ outlineWidth: 0,
149
+ outlineStyle: "none"
150
+ },
96
151
  focusVisibleStyle: {
97
- outlineColor: "$outlineColor",
98
- outlineWidth: 2,
99
- outlineStyle: "solid",
100
- outlineOffset: 1
152
+ outlineWidth: 0,
153
+ outlineStyle: "none"
101
154
  }
102
155
  });
103
156
  var Dot = (0, import_tamagui.styled)(import_tamagui.View, {
@@ -154,15 +207,19 @@ function DotIndicator(param) {
154
207
  var _getTokens_space_gap, _getTokens_space;
155
208
  var {
156
209
  t
157
- } = (0, import_react_i18next.useTranslation)();
210
+ } = (0, import_i18n.useTranslation)();
158
211
  var {
159
212
  knobProps
160
213
  } = (0, import_theme.useResolvedKnobs)();
214
+ var rootRef = (0, import_react2.useRef)(null);
215
+ var [kbFocusIndex, setKbFocusIndex] = (0, import_react2.useState)(null);
216
+ if (import_tamagui.isWeb) (0, import_theme.ensureKeyboardModalityTracking)();
161
217
  var gap = (_ref = gapProp !== null && gapProp !== void 0 ? gapProp : dotGapMap[knobProps.space]) !== null && _ref !== void 0 ? _ref : "$2";
162
218
  var geometry = (_dotGeometryMap_knobProps_sizeToken = dotGeometryMap[knobProps.sizeToken]) !== null && _dotGeometryMap_knobProps_sizeToken !== void 0 ? _dotGeometryMap_knobProps_sizeToken : dotGeometryMap.$4;
163
219
  var isTick = variant === "bars";
164
220
  var itemSize = sizePx(dotSize, isTick ? geometry.bar : geometry.dot);
165
- var activeSize = sizePx(activeDotSize, geometry.active);
221
+ var activeSize = sizePx(activeDotSize, activeMarkWidth(variant, itemSize, geometry.active));
222
+ var idleWidth = idleMarkWidth(variant, itemSize, activeSize);
166
223
  var gapPx = typeof gap === "number" ? gap : (_ref1 = (_getTokens_space = (0, import_tamagui.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;
167
224
  var slopX = Math.max(0, Math.floor((gapPx - 1) / 2));
168
225
  var outsetY = Math.max(0, Math.ceil((import_theme.MIN_PRESS_TARGET - itemSize) / 2));
@@ -170,12 +227,31 @@ function DotIndicator(param) {
170
227
  var isStep = idiom === "step";
171
228
  var label = isStep ? t("Go to step {{number}}") : t("Go to item {{number}}");
172
229
  var currentValue = isStep ? "step" : "true";
173
- var motionStyle = transition ? {
174
- transition: "width var(--mp-transition, 100ms) ease, height var(--mp-transition, 100ms) ease, background-color var(--mp-transition, 100ms) ease"
230
+ var motion = knobProps.transition ? transition !== null && transition !== void 0 ? transition : knobProps.transition : void 0;
231
+ var motionStyle = motion ? {
232
+ 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"
175
233
  } : void 0;
234
+ var clampedActive = Math.min(Math.max(0, activeIndex), Math.max(0, total - 1));
235
+ var [winStart, winEnd] = windowRange(clampedActive, total);
236
+ var focusMark = function focusMark2(index) {
237
+ requestAnimationFrame(function () {
238
+ var _rootRef_current_querySelector, _rootRef_current, _el_focus;
239
+ 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}"]`);
240
+ el === null || el === void 0 ? void 0 : (_el_focus = el.focus) === null || _el_focus === void 0 ? void 0 : _el_focus.call(el);
241
+ });
242
+ };
243
+ var moveTo = function moveTo2(index) {
244
+ var next = Math.min(Math.max(0, index), total - 1);
245
+ onChange === null || onChange === void 0 ? void 0 : onChange(next);
246
+ focusMark(next);
247
+ };
176
248
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotsContainer, {
249
+ ref: rootRef,
177
250
  gap,
178
251
  rail,
252
+ ...(interactive ? {
253
+ role: "group"
254
+ } : void 0),
179
255
  ...(rail ? {
180
256
  paddingHorizontal: knobProps.panelPadding.padding,
181
257
  height: knobProps.sizeToken
@@ -185,16 +261,23 @@ function DotIndicator(param) {
185
261
  }).map(function (_, index) {
186
262
  var isActive = index === activeIndex;
187
263
  var isCompleted = !isActive && !!(completedSteps === null || completedSteps === void 0 ? void 0 : completedSteps.has(index));
188
- var dotWidth = isActive ? activeSize : itemSize;
264
+ var scale = windowScale(index, clampedActive, winStart, winEnd, total);
265
+ var hidden = scale === 0;
266
+ var baseWidth = isActive ? activeSize : idleWidth;
267
+ var dotWidth = Math.max(1, Math.round(baseWidth * scale));
268
+ var dotHeight = Math.max(1, Math.round(itemSize * scale));
189
269
  var restingFill = isCompleted ? import_componentColors.componentColors.indicator.completed : rail ?
190
270
  // Idle chrome steps up the ramp on a rail so the dot still
191
271
  // separates from the capsule fill it sits on.
192
272
  import_componentColors.componentColors.indicator.track : import_componentColors.componentColors.indicator.inactive;
273
+ var kbRing = kbFocusIndex === index;
193
274
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DotTarget, {
275
+ display: hidden ? "none" : "flex",
194
276
  width: dotWidth + slopX * 2,
195
277
  minHeight: import_theme.MIN_PRESS_TARGET,
196
278
  marginHorizontal: -slopX,
197
279
  marginVertical: -outsetY,
280
+ zIndex: kbRing ? 1 : void 0,
198
281
  cursor: interactive ? "pointer" : disabled ? "not-allowed" : "default",
199
282
  onPress: interactive ? function () {
200
283
  return onChange === null || onChange === void 0 ? void 0 : onChange(index);
@@ -202,16 +285,45 @@ function DotIndicator(param) {
202
285
  "aria-label": (0, import_t.withInterp)(label, {
203
286
  number: index + 1
204
287
  }),
288
+ ...{
289
+ "data-dot-index": String(index)
290
+ },
291
+ ...(hidden ? {
292
+ "data-dot-hidden": "true"
293
+ } : void 0),
205
294
  ...(isActive ? {
206
295
  "aria-current": currentValue
207
296
  } : void 0),
208
297
  ...(interactive ? {
209
298
  role: "button",
210
299
  tabIndex: 0,
300
+ onFocus: function onFocus() {
301
+ if (!import_tamagui.isWeb || (0, import_theme.wasKeyboardFocus)()) setKbFocusIndex(index);
302
+ },
303
+ onBlur: function onBlur() {
304
+ setKbFocusIndex(function (prev) {
305
+ return prev === index ? null : prev;
306
+ });
307
+ },
211
308
  onKeyDown: function onKeyDown(e) {
212
309
  if (e.key === "Enter" || e.key === " ") {
213
310
  e.preventDefault();
214
311
  onChange === null || onChange === void 0 ? void 0 : onChange(index);
312
+ return;
313
+ }
314
+ var rtl = isRtl(e.currentTarget);
315
+ if (e.key === "ArrowRight") {
316
+ e.preventDefault();
317
+ moveTo(index + (rtl ? -1 : 1));
318
+ } else if (e.key === "ArrowLeft") {
319
+ e.preventDefault();
320
+ moveTo(index + (rtl ? 1 : -1));
321
+ } else if (e.key === "Home") {
322
+ e.preventDefault();
323
+ moveTo(0);
324
+ } else if (e.key === "End") {
325
+ e.preventDefault();
326
+ moveTo(total - 1);
215
327
  }
216
328
  }
217
329
  } : disabled ? {
@@ -231,13 +343,21 @@ function DotIndicator(param) {
231
343
  } : void 0)
232
344
  }),
233
345
  width: dotWidth,
234
- height: itemSize,
346
+ height: dotHeight,
235
347
  disabled,
236
- transition,
348
+ transition: motion,
237
349
  style: motionStyle,
350
+ ...(kbRing ? import_theme.FOCUS_VISIBLE_RING : {
351
+ outlineWidth: 0
352
+ }),
238
353
  ...{
239
- [dotStateAttribute]: isActive ? "active" : "idle"
354
+ [dotStateAttribute]: isActive ? "active" : "idle",
355
+ "data-mark-width": String(dotWidth),
356
+ "data-mark-height": String(dotHeight)
240
357
  },
358
+ ...(kbRing ? {
359
+ "data-dot-ring": "true"
360
+ } : void 0),
241
361
  children: isCompleted && !isTick && itemSize >= CHECK_MIN_DOT && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CheckIcon, {
242
362
  size: 8,
243
363
  color: "white",
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DotIndicator_exports","__export","DotIndicator","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react_i18next","import_tamagui","import_componentColors","import_t","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","sizePx","fallback","_getTokens_size_value","_getTokens_size","token","getTokens","size","val","DotsContainer","styled","XStack","name","alignItems","justifyContent","gap","variants","rail","true","backgroundColor","componentColors","interactive","background","radiusClassProps","borderRadius","DotTarget","View","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","outlineOffset","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","param","total","activeIndex","onChange","variant","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","useTranslation","knobProps","useResolvedKnobs","space","geometry","sizeToken","isTick","itemSize","activeSize","gapPx","slopX","Math","max","floor","outsetY","ceil","MIN_PRESS_TARGET","isStep","label","currentValue","motionStyle","jsx","paddingHorizontal","panelPadding","padding","height","children","Array","from","length","map","_","index","isActive","isCompleted","has","dotWidth","restingFill","completed","track","width","minHeight","marginHorizontal","marginVertical","cursor","onPress","withInterp","number","role","tabIndex","onKeyDown","e","key","preventDefault"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","DotIndicator_exports","__export","DotIndicator","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react2","import_i18n","import_tamagui","import_componentColors","import_t","dotGapMap","small","medium","large","dotGeometryMap","$3","dot","bar","active","$4","$5","CHECK_MIN_DOT","WINDOW","sizePx","fallback","_getTokens_size_value","_getTokens_size","token","getTokens","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","styled","XStack","name","alignItems","justifyContent","gap","overflow","variants","rail","true","backgroundColor","componentColors","interactive","background","radiusClassProps","borderRadius","DotTarget","View","outlineWidth","outlineStyle","focusStyle","focusVisibleStyle","Dot","indicator","inactive","hoverStyle","hover","selected","disabled","opacity","param","activeIndex","onChange","gapProp","completedSteps","idiom","dotSize","activeDotSize","transition","dotStateAttribute","_ref","_dotGeometryMap_knobProps_sizeToken","_ref1","_getTokens_space_gap","_getTokens_space","t","useTranslation","knobProps","useResolvedKnobs","rootRef","useRef","kbFocusIndex","setKbFocusIndex","useState","isWeb","ensureKeyboardModalityTracking","space","geometry","sizeToken","isTick","idleWidth","gapPx","slopX","outsetY","ceil","MIN_PRESS_TARGET","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","jsx","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","withInterp","number","String","tabIndex","onFocus","wasKeyboardFocus","onBlur","prev","onKeyDown","e","key","preventDefault","rtl","currentTarget"],"sources":["../../../src/DotIndicator/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -42,20 +42,24 @@ const ItemRow = (0, import_tamagui.styled)(import_tamagui.XStack, {
42
42
  ...import_theme.menuRowFrame,
43
43
  gap: "$2.5",
44
44
  cursor: "pointer",
45
+ // LC-72 CONTAINER-CLIP: rows stay square; the overlay clips outer corners.
46
+ // LC-71: rest and pointer-origin focus paint no ring. Keyboard ring is
47
+ // applied per-row via keyboardFocusRingProps (inset so overflow:hidden
48
+ // does not sever it) when wasKeyboardFocus().
49
+ outlineWidth: 0,
45
50
  hoverStyle: {
46
51
  backgroundColor: import_componentColors.componentColors.interactive.hover
47
52
  },
48
53
  pressStyle: {
49
54
  backgroundColor: import_componentColors.componentColors.interactive.active
50
55
  },
51
- // Focus highlight doubles as the roving-focus indicator (full-width row).
52
56
  focusStyle: {
53
57
  backgroundColor: import_componentColors.componentColors.interactive.hover,
54
- outlineStyle: "none"
58
+ outlineWidth: 0
55
59
  },
56
60
  focusVisibleStyle: {
57
61
  backgroundColor: import_componentColors.componentColors.interactive.hover,
58
- outlineStyle: "none"
62
+ outlineWidth: 0
59
63
  },
60
64
  variants: {
61
65
  disabled: {
@@ -90,7 +94,8 @@ function DropdownMenuRoot({
90
94
  defaultOpen = false,
91
95
  onOpenChange,
92
96
  placement = "bottom-start",
93
- maxHeight
97
+ maxHeight,
98
+ closeOnSelect
94
99
  }) {
95
100
  const [open, setOpen] = (0, import_tamagui.useControllableState)({
96
101
  prop: openProp,
@@ -98,6 +103,7 @@ function DropdownMenuRoot({
98
103
  onChange: onOpenChange
99
104
  });
100
105
  const triggerRef = (0, import_react.useRef)(null);
106
+ const pendingFocusRef = (0, import_react.useRef)("first");
101
107
  const close = (0, import_react.useCallback)(() => {
102
108
  setOpen(false);
103
109
  if (import_tamagui.isWeb) {
@@ -109,15 +115,17 @@ function DropdownMenuRoot({
109
115
  open,
110
116
  setOpen,
111
117
  triggerRef,
112
- close
113
- }), [open, setOpen, close]);
118
+ close,
119
+ closeOnSelect,
120
+ pendingFocusRef
121
+ }), [open, setOpen, close, closeOnSelect]);
114
122
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuContext.Provider, {
115
123
  value: ctx,
116
124
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover, {
117
125
  open,
118
126
  onOpenChange: setOpen,
119
127
  placement,
120
- offset: 4,
128
+ offset: import_theme.OVERLAY_ANCHOR_GAP,
121
129
  stayInFrame: true,
122
130
  allowFlip: true,
123
131
  children: items ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
@@ -129,6 +137,8 @@ function DropdownMenuRoot({
129
137
  children: items.map((entry, index) => "separator" in entry && entry.separator ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuSeparator, {}, `separator-${index}`) : "checked" in entry && entry.checked !== void 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuCheckboxItem, {
130
138
  checked: entry.checked,
131
139
  onCheckedChange: entry.onCheckedChange,
140
+ onSelect: entry.onSelect,
141
+ closeOnSelect: entry.closeOnSelect,
132
142
  disabled: entry.disabled,
133
143
  disabledReason: entry.disabledReason,
134
144
  shortcut: entry.shortcut,
@@ -139,6 +149,7 @@ function DropdownMenuRoot({
139
149
  disabled: entry.disabled,
140
150
  disabledReason: entry.disabledReason,
141
151
  destructive: entry.destructive,
152
+ closeOnSelect: entry.closeOnSelect,
142
153
  onSelect: entry.onSelect,
143
154
  children: entry.label
144
155
  }, entry.key ?? index))
@@ -166,13 +177,18 @@ const DropdownMenuTrigger = (0, import_react.forwardRef)(function DropdownMenuTr
166
177
  const handleKeyDown = e => {
167
178
  onKeyDown?.(e);
168
179
  if (e.repeat) return;
169
- if (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") {
180
+ if (e.key === "Enter" || e.key === " " || e.key === "ArrowDown" || e.key === "ArrowUp") {
170
181
  swallowNextKeyUp(e.key);
171
182
  if (e.defaultPrevented) return;
172
183
  e.preventDefault();
173
184
  if (e.key === "ArrowDown") {
185
+ ctx.pendingFocusRef.current = "first";
186
+ if (!ctx.open) ctx.setOpen(true);
187
+ } else if (e.key === "ArrowUp") {
188
+ ctx.pendingFocusRef.current = "last";
174
189
  if (!ctx.open) ctx.setOpen(true);
175
190
  } else {
191
+ ctx.pendingFocusRef.current = "first";
176
192
  ctx.setOpen(!ctx.open);
177
193
  }
178
194
  }
@@ -190,7 +206,7 @@ const DropdownMenuTrigger = (0, import_react.forwardRef)(function DropdownMenuTr
190
206
  const DropdownMenuContent = (0, import_react.forwardRef)(function DropdownMenuContent2({
191
207
  children,
192
208
  maxHeight,
193
- minWidth = 200,
209
+ minWidth,
194
210
  ...props
195
211
  }, forwardedRef) {
196
212
  const ctx = useDropdownMenuContext("Content");
@@ -198,11 +214,21 @@ const DropdownMenuContent = (0, import_react.forwardRef)(function DropdownMenuCo
198
214
  knobProps
199
215
  } = (0, import_theme.useResolvedKnobs)();
200
216
  const innerRef = (0, import_react.useRef)(null);
217
+ const [triggerWidth, setTriggerWidth] = (0, import_react.useState)(void 0);
218
+ (0, import_react.useLayoutEffect)(() => {
219
+ if (!import_tamagui.isWeb || !ctx.open) return;
220
+ const node = ctx.triggerRef.current;
221
+ if (node && typeof node.getBoundingClientRect === "function") {
222
+ setTriggerWidth(Math.ceil(node.getBoundingClientRect().width));
223
+ }
224
+ }, [ctx.open, ctx.triggerRef]);
225
+ const resolvedMinWidth = minWidth ?? triggerWidth;
201
226
  const composedRef = (0, import_tamagui.useComposedRefs)(innerRef, forwardedRef);
202
227
  const typeahead = (0, import_react.useRef)({
203
228
  buffer: "",
204
229
  at: 0
205
230
  });
231
+ if (import_tamagui.isWeb) (0, import_theme.ensureKeyboardModalityTracking)();
206
232
  const getItems = (0, import_react.useCallback)(() => {
207
233
  const node = innerRef.current;
208
234
  if (!node) return [];
@@ -213,8 +239,13 @@ const DropdownMenuContent = (0, import_react.forwardRef)(function DropdownMenuCo
213
239
  }, []);
214
240
  const handleOpenAutoFocus = (0, import_react.useCallback)(event => {
215
241
  event.preventDefault();
216
- requestAnimationFrame(() => focusItem(getItems()[0]));
217
- }, [focusItem, getItems]);
242
+ const prefer = ctx.pendingFocusRef.current;
243
+ ctx.pendingFocusRef.current = "first";
244
+ requestAnimationFrame(() => {
245
+ const items = getItems();
246
+ focusItem(prefer === "last" ? items[items.length - 1] : items[0]);
247
+ });
248
+ }, [ctx, focusItem, getItems]);
218
249
  const handleCloseAutoFocus = (0, import_react.useCallback)(event => {
219
250
  event.preventDefault();
220
251
  const node = ctx.triggerRef.current;
@@ -285,7 +316,7 @@ const DropdownMenuContent = (0, import_react.forwardRef)(function DropdownMenuCo
285
316
  ...knobProps.elevatedSurface,
286
317
  padding: 0,
287
318
  overflow: "hidden",
288
- minWidth,
319
+ minWidth: resolvedMinWidth,
289
320
  transition: knobProps.transition,
290
321
  enterStyle: {
291
322
  opacity: 0,
@@ -323,7 +354,8 @@ const DropdownMenuItemBody = (0, import_react.forwardRef)(function DropdownMenuI
323
354
  disabledReason,
324
355
  destructive = false,
325
356
  onSelect,
326
- closeOnSelect = true,
357
+ closeOnSelect,
358
+ closeOnSelectDefault = true,
327
359
  role = "menuitem",
328
360
  leading,
329
361
  ...props
@@ -333,6 +365,9 @@ const DropdownMenuItemBody = (0, import_react.forwardRef)(function DropdownMenuI
333
365
  knobProps
334
366
  } = (0, import_theme.useResolvedKnobs)();
335
367
  const theme = (0, import_tamagui.useTheme)();
368
+ const [kbRing, setKbRing] = (0, import_react.useState)(false);
369
+ const [highlighted, setHighlighted] = (0, import_react.useState)(false);
370
+ const pointerIntentRef = (0, import_react.useRef)(false);
336
371
  (0, import_theme.warnBareDisabled)({
337
372
  component: "DropdownMenu.Item",
338
373
  id: typeof children === "string" ? children : void 0,
@@ -341,12 +376,29 @@ const DropdownMenuItemBody = (0, import_react.forwardRef)(function DropdownMenuI
341
376
  });
342
377
  const explainedDisable = disabled && Boolean(disabledReason?.trim());
343
378
  const iconColor = destructive ? theme.red11?.get() : theme.color12?.get();
379
+ const shouldCloseOnSelect = closeOnSelect ?? ctx.closeOnSelect ?? closeOnSelectDefault;
344
380
  const handleSelect = () => {
345
381
  if (disabled) return;
346
382
  onSelect?.();
347
- if (closeOnSelect) ctx.close();
383
+ if (shouldCloseOnSelect) ctx.close();
348
384
  };
349
385
  const textColor = destructive ? "$red11" : import_componentColors.componentColors.text.primary;
386
+ const highlightFill = destructive && !disabled ? {
387
+ hoverStyle: {
388
+ backgroundColor: "$red3"
389
+ },
390
+ pressStyle: {
391
+ backgroundColor: "$red4"
392
+ }
393
+ } : void 0;
394
+ const focusFill = destructive && !disabled ? {
395
+ backgroundColor: "$red3"
396
+ } : {
397
+ backgroundColor: import_componentColors.componentColors.interactive.hover
398
+ };
399
+ const ring = kbRing ? import_theme.keyboardFocusRingProps : {
400
+ outlineWidth: 0
401
+ };
350
402
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ItemRow, {
351
403
  ref: forwardedRef,
352
404
  role,
@@ -355,30 +407,50 @@ const DropdownMenuItemBody = (0, import_react.forwardRef)(function DropdownMenuI
355
407
  minHeight: knobProps.sizeToken,
356
408
  transition: knobProps.transition,
357
409
  onPress: handleSelect,
410
+ ...highlightFill,
411
+ ...(explainedDisable ? {
412
+ paddingVertical: "$1.5"
413
+ } : {}),
414
+ ...props,
358
415
  ...(import_tamagui.isWeb ? {
359
416
  tabIndex: -1,
360
- [MENU_ITEM_ATTR]: ""
361
- // Enter/Space activation is handled by the menu-level native
362
- // keydown listener in Content (single source, no double-fire).
363
- } : {}),
364
- ...(destructive && !disabled ? {
365
- hoverStyle: {
366
- backgroundColor: "$red3"
417
+ [MENU_ITEM_ATTR]: "",
418
+ // Radix: pointer-move moves highlight so hover and keyboard
419
+ // never paint two rows at once. LC-71: ring only when the
420
+ // focus is keyboard-origin — pointer-move sets a local flag
421
+ // so wasKeyboardFocus() (still true until pointerdown) does
422
+ // not keep the ring after the mouse takes over.
423
+ onFocus: () => {
424
+ setHighlighted(true);
425
+ setKbRing((0, import_theme.wasKeyboardFocus)() && !pointerIntentRef.current);
426
+ pointerIntentRef.current = false;
367
427
  },
368
- pressStyle: {
369
- backgroundColor: "$red4"
428
+ onBlur: () => {
429
+ setHighlighted(false);
430
+ setKbRing(false);
370
431
  },
371
- focusStyle: {
372
- backgroundColor: "$red3"
432
+ onPointerMove: e => {
433
+ if (disabled) return;
434
+ if (e.pointerType && e.pointerType !== "mouse") return;
435
+ const node = e.currentTarget;
436
+ if (document.activeElement === node) return;
437
+ pointerIntentRef.current = true;
438
+ node.focus();
373
439
  },
374
- focusVisibleStyle: {
375
- backgroundColor: "$red3"
376
- }
377
- } : {}),
378
- ...(explainedDisable ? {
379
- paddingVertical: "$1.5"
440
+ "data-highlighted": highlighted ? "true" : void 0,
441
+ "data-mp-kb-ring": kbRing ? "true" : void 0
380
442
  } : {}),
381
- ...props,
443
+ ...(kbRing ? import_theme.keyboardFocusRingProps : {
444
+ outlineWidth: 0
445
+ }),
446
+ focusStyle: {
447
+ ...focusFill,
448
+ ...ring
449
+ },
450
+ focusVisibleStyle: {
451
+ ...focusFill,
452
+ ...ring
453
+ },
382
454
  children: [leading, icon ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
383
455
  flexShrink: 0,
384
456
  alignItems: "center",
@@ -431,15 +503,6 @@ const DropdownMenuItemBody = (0, import_react.forwardRef)(function DropdownMenuI
431
503
  });
432
504
  });
433
505
  const DropdownMenuItem = (0, import_react.forwardRef)(function DropdownMenuItem2(props, ref) {
434
- if (props.destructive) {
435
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme.Intent, {
436
- name: "error",
437
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuItemBody, {
438
- ref,
439
- ...props
440
- })
441
- });
442
- }
443
506
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuItemBody, {
444
507
  ref,
445
508
  ...props
@@ -448,15 +511,18 @@ const DropdownMenuItem = (0, import_react.forwardRef)(function DropdownMenuItem2
448
511
  const DropdownMenuCheckboxItem = (0, import_react.forwardRef)(function DropdownMenuCheckboxItem2({
449
512
  checked,
450
513
  onCheckedChange,
451
- closeOnSelect = false,
514
+ onSelect,
452
515
  ...props
453
516
  }, ref) {
454
517
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(DropdownMenuItemBody, {
455
518
  ref,
456
519
  role: "menuitemcheckbox",
457
520
  "aria-checked": checked,
458
- closeOnSelect,
459
- onSelect: () => onCheckedChange?.(!checked),
521
+ closeOnSelectDefault: false,
522
+ onSelect: () => {
523
+ onCheckedChange?.(!checked);
524
+ onSelect?.();
525
+ },
460
526
  leading: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
461
527
  width: 18,
462
528
  flexShrink: 0,