@multiplatform.one/components 6.7.0 → 7.1.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
@@ -0,0 +1,216 @@
1
+ import { ImageIcon } from "@phosphor-icons/react";
2
+ import { MIN_PRESS_TARGET, pressTargetHitSlop, pressTargetStyle, stackRadiusProps, useGroupPosition, useResolvedKnobs } from "@multiplatform.one/theme";
3
+ import { Image as TamaguiImage, View, isWeb } from "tamagui";
4
+ import { componentColors } from "../../componentColors.mjs";
5
+ import { Skeleton } from "../../Skeleton/index.mjs";
6
+ import { isThumbnailSize, thumbnailPx as resolveThumbnailPx } from "./shared.mjs";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ function glyphSize(px) {
9
+ return Math.max(14, Math.min(28, Math.round(px * 0.42)));
10
+ }
11
+ function DefaultFallback({
12
+ px
13
+ }) {
14
+ return /* @__PURE__ */jsx(View, {
15
+ "data-image-fallback": "",
16
+ width: "100%",
17
+ height: "100%",
18
+ minHeight: px,
19
+ alignItems: "center",
20
+ justifyContent: "center",
21
+ backgroundColor: "$color3",
22
+ children: /* @__PURE__ */jsx(ImageIcon, {
23
+ size: glyphSize(px),
24
+ color: componentColors.text.muted
25
+ })
26
+ });
27
+ }
28
+ function ImageFrame({
29
+ children,
30
+ alt,
31
+ fill = false,
32
+ framed = false,
33
+ compact = false,
34
+ groupPosition,
35
+ groupOrientation = "horizontal",
36
+ thumbnailPx: thumbnailPxProp,
37
+ size,
38
+ width,
39
+ height,
40
+ aspectRatio,
41
+ borderRadius: borderRadiusProp,
42
+ objectFit,
43
+ objectPosition: _objectPosition,
44
+ onPress,
45
+ disabled = false,
46
+ hasSource,
47
+ status,
48
+ placeholder = "empty",
49
+ placeholderSrc,
50
+ fallback,
51
+ ...props
52
+ }) {
53
+ const {
54
+ knobProps,
55
+ control,
56
+ disabledState
57
+ } = useResolvedKnobs({
58
+ component: "Image",
59
+ compact
60
+ });
61
+ const ctxPosition = useGroupPosition();
62
+ const position = groupPosition ?? ctxPosition;
63
+ const nestedPx = knobProps.nestedControl.px;
64
+ const thumbnailPx = thumbnailPxProp ?? (size != null && (isThumbnailSize(size) || typeof size === "number") ? resolveThumbnailPx(size, nestedPx, compact) : void 0);
65
+ const hasPress = Boolean(onPress);
66
+ const interactive = hasPress && !disabled;
67
+ const visualPx = thumbnailPx ?? (typeof width === "number" && typeof height === "number" ? Math.min(width, height) : void 0);
68
+ const needsHitSlop = hasPress && visualPx != null && visualPx < MIN_PRESS_TARGET;
69
+ const minTarget = hasPress && visualPx == null ? pressTargetStyle() : void 0;
70
+ const radiusToken = knobProps.borderRadius.borderRadius;
71
+ const radiusValue = borderRadiusProp ?? radiusToken;
72
+ const radiusFragment = position ? stackRadiusProps(position, radiusValue, groupOrientation) : {
73
+ borderRadius: radiusValue,
74
+ className: knobProps.borderRadius.className
75
+ };
76
+ const heightOnly = typeof height !== "undefined" && typeof width === "undefined" && typeof aspectRatio === "undefined" && thumbnailPx == null && !fill;
77
+ const square = thumbnailPx != null;
78
+ const frameWidth = square ? thumbnailPx : width;
79
+ const frameHeight = square ? thumbnailPx : height;
80
+ const frameAspect = square ? 1 : aspectRatio;
81
+ const fallbackPx = visualPx ?? nestedPx;
82
+ const showPlaceholder = status === "loading" && placeholder != null && placeholder !== "empty" && hasSource;
83
+ const showFallback = status === "error" || !hasSource;
84
+ const handleKeyDown = e => {
85
+ if (!interactive) return;
86
+ if (e.key === "Enter" || e.key === " ") {
87
+ e.preventDefault?.();
88
+ onPress?.();
89
+ }
90
+ };
91
+ const pressA11y = hasPress ? isWeb ? {
92
+ role: "button",
93
+ tabIndex: disabled ? -1 : 0,
94
+ "aria-label": alt || void 0,
95
+ "aria-disabled": disabled || void 0,
96
+ onKeyDown: handleKeyDown
97
+ } : {
98
+ accessibilityRole: "button",
99
+ accessibilityLabel: alt || void 0,
100
+ accessibilityState: {
101
+ disabled
102
+ }
103
+ } : isWeb ? null : {
104
+ accessible: false
105
+ };
106
+ const painted = /* @__PURE__ */jsx(View, {
107
+ "data-image-frame": "",
108
+ "data-nested-px": thumbnailPx === nestedPx ? nestedPx : void 0,
109
+ "data-group-position": position,
110
+ overflow: "hidden",
111
+ position: fill ? "absolute" : "relative",
112
+ ...(fill ? {
113
+ top: 0,
114
+ left: 0,
115
+ right: 0,
116
+ bottom: 0,
117
+ width: "100%",
118
+ height: "100%"
119
+ } : null),
120
+ ...(!fill && frameWidth != null ? {
121
+ width: frameWidth
122
+ } : null),
123
+ ...(!fill && frameHeight != null ? {
124
+ height: frameHeight
125
+ } : null),
126
+ ...(!fill && frameAspect != null ? {
127
+ aspectRatio: frameAspect
128
+ } : null),
129
+ ...(heightOnly ? {
130
+ width: "auto",
131
+ alignSelf: "flex-start"
132
+ } : null),
133
+ ...radiusFragment,
134
+ ...(framed ? {
135
+ backgroundColor: knobProps.surface.backgroundColor,
136
+ borderColor: knobProps.surface.borderColor,
137
+ borderWidth: knobProps.surface.borderWidth
138
+ } : null),
139
+ ...(hasPress ? {
140
+ cursor: disabled ? "not-allowed" : "pointer",
141
+ outlineWidth: 0,
142
+ hoverStyle: interactive ? framed ? control.hoverKnobProps : {
143
+ opacity: 0.92
144
+ } : void 0,
145
+ pressStyle: interactive ? framed ? control.pressKnobProps : {
146
+ opacity: 0.85
147
+ } : void 0,
148
+ focusVisibleStyle: interactive ? control.focusVisibleKnobProps : void 0,
149
+ // onPress rides in loose (zero-or-event) so callers can forward the
150
+ // RN/Tamagui handler; re-emit it to the View as an event handler.
151
+ onPress: interactive ? onPress : void 0,
152
+ ...(!isWeb && needsHitSlop ? {
153
+ hitSlop: pressTargetHitSlop(visualPx ?? nestedPx)
154
+ } : null),
155
+ ...minTarget,
156
+ ...pressA11y
157
+ } : pressA11y),
158
+ ...(disabled && hasPress ? disabledState.chromeKnobProps : null),
159
+ ...props,
160
+ children: showFallback ? fallback ?? /* @__PURE__ */jsx(DefaultFallback, {
161
+ px: fallbackPx
162
+ }) : /* @__PURE__ */jsxs(Fragment, {
163
+ children: [children, showPlaceholder ? /* @__PURE__ */jsx(View, {
164
+ position: "absolute",
165
+ top: 0,
166
+ left: 0,
167
+ right: 0,
168
+ bottom: 0,
169
+ pointerEvents: "none",
170
+ children: placeholder === "blur" && placeholderSrc ? /* @__PURE__ */jsx(TamaguiImage, {
171
+ src: placeholderSrc,
172
+ alt: "",
173
+ width: "100%",
174
+ height: "100%",
175
+ objectFit: objectFit ?? "cover",
176
+ ...(isWeb ? {
177
+ style: {
178
+ filter: "blur(12px)"
179
+ }
180
+ } : {
181
+ blurRadius: 12
182
+ })
183
+ }) : placeholder === "blur" || placeholder === "skeleton" ? /* @__PURE__ */jsx(Skeleton, {
184
+ width: "100%",
185
+ height: "100%",
186
+ variant: "rounded"
187
+ }) : placeholder
188
+ }) : null]
189
+ })
190
+ });
191
+ if (isWeb && needsHitSlop) {
192
+ return /* @__PURE__ */jsx(View, {
193
+ alignItems: "center",
194
+ justifyContent: "center",
195
+ backgroundColor: "transparent",
196
+ ...pressTargetStyle(),
197
+ children: painted
198
+ });
199
+ }
200
+ return painted;
201
+ }
202
+ function mediaFillProps(opts) {
203
+ const constrained = opts.fill || opts.thumbnail || opts.width != null && opts.height != null || opts.width != null && opts.aspectRatio != null || opts.height != null && opts.aspectRatio != null;
204
+ const heightOnly = opts.height != null && opts.width == null && opts.aspectRatio == null && !opts.fill && !opts.thumbnail;
205
+ return {
206
+ width: constrained ? "100%" : heightOnly ? "auto" : opts.width != null ? "100%" : void 0,
207
+ height: constrained ? "100%" : heightOnly ? "100%" : void 0,
208
+ objectFit: opts.objectFit,
209
+ ...(opts.objectPosition ? {
210
+ objectPosition: opts.objectPosition
211
+ } : null),
212
+ display: "block"
213
+ };
214
+ }
215
+ export { ImageFrame, mediaFillProps };
216
+ //# sourceMappingURL=ImageFrame.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ImageIcon","MIN_PRESS_TARGET","pressTargetHitSlop","pressTargetStyle","stackRadiusProps","useGroupPosition","useResolvedKnobs","Image","TamaguiImage","View","isWeb","componentColors","Skeleton","isThumbnailSize","thumbnailPx","resolveThumbnailPx","Fragment","jsx","jsxs","glyphSize","px","Math","max","min","round","DefaultFallback","width","height","minHeight","alignItems","justifyContent","backgroundColor","children","size","color","text","muted","ImageFrame","alt","fill","framed","compact","groupPosition","groupOrientation","thumbnailPxProp","aspectRatio","borderRadius","borderRadiusProp","objectFit","objectPosition","_objectPosition","onPress","disabled","hasSource","status","placeholder","placeholderSrc","fallback","props","knobProps","control","disabledState","component","ctxPosition","position","nestedPx","nestedControl","hasPress","Boolean","interactive","visualPx","needsHitSlop","minTarget","radiusToken","radiusValue","radiusFragment","className","heightOnly","square","frameWidth","frameHeight","frameAspect","fallbackPx","showPlaceholder","showFallback","handleKeyDown","e","key","preventDefault","pressA11y","role","tabIndex","onKeyDown","accessibilityRole","accessibilityLabel","accessibilityState","accessible","painted","overflow","top","left","right","bottom","alignSelf","surface","borderColor","borderWidth","cursor","outlineWidth","hoverStyle","hoverKnobProps","opacity","pressStyle","pressKnobProps","focusVisibleStyle","focusVisibleKnobProps","hitSlop","chromeKnobProps","pointerEvents","src","style","filter","blurRadius","variant","mediaFillProps","opts","constrained","thumbnail","display"],"sources":["../../../../src/images/Image/ImageFrame.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var ImageFrame_exports = {};
26
+ __export(ImageFrame_exports, {
27
+ ImageFrame: () => ImageFrame,
28
+ mediaFillProps: () => mediaFillProps
29
+ });
30
+ module.exports = __toCommonJS(ImageFrame_exports);
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var import_react = require("@phosphor-icons/react");
33
+ var import_theme = require("@multiplatform.one/theme");
34
+ var import_tamagui = require("tamagui");
35
+ var import_componentColors = require("../../componentColors.native.js");
36
+ var import_Skeleton = require("../../Skeleton/index.native.js");
37
+ var import_shared = require("./shared.native.js");
38
+ function glyphSize(px) {
39
+ return Math.max(14, Math.min(28, Math.round(px * 0.42)));
40
+ }
41
+ function DefaultFallback(param) {
42
+ var {
43
+ px
44
+ } = param;
45
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
46
+ "data-image-fallback": "",
47
+ width: "100%",
48
+ height: "100%",
49
+ minHeight: px,
50
+ alignItems: "center",
51
+ justifyContent: "center",
52
+ backgroundColor: "$color3",
53
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ImageIcon, {
54
+ size: glyphSize(px),
55
+ color: import_componentColors.componentColors.text.muted
56
+ })
57
+ });
58
+ }
59
+ function ImageFrame(param) {
60
+ var {
61
+ children,
62
+ alt,
63
+ fill = false,
64
+ framed = false,
65
+ compact = false,
66
+ groupPosition,
67
+ groupOrientation = "horizontal",
68
+ thumbnailPx: thumbnailPxProp,
69
+ size,
70
+ width,
71
+ height,
72
+ aspectRatio,
73
+ borderRadius: borderRadiusProp,
74
+ objectFit,
75
+ objectPosition: _objectPosition,
76
+ onPress,
77
+ disabled = false,
78
+ hasSource,
79
+ status,
80
+ placeholder = "empty",
81
+ placeholderSrc,
82
+ fallback,
83
+ ...props
84
+ } = param;
85
+ var {
86
+ knobProps,
87
+ control,
88
+ disabledState
89
+ } = (0, import_theme.useResolvedKnobs)({
90
+ component: "Image",
91
+ compact
92
+ });
93
+ var ctxPosition = (0, import_theme.useGroupPosition)();
94
+ var position = groupPosition !== null && groupPosition !== void 0 ? groupPosition : ctxPosition;
95
+ var nestedPx = knobProps.nestedControl.px;
96
+ var thumbnailPx = thumbnailPxProp !== null && thumbnailPxProp !== void 0 ? thumbnailPxProp : size != null && ((0, import_shared.isThumbnailSize)(size) || typeof size === "number") ? (0, import_shared.thumbnailPx)(size, nestedPx, compact) : void 0;
97
+ var hasPress = Boolean(onPress);
98
+ var interactive = hasPress && !disabled;
99
+ var visualPx = thumbnailPx !== null && thumbnailPx !== void 0 ? thumbnailPx : typeof width === "number" && typeof height === "number" ? Math.min(width, height) : void 0;
100
+ var needsHitSlop = hasPress && visualPx != null && visualPx < import_theme.MIN_PRESS_TARGET;
101
+ var minTarget = hasPress && visualPx == null ? (0, import_theme.pressTargetStyle)() : void 0;
102
+ var radiusToken = knobProps.borderRadius.borderRadius;
103
+ var radiusValue = borderRadiusProp !== null && borderRadiusProp !== void 0 ? borderRadiusProp : radiusToken;
104
+ var radiusFragment = position ? (0, import_theme.stackRadiusProps)(position, radiusValue, groupOrientation) : {
105
+ borderRadius: radiusValue,
106
+ className: knobProps.borderRadius.className
107
+ };
108
+ var heightOnly = typeof height !== "undefined" && typeof width === "undefined" && typeof aspectRatio === "undefined" && thumbnailPx == null && !fill;
109
+ var square = thumbnailPx != null;
110
+ var frameWidth = square ? thumbnailPx : width;
111
+ var frameHeight = square ? thumbnailPx : height;
112
+ var frameAspect = square ? 1 : aspectRatio;
113
+ var fallbackPx = visualPx !== null && visualPx !== void 0 ? visualPx : nestedPx;
114
+ var showPlaceholder = status === "loading" && placeholder != null && placeholder !== "empty" && hasSource;
115
+ var showFallback = status === "error" || !hasSource;
116
+ var handleKeyDown = function handleKeyDown2(e) {
117
+ if (!interactive) return;
118
+ if (e.key === "Enter" || e.key === " ") {
119
+ var _e_preventDefault;
120
+ (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);
121
+ onPress === null || onPress === void 0 ? void 0 : onPress();
122
+ }
123
+ };
124
+ var pressA11y = hasPress ? import_tamagui.isWeb ? {
125
+ role: "button",
126
+ tabIndex: disabled ? -1 : 0,
127
+ "aria-label": alt || void 0,
128
+ "aria-disabled": disabled || void 0,
129
+ onKeyDown: handleKeyDown
130
+ } : {
131
+ accessibilityRole: "button",
132
+ accessibilityLabel: alt || void 0,
133
+ accessibilityState: {
134
+ disabled
135
+ }
136
+ } : import_tamagui.isWeb ? null : {
137
+ accessible: false
138
+ };
139
+ var painted = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
140
+ "data-image-frame": "",
141
+ "data-nested-px": thumbnailPx === nestedPx ? nestedPx : void 0,
142
+ "data-group-position": position,
143
+ overflow: "hidden",
144
+ position: fill ? "absolute" : "relative",
145
+ ...(fill ? {
146
+ top: 0,
147
+ left: 0,
148
+ right: 0,
149
+ bottom: 0,
150
+ width: "100%",
151
+ height: "100%"
152
+ } : null),
153
+ ...(!fill && frameWidth != null ? {
154
+ width: frameWidth
155
+ } : null),
156
+ ...(!fill && frameHeight != null ? {
157
+ height: frameHeight
158
+ } : null),
159
+ ...(!fill && frameAspect != null ? {
160
+ aspectRatio: frameAspect
161
+ } : null),
162
+ ...(heightOnly ? {
163
+ width: "auto",
164
+ alignSelf: "flex-start"
165
+ } : null),
166
+ ...radiusFragment,
167
+ ...(framed ? {
168
+ backgroundColor: knobProps.surface.backgroundColor,
169
+ borderColor: knobProps.surface.borderColor,
170
+ borderWidth: knobProps.surface.borderWidth
171
+ } : null),
172
+ ...(hasPress ? {
173
+ cursor: disabled ? "not-allowed" : "pointer",
174
+ outlineWidth: 0,
175
+ hoverStyle: interactive ? framed ? control.hoverKnobProps : {
176
+ opacity: 0.92
177
+ } : void 0,
178
+ pressStyle: interactive ? framed ? control.pressKnobProps : {
179
+ opacity: 0.85
180
+ } : void 0,
181
+ focusVisibleStyle: interactive ? control.focusVisibleKnobProps : void 0,
182
+ // onPress rides in loose (zero-or-event) so callers can forward the
183
+ // RN/Tamagui handler; re-emit it to the View as an event handler.
184
+ onPress: interactive ? onPress : void 0,
185
+ ...(!import_tamagui.isWeb && needsHitSlop ? {
186
+ hitSlop: (0, import_theme.pressTargetHitSlop)(visualPx !== null && visualPx !== void 0 ? visualPx : nestedPx)
187
+ } : null),
188
+ ...minTarget,
189
+ ...pressA11y
190
+ } : pressA11y),
191
+ ...(disabled && hasPress ? disabledState.chromeKnobProps : null),
192
+ ...props,
193
+ children: showFallback ? fallback !== null && fallback !== void 0 ? fallback : /* @__PURE__ */(0, import_jsx_runtime.jsx)(DefaultFallback, {
194
+ px: fallbackPx
195
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
196
+ children: [children, showPlaceholder ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
197
+ position: "absolute",
198
+ top: 0,
199
+ left: 0,
200
+ right: 0,
201
+ bottom: 0,
202
+ pointerEvents: "none",
203
+ children: placeholder === "blur" && placeholderSrc ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Image, {
204
+ src: placeholderSrc,
205
+ alt: "",
206
+ width: "100%",
207
+ height: "100%",
208
+ objectFit: objectFit !== null && objectFit !== void 0 ? objectFit : "cover",
209
+ ...(import_tamagui.isWeb ? {
210
+ style: {
211
+ filter: "blur(12px)"
212
+ }
213
+ } : {
214
+ blurRadius: 12
215
+ })
216
+ }) : placeholder === "blur" || placeholder === "skeleton" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
217
+ width: "100%",
218
+ height: "100%",
219
+ variant: "rounded"
220
+ }) : placeholder
221
+ }) : null]
222
+ })
223
+ });
224
+ if (import_tamagui.isWeb && needsHitSlop) {
225
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
226
+ alignItems: "center",
227
+ justifyContent: "center",
228
+ backgroundColor: "transparent",
229
+ ...(0, import_theme.pressTargetStyle)(),
230
+ children: painted
231
+ });
232
+ }
233
+ return painted;
234
+ }
235
+ function mediaFillProps(opts) {
236
+ var constrained = opts.fill || opts.thumbnail || opts.width != null && opts.height != null || opts.width != null && opts.aspectRatio != null || opts.height != null && opts.aspectRatio != null;
237
+ var heightOnly = opts.height != null && opts.width == null && opts.aspectRatio == null && !opts.fill && !opts.thumbnail;
238
+ return {
239
+ width: constrained ? "100%" : heightOnly ? "auto" : opts.width != null ? "100%" : void 0,
240
+ height: constrained ? "100%" : heightOnly ? "100%" : void 0,
241
+ objectFit: opts.objectFit,
242
+ ...(opts.objectPosition ? {
243
+ objectPosition: opts.objectPosition
244
+ } : null),
245
+ display: "block"
246
+ };
247
+ }
248
+ //# sourceMappingURL=ImageFrame.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","ImageFrame_exports","ImageFrame","mediaFillProps","module","exports","import_jsx_runtime","require","import_react","import_theme","import_tamagui","import_componentColors","import_Skeleton","import_shared","glyphSize","px","Math","max","min","round","DefaultFallback","param","jsx","View","width","height","minHeight","alignItems","justifyContent","backgroundColor","children","ImageIcon","size","color","componentColors","text","muted","alt","fill","framed","compact","groupPosition","groupOrientation","thumbnailPx","thumbnailPxProp","aspectRatio","borderRadius","borderRadiusProp","objectFit","objectPosition","_objectPosition","onPress","disabled","hasSource","status","placeholder","placeholderSrc","fallback","props","knobProps","control","disabledState","useResolvedKnobs","component","ctxPosition","useGroupPosition","position","nestedPx","nestedControl","isThumbnailSize","hasPress","Boolean","interactive","visualPx","needsHitSlop","MIN_PRESS_TARGET","minTarget","pressTargetStyle","radiusToken","radiusValue","radiusFragment","stackRadiusProps","className","heightOnly","square","frameWidth","frameHeight","frameAspect","fallbackPx","showPlaceholder","showFallback","handleKeyDown","handleKeyDown2","e","_e_preventDefault","preventDefault","pressA11y","isWeb","role","tabIndex","onKeyDown","accessibilityRole","accessibilityLabel","accessibilityState","accessible","painted","overflow","top","left","right","bottom","alignSelf","surface","borderColor","borderWidth","cursor","outlineWidth","hoverStyle","hoverKnobProps","opacity","pressStyle","pressKnobProps","focusVisibleStyle","focusVisibleKnobProps","hitSlop","pressTargetHitSlop","chromeKnobProps","jsxs","Fragment","pointerEvents","Image","src","style","filter"],"sources":["../../../../src/images/Image/ImageFrame.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,18 @@
1
- import { useMemo } from "react";
1
+ import { useCallback, useEffect, useState } from "react";
2
2
  import { Image as TamaguiImage } from "tamagui";
3
- import { useAssets } from "../../hooks/useAssets/index.mjs";
3
+ import { ImageFrame, mediaFillProps } from "./ImageFrame.mjs";
4
+ import { isThumbnailSize, useResolvedImageSource } from "./shared.mjs";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
  function Image({
6
- alt,
7
+ alt = "",
7
8
  blurRadius: _blurRadius,
8
9
  capInsets: _capInsets,
9
10
  crossOrigin,
10
11
  defaultSource: _defaultSource,
11
12
  fadeDuration: _fadeDuration,
12
13
  loadingIndicatorSource: _loadingIndicatorSource,
13
- objectFit,
14
+ objectFit: objectFitProp,
15
+ objectPosition,
14
16
  onError,
15
17
  onLoad,
16
18
  onLoadEnd,
@@ -25,49 +27,100 @@ function Image({
25
27
  srcSet,
26
28
  svg: _svg,
27
29
  tintColor: _tintColor,
30
+ fill = false,
31
+ sizes,
32
+ loading: loadingProp,
33
+ priority,
34
+ placeholder = "empty",
35
+ placeholderSrc,
36
+ fallback,
37
+ framed,
38
+ size,
39
+ compact = false,
40
+ groupPosition,
41
+ groupOrientation,
42
+ decoding = "async",
43
+ onPress,
44
+ disabled,
45
+ width,
46
+ height,
47
+ aspectRatio,
48
+ borderRadius,
28
49
  ...props
29
50
  }) {
30
- const source = sourceProp || src;
31
- const [asset] = useAssets(typeof source === "number" ? [source] : []);
32
- const imageUriSource = useMemo(() => {
33
- if (typeof source === "string") {
34
- return {
35
- uri: source
36
- };
37
- }
38
- if (typeof source === "number") return asset;
39
- return source?.default || source;
40
- }, [asset, source]);
41
- const resolvedSrc = useMemo(() => {
42
- if (typeof source === "string") return source;
43
- if (!imageUriSource || Array.isArray(imageUriSource)) return void 0;
44
- return imageUriSource.uri;
45
- }, [source, imageUriSource]);
46
- if (!resolvedSrc && typeof source !== "number") return null;
47
51
  const {
52
+ source,
53
+ resolvedSrc
54
+ } = useResolvedImageSource(sourceProp, src);
55
+ const hasSource = Boolean(resolvedSrc) || typeof source === "number";
56
+ const thumbnail = size != null && (isThumbnailSize(size) || typeof size === "number");
57
+ const isFramed = framed ?? thumbnail;
58
+ const objectFit = objectFitProp ?? (fill || thumbnail ? "cover" : void 0);
59
+ const loading = priority ? "eager" : loadingProp ?? "lazy";
60
+ const [status, setStatus] = useState(() => hasSource ? "loading" : "error");
61
+ useEffect(() => {
62
+ setStatus(hasSource ? "loading" : "error");
63
+ }, [hasSource, resolvedSrc]);
64
+ const handleLoad = useCallback(event => {
65
+ setStatus("loaded");
66
+ onLoad?.(event);
67
+ }, [onLoad]);
68
+ const handleError = useCallback(error => {
69
+ setStatus("error");
70
+ onError?.(error);
71
+ }, [onError]);
72
+ if (!hasSource && !isFramed && fallback == null && !fill && size == null) {
73
+ return null;
74
+ }
75
+ return /* @__PURE__ */jsx(ImageFrame, {
76
+ alt,
77
+ fill,
78
+ framed: isFramed,
79
+ compact,
80
+ groupPosition,
81
+ groupOrientation,
82
+ size,
48
83
  width,
49
84
  height,
50
- aspectRatio
51
- } = props;
52
- const heightOnly = typeof height !== "undefined" && typeof width === "undefined" && typeof aspectRatio === "undefined";
53
- return /* @__PURE__ */jsx(TamaguiImage, {
54
- ...props,
55
- ...(heightOnly && {
56
- width: "auto",
57
- alignSelf: "flex-start"
58
- }),
59
- alt,
60
- crossOrigin,
85
+ aspectRatio,
86
+ borderRadius,
61
87
  objectFit,
62
- onError,
63
- onLoad,
64
- onLoadEnd,
65
- onLoadStart,
66
- onProgress,
67
- referrerPolicy,
68
- source: imageUriSource,
69
- src: resolvedSrc,
70
- srcSet
88
+ objectPosition,
89
+ onPress,
90
+ disabled,
91
+ hasSource,
92
+ status,
93
+ placeholder,
94
+ placeholderSrc,
95
+ fallback,
96
+ ...props,
97
+ children: hasSource && status !== "error" ? /* @__PURE__ */jsx(TamaguiImage, {
98
+ alt,
99
+ crossOrigin,
100
+ decoding,
101
+ fetchPriority: priority ? "high" : void 0,
102
+ loading,
103
+ objectFit,
104
+ objectPosition,
105
+ onError: handleError,
106
+ onLoad: handleLoad,
107
+ onLoadEnd,
108
+ onLoadStart,
109
+ onProgress,
110
+ referrerPolicy,
111
+ sizes,
112
+ src: resolvedSrc,
113
+ srcSet,
114
+ ...mediaFillProps({
115
+ fill,
116
+ thumbnail,
117
+ width,
118
+ height,
119
+ aspectRatio,
120
+ objectFit,
121
+ objectPosition
122
+ })
123
+ }) : null
71
124
  });
72
125
  }
73
126
  export { Image };