pixelize-native-library 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (921) hide show
  1. package/COMPONENT-GOTCHAS.md +309 -0
  2. package/DESIGN-GUIDE.md +215 -0
  3. package/README.md +44 -0
  4. package/lib/module/core/MODULE.md +23 -16
  5. package/lib/module/core/a11y/MODULE.md +7 -7
  6. package/lib/module/core/a11y/touchTarget.js +6 -0
  7. package/lib/module/core/blur/blur.js +17 -0
  8. package/lib/module/core/blur/index.js +4 -0
  9. package/lib/module/core/device/MODULE.md +5 -8
  10. package/lib/module/core/gradient/AccentGradientFill.js +83 -0
  11. package/lib/module/core/gradient/ShimmerGradientFill.js +79 -0
  12. package/lib/module/core/gradient/darkenHex.js +13 -0
  13. package/lib/module/core/gradient/gradientStops.js +27 -0
  14. package/lib/module/core/gradient/index.js +8 -0
  15. package/lib/module/core/gradient/withAlpha.js +19 -0
  16. package/lib/module/core/haptics/MODULE.md +8 -0
  17. package/lib/module/core/haptics/context.js +7 -0
  18. package/lib/module/core/haptics/haptics.js +17 -0
  19. package/lib/module/core/haptics/index.js +6 -0
  20. package/lib/module/core/haptics/useHaptics.js +73 -0
  21. package/lib/module/core/heading/MODULE.md +1 -1
  22. package/lib/module/core/icon/MODULE.md +22 -23
  23. package/lib/module/core/icon/icons/building-2.js +1 -1
  24. package/lib/module/core/icon/icons/trash.js +1 -1
  25. package/lib/module/core/icon/icons/trending-up.js +10 -0
  26. package/lib/module/core/icon/resolve.js +2 -0
  27. package/lib/module/core/list/VirtualList.js +16 -3
  28. package/lib/module/core/media/expoImage.js +6 -0
  29. package/lib/module/core/motion/MODULE.md +25 -16
  30. package/lib/module/core/motion/animatedComponents.js +8 -0
  31. package/lib/module/core/motion/config.js +4 -1
  32. package/lib/module/core/motion/index.js +4 -1
  33. package/lib/module/core/motion/motionAnimation.js +87 -0
  34. package/lib/module/core/motion/presets.js +81 -81
  35. package/lib/module/core/motion/reanimatedEasing.js +19 -0
  36. package/lib/module/core/motion/useAnimatedValue.js +2 -14
  37. package/lib/module/core/motion/useMotion.js +19 -20
  38. package/lib/module/core/motion/usePressState.js +140 -0
  39. package/lib/module/core/overlay/MODULE.md +17 -0
  40. package/lib/module/core/overlay/ModalPortalContext.js +8 -0
  41. package/lib/module/core/overlay/index.js +5 -0
  42. package/lib/module/core/overlay/renderWebPortal.js +6 -0
  43. package/lib/module/core/overlay/renderWebPortal.web.js +8 -0
  44. package/lib/module/core/screen-scroll/ScreenScrollContext.js +9 -0
  45. package/lib/module/core/screen-scroll/index.js +4 -0
  46. package/lib/module/core/slot/MODULE.md +9 -0
  47. package/lib/module/core/slot/index.js +4 -0
  48. package/lib/module/core/slot/nodeSlot.js +21 -0
  49. package/lib/module/core/style/focusRing.js +37 -0
  50. package/lib/module/core/style/index.js +2 -1
  51. package/lib/module/core/style/radius.js +4 -0
  52. package/lib/module/index.js +24 -4
  53. package/lib/module/modules/accordion/Accordion.js +115 -153
  54. package/lib/module/modules/accordion/Accordion.variants.js +6 -7
  55. package/lib/module/modules/accordion/AccordionProps.js +4 -0
  56. package/lib/module/modules/accordion/MODULE.md +15 -23
  57. package/lib/module/modules/alert-dialog/AlertDialog.js +25 -7
  58. package/lib/module/modules/alert-dialog/AlertDialog.variants.js +4 -0
  59. package/lib/module/modules/alert-dialog/AlertDialogProps.js +4 -0
  60. package/lib/module/modules/alert-dialog/MODULE.md +2 -1
  61. package/lib/module/modules/app-bar/AppBar.js +27 -22
  62. package/lib/module/modules/app-bar/AppBar.variants.js +6 -2
  63. package/lib/module/modules/app-bar/AppBarProps.js +4 -0
  64. package/lib/module/modules/app-bar/MODULE.md +1 -1
  65. package/lib/module/modules/app-switcher/AppSwitcher.js +30 -0
  66. package/lib/module/modules/app-switcher/AppSwitcherProps.js +4 -0
  67. package/lib/module/modules/app-switcher/MODULE.md +14 -0
  68. package/lib/module/modules/app-switcher/index.js +4 -0
  69. package/lib/module/modules/appearance-settings/AppearanceSettings.js +58 -0
  70. package/lib/module/modules/appearance-settings/AppearanceSettingsProps.js +4 -0
  71. package/lib/module/modules/appearance-settings/MODULE.md +9 -0
  72. package/lib/module/modules/appearance-settings/index.js +4 -0
  73. package/lib/module/modules/avatar/Avatar.js +7 -1
  74. package/lib/module/modules/avatar/Avatar.variants.js +3 -1
  75. package/lib/module/modules/avatar/AvatarProps.js +4 -0
  76. package/lib/module/modules/avatar/MODULE.md +3 -3
  77. package/lib/module/modules/avatar-group/AvatarGroup.js +10 -6
  78. package/lib/module/modules/avatar-group/AvatarGroup.variants.js +23 -0
  79. package/lib/module/modules/avatar-group/AvatarGroupProps.js +4 -0
  80. package/lib/module/modules/avatar-group/MODULE.md +17 -0
  81. package/lib/module/modules/backdrop/Backdrop.js +38 -0
  82. package/lib/module/modules/backdrop/BackdropProps.js +4 -0
  83. package/lib/module/modules/backdrop/MODULE.md +11 -0
  84. package/lib/module/modules/backdrop/index.js +4 -0
  85. package/lib/module/modules/badge/Badge.js +11 -5
  86. package/lib/module/modules/badge/Badge.variants.js +2 -1
  87. package/lib/module/modules/badge/BadgeProps.js +4 -0
  88. package/lib/module/modules/badge/MODULE.md +11 -9
  89. package/lib/module/modules/banner/Banner.js +106 -60
  90. package/lib/module/modules/banner/Banner.variants.js +5 -3
  91. package/lib/module/modules/banner/BannerProps.js +4 -0
  92. package/lib/module/modules/banner/MODULE.md +27 -33
  93. package/lib/module/modules/bottom-nav/BottomNav.js +6 -3
  94. package/lib/module/modules/bottom-nav/BottomNav.variants.js +11 -12
  95. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +18 -19
  96. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +35 -10
  97. package/lib/module/modules/bottom-nav/BottomNavProps.js +4 -0
  98. package/lib/module/modules/bottom-nav/BottomNavTab.js +38 -15
  99. package/lib/module/modules/bottom-nav/MODULE.md +14 -5
  100. package/lib/module/modules/bottom-sheet/BottomSheet.js +49 -13
  101. package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +15 -5
  102. package/lib/module/modules/bottom-sheet/BottomSheetProps.js +4 -0
  103. package/lib/module/modules/bottom-sheet/MODULE.md +24 -3
  104. package/lib/module/modules/breadcrumbs/Breadcrumbs.js +54 -0
  105. package/lib/module/modules/breadcrumbs/Breadcrumbs.variants.js +28 -0
  106. package/lib/module/modules/breadcrumbs/BreadcrumbsProps.js +4 -0
  107. package/lib/module/modules/breadcrumbs/MODULE.md +13 -0
  108. package/lib/module/modules/breadcrumbs/index.js +4 -0
  109. package/lib/module/modules/button/Button.js +89 -101
  110. package/lib/module/modules/button/Button.variants.js +14 -17
  111. package/lib/module/modules/button/ButtonProps.js +4 -0
  112. package/lib/module/modules/button/MODULE.md +11 -10
  113. package/lib/module/modules/button-group/ButtonGroup.js +38 -38
  114. package/lib/module/modules/button-group/ButtonGroup.variants.js +23 -50
  115. package/lib/module/modules/button-group/ButtonGroupProps.js +4 -0
  116. package/lib/module/modules/button-group/MODULE.md +27 -32
  117. package/lib/module/modules/card/Card.js +140 -19
  118. package/lib/module/modules/card/Card.variants.js +1 -0
  119. package/lib/module/modules/card/CardProps.js +4 -0
  120. package/lib/module/modules/card/MODULE.md +17 -12
  121. package/lib/module/modules/charts/BarChart.js +35 -18
  122. package/lib/module/modules/charts/BarChartProps.js +4 -0
  123. package/lib/module/modules/charts/BarList.js +33 -19
  124. package/lib/module/modules/charts/BarListProps.js +4 -0
  125. package/lib/module/modules/charts/ChartLegendProps.js +4 -0
  126. package/lib/module/modules/charts/Charts.variants.js +69 -3
  127. package/lib/module/modules/charts/DonutChart.js +12 -6
  128. package/lib/module/modules/charts/DonutChartProps.js +4 -0
  129. package/lib/module/modules/charts/LineChart.js +8 -5
  130. package/lib/module/modules/charts/LineChartProps.js +4 -0
  131. package/lib/module/modules/charts/MODULE.md +33 -20
  132. package/lib/module/modules/charts/PieChart.js +19 -8
  133. package/lib/module/modules/charts/PieChartProps.js +4 -0
  134. package/lib/module/modules/charts/Sparkline.js +4 -2
  135. package/lib/module/modules/charts/SparklineProps.js +4 -0
  136. package/lib/module/modules/checkbox/Checkbox.js +30 -28
  137. package/lib/module/modules/checkbox/Checkbox.variants.js +4 -2
  138. package/lib/module/modules/checkbox/CheckboxProps.js +4 -0
  139. package/lib/module/modules/checkbox/MODULE.md +17 -6
  140. package/lib/module/modules/chip/Chip.js +116 -54
  141. package/lib/module/modules/chip/Chip.variants.js +18 -5
  142. package/lib/module/modules/chip/ChipGroup.js +16 -5
  143. package/lib/module/modules/chip/ChipGroupProps.js +4 -0
  144. package/lib/module/modules/chip/ChipProps.js +4 -0
  145. package/lib/module/modules/chip/MODULE.md +8 -8
  146. package/lib/module/modules/combobox/Combobox.js +111 -78
  147. package/lib/module/modules/combobox/Combobox.variants.js +24 -10
  148. package/lib/module/modules/combobox/ComboboxProps.js +4 -0
  149. package/lib/module/modules/combobox/MODULE.md +14 -10
  150. package/lib/module/modules/composer/Composer.js +20 -11
  151. package/lib/module/modules/composer/Composer.variants.js +2 -0
  152. package/lib/module/modules/composer/ComposerProps.js +4 -0
  153. package/lib/module/modules/composer/MODULE.md +7 -2
  154. package/lib/module/modules/copy-button/CopyButton.js +35 -9
  155. package/lib/module/modules/copy-button/CopyButton.variants.js +7 -4
  156. package/lib/module/modules/copy-button/CopyButtonProps.js +4 -0
  157. package/lib/module/modules/copy-button/MODULE.md +11 -8
  158. package/lib/module/modules/data-table/DataTable.js +37 -14
  159. package/lib/module/modules/data-table/DataTable.variants.js +5 -4
  160. package/lib/module/modules/data-table/DataTableProps.js +4 -0
  161. package/lib/module/modules/data-table/MODULE.md +6 -10
  162. package/lib/module/modules/date-picker/Calendar.js +78 -29
  163. package/lib/module/modules/date-picker/CalendarProps.js +4 -0
  164. package/lib/module/modules/date-picker/DatePicker.variants.js +26 -10
  165. package/lib/module/modules/date-picker/DatePickerProps.js +4 -0
  166. package/lib/module/modules/date-picker/DateRangePickerProps.js +4 -0
  167. package/lib/module/modules/date-picker/MODULE.md +29 -11
  168. package/lib/module/modules/date-picker/PickerField.js +13 -4
  169. package/lib/module/modules/date-picker/PickerFieldProps.js +4 -0
  170. package/lib/module/modules/date-picker/PickerShell.js +23 -12
  171. package/lib/module/modules/date-picker/PickerShellProps.js +4 -0
  172. package/lib/module/modules/date-picker/TimePicker.js +15 -19
  173. package/lib/module/modules/date-picker/TimePickerProps.js +4 -0
  174. package/lib/module/modules/description-list/DescriptionList.js +90 -0
  175. package/lib/module/modules/description-list/DescriptionList.variants.js +63 -0
  176. package/lib/module/modules/description-list/DescriptionListProps.js +4 -0
  177. package/lib/module/modules/description-list/MODULE.md +15 -0
  178. package/lib/module/modules/description-list/index.js +4 -0
  179. package/lib/module/modules/divider/Divider.variants.js +6 -5
  180. package/lib/module/modules/divider/DividerProps.js +4 -0
  181. package/lib/module/modules/divider/MODULE.md +1 -6
  182. package/lib/module/modules/document-viewer/DocumentViewer.js +35 -0
  183. package/lib/module/modules/document-viewer/DocumentViewerProps.js +4 -0
  184. package/lib/module/modules/document-viewer/MODULE.md +12 -0
  185. package/lib/module/modules/document-viewer/index.js +4 -0
  186. package/lib/module/modules/drawer/Drawer.js +62 -45
  187. package/lib/module/modules/drawer/Drawer.variants.js +4 -4
  188. package/lib/module/modules/drawer/DrawerProps.js +4 -0
  189. package/lib/module/modules/drawer/MODULE.md +14 -21
  190. package/lib/module/modules/empty-state/EmptyState.js +19 -29
  191. package/lib/module/modules/empty-state/EmptyState.variants.js +7 -0
  192. package/lib/module/modules/empty-state/EmptyStateProps.js +4 -0
  193. package/lib/module/modules/empty-state/MODULE.md +5 -9
  194. package/lib/module/modules/fab/Fab.js +47 -69
  195. package/lib/module/modules/fab/Fab.variants.js +25 -5
  196. package/lib/module/modules/fab/FabGroup.js +113 -89
  197. package/lib/module/modules/fab/FabGroupProps.js +4 -0
  198. package/lib/module/modules/fab/FabProps.js +4 -0
  199. package/lib/module/modules/fab/MODULE.md +17 -11
  200. package/lib/module/modules/field-select-modal/FieldSelectModal.js +52 -0
  201. package/lib/module/modules/field-select-modal/FieldSelectModalProps.js +4 -0
  202. package/lib/module/modules/field-select-modal/MODULE.md +13 -0
  203. package/lib/module/modules/field-select-modal/index.js +4 -0
  204. package/lib/module/modules/file-grid/FileGrid.js +31 -16
  205. package/lib/module/modules/file-grid/FileGrid.variants.js +2 -2
  206. package/lib/module/modules/file-grid/FileGridProps.js +4 -0
  207. package/lib/module/modules/file-grid/MODULE.md +29 -4
  208. package/lib/module/modules/file-upload/FileUpload.js +56 -15
  209. package/lib/module/modules/file-upload/FileUpload.variants.js +3 -1
  210. package/lib/module/modules/file-upload/FileUploadProps.js +4 -0
  211. package/lib/module/modules/file-upload/MODULE.md +10 -12
  212. package/lib/module/modules/filter-bar/FilterBar.js +68 -0
  213. package/lib/module/modules/filter-bar/FilterBarProps.js +4 -0
  214. package/lib/module/modules/filter-bar/MODULE.md +16 -0
  215. package/lib/module/modules/filter-bar/index.js +4 -0
  216. package/lib/module/modules/filter-sheet/FilterChip.js +13 -4
  217. package/lib/module/modules/filter-sheet/FilterChipProps.js +4 -0
  218. package/lib/module/modules/filter-sheet/FilterSheet.js +19 -14
  219. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +2 -3
  220. package/lib/module/modules/filter-sheet/FilterSheetBody.js +39 -17
  221. package/lib/module/modules/filter-sheet/FilterSheetProps.js +2 -0
  222. package/lib/module/modules/filter-sheet/MODULE.md +4 -4
  223. package/lib/module/modules/folder-row/FolderRow.js +33 -19
  224. package/lib/module/modules/folder-row/FolderRow.variants.js +4 -2
  225. package/lib/module/modules/folder-row/FolderRowProps.js +4 -0
  226. package/lib/module/modules/folder-row/MODULE.md +6 -4
  227. package/lib/module/modules/form-field/FormField.js +9 -4
  228. package/lib/module/modules/form-field/FormFieldProps.js +4 -0
  229. package/lib/module/modules/form-field/MODULE.md +2 -7
  230. package/lib/module/modules/gantt/Gantt.js +52 -14
  231. package/lib/module/modules/gantt/Gantt.variants.js +47 -3
  232. package/lib/module/modules/gantt/GanttProps.js +4 -0
  233. package/lib/module/modules/gantt/MODULE.md +14 -4
  234. package/lib/module/modules/image-viewer/ImageViewer.js +37 -6
  235. package/lib/module/modules/image-viewer/ImageViewerProps.js +4 -0
  236. package/lib/module/modules/image-viewer/MODULE.md +7 -1
  237. package/lib/module/modules/input/Input.js +75 -27
  238. package/lib/module/modules/input/Input.variants.js +10 -10
  239. package/lib/module/modules/input/InputProps.js +4 -0
  240. package/lib/module/modules/input/MODULE.md +9 -14
  241. package/lib/module/modules/key-value/KeyValue.js +36 -0
  242. package/lib/module/modules/key-value/KeyValueProps.js +4 -0
  243. package/lib/module/modules/key-value/MODULE.md +16 -0
  244. package/lib/module/modules/key-value/index.js +4 -0
  245. package/lib/module/modules/limit-reached-modal/LimitReachedModalProps.js +4 -0
  246. package/lib/module/modules/limit-reached-modal/MODULE.md +1 -6
  247. package/lib/module/modules/list-item/ListItem.js +60 -27
  248. package/lib/module/modules/list-item/ListItem.variants.js +11 -2
  249. package/lib/module/modules/list-item/ListItemProps.js +4 -0
  250. package/lib/module/modules/list-item/MODULE.md +14 -10
  251. package/lib/module/modules/list-screen/ListScreen.js +63 -0
  252. package/lib/module/modules/list-screen/ListScreenProps.js +4 -0
  253. package/lib/module/modules/list-screen/MODULE.md +12 -0
  254. package/lib/module/modules/list-screen/index.js +4 -0
  255. package/lib/module/modules/markdown/MODULE.md +6 -5
  256. package/lib/module/modules/markdown/Markdown.js +57 -22
  257. package/lib/module/modules/markdown/Markdown.variants.js +2 -1
  258. package/lib/module/modules/markdown/MarkdownProps.js +4 -0
  259. package/lib/module/modules/menu/MODULE.md +11 -7
  260. package/lib/module/modules/menu/Menu.js +149 -76
  261. package/lib/module/modules/menu/Menu.variants.js +5 -5
  262. package/lib/module/modules/menu/MenuProps.js +4 -0
  263. package/lib/module/modules/message-bubble/MODULE.md +7 -3
  264. package/lib/module/modules/message-bubble/MessageBubble.js +4 -5
  265. package/lib/module/modules/message-bubble/MessageBubble.variants.js +5 -5
  266. package/lib/module/modules/message-bubble/MessageBubbleProps.js +4 -0
  267. package/lib/module/modules/modal/MODULE.md +63 -89
  268. package/lib/module/modules/modal/Modal.js +168 -47
  269. package/lib/module/modules/modal/Modal.variants.js +2 -2
  270. package/lib/module/modules/modal/ModalPortalContext.js +1 -22
  271. package/lib/module/modules/modal/ModalPortalProvider.js +1 -1
  272. package/lib/module/modules/modal/ModalPortalProviderProps.js +4 -0
  273. package/lib/module/modules/modal/ModalProps.js +4 -0
  274. package/lib/module/modules/modal/renderWebPortal.js +1 -15
  275. package/lib/module/modules/modal/renderWebPortal.web.js +1 -21
  276. package/lib/module/modules/more-items/MODULE.md +3 -0
  277. package/lib/module/modules/more-items/MoreItems.js +16 -7
  278. package/lib/module/modules/more-items/MoreItems.variants.js +6 -2
  279. package/lib/module/modules/more-items/MoreItemsProps.js +4 -0
  280. package/lib/module/modules/multi-select/MODULE.md +5 -6
  281. package/lib/module/modules/multi-select/MultiSelect.js +61 -24
  282. package/lib/module/modules/multi-select/MultiSelect.variants.js +8 -4
  283. package/lib/module/modules/multi-select/MultiSelectProps.js +4 -0
  284. package/lib/module/modules/notification-bell/MODULE.md +8 -0
  285. package/lib/module/modules/notification-bell/NotificationBell.js +43 -0
  286. package/lib/module/modules/notification-bell/NotificationBellProps.js +4 -0
  287. package/lib/module/modules/notification-bell/index.js +4 -0
  288. package/lib/module/modules/number-input/MODULE.md +10 -14
  289. package/lib/module/modules/number-input/NumberInput.js +100 -85
  290. package/lib/module/modules/number-input/NumberInput.variants.js +11 -10
  291. package/lib/module/modules/number-input/NumberInputProps.js +4 -0
  292. package/lib/module/modules/org-switcher/MODULE.md +13 -8
  293. package/lib/module/modules/org-switcher/OrgSwitcher.js +34 -21
  294. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +8 -4
  295. package/lib/module/modules/org-switcher/OrgSwitcherProps.js +4 -0
  296. package/lib/module/modules/pagination/MODULE.md +4 -7
  297. package/lib/module/modules/pagination/Pagination.js +97 -48
  298. package/lib/module/modules/pagination/Pagination.variants.js +6 -4
  299. package/lib/module/modules/pagination/PaginationControls.js +58 -36
  300. package/lib/module/modules/pagination/PaginationProps.js +4 -0
  301. package/lib/module/modules/person-chip/MODULE.md +11 -0
  302. package/lib/module/modules/person-chip/PersonChip.js +65 -0
  303. package/lib/module/modules/person-chip/PersonChipProps.js +4 -0
  304. package/lib/module/modules/person-chip/index.js +4 -0
  305. package/lib/module/modules/pin-input/MODULE.md +12 -19
  306. package/lib/module/modules/pin-input/PinInput.js +10 -3
  307. package/lib/module/modules/pin-input/PinInput.variants.js +4 -4
  308. package/lib/module/modules/pin-input/PinInputProps.js +4 -0
  309. package/lib/module/modules/plan-badge/MODULE.md +4 -0
  310. package/lib/module/modules/plan-badge/PlanBadge.js +25 -0
  311. package/lib/module/modules/plan-badge/PlanBadgeProps.js +4 -0
  312. package/lib/module/modules/plan-badge/index.js +4 -0
  313. package/lib/module/modules/plan-pill/MODULE.md +4 -0
  314. package/lib/module/modules/plan-pill/PlanPill.js +24 -0
  315. package/lib/module/modules/plan-pill/PlanPillProps.js +4 -0
  316. package/lib/module/modules/plan-pill/index.js +4 -0
  317. package/lib/module/modules/progress-bar/MODULE.md +12 -14
  318. package/lib/module/modules/progress-bar/ProgressBar.js +28 -36
  319. package/lib/module/modules/progress-bar/ProgressBarProps.js +4 -0
  320. package/lib/module/modules/radio-group/MODULE.md +7 -13
  321. package/lib/module/modules/radio-group/RadioGroup.js +125 -65
  322. package/lib/module/modules/radio-group/RadioGroup.variants.js +4 -4
  323. package/lib/module/modules/radio-group/RadioGroupProps.js +4 -0
  324. package/lib/module/modules/reorder/MODULE.md +7 -9
  325. package/lib/module/modules/reorder/Reorder.js +12 -6
  326. package/lib/module/modules/reorder/Reorder.variants.js +7 -6
  327. package/lib/module/modules/reorder/ReorderProps.js +4 -0
  328. package/lib/module/modules/rich-text/MODULE.md +5 -3
  329. package/lib/module/modules/rich-text/RichText.js +42 -22
  330. package/lib/module/modules/rich-text/RichTextProps.js +4 -0
  331. package/lib/module/modules/rich-text-editor/MODULE.md +8 -15
  332. package/lib/module/modules/rich-text-editor/RichTextEditor.js +13 -5
  333. package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +9 -6
  334. package/lib/module/modules/rich-text-editor/RichTextEditorProps.js +4 -0
  335. package/lib/module/modules/save-bar/MODULE.md +3 -0
  336. package/lib/module/modules/save-bar/SaveBar.js +49 -0
  337. package/lib/module/modules/save-bar/SaveBarProps.js +4 -0
  338. package/lib/module/modules/save-bar/index.js +4 -0
  339. package/lib/module/modules/screen/MODULE.md +14 -5
  340. package/lib/module/modules/screen/Screen.js +109 -33
  341. package/lib/module/modules/screen/Screen.variants.js +18 -0
  342. package/lib/module/modules/screen/ScreenProps.js +4 -0
  343. package/lib/module/modules/search-bar/MODULE.md +9 -8
  344. package/lib/module/modules/search-bar/SearchBar.js +49 -27
  345. package/lib/module/modules/search-bar/SearchBar.variants.js +13 -12
  346. package/lib/module/modules/search-bar/SearchBarProps.js +4 -0
  347. package/lib/module/modules/section/MODULE.md +3 -1
  348. package/lib/module/modules/section/Section.js +14 -16
  349. package/lib/module/modules/section/Section.variants.js +1 -6
  350. package/lib/module/modules/section/SectionProps.js +4 -0
  351. package/lib/module/modules/section-list/MODULE.md +21 -1
  352. package/lib/module/modules/section-list/SectionListProps.js +4 -0
  353. package/lib/module/modules/segmented-control/MODULE.md +30 -26
  354. package/lib/module/modules/segmented-control/SegmentedControl.js +124 -70
  355. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +11 -43
  356. package/lib/module/modules/segmented-control/SegmentedControlProps.js +4 -0
  357. package/lib/module/modules/select/MODULE.md +34 -10
  358. package/lib/module/modules/select/Select.js +74 -34
  359. package/lib/module/modules/select/Select.variants.js +39 -16
  360. package/lib/module/modules/select/SelectProps.js +4 -0
  361. package/lib/module/modules/setting-row/MODULE.md +8 -0
  362. package/lib/module/modules/setting-row/SettingRow.js +50 -0
  363. package/lib/module/modules/setting-row/SettingRowProps.js +4 -0
  364. package/lib/module/modules/setting-row/index.js +4 -0
  365. package/lib/module/modules/settings-section/MODULE.md +7 -0
  366. package/lib/module/modules/settings-section/SettingsSection.js +37 -0
  367. package/lib/module/modules/settings-section/SettingsSectionProps.js +4 -0
  368. package/lib/module/modules/settings-section/index.js +4 -0
  369. package/lib/module/modules/skeleton/MODULE.md +25 -28
  370. package/lib/module/modules/skeleton/Skeleton.js +54 -53
  371. package/lib/module/modules/skeleton/Skeleton.variants.js +11 -74
  372. package/lib/module/modules/skeleton/SkeletonProps.js +4 -0
  373. package/lib/module/modules/slider/MODULE.md +4 -1
  374. package/lib/module/modules/slider/Slider.js +7 -6
  375. package/lib/module/modules/slider/Slider.variants.js +4 -2
  376. package/lib/module/modules/slider/SliderProps.js +4 -0
  377. package/lib/module/modules/spinner/MODULE.md +3 -2
  378. package/lib/module/modules/spinner/SpinnerProps.js +4 -0
  379. package/lib/module/modules/stage-progress/MODULE.md +32 -14
  380. package/lib/module/modules/stage-progress/StageProgress.js +136 -59
  381. package/lib/module/modules/stage-progress/StageProgress.variants.js +57 -20
  382. package/lib/module/modules/stage-progress/StageProgressProps.js +4 -0
  383. package/lib/module/modules/stat-grid/MODULE.md +11 -0
  384. package/lib/module/modules/stat-grid/StatGrid.js +34 -0
  385. package/lib/module/modules/stat-grid/StatGridProps.js +4 -0
  386. package/lib/module/modules/stat-grid/index.js +4 -0
  387. package/lib/module/modules/stat-tile/MODULE.md +14 -1
  388. package/lib/module/modules/stat-tile/StatTile.js +51 -21
  389. package/lib/module/modules/stat-tile/StatTile.variants.js +7 -0
  390. package/lib/module/modules/stat-tile/StatTileProps.js +4 -0
  391. package/lib/module/modules/state-block/MODULE.md +12 -3
  392. package/lib/module/modules/state-block/StateBlock.js +54 -41
  393. package/lib/module/modules/state-block/StateBlock.variants.js +7 -0
  394. package/lib/module/modules/state-block/StateBlockProps.js +4 -0
  395. package/lib/module/modules/stepper/MODULE.md +2 -0
  396. package/lib/module/modules/stepper/Stepper.js +22 -21
  397. package/lib/module/modules/stepper/Stepper.variants.js +2 -0
  398. package/lib/module/modules/stepper/StepperProps.js +4 -0
  399. package/lib/module/modules/surface/MODULE.md +57 -0
  400. package/lib/module/modules/surface/Surface.js +47 -0
  401. package/lib/module/modules/surface/Surface.variants.js +33 -0
  402. package/lib/module/modules/surface/SurfaceProps.js +4 -0
  403. package/lib/module/modules/surface/index.js +4 -0
  404. package/lib/module/modules/swipeable-row/MODULE.md +12 -2
  405. package/lib/module/modules/swipeable-row/SwipeableRow.js +57 -13
  406. package/lib/module/modules/swipeable-row/SwipeableRowProps.js +4 -0
  407. package/lib/module/modules/switch/MODULE.md +7 -2
  408. package/lib/module/modules/switch/Switch.js +49 -9
  409. package/lib/module/modules/switch/Switch.variants.js +2 -3
  410. package/lib/module/modules/switch/SwitchProps.js +4 -0
  411. package/lib/module/modules/tabs/MODULE.md +11 -14
  412. package/lib/module/modules/tabs/Tabs.js +115 -51
  413. package/lib/module/modules/tabs/Tabs.variants.js +6 -6
  414. package/lib/module/modules/tabs/TabsProps.js +4 -0
  415. package/lib/module/modules/text/MODULE.md +25 -14
  416. package/lib/module/modules/text/Text.js +18 -6
  417. package/lib/module/modules/text/Text.variants.js +116 -44
  418. package/lib/module/modules/text/TextProps.js +4 -0
  419. package/lib/module/modules/textarea/MODULE.md +12 -16
  420. package/lib/module/modules/textarea/Textarea.js +15 -12
  421. package/lib/module/modules/textarea/Textarea.variants.js +6 -2
  422. package/lib/module/modules/textarea/TextareaProps.js +4 -0
  423. package/lib/module/modules/timeline/MODULE.md +8 -17
  424. package/lib/module/modules/timeline/Timeline.js +79 -22
  425. package/lib/module/modules/timeline/Timeline.variants.js +2 -0
  426. package/lib/module/modules/timeline/TimelineProps.js +4 -0
  427. package/lib/module/modules/toast/MODULE.md +15 -18
  428. package/lib/module/modules/toast/Toast.js +75 -55
  429. package/lib/module/modules/toast/Toast.variants.js +7 -5
  430. package/lib/module/modules/tooltip/MODULE.md +22 -22
  431. package/lib/module/modules/tooltip/Tooltip.js +77 -16
  432. package/lib/module/modules/tooltip/Tooltip.variants.js +8 -1
  433. package/lib/module/modules/tooltip/TooltipProps.js +4 -0
  434. package/lib/module/modules/typing-indicator/MODULE.md +1 -1
  435. package/lib/module/modules/typing-indicator/TypingIndicator.js +78 -51
  436. package/lib/module/modules/typing-indicator/TypingIndicatorProps.js +4 -0
  437. package/lib/module/modules/upgrade-button/MODULE.md +3 -0
  438. package/lib/module/modules/upgrade-button/UpgradeButton.js +23 -0
  439. package/lib/module/modules/upgrade-button/UpgradeButtonProps.js +4 -0
  440. package/lib/module/modules/upgrade-button/index.js +4 -0
  441. package/lib/module/theme/MODULE.md +5 -1
  442. package/lib/module/theme/platform/MODULE.md +16 -8
  443. package/lib/module/theme/platform/elevation.native.js +1 -51
  444. package/lib/module/theme/platform/floatingSurface.native.js +75 -0
  445. package/lib/module/theme/platform/highlight.native.js +59 -0
  446. package/lib/module/theme/platform/index.js +5 -0
  447. package/lib/module/theme/platform/motion.native.js +31 -11
  448. package/lib/module/theme/platform/stateLayer.native.js +14 -0
  449. package/lib/module/theme/platform/surfaces.native.js +11 -0
  450. package/lib/module/theme/provider/PixelizeProvider.js +18 -5
  451. package/lib/module/theme/tokens/MODULE.md +36 -28
  452. package/lib/module/theme/tokens/THEME-CONTRACT.md +187 -0
  453. package/lib/module/theme/tokens/assertPalette.js +29 -0
  454. package/lib/module/theme/tokens/brands/emerald/palette.light.js +12 -9
  455. package/lib/module/theme/tokens/brands/lavender/palette.light.js +7 -6
  456. package/lib/module/theme/tokens/brands/meadow/palette.light.js +9 -8
  457. package/lib/module/theme/tokens/brands/radiant/palette.light.js +10 -9
  458. package/lib/module/theme/tokens/brands/rosewood/palette.light.js +10 -9
  459. package/lib/module/theme/tokens/brands/skyline/palette.light.js +9 -8
  460. package/lib/module/theme/tokens/brands/slate/palette.light.js +11 -13
  461. package/lib/module/theme/tokens/brands/storefront/palette.light.js +7 -6
  462. package/lib/module/theme/tokens/brands/zinc/palette.dark.js +3 -2
  463. package/lib/module/theme/tokens/brands/zinc/palette.light.js +3 -2
  464. package/lib/module/theme/tokens/builders/accentText.js +10 -1
  465. package/lib/module/theme/tokens/builders/buildBrandScale.js +42 -0
  466. package/lib/module/theme/tokens/builders/buildDarkPalette.js +3 -2
  467. package/lib/module/theme/tokens/builders/finalizePalette.js +34 -0
  468. package/lib/module/theme/tokens/builders/gradientInk.js +23 -0
  469. package/lib/module/theme/tokens/builders/liftToContrast.js +44 -0
  470. package/lib/module/theme/tokens/builders/paletteFromAccent.js +30 -0
  471. package/lib/module/theme/tokens/builders/placeholderInk.js +22 -0
  472. package/lib/module/theme/tokens/builders/semanticText.js +14 -0
  473. package/lib/module/theme/tokens/builders/skeletonShimmer.js +22 -0
  474. package/lib/module/theme/tokens/builders/surfaceRungs.js +44 -0
  475. package/lib/module/theme/tokens/index.js +8 -0
  476. package/lib/module/theme/tokens/primitives/controlSizes.js +16 -0
  477. package/lib/module/theme/tokens/primitives/index.js +1 -0
  478. package/lib/module/theme/tokens/roles/index.js +7 -0
  479. package/lib/typescript/core/a11y/touchTarget.d.ts +4 -0
  480. package/lib/typescript/core/blur/blur.d.ts +14 -0
  481. package/lib/typescript/core/blur/index.d.ts +3 -0
  482. package/lib/typescript/core/gradient/AccentGradientFill.d.ts +7 -0
  483. package/lib/typescript/core/gradient/ShimmerGradientFill.d.ts +8 -0
  484. package/lib/typescript/core/gradient/darkenHex.d.ts +2 -0
  485. package/lib/typescript/core/gradient/gradientStops.d.ts +10 -0
  486. package/lib/typescript/core/gradient/index.d.ts +6 -0
  487. package/lib/typescript/core/gradient/withAlpha.d.ts +2 -0
  488. package/lib/typescript/core/haptics/context.d.ts +3 -0
  489. package/lib/typescript/core/haptics/haptics.d.ts +33 -0
  490. package/lib/typescript/core/haptics/index.d.ts +6 -0
  491. package/lib/typescript/core/haptics/useHaptics.d.ts +12 -0
  492. package/lib/typescript/core/icon/icons/trending-up.d.ts +3 -0
  493. package/lib/typescript/core/icon/names.d.ts +1 -1
  494. package/lib/typescript/core/list/VirtualList.d.ts +6 -1
  495. package/lib/typescript/core/media/expoImage.d.ts +15 -6
  496. package/lib/typescript/core/media/pickers.d.ts +5 -5
  497. package/lib/typescript/core/motion/animatedComponents.d.ts +4 -0
  498. package/lib/typescript/core/motion/config.d.ts +2 -1
  499. package/lib/typescript/core/motion/index.d.ts +5 -1
  500. package/lib/typescript/core/motion/motionAnimation.d.ts +12 -0
  501. package/lib/typescript/core/motion/presets.d.ts +5 -36
  502. package/lib/typescript/core/motion/reanimatedEasing.d.ts +4 -0
  503. package/lib/typescript/core/motion/useAnimatedValue.d.ts +2 -10
  504. package/lib/typescript/core/motion/useMotion.d.ts +4 -13
  505. package/lib/typescript/core/motion/usePressState.d.ts +20 -0
  506. package/lib/typescript/core/overlay/ModalPortalContext.d.ts +2 -0
  507. package/lib/typescript/core/overlay/index.d.ts +3 -0
  508. package/lib/typescript/core/overlay/renderWebPortal.d.ts +3 -0
  509. package/lib/typescript/core/overlay/renderWebPortal.web.d.ts +3 -0
  510. package/lib/typescript/core/screen-scroll/ScreenScrollContext.d.ts +8 -0
  511. package/lib/typescript/core/screen-scroll/index.d.ts +3 -0
  512. package/lib/typescript/core/slot/index.d.ts +2 -0
  513. package/lib/typescript/core/slot/nodeSlot.d.ts +5 -0
  514. package/lib/typescript/core/style/focusRing.d.ts +10 -0
  515. package/lib/typescript/core/style/index.d.ts +2 -1
  516. package/lib/typescript/core/style/radius.d.ts +2 -0
  517. package/lib/typescript/index.d.ts +52 -12
  518. package/lib/typescript/modules/accordion/Accordion.d.ts +2 -37
  519. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +4 -5
  520. package/lib/typescript/modules/accordion/AccordionProps.d.ts +49 -0
  521. package/lib/typescript/modules/accordion/index.d.ts +1 -1
  522. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +2 -15
  523. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -0
  524. package/lib/typescript/modules/alert-dialog/AlertDialogProps.d.ts +20 -0
  525. package/lib/typescript/modules/alert-dialog/index.d.ts +1 -1
  526. package/lib/typescript/modules/app-bar/AppBar.d.ts +1 -20
  527. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +4 -0
  528. package/lib/typescript/modules/app-bar/AppBarProps.d.ts +25 -0
  529. package/lib/typescript/modules/app-bar/index.d.ts +1 -1
  530. package/lib/typescript/modules/app-switcher/AppSwitcher.d.ts +3 -0
  531. package/lib/typescript/modules/app-switcher/AppSwitcherProps.d.ts +17 -0
  532. package/lib/typescript/modules/app-switcher/index.d.ts +3 -0
  533. package/lib/typescript/modules/appearance-settings/AppearanceSettings.d.ts +3 -0
  534. package/lib/typescript/modules/appearance-settings/AppearanceSettingsProps.d.ts +15 -0
  535. package/lib/typescript/modules/appearance-settings/index.d.ts +3 -0
  536. package/lib/typescript/modules/avatar/Avatar.d.ts +2 -33
  537. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +3 -1
  538. package/lib/typescript/modules/avatar/AvatarProps.d.ts +23 -0
  539. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  540. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +5 -20
  541. package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +19 -0
  542. package/lib/typescript/modules/avatar-group/AvatarGroupProps.d.ts +27 -0
  543. package/lib/typescript/modules/avatar-group/index.d.ts +1 -1
  544. package/lib/typescript/modules/backdrop/Backdrop.d.ts +3 -0
  545. package/lib/typescript/modules/backdrop/BackdropProps.d.ts +11 -0
  546. package/lib/typescript/modules/backdrop/index.d.ts +3 -0
  547. package/lib/typescript/modules/badge/Badge.d.ts +2 -14
  548. package/lib/typescript/modules/badge/BadgeProps.d.ts +17 -0
  549. package/lib/typescript/modules/badge/index.d.ts +1 -1
  550. package/lib/typescript/modules/banner/Banner.d.ts +1 -20
  551. package/lib/typescript/modules/banner/Banner.variants.d.ts +2 -0
  552. package/lib/typescript/modules/banner/BannerProps.d.ts +29 -0
  553. package/lib/typescript/modules/banner/index.d.ts +2 -1
  554. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +1 -34
  555. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +3 -4
  556. package/lib/typescript/modules/bottom-nav/BottomNavProps.d.ts +29 -0
  557. package/lib/typescript/modules/bottom-nav/index.d.ts +2 -1
  558. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +1 -13
  559. package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +3 -1
  560. package/lib/typescript/modules/bottom-sheet/BottomSheetProps.d.ts +17 -0
  561. package/lib/typescript/modules/bottom-sheet/index.d.ts +1 -1
  562. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.d.ts +3 -0
  563. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.variants.d.ts +6 -0
  564. package/lib/typescript/modules/breadcrumbs/BreadcrumbsProps.d.ts +18 -0
  565. package/lib/typescript/modules/breadcrumbs/index.d.ts +3 -0
  566. package/lib/typescript/modules/button/Button.d.ts +1 -60
  567. package/lib/typescript/modules/button/Button.variants.d.ts +11 -15
  568. package/lib/typescript/modules/button/ButtonProps.d.ts +47 -0
  569. package/lib/typescript/modules/button/index.d.ts +1 -1
  570. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +2 -36
  571. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +24 -59
  572. package/lib/typescript/modules/button-group/ButtonGroupProps.d.ts +21 -0
  573. package/lib/typescript/modules/button-group/index.d.ts +1 -1
  574. package/lib/typescript/modules/card/Card.d.ts +4 -15
  575. package/lib/typescript/modules/card/CardProps.d.ts +27 -0
  576. package/lib/typescript/modules/card/index.d.ts +1 -1
  577. package/lib/typescript/modules/charts/BarChart.d.ts +1 -24
  578. package/lib/typescript/modules/charts/BarChartProps.d.ts +36 -0
  579. package/lib/typescript/modules/charts/BarList.d.ts +1 -16
  580. package/lib/typescript/modules/charts/BarListProps.d.ts +22 -0
  581. package/lib/typescript/modules/charts/ChartLegend.d.ts +2 -14
  582. package/lib/typescript/modules/charts/ChartLegendProps.d.ts +19 -0
  583. package/lib/typescript/modules/charts/Charts.variants.d.ts +31 -1
  584. package/lib/typescript/modules/charts/DonutChart.d.ts +1 -19
  585. package/lib/typescript/modules/charts/DonutChartProps.d.ts +27 -0
  586. package/lib/typescript/modules/charts/LineChart.d.ts +1 -28
  587. package/lib/typescript/modules/charts/LineChartProps.d.ts +40 -0
  588. package/lib/typescript/modules/charts/PieChart.d.ts +1 -16
  589. package/lib/typescript/modules/charts/PieChartProps.d.ts +24 -0
  590. package/lib/typescript/modules/charts/Sparkline.d.ts +1 -11
  591. package/lib/typescript/modules/charts/SparklineProps.d.ts +17 -0
  592. package/lib/typescript/modules/charts/index.d.ts +6 -6
  593. package/lib/typescript/modules/checkbox/Checkbox.d.ts +1 -33
  594. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +2 -1
  595. package/lib/typescript/modules/checkbox/CheckboxProps.d.ts +27 -0
  596. package/lib/typescript/modules/checkbox/index.d.ts +1 -1
  597. package/lib/typescript/modules/chip/Chip.d.ts +1 -28
  598. package/lib/typescript/modules/chip/Chip.variants.d.ts +8 -3
  599. package/lib/typescript/modules/chip/ChipGroup.d.ts +1 -14
  600. package/lib/typescript/modules/chip/ChipGroupProps.d.ts +16 -0
  601. package/lib/typescript/modules/chip/ChipProps.d.ts +27 -0
  602. package/lib/typescript/modules/chip/index.d.ts +3 -3
  603. package/lib/typescript/modules/combobox/Combobox.d.ts +2 -45
  604. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +20 -5
  605. package/lib/typescript/modules/combobox/ComboboxProps.d.ts +40 -0
  606. package/lib/typescript/modules/combobox/index.d.ts +1 -1
  607. package/lib/typescript/modules/composer/Composer.d.ts +1 -18
  608. package/lib/typescript/modules/composer/ComposerProps.d.ts +20 -0
  609. package/lib/typescript/modules/composer/index.d.ts +1 -1
  610. package/lib/typescript/modules/copy-button/CopyButton.d.ts +1 -15
  611. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +2 -1
  612. package/lib/typescript/modules/copy-button/CopyButtonProps.d.ts +18 -0
  613. package/lib/typescript/modules/copy-button/index.d.ts +1 -1
  614. package/lib/typescript/modules/data-table/DataTable.d.ts +2 -31
  615. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +3 -2
  616. package/lib/typescript/modules/data-table/DataTableProps.d.ts +43 -0
  617. package/lib/typescript/modules/data-table/index.d.ts +1 -1
  618. package/lib/typescript/modules/date-picker/Calendar.d.ts +1 -23
  619. package/lib/typescript/modules/date-picker/CalendarProps.d.ts +31 -0
  620. package/lib/typescript/modules/date-picker/DatePicker.d.ts +1 -27
  621. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +17 -4
  622. package/lib/typescript/modules/date-picker/DatePickerProps.d.ts +33 -0
  623. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +1 -23
  624. package/lib/typescript/modules/date-picker/DateRangePickerProps.d.ts +27 -0
  625. package/lib/typescript/modules/date-picker/PickerField.d.ts +1 -17
  626. package/lib/typescript/modules/date-picker/PickerFieldProps.d.ts +19 -0
  627. package/lib/typescript/modules/date-picker/PickerShell.d.ts +1 -12
  628. package/lib/typescript/modules/date-picker/PickerShellProps.d.ts +16 -0
  629. package/lib/typescript/modules/date-picker/TimePicker.d.ts +2 -16
  630. package/lib/typescript/modules/date-picker/TimePickerProps.d.ts +14 -0
  631. package/lib/typescript/modules/date-picker/index.d.ts +4 -4
  632. package/lib/typescript/modules/description-list/DescriptionList.d.ts +8 -0
  633. package/lib/typescript/modules/description-list/DescriptionList.variants.d.ts +29 -0
  634. package/lib/typescript/modules/description-list/DescriptionListProps.d.ts +23 -0
  635. package/lib/typescript/modules/description-list/index.d.ts +4 -0
  636. package/lib/typescript/modules/divider/Divider.d.ts +1 -8
  637. package/lib/typescript/modules/divider/Divider.variants.d.ts +4 -4
  638. package/lib/typescript/modules/divider/DividerProps.d.ts +11 -0
  639. package/lib/typescript/modules/divider/index.d.ts +1 -1
  640. package/lib/typescript/modules/document-viewer/DocumentViewer.d.ts +3 -0
  641. package/lib/typescript/modules/document-viewer/DocumentViewerProps.d.ts +13 -0
  642. package/lib/typescript/modules/document-viewer/index.d.ts +3 -0
  643. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -7
  644. package/lib/typescript/modules/drawer/DrawerProps.d.ts +9 -0
  645. package/lib/typescript/modules/drawer/index.d.ts +1 -1
  646. package/lib/typescript/modules/empty-state/EmptyState.d.ts +1 -15
  647. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +1 -0
  648. package/lib/typescript/modules/empty-state/EmptyStateProps.d.ts +24 -0
  649. package/lib/typescript/modules/empty-state/index.d.ts +1 -1
  650. package/lib/typescript/modules/fab/Fab.d.ts +1 -51
  651. package/lib/typescript/modules/fab/Fab.variants.d.ts +5 -2
  652. package/lib/typescript/modules/fab/FabGroup.d.ts +1 -34
  653. package/lib/typescript/modules/fab/FabGroupProps.d.ts +34 -0
  654. package/lib/typescript/modules/fab/FabProps.d.ts +50 -0
  655. package/lib/typescript/modules/fab/index.d.ts +2 -2
  656. package/lib/typescript/modules/field-select-modal/FieldSelectModal.d.ts +3 -0
  657. package/lib/typescript/modules/field-select-modal/FieldSelectModalProps.d.ts +20 -0
  658. package/lib/typescript/modules/field-select-modal/index.d.ts +3 -0
  659. package/lib/typescript/modules/file-grid/FileGrid.d.ts +1 -18
  660. package/lib/typescript/modules/file-grid/FileGridProps.d.ts +23 -0
  661. package/lib/typescript/modules/file-grid/index.d.ts +1 -1
  662. package/lib/typescript/modules/file-upload/FileUpload.d.ts +1 -27
  663. package/lib/typescript/modules/file-upload/FileUploadProps.d.ts +27 -0
  664. package/lib/typescript/modules/file-upload/index.d.ts +1 -1
  665. package/lib/typescript/modules/filter-bar/FilterBar.d.ts +3 -0
  666. package/lib/typescript/modules/filter-bar/FilterBarProps.d.ts +17 -0
  667. package/lib/typescript/modules/filter-bar/index.d.ts +3 -0
  668. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +1 -9
  669. package/lib/typescript/modules/filter-sheet/FilterChipProps.d.ts +11 -0
  670. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +1 -32
  671. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +2 -1
  672. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +1 -1
  673. package/lib/typescript/modules/filter-sheet/FilterSheetProps.d.ts +36 -0
  674. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +1 -1
  675. package/lib/typescript/modules/filter-sheet/index.d.ts +2 -2
  676. package/lib/typescript/modules/folder-row/FolderRow.d.ts +1 -19
  677. package/lib/typescript/modules/folder-row/FolderRowProps.d.ts +17 -0
  678. package/lib/typescript/modules/folder-row/index.d.ts +1 -1
  679. package/lib/typescript/modules/form-field/FormField.d.ts +2 -17
  680. package/lib/typescript/modules/form-field/FormFieldProps.d.ts +23 -0
  681. package/lib/typescript/modules/form-field/index.d.ts +1 -1
  682. package/lib/typescript/modules/gantt/Gantt.d.ts +2 -9
  683. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +29 -2
  684. package/lib/typescript/modules/gantt/GanttProps.d.ts +13 -0
  685. package/lib/typescript/modules/gantt/index.d.ts +1 -1
  686. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +2 -15
  687. package/lib/typescript/modules/image-viewer/ImageViewerProps.d.ts +16 -0
  688. package/lib/typescript/modules/image-viewer/index.d.ts +2 -1
  689. package/lib/typescript/modules/input/Input.d.ts +2 -30
  690. package/lib/typescript/modules/input/Input.variants.d.ts +8 -8
  691. package/lib/typescript/modules/input/InputProps.d.ts +43 -0
  692. package/lib/typescript/modules/input/index.d.ts +1 -1
  693. package/lib/typescript/modules/key-value/KeyValue.d.ts +3 -0
  694. package/lib/typescript/modules/key-value/KeyValueProps.d.ts +11 -0
  695. package/lib/typescript/modules/key-value/index.d.ts +3 -0
  696. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +1 -17
  697. package/lib/typescript/modules/limit-reached-modal/LimitReachedModalProps.d.ts +24 -0
  698. package/lib/typescript/modules/limit-reached-modal/index.d.ts +1 -1
  699. package/lib/typescript/modules/list-item/ListItem.d.ts +3 -17
  700. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +137 -1
  701. package/lib/typescript/modules/list-item/ListItemProps.d.ts +22 -0
  702. package/lib/typescript/modules/list-item/index.d.ts +1 -1
  703. package/lib/typescript/modules/list-screen/ListScreen.d.ts +5 -0
  704. package/lib/typescript/modules/list-screen/ListScreenProps.d.ts +17 -0
  705. package/lib/typescript/modules/list-screen/index.d.ts +3 -0
  706. package/lib/typescript/modules/markdown/Markdown.d.ts +8 -8
  707. package/lib/typescript/modules/markdown/MarkdownProps.d.ts +12 -0
  708. package/lib/typescript/modules/markdown/index.d.ts +1 -1
  709. package/lib/typescript/modules/menu/Menu.d.ts +2 -19
  710. package/lib/typescript/modules/menu/Menu.variants.d.ts +2 -1
  711. package/lib/typescript/modules/menu/MenuProps.d.ts +26 -0
  712. package/lib/typescript/modules/menu/index.d.ts +1 -1
  713. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +3 -11
  714. package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +1 -2
  715. package/lib/typescript/modules/message-bubble/MessageBubbleProps.d.ts +12 -0
  716. package/lib/typescript/modules/message-bubble/index.d.ts +1 -1
  717. package/lib/typescript/modules/modal/Modal.d.ts +2 -10
  718. package/lib/typescript/modules/modal/ModalPortalContext.d.ts +1 -1
  719. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +2 -12
  720. package/lib/typescript/modules/modal/ModalPortalProviderProps.d.ts +8 -0
  721. package/lib/typescript/modules/modal/ModalProps.d.ts +22 -0
  722. package/lib/typescript/modules/modal/index.d.ts +2 -2
  723. package/lib/typescript/modules/modal/renderWebPortal.d.ts +1 -14
  724. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +1 -18
  725. package/lib/typescript/modules/more-items/MoreItems.d.ts +2 -10
  726. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +3 -1
  727. package/lib/typescript/modules/more-items/MoreItemsProps.d.ts +14 -0
  728. package/lib/typescript/modules/more-items/index.d.ts +1 -1
  729. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -19
  730. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +2 -1
  731. package/lib/typescript/modules/multi-select/MultiSelectProps.d.ts +29 -0
  732. package/lib/typescript/modules/multi-select/index.d.ts +1 -1
  733. package/lib/typescript/modules/notification-bell/NotificationBell.d.ts +3 -0
  734. package/lib/typescript/modules/notification-bell/NotificationBellProps.d.ts +10 -0
  735. package/lib/typescript/modules/notification-bell/index.d.ts +3 -0
  736. package/lib/typescript/modules/number-input/NumberInput.d.ts +1 -26
  737. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +9 -8
  738. package/lib/typescript/modules/number-input/NumberInputProps.d.ts +23 -0
  739. package/lib/typescript/modules/number-input/index.d.ts +1 -1
  740. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +1 -24
  741. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +2 -1
  742. package/lib/typescript/modules/org-switcher/OrgSwitcherProps.d.ts +29 -0
  743. package/lib/typescript/modules/org-switcher/index.d.ts +1 -1
  744. package/lib/typescript/modules/pagination/Pagination.d.ts +1 -26
  745. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +2 -1
  746. package/lib/typescript/modules/pagination/PaginationControls.d.ts +1 -4
  747. package/lib/typescript/modules/pagination/PaginationProps.d.ts +28 -0
  748. package/lib/typescript/modules/pagination/index.d.ts +1 -1
  749. package/lib/typescript/modules/person-chip/PersonChip.d.ts +3 -0
  750. package/lib/typescript/modules/person-chip/PersonChipProps.d.ts +17 -0
  751. package/lib/typescript/modules/person-chip/index.d.ts +3 -0
  752. package/lib/typescript/modules/pin-input/PinInput.d.ts +1 -32
  753. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +2 -2
  754. package/lib/typescript/modules/pin-input/PinInputProps.d.ts +26 -0
  755. package/lib/typescript/modules/pin-input/index.d.ts +1 -1
  756. package/lib/typescript/modules/plan-badge/PlanBadge.d.ts +3 -0
  757. package/lib/typescript/modules/plan-badge/PlanBadgeProps.d.ts +10 -0
  758. package/lib/typescript/modules/plan-badge/index.d.ts +3 -0
  759. package/lib/typescript/modules/plan-pill/PlanPill.d.ts +3 -0
  760. package/lib/typescript/modules/plan-pill/PlanPillProps.d.ts +10 -0
  761. package/lib/typescript/modules/plan-pill/index.d.ts +3 -0
  762. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +1 -13
  763. package/lib/typescript/modules/progress-bar/ProgressBarProps.d.ts +16 -0
  764. package/lib/typescript/modules/progress-bar/index.d.ts +1 -1
  765. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +2 -22
  766. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +2 -2
  767. package/lib/typescript/modules/radio-group/RadioGroupProps.d.ts +21 -0
  768. package/lib/typescript/modules/radio-group/index.d.ts +1 -1
  769. package/lib/typescript/modules/reorder/Reorder.d.ts +2 -14
  770. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +2 -2
  771. package/lib/typescript/modules/reorder/ReorderProps.d.ts +19 -0
  772. package/lib/typescript/modules/reorder/index.d.ts +1 -1
  773. package/lib/typescript/modules/rich-text/RichText.d.ts +2 -10
  774. package/lib/typescript/modules/rich-text/RichTextProps.d.ts +15 -0
  775. package/lib/typescript/modules/rich-text/index.d.ts +1 -1
  776. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +1 -45
  777. package/lib/typescript/modules/rich-text-editor/RichTextEditorProps.d.ts +40 -0
  778. package/lib/typescript/modules/rich-text-editor/index.d.ts +1 -1
  779. package/lib/typescript/modules/save-bar/SaveBar.d.ts +3 -0
  780. package/lib/typescript/modules/save-bar/SaveBarProps.d.ts +18 -0
  781. package/lib/typescript/modules/save-bar/index.d.ts +3 -0
  782. package/lib/typescript/modules/screen/Screen.d.ts +2 -31
  783. package/lib/typescript/modules/screen/Screen.variants.d.ts +4 -0
  784. package/lib/typescript/modules/screen/ScreenProps.d.ts +35 -0
  785. package/lib/typescript/modules/screen/index.d.ts +1 -1
  786. package/lib/typescript/modules/search-bar/SearchBar.d.ts +2 -28
  787. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +8 -9
  788. package/lib/typescript/modules/search-bar/SearchBarProps.d.ts +30 -0
  789. package/lib/typescript/modules/search-bar/index.d.ts +1 -1
  790. package/lib/typescript/modules/section/Section.d.ts +1 -8
  791. package/lib/typescript/modules/section/Section.variants.d.ts +0 -3
  792. package/lib/typescript/modules/section/SectionProps.d.ts +11 -0
  793. package/lib/typescript/modules/section/index.d.ts +1 -1
  794. package/lib/typescript/modules/section-list/SectionList.d.ts +1 -19
  795. package/lib/typescript/modules/section-list/SectionListProps.d.ts +24 -0
  796. package/lib/typescript/modules/section-list/index.d.ts +1 -1
  797. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +2 -41
  798. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +5 -44
  799. package/lib/typescript/modules/segmented-control/SegmentedControlProps.d.ts +29 -0
  800. package/lib/typescript/modules/segmented-control/index.d.ts +1 -1
  801. package/lib/typescript/modules/select/Select.d.ts +5 -13
  802. package/lib/typescript/modules/select/Select.variants.d.ts +24 -10
  803. package/lib/typescript/modules/select/SelectProps.d.ts +25 -0
  804. package/lib/typescript/modules/select/index.d.ts +3 -2
  805. package/lib/typescript/modules/setting-row/SettingRow.d.ts +3 -0
  806. package/lib/typescript/modules/setting-row/SettingRowProps.d.ts +14 -0
  807. package/lib/typescript/modules/setting-row/index.d.ts +3 -0
  808. package/lib/typescript/modules/settings-section/SettingsSection.d.ts +3 -0
  809. package/lib/typescript/modules/settings-section/SettingsSectionProps.d.ts +11 -0
  810. package/lib/typescript/modules/settings-section/index.d.ts +3 -0
  811. package/lib/typescript/modules/skeleton/Skeleton.d.ts +3 -28
  812. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +8 -66
  813. package/lib/typescript/modules/skeleton/SkeletonProps.d.ts +18 -0
  814. package/lib/typescript/modules/skeleton/index.d.ts +1 -1
  815. package/lib/typescript/modules/slider/Slider.d.ts +1 -24
  816. package/lib/typescript/modules/slider/Slider.variants.d.ts +2 -1
  817. package/lib/typescript/modules/slider/SliderProps.d.ts +27 -0
  818. package/lib/typescript/modules/slider/index.d.ts +1 -1
  819. package/lib/typescript/modules/spinner/Spinner.d.ts +1 -11
  820. package/lib/typescript/modules/spinner/SpinnerProps.d.ts +15 -0
  821. package/lib/typescript/modules/spinner/index.d.ts +1 -1
  822. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +1 -12
  823. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +31 -10
  824. package/lib/typescript/modules/stage-progress/StageProgressProps.d.ts +22 -0
  825. package/lib/typescript/modules/stage-progress/index.d.ts +1 -1
  826. package/lib/typescript/modules/stat-grid/StatGrid.d.ts +3 -0
  827. package/lib/typescript/modules/stat-grid/StatGridProps.d.ts +15 -0
  828. package/lib/typescript/modules/stat-grid/index.d.ts +3 -0
  829. package/lib/typescript/modules/stat-tile/StatTile.d.ts +1 -14
  830. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +3 -0
  831. package/lib/typescript/modules/stat-tile/StatTileProps.d.ts +25 -0
  832. package/lib/typescript/modules/stat-tile/index.d.ts +1 -1
  833. package/lib/typescript/modules/state-block/StateBlock.d.ts +1 -28
  834. package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +1 -0
  835. package/lib/typescript/modules/state-block/StateBlockProps.d.ts +36 -0
  836. package/lib/typescript/modules/state-block/index.d.ts +1 -1
  837. package/lib/typescript/modules/stepper/Stepper.d.ts +3 -11
  838. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +2 -0
  839. package/lib/typescript/modules/stepper/StepperProps.d.ts +12 -0
  840. package/lib/typescript/modules/stepper/index.d.ts +2 -1
  841. package/lib/typescript/modules/surface/Surface.d.ts +6 -0
  842. package/lib/typescript/modules/surface/Surface.variants.d.ts +15 -0
  843. package/lib/typescript/modules/surface/SurfaceProps.d.ts +17 -0
  844. package/lib/typescript/modules/surface/index.d.ts +4 -0
  845. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +1 -19
  846. package/lib/typescript/modules/swipeable-row/SwipeableRowProps.d.ts +22 -0
  847. package/lib/typescript/modules/swipeable-row/index.d.ts +1 -1
  848. package/lib/typescript/modules/switch/Switch.d.ts +1 -14
  849. package/lib/typescript/modules/switch/Switch.variants.d.ts +2 -2
  850. package/lib/typescript/modules/switch/SwitchProps.d.ts +20 -0
  851. package/lib/typescript/modules/switch/index.d.ts +1 -1
  852. package/lib/typescript/modules/tabs/Tabs.d.ts +1 -17
  853. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +2 -3
  854. package/lib/typescript/modules/tabs/TabsProps.d.ts +29 -0
  855. package/lib/typescript/modules/tabs/index.d.ts +1 -1
  856. package/lib/typescript/modules/text/Text.d.ts +1 -20
  857. package/lib/typescript/modules/text/Text.variants.d.ts +14 -11
  858. package/lib/typescript/modules/text/TextProps.d.ts +35 -0
  859. package/lib/typescript/modules/text/index.d.ts +1 -1
  860. package/lib/typescript/modules/textarea/Textarea.d.ts +1 -19
  861. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +2 -1
  862. package/lib/typescript/modules/textarea/TextareaProps.d.ts +23 -0
  863. package/lib/typescript/modules/textarea/index.d.ts +1 -1
  864. package/lib/typescript/modules/timeline/Timeline.d.ts +1 -16
  865. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +2 -0
  866. package/lib/typescript/modules/timeline/TimelineProps.d.ts +37 -0
  867. package/lib/typescript/modules/timeline/index.d.ts +1 -1
  868. package/lib/typescript/modules/toast/Toast.variants.d.ts +4 -3
  869. package/lib/typescript/modules/tooltip/Tooltip.d.ts +1 -25
  870. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +7 -0
  871. package/lib/typescript/modules/tooltip/TooltipProps.d.ts +27 -0
  872. package/lib/typescript/modules/tooltip/index.d.ts +1 -1
  873. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +5 -14
  874. package/lib/typescript/modules/typing-indicator/TypingIndicatorProps.d.ts +11 -0
  875. package/lib/typescript/modules/typing-indicator/index.d.ts +1 -1
  876. package/lib/typescript/modules/upgrade-button/UpgradeButton.d.ts +3 -0
  877. package/lib/typescript/modules/upgrade-button/UpgradeButtonProps.d.ts +11 -0
  878. package/lib/typescript/modules/upgrade-button/index.d.ts +3 -0
  879. package/lib/typescript/test/motionJest.d.ts +12 -0
  880. package/lib/typescript/theme/index.d.ts +1 -1
  881. package/lib/typescript/theme/platform/elevation.native.d.ts +1 -31
  882. package/lib/typescript/theme/platform/floatingSurface.native.d.ts +10 -0
  883. package/lib/typescript/theme/platform/highlight.native.d.ts +17 -0
  884. package/lib/typescript/theme/platform/index.d.ts +9 -0
  885. package/lib/typescript/theme/platform/motion.native.d.ts +33 -13
  886. package/lib/typescript/theme/platform/stateLayer.native.d.ts +11 -0
  887. package/lib/typescript/theme/platform/surfaces.native.d.ts +8 -0
  888. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +1 -1
  889. package/lib/typescript/theme/provider/types.d.ts +8 -0
  890. package/lib/typescript/theme/tokens/assertPalette.d.ts +10 -0
  891. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -3
  892. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -3
  893. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -3
  894. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -3
  895. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -3
  896. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -3
  897. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -3
  898. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -3
  899. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -3
  900. package/lib/typescript/theme/tokens/builders/accentText.d.ts +3 -0
  901. package/lib/typescript/theme/tokens/builders/buildBrandScale.d.ts +4 -0
  902. package/lib/typescript/theme/tokens/builders/finalizePalette.d.ts +4 -0
  903. package/lib/typescript/theme/tokens/builders/gradientInk.d.ts +9 -0
  904. package/lib/typescript/theme/tokens/builders/liftToContrast.d.ts +9 -0
  905. package/lib/typescript/theme/tokens/builders/paletteFromAccent.d.ts +3 -0
  906. package/lib/typescript/theme/tokens/builders/placeholderInk.d.ts +13 -0
  907. package/lib/typescript/theme/tokens/builders/semanticText.d.ts +4 -0
  908. package/lib/typescript/theme/tokens/builders/skeletonShimmer.d.ts +9 -0
  909. package/lib/typescript/theme/tokens/builders/surfaceRungs.d.ts +12 -0
  910. package/lib/typescript/theme/tokens/index.d.ts +8 -0
  911. package/lib/typescript/theme/tokens/primitives/controlSizes.d.ts +6 -0
  912. package/lib/typescript/theme/tokens/primitives/index.d.ts +2 -0
  913. package/lib/typescript/theme/tokens/roles/index.d.ts +3 -0
  914. package/lib/typescript/theme/tokens/types.d.ts +10 -9
  915. package/package.json +114 -5
  916. package/registry.json +114 -14
  917. package/lib/module/core/style/useThemedStyles.js +0 -8
  918. package/lib/module/test/mocks/flashList.js +0 -5
  919. package/lib/module/test/perfHelpers.js +0 -18
  920. package/lib/typescript/core/style/useThemedStyles.d.ts +0 -5
  921. package/lib/typescript/test/mocks/flashList.d.ts +0 -3
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo, useCallback, useMemo, useState } from "react";
4
- import { Pressable, StyleSheet, View } from "react-native";
4
+ import { Platform, Pressable, StyleSheet, View } from "react-native";
5
5
  import Svg, { Circle, Line, Path, Rect, Text as SvgText } from "react-native-svg";
6
+ import { useDeviceTier } from "../../core/device/index.js";
7
+ import { rippleColor } from "../../theme/platform/stateLayer.native.js";
6
8
  import { useTheme } from "../../theme/hooks.js";
7
9
  import { ChartLegend } from "./ChartLegend.js";
8
- import { BAR_MARKER_MIN_SPAN, BAR_MARKER_RADIUS, categoricalColorAt, defaultNumberFormatter, describeMarker, finiteOrZero, hitSlopFor, niceScale, resolveBarChartDomain, resolveBarLayout, resolveBarX, resolveChartAxisColors, scaleValue, seriesShapeAt, summarizeBarChart } from "./Charts.variants.js";
10
+ import { BAR_MARKER_MIN_SPAN, BAR_MARKER_RADIUS, categoricalColorAt, decimateCategories, defaultNumberFormatter, describeMarker, finiteOrZero, hitSlopFor, maxRenderedCategories, niceScale, resolveBarChartDomain, resolveBarLayout, resolveBarX, resolveChartAxisColors, scaleValue, seriesShapeAt, summarizeBarChart } from "./Charts.variants.js";
9
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
12
  const Y_AXIS_WIDTH = 40;
11
13
  const X_AXIS_HEIGHT = 24;
@@ -22,7 +24,8 @@ const BarPressTarget = /*#__PURE__*/memo(function BarPressTarget({
22
24
  height,
23
25
  label,
24
26
  testID,
25
- onPress
27
+ onPress,
28
+ androidRipple
26
29
  }) {
27
30
  const press = useCallback(() => onPress(categoryIndex, seriesIndex), [onPress, categoryIndex, seriesIndex]);
28
31
  const box = useMemo(() => ({
@@ -30,7 +33,8 @@ const BarPressTarget = /*#__PURE__*/memo(function BarPressTarget({
30
33
  left: x,
31
34
  top,
32
35
  width,
33
- height
36
+ height,
37
+ overflow: "hidden"
34
38
  }), [x, top, width, height]);
35
39
  return /*#__PURE__*/_jsx(Pressable, {
36
40
  testID: testID,
@@ -38,6 +42,7 @@ const BarPressTarget = /*#__PURE__*/memo(function BarPressTarget({
38
42
  accessibilityLabel: label,
39
43
  hitSlop: hitSlopFor(width, height),
40
44
  onPress: press,
45
+ android_ripple: androidRipple,
41
46
  style: box
42
47
  });
43
48
  });
@@ -57,23 +62,28 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
57
62
  const theme = useTheme();
58
63
  const axisColors = useMemo(() => resolveChartAxisColors(theme.colors), [theme.colors]);
59
64
  const [width, setWidth] = useState(0);
65
+ const tier = useDeviceTier();
60
66
  const onLayout = event => {
61
67
  setWidth(event.nativeEvent.layout.width);
62
68
  };
63
69
  const plotWidth = Math.max(0, width - Y_AXIS_WIDTH);
64
70
  const plotHeight = Math.max(0, height - X_AXIS_HEIGHT - PLOT_TOP);
65
- const summary = useMemo(() => summarizeBarChart(data, yAxisFormatter), [data, yAxisFormatter]);
66
- const seriesCount = useMemo(() => Math.max(1, data.reduce((max, datum) => Math.max(max, datum.values.length), 0)), [data]);
71
+
72
+ // An unbounded `data` array otherwise means unbounded svg nodes one bar, one label and one
73
+ // press target per category. Below the cap this is the same array reference as `data` itself.
74
+ const renderedData = useMemo(() => decimateCategories(data, maxRenderedCategories(tier)), [data, tier]);
75
+ const summary = useMemo(() => summarizeBarChart(renderedData, yAxisFormatter), [renderedData, yAxisFormatter]);
76
+ const seriesCount = useMemo(() => Math.max(1, renderedData.reduce((max, datum) => Math.max(max, datum.values.length), 0)), [renderedData]);
67
77
  const {
68
78
  bars,
69
79
  ticks,
70
80
  categories
71
81
  } = useMemo(() => {
72
- const domain = resolveBarChartDomain(data, stacked);
82
+ const domain = resolveBarChartDomain(renderedData, stacked);
73
83
  const scale = niceScale(domain.min, domain.max, TICK_COUNT);
74
- const layout = resolveBarLayout(data.length, seriesCount, plotWidth, stacked);
84
+ const layout = resolveBarLayout(renderedData.length, seriesCount, plotWidth, stacked);
75
85
  const zeroY = scaleValue(0, scale.min, scale.max, plotHeight, 0);
76
- const resolvedBars = data.flatMap((datum, categoryIndex) => {
86
+ const resolvedBars = renderedData.flatMap((datum, categoryIndex) => {
77
87
  let stackTop = 0;
78
88
  return datum.values.map((rawValue, seriesIndex) => {
79
89
  const value = finiteOrZero(rawValue);
@@ -120,16 +130,16 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
120
130
  y: PLOT_TOP + scaleValue(tick, scale.min, scale.max, plotHeight, 0),
121
131
  text: yAxisFormatter(tick)
122
132
  })),
123
- categories: data.map((datum, categoryIndex) => ({
133
+ categories: renderedData.map((datum, categoryIndex) => ({
124
134
  x: Y_AXIS_WIDTH + categoryIndex * layout.bandWidth + layout.bandWidth / 2,
125
135
  label: datum.label
126
136
  }))
127
137
  };
128
- }, [data, series, stacked, seriesCount, plotWidth, plotHeight, theme.colors, yAxisFormatter]);
138
+ }, [renderedData, series, stacked, seriesCount, plotWidth, plotHeight, theme.colors, yAxisFormatter]);
129
139
  const pressBar = useCallback((categoryIndex, seriesIndex) => {
130
- const datum = data[categoryIndex];
140
+ const datum = renderedData[categoryIndex];
131
141
  if (datum !== undefined) onPressBar?.(datum, seriesIndex);
132
- }, [data, onPressBar]);
142
+ }, [renderedData, onPressBar]);
133
143
  const legendEntries = useMemo(() => showLegend && seriesCount > 1 ? Array.from({
134
144
  length: seriesCount
135
145
  }, (_, index) => ({
@@ -140,6 +150,10 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
140
150
  const plotStyle = useMemo(() => ({
141
151
  height
142
152
  }), [height]);
153
+ const androidRipple = useMemo(() => Platform.OS === "android" ? {
154
+ color: rippleColor(theme.mode),
155
+ borderless: false
156
+ } : undefined, [theme.mode]);
143
157
  return /*#__PURE__*/_jsxs(View, {
144
158
  testID: testID,
145
159
  style: style,
@@ -151,8 +165,9 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
151
165
  accessible: true,
152
166
  accessibilityRole: "image",
153
167
  accessibilityLabel: summary,
154
- style: StyleSheet.absoluteFill,
155
- pointerEvents: "none"
168
+ style: [StyleSheet.absoluteFill, {
169
+ pointerEvents: 'none'
170
+ }]
156
171
  }), /*#__PURE__*/_jsx(View, {
157
172
  accessibilityElementsHidden: true,
158
173
  importantForAccessibility: "no-hide-descendants",
@@ -218,8 +233,9 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
218
233
  }, `value-${bar.categoryIndex}-${bar.seriesIndex}`))]
219
234
  })
220
235
  }), onPressBar !== undefined && /*#__PURE__*/_jsx(View, {
221
- style: StyleSheet.absoluteFill,
222
- pointerEvents: "box-none",
236
+ style: [StyleSheet.absoluteFill, {
237
+ pointerEvents: 'box-none'
238
+ }],
223
239
  children: bars.map(bar => /*#__PURE__*/_jsx(BarPressTarget, {
224
240
  testID: testID ? `${testID}-bar-${bar.categoryIndex}-${bar.seriesIndex}-press` : undefined,
225
241
  categoryIndex: bar.categoryIndex,
@@ -229,7 +245,8 @@ export const BarChart = /*#__PURE__*/memo(function BarChart({
229
245
  width: bar.width,
230
246
  height: bar.height,
231
247
  label: bar.label,
232
- onPress: pressBar
248
+ onPress: pressBar,
249
+ androidRipple: androidRipple
233
250
  }, `press-${bar.categoryIndex}-${bar.seriesIndex}`))
234
251
  })]
235
252
  }), /*#__PURE__*/_jsx(ChartLegend, {
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=BarChartProps.js.map
@@ -2,8 +2,10 @@
2
2
 
3
3
  import { memo, useCallback, useMemo } from "react";
4
4
  import { Pressable, StyleSheet, Text, View } from "react-native";
5
+ import { VirtualList } from "../../core/list/index.js";
6
+ import { renderNodeSlot } from "../../core/slot/index.js";
5
7
  import { useTheme } from "../../theme/hooks.js";
6
- import { barListHeaderStructure, barListRowStructure, barListStructure, barListTrackStructure, resolveBarListColors } from "./Charts.variants.js";
8
+ import { BAR_LIST_ROW_HEIGHT, barListHeaderStructure, barListRowStructure, barListStructure, barListTrackStructure, resolveBarListColors } from "./Charts.variants.js";
7
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
10
  function barFraction(value, max) {
9
11
  if (!Number.isFinite(value) || !Number.isFinite(max) || max <= 0) return 0;
@@ -36,7 +38,7 @@ const BarListRow = /*#__PURE__*/memo(function BarListRow({
36
38
  style: rowStyle,
37
39
  children: [/*#__PURE__*/_jsxs(View, {
38
40
  style: headerStyle,
39
- children: [icon, /*#__PURE__*/_jsx(Text, {
41
+ children: [renderNodeSlot(icon, labelTextStyle), /*#__PURE__*/_jsx(Text, {
40
42
  numberOfLines: 1,
41
43
  style: labelTextStyle,
42
44
  children: label
@@ -97,25 +99,37 @@ export const BarList = /*#__PURE__*/memo(function BarList({
97
99
  const item = items[index];
98
100
  if (item !== undefined) onPressItem?.(item, index);
99
101
  }, [items, onPressItem]);
102
+ const contentContainerStyle = useMemo(() => barListStructure(theme), [theme]);
103
+ const keyExtractor = useCallback(row => row.key, []);
104
+ const renderItem = useCallback(({
105
+ item,
106
+ index
107
+ }) => /*#__PURE__*/_jsx(BarListRow, {
108
+ testID: testID === undefined ? undefined : `${testID}-item-${index}`,
109
+ index: index,
110
+ label: item.label,
111
+ value: item.value,
112
+ icon: item.icon,
113
+ fillWidth: item.fillWidth,
114
+ fillColor: item.fillColor,
115
+ trackColor: colors.track,
116
+ rowStyle: rowStyle,
117
+ headerStyle: headerStyle,
118
+ trackStyle: trackStyle,
119
+ labelTextStyle: labelTextStyle,
120
+ valueTextStyle: valueTextStyle,
121
+ onPress: onPressItem === undefined ? undefined : pressItem
122
+ }), [testID, colors.track, rowStyle, headerStyle, trackStyle, labelTextStyle, valueTextStyle, onPressItem, pressItem]);
100
123
  return /*#__PURE__*/_jsx(View, {
101
124
  testID: testID,
102
- style: [barListStructure(theme), style],
103
- children: rows.map((row, index) => /*#__PURE__*/_jsx(BarListRow, {
104
- testID: testID === undefined ? undefined : `${testID}-item-${index}`,
105
- index: index,
106
- label: row.label,
107
- value: row.value,
108
- icon: row.icon,
109
- fillWidth: row.fillWidth,
110
- fillColor: row.fillColor,
111
- trackColor: colors.track,
112
- rowStyle: rowStyle,
113
- headerStyle: headerStyle,
114
- trackStyle: trackStyle,
115
- labelTextStyle: labelTextStyle,
116
- valueTextStyle: valueTextStyle,
117
- onPress: onPressItem === undefined ? undefined : pressItem
118
- }, row.key))
125
+ style: style,
126
+ children: /*#__PURE__*/_jsx(VirtualList, {
127
+ data: rows,
128
+ renderItem: renderItem,
129
+ keyExtractor: keyExtractor,
130
+ itemHeight: BAR_LIST_ROW_HEIGHT,
131
+ contentContainerStyle: contentContainerStyle
132
+ })
119
133
  });
120
134
  });
121
135
  const styles = StyleSheet.create({
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=BarListProps.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ChartLegendProps.js.map
@@ -5,8 +5,14 @@
5
5
  * (mocking only `react-native`'s `StyleSheet`, as every sibling module's tests do).
6
6
  */
7
7
 
8
+ import { MIN_TOUCH_TARGET } from "../../core/a11y/touchTarget.js";
8
9
  import { createThemedVariants } from "../../core/style/index.js";
10
+ export { MIN_TOUCH_TARGET };
9
11
  export const BAR_LIST_TRACK_HEIGHT = 6;
12
+
13
+ /** Header text (`fontSizes.sm` line height) + row gap (`space[1]`) + track — a floor, not a hard
14
+ * clip, so `VirtualList`'s `itemHeight` gets a real offset hint without constraining content. */
15
+ export const BAR_LIST_ROW_HEIGHT = 30;
10
16
  export function resolveBarListColors(colors) {
11
17
  return {
12
18
  label: colors.fg.default,
@@ -39,7 +45,8 @@ export const barListStructure = createThemedVariants(theme => ({
39
45
  }));
40
46
  export const barListRowStructure = createThemedVariants(theme => ({
41
47
  base: {
42
- rowGap: theme.space[1]
48
+ rowGap: theme.space[1],
49
+ minHeight: BAR_LIST_ROW_HEIGHT
43
50
  }
44
51
  }));
45
52
  export const barListHeaderStructure = createThemedVariants(theme => ({
@@ -63,7 +70,7 @@ export const barListTrackStructure = createThemedVariants(theme => ({
63
70
  // ---------------------------------------------------------------------------------------------
64
71
 
65
72
  /** Same touch-target floor as Select/Button (44dp — Apple HIG minimum, WCAG 2.5.5 AAA). */
66
- export const CHART_MIN_TOUCH_TARGET = 44;
73
+ export const CHART_MIN_TOUCH_TARGET = MIN_TOUCH_TARGET;
67
74
  /** Symmetric hit-area expansion so a drawn mark smaller than 44dp still meets the touch-target
68
75
  * floor, on whichever axis is short — a thin bar and a slim pie wedge fail on different axes. */
69
76
  export function hitSlopFor(width, height, minTarget = CHART_MIN_TOUCH_TARGET) {
@@ -242,6 +249,46 @@ export function resolveBarChartDomain(data, stacked) {
242
249
  max
243
250
  };
244
251
  }
252
+
253
+ /** Per-`useDeviceTier()` cap on rendered categories — scaled down from `MAX_RENDERED_POINTS` (200)
254
+ * since each `BarChart` category costs THREE svg nodes (bar, label, press target) against a line
255
+ * series' one-per-sample, so the same node budget affords fewer categories on the low tiers. */
256
+ export const MAX_RENDERED_CATEGORIES_LOW = 60;
257
+ export const MAX_RENDERED_CATEGORIES_MID = 120;
258
+ export const MAX_RENDERED_CATEGORIES_HIGH = 200;
259
+ export function maxRenderedCategories(tier) {
260
+ switch (tier) {
261
+ case "low":
262
+ return MAX_RENDERED_CATEGORIES_LOW;
263
+ case "high":
264
+ return MAX_RENDERED_CATEGORIES_HIGH;
265
+ default:
266
+ return MAX_RENDERED_CATEGORIES_MID;
267
+ }
268
+ }
269
+
270
+ /**
271
+ * Evenly-spaced stride sampling down to `maxCategories`, first and last category always kept.
272
+ * Unlike `decimateSeries`' min/max bucketing (built for a numeric y-value), a category has no
273
+ * "extreme" to preserve — only its label and position — so an even stride keeps the *shown*
274
+ * categories representative of the full range instead of clustering at one end. Below the cap the
275
+ * input array is returned as-is (same reference), so a typical chart is byte-identical to before.
276
+ */
277
+ export function decimateCategories(data, maxCategories) {
278
+ if (data.length <= maxCategories) return data;
279
+ if (maxCategories <= 1) return data.length === 0 ? [] : [data[0]];
280
+ const lastIndex = data.length - 1;
281
+ const result = [];
282
+ let lastPushedIndex = -1;
283
+ for (let i = 0; i < maxCategories; i++) {
284
+ const index = Math.round(i * lastIndex / (maxCategories - 1));
285
+ if (index !== lastPushedIndex) {
286
+ result.push(data[index]);
287
+ lastPushedIndex = index;
288
+ }
289
+ }
290
+ return result;
291
+ }
245
292
  /** "Bar chart, 4 categories, highest Revenue at 1,200" — the accessibility label IS the chart for
246
293
  * a screen reader, so it names the count and the single tallest bar drawn, across every series. */
247
294
  export function summarizeBarChart(data, formatter) {
@@ -285,9 +332,28 @@ export function resolveLineDomain(series) {
285
332
  }
286
333
 
287
334
  /** Above this sample count, line/sparkline series are decimated before any geometry is built —
288
- * one svg node per sample is what makes a 5,000-point series unusable on a mid-tier phone. */
335
+ * one svg node per sample is what makes a 5,000-point series unusable on a mid-tier phone. Equal
336
+ * to `maxRenderedPoints("high")` — kept as a named export since it's also `decimateSeries`'
337
+ * default `maxPoints`, for a caller that decimates without a device tier in hand. */
289
338
  export const MAX_RENDERED_POINTS = 200;
290
339
 
340
+ /** Per-`useDeviceTier()` cap on rendered line/sparkline points. A point costs ONE svg node versus a
341
+ * `BarChart` category's three (bar, label, press target), so the same low/mid-tier node budget
342
+ * affords more points than `MAX_RENDERED_CATEGORIES` at the same tier. */
343
+ export const MAX_RENDERED_POINTS_LOW = 80;
344
+ export const MAX_RENDERED_POINTS_MID = 140;
345
+ export const MAX_RENDERED_POINTS_HIGH = MAX_RENDERED_POINTS;
346
+ export function maxRenderedPoints(tier) {
347
+ switch (tier) {
348
+ case "low":
349
+ return MAX_RENDERED_POINTS_LOW;
350
+ case "high":
351
+ return MAX_RENDERED_POINTS_HIGH;
352
+ default:
353
+ return MAX_RENDERED_POINTS_MID;
354
+ }
355
+ }
356
+
291
357
  /**
292
358
  * Min/max bucket decimation down to ~`maxPoints`: both endpoints are kept, and the interior is
293
359
  * split into equal buckets that each contribute their lowest and highest sample, in original
@@ -5,7 +5,7 @@ import { StyleSheet, Text, View } from "react-native";
5
5
  import Svg, { Circle, G } from "react-native-svg";
6
6
  import { useTheme } from "../../theme/hooks.js";
7
7
  import { ChartLegend } from "./ChartLegend.js";
8
- import { DONUT_SEGMENT_GAP_RATIO, resolveDonutChartColors } from "./Charts.variants.js";
8
+ import { DONUT_SEGMENT_GAP_RATIO, resolveDonutChartColors, seriesShapeAt } from "./Charts.variants.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const DonutChart = /*#__PURE__*/memo(function DonutChart({
11
11
  segments,
@@ -53,9 +53,14 @@ export const DonutChart = /*#__PURE__*/memo(function DonutChart({
53
53
  dashoffset: -arc.start * circumference - gap / 2
54
54
  };
55
55
  }), [arcs, circumference]);
56
- const legendEntries = useMemo(() => showLegend && arcs.length > 1 ? arcs.map(arc => ({
56
+
57
+ // Segment colour is consumer-supplied with no shared ramp to key off, but each segment's own
58
+ // position in `arcs` is stable index identity — the same thing `seriesShapeAt` already keys off
59
+ // for `PieChart`'s legend, reused here rather than reinvented.
60
+ const legendEntries = useMemo(() => showLegend && arcs.length > 1 ? arcs.map((arc, index) => ({
57
61
  color: arc.color,
58
- label: arc.label
62
+ label: arc.label,
63
+ shape: seriesShapeAt(index)
59
64
  })) : [], [arcs, showLegend]);
60
65
  const ringSize = useMemo(() => ({
61
66
  width: size,
@@ -96,8 +101,9 @@ export const DonutChart = /*#__PURE__*/memo(function DonutChart({
96
101
  })
97
102
  })
98
103
  }), (centerLabel !== undefined || centerSublabel !== undefined) && /*#__PURE__*/_jsxs(View, {
99
- pointerEvents: "none",
100
- style: [StyleSheet.absoluteFill, styles.center],
104
+ style: [StyleSheet.absoluteFill, styles.center, {
105
+ pointerEvents: 'none'
106
+ }],
101
107
  children: [centerLabel !== undefined && /*#__PURE__*/_jsx(Text, {
102
108
  numberOfLines: 1,
103
109
  style: [theme.fontStyleForWeight(theme.fontWeights.semibold), {
@@ -116,7 +122,7 @@ export const DonutChart = /*#__PURE__*/memo(function DonutChart({
116
122
  })]
117
123
  }), /*#__PURE__*/_jsx(ChartLegend, {
118
124
  entries: legendEntries,
119
- glyph: "swatch",
125
+ glyph: "mark",
120
126
  testID: testID ? `${testID}-legend` : undefined
121
127
  })]
122
128
  });
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=DonutChartProps.js.map
@@ -3,9 +3,10 @@
3
3
  import { memo, useMemo, useState } from "react";
4
4
  import { StyleSheet, View } from "react-native";
5
5
  import Svg, { Circle, Line, Path, Text as SvgText } from "react-native-svg";
6
+ import { useDeviceTier } from "../../core/device/index.js";
6
7
  import { useTheme } from "../../theme/hooks.js";
7
8
  import { ChartLegend } from "./ChartLegend.js";
8
- import { buildAreaPath, buildLinePath, categoricalColorAt, decimateSeries, defaultNumberFormatter, describeMarker, niceScale, resolveChartAxisColors, resolveLineDomain, resolveSeriesPoints, scaleValue, seriesDashAt, seriesShapeAt, summarizeLineChart } from "./Charts.variants.js";
9
+ import { buildAreaPath, buildLinePath, categoricalColorAt, decimateSeries, defaultNumberFormatter, describeMarker, maxRenderedPoints, niceScale, resolveChartAxisColors, resolveLineDomain, resolveSeriesPoints, scaleValue, seriesDashAt, seriesShapeAt, summarizeLineChart } from "./Charts.variants.js";
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const Y_AXIS_WIDTH = 40;
11
12
  const X_AXIS_HEIGHT = 24;
@@ -33,6 +34,7 @@ export const LineChart = /*#__PURE__*/memo(function LineChart({
33
34
  const theme = useTheme();
34
35
  const axisColors = useMemo(() => resolveChartAxisColors(theme.colors), [theme.colors]);
35
36
  const [width, setWidth] = useState(0);
37
+ const tier = useDeviceTier();
36
38
  const onLayout = event => {
37
39
  setWidth(event.nativeEvent.layout.width);
38
40
  };
@@ -40,8 +42,8 @@ export const LineChart = /*#__PURE__*/memo(function LineChart({
40
42
  const plotHeight = Math.max(0, height - X_AXIS_HEIGHT - PLOT_TOP);
41
43
  const decimatedSeries = useMemo(() => series.map(s => ({
42
44
  ...s,
43
- data: decimateSeries(s.data, datumY)
44
- })), [series]);
45
+ data: decimateSeries(s.data, datumY, maxRenderedPoints(tier))
46
+ })), [series, tier]);
45
47
  const {
46
48
  plotted,
47
49
  paths,
@@ -108,8 +110,9 @@ export const LineChart = /*#__PURE__*/memo(function LineChart({
108
110
  accessible: true,
109
111
  accessibilityRole: "image",
110
112
  accessibilityLabel: summary,
111
- style: StyleSheet.absoluteFill,
112
- pointerEvents: "none"
113
+ style: [StyleSheet.absoluteFill, {
114
+ pointerEvents: 'none'
115
+ }]
113
116
  }), /*#__PURE__*/_jsx(View, {
114
117
  accessibilityElementsHidden: true,
115
118
  importantForAccessibility: "no-hide-descendants",
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=LineChartProps.js.map
@@ -16,7 +16,7 @@ importing this subpath requires the peer installed).
16
16
  | `LineChart.tsx` | Svg multi-series line with axes/gridlines, optional area fill and curve smoothing. |
17
17
  | `PieChart.tsx` | Svg filled wedges + legend — the "with a legend" sibling to `DonutChart`'s ring. |
18
18
  | `ChartLegend.tsx` | Internal — the one text legend shared by `PieChart`/`DonutChart`/`LineChart`/`BarChart`. Not exported. |
19
- | `Charts.variants.ts` | Pure resolvers: colors, scales, geometry, arc/path maths, a11y summaries, non-colour series channels. No React, no svg. |
19
+ | `Charts.variants.ts` | Pure resolvers: colors, scales, geometry, arc/path maths, a11y summaries, non-colour series channels. `CHART_MIN_TOUCH_TARGET` aliases `MIN_TOUCH_TARGET` from `core/a11y/touchTarget`; `hitSlopFor` expands marks below 44dp. No React, no svg. |
20
20
  | `__tests__/Charts.test.ts` | Pure: WCAG contrast (all brands × modes), geometry, scale, path and summary logic. |
21
21
  | `__tests__/Charts.render.test.tsx` | Render: rows/segments/paths/bars/lines, a11y, svg mocked. |
22
22
 
@@ -28,10 +28,11 @@ Bar fill defaults to `accent.solid`; per-item `color` exists for data-driven ser
28
28
  breakdowns have no closed-union role) — a deliberate, documented exception to the closed-union rule.
29
29
 
30
30
  **DonutChart** — `segments: { value, color, label? }[]`, `size?` (160), `thickness?` (20),
31
- `centerLabel?`, `centerSublabel?`, `showLegend?` (true — **new**), `style?`, `testID?`. Non-finite /
31
+ `centerLabel?`, `centerSublabel?`, `showLegend?` (true), `style?`, `testID?`. Non-finite /
32
32
  ≤ 0 segment values are dropped; with no valid segments only the `bg.sunken` track ring renders.
33
- `segment.label` (previously accepted but silently dropped) now renders as a legend row, falling
34
- back to `"Segment N"` when omitted; the legend is skipped for 0–1 valid segments.
33
+ `segment.label` renders as a legend row, falling back to `"Segment N"` when omitted; the legend is
34
+ skipped for 0–1 valid segments. Each legend row also carries a knocked-out shape keyed off the
35
+ segment's own index in `segments[]`, same as `PieChart`.
35
36
 
36
37
  **Sparkline** — `data: number[]`, `width?` (120), `height?` (32),
37
38
  `tone?: accent | neutral | success | warning | danger | info` (accent), `style?`, `testID?`.
@@ -40,7 +41,7 @@ Unchanged by the WCAG 1.4.1 pass below — see "Design decisions" for why.
40
41
 
41
42
  **BarChart** — `data: { label, values: number[] }[]` (`values.length === 1` = simple bars, `> 1` =
42
43
  grouped/stacked), `series?: { name, color? }[]`, `height?` (200), `showGrid?` (true), `showValues?`
43
- (false), `stacked?` (false), `showLegend?` (true — **new**), `yAxisFormatter?`,
44
+ (false), `stacked?` (false), `showLegend?` (true), `yAxisFormatter?`,
44
45
  `onPressBar?(datum, seriesIndex)`, `style?`, `testID?`. Width is measured via `onLayout` (no `width`
45
46
  prop — the chart fills its container). Non-finite bar values render as height 0; the y-domain always
46
47
  includes 0. 2+ series get a legend (falling back to `"Series N"` with no `series[i].name`) and a
@@ -48,12 +49,12 @@ knocked-out shape mark on each bar when it's ≥ 14dp on both axes (`BAR_MARKER_
48
49
 
49
50
  **LineChart** — `series: { name, data: { x, y }[], color?, shape? }[]`, `height?` (200), `showGrid?`
50
51
  (true), `showDots?` (true), `showArea?` (false), `curved?` (false — Catmull-Rom→bézier when true),
51
- `showLegend?` (true — **new**), `yAxisFormatter?`, `xAxisFormatter?`, `style?`, `testID?`. Non-finite
52
+ `showLegend?` (true), `yAxisFormatter?`, `xAxisFormatter?`, `style?`, `testID?`. Non-finite
52
53
  `y` samples are dropped per series (same contract as `Sparkline`), then spaced evenly by index — x is
53
54
  plotted by position, not proportionally by numeric value, so unevenly-spaced categories still read as
54
55
  an even axis. Long series are decimated first (see Performance) — no prop, a module constant. 2+
55
56
  series get a legend naming each one; every series also gets a `strokeDasharray` and a marker shape
56
- (circle/square/triangle/diamond/cross) by index — `series[i].shape` (**new**, optional) overrides it.
57
+ (circle/square/triangle/diamond/cross) by index — optional `series[i].shape` overrides it.
57
58
 
58
59
  **PieChart** — `segments: { label, value, color? }[]`, `size?` (180), `showLegend?` (true),
59
60
  `showPercentages?` (true — controls the legend row text, not on-wedge labels: a label drawn on a
@@ -61,8 +62,8 @@ consumer-picked wedge color can't have its contrast guaranteed), `onPressSegment
61
62
  `style?`, `testID?`. `index` is into the rendered (filtered, positive-value) list, matching
62
63
  `DonutChart`'s own `arcs`-index convention — never the raw `segments` indices. This is the filled
63
64
  sibling of `DonutChart`; reach for `DonutChart` for a ring with a center label, `PieChart` for
64
- filled wedges with a legend. Wedges now carry a `bg.surface` separator stroke and the legend a
65
- knocked-out shape per row, on top of the pre-existing swatch+text (see "Design decisions").
65
+ filled wedges with a legend. Wedges carry a `bg.surface` separator stroke, and each legend row a
66
+ knocked-out shape alongside its swatch+text (see "Design decisions").
66
67
 
67
68
  All four multi-series charts default series/segment colors from a shared 5-hue role-derived ramp
68
69
  (`resolveCategoricalRamp`) when no per-series/per-segment `color` is given; a 6th+ series wraps
@@ -83,7 +84,8 @@ shape/dash channels (`seriesShapeAt`/`seriesDashAt`) wrap the same way, by the s
83
84
  `accessibilityRole="button"` + `"label, value"` label. BarList rows are `text` role, or `button`
84
85
  when `onPressItem` is set.
85
86
  - **2.5.8 / 2.5.5 (Target Size)** — every pressable bar/segment gets a ≥ 44dp touch target via
86
- `hitSlop` (`hitSlopFor`), computed from its own drawn size; pie wedges use an angular
87
+ `hitSlop` (`hitSlopFor`, floor `CHART_MIN_TOUCH_TARGET` = `core/a11y/touchTarget`), computed from
88
+ its own drawn size; pie wedges use an angular
87
89
  bounding-box (`resolveWedgeBoundingBox`) since a wedge isn't rectangular.
88
90
  - **1.4.3 (Contrast Minimum, text)** — BarList label/value and axis labels (`fg.muted`) measure
89
91
  ≥ 4.5:1 against their canvas, for all 9 brands × both modes (`Charts.test.ts`).
@@ -134,8 +136,9 @@ shape/dash channels (`seriesShapeAt`/`seriesDashAt`) wrap the same way, by the s
134
136
  - Segment/bar/series `color` values come from the consumer — contrast of consumer-picked colors
135
137
  against the canvas is the consumer's to verify (documented exception to the closed-union rule).
136
138
  `DonutChart.segments[].color` is required and consumer-supplied (unlike the other three charts'
137
- ramp-defaulted `color`), so it has no index identity a shape channel could hook into — its
138
- separator is a track-coloured gap instead of a shape.
139
+ ramp-defaulted `color`); its ring separator stays a track-coloured gap (the ring segments are
140
+ strokes on one shared circle, not independent filled paths — see "Design decisions"); the
141
+ legend carries a shape per segment's own index in `segments[]`, same as `PieChart`.
139
142
  - LineChart's x-axis labels are taken from the longest (decimated) series and positioned by raw
140
143
  index; a series with dropped non-finite points can drift slightly out of alignment with the
141
144
  shared x-axis, and a decimated series labels only the samples it kept.
@@ -159,18 +162,28 @@ shape/dash channels (`seriesShapeAt`/`seriesDashAt`) wrap the same way, by the s
159
162
  styles hoisted out of the row loop; a per-row inline closure or a per-row `variants(theme)` call
160
163
  would defeat their memo. `ChartLegend`'s entry array is built inside each chart's own `useMemo`
161
164
  (keyed on `series`/`segments`/`showLegend`/`theme.colors`), never a fresh literal per render.
162
- - **Found, not acted on:** decimation (`MAX_RENDERED_POINTS`) is a fixed constant regardless of
163
- `useDeviceTier()` a `'low'`-tier phone gets the same 200-point cap (and the same new bar-marker/
164
- legend work) as `'high'`. Worth a future device-tier-scaled pass; out of scope for this WCAG change
165
- (no animation exists here for a native-driver check, and every geometry `useMemo` already keys
166
- correctly).
167
- - **Decimation** (`LineChart`, `Sparkline`): a series longer than `MAX_RENDERED_POINTS` (200) is
165
+ - **Android ripple** `BarPressTarget`/`WedgePressTarget` take `android_ripple` (`borderless: false`)
166
+ computed once per chart (`androidRipple`, `useMemo` on `theme.mode`, `Platform.OS === "android"`
167
+ gated) and passed down per target, rather than re-resolved per row. Each target's absolutely
168
+ positioned box also gained `overflow: "hidden"` so the ripple clips to it instead of spilling past
169
+ the invisible press area.
170
+ - **Decimation** (`LineChart`, `Sparkline`): a series longer than a `useDeviceTier()`-scaled
171
+ `maxRenderedPoints` (80/140/200, low/mid/high — `MAX_RENDERED_POINTS_HIGH` equals the pre-existing
172
+ fixed `MAX_RENDERED_POINTS`, still exported for a caller that decimates without a tier in hand) is
168
173
  downsampled inside the same `useMemo`, before any geometry, so it costs nothing on re-render —
169
174
  1,000 samples otherwise means 1,000 svg nodes. Min/max bucketing: both endpoints plus each
170
175
  bucket's lowest and highest sample, in original order, so a one-sample spike survives (plain
171
176
  stride sampling would drop it). Output is ≤ the threshold; below it the input array is returned
172
- as-is. `BarChart` is deliberately NOT decimated every bar is a labelled category, and dropping
173
- categories would contradict the x-axis labels and the a11y summary.
177
+ as-is. A point costs one svg node against a `BarChart` category's three (bar, label, press
178
+ target), so the same per-tier node budget affords more points than categories at the same tier.
179
+ - **`BarChart` category cap:** an unbounded `data` array otherwise means unbounded svg nodes — one
180
+ bar, one label and one press target per category. Above a `useDeviceTier()`-scaled
181
+ `maxRenderedCategories` (60/120/200, low/mid/high — same worst-case scale as `MAX_RENDERED_POINTS`),
182
+ `decimateCategories` stride-samples down to the cap inside the same `useMemo`, first/last category
183
+ always kept, so the shown categories stay spread across the full range rather than clustered at one
184
+ end. Below the cap the input array is returned as-is (byte-identical to the pre-cap behavior).
185
+ - **`BarList` windowing:** rows render through `VirtualList` (`itemHeight={BAR_LIST_ROW_HEIGHT}`)
186
+ instead of a raw `.map()`, so an unbounded `items` array no longer mounts every row up front.
174
187
 
175
188
  ## Modernization (v1.0.7)
176
189
 
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo, useCallback, useMemo } from "react";
4
- import { Pressable, StyleSheet, View } from "react-native";
4
+ import { Platform, Pressable, StyleSheet, View } from "react-native";
5
5
  import Svg, { Circle, Path } from "react-native-svg";
6
+ import { rippleColor } from "../../theme/platform/stateLayer.native.js";
6
7
  import { useTheme } from "../../theme/hooks.js";
7
8
  import { ChartLegend } from "./ChartLegend.js";
8
9
  import { SEGMENT_SEPARATOR_WIDTH, describeWedge, hitSlopFor, resolvePieWedges, resolveWedgeBoundingBox, seriesShapeAt, summarizePieChart } from "./Charts.variants.js";
@@ -12,7 +13,8 @@ const WedgePressTarget = /*#__PURE__*/memo(function WedgePressTarget({
12
13
  box,
13
14
  label,
14
15
  testID,
15
- onPress
16
+ onPress,
17
+ androidRipple
16
18
  }) {
17
19
  const press = useCallback(() => onPress(index), [onPress, index]);
18
20
  const frame = useMemo(() => ({
@@ -20,7 +22,8 @@ const WedgePressTarget = /*#__PURE__*/memo(function WedgePressTarget({
20
22
  left: box.x,
21
23
  top: box.y,
22
24
  width: box.width,
23
- height: box.height
25
+ height: box.height,
26
+ overflow: "hidden"
24
27
  }), [box]);
25
28
  return /*#__PURE__*/_jsx(Pressable, {
26
29
  testID: testID,
@@ -28,6 +31,7 @@ const WedgePressTarget = /*#__PURE__*/memo(function WedgePressTarget({
28
31
  accessibilityLabel: label,
29
32
  hitSlop: hitSlopFor(box.width, box.height),
30
33
  onPress: press,
34
+ android_ripple: androidRipple,
31
35
  style: frame
32
36
  });
33
37
  });
@@ -76,6 +80,10 @@ export const PieChart = /*#__PURE__*/memo(function PieChart({
76
80
  width: size,
77
81
  height: size
78
82
  }), [size]);
83
+ const androidRipple = useMemo(() => Platform.OS === "android" ? {
84
+ color: rippleColor(theme.mode),
85
+ borderless: false
86
+ } : undefined, [theme.mode]);
79
87
  return /*#__PURE__*/_jsxs(View, {
80
88
  testID: testID,
81
89
  style: [styles.container, style],
@@ -86,8 +94,9 @@ export const PieChart = /*#__PURE__*/memo(function PieChart({
86
94
  accessible: true,
87
95
  accessibilityRole: "image",
88
96
  accessibilityLabel: summary,
89
- style: StyleSheet.absoluteFill,
90
- pointerEvents: "none"
97
+ style: [StyleSheet.absoluteFill, {
98
+ pointerEvents: 'none'
99
+ }]
91
100
  }), /*#__PURE__*/_jsx(View, {
92
101
  accessibilityElementsHidden: true,
93
102
  importantForAccessibility: "no-hide-descendants",
@@ -115,14 +124,16 @@ export const PieChart = /*#__PURE__*/memo(function PieChart({
115
124
  }, index))]
116
125
  })
117
126
  }), pressTargets.length > 0 && /*#__PURE__*/_jsx(View, {
118
- style: StyleSheet.absoluteFill,
119
- pointerEvents: "box-none",
127
+ style: [StyleSheet.absoluteFill, {
128
+ pointerEvents: 'box-none'
129
+ }],
120
130
  children: pressTargets.map((target, index) => /*#__PURE__*/_jsx(WedgePressTarget, {
121
131
  testID: testID ? `${testID}-segment-${index}-press` : undefined,
122
132
  index: index,
123
133
  box: target.box,
124
134
  label: target.label,
125
- onPress: pressSegment
135
+ onPress: pressSegment,
136
+ androidRipple: androidRipple
126
137
  }, index))
127
138
  })]
128
139
  }), /*#__PURE__*/_jsx(ChartLegend, {