pixelize-native-library 1.0.7 → 1.2.1

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 (1160) hide show
  1. package/lib/module/core/MODULE.md +130 -36
  2. package/lib/module/core/a11y/MODULE.md +127 -4
  3. package/lib/module/core/a11y/announce.js +30 -0
  4. package/lib/module/core/a11y/announce.web.js +134 -0
  5. package/lib/module/core/a11y/index.js +81 -15
  6. package/lib/module/core/a11y/keyboard.js +42 -0
  7. package/lib/module/core/a11y/keyboard.web.js +229 -0
  8. package/lib/module/core/a11y/labels.js +24 -0
  9. package/lib/module/core/device/MODULE.md +47 -0
  10. package/lib/module/core/device/index.js +91 -0
  11. package/lib/module/core/gradient/AccentGradientFill.js +80 -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 +7 -0
  15. package/lib/module/core/gradient/withAlpha.js +19 -0
  16. package/lib/module/core/haptics/MODULE.md +4 -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 +38 -0
  22. package/lib/module/core/heading/index.js +45 -0
  23. package/lib/module/core/icon/Icon.js +37 -0
  24. package/lib/module/core/icon/MODULE.md +53 -12
  25. package/lib/module/core/icon/icons/arrow-down.js +10 -0
  26. package/lib/module/core/icon/icons/arrow-left.js +10 -0
  27. package/lib/module/core/icon/icons/arrow-right.js +10 -0
  28. package/lib/module/core/icon/icons/arrow-up.js +10 -0
  29. package/lib/module/core/icon/icons/at-sign.js +10 -0
  30. package/lib/module/core/icon/icons/bell.js +10 -0
  31. package/lib/module/core/icon/icons/bold.js +10 -0
  32. package/lib/module/core/icon/icons/building-2.js +10 -0
  33. package/lib/module/core/icon/icons/calendar.js +10 -0
  34. package/lib/module/core/icon/icons/chart-column.js +10 -0
  35. package/lib/module/core/icon/icons/check.js +10 -0
  36. package/lib/module/core/icon/icons/chevron-down.js +10 -0
  37. package/lib/module/core/icon/icons/chevron-left.js +10 -0
  38. package/lib/module/core/icon/icons/chevron-right.js +10 -0
  39. package/lib/module/core/icon/icons/chevron-up.js +10 -0
  40. package/lib/module/core/icon/icons/chevrons-left.js +10 -0
  41. package/lib/module/core/icon/icons/chevrons-right.js +10 -0
  42. package/lib/module/core/icon/icons/chevrons-up-down.js +10 -0
  43. package/lib/module/core/icon/icons/circle-alert.js +10 -0
  44. package/lib/module/core/icon/icons/circle-check.js +10 -0
  45. package/lib/module/core/icon/icons/clock.js +10 -0
  46. package/lib/module/core/icon/icons/code.js +10 -0
  47. package/lib/module/core/icon/icons/download.js +10 -0
  48. package/lib/module/core/icon/icons/external-link.js +10 -0
  49. package/lib/module/core/icon/icons/eye.js +10 -0
  50. package/lib/module/core/icon/icons/file-text.js +10 -0
  51. package/lib/module/core/icon/icons/filter.js +10 -0
  52. package/lib/module/core/icon/icons/flag.js +10 -0
  53. package/lib/module/core/icon/icons/folder.js +10 -0
  54. package/lib/module/core/icon/icons/heading-1.js +10 -0
  55. package/lib/module/core/icon/icons/heading-2.js +10 -0
  56. package/lib/module/core/icon/icons/heading-3.js +10 -0
  57. package/lib/module/core/icon/icons/image.js +10 -0
  58. package/lib/module/core/icon/icons/inbox.js +10 -0
  59. package/lib/module/core/icon/icons/info.js +10 -0
  60. package/lib/module/core/icon/icons/italic.js +10 -0
  61. package/lib/module/core/icon/icons/kanban.js +10 -0
  62. package/lib/module/core/icon/icons/layers.js +10 -0
  63. package/lib/module/core/icon/icons/layout-dashboard.js +10 -0
  64. package/lib/module/core/icon/icons/layout-template.js +10 -0
  65. package/lib/module/core/icon/icons/life-buoy.js +10 -0
  66. package/lib/module/core/icon/icons/link.js +10 -0
  67. package/lib/module/core/icon/icons/list-checks.js +10 -0
  68. package/lib/module/core/icon/icons/list-ordered.js +10 -0
  69. package/lib/module/core/icon/icons/list-todo.js +10 -0
  70. package/lib/module/core/icon/icons/list.js +10 -0
  71. package/lib/module/core/icon/icons/log-out.js +10 -0
  72. package/lib/module/core/icon/icons/map.js +10 -0
  73. package/lib/module/core/icon/icons/message-square.js +10 -0
  74. package/lib/module/core/icon/icons/milestone.js +10 -0
  75. package/lib/module/core/icon/icons/minus.js +10 -0
  76. package/lib/module/core/icon/icons/more-horizontal.js +10 -0
  77. package/lib/module/core/icon/icons/paperclip.js +10 -0
  78. package/lib/module/core/icon/icons/pencil.js +10 -0
  79. package/lib/module/core/icon/icons/plus.js +10 -0
  80. package/lib/module/core/icon/icons/quote.js +10 -0
  81. package/lib/module/core/icon/icons/refresh-cw.js +10 -0
  82. package/lib/module/core/icon/icons/save.js +10 -0
  83. package/lib/module/core/icon/icons/search.js +10 -0
  84. package/lib/module/core/icon/icons/send.js +10 -0
  85. package/lib/module/core/icon/icons/settings.js +10 -0
  86. package/lib/module/core/icon/icons/share.js +10 -0
  87. package/lib/module/core/icon/icons/square-code.js +10 -0
  88. package/lib/module/core/icon/icons/star.js +10 -0
  89. package/lib/module/core/icon/icons/strikethrough.js +10 -0
  90. package/lib/module/core/icon/icons/tag.js +10 -0
  91. package/lib/module/core/icon/icons/trash.js +10 -0
  92. package/lib/module/core/icon/icons/trending-up.js +10 -0
  93. package/lib/module/core/icon/icons/triangle-alert.js +10 -0
  94. package/lib/module/core/icon/icons/underline.js +10 -0
  95. package/lib/module/core/icon/icons/upload.js +10 -0
  96. package/lib/module/core/icon/icons/user.js +10 -0
  97. package/lib/module/core/icon/icons/users.js +10 -0
  98. package/lib/module/core/icon/icons/x.js +10 -0
  99. package/lib/module/core/icon/index.js +4 -153
  100. package/lib/module/core/icon/names.js +2 -0
  101. package/lib/module/core/icon/resolve.js +160 -0
  102. package/lib/module/core/icon/types.js +4 -0
  103. package/lib/module/core/list/VirtualList.js +226 -0
  104. package/lib/module/core/list/index.js +4 -0
  105. package/lib/module/core/media/MediaImage.js +51 -0
  106. package/lib/module/core/media/expoImage.js +26 -0
  107. package/lib/module/core/media/index.js +6 -0
  108. package/lib/module/core/media/pickers.js +23 -0
  109. package/lib/module/core/motion/MODULE.md +101 -0
  110. package/lib/module/core/motion/config.js +115 -0
  111. package/lib/module/core/motion/index.js +8 -0
  112. package/lib/module/core/motion/presets.js +192 -0
  113. package/lib/module/core/motion/useAnimatedValue.js +19 -0
  114. package/lib/module/core/motion/useMotion.js +46 -0
  115. package/lib/module/core/motion/usePressState.js +145 -0
  116. package/lib/module/core/style/index.js +3 -0
  117. package/lib/module/core/style/radius.js +4 -0
  118. package/lib/module/core/style/sx.js +76 -0
  119. package/lib/module/core/style/useThemedStyles.js +8 -0
  120. package/lib/module/index.js +71 -2
  121. package/lib/module/modules/accordion/Accordion.js +286 -97
  122. package/lib/module/modules/accordion/Accordion.variants.js +6 -7
  123. package/lib/module/modules/accordion/MODULE.md +36 -11
  124. package/lib/module/modules/alert-dialog/AlertDialog.js +7 -6
  125. package/lib/module/modules/alert-dialog/AlertDialog.variants.js +4 -0
  126. package/lib/module/modules/alert-dialog/MODULE.md +11 -2
  127. package/lib/module/modules/app-bar/AppBar.js +181 -0
  128. package/lib/module/modules/app-bar/AppBar.variants.js +71 -0
  129. package/lib/module/modules/app-bar/MODULE.md +68 -0
  130. package/lib/module/modules/app-bar/index.js +10 -0
  131. package/lib/module/modules/avatar/Avatar.js +45 -19
  132. package/lib/module/modules/avatar/Avatar.variants.js +44 -3
  133. package/lib/module/modules/avatar/MODULE.md +37 -15
  134. package/lib/module/modules/avatar-group/AvatarGroup.js +81 -0
  135. package/lib/module/modules/avatar-group/AvatarGroup.variants.js +132 -0
  136. package/lib/module/modules/avatar-group/MODULE.md +44 -0
  137. package/lib/module/modules/avatar-group/index.js +10 -0
  138. package/lib/module/modules/badge/Badge.js +14 -7
  139. package/lib/module/modules/badge/Badge.variants.js +14 -3
  140. package/lib/module/modules/badge/MODULE.md +11 -5
  141. package/lib/module/modules/banner/Banner.js +181 -0
  142. package/lib/module/modules/banner/Banner.variants.js +118 -0
  143. package/lib/module/modules/banner/MODULE.md +118 -0
  144. package/lib/module/modules/banner/index.js +4 -0
  145. package/lib/module/modules/bottom-nav/BottomNav.js +43 -129
  146. package/lib/module/modules/bottom-nav/BottomNav.variants.js +36 -18
  147. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +56 -8
  148. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +160 -117
  149. package/lib/module/modules/bottom-nav/BottomNavTab.js +162 -0
  150. package/lib/module/modules/bottom-nav/MODULE.md +30 -6
  151. package/lib/module/modules/bottom-sheet/BottomSheet.js +202 -0
  152. package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +59 -0
  153. package/lib/module/modules/bottom-sheet/MODULE.md +64 -0
  154. package/lib/module/modules/bottom-sheet/index.js +4 -0
  155. package/lib/module/modules/button/Button.js +128 -91
  156. package/lib/module/modules/button/Button.variants.js +20 -14
  157. package/lib/module/modules/button/MODULE.md +31 -3
  158. package/lib/module/modules/button-group/ButtonGroup.js +176 -69
  159. package/lib/module/modules/button-group/ButtonGroup.variants.js +51 -50
  160. package/lib/module/modules/button-group/MODULE.md +58 -37
  161. package/lib/module/modules/card/Card.js +122 -21
  162. package/lib/module/modules/card/Card.variants.js +1 -0
  163. package/lib/module/modules/card/MODULE.md +19 -10
  164. package/lib/module/modules/charts/BarChart.js +257 -0
  165. package/lib/module/modules/charts/BarList.js +112 -49
  166. package/lib/module/modules/charts/ChartLegend.js +154 -0
  167. package/lib/module/modules/charts/Charts.variants.js +589 -2
  168. package/lib/module/modules/charts/DonutChart.js +105 -65
  169. package/lib/module/modules/charts/LineChart.js +181 -0
  170. package/lib/module/modules/charts/MODULE.md +161 -22
  171. package/lib/module/modules/charts/PieChart.js +149 -0
  172. package/lib/module/modules/charts/Sparkline.js +7 -4
  173. package/lib/module/modules/charts/index.js +3 -0
  174. package/lib/module/modules/checkbox/Checkbox.js +122 -44
  175. package/lib/module/modules/checkbox/Checkbox.variants.js +13 -8
  176. package/lib/module/modules/checkbox/MODULE.md +40 -8
  177. package/lib/module/modules/chip/Chip.js +200 -0
  178. package/lib/module/modules/chip/Chip.variants.js +290 -0
  179. package/lib/module/modules/chip/ChipGroup.js +48 -0
  180. package/lib/module/modules/chip/MODULE.md +158 -0
  181. package/lib/module/modules/chip/index.js +13 -0
  182. package/lib/module/modules/combobox/Combobox.js +623 -0
  183. package/lib/module/modules/combobox/Combobox.variants.js +295 -0
  184. package/lib/module/modules/combobox/MODULE.md +193 -0
  185. package/lib/module/modules/combobox/comboboxKeys.js +19 -0
  186. package/lib/module/modules/combobox/comboboxKeys.web.js +76 -0
  187. package/lib/module/modules/combobox/index.js +13 -0
  188. package/lib/module/modules/composer/Composer.js +163 -0
  189. package/lib/module/modules/composer/Composer.variants.js +44 -0
  190. package/lib/module/modules/composer/MODULE.md +75 -0
  191. package/lib/module/modules/composer/index.js +4 -0
  192. package/lib/module/modules/copy-button/CopyButton.js +174 -0
  193. package/lib/module/modules/copy-button/CopyButton.variants.js +88 -0
  194. package/lib/module/modules/copy-button/MODULE.md +78 -0
  195. package/lib/module/modules/copy-button/index.js +4 -0
  196. package/lib/module/modules/data-table/DataTable.js +532 -0
  197. package/lib/module/modules/data-table/DataTable.variants.js +189 -0
  198. package/lib/module/modules/data-table/MODULE.md +146 -0
  199. package/lib/module/modules/data-table/index.js +10 -0
  200. package/lib/module/modules/date-picker/Calendar.js +414 -0
  201. package/lib/module/modules/date-picker/Calendar.keys.js +23 -0
  202. package/lib/module/modules/date-picker/Calendar.keys.web.js +83 -0
  203. package/lib/module/modules/date-picker/DatePicker.js +162 -0
  204. package/lib/module/modules/date-picker/DatePicker.variants.js +701 -0
  205. package/lib/module/modules/date-picker/DateRangePicker.js +87 -0
  206. package/lib/module/modules/date-picker/MODULE.md +190 -0
  207. package/lib/module/modules/date-picker/PickerField.js +151 -0
  208. package/lib/module/modules/date-picker/PickerShell.js +134 -0
  209. package/lib/module/modules/date-picker/TimePicker.js +179 -0
  210. package/lib/module/modules/date-picker/index.js +14 -0
  211. package/lib/module/modules/divider/Divider.js +8 -7
  212. package/lib/module/modules/divider/Divider.variants.js +6 -5
  213. package/lib/module/modules/divider/MODULE.md +8 -0
  214. package/lib/module/modules/drawer/Drawer.js +156 -62
  215. package/lib/module/modules/drawer/Drawer.variants.js +7 -20
  216. package/lib/module/modules/drawer/MODULE.md +93 -118
  217. package/lib/module/modules/empty-state/EmptyState.js +34 -31
  218. package/lib/module/modules/empty-state/EmptyState.variants.js +16 -0
  219. package/lib/module/modules/empty-state/MODULE.md +26 -7
  220. package/lib/module/modules/fab/Fab.js +192 -0
  221. package/lib/module/modules/fab/Fab.variants.js +360 -0
  222. package/lib/module/modules/fab/FabGroup.js +361 -0
  223. package/lib/module/modules/fab/MODULE.md +194 -0
  224. package/lib/module/modules/fab/index.js +13 -0
  225. package/lib/module/modules/file-grid/FileGrid.js +163 -0
  226. package/lib/module/modules/file-grid/FileGrid.variants.js +51 -0
  227. package/lib/module/modules/file-grid/MODULE.md +14 -0
  228. package/lib/module/modules/file-grid/index.js +4 -0
  229. package/lib/module/modules/file-upload/FileUpload.js +124 -34
  230. package/lib/module/modules/file-upload/FileUpload.variants.js +53 -8
  231. package/lib/module/modules/file-upload/MODULE.md +24 -4
  232. package/lib/module/modules/filter-sheet/FilterChip.js +32 -18
  233. package/lib/module/modules/filter-sheet/FilterSheet.js +17 -11
  234. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +24 -5
  235. package/lib/module/modules/filter-sheet/FilterSheetBody.js +180 -82
  236. package/lib/module/modules/filter-sheet/MODULE.md +31 -1
  237. package/lib/module/modules/folder-row/FolderRow.js +144 -0
  238. package/lib/module/modules/folder-row/FolderRow.variants.js +51 -0
  239. package/lib/module/modules/folder-row/MODULE.md +72 -0
  240. package/lib/module/modules/folder-row/index.js +4 -0
  241. package/lib/module/modules/form-field/FormField.js +104 -0
  242. package/lib/module/modules/form-field/FormField.variants.js +88 -0
  243. package/lib/module/modules/form-field/MODULE.md +103 -0
  244. package/lib/module/modules/form-field/index.js +4 -0
  245. package/lib/module/modules/gantt/Gantt.js +239 -0
  246. package/lib/module/modules/gantt/Gantt.variants.js +177 -0
  247. package/lib/module/modules/gantt/MODULE.md +81 -0
  248. package/lib/module/modules/gantt/index.js +5 -0
  249. package/lib/module/modules/image-viewer/ImageViewer.js +265 -0
  250. package/lib/module/modules/image-viewer/ImageViewer.variants.js +6 -0
  251. package/lib/module/modules/image-viewer/MODULE.md +63 -0
  252. package/lib/module/modules/image-viewer/index.js +4 -0
  253. package/lib/module/modules/input/Input.js +119 -48
  254. package/lib/module/modules/input/Input.variants.js +26 -11
  255. package/lib/module/modules/input/MODULE.md +38 -6
  256. package/lib/module/modules/limit-reached-modal/LimitReachedModal.js +90 -0
  257. package/lib/module/modules/limit-reached-modal/LimitReachedModal.variants.js +108 -0
  258. package/lib/module/modules/limit-reached-modal/MODULE.md +94 -0
  259. package/lib/module/modules/limit-reached-modal/index.js +11 -0
  260. package/lib/module/modules/list-item/ListItem.js +70 -31
  261. package/lib/module/modules/list-item/ListItem.variants.js +11 -2
  262. package/lib/module/modules/list-item/MODULE.md +8 -3
  263. package/lib/module/modules/markdown/MODULE.md +39 -5
  264. package/lib/module/modules/markdown/Markdown.js +107 -38
  265. package/lib/module/modules/markdown/Markdown.variants.js +8 -2
  266. package/lib/module/modules/markdown/parseMarkdown.js +3 -3
  267. package/lib/module/modules/menu/MODULE.md +56 -14
  268. package/lib/module/modules/menu/Menu.js +236 -68
  269. package/lib/module/modules/menu/Menu.variants.js +13 -3
  270. package/lib/module/modules/message-bubble/MODULE.md +41 -0
  271. package/lib/module/modules/message-bubble/MessageBubble.js +54 -0
  272. package/lib/module/modules/message-bubble/MessageBubble.variants.js +57 -0
  273. package/lib/module/modules/message-bubble/index.js +4 -0
  274. package/lib/module/modules/modal/MODULE.md +40 -3
  275. package/lib/module/modules/modal/Modal.js +135 -33
  276. package/lib/module/modules/modal/Modal.variants.js +2 -2
  277. package/lib/module/modules/more-items/MODULE.md +77 -0
  278. package/lib/module/modules/more-items/MoreItems.js +168 -0
  279. package/lib/module/modules/more-items/MoreItems.variants.js +83 -0
  280. package/lib/module/modules/more-items/index.js +4 -0
  281. package/lib/module/modules/multi-select/MODULE.md +89 -18
  282. package/lib/module/modules/multi-select/MultiSelect.js +239 -105
  283. package/lib/module/modules/multi-select/MultiSelect.variants.js +32 -7
  284. package/lib/module/modules/number-input/MODULE.md +41 -6
  285. package/lib/module/modules/number-input/NumberInput.js +124 -81
  286. package/lib/module/modules/number-input/NumberInput.variants.js +48 -11
  287. package/lib/module/modules/org-switcher/MODULE.md +133 -0
  288. package/lib/module/modules/org-switcher/OrgSwitcher.js +295 -0
  289. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +188 -0
  290. package/lib/module/modules/org-switcher/index.js +9 -0
  291. package/lib/module/modules/pagination/MODULE.md +163 -0
  292. package/lib/module/modules/pagination/Pagination.js +236 -0
  293. package/lib/module/modules/pagination/Pagination.variants.js +309 -0
  294. package/lib/module/modules/pagination/PaginationControls.js +213 -0
  295. package/lib/module/modules/pagination/index.js +15 -0
  296. package/lib/module/modules/pin-input/MODULE.md +34 -15
  297. package/lib/module/modules/pin-input/PinInput.js +119 -81
  298. package/lib/module/modules/pin-input/PinInput.variants.js +15 -6
  299. package/lib/module/modules/progress-bar/MODULE.md +17 -7
  300. package/lib/module/modules/progress-bar/ProgressBar.js +97 -56
  301. package/lib/module/modules/progress-bar/ProgressBar.variants.js +16 -18
  302. package/lib/module/modules/radio-group/MODULE.md +42 -16
  303. package/lib/module/modules/radio-group/RadioGroup.js +172 -49
  304. package/lib/module/modules/radio-group/RadioGroup.variants.js +48 -11
  305. package/lib/module/modules/reorder/MODULE.md +106 -97
  306. package/lib/module/modules/reorder/Reorder.js +234 -197
  307. package/lib/module/modules/reorder/Reorder.variants.js +39 -15
  308. package/lib/module/modules/rich-text/MODULE.md +54 -0
  309. package/lib/module/modules/rich-text/RichText.js +382 -0
  310. package/lib/module/modules/rich-text/RichText.variants.js +17 -0
  311. package/lib/module/modules/rich-text/index.js +5 -0
  312. package/lib/module/modules/rich-text/parseRichText.js +133 -0
  313. package/lib/module/modules/rich-text-editor/MODULE.md +228 -0
  314. package/lib/module/modules/rich-text-editor/RichTextEditor.js +420 -0
  315. package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +319 -0
  316. package/lib/module/modules/rich-text-editor/index.js +10 -0
  317. package/lib/module/modules/screen/MODULE.md +64 -0
  318. package/lib/module/modules/screen/Screen.js +139 -0
  319. package/lib/module/modules/screen/Screen.variants.js +61 -0
  320. package/lib/module/modules/screen/index.js +10 -0
  321. package/lib/module/modules/search-bar/MODULE.md +115 -0
  322. package/lib/module/modules/search-bar/SearchBar.js +276 -0
  323. package/lib/module/modules/search-bar/SearchBar.variants.js +208 -0
  324. package/lib/module/modules/search-bar/index.js +12 -0
  325. package/lib/module/modules/section/MODULE.md +41 -0
  326. package/lib/module/modules/section/Section.js +35 -0
  327. package/lib/module/modules/section/Section.variants.js +24 -0
  328. package/lib/module/modules/section/index.js +10 -0
  329. package/lib/module/modules/section-list/MODULE.md +18 -0
  330. package/lib/module/modules/section-list/SectionList.js +64 -0
  331. package/lib/module/modules/section-list/SectionList.variants.js +11 -0
  332. package/lib/module/modules/section-list/index.js +4 -0
  333. package/lib/module/modules/segmented-control/MODULE.md +126 -0
  334. package/lib/module/modules/segmented-control/SegmentedControl.js +222 -0
  335. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +168 -0
  336. package/lib/module/modules/segmented-control/index.js +13 -0
  337. package/lib/module/modules/select/MODULE.md +103 -15
  338. package/lib/module/modules/select/Select.js +223 -94
  339. package/lib/module/modules/select/Select.variants.js +64 -17
  340. package/lib/module/modules/skeleton/MODULE.md +37 -21
  341. package/lib/module/modules/skeleton/Skeleton.js +55 -46
  342. package/lib/module/modules/skeleton/Skeleton.variants.js +19 -76
  343. package/lib/module/modules/slider/MODULE.md +33 -5
  344. package/lib/module/modules/slider/Slider.js +68 -10
  345. package/lib/module/modules/slider/Slider.variants.js +60 -13
  346. package/lib/module/modules/spinner/MODULE.md +16 -6
  347. package/lib/module/modules/spinner/Spinner.js +20 -16
  348. package/lib/module/modules/spinner/Spinner.variants.js +5 -3
  349. package/lib/module/modules/stage-progress/MODULE.md +68 -0
  350. package/lib/module/modules/stage-progress/StageProgress.js +221 -0
  351. package/lib/module/modules/stage-progress/StageProgress.variants.js +169 -0
  352. package/lib/module/modules/stage-progress/index.js +4 -0
  353. package/lib/module/modules/stat-tile/MODULE.md +11 -2
  354. package/lib/module/modules/stat-tile/StatTile.js +76 -34
  355. package/lib/module/modules/stat-tile/StatTile.variants.js +8 -4
  356. package/lib/module/modules/state-block/MODULE.md +55 -0
  357. package/lib/module/modules/state-block/StateBlock.js +136 -0
  358. package/lib/module/modules/state-block/StateBlock.variants.js +62 -0
  359. package/lib/module/modules/state-block/index.js +10 -0
  360. package/lib/module/modules/stepper/MODULE.md +33 -6
  361. package/lib/module/modules/stepper/Stepper.js +108 -39
  362. package/lib/module/modules/stepper/Stepper.variants.js +6 -6
  363. package/lib/module/modules/surface/MODULE.md +59 -0
  364. package/lib/module/modules/surface/Surface.js +42 -0
  365. package/lib/module/modules/surface/Surface.variants.js +33 -0
  366. package/lib/module/modules/surface/index.js +4 -0
  367. package/lib/module/modules/swipeable-row/MODULE.md +129 -0
  368. package/lib/module/modules/swipeable-row/SwipeableRow.js +265 -0
  369. package/lib/module/modules/swipeable-row/SwipeableRow.variants.js +80 -0
  370. package/lib/module/modules/swipeable-row/index.js +4 -0
  371. package/lib/module/modules/switch/MODULE.md +16 -0
  372. package/lib/module/modules/switch/Switch.js +9 -3
  373. package/lib/module/modules/switch/Switch.variants.js +8 -0
  374. package/lib/module/modules/tabs/MODULE.md +48 -13
  375. package/lib/module/modules/tabs/Tabs.js +141 -73
  376. package/lib/module/modules/tabs/Tabs.variants.js +33 -9
  377. package/lib/module/modules/text/MODULE.md +54 -0
  378. package/lib/module/modules/text/Text.js +59 -0
  379. package/lib/module/modules/text/Text.variants.js +162 -0
  380. package/lib/module/modules/text/index.js +4 -0
  381. package/lib/module/modules/textarea/MODULE.md +31 -13
  382. package/lib/module/modules/textarea/Textarea.js +92 -46
  383. package/lib/module/modules/textarea/Textarea.variants.js +16 -10
  384. package/lib/module/modules/timeline/MODULE.md +39 -7
  385. package/lib/module/modules/timeline/Timeline.js +151 -77
  386. package/lib/module/modules/timeline/Timeline.variants.js +13 -0
  387. package/lib/module/modules/toast/MODULE.md +74 -11
  388. package/lib/module/modules/toast/Toast.js +118 -34
  389. package/lib/module/modules/toast/Toast.variants.js +42 -1
  390. package/lib/module/modules/toast/toastScreenReader.js +69 -0
  391. package/lib/module/modules/tooltip/MODULE.md +82 -28
  392. package/lib/module/modules/tooltip/Tooltip.js +126 -44
  393. package/lib/module/modules/tooltip/Tooltip.variants.js +11 -5
  394. package/lib/module/modules/typing-indicator/MODULE.md +48 -0
  395. package/lib/module/modules/typing-indicator/TypingIndicator.js +98 -0
  396. package/lib/module/modules/typing-indicator/TypingIndicator.variants.js +55 -0
  397. package/lib/module/modules/typing-indicator/index.js +4 -0
  398. package/lib/module/modules/unread-badge/MODULE.md +20 -0
  399. package/lib/module/modules/unread-badge/UnreadBadge.js +45 -0
  400. package/lib/module/modules/unread-badge/UnreadBadge.variants.js +66 -0
  401. package/lib/module/modules/unread-badge/index.js +4 -0
  402. package/lib/module/test/mocks/flashList.js +5 -0
  403. package/lib/module/test/perfHelpers.js +18 -0
  404. package/lib/module/theme/MODULE.md +9 -1
  405. package/lib/module/theme/hooks.js +11 -0
  406. package/lib/module/theme/index.js +3 -6
  407. package/lib/module/theme/platform/MODULE.md +20 -2
  408. package/lib/module/theme/platform/elevation.native.js +0 -44
  409. package/lib/module/theme/platform/floatingSurface.native.js +75 -0
  410. package/lib/module/theme/platform/highlight.native.js +59 -0
  411. package/lib/module/theme/platform/index.js +5 -0
  412. package/lib/module/theme/platform/motion.native.js +35 -0
  413. package/lib/module/theme/platform/stateLayer.native.js +14 -0
  414. package/lib/module/theme/platform/surfaces.native.js +11 -0
  415. package/lib/module/theme/provider/PixelizeProvider.js +18 -49
  416. package/lib/module/theme/provider/ThemeContext.js +6 -0
  417. package/lib/module/theme/provider/colorModeStorage.js +2 -2
  418. package/lib/module/theme/provider/index.js +1 -0
  419. package/lib/module/theme/provider/loadPalette.js +75 -0
  420. package/lib/module/theme/provider/types.js +4 -0
  421. package/lib/module/theme/provider/useTheme.js +1 -2
  422. package/lib/module/theme/provider/useThemeMode.js +1 -1
  423. package/lib/module/theme/tokens/MODULE.md +32 -28
  424. package/lib/module/theme/tokens/THEME-CONTRACT.md +137 -0
  425. package/lib/module/theme/tokens/assertPalette.js +29 -0
  426. package/lib/module/theme/tokens/brands/emerald/palette.light.js +7 -6
  427. package/lib/module/theme/tokens/brands/lavender/palette.light.js +3 -2
  428. package/lib/module/theme/tokens/brands/meadow/palette.light.js +7 -6
  429. package/lib/module/theme/tokens/brands/radiant/palette.light.js +7 -6
  430. package/lib/module/theme/tokens/brands/rosewood/palette.light.js +7 -6
  431. package/lib/module/theme/tokens/brands/skyline/palette.light.js +7 -6
  432. package/lib/module/theme/tokens/brands/slate/palette.light.js +8 -10
  433. package/lib/module/theme/tokens/brands/storefront/palette.light.js +7 -6
  434. package/lib/module/theme/tokens/brands/zinc/palette.dark.js +3 -2
  435. package/lib/module/theme/tokens/brands/zinc/palette.light.js +3 -2
  436. package/lib/module/theme/tokens/builders/buildDarkPalette.js +3 -2
  437. package/lib/module/theme/tokens/builders/finalizePalette.js +34 -0
  438. package/lib/module/theme/tokens/builders/liftToContrast.js +44 -0
  439. package/lib/module/theme/tokens/builders/placeholderInk.js +22 -0
  440. package/lib/module/theme/tokens/builders/semanticText.js +14 -0
  441. package/lib/module/theme/tokens/builders/surfaceRungs.js +44 -0
  442. package/lib/module/theme/tokens/index.js +5 -0
  443. package/lib/module/theme/tokens/roles/index.js +14 -3
  444. package/lib/typescript/core/a11y/announce.d.ts +20 -0
  445. package/lib/typescript/core/a11y/announce.web.d.ts +27 -0
  446. package/lib/typescript/core/a11y/index.d.ts +21 -2
  447. package/lib/typescript/core/a11y/keyboard.d.ts +45 -0
  448. package/lib/typescript/core/a11y/keyboard.web.d.ts +69 -0
  449. package/lib/typescript/core/a11y/labels.d.ts +19 -0
  450. package/lib/typescript/core/device/index.d.ts +16 -0
  451. package/lib/typescript/core/gradient/AccentGradientFill.d.ts +7 -0
  452. package/lib/typescript/core/gradient/darkenHex.d.ts +2 -0
  453. package/lib/typescript/core/gradient/gradientStops.d.ts +10 -0
  454. package/lib/typescript/core/gradient/index.d.ts +5 -0
  455. package/lib/typescript/core/gradient/withAlpha.d.ts +2 -0
  456. package/lib/typescript/core/haptics/context.d.ts +3 -0
  457. package/lib/typescript/core/haptics/haptics.d.ts +33 -0
  458. package/lib/typescript/core/haptics/index.d.ts +6 -0
  459. package/lib/typescript/core/haptics/useHaptics.d.ts +12 -0
  460. package/lib/typescript/core/heading/index.d.ts +45 -0
  461. package/lib/typescript/core/icon/Icon.d.ts +18 -0
  462. package/lib/typescript/core/icon/icons/arrow-down.d.ts +3 -0
  463. package/lib/typescript/core/icon/icons/arrow-left.d.ts +3 -0
  464. package/lib/typescript/core/icon/icons/arrow-right.d.ts +3 -0
  465. package/lib/typescript/core/icon/icons/arrow-up.d.ts +3 -0
  466. package/lib/typescript/core/icon/icons/at-sign.d.ts +3 -0
  467. package/lib/typescript/core/icon/icons/bell.d.ts +3 -0
  468. package/lib/typescript/core/icon/icons/bold.d.ts +3 -0
  469. package/lib/typescript/core/icon/icons/building-2.d.ts +3 -0
  470. package/lib/typescript/core/icon/icons/calendar.d.ts +3 -0
  471. package/lib/typescript/core/icon/icons/chart-column.d.ts +3 -0
  472. package/lib/typescript/core/icon/icons/check.d.ts +3 -0
  473. package/lib/typescript/core/icon/icons/chevron-down.d.ts +3 -0
  474. package/lib/typescript/core/icon/icons/chevron-left.d.ts +3 -0
  475. package/lib/typescript/core/icon/icons/chevron-right.d.ts +3 -0
  476. package/lib/typescript/core/icon/icons/chevron-up.d.ts +3 -0
  477. package/lib/typescript/core/icon/icons/chevrons-left.d.ts +3 -0
  478. package/lib/typescript/core/icon/icons/chevrons-right.d.ts +3 -0
  479. package/lib/typescript/core/icon/icons/chevrons-up-down.d.ts +3 -0
  480. package/lib/typescript/core/icon/icons/circle-alert.d.ts +3 -0
  481. package/lib/typescript/core/icon/icons/circle-check.d.ts +3 -0
  482. package/lib/typescript/core/icon/icons/clock.d.ts +3 -0
  483. package/lib/typescript/core/icon/icons/code.d.ts +3 -0
  484. package/lib/typescript/core/icon/icons/download.d.ts +3 -0
  485. package/lib/typescript/core/icon/icons/external-link.d.ts +3 -0
  486. package/lib/typescript/core/icon/icons/eye.d.ts +3 -0
  487. package/lib/typescript/core/icon/icons/file-text.d.ts +3 -0
  488. package/lib/typescript/core/icon/icons/filter.d.ts +3 -0
  489. package/lib/typescript/core/icon/icons/flag.d.ts +3 -0
  490. package/lib/typescript/core/icon/icons/folder.d.ts +3 -0
  491. package/lib/typescript/core/icon/icons/heading-1.d.ts +3 -0
  492. package/lib/typescript/core/icon/icons/heading-2.d.ts +3 -0
  493. package/lib/typescript/core/icon/icons/heading-3.d.ts +3 -0
  494. package/lib/typescript/core/icon/icons/image.d.ts +3 -0
  495. package/lib/typescript/core/icon/icons/inbox.d.ts +3 -0
  496. package/lib/typescript/core/icon/icons/info.d.ts +3 -0
  497. package/lib/typescript/core/icon/icons/italic.d.ts +3 -0
  498. package/lib/typescript/core/icon/icons/kanban.d.ts +3 -0
  499. package/lib/typescript/core/icon/icons/layers.d.ts +3 -0
  500. package/lib/typescript/core/icon/icons/layout-dashboard.d.ts +3 -0
  501. package/lib/typescript/core/icon/icons/layout-template.d.ts +3 -0
  502. package/lib/typescript/core/icon/icons/life-buoy.d.ts +3 -0
  503. package/lib/typescript/core/icon/icons/link.d.ts +3 -0
  504. package/lib/typescript/core/icon/icons/list-checks.d.ts +3 -0
  505. package/lib/typescript/core/icon/icons/list-ordered.d.ts +3 -0
  506. package/lib/typescript/core/icon/icons/list-todo.d.ts +3 -0
  507. package/lib/typescript/core/icon/icons/list.d.ts +3 -0
  508. package/lib/typescript/core/icon/icons/log-out.d.ts +3 -0
  509. package/lib/typescript/core/icon/icons/map.d.ts +3 -0
  510. package/lib/typescript/core/icon/icons/message-square.d.ts +3 -0
  511. package/lib/typescript/core/icon/icons/milestone.d.ts +3 -0
  512. package/lib/typescript/core/icon/icons/minus.d.ts +3 -0
  513. package/lib/typescript/core/icon/icons/more-horizontal.d.ts +3 -0
  514. package/lib/typescript/core/icon/icons/paperclip.d.ts +3 -0
  515. package/lib/typescript/core/icon/icons/pencil.d.ts +3 -0
  516. package/lib/typescript/core/icon/icons/plus.d.ts +3 -0
  517. package/lib/typescript/core/icon/icons/quote.d.ts +3 -0
  518. package/lib/typescript/core/icon/icons/refresh-cw.d.ts +3 -0
  519. package/lib/typescript/core/icon/icons/save.d.ts +3 -0
  520. package/lib/typescript/core/icon/icons/search.d.ts +3 -0
  521. package/lib/typescript/core/icon/icons/send.d.ts +3 -0
  522. package/lib/typescript/core/icon/icons/settings.d.ts +3 -0
  523. package/lib/typescript/core/icon/icons/share.d.ts +3 -0
  524. package/lib/typescript/core/icon/icons/square-code.d.ts +3 -0
  525. package/lib/typescript/core/icon/icons/star.d.ts +3 -0
  526. package/lib/typescript/core/icon/icons/strikethrough.d.ts +3 -0
  527. package/lib/typescript/core/icon/icons/tag.d.ts +3 -0
  528. package/lib/typescript/core/icon/icons/trash.d.ts +3 -0
  529. package/lib/typescript/core/icon/icons/trending-up.d.ts +3 -0
  530. package/lib/typescript/core/icon/icons/triangle-alert.d.ts +3 -0
  531. package/lib/typescript/core/icon/icons/underline.d.ts +3 -0
  532. package/lib/typescript/core/icon/icons/upload.d.ts +3 -0
  533. package/lib/typescript/core/icon/icons/user.d.ts +3 -0
  534. package/lib/typescript/core/icon/icons/users.d.ts +3 -0
  535. package/lib/typescript/core/icon/icons/x.d.ts +3 -0
  536. package/lib/typescript/core/icon/index.d.ts +6 -94
  537. package/lib/typescript/core/icon/names.d.ts +2 -0
  538. package/lib/typescript/core/icon/resolve.d.ts +4 -0
  539. package/lib/typescript/core/icon/types.d.ts +13 -0
  540. package/lib/typescript/core/list/VirtualList.d.ts +55 -0
  541. package/lib/typescript/core/list/index.d.ts +3 -0
  542. package/lib/typescript/core/media/MediaImage.d.ts +28 -0
  543. package/lib/typescript/core/media/expoImage.d.ts +23 -0
  544. package/lib/typescript/core/media/index.d.ts +7 -0
  545. package/lib/typescript/core/media/pickers.d.ts +27 -0
  546. package/lib/typescript/core/motion/config.d.ts +57 -0
  547. package/lib/typescript/core/motion/index.d.ts +10 -0
  548. package/lib/typescript/core/motion/presets.d.ts +49 -0
  549. package/lib/typescript/core/motion/useAnimatedValue.d.ts +11 -0
  550. package/lib/typescript/core/motion/useMotion.d.ts +34 -0
  551. package/lib/typescript/core/motion/usePressState.d.ts +21 -0
  552. package/lib/typescript/core/style/index.d.ts +4 -0
  553. package/lib/typescript/core/style/radius.d.ts +2 -0
  554. package/lib/typescript/core/style/sx.d.ts +86 -0
  555. package/lib/typescript/core/style/useThemedStyles.d.ts +5 -0
  556. package/lib/typescript/index.d.ts +136 -2
  557. package/lib/typescript/modules/accordion/Accordion.d.ts +12 -23
  558. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +7 -7
  559. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +2 -1
  560. package/lib/typescript/modules/app-bar/AppBar.d.ts +37 -0
  561. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +35 -0
  562. package/lib/typescript/modules/app-bar/index.d.ts +9 -0
  563. package/lib/typescript/modules/avatar/Avatar.d.ts +23 -3
  564. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +32 -1
  565. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  566. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +30 -0
  567. package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +94 -0
  568. package/lib/typescript/modules/avatar-group/index.d.ts +9 -0
  569. package/lib/typescript/modules/badge/Badge.d.ts +3 -1
  570. package/lib/typescript/modules/badge/Badge.variants.d.ts +8 -4
  571. package/lib/typescript/modules/banner/Banner.d.ts +37 -0
  572. package/lib/typescript/modules/banner/Banner.variants.d.ts +49 -0
  573. package/lib/typescript/modules/banner/index.d.ts +5 -0
  574. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +9 -8
  575. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +23 -12
  576. package/lib/typescript/modules/bottom-nav/BottomNavTab.d.ts +34 -0
  577. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +29 -0
  578. package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +15 -0
  579. package/lib/typescript/modules/bottom-sheet/index.d.ts +3 -0
  580. package/lib/typescript/modules/button/Button.d.ts +9 -13
  581. package/lib/typescript/modules/button/Button.variants.d.ts +28 -15
  582. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +0 -17
  583. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +40 -61
  584. package/lib/typescript/modules/card/Card.d.ts +7 -5
  585. package/lib/typescript/modules/card/Card.variants.d.ts +2 -2
  586. package/lib/typescript/modules/charts/BarChart.d.ts +26 -0
  587. package/lib/typescript/modules/charts/ChartLegend.d.ts +16 -0
  588. package/lib/typescript/modules/charts/Charts.variants.d.ts +229 -2
  589. package/lib/typescript/modules/charts/DonutChart.d.ts +3 -0
  590. package/lib/typescript/modules/charts/LineChart.d.ts +30 -0
  591. package/lib/typescript/modules/charts/PieChart.d.ts +18 -0
  592. package/lib/typescript/modules/charts/index.d.ts +6 -0
  593. package/lib/typescript/modules/checkbox/Checkbox.d.ts +4 -1
  594. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +14 -9
  595. package/lib/typescript/modules/chip/Chip.d.ts +40 -0
  596. package/lib/typescript/modules/chip/Chip.variants.d.ts +202 -0
  597. package/lib/typescript/modules/chip/ChipGroup.d.ts +22 -0
  598. package/lib/typescript/modules/chip/index.d.ts +12 -0
  599. package/lib/typescript/modules/combobox/Combobox.d.ts +81 -0
  600. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +225 -0
  601. package/lib/typescript/modules/combobox/comboboxKeys.d.ts +25 -0
  602. package/lib/typescript/modules/combobox/comboboxKeys.web.d.ts +23 -0
  603. package/lib/typescript/modules/combobox/index.d.ts +11 -0
  604. package/lib/typescript/modules/composer/Composer.d.ts +28 -0
  605. package/lib/typescript/modules/composer/Composer.variants.d.ts +7 -0
  606. package/lib/typescript/modules/composer/index.d.ts +3 -0
  607. package/lib/typescript/modules/copy-button/CopyButton.d.ts +21 -0
  608. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +42 -0
  609. package/lib/typescript/modules/copy-button/index.d.ts +4 -0
  610. package/lib/typescript/modules/data-table/DataTable.d.ts +44 -0
  611. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +118 -0
  612. package/lib/typescript/modules/data-table/index.d.ts +9 -0
  613. package/lib/typescript/modules/date-picker/Calendar.d.ts +42 -0
  614. package/lib/typescript/modules/date-picker/Calendar.keys.d.ts +19 -0
  615. package/lib/typescript/modules/date-picker/Calendar.keys.web.d.ts +35 -0
  616. package/lib/typescript/modules/date-picker/DatePicker.d.ts +40 -0
  617. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +334 -0
  618. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +32 -0
  619. package/lib/typescript/modules/date-picker/PickerField.d.ts +26 -0
  620. package/lib/typescript/modules/date-picker/PickerShell.d.ts +29 -0
  621. package/lib/typescript/modules/date-picker/TimePicker.d.ts +14 -0
  622. package/lib/typescript/modules/date-picker/index.d.ts +16 -0
  623. package/lib/typescript/modules/divider/Divider.variants.d.ts +6 -6
  624. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -1
  625. package/lib/typescript/modules/drawer/Drawer.variants.d.ts +4 -13
  626. package/lib/typescript/modules/empty-state/EmptyState.d.ts +9 -4
  627. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +8 -1
  628. package/lib/typescript/modules/fab/Fab.d.ts +74 -0
  629. package/lib/typescript/modules/fab/Fab.variants.d.ts +231 -0
  630. package/lib/typescript/modules/fab/FabGroup.d.ts +66 -0
  631. package/lib/typescript/modules/fab/index.d.ts +12 -0
  632. package/lib/typescript/modules/file-grid/FileGrid.d.ts +26 -0
  633. package/lib/typescript/modules/file-grid/FileGrid.variants.d.ts +26 -0
  634. package/lib/typescript/modules/file-grid/index.d.ts +4 -0
  635. package/lib/typescript/modules/file-upload/FileUpload.d.ts +3 -0
  636. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +22 -5
  637. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +30 -5
  638. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +13 -8
  639. package/lib/typescript/modules/folder-row/FolderRow.d.ts +16 -0
  640. package/lib/typescript/modules/folder-row/FolderRow.variants.d.ts +29 -0
  641. package/lib/typescript/modules/folder-row/index.d.ts +3 -0
  642. package/lib/typescript/modules/form-field/FormField.d.ts +29 -0
  643. package/lib/typescript/modules/form-field/FormField.variants.d.ts +93 -0
  644. package/lib/typescript/modules/form-field/index.d.ts +4 -0
  645. package/lib/typescript/modules/gantt/Gantt.d.ts +19 -0
  646. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +103 -0
  647. package/lib/typescript/modules/gantt/index.d.ts +5 -0
  648. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +27 -0
  649. package/lib/typescript/modules/image-viewer/ImageViewer.variants.d.ts +3 -0
  650. package/lib/typescript/modules/image-viewer/index.d.ts +3 -0
  651. package/lib/typescript/modules/input/Input.d.ts +9 -1
  652. package/lib/typescript/modules/input/Input.variants.d.ts +32 -12
  653. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +34 -0
  654. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.variants.d.ts +46 -0
  655. package/lib/typescript/modules/limit-reached-modal/index.d.ts +10 -0
  656. package/lib/typescript/modules/list-item/ListItem.d.ts +3 -1
  657. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +138 -2
  658. package/lib/typescript/modules/markdown/Markdown.d.ts +13 -0
  659. package/lib/typescript/modules/markdown/Markdown.variants.d.ts +8 -2
  660. package/lib/typescript/modules/markdown/parseMarkdown.d.ts +3 -2
  661. package/lib/typescript/modules/menu/Menu.d.ts +8 -18
  662. package/lib/typescript/modules/menu/Menu.variants.d.ts +8 -1
  663. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +25 -0
  664. package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +30 -0
  665. package/lib/typescript/modules/message-bubble/index.d.ts +4 -0
  666. package/lib/typescript/modules/modal/Modal.d.ts +12 -0
  667. package/lib/typescript/modules/modal/Modal.variants.d.ts +1 -1
  668. package/lib/typescript/modules/more-items/MoreItems.d.ts +15 -0
  669. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +30 -0
  670. package/lib/typescript/modules/more-items/index.d.ts +4 -0
  671. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -16
  672. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +24 -5
  673. package/lib/typescript/modules/number-input/NumberInput.d.ts +6 -0
  674. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +64 -12
  675. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +44 -0
  676. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +139 -0
  677. package/lib/typescript/modules/org-switcher/index.d.ts +8 -0
  678. package/lib/typescript/modules/pagination/Pagination.d.ts +45 -0
  679. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +240 -0
  680. package/lib/typescript/modules/pagination/PaginationControls.d.ts +47 -0
  681. package/lib/typescript/modules/pagination/index.d.ts +14 -0
  682. package/lib/typescript/modules/pin-input/PinInput.d.ts +6 -0
  683. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +22 -5
  684. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +8 -4
  685. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +13 -15
  686. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +6 -0
  687. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +32 -11
  688. package/lib/typescript/modules/reorder/Reorder.d.ts +28 -23
  689. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +25 -9
  690. package/lib/typescript/modules/rich-text/RichText.d.ts +15 -0
  691. package/lib/typescript/modules/rich-text/RichText.variants.d.ts +15 -0
  692. package/lib/typescript/modules/rich-text/index.d.ts +5 -0
  693. package/lib/typescript/modules/rich-text/parseRichText.d.ts +30 -0
  694. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +62 -0
  695. package/lib/typescript/modules/rich-text-editor/RichTextEditor.variants.d.ts +139 -0
  696. package/lib/typescript/modules/rich-text-editor/index.d.ts +9 -0
  697. package/lib/typescript/modules/screen/Screen.d.ts +30 -0
  698. package/lib/typescript/modules/screen/Screen.variants.d.ts +25 -0
  699. package/lib/typescript/modules/screen/index.d.ts +9 -0
  700. package/lib/typescript/modules/search-bar/SearchBar.d.ts +47 -0
  701. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +179 -0
  702. package/lib/typescript/modules/search-bar/index.d.ts +11 -0
  703. package/lib/typescript/modules/section/Section.d.ts +17 -0
  704. package/lib/typescript/modules/section/Section.variants.d.ts +9 -0
  705. package/lib/typescript/modules/section/index.d.ts +8 -0
  706. package/lib/typescript/modules/section-list/SectionList.d.ts +26 -0
  707. package/lib/typescript/modules/section-list/SectionList.variants.d.ts +3 -0
  708. package/lib/typescript/modules/section-list/index.d.ts +3 -0
  709. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +45 -0
  710. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +143 -0
  711. package/lib/typescript/modules/segmented-control/index.d.ts +11 -0
  712. package/lib/typescript/modules/select/Select.d.ts +5 -15
  713. package/lib/typescript/modules/select/Select.variants.d.ts +45 -12
  714. package/lib/typescript/modules/select/index.d.ts +1 -1
  715. package/lib/typescript/modules/skeleton/Skeleton.d.ts +3 -13
  716. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +14 -69
  717. package/lib/typescript/modules/slider/Slider.variants.d.ts +35 -14
  718. package/lib/typescript/modules/spinner/Spinner.variants.d.ts +6 -4
  719. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +18 -0
  720. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +107 -0
  721. package/lib/typescript/modules/stage-progress/index.d.ts +4 -0
  722. package/lib/typescript/modules/stat-tile/StatTile.d.ts +4 -0
  723. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +7 -5
  724. package/lib/typescript/modules/state-block/StateBlock.d.ts +55 -0
  725. package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +31 -0
  726. package/lib/typescript/modules/state-block/index.d.ts +10 -0
  727. package/lib/typescript/modules/stepper/Stepper.d.ts +4 -0
  728. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +7 -7
  729. package/lib/typescript/modules/surface/Surface.d.ts +19 -0
  730. package/lib/typescript/modules/surface/Surface.variants.d.ts +15 -0
  731. package/lib/typescript/modules/surface/index.d.ts +4 -0
  732. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +35 -0
  733. package/lib/typescript/modules/swipeable-row/SwipeableRow.variants.d.ts +27 -0
  734. package/lib/typescript/modules/swipeable-row/index.d.ts +4 -0
  735. package/lib/typescript/modules/switch/Switch.variants.d.ts +9 -1
  736. package/lib/typescript/modules/tabs/Tabs.d.ts +8 -6
  737. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +20 -7
  738. package/lib/typescript/modules/text/Text.d.ts +27 -0
  739. package/lib/typescript/modules/text/Text.variants.d.ts +21 -0
  740. package/lib/typescript/modules/text/index.d.ts +4 -0
  741. package/lib/typescript/modules/textarea/Textarea.d.ts +5 -0
  742. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +15 -8
  743. package/lib/typescript/modules/timeline/Timeline.d.ts +9 -13
  744. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +17 -1
  745. package/lib/typescript/modules/toast/Toast.d.ts +13 -3
  746. package/lib/typescript/modules/toast/Toast.variants.d.ts +33 -3
  747. package/lib/typescript/modules/toast/index.d.ts +1 -1
  748. package/lib/typescript/modules/toast/toastScreenReader.d.ts +22 -0
  749. package/lib/typescript/modules/tooltip/Tooltip.d.ts +34 -11
  750. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +11 -5
  751. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +28 -0
  752. package/lib/typescript/modules/typing-indicator/TypingIndicator.variants.d.ts +32 -0
  753. package/lib/typescript/modules/typing-indicator/index.d.ts +4 -0
  754. package/lib/typescript/modules/unread-badge/UnreadBadge.d.ts +15 -0
  755. package/lib/typescript/modules/unread-badge/UnreadBadge.variants.d.ts +56 -0
  756. package/lib/typescript/modules/unread-badge/index.d.ts +4 -0
  757. package/lib/typescript/test/mocks/flashList.d.ts +3 -0
  758. package/lib/typescript/test/perfHelpers.d.ts +9 -0
  759. package/lib/typescript/theme/hooks.d.ts +11 -0
  760. package/lib/typescript/theme/index.d.ts +4 -3
  761. package/lib/typescript/theme/platform/elevation.native.d.ts +0 -30
  762. package/lib/typescript/theme/platform/floatingSurface.native.d.ts +10 -0
  763. package/lib/typescript/theme/platform/highlight.native.d.ts +17 -0
  764. package/lib/typescript/theme/platform/index.d.ts +9 -0
  765. package/lib/typescript/theme/platform/motion.native.d.ts +35 -0
  766. package/lib/typescript/theme/platform/stateLayer.native.d.ts +11 -0
  767. package/lib/typescript/theme/platform/surfaces.native.d.ts +8 -0
  768. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +3 -80
  769. package/lib/typescript/theme/provider/ThemeContext.d.ts +4 -0
  770. package/lib/typescript/theme/provider/index.d.ts +2 -1
  771. package/lib/typescript/theme/provider/loadPalette.d.ts +9 -0
  772. package/lib/typescript/theme/provider/types.d.ts +49 -0
  773. package/lib/typescript/theme/provider/useTheme.d.ts +1 -2
  774. package/lib/typescript/theme/provider/useThemeMode.d.ts +1 -1
  775. package/lib/typescript/theme/tokens/assertPalette.d.ts +10 -0
  776. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts +4 -3
  777. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts +4 -3
  778. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts +4 -3
  779. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts +4 -3
  780. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts +4 -3
  781. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts +4 -3
  782. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts +4 -3
  783. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts +4 -3
  784. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts +4 -3
  785. package/lib/typescript/theme/tokens/builders/finalizePalette.d.ts +4 -0
  786. package/lib/typescript/theme/tokens/builders/liftToContrast.d.ts +9 -0
  787. package/lib/typescript/theme/tokens/builders/placeholderInk.d.ts +13 -0
  788. package/lib/typescript/theme/tokens/builders/semanticText.d.ts +4 -0
  789. package/lib/typescript/theme/tokens/builders/surfaceRungs.d.ts +12 -0
  790. package/lib/typescript/theme/tokens/index.d.ts +5 -0
  791. package/lib/typescript/theme/tokens/roles/index.d.ts +8 -0
  792. package/lib/typescript/theme/tokens/types.d.ts +8 -7
  793. package/package.json +201 -19
  794. package/registry.json +177 -2
  795. package/lib/module/core/a11y/index.js.map +0 -1
  796. package/lib/module/core/icon/index.js.map +0 -1
  797. package/lib/module/core/style/index.js.map +0 -1
  798. package/lib/module/core/style/layoutStyle.js.map +0 -1
  799. package/lib/module/core/style/variants.js.map +0 -1
  800. package/lib/module/index.js.map +0 -1
  801. package/lib/module/modules/accordion/Accordion.js.map +0 -1
  802. package/lib/module/modules/accordion/Accordion.variants.js.map +0 -1
  803. package/lib/module/modules/accordion/index.js.map +0 -1
  804. package/lib/module/modules/alert-dialog/AlertDialog.js.map +0 -1
  805. package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +0 -1
  806. package/lib/module/modules/alert-dialog/index.js.map +0 -1
  807. package/lib/module/modules/avatar/Avatar.js.map +0 -1
  808. package/lib/module/modules/avatar/Avatar.variants.js.map +0 -1
  809. package/lib/module/modules/avatar/index.js.map +0 -1
  810. package/lib/module/modules/badge/Badge.js.map +0 -1
  811. package/lib/module/modules/badge/Badge.variants.js.map +0 -1
  812. package/lib/module/modules/badge/index.js.map +0 -1
  813. package/lib/module/modules/bottom-nav/BottomNav.js.map +0 -1
  814. package/lib/module/modules/bottom-nav/BottomNav.search.js.map +0 -1
  815. package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +0 -1
  816. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js.map +0 -1
  817. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +0 -1
  818. package/lib/module/modules/bottom-nav/index.js.map +0 -1
  819. package/lib/module/modules/button/Button.js.map +0 -1
  820. package/lib/module/modules/button/Button.variants.js.map +0 -1
  821. package/lib/module/modules/button/index.js.map +0 -1
  822. package/lib/module/modules/button-group/ButtonGroup.js.map +0 -1
  823. package/lib/module/modules/button-group/ButtonGroup.variants.js.map +0 -1
  824. package/lib/module/modules/button-group/index.js.map +0 -1
  825. package/lib/module/modules/card/Card.js.map +0 -1
  826. package/lib/module/modules/card/Card.variants.js.map +0 -1
  827. package/lib/module/modules/card/index.js.map +0 -1
  828. package/lib/module/modules/charts/BarList.js.map +0 -1
  829. package/lib/module/modules/charts/Charts.variants.js.map +0 -1
  830. package/lib/module/modules/charts/DonutChart.js.map +0 -1
  831. package/lib/module/modules/charts/Sparkline.js.map +0 -1
  832. package/lib/module/modules/charts/index.js.map +0 -1
  833. package/lib/module/modules/checkbox/Checkbox.js.map +0 -1
  834. package/lib/module/modules/checkbox/Checkbox.variants.js.map +0 -1
  835. package/lib/module/modules/checkbox/index.js.map +0 -1
  836. package/lib/module/modules/divider/Divider.js.map +0 -1
  837. package/lib/module/modules/divider/Divider.variants.js.map +0 -1
  838. package/lib/module/modules/divider/index.js.map +0 -1
  839. package/lib/module/modules/drawer/Drawer.js.map +0 -1
  840. package/lib/module/modules/drawer/Drawer.variants.js.map +0 -1
  841. package/lib/module/modules/drawer/index.js.map +0 -1
  842. package/lib/module/modules/empty-state/EmptyState.js.map +0 -1
  843. package/lib/module/modules/empty-state/EmptyState.variants.js.map +0 -1
  844. package/lib/module/modules/empty-state/index.js.map +0 -1
  845. package/lib/module/modules/file-upload/FileUpload.js.map +0 -1
  846. package/lib/module/modules/file-upload/FileUpload.variants.js.map +0 -1
  847. package/lib/module/modules/file-upload/index.js.map +0 -1
  848. package/lib/module/modules/filter-sheet/FilterChip.js.map +0 -1
  849. package/lib/module/modules/filter-sheet/FilterSheet.js.map +0 -1
  850. package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +0 -1
  851. package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +0 -1
  852. package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +0 -1
  853. package/lib/module/modules/filter-sheet/index.js.map +0 -1
  854. package/lib/module/modules/input/Input.js.map +0 -1
  855. package/lib/module/modules/input/Input.variants.js.map +0 -1
  856. package/lib/module/modules/input/index.js.map +0 -1
  857. package/lib/module/modules/list-item/ListItem.js.map +0 -1
  858. package/lib/module/modules/list-item/ListItem.variants.js.map +0 -1
  859. package/lib/module/modules/list-item/index.js.map +0 -1
  860. package/lib/module/modules/markdown/Markdown.js.map +0 -1
  861. package/lib/module/modules/markdown/Markdown.variants.js.map +0 -1
  862. package/lib/module/modules/markdown/index.js.map +0 -1
  863. package/lib/module/modules/markdown/parseMarkdown.js.map +0 -1
  864. package/lib/module/modules/menu/Menu.js.map +0 -1
  865. package/lib/module/modules/menu/Menu.variants.js.map +0 -1
  866. package/lib/module/modules/menu/index.js.map +0 -1
  867. package/lib/module/modules/modal/Modal.js.map +0 -1
  868. package/lib/module/modules/modal/Modal.variants.js.map +0 -1
  869. package/lib/module/modules/modal/ModalPortalContext.js.map +0 -1
  870. package/lib/module/modules/modal/ModalPortalProvider.js.map +0 -1
  871. package/lib/module/modules/modal/index.js.map +0 -1
  872. package/lib/module/modules/modal/renderWebPortal.js.map +0 -1
  873. package/lib/module/modules/modal/renderWebPortal.web.js.map +0 -1
  874. package/lib/module/modules/multi-select/MultiSelect.js.map +0 -1
  875. package/lib/module/modules/multi-select/MultiSelect.variants.js.map +0 -1
  876. package/lib/module/modules/multi-select/index.js.map +0 -1
  877. package/lib/module/modules/number-input/NumberInput.js.map +0 -1
  878. package/lib/module/modules/number-input/NumberInput.variants.js.map +0 -1
  879. package/lib/module/modules/number-input/index.js.map +0 -1
  880. package/lib/module/modules/pin-input/PinInput.js.map +0 -1
  881. package/lib/module/modules/pin-input/PinInput.variants.js.map +0 -1
  882. package/lib/module/modules/pin-input/index.js.map +0 -1
  883. package/lib/module/modules/progress-bar/ProgressBar.js.map +0 -1
  884. package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +0 -1
  885. package/lib/module/modules/progress-bar/index.js.map +0 -1
  886. package/lib/module/modules/radio-group/RadioGroup.js.map +0 -1
  887. package/lib/module/modules/radio-group/RadioGroup.variants.js.map +0 -1
  888. package/lib/module/modules/radio-group/index.js.map +0 -1
  889. package/lib/module/modules/reorder/Reorder.js.map +0 -1
  890. package/lib/module/modules/reorder/Reorder.variants.js.map +0 -1
  891. package/lib/module/modules/reorder/index.js.map +0 -1
  892. package/lib/module/modules/select/Select.js.map +0 -1
  893. package/lib/module/modules/select/Select.variants.js.map +0 -1
  894. package/lib/module/modules/select/index.js.map +0 -1
  895. package/lib/module/modules/skeleton/Skeleton.js.map +0 -1
  896. package/lib/module/modules/skeleton/Skeleton.variants.js.map +0 -1
  897. package/lib/module/modules/skeleton/index.js.map +0 -1
  898. package/lib/module/modules/slider/Slider.js.map +0 -1
  899. package/lib/module/modules/slider/Slider.variants.js.map +0 -1
  900. package/lib/module/modules/slider/index.js.map +0 -1
  901. package/lib/module/modules/spinner/Spinner.js.map +0 -1
  902. package/lib/module/modules/spinner/Spinner.variants.js.map +0 -1
  903. package/lib/module/modules/spinner/index.js.map +0 -1
  904. package/lib/module/modules/stat-tile/StatTile.js.map +0 -1
  905. package/lib/module/modules/stat-tile/StatTile.variants.js.map +0 -1
  906. package/lib/module/modules/stat-tile/index.js.map +0 -1
  907. package/lib/module/modules/stepper/Stepper.js.map +0 -1
  908. package/lib/module/modules/stepper/Stepper.variants.js.map +0 -1
  909. package/lib/module/modules/stepper/index.js.map +0 -1
  910. package/lib/module/modules/switch/Switch.js.map +0 -1
  911. package/lib/module/modules/switch/Switch.variants.js.map +0 -1
  912. package/lib/module/modules/switch/index.js.map +0 -1
  913. package/lib/module/modules/tabs/Tabs.js.map +0 -1
  914. package/lib/module/modules/tabs/Tabs.variants.js.map +0 -1
  915. package/lib/module/modules/tabs/index.js.map +0 -1
  916. package/lib/module/modules/textarea/Textarea.js.map +0 -1
  917. package/lib/module/modules/textarea/Textarea.variants.js.map +0 -1
  918. package/lib/module/modules/textarea/index.js.map +0 -1
  919. package/lib/module/modules/timeline/Timeline.js.map +0 -1
  920. package/lib/module/modules/timeline/Timeline.variants.js.map +0 -1
  921. package/lib/module/modules/timeline/index.js.map +0 -1
  922. package/lib/module/modules/toast/Toast.js.map +0 -1
  923. package/lib/module/modules/toast/Toast.variants.js.map +0 -1
  924. package/lib/module/modules/toast/index.js.map +0 -1
  925. package/lib/module/modules/tooltip/Tooltip.js.map +0 -1
  926. package/lib/module/modules/tooltip/Tooltip.variants.js.map +0 -1
  927. package/lib/module/modules/tooltip/index.js.map +0 -1
  928. package/lib/module/theme/index.js.map +0 -1
  929. package/lib/module/theme/platform/colorScheme.native.js.map +0 -1
  930. package/lib/module/theme/platform/elevation.native.js.map +0 -1
  931. package/lib/module/theme/platform/fonts.native.js.map +0 -1
  932. package/lib/module/theme/platform/index.js.map +0 -1
  933. package/lib/module/theme/platform/units.native.js.map +0 -1
  934. package/lib/module/theme/provider/PixelizeProvider.js.map +0 -1
  935. package/lib/module/theme/provider/colorModeStorage.js.map +0 -1
  936. package/lib/module/theme/provider/index.js.map +0 -1
  937. package/lib/module/theme/provider/useTheme.js.map +0 -1
  938. package/lib/module/theme/provider/useThemeColors.js.map +0 -1
  939. package/lib/module/theme/provider/useThemeMode.js.map +0 -1
  940. package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +0 -1
  941. package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +0 -1
  942. package/lib/module/theme/tokens/brands/index.js.map +0 -1
  943. package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +0 -1
  944. package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +0 -1
  945. package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +0 -1
  946. package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +0 -1
  947. package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +0 -1
  948. package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +0 -1
  949. package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +0 -1
  950. package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +0 -1
  951. package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +0 -1
  952. package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +0 -1
  953. package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +0 -1
  954. package/lib/module/theme/tokens/brands/slate/palette.light.js.map +0 -1
  955. package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +0 -1
  956. package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +0 -1
  957. package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +0 -1
  958. package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +0 -1
  959. package/lib/module/theme/tokens/builders/accentText.js.map +0 -1
  960. package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +0 -1
  961. package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +0 -1
  962. package/lib/module/theme/tokens/builders/color.js.map +0 -1
  963. package/lib/module/theme/tokens/index.js.map +0 -1
  964. package/lib/module/theme/tokens/primitives/borderWidths.js.map +0 -1
  965. package/lib/module/theme/tokens/primitives/breakpoints.js.map +0 -1
  966. package/lib/module/theme/tokens/primitives/elevation.js.map +0 -1
  967. package/lib/module/theme/tokens/primitives/fontSizes.js.map +0 -1
  968. package/lib/module/theme/tokens/primitives/fontWeights.js.map +0 -1
  969. package/lib/module/theme/tokens/primitives/index.js.map +0 -1
  970. package/lib/module/theme/tokens/primitives/letterSpacings.js.map +0 -1
  971. package/lib/module/theme/tokens/primitives/lineHeights.js.map +0 -1
  972. package/lib/module/theme/tokens/primitives/radii.js.map +0 -1
  973. package/lib/module/theme/tokens/primitives/sizes.js.map +0 -1
  974. package/lib/module/theme/tokens/primitives/space.js.map +0 -1
  975. package/lib/module/theme/tokens/primitives/zIndices.js.map +0 -1
  976. package/lib/module/theme/tokens/roles/index.js.map +0 -1
  977. package/lib/module/theme/tokens/types.js.map +0 -1
  978. package/lib/typescript/core/a11y/index.d.ts.map +0 -1
  979. package/lib/typescript/core/icon/index.d.ts.map +0 -1
  980. package/lib/typescript/core/style/index.d.ts.map +0 -1
  981. package/lib/typescript/core/style/layoutStyle.d.ts.map +0 -1
  982. package/lib/typescript/core/style/variants.d.ts.map +0 -1
  983. package/lib/typescript/index.d.ts.map +0 -1
  984. package/lib/typescript/modules/accordion/Accordion.d.ts.map +0 -1
  985. package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +0 -1
  986. package/lib/typescript/modules/accordion/index.d.ts.map +0 -1
  987. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +0 -1
  988. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +0 -1
  989. package/lib/typescript/modules/alert-dialog/index.d.ts.map +0 -1
  990. package/lib/typescript/modules/avatar/Avatar.d.ts.map +0 -1
  991. package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +0 -1
  992. package/lib/typescript/modules/avatar/index.d.ts.map +0 -1
  993. package/lib/typescript/modules/badge/Badge.d.ts.map +0 -1
  994. package/lib/typescript/modules/badge/Badge.variants.d.ts.map +0 -1
  995. package/lib/typescript/modules/badge/index.d.ts.map +0 -1
  996. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +0 -1
  997. package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +0 -1
  998. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +0 -1
  999. package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts.map +0 -1
  1000. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +0 -1
  1001. package/lib/typescript/modules/bottom-nav/index.d.ts.map +0 -1
  1002. package/lib/typescript/modules/button/Button.d.ts.map +0 -1
  1003. package/lib/typescript/modules/button/Button.variants.d.ts.map +0 -1
  1004. package/lib/typescript/modules/button/index.d.ts.map +0 -1
  1005. package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +0 -1
  1006. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +0 -1
  1007. package/lib/typescript/modules/button-group/index.d.ts.map +0 -1
  1008. package/lib/typescript/modules/card/Card.d.ts.map +0 -1
  1009. package/lib/typescript/modules/card/Card.variants.d.ts.map +0 -1
  1010. package/lib/typescript/modules/card/index.d.ts.map +0 -1
  1011. package/lib/typescript/modules/charts/BarList.d.ts.map +0 -1
  1012. package/lib/typescript/modules/charts/Charts.variants.d.ts.map +0 -1
  1013. package/lib/typescript/modules/charts/DonutChart.d.ts.map +0 -1
  1014. package/lib/typescript/modules/charts/Sparkline.d.ts.map +0 -1
  1015. package/lib/typescript/modules/charts/index.d.ts.map +0 -1
  1016. package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +0 -1
  1017. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +0 -1
  1018. package/lib/typescript/modules/checkbox/index.d.ts.map +0 -1
  1019. package/lib/typescript/modules/divider/Divider.d.ts.map +0 -1
  1020. package/lib/typescript/modules/divider/Divider.variants.d.ts.map +0 -1
  1021. package/lib/typescript/modules/divider/index.d.ts.map +0 -1
  1022. package/lib/typescript/modules/drawer/Drawer.d.ts.map +0 -1
  1023. package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +0 -1
  1024. package/lib/typescript/modules/drawer/index.d.ts.map +0 -1
  1025. package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +0 -1
  1026. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +0 -1
  1027. package/lib/typescript/modules/empty-state/index.d.ts.map +0 -1
  1028. package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +0 -1
  1029. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +0 -1
  1030. package/lib/typescript/modules/file-upload/index.d.ts.map +0 -1
  1031. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +0 -1
  1032. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +0 -1
  1033. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +0 -1
  1034. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +0 -1
  1035. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +0 -1
  1036. package/lib/typescript/modules/filter-sheet/index.d.ts.map +0 -1
  1037. package/lib/typescript/modules/input/Input.d.ts.map +0 -1
  1038. package/lib/typescript/modules/input/Input.variants.d.ts.map +0 -1
  1039. package/lib/typescript/modules/input/index.d.ts.map +0 -1
  1040. package/lib/typescript/modules/list-item/ListItem.d.ts.map +0 -1
  1041. package/lib/typescript/modules/list-item/ListItem.variants.d.ts.map +0 -1
  1042. package/lib/typescript/modules/list-item/index.d.ts.map +0 -1
  1043. package/lib/typescript/modules/markdown/Markdown.d.ts.map +0 -1
  1044. package/lib/typescript/modules/markdown/Markdown.variants.d.ts.map +0 -1
  1045. package/lib/typescript/modules/markdown/index.d.ts.map +0 -1
  1046. package/lib/typescript/modules/markdown/parseMarkdown.d.ts.map +0 -1
  1047. package/lib/typescript/modules/menu/Menu.d.ts.map +0 -1
  1048. package/lib/typescript/modules/menu/Menu.variants.d.ts.map +0 -1
  1049. package/lib/typescript/modules/menu/index.d.ts.map +0 -1
  1050. package/lib/typescript/modules/modal/Modal.d.ts.map +0 -1
  1051. package/lib/typescript/modules/modal/Modal.variants.d.ts.map +0 -1
  1052. package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +0 -1
  1053. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +0 -1
  1054. package/lib/typescript/modules/modal/index.d.ts.map +0 -1
  1055. package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +0 -1
  1056. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +0 -1
  1057. package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +0 -1
  1058. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +0 -1
  1059. package/lib/typescript/modules/multi-select/index.d.ts.map +0 -1
  1060. package/lib/typescript/modules/number-input/NumberInput.d.ts.map +0 -1
  1061. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +0 -1
  1062. package/lib/typescript/modules/number-input/index.d.ts.map +0 -1
  1063. package/lib/typescript/modules/pin-input/PinInput.d.ts.map +0 -1
  1064. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +0 -1
  1065. package/lib/typescript/modules/pin-input/index.d.ts.map +0 -1
  1066. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +0 -1
  1067. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +0 -1
  1068. package/lib/typescript/modules/progress-bar/index.d.ts.map +0 -1
  1069. package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +0 -1
  1070. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +0 -1
  1071. package/lib/typescript/modules/radio-group/index.d.ts.map +0 -1
  1072. package/lib/typescript/modules/reorder/Reorder.d.ts.map +0 -1
  1073. package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +0 -1
  1074. package/lib/typescript/modules/reorder/index.d.ts.map +0 -1
  1075. package/lib/typescript/modules/select/Select.d.ts.map +0 -1
  1076. package/lib/typescript/modules/select/Select.variants.d.ts.map +0 -1
  1077. package/lib/typescript/modules/select/index.d.ts.map +0 -1
  1078. package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +0 -1
  1079. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +0 -1
  1080. package/lib/typescript/modules/skeleton/index.d.ts.map +0 -1
  1081. package/lib/typescript/modules/slider/Slider.d.ts.map +0 -1
  1082. package/lib/typescript/modules/slider/Slider.variants.d.ts.map +0 -1
  1083. package/lib/typescript/modules/slider/index.d.ts.map +0 -1
  1084. package/lib/typescript/modules/spinner/Spinner.d.ts.map +0 -1
  1085. package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +0 -1
  1086. package/lib/typescript/modules/spinner/index.d.ts.map +0 -1
  1087. package/lib/typescript/modules/stat-tile/StatTile.d.ts.map +0 -1
  1088. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts.map +0 -1
  1089. package/lib/typescript/modules/stat-tile/index.d.ts.map +0 -1
  1090. package/lib/typescript/modules/stepper/Stepper.d.ts.map +0 -1
  1091. package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +0 -1
  1092. package/lib/typescript/modules/stepper/index.d.ts.map +0 -1
  1093. package/lib/typescript/modules/switch/Switch.d.ts.map +0 -1
  1094. package/lib/typescript/modules/switch/Switch.variants.d.ts.map +0 -1
  1095. package/lib/typescript/modules/switch/index.d.ts.map +0 -1
  1096. package/lib/typescript/modules/tabs/Tabs.d.ts.map +0 -1
  1097. package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +0 -1
  1098. package/lib/typescript/modules/tabs/index.d.ts.map +0 -1
  1099. package/lib/typescript/modules/textarea/Textarea.d.ts.map +0 -1
  1100. package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +0 -1
  1101. package/lib/typescript/modules/textarea/index.d.ts.map +0 -1
  1102. package/lib/typescript/modules/timeline/Timeline.d.ts.map +0 -1
  1103. package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +0 -1
  1104. package/lib/typescript/modules/timeline/index.d.ts.map +0 -1
  1105. package/lib/typescript/modules/toast/Toast.d.ts.map +0 -1
  1106. package/lib/typescript/modules/toast/Toast.variants.d.ts.map +0 -1
  1107. package/lib/typescript/modules/toast/index.d.ts.map +0 -1
  1108. package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +0 -1
  1109. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +0 -1
  1110. package/lib/typescript/modules/tooltip/index.d.ts.map +0 -1
  1111. package/lib/typescript/theme/index.d.ts.map +0 -1
  1112. package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +0 -1
  1113. package/lib/typescript/theme/platform/elevation.native.d.ts.map +0 -1
  1114. package/lib/typescript/theme/platform/fonts.native.d.ts.map +0 -1
  1115. package/lib/typescript/theme/platform/index.d.ts.map +0 -1
  1116. package/lib/typescript/theme/platform/units.native.d.ts.map +0 -1
  1117. package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +0 -1
  1118. package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +0 -1
  1119. package/lib/typescript/theme/provider/index.d.ts.map +0 -1
  1120. package/lib/typescript/theme/provider/useTheme.d.ts.map +0 -1
  1121. package/lib/typescript/theme/provider/useThemeColors.d.ts.map +0 -1
  1122. package/lib/typescript/theme/provider/useThemeMode.d.ts.map +0 -1
  1123. package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +0 -1
  1124. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +0 -1
  1125. package/lib/typescript/theme/tokens/brands/index.d.ts.map +0 -1
  1126. package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +0 -1
  1127. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +0 -1
  1128. package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +0 -1
  1129. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +0 -1
  1130. package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +0 -1
  1131. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +0 -1
  1132. package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +0 -1
  1133. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +0 -1
  1134. package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +0 -1
  1135. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +0 -1
  1136. package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +0 -1
  1137. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +0 -1
  1138. package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +0 -1
  1139. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +0 -1
  1140. package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +0 -1
  1141. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +0 -1
  1142. package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +0 -1
  1143. package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +0 -1
  1144. package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +0 -1
  1145. package/lib/typescript/theme/tokens/builders/color.d.ts.map +0 -1
  1146. package/lib/typescript/theme/tokens/index.d.ts.map +0 -1
  1147. package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +0 -1
  1148. package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +0 -1
  1149. package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +0 -1
  1150. package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +0 -1
  1151. package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +0 -1
  1152. package/lib/typescript/theme/tokens/primitives/index.d.ts.map +0 -1
  1153. package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +0 -1
  1154. package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +0 -1
  1155. package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +0 -1
  1156. package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +0 -1
  1157. package/lib/typescript/theme/tokens/primitives/space.d.ts.map +0 -1
  1158. package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +0 -1
  1159. package/lib/typescript/theme/tokens/roles/index.d.ts.map +0 -1
  1160. package/lib/typescript/theme/tokens/types.d.ts.map +0 -1
@@ -1,95 +1,169 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * Timeline — a vertical list of dated/ordered events. Each row is a marker (a plain dot, or an
5
- * icon in a filled circle) connected to the next row's marker by a line. Purely informational: no
6
- * press handling, no per-item emphasis, no animation. The marker + connecting line are decorative
7
- * (removing them changes spacing, not meaning same reasoning `Divider` documents for its own
8
- * hairline), so they are hidden from assistive tech; the title/description/timestamp stay in the
9
- * normal accessibility tree, read in order, exactly like the plain `View` container `Card.tsx`
10
- * documents ("nothing here for `accessibilityRole` to announce children carry their own
11
- * semantics").
4
+ * Timeline — a vertical list of dated/ordered events.
5
+ *
6
+ * The reveal is ONE animated value on the outer container, never one per row: rows are recycled
7
+ * cells in a `VirtualList`, so a per-cell animation would fire on every scroll-in. It is gated on
8
+ * `motion.decorative` (high-tier only) since a reveal is pure decoration.
9
+ *
10
+ * A row's title, description and timestamp form ONE accessible node see
11
+ * `resolveTimelineItemAccessibility` for why three loose `Text` siblings were a 1.3.1 failure.
12
12
  */
13
13
 
14
- import { memo } from "react";
15
- import { Text, View } from "react-native";
14
+ import { memo, useCallback, useEffect, useMemo, useRef } from "react";
15
+ import { Animated, Text, View } from "react-native";
16
16
  import { Icon } from "../../core/icon/index.js";
17
- import { useTheme } from "../../theme/index.js";
18
- import { resolveTimelineColors, timelineConnectorLineStructure, timelineConnectorStructure, timelineContentStructure, timelineMarkerStructure, timelineRowStructure, TIMELINE_MARKER } from "./Timeline.variants.js";
17
+ import { VirtualList } from "../../core/list/index.js";
18
+ import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
19
+ import { useTheme } from "../../theme/hooks.js";
20
+ import { resolveTimelineColors, resolveTimelineItemAccessibility, timelineConnectorLineStructure, timelineConnectorStructure, timelineContentStructure, timelineMarkerStructure, timelineRowStructure, TIMELINE_MARKER } from "./Timeline.variants.js";
19
21
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
+ const VIRTUALIZE_THRESHOLD = 20;
20
23
  const ICON_STROKE = 2;
24
+ const TimelineRow = /*#__PURE__*/memo(function TimelineRow({
25
+ model,
26
+ theme,
27
+ colors,
28
+ testID
29
+ }) {
30
+ const {
31
+ item,
32
+ index,
33
+ isLast
34
+ } = model;
35
+ const position = isLast ? "last" : "middle";
36
+ const rowTestID = testID === undefined ? undefined : `${testID}-item-${index}`;
37
+ const a11y = resolveTimelineItemAccessibility(item);
38
+ return /*#__PURE__*/_jsxs(View, {
39
+ testID: rowTestID,
40
+ style: timelineRowStructure(),
41
+ children: [/*#__PURE__*/_jsxs(View, {
42
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-connector`,
43
+ style: timelineConnectorStructure(),
44
+ accessibilityElementsHidden: true,
45
+ importantForAccessibility: "no-hide-descendants",
46
+ children: [item.leading !== undefined ? /*#__PURE__*/_jsx(View, {
47
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
48
+ children: item.leading
49
+ }) : /*#__PURE__*/_jsx(View, {
50
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
51
+ style: [timelineMarkerStructure(theme, {
52
+ kind: item.icon === undefined ? "dot" : "icon"
53
+ }), {
54
+ backgroundColor: colors.markerFill
55
+ }],
56
+ children: item.icon !== undefined && /*#__PURE__*/_jsx(Icon, {
57
+ name: item.icon,
58
+ size: TIMELINE_MARKER.glyph,
59
+ color: colors.markerIcon,
60
+ strokeWidth: ICON_STROKE
61
+ })
62
+ }), !isLast && /*#__PURE__*/_jsx(View, {
63
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-line`,
64
+ style: [timelineConnectorLineStructure(theme), {
65
+ backgroundColor: colors.connector
66
+ }]
67
+ })]
68
+ }), /*#__PURE__*/_jsxs(View, {
69
+ testID: rowTestID === undefined ? undefined : `${rowTestID}-content`,
70
+ accessible: a11y.accessible,
71
+ accessibilityRole: a11y.accessibilityRole,
72
+ accessibilityLabel: a11y.accessibilityLabel,
73
+ style: timelineContentStructure(theme, {
74
+ position
75
+ }),
76
+ children: [/*#__PURE__*/_jsx(Text, {
77
+ style: [theme.fontStyleForWeight(theme.fontWeights.semibold), {
78
+ fontSize: theme.fontSizes.md,
79
+ color: colors.title
80
+ }],
81
+ children: item.title
82
+ }), item.description !== undefined && /*#__PURE__*/_jsx(Text, {
83
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
84
+ fontSize: theme.fontSizes.sm,
85
+ color: colors.description,
86
+ marginTop: theme.space[1]
87
+ }],
88
+ children: item.description
89
+ }), item.timestamp !== undefined && /*#__PURE__*/_jsx(Text, {
90
+ style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
91
+ fontSize: theme.fontSizes.xs,
92
+ color: colors.timestamp,
93
+ marginTop: theme.space[1]
94
+ }],
95
+ children: item.timestamp
96
+ })]
97
+ })]
98
+ });
99
+ });
21
100
  export const Timeline = /*#__PURE__*/memo(function Timeline({
22
101
  items,
23
102
  style,
24
103
  testID
25
104
  }) {
26
105
  const theme = useTheme();
27
- const colors = resolveTimelineColors(theme.colors);
28
- return /*#__PURE__*/_jsx(View, {
106
+ const motion = useMotion();
107
+ const colors = useMemo(() => resolveTimelineColors(theme.colors), [theme.colors]);
108
+ const reveal = useAnimatedValue(motion.decorative ? 0 : 1);
109
+ const running = useRef(null);
110
+ useEffect(() => {
111
+ running.current?.stop();
112
+ if (!motion.decorative) {
113
+ reveal.setValue(1);
114
+ return;
115
+ }
116
+ running.current = motion.timing(reveal, 1, {
117
+ easing: "decelerate"
118
+ });
119
+ running.current.start();
120
+ return () => running.current?.stop();
121
+ }, [motion, reveal]);
122
+ useEffect(() => () => running.current?.stop(), []);
123
+ const revealStyle = useMemo(() => ({
124
+ opacity: reveal,
125
+ transform: [{
126
+ translateY: reveal.interpolate({
127
+ inputRange: [0, 1],
128
+ outputRange: [motion.transform.offsetY, 0]
129
+ })
130
+ }]
131
+ }), [reveal, motion.transform.offsetY]);
132
+ const rootStyle = useMemo(() => [revealStyle, style], [revealStyle, style]);
133
+ const rows = useMemo(() => items.map((item, index) => ({
134
+ item,
135
+ index,
136
+ isLast: index === items.length - 1
137
+ })), [items]);
138
+ const keyExtractor = useCallback(row => row.item.id ?? `timeline-index-${row.index}`, []);
139
+ const renderItem = useCallback(({
140
+ item: row
141
+ }) => /*#__PURE__*/_jsx(TimelineRow, {
142
+ model: row,
143
+ theme: theme,
144
+ colors: colors,
145
+ testID: testID
146
+ }), [theme, colors, testID]);
147
+ if (items.length >= VIRTUALIZE_THRESHOLD) {
148
+ return /*#__PURE__*/_jsx(Animated.View, {
149
+ testID: testID,
150
+ style: rootStyle,
151
+ children: /*#__PURE__*/_jsx(VirtualList, {
152
+ data: rows,
153
+ keyExtractor: keyExtractor,
154
+ renderItem: renderItem
155
+ })
156
+ });
157
+ }
158
+ return /*#__PURE__*/_jsx(Animated.View, {
29
159
  testID: testID,
30
- style: style,
31
- children: items.map((item, index) => {
32
- const isLast = index === items.length - 1;
33
- const position = isLast ? "last" : "middle";
34
- const rowTestID = testID === undefined ? undefined : `${testID}-item-${index}`;
35
- return /*#__PURE__*/_jsxs(View, {
36
- testID: rowTestID,
37
- style: timelineRowStructure(),
38
- children: [/*#__PURE__*/_jsxs(View, {
39
- testID: rowTestID === undefined ? undefined : `${rowTestID}-connector`,
40
- style: timelineConnectorStructure(),
41
- accessibilityElementsHidden: true,
42
- importantForAccessibility: "no-hide-descendants",
43
- children: [item.leading !== undefined ? /*#__PURE__*/_jsx(View, {
44
- testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
45
- children: item.leading
46
- }) : /*#__PURE__*/_jsx(View, {
47
- testID: rowTestID === undefined ? undefined : `${rowTestID}-marker`,
48
- style: [timelineMarkerStructure(theme, {
49
- kind: item.icon === undefined ? "dot" : "icon"
50
- }), {
51
- backgroundColor: colors.markerFill
52
- }],
53
- children: item.icon !== undefined && /*#__PURE__*/_jsx(Icon, {
54
- name: item.icon,
55
- size: TIMELINE_MARKER.glyph,
56
- color: colors.markerIcon,
57
- strokeWidth: ICON_STROKE
58
- })
59
- }), !isLast && /*#__PURE__*/_jsx(View, {
60
- testID: rowTestID === undefined ? undefined : `${rowTestID}-line`,
61
- style: [timelineConnectorLineStructure(theme), {
62
- backgroundColor: colors.connector
63
- }]
64
- })]
65
- }), /*#__PURE__*/_jsxs(View, {
66
- style: timelineContentStructure(theme, {
67
- position
68
- }),
69
- children: [/*#__PURE__*/_jsx(Text, {
70
- style: [theme.fontStyleForWeight(theme.fontWeights.semibold), {
71
- fontSize: theme.fontSizes.md,
72
- color: colors.title
73
- }],
74
- children: item.title
75
- }), item.description !== undefined && /*#__PURE__*/_jsx(Text, {
76
- style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
77
- fontSize: theme.fontSizes.sm,
78
- color: colors.description,
79
- marginTop: theme.space[1]
80
- }],
81
- children: item.description
82
- }), item.timestamp !== undefined && /*#__PURE__*/_jsx(Text, {
83
- style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
84
- fontSize: theme.fontSizes.xs,
85
- color: colors.timestamp,
86
- marginTop: theme.space[1]
87
- }],
88
- children: item.timestamp
89
- })]
90
- })]
91
- }, `${index}-${item.title}`);
92
- })
160
+ style: rootStyle,
161
+ children: rows.map(row => /*#__PURE__*/_jsx(TimelineRow, {
162
+ model: row,
163
+ theme: theme,
164
+ colors: colors,
165
+ testID: testID
166
+ }, keyExtractor(row)))
93
167
  });
94
168
  });
95
169
  //# sourceMappingURL=Timeline.js.map
@@ -115,6 +115,19 @@ export const timelineConnectorLineStructure = createThemedVariants(theme => ({
115
115
  width: theme.borderWidths.thick
116
116
  }
117
117
  }));
118
+ /**
119
+ * One event's title, description and timestamp collapse into ONE accessible node (WCAG 1.3.1) — as
120
+ * three loose `Text` siblings, only their visual grouping said which timestamp belonged to which
121
+ * title. The same composition `resolveBannerAccessibility` does for its title + message.
122
+ */
123
+ export function resolveTimelineItemAccessibility(item) {
124
+ const parts = [item.title, item.description, item.timestamp].filter(part => part !== undefined);
125
+ return {
126
+ accessible: true,
127
+ accessibilityRole: "text",
128
+ accessibilityLabel: parts.join(". ")
129
+ };
130
+ }
118
131
 
119
132
  /**
120
133
  * The text column beside the connector. A `middle` row (one with a following item) reserves the
@@ -8,11 +8,15 @@ anywhere beneath it.
8
8
 
9
9
  | File | Role |
10
10
  |------|------|
11
- | `Toast.tsx` | `ToastProvider`, the internal `ToastCard`, and `useToast()`. State machine, timers, animation, a11y wiring. |
12
- | `Toast.variants.ts` | Pure resolver (`resolveToastTone`) + the themed structural resolvers (`toastCardStructure`, `toastAccentBarStructure`, `toastOverlayStructure`, including the overlay's `zIndex`). No React, no lucide. |
13
- | `index.ts` | Public surface: `ToastProvider`, `useToast`, `ToastOptions`, `ToastContextValue`, `ToastProviderProps`, the closed unions. No `IconName` re-export the dismiss glyph is a fixed internal choice. |
14
- | `__tests__/Toast.test.ts` | Pure: WCAG contrast (all brands × modes, including the close icon vs the card background) + touch target + the tone→role contract + every resolved colour is a solid 6-digit hex (never an alpha token). |
11
+ | `Toast.tsx` | `ToastProvider`, the internal `ToastCard`, and `useToast()`. State machine, timers, animation, a11y wiring, hover/focus pause. |
12
+ | `Toast.variants.ts` | Pure resolver (`resolveToastTone`) + `resolveAutoDismissDelay` (WCAG 2.2.1 — see below) + the themed structural resolvers (`toastCardStructure`, `toastAccentBarStructure`, `toastOverlayStructure`, including the overlay's `zIndex`). No React, no lucide. |
13
+ | `toastScreenReader.ts` | `useScreenReaderEnabled()` module-local store, `useReducedMotion`'s shape, tracking `AccessibilityInfo.isScreenReaderEnabled()`. Belongs in `core/a11y` (see Known gaps). |
14
+ | `index.ts` | Public surface: `ToastProvider`, `useToast`, `ToastOptions`, `ToastContextValue`, `ToastProviderProps`, the closed unions incl. `ToastDuration`. No `IconName` re-export the dismiss glyph is a fixed internal choice. |
15
+ | `__tests__/Toast.motion.test.tsx` | Motion: reduce-motion zero duration, the real entrance/exit tween, the shared surface offset, and the device tier's `durationScale` reaching both the tween and the unmount timer. |
16
+ | `__tests__/Toast.test.ts` | Pure: WCAG contrast (all brands × modes, including the close icon vs the card background) + touch target + the tone→role contract + every resolved colour is a solid 6-digit hex (never an alpha token) + `resolveAutoDismissDelay` (WCAG 2.2.1, incl. the `duration: 0` / `duration: Infinity` regressions). |
15
17
  | `__tests__/Toast.render.test.tsx` | Render: show/auto-dismiss/dismiss, replace-while-visible, the cross-platform announce call, missing-provider error, the REAL rendered card background (flattened style, not just the token). |
18
+ | `__tests__/Toast.timing.test.tsx` | Render-level WCAG 2.2.1: persistent mode, the two shipped traps as explicit regressions, hover/focus pause + re-arm, the `danger` persistent default (and an explicit `duration` overriding it), screen-reader suppression. |
19
+ | `__tests__/toastScreenReader.test.ts` | The screen-reader store: pre-probe seed, probe result, `screenReaderChanged` subscription, process cache, one-listener-per-process, cleanup. |
16
20
 
17
21
  ## Why not `<Modal>`
18
22
 
@@ -28,7 +32,7 @@ system, so it floats over anything without competing for the same presentation s
28
32
  |--------|-------|-------|
29
33
  | `ToastProvider` | `{ children, position?: "top" \| "bottom" }` | Mount once near the app root. `position` defaults to `top`; it is provider-level (one overlay), not per-toast. No `style` prop — same as `PixelizeProvider`, the only other provider in this catalogue: it wraps the whole app rather than being laid out by one. |
30
34
  | `useToast()` | `{ show(options), dismiss() }` | Throws outside a `ToastProvider`, same contract as `useTheme()`. |
31
- | `ToastOptions` | `{ message: string, tone?: ToastTone, duration?: number }` | `tone` defaults to `neutral`; `duration` defaults to `DEFAULT_TOAST_DURATION` (~3000ms). |
35
+ | `ToastOptions` | `{ message: string, tone?: ToastTone, duration?: ToastDuration }` | `tone` defaults to `neutral`. `duration` (`number \| "persistent"`) defaults to `DEFAULT_TOAST_DURATION` (~3000ms) — **except `tone: "danger"`, which defaults to `"persistent"`** (see "Auto-dismiss timing" below). |
32
36
  | `ToastTone` | `success \| warning \| danger \| info \| neutral` | Closed union — colour from `colors.status.<role>`, never a `color` prop. |
33
37
 
34
38
  Single-slot by design: calling `show()` while a toast is visible replaces its message/tone, restarts
@@ -36,8 +40,52 @@ the auto-dismiss timer, and restarts the entrance animation (a fresh message rea
36
40
  There is no stacking queue in v1 — see Known gaps. `dismiss()` always targets that one slot and is a
37
41
  safe no-op when nothing is showing.
38
42
 
43
+ ## Motion
44
+
45
+ Entrance and exit go through **`useMotion()`** at the shared `fast` duration; the card's travel is
46
+ `MOTION_TRANSFORM.surfaceOffsetY`. The old module-local `ANIMATION_MS = 200` / `TRANSLATE_DISTANCE =
47
+ 24` are gone — this module was skipped by the earlier motion refactor, so until now neither the
48
+ device tier's `durationScale` nor `MOTION_SCALE`/`MOTION_ENABLED` reached it. The unmount timer reads
49
+ the SAME resolved `motion.duration("fast")` as the tween, keeping the removal deterministic (see
50
+ `Toast.tsx`'s note on why the timer, not the animation callback, drives it).
51
+
52
+ ## Auto-dismiss timing (WCAG 2.2.1 — Timing Adjustable)
53
+
54
+ `resolveAutoDismissDelay(duration, tone, screenReaderEnabled)` (`Toast.variants.ts`) is the ONLY
55
+ place that decides whether a toast's timer gets armed. `Toast.tsx` branches on its `null` result
56
+ *before* calling `setTimeout` — nothing else in the module computes a delay.
57
+
58
+ - **`duration: "persistent"`** — never auto-dismisses. The spelled-out sentinel, not `0` or
59
+ `Infinity`: at a call site, `duration: 0` reads as "no delay" and `Infinity` overflows
60
+ `setTimeout`'s 32-bit signed delay and fires in ~1ms — both were shipped traps that looked like a
61
+ persistent mode and were actually instant-dismiss. `resolveAutoDismissDelay` now treats `0`,
62
+ negative numbers, `NaN` and anything past the 32-bit ceiling the same as `"persistent"` (fail
63
+ towards "stays up" — the card always has a close button) — `Toast.test.ts` locks both former traps
64
+ down as explicit regressions.
65
+ - **Hover and focus pause the timer; leaving re-arms the FULL delay.** `ToastCard` wires
66
+ `onPointerEnter`/`onPointerLeave`/`onFocus`/`onBlur` (on both the card `Animated.View` and the
67
+ close button, so focus reaching the close button also pauses); `ToastProvider` tracks
68
+ `hovered`/`focused` in refs (not state — pausing must not re-render the card) and re-arms through
69
+ one `armDismissTimer()` choke point. This is deliberately a restart, not a countdown resume: a
70
+ toast the user stopped reading mid-sentence should get the whole message again, not whatever was
71
+ left on the clock.
72
+ - **A running screen reader (`useScreenReaderEnabled`, `toastScreenReader.ts`) suppresses
73
+ auto-dismiss for every tone**, explicit `duration` included. ~3s is not enough for VoiceOver/
74
+ TalkBack to finish speaking a message, and there is no way to replay a toast that's gone — this is
75
+ the DEFAULT behaviour, not an opt-in prop, because a consumer has no way to know per-toast whether
76
+ a reader is running.
77
+ - **`tone: "danger"` with no explicit `duration` defaults to persistent**, unlike every other tone.
78
+ **Consumer-visible behaviour change:** an existing `show({ message, tone: "danger" })` call that
79
+ relied on the ~3000ms default now stays up until dismissed. An explicit `duration` on a `danger`
80
+ toast is still honoured — only the *default* changed. Judgement call: a 3-second error message is
81
+ the exact failure WCAG 2.2.1 exists to prevent, and this catalogue has no toast history a user
82
+ could scroll back to recover a missed one from. Every other tone keeps the ~3000ms default
83
+ unchanged — success/info/neutral/warning messages are lower-stakes and the existing default reads
84
+ fine for them.
85
+
39
86
  ## Accessibility contract (WCAG)
40
87
 
88
+ - **2.2.1 (timing adjustable)** — see "Auto-dismiss timing" above.
41
89
  - **4.1.3 (status messages)** — `show()` calls `AccessibilityInfo.announceForAccessibility(message)`,
42
90
  the real cross-platform imperative API (VoiceOver + TalkBack). The message `Text` deliberately does
43
91
  NOT also carry `accessibilityLiveRegion`: that RN prop is Android-only, and since `show()` always
@@ -57,8 +105,9 @@ safe no-op when nothing is showing.
57
105
  below), measured ≥ 3:1 against the card's own background for every tone × brand × mode. The close
58
106
  icon (`fg.muted`, constant across tones — not resolved via `resolveToastTone`) is measured the same
59
107
  way against every tone's card background in the same file.
60
- - **2.3.3** — the slide/fade entrance and exit are suppressed (`duration: 0`) when
61
- `useReducedMotion()` is true; the toast still appears/disappears, just without the animated motion.
108
+ - **2.3.3** — the slide/fade entrance and exit resolve to `duration: 0` under reduce motion; the
109
+ toast still appears/disappears, just without the animated motion. The check is `useMotion()`'s,
110
+ never a second `useReducedMotion()` call (`core/motion/MODULE.md` rule 6).
62
111
  - The close button is icon-only: `accessibilityRole="button"` with a fixed, always-present
63
112
  `accessibilityLabel="Dismiss notification"` (not a consumer-configurable prop, so there is no
64
113
  unlabelled-icon-button state to make unrepresentable here — unlike `Button`'s icon-only shape).
@@ -90,15 +139,29 @@ change can't silently reintroduce the gap.
90
139
 
91
140
  ## Known gaps
92
141
 
142
+ - **`toastScreenReader.ts` duplicates `core/a11y`'s store shape instead of living there.** It is a
143
+ general a11y concern (any timed UI could use it), but `core/a11y/` was mid-edit by another change
144
+ in flight when this was built. Move `useScreenReaderEnabled`/`resetScreenReaderCache` into
145
+ `core/a11y` and re-export, once that edit lands, rather than leaving two near-identical stores.
93
146
  - **No stacking queue.** `show()` while visible replaces the current toast; there is no multi-toast
94
147
  queue in v1. Flagging for a future version if a consumer needs concurrent toasts.
95
- - **No safe-area inset awareness.** The overlay's edge inset is a fixed `theme.space[4]`; it does not
96
- read device safe-area insets (notch/home-indicator). `react-native-safe-area-context` is already an
97
- optional peer dependency for this catalogue but no module wires it yet — a consumer on a notched
98
- device may want to add its own top padding via screen-level layout until this is revisited.
148
+ - **Top position has no safe-area inset awareness.** `position: "bottom"` now adds the same static
149
+ iOS home-indicator approximation Drawer/BottomSheet use (`resolveToastBottomInset`); `top` still
150
+ reads a fixed `theme.space[4]` with no notch awareness — a consumer on a notched device may want
151
+ its own top padding via screen-level layout until `react-native-safe-area-context` is a real peer.
99
152
  - Render tests need `@testing-library/react-native` + a react-native jest preset (same
100
153
  dependency-pending note as `Button.render.test.tsx`).
101
154
 
102
155
  ## Performance
103
156
 
104
157
  `ToastProvider` (exported) and `ToastCard` (internal, non-exported) are both wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — mirrors the repo convention (e.g. `AccordionRow`) of memoizing library-internal child components too. No new `useCallback`/`useMemo` needed: the props handed to `ToastCard` (`toast`, `theme`, `position`, `progress`, `onDismiss={hide}`) were already stable — the file already used `useCallback`/`useMemo` throughout.
158
+
159
+ ## Modernization (v1.0.7)
160
+
161
+ - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
162
+ - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
163
+ - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
164
+
165
+ Success/danger toasts fire `useHaptics().notification()` when a haptics module is registered.
166
+
167
+ - **Round 5 motion** — dropped the ad hoc reanimated `FadeInDown`/`FadeOut`/`LinearTransition` wrapper; `progress` already drove the card's own entrance+exit fade/slide, so the wrapper was pure duplication.
@@ -15,31 +15,42 @@
15
15
  * restarts the auto-dismiss timer (and, since a fresh message reads as a new event, restarts the
16
16
  * entrance animation) rather than queueing a second one. `dismiss()` always dismisses that one slot,
17
17
  * and is a safe no-op when nothing is showing.
18
+ *
19
+ * Auto-dismiss is WCAG 2.2.1 (Timing Adjustable) territory: how long a toast lives is decided ONLY
20
+ * by `resolveAutoDismissDelay` (persistent mode, the screen-reader suppression, the `danger`
21
+ * default), and the timer is only armed while the user is neither hovering nor focused inside the
22
+ * card. Hover/focus pause and re-arm, they never dismiss.
18
23
  */
19
24
 
20
25
  import { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
21
- import { AccessibilityInfo, Animated, Pressable, StyleSheet, Text, View } from "react-native";
22
- import { useReducedMotion } from "../../core/a11y/index.js";
26
+ import { AccessibilityInfo, Animated, Platform, Pressable, StyleSheet, Text, View } from "react-native";
27
+ import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
28
+ import { useHaptics } from "../../core/haptics/index.js";
23
29
  import { Icon } from "../../core/icon/index.js";
24
- import { useTheme } from "../../theme/index.js";
25
- import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, DEFAULT_TOAST_DURATION, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
30
+ import { useTheme } from "../../theme/hooks.js";
31
+ import { elevation, floatingBackground, floatingSurfaceStyle, highlight } from "../../theme/platform/index.js";
32
+ import { elevation as elevationTokens } from "../../theme/tokens/primitives/index.js";
33
+ import { CLOSE_BUTTON_SIZE, CLOSE_HIT_SLOP, CLOSE_ICON_SIZE, resolveAutoDismissDelay, resolveToastBottomInset, resolveToastTone, toastAccentBarStructure, toastCardStructure, toastOverlayStructure } from "./Toast.variants.js";
34
+ import { useScreenReaderEnabled } from "./toastScreenReader.js";
26
35
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
- // The entrance/exit fade+slide duration, and how far the card travels while animating in. Component
28
- // design constants — not on the theme's numeric scale, same status `PRESS_FADE_MS` etc. have in
29
- // `Button.tsx`.
30
- const ANIMATION_MS = 200;
31
- const TRANSLATE_DISTANCE = 24;
32
36
  const ToastContext = /*#__PURE__*/createContext(undefined);
33
37
  export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
34
38
  children,
35
39
  position = "top"
36
40
  }) {
37
41
  const theme = useTheme();
38
- const reducedMotion = useReducedMotion();
42
+ const motion = useMotion();
43
+ const haptics = useHaptics();
44
+ const screenReaderEnabled = useScreenReaderEnabled();
39
45
  const [toast, setToast] = useState(null);
40
- const progress = useRef(new Animated.Value(0)).current;
46
+ const progress = useAnimatedValue(0);
41
47
  const dismissTimer = useRef(null);
42
48
  const unmountTimer = useRef(null);
49
+ /** The visible toast's resolved delay; `null` = persistent, so no timer is ever armed for it. */
50
+ const delay = useRef(null);
51
+ // Refs, not state: pausing must not re-render the card mid-hover, and nothing renders from them.
52
+ const hovered = useRef(false);
53
+ const focused = useRef(false);
43
54
  const clearTimers = useCallback(() => {
44
55
  if (dismissTimer.current !== null) clearTimeout(dismissTimer.current);
45
56
  if (unmountTimer.current !== null) clearTimeout(unmountTimer.current);
@@ -53,31 +64,72 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
53
64
  // a second timer of the same duration keeps the removal deterministic everywhere.
54
65
  const hide = useCallback(() => {
55
66
  clearTimers();
56
- Animated.timing(progress, {
57
- toValue: 0,
58
- duration: reducedMotion ? 0 : ANIMATION_MS,
59
- useNativeDriver: true
67
+ // Stops a hover/focus that lands after the exit began from re-arming a timer for a gone toast.
68
+ delay.current = null;
69
+ motion.timing(progress, 0, {
70
+ duration: "fast",
71
+ easing: "accelerate"
60
72
  }).start();
61
- unmountTimer.current = setTimeout(() => setToast(null), reducedMotion ? 0 : ANIMATION_MS);
62
- }, [clearTimers, progress, reducedMotion]);
73
+ unmountTimer.current = setTimeout(() => setToast(null), motion.duration("fast"));
74
+ }, [clearTimers, progress, motion]);
75
+
76
+ /**
77
+ * The single place a dismiss timer is armed. Idempotent and safe to call from either pause
78
+ * source: it always clears first, then re-arms only if the toast auto-dismisses at all and the
79
+ * user is neither hovering nor focused inside it.
80
+ */
81
+ const armDismissTimer = useCallback(() => {
82
+ if (dismissTimer.current !== null) clearTimeout(dismissTimer.current);
83
+ dismissTimer.current = null;
84
+ if (delay.current === null || hovered.current || focused.current) return;
85
+ dismissTimer.current = setTimeout(hide, delay.current);
86
+ }, [hide]);
63
87
  const show = useCallback(options => {
64
88
  clearTimers();
89
+ // A replacement toast is a new event: whatever the pointer/focus did to the last one is spent.
90
+ hovered.current = false;
91
+ focused.current = false;
65
92
  progress.setValue(0);
93
+ const tone = options.tone ?? "neutral";
66
94
  setToast({
67
95
  message: options.message,
68
- tone: options.tone ?? "neutral"
96
+ tone
69
97
  });
98
+ if (tone === "success") {
99
+ haptics.notification("success");
100
+ } else if (tone === "danger") {
101
+ haptics.notification("error");
102
+ }
70
103
  // The real cross-platform screen-reader announcement: `accessibilityLiveRegion` (see
71
104
  // `ToastCard`'s Text) is Android-only, so it alone leaves iOS VoiceOver silent. This
72
105
  // imperative call reaches both VoiceOver and TalkBack.
73
106
  AccessibilityInfo.announceForAccessibility(options.message);
74
- Animated.timing(progress, {
75
- toValue: 1,
76
- duration: reducedMotion ? 0 : ANIMATION_MS,
77
- useNativeDriver: true
107
+ motion.timing(progress, 1, {
108
+ duration: "fast",
109
+ easing: "decelerate"
78
110
  }).start();
79
- dismissTimer.current = setTimeout(hide, options.duration ?? DEFAULT_TOAST_DURATION);
80
- }, [clearTimers, hide, progress, reducedMotion]);
111
+ delay.current = resolveAutoDismissDelay(options.duration, tone, screenReaderEnabled);
112
+ armDismissTimer();
113
+ }, [armDismissTimer, clearTimers, progress, motion, screenReaderEnabled, haptics]);
114
+
115
+ // Pause while the user is reading (WCAG 2.2.1): leaving re-arms the FULL delay rather than the
116
+ // remainder — the message effectively restarts, which is the generous direction.
117
+ const handleHoverIn = useCallback(() => {
118
+ hovered.current = true;
119
+ armDismissTimer();
120
+ }, [armDismissTimer]);
121
+ const handleHoverOut = useCallback(() => {
122
+ hovered.current = false;
123
+ armDismissTimer();
124
+ }, [armDismissTimer]);
125
+ const handleFocus = useCallback(() => {
126
+ focused.current = true;
127
+ armDismissTimer();
128
+ }, [armDismissTimer]);
129
+ const handleBlur = useCallback(() => {
130
+ focused.current = false;
131
+ armDismissTimer();
132
+ }, [armDismissTimer]);
81
133
 
82
134
  // Unmount-only cleanup: `clearTimers` is referentially stable (empty deps), so this never re-fires.
83
135
  useEffect(() => clearTimers, [clearTimers]);
@@ -85,19 +137,29 @@ export const ToastProvider = /*#__PURE__*/memo(function ToastProvider({
85
137
  show,
86
138
  dismiss: hide
87
139
  }), [show, hide]);
140
+ const overlayStyle = useMemo(() => position === "bottom" ? [toastOverlayStructure(theme, {
141
+ position
142
+ }), {
143
+ bottom: resolveToastBottomInset(theme.space[4], Platform.OS)
144
+ }] : toastOverlayStructure(theme, {
145
+ position
146
+ }), [theme, position]);
88
147
  return /*#__PURE__*/_jsxs(ToastContext.Provider, {
89
148
  value: contextValue,
90
149
  children: [children, /*#__PURE__*/_jsx(View, {
91
150
  pointerEvents: "box-none",
92
- style: toastOverlayStructure(theme, {
93
- position
94
- }),
151
+ style: overlayStyle,
95
152
  children: toast !== null && /*#__PURE__*/_jsx(ToastCard, {
96
153
  toast: toast,
97
154
  theme: theme,
98
155
  position: position,
99
156
  progress: progress,
100
- onDismiss: hide
157
+ offsetY: motion.transform.surfaceOffsetY,
158
+ onDismiss: hide,
159
+ onHoverIn: handleHoverIn,
160
+ onHoverOut: handleHoverOut,
161
+ onFocusIn: handleFocus,
162
+ onFocusOut: handleBlur
101
163
  })
102
164
  })]
103
165
  });
@@ -110,19 +172,37 @@ const ToastCard = /*#__PURE__*/memo(function ToastCard({
110
172
  theme,
111
173
  position,
112
174
  progress,
113
- onDismiss
175
+ offsetY,
176
+ onDismiss,
177
+ onHoverIn,
178
+ onHoverOut,
179
+ onFocusIn,
180
+ onFocusOut
114
181
  }) {
115
182
  const toneColors = resolveToastTone(theme.colors, toast.tone);
183
+ const floatingStyle = useMemo(() => {
184
+ highlight("subtle", theme.mode);
185
+ elevation(elevationTokens.sm);
186
+ void theme.elevatedSurfaces;
187
+ return {
188
+ backgroundColor: floatingBackground(theme, "sm"),
189
+ ...floatingSurfaceStyle(theme, "sm")
190
+ };
191
+ }, [theme]);
116
192
  const translateY = progress.interpolate({
117
193
  inputRange: [0, 1],
118
- outputRange: position === "top" ? [-TRANSLATE_DISTANCE, 0] : [TRANSLATE_DISTANCE, 0]
194
+ outputRange: position === "top" ? [-offsetY, 0] : [offsetY, 0]
119
195
  });
120
196
  return /*#__PURE__*/_jsxs(Animated.View, {
121
197
  testID: "pixelize-toast",
122
- accessibilityRole: "alert",
123
- style: [toastCardStructure(theme), {
124
- backgroundColor: toneColors.background
125
- }, theme.elevation.lg, {
198
+ accessibilityRole: "alert"
199
+ // Pointer events, not Pressable: hovering to read must not compete with the close button's tap.
200
+ ,
201
+ onPointerEnter: onHoverIn,
202
+ onPointerLeave: onHoverOut,
203
+ onFocus: onFocusIn,
204
+ onBlur: onFocusOut,
205
+ style: [toastCardStructure(theme), floatingStyle, {
126
206
  opacity: progress,
127
207
  transform: [{
128
208
  translateY
@@ -145,6 +225,10 @@ const ToastCard = /*#__PURE__*/memo(function ToastCard({
145
225
  accessibilityLabel: "Dismiss notification",
146
226
  hitSlop: CLOSE_HIT_SLOP,
147
227
  onPress: onDismiss,
228
+ onHoverIn: onHoverIn,
229
+ onHoverOut: onHoverOut,
230
+ onFocus: onFocusIn,
231
+ onBlur: onFocusOut,
148
232
  style: styles.closeButton,
149
233
  children: /*#__PURE__*/_jsx(Icon, {
150
234
  name: "x",