pixelize-native-library 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (921) hide show
  1. package/COMPONENT-GOTCHAS.md +309 -0
  2. package/DESIGN-GUIDE.md +215 -0
  3. package/README.md +44 -0
  4. package/lib/module/core/MODULE.md +23 -16
  5. package/lib/module/core/a11y/MODULE.md +7 -7
  6. package/lib/module/core/a11y/touchTarget.js +6 -0
  7. package/lib/module/core/blur/blur.js +17 -0
  8. package/lib/module/core/blur/index.js +4 -0
  9. package/lib/module/core/device/MODULE.md +5 -8
  10. package/lib/module/core/gradient/AccentGradientFill.js +83 -0
  11. package/lib/module/core/gradient/ShimmerGradientFill.js +79 -0
  12. package/lib/module/core/gradient/darkenHex.js +13 -0
  13. package/lib/module/core/gradient/gradientStops.js +27 -0
  14. package/lib/module/core/gradient/index.js +8 -0
  15. package/lib/module/core/gradient/withAlpha.js +19 -0
  16. package/lib/module/core/haptics/MODULE.md +8 -0
  17. package/lib/module/core/haptics/context.js +7 -0
  18. package/lib/module/core/haptics/haptics.js +17 -0
  19. package/lib/module/core/haptics/index.js +6 -0
  20. package/lib/module/core/haptics/useHaptics.js +73 -0
  21. package/lib/module/core/heading/MODULE.md +1 -1
  22. package/lib/module/core/icon/MODULE.md +22 -23
  23. package/lib/module/core/icon/icons/building-2.js +1 -1
  24. package/lib/module/core/icon/icons/trash.js +1 -1
  25. package/lib/module/core/icon/icons/trending-up.js +10 -0
  26. package/lib/module/core/icon/resolve.js +2 -0
  27. package/lib/module/core/list/VirtualList.js +16 -3
  28. package/lib/module/core/media/expoImage.js +6 -0
  29. package/lib/module/core/motion/MODULE.md +25 -16
  30. package/lib/module/core/motion/animatedComponents.js +8 -0
  31. package/lib/module/core/motion/config.js +4 -1
  32. package/lib/module/core/motion/index.js +4 -1
  33. package/lib/module/core/motion/motionAnimation.js +87 -0
  34. package/lib/module/core/motion/presets.js +81 -81
  35. package/lib/module/core/motion/reanimatedEasing.js +19 -0
  36. package/lib/module/core/motion/useAnimatedValue.js +2 -14
  37. package/lib/module/core/motion/useMotion.js +19 -20
  38. package/lib/module/core/motion/usePressState.js +140 -0
  39. package/lib/module/core/overlay/MODULE.md +17 -0
  40. package/lib/module/core/overlay/ModalPortalContext.js +8 -0
  41. package/lib/module/core/overlay/index.js +5 -0
  42. package/lib/module/core/overlay/renderWebPortal.js +6 -0
  43. package/lib/module/core/overlay/renderWebPortal.web.js +8 -0
  44. package/lib/module/core/screen-scroll/ScreenScrollContext.js +9 -0
  45. package/lib/module/core/screen-scroll/index.js +4 -0
  46. package/lib/module/core/slot/MODULE.md +9 -0
  47. package/lib/module/core/slot/index.js +4 -0
  48. package/lib/module/core/slot/nodeSlot.js +21 -0
  49. package/lib/module/core/style/focusRing.js +37 -0
  50. package/lib/module/core/style/index.js +2 -1
  51. package/lib/module/core/style/radius.js +4 -0
  52. package/lib/module/index.js +24 -4
  53. package/lib/module/modules/accordion/Accordion.js +115 -153
  54. package/lib/module/modules/accordion/Accordion.variants.js +6 -7
  55. package/lib/module/modules/accordion/AccordionProps.js +4 -0
  56. package/lib/module/modules/accordion/MODULE.md +15 -23
  57. package/lib/module/modules/alert-dialog/AlertDialog.js +25 -7
  58. package/lib/module/modules/alert-dialog/AlertDialog.variants.js +4 -0
  59. package/lib/module/modules/alert-dialog/AlertDialogProps.js +4 -0
  60. package/lib/module/modules/alert-dialog/MODULE.md +2 -1
  61. package/lib/module/modules/app-bar/AppBar.js +27 -22
  62. package/lib/module/modules/app-bar/AppBar.variants.js +6 -2
  63. package/lib/module/modules/app-bar/AppBarProps.js +4 -0
  64. package/lib/module/modules/app-bar/MODULE.md +1 -1
  65. package/lib/module/modules/app-switcher/AppSwitcher.js +30 -0
  66. package/lib/module/modules/app-switcher/AppSwitcherProps.js +4 -0
  67. package/lib/module/modules/app-switcher/MODULE.md +14 -0
  68. package/lib/module/modules/app-switcher/index.js +4 -0
  69. package/lib/module/modules/appearance-settings/AppearanceSettings.js +58 -0
  70. package/lib/module/modules/appearance-settings/AppearanceSettingsProps.js +4 -0
  71. package/lib/module/modules/appearance-settings/MODULE.md +9 -0
  72. package/lib/module/modules/appearance-settings/index.js +4 -0
  73. package/lib/module/modules/avatar/Avatar.js +7 -1
  74. package/lib/module/modules/avatar/Avatar.variants.js +3 -1
  75. package/lib/module/modules/avatar/AvatarProps.js +4 -0
  76. package/lib/module/modules/avatar/MODULE.md +3 -3
  77. package/lib/module/modules/avatar-group/AvatarGroup.js +10 -6
  78. package/lib/module/modules/avatar-group/AvatarGroup.variants.js +23 -0
  79. package/lib/module/modules/avatar-group/AvatarGroupProps.js +4 -0
  80. package/lib/module/modules/avatar-group/MODULE.md +17 -0
  81. package/lib/module/modules/backdrop/Backdrop.js +38 -0
  82. package/lib/module/modules/backdrop/BackdropProps.js +4 -0
  83. package/lib/module/modules/backdrop/MODULE.md +11 -0
  84. package/lib/module/modules/backdrop/index.js +4 -0
  85. package/lib/module/modules/badge/Badge.js +11 -5
  86. package/lib/module/modules/badge/Badge.variants.js +2 -1
  87. package/lib/module/modules/badge/BadgeProps.js +4 -0
  88. package/lib/module/modules/badge/MODULE.md +11 -9
  89. package/lib/module/modules/banner/Banner.js +106 -60
  90. package/lib/module/modules/banner/Banner.variants.js +5 -3
  91. package/lib/module/modules/banner/BannerProps.js +4 -0
  92. package/lib/module/modules/banner/MODULE.md +27 -33
  93. package/lib/module/modules/bottom-nav/BottomNav.js +6 -3
  94. package/lib/module/modules/bottom-nav/BottomNav.variants.js +11 -12
  95. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +18 -19
  96. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +35 -10
  97. package/lib/module/modules/bottom-nav/BottomNavProps.js +4 -0
  98. package/lib/module/modules/bottom-nav/BottomNavTab.js +38 -15
  99. package/lib/module/modules/bottom-nav/MODULE.md +14 -5
  100. package/lib/module/modules/bottom-sheet/BottomSheet.js +49 -13
  101. package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +15 -5
  102. package/lib/module/modules/bottom-sheet/BottomSheetProps.js +4 -0
  103. package/lib/module/modules/bottom-sheet/MODULE.md +24 -3
  104. package/lib/module/modules/breadcrumbs/Breadcrumbs.js +54 -0
  105. package/lib/module/modules/breadcrumbs/Breadcrumbs.variants.js +28 -0
  106. package/lib/module/modules/breadcrumbs/BreadcrumbsProps.js +4 -0
  107. package/lib/module/modules/breadcrumbs/MODULE.md +13 -0
  108. package/lib/module/modules/breadcrumbs/index.js +4 -0
  109. package/lib/module/modules/button/Button.js +89 -101
  110. package/lib/module/modules/button/Button.variants.js +14 -17
  111. package/lib/module/modules/button/ButtonProps.js +4 -0
  112. package/lib/module/modules/button/MODULE.md +11 -10
  113. package/lib/module/modules/button-group/ButtonGroup.js +38 -38
  114. package/lib/module/modules/button-group/ButtonGroup.variants.js +23 -50
  115. package/lib/module/modules/button-group/ButtonGroupProps.js +4 -0
  116. package/lib/module/modules/button-group/MODULE.md +27 -32
  117. package/lib/module/modules/card/Card.js +140 -19
  118. package/lib/module/modules/card/Card.variants.js +1 -0
  119. package/lib/module/modules/card/CardProps.js +4 -0
  120. package/lib/module/modules/card/MODULE.md +17 -12
  121. package/lib/module/modules/charts/BarChart.js +35 -18
  122. package/lib/module/modules/charts/BarChartProps.js +4 -0
  123. package/lib/module/modules/charts/BarList.js +33 -19
  124. package/lib/module/modules/charts/BarListProps.js +4 -0
  125. package/lib/module/modules/charts/ChartLegendProps.js +4 -0
  126. package/lib/module/modules/charts/Charts.variants.js +69 -3
  127. package/lib/module/modules/charts/DonutChart.js +12 -6
  128. package/lib/module/modules/charts/DonutChartProps.js +4 -0
  129. package/lib/module/modules/charts/LineChart.js +8 -5
  130. package/lib/module/modules/charts/LineChartProps.js +4 -0
  131. package/lib/module/modules/charts/MODULE.md +33 -20
  132. package/lib/module/modules/charts/PieChart.js +19 -8
  133. package/lib/module/modules/charts/PieChartProps.js +4 -0
  134. package/lib/module/modules/charts/Sparkline.js +4 -2
  135. package/lib/module/modules/charts/SparklineProps.js +4 -0
  136. package/lib/module/modules/checkbox/Checkbox.js +30 -28
  137. package/lib/module/modules/checkbox/Checkbox.variants.js +4 -2
  138. package/lib/module/modules/checkbox/CheckboxProps.js +4 -0
  139. package/lib/module/modules/checkbox/MODULE.md +17 -6
  140. package/lib/module/modules/chip/Chip.js +116 -54
  141. package/lib/module/modules/chip/Chip.variants.js +18 -5
  142. package/lib/module/modules/chip/ChipGroup.js +16 -5
  143. package/lib/module/modules/chip/ChipGroupProps.js +4 -0
  144. package/lib/module/modules/chip/ChipProps.js +4 -0
  145. package/lib/module/modules/chip/MODULE.md +8 -8
  146. package/lib/module/modules/combobox/Combobox.js +111 -78
  147. package/lib/module/modules/combobox/Combobox.variants.js +24 -10
  148. package/lib/module/modules/combobox/ComboboxProps.js +4 -0
  149. package/lib/module/modules/combobox/MODULE.md +14 -10
  150. package/lib/module/modules/composer/Composer.js +20 -11
  151. package/lib/module/modules/composer/Composer.variants.js +2 -0
  152. package/lib/module/modules/composer/ComposerProps.js +4 -0
  153. package/lib/module/modules/composer/MODULE.md +7 -2
  154. package/lib/module/modules/copy-button/CopyButton.js +35 -9
  155. package/lib/module/modules/copy-button/CopyButton.variants.js +7 -4
  156. package/lib/module/modules/copy-button/CopyButtonProps.js +4 -0
  157. package/lib/module/modules/copy-button/MODULE.md +11 -8
  158. package/lib/module/modules/data-table/DataTable.js +37 -14
  159. package/lib/module/modules/data-table/DataTable.variants.js +5 -4
  160. package/lib/module/modules/data-table/DataTableProps.js +4 -0
  161. package/lib/module/modules/data-table/MODULE.md +6 -10
  162. package/lib/module/modules/date-picker/Calendar.js +78 -29
  163. package/lib/module/modules/date-picker/CalendarProps.js +4 -0
  164. package/lib/module/modules/date-picker/DatePicker.variants.js +26 -10
  165. package/lib/module/modules/date-picker/DatePickerProps.js +4 -0
  166. package/lib/module/modules/date-picker/DateRangePickerProps.js +4 -0
  167. package/lib/module/modules/date-picker/MODULE.md +29 -11
  168. package/lib/module/modules/date-picker/PickerField.js +13 -4
  169. package/lib/module/modules/date-picker/PickerFieldProps.js +4 -0
  170. package/lib/module/modules/date-picker/PickerShell.js +23 -12
  171. package/lib/module/modules/date-picker/PickerShellProps.js +4 -0
  172. package/lib/module/modules/date-picker/TimePicker.js +15 -19
  173. package/lib/module/modules/date-picker/TimePickerProps.js +4 -0
  174. package/lib/module/modules/description-list/DescriptionList.js +90 -0
  175. package/lib/module/modules/description-list/DescriptionList.variants.js +63 -0
  176. package/lib/module/modules/description-list/DescriptionListProps.js +4 -0
  177. package/lib/module/modules/description-list/MODULE.md +15 -0
  178. package/lib/module/modules/description-list/index.js +4 -0
  179. package/lib/module/modules/divider/Divider.variants.js +6 -5
  180. package/lib/module/modules/divider/DividerProps.js +4 -0
  181. package/lib/module/modules/divider/MODULE.md +1 -6
  182. package/lib/module/modules/document-viewer/DocumentViewer.js +35 -0
  183. package/lib/module/modules/document-viewer/DocumentViewerProps.js +4 -0
  184. package/lib/module/modules/document-viewer/MODULE.md +12 -0
  185. package/lib/module/modules/document-viewer/index.js +4 -0
  186. package/lib/module/modules/drawer/Drawer.js +62 -45
  187. package/lib/module/modules/drawer/Drawer.variants.js +4 -4
  188. package/lib/module/modules/drawer/DrawerProps.js +4 -0
  189. package/lib/module/modules/drawer/MODULE.md +14 -21
  190. package/lib/module/modules/empty-state/EmptyState.js +19 -29
  191. package/lib/module/modules/empty-state/EmptyState.variants.js +7 -0
  192. package/lib/module/modules/empty-state/EmptyStateProps.js +4 -0
  193. package/lib/module/modules/empty-state/MODULE.md +5 -9
  194. package/lib/module/modules/fab/Fab.js +47 -69
  195. package/lib/module/modules/fab/Fab.variants.js +25 -5
  196. package/lib/module/modules/fab/FabGroup.js +113 -89
  197. package/lib/module/modules/fab/FabGroupProps.js +4 -0
  198. package/lib/module/modules/fab/FabProps.js +4 -0
  199. package/lib/module/modules/fab/MODULE.md +17 -11
  200. package/lib/module/modules/field-select-modal/FieldSelectModal.js +52 -0
  201. package/lib/module/modules/field-select-modal/FieldSelectModalProps.js +4 -0
  202. package/lib/module/modules/field-select-modal/MODULE.md +13 -0
  203. package/lib/module/modules/field-select-modal/index.js +4 -0
  204. package/lib/module/modules/file-grid/FileGrid.js +31 -16
  205. package/lib/module/modules/file-grid/FileGrid.variants.js +2 -2
  206. package/lib/module/modules/file-grid/FileGridProps.js +4 -0
  207. package/lib/module/modules/file-grid/MODULE.md +29 -4
  208. package/lib/module/modules/file-upload/FileUpload.js +56 -15
  209. package/lib/module/modules/file-upload/FileUpload.variants.js +3 -1
  210. package/lib/module/modules/file-upload/FileUploadProps.js +4 -0
  211. package/lib/module/modules/file-upload/MODULE.md +10 -12
  212. package/lib/module/modules/filter-bar/FilterBar.js +68 -0
  213. package/lib/module/modules/filter-bar/FilterBarProps.js +4 -0
  214. package/lib/module/modules/filter-bar/MODULE.md +16 -0
  215. package/lib/module/modules/filter-bar/index.js +4 -0
  216. package/lib/module/modules/filter-sheet/FilterChip.js +13 -4
  217. package/lib/module/modules/filter-sheet/FilterChipProps.js +4 -0
  218. package/lib/module/modules/filter-sheet/FilterSheet.js +19 -14
  219. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +2 -3
  220. package/lib/module/modules/filter-sheet/FilterSheetBody.js +39 -17
  221. package/lib/module/modules/filter-sheet/FilterSheetProps.js +2 -0
  222. package/lib/module/modules/filter-sheet/MODULE.md +4 -4
  223. package/lib/module/modules/folder-row/FolderRow.js +33 -19
  224. package/lib/module/modules/folder-row/FolderRow.variants.js +4 -2
  225. package/lib/module/modules/folder-row/FolderRowProps.js +4 -0
  226. package/lib/module/modules/folder-row/MODULE.md +6 -4
  227. package/lib/module/modules/form-field/FormField.js +9 -4
  228. package/lib/module/modules/form-field/FormFieldProps.js +4 -0
  229. package/lib/module/modules/form-field/MODULE.md +2 -7
  230. package/lib/module/modules/gantt/Gantt.js +52 -14
  231. package/lib/module/modules/gantt/Gantt.variants.js +47 -3
  232. package/lib/module/modules/gantt/GanttProps.js +4 -0
  233. package/lib/module/modules/gantt/MODULE.md +14 -4
  234. package/lib/module/modules/image-viewer/ImageViewer.js +37 -6
  235. package/lib/module/modules/image-viewer/ImageViewerProps.js +4 -0
  236. package/lib/module/modules/image-viewer/MODULE.md +7 -1
  237. package/lib/module/modules/input/Input.js +75 -27
  238. package/lib/module/modules/input/Input.variants.js +10 -10
  239. package/lib/module/modules/input/InputProps.js +4 -0
  240. package/lib/module/modules/input/MODULE.md +9 -14
  241. package/lib/module/modules/key-value/KeyValue.js +36 -0
  242. package/lib/module/modules/key-value/KeyValueProps.js +4 -0
  243. package/lib/module/modules/key-value/MODULE.md +16 -0
  244. package/lib/module/modules/key-value/index.js +4 -0
  245. package/lib/module/modules/limit-reached-modal/LimitReachedModalProps.js +4 -0
  246. package/lib/module/modules/limit-reached-modal/MODULE.md +1 -6
  247. package/lib/module/modules/list-item/ListItem.js +60 -27
  248. package/lib/module/modules/list-item/ListItem.variants.js +11 -2
  249. package/lib/module/modules/list-item/ListItemProps.js +4 -0
  250. package/lib/module/modules/list-item/MODULE.md +14 -10
  251. package/lib/module/modules/list-screen/ListScreen.js +63 -0
  252. package/lib/module/modules/list-screen/ListScreenProps.js +4 -0
  253. package/lib/module/modules/list-screen/MODULE.md +12 -0
  254. package/lib/module/modules/list-screen/index.js +4 -0
  255. package/lib/module/modules/markdown/MODULE.md +6 -5
  256. package/lib/module/modules/markdown/Markdown.js +57 -22
  257. package/lib/module/modules/markdown/Markdown.variants.js +2 -1
  258. package/lib/module/modules/markdown/MarkdownProps.js +4 -0
  259. package/lib/module/modules/menu/MODULE.md +11 -7
  260. package/lib/module/modules/menu/Menu.js +149 -76
  261. package/lib/module/modules/menu/Menu.variants.js +5 -5
  262. package/lib/module/modules/menu/MenuProps.js +4 -0
  263. package/lib/module/modules/message-bubble/MODULE.md +7 -3
  264. package/lib/module/modules/message-bubble/MessageBubble.js +4 -5
  265. package/lib/module/modules/message-bubble/MessageBubble.variants.js +5 -5
  266. package/lib/module/modules/message-bubble/MessageBubbleProps.js +4 -0
  267. package/lib/module/modules/modal/MODULE.md +63 -89
  268. package/lib/module/modules/modal/Modal.js +168 -47
  269. package/lib/module/modules/modal/Modal.variants.js +2 -2
  270. package/lib/module/modules/modal/ModalPortalContext.js +1 -22
  271. package/lib/module/modules/modal/ModalPortalProvider.js +1 -1
  272. package/lib/module/modules/modal/ModalPortalProviderProps.js +4 -0
  273. package/lib/module/modules/modal/ModalProps.js +4 -0
  274. package/lib/module/modules/modal/renderWebPortal.js +1 -15
  275. package/lib/module/modules/modal/renderWebPortal.web.js +1 -21
  276. package/lib/module/modules/more-items/MODULE.md +3 -0
  277. package/lib/module/modules/more-items/MoreItems.js +16 -7
  278. package/lib/module/modules/more-items/MoreItems.variants.js +6 -2
  279. package/lib/module/modules/more-items/MoreItemsProps.js +4 -0
  280. package/lib/module/modules/multi-select/MODULE.md +5 -6
  281. package/lib/module/modules/multi-select/MultiSelect.js +61 -24
  282. package/lib/module/modules/multi-select/MultiSelect.variants.js +8 -4
  283. package/lib/module/modules/multi-select/MultiSelectProps.js +4 -0
  284. package/lib/module/modules/notification-bell/MODULE.md +8 -0
  285. package/lib/module/modules/notification-bell/NotificationBell.js +43 -0
  286. package/lib/module/modules/notification-bell/NotificationBellProps.js +4 -0
  287. package/lib/module/modules/notification-bell/index.js +4 -0
  288. package/lib/module/modules/number-input/MODULE.md +10 -14
  289. package/lib/module/modules/number-input/NumberInput.js +100 -85
  290. package/lib/module/modules/number-input/NumberInput.variants.js +11 -10
  291. package/lib/module/modules/number-input/NumberInputProps.js +4 -0
  292. package/lib/module/modules/org-switcher/MODULE.md +13 -8
  293. package/lib/module/modules/org-switcher/OrgSwitcher.js +34 -21
  294. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +8 -4
  295. package/lib/module/modules/org-switcher/OrgSwitcherProps.js +4 -0
  296. package/lib/module/modules/pagination/MODULE.md +4 -7
  297. package/lib/module/modules/pagination/Pagination.js +97 -48
  298. package/lib/module/modules/pagination/Pagination.variants.js +6 -4
  299. package/lib/module/modules/pagination/PaginationControls.js +58 -36
  300. package/lib/module/modules/pagination/PaginationProps.js +4 -0
  301. package/lib/module/modules/person-chip/MODULE.md +11 -0
  302. package/lib/module/modules/person-chip/PersonChip.js +65 -0
  303. package/lib/module/modules/person-chip/PersonChipProps.js +4 -0
  304. package/lib/module/modules/person-chip/index.js +4 -0
  305. package/lib/module/modules/pin-input/MODULE.md +12 -19
  306. package/lib/module/modules/pin-input/PinInput.js +10 -3
  307. package/lib/module/modules/pin-input/PinInput.variants.js +4 -4
  308. package/lib/module/modules/pin-input/PinInputProps.js +4 -0
  309. package/lib/module/modules/plan-badge/MODULE.md +4 -0
  310. package/lib/module/modules/plan-badge/PlanBadge.js +25 -0
  311. package/lib/module/modules/plan-badge/PlanBadgeProps.js +4 -0
  312. package/lib/module/modules/plan-badge/index.js +4 -0
  313. package/lib/module/modules/plan-pill/MODULE.md +4 -0
  314. package/lib/module/modules/plan-pill/PlanPill.js +24 -0
  315. package/lib/module/modules/plan-pill/PlanPillProps.js +4 -0
  316. package/lib/module/modules/plan-pill/index.js +4 -0
  317. package/lib/module/modules/progress-bar/MODULE.md +12 -14
  318. package/lib/module/modules/progress-bar/ProgressBar.js +28 -36
  319. package/lib/module/modules/progress-bar/ProgressBarProps.js +4 -0
  320. package/lib/module/modules/radio-group/MODULE.md +7 -13
  321. package/lib/module/modules/radio-group/RadioGroup.js +125 -65
  322. package/lib/module/modules/radio-group/RadioGroup.variants.js +4 -4
  323. package/lib/module/modules/radio-group/RadioGroupProps.js +4 -0
  324. package/lib/module/modules/reorder/MODULE.md +7 -9
  325. package/lib/module/modules/reorder/Reorder.js +12 -6
  326. package/lib/module/modules/reorder/Reorder.variants.js +7 -6
  327. package/lib/module/modules/reorder/ReorderProps.js +4 -0
  328. package/lib/module/modules/rich-text/MODULE.md +5 -3
  329. package/lib/module/modules/rich-text/RichText.js +42 -22
  330. package/lib/module/modules/rich-text/RichTextProps.js +4 -0
  331. package/lib/module/modules/rich-text-editor/MODULE.md +8 -15
  332. package/lib/module/modules/rich-text-editor/RichTextEditor.js +13 -5
  333. package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +9 -6
  334. package/lib/module/modules/rich-text-editor/RichTextEditorProps.js +4 -0
  335. package/lib/module/modules/save-bar/MODULE.md +3 -0
  336. package/lib/module/modules/save-bar/SaveBar.js +49 -0
  337. package/lib/module/modules/save-bar/SaveBarProps.js +4 -0
  338. package/lib/module/modules/save-bar/index.js +4 -0
  339. package/lib/module/modules/screen/MODULE.md +14 -5
  340. package/lib/module/modules/screen/Screen.js +109 -33
  341. package/lib/module/modules/screen/Screen.variants.js +18 -0
  342. package/lib/module/modules/screen/ScreenProps.js +4 -0
  343. package/lib/module/modules/search-bar/MODULE.md +9 -8
  344. package/lib/module/modules/search-bar/SearchBar.js +49 -27
  345. package/lib/module/modules/search-bar/SearchBar.variants.js +13 -12
  346. package/lib/module/modules/search-bar/SearchBarProps.js +4 -0
  347. package/lib/module/modules/section/MODULE.md +3 -1
  348. package/lib/module/modules/section/Section.js +14 -16
  349. package/lib/module/modules/section/Section.variants.js +1 -6
  350. package/lib/module/modules/section/SectionProps.js +4 -0
  351. package/lib/module/modules/section-list/MODULE.md +21 -1
  352. package/lib/module/modules/section-list/SectionListProps.js +4 -0
  353. package/lib/module/modules/segmented-control/MODULE.md +30 -26
  354. package/lib/module/modules/segmented-control/SegmentedControl.js +124 -70
  355. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +11 -43
  356. package/lib/module/modules/segmented-control/SegmentedControlProps.js +4 -0
  357. package/lib/module/modules/select/MODULE.md +34 -10
  358. package/lib/module/modules/select/Select.js +74 -34
  359. package/lib/module/modules/select/Select.variants.js +39 -16
  360. package/lib/module/modules/select/SelectProps.js +4 -0
  361. package/lib/module/modules/setting-row/MODULE.md +8 -0
  362. package/lib/module/modules/setting-row/SettingRow.js +50 -0
  363. package/lib/module/modules/setting-row/SettingRowProps.js +4 -0
  364. package/lib/module/modules/setting-row/index.js +4 -0
  365. package/lib/module/modules/settings-section/MODULE.md +7 -0
  366. package/lib/module/modules/settings-section/SettingsSection.js +37 -0
  367. package/lib/module/modules/settings-section/SettingsSectionProps.js +4 -0
  368. package/lib/module/modules/settings-section/index.js +4 -0
  369. package/lib/module/modules/skeleton/MODULE.md +25 -28
  370. package/lib/module/modules/skeleton/Skeleton.js +54 -53
  371. package/lib/module/modules/skeleton/Skeleton.variants.js +11 -74
  372. package/lib/module/modules/skeleton/SkeletonProps.js +4 -0
  373. package/lib/module/modules/slider/MODULE.md +4 -1
  374. package/lib/module/modules/slider/Slider.js +7 -6
  375. package/lib/module/modules/slider/Slider.variants.js +4 -2
  376. package/lib/module/modules/slider/SliderProps.js +4 -0
  377. package/lib/module/modules/spinner/MODULE.md +3 -2
  378. package/lib/module/modules/spinner/SpinnerProps.js +4 -0
  379. package/lib/module/modules/stage-progress/MODULE.md +32 -14
  380. package/lib/module/modules/stage-progress/StageProgress.js +136 -59
  381. package/lib/module/modules/stage-progress/StageProgress.variants.js +57 -20
  382. package/lib/module/modules/stage-progress/StageProgressProps.js +4 -0
  383. package/lib/module/modules/stat-grid/MODULE.md +11 -0
  384. package/lib/module/modules/stat-grid/StatGrid.js +34 -0
  385. package/lib/module/modules/stat-grid/StatGridProps.js +4 -0
  386. package/lib/module/modules/stat-grid/index.js +4 -0
  387. package/lib/module/modules/stat-tile/MODULE.md +14 -1
  388. package/lib/module/modules/stat-tile/StatTile.js +51 -21
  389. package/lib/module/modules/stat-tile/StatTile.variants.js +7 -0
  390. package/lib/module/modules/stat-tile/StatTileProps.js +4 -0
  391. package/lib/module/modules/state-block/MODULE.md +12 -3
  392. package/lib/module/modules/state-block/StateBlock.js +54 -41
  393. package/lib/module/modules/state-block/StateBlock.variants.js +7 -0
  394. package/lib/module/modules/state-block/StateBlockProps.js +4 -0
  395. package/lib/module/modules/stepper/MODULE.md +2 -0
  396. package/lib/module/modules/stepper/Stepper.js +22 -21
  397. package/lib/module/modules/stepper/Stepper.variants.js +2 -0
  398. package/lib/module/modules/stepper/StepperProps.js +4 -0
  399. package/lib/module/modules/surface/MODULE.md +57 -0
  400. package/lib/module/modules/surface/Surface.js +47 -0
  401. package/lib/module/modules/surface/Surface.variants.js +33 -0
  402. package/lib/module/modules/surface/SurfaceProps.js +4 -0
  403. package/lib/module/modules/surface/index.js +4 -0
  404. package/lib/module/modules/swipeable-row/MODULE.md +12 -2
  405. package/lib/module/modules/swipeable-row/SwipeableRow.js +57 -13
  406. package/lib/module/modules/swipeable-row/SwipeableRowProps.js +4 -0
  407. package/lib/module/modules/switch/MODULE.md +7 -2
  408. package/lib/module/modules/switch/Switch.js +49 -9
  409. package/lib/module/modules/switch/Switch.variants.js +2 -3
  410. package/lib/module/modules/switch/SwitchProps.js +4 -0
  411. package/lib/module/modules/tabs/MODULE.md +11 -14
  412. package/lib/module/modules/tabs/Tabs.js +115 -51
  413. package/lib/module/modules/tabs/Tabs.variants.js +6 -6
  414. package/lib/module/modules/tabs/TabsProps.js +4 -0
  415. package/lib/module/modules/text/MODULE.md +25 -14
  416. package/lib/module/modules/text/Text.js +18 -6
  417. package/lib/module/modules/text/Text.variants.js +116 -44
  418. package/lib/module/modules/text/TextProps.js +4 -0
  419. package/lib/module/modules/textarea/MODULE.md +12 -16
  420. package/lib/module/modules/textarea/Textarea.js +15 -12
  421. package/lib/module/modules/textarea/Textarea.variants.js +6 -2
  422. package/lib/module/modules/textarea/TextareaProps.js +4 -0
  423. package/lib/module/modules/timeline/MODULE.md +8 -17
  424. package/lib/module/modules/timeline/Timeline.js +79 -22
  425. package/lib/module/modules/timeline/Timeline.variants.js +2 -0
  426. package/lib/module/modules/timeline/TimelineProps.js +4 -0
  427. package/lib/module/modules/toast/MODULE.md +15 -18
  428. package/lib/module/modules/toast/Toast.js +75 -55
  429. package/lib/module/modules/toast/Toast.variants.js +7 -5
  430. package/lib/module/modules/tooltip/MODULE.md +22 -22
  431. package/lib/module/modules/tooltip/Tooltip.js +77 -16
  432. package/lib/module/modules/tooltip/Tooltip.variants.js +8 -1
  433. package/lib/module/modules/tooltip/TooltipProps.js +4 -0
  434. package/lib/module/modules/typing-indicator/MODULE.md +1 -1
  435. package/lib/module/modules/typing-indicator/TypingIndicator.js +78 -51
  436. package/lib/module/modules/typing-indicator/TypingIndicatorProps.js +4 -0
  437. package/lib/module/modules/upgrade-button/MODULE.md +3 -0
  438. package/lib/module/modules/upgrade-button/UpgradeButton.js +23 -0
  439. package/lib/module/modules/upgrade-button/UpgradeButtonProps.js +4 -0
  440. package/lib/module/modules/upgrade-button/index.js +4 -0
  441. package/lib/module/theme/MODULE.md +5 -1
  442. package/lib/module/theme/platform/MODULE.md +16 -8
  443. package/lib/module/theme/platform/elevation.native.js +1 -51
  444. package/lib/module/theme/platform/floatingSurface.native.js +75 -0
  445. package/lib/module/theme/platform/highlight.native.js +59 -0
  446. package/lib/module/theme/platform/index.js +5 -0
  447. package/lib/module/theme/platform/motion.native.js +31 -11
  448. package/lib/module/theme/platform/stateLayer.native.js +14 -0
  449. package/lib/module/theme/platform/surfaces.native.js +11 -0
  450. package/lib/module/theme/provider/PixelizeProvider.js +18 -5
  451. package/lib/module/theme/tokens/MODULE.md +36 -28
  452. package/lib/module/theme/tokens/THEME-CONTRACT.md +187 -0
  453. package/lib/module/theme/tokens/assertPalette.js +29 -0
  454. package/lib/module/theme/tokens/brands/emerald/palette.light.js +12 -9
  455. package/lib/module/theme/tokens/brands/lavender/palette.light.js +7 -6
  456. package/lib/module/theme/tokens/brands/meadow/palette.light.js +9 -8
  457. package/lib/module/theme/tokens/brands/radiant/palette.light.js +10 -9
  458. package/lib/module/theme/tokens/brands/rosewood/palette.light.js +10 -9
  459. package/lib/module/theme/tokens/brands/skyline/palette.light.js +9 -8
  460. package/lib/module/theme/tokens/brands/slate/palette.light.js +11 -13
  461. package/lib/module/theme/tokens/brands/storefront/palette.light.js +7 -6
  462. package/lib/module/theme/tokens/brands/zinc/palette.dark.js +3 -2
  463. package/lib/module/theme/tokens/brands/zinc/palette.light.js +3 -2
  464. package/lib/module/theme/tokens/builders/accentText.js +10 -1
  465. package/lib/module/theme/tokens/builders/buildBrandScale.js +42 -0
  466. package/lib/module/theme/tokens/builders/buildDarkPalette.js +3 -2
  467. package/lib/module/theme/tokens/builders/finalizePalette.js +34 -0
  468. package/lib/module/theme/tokens/builders/gradientInk.js +23 -0
  469. package/lib/module/theme/tokens/builders/liftToContrast.js +44 -0
  470. package/lib/module/theme/tokens/builders/paletteFromAccent.js +30 -0
  471. package/lib/module/theme/tokens/builders/placeholderInk.js +22 -0
  472. package/lib/module/theme/tokens/builders/semanticText.js +14 -0
  473. package/lib/module/theme/tokens/builders/skeletonShimmer.js +22 -0
  474. package/lib/module/theme/tokens/builders/surfaceRungs.js +44 -0
  475. package/lib/module/theme/tokens/index.js +8 -0
  476. package/lib/module/theme/tokens/primitives/controlSizes.js +16 -0
  477. package/lib/module/theme/tokens/primitives/index.js +1 -0
  478. package/lib/module/theme/tokens/roles/index.js +7 -0
  479. package/lib/typescript/core/a11y/touchTarget.d.ts +4 -0
  480. package/lib/typescript/core/blur/blur.d.ts +14 -0
  481. package/lib/typescript/core/blur/index.d.ts +3 -0
  482. package/lib/typescript/core/gradient/AccentGradientFill.d.ts +7 -0
  483. package/lib/typescript/core/gradient/ShimmerGradientFill.d.ts +8 -0
  484. package/lib/typescript/core/gradient/darkenHex.d.ts +2 -0
  485. package/lib/typescript/core/gradient/gradientStops.d.ts +10 -0
  486. package/lib/typescript/core/gradient/index.d.ts +6 -0
  487. package/lib/typescript/core/gradient/withAlpha.d.ts +2 -0
  488. package/lib/typescript/core/haptics/context.d.ts +3 -0
  489. package/lib/typescript/core/haptics/haptics.d.ts +33 -0
  490. package/lib/typescript/core/haptics/index.d.ts +6 -0
  491. package/lib/typescript/core/haptics/useHaptics.d.ts +12 -0
  492. package/lib/typescript/core/icon/icons/trending-up.d.ts +3 -0
  493. package/lib/typescript/core/icon/names.d.ts +1 -1
  494. package/lib/typescript/core/list/VirtualList.d.ts +6 -1
  495. package/lib/typescript/core/media/expoImage.d.ts +15 -6
  496. package/lib/typescript/core/media/pickers.d.ts +5 -5
  497. package/lib/typescript/core/motion/animatedComponents.d.ts +4 -0
  498. package/lib/typescript/core/motion/config.d.ts +2 -1
  499. package/lib/typescript/core/motion/index.d.ts +5 -1
  500. package/lib/typescript/core/motion/motionAnimation.d.ts +12 -0
  501. package/lib/typescript/core/motion/presets.d.ts +5 -36
  502. package/lib/typescript/core/motion/reanimatedEasing.d.ts +4 -0
  503. package/lib/typescript/core/motion/useAnimatedValue.d.ts +2 -10
  504. package/lib/typescript/core/motion/useMotion.d.ts +4 -13
  505. package/lib/typescript/core/motion/usePressState.d.ts +20 -0
  506. package/lib/typescript/core/overlay/ModalPortalContext.d.ts +2 -0
  507. package/lib/typescript/core/overlay/index.d.ts +3 -0
  508. package/lib/typescript/core/overlay/renderWebPortal.d.ts +3 -0
  509. package/lib/typescript/core/overlay/renderWebPortal.web.d.ts +3 -0
  510. package/lib/typescript/core/screen-scroll/ScreenScrollContext.d.ts +8 -0
  511. package/lib/typescript/core/screen-scroll/index.d.ts +3 -0
  512. package/lib/typescript/core/slot/index.d.ts +2 -0
  513. package/lib/typescript/core/slot/nodeSlot.d.ts +5 -0
  514. package/lib/typescript/core/style/focusRing.d.ts +10 -0
  515. package/lib/typescript/core/style/index.d.ts +2 -1
  516. package/lib/typescript/core/style/radius.d.ts +2 -0
  517. package/lib/typescript/index.d.ts +52 -12
  518. package/lib/typescript/modules/accordion/Accordion.d.ts +2 -37
  519. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +4 -5
  520. package/lib/typescript/modules/accordion/AccordionProps.d.ts +49 -0
  521. package/lib/typescript/modules/accordion/index.d.ts +1 -1
  522. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts +2 -15
  523. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -0
  524. package/lib/typescript/modules/alert-dialog/AlertDialogProps.d.ts +20 -0
  525. package/lib/typescript/modules/alert-dialog/index.d.ts +1 -1
  526. package/lib/typescript/modules/app-bar/AppBar.d.ts +1 -20
  527. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +4 -0
  528. package/lib/typescript/modules/app-bar/AppBarProps.d.ts +25 -0
  529. package/lib/typescript/modules/app-bar/index.d.ts +1 -1
  530. package/lib/typescript/modules/app-switcher/AppSwitcher.d.ts +3 -0
  531. package/lib/typescript/modules/app-switcher/AppSwitcherProps.d.ts +17 -0
  532. package/lib/typescript/modules/app-switcher/index.d.ts +3 -0
  533. package/lib/typescript/modules/appearance-settings/AppearanceSettings.d.ts +3 -0
  534. package/lib/typescript/modules/appearance-settings/AppearanceSettingsProps.d.ts +15 -0
  535. package/lib/typescript/modules/appearance-settings/index.d.ts +3 -0
  536. package/lib/typescript/modules/avatar/Avatar.d.ts +2 -33
  537. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +3 -1
  538. package/lib/typescript/modules/avatar/AvatarProps.d.ts +23 -0
  539. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  540. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +5 -20
  541. package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +19 -0
  542. package/lib/typescript/modules/avatar-group/AvatarGroupProps.d.ts +27 -0
  543. package/lib/typescript/modules/avatar-group/index.d.ts +1 -1
  544. package/lib/typescript/modules/backdrop/Backdrop.d.ts +3 -0
  545. package/lib/typescript/modules/backdrop/BackdropProps.d.ts +11 -0
  546. package/lib/typescript/modules/backdrop/index.d.ts +3 -0
  547. package/lib/typescript/modules/badge/Badge.d.ts +2 -14
  548. package/lib/typescript/modules/badge/BadgeProps.d.ts +17 -0
  549. package/lib/typescript/modules/badge/index.d.ts +1 -1
  550. package/lib/typescript/modules/banner/Banner.d.ts +1 -20
  551. package/lib/typescript/modules/banner/Banner.variants.d.ts +2 -0
  552. package/lib/typescript/modules/banner/BannerProps.d.ts +29 -0
  553. package/lib/typescript/modules/banner/index.d.ts +2 -1
  554. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +1 -34
  555. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +3 -4
  556. package/lib/typescript/modules/bottom-nav/BottomNavProps.d.ts +29 -0
  557. package/lib/typescript/modules/bottom-nav/index.d.ts +2 -1
  558. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +1 -13
  559. package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +3 -1
  560. package/lib/typescript/modules/bottom-sheet/BottomSheetProps.d.ts +17 -0
  561. package/lib/typescript/modules/bottom-sheet/index.d.ts +1 -1
  562. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.d.ts +3 -0
  563. package/lib/typescript/modules/breadcrumbs/Breadcrumbs.variants.d.ts +6 -0
  564. package/lib/typescript/modules/breadcrumbs/BreadcrumbsProps.d.ts +18 -0
  565. package/lib/typescript/modules/breadcrumbs/index.d.ts +3 -0
  566. package/lib/typescript/modules/button/Button.d.ts +1 -60
  567. package/lib/typescript/modules/button/Button.variants.d.ts +11 -15
  568. package/lib/typescript/modules/button/ButtonProps.d.ts +47 -0
  569. package/lib/typescript/modules/button/index.d.ts +1 -1
  570. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +2 -36
  571. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +24 -59
  572. package/lib/typescript/modules/button-group/ButtonGroupProps.d.ts +21 -0
  573. package/lib/typescript/modules/button-group/index.d.ts +1 -1
  574. package/lib/typescript/modules/card/Card.d.ts +4 -15
  575. package/lib/typescript/modules/card/CardProps.d.ts +27 -0
  576. package/lib/typescript/modules/card/index.d.ts +1 -1
  577. package/lib/typescript/modules/charts/BarChart.d.ts +1 -24
  578. package/lib/typescript/modules/charts/BarChartProps.d.ts +36 -0
  579. package/lib/typescript/modules/charts/BarList.d.ts +1 -16
  580. package/lib/typescript/modules/charts/BarListProps.d.ts +22 -0
  581. package/lib/typescript/modules/charts/ChartLegend.d.ts +2 -14
  582. package/lib/typescript/modules/charts/ChartLegendProps.d.ts +19 -0
  583. package/lib/typescript/modules/charts/Charts.variants.d.ts +31 -1
  584. package/lib/typescript/modules/charts/DonutChart.d.ts +1 -19
  585. package/lib/typescript/modules/charts/DonutChartProps.d.ts +27 -0
  586. package/lib/typescript/modules/charts/LineChart.d.ts +1 -28
  587. package/lib/typescript/modules/charts/LineChartProps.d.ts +40 -0
  588. package/lib/typescript/modules/charts/PieChart.d.ts +1 -16
  589. package/lib/typescript/modules/charts/PieChartProps.d.ts +24 -0
  590. package/lib/typescript/modules/charts/Sparkline.d.ts +1 -11
  591. package/lib/typescript/modules/charts/SparklineProps.d.ts +17 -0
  592. package/lib/typescript/modules/charts/index.d.ts +6 -6
  593. package/lib/typescript/modules/checkbox/Checkbox.d.ts +1 -33
  594. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +2 -1
  595. package/lib/typescript/modules/checkbox/CheckboxProps.d.ts +27 -0
  596. package/lib/typescript/modules/checkbox/index.d.ts +1 -1
  597. package/lib/typescript/modules/chip/Chip.d.ts +1 -28
  598. package/lib/typescript/modules/chip/Chip.variants.d.ts +8 -3
  599. package/lib/typescript/modules/chip/ChipGroup.d.ts +1 -14
  600. package/lib/typescript/modules/chip/ChipGroupProps.d.ts +16 -0
  601. package/lib/typescript/modules/chip/ChipProps.d.ts +27 -0
  602. package/lib/typescript/modules/chip/index.d.ts +3 -3
  603. package/lib/typescript/modules/combobox/Combobox.d.ts +2 -45
  604. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +20 -5
  605. package/lib/typescript/modules/combobox/ComboboxProps.d.ts +40 -0
  606. package/lib/typescript/modules/combobox/index.d.ts +1 -1
  607. package/lib/typescript/modules/composer/Composer.d.ts +1 -18
  608. package/lib/typescript/modules/composer/ComposerProps.d.ts +20 -0
  609. package/lib/typescript/modules/composer/index.d.ts +1 -1
  610. package/lib/typescript/modules/copy-button/CopyButton.d.ts +1 -15
  611. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +2 -1
  612. package/lib/typescript/modules/copy-button/CopyButtonProps.d.ts +18 -0
  613. package/lib/typescript/modules/copy-button/index.d.ts +1 -1
  614. package/lib/typescript/modules/data-table/DataTable.d.ts +2 -31
  615. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +3 -2
  616. package/lib/typescript/modules/data-table/DataTableProps.d.ts +43 -0
  617. package/lib/typescript/modules/data-table/index.d.ts +1 -1
  618. package/lib/typescript/modules/date-picker/Calendar.d.ts +1 -23
  619. package/lib/typescript/modules/date-picker/CalendarProps.d.ts +31 -0
  620. package/lib/typescript/modules/date-picker/DatePicker.d.ts +1 -27
  621. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +17 -4
  622. package/lib/typescript/modules/date-picker/DatePickerProps.d.ts +33 -0
  623. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +1 -23
  624. package/lib/typescript/modules/date-picker/DateRangePickerProps.d.ts +27 -0
  625. package/lib/typescript/modules/date-picker/PickerField.d.ts +1 -17
  626. package/lib/typescript/modules/date-picker/PickerFieldProps.d.ts +19 -0
  627. package/lib/typescript/modules/date-picker/PickerShell.d.ts +1 -12
  628. package/lib/typescript/modules/date-picker/PickerShellProps.d.ts +16 -0
  629. package/lib/typescript/modules/date-picker/TimePicker.d.ts +2 -16
  630. package/lib/typescript/modules/date-picker/TimePickerProps.d.ts +14 -0
  631. package/lib/typescript/modules/date-picker/index.d.ts +4 -4
  632. package/lib/typescript/modules/description-list/DescriptionList.d.ts +8 -0
  633. package/lib/typescript/modules/description-list/DescriptionList.variants.d.ts +29 -0
  634. package/lib/typescript/modules/description-list/DescriptionListProps.d.ts +23 -0
  635. package/lib/typescript/modules/description-list/index.d.ts +4 -0
  636. package/lib/typescript/modules/divider/Divider.d.ts +1 -8
  637. package/lib/typescript/modules/divider/Divider.variants.d.ts +4 -4
  638. package/lib/typescript/modules/divider/DividerProps.d.ts +11 -0
  639. package/lib/typescript/modules/divider/index.d.ts +1 -1
  640. package/lib/typescript/modules/document-viewer/DocumentViewer.d.ts +3 -0
  641. package/lib/typescript/modules/document-viewer/DocumentViewerProps.d.ts +13 -0
  642. package/lib/typescript/modules/document-viewer/index.d.ts +3 -0
  643. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -7
  644. package/lib/typescript/modules/drawer/DrawerProps.d.ts +9 -0
  645. package/lib/typescript/modules/drawer/index.d.ts +1 -1
  646. package/lib/typescript/modules/empty-state/EmptyState.d.ts +1 -15
  647. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +1 -0
  648. package/lib/typescript/modules/empty-state/EmptyStateProps.d.ts +24 -0
  649. package/lib/typescript/modules/empty-state/index.d.ts +1 -1
  650. package/lib/typescript/modules/fab/Fab.d.ts +1 -51
  651. package/lib/typescript/modules/fab/Fab.variants.d.ts +5 -2
  652. package/lib/typescript/modules/fab/FabGroup.d.ts +1 -34
  653. package/lib/typescript/modules/fab/FabGroupProps.d.ts +34 -0
  654. package/lib/typescript/modules/fab/FabProps.d.ts +50 -0
  655. package/lib/typescript/modules/fab/index.d.ts +2 -2
  656. package/lib/typescript/modules/field-select-modal/FieldSelectModal.d.ts +3 -0
  657. package/lib/typescript/modules/field-select-modal/FieldSelectModalProps.d.ts +20 -0
  658. package/lib/typescript/modules/field-select-modal/index.d.ts +3 -0
  659. package/lib/typescript/modules/file-grid/FileGrid.d.ts +1 -18
  660. package/lib/typescript/modules/file-grid/FileGridProps.d.ts +23 -0
  661. package/lib/typescript/modules/file-grid/index.d.ts +1 -1
  662. package/lib/typescript/modules/file-upload/FileUpload.d.ts +1 -27
  663. package/lib/typescript/modules/file-upload/FileUploadProps.d.ts +27 -0
  664. package/lib/typescript/modules/file-upload/index.d.ts +1 -1
  665. package/lib/typescript/modules/filter-bar/FilterBar.d.ts +3 -0
  666. package/lib/typescript/modules/filter-bar/FilterBarProps.d.ts +17 -0
  667. package/lib/typescript/modules/filter-bar/index.d.ts +3 -0
  668. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts +1 -9
  669. package/lib/typescript/modules/filter-sheet/FilterChipProps.d.ts +11 -0
  670. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts +1 -32
  671. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +2 -1
  672. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +1 -1
  673. package/lib/typescript/modules/filter-sheet/FilterSheetProps.d.ts +36 -0
  674. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts +1 -1
  675. package/lib/typescript/modules/filter-sheet/index.d.ts +2 -2
  676. package/lib/typescript/modules/folder-row/FolderRow.d.ts +1 -19
  677. package/lib/typescript/modules/folder-row/FolderRowProps.d.ts +17 -0
  678. package/lib/typescript/modules/folder-row/index.d.ts +1 -1
  679. package/lib/typescript/modules/form-field/FormField.d.ts +2 -17
  680. package/lib/typescript/modules/form-field/FormFieldProps.d.ts +23 -0
  681. package/lib/typescript/modules/form-field/index.d.ts +1 -1
  682. package/lib/typescript/modules/gantt/Gantt.d.ts +2 -9
  683. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +29 -2
  684. package/lib/typescript/modules/gantt/GanttProps.d.ts +13 -0
  685. package/lib/typescript/modules/gantt/index.d.ts +1 -1
  686. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +2 -15
  687. package/lib/typescript/modules/image-viewer/ImageViewerProps.d.ts +16 -0
  688. package/lib/typescript/modules/image-viewer/index.d.ts +2 -1
  689. package/lib/typescript/modules/input/Input.d.ts +2 -30
  690. package/lib/typescript/modules/input/Input.variants.d.ts +8 -8
  691. package/lib/typescript/modules/input/InputProps.d.ts +43 -0
  692. package/lib/typescript/modules/input/index.d.ts +1 -1
  693. package/lib/typescript/modules/key-value/KeyValue.d.ts +3 -0
  694. package/lib/typescript/modules/key-value/KeyValueProps.d.ts +11 -0
  695. package/lib/typescript/modules/key-value/index.d.ts +3 -0
  696. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +1 -17
  697. package/lib/typescript/modules/limit-reached-modal/LimitReachedModalProps.d.ts +24 -0
  698. package/lib/typescript/modules/limit-reached-modal/index.d.ts +1 -1
  699. package/lib/typescript/modules/list-item/ListItem.d.ts +3 -17
  700. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +137 -1
  701. package/lib/typescript/modules/list-item/ListItemProps.d.ts +22 -0
  702. package/lib/typescript/modules/list-item/index.d.ts +1 -1
  703. package/lib/typescript/modules/list-screen/ListScreen.d.ts +5 -0
  704. package/lib/typescript/modules/list-screen/ListScreenProps.d.ts +17 -0
  705. package/lib/typescript/modules/list-screen/index.d.ts +3 -0
  706. package/lib/typescript/modules/markdown/Markdown.d.ts +8 -8
  707. package/lib/typescript/modules/markdown/MarkdownProps.d.ts +12 -0
  708. package/lib/typescript/modules/markdown/index.d.ts +1 -1
  709. package/lib/typescript/modules/menu/Menu.d.ts +2 -19
  710. package/lib/typescript/modules/menu/Menu.variants.d.ts +2 -1
  711. package/lib/typescript/modules/menu/MenuProps.d.ts +26 -0
  712. package/lib/typescript/modules/menu/index.d.ts +1 -1
  713. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +3 -11
  714. package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +1 -2
  715. package/lib/typescript/modules/message-bubble/MessageBubbleProps.d.ts +12 -0
  716. package/lib/typescript/modules/message-bubble/index.d.ts +1 -1
  717. package/lib/typescript/modules/modal/Modal.d.ts +2 -10
  718. package/lib/typescript/modules/modal/ModalPortalContext.d.ts +1 -1
  719. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts +2 -12
  720. package/lib/typescript/modules/modal/ModalPortalProviderProps.d.ts +8 -0
  721. package/lib/typescript/modules/modal/ModalProps.d.ts +22 -0
  722. package/lib/typescript/modules/modal/index.d.ts +2 -2
  723. package/lib/typescript/modules/modal/renderWebPortal.d.ts +1 -14
  724. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts +1 -18
  725. package/lib/typescript/modules/more-items/MoreItems.d.ts +2 -10
  726. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +3 -1
  727. package/lib/typescript/modules/more-items/MoreItemsProps.d.ts +14 -0
  728. package/lib/typescript/modules/more-items/index.d.ts +1 -1
  729. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -19
  730. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +2 -1
  731. package/lib/typescript/modules/multi-select/MultiSelectProps.d.ts +29 -0
  732. package/lib/typescript/modules/multi-select/index.d.ts +1 -1
  733. package/lib/typescript/modules/notification-bell/NotificationBell.d.ts +3 -0
  734. package/lib/typescript/modules/notification-bell/NotificationBellProps.d.ts +10 -0
  735. package/lib/typescript/modules/notification-bell/index.d.ts +3 -0
  736. package/lib/typescript/modules/number-input/NumberInput.d.ts +1 -26
  737. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +9 -8
  738. package/lib/typescript/modules/number-input/NumberInputProps.d.ts +23 -0
  739. package/lib/typescript/modules/number-input/index.d.ts +1 -1
  740. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +1 -24
  741. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +2 -1
  742. package/lib/typescript/modules/org-switcher/OrgSwitcherProps.d.ts +29 -0
  743. package/lib/typescript/modules/org-switcher/index.d.ts +1 -1
  744. package/lib/typescript/modules/pagination/Pagination.d.ts +1 -26
  745. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +2 -1
  746. package/lib/typescript/modules/pagination/PaginationControls.d.ts +1 -4
  747. package/lib/typescript/modules/pagination/PaginationProps.d.ts +28 -0
  748. package/lib/typescript/modules/pagination/index.d.ts +1 -1
  749. package/lib/typescript/modules/person-chip/PersonChip.d.ts +3 -0
  750. package/lib/typescript/modules/person-chip/PersonChipProps.d.ts +17 -0
  751. package/lib/typescript/modules/person-chip/index.d.ts +3 -0
  752. package/lib/typescript/modules/pin-input/PinInput.d.ts +1 -32
  753. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +2 -2
  754. package/lib/typescript/modules/pin-input/PinInputProps.d.ts +26 -0
  755. package/lib/typescript/modules/pin-input/index.d.ts +1 -1
  756. package/lib/typescript/modules/plan-badge/PlanBadge.d.ts +3 -0
  757. package/lib/typescript/modules/plan-badge/PlanBadgeProps.d.ts +10 -0
  758. package/lib/typescript/modules/plan-badge/index.d.ts +3 -0
  759. package/lib/typescript/modules/plan-pill/PlanPill.d.ts +3 -0
  760. package/lib/typescript/modules/plan-pill/PlanPillProps.d.ts +10 -0
  761. package/lib/typescript/modules/plan-pill/index.d.ts +3 -0
  762. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +1 -13
  763. package/lib/typescript/modules/progress-bar/ProgressBarProps.d.ts +16 -0
  764. package/lib/typescript/modules/progress-bar/index.d.ts +1 -1
  765. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +2 -22
  766. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +2 -2
  767. package/lib/typescript/modules/radio-group/RadioGroupProps.d.ts +21 -0
  768. package/lib/typescript/modules/radio-group/index.d.ts +1 -1
  769. package/lib/typescript/modules/reorder/Reorder.d.ts +2 -14
  770. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +2 -2
  771. package/lib/typescript/modules/reorder/ReorderProps.d.ts +19 -0
  772. package/lib/typescript/modules/reorder/index.d.ts +1 -1
  773. package/lib/typescript/modules/rich-text/RichText.d.ts +2 -10
  774. package/lib/typescript/modules/rich-text/RichTextProps.d.ts +15 -0
  775. package/lib/typescript/modules/rich-text/index.d.ts +1 -1
  776. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +1 -45
  777. package/lib/typescript/modules/rich-text-editor/RichTextEditorProps.d.ts +40 -0
  778. package/lib/typescript/modules/rich-text-editor/index.d.ts +1 -1
  779. package/lib/typescript/modules/save-bar/SaveBar.d.ts +3 -0
  780. package/lib/typescript/modules/save-bar/SaveBarProps.d.ts +18 -0
  781. package/lib/typescript/modules/save-bar/index.d.ts +3 -0
  782. package/lib/typescript/modules/screen/Screen.d.ts +2 -31
  783. package/lib/typescript/modules/screen/Screen.variants.d.ts +4 -0
  784. package/lib/typescript/modules/screen/ScreenProps.d.ts +35 -0
  785. package/lib/typescript/modules/screen/index.d.ts +1 -1
  786. package/lib/typescript/modules/search-bar/SearchBar.d.ts +2 -28
  787. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +8 -9
  788. package/lib/typescript/modules/search-bar/SearchBarProps.d.ts +30 -0
  789. package/lib/typescript/modules/search-bar/index.d.ts +1 -1
  790. package/lib/typescript/modules/section/Section.d.ts +1 -8
  791. package/lib/typescript/modules/section/Section.variants.d.ts +0 -3
  792. package/lib/typescript/modules/section/SectionProps.d.ts +11 -0
  793. package/lib/typescript/modules/section/index.d.ts +1 -1
  794. package/lib/typescript/modules/section-list/SectionList.d.ts +1 -19
  795. package/lib/typescript/modules/section-list/SectionListProps.d.ts +24 -0
  796. package/lib/typescript/modules/section-list/index.d.ts +1 -1
  797. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +2 -41
  798. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +5 -44
  799. package/lib/typescript/modules/segmented-control/SegmentedControlProps.d.ts +29 -0
  800. package/lib/typescript/modules/segmented-control/index.d.ts +1 -1
  801. package/lib/typescript/modules/select/Select.d.ts +5 -13
  802. package/lib/typescript/modules/select/Select.variants.d.ts +24 -10
  803. package/lib/typescript/modules/select/SelectProps.d.ts +25 -0
  804. package/lib/typescript/modules/select/index.d.ts +3 -2
  805. package/lib/typescript/modules/setting-row/SettingRow.d.ts +3 -0
  806. package/lib/typescript/modules/setting-row/SettingRowProps.d.ts +14 -0
  807. package/lib/typescript/modules/setting-row/index.d.ts +3 -0
  808. package/lib/typescript/modules/settings-section/SettingsSection.d.ts +3 -0
  809. package/lib/typescript/modules/settings-section/SettingsSectionProps.d.ts +11 -0
  810. package/lib/typescript/modules/settings-section/index.d.ts +3 -0
  811. package/lib/typescript/modules/skeleton/Skeleton.d.ts +3 -28
  812. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +8 -66
  813. package/lib/typescript/modules/skeleton/SkeletonProps.d.ts +18 -0
  814. package/lib/typescript/modules/skeleton/index.d.ts +1 -1
  815. package/lib/typescript/modules/slider/Slider.d.ts +1 -24
  816. package/lib/typescript/modules/slider/Slider.variants.d.ts +2 -1
  817. package/lib/typescript/modules/slider/SliderProps.d.ts +27 -0
  818. package/lib/typescript/modules/slider/index.d.ts +1 -1
  819. package/lib/typescript/modules/spinner/Spinner.d.ts +1 -11
  820. package/lib/typescript/modules/spinner/SpinnerProps.d.ts +15 -0
  821. package/lib/typescript/modules/spinner/index.d.ts +1 -1
  822. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +1 -12
  823. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +31 -10
  824. package/lib/typescript/modules/stage-progress/StageProgressProps.d.ts +22 -0
  825. package/lib/typescript/modules/stage-progress/index.d.ts +1 -1
  826. package/lib/typescript/modules/stat-grid/StatGrid.d.ts +3 -0
  827. package/lib/typescript/modules/stat-grid/StatGridProps.d.ts +15 -0
  828. package/lib/typescript/modules/stat-grid/index.d.ts +3 -0
  829. package/lib/typescript/modules/stat-tile/StatTile.d.ts +1 -14
  830. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +3 -0
  831. package/lib/typescript/modules/stat-tile/StatTileProps.d.ts +25 -0
  832. package/lib/typescript/modules/stat-tile/index.d.ts +1 -1
  833. package/lib/typescript/modules/state-block/StateBlock.d.ts +1 -28
  834. package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +1 -0
  835. package/lib/typescript/modules/state-block/StateBlockProps.d.ts +36 -0
  836. package/lib/typescript/modules/state-block/index.d.ts +1 -1
  837. package/lib/typescript/modules/stepper/Stepper.d.ts +3 -11
  838. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +2 -0
  839. package/lib/typescript/modules/stepper/StepperProps.d.ts +12 -0
  840. package/lib/typescript/modules/stepper/index.d.ts +2 -1
  841. package/lib/typescript/modules/surface/Surface.d.ts +6 -0
  842. package/lib/typescript/modules/surface/Surface.variants.d.ts +15 -0
  843. package/lib/typescript/modules/surface/SurfaceProps.d.ts +17 -0
  844. package/lib/typescript/modules/surface/index.d.ts +4 -0
  845. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +1 -19
  846. package/lib/typescript/modules/swipeable-row/SwipeableRowProps.d.ts +22 -0
  847. package/lib/typescript/modules/swipeable-row/index.d.ts +1 -1
  848. package/lib/typescript/modules/switch/Switch.d.ts +1 -14
  849. package/lib/typescript/modules/switch/Switch.variants.d.ts +2 -2
  850. package/lib/typescript/modules/switch/SwitchProps.d.ts +20 -0
  851. package/lib/typescript/modules/switch/index.d.ts +1 -1
  852. package/lib/typescript/modules/tabs/Tabs.d.ts +1 -17
  853. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +2 -3
  854. package/lib/typescript/modules/tabs/TabsProps.d.ts +29 -0
  855. package/lib/typescript/modules/tabs/index.d.ts +1 -1
  856. package/lib/typescript/modules/text/Text.d.ts +1 -20
  857. package/lib/typescript/modules/text/Text.variants.d.ts +14 -11
  858. package/lib/typescript/modules/text/TextProps.d.ts +35 -0
  859. package/lib/typescript/modules/text/index.d.ts +1 -1
  860. package/lib/typescript/modules/textarea/Textarea.d.ts +1 -19
  861. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +2 -1
  862. package/lib/typescript/modules/textarea/TextareaProps.d.ts +23 -0
  863. package/lib/typescript/modules/textarea/index.d.ts +1 -1
  864. package/lib/typescript/modules/timeline/Timeline.d.ts +1 -16
  865. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +2 -0
  866. package/lib/typescript/modules/timeline/TimelineProps.d.ts +37 -0
  867. package/lib/typescript/modules/timeline/index.d.ts +1 -1
  868. package/lib/typescript/modules/toast/Toast.variants.d.ts +4 -3
  869. package/lib/typescript/modules/tooltip/Tooltip.d.ts +1 -25
  870. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +7 -0
  871. package/lib/typescript/modules/tooltip/TooltipProps.d.ts +27 -0
  872. package/lib/typescript/modules/tooltip/index.d.ts +1 -1
  873. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +5 -14
  874. package/lib/typescript/modules/typing-indicator/TypingIndicatorProps.d.ts +11 -0
  875. package/lib/typescript/modules/typing-indicator/index.d.ts +1 -1
  876. package/lib/typescript/modules/upgrade-button/UpgradeButton.d.ts +3 -0
  877. package/lib/typescript/modules/upgrade-button/UpgradeButtonProps.d.ts +11 -0
  878. package/lib/typescript/modules/upgrade-button/index.d.ts +3 -0
  879. package/lib/typescript/test/motionJest.d.ts +12 -0
  880. package/lib/typescript/theme/index.d.ts +1 -1
  881. package/lib/typescript/theme/platform/elevation.native.d.ts +1 -31
  882. package/lib/typescript/theme/platform/floatingSurface.native.d.ts +10 -0
  883. package/lib/typescript/theme/platform/highlight.native.d.ts +17 -0
  884. package/lib/typescript/theme/platform/index.d.ts +9 -0
  885. package/lib/typescript/theme/platform/motion.native.d.ts +33 -13
  886. package/lib/typescript/theme/platform/stateLayer.native.d.ts +11 -0
  887. package/lib/typescript/theme/platform/surfaces.native.d.ts +8 -0
  888. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +1 -1
  889. package/lib/typescript/theme/provider/types.d.ts +8 -0
  890. package/lib/typescript/theme/tokens/assertPalette.d.ts +10 -0
  891. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -3
  892. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -3
  893. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -3
  894. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -3
  895. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -3
  896. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -3
  897. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -3
  898. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -3
  899. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -3
  900. package/lib/typescript/theme/tokens/builders/accentText.d.ts +3 -0
  901. package/lib/typescript/theme/tokens/builders/buildBrandScale.d.ts +4 -0
  902. package/lib/typescript/theme/tokens/builders/finalizePalette.d.ts +4 -0
  903. package/lib/typescript/theme/tokens/builders/gradientInk.d.ts +9 -0
  904. package/lib/typescript/theme/tokens/builders/liftToContrast.d.ts +9 -0
  905. package/lib/typescript/theme/tokens/builders/paletteFromAccent.d.ts +3 -0
  906. package/lib/typescript/theme/tokens/builders/placeholderInk.d.ts +13 -0
  907. package/lib/typescript/theme/tokens/builders/semanticText.d.ts +4 -0
  908. package/lib/typescript/theme/tokens/builders/skeletonShimmer.d.ts +9 -0
  909. package/lib/typescript/theme/tokens/builders/surfaceRungs.d.ts +12 -0
  910. package/lib/typescript/theme/tokens/index.d.ts +8 -0
  911. package/lib/typescript/theme/tokens/primitives/controlSizes.d.ts +6 -0
  912. package/lib/typescript/theme/tokens/primitives/index.d.ts +2 -0
  913. package/lib/typescript/theme/tokens/roles/index.d.ts +3 -0
  914. package/lib/typescript/theme/tokens/types.d.ts +10 -9
  915. package/package.json +114 -5
  916. package/registry.json +114 -14
  917. package/lib/module/core/style/useThemedStyles.js +0 -8
  918. package/lib/module/test/mocks/flashList.js +0 -5
  919. package/lib/module/test/perfHelpers.js +0 -18
  920. package/lib/typescript/core/style/useThemedStyles.d.ts +0 -5
  921. package/lib/typescript/test/mocks/flashList.d.ts +0 -3
@@ -0,0 +1,4 @@
1
+ # plan-badge/ — a billing tier badge
2
+
3
+ Composes `Badge` — `tone="neutral"` for `free`, `accent` otherwise. Labels are fixed
4
+ (Free / Pro / Enterprise); `tier` (`free` | `pro` | `enterprise`) is the only content prop.
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { memo, useMemo } from "react";
4
+ import { Badge } from "../badge/index.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const LABELS = {
7
+ free: "Free",
8
+ pro: "Pro",
9
+ enterprise: "Enterprise"
10
+ };
11
+ export const PlanBadge = /*#__PURE__*/memo(function PlanBadge({
12
+ tier,
13
+ style,
14
+ testID
15
+ }) {
16
+ const label = useMemo(() => LABELS[tier], [tier]);
17
+ const tone = tier === "free" ? "neutral" : "accent";
18
+ return /*#__PURE__*/_jsx(Badge, {
19
+ label: label,
20
+ tone: tone,
21
+ style: style,
22
+ testID: testID
23
+ });
24
+ });
25
+ //# sourceMappingURL=PlanBadge.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=PlanBadgeProps.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { PlanBadge } from "./PlanBadge.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ # plan-pill/ — a soft chip showing the active billing plan
2
+
3
+ Composes `Chip` (`variant="subtle"`, `selected` for any paid tier). Labels are fixed
4
+ (Free plan / Pro plan / Enterprise); takes the same `PlanBadgeTier` as `PlanBadge`.
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ import { memo } from "react";
4
+ import { Chip } from "../chip/index.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const LABELS = {
7
+ free: "Free plan",
8
+ pro: "Pro plan",
9
+ enterprise: "Enterprise"
10
+ };
11
+ export const PlanPill = /*#__PURE__*/memo(function PlanPill({
12
+ tier,
13
+ style,
14
+ testID
15
+ }) {
16
+ return /*#__PURE__*/_jsx(Chip, {
17
+ label: LABELS[tier],
18
+ variant: "subtle",
19
+ selected: tier !== "free",
20
+ style: style,
21
+ testID: testID
22
+ });
23
+ });
24
+ //# sourceMappingURL=PlanPill.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=PlanPillProps.js.map
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { PlanPill } from "./PlanPill.js";
4
+ //# sourceMappingURL=index.js.map
@@ -8,7 +8,7 @@ loop. It takes no children and no interaction — it is a status display, not a
8
8
 
9
9
  | File | Role |
10
10
  |------|------|
11
- | `ProgressBar.tsx` | The component. Resolves colour/a11y, measures the track via `onLayout`, drives the `Animated` sweep loop, `style` last. |
11
+ | `ProgressBar.tsx` | The component. Resolves colour/a11y, measures the track via `onLayout`, drives the determinate `scaleX` tween and the indeterminate sweep loop (`core/motion`, Reanimated), `style` last. |
12
12
  | `ProgressBar.variants.ts` | Pure resolvers (`resolveProgressBarValue`, `resolveProgressBarFill`, `resolveProgressBarAccessibility`, `PROGRESS_BAR_SIZES`) + the themed structural resolvers `progressBarTrackStructure` / `progressBarFillStructure`. No React, no Animated. |
13
13
  | `index.ts` | Public surface: `ProgressBar`, `ProgressBarProps`, `ProgressBarSize`, `ProgressBarTone`. No `icon` prop, so no `IconName` re-export. |
14
14
  | `__tests__/ProgressBar.test.ts` | Pure: WCAG 1.4.11 contrast (all brands × modes × tones) + the value-clamp and accessibility contracts. |
@@ -18,7 +18,7 @@ loop. It takes no children and no interaction — it is a status display, not a
18
18
 
19
19
  | Prop | Type | Default | Notes |
20
20
  |------|------|---------|-------|
21
- | `value` | `number` | — | 0–100, clamped. Omit entirely for an indeterminate sweep. |
21
+ | `value` | `number` | — | 0–100, clamped. Omit entirely for an indeterminate sweep. Changes tween (`decelerate`); the first value snaps. |
22
22
  | `tone` | `accent \| success \| warning \| danger` | `accent` | Closed union — resolves to `colors.accent.text` / the matching `colors.status.*.text` (not `.solid` — see rationale below). |
23
23
  | `size` | `sm \| md` | `md` | Track height — 4dp / 8dp. |
24
24
  | `accessibilityLabel` | `string` | — | Optional — a progress bar is often paired with its own adjacent text label, so unlike `Spinner`/`Switch` this is not type-required. |
@@ -41,10 +41,11 @@ loop. It takes no children and no interaction — it is a status display, not a
41
41
  - **1.4.11 (non-text contrast)** — every tone's fill is measured ≥ 3:1 against the `bg.sunken`
42
42
  track, for all 8 brands × both modes (`ProgressBar.test.ts`) — the fill is a non-text UI boundary
43
43
  conveying information (WCAG 1.4.11), not decoration.
44
- - **2.3.3 (reduced motion)** — `useReducedMotion()` gates the sweep loop entirely: when true, the
45
- `Animated.View` is never mounted and the track instead renders a static fill at a fixed 50%
46
- fraction — never a frame frozen mid-sweep (same "skip, don't freeze" contract as `Skeleton`'s
47
- shimmer and `Spinner`'s spin).
44
+ - **2.3.3 (reduced motion)** — `useMotion().enabled` gates both animations. With motion off the
45
+ indeterminate sweep node is never mounted and a static fill at `REDUCED_MOTION_FILL_FRACTION`
46
+ (50%) renders in its place — never a frame frozen mid-sweep (same "skip, don't freeze" contract as
47
+ `Skeleton`'s shimmer and `Spinner`'s spin) — and a determinate `value` jumps straight to its
48
+ target instead of tweening.
48
49
  - **Touch target (2.5.x)** — N/A. `ProgressBar` is never interactive; there is no `hitSlop`.
49
50
 
50
51
  ## Why `tone` is a union, not a `color`
@@ -89,9 +90,11 @@ render without restarting the loop.
89
90
  segment's own matching radius → `progressBarFillStructure` (same factory, no `size` variant —
90
91
  its height always fills the track, applied inline). Colour (track's single `bg.sunken`, and the
91
92
  tone-driven fill) is resolved and applied inline, same split as `buttonStructure`.
92
- 2. **Looping `Animated` value, reduced-motion gated** — the same shape as `Skeleton`'s shimmer:
93
- `useAnimatedValue(0)` (from `core/motion`), an `Animated.loop` started/stopped in a `useEffect`
94
- keyed on the condition that should suppress it, never a paused-mid-animation static value.
93
+ 2. **Looping shared value, reduced-motion gated** — the same shape as `Skeleton`'s shimmer:
94
+ `useAnimatedValue(0)` + `motion.loop` (both `core/motion`), started/stopped in a `useEffect`
95
+ keyed on the condition that should suppress it, never a paused-mid-animation static value. The
96
+ determinate fill is `transform: scaleX` with `transformOrigin: "left"` over a full-width bar —
97
+ never an animated `width`, which cannot run on the UI thread.
95
98
  3. **Pure, testable resolvers** in `ProgressBar.variants.ts` (no React, no Animated) so the WCAG +
96
99
  value-clamp + accessibility contracts are unit-tested against real palettes — never eyeballed.
97
100
  4. **Closed unions only** (`tone`/`size`), `style: LayoutStyle` last and once, no `{...rest}`.
@@ -104,8 +107,3 @@ None — no icon, no new theme token, no new core helper needed for this compone
104
107
 
105
108
  Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). Only renders `View`/`Animated.View` (host elements) — no library child components, nothing to memoize.
106
109
 
107
- ## Modernization (v1.0.7)
108
-
109
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
110
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
111
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -12,8 +12,9 @@
12
12
  */
13
13
 
14
14
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
15
- import { Animated, View } from "react-native";
16
- import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
15
+ import { View } from "react-native";
16
+ import Reanimated, { interpolate, useAnimatedStyle } from "react-native-reanimated";
17
+ import { useMotion, useAnimatedValue } from "../../core/motion/index.js";
17
18
  import { useTheme } from "../../theme/hooks.js";
18
19
  import { progressBarFillStructure, progressBarTrackStructure, REDUCED_MOTION_FILL_FRACTION, resolveProgressBarAccessibility, resolveProgressBarFill, resolveProgressBarValue, SWEEP_FRACTION } from "./ProgressBar.variants.js";
19
20
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -38,16 +39,13 @@ export const ProgressBar = /*#__PURE__*/memo(function ProgressBar({
38
39
  const progress = useAnimatedValue((clampedValue ?? 0) / 100);
39
40
  const progressAnimation = useRef(null);
40
41
  const firstValue = useRef(true);
41
-
42
- // Tweens the fill toward each new value. The first value is snapped, not tweened — a bar that
43
- // mounts at 60% should read as 60%, never as an unrequested fill-up animation.
44
42
  useEffect(() => {
45
43
  if (clampedValue === undefined) return undefined;
46
44
  const target = clampedValue / 100;
47
45
  progressAnimation.current?.stop();
48
46
  if (!motion.enabled || firstValue.current) {
49
47
  firstValue.current = false;
50
- progress.setValue(target);
48
+ progress.value = target;
51
49
  return undefined;
52
50
  }
53
51
  progressAnimation.current = motion.timing(progress, target, {
@@ -57,14 +55,11 @@ export const ProgressBar = /*#__PURE__*/memo(function ProgressBar({
57
55
  return () => progressAnimation.current?.stop();
58
56
  }, [clampedValue, motion, progress]);
59
57
  const sweepAnimation = useRef(null);
60
-
61
- // The sweep is the only affordance an indeterminate bar has, so it is gated on `motion.enabled`
62
- // alone — never on the decorative tier, which would leave a mid-tier device with a dead track.
63
58
  useEffect(() => {
64
59
  if (determinate || !motion.enabled) return undefined;
65
- sweepAnimation.current = Animated.loop(motion.timing(sweep, 1, {
60
+ sweepAnimation.current = motion.loop(sweep, 1, {
66
61
  duration: "deliberate"
67
- }));
62
+ });
68
63
  sweepAnimation.current.start();
69
64
  return () => {
70
65
  sweepAnimation.current?.stop();
@@ -78,44 +73,40 @@ export const ProgressBar = /*#__PURE__*/memo(function ProgressBar({
78
73
  const handleLayout = useCallback(event => {
79
74
  setTrackWidth(event.nativeEvent.layout.width);
80
75
  }, []);
81
-
82
- // The sweep's translateX range is derived from the track's own measured width (there is no
83
- // reliable percentage-based `transform`), so it recomputes with layout — the loop itself never
84
- // restarts, only the distance it travels.
85
76
  const sweepWidth = trackWidth * SWEEP_FRACTION;
86
- const translateX = useMemo(() => sweep.interpolate({
87
- inputRange: [0, 1],
88
- outputRange: [-sweepWidth, trackWidth]
89
- }), [sweep, sweepWidth, trackWidth]);
77
+ const determinateFillStyle = useAnimatedStyle(() => ({
78
+ transform: [{
79
+ scaleX: progress.value
80
+ }]
81
+ }));
82
+ const sweepStyle = useAnimatedStyle(() => ({
83
+ transform: [{
84
+ translateX: interpolate(sweep.value, [0, 1], [-sweepWidth, trackWidth])
85
+ }]
86
+ }));
90
87
  const trackStyle = useMemo(() => [progressBarTrackStructure(theme, {
91
88
  size
92
89
  }), {
93
90
  backgroundColor: theme.colors.bg.sunken
94
91
  }, style], [theme, size, style]);
95
- const determinateFillStyle = useMemo(() => [progressBarFillStructure(theme), {
92
+ const determinateFillStatic = useMemo(() => [progressBarFillStructure(theme), {
96
93
  height: "100%",
97
94
  width: "100%",
98
95
  backgroundColor: fillColor,
99
- transformOrigin: "left",
100
- transform: [{
101
- scaleX: progress
102
- }]
103
- }], [theme, fillColor, progress]);
96
+ transformOrigin: "left"
97
+ }], [theme, fillColor]);
104
98
  const staticFillStyle = useMemo(() => [progressBarFillStructure(theme), {
105
99
  height: "100%",
106
100
  width: `${REDUCED_MOTION_FILL_FRACTION * 100}%`,
107
101
  backgroundColor: fillColor
108
102
  }], [theme, fillColor]);
109
- const sweepStyle = useMemo(() => [progressBarFillStructure(theme), {
103
+ const sweepStatic = useMemo(() => [progressBarFillStructure(theme), {
110
104
  position: "absolute",
111
105
  top: 0,
112
106
  bottom: 0,
113
107
  width: sweepWidth,
114
- backgroundColor: fillColor,
115
- transform: [{
116
- translateX
117
- }]
118
- }], [theme, sweepWidth, fillColor, translateX]);
108
+ backgroundColor: fillColor
109
+ }], [theme, sweepWidth, fillColor]);
119
110
  return /*#__PURE__*/_jsxs(View, {
120
111
  testID: testID,
121
112
  onLayout: handleLayout,
@@ -127,16 +118,17 @@ export const ProgressBar = /*#__PURE__*/memo(function ProgressBar({
127
118
  "aria-valuenow": a11y["aria-valuenow"],
128
119
  "aria-busy": a11y["aria-busy"],
129
120
  style: trackStyle,
130
- children: [determinate && /*#__PURE__*/_jsx(Animated.View, {
121
+ children: [determinate && /*#__PURE__*/_jsx(Reanimated.View, {
131
122
  testID: testID === undefined ? undefined : `${testID}-fill`,
132
- style: determinateFillStyle
123
+ style: [determinateFillStatic, determinateFillStyle]
133
124
  }), !determinate && !motion.enabled && /*#__PURE__*/_jsx(View, {
134
125
  testID: testID === undefined ? undefined : `${testID}-fill`,
135
126
  style: staticFillStyle
136
- }), !determinate && motion.enabled && /*#__PURE__*/_jsx(Animated.View, {
127
+ }), !determinate && motion.enabled && /*#__PURE__*/_jsx(Reanimated.View, {
137
128
  testID: testID === undefined ? undefined : `${testID}-sweep`,
138
- pointerEvents: "none",
139
- style: sweepStyle
129
+ style: [sweepStatic, sweepStyle, {
130
+ pointerEvents: 'none'
131
+ }]
140
132
  })]
141
133
  });
142
134
  });
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ProgressBarProps.js.map
@@ -9,8 +9,8 @@ without collapsing the individually-focusable rows into one.
9
9
 
10
10
  | File | Role |
11
11
  |------|------|
12
- | `RadioGroup.tsx` | The component. Row composition, press wiring, a11y wiring. |
13
- | `RadioGroup.variants.ts` | Pure resolvers (`RADIO_GROUP_SIZES`, `resolveRadioGroupColors`, `resolveRadioRowAccessibility`) + the themed/untethemed structural resolvers (`radioGroupStructure`, `radioRowStructure`, `radioRingStructure`, `radioDotStructure`). No React, no lucide. |
12
+ | `RadioGroup.tsx` | The component. Row composition, press wiring, a11y wiring. Focus ring geometry uses `FOCUS_RING_GAP` / `FOCUS_RING_WIDTH` from `core/style/focusRing`. |
13
+ | `RadioGroup.variants.ts` | Pure resolvers (`RADIO_GROUP_SIZES`, `resolveRadioGroupColors`, `resolveRadioRowAccessibility`, `resolveRadioGroupKeyIndex`) + the themed/untethemed structural resolvers (`radioGroupStructure`, `radioRowStructure`, `radioRingStructure`, `radioDotStructure`). `MIN_TOUCH_TARGET` from `core/a11y/touchTarget`. No React, no lucide. |
14
14
  | `index.ts` | Public surface: `RadioGroup`, `RadioGroupProps`, `RadioGroupOption`, `RadioGroupSize`. |
15
15
  | `__tests__/RadioGroup.test.ts` | Pure: WCAG contrast (label-on-canvas, label-on-pressed-row, ring, dot — all brands × modes) + touch target + a11y contract. |
16
16
  | `__tests__/RadioGroup.render.test.tsx` | Render: selection, press blocking when disabled, per-row a11y state. |
@@ -24,7 +24,7 @@ without collapsing the individually-focusable rows into one.
24
24
  | `onValueChange` | `(value: string) => void` | — | Fires with the pressed option's `value`; gated off while `disabled`. |
25
25
  | `disabled` | `boolean` | `false` | Dims every row and blocks all presses. |
26
26
  | `size` | `sm \| md` | `md` | Both rows are 44 dp tall (see WCAG below); `sm` is the denser variant through its smaller ring/dot/font and tighter gaps. |
27
- | `accessibilityLabel` | `string` | — | Names the `radiogroup` container. Previously absent, so the container was announced unnamed — a reader heard each option's own label but nothing saying what the set was FOR (WCAG 1.3.1). |
27
+ | `accessibilityLabel` | `string` | — | Names the `radiogroup` container without it a reader hears each option's label but nothing saying what the set is FOR (WCAG 1.3.1). |
28
28
  | `style` | `LayoutStyle` | — | Layout-only, outermost (the container `View`), applied exactly once, last. |
29
29
  | `testID` | `string` | — | Container's testID; each row gets `` `${testID}-${option.value}` ``, and the focused row a `` `${testID}-${option.value}-focus-ring` `` child, when set. |
30
30
 
@@ -61,12 +61,12 @@ closed union of appearances. The ring is always `border.interactive`; the select
61
61
  handler also calls `.focus()` on the newly-selected row's node, because the tab stop moved and DOM
62
62
  focus has to follow it or the ring is stranded on the old row. RN's TypeScript `ViewPropTypes.d.ts`
63
63
  omits `onKeyDown` (its Flow types declare it), so the container `View` is re-typed once, locally.
64
- - **2.4.7 (focus visible)** — Button's `border.focus` ring, drawn a 2dp gap OUTSIDE the row (nothing
65
- in the group clips), on the focused row only, never while disabled. Rows also carry
64
+ - **2.4.7 (focus visible)** — `border.focus` ring (`core/style/focusRing` offsets), drawn outside the
65
+ row (nothing in the group clips), on the focused row only, never while disabled. Rows also carry
66
66
  `focusable={!disabled}` — RN's `Pressable` stays focusable when disabled, which on a TV remote
67
67
  would otherwise land on a row that renders no ring (same fix NumberInput's steppers use).
68
- - **2.3.3** — n/a: nothing here animates. The dot appears/disappears by conditional render (not a
69
- fade or a slide), so there is no transition for `useReducedMotion` to gate.
68
+ - **2.3.3** — n/a for selection dot (conditional render). Row presses use `usePressState` (scale +
69
+ state-layer overlay), which snaps under reduce motion. Rows also carry `android_ripple`.
70
70
  - Disabled rows are exempt from the contrast minimum (WCAG 1.4.3), so the uniform `opacity: 0.5`
71
71
  dim is correct, same as Button.
72
72
 
@@ -93,9 +93,3 @@ closed union of appearances. The ring is always `border.interactive`; the select
93
93
  ## Performance
94
94
 
95
95
  Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`). The `options.map()` renders host `Pressable`/`View`/`Text`, not a library child component, so the inline per-row `onPress`/style closures were left as-is.
96
-
97
- ## Modernization (v1.0.7)
98
-
99
- - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
100
- - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
101
- - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -10,8 +10,13 @@
10
10
  * so there is nothing for `useReducedMotion` (WCAG 2.3.3) to gate — unlike Button's press fade.
11
11
  */
12
12
 
13
- import { memo, useRef, useState } from "react";
14
- import { Pressable, StyleSheet, Text, View } from "react-native";
13
+ import { memo, useRef, useState, useMemo, useCallback } from "react";
14
+ import { Platform, Pressable, StyleSheet, Text, View } from "react-native";
15
+ import Animated from "react-native-reanimated";
16
+ import { usePressState } from "../../core/motion/usePressState.js";
17
+ import { useHaptics } from "../../core/haptics/index.js";
18
+ import { FOCUS_RING_GAP, FOCUS_RING_WIDTH } from "../../core/style/focusRing.js";
19
+ import { rippleColor, stateLayerScrim } from "../../theme/platform/stateLayer.native.js";
15
20
  import { useTheme } from "../../theme/hooks.js";
16
21
  import { RADIO_GROUP_SIZES, radioDotStructure, radioGroupStructure, radioRingStructure, radioRowStructure, resolveRadioGroupColors, resolveRadioGroupKeyIndex, resolveRadioRowAccessibility } from "./RadioGroup.variants.js";
17
22
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -23,8 +28,96 @@ const KeyboardView = View;
23
28
 
24
29
  // Same offset ring as Button: `border.focus` a small gap OUTSIDE the row, on the canvas, which is
25
30
  // the surface that role token is proven ≥ 3:1 against (WCAG 2.4.11).
26
- const FOCUS_RING_WIDTH = 2;
27
- const FOCUS_RING_GAP = 2;
31
+ const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
32
+ function RadioRow({
33
+ option,
34
+ index,
35
+ selected,
36
+ disabled,
37
+ active,
38
+ size,
39
+ colors,
40
+ spec,
41
+ theme,
42
+ focusRingStyle,
43
+ focusedIndex,
44
+ setFocusedIndex,
45
+ selectValue,
46
+ rowRefs,
47
+ testID
48
+ }) {
49
+ const press = usePressState(disabled);
50
+ const a11y = resolveRadioRowAccessibility({
51
+ selected,
52
+ disabled
53
+ });
54
+ const overlayStaticStyle = useMemo(() => ({
55
+ backgroundColor: stateLayerScrim(theme.mode),
56
+ borderRadius: theme.radii.md,
57
+ borderCurve: "continuous"
58
+ }), [theme.mode, theme.radii.md]);
59
+ return /*#__PURE__*/_jsxs(View, {
60
+ style: styles.rowHost,
61
+ children: [focusedIndex === index && !disabled && /*#__PURE__*/_jsx(View, {
62
+ testID: testID ? `${testID}-${option.value}-focus-ring` : undefined,
63
+ style: [styles.focusRing, focusRingStyle, {
64
+ pointerEvents: 'none'
65
+ }]
66
+ }), /*#__PURE__*/_jsxs(AnimatedPressable, {
67
+ ref: node => {
68
+ rowRefs.current[index] = node;
69
+ },
70
+ testID: testID ? `${testID}-${option.value}` : undefined,
71
+ accessibilityRole: a11y.accessibilityRole,
72
+ "aria-checked": a11y["aria-checked"],
73
+ "aria-disabled": a11y["aria-disabled"],
74
+ accessibilityLabel: option.label,
75
+ disabled: a11y.disabled,
76
+ tabIndex: !disabled && active ? 0 : -1,
77
+ focusable: !disabled,
78
+ onFocus: () => setFocusedIndex(() => index),
79
+ onBlur: () => setFocusedIndex(current => current === index ? null : current),
80
+ onPress: disabled ? undefined : () => selectValue(option.value),
81
+ onPressIn: press.handlers.onPressIn,
82
+ onPressOut: press.handlers.onPressOut,
83
+ onLayout: press.onLayout,
84
+ hitSlop: spec.hitSlop,
85
+ android_ripple: Platform.OS === "android" && !disabled ? {
86
+ color: rippleColor(theme.mode),
87
+ borderless: false
88
+ } : undefined,
89
+ style: [radioRowStructure(theme, {
90
+ size
91
+ }), {
92
+ overflow: "hidden"
93
+ }, press.animatedStyle, disabled && styles.dimmed],
94
+ children: [/*#__PURE__*/_jsx(Animated.View, {
95
+ style: [StyleSheet.absoluteFill, overlayStaticStyle, press.overlayStyle, {
96
+ pointerEvents: 'none'
97
+ }]
98
+ }), /*#__PURE__*/_jsx(View, {
99
+ style: [radioRingStructure(theme, {
100
+ size
101
+ }), {
102
+ borderColor: colors.ring
103
+ }],
104
+ children: selected && /*#__PURE__*/_jsx(View, {
105
+ style: [radioDotStructure({
106
+ size
107
+ }), {
108
+ backgroundColor: colors.dot
109
+ }]
110
+ })
111
+ }), /*#__PURE__*/_jsx(Text, {
112
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
113
+ fontSize: spec.fontSize,
114
+ color: colors.label
115
+ }],
116
+ children: option.label
117
+ })]
118
+ }, option.value)]
119
+ });
120
+ }
28
121
  export const RadioGroup = /*#__PURE__*/memo(function RadioGroup({
29
122
  options,
30
123
  value,
@@ -36,6 +129,7 @@ export const RadioGroup = /*#__PURE__*/memo(function RadioGroup({
36
129
  testID
37
130
  }) {
38
131
  const theme = useTheme();
132
+ const haptics = useHaptics();
39
133
  const spec = RADIO_GROUP_SIZES[size];
40
134
  const colors = resolveRadioGroupColors(theme.colors);
41
135
 
@@ -46,6 +140,10 @@ export const RadioGroup = /*#__PURE__*/memo(function RadioGroup({
46
140
  const activeIndex = selectedIndex >= 0 ? selectedIndex : 0;
47
141
  const rowRefs = useRef([]);
48
142
  const [focusedIndex, setFocusedIndex] = useState(null);
143
+ const selectValue = useCallback(nextValue => {
144
+ haptics.selection();
145
+ onValueChange(nextValue);
146
+ }, [haptics, onValueChange]);
49
147
  const handleKeyDown = event => {
50
148
  if (disabled) return;
51
149
  const next = resolveRadioGroupKeyIndex({
@@ -57,13 +155,14 @@ export const RadioGroup = /*#__PURE__*/memo(function RadioGroup({
57
155
  if (next === undefined || option === undefined) return;
58
156
  // Arrow/Home/End would otherwise scroll the page out from under the group.
59
157
  event.preventDefault?.();
60
- onValueChange(option.value);
158
+ selectValue(option.value);
61
159
  // The tab stop moves with the selection, so DOM focus has to follow it or the ring is stranded.
62
160
  rowRefs.current[next]?.focus();
63
161
  };
64
162
  const focusRingStyle = {
65
163
  borderColor: theme.colors.border.focus,
66
- borderRadius: theme.radii.base + FOCUS_RING_GAP + FOCUS_RING_WIDTH
164
+ borderRadius: theme.radii.md + FOCUS_RING_GAP + FOCUS_RING_WIDTH,
165
+ borderCurve: "continuous"
67
166
  };
68
167
  return /*#__PURE__*/_jsx(KeyboardView, {
69
168
  testID: testID,
@@ -74,71 +173,32 @@ export const RadioGroup = /*#__PURE__*/memo(function RadioGroup({
74
173
  style: [radioGroupStructure(theme, {
75
174
  size
76
175
  }), style],
77
- children: options.map((option, index) => {
78
- const selected = option.value === value;
79
- const a11y = resolveRadioRowAccessibility({
80
- selected,
81
- disabled
82
- });
83
- return /*#__PURE__*/_jsxs(Pressable, {
84
- ref: node => {
85
- rowRefs.current[index] = node;
86
- },
87
- testID: testID ? `${testID}-${option.value}` : undefined,
88
- accessibilityRole: a11y.accessibilityRole,
89
- "aria-checked": a11y["aria-checked"],
90
- "aria-disabled": a11y["aria-disabled"],
91
- accessibilityLabel: option.label,
92
- disabled: a11y.disabled,
93
- tabIndex: !disabled && index === activeIndex ? 0 : -1
94
- // RN's Pressable stays `focusable` when disabled, so a TV remote could otherwise land on
95
- // a row that renders no ring (WCAG 2.4.7) — the same fix NumberInput's steppers use.
96
- ,
97
- focusable: !disabled,
98
- onFocus: () => setFocusedIndex(index),
99
- onBlur: () => setFocusedIndex(current => current === index ? null : current),
100
- onPress: disabled ? undefined : () => onValueChange(option.value),
101
- hitSlop: spec.hitSlop,
102
- style: ({
103
- pressed
104
- }) => [radioRowStructure(theme, {
105
- size
106
- }), pressed && !disabled && {
107
- backgroundColor: colors.pressedRow
108
- }, disabled && styles.dimmed],
109
- children: [focusedIndex === index && !disabled && /*#__PURE__*/_jsx(View, {
110
- pointerEvents: "none",
111
- testID: testID ? `${testID}-${option.value}-focus-ring` : undefined,
112
- style: [styles.focusRing, focusRingStyle]
113
- }), /*#__PURE__*/_jsx(View, {
114
- style: [radioRingStructure(theme, {
115
- size
116
- }), {
117
- borderColor: colors.ring
118
- }],
119
- children: selected && /*#__PURE__*/_jsx(View, {
120
- style: [radioDotStructure({
121
- size
122
- }), {
123
- backgroundColor: colors.dot
124
- }]
125
- })
126
- }), /*#__PURE__*/_jsx(Text, {
127
- style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
128
- fontSize: spec.fontSize,
129
- color: colors.label
130
- }],
131
- children: option.label
132
- })]
133
- }, option.value);
134
- })
176
+ children: options.map((option, index) => /*#__PURE__*/_jsx(RadioRow, {
177
+ option: option,
178
+ index: index,
179
+ selected: option.value === value,
180
+ disabled: disabled,
181
+ active: index === activeIndex,
182
+ size: size,
183
+ colors: colors,
184
+ spec: spec,
185
+ theme: theme,
186
+ focusRingStyle: focusRingStyle,
187
+ focusedIndex: focusedIndex,
188
+ setFocusedIndex: setFocusedIndex,
189
+ selectValue: selectValue,
190
+ rowRefs: rowRefs,
191
+ testID: testID
192
+ }, option.value))
135
193
  });
136
194
  });
137
195
  const styles = StyleSheet.create({
138
- // A disabled row is exempt from the contrast minimum (WCAG 1.4.3), so a uniform dim is correct.
139
196
  dimmed: {
140
197
  opacity: 0.5
141
198
  },
199
+ rowHost: {
200
+ position: "relative"
201
+ },
142
202
  focusRing: {
143
203
  position: "absolute",
144
204
  top: -(FOCUS_RING_GAP + FOCUS_RING_WIDTH),
@@ -10,10 +10,9 @@
10
10
  * "selected"/"disabled" contract is unit-testable without rendering React Native.
11
11
  */
12
12
 
13
+ import { MIN_TOUCH_TARGET, slopFor } from "../../core/a11y/touchTarget.js";
13
14
  import { createThemedVariants, createVariants } from "../../core/style/index.js";
14
- /** Same floor as Button — Apple HIG minimum and WCAG 2.5.5 (AAA). */
15
- export const MIN_TOUCH_TARGET = 44;
16
- const slopFor = height => Math.max(0, Math.ceil((MIN_TOUCH_TARGET - height) / 2));
15
+ export { MIN_TOUCH_TARGET };
17
16
  /**
18
17
  * RadioGroup-specific dimensions. Kept a plain constant — no theme dependency — so the hit-target
19
18
  * test can assert `rowMinHeight + 2·hitSlop ≥ 44` without a provider, same as `BUTTON_SIZES`.
@@ -129,7 +128,8 @@ export const radioRowStructure = createThemedVariants(theme => ({
129
128
  base: {
130
129
  flexDirection: "row",
131
130
  alignItems: "center",
132
- borderRadius: theme.radii.base
131
+ borderRadius: theme.radii.md,
132
+ borderCurve: "continuous"
133
133
  },
134
134
  variants: {
135
135
  size: {
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=RadioGroupProps.js.map
@@ -11,7 +11,7 @@ way to preview the drop position. Built on **one** shared `Gesture.Pan()`
11
11
  | File | Role |
12
12
  |------|------|
13
13
  | `Reorder.tsx` | The component. The single shared pan, the five shared values that drive every row, and the two `Button` up/down alternatives. `ReorderRow` is a private, memoized sub-component rendered through `VirtualList`. |
14
- | `Reorder.variants.ts` | Pure resolvers (`resolveReorderColors`, `resolveReorderMoveState`, `moveItem`, `resolveRowPitch`, `resolveDragTargetIndex`, `resolveRowShift`) + the themed/untethered structural resolvers. No React, no lucide. The two drag-math resolvers are `"worklet"`-marked so the UI thread can call them. |
14
+ | `Reorder.variants.ts` | Pure resolvers (`resolveReorderColors`, `resolveReorderMoveState`, `moveItem`, `resolveRowPitch`, `resolveDragTargetIndex`, `resolveRowShift`, `resolveReorderRowLabel`, `resolveReorderMoveAnnouncement`) + the themed/untethered structural resolvers. No React, no lucide. The two drag-math resolvers are `"worklet"`-marked so the UI thread can call them. |
15
15
  | `index.ts` | Public surface: `Reorder`, `ReorderProps`, `ReorderItem`. |
16
16
  | `__tests__/Reorder.test.ts` | Pure: WCAG contrast (all brands × modes), grip touch target, and the drag/alternative-path arithmetic. |
17
17
  | `__tests__/Reorder.render.test.tsx` | Render: labels, grip hidden from a11y, grip drag gating, the WCAG 2.5.7 alternative in both directions, disabled gating, testID wiring, the reduced-motion row shift, and the shift reset on drop. Mocks both animation peers locally and captures the pan's callbacks so a test drives a real drag. |
@@ -72,7 +72,12 @@ No `variant`/`size`/`tone` — every row reads identically; the only per-row sta
72
72
 
73
73
  Every timing comes from `core/motion` — `useMotion().duration("fast")` for the lift and the row
74
74
  shift, `useMotion().transform.pressOpacity` for the lifted row's opacity. No local duration constant
75
- lives in this module. Only `opacity` and `transform` animate, on reanimated's UI thread.
75
+ lives in this module. Only `opacity` and `transform` animate, on reanimated's UI thread. Lift fires
76
+ `haptics.impact("light")` and a committed move fires `haptics.selection()`, both gated on
77
+ `useReducedMotion()` being false. Drag completion hops to JS with `scheduleOnRN`
78
+ (`react-native-worklets`), never the deprecated `runOnJS`.
79
+
80
+ `react-native-gesture-handler` and `react-native-reanimated` are non-optional peers here.
76
81
 
77
82
  ## Accessibility contract (WCAG)
78
83
 
@@ -129,10 +134,3 @@ lives in this module. Only `opacity` and `transform` animate, on reanimated's UI
129
134
  reads the current `items`/`onReorder` through refs, so the `Gesture.Pan()` object never has to be
130
135
  rebuilt mid-drag (re-registering a `GestureDetector` mid-drag drops the live gesture). Row callbacks
131
136
  take an `index`/`id` argument, so no per-row closure is allocated in the render loop.
132
-
133
- ## History (v1.0.7)
134
-
135
- Replaced the original `PanResponder` + per-row `Animated.Value` implementation — one responder AND
136
- one animated node per row, no virtualization, unusable past a few hundred rows — with the single
137
- shared gesture + `VirtualList` described above. `react-native-gesture-handler` and
138
- `react-native-reanimated` are non-optional peers. **No public prop API change.**