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
@@ -35,6 +35,8 @@ context + a stateless helper with no React-tree footprint of its own, not a depe
35
35
  | `onValuesChange` | `(values: string[]) => void` | — | Required. Fired immediately on row press with the next array — no separate Apply/Cancel. |
36
36
  | `placeholder` | `string` | — | Shown when `values` is empty. |
37
37
  | `label` | `string` | — | Field label above the trigger; also folded into its accessible name. |
38
+ | `status` | `InputStatus` (`Input.variants`) | `default` | `"error"` swaps the trigger border to `status.danger.solid` at `2`dp and sets `aria-invalid`. |
39
+ | `errorText` | `string` | — | Rendered under the trigger, only while `status === "error"`. |
38
40
  | `disabled` | `boolean` | `false` | Blocks opening the sheet; dimmed like Select's disabled state. |
39
41
  | `size` | `sm \| md \| lg` | `md` | 32 / 40 / 48 dp; short sizes reach 44 via `hitSlop`. |
40
42
  | `containerStyle` | `LayoutStyle` | — | Layout-only, outermost, applied exactly once, last. |
@@ -67,6 +69,8 @@ caller-configurable.
67
69
  - Each option row is `accessibilityRole="checkbox"` with flat `aria-checked`, toggled immediately on
68
70
  press — the indicator box (outline when unchecked, `accent.solid` fill + "check" glyph when
69
71
  checked) is the sighted echo of the same state, never the only signal.
72
+ - **Android** — the trigger (gated `!disabled`), the header close button and every option row carry
73
+ `android_ripple` (`borderless: false`); trigger and close button clip it with `overflow: "hidden"`.
70
74
  - The header close button is `accessibilityRole="button"` with a fixed `accessibilityLabel="Close"`
71
75
  (icon-only, hardcoded — not a caller-configurable slot); its icon shares the row label's colour
72
76
  pairing, already measured ≥ 3:1 (in practice ≥ 4.5:1) on the sheet fill.
@@ -84,8 +88,7 @@ caller-configurable.
84
88
  2. **Pure, testable resolvers** in `MultiSelect.variants.ts` — the WCAG + behaviour contract is
85
89
  unit-tested against real palettes, never eyeballed.
86
90
  3. **Row indicator colours mirror `Checkbox`'s role mapping** (`border.interactive` /
87
- `accent.solid` / `accent.onSolid`) — duplicated locally, not imported: modules never import
88
- across `src/modules/*`.
91
+ `accent.solid` / `accent.onSolid`) — duplicated locally rather than imported from `checkbox/`.
89
92
  4. **Closed-ish surface** — `size` is a closed union; `options`/`values`/`onValuesChange` are the
90
93
  data contract a multi-select inherently needs, not a colour escape hatch. `containerStyle` is the
91
94
  one `style` exception (a component wrapping a native primitive's outer box), not a second `style` prop.
@@ -160,12 +163,3 @@ Via `core/motion` only — `opacity`/`transform`, native driver, all reduce-moti
160
163
  why `useEnterExit`'s `mounted` gate was dropped; `Select`/`Combobox` use the identical gate.
161
164
  - No chip/token UI on the trigger, so there is nothing to animate there (see Known gaps).
162
165
 
163
- ## Modernization (v1.0.7)
164
-
165
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
166
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
167
-
168
- - **Round 2 visual** — radii retarget (`radii.md`/`lg`/`xl`/`full`), `borderCurve: continuous` on md+ corners; floating surfaces wire platform elevation/highlight where applicable.
169
- - **Round 5 (Android parity)** — `android_ripple` (`borderless: false`) added to the trigger (gated
170
- `!disabled`), the header close button, and each option row. The trigger and close button also
171
- gained `overflow: "hidden"` so their ripple clips to their shape.
@@ -5,19 +5,21 @@
5
5
  */
6
6
 
7
7
  import { memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
8
- import { Animated, Modal, Platform, Pressable, StyleSheet, Text, View } from "react-native";
8
+ import { Modal, Platform, Pressable, StyleSheet, Text, View } from "react-native";
9
+ import Reanimated, { useAnimatedStyle } from "react-native-reanimated";
9
10
  import { focusItemProps, useDismissOnEscape, useFocusTrap, useRovingKeys, useSpaceActivation } from "../../core/a11y/keyboard";
10
11
  import { Icon } from "../../core/icon/index.js";
11
12
  import { VirtualList } from "../../core/list/index.js";
12
- import { useMotion, usePressMotion, useReveal } from "../../core/motion/index.js";
13
+ import { renderNodeSlot } from "../../core/slot/index.js";
14
+ import { withAlpha } from "../../core/gradient/index.js";
15
+ import { MOTION_TRANSFORM, useMotion, useAnimatedValue, usePressMotion, useReveal } from "../../core/motion/index.js";
13
16
  import { rippleColor } from "../../theme/platform/stateLayer.native.js";
14
17
  import { useTheme } from "../../theme/hooks.js";
15
- import { ModalPortalContext } from "../modal/ModalPortalContext.js";
16
- import { renderWebPortal } from "../modal/renderWebPortal";
18
+ import { ModalPortalContext, renderWebPortal } from "../../core/overlay/index.js";
17
19
  import { MULTI_SELECT_CLOSE_BUTTON_HIT_SLOP, MULTI_SELECT_CLOSE_ICON_SIZE, MULTI_SELECT_LISTBOX_ROLE, MULTI_SELECT_ROW_ICON_SIZE, MULTI_SELECT_ROW_MIN_HEIGHT, MULTI_SELECT_SIZES, multiSelectCloseButtonStructure, multiSelectHeaderStructure, multiSelectOverlayStructure, multiSelectRowIndicatorStructure, multiSelectRowLeadingStructure, multiSelectRowStructure, multiSelectSheetStructure, multiSelectTriggerStructure, resolveMultiSelectAccessibility, resolveMultiSelectRowColors, resolveMultiSelectTriggerColors } from "./MultiSelect.variants.js";
18
20
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
19
21
  const ICON_STROKE = 2;
20
- const BACKDROP_SCRIM = "#00000099";
22
+ const BACKDROP_SCRIM = withAlpha("#000000", MOTION_TRANSFORM.scrimOpacity);
21
23
  const MultiSelectOptionRow = /*#__PURE__*/memo(function MultiSelectOptionRow({
22
24
  option,
23
25
  checked,
@@ -42,19 +44,18 @@ const MultiSelectOptionRow = /*#__PURE__*/memo(function MultiSelectOptionRow({
42
44
 
43
45
  // `checkbox` is not `button`, so RNW never presses on Space — see `core/a11y/keyboard.web.ts`.
44
46
  useSpaceActivation(rowRef, handlePress);
45
- const checkOpacity = useRef(new Animated.Value(checked ? 1 : 0)).current;
47
+ const checkOpacity = useAnimatedValue(checked ? 1 : 0);
46
48
  const skipFirst = useRef(true);
47
49
  const running = useRef(null);
48
50
  useEffect(() => {
49
51
  running.current?.stop();
50
- // A row scrolled into view already-checked must snap, never fade.
51
52
  if (skipFirst.current) {
52
53
  skipFirst.current = false;
53
- checkOpacity.setValue(checked ? 1 : 0);
54
+ checkOpacity.value = checked ? 1 : 0;
54
55
  return;
55
56
  }
56
57
  if (!motion.enabled) {
57
- checkOpacity.setValue(checked ? 1 : 0);
58
+ checkOpacity.value = checked ? 1 : 0;
58
59
  return;
59
60
  }
60
61
  running.current = motion.timing(checkOpacity, checked ? 1 : 0, {
@@ -64,6 +65,9 @@ const MultiSelectOptionRow = /*#__PURE__*/memo(function MultiSelectOptionRow({
64
65
  return () => running.current?.stop();
65
66
  }, [checked, motion, checkOpacity]);
66
67
  useEffect(() => () => running.current?.stop(), []);
68
+ const checkStyle = useAnimatedStyle(() => ({
69
+ opacity: checkOpacity.value
70
+ }));
67
71
  const rowStructure = useMemo(() => multiSelectRowStructure(theme), [theme]);
68
72
  const indicatorStructure = useMemo(() => multiSelectRowIndicatorStructure(theme), [theme]);
69
73
  const leadingStructure = useMemo(() => multiSelectRowLeadingStructure(theme), [theme]);
@@ -96,16 +100,14 @@ const MultiSelectOptionRow = /*#__PURE__*/memo(function MultiSelectOptionRow({
96
100
  onPressOut: press.onPressOut,
97
101
  android_ripple: androidRipple,
98
102
  style: rowStyle,
99
- children: /*#__PURE__*/_jsxs(Animated.View, {
103
+ children: /*#__PURE__*/_jsxs(Reanimated.View, {
100
104
  testID: testID ? `${testID}-option-${option.value}-content` : undefined,
101
105
  style: [rowStructure, press.style],
102
106
  children: [/*#__PURE__*/_jsx(View, {
103
107
  style: indicatorStyle,
104
- children: checked && /*#__PURE__*/_jsx(Animated.View, {
108
+ children: checked && /*#__PURE__*/_jsx(Reanimated.View, {
105
109
  testID: testID ? `${testID}-option-${option.value}-check` : undefined,
106
- style: {
107
- opacity: checkOpacity
108
- },
110
+ style: checkStyle,
109
111
  children: /*#__PURE__*/_jsx(Icon, {
110
112
  name: "check",
111
113
  size: MULTI_SELECT_ROW_ICON_SIZE,
@@ -115,7 +117,7 @@ const MultiSelectOptionRow = /*#__PURE__*/memo(function MultiSelectOptionRow({
115
117
  })
116
118
  }), option.leading !== undefined && /*#__PURE__*/_jsx(View, {
117
119
  style: leadingStructure,
118
- children: option.leading
120
+ children: renderNodeSlot(option.leading, labelStyle)
119
121
  }), /*#__PURE__*/_jsx(Text, {
120
122
  numberOfLines: 1,
121
123
  style: labelStyle,
@@ -130,6 +132,8 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
130
132
  onValuesChange,
131
133
  placeholder,
132
134
  label,
135
+ status = "default",
136
+ errorText,
133
137
  disabled = false,
134
138
  size = "md",
135
139
  containerStyle,
@@ -209,10 +213,11 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
209
213
  size
210
214
  }), {
211
215
  backgroundColor: triggerColors.background,
212
- borderColor: triggerColors.border
216
+ borderColor: status === "error" ? theme.colors.status.danger.solid : triggerColors.border,
217
+ borderWidth: status === "error" ? 2 : theme.borderWidths.thin
213
218
  }, {
214
219
  overflow: "hidden"
215
- }, disabled && styles.dimmed], [theme, size, triggerColors, disabled]);
220
+ }, disabled && styles.dimmed], [theme, size, triggerColors, disabled, status]);
216
221
  const triggerRipple = useMemo(() => Platform.OS === "android" && !disabled ? {
217
222
  color: rippleColor(theme.mode),
218
223
  borderless: false
@@ -247,9 +252,10 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
247
252
  style: styles.backdrop,
248
253
  onPress: closeMenu
249
254
  }), /*#__PURE__*/_jsx(View, {
250
- style: overlayStructure,
251
- pointerEvents: "box-none",
252
- children: /*#__PURE__*/_jsxs(Animated.View, {
255
+ style: [overlayStructure, {
256
+ pointerEvents: 'box-none'
257
+ }],
258
+ children: /*#__PURE__*/_jsxs(Reanimated.View, {
253
259
  ref: sheetRef,
254
260
  style: [sheetStyle, reveal.style],
255
261
  children: [/*#__PURE__*/_jsx(View, {
@@ -280,8 +286,9 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
280
286
  })]
281
287
  }) : null;
282
288
  const menu = Platform.OS === "web" && portalContainer != null ? open ? renderWebPortal(/*#__PURE__*/_jsx(View, {
283
- style: StyleSheet.absoluteFill,
284
- pointerEvents: "box-none",
289
+ style: [StyleSheet.absoluteFill, {
290
+ pointerEvents: 'box-none'
291
+ }],
285
292
  children: sheet
286
293
  }), portalContainer) : null : /*#__PURE__*/_jsx(Modal, {
287
294
  visible: open,
@@ -302,6 +309,7 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
302
309
  accessibilityRole: a11y.accessibilityRole,
303
310
  accessibilityLabel: accessibleName,
304
311
  "aria-disabled": a11y["aria-disabled"],
312
+ "aria-invalid": status === "error" ? true : undefined,
305
313
  "aria-expanded": a11y["aria-expanded"],
306
314
  disabled: a11y.disabled,
307
315
  onPress: openMenu,
@@ -320,7 +328,14 @@ export const MultiSelect = /*#__PURE__*/memo(function MultiSelect({
320
328
  color: triggerColors.icon,
321
329
  strokeWidth: ICON_STROKE
322
330
  })]
323
- }), menu]
331
+ }), status === "error" && errorText ? /*#__PURE__*/_jsx(Text, {
332
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
333
+ fontSize: theme.fontSizes.xs,
334
+ color: theme.colors.status.danger.solid,
335
+ marginTop: theme.space[1]
336
+ }],
337
+ children: errorText
338
+ }) : null, menu]
324
339
  });
325
340
  });
326
341
  const styles = StyleSheet.create({
@@ -18,10 +18,12 @@
18
18
  * directly (mocking only `react-native`'s `StyleSheet`, as `core/style` does).
19
19
  */
20
20
 
21
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
21
22
  import { createThemedVariants } from "../../core/style/index.js";
23
+ export { MIN_TOUCH_TARGET };
24
+
22
25
  /** Same touch-target floor as Button/Select (44dp — Apple HIG minimum, WCAG 2.5.5 AAA). */
23
- export const MIN_TOUCH_TARGET = 44;
24
- const slopFor = dimension => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - dimension) / 2));
26
+
25
27
  export const MULTI_SELECT_SIZES = {
26
28
  sm: {
27
29
  height: 32,
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=MultiSelectProps.js.map
@@ -0,0 +1,8 @@
1
+ # notification-bell/ — an icon trigger with an unread count badge
2
+
3
+ Ghost `Button` (bell icon) with an `UnreadBadge` overlay, shown only when `unreadCount > 0`. Panel
4
+ composition stays in the app (`BottomSheet` / `Menu`).
5
+
6
+ ## Exports
7
+
8
+ - `NotificationBell` — `unreadCount` (`number`, default `0`), `onPress` (required), `style`, `testID`
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ import { memo } from "react";
4
+ import { View } from "react-native";
5
+ import { Button } from "../button/index.js";
6
+ import { UnreadBadge } from "../unread-badge/index.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export const NotificationBell = /*#__PURE__*/memo(function NotificationBell({
9
+ unreadCount = 0,
10
+ onPress,
11
+ style,
12
+ testID
13
+ }) {
14
+ return /*#__PURE__*/_jsx(View, {
15
+ testID: testID,
16
+ style: style,
17
+ children: /*#__PURE__*/_jsxs(View, {
18
+ style: {
19
+ position: "relative",
20
+ alignSelf: "flex-start"
21
+ },
22
+ children: [/*#__PURE__*/_jsx(Button, {
23
+ variant: "ghost",
24
+ icon: "bell",
25
+ accessibilityLabel: "Notifications",
26
+ onPress: onPress,
27
+ testID: testID ? `${testID}-button` : undefined
28
+ }), unreadCount > 0 ? /*#__PURE__*/_jsx(View, {
29
+ style: {
30
+ position: "absolute",
31
+ top: 4,
32
+ right: 4,
33
+ pointerEvents: 'none'
34
+ },
35
+ children: /*#__PURE__*/_jsx(UnreadBadge, {
36
+ count: unreadCount,
37
+ size: "sm"
38
+ })
39
+ }) : null]
40
+ })
41
+ });
42
+ });
43
+ //# sourceMappingURL=NotificationBell.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=NotificationBellProps.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { NotificationBell } from "./NotificationBell.js";
4
+ //# sourceMappingURL=index.js.map
@@ -8,8 +8,8 @@ TWO trailing controls, which doesn't fit Input's single leading/trailing icon sl
8
8
 
9
9
  | File | Role |
10
10
  |------|------|
11
- | `NumberInput.tsx` | The component. Composition, draft/clamp wiring, a11y, focus ring, stepper buttons. |
12
- | `NumberInput.variants.ts` | Pure resolvers (`NUMBER_INPUT_SIZES`, `resolveNumberInputStatus`, `resolveNumberInputStepperPressColors`, `resolveNumberInputAccessibility`, `clampNumberInputValue`, `parseNumberInputDraft`, `canDecrementNumberInput`, `canIncrementNumberInput`) + the themed structural resolvers `numberInputStructure` / `numberInputStepperStructure`. No React, no lucide. |
11
+ | `NumberInput.tsx` | The component. Composition, draft/clamp wiring, a11y, focus ring (local `FOCUS_RING_WIDTH`/`FOCUS_RING_GAP` + `stepperFocusRingStyle`), stepper buttons. |
12
+ | `NumberInput.variants.ts` | Pure resolvers (`NUMBER_INPUT_SIZES`, `resolveNumberInputStatus`, `resolveNumberInputStepperPressColors`, `resolveNumberInputAccessibility`, `clampNumberInputValue`, `parseNumberInputDraft`, `canDecrementNumberInput`, `canIncrementNumberInput`) + the themed structural resolvers `numberInputStructure` / `numberInputStepperStructure`. `MIN_TOUCH_TARGET` / `slopFor` from `core/a11y/touchTarget`. No React, no lucide. |
13
13
  | `index.ts` | Public surface: `NumberInput`, `NumberInputProps`, the closed unions. No `icon` prop, so `IconName` is not re-exported. |
14
14
  | `__tests__/NumberInput.test.ts` | Pure: WCAG contrast (all brands × modes, incl. the stepper pressed-fill) + touch target + clamp/parse/limit + a11y contract. |
15
15
  | `__tests__/NumberInput.render.test.tsx` | Render: stepper press, typed input, clamping, disabled/at-limit, the field's and each stepper's own focus ring, the rendered `hitSlop`, `accessibilityValue`, and the increment/decrement accessibility actions. |
@@ -26,7 +26,7 @@ TWO trailing controls, which doesn't fit Input's single leading/trailing icon sl
26
26
  | `status` | `default \| error` | `default` | Closed union — a **state**, not a brand `tone` (same reasoning as Input). |
27
27
  | `disabled` | `boolean` | `false` | Dims the field; blocks editing and both steppers. |
28
28
  | `label` | `string` | — | Rendered above the field; falls back into `accessibilityLabel`. |
29
- | `errorText` | `string` | — | Shown below the field and folded into the accessible name (`aria-invalid` set) when `status="error"` — same prop name and rule as `Input`/`FormField`. Previously `status="error"` was border-colour only, with no message and no programmatic invalid flag (WCAG 3.3.1 / 1.4.1). |
29
+ | `errorText` | `string` | — | Shown below the field and folded into the accessible name (`aria-invalid` set) when `status="error"` — same prop name and rule as `Input`/`FormField`. |
30
30
  | `accessibilityLabel` | `string` | `label` | Overrides the label fallback. |
31
31
  | `containerStyle` | `LayoutStyle` | — | The documented exception for a native-primitive wrapper. Outermost, last, once. Never `inputStyle`. |
32
32
  | `testID` | `string` | — | Forwarded to the `TextInput`; the steppers get `${testID}-decrement` / `${testID}-increment`. |
@@ -62,11 +62,9 @@ typed values are clamped to range but never snapped to a `step` grid.
62
62
  `accessibilityValue`, so object-only would be silently dropped on web. Both forms, one per
63
63
  platform. A bound the caller omitted is **left out**, never defaulted to `0` — absent means "no
64
64
  floor"/"no ceiling" here.
65
- **Corrected claim:** this file previously said the announced text is `String(value)` "verbatim" —
66
- false. `value` and the field's own visible `draft` state diverge while typing (e.g. a keystroke
67
- that doesn't parse yet, or one that clamps), and the announcement used to speak `value` while the
68
- screen showed `draft` — a 4.1.2 failure in itself. The announced text is now `draft`, matching what
69
- is actually on screen; `now` stays the raw, unclamped `value` (unlike `Slider`'s clamped `now`).
65
+ `aria-valuetext` announces the visible `draft`, not `value` — the two diverge while typing (a
66
+ keystroke that doesn't parse yet, or one that clamps). `now` stays the raw, unclamped `value`
67
+ (unlike `Slider`'s clamped `now`).
70
68
  - **2.5.7 non-pointer alternative** — the field also declares
71
69
  `accessibilityActions: [{name:"increment"},{name:"decrement"}]` + `onAccessibilityAction`, reusing
72
70
  the same `handleIncrement`/`handleDecrement` (so an at-limit or disabled action is a no-op).
@@ -110,6 +108,8 @@ typed values are clamped to range but never snapped to a `step` grid.
110
108
  - Decrement/increment each carry `accessibilityRole="button"` and their own
111
109
  `accessibilityLabel` ("Decrease" / "Increase") plus flat `aria-disabled`, so a screen
112
110
  reader announces the control and its at-limit state even though it shows no visible text.
111
+ - **Android** — both steppers carry `android_ripple` (`rippleColor(theme.mode)`, `borderless: false`),
112
+ gated on the stepper being enabled.
113
113
  - A disabled field is exempt from the contrast minimum (WCAG 1.4.3) and dims via `opacity: 0.5`, same
114
114
  as Input/Button. An at-limit stepper (value already at `min`/`max`) dims the same way *without*
115
115
  double-dimming when the whole field is also `disabled` (the outer dim already covers that case).
@@ -136,8 +136,3 @@ typed values are clamped to range but never snapped to a `step` grid.
136
136
 
137
137
  Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). Same shape as `MultiSelect`: `Icon` gets only primitive props, no `.map()` list, every handler goes to host `Pressable`/`TextInput` — nothing to memoize.
138
138
 
139
- ## Modernization (v1.0.7)
140
-
141
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
142
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
143
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -148,7 +148,6 @@ export const NumberInput = /*#__PURE__*/memo(function NumberInput(props) {
148
148
  borderColor: statusColors.border
149
149
  }, disabled && styles.dimmed],
150
150
  children: [focused && !disabled && /*#__PURE__*/_jsx(View, {
151
- pointerEvents: "none",
152
151
  testID: "number-input-focus-ring",
153
152
  style: {
154
153
  position: "absolute",
@@ -159,14 +158,16 @@ export const NumberInput = /*#__PURE__*/memo(function NumberInput(props) {
159
158
  borderWidth: FOCUS_RING_WIDTH,
160
159
  borderColor: theme.colors.border.focus,
161
160
  borderRadius: theme.radii.md + FOCUS_RING_GAP + FOCUS_RING_WIDTH,
162
- borderCurve: "continuous"
161
+ borderCurve: "continuous",
162
+ pointerEvents: "none"
163
163
  }
164
164
  }), /*#__PURE__*/_jsxs(View, {
165
165
  style: styles.stepperHost,
166
166
  children: [decrementFocused && decrementEnabled && /*#__PURE__*/_jsx(View, {
167
- pointerEvents: "none",
168
167
  testID: "number-input-decrement-focus-ring",
169
- style: stepperFocusRingStyle(theme, "leading")
168
+ style: [stepperFocusRingStyle(theme, "leading"), {
169
+ pointerEvents: "none"
170
+ }]
170
171
  }), /*#__PURE__*/_jsx(AnimatedPressable, {
171
172
  testID: testID ? `${testID}-decrement` : undefined,
172
173
  accessibilityRole: "button",
@@ -231,9 +232,10 @@ export const NumberInput = /*#__PURE__*/memo(function NumberInput(props) {
231
232
  }), /*#__PURE__*/_jsxs(View, {
232
233
  style: styles.stepperHost,
233
234
  children: [incrementFocused && incrementEnabled && /*#__PURE__*/_jsx(View, {
234
- pointerEvents: "none",
235
235
  testID: "number-input-increment-focus-ring",
236
- style: stepperFocusRingStyle(theme, "trailing")
236
+ style: [stepperFocusRingStyle(theme, "trailing"), {
237
+ pointerEvents: "none"
238
+ }]
237
239
  }), /*#__PURE__*/_jsx(AnimatedPressable, {
238
240
  testID: testID ? `${testID}-increment` : undefined,
239
241
  accessibilityRole: "button",
@@ -16,14 +16,12 @@
16
16
  * only `react-native`'s `StyleSheet`, as `core/style` does).
17
17
  */
18
18
 
19
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
19
20
  import { createThemedVariants } from "../../core/style/index.js";
21
+ export { MIN_TOUCH_TARGET };
20
22
 
21
23
  /** A state, not a brand tone — same reasoning as Input's `status`. */
22
24
 
23
- /** Same floor as Button/Input/Select — 44dp (WCAG 2.5.5 / HIG). Duplicated, not imported: modules
24
- * stay isolated. */
25
- export const MIN_TOUCH_TARGET = 44;
26
- const slopFor = height => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - height) / 2));
27
25
  /** Same numbers as Input's sizes, so a NumberInput lines up beside a plain field. */
28
26
  export const NUMBER_INPUT_SIZES = {
29
27
  sm: {
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=NumberInputProps.js.map
@@ -52,7 +52,7 @@ mode — `bg.selected` is not, which is exactly why `Select` refuses to tint.
52
52
  | Prop | Type | Default | Notes |
53
53
  |------|------|---------|-------|
54
54
  | `options` | `OrgSwitcherOption[]` | — | `{ value, label, role?, avatarSource?, avatarInitials? }`. `avatarInitials` defaults to the first letters of `label`'s first two words. |
55
- | `value` | `string` | — | Active org id. |
55
+ | `value` | `string` | — | Optional — active org id. Absent shows the `placeholder`. |
56
56
  | `onValueChange` | `(value: string) => void` | — | |
57
57
  | `placeholder` | `string` | `"Select organization"` | Shown with a `building-2` glyph when nothing is selected. |
58
58
  | `size` | `sm \| md \| lg` | `md` | Trigger heights 32 / 40 / 48 dp; avatar `xs` / `sm` / `md`. |
@@ -73,7 +73,8 @@ mode — `bg.selected` is not, which is exactly why `Select` refuses to tint.
73
73
  mutually exclusive set, and `aria-selected` is invalid ARIA on `role="menuitem"` (2026-08 sweep;
74
74
  React Native's typed `accessibilityRole` has no `menuitemradio`, so `radio` is the closest valid
75
75
  role). The tint is never the *only* selection cue.
76
- - Rows and trigger both clear the 44dp touch target (trigger via `hitSlop`).
76
+ - Rows and trigger both clear the 44dp touch target (trigger via `hitSlop`), and both carry
77
+ `android_ripple` on Android.
77
78
  - **2.1.1 keyboard (web only)** — on the `ModalPortalProvider` branch there is no RN `<Modal>`, so
78
79
  `react-native-web`'s own Escape / focus trap / focus restore never run. The sheet wires
79
80
  `useDismissOnEscape` + `useFocusTrap` (`core/a11y/keyboard`) gated on `portalled && open`;
@@ -120,14 +121,6 @@ The host app owns fetching the org list and the active org id, passing `role` as
120
121
  conditional render.
121
122
  - **Sheet** — `useEnterExit(open)` on the panel; the `Modal` keeps `visible={open}` with
122
123
  `animationType="none"` so the library owns the reveal and the sheet always fully unmounts when
123
- closed (never gated on an animation callback). This replaced the old `reducedMotion ? "none" :
124
- "fade"` — reduce-motion is now handled inside `core/motion` (`motion.enabled === false` snaps).
124
+ closed (never gated on an animation callback). Reduce-motion is handled inside `core/motion`
125
+ (`motion.enabled === false` snaps). The backdrop scrim uses `MOTION_TRANSFORM.scrimOpacity`.
125
126
 
126
- ## Modernization (v1.0.7)
127
-
128
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
129
-
130
- - **Round 2 visual** — radii retarget (`radii.md`/`lg`/`xl`/`full`), `borderCurve: continuous` on md+ corners; floating surfaces wire platform elevation/highlight where applicable.
131
- - **Round 5 tonal** — the trigger's `border.interactive` hairline is KEPT: it's a form-control
132
- affordance (opens a picker), the identical role `Select`'s own trigger border plays, not decorative
133
- container chrome. Trigger and rows both gained `android_ripple` for Android parity.
@@ -20,22 +20,23 @@
20
20
  */
21
21
 
22
22
  import { memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
23
- import { Animated, Modal, Platform, Pressable, StyleSheet, Text, View } from "react-native";
23
+ import { Modal, Platform, Pressable, StyleSheet, Text, View } from "react-native";
24
+ import Reanimated, { useAnimatedStyle } from "react-native-reanimated";
24
25
  import { useDismissOnEscape, useFocusTrap } from "../../core/a11y/keyboard";
25
26
  import { Icon } from "../../core/icon/index.js";
26
27
  import { VirtualList } from "../../core/list/index.js";
27
- import { useAnimatedValue, useEnterExit, useMotion, usePressMotion } from "../../core/motion/index.js";
28
+ import { withAlpha } from "../../core/gradient/index.js";
29
+ import { MOTION_TRANSFORM, useEnterExit, useMotion, useAnimatedValue, usePressMotion } from "../../core/motion/index.js";
28
30
  import { useTheme } from "../../theme/hooks.js";
29
31
  import { rippleColor } from "../../theme/platform/stateLayer.native.js";
30
32
  import { Avatar } from "../avatar/index.js";
31
- import { ModalPortalContext } from "../modal/ModalPortalContext.js";
32
- import { renderWebPortal } from "../modal/renderWebPortal";
33
+ import { ModalPortalContext, renderWebPortal } from "../../core/overlay/index.js";
33
34
  import { ORG_SWITCHER_ROW_ICON_SIZE, ORG_SWITCHER_ROW_MIN_HEIGHT, ORG_SWITCHER_SIZES, orgInitials, orgSwitcherOverlayStructure, orgSwitcherRowBodyStructure, orgSwitcherRowContentStructure, orgSwitcherRowStructure, orgSwitcherSheetStructure, orgSwitcherTriggerContentStructure, orgSwitcherTriggerStructure, orgSwitcherTriggerValueStructure, resolveOrgSwitcherAccessibility, resolveOrgSwitcherRowColors, resolveOrgSwitcherTriggerColors } from "./OrgSwitcher.variants.js";
34
35
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
35
36
  const ICON_STROKE = 2;
36
37
  // Decorative dismiss scrim behind the sheet — a design constant, not a role token: it is neither
37
38
  // text nor an interactive boundary, so WCAG's contrast minimums don't apply to it.
38
- const BACKDROP_SCRIM = "#00000099";
39
+ const BACKDROP_SCRIM = withAlpha("#000000", MOTION_TRANSFORM.scrimOpacity);
39
40
  const OrgSwitcherRow = /*#__PURE__*/memo(function OrgSwitcherRow({
40
41
  option,
41
42
  selected,
@@ -69,21 +70,20 @@ const OrgSwitcherRow = /*#__PURE__*/memo(function OrgSwitcherRow({
69
70
  color: restingColors.subtitle
70
71
  }], [theme, restingColors]);
71
72
  const checkOpacity = useAnimatedValue(selected ? 1 : 0);
72
- const checkStyle = useMemo(() => ({
73
- opacity: checkOpacity
74
- }), [checkOpacity]);
73
+ const checkStyle = useAnimatedStyle(() => ({
74
+ opacity: checkOpacity.value
75
+ }));
75
76
  const skipFirst = useRef(true);
76
77
  const running = useRef(null);
77
78
  useEffect(() => {
78
79
  running.current?.stop();
79
- // A row scrolled into view already-selected must snap, never fade — no motion during scroll.
80
80
  if (skipFirst.current) {
81
81
  skipFirst.current = false;
82
- checkOpacity.setValue(selected ? 1 : 0);
82
+ checkOpacity.value = selected ? 1 : 0;
83
83
  return;
84
84
  }
85
85
  if (!motion.enabled) {
86
- checkOpacity.setValue(selected ? 1 : 0);
86
+ checkOpacity.value = selected ? 1 : 0;
87
87
  return;
88
88
  }
89
89
  running.current = motion.timing(checkOpacity, selected ? 1 : 0, {
@@ -102,7 +102,7 @@ const OrgSwitcherRow = /*#__PURE__*/memo(function OrgSwitcherRow({
102
102
  onPressOut: press.onPressOut,
103
103
  android_ripple: androidRipple,
104
104
  style: rowStyle,
105
- children: /*#__PURE__*/_jsxs(Animated.View, {
105
+ children: /*#__PURE__*/_jsxs(Reanimated.View, {
106
106
  style: [contentStructure, press.style],
107
107
  children: [/*#__PURE__*/_jsx(Avatar, {
108
108
  size: spec.avatarSize,
@@ -121,7 +121,7 @@ const OrgSwitcherRow = /*#__PURE__*/memo(function OrgSwitcherRow({
121
121
  style: roleStyle,
122
122
  children: option.role
123
123
  })]
124
- }), selected && /*#__PURE__*/_jsx(Animated.View, {
124
+ }), selected && /*#__PURE__*/_jsx(Reanimated.View, {
125
125
  style: checkStyle,
126
126
  children: /*#__PURE__*/_jsx(Icon, {
127
127
  name: "check",
@@ -213,9 +213,10 @@ export const OrgSwitcher = /*#__PURE__*/memo(function OrgSwitcher({
213
213
  style: styles.backdrop,
214
214
  onPress: closeMenu
215
215
  }), /*#__PURE__*/_jsx(View, {
216
- style: overlayStructure,
217
- pointerEvents: "box-none",
218
- children: /*#__PURE__*/_jsx(Animated.View, {
216
+ style: [overlayStructure, {
217
+ pointerEvents: 'box-none'
218
+ }],
219
+ children: /*#__PURE__*/_jsx(Reanimated.View, {
219
220
  ref: sheetRef,
220
221
  style: [sheetStyle, sheetMotion.style],
221
222
  children: /*#__PURE__*/_jsx(VirtualList, {
@@ -228,8 +229,9 @@ export const OrgSwitcher = /*#__PURE__*/memo(function OrgSwitcher({
228
229
  })]
229
230
  }) : null;
230
231
  const menu = portalled ? open ? renderWebPortal(/*#__PURE__*/_jsx(View, {
231
- style: StyleSheet.absoluteFill,
232
- pointerEvents: "box-none",
232
+ style: [StyleSheet.absoluteFill, {
233
+ pointerEvents: 'box-none'
234
+ }],
233
235
  children: sheet
234
236
  }), portalContainer) : null : /*#__PURE__*/_jsx(Modal, {
235
237
  visible: open,
@@ -253,7 +255,7 @@ export const OrgSwitcher = /*#__PURE__*/memo(function OrgSwitcher({
253
255
  hitSlop: spec.hitSlop,
254
256
  android_ripple: androidRipple,
255
257
  style: triggerStyle,
256
- children: /*#__PURE__*/_jsxs(Animated.View, {
258
+ children: /*#__PURE__*/_jsxs(Reanimated.View, {
257
259
  style: [triggerContentStructure, triggerPress.style],
258
260
  children: [/*#__PURE__*/_jsxs(View, {
259
261
  style: triggerValueStructure,
@@ -18,10 +18,12 @@
18
18
  * directly (mocking only `react-native`'s `StyleSheet`, as `core/style` does).
19
19
  */
20
20
 
21
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
21
22
  import { createThemedVariants } from "../../core/style/index.js";
23
+ export { MIN_TOUCH_TARGET };
24
+
22
25
  /** Same touch-target floor as Button (44dp — Apple HIG minimum, WCAG 2.5.5 AAA). */
23
- export const MIN_TOUCH_TARGET = 44;
24
- const slopFor = height => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - height) / 2));
26
+
25
27
  export const ORG_SWITCHER_SIZES = {
26
28
  sm: {
27
29
  height: 32,
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=OrgSwitcherProps.js.map
@@ -98,6 +98,8 @@ for a closed union to resolve.
98
98
  `fast` + `decelerate`) — opacity only, native driver, no fade on first mount, stopped on effect
99
99
  cleanup and unmount. That is the whole motion budget for this module.
100
100
 
101
+ A page change also fires `useHaptics().selection()`, skipped under reduced motion.
102
+
101
103
  `numbered` deliberately animates **nothing**: it is a row of up to nine controls, and moving or
102
104
  fading each one on every page change reads as noise rather than feedback. `loadMore` keeps its
103
105
  existing spinner and no transition.
@@ -156,8 +158,3 @@ most `2·siblingCount + 5` items, so `VirtualizedList` setup would be pure cost
156
158
  benefit (Menu's rows document the same measurement). The themed structural resolvers compile once
157
159
  per `(theme, size)` via the `WeakMap` cache and never rebuild per render.
158
160
 
159
- ## Modernization (v1.0.7)
160
-
161
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
162
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
163
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.