pixelize-native-library 1.2.1 → 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 (808) 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 +22 -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 +9 -6
  11. package/lib/module/core/gradient/ShimmerGradientFill.js +79 -0
  12. package/lib/module/core/gradient/index.js +1 -0
  13. package/lib/module/core/haptics/MODULE.md +7 -3
  14. package/lib/module/core/heading/MODULE.md +1 -1
  15. package/lib/module/core/icon/MODULE.md +14 -22
  16. package/lib/module/core/icon/icons/building-2.js +1 -1
  17. package/lib/module/core/icon/icons/trash.js +1 -1
  18. package/lib/module/core/list/VirtualList.js +16 -3
  19. package/lib/module/core/motion/MODULE.md +18 -9
  20. package/lib/module/core/motion/animatedComponents.js +8 -0
  21. package/lib/module/core/motion/index.js +2 -0
  22. package/lib/module/core/motion/motionAnimation.js +87 -0
  23. package/lib/module/core/motion/presets.js +81 -81
  24. package/lib/module/core/motion/reanimatedEasing.js +19 -0
  25. package/lib/module/core/motion/useAnimatedValue.js +2 -14
  26. package/lib/module/core/motion/useMotion.js +19 -20
  27. package/lib/module/core/motion/usePressState.js +0 -5
  28. package/lib/module/core/overlay/MODULE.md +17 -0
  29. package/lib/module/core/overlay/ModalPortalContext.js +8 -0
  30. package/lib/module/core/overlay/index.js +5 -0
  31. package/lib/module/core/overlay/renderWebPortal.js +6 -0
  32. package/lib/module/core/overlay/renderWebPortal.web.js +8 -0
  33. package/lib/module/core/screen-scroll/ScreenScrollContext.js +9 -0
  34. package/lib/module/core/screen-scroll/index.js +4 -0
  35. package/lib/module/core/slot/MODULE.md +9 -0
  36. package/lib/module/core/slot/index.js +4 -0
  37. package/lib/module/core/slot/nodeSlot.js +21 -0
  38. package/lib/module/core/style/focusRing.js +37 -0
  39. package/lib/module/core/style/index.js +1 -1
  40. package/lib/module/index.js +23 -4
  41. package/lib/module/modules/accordion/Accordion.js +50 -108
  42. package/lib/module/modules/accordion/Accordion.variants.js +2 -4
  43. package/lib/module/modules/accordion/AccordionProps.js +4 -0
  44. package/lib/module/modules/accordion/MODULE.md +15 -24
  45. package/lib/module/modules/alert-dialog/AlertDialog.js +19 -2
  46. package/lib/module/modules/alert-dialog/AlertDialogProps.js +4 -0
  47. package/lib/module/modules/alert-dialog/MODULE.md +2 -1
  48. package/lib/module/modules/app-bar/AppBar.js +21 -18
  49. package/lib/module/modules/app-bar/AppBar.variants.js +5 -0
  50. package/lib/module/modules/app-bar/AppBarProps.js +4 -0
  51. package/lib/module/modules/app-bar/MODULE.md +1 -1
  52. package/lib/module/modules/app-switcher/AppSwitcher.js +30 -0
  53. package/lib/module/modules/app-switcher/AppSwitcherProps.js +4 -0
  54. package/lib/module/modules/app-switcher/MODULE.md +14 -0
  55. package/lib/module/modules/app-switcher/index.js +4 -0
  56. package/lib/module/modules/appearance-settings/AppearanceSettings.js +58 -0
  57. package/lib/module/modules/appearance-settings/AppearanceSettingsProps.js +4 -0
  58. package/lib/module/modules/appearance-settings/MODULE.md +9 -0
  59. package/lib/module/modules/appearance-settings/index.js +4 -0
  60. package/lib/module/modules/avatar/Avatar.variants.js +2 -0
  61. package/lib/module/modules/avatar/AvatarProps.js +4 -0
  62. package/lib/module/modules/avatar/MODULE.md +3 -3
  63. package/lib/module/modules/avatar-group/AvatarGroupProps.js +4 -0
  64. package/lib/module/modules/avatar-group/MODULE.md +2 -1
  65. package/lib/module/modules/backdrop/Backdrop.js +38 -0
  66. package/lib/module/modules/backdrop/BackdropProps.js +4 -0
  67. package/lib/module/modules/backdrop/MODULE.md +11 -0
  68. package/lib/module/modules/backdrop/index.js +4 -0
  69. package/lib/module/modules/badge/BadgeProps.js +4 -0
  70. package/lib/module/modules/badge/MODULE.md +6 -4
  71. package/lib/module/modules/banner/Banner.js +2 -2
  72. package/lib/module/modules/banner/Banner.variants.js +3 -1
  73. package/lib/module/modules/banner/BannerProps.js +4 -0
  74. package/lib/module/modules/banner/MODULE.md +20 -31
  75. package/lib/module/modules/bottom-nav/BottomNav.variants.js +2 -2
  76. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +18 -19
  77. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +8 -7
  78. package/lib/module/modules/bottom-nav/BottomNavProps.js +4 -0
  79. package/lib/module/modules/bottom-nav/BottomNavTab.js +15 -16
  80. package/lib/module/modules/bottom-nav/MODULE.md +13 -13
  81. package/lib/module/modules/bottom-sheet/BottomSheet.js +30 -7
  82. package/lib/module/modules/bottom-sheet/BottomSheetProps.js +4 -0
  83. package/lib/module/modules/bottom-sheet/MODULE.md +11 -1
  84. package/lib/module/modules/breadcrumbs/Breadcrumbs.js +54 -0
  85. package/lib/module/modules/breadcrumbs/Breadcrumbs.variants.js +28 -0
  86. package/lib/module/modules/breadcrumbs/BreadcrumbsProps.js +4 -0
  87. package/lib/module/modules/breadcrumbs/MODULE.md +13 -0
  88. package/lib/module/modules/breadcrumbs/index.js +4 -0
  89. package/lib/module/modules/button/Button.js +6 -4
  90. package/lib/module/modules/button/Button.variants.js +12 -16
  91. package/lib/module/modules/button/ButtonProps.js +4 -0
  92. package/lib/module/modules/button/MODULE.md +6 -11
  93. package/lib/module/modules/button-group/ButtonGroup.js +4 -3
  94. package/lib/module/modules/button-group/ButtonGroup.variants.js +2 -4
  95. package/lib/module/modules/button-group/ButtonGroupProps.js +4 -0
  96. package/lib/module/modules/button-group/MODULE.md +2 -2
  97. package/lib/module/modules/card/Card.js +30 -7
  98. package/lib/module/modules/card/CardProps.js +4 -0
  99. package/lib/module/modules/card/MODULE.md +4 -2
  100. package/lib/module/modules/charts/BarChart.js +6 -4
  101. package/lib/module/modules/charts/BarChartProps.js +4 -0
  102. package/lib/module/modules/charts/BarList.js +2 -1
  103. package/lib/module/modules/charts/BarListProps.js +4 -0
  104. package/lib/module/modules/charts/ChartLegendProps.js +4 -0
  105. package/lib/module/modules/charts/Charts.variants.js +3 -1
  106. package/lib/module/modules/charts/DonutChart.js +3 -2
  107. package/lib/module/modules/charts/DonutChartProps.js +4 -0
  108. package/lib/module/modules/charts/LineChart.js +3 -2
  109. package/lib/module/modules/charts/LineChartProps.js +4 -0
  110. package/lib/module/modules/charts/MODULE.md +14 -14
  111. package/lib/module/modules/charts/PieChart.js +6 -4
  112. package/lib/module/modules/charts/PieChartProps.js +4 -0
  113. package/lib/module/modules/charts/SparklineProps.js +4 -0
  114. package/lib/module/modules/checkbox/Checkbox.js +21 -27
  115. package/lib/module/modules/checkbox/Checkbox.variants.js +4 -2
  116. package/lib/module/modules/checkbox/CheckboxProps.js +4 -0
  117. package/lib/module/modules/checkbox/MODULE.md +12 -6
  118. package/lib/module/modules/chip/Chip.js +49 -32
  119. package/lib/module/modules/chip/Chip.variants.js +3 -2
  120. package/lib/module/modules/chip/ChipGroup.js +16 -5
  121. package/lib/module/modules/chip/ChipGroupProps.js +4 -0
  122. package/lib/module/modules/chip/ChipProps.js +4 -0
  123. package/lib/module/modules/chip/MODULE.md +5 -7
  124. package/lib/module/modules/combobox/Combobox.js +22 -25
  125. package/lib/module/modules/combobox/Combobox.variants.js +2 -3
  126. package/lib/module/modules/combobox/ComboboxProps.js +4 -0
  127. package/lib/module/modules/combobox/MODULE.md +6 -12
  128. package/lib/module/modules/composer/Composer.js +11 -9
  129. package/lib/module/modules/composer/ComposerProps.js +4 -0
  130. package/lib/module/modules/composer/MODULE.md +6 -6
  131. package/lib/module/modules/copy-button/CopyButton.js +14 -6
  132. package/lib/module/modules/copy-button/CopyButton.variants.js +3 -2
  133. package/lib/module/modules/copy-button/CopyButtonProps.js +4 -0
  134. package/lib/module/modules/copy-button/MODULE.md +10 -12
  135. package/lib/module/modules/data-table/DataTable.js +11 -7
  136. package/lib/module/modules/data-table/DataTable.variants.js +2 -2
  137. package/lib/module/modules/data-table/DataTableProps.js +4 -0
  138. package/lib/module/modules/data-table/MODULE.md +5 -10
  139. package/lib/module/modules/date-picker/Calendar.js +11 -8
  140. package/lib/module/modules/date-picker/CalendarProps.js +4 -0
  141. package/lib/module/modules/date-picker/DatePicker.variants.js +2 -1
  142. package/lib/module/modules/date-picker/DatePickerProps.js +4 -0
  143. package/lib/module/modules/date-picker/DateRangePickerProps.js +4 -0
  144. package/lib/module/modules/date-picker/MODULE.md +6 -9
  145. package/lib/module/modules/date-picker/PickerFieldProps.js +4 -0
  146. package/lib/module/modules/date-picker/PickerShell.js +21 -12
  147. package/lib/module/modules/date-picker/PickerShellProps.js +4 -0
  148. package/lib/module/modules/date-picker/TimePicker.js +3 -2
  149. package/lib/module/modules/date-picker/TimePickerProps.js +4 -0
  150. package/lib/module/modules/description-list/DescriptionList.js +90 -0
  151. package/lib/module/modules/description-list/DescriptionList.variants.js +63 -0
  152. package/lib/module/modules/description-list/DescriptionListProps.js +4 -0
  153. package/lib/module/modules/description-list/MODULE.md +15 -0
  154. package/lib/module/modules/description-list/index.js +4 -0
  155. package/lib/module/modules/divider/DividerProps.js +4 -0
  156. package/lib/module/modules/divider/MODULE.md +1 -8
  157. package/lib/module/modules/document-viewer/DocumentViewer.js +35 -0
  158. package/lib/module/modules/document-viewer/DocumentViewerProps.js +4 -0
  159. package/lib/module/modules/document-viewer/MODULE.md +12 -0
  160. package/lib/module/modules/document-viewer/index.js +4 -0
  161. package/lib/module/modules/drawer/Drawer.js +45 -40
  162. package/lib/module/modules/drawer/DrawerProps.js +4 -0
  163. package/lib/module/modules/drawer/MODULE.md +14 -24
  164. package/lib/module/modules/empty-state/EmptyState.js +2 -1
  165. package/lib/module/modules/empty-state/EmptyStateProps.js +4 -0
  166. package/lib/module/modules/empty-state/MODULE.md +4 -9
  167. package/lib/module/modules/fab/Fab.js +9 -11
  168. package/lib/module/modules/fab/Fab.variants.js +10 -4
  169. package/lib/module/modules/fab/FabGroup.js +40 -43
  170. package/lib/module/modules/fab/FabGroupProps.js +4 -0
  171. package/lib/module/modules/fab/FabProps.js +4 -0
  172. package/lib/module/modules/fab/MODULE.md +10 -17
  173. package/lib/module/modules/field-select-modal/FieldSelectModal.js +52 -0
  174. package/lib/module/modules/field-select-modal/FieldSelectModalProps.js +4 -0
  175. package/lib/module/modules/field-select-modal/MODULE.md +13 -0
  176. package/lib/module/modules/field-select-modal/index.js +4 -0
  177. package/lib/module/modules/file-grid/FileGrid.js +3 -2
  178. package/lib/module/modules/file-grid/FileGridProps.js +4 -0
  179. package/lib/module/modules/file-grid/MODULE.md +27 -4
  180. package/lib/module/modules/file-upload/FileUpload.js +56 -15
  181. package/lib/module/modules/file-upload/FileUploadProps.js +4 -0
  182. package/lib/module/modules/file-upload/MODULE.md +10 -14
  183. package/lib/module/modules/filter-bar/FilterBar.js +68 -0
  184. package/lib/module/modules/filter-bar/FilterBarProps.js +4 -0
  185. package/lib/module/modules/filter-bar/MODULE.md +16 -0
  186. package/lib/module/modules/filter-bar/index.js +4 -0
  187. package/lib/module/modules/filter-sheet/FilterChip.js +3 -2
  188. package/lib/module/modules/filter-sheet/FilterChipProps.js +4 -0
  189. package/lib/module/modules/filter-sheet/FilterSheet.js +19 -14
  190. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +2 -3
  191. package/lib/module/modules/filter-sheet/FilterSheetBody.js +26 -16
  192. package/lib/module/modules/filter-sheet/FilterSheetProps.js +2 -0
  193. package/lib/module/modules/filter-sheet/MODULE.md +5 -14
  194. package/lib/module/modules/folder-row/FolderRow.js +6 -4
  195. package/lib/module/modules/folder-row/FolderRowProps.js +4 -0
  196. package/lib/module/modules/folder-row/MODULE.md +6 -5
  197. package/lib/module/modules/form-field/FormField.js +9 -4
  198. package/lib/module/modules/form-field/FormFieldProps.js +4 -0
  199. package/lib/module/modules/form-field/MODULE.md +2 -7
  200. package/lib/module/modules/gantt/Gantt.js +23 -6
  201. package/lib/module/modules/gantt/Gantt.variants.js +12 -4
  202. package/lib/module/modules/gantt/GanttProps.js +4 -0
  203. package/lib/module/modules/gantt/MODULE.md +3 -3
  204. package/lib/module/modules/image-viewer/ImageViewer.js +3 -2
  205. package/lib/module/modules/image-viewer/ImageViewerProps.js +4 -0
  206. package/lib/module/modules/image-viewer/MODULE.md +1 -1
  207. package/lib/module/modules/input/Input.js +55 -20
  208. package/lib/module/modules/input/Input.variants.js +2 -3
  209. package/lib/module/modules/input/InputProps.js +4 -0
  210. package/lib/module/modules/input/MODULE.md +9 -16
  211. package/lib/module/modules/key-value/KeyValue.js +36 -0
  212. package/lib/module/modules/key-value/KeyValueProps.js +4 -0
  213. package/lib/module/modules/key-value/MODULE.md +16 -0
  214. package/lib/module/modules/key-value/index.js +4 -0
  215. package/lib/module/modules/limit-reached-modal/LimitReachedModalProps.js +4 -0
  216. package/lib/module/modules/limit-reached-modal/MODULE.md +1 -6
  217. package/lib/module/modules/list-item/ListItem.js +17 -6
  218. package/lib/module/modules/list-item/ListItemProps.js +4 -0
  219. package/lib/module/modules/list-item/MODULE.md +14 -9
  220. package/lib/module/modules/list-screen/ListScreen.js +63 -0
  221. package/lib/module/modules/list-screen/ListScreenProps.js +4 -0
  222. package/lib/module/modules/list-screen/MODULE.md +12 -0
  223. package/lib/module/modules/list-screen/index.js +4 -0
  224. package/lib/module/modules/markdown/MODULE.md +0 -6
  225. package/lib/module/modules/markdown/MarkdownProps.js +4 -0
  226. package/lib/module/modules/menu/MODULE.md +10 -17
  227. package/lib/module/modules/menu/Menu.js +66 -52
  228. package/lib/module/modules/menu/Menu.variants.js +2 -2
  229. package/lib/module/modules/menu/MenuProps.js +4 -0
  230. package/lib/module/modules/message-bubble/MODULE.md +5 -4
  231. package/lib/module/modules/message-bubble/MessageBubbleProps.js +4 -0
  232. package/lib/module/modules/modal/MODULE.md +56 -93
  233. package/lib/module/modules/modal/Modal.js +99 -30
  234. package/lib/module/modules/modal/ModalPortalContext.js +1 -22
  235. package/lib/module/modules/modal/ModalPortalProvider.js +1 -1
  236. package/lib/module/modules/modal/ModalPortalProviderProps.js +4 -0
  237. package/lib/module/modules/modal/ModalProps.js +4 -0
  238. package/lib/module/modules/modal/renderWebPortal.js +1 -15
  239. package/lib/module/modules/modal/renderWebPortal.web.js +1 -21
  240. package/lib/module/modules/more-items/MODULE.md +0 -2
  241. package/lib/module/modules/more-items/MoreItems.js +10 -7
  242. package/lib/module/modules/more-items/MoreItems.variants.js +2 -1
  243. package/lib/module/modules/more-items/MoreItemsProps.js +4 -0
  244. package/lib/module/modules/multi-select/MODULE.md +5 -11
  245. package/lib/module/modules/multi-select/MultiSelect.js +38 -23
  246. package/lib/module/modules/multi-select/MultiSelect.variants.js +4 -2
  247. package/lib/module/modules/multi-select/MultiSelectProps.js +4 -0
  248. package/lib/module/modules/notification-bell/MODULE.md +8 -0
  249. package/lib/module/modules/notification-bell/NotificationBell.js +43 -0
  250. package/lib/module/modules/notification-bell/NotificationBellProps.js +4 -0
  251. package/lib/module/modules/notification-bell/index.js +4 -0
  252. package/lib/module/modules/number-input/MODULE.md +8 -13
  253. package/lib/module/modules/number-input/NumberInput.js +8 -6
  254. package/lib/module/modules/number-input/NumberInput.variants.js +2 -4
  255. package/lib/module/modules/number-input/NumberInputProps.js +4 -0
  256. package/lib/module/modules/org-switcher/MODULE.md +5 -12
  257. package/lib/module/modules/org-switcher/OrgSwitcher.js +21 -19
  258. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +4 -2
  259. package/lib/module/modules/org-switcher/OrgSwitcherProps.js +4 -0
  260. package/lib/module/modules/pagination/MODULE.md +2 -5
  261. package/lib/module/modules/pagination/Pagination.js +25 -15
  262. package/lib/module/modules/pagination/Pagination.variants.js +2 -2
  263. package/lib/module/modules/pagination/PaginationControls.js +7 -5
  264. package/lib/module/modules/pagination/PaginationProps.js +4 -0
  265. package/lib/module/modules/person-chip/MODULE.md +11 -0
  266. package/lib/module/modules/person-chip/PersonChip.js +65 -0
  267. package/lib/module/modules/person-chip/PersonChipProps.js +4 -0
  268. package/lib/module/modules/person-chip/index.js +4 -0
  269. package/lib/module/modules/pin-input/MODULE.md +9 -20
  270. package/lib/module/modules/pin-input/PinInput.js +2 -2
  271. package/lib/module/modules/pin-input/PinInput.variants.js +2 -3
  272. package/lib/module/modules/pin-input/PinInputProps.js +4 -0
  273. package/lib/module/modules/plan-badge/MODULE.md +4 -0
  274. package/lib/module/modules/plan-badge/PlanBadge.js +25 -0
  275. package/lib/module/modules/plan-badge/PlanBadgeProps.js +4 -0
  276. package/lib/module/modules/plan-badge/index.js +4 -0
  277. package/lib/module/modules/plan-pill/MODULE.md +4 -0
  278. package/lib/module/modules/plan-pill/PlanPill.js +24 -0
  279. package/lib/module/modules/plan-pill/PlanPillProps.js +4 -0
  280. package/lib/module/modules/plan-pill/index.js +4 -0
  281. package/lib/module/modules/progress-bar/MODULE.md +12 -14
  282. package/lib/module/modules/progress-bar/ProgressBar.js +28 -36
  283. package/lib/module/modules/progress-bar/ProgressBarProps.js +4 -0
  284. package/lib/module/modules/radio-group/MODULE.md +6 -12
  285. package/lib/module/modules/radio-group/RadioGroup.js +7 -6
  286. package/lib/module/modules/radio-group/RadioGroup.variants.js +2 -3
  287. package/lib/module/modules/radio-group/RadioGroupProps.js +4 -0
  288. package/lib/module/modules/reorder/MODULE.md +7 -11
  289. package/lib/module/modules/reorder/Reorder.js +8 -3
  290. package/lib/module/modules/reorder/Reorder.variants.js +3 -4
  291. package/lib/module/modules/reorder/ReorderProps.js +4 -0
  292. package/lib/module/modules/rich-text/MODULE.md +4 -4
  293. package/lib/module/modules/rich-text/RichTextProps.js +4 -0
  294. package/lib/module/modules/rich-text-editor/MODULE.md +6 -16
  295. package/lib/module/modules/rich-text-editor/RichTextEditor.js +5 -4
  296. package/lib/module/modules/rich-text-editor/RichTextEditorProps.js +4 -0
  297. package/lib/module/modules/save-bar/MODULE.md +3 -0
  298. package/lib/module/modules/save-bar/SaveBar.js +49 -0
  299. package/lib/module/modules/save-bar/SaveBarProps.js +4 -0
  300. package/lib/module/modules/save-bar/index.js +4 -0
  301. package/lib/module/modules/screen/MODULE.md +7 -5
  302. package/lib/module/modules/screen/Screen.js +65 -22
  303. package/lib/module/modules/screen/ScreenProps.js +4 -0
  304. package/lib/module/modules/search-bar/MODULE.md +8 -8
  305. package/lib/module/modules/search-bar/SearchBar.js +8 -6
  306. package/lib/module/modules/search-bar/SearchBar.variants.js +2 -4
  307. package/lib/module/modules/search-bar/SearchBarProps.js +4 -0
  308. package/lib/module/modules/section/MODULE.md +1 -1
  309. package/lib/module/modules/section/Section.js +6 -1
  310. package/lib/module/modules/section/SectionProps.js +4 -0
  311. package/lib/module/modules/section-list/MODULE.md +21 -1
  312. package/lib/module/modules/section-list/SectionListProps.js +4 -0
  313. package/lib/module/modules/segmented-control/MODULE.md +30 -28
  314. package/lib/module/modules/segmented-control/SegmentedControl.js +20 -30
  315. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +9 -42
  316. package/lib/module/modules/segmented-control/SegmentedControlProps.js +4 -0
  317. package/lib/module/modules/select/MODULE.md +8 -5
  318. package/lib/module/modules/select/Select.js +38 -25
  319. package/lib/module/modules/select/Select.variants.js +4 -5
  320. package/lib/module/modules/select/SelectProps.js +4 -0
  321. package/lib/module/modules/setting-row/MODULE.md +8 -0
  322. package/lib/module/modules/setting-row/SettingRow.js +50 -0
  323. package/lib/module/modules/setting-row/SettingRowProps.js +4 -0
  324. package/lib/module/modules/setting-row/index.js +4 -0
  325. package/lib/module/modules/settings-section/MODULE.md +7 -0
  326. package/lib/module/modules/settings-section/SettingsSection.js +37 -0
  327. package/lib/module/modules/settings-section/SettingsSectionProps.js +4 -0
  328. package/lib/module/modules/settings-section/index.js +4 -0
  329. package/lib/module/modules/skeleton/MODULE.md +2 -1
  330. package/lib/module/modules/skeleton/Skeleton.js +14 -8
  331. package/lib/module/modules/skeleton/Skeleton.variants.js +4 -9
  332. package/lib/module/modules/skeleton/SkeletonProps.js +4 -0
  333. package/lib/module/modules/slider/MODULE.md +2 -1
  334. package/lib/module/modules/slider/Slider.js +6 -6
  335. package/lib/module/modules/slider/Slider.variants.js +4 -2
  336. package/lib/module/modules/slider/SliderProps.js +4 -0
  337. package/lib/module/modules/spinner/MODULE.md +3 -2
  338. package/lib/module/modules/spinner/SpinnerProps.js +4 -0
  339. package/lib/module/modules/stage-progress/MODULE.md +20 -6
  340. package/lib/module/modules/stage-progress/StageProgress.js +45 -15
  341. package/lib/module/modules/stage-progress/StageProgress.variants.js +40 -8
  342. package/lib/module/modules/stage-progress/StageProgressProps.js +4 -0
  343. package/lib/module/modules/stat-grid/MODULE.md +11 -0
  344. package/lib/module/modules/stat-grid/StatGrid.js +34 -0
  345. package/lib/module/modules/stat-grid/StatGridProps.js +4 -0
  346. package/lib/module/modules/stat-grid/index.js +4 -0
  347. package/lib/module/modules/stat-tile/MODULE.md +12 -1
  348. package/lib/module/modules/stat-tile/StatTile.js +40 -15
  349. package/lib/module/modules/stat-tile/StatTile.variants.js +5 -0
  350. package/lib/module/modules/stat-tile/StatTileProps.js +4 -0
  351. package/lib/module/modules/state-block/MODULE.md +9 -3
  352. package/lib/module/modules/state-block/StateBlock.js +46 -38
  353. package/lib/module/modules/state-block/StateBlockProps.js +4 -0
  354. package/lib/module/modules/stepper/MODULE.md +2 -0
  355. package/lib/module/modules/stepper/Stepper.js +22 -21
  356. package/lib/module/modules/stepper/Stepper.variants.js +2 -0
  357. package/lib/module/modules/stepper/StepperProps.js +4 -0
  358. package/lib/module/modules/surface/MODULE.md +6 -8
  359. package/lib/module/modules/surface/Surface.js +6 -1
  360. package/lib/module/modules/surface/SurfaceProps.js +4 -0
  361. package/lib/module/modules/swipeable-row/MODULE.md +3 -2
  362. package/lib/module/modules/swipeable-row/SwipeableRow.js +31 -8
  363. package/lib/module/modules/swipeable-row/SwipeableRowProps.js +4 -0
  364. package/lib/module/modules/switch/MODULE.md +6 -3
  365. package/lib/module/modules/switch/Switch.js +42 -8
  366. package/lib/module/modules/switch/Switch.variants.js +2 -3
  367. package/lib/module/modules/switch/SwitchProps.js +4 -0
  368. package/lib/module/modules/tabs/MODULE.md +10 -14
  369. package/lib/module/modules/tabs/Tabs.js +84 -39
  370. package/lib/module/modules/tabs/Tabs.variants.js +2 -4
  371. package/lib/module/modules/tabs/TabsProps.js +4 -0
  372. package/lib/module/modules/text/MODULE.md +25 -17
  373. package/lib/module/modules/text/Text.variants.js +9 -1
  374. package/lib/module/modules/text/TextProps.js +4 -0
  375. package/lib/module/modules/textarea/MODULE.md +12 -18
  376. package/lib/module/modules/textarea/Textarea.js +12 -10
  377. package/lib/module/modules/textarea/Textarea.variants.js +4 -1
  378. package/lib/module/modules/textarea/TextareaProps.js +4 -0
  379. package/lib/module/modules/timeline/MODULE.md +8 -17
  380. package/lib/module/modules/timeline/Timeline.js +79 -22
  381. package/lib/module/modules/timeline/Timeline.variants.js +2 -0
  382. package/lib/module/modules/timeline/TimelineProps.js +4 -0
  383. package/lib/module/modules/toast/MODULE.md +13 -20
  384. package/lib/module/modules/toast/Toast.js +53 -51
  385. package/lib/module/modules/toast/Toast.variants.js +2 -5
  386. package/lib/module/modules/tooltip/MODULE.md +9 -13
  387. package/lib/module/modules/tooltip/Tooltip.js +36 -7
  388. package/lib/module/modules/tooltip/TooltipProps.js +4 -0
  389. package/lib/module/modules/typing-indicator/MODULE.md +1 -1
  390. package/lib/module/modules/typing-indicator/TypingIndicator.js +78 -51
  391. package/lib/module/modules/typing-indicator/TypingIndicatorProps.js +4 -0
  392. package/lib/module/modules/upgrade-button/MODULE.md +3 -0
  393. package/lib/module/modules/upgrade-button/UpgradeButton.js +23 -0
  394. package/lib/module/modules/upgrade-button/UpgradeButtonProps.js +4 -0
  395. package/lib/module/modules/upgrade-button/index.js +4 -0
  396. package/lib/module/theme/MODULE.md +2 -0
  397. package/lib/module/theme/platform/MODULE.md +2 -6
  398. package/lib/module/theme/platform/elevation.native.js +1 -7
  399. package/lib/module/theme/provider/PixelizeProvider.js +6 -0
  400. package/lib/module/theme/tokens/MODULE.md +4 -0
  401. package/lib/module/theme/tokens/THEME-CONTRACT.md +53 -3
  402. package/lib/module/theme/tokens/brands/emerald/palette.light.js +5 -3
  403. package/lib/module/theme/tokens/brands/lavender/palette.light.js +4 -4
  404. package/lib/module/theme/tokens/brands/meadow/palette.light.js +2 -2
  405. package/lib/module/theme/tokens/brands/radiant/palette.light.js +3 -3
  406. package/lib/module/theme/tokens/brands/rosewood/palette.light.js +3 -3
  407. package/lib/module/theme/tokens/brands/skyline/palette.light.js +2 -2
  408. package/lib/module/theme/tokens/brands/slate/palette.light.js +3 -3
  409. package/lib/module/theme/tokens/builders/accentText.js +10 -1
  410. package/lib/module/theme/tokens/builders/buildBrandScale.js +42 -0
  411. package/lib/module/theme/tokens/builders/gradientInk.js +23 -0
  412. package/lib/module/theme/tokens/builders/paletteFromAccent.js +30 -0
  413. package/lib/module/theme/tokens/builders/skeletonShimmer.js +22 -0
  414. package/lib/module/theme/tokens/index.js +3 -0
  415. package/lib/module/theme/tokens/primitives/controlSizes.js +16 -0
  416. package/lib/module/theme/tokens/primitives/index.js +1 -0
  417. package/lib/module/theme/tokens/roles/index.js +2 -0
  418. package/lib/typescript/core/a11y/touchTarget.d.ts +4 -0
  419. package/lib/typescript/core/blur/blur.d.ts +14 -0
  420. package/lib/typescript/core/blur/index.d.ts +3 -0
  421. package/lib/typescript/core/gradient/ShimmerGradientFill.d.ts +8 -0
  422. package/lib/typescript/core/gradient/index.d.ts +1 -0
  423. package/lib/typescript/core/list/VirtualList.d.ts +6 -1
  424. package/lib/typescript/core/motion/animatedComponents.d.ts +4 -0
  425. package/lib/typescript/core/motion/index.d.ts +2 -0
  426. package/lib/typescript/core/motion/motionAnimation.d.ts +12 -0
  427. package/lib/typescript/core/motion/presets.d.ts +5 -36
  428. package/lib/typescript/core/motion/reanimatedEasing.d.ts +4 -0
  429. package/lib/typescript/core/motion/useAnimatedValue.d.ts +2 -10
  430. package/lib/typescript/core/motion/useMotion.d.ts +4 -13
  431. package/lib/typescript/core/motion/usePressState.d.ts +0 -1
  432. package/lib/typescript/core/overlay/ModalPortalContext.d.ts +2 -0
  433. package/lib/typescript/core/overlay/index.d.ts +3 -0
  434. package/lib/typescript/core/overlay/renderWebPortal.d.ts +3 -0
  435. package/lib/typescript/core/overlay/renderWebPortal.web.d.ts +3 -0
  436. package/lib/typescript/core/screen-scroll/ScreenScrollContext.d.ts +8 -0
  437. package/lib/typescript/core/screen-scroll/index.d.ts +3 -0
  438. package/lib/typescript/core/slot/index.d.ts +2 -0
  439. package/lib/typescript/core/slot/nodeSlot.d.ts +5 -0
  440. package/lib/typescript/core/style/focusRing.d.ts +10 -0
  441. package/lib/typescript/core/style/index.d.ts +1 -1
  442. package/lib/typescript/index.d.ts +49 -11
  443. package/lib/typescript/modules/accordion/Accordion.d.ts +2 -37
  444. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +2 -3
  445. package/lib/typescript/modules/accordion/AccordionProps.d.ts +49 -0
  446. package/lib/typescript/modules/accordion/index.d.ts +1 -1
  447. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +2 -15
  448. package/lib/typescript/modules/alert-dialog/AlertDialogProps.d.ts +20 -0
  449. package/lib/typescript/modules/alert-dialog/index.d.ts +1 -1
  450. package/lib/typescript/modules/app-bar/AppBar.d.ts +1 -20
  451. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +4 -0
  452. package/lib/typescript/modules/app-bar/AppBarProps.d.ts +25 -0
  453. package/lib/typescript/modules/app-bar/index.d.ts +1 -1
  454. package/lib/typescript/modules/app-switcher/AppSwitcher.d.ts +3 -0
  455. package/lib/typescript/modules/app-switcher/AppSwitcherProps.d.ts +17 -0
  456. package/lib/typescript/modules/app-switcher/index.d.ts +3 -0
  457. package/lib/typescript/modules/appearance-settings/AppearanceSettings.d.ts +3 -0
  458. package/lib/typescript/modules/appearance-settings/AppearanceSettingsProps.d.ts +15 -0
  459. package/lib/typescript/modules/appearance-settings/index.d.ts +3 -0
  460. package/lib/typescript/modules/avatar/Avatar.d.ts +2 -33
  461. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +2 -0
  462. package/lib/typescript/modules/avatar/AvatarProps.d.ts +23 -0
  463. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  464. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +1 -18
  465. package/lib/typescript/modules/avatar-group/AvatarGroupProps.d.ts +27 -0
  466. package/lib/typescript/modules/avatar-group/index.d.ts +1 -1
  467. package/lib/typescript/modules/backdrop/Backdrop.d.ts +3 -0
  468. package/lib/typescript/modules/backdrop/BackdropProps.d.ts +11 -0
  469. package/lib/typescript/modules/backdrop/index.d.ts +3 -0
  470. package/lib/typescript/modules/badge/Badge.d.ts +2 -14
  471. package/lib/typescript/modules/badge/BadgeProps.d.ts +17 -0
  472. package/lib/typescript/modules/badge/index.d.ts +1 -1
  473. package/lib/typescript/modules/banner/Banner.d.ts +1 -22
  474. package/lib/typescript/modules/banner/Banner.variants.d.ts +2 -0
  475. package/lib/typescript/modules/banner/BannerProps.d.ts +29 -0
  476. package/lib/typescript/modules/banner/index.d.ts +2 -1
  477. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +1 -34
  478. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +2 -1
  479. package/lib/typescript/modules/bottom-nav/BottomNavProps.d.ts +29 -0
  480. package/lib/typescript/modules/bottom-nav/index.d.ts +2 -1
  481. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +1 -13
  482. package/lib/typescript/modules/bottom-sheet/BottomSheetProps.d.ts +17 -0
  483. package/lib/typescript/modules/bottom-sheet/index.d.ts +1 -1
  484. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.d.ts +3 -0
  485. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.variants.d.ts +6 -0
  486. package/lib/typescript/modules/breadcrumbs/BreadcrumbsProps.d.ts +18 -0
  487. package/lib/typescript/modules/breadcrumbs/index.d.ts +3 -0
  488. package/lib/typescript/modules/button/Button.d.ts +1 -35
  489. package/lib/typescript/modules/button/Button.variants.d.ts +11 -15
  490. package/lib/typescript/modules/button/ButtonProps.d.ts +47 -0
  491. package/lib/typescript/modules/button/index.d.ts +1 -1
  492. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +2 -17
  493. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +2 -3
  494. package/lib/typescript/modules/button-group/ButtonGroupProps.d.ts +21 -0
  495. package/lib/typescript/modules/button-group/index.d.ts +1 -1
  496. package/lib/typescript/modules/card/Card.d.ts +2 -15
  497. package/lib/typescript/modules/card/CardProps.d.ts +27 -0
  498. package/lib/typescript/modules/card/index.d.ts +1 -1
  499. package/lib/typescript/modules/charts/BarChart.d.ts +1 -24
  500. package/lib/typescript/modules/charts/BarChartProps.d.ts +36 -0
  501. package/lib/typescript/modules/charts/BarList.d.ts +1 -16
  502. package/lib/typescript/modules/charts/BarListProps.d.ts +22 -0
  503. package/lib/typescript/modules/charts/ChartLegend.d.ts +2 -14
  504. package/lib/typescript/modules/charts/ChartLegendProps.d.ts +19 -0
  505. package/lib/typescript/modules/charts/Charts.variants.d.ts +2 -0
  506. package/lib/typescript/modules/charts/DonutChart.d.ts +1 -19
  507. package/lib/typescript/modules/charts/DonutChartProps.d.ts +27 -0
  508. package/lib/typescript/modules/charts/LineChart.d.ts +1 -28
  509. package/lib/typescript/modules/charts/LineChartProps.d.ts +40 -0
  510. package/lib/typescript/modules/charts/PieChart.d.ts +1 -16
  511. package/lib/typescript/modules/charts/PieChartProps.d.ts +24 -0
  512. package/lib/typescript/modules/charts/Sparkline.d.ts +1 -11
  513. package/lib/typescript/modules/charts/SparklineProps.d.ts +17 -0
  514. package/lib/typescript/modules/charts/index.d.ts +6 -6
  515. package/lib/typescript/modules/checkbox/Checkbox.d.ts +1 -33
  516. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +2 -1
  517. package/lib/typescript/modules/checkbox/CheckboxProps.d.ts +27 -0
  518. package/lib/typescript/modules/checkbox/index.d.ts +1 -1
  519. package/lib/typescript/modules/chip/Chip.d.ts +1 -30
  520. package/lib/typescript/modules/chip/Chip.variants.d.ts +2 -1
  521. package/lib/typescript/modules/chip/ChipGroup.d.ts +1 -14
  522. package/lib/typescript/modules/chip/ChipGroupProps.d.ts +16 -0
  523. package/lib/typescript/modules/chip/ChipProps.d.ts +27 -0
  524. package/lib/typescript/modules/chip/index.d.ts +2 -2
  525. package/lib/typescript/modules/combobox/Combobox.d.ts +2 -45
  526. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +3 -1
  527. package/lib/typescript/modules/combobox/ComboboxProps.d.ts +40 -0
  528. package/lib/typescript/modules/combobox/index.d.ts +1 -1
  529. package/lib/typescript/modules/composer/Composer.d.ts +1 -18
  530. package/lib/typescript/modules/composer/ComposerProps.d.ts +20 -0
  531. package/lib/typescript/modules/composer/index.d.ts +1 -1
  532. package/lib/typescript/modules/copy-button/CopyButton.d.ts +1 -15
  533. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +2 -1
  534. package/lib/typescript/modules/copy-button/CopyButtonProps.d.ts +18 -0
  535. package/lib/typescript/modules/copy-button/index.d.ts +1 -1
  536. package/lib/typescript/modules/data-table/DataTable.d.ts +2 -31
  537. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +2 -1
  538. package/lib/typescript/modules/data-table/DataTableProps.d.ts +43 -0
  539. package/lib/typescript/modules/data-table/index.d.ts +1 -1
  540. package/lib/typescript/modules/date-picker/Calendar.d.ts +1 -23
  541. package/lib/typescript/modules/date-picker/CalendarProps.d.ts +31 -0
  542. package/lib/typescript/modules/date-picker/DatePicker.d.ts +1 -27
  543. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +2 -1
  544. package/lib/typescript/modules/date-picker/DatePickerProps.d.ts +33 -0
  545. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +1 -23
  546. package/lib/typescript/modules/date-picker/DateRangePickerProps.d.ts +27 -0
  547. package/lib/typescript/modules/date-picker/PickerField.d.ts +1 -17
  548. package/lib/typescript/modules/date-picker/PickerFieldProps.d.ts +19 -0
  549. package/lib/typescript/modules/date-picker/PickerShell.d.ts +1 -12
  550. package/lib/typescript/modules/date-picker/PickerShellProps.d.ts +16 -0
  551. package/lib/typescript/modules/date-picker/TimePicker.d.ts +1 -9
  552. package/lib/typescript/modules/date-picker/TimePickerProps.d.ts +14 -0
  553. package/lib/typescript/modules/date-picker/index.d.ts +4 -4
  554. package/lib/typescript/modules/description-list/DescriptionList.d.ts +8 -0
  555. package/lib/typescript/modules/description-list/DescriptionList.variants.d.ts +29 -0
  556. package/lib/typescript/modules/description-list/DescriptionListProps.d.ts +23 -0
  557. package/lib/typescript/modules/description-list/index.d.ts +4 -0
  558. package/lib/typescript/modules/divider/Divider.d.ts +1 -8
  559. package/lib/typescript/modules/divider/DividerProps.d.ts +11 -0
  560. package/lib/typescript/modules/divider/index.d.ts +1 -1
  561. package/lib/typescript/modules/document-viewer/DocumentViewer.d.ts +3 -0
  562. package/lib/typescript/modules/document-viewer/DocumentViewerProps.d.ts +13 -0
  563. package/lib/typescript/modules/document-viewer/index.d.ts +3 -0
  564. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -7
  565. package/lib/typescript/modules/drawer/DrawerProps.d.ts +9 -0
  566. package/lib/typescript/modules/drawer/index.d.ts +1 -1
  567. package/lib/typescript/modules/empty-state/EmptyState.d.ts +1 -17
  568. package/lib/typescript/modules/empty-state/EmptyStateProps.d.ts +24 -0
  569. package/lib/typescript/modules/empty-state/index.d.ts +1 -1
  570. package/lib/typescript/modules/fab/Fab.d.ts +1 -51
  571. package/lib/typescript/modules/fab/Fab.variants.d.ts +3 -2
  572. package/lib/typescript/modules/fab/FabGroup.d.ts +1 -34
  573. package/lib/typescript/modules/fab/FabGroupProps.d.ts +34 -0
  574. package/lib/typescript/modules/fab/FabProps.d.ts +50 -0
  575. package/lib/typescript/modules/fab/index.d.ts +2 -2
  576. package/lib/typescript/modules/field-select-modal/FieldSelectModal.d.ts +3 -0
  577. package/lib/typescript/modules/field-select-modal/FieldSelectModalProps.d.ts +20 -0
  578. package/lib/typescript/modules/field-select-modal/index.d.ts +3 -0
  579. package/lib/typescript/modules/file-grid/FileGrid.d.ts +1 -18
  580. package/lib/typescript/modules/file-grid/FileGridProps.d.ts +23 -0
  581. package/lib/typescript/modules/file-grid/index.d.ts +1 -1
  582. package/lib/typescript/modules/file-upload/FileUpload.d.ts +1 -27
  583. package/lib/typescript/modules/file-upload/FileUploadProps.d.ts +27 -0
  584. package/lib/typescript/modules/file-upload/index.d.ts +1 -1
  585. package/lib/typescript/modules/filter-bar/FilterBar.d.ts +3 -0
  586. package/lib/typescript/modules/filter-bar/FilterBarProps.d.ts +17 -0
  587. package/lib/typescript/modules/filter-bar/index.d.ts +3 -0
  588. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +1 -9
  589. package/lib/typescript/modules/filter-sheet/FilterChipProps.d.ts +11 -0
  590. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +1 -32
  591. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +2 -1
  592. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +1 -1
  593. package/lib/typescript/modules/filter-sheet/FilterSheetProps.d.ts +36 -0
  594. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +1 -1
  595. package/lib/typescript/modules/filter-sheet/index.d.ts +2 -2
  596. package/lib/typescript/modules/folder-row/FolderRow.d.ts +1 -11
  597. package/lib/typescript/modules/folder-row/FolderRowProps.d.ts +17 -0
  598. package/lib/typescript/modules/folder-row/index.d.ts +1 -1
  599. package/lib/typescript/modules/form-field/FormField.d.ts +2 -17
  600. package/lib/typescript/modules/form-field/FormFieldProps.d.ts +23 -0
  601. package/lib/typescript/modules/form-field/index.d.ts +1 -1
  602. package/lib/typescript/modules/gantt/Gantt.d.ts +2 -9
  603. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +8 -2
  604. package/lib/typescript/modules/gantt/GanttProps.d.ts +13 -0
  605. package/lib/typescript/modules/gantt/index.d.ts +1 -1
  606. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +2 -15
  607. package/lib/typescript/modules/image-viewer/ImageViewerProps.d.ts +16 -0
  608. package/lib/typescript/modules/image-viewer/index.d.ts +2 -1
  609. package/lib/typescript/modules/input/Input.d.ts +2 -30
  610. package/lib/typescript/modules/input/Input.variants.d.ts +2 -2
  611. package/lib/typescript/modules/input/InputProps.d.ts +43 -0
  612. package/lib/typescript/modules/input/index.d.ts +1 -1
  613. package/lib/typescript/modules/key-value/KeyValue.d.ts +3 -0
  614. package/lib/typescript/modules/key-value/KeyValueProps.d.ts +11 -0
  615. package/lib/typescript/modules/key-value/index.d.ts +3 -0
  616. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +1 -17
  617. package/lib/typescript/modules/limit-reached-modal/LimitReachedModalProps.d.ts +24 -0
  618. package/lib/typescript/modules/limit-reached-modal/index.d.ts +1 -1
  619. package/lib/typescript/modules/list-item/ListItem.d.ts +2 -12
  620. package/lib/typescript/modules/list-item/ListItemProps.d.ts +22 -0
  621. package/lib/typescript/modules/list-item/index.d.ts +1 -1
  622. package/lib/typescript/modules/list-screen/ListScreen.d.ts +5 -0
  623. package/lib/typescript/modules/list-screen/ListScreenProps.d.ts +17 -0
  624. package/lib/typescript/modules/list-screen/index.d.ts +3 -0
  625. package/lib/typescript/modules/markdown/Markdown.d.ts +1 -8
  626. package/lib/typescript/modules/markdown/MarkdownProps.d.ts +12 -0
  627. package/lib/typescript/modules/markdown/index.d.ts +1 -1
  628. package/lib/typescript/modules/menu/Menu.d.ts +2 -19
  629. package/lib/typescript/modules/menu/Menu.variants.d.ts +2 -1
  630. package/lib/typescript/modules/menu/MenuProps.d.ts +26 -0
  631. package/lib/typescript/modules/menu/index.d.ts +1 -1
  632. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +1 -9
  633. package/lib/typescript/modules/message-bubble/MessageBubbleProps.d.ts +12 -0
  634. package/lib/typescript/modules/message-bubble/index.d.ts +1 -1
  635. package/lib/typescript/modules/modal/Modal.d.ts +2 -10
  636. package/lib/typescript/modules/modal/ModalPortalContext.d.ts +1 -1
  637. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +2 -12
  638. package/lib/typescript/modules/modal/ModalPortalProviderProps.d.ts +8 -0
  639. package/lib/typescript/modules/modal/ModalProps.d.ts +22 -0
  640. package/lib/typescript/modules/modal/index.d.ts +2 -2
  641. package/lib/typescript/modules/modal/renderWebPortal.d.ts +1 -14
  642. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +1 -18
  643. package/lib/typescript/modules/more-items/MoreItems.d.ts +2 -10
  644. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +3 -1
  645. package/lib/typescript/modules/more-items/MoreItemsProps.d.ts +14 -0
  646. package/lib/typescript/modules/more-items/index.d.ts +1 -1
  647. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -19
  648. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +2 -1
  649. package/lib/typescript/modules/multi-select/MultiSelectProps.d.ts +29 -0
  650. package/lib/typescript/modules/multi-select/index.d.ts +1 -1
  651. package/lib/typescript/modules/notification-bell/NotificationBell.d.ts +3 -0
  652. package/lib/typescript/modules/notification-bell/NotificationBellProps.d.ts +10 -0
  653. package/lib/typescript/modules/notification-bell/index.d.ts +3 -0
  654. package/lib/typescript/modules/number-input/NumberInput.d.ts +1 -26
  655. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +2 -3
  656. package/lib/typescript/modules/number-input/NumberInputProps.d.ts +23 -0
  657. package/lib/typescript/modules/number-input/index.d.ts +1 -1
  658. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +1 -24
  659. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +2 -1
  660. package/lib/typescript/modules/org-switcher/OrgSwitcherProps.d.ts +29 -0
  661. package/lib/typescript/modules/org-switcher/index.d.ts +1 -1
  662. package/lib/typescript/modules/pagination/Pagination.d.ts +1 -26
  663. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +2 -1
  664. package/lib/typescript/modules/pagination/PaginationProps.d.ts +28 -0
  665. package/lib/typescript/modules/pagination/index.d.ts +1 -1
  666. package/lib/typescript/modules/person-chip/PersonChip.d.ts +3 -0
  667. package/lib/typescript/modules/person-chip/PersonChipProps.d.ts +17 -0
  668. package/lib/typescript/modules/person-chip/index.d.ts +3 -0
  669. package/lib/typescript/modules/pin-input/PinInput.d.ts +1 -32
  670. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +2 -2
  671. package/lib/typescript/modules/pin-input/PinInputProps.d.ts +26 -0
  672. package/lib/typescript/modules/pin-input/index.d.ts +1 -1
  673. package/lib/typescript/modules/plan-badge/PlanBadge.d.ts +3 -0
  674. package/lib/typescript/modules/plan-badge/PlanBadgeProps.d.ts +10 -0
  675. package/lib/typescript/modules/plan-badge/index.d.ts +3 -0
  676. package/lib/typescript/modules/plan-pill/PlanPill.d.ts +3 -0
  677. package/lib/typescript/modules/plan-pill/PlanPillProps.d.ts +10 -0
  678. package/lib/typescript/modules/plan-pill/index.d.ts +3 -0
  679. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +1 -13
  680. package/lib/typescript/modules/progress-bar/ProgressBarProps.d.ts +16 -0
  681. package/lib/typescript/modules/progress-bar/index.d.ts +1 -1
  682. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +2 -22
  683. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +2 -2
  684. package/lib/typescript/modules/radio-group/RadioGroupProps.d.ts +21 -0
  685. package/lib/typescript/modules/radio-group/index.d.ts +1 -1
  686. package/lib/typescript/modules/reorder/Reorder.d.ts +1 -13
  687. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +2 -2
  688. package/lib/typescript/modules/reorder/ReorderProps.d.ts +19 -0
  689. package/lib/typescript/modules/reorder/index.d.ts +1 -1
  690. package/lib/typescript/modules/rich-text/RichText.d.ts +2 -10
  691. package/lib/typescript/modules/rich-text/RichTextProps.d.ts +15 -0
  692. package/lib/typescript/modules/rich-text/index.d.ts +1 -1
  693. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +1 -45
  694. package/lib/typescript/modules/rich-text-editor/RichTextEditorProps.d.ts +40 -0
  695. package/lib/typescript/modules/rich-text-editor/index.d.ts +1 -1
  696. package/lib/typescript/modules/save-bar/SaveBar.d.ts +3 -0
  697. package/lib/typescript/modules/save-bar/SaveBarProps.d.ts +18 -0
  698. package/lib/typescript/modules/save-bar/index.d.ts +3 -0
  699. package/lib/typescript/modules/screen/Screen.d.ts +1 -24
  700. package/lib/typescript/modules/screen/ScreenProps.d.ts +35 -0
  701. package/lib/typescript/modules/screen/index.d.ts +1 -1
  702. package/lib/typescript/modules/search-bar/SearchBar.d.ts +2 -28
  703. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +2 -3
  704. package/lib/typescript/modules/search-bar/SearchBarProps.d.ts +30 -0
  705. package/lib/typescript/modules/search-bar/index.d.ts +1 -1
  706. package/lib/typescript/modules/section/Section.d.ts +1 -8
  707. package/lib/typescript/modules/section/SectionProps.d.ts +11 -0
  708. package/lib/typescript/modules/section/index.d.ts +1 -1
  709. package/lib/typescript/modules/section-list/SectionList.d.ts +1 -19
  710. package/lib/typescript/modules/section-list/SectionListProps.d.ts +24 -0
  711. package/lib/typescript/modules/section-list/index.d.ts +1 -1
  712. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +2 -41
  713. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +5 -44
  714. package/lib/typescript/modules/segmented-control/SegmentedControlProps.d.ts +29 -0
  715. package/lib/typescript/modules/segmented-control/index.d.ts +1 -1
  716. package/lib/typescript/modules/select/Select.d.ts +2 -13
  717. package/lib/typescript/modules/select/Select.variants.d.ts +2 -2
  718. package/lib/typescript/modules/select/SelectProps.d.ts +25 -0
  719. package/lib/typescript/modules/select/index.d.ts +2 -1
  720. package/lib/typescript/modules/setting-row/SettingRow.d.ts +3 -0
  721. package/lib/typescript/modules/setting-row/SettingRowProps.d.ts +14 -0
  722. package/lib/typescript/modules/setting-row/index.d.ts +3 -0
  723. package/lib/typescript/modules/settings-section/SettingsSection.d.ts +3 -0
  724. package/lib/typescript/modules/settings-section/SettingsSectionProps.d.ts +11 -0
  725. package/lib/typescript/modules/settings-section/index.d.ts +3 -0
  726. package/lib/typescript/modules/skeleton/Skeleton.d.ts +2 -12
  727. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +3 -5
  728. package/lib/typescript/modules/skeleton/SkeletonProps.d.ts +18 -0
  729. package/lib/typescript/modules/skeleton/index.d.ts +1 -1
  730. package/lib/typescript/modules/slider/Slider.d.ts +1 -24
  731. package/lib/typescript/modules/slider/Slider.variants.d.ts +2 -1
  732. package/lib/typescript/modules/slider/SliderProps.d.ts +27 -0
  733. package/lib/typescript/modules/slider/index.d.ts +1 -1
  734. package/lib/typescript/modules/spinner/Spinner.d.ts +1 -11
  735. package/lib/typescript/modules/spinner/SpinnerProps.d.ts +15 -0
  736. package/lib/typescript/modules/spinner/index.d.ts +1 -1
  737. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +1 -12
  738. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +16 -4
  739. package/lib/typescript/modules/stage-progress/StageProgressProps.d.ts +22 -0
  740. package/lib/typescript/modules/stage-progress/index.d.ts +1 -1
  741. package/lib/typescript/modules/stat-grid/StatGrid.d.ts +3 -0
  742. package/lib/typescript/modules/stat-grid/StatGridProps.d.ts +15 -0
  743. package/lib/typescript/modules/stat-grid/index.d.ts +3 -0
  744. package/lib/typescript/modules/stat-tile/StatTile.d.ts +1 -14
  745. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +3 -0
  746. package/lib/typescript/modules/stat-tile/StatTileProps.d.ts +25 -0
  747. package/lib/typescript/modules/stat-tile/index.d.ts +1 -1
  748. package/lib/typescript/modules/state-block/StateBlock.d.ts +1 -32
  749. package/lib/typescript/modules/state-block/StateBlockProps.d.ts +36 -0
  750. package/lib/typescript/modules/state-block/index.d.ts +1 -1
  751. package/lib/typescript/modules/stepper/Stepper.d.ts +3 -11
  752. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +2 -0
  753. package/lib/typescript/modules/stepper/StepperProps.d.ts +12 -0
  754. package/lib/typescript/modules/stepper/index.d.ts +2 -1
  755. package/lib/typescript/modules/surface/Surface.d.ts +1 -14
  756. package/lib/typescript/modules/surface/SurfaceProps.d.ts +17 -0
  757. package/lib/typescript/modules/surface/index.d.ts +1 -1
  758. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +1 -19
  759. package/lib/typescript/modules/swipeable-row/SwipeableRowProps.d.ts +22 -0
  760. package/lib/typescript/modules/swipeable-row/index.d.ts +1 -1
  761. package/lib/typescript/modules/switch/Switch.d.ts +1 -14
  762. package/lib/typescript/modules/switch/Switch.variants.d.ts +2 -2
  763. package/lib/typescript/modules/switch/SwitchProps.d.ts +20 -0
  764. package/lib/typescript/modules/switch/index.d.ts +1 -1
  765. package/lib/typescript/modules/tabs/Tabs.d.ts +1 -17
  766. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +2 -3
  767. package/lib/typescript/modules/tabs/TabsProps.d.ts +29 -0
  768. package/lib/typescript/modules/tabs/index.d.ts +1 -1
  769. package/lib/typescript/modules/text/Text.d.ts +1 -24
  770. package/lib/typescript/modules/text/TextProps.d.ts +35 -0
  771. package/lib/typescript/modules/text/index.d.ts +1 -1
  772. package/lib/typescript/modules/textarea/Textarea.d.ts +1 -19
  773. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +2 -1
  774. package/lib/typescript/modules/textarea/TextareaProps.d.ts +23 -0
  775. package/lib/typescript/modules/textarea/index.d.ts +1 -1
  776. package/lib/typescript/modules/timeline/Timeline.d.ts +1 -16
  777. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +2 -0
  778. package/lib/typescript/modules/timeline/TimelineProps.d.ts +37 -0
  779. package/lib/typescript/modules/timeline/index.d.ts +1 -1
  780. package/lib/typescript/modules/toast/Toast.variants.d.ts +2 -3
  781. package/lib/typescript/modules/tooltip/Tooltip.d.ts +1 -25
  782. package/lib/typescript/modules/tooltip/TooltipProps.d.ts +27 -0
  783. package/lib/typescript/modules/tooltip/index.d.ts +1 -1
  784. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +5 -14
  785. package/lib/typescript/modules/typing-indicator/TypingIndicatorProps.d.ts +11 -0
  786. package/lib/typescript/modules/typing-indicator/index.d.ts +1 -1
  787. package/lib/typescript/modules/upgrade-button/UpgradeButton.d.ts +3 -0
  788. package/lib/typescript/modules/upgrade-button/UpgradeButtonProps.d.ts +11 -0
  789. package/lib/typescript/modules/upgrade-button/index.d.ts +3 -0
  790. package/lib/typescript/test/motionJest.d.ts +12 -0
  791. package/lib/typescript/theme/platform/elevation.native.d.ts +1 -1
  792. package/lib/typescript/theme/tokens/builders/accentText.d.ts +3 -0
  793. package/lib/typescript/theme/tokens/builders/buildBrandScale.d.ts +4 -0
  794. package/lib/typescript/theme/tokens/builders/gradientInk.d.ts +9 -0
  795. package/lib/typescript/theme/tokens/builders/paletteFromAccent.d.ts +3 -0
  796. package/lib/typescript/theme/tokens/builders/skeletonShimmer.d.ts +9 -0
  797. package/lib/typescript/theme/tokens/index.d.ts +3 -0
  798. package/lib/typescript/theme/tokens/primitives/controlSizes.d.ts +6 -0
  799. package/lib/typescript/theme/tokens/primitives/index.d.ts +2 -0
  800. package/lib/typescript/theme/tokens/roles/index.d.ts +2 -0
  801. package/lib/typescript/theme/tokens/types.d.ts +2 -2
  802. package/package.json +106 -5
  803. package/registry.json +109 -14
  804. package/lib/module/core/style/useThemedStyles.js +0 -8
  805. package/lib/module/test/mocks/flashList.js +0 -5
  806. package/lib/module/test/perfHelpers.js +0 -18
  807. package/lib/typescript/core/style/useThemedStyles.d.ts +0 -5
  808. package/lib/typescript/test/mocks/flashList.d.ts +0 -3
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback, useMemo } from "react";
4
+ import { VirtualList } from "../../core/list/VirtualList.js";
5
+ import { Divider } from "../divider/index.js";
6
+ import { Screen } from "../screen/index.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ function ListScreenInner({
9
+ data,
10
+ renderItem,
11
+ keyExtractor,
12
+ itemHeight,
13
+ refreshing,
14
+ onRefresh,
15
+ onEndReached,
16
+ ListFooterComponent,
17
+ ListEmptyComponent,
18
+ appBar,
19
+ edges,
20
+ padded,
21
+ keyboardAvoiding,
22
+ state,
23
+ loading,
24
+ empty,
25
+ error,
26
+ style,
27
+ testID
28
+ }) {
29
+ const handleEndReached = useCallback(() => {
30
+ onEndReached?.();
31
+ }, [onEndReached]);
32
+ const separator = useMemo(() => () => /*#__PURE__*/_jsx(Divider, {}), []);
33
+ const listTestId = testID ? `${testID}-list` : undefined;
34
+ const list = /*#__PURE__*/_jsx(VirtualList, {
35
+ data: data,
36
+ renderItem: renderItem,
37
+ keyExtractor: keyExtractor,
38
+ itemHeight: itemHeight,
39
+ refreshing: refreshing,
40
+ onRefresh: onRefresh,
41
+ onEndReached: handleEndReached,
42
+ onEndReachedThreshold: 0.3,
43
+ ItemSeparatorComponent: separator,
44
+ ListFooterComponent: ListFooterComponent,
45
+ ListEmptyComponent: ListEmptyComponent,
46
+ testID: listTestId
47
+ });
48
+ return /*#__PURE__*/_jsx(Screen, {
49
+ appBar: appBar,
50
+ edges: edges,
51
+ padded: padded,
52
+ keyboardAvoiding: keyboardAvoiding,
53
+ state: state,
54
+ loading: loading,
55
+ empty: empty,
56
+ error: error,
57
+ style: style,
58
+ testID: testID,
59
+ children: list
60
+ });
61
+ }
62
+ export const ListScreen = /*#__PURE__*/memo(ListScreenInner);
63
+ //# sourceMappingURL=ListScreen.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ListScreenProps.js.map
@@ -0,0 +1,12 @@
1
+ # list-screen/ — a Screen and VirtualList with pull-to-refresh and paging
2
+
3
+ `Screen` + `VirtualList` with pull-to-refresh, `Divider` separators, and `onEndReached` (threshold
4
+ `0.3`) — list refresh stays on the list, not `Screen`'s `ScrollView` wrapper.
5
+
6
+ ## Props
7
+
8
+ Generic over the row type. Own props: `data`, `renderItem`, `keyExtractor` (all required),
9
+ `itemHeight`, `refreshing`, `onRefresh`, `onEndReached`, `ListFooterComponent`,
10
+ `ListEmptyComponent`. The rest are picked straight off `ScreenProps` and forwarded unchanged:
11
+ `appBar`, `edges`, `padded`, `keyboardAvoiding`, `state`, `loading`, `empty`, `error`, `style`,
12
+ `testID`. `testID` seeds `${testID}-list` on the `VirtualList`.
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { ListScreen } from "./ListScreen.js";
4
+ //# sourceMappingURL=index.js.map
@@ -70,9 +70,3 @@ The parse is `useMemo`'d on `content`; the **render tree** is the other half of
70
70
  before. Above it, a `Button` ("Show full document" / "+N more items") mounts the real, full tree
71
71
  on press — never a re-introduction of windowing, so the rotor contract holds once expanded.
72
72
  - Links render through a memo'd `MarkdownLink` so no per-link closure is rebuilt each render.
73
-
74
- ## Modernization (v1.0.7)
75
-
76
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
77
-
78
- - **Round 2 visual** — radii retarget (`radii.md`/`lg`/`xl`/`full`), `borderCurve: continuous` on md+ corners; floating surfaces wire platform elevation/highlight where applicable.
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=MarkdownProps.js.map
@@ -16,12 +16,13 @@ own, not a dependency on the `Modal` component.
16
16
 
17
17
  | File | Role |
18
18
  |------|------|
19
- | `Menu.tsx` | The component. `cloneElement` trigger composition, `Modal` + backdrop + row list, open/close state. Rows are a plain `.map()` inside a `ScrollView` (built only while `open`) action menus are short lists, so `FlatList`'s VirtualizedList setup on every open was measurable open-time cost with no windowing benefit at current call sites; `ScrollView` keeps the sheet's `maxHeight: 320` scrollable for a list that doesn't fit, without that per-open setup cost. |
19
+ | `Menu.tsx` | The component. `cloneElement` trigger composition, `Modal` + backdrop + row list, open/close state. Under `VIRTUALIZE_THRESHOLD` (15) items the rows are a plain `.map()` inside a `ScrollView`; at or above it they render through `core/list`'s `VirtualList`. |
20
20
  | `Menu.variants.ts` | Pure resolvers (`resolveMenuItemColor`, `resolveMenuRowPressedBackground`) + the themed structural resolvers (`menuOverlayStructure`, `menuSheetStructure`, `menuRowStructure`). No React, no lucide. |
21
21
  | `index.ts` | Public surface: `Menu`, `MenuProps`, `MenuItem`, `MenuTriggerProps`, `MenuItemTone`, `IconName` (re-exported from `core/icon`). |
22
22
  | `__tests__/Menu.test.ts` | Pure: WCAG contrast (all brands × modes) + touch target + the tone→role mapping. |
23
23
  | `__tests__/Menu.render.test.tsx` | Render: open/close, trigger `onPress` chaining, disabled gating, item selection, backdrop dismiss, the sheet's menu/modal semantics on BOTH paths, and the web-portal opt-in branch (mocking `renderWebPortal`). |
24
24
  | `__tests__/Menu.keyboard.test.tsx` | Web keyboard: roving tabindex, arrows/Home/End/typeahead, Space activation, Escape. Routes the mocked helpers into the real `keyboard.web` implementation. |
25
+ | `__tests__/Menu.perf.test.tsx` | Open-time cost of the `ScrollView` branch against a `VirtualizedList` one. |
25
26
  | `__tests__/Menu.motion.test.tsx` | Reduce motion (WCAG 2.3.3), both halves: motion off → the sheet opens already at rest with no `Animated.timing` and `animationType="none"`; motion on → it really tweens from the entrance transform (forcing Animated's JS driver, since a native-driven value never advances under Jest). |
26
27
 
27
28
  ## Props
@@ -50,7 +51,7 @@ row size, since an action list's row height isn't a caller-facing choice.
50
51
  and without this the whole page behind the menu stayed in the accessibility tree and reachable by
51
52
  swipe on web.
52
53
  - **1.4.3** — every row's label is measured ≥ 4.5:1 against the sheet fill (`bg.surface`), for both
53
- `default` (`fg.default`) and `danger` (`status.danger.text`) tones, across all 8 brands × both
54
+ `default` (`fg.default`) and `danger` (`status.danger.text`) tones, across all 9 brands × both
54
55
  modes.
55
56
  - **1.4.11** — the row icon reuses the label's exact colour (never a separate lookup): since the
56
57
  label already clears the stricter 4.5:1 text minimum, the icon clears its looser 3:1 non-text
@@ -126,20 +127,12 @@ supplied per row by `useSpaceActivation` (RNW's `isValidKeyPress` needs a `butto
126
127
 
127
128
  ## Performance
128
129
 
129
- Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `openMenu`/`closeMenu` are `useCallback`'d, and the inline `onPress` previously injected into the caller-supplied `trigger` via `cloneElement` on every render is extracted to `handleTriggerPress` (`useCallback`, deps `[trigger, openMenu]`) — `trigger` is a consumer-supplied child (typically this library's own `Button`), so a fresh callback there would defeat its memo. `selectItem` and the per-row `onPress` stay inline: they go to `Pressable`/`Icon` (host elements / primitive props), not a memoized child. The sheet subtree (backdrop + rows) is built only while `open` — a closed menu mounts nothing beyond the trigger. Rows are rendered with a plain `.map()` inside a `ScrollView` (not `FlatList`): action menus are short, and mounting a fresh `VirtualizedList` on the same commit as the modal fade-in was measurable open-time cost (~2× p50 in a Jest open benchmark for a 2-item list) with no windowing benefit at current call sites `ScrollView` has no such per-open setup and still lets a list taller than the sheet's `maxHeight: 320` scroll, which a bare `.map()` with no scroll container would silently lose. Rows get `bg.sunken` press feedback (`resolveMenuRowPressedBackground`, same non-`bg.hover` reasoning as `RadioGroup`/`Accordion`), measured in `Menu.test.ts`.
130
+ Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). `openMenu`/`closeMenu` are `useCallback`'d, and the inline `onPress` previously injected into the caller-supplied `trigger` via `cloneElement` on every render is extracted to `handleTriggerPress` (`useCallback`, deps `[trigger, openMenu]`) — `trigger` is a consumer-supplied child (typically this library's own `Button`), so a fresh callback there would defeat its memo. `selectItem` and the per-row `onPress` stay inline: they go to `Pressable`/`Icon` (host elements / primitive props), not a memoized child. The sheet subtree (backdrop + rows) is built only while `open` — a closed menu mounts nothing beyond the trigger. Below `VIRTUALIZE_THRESHOLD` (15) items rows are a plain `.map()` inside a `ScrollView`, not a `FlatList`: mounting a fresh `VirtualizedList` on the same commit as the modal fade-in was measurable open-time cost (~2× p50 in a Jest open benchmark for a 2-item list) with no windowing benefit at that size, and `ScrollView` still lets a list taller than the sheet's `maxHeight: 320` scroll, which a bare `.map()` would silently lose. At or above the threshold the cost flips and `VirtualList` takes over — which is where the End-key gap below comes from. Rows get `bg.sunken` press feedback (`resolveMenuRowPressedBackground`, same non-`bg.hover` reasoning as `RadioGroup`/`Accordion`), measured in `Menu.test.ts`.
130
131
 
131
- ## Round 5 motion
132
+ ## Motion
132
133
 
133
- Dropped the ad hoc reanimated `FadeInDown` layer (per-row entrance, and the sheet's own former
134
- entrance-only Reanimated bounce). `enter` (`core/motion`) now drives the sheet's scale/lift/opacity
135
- AND the backdrop's fade together, and the web-portal path (no RN `<Modal>`) stays `mounted` through
136
- a real timed exit instead of unmounting instantly the RNModal path is unaffected, still gated on
137
- `open` directly, since RN's own `animationType` already owns that surface's exit. `BACKDROP_SCRIM`'s
138
- opacity now comes from the shared `MOTION_TRANSFORM.scrimOpacity` (previously a mismatched `0x99`
139
- against Modal/Drawer/BottomSheet's `0x80`).
140
-
141
- ## Modernization (v1.0.7)
142
-
143
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
144
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
145
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
134
+ No per-row entrance. `enter` (`core/motion`) drives the sheet's scale/lift/opacity and the
135
+ backdrop's fade together. The web-portal path (no RN `<Modal>`) stays `mounted` through a real timed
136
+ exit; the RNModal path is gated on `open` directly, since RN's own `animationType` owns that
137
+ surface's exit. `BACKDROP_SCRIM` takes its opacity from the shared `MOTION_TRANSFORM.scrimOpacity`,
138
+ matching Modal/Drawer/BottomSheet; the row press overlay uses `stateLayerScrim`.
@@ -13,11 +13,13 @@
13
13
  * enter. The sheet is centered rather than anchored (see MODULE.md), so it scales from its centre.
14
14
  */
15
15
 
16
- import { cloneElement, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
17
- import { Animated, Modal, Platform, Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
18
- import Reanimated from "react-native-reanimated";
16
+ import { cloneElement, memo, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
17
+ import { Modal, Platform, Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
18
+ import Reanimated, { FadeInDown, FadeOut, interpolate, LinearTransition, ReduceMotion, useAnimatedStyle } from "react-native-reanimated";
19
19
  import { focusItemProps, useDismissOnEscape, useFocusTrap, useRovingKeys, useSpaceActivation } from "../../core/a11y/keyboard";
20
- import { MOTION_TRANSFORM, useAnimatedValue, useMotion } from "../../core/motion/index.js";
20
+ import { useReducedMotion } from "../../core/a11y/index.js";
21
+ import { useHaptics } from "../../core/haptics/index.js";
22
+ import { MOTION_TRANSFORM, useMotion, useAnimatedValue } from "../../core/motion/index.js";
21
23
  import { usePressState } from "../../core/motion/usePressState.js";
22
24
  import { withAlpha } from "../../core/gradient/index.js";
23
25
  import { Icon } from "../../core/icon/index.js";
@@ -25,9 +27,9 @@ import { VirtualList } from "../../core/list/index.js";
25
27
  import { concentric } from "../../core/style/index.js";
26
28
  import { elevation, floatingBackground, floatingSurfaceStyle, highlight } from "../../theme/platform/index.js";
27
29
  import { elevation as elevationTokens } from "../../theme/tokens/primitives/index.js";
30
+ import { stateLayerScrim } from "../../theme/platform/stateLayer.native.js";
28
31
  import { useTheme } from "../../theme/hooks.js";
29
- import { ModalPortalContext } from "../modal/ModalPortalContext.js";
30
- import { renderWebPortal } from "../modal/renderWebPortal";
32
+ import { ModalPortalContext, renderWebPortal } from "../../core/overlay/index.js";
31
33
  import { MENU_ROW_ICON_SIZE, MENU_ROW_MIN_HEIGHT, menuOverlayStructure, menuRowStructure, menuSheetStructure, resolveMenuItemColor } from "./Menu.variants.js";
32
34
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
33
35
  const VIRTUALIZE_THRESHOLD = 15;
@@ -62,7 +64,7 @@ const MenuRow = /*#__PURE__*/memo(function MenuRow({
62
64
  overflow: "hidden"
63
65
  }, press.animatedStyle], [theme, press.animatedStyle]);
64
66
  const overlayStaticStyle = useMemo(() => ({
65
- backgroundColor: theme.mode === "dark" ? "#ffffff" : "#000000",
67
+ backgroundColor: stateLayerScrim(theme.mode),
66
68
  borderRadius: concentric(theme.radii.lg, theme.space[4]),
67
69
  borderCurve: "continuous"
68
70
  }), [theme.mode, theme.radii.lg, theme.space]);
@@ -82,8 +84,9 @@ const MenuRow = /*#__PURE__*/memo(function MenuRow({
82
84
  onLayout: press.onLayout,
83
85
  style: rowStyle,
84
86
  children: [/*#__PURE__*/_jsx(Reanimated.View, {
85
- pointerEvents: "none",
86
- style: [StyleSheet.absoluteFill, overlayStaticStyle, press.overlayStyle]
87
+ style: [StyleSheet.absoluteFill, overlayStaticStyle, press.overlayStyle, {
88
+ pointerEvents: 'none'
89
+ }]
87
90
  }), item.icon !== undefined && /*#__PURE__*/_jsx(Icon, {
88
91
  name: item.icon,
89
92
  size: MENU_ROW_ICON_SIZE,
@@ -104,6 +107,8 @@ export const Menu = /*#__PURE__*/memo(function Menu({
104
107
  }) {
105
108
  const theme = useTheme();
106
109
  const motion = useMotion();
110
+ const haptics = useHaptics();
111
+ const reducedMotion = useReducedMotion();
107
112
  const portalContainer = useContext(ModalPortalContext);
108
113
  const [open, setOpen] = useState(false);
109
114
  const [mounted, setMounted] = useState(false);
@@ -113,8 +118,10 @@ export const Menu = /*#__PURE__*/memo(function Menu({
113
118
  const sheetRef = useRef(null);
114
119
  const enter = useAnimatedValue(0);
115
120
  const running = useRef(null);
121
+ const pressScale = motion.transform.pressScale;
122
+ const offsetY = motion.transform.offsetY;
116
123
  const unmountTimer = useRef(null);
117
- useEffect(() => {
124
+ useLayoutEffect(() => {
118
125
  const clearUnmount = () => {
119
126
  if (unmountTimer.current !== null) {
120
127
  clearTimeout(unmountTimer.current);
@@ -126,10 +133,10 @@ export const Menu = /*#__PURE__*/memo(function Menu({
126
133
  if (open) {
127
134
  setMounted(true);
128
135
  if (!motion.enabled) {
129
- enter.setValue(1);
136
+ enter.value = 1;
130
137
  return;
131
138
  }
132
- enter.setValue(0);
139
+ enter.value = 0;
133
140
  running.current = motion.timing(enter, 1, {
134
141
  duration: "fast",
135
142
  easing: "decelerate"
@@ -140,7 +147,7 @@ export const Menu = /*#__PURE__*/memo(function Menu({
140
147
  if (!mountedRef.current) return;
141
148
  const exitMs = motion.duration("fast");
142
149
  if (!motion.enabled || exitMs === 0) {
143
- enter.setValue(0);
150
+ enter.value = 0;
144
151
  setMounted(false);
145
152
  return;
146
153
  }
@@ -166,9 +173,10 @@ export const Menu = /*#__PURE__*/memo(function Menu({
166
173
  }, [disabled]);
167
174
  const closeMenu = useCallback(() => setOpen(false), []);
168
175
  const selectItem = useCallback(item => {
176
+ if (!reducedMotion) haptics.selection();
169
177
  closeMenu();
170
178
  item.onPress();
171
- }, [closeMenu]);
179
+ }, [closeMenu, haptics, reducedMotion]);
172
180
  const typeaheadLabels = useMemo(() => items.map(item => item.label), [items]);
173
181
 
174
182
  // Keyboard (web only — every hook below is a no-op on native, see `core/a11y/keyboard.ts`).
@@ -210,23 +218,18 @@ export const Menu = /*#__PURE__*/memo(function Menu({
210
218
  ...floatingSurfaceStyle(theme, "md")
211
219
  };
212
220
  }, [theme]);
213
- const sheetStyle = useMemo(() => [menuSheetStructure(theme), floatingStyle, {
214
- opacity: enter,
221
+ const sheetStaticStyle = useMemo(() => [menuSheetStructure(theme), floatingStyle], [theme, floatingStyle]);
222
+ const sheetAnimatedStyle = useAnimatedStyle(() => ({
223
+ opacity: enter.value,
215
224
  transform: [{
216
- scale: enter.interpolate({
217
- inputRange: [0, 1],
218
- outputRange: [motion.transform.pressScale, 1]
219
- })
225
+ scale: interpolate(enter.value, [0, 1], [pressScale, 1])
220
226
  }, {
221
- translateY: enter.interpolate({
222
- inputRange: [0, 1],
223
- outputRange: [motion.transform.offsetY, 0]
224
- })
227
+ translateY: interpolate(enter.value, [0, 1], [offsetY, 0])
225
228
  }]
226
- }], [theme, floatingStyle, enter, motion.transform.pressScale, motion.transform.offsetY]);
227
- const backdropStyle = useMemo(() => [styles.backdrop, {
228
- opacity: enter
229
- }], [enter]);
229
+ }));
230
+ const backdropAnimatedStyle = useAnimatedStyle(() => ({
231
+ opacity: enter.value
232
+ }));
230
233
 
231
234
  // Built only while mounted: a closed, settled Menu must not materialize one element per item on
232
235
  // every render of the screen that hosts it.
@@ -237,42 +240,53 @@ export const Menu = /*#__PURE__*/memo(function Menu({
237
240
  tabIndex: -1,
238
241
  style: StyleSheet.absoluteFill,
239
242
  onPress: closeMenu,
240
- children: /*#__PURE__*/_jsx(Animated.View, {
241
- pointerEvents: "none",
242
- style: backdropStyle
243
+ children: /*#__PURE__*/_jsx(Reanimated.View, {
244
+ style: [styles.backdrop, backdropAnimatedStyle, {
245
+ pointerEvents: 'none'
246
+ }]
243
247
  })
244
248
  }), /*#__PURE__*/_jsx(View, {
245
- style: menuOverlayStructure(theme),
246
- pointerEvents: "box-none",
247
- children: /*#__PURE__*/_jsx(Animated.View, {
249
+ style: [menuOverlayStructure(theme), {
250
+ pointerEvents: 'box-none'
251
+ }],
252
+ children: /*#__PURE__*/_jsx(Reanimated.View, {
248
253
  ref: sheetRef,
249
254
  testID: testID ? `${testID}-sheet` : undefined,
250
255
  accessibilityRole: "menu",
251
256
  accessibilityViewIsModal: true,
252
257
  onAccessibilityEscape: closeMenu,
253
- style: sheetStyle,
254
- children: items.length >= VIRTUALIZE_THRESHOLD ? /*#__PURE__*/_jsx(VirtualList, {
255
- data: items,
256
- keyExtractor: keyExtractor,
257
- renderItem: renderItem,
258
- itemHeight: MENU_ROW_MIN_HEIGHT
259
- }) : /*#__PURE__*/_jsx(ScrollView, {
260
- bounces: false,
261
- children: items.map((item, index) => /*#__PURE__*/_jsx(MenuRow, {
262
- item: item,
263
- index: index,
264
- tabIndex: focusItemProps(index, activeIndex).tabIndex,
265
- theme: theme,
266
- onSelect: selectItem,
267
- testID: testID
268
- }, `${item.label}-${index}`))
258
+ style: [sheetStaticStyle, sheetAnimatedStyle],
259
+ children: /*#__PURE__*/_jsx(Reanimated.View, {
260
+ layout: LinearTransition.reduceMotion(ReduceMotion.System),
261
+ entering: FadeInDown.springify().reduceMotion(ReduceMotion.System),
262
+ exiting: FadeOut.reduceMotion(ReduceMotion.System),
263
+ style: {
264
+ flexGrow: 1
265
+ },
266
+ children: items.length >= VIRTUALIZE_THRESHOLD ? /*#__PURE__*/_jsx(VirtualList, {
267
+ data: items,
268
+ keyExtractor: keyExtractor,
269
+ renderItem: renderItem,
270
+ itemHeight: MENU_ROW_MIN_HEIGHT
271
+ }) : /*#__PURE__*/_jsx(ScrollView, {
272
+ bounces: false,
273
+ children: items.map((item, index) => /*#__PURE__*/_jsx(MenuRow, {
274
+ item: item,
275
+ index: index,
276
+ tabIndex: focusItemProps(index, activeIndex).tabIndex,
277
+ theme: theme,
278
+ onSelect: selectItem,
279
+ testID: testID
280
+ }, `${item.label}-${index}`))
281
+ })
269
282
  })
270
283
  })
271
284
  })]
272
285
  }) : null;
273
286
  const menu = Platform.OS === "web" && portalContainer != null ? mounted ? renderWebPortal(/*#__PURE__*/_jsx(View, {
274
- style: StyleSheet.absoluteFill,
275
- pointerEvents: "box-none",
287
+ style: [StyleSheet.absoluteFill, {
288
+ pointerEvents: 'box-none'
289
+ }],
276
290
  children: sheet
277
291
  }), portalContainer) : null : /*#__PURE__*/_jsx(Modal, {
278
292
  visible: open,
@@ -12,10 +12,10 @@
12
12
  * import it directly (mocking only `react-native`'s `StyleSheet`, as `core/style` does).
13
13
  */
14
14
 
15
+ import { MIN_TOUCH_TARGET } from "../../core/a11y/touchTarget.js";
15
16
  import { createThemedVariants } from "../../core/style/index.js";
17
+ export { MIN_TOUCH_TARGET };
16
18
  /** Same touch-target floor as Button/Select (44dp — Apple HIG minimum, WCAG 2.5.5 AAA). */
17
- export const MIN_TOUCH_TARGET = 44;
18
-
19
19
  /** Row height is a direct `minHeight`, not a `hitSlop` expansion — a list row is already its own
20
20
  * full-width touch target, the same choice `Select`'s option rows make (`SELECT_ROW_MIN_HEIGHT`). */
21
21
  export const MENU_ROW_MIN_HEIGHT = MIN_TOUCH_TARGET;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=MenuProps.js.map
@@ -1,4 +1,4 @@
1
- # message-bubble/
1
+ # message-bubble/ — a single chat bubble, user or assistant
2
2
 
3
3
  Single chat bubble — `user` (accent) or `assistant` (tonal surface). Plain `content` string.
4
4
 
@@ -6,7 +6,7 @@ Single chat bubble — `user` (accent) or `assistant` (tonal surface). Plain `co
6
6
 
7
7
  **No motion at all — this component animates nothing, on any tier.** It is a list cell (`core/motion/
8
8
  MODULE.md` rule 5: no per-row motion that runs during scroll), so it renders its final state on its
9
- first frame, exactly like `ListItem`.
9
+ first frame.
10
10
 
11
11
  It used to play a decorative-gated `opacity` + `translateY` enter, guarded by an `entered` ref so it
12
12
  ran "at most once per mount". That property was true and beside the point: `FlatList` unmounts and
@@ -37,5 +37,6 @@ mean a new prop — not added speculatively.
37
37
  | `style` | `LayoutStyle` | — |
38
38
  | `testID` | `string` | — |
39
39
 
40
- - **Round 2 visual** radii retarget (`radii.md`/`lg`/`xl`/`full`), `borderCurve: continuous` on md+ corners; floating surfaces wire platform elevation/highlight where applicable.
41
- - **Round 5 tonal** — assistant's `borderWidth.thin` hairline dropped; `bg.surface` alone now separates the bubble from its parent by tone, matching `Card`'s borderless-flat precedent.
40
+ The assistant bubble carries no hairline `bg.surface` alone separates it from its parent by tone,
41
+ matching `Card`'s borderless-flat precedent. Both variants use `radii.lg` with
42
+ `borderCurve: continuous`, and a `radii.sm` notch on the corner nearest the sender.
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=MessageBubbleProps.js.map