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
@@ -13,7 +13,7 @@
13
13
  * preview offset is `resolveRowShift`, the dragged row's is the raw `translationY`.
14
14
  *
15
15
  * The list stays FULLY CONTROLLED: `items` is never mutated mid-drag. On release the pan hands off
16
- * to JS once (`runOnJS`) and commits `moveItem(items, startIndex, targetIndex)` through `onReorder`.
16
+ * to JS once (`scheduleOnRN`) and commits `moveItem(items, startIndex, targetIndex)` through `onReorder`.
17
17
  * Because the preview and the commit share the same splice semantics, the dragged row lands in the
18
18
  * slot its shifted neighbours already vacated — and passive rows snap back to 0 the instant
19
19
  * `activeIndex` goes idle, so no stale offset can outlive the drop.
@@ -37,8 +37,10 @@
37
37
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
38
38
  import { Text, View } from "react-native";
39
39
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
40
- import Animated, { cancelAnimation, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
41
- import { useAnnounce } from "../../core/a11y/index.js";
40
+ import Animated, { cancelAnimation, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
41
+ import { scheduleOnRN } from "react-native-worklets";
42
+ import { useAnnounce, useReducedMotion } from "../../core/a11y/index.js";
43
+ import { useHaptics } from "../../core/haptics/index.js";
42
44
  import { VirtualList } from "../../core/list/index.js";
43
45
  import { useMotion } from "../../core/motion/index.js";
44
46
  import { useTheme } from "../../theme/hooks.js";
@@ -56,6 +58,8 @@ export const Reorder = /*#__PURE__*/memo(function Reorder({
56
58
  }) {
57
59
  const theme = useTheme();
58
60
  const motion = useMotion();
61
+ const haptics = useHaptics();
62
+ const reducedMotion = useReducedMotion();
59
63
  const colors = useMemo(() => resolveReorderColors(theme.colors), [theme.colors]);
60
64
  const rowPitch = resolveRowPitch(theme.space[2]);
61
65
  const activeIndex = useSharedValue(IDLE);
@@ -101,7 +105,8 @@ export const Reorder = /*#__PURE__*/memo(function Reorder({
101
105
  duration: liftMs
102
106
  }) : 1;
103
107
  setActiveRow(index);
104
- }, [disabled, activeIndex, targetIndex, translationY, lift, motionEnabled, liftMs]);
108
+ if (!reducedMotion) haptics.impact("light");
109
+ }, [disabled, activeIndex, targetIndex, translationY, lift, motionEnabled, liftMs, reducedMotion, haptics]);
105
110
  const endDrag = useCallback(() => {
106
111
  const from = activeIndex.value;
107
112
  if (from === IDLE) return;
@@ -118,8 +123,9 @@ export const Reorder = /*#__PURE__*/memo(function Reorder({
118
123
  if (moved !== undefined) {
119
124
  setAnnouncement(resolveReorderMoveAnnouncement(moved.label, to, itemsRef.current.length));
120
125
  }
126
+ if (!reducedMotion) haptics.selection();
121
127
  }
122
- }, [activeIndex, targetIndex, translationY, lift]);
128
+ }, [activeIndex, targetIndex, translationY, lift, reducedMotion, haptics]);
123
129
  const pan = useMemo(() => Gesture.Pan()
124
130
  // Without manual activation the pan swallows the virtualized list's own scroll gesture.
125
131
  .manualActivation(true).onTouchesMove((_event, manager) => {
@@ -136,7 +142,7 @@ export const Reorder = /*#__PURE__*/memo(function Reorder({
136
142
  "worklet";
137
143
 
138
144
  if (activeIndex.value === IDLE) return;
139
- runOnJS(endDrag)();
145
+ scheduleOnRN(endDrag);
140
146
  }), [activeIndex, targetIndex, translationY, itemCount, rowPitch, endDrag]);
141
147
  const handleMove = useCallback((fromIndex, toIndex) => {
142
148
  // A row's move button stays operable while it holds focus even at the list's end (see
@@ -16,7 +16,9 @@
16
16
  * only `react-native`'s `StyleSheet`, as `core/style` and every sibling module's tests do).
17
17
  */
18
18
 
19
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
19
20
  import { createThemedVariants, createVariants } from "../../core/style/index.js";
21
+ export { MIN_TOUCH_TARGET };
20
22
 
21
23
  /**
22
24
  * Fixed row height, in dp. A fixed height — rather than per-row `onLayout` measurement — is what
@@ -25,10 +27,6 @@ import { createThemedVariants, createVariants } from "../../core/style/index.js"
25
27
  */
26
28
  export const REORDER_ROW_HEIGHT = 56;
27
29
 
28
- /** The 44dp floor every touch target holds itself to (WCAG 2.5.5 AAA; comfortably clears 2.5.8). */
29
- export const MIN_TOUCH_TARGET = 44;
30
- const slopFor = dimension => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - dimension) / 2));
31
-
32
30
  /** Grip bar glyph — three of these stacked make the drag-handle affordance. No `IconName` in the
33
31
  * closed 22-name set represents a drag handle, and that set is never extended for one component
34
32
  * (per the build brief), so the grip is hand-built from plain themed bars instead. */
@@ -56,6 +54,7 @@ export const GRIP_HIT_SLOP = {
56
54
  * one of these role lookups, guaranteed legible in both modes (same reasoning `resolveTimelineColors`
57
55
  * documents for its own tone-less component).
58
56
  */
57
+
59
58
  export function resolveReorderColors(colors) {
60
59
  return {
61
60
  rowBackground: colors.bg.surface,
@@ -167,7 +166,8 @@ export const reorderRowStructure = createThemedVariants(theme => ({
167
166
  height: REORDER_ROW_HEIGHT,
168
167
  marginBottom: theme.space[2],
169
168
  paddingHorizontal: theme.space[3],
170
- borderRadius: theme.radii.base,
169
+ borderRadius: theme.radii.md,
170
+ borderCurve: "continuous",
171
171
  columnGap: theme.space[3]
172
172
  }
173
173
  }));
@@ -188,7 +188,8 @@ export const reorderGripBarStructure = createThemedVariants(theme => ({
188
188
  base: {
189
189
  width: GRIP_BAR_WIDTH,
190
190
  height: GRIP_BAR_HEIGHT,
191
- borderRadius: theme.radii.full
191
+ borderRadius: theme.radii.full,
192
+ borderCurve: "continuous"
192
193
  }
193
194
  }));
194
195
  //# sourceMappingURL=Reorder.variants.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ReorderProps.js.map
@@ -1,4 +1,4 @@
1
- # rich-text/
1
+ # rich-text/ — a read-only renderer for sanitized HTML
2
2
 
3
3
  Read-only safe HTML renderer. Parse/sanitize in `parseRichText.ts` (ported from tickets/mobile). Heavy — subpath only.
4
4
 
@@ -24,11 +24,12 @@ safe schemes only) · `onImagePress` · `style` (layout-only, outermost, once, l
24
24
  into inline spans inside one `Text` — there is no per-heading node left, so heading semantics are
25
25
  unavailable in that mode.
26
26
  - Links are `accessibilityRole="link"`; images are `Pressable`s labelled from their `alt` (falling back to
27
- `Image`).
27
+ `Image`) and carry `android_ripple` (`rippleColor(theme.mode)`, `borderless: false`) on Android.
28
28
  - Colour pairs are measured across all 9 brands × both modes (`RichText.test.ts`), min ratios: text 6.10 and
29
29
  muted 6.52 and link 5.06 on the canvas · mention label 4.82 on its own `accent.subtle` pill · code and
30
30
  `pre` 5.69 on `bg.sunken`. `quoteBorder` / `border` are decorative rules (1.08–1.43:1) with no contrast
31
31
  floor — they are pinned to `border.default` and asserted never to escalate to `border.interactive`/`focus`.
32
+ - `blockquote`'s left border is `theme.borderWidths.thick`, never a raw literal.
32
33
 
33
34
  ## Performance
34
35
 
@@ -49,4 +50,5 @@ into inline spans inside one `Text` — which a `FlatList` cannot host. It also
49
50
  ## Known gaps
50
51
 
51
52
  - Tables are sanitized through but render as their text runs, not as a grid.
52
- - Images render as a `🖼 alt` placeholder — the library never fetches remote content itself.
53
+ - Images render as a `🖼 alt` placeholder inside a `Pressable` — the library never fetches remote
54
+ content itself.
@@ -8,6 +8,7 @@ import { memo, useCallback, useMemo } from "react";
8
8
  import { Linking, Platform, Pressable, StyleSheet, Text, View } from "react-native";
9
9
  import { HeadingText } from "../../core/heading/index.js";
10
10
  import { useTheme } from "../../theme/hooks.js";
11
+ import { rippleColor } from "../../theme/platform/stateLayer.native.js";
11
12
  import { BLOCK_TAGS, isBlank, isChecked, isElement, isMention, isSafeUrl, mentionLabel, MENTION_HOSTS, parseRichText, stripHtmlToText, textContent } from "./parseRichText.js";
12
13
  import { resolveRichTextColors } from "./RichText.variants.js";
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -27,9 +28,7 @@ const styles = StyleSheet.create({
27
28
  block: {
28
29
  marginBottom: 8
29
30
  },
30
- bold: {
31
- fontWeight: "700"
32
- },
31
+ bold: {},
33
32
  italic: {
34
33
  fontStyle: "italic"
35
34
  },
@@ -55,7 +54,6 @@ const styles = StyleSheet.create({
55
54
  flex: 1
56
55
  },
57
56
  quote: {
58
- borderLeftWidth: 3,
59
57
  paddingLeft: 12,
60
58
  marginBottom: 8
61
59
  },
@@ -73,16 +71,8 @@ const styles = StyleSheet.create({
73
71
  marginBottom: 8
74
72
  }
75
73
  });
76
- const WRAP_STYLES = {
77
- b: styles.bold,
78
- strong: styles.bold,
79
- i: styles.italic,
80
- em: styles.italic,
81
- u: styles.underline,
82
- s: styles.strike,
83
- del: styles.strike,
84
- strike: styles.strike
85
- };
74
+ const WRAP_TAGS = ["b", "strong", "i", "em", "u", "s", "del", "strike"];
75
+ const WRAP_TAG_SET = new Set(WRAP_TAGS);
86
76
  const RichTextLink = /*#__PURE__*/memo(function RichTextLink({
87
77
  href,
88
78
  linkStyle,
@@ -101,13 +91,19 @@ const RichTextImage = /*#__PURE__*/memo(function RichTextImage({
101
91
  src,
102
92
  label,
103
93
  mutedStyle,
94
+ mode,
104
95
  onPress
105
96
  }) {
106
97
  const handlePress = useCallback(() => onPress?.(src), [onPress, src]);
98
+ const androidRipple = useMemo(() => Platform.OS === "android" ? {
99
+ color: rippleColor(mode),
100
+ borderless: false
101
+ } : undefined, [mode]);
107
102
  return /*#__PURE__*/_jsx(Pressable, {
108
103
  accessibilityRole: "button",
109
104
  accessibilityLabel: label,
110
105
  onPress: onPress ? handlePress : undefined,
106
+ android_ripple: androidRipple,
111
107
  style: styles.imageWrap,
112
108
  children: /*#__PURE__*/_jsx(Text, {
113
109
  style: mutedStyle,
@@ -131,9 +127,9 @@ export const RichText = /*#__PURE__*/memo(function RichText({
131
127
  textDecorationLine: "underline"
132
128
  },
133
129
  mention: {
130
+ ...theme.fontStyleForWeight(theme.fontWeights.semibold),
134
131
  color: colors.mentionText,
135
- backgroundColor: colors.mentionBg,
136
- fontWeight: "600"
132
+ backgroundColor: colors.mentionBg
137
133
  },
138
134
  code: {
139
135
  fontFamily: MONO,
@@ -147,7 +143,30 @@ export const RichText = /*#__PURE__*/memo(function RichText({
147
143
  text: {
148
144
  color: colors.text
149
145
  }
150
- }), [colors]);
146
+ }), [colors, theme]);
147
+ const wrapStyles = useMemo(() => ({
148
+ b: theme.fontStyleForWeight(theme.fontWeights.bold),
149
+ strong: theme.fontStyleForWeight(theme.fontWeights.bold),
150
+ i: {
151
+ fontStyle: "italic"
152
+ },
153
+ em: {
154
+ fontStyle: "italic"
155
+ },
156
+ u: {
157
+ textDecorationLine: "underline"
158
+ },
159
+ s: {
160
+ textDecorationLine: "line-through"
161
+ },
162
+ del: {
163
+ textDecorationLine: "line-through"
164
+ },
165
+ strike: {
166
+ textDecorationLine: "line-through"
167
+ }
168
+ }), [theme]);
169
+ const headingStyle = useMemo(() => theme.fontStyleForWeight(theme.fontWeights.bold), [theme]);
151
170
  const baseTextStyle = useMemo(() => [styles.base, palette.text], [palette]);
152
171
  const rootStyle = useMemo(() => [styles.root, style], [style]);
153
172
  const tree = useMemo(() => {
@@ -184,7 +203,7 @@ export const RichText = /*#__PURE__*/memo(function RichText({
184
203
  attrs,
185
204
  children
186
205
  } = node;
187
- const wrap = WRAP_STYLES[tag];
206
+ const wrap = WRAP_TAG_SET.has(tag) ? wrapStyles[tag] : undefined;
188
207
  if (tag === "br") out.push("\n");else if (wrap) out.push(/*#__PURE__*/_jsx(Text, {
189
208
  style: wrap,
190
209
  children: renderInline(children, pre, key)
@@ -233,16 +252,16 @@ export const RichText = /*#__PURE__*/memo(function RichText({
233
252
  return /*#__PURE__*/_jsx(HeadingText, {
234
253
  accessibilityRole: "header",
235
254
  "aria-level": level,
236
- style: [styles.base, textStyle, {
255
+ style: [styles.base, textStyle, headingStyle, {
237
256
  fontSize: size,
238
- lineHeight: size + 6,
239
- fontWeight: "700"
257
+ lineHeight: size + 6
240
258
  }],
241
259
  children: renderInline(children, false, key)
242
260
  }, key);
243
261
  }
244
262
  if (tag === "blockquote") return /*#__PURE__*/_jsx(View, {
245
263
  style: [styles.quote, {
264
+ borderLeftWidth: theme.borderWidths.thick,
246
265
  borderLeftColor: colors.quoteBorder
247
266
  }],
248
267
  children: renderBlocks(children, key, {
@@ -288,6 +307,7 @@ export const RichText = /*#__PURE__*/memo(function RichText({
288
307
  src: attrs.src ?? "",
289
308
  label: attrs.alt || "Image",
290
309
  mutedStyle: palette.muted,
310
+ mode: theme.mode,
291
311
  onPress: onImagePress
292
312
  }, key);
293
313
  }
@@ -337,7 +357,7 @@ export const RichText = /*#__PURE__*/memo(function RichText({
337
357
  } catch {
338
358
  return null;
339
359
  }
340
- }, [tree, numberOfLines, colors, palette, openURL, onImagePress]);
360
+ }, [tree, numberOfLines, colors, palette, wrapStyles, headingStyle, openURL, onImagePress, theme]);
341
361
  if (!html) return null;
342
362
  if (content == null) {
343
363
  return /*#__PURE__*/_jsx(Text, {
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=RichTextProps.js.map
@@ -26,7 +26,7 @@ button) — it is not the HTML and must not be used for persistence.
26
26
 
27
27
  | File | Role |
28
28
  |------|------|
29
- | `RichTextEditor.tsx` | The component: toolbar (`Button`), the native editor, the link dialog (`Modal` + `Input`), the mention dropdown. |
29
+ | `RichTextEditor.tsx` | The component: toolbar (`Button`), the native editor, the link dialog (`Modal` + `Input`), the mention dropdown. Colocated props keep behavioural JSDoc on non-obvious fields only (no per-prop narration). |
30
30
  | `RichTextEditor.variants.ts` | Pure resolvers — toolbar item catalogue, `onChangeState` → active-action mapping, mention filtering, colour + `HtmlStyle` token mapping — plus the themed structural resolvers. No React, no native import (types-only from `react-native-enriched-html`). |
31
31
  | `index.ts` | Public surface: `RichTextEditor`, `RichTextEditorHandle`, `RichTextEditorProps`, `MentionUser`, `RichTextEditorImage`, `RichTextEditorToolbarAction`, `RICH_TEXT_EDITOR_TOOLBAR_ITEMS`. |
32
32
  | `__tests__/RichTextEditor.test.ts` | Pure: WCAG contrast for the field/mention pill/code/code-block/blockquote/link/list-marker colours (all brands × modes), the toolbar item catalogue, `onChangeState` mapping, mention filtering. |
@@ -126,7 +126,8 @@ Inside it the candidates go through `VirtualList` (`core/list`), not a `ScrollVi
126
126
  `itemHeight={MENTION_ROW_HEIGHT}` — the rows are a fixed 40dp (`richTextEditorMentionRowStructure`'s
127
127
  `minHeight`), so `getItemLayout` is exact and the list never measures. Rows are a memo'd `MentionRow`
128
128
  taking **primitives** (`id`, `label`), and `onSelect(id, label)` is one shared `useCallback` with `[]`
129
- deps rather than a closure minted per row.
129
+ deps rather than a closure minted per row. Each row also carries `android_ripple`
130
+ (`rippleColor(theme.mode)`, `borderless: false`), gated on `Platform.OS === "android"`.
130
131
 
131
132
  **`keyboardShouldPersistTaps="always"` — `"handled"` is not enough here.** The dropdown only exists
132
133
  while the mention session is live, and the session dies with the keyboard. Under RN's default
@@ -141,8 +142,7 @@ dropdown now does.
141
142
  ## Accessibility
142
143
 
143
144
  - **Editor field accessible name.** The native `EnrichedTextInput` gets `accessibilityLabel` from
144
- `accessibilityLabel ?? label` (`resolveRichTextEditorAccessibility`) before this fix it had no
145
- path to a name at all. On native the now-redundant visible `label` `Text` is hidden from
145
+ `accessibilityLabel ?? label` (`resolveRichTextEditorAccessibility`). On native the now-redundant visible `label` `Text` is hidden from
146
146
  assistive tech (`aria-hidden`) so the name isn't announced twice. **On web it stays exposed**:
147
147
  `react-native-enriched-html`'s web build renders a TipTap `EditorContent` and forwards no
148
148
  accessibility prop to the underlying `contenteditable` (only `enterkeyhint`), so the field itself
@@ -151,8 +151,8 @@ dropdown now does.
151
151
  close this gap.
152
152
  - **Toolbar toggle (pressed) state.** The 14 style-toggle buttons (all but the `image`/`mention`
153
153
  triggers, see `RichTextEditorToolbarItem.toggle`) pass `Button`'s `selected` prop, driven by the
154
- same `activeActions` state that already drove the `variant="solid"` highlight before this fix
155
- the toggle was colour-only (WCAG 1.4.1) and announced nothing (4.1.2). `Button` itself resolves
154
+ same `activeActions` state that drives the `variant="solid"` highlight, so the toggle is never
155
+ colour-only (WCAG 1.4.1) and always announced (4.1.2). `Button` itself resolves
156
156
  `selected` into `aria-pressed` (web) / `accessibilityState.selected` (native), per
157
157
  `docs/PLATFORM-A11Y-PROPS.md`'s "genuinely diverge" case — RN has no `pressed` accessibility
158
158
  state at all. `image`/`mention` never receive `selected`: they open a picker, not toggle a style.
@@ -180,10 +180,8 @@ Every colour handed to the native `htmlStyle`/native props is a role lookup, nev
180
180
 
181
181
  ## Known gaps
182
182
 
183
- - **EAS Android dev-client build confirmed successful (build `22b8321f`, APK built) but NOT yet
184
- verified on a physical device by the user.** Everything reported here is typecheck/build/unit-test
185
- level — jest cannot render a native Fabric component, so nothing here claims the editor "works" on
186
- device.
183
+ - **Nothing here is device-verified.** Jest cannot render a native Fabric component, so the editor's
184
+ behaviour on device is a manual pass; the suite only covers the mocked surface.
187
185
  - `onChangeState.image.isBlocking` (the caret is somewhere an `<img>` can't go, e.g. inside a code
188
186
  block) is not honoured — the pick/upload still runs and native `addImage` then silently no-ops.
189
187
  Disabling the button on that flag is the follow-up.
@@ -218,8 +216,3 @@ Wrapped in `React.memo`. This component re-renders on every keystroke (`onChange
218
216
 
219
217
  No motion of its own — the editor's own visual state changes (toggle highlighting, focus ring) are
220
218
  instant, and the mention dropdown is a list, where per-row animation is forbidden.
221
-
222
- ## Modernization (v1.0.7)
223
-
224
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
225
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
@@ -19,8 +19,10 @@
19
19
  import { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState } from "react";
20
20
  import { Platform, Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
21
21
  import { EnrichedTextInput } from "react-native-enriched-html";
22
+ import { FOCUS_RING_GAP, FOCUS_RING_WIDTH } from "../../core/style/focusRing.js";
22
23
  import { VirtualList } from "../../core/list/index.js";
23
24
  import { useTheme } from "../../theme/hooks.js";
25
+ import { rippleColor } from "../../theme/platform/stateLayer.native.js";
24
26
  import { Button } from "../button/index.js";
25
27
  import { Input } from "../input/index.js";
26
28
  import { Modal } from "../modal/index.js";
@@ -39,6 +41,10 @@ const MentionRow = /*#__PURE__*/memo(function MentionRow({
39
41
  onSelect
40
42
  }) {
41
43
  const handlePress = useCallback(() => onSelect(id, label), [onSelect, id, label]);
44
+ const androidRipple = useMemo(() => Platform.OS === "android" ? {
45
+ color: rippleColor(theme.mode),
46
+ borderless: false
47
+ } : undefined, [theme.mode]);
42
48
  const restingStyle = useMemo(() => [richTextEditorMentionRowStructure(theme), {
43
49
  backgroundColor: colors.mentionRowBackground
44
50
  }], [theme, colors.mentionRowBackground]);
@@ -55,6 +61,7 @@ const MentionRow = /*#__PURE__*/memo(function MentionRow({
55
61
  return /*#__PURE__*/_jsx(Pressable, {
56
62
  accessibilityRole: "menuitem",
57
63
  onPress: handlePress,
64
+ android_ripple: androidRipple,
58
65
  style: rowStyle,
59
66
  children: /*#__PURE__*/_jsx(Text, {
60
67
  style: labelStyle,
@@ -65,8 +72,7 @@ const MentionRow = /*#__PURE__*/memo(function MentionRow({
65
72
 
66
73
  // Identical to `Input`/`Textarea`: the ring sits OUTSIDE the field, on the canvas, where
67
74
  // `border.focus` is the token proven ≥ 3:1.
68
- const FOCUS_RING_WIDTH = 2;
69
- const FOCUS_RING_GAP = 2;
75
+
70
76
  function RichTextEditorImpl({
71
77
  defaultValue,
72
78
  placeholder,
@@ -284,7 +290,8 @@ function RichTextEditorImpl({
284
290
  bottom: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
285
291
  borderWidth: FOCUS_RING_WIDTH,
286
292
  borderColor: theme.colors.border.focus,
287
- borderRadius: theme.radii.base + FOCUS_RING_GAP + FOCUS_RING_WIDTH
293
+ borderRadius: theme.radii.md + FOCUS_RING_GAP + FOCUS_RING_WIDTH,
294
+ borderCurve: "continuous"
288
295
  }), [theme]);
289
296
  const linkBodyStyle = useMemo(() => ({
290
297
  rowGap: theme.space[4]
@@ -366,9 +373,10 @@ function RichTextEditorImpl({
366
373
  })
367
374
  })]
368
375
  }), focused && /*#__PURE__*/_jsx(View, {
369
- pointerEvents: "none",
370
376
  testID: "rich-text-editor-focus-ring",
371
- style: focusRingStyle
377
+ style: [focusRingStyle, {
378
+ pointerEvents: 'none'
379
+ }]
372
380
  })]
373
381
  }), /*#__PURE__*/_jsx(Modal, {
374
382
  visible: linkOpen,
@@ -167,7 +167,7 @@ export function resolveRichTextEditorColors(colors) {
167
167
  cardBorder: colors.border.interactive,
168
168
  cardBorderFocus: colors.border.focus,
169
169
  text: colors.fg.default,
170
- placeholder: colors.fg.muted,
170
+ placeholder: colors.fg.placeholder,
171
171
  cursor: colors.accent.solid,
172
172
  selection: colors.accent.subtle,
173
173
  mentionDropdownBackground: colors.bg.surface,
@@ -216,7 +216,7 @@ export function resolveRichTextEditorHtmlStyle(theme) {
216
216
  },
217
217
  codeblock: {
218
218
  color: c.fg.default,
219
- borderRadius: theme.radii.base,
219
+ borderRadius: theme.radii.md,
220
220
  backgroundColor: c.bg.sunken
221
221
  },
222
222
  code: {
@@ -262,7 +262,8 @@ export const richTextEditorLayout = createThemedVariants(theme => ({
262
262
  export const richTextEditorCardStructure = createThemedVariants(theme => ({
263
263
  base: {
264
264
  borderWidth: theme.borderWidths.thin,
265
- borderRadius: theme.radii.base
265
+ borderRadius: theme.radii.md,
266
+ borderCurve: "continuous"
266
267
  }
267
268
  }));
268
269
  export const richTextEditorToolbarStructure = createThemedVariants(theme => ({
@@ -272,8 +273,9 @@ export const richTextEditorToolbarStructure = createThemedVariants(theme => ({
272
273
  columnGap: theme.space[2],
273
274
  padding: theme.space[2],
274
275
  borderBottomWidth: theme.borderWidths.thin,
275
- borderTopLeftRadius: theme.radii.base - theme.borderWidths.thin,
276
- borderTopRightRadius: theme.radii.base - theme.borderWidths.thin
276
+ borderTopLeftRadius: theme.radii.md - theme.borderWidths.thin,
277
+ borderTopRightRadius: theme.radii.md - theme.borderWidths.thin,
278
+ borderCurve: "continuous"
277
279
  }
278
280
  }));
279
281
 
@@ -299,7 +301,8 @@ export const richTextEditorMentionDropdownStructure = createThemedVariants(theme
299
301
  right: 0,
300
302
  maxHeight: 200,
301
303
  borderWidth: theme.borderWidths.thin,
302
- borderRadius: theme.radii.base,
304
+ borderRadius: theme.radii.md,
305
+ borderCurve: "continuous",
303
306
  zIndex: theme.zIndices.dropdown,
304
307
  ...theme.elevation.md
305
308
  }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=RichTextEditorProps.js.map
@@ -0,0 +1,3 @@
1
+ # save-bar/ — a floating dirty-state action bar
2
+
3
+ Floating dirty-state action bar with safe-area padding.
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ import { memo, useMemo } from "react";
4
+ import { View } from "react-native";
5
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
6
+ import { useTheme } from "../../theme/hooks.js";
7
+ import { Button } from "../button/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const SaveBar = /*#__PURE__*/memo(function SaveBar({
10
+ dirty,
11
+ onSave,
12
+ onDiscard,
13
+ saveLabel = "Save",
14
+ discardLabel = "Discard",
15
+ saving = false,
16
+ style,
17
+ testID
18
+ }) {
19
+ const theme = useTheme();
20
+ const insets = useSafeAreaInsets();
21
+ const barStyle = useMemo(() => ({
22
+ paddingHorizontal: theme.space[4],
23
+ paddingTop: theme.space[3],
24
+ paddingBottom: Math.max(theme.space[3], insets.bottom),
25
+ backgroundColor: theme.colors.bg.surface,
26
+ borderTopWidth: 1,
27
+ borderTopColor: theme.colors.border.default,
28
+ flexDirection: "row",
29
+ justifyContent: "flex-end",
30
+ gap: theme.space[2]
31
+ }), [theme, insets.bottom]);
32
+ if (!dirty) return null;
33
+ return /*#__PURE__*/_jsxs(View, {
34
+ testID: testID,
35
+ style: [barStyle, style],
36
+ children: [onDiscard ? /*#__PURE__*/_jsx(Button, {
37
+ label: discardLabel,
38
+ variant: "ghost",
39
+ onPress: onDiscard,
40
+ disabled: saving
41
+ }) : null, /*#__PURE__*/_jsx(Button, {
42
+ label: saveLabel,
43
+ variant: "solid",
44
+ onPress: onSave,
45
+ loading: saving
46
+ })]
47
+ });
48
+ });
49
+ //# sourceMappingURL=SaveBar.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=SaveBarProps.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { SaveBar } from "./SaveBar.js";
4
+ //# sourceMappingURL=index.js.map
@@ -12,6 +12,7 @@ content instead of `children`.
12
12
  | `Screen.variants.ts` | Pure resolver (`resolveScreenColors`) + themed structural resolvers + `ScreenEdge` / `ScreenState` unions. |
13
13
  | `index.ts` | Public surface: `Screen`, `ScreenProps`, `ScreenEdge`, `ScreenState`. |
14
14
  | `__tests__/Screen.test.ts` | Pure: colour mapping, default edges. |
15
+ | `__tests__/Screen.dom.test.tsx` | Render under `react-dom` — guards the shell against web-only regressions. |
15
16
  | `__tests__/Screen.render.test.tsx` | Render: default loading slot, idle children, consumer `style` last. Mocks `core/a11y` via `jest.requireActual` + override, not a full replacement — the default `LoadingState`/`ErrorState` slots call `useAnnounce`, which a full-replacement mock would drop. |
16
17
 
17
18
  ## Props
@@ -19,7 +20,8 @@ content instead of `children`.
19
20
  | Prop | Type | Default | Notes |
20
21
  |------|------|---------|-------|
21
22
  | `children` | `ReactNode` | — | Shown when `state="idle"`. |
22
- | `edges` | `ScreenEdge[]` | `["top"]` | Passed to `SafeAreaView`. |
23
+ | `appBar` | `ReactNode` | | Top header slot. Receives top safe-area inset; body omits `top` from `edges`. |
24
+ | `edges` | `readonly ScreenEdge[]` | `["top"]` | Passed to `SafeAreaView`. |
23
25
  | `padded` | `boolean` | `false` | Adds theme padding around content. |
24
26
  | `keyboardAvoiding` | `boolean` | `false` | Wraps in `KeyboardAvoidingView`. |
25
27
  | `keyboardVerticalOffset` | `number` | `0` | Passed to `KeyboardAvoidingView`. |
@@ -29,6 +31,7 @@ content instead of `children`.
29
31
  | `loading` | `ReactNode` | `<LoadingState />` | Custom loading slot. |
30
32
  | `empty` | `ReactNode` | — | Compose `EmptyState` here. |
31
33
  | `error` | `ReactNode` | — | Compose `ErrorState` here. |
34
+ | `scrollLinked` | `boolean` | `false` | With `appBar`, uses `Animated.ScrollView` and publishes `scrollY` for `AppBar` `scrollEffect`. |
32
35
  | `style` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
33
36
  | `testID` | `string` | — | Forwarded to the outermost shell node. |
34
37
 
@@ -38,12 +41,18 @@ content instead of `children`.
38
41
  Screens whose main content is already a `FlatList` should attach `RefreshControl` to that list
39
42
  directly and omit `onRefresh` here.
40
43
 
44
+ ## App bar composition
45
+
46
+ Pass `<AppBar … />` (or any header) as `appBar`. The shell paints `bg.canvas`, applies `top` safe
47
+ area to the bar, and applies the remaining `edges` to the body — the pattern apps previously
48
+ hand-rolled as `Screen` + `AppHeader`.
49
+
41
50
  ## Motion
42
51
 
43
- **None, deliberately.** Screen is a layout shell with no surface of its own to animate: a state
44
- swap (`idle` `loading` `error`) is the composed `LoadingState` / `EmptyState` / `ErrorState`
45
- block's business, and anything Screen could animate itself (a scroll-driven header, a state
46
- transition it owns) would need a new public prop. Consumers animate their own content.
52
+ **Scroll link only.** `scrollLinked` publishes `scrollY` for a composed `AppBar`; the shell itself
53
+ does not animate. Pull-to-refresh fires a light haptic as the refresh starts, before `onRefresh` (gated on
54
+ reduce-motion and the provider haptics flag). State swaps (`idle` `loading` `error`) are handled
55
+ by the composed `LoadingState` / `EmptyState` / `ErrorState` blocks, not by Screen.
47
56
 
48
57
  ## Performance
49
58