@multiplatform.one/components 7.10.0 → 7.15.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 (452) hide show
  1. package/README.md +100 -2
  2. package/dist/cjs/Accordion/index.cjs +2 -6
  3. package/dist/cjs/Accordion/index.native.js +2 -6
  4. package/dist/cjs/Accordion/index.native.js.map +1 -1
  5. package/dist/cjs/AnimateHeight/index.cjs +1 -3
  6. package/dist/cjs/AnimateHeight/index.native.js +1 -3
  7. package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
  8. package/dist/cjs/Chip/index.cjs +8 -1
  9. package/dist/cjs/Chip/index.native.js +8 -1
  10. package/dist/cjs/Chip/index.native.js.map +1 -1
  11. package/dist/cjs/SheetModal/index.cjs +22 -3
  12. package/dist/cjs/SheetModal/index.native.js +115 -27
  13. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  14. package/dist/cjs/Tabs/index.cjs +35 -18
  15. package/dist/cjs/Tabs/index.native.js +39 -18
  16. package/dist/cjs/Tabs/index.native.js.map +1 -1
  17. package/dist/cjs/Text.cjs +2 -0
  18. package/dist/cjs/Text.native.js +2 -0
  19. package/dist/cjs/Text.native.js.map +1 -1
  20. package/dist/cjs/TreeSelect/index.cjs +55 -52
  21. package/dist/cjs/TreeSelect/index.native.js +55 -52
  22. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  23. package/dist/cjs/Video/PlayerChrome.cjs +3 -9
  24. package/dist/cjs/Video/PlayerChrome.native.js +3 -9
  25. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
  26. package/dist/cjs/code/Code/index.cjs +6 -0
  27. package/dist/cjs/code/Code/index.native.js +7 -4
  28. package/dist/cjs/code/Code/index.native.js.map +1 -1
  29. package/dist/cjs/code/CodeBlock/index.cjs +4 -5
  30. package/dist/cjs/code/CodeBlock/index.native.js +4 -5
  31. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  32. package/dist/cjs/icons/themed.cjs +2 -1
  33. package/dist/cjs/icons/themed.native.js +2 -1
  34. package/dist/cjs/icons/themed.native.js.map +1 -1
  35. package/dist/cjs/knobImmuneExports.cjs +3 -3
  36. package/dist/cjs/knobImmuneExports.native.js +3 -3
  37. package/dist/cjs/layouts/PaneScaffold.cjs +70 -42
  38. package/dist/cjs/layouts/PaneScaffold.native.js +75 -48
  39. package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
  40. package/dist/cjs/layouts/page.cjs +2 -1
  41. package/dist/cjs/layouts/page.native.js +2 -1
  42. package/dist/cjs/layouts/page.native.js.map +1 -1
  43. package/dist/cjs/layouts/sidebar.cjs +1 -3
  44. package/dist/cjs/layouts/sidebar.native.js +1 -3
  45. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  46. package/dist/cjs/layouts/tags.native.js.map +1 -1
  47. package/dist/cjs/surfaces.cjs +0 -32
  48. package/dist/cjs/surfaces.native.js +0 -32
  49. package/dist/cjs/surfaces.native.js.map +1 -1
  50. package/dist/cjs/views/List.cjs +1 -3
  51. package/dist/cjs/views/List.native.js +1 -3
  52. package/dist/cjs/views/List.native.js.map +1 -1
  53. package/dist/cjs/views/Matrix.cjs +568 -0
  54. package/dist/cjs/views/Matrix.native.js +612 -0
  55. package/dist/cjs/views/Matrix.native.js.map +1 -0
  56. package/dist/cjs/views/TreeView.cjs +175 -43
  57. package/dist/cjs/views/TreeView.native.js +181 -46
  58. package/dist/cjs/views/TreeView.native.js.map +1 -1
  59. package/dist/cjs/views/ganttMath.cjs +2 -0
  60. package/dist/cjs/views/ganttMath.native.js +2 -0
  61. package/dist/cjs/views/ganttMath.native.js.map +1 -1
  62. package/dist/cjs/views/index.cjs +16 -0
  63. package/dist/cjs/views/index.native.js +16 -0
  64. package/dist/cjs/views/index.native.js.map +1 -1
  65. package/dist/cjs/views/matrixMath.cjs +157 -0
  66. package/dist/cjs/views/matrixMath.native.js +229 -0
  67. package/dist/cjs/views/matrixMath.native.js.map +1 -0
  68. package/dist/esm/Accordion/index.mjs +3 -7
  69. package/dist/esm/Accordion/index.mjs.map +1 -1
  70. package/dist/esm/Accordion/index.native.js +3 -7
  71. package/dist/esm/Accordion/index.native.js.map +1 -1
  72. package/dist/esm/AnimateHeight/index.mjs +2 -4
  73. package/dist/esm/AnimateHeight/index.mjs.map +1 -1
  74. package/dist/esm/AnimateHeight/index.native.js +2 -4
  75. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  76. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  77. package/dist/esm/Avatar/index.native.js.map +1 -1
  78. package/dist/esm/Badge/index.native.js.map +1 -1
  79. package/dist/esm/Button.native.js.map +1 -1
  80. package/dist/esm/Carousel/index.native.js.map +1 -1
  81. package/dist/esm/Chip/index.mjs +9 -2
  82. package/dist/esm/Chip/index.mjs.map +1 -1
  83. package/dist/esm/Chip/index.native.js +9 -2
  84. package/dist/esm/Chip/index.native.js.map +1 -1
  85. package/dist/esm/Collapsible.native.js.map +1 -1
  86. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  87. package/dist/esm/CopyField/index.native.js.map +1 -1
  88. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  89. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  90. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  91. package/dist/esm/Heading.native.js.map +1 -1
  92. package/dist/esm/Meter/index.native.js.map +1 -1
  93. package/dist/esm/Meter/meter.native.js.map +1 -1
  94. package/dist/esm/Pagination.native.js.map +1 -1
  95. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  96. package/dist/esm/Quote/index.native.js.map +1 -1
  97. package/dist/esm/Separator/index.native.js.map +1 -1
  98. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  99. package/dist/esm/SheetModal/index.mjs +22 -3
  100. package/dist/esm/SheetModal/index.mjs.map +1 -1
  101. package/dist/esm/SheetModal/index.native.js +117 -29
  102. package/dist/esm/SheetModal/index.native.js.map +1 -1
  103. package/dist/esm/Skeleton/index.native.js.map +1 -1
  104. package/dist/esm/SkipLink/index.native.js.map +1 -1
  105. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  106. package/dist/esm/SortableList/index.native.js.map +1 -1
  107. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  108. package/dist/esm/Tabs/index.mjs +36 -19
  109. package/dist/esm/Tabs/index.mjs.map +1 -1
  110. package/dist/esm/Tabs/index.native.js +40 -19
  111. package/dist/esm/Tabs/index.native.js.map +1 -1
  112. package/dist/esm/Text.mjs +3 -1
  113. package/dist/esm/Text.mjs.map +1 -1
  114. package/dist/esm/Text.native.js +3 -1
  115. package/dist/esm/Text.native.js.map +1 -1
  116. package/dist/esm/Toast/index.native.js.map +1 -1
  117. package/dist/esm/Toast/store.native.js.map +1 -1
  118. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  119. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  120. package/dist/esm/TreeSelect/index.mjs +56 -53
  121. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  122. package/dist/esm/TreeSelect/index.native.js +56 -53
  123. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  124. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  125. package/dist/esm/Video/PlayerChrome.mjs +4 -10
  126. package/dist/esm/Video/PlayerChrome.mjs.map +1 -1
  127. package/dist/esm/Video/PlayerChrome.native.js +4 -10
  128. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  129. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  130. package/dist/esm/Video/types.native.js.map +1 -1
  131. package/dist/esm/Wheel/index.native.js.map +1 -1
  132. package/dist/esm/Wizard/index.native.js.map +1 -1
  133. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  134. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  135. package/dist/esm/actions/devWarn.native.js.map +1 -1
  136. package/dist/esm/actions/index.native.js.map +1 -1
  137. package/dist/esm/actions/severity.native.js.map +1 -1
  138. package/dist/esm/charts/Axis.native.js.map +1 -1
  139. package/dist/esm/charts/BarChart.native.js.map +1 -1
  140. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  141. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  142. package/dist/esm/charts/LineChart.native.js.map +1 -1
  143. package/dist/esm/charts/PieChart.native.js.map +1 -1
  144. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  145. package/dist/esm/charts/accessibility.native.js.map +1 -1
  146. package/dist/esm/charts/composeChart.native.js.map +1 -1
  147. package/dist/esm/charts/index.native.js.map +1 -1
  148. package/dist/esm/charts/math.native.js.map +1 -1
  149. package/dist/esm/charts/series.native.js.map +1 -1
  150. package/dist/esm/charts/svg.native.js.map +1 -1
  151. package/dist/esm/charts/types.native.js.map +1 -1
  152. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  153. package/dist/esm/code/Code/index.mjs +6 -0
  154. package/dist/esm/code/Code/index.mjs.map +1 -1
  155. package/dist/esm/code/Code/index.native.js +10 -7
  156. package/dist/esm/code/Code/index.native.js.map +1 -1
  157. package/dist/esm/code/CodeBlock/index.mjs +5 -6
  158. package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
  159. package/dist/esm/code/CodeBlock/index.native.js +5 -6
  160. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  161. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  162. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  163. package/dist/esm/code/Pre/index.native.js.map +1 -1
  164. package/dist/esm/code/index.native.js.map +1 -1
  165. package/dist/esm/componentColors.native.js.map +1 -1
  166. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  167. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  168. package/dist/esm/feedback/copy.native.js.map +1 -1
  169. package/dist/esm/feedback/index.native.js.map +1 -1
  170. package/dist/esm/feedback/notify.native.js.map +1 -1
  171. package/dist/esm/feedback/route.native.js.map +1 -1
  172. package/dist/esm/feedback/store.native.js.map +1 -1
  173. package/dist/esm/hooks/index.native.js.map +1 -1
  174. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  175. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  176. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  177. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  178. package/dist/esm/icons/index.native.js.map +1 -1
  179. package/dist/esm/icons/lucide.native.js.map +1 -1
  180. package/dist/esm/icons/themed.mjs +3 -2
  181. package/dist/esm/icons/themed.mjs.map +1 -1
  182. package/dist/esm/icons/themed.native.js +3 -2
  183. package/dist/esm/icons/themed.native.js.map +1 -1
  184. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  185. package/dist/esm/images/Image/shared.native.js.map +1 -1
  186. package/dist/esm/images/Image/types.native.js.map +1 -1
  187. package/dist/esm/images/index.native.js.map +1 -1
  188. package/dist/esm/index.native.js.map +1 -1
  189. package/dist/esm/knobImmuneExports.mjs +3 -3
  190. package/dist/esm/knobImmuneExports.native.js +3 -3
  191. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  192. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  193. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  194. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  195. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  196. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  197. package/dist/esm/layouts/PaneScaffold.mjs +70 -42
  198. package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
  199. package/dist/esm/layouts/PaneScaffold.native.js +75 -48
  200. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  201. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  202. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  203. package/dist/esm/layouts/attachments.native.js.map +1 -1
  204. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  205. package/dist/esm/layouts/index.native.js.map +1 -1
  206. package/dist/esm/layouts/page.mjs +3 -2
  207. package/dist/esm/layouts/page.mjs.map +1 -1
  208. package/dist/esm/layouts/page.native.js +3 -2
  209. package/dist/esm/layouts/page.native.js.map +1 -1
  210. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  211. package/dist/esm/layouts/sidebar.mjs +2 -4
  212. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  213. package/dist/esm/layouts/sidebar.native.js +2 -4
  214. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  215. package/dist/esm/layouts/tags.mjs.map +1 -1
  216. package/dist/esm/layouts/tags.native.js.map +1 -1
  217. package/dist/esm/layouts/timeline.native.js.map +1 -1
  218. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  219. package/dist/esm/shared/actionScan.native.js.map +1 -1
  220. package/dist/esm/shared/i18n.native.js.map +1 -1
  221. package/dist/esm/shared/t.native.js.map +1 -1
  222. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  223. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  224. package/dist/esm/surfaces.mjs +1 -33
  225. package/dist/esm/surfaces.mjs.map +1 -1
  226. package/dist/esm/surfaces.native.js +1 -33
  227. package/dist/esm/surfaces.native.js.map +1 -1
  228. package/dist/esm/tamagui.native.js.map +1 -1
  229. package/dist/esm/testSetup.native.js.map +1 -1
  230. package/dist/esm/utils/setTinted.native.js.map +1 -1
  231. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  232. package/dist/esm/views/Calendar.native.js.map +1 -1
  233. package/dist/esm/views/Dashboard.native.js.map +1 -1
  234. package/dist/esm/views/Gantt.native.js.map +1 -1
  235. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  236. package/dist/esm/views/List.mjs +2 -4
  237. package/dist/esm/views/List.mjs.map +1 -1
  238. package/dist/esm/views/List.native.js +2 -4
  239. package/dist/esm/views/List.native.js.map +1 -1
  240. package/dist/esm/views/Matrix.mjs +543 -0
  241. package/dist/esm/views/Matrix.mjs.map +1 -0
  242. package/dist/esm/views/Matrix.native.js +573 -0
  243. package/dist/esm/views/Matrix.native.js.map +1 -0
  244. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  245. package/dist/esm/views/TreeView.mjs +175 -43
  246. package/dist/esm/views/TreeView.mjs.map +1 -1
  247. package/dist/esm/views/TreeView.native.js +181 -46
  248. package/dist/esm/views/TreeView.native.js.map +1 -1
  249. package/dist/esm/views/calendarMath.native.js.map +1 -1
  250. package/dist/esm/views/ganttMath.mjs +1 -1
  251. package/dist/esm/views/ganttMath.mjs.map +1 -1
  252. package/dist/esm/views/ganttMath.native.js +1 -1
  253. package/dist/esm/views/ganttMath.native.js.map +1 -1
  254. package/dist/esm/views/index.mjs +4 -2
  255. package/dist/esm/views/index.mjs.map +1 -1
  256. package/dist/esm/views/index.native.js +4 -2
  257. package/dist/esm/views/index.native.js.map +1 -1
  258. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  259. package/dist/esm/views/matrixMath.mjs +122 -0
  260. package/dist/esm/views/matrixMath.mjs.map +1 -0
  261. package/dist/esm/views/matrixMath.native.js +191 -0
  262. package/dist/esm/views/matrixMath.native.js.map +1 -0
  263. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  264. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  265. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  266. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  267. package/dist/jsx/Accordion/index.mjs +3 -7
  268. package/dist/jsx/Accordion/index.mjs.map +1 -1
  269. package/dist/jsx/Accordion/index.native.js +2 -6
  270. package/dist/jsx/Accordion/index.native.js.map +1 -1
  271. package/dist/jsx/AnimateHeight/index.mjs +2 -4
  272. package/dist/jsx/AnimateHeight/index.mjs.map +1 -1
  273. package/dist/jsx/AnimateHeight/index.native.js +1 -3
  274. package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
  275. package/dist/jsx/Chip/index.mjs +9 -2
  276. package/dist/jsx/Chip/index.mjs.map +1 -1
  277. package/dist/jsx/Chip/index.native.js +8 -1
  278. package/dist/jsx/Chip/index.native.js.map +1 -1
  279. package/dist/jsx/SheetModal/index.mjs +22 -3
  280. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  281. package/dist/jsx/SheetModal/index.native.js +115 -27
  282. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  283. package/dist/jsx/Tabs/index.mjs +36 -19
  284. package/dist/jsx/Tabs/index.mjs.map +1 -1
  285. package/dist/jsx/Tabs/index.native.js +39 -18
  286. package/dist/jsx/Tabs/index.native.js.map +1 -1
  287. package/dist/jsx/Text.mjs +3 -1
  288. package/dist/jsx/Text.mjs.map +1 -1
  289. package/dist/jsx/Text.native.js +2 -0
  290. package/dist/jsx/Text.native.js.map +1 -1
  291. package/dist/jsx/TreeSelect/index.mjs +56 -53
  292. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  293. package/dist/jsx/TreeSelect/index.native.js +55 -52
  294. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  295. package/dist/jsx/Video/PlayerChrome.mjs +4 -10
  296. package/dist/jsx/Video/PlayerChrome.mjs.map +1 -1
  297. package/dist/jsx/Video/PlayerChrome.native.js +3 -9
  298. package/dist/jsx/Video/PlayerChrome.native.js.map +1 -1
  299. package/dist/jsx/code/Code/index.mjs +6 -0
  300. package/dist/jsx/code/Code/index.mjs.map +1 -1
  301. package/dist/jsx/code/Code/index.native.js +7 -4
  302. package/dist/jsx/code/Code/index.native.js.map +1 -1
  303. package/dist/jsx/code/CodeBlock/index.mjs +5 -6
  304. package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
  305. package/dist/jsx/code/CodeBlock/index.native.js +4 -5
  306. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  307. package/dist/jsx/icons/themed.mjs +3 -2
  308. package/dist/jsx/icons/themed.mjs.map +1 -1
  309. package/dist/jsx/icons/themed.native.js +2 -1
  310. package/dist/jsx/icons/themed.native.js.map +1 -1
  311. package/dist/jsx/knobImmuneExports.mjs +3 -3
  312. package/dist/jsx/knobImmuneExports.native.js +3 -3
  313. package/dist/jsx/layouts/PaneScaffold.mjs +70 -42
  314. package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
  315. package/dist/jsx/layouts/PaneScaffold.native.js +75 -48
  316. package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
  317. package/dist/jsx/layouts/page.mjs +3 -2
  318. package/dist/jsx/layouts/page.mjs.map +1 -1
  319. package/dist/jsx/layouts/page.native.js +2 -1
  320. package/dist/jsx/layouts/page.native.js.map +1 -1
  321. package/dist/jsx/layouts/sidebar.mjs +2 -4
  322. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  323. package/dist/jsx/layouts/sidebar.native.js +1 -3
  324. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  325. package/dist/jsx/layouts/tags.mjs.map +1 -1
  326. package/dist/jsx/layouts/tags.native.js.map +1 -1
  327. package/dist/jsx/surfaces.mjs +1 -33
  328. package/dist/jsx/surfaces.mjs.map +1 -1
  329. package/dist/jsx/surfaces.native.js +0 -32
  330. package/dist/jsx/surfaces.native.js.map +1 -1
  331. package/dist/jsx/views/List.mjs +2 -4
  332. package/dist/jsx/views/List.mjs.map +1 -1
  333. package/dist/jsx/views/List.native.js +1 -3
  334. package/dist/jsx/views/List.native.js.map +1 -1
  335. package/dist/jsx/views/Matrix.mjs +543 -0
  336. package/dist/jsx/views/Matrix.mjs.map +1 -0
  337. package/dist/jsx/views/Matrix.native.js +612 -0
  338. package/dist/jsx/views/Matrix.native.js.map +1 -0
  339. package/dist/jsx/views/TreeView.mjs +175 -43
  340. package/dist/jsx/views/TreeView.mjs.map +1 -1
  341. package/dist/jsx/views/TreeView.native.js +181 -46
  342. package/dist/jsx/views/TreeView.native.js.map +1 -1
  343. package/dist/jsx/views/ganttMath.mjs +1 -1
  344. package/dist/jsx/views/ganttMath.mjs.map +1 -1
  345. package/dist/jsx/views/ganttMath.native.js +2 -0
  346. package/dist/jsx/views/ganttMath.native.js.map +1 -1
  347. package/dist/jsx/views/index.mjs +4 -2
  348. package/dist/jsx/views/index.mjs.map +1 -1
  349. package/dist/jsx/views/index.native.js +16 -0
  350. package/dist/jsx/views/index.native.js.map +1 -1
  351. package/dist/jsx/views/matrixMath.mjs +122 -0
  352. package/dist/jsx/views/matrixMath.mjs.map +1 -0
  353. package/dist/jsx/views/matrixMath.native.js +229 -0
  354. package/dist/jsx/views/matrixMath.native.js.map +1 -0
  355. package/package.json +12 -12
  356. package/src/Accordion/Accordion.spec.tsx +20 -0
  357. package/src/Accordion/index.tsx +8 -4
  358. package/src/AnimateHeight/index.tsx +143 -142
  359. package/src/Chip/Chip.borderLadder.spec.tsx +54 -0
  360. package/src/Chip/Chip.pressSlop.spec.tsx +57 -0
  361. package/src/Chip/index.tsx +15 -1
  362. package/src/Heading.native.spec.tsx +1 -1
  363. package/src/Separator/index.tsx +3 -3
  364. package/src/SheetModal/SheetModal.detentLayout.spec.tsx +173 -0
  365. package/src/SheetModal/SheetModal.fill.spec.tsx +147 -0
  366. package/src/SheetModal/SheetModal.ownedBody.spec.tsx +200 -0
  367. package/src/SheetModal/SheetModal.stories.spec.tsx +23 -2
  368. package/src/SheetModal/SheetModal.stories.tsx +275 -2
  369. package/src/SheetModal/SheetModal.touch.spec.tsx +63 -0
  370. package/src/SheetModal/index.native.tsx +143 -21
  371. package/src/SheetModal/index.tsx +40 -3
  372. package/src/Tabs/Tabs.hydration.spec.tsx +123 -0
  373. package/src/Tabs/Tabs.lifecycle.spec.tsx +123 -0
  374. package/src/Tabs/Tabs.measurement.spec.tsx +186 -0
  375. package/src/Tabs/Tabs.stories.tsx +43 -0
  376. package/src/Tabs/index.tsx +45 -15
  377. package/src/Text.spec.tsx +32 -2
  378. package/src/Text.tsx +7 -6
  379. package/src/Toast/Toast.spec.tsx +50 -0
  380. package/src/Tooltip/Tooltip.spec.tsx +55 -2
  381. package/src/TreeSelect/TreeSelect.spec.tsx +15 -15
  382. package/src/TreeSelect/index.tsx +53 -50
  383. package/src/Video/PlayerChrome.tsx +4 -3
  384. package/src/Wheel/Wheel.spec.tsx +4 -4
  385. package/src/adjacency.l1.spec.tsx +175 -0
  386. package/src/code/Code/code.spec.tsx +2 -19
  387. package/src/code/Code/index.tsx +0 -6
  388. package/src/code/CodeBlock/index.tsx +5 -3
  389. package/src/code/highlightedCode.spec.tsx +2 -2
  390. package/src/code/hostProps.spec.tsx +55 -0
  391. package/src/icons/themed.hydration.spec.tsx +60 -0
  392. package/src/icons/themed.tsx +3 -6
  393. package/src/knobImmuneExports.ts +3 -3
  394. package/src/layouts/PaneScaffold.spec.tsx +148 -2
  395. package/src/layouts/PaneScaffold.stories.tsx +33 -1
  396. package/src/layouts/PaneScaffold.tsx +101 -48
  397. package/src/layouts/page.designLaw.spec.tsx +20 -0
  398. package/src/layouts/page.tsx +2 -0
  399. package/src/layouts/sidebar.tsx +2 -3
  400. package/src/layouts/tags.tsx +2 -1
  401. package/src/overlayElevation.spec.tsx +39 -51
  402. package/src/surfaces.spec.tsx +13 -10
  403. package/src/surfaces.tsx +4 -33
  404. package/src/tamagui.spec.ts +4 -3
  405. package/src/textAccentSecondary.spec.tsx +100 -2
  406. package/src/views/List.tsx +2 -1
  407. package/src/views/Matrix.spec.tsx +339 -0
  408. package/src/views/Matrix.stories.spec.tsx +68 -0
  409. package/src/views/Matrix.stories.tsx +153 -0
  410. package/src/views/Matrix.tsx +738 -0
  411. package/src/views/TreeView.reveal.spec.tsx +7 -0
  412. package/src/views/TreeView.reveal.stories.tsx +134 -0
  413. package/src/views/TreeView.scroll-index.spec.tsx +246 -0
  414. package/src/views/TreeView.scroll.spec.tsx +711 -50
  415. package/src/views/TreeView.tsx +230 -49
  416. package/src/views/ganttMath.ts +4 -2
  417. package/src/views/index.ts +30 -0
  418. package/src/views/matrixMath.spec.ts +237 -0
  419. package/src/views/matrixMath.ts +251 -0
  420. package/src/views/views.spec.tsx +3 -1
  421. package/types/Accordion/index.d.ts.map +1 -1
  422. package/types/AnimateHeight/index.d.ts.map +1 -1
  423. package/types/Chip/index.d.ts.map +1 -1
  424. package/types/Separator/index.d.ts +3 -3
  425. package/types/SheetModal/index.d.ts +8 -1
  426. package/types/SheetModal/index.d.ts.map +1 -1
  427. package/types/SheetModal/index.native.d.ts +1 -1
  428. package/types/SheetModal/index.native.d.ts.map +1 -1
  429. package/types/Tabs/index.d.ts.map +1 -1
  430. package/types/Text.d.ts.map +1 -1
  431. package/types/TreeSelect/index.d.ts.map +1 -1
  432. package/types/Video/PlayerChrome.d.ts.map +1 -1
  433. package/types/code/Code/index.d.ts.map +1 -1
  434. package/types/code/CodeBlock/index.d.ts.map +1 -1
  435. package/types/icons/themed.d.ts.map +1 -1
  436. package/types/layouts/PaneScaffold.d.ts +14 -1
  437. package/types/layouts/PaneScaffold.d.ts.map +1 -1
  438. package/types/layouts/page.d.ts.map +1 -1
  439. package/types/layouts/sidebar.d.ts.map +1 -1
  440. package/types/layouts/tags.d.ts.map +1 -1
  441. package/types/surfaces.d.ts.map +1 -1
  442. package/types/views/List.d.ts.map +1 -1
  443. package/types/views/Matrix.d.ts +102 -0
  444. package/types/views/Matrix.d.ts.map +1 -0
  445. package/types/views/TreeView.d.ts +10 -1
  446. package/types/views/TreeView.d.ts.map +1 -1
  447. package/types/views/ganttMath.d.ts +4 -0
  448. package/types/views/ganttMath.d.ts.map +1 -1
  449. package/types/views/index.d.ts +3 -1
  450. package/types/views/index.d.ts.map +1 -1
  451. package/types/views/matrixMath.d.ts +114 -0
  452. package/types/views/matrixMath.d.ts.map +1 -0
@@ -0,0 +1,612 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var Matrix_exports = {};
37
+ __export(Matrix_exports, {
38
+ MatrixView: () => MatrixView
39
+ });
40
+ module.exports = __toCommonJS(Matrix_exports);
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var import_componentColors = require("../componentColors.native.js");
43
+ var import_AsyncBoundary = require("../layouts/AsyncBoundary.native.js");
44
+ var import_Skeleton = require("../Skeleton/index.native.js");
45
+ var import_ViewSwitcher = require("../layouts/ViewSwitcher.native.js");
46
+ var import_t = require("../shared/t.native.js");
47
+ var import_theme = require("@multiplatform.one/theme");
48
+ var import_react = __toESM(require("react"));
49
+ var import_i18n = require("../shared/i18n.native.js");
50
+ var import_react_native = require("react-native");
51
+ var import_tamagui = require("tamagui");
52
+ var import_ganttMath = require("./ganttMath.native.js");
53
+ var import_matrixMath = require("./matrixMath.native.js");
54
+ var CanvasScroller = import_tamagui.isWeb ? import_tamagui.ScrollView : import_react_native.ScrollView;
55
+ var hairlineEnd = import_tamagui.isWeb ? {
56
+ borderInlineEndWidth: import_theme.hairlineWidth,
57
+ borderInlineEndStyle: "solid",
58
+ className: "mp-hairline-ie"
59
+ } : {
60
+ borderEndWidth: import_theme.hairlineWidth
61
+ };
62
+ var FILL_FLOOR = 0.14;
63
+ var ON_FILL_INK_FROM = 0.55;
64
+ var LEGEND_STEPS = [0, 0.25, 0.5, 0.75, 1];
65
+ function CellIntentWrap(param) {
66
+ var {
67
+ intent,
68
+ children
69
+ } = param;
70
+ if (!intent || intent === "accent") return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
71
+ children
72
+ });
73
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme.Intent, {
74
+ name: intent,
75
+ children
76
+ });
77
+ }
78
+ function resolveFill(color, intent) {
79
+ return color !== null && color !== void 0 ? color : intent && intent !== "accent" ? "$color9" : "$accentBackground";
80
+ }
81
+ function fillOpacity(intensity) {
82
+ return FILL_FLOOR + (1 - FILL_FLOOR) * intensity;
83
+ }
84
+ function MatrixCellBox(param) {
85
+ var {
86
+ row,
87
+ bucket,
88
+ summary,
89
+ intensity,
90
+ fill,
91
+ text,
92
+ name,
93
+ width,
94
+ height,
95
+ lastColumn,
96
+ onPress
97
+ } = param;
98
+ var {
99
+ knobProps
100
+ } = (0, import_theme.useResolvedKnobs)();
101
+ var readable = (0, import_theme.useReadableTextOn)(fill);
102
+ var [keyboardRing, setKeyboardRing] = (0, import_react.useState)(false);
103
+ var empty = summary === void 0;
104
+ var state = summary === void 0 ? "empty" : summary.value === 0 ? "zero" : "value";
105
+ var ink = !empty && intensity >= ON_FILL_INK_FROM && readable ? readable : "$color";
106
+ var pressable = onPress !== void 0;
107
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
108
+ width,
109
+ height,
110
+ alignItems: "center",
111
+ justifyContent: "center",
112
+ position: "relative",
113
+ overflow: "hidden",
114
+ ...(lastColumn ? null : hairlineEnd),
115
+ borderColor: import_componentColors.componentColors.divider,
116
+ cursor: pressable ? "pointer" : void 0,
117
+ hoverStyle: pressable ? {
118
+ backgroundColor: import_componentColors.componentColors.interactive.hover
119
+ } : void 0,
120
+ pressStyle: pressable ? {
121
+ opacity: 0.8
122
+ } : void 0,
123
+ role: pressable ? "button" : void 0,
124
+ tabIndex: pressable ? 0 : void 0,
125
+ "aria-label": name,
126
+ // LC-71: one ring on the cell (the perceived control), keyboard-only.
127
+ ...(keyboardRing ? import_theme.keyboardFocusRingProps : {
128
+ outlineWidth: 0
129
+ }),
130
+ onFocus: pressable ? function () {
131
+ return setKeyboardRing((0, import_theme.wasKeyboardFocus)());
132
+ } : void 0,
133
+ onBlur: pressable ? function () {
134
+ return setKeyboardRing(false);
135
+ } : void 0,
136
+ onPress,
137
+ onKeyDown: pressable ? function (ke) {
138
+ var _ke_preventDefault;
139
+ if (ke.key !== "Enter" && ke.key !== " ") return;
140
+ (_ke_preventDefault = ke.preventDefault) === null || _ke_preventDefault === void 0 ? void 0 : _ke_preventDefault.call(ke);
141
+ onPress();
142
+ } : void 0,
143
+ "data-matrix-cell": `${row.id}:${bucket.key}`,
144
+ "data-matrix-cell-state": state,
145
+ ...((summary === null || summary === void 0 ? void 0 : summary.intent) ? {
146
+ "data-matrix-cell-intent": summary.intent
147
+ } : null),
148
+ children: [!empty && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
149
+ position: "absolute",
150
+ top: 0,
151
+ left: 0,
152
+ right: 0,
153
+ bottom: 0,
154
+ backgroundColor: fill,
155
+ opacity: fillOpacity(intensity),
156
+ pointerEvents: "none",
157
+ "data-matrix-fill": String(intensity)
158
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
159
+ ...knobProps.label,
160
+ color: empty ? import_componentColors.componentColors.text.subtle : ink,
161
+ numberOfLines: 1,
162
+ pointerEvents: "none",
163
+ zIndex: 1,
164
+ "aria-hidden": true,
165
+ children: empty ? "\xB7" : text
166
+ })]
167
+ });
168
+ }
169
+ function LegendSwatch(param) {
170
+ var {
171
+ intensity,
172
+ fill,
173
+ empty
174
+ } = param;
175
+ var {
176
+ knobProps
177
+ } = (0, import_theme.useResolvedKnobs)();
178
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
179
+ width: 14,
180
+ height: 14,
181
+ ...knobProps.borderRadius,
182
+ position: "relative",
183
+ overflow: "hidden",
184
+ alignItems: "center",
185
+ justifyContent: "center",
186
+ borderWidth: import_theme.hairlineWidth,
187
+ borderColor: import_componentColors.componentColors.surface.border,
188
+ "data-matrix-legend-swatch": empty ? "empty" : String(intensity !== null && intensity !== void 0 ? intensity : 1),
189
+ children: empty ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
190
+ fontSize: 10,
191
+ lineHeight: 10,
192
+ color: import_componentColors.componentColors.text.subtle,
193
+ "aria-hidden": true,
194
+ children: "\xB7"
195
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
196
+ position: "absolute",
197
+ top: 0,
198
+ left: 0,
199
+ right: 0,
200
+ bottom: 0,
201
+ backgroundColor: fill !== null && fill !== void 0 ? fill : "$accentBackground",
202
+ opacity: fillOpacity(intensity !== null && intensity !== void 0 ? intensity : 1)
203
+ })
204
+ });
205
+ }
206
+ var SKELETON_ROWS = [96, 72, 112, 64, 88];
207
+ function MatrixSkeleton(param) {
208
+ var {
209
+ labelWidth,
210
+ columnWidth,
211
+ rowHeight
212
+ } = param;
213
+ var {
214
+ t
215
+ } = (0, import_i18n.useTranslation)();
216
+ var {
217
+ knobProps
218
+ } = (0, import_theme.useResolvedKnobs)();
219
+ var edgePad = knobProps.panelPadding.padding;
220
+ var columns = [0, 1, 2, 3, 4, 5];
221
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
222
+ width: "100%",
223
+ "aria-busy": true,
224
+ "aria-label": t("Loading"),
225
+ "data-matrix-skeleton": "true",
226
+ "data-async-skeleton": "matrix",
227
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
228
+ height: rowHeight,
229
+ alignItems: "center",
230
+ ...import_theme.hairline.bottom,
231
+ borderColor: "$borderColor",
232
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
233
+ width: labelWidth,
234
+ paddingHorizontal: edgePad,
235
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
236
+ width: 64,
237
+ height: 12
238
+ })
239
+ }), columns.map(function (column) {
240
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
241
+ width: columnWidth,
242
+ justifyContent: "center",
243
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
244
+ width: Math.max(24, columnWidth - 24),
245
+ height: 12
246
+ })
247
+ }, column);
248
+ })]
249
+ }), SKELETON_ROWS.map(function (labelSkeletonWidth, index) {
250
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
251
+ height: rowHeight,
252
+ alignItems: "center",
253
+ ...(index < SKELETON_ROWS.length - 1 ? import_theme.hairline.bottom : null),
254
+ borderColor: import_componentColors.componentColors.divider,
255
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
256
+ width: labelWidth,
257
+ paddingHorizontal: edgePad,
258
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
259
+ width: labelSkeletonWidth,
260
+ height: 12
261
+ })
262
+ }), columns.map(function (column) {
263
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
264
+ width: columnWidth,
265
+ justifyContent: "center",
266
+ children: (column + index) % 3 === 0 ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {
267
+ variant: "rounded",
268
+ width: Math.max(16, columnWidth - 16),
269
+ height: Math.max(10, rowHeight - 20)
270
+ })
271
+ }, column);
272
+ })]
273
+ }, index);
274
+ })]
275
+ });
276
+ }
277
+ function MatrixView(param) {
278
+ var {
279
+ rows,
280
+ cells,
281
+ rule: initialRule = "month",
282
+ onRuleChange,
283
+ range: rangeProp,
284
+ firstDayOfWeek = 0,
285
+ onCellPress,
286
+ formatCell,
287
+ isLoading = false,
288
+ error = null,
289
+ onRetry,
290
+ emptyTitle,
291
+ emptyDescription,
292
+ height: heightProp,
293
+ labelWidth = 180,
294
+ columnWidth: columnWidthProp,
295
+ subjectLabel,
296
+ showRuleSwitcher = true,
297
+ showLegend = true,
298
+ legendItems,
299
+ ...stackProps
300
+ } = param;
301
+ var {
302
+ t
303
+ } = (0, import_i18n.useTranslation)();
304
+ var {
305
+ knobProps
306
+ } = (0, import_theme.useResolvedKnobs)();
307
+ var [rule, setRule] = (0, import_react.useState)(initialRule);
308
+ if (typeof document !== "undefined") (0, import_theme.ensureKeyboardModalityTracking)();
309
+ var sz = knobProps.sizeToken;
310
+ var height = heightProp !== null && heightProp !== void 0 ? heightProp : sz === "$3" ? 400 : sz === "$5" ? 560 : 480;
311
+ var rowHeight = Math.max(import_theme.MIN_PRESS_TARGET, sz === "$3" ? 44 : sz === "$5" ? 56 : 48);
312
+ var columnWidth = Math.max(import_theme.MIN_PRESS_TARGET, columnWidthProp !== null && columnWidthProp !== void 0 ? columnWidthProp : sz === "$3" ? 56 : sz === "$5" ? 72 : 64);
313
+ var axisHeight = sz === "$3" ? 40 : sz === "$5" ? 52 : 46;
314
+ var range = (0, import_react.useMemo)(function () {
315
+ return rangeProp ? (0, import_matrixMath.alignMatrixRange)(rangeProp, rule, firstDayOfWeek) : (0, import_matrixMath.computeMatrixRange)(cells.map(function (cell) {
316
+ return cell.date;
317
+ }), rule, firstDayOfWeek);
318
+ }, [rangeProp, cells, rule, firstDayOfWeek]);
319
+ var buckets = (0, import_react.useMemo)(function () {
320
+ return (0, import_matrixMath.generateBuckets)(range, rule, firstDayOfWeek);
321
+ }, [range, rule, firstDayOfWeek]);
322
+ var summaries = (0, import_react.useMemo)(function () {
323
+ return (0, import_matrixMath.summarizeMatrixCells)(cells, rule, firstDayOfWeek);
324
+ }, [cells, rule, firstDayOfWeek]);
325
+ var maxValue = (0, import_react.useMemo)(function () {
326
+ var rowIds = new Set(rows.map(function (row) {
327
+ return row.id;
328
+ }));
329
+ var bucketKeys = new Set(buckets.map(function (bucket) {
330
+ return bucket.key;
331
+ }));
332
+ return (0, import_matrixMath.matrixMaxValue)(Array.from(summaries.values()).filter(function (summary) {
333
+ return rowIds.has(summary.rowId) && bucketKeys.has(summary.bucketKey);
334
+ }));
335
+ }, [summaries, rows, buckets]);
336
+ var gridWidth = buckets.length * columnWidth;
337
+ var rangeLabel = (0, import_react.useMemo)(function () {
338
+ return (0, import_ganttMath.formatRangeLabel)(range);
339
+ }, [range]);
340
+ var changeRule = (0, import_react.useCallback)(function (next) {
341
+ setRule(next);
342
+ onRuleChange === null || onRuleChange === void 0 ? void 0 : onRuleChange(next);
343
+ }, [onRuleChange]);
344
+ var cellText = (0, import_react.useCallback)(function (summary) {
345
+ var _summary_value;
346
+ if (formatCell) return formatCell(summary);
347
+ if (summary.label !== void 0) return summary.label;
348
+ return (0, import_theme.formatNumber)((_summary_value = summary.value) !== null && _summary_value !== void 0 ? _summary_value : summary.count);
349
+ }, [formatCell]);
350
+ var axisScrollRef = (0, import_react.useRef)(null);
351
+ var handleCanvasScroll = (0, import_react.useCallback)(function (event) {
352
+ var _ref;
353
+ var _event_nativeEvent_contentOffset, _event_nativeEvent, _axisScrollRef_current_scrollTo, _axisScrollRef_current;
354
+ var x = (_ref = event === null || event === void 0 ? void 0 : (_event_nativeEvent = event.nativeEvent) === null || _event_nativeEvent === void 0 ? void 0 : (_event_nativeEvent_contentOffset = _event_nativeEvent.contentOffset) === null || _event_nativeEvent_contentOffset === void 0 ? void 0 : _event_nativeEvent_contentOffset.x) !== null && _ref !== void 0 ? _ref : 0;
355
+ (_axisScrollRef_current = axisScrollRef.current) === null || _axisScrollRef_current === void 0 ? void 0 : (_axisScrollRef_current_scrollTo = _axisScrollRef_current.scrollTo) === null || _axisScrollRef_current_scrollTo === void 0 ? void 0 : _axisScrollRef_current_scrollTo.call(_axisScrollRef_current, {
356
+ x,
357
+ animated: false
358
+ });
359
+ }, []);
360
+ var scrollerDirection = {
361
+ direction: "ltr"
362
+ };
363
+ var showSkeleton = !error && isLoading && rows.length === 0;
364
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_AsyncBoundary.AsyncBoundary, {
365
+ loading: showSkeleton ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(MatrixSkeleton, {
366
+ labelWidth,
367
+ columnWidth,
368
+ rowHeight
369
+ }) : false,
370
+ empty: !error && !isLoading && rows.length === 0,
371
+ error,
372
+ onRetry,
373
+ emptyTitle: emptyTitle !== null && emptyTitle !== void 0 ? emptyTitle : t("No subjects"),
374
+ emptyDescription,
375
+ ...stackProps,
376
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
377
+ height,
378
+ overflow: "hidden",
379
+ backgroundColor: "$background",
380
+ elevation: knobProps.elevation,
381
+ ...knobProps.containerRadius,
382
+ "data-matrix-view": rule,
383
+ "data-size": knobProps.size,
384
+ "data-density": knobProps.density,
385
+ children: [/* Header */
386
+ /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
387
+ ...knobProps.panelPadding,
388
+ alignItems: "center",
389
+ justifyContent: "space-between",
390
+ ...knobProps.gap,
391
+ ...import_theme.hairline.bottom,
392
+ borderColor: "$borderColor",
393
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
394
+ ...knobProps.heading,
395
+ ...import_componentColors.sectionHeading,
396
+ numberOfLines: 1,
397
+ children: rangeLabel
398
+ }), showRuleSwitcher && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewSwitcher.ViewSwitcher, {
399
+ views: [{
400
+ type: "day",
401
+ label: t("Day")
402
+ }, {
403
+ type: "week",
404
+ label: t("Week")
405
+ }, {
406
+ type: "month",
407
+ label: t("Month")
408
+ }],
409
+ currentView: rule,
410
+ onViewChange: function onViewChange(val) {
411
+ return changeRule(val);
412
+ }
413
+ })]
414
+ }),
415
+ /* Pinned axis row: the subject header cell + the bucket header strip
416
+ stay put while rows scroll vertically. The strip follows the grid
417
+ scroller, so headers and cells can never drift apart. */
418
+ /* @__PURE__ */
419
+ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
420
+ ...import_theme.hairline.bottom,
421
+ borderColor: "$borderColor",
422
+ "data-matrix-axis-row": "true",
423
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
424
+ width: labelWidth,
425
+ flexShrink: 0,
426
+ height: axisHeight,
427
+ alignItems: "center",
428
+ paddingHorizontal: knobProps.panelPadding.padding,
429
+ ...hairlineEnd,
430
+ borderColor: "$borderColor",
431
+ backgroundColor: import_componentColors.componentColors.surface.background,
432
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
433
+ ...knobProps.label,
434
+ color: knobProps.textAccentColor,
435
+ numberOfLines: 1,
436
+ children: subjectLabel !== null && subjectLabel !== void 0 ? subjectLabel : t("Subject")
437
+ })
438
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
439
+ ref: axisScrollRef,
440
+ horizontal: true,
441
+ flex: 1,
442
+ scrollEnabled: false,
443
+ showsHorizontalScrollIndicator: false,
444
+ style: scrollerDirection,
445
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
446
+ width: gridWidth,
447
+ height: axisHeight,
448
+ backgroundColor: import_componentColors.componentColors.surface.background,
449
+ "data-matrix-axis": rule,
450
+ children: buckets.map(function (bucket, index) {
451
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
452
+ width: columnWidth,
453
+ height: axisHeight,
454
+ alignItems: "center",
455
+ justifyContent: "center",
456
+ ...(index === buckets.length - 1 ? null : hairlineEnd),
457
+ borderColor: import_componentColors.componentColors.divider,
458
+ "aria-label": bucket.name,
459
+ "data-matrix-column": bucket.key,
460
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
461
+ ...knobProps.label,
462
+ color: knobProps.textAccentColor,
463
+ numberOfLines: 1,
464
+ children: bucket.label
465
+ })
466
+ }, bucket.key);
467
+ })
468
+ })
469
+ })]
470
+ }),
471
+ /* Body: subject labels + grid share one vertical scroller so rows stay
472
+ aligned; the grid owns its horizontal scroller (LC-10). */
473
+ /* @__PURE__ */
474
+ (0, import_jsx_runtime.jsx)(import_tamagui.ScrollView, {
475
+ flex: 1,
476
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
477
+ "data-matrix-scroll-body": "true",
478
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
479
+ width: labelWidth,
480
+ flexShrink: 0,
481
+ ...hairlineEnd,
482
+ borderColor: "$borderColor",
483
+ "data-matrix-labels": "true",
484
+ children: rows.map(function (row, index) {
485
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
486
+ height: rowHeight,
487
+ alignItems: "center",
488
+ paddingHorizontal: knobProps.panelPadding.padding,
489
+ ...(index === rows.length - 1 ? null : import_theme.hairline.bottom),
490
+ borderColor: import_componentColors.componentColors.divider,
491
+ "data-matrix-row-label": row.id,
492
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
493
+ ...knobProps.body,
494
+ numberOfLines: 1,
495
+ color: "$color",
496
+ children: row.label
497
+ })
498
+ }, row.id);
499
+ })
500
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(CanvasScroller, {
501
+ horizontal: true,
502
+ ...(import_tamagui.isWeb ? {
503
+ flex: 1
504
+ } : null),
505
+ showsHorizontalScrollIndicator: true,
506
+ onScroll: handleCanvasScroll,
507
+ scrollEventThrottle: 16,
508
+ style: import_tamagui.isWeb ? scrollerDirection : [{
509
+ flex: 1
510
+ }, scrollerDirection],
511
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
512
+ width: gridWidth,
513
+ "data-matrix-canvas": "true",
514
+ children: rows.map(function (row, rowIndex) {
515
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
516
+ height: rowHeight,
517
+ ...(rowIndex === rows.length - 1 ? null : import_theme.hairline.bottom),
518
+ borderColor: import_componentColors.componentColors.divider,
519
+ "data-matrix-row": row.id,
520
+ children: buckets.map(function (bucket, columnIndex) {
521
+ var summary = summaries.get((0, import_matrixMath.matrixCellKey)(row.id, bucket.key));
522
+ var intensity = summary ? (0, import_matrixMath.matrixCellIntensity)(summary, maxValue) : 0;
523
+ var fill = resolveFill(summary === null || summary === void 0 ? void 0 : summary.color, summary === null || summary === void 0 ? void 0 : summary.intent);
524
+ var text = summary ? cellText(summary) : t("No data");
525
+ var name = (0, import_t.withInterp)(t("{{subject}}, {{bucket}}: {{value}}"), {
526
+ subject: row.label,
527
+ bucket: bucket.name,
528
+ value: text
529
+ });
530
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(CellIntentWrap, {
531
+ intent: (summary === null || summary === void 0 ? void 0 : summary.color) ? void 0 : summary === null || summary === void 0 ? void 0 : summary.intent,
532
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(MatrixCellBox, {
533
+ row,
534
+ bucket,
535
+ summary,
536
+ intensity,
537
+ fill,
538
+ text,
539
+ name,
540
+ width: columnWidth,
541
+ height: rowHeight,
542
+ lastColumn: columnIndex === buckets.length - 1,
543
+ onPress: onCellPress ? function () {
544
+ return onCellPress({
545
+ row,
546
+ bucket,
547
+ summary
548
+ });
549
+ } : void 0
550
+ })
551
+ }, bucket.key);
552
+ })
553
+ }, row.id);
554
+ })
555
+ })
556
+ })]
557
+ })
558
+ }), showLegend && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
559
+ ...knobProps.panelPadding,
560
+ alignItems: "center",
561
+ flexWrap: "wrap",
562
+ ...knobProps.gap,
563
+ ...import_theme.hairline.top,
564
+ borderColor: "$borderColor",
565
+ "data-matrix-legend": "true",
566
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
567
+ alignItems: "center",
568
+ gap: "$1.5",
569
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(LegendSwatch, {
570
+ empty: true
571
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
572
+ ...knobProps.label,
573
+ color: knobProps.textAccentColor,
574
+ children: t("No data")
575
+ })]
576
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
577
+ alignItems: "center",
578
+ gap: "$1.5",
579
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
580
+ ...knobProps.label,
581
+ color: knobProps.textAccentColor,
582
+ children: t("Less")
583
+ }), LEGEND_STEPS.map(function (step) {
584
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(LegendSwatch, {
585
+ intensity: step
586
+ }, step);
587
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
588
+ ...knobProps.label,
589
+ color: knobProps.textAccentColor,
590
+ children: t("More")
591
+ })]
592
+ }), legendItems === null || legendItems === void 0 ? void 0 : legendItems.map(function (item, index) {
593
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(CellIntentWrap, {
594
+ intent: item.color ? void 0 : item.intent,
595
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
596
+ alignItems: "center",
597
+ gap: "$1.5",
598
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(LegendSwatch, {
599
+ fill: resolveFill(item.color, item.intent)
600
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
601
+ ...knobProps.label,
602
+ color: knobProps.textAccentColor,
603
+ children: item.label
604
+ })]
605
+ })
606
+ }, `${item.label}-${index}`);
607
+ })]
608
+ })]
609
+ })
610
+ });
611
+ }
612
+ //# sourceMappingURL=Matrix.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Matrix_exports","MatrixView","module","exports","import_jsx_runtime","require","import_componentColors","import_AsyncBoundary","import_Skeleton","import_ViewSwitcher","import_t","import_theme","import_react","import_i18n","import_react_native","import_tamagui","import_ganttMath","import_matrixMath","CanvasScroller","isWeb","ScrollView","hairlineEnd","borderInlineEndWidth","hairlineWidth","borderInlineEndStyle","className","borderEndWidth","FILL_FLOOR","ON_FILL_INK_FROM","LEGEND_STEPS","CellIntentWrap","param","intent","children","jsx","Fragment","Intent","resolveFill","color","fillOpacity","intensity","MatrixCellBox","row","bucket","summary","fill","text","width","height","lastColumn","onPress","knobProps","useResolvedKnobs","readable","useReadableTextOn","keyboardRing","setKeyboardRing","useState","empty","state","ink","pressable","jsxs","YStack","alignItems","justifyContent","position","overflow","borderColor","componentColors","divider","cursor","hoverStyle","backgroundColor","interactive","hover","pressStyle","opacity","role","tabIndex","keyboardFocusRingProps","outlineWidth","onFocus","wasKeyboardFocus","onBlur","onKeyDown","ke","_ke_preventDefault","preventDefault","id","top","left","right","bottom","pointerEvents","String","Text","label","subtle","numberOfLines","zIndex","LegendSwatch","borderRadius","borderWidth","surface","border","fontSize","lineHeight","SKELETON_ROWS","MatrixSkeleton","labelWidth","columnWidth","rowHeight","t","useTranslation","edgePad","panelPadding","padding","columns","XStack","hairline","paddingHorizontal","Skeleton","map","column","Math","max","labelSkeletonWidth","index","length","variant","rows","cells","rule","initialRule","onRuleChange","range","rangeProp","firstDayOfWeek","onCellPress","formatCell","isLoading","error","onRetry","emptyTitle","emptyDescription","heightProp","columnWidthProp","subjectLabel","showRuleSwitcher","showLegend","legendItems","stackProps","setRule","document","ensureKeyboardModalityTracking","sz","sizeToken","MIN_PRESS_TARGET","axisHeight","useMemo","alignMatrixRange","computeMatrixRange","cell","date","buckets","generateBuckets","summaries","summarizeMatrixCells","maxValue","rowIds","Set","bucketKeys","matrixMaxValue","Array","values","filter","has","rowId","bucketKey","gridWidth","rangeLabel","formatRangeLabel","changeRule","useCallback","next","cellText","_summary_value","formatNumber","count","axisScrollRef","useRef","handleCanvasScroll","event","_ref","_event_nativeEvent_contentOffset","_event_nativeEvent","_axisScrollRef_current_scrollTo","_axisScrollRef_current","x","nativeEvent","contentOffset","current","scrollTo","animated","scrollerDirection","direction","showSkeleton","AsyncBoundary","loading","elevation","containerRadius","size","density","gap","heading","sectionHeading","ViewSwitcher","views","type","currentView","onViewChange","val","flexShrink","background","textAccentColor","ref","horizontal","flex","scrollEnabled","showsHorizontalScrollIndicator","style","body","onScroll","scrollEventThrottle","rowIndex","columnIndex","matrixCellKey","matrixCellIntensity","withInterp","subject"],"sources":["../../../src/views/Matrix.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}