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
@@ -12,10 +12,13 @@
12
12
  */
13
13
 
14
14
  import { memo, useCallback, useEffect, useMemo, useRef } from "react";
15
- import { Animated, Text, View } from "react-native";
15
+ import { Text, View } from "react-native";
16
+ import Reanimated, { interpolate, useAnimatedStyle } from "react-native-reanimated";
16
17
  import { Icon } from "../../core/icon/index.js";
17
18
  import { VirtualList } from "../../core/list/index.js";
18
- import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
19
+ import { Button } from "../button/index.js";
20
+ import { useMotion, useAnimatedValue } from "../../core/motion/index.js";
21
+ import { renderNodeSlot } from "../../core/slot/index.js";
19
22
  import { useTheme } from "../../theme/hooks.js";
20
23
  import { resolveTimelineColors, resolveTimelineItemAccessibility, timelineConnectorLineStructure, timelineConnectorStructure, timelineContentStructure, timelineMarkerStructure, timelineRowStructure, TIMELINE_MARKER } from "./Timeline.variants.js";
21
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -25,7 +28,9 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
25
28
  model,
26
29
  theme,
27
30
  colors,
28
- testID
31
+ testID,
32
+ onEditNote,
33
+ onDeleteNote
29
34
  }) {
30
35
  const {
31
36
  item,
@@ -35,6 +40,10 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
35
40
  const position = isLast ? "last" : "middle";
36
41
  const rowTestID = testID === undefined ? undefined : `${testID}-item-${index}`;
37
42
  const a11y = resolveTimelineItemAccessibility(item);
43
+ const leadingSlotStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
44
+ fontSize: theme.fontSizes.sm,
45
+ color: colors.title
46
+ }], [theme, colors.title]);
38
47
  return /*#__PURE__*/_jsxs(View, {
39
48
  testID: rowTestID,
40
49
  style: timelineRowStructure(),
@@ -45,7 +54,7 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
45
54
  importantForAccessibility: "no-hide-descendants",
46
55
  children: [item.leading !== undefined ? /*#__PURE__*/_jsx(View, {
47
56
  testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
48
- children: item.leading
57
+ children: renderNodeSlot(item.leading, leadingSlotStyle)
49
58
  }) : /*#__PURE__*/_jsx(View, {
50
59
  testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
51
60
  style: [timelineMarkerStructure(theme, {
@@ -93,12 +102,51 @@ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
93
102
  marginTop: theme.space[1]
94
103
  }],
95
104
  children: item.timestamp
96
- })]
105
+ }), item.notes !== undefined && item.notes.length > 0 ? /*#__PURE__*/_jsx(View, {
106
+ style: {
107
+ marginTop: theme.space[2],
108
+ gap: theme.space[1]
109
+ },
110
+ children: item.notes.map(note => /*#__PURE__*/_jsxs(View, {
111
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-note-${note.id}`,
112
+ style: {
113
+ flexDirection: "row",
114
+ alignItems: "flex-start",
115
+ gap: theme.space[2]
116
+ },
117
+ children: [/*#__PURE__*/_jsx(Text, {
118
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
119
+ flex: 1,
120
+ fontSize: theme.fontSizes.sm,
121
+ color: colors.description
122
+ }],
123
+ children: note.body
124
+ }), onEditNote !== undefined ? /*#__PURE__*/_jsx(Button, {
125
+ variant: "ghost",
126
+ size: "sm",
127
+ icon: "pencil",
128
+ accessibilityLabel: "Edit note",
129
+ onPress: () => onEditNote(note.id),
130
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-edit-${note.id}`
131
+ }) : null, onDeleteNote !== undefined ? /*#__PURE__*/_jsx(Button, {
132
+ variant: "ghost",
133
+ size: "sm",
134
+ icon: "trash",
135
+ accessibilityLabel: "Delete note",
136
+ onPress: () => onDeleteNote(note.id),
137
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-delete-${note.id}`
138
+ }) : null]
139
+ }, note.id))
140
+ }) : null]
97
141
  })]
98
142
  });
99
143
  });
100
144
  export const Timeline = /*#__PURE__*/memo(function Timeline({
101
145
  items,
146
+ onAddNote,
147
+ onEditNote,
148
+ onDeleteNote,
149
+ notesLoading = false,
102
150
  style,
103
151
  testID
104
152
  }) {
@@ -107,10 +155,11 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
107
155
  const colors = useMemo(() => resolveTimelineColors(theme.colors), [theme.colors]);
108
156
  const reveal = useAnimatedValue(motion.decorative ? 0 : 1);
109
157
  const running = useRef(null);
158
+ const offsetY = motion.transform.offsetY;
110
159
  useEffect(() => {
111
160
  running.current?.stop();
112
161
  if (!motion.decorative) {
113
- reveal.setValue(1);
162
+ reveal.value = 1;
114
163
  return;
115
164
  }
116
165
  running.current = motion.timing(reveal, 1, {
@@ -120,15 +169,12 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
120
169
  return () => running.current?.stop();
121
170
  }, [motion, reveal]);
122
171
  useEffect(() => () => running.current?.stop(), []);
123
- const revealStyle = useMemo(() => ({
124
- opacity: reveal,
172
+ const revealStyle = useAnimatedStyle(() => ({
173
+ opacity: reveal.value,
125
174
  transform: [{
126
- translateY: reveal.interpolate({
127
- inputRange: [0, 1],
128
- outputRange: [motion.transform.offsetY, 0]
129
- })
175
+ translateY: interpolate(reveal.value, [0, 1], [offsetY, 0])
130
176
  }]
131
- }), [reveal, motion.transform.offsetY]);
177
+ }));
132
178
  const rootStyle = useMemo(() => [revealStyle, style], [revealStyle, style]);
133
179
  const rows = useMemo(() => items.map((item, index) => ({
134
180
  item,
@@ -142,28 +188,39 @@ export const Timeline = /*#__PURE__*/memo(function Timeline({
142
188
  model: row,
143
189
  theme: theme,
144
190
  colors: colors,
145
- testID: testID
146
- }), [theme, colors, testID]);
191
+ testID: testID,
192
+ onEditNote: onEditNote,
193
+ onDeleteNote: onDeleteNote
194
+ }), [theme, colors, testID, onEditNote, onDeleteNote]);
195
+ const addNoteControl = onAddNote !== undefined ? /*#__PURE__*/_jsx(Button, {
196
+ variant: "outline",
197
+ label: "Add note",
198
+ onPress: onAddNote,
199
+ loading: notesLoading,
200
+ testID: testID ? `${testID}-add-note` : undefined
201
+ }) : null;
147
202
  if (items.length >= VIRTUALIZE_THRESHOLD) {
148
- return /*#__PURE__*/_jsx(Animated.View, {
203
+ return /*#__PURE__*/_jsxs(Reanimated.View, {
149
204
  testID: testID,
150
205
  style: rootStyle,
151
- children: /*#__PURE__*/_jsx(VirtualList, {
206
+ children: [/*#__PURE__*/_jsx(VirtualList, {
152
207
  data: rows,
153
208
  keyExtractor: keyExtractor,
154
209
  renderItem: renderItem
155
- })
210
+ }), addNoteControl]
156
211
  });
157
212
  }
158
- return /*#__PURE__*/_jsx(Animated.View, {
213
+ return /*#__PURE__*/_jsxs(Reanimated.View, {
159
214
  testID: testID,
160
215
  style: rootStyle,
161
- children: rows.map(row => /*#__PURE__*/_jsx(TimelineRow, {
216
+ children: [rows.map(row => /*#__PURE__*/_jsx(TimelineRow, {
162
217
  model: row,
163
218
  theme: theme,
164
219
  colors: colors,
165
- testID: testID
166
- }, keyExtractor(row)))
220
+ testID: testID,
221
+ onEditNote: onEditNote,
222
+ onDeleteNote: onDeleteNote
223
+ }, keyExtractor(row))), addNoteControl]
167
224
  });
168
225
  });
169
226
  //# sourceMappingURL=Timeline.js.map
@@ -14,6 +14,7 @@
14
14
  * (mocking only `react-native`'s `StyleSheet`, as `core/style` and every sibling module's tests do).
15
15
  */
16
16
 
17
+ import { MIN_TOUCH_TARGET } from "../../core/a11y/touchTarget.js";
17
18
  import { createThemedVariants, createVariants } from "../../core/style/index.js";
18
19
  /**
19
20
  * Timeline-specific dimensions. Kept a plain constant — no theme dependency — same as
@@ -33,6 +34,7 @@ export const TIMELINE_MARKER = {
33
34
  * `tone`/`color` prop to widen: every event reads identically, so every colour Timeline can show is
34
35
  * one of these role lookups, guaranteed legible in both modes.
35
36
  */
37
+ export { MIN_TOUCH_TARGET };
36
38
  export function resolveTimelineColors(colors) {
37
39
  return {
38
40
  markerFill: colors.accent.solid,
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=TimelineProps.js.map
@@ -43,11 +43,14 @@ safe no-op when nothing is showing.
43
43
  ## Motion
44
44
 
45
45
  Entrance and exit go through **`useMotion()`** at the shared `fast` duration; the card's travel is
46
- `MOTION_TRANSFORM.surfaceOffsetY`. The old module-local `ANIMATION_MS = 200` / `TRANSLATE_DISTANCE =
47
- 24` are gone this module was skipped by the earlier motion refactor, so until now neither the
48
- device tier's `durationScale` nor `MOTION_SCALE`/`MOTION_ENABLED` reached it. The unmount timer reads
49
- the SAME resolved `motion.duration("fast")` as the tween, keeping the removal deterministic (see
50
- `Toast.tsx`'s note on why the timer, not the animation callback, drives it).
46
+ `MOTION_TRANSFORM.surfaceOffsetY`, so the device tier's `durationScale` and `MOTION_SCALE`/
47
+ `MOTION_ENABLED` all reach it. The unmount timer reads the SAME resolved `motion.duration("fast")`
48
+ as the tween, keeping the removal deterministic (see `Toast.tsx`'s note on why the timer, not the
49
+ animation callback, drives it). The card also carries `LinearTransition` (with
50
+ `ReduceMotion.System`) so a replacing toast reflows without a second fade/slide.
51
+
52
+ `show()` fires `useHaptics().notification("success")` for a `success` toast and
53
+ `notification("error")` for a `danger` one; other tones are silent.
51
54
 
52
55
  ## Auto-dismiss timing (WCAG 2.2.1 — Timing Adjustable)
53
56
 
@@ -74,10 +77,9 @@ place that decides whether a toast's timer gets armed. `Toast.tsx` branches on i
74
77
  TalkBack to finish speaking a message, and there is no way to replay a toast that's gone — this is
75
78
  the DEFAULT behaviour, not an opt-in prop, because a consumer has no way to know per-toast whether
76
79
  a reader is running.
77
- - **`tone: "danger"` with no explicit `duration` defaults to persistent**, unlike every other tone.
78
- **Consumer-visible behaviour change:** an existing `show({ message, tone: "danger" })` call that
79
- relied on the ~3000ms default now stays up until dismissed. An explicit `duration` on a `danger`
80
- toast is still honoured — only the *default* changed. Judgement call: a 3-second error message is
80
+ - **`tone: "danger"` with no explicit `duration` defaults to persistent**, unlike every other tone,
81
+ so `show({ message, tone: "danger" })` stays up until dismissed. An explicit `duration` on a
82
+ `danger` toast is still honoured. Judgement call: a 3-second error message is
81
83
  the exact failure WCAG 2.2.1 exists to prevent, and this catalogue has no toast history a user
82
84
  could scroll back to recover a missed one from. Every other tone keeps the ~3000ms default
83
85
  unchanged — success/info/neutral/warning messages are lower-stakes and the existing default reads
@@ -145,10 +147,10 @@ change can't silently reintroduce the gap.
145
147
  `core/a11y` and re-export, once that edit lands, rather than leaving two near-identical stores.
146
148
  - **No stacking queue.** `show()` while visible replaces the current toast; there is no multi-toast
147
149
  queue in v1. Flagging for a future version if a consumer needs concurrent toasts.
148
- - **No safe-area inset awareness.** The overlay's edge inset is a fixed `theme.space[4]`; it does not
149
- read device safe-area insets (notch/home-indicator). `react-native-safe-area-context` is already an
150
- optional peer dependency for this catalogue but no module wires it yet — a consumer on a notched
151
- device may want to add its own top padding via screen-level layout until this is revisited.
150
+ - **Top position has no safe-area inset awareness.** `position: "bottom"` adds the same static
151
+ iOS home-indicator approximation Drawer/BottomSheet use (`resolveToastBottomInset`); `top`
152
+ reads a fixed `theme.space[4]` with no notch awareness — a consumer on a notched device may want
153
+ its own top padding via screen-level layout until `react-native-safe-area-context` is a real peer.
152
154
  - Render tests need `@testing-library/react-native` + a react-native jest preset (same
153
155
  dependency-pending note as `Button.render.test.tsx`).
154
156
 
@@ -156,8 +158,3 @@ change can't silently reintroduce the gap.
156
158
 
157
159
  `ToastProvider` (exported) and `ToastCard` (internal, non-exported) are both wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — mirrors the repo convention (e.g. `AccordionRow`) of memoizing library-internal child components too. No new `useCallback`/`useMemo` needed: the props handed to `ToastCard` (`toast`, `theme`, `position`, `progress`, `onDismiss={hide}`) were already stable — the file already used `useCallback`/`useMemo` throughout.
158
160
 
159
- ## Modernization (v1.0.7)
160
-
161
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
162
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
163
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -23,11 +23,15 @@
23
23
  */
24
24
 
25
25
  import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
26
- import { AccessibilityInfo, Animated, Pressable, StyleSheet, Text, View } from "react-native";
27
- import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
26
+ import { AccessibilityInfo, Platform, Pressable, StyleSheet, Text, View } from "react-native";
27
+ import Reanimated, { interpolate, LinearTransition, ReduceMotion, useAnimatedStyle } from "react-native-reanimated";
28
+ import { useMotion, useAnimatedValue } from "../../core/motion/index.js";
29
+ import { useHaptics } from "../../core/haptics/index.js";
28
30
  import { Icon } from "../../core/icon/index.js";
29
31
  import { useTheme } from "../../theme/hooks.js";
30
- import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, resolveAutoDismissDelay, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
32
+ import { elevation, floatingSurfaceStyle, highlight } from "../../theme/platform/index.js";
33
+ import { elevation as elevationTokens } from "../../theme/tokens/primitives/index.js";
34
+ import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, resolveAutoDismissDelay, resolveToastBottomInset, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
31
35
  import { useScreenReaderEnabled } from "./toastScreenReader.js";
32
36
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
37
  const ToastContext = /*#__PURE__*/createContext(undefined);
@@ -37,6 +41,7 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
37
41
  }) {
38
42
  const theme = useTheme();
39
43
  const motion = useMotion();
44
+ const haptics = useHaptics();
40
45
  const screenReaderEnabled = useScreenReaderEnabled();
41
46
  const [toast, setToast] = useState(null);
42
47
  const progress = useAnimatedValue(0);
@@ -85,12 +90,17 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
85
90
  // A replacement toast is a new event: whatever the pointer/focus did to the last one is spent.
86
91
  hovered.current = false;
87
92
  focused.current = false;
88
- progress.setValue(0);
93
+ progress.value = 0;
89
94
  const tone = options.tone ?? "neutral";
90
95
  setToast({
91
96
  message: options.message,
92
97
  tone
93
98
  });
99
+ if (tone === "success") {
100
+ haptics.notification("success");
101
+ } else if (tone === "danger") {
102
+ haptics.notification("error");
103
+ }
94
104
  // The real cross-platform screen-reader announcement: `accessibilityLiveRegion` (see
95
105
  // `ToastCard`'s Text) is Android-only, so it alone leaves iOS VoiceOver silent. This
96
106
  // imperative call reaches both VoiceOver and TalkBack.
@@ -101,7 +111,7 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
101
111
  }).start();
102
112
  delay.current = resolveAutoDismissDelay(options.duration, tone, screenReaderEnabled);
103
113
  armDismissTimer();
104
- }, [armDismissTimer, clearTimers, progress, motion, screenReaderEnabled]);
114
+ }, [armDismissTimer, clearTimers, progress, motion, screenReaderEnabled, haptics]);
105
115
 
106
116
  // Pause while the user is reading (WCAG 2.2.1): leaving re-arms the FULL delay rather than the
107
117
  // remainder — the message effectively restarts, which is the generous direction.
@@ -128,13 +138,19 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
128
138
  show,
129
139
  dismiss: hide
130
140
  }), [show, hide]);
141
+ const overlayStyle = useMemo(() => position === "bottom" ? [toastOverlayStructure(theme, {
142
+ position
143
+ }), {
144
+ bottom: resolveToastBottomInset(theme.space[4], Platform.OS)
145
+ }] : toastOverlayStructure(theme, {
146
+ position
147
+ }), [theme, position]);
131
148
  return /*#__PURE__*/_jsxs(ToastContext.Provider, {
132
149
  value: contextValue,
133
150
  children: [children, /*#__PURE__*/_jsx(View, {
134
- pointerEvents: "box-none",
135
- style: toastOverlayStructure(theme, {
136
- position
137
- }),
151
+ style: [overlayStyle, {
152
+ pointerEvents: 'box-none'
153
+ }],
138
154
  children: toast !== null && /*#__PURE__*/_jsx(ToastCard, {
139
155
  toast: toast,
140
156
  theme: theme,
@@ -166,59 +182,63 @@ const ToastCard = /*#__PURE__*/memo(function ToastCard({
166
182
  onFocusOut
167
183
  }) {
168
184
  const toneColors = resolveToastTone(theme.colors, toast.tone);
169
- const translateY = progress.interpolate({
170
- inputRange: [0, 1],
171
- outputRange: position === "top" ? [-offsetY, 0] : [offsetY, 0]
172
- });
173
- return /*#__PURE__*/_jsxs(Animated.View, {
185
+
186
+ // Shadow/elevation only — `toneColors.background` is the one painted background.
187
+ const floatingStyle = useMemo(() => {
188
+ highlight("subtle", theme.mode);
189
+ elevation(elevationTokens.sm);
190
+ void theme.elevatedSurfaces;
191
+ return floatingSurfaceStyle(theme, "sm");
192
+ }, [theme]);
193
+ const cardMotion = useAnimatedStyle(() => ({
194
+ opacity: progress.value,
195
+ transform: [{
196
+ translateY: interpolate(progress.value, [0, 1], position === "top" ? [-offsetY, 0] : [offsetY, 0])
197
+ }]
198
+ }));
199
+ return /*#__PURE__*/_jsx(Reanimated.View, {
174
200
  testID: "pixelize-toast",
175
- accessibilityRole: "alert"
176
- // W3C pointer events, not a `Pressable` wrapper: hovering to read must not turn the card into
177
- // a touch responder that competes with the close button for the tap. `onFocus`/`onBlur` on a
178
- // View catch focus BUBBLING out of the close button (react-native-web), which is the only
179
- // focusable thing in here; the button repeats them for native, where focus does not bubble.
180
- ,
201
+ accessibilityRole: "alert",
181
202
  onPointerEnter: onHoverIn,
182
203
  onPointerLeave: onHoverOut,
183
204
  onFocus: onFocusIn,
184
205
  onBlur: onFocusOut,
185
- style: [toastCardStructure(theme), {
206
+ layout: LinearTransition.reduceMotion(ReduceMotion.System),
207
+ style: [toastCardStructure(theme), floatingStyle, {
186
208
  backgroundColor: toneColors.background
187
- }, theme.elevation.lg, {
188
- opacity: progress,
189
- transform: [{
190
- translateY
191
- }]
192
209
  }],
193
- children: [/*#__PURE__*/_jsx(View, {
194
- style: [toastAccentBarStructure(theme), {
195
- backgroundColor: toneColors.accent
196
- }]
197
- }), /*#__PURE__*/_jsx(Text, {
198
- numberOfLines: 3,
199
- style: [theme.fontStyleForWeight(theme.fontWeights.medium), styles.message, {
200
- fontSize: theme.fontSizes.sm,
201
- color: toneColors.text
202
- }],
203
- children: toast.message
204
- }), /*#__PURE__*/_jsx(Pressable, {
205
- testID: "pixelize-toast-close",
206
- accessibilityRole: "button",
207
- accessibilityLabel: "Dismiss notification",
208
- hitSlop: CLOSE_HIT_SLOP,
209
- onPress: onDismiss,
210
- onHoverIn: onHoverIn,
211
- onHoverOut: onHoverOut,
212
- onFocus: onFocusIn,
213
- onBlur: onFocusOut,
214
- style: styles.closeButton,
215
- children: /*#__PURE__*/_jsx(Icon, {
216
- name: "x",
217
- size: CLOSE_ICON_SIZE,
218
- color: theme.colors.fg.muted,
219
- strokeWidth: 2
220
- })
221
- })]
210
+ children: /*#__PURE__*/_jsxs(Reanimated.View, {
211
+ style: cardMotion,
212
+ children: [/*#__PURE__*/_jsx(View, {
213
+ style: [toastAccentBarStructure(theme), {
214
+ backgroundColor: toneColors.accent
215
+ }]
216
+ }), /*#__PURE__*/_jsx(Text, {
217
+ numberOfLines: 3,
218
+ style: [theme.fontStyleForWeight(theme.fontWeights.medium), styles.message, {
219
+ fontSize: theme.fontSizes.sm,
220
+ color: toneColors.text
221
+ }],
222
+ children: toast.message
223
+ }), /*#__PURE__*/_jsx(Pressable, {
224
+ testID: "pixelize-toast-close",
225
+ accessibilityRole: "button",
226
+ accessibilityLabel: "Dismiss notification",
227
+ hitSlop: CLOSE_HIT_SLOP,
228
+ onPress: onDismiss,
229
+ onHoverIn: onHoverIn,
230
+ onHoverOut: onHoverOut,
231
+ onFocus: onFocusIn,
232
+ onBlur: onFocusOut,
233
+ style: styles.closeButton,
234
+ children: /*#__PURE__*/_jsx(Icon, {
235
+ name: "x",
236
+ size: CLOSE_ICON_SIZE,
237
+ color: theme.colors.fg.muted,
238
+ strokeWidth: 2
239
+ })
240
+ })]
241
+ })
222
242
  });
223
243
  });
224
244
 
@@ -15,12 +15,9 @@
15
15
  * `react-native`'s `StyleSheet`, as `core/style` does).
16
16
  */
17
17
 
18
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
18
19
  import { createThemedVariants } from "../../core/style/index.js";
19
- /** Same floor as Button/Input/Checkbox — 44dp (WCAG 2.5.5 / HIG). Duplicated, not imported: modules
20
- * stay isolated. */
21
- export const MIN_TOUCH_TARGET = 44;
22
- const slopFor = size => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - size) / 2));
23
-
20
+ export { MIN_TOUCH_TARGET };
24
21
  /** The close button's own visual box + glyph. Toast takes no `size` prop, so this is a fixed pair,
25
22
  * not a scale — mirrors `BUTTON_SIZES`' shape for exactly one size. */
26
23
  export const CLOSE_BUTTON_SIZE = 24;
@@ -29,6 +26,10 @@ export const CLOSE_HIT_SLOP = slopFor(CLOSE_BUTTON_SIZE);
29
26
 
30
27
  /** `duration` on `ToastOptions` defaults to this when omitted — except for `danger` (see below). */
31
28
  export const DEFAULT_TOAST_DURATION = 3000;
29
+ export const TOAST_IOS_HOME_INDICATOR_INSET = 20;
30
+ export function resolveToastBottomInset(basePadding, platformOS) {
31
+ return platformOS === "ios" ? basePadding + TOAST_IOS_HOME_INDICATOR_INSET : basePadding;
32
+ }
32
33
 
33
34
  /**
34
35
  * How long a toast stays up. `"persistent"` = until the user dismisses it (or a later `show()`
@@ -108,6 +109,7 @@ export const toastCardStructure = createThemedVariants(theme => ({
108
109
  alignItems: "center",
109
110
  columnGap: theme.space[3],
110
111
  borderRadius: theme.radii.md,
112
+ borderCurve: "continuous",
111
113
  paddingVertical: theme.space[3],
112
114
  paddingRight: theme.space[3],
113
115
  overflow: "hidden"
@@ -24,6 +24,7 @@ modules, it exposes no `style` prop.
24
24
  | `label` | `string` | — | The tip's text. Also what gets merged into the trigger's `accessibilityHint`. |
25
25
  | `children` | `ReactElement<TooltipTriggerProps>` | — | A single element accepting `onLongPress`/`onPressOut`/`onHoverIn`/`onHoverOut`/`onFocus`/`onBlur`/`accessibilityHint`/`aria-describedby` — `Button`, `Fab`, or a raw `Pressable`. A `Text` is **not** enough: react-native-web's `Text` handles only `onPress`, so every injected handler is dropped and the tip never opens on web. |
26
26
  | `placement` | `top \| bottom` | `bottom` | Which side of the trigger the bubble opens toward. |
27
+ | `onlyShowWhenTruncated` | `boolean` | `false` | When true, the tip opens only if the trigger's text is ellipsized (web: `scrollWidth > clientWidth`; native: `numberOfLines` truncation probe). |
27
28
  | `testID` | `string` | — | On the host `View`; also seeds `${testID}-bubble` on the visible bubble. |
28
29
 
29
30
  No `style` prop (see the file-header note) and no `tone`/`variant`/`size` — the bubble always
@@ -31,11 +32,15 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
31
32
 
32
33
  ## Accessibility contract (WCAG)
33
34
 
34
- - **1.4.13 Content on Hover or Focus — 2 of 3.** *Persistent* ✅ (no auto-dismiss on the hover/focus
35
+ - **1.4.13 Content on Hover or Focus — 3 of 3.** *Persistent* ✅ (no auto-dismiss on the hover/focus
35
36
  path — only long-press arms `autoHideMs`). *Dismissible* ✅ (Escape hides the tip via
36
37
  `useDismissOnEscape` from `core/a11y/keyboard`, without moving focus; web-only by construction —
37
- the native file is a no-op, and native has no hover/keyboard-focus tip to dismiss). *Hoverable*
38
- see "Known gaps".
38
+ the native file is a no-op, and native has no hover/keyboard-focus tip to dismiss). *Hoverable*
39
+ the bubble accepts pointer events and carries its own `onPointerEnter`/`onPointerLeave` (the
40
+ same primitive `Toast`'s card uses for a non-`Pressable` hover target); a hover-out on the trigger
41
+ doesn't hide immediately, it arms `TOOLTIP_TIMING.hoverOutGraceMs` (200ms) so the pointer has time
42
+ to cross the `theme.space[1]` gap onto the bubble, which cancels the pending hide on entry and
43
+ re-arms its own grace window on exit.
39
44
  - **1.3.1 / no gesture-only content** — the whole point of this module. On **native** the trigger's
40
45
  `accessibilityHint` is set to `mergeAccessibilityHint(existingHint, label)`, so a screen-reader
41
46
  user gets the tip's content with the trigger itself and no long-press. The existing hint is
@@ -53,8 +58,9 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
53
58
  - **2.2.1 Timing Adjustable — not engaged on the hover/focus path.** `show(false)` never arms a
54
59
  timer, so a pointer/keyboard tip has no time limit at all. The 2.5s `autoHideMs` is armed only by
55
60
  `onLongPress` — see "Known gaps".
56
- - **2.3.3** — the fade-in is skipped (`duration: 0`) when `useReducedMotion()` is true; the bubble
57
- still appears immediately, so reduced motion never means "no tip."
61
+ - **2.3.3** — show/hide runs through `useEnterExit` + `useMotion()`; the tween collapses to
62
+ `duration: 0` when motion is off, so the bubble still appears immediately reduced motion never
63
+ means "no tip."
58
64
  - **Touch target** — Tooltip renders no interactive control of its own; the trigger child owns its
59
65
  own touch target (e.g. an icon `Button` already enforces ≥ 44dp via `hitSlop`).
60
66
 
@@ -65,8 +71,8 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
65
71
  2. **Pure, testable resolvers** in `Tooltip.variants.ts` — no React/lucide, so the WCAG measurement
66
72
  and the hint-merge contract are unit-tested against real palettes, never eyeballed.
67
73
  3. **No `{...rest}`** — composition is `React.cloneElement` on the single child (explicitly
68
- sanctioned as composition, not a rest spread), injecting three named props only.
69
- 4. **Reduced motion respected**, same `useReducedMotion()` seam as Button's press fade.
74
+ sanctioned as composition, not a rest spread), injecting the eight named `TooltipTriggerProps`.
75
+ 4. **Reduced motion respected**, same `useMotion()` seam as Button's press fade.
70
76
 
71
77
  ## Design decisions specific to this module
72
78
 
@@ -92,26 +98,25 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
92
98
  - **Auto-hide fallback** (`TOOLTIP_TIMING.autoHideMs`, 2.5s) — guards against a long-press tip
93
99
  staying open forever if `onPressOut` never fires (a cancelled gesture, or assistive tech invoking
94
100
  `onLongPress` directly without a matching press-out).
101
+ - **The bubble's own hover pair uses `onPointerEnter`/`onPointerLeave`, not `Pressable`.** Same
102
+ reason as `Toast`'s card: turning the bubble into a touch responder would buy nothing and could
103
+ compete for gestures with whatever it's overlapping. A single `hideTimer` ref is shared between
104
+ the hover-out grace delay and the long-press `autoHideMs` fallback — safe because `show`/`hide`
105
+ always clear whichever one is pending before arming the other, so the two paths never collide.
95
106
 
96
107
  ## Known gaps
97
108
 
98
109
  - **Requires a trigger that declares the injected props.** `cloneElement` sets them on the element,
99
110
  but the repo's `{...rest}` ban means a component only receives what its own prop list names — so
100
111
  a trigger that doesn't declare them drops the gesture, the hover/focus reveal and the hint merge
101
- with no error. `Button` and `Fab` declare all seven (each chaining Tooltip's handler after its own
102
- press/focus ring); a raw RN `Pressable`/`TouchableOpacity` accepts them by construction. **Every
112
+ with no error. `Fab` declares all eight; `Button` declares seven it has no `aria-describedby`,
113
+ so the web description link never reaches it. A raw RN `Pressable`/`TouchableOpacity` accepts
114
+ them by construction. **Every
103
115
  other module still drops them** — `Chip`, `CopyButton`, `ListItem`, `Switch`, `Checkbox`, `Select`
104
116
  and the rest are not usable as triggers yet. **A plain `Text` is a trap on web** (react-native-web's
105
117
  `Text` handles only `onPress`) — this is the bug the example app hit.
106
118
  - **`Menu` and `Tooltip` cannot nest either way.** `Menu` clones only `onPress` onto its trigger, and
107
119
  `TooltipProps` has no `onPress`, so a Tooltip-wrapped Menu trigger never opens the menu.
108
- - **1.4.13 *hoverable* is still unmet, and needs BOTH halves to land at once.** The bubble is
109
- `pointerEvents="none"`, so a pointer can never reach the tip; and `handleHoverOut` hides
110
- immediately, with no grace period for crossing the `theme.space[1]` gap between trigger and
111
- bubble. Fixing only one half delivers nothing — enabling pointer events without a grace delay just
112
- makes the tip vanish mid-gap. This is a behavioural redesign (a hover-tracked bubble with its own
113
- hover handlers plus a close delay), deliberately not attempted as part of the flat-`aria-*`
114
- migration.
115
120
  - **2.2.1 on the long-press path** — `TOOLTIP_TIMING.autoHideMs` (2.5s) is a content-set time limit
116
121
  with no turn-off/adjust/extend, and no WCAG exception covers it. It exists as a stuck-tip guard for
117
122
  when `onPressOut` never fires (cancelled gesture, or AT invoking `onLongPress` directly), and in
@@ -127,10 +132,5 @@ reads `bg.raised` / `fg.default`, so there is nothing appearance-wise for a call
127
132
 
128
133
  ## Performance
129
134
 
130
- Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `clearHideTimer`/`hide`/`show` are `useCallback`'d, and all six handlers `cloneElement` injects into the consumer-supplied `children` trigger are extracted to `handleLongPress`/`handlePressOut`/`handleHoverIn`/`handleHoverOut`/`handleFocus`/`handleBlur` (`useCallback`) instead of inline lambdas — same idiom `Menu.tsx` uses for its own trigger, since a fresh closure there would defeat a memoized trigger (e.g. this library's own `Button`).
135
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `clearHideTimer`/`hide`/`show`/`scheduleHide` and the bubble's own `handleBubbleHoverIn`/`handleBubbleHoverOut` are all `useCallback`'d, and all six handlers `cloneElement` injects into the consumer-supplied `children` trigger are extracted to `handleLongPress`/`handlePressOut`/`handleHoverIn`/`handleHoverOut`/`handleFocus`/`handleBlur` (`useCallback`) instead of inline lambdas — same idiom `Menu.tsx` uses for its own trigger, since a fresh closure there would defeat a memoized trigger (e.g. this library's own `Button`).
131
136
 
132
- ## Modernization (v1.0.7)
133
-
134
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
135
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
136
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.