pixelize-native-library 1.0.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1052) hide show
  1. package/lib/module/core/MODULE.md +129 -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/heading/MODULE.md +38 -0
  12. package/lib/module/core/heading/index.js +45 -0
  13. package/lib/module/core/icon/Icon.js +37 -0
  14. package/lib/module/core/icon/MODULE.md +42 -8
  15. package/lib/module/core/icon/icons/arrow-down.js +10 -0
  16. package/lib/module/core/icon/icons/arrow-left.js +10 -0
  17. package/lib/module/core/icon/icons/arrow-right.js +10 -0
  18. package/lib/module/core/icon/icons/arrow-up.js +10 -0
  19. package/lib/module/core/icon/icons/at-sign.js +10 -0
  20. package/lib/module/core/icon/icons/bell.js +10 -0
  21. package/lib/module/core/icon/icons/bold.js +10 -0
  22. package/lib/module/core/icon/icons/building-2.js +10 -0
  23. package/lib/module/core/icon/icons/calendar.js +10 -0
  24. package/lib/module/core/icon/icons/chart-column.js +10 -0
  25. package/lib/module/core/icon/icons/check.js +10 -0
  26. package/lib/module/core/icon/icons/chevron-down.js +10 -0
  27. package/lib/module/core/icon/icons/chevron-left.js +10 -0
  28. package/lib/module/core/icon/icons/chevron-right.js +10 -0
  29. package/lib/module/core/icon/icons/chevron-up.js +10 -0
  30. package/lib/module/core/icon/icons/chevrons-left.js +10 -0
  31. package/lib/module/core/icon/icons/chevrons-right.js +10 -0
  32. package/lib/module/core/icon/icons/chevrons-up-down.js +10 -0
  33. package/lib/module/core/icon/icons/circle-alert.js +10 -0
  34. package/lib/module/core/icon/icons/circle-check.js +10 -0
  35. package/lib/module/core/icon/icons/clock.js +10 -0
  36. package/lib/module/core/icon/icons/code.js +10 -0
  37. package/lib/module/core/icon/icons/download.js +10 -0
  38. package/lib/module/core/icon/icons/external-link.js +10 -0
  39. package/lib/module/core/icon/icons/eye.js +10 -0
  40. package/lib/module/core/icon/icons/file-text.js +10 -0
  41. package/lib/module/core/icon/icons/filter.js +10 -0
  42. package/lib/module/core/icon/icons/flag.js +10 -0
  43. package/lib/module/core/icon/icons/folder.js +10 -0
  44. package/lib/module/core/icon/icons/heading-1.js +10 -0
  45. package/lib/module/core/icon/icons/heading-2.js +10 -0
  46. package/lib/module/core/icon/icons/heading-3.js +10 -0
  47. package/lib/module/core/icon/icons/image.js +10 -0
  48. package/lib/module/core/icon/icons/inbox.js +10 -0
  49. package/lib/module/core/icon/icons/info.js +10 -0
  50. package/lib/module/core/icon/icons/italic.js +10 -0
  51. package/lib/module/core/icon/icons/kanban.js +10 -0
  52. package/lib/module/core/icon/icons/layers.js +10 -0
  53. package/lib/module/core/icon/icons/layout-dashboard.js +10 -0
  54. package/lib/module/core/icon/icons/layout-template.js +10 -0
  55. package/lib/module/core/icon/icons/life-buoy.js +10 -0
  56. package/lib/module/core/icon/icons/link.js +10 -0
  57. package/lib/module/core/icon/icons/list-checks.js +10 -0
  58. package/lib/module/core/icon/icons/list-ordered.js +10 -0
  59. package/lib/module/core/icon/icons/list-todo.js +10 -0
  60. package/lib/module/core/icon/icons/list.js +10 -0
  61. package/lib/module/core/icon/icons/log-out.js +10 -0
  62. package/lib/module/core/icon/icons/map.js +10 -0
  63. package/lib/module/core/icon/icons/message-square.js +10 -0
  64. package/lib/module/core/icon/icons/milestone.js +10 -0
  65. package/lib/module/core/icon/icons/minus.js +10 -0
  66. package/lib/module/core/icon/icons/more-horizontal.js +10 -0
  67. package/lib/module/core/icon/icons/paperclip.js +10 -0
  68. package/lib/module/core/icon/icons/pencil.js +10 -0
  69. package/lib/module/core/icon/icons/plus.js +10 -0
  70. package/lib/module/core/icon/icons/quote.js +10 -0
  71. package/lib/module/core/icon/icons/refresh-cw.js +10 -0
  72. package/lib/module/core/icon/icons/save.js +10 -0
  73. package/lib/module/core/icon/icons/search.js +10 -0
  74. package/lib/module/core/icon/icons/send.js +10 -0
  75. package/lib/module/core/icon/icons/settings.js +10 -0
  76. package/lib/module/core/icon/icons/share.js +10 -0
  77. package/lib/module/core/icon/icons/square-code.js +10 -0
  78. package/lib/module/core/icon/icons/star.js +10 -0
  79. package/lib/module/core/icon/icons/strikethrough.js +10 -0
  80. package/lib/module/core/icon/icons/tag.js +10 -0
  81. package/lib/module/core/icon/icons/trash.js +10 -0
  82. package/lib/module/core/icon/icons/triangle-alert.js +10 -0
  83. package/lib/module/core/icon/icons/underline.js +10 -0
  84. package/lib/module/core/icon/icons/upload.js +10 -0
  85. package/lib/module/core/icon/icons/user.js +10 -0
  86. package/lib/module/core/icon/icons/users.js +10 -0
  87. package/lib/module/core/icon/icons/x.js +10 -0
  88. package/lib/module/core/icon/index.js +4 -86
  89. package/lib/module/core/icon/names.js +2 -0
  90. package/lib/module/core/icon/resolve.js +158 -0
  91. package/lib/module/core/icon/types.js +4 -0
  92. package/lib/module/core/list/VirtualList.js +226 -0
  93. package/lib/module/core/list/index.js +4 -0
  94. package/lib/module/core/media/MediaImage.js +51 -0
  95. package/lib/module/core/media/expoImage.js +20 -0
  96. package/lib/module/core/media/index.js +6 -0
  97. package/lib/module/core/media/pickers.js +23 -0
  98. package/lib/module/core/motion/MODULE.md +101 -0
  99. package/lib/module/core/motion/config.js +112 -0
  100. package/lib/module/core/motion/index.js +7 -0
  101. package/lib/module/core/motion/presets.js +192 -0
  102. package/lib/module/core/motion/useAnimatedValue.js +19 -0
  103. package/lib/module/core/motion/useMotion.js +46 -0
  104. package/lib/module/core/style/index.js +2 -0
  105. package/lib/module/core/style/sx.js +76 -0
  106. package/lib/module/core/style/useThemedStyles.js +8 -0
  107. package/lib/module/index.js +70 -2
  108. package/lib/module/modules/accordion/Accordion.js +256 -87
  109. package/lib/module/modules/accordion/Accordion.variants.js +2 -4
  110. package/lib/module/modules/accordion/MODULE.md +35 -11
  111. package/lib/module/modules/alert-dialog/AlertDialog.js +1 -1
  112. package/lib/module/modules/alert-dialog/MODULE.md +11 -2
  113. package/lib/module/modules/app-bar/AppBar.js +179 -0
  114. package/lib/module/modules/app-bar/AppBar.variants.js +72 -0
  115. package/lib/module/modules/app-bar/MODULE.md +68 -0
  116. package/lib/module/modules/app-bar/index.js +10 -0
  117. package/lib/module/modules/avatar/Avatar.js +38 -18
  118. package/lib/module/modules/avatar/Avatar.variants.js +44 -3
  119. package/lib/module/modules/avatar/MODULE.md +37 -15
  120. package/lib/module/modules/avatar-group/AvatarGroup.js +77 -0
  121. package/lib/module/modules/avatar-group/AvatarGroup.variants.js +109 -0
  122. package/lib/module/modules/avatar-group/MODULE.md +28 -0
  123. package/lib/module/modules/avatar-group/index.js +10 -0
  124. package/lib/module/modules/badge/Badge.js +3 -2
  125. package/lib/module/modules/badge/Badge.variants.js +12 -2
  126. package/lib/module/modules/badge/MODULE.md +6 -0
  127. package/lib/module/modules/banner/Banner.js +135 -0
  128. package/lib/module/modules/banner/Banner.variants.js +118 -0
  129. package/lib/module/modules/banner/MODULE.md +113 -0
  130. package/lib/module/modules/banner/index.js +4 -0
  131. package/lib/module/modules/bottom-nav/BottomNav.js +38 -117
  132. package/lib/module/modules/bottom-nav/BottomNav.variants.js +93 -9
  133. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +123 -0
  134. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +146 -120
  135. package/lib/module/modules/bottom-nav/BottomNavTab.js +138 -0
  136. package/lib/module/modules/bottom-nav/MODULE.md +45 -15
  137. package/lib/module/modules/bottom-sheet/BottomSheet.js +189 -0
  138. package/lib/module/modules/bottom-sheet/BottomSheet.variants.js +49 -0
  139. package/lib/module/modules/bottom-sheet/MODULE.md +53 -0
  140. package/lib/module/modules/bottom-sheet/index.js +4 -0
  141. package/lib/module/modules/button/Button.js +98 -47
  142. package/lib/module/modules/button/Button.variants.js +12 -7
  143. package/lib/module/modules/button/MODULE.md +25 -3
  144. package/lib/module/modules/button-group/ButtonGroup.js +163 -55
  145. package/lib/module/modules/button-group/ButtonGroup.variants.js +30 -4
  146. package/lib/module/modules/button-group/MODULE.md +33 -7
  147. package/lib/module/modules/card/Card.js +10 -7
  148. package/lib/module/modules/card/MODULE.md +6 -0
  149. package/lib/module/modules/charts/BarChart.js +242 -0
  150. package/lib/module/modules/charts/BarList.js +129 -0
  151. package/lib/module/modules/charts/ChartLegend.js +154 -0
  152. package/lib/module/modules/charts/Charts.variants.js +582 -0
  153. package/lib/module/modules/charts/DonutChart.js +133 -0
  154. package/lib/module/modules/charts/LineChart.js +179 -0
  155. package/lib/module/modules/charts/MODULE.md +178 -0
  156. package/lib/module/modules/charts/PieChart.js +140 -0
  157. package/lib/module/modules/charts/Sparkline.js +80 -0
  158. package/lib/module/modules/charts/index.js +15 -0
  159. package/lib/module/modules/checkbox/Checkbox.js +114 -44
  160. package/lib/module/modules/checkbox/Checkbox.variants.js +13 -8
  161. package/lib/module/modules/checkbox/MODULE.md +35 -8
  162. package/lib/module/modules/chip/Chip.js +155 -0
  163. package/lib/module/modules/chip/Chip.variants.js +278 -0
  164. package/lib/module/modules/chip/ChipGroup.js +48 -0
  165. package/lib/module/modules/chip/MODULE.md +156 -0
  166. package/lib/module/modules/chip/index.js +13 -0
  167. package/lib/module/modules/combobox/Combobox.js +587 -0
  168. package/lib/module/modules/combobox/Combobox.variants.js +280 -0
  169. package/lib/module/modules/combobox/MODULE.md +183 -0
  170. package/lib/module/modules/combobox/comboboxKeys.js +19 -0
  171. package/lib/module/modules/combobox/comboboxKeys.web.js +76 -0
  172. package/lib/module/modules/combobox/index.js +13 -0
  173. package/lib/module/modules/composer/Composer.js +156 -0
  174. package/lib/module/modules/composer/Composer.variants.js +42 -0
  175. package/lib/module/modules/composer/MODULE.md +70 -0
  176. package/lib/module/modules/composer/index.js +4 -0
  177. package/lib/module/modules/copy-button/CopyButton.js +156 -0
  178. package/lib/module/modules/copy-button/CopyButton.variants.js +86 -0
  179. package/lib/module/modules/copy-button/MODULE.md +73 -0
  180. package/lib/module/modules/copy-button/index.js +4 -0
  181. package/lib/module/modules/data-table/DataTable.js +513 -0
  182. package/lib/module/modules/data-table/DataTable.variants.js +188 -0
  183. package/lib/module/modules/data-table/MODULE.md +145 -0
  184. package/lib/module/modules/data-table/index.js +10 -0
  185. package/lib/module/modules/date-picker/Calendar.js +368 -0
  186. package/lib/module/modules/date-picker/Calendar.keys.js +23 -0
  187. package/lib/module/modules/date-picker/Calendar.keys.web.js +83 -0
  188. package/lib/module/modules/date-picker/DatePicker.js +162 -0
  189. package/lib/module/modules/date-picker/DatePicker.variants.js +686 -0
  190. package/lib/module/modules/date-picker/DateRangePicker.js +87 -0
  191. package/lib/module/modules/date-picker/MODULE.md +169 -0
  192. package/lib/module/modules/date-picker/PickerField.js +142 -0
  193. package/lib/module/modules/date-picker/PickerShell.js +132 -0
  194. package/lib/module/modules/date-picker/TimePicker.js +184 -0
  195. package/lib/module/modules/date-picker/index.js +14 -0
  196. package/lib/module/modules/divider/Divider.js +8 -7
  197. package/lib/module/modules/divider/MODULE.md +6 -0
  198. package/lib/module/modules/drawer/Drawer.js +140 -58
  199. package/lib/module/modules/drawer/Drawer.variants.js +3 -16
  200. package/lib/module/modules/drawer/MODULE.md +90 -118
  201. package/lib/module/modules/empty-state/EmptyState.js +32 -18
  202. package/lib/module/modules/empty-state/EmptyState.variants.js +9 -0
  203. package/lib/module/modules/empty-state/MODULE.md +25 -7
  204. package/lib/module/modules/fab/Fab.js +212 -0
  205. package/lib/module/modules/fab/Fab.variants.js +346 -0
  206. package/lib/module/modules/fab/FabGroup.js +334 -0
  207. package/lib/module/modules/fab/MODULE.md +181 -0
  208. package/lib/module/modules/fab/index.js +13 -0
  209. package/lib/module/modules/file-grid/FileGrid.js +149 -0
  210. package/lib/module/modules/file-grid/FileGrid.variants.js +51 -0
  211. package/lib/module/modules/file-grid/MODULE.md +12 -0
  212. package/lib/module/modules/file-grid/index.js +4 -0
  213. package/lib/module/modules/file-upload/FileUpload.js +124 -34
  214. package/lib/module/modules/file-upload/FileUpload.variants.js +50 -7
  215. package/lib/module/modules/file-upload/MODULE.md +22 -4
  216. package/lib/module/modules/filter-sheet/FilterChip.js +25 -19
  217. package/lib/module/modules/filter-sheet/FilterSheet.js +17 -11
  218. package/lib/module/modules/filter-sheet/FilterSheet.variants.js +24 -5
  219. package/lib/module/modules/filter-sheet/FilterSheetBody.js +168 -82
  220. package/lib/module/modules/filter-sheet/MODULE.md +22 -1
  221. package/lib/module/modules/folder-row/FolderRow.js +132 -0
  222. package/lib/module/modules/folder-row/FolderRow.variants.js +49 -0
  223. package/lib/module/modules/folder-row/MODULE.md +71 -0
  224. package/lib/module/modules/folder-row/index.js +4 -0
  225. package/lib/module/modules/form-field/FormField.js +104 -0
  226. package/lib/module/modules/form-field/FormField.variants.js +88 -0
  227. package/lib/module/modules/form-field/MODULE.md +103 -0
  228. package/lib/module/modules/form-field/index.js +4 -0
  229. package/lib/module/modules/gantt/Gantt.js +218 -0
  230. package/lib/module/modules/gantt/Gantt.variants.js +141 -0
  231. package/lib/module/modules/gantt/MODULE.md +71 -0
  232. package/lib/module/modules/gantt/index.js +5 -0
  233. package/lib/module/modules/image-viewer/ImageViewer.js +235 -0
  234. package/lib/module/modules/image-viewer/ImageViewer.variants.js +6 -0
  235. package/lib/module/modules/image-viewer/MODULE.md +57 -0
  236. package/lib/module/modules/image-viewer/index.js +4 -0
  237. package/lib/module/modules/input/Input.js +106 -48
  238. package/lib/module/modules/input/Input.variants.js +18 -4
  239. package/lib/module/modules/input/MODULE.md +36 -6
  240. package/lib/module/modules/limit-reached-modal/LimitReachedModal.js +90 -0
  241. package/lib/module/modules/limit-reached-modal/LimitReachedModal.variants.js +108 -0
  242. package/lib/module/modules/limit-reached-modal/MODULE.md +94 -0
  243. package/lib/module/modules/limit-reached-modal/index.js +11 -0
  244. package/lib/module/modules/list-item/ListItem.js +92 -0
  245. package/lib/module/modules/list-item/ListItem.variants.js +53 -0
  246. package/lib/module/modules/list-item/MODULE.md +53 -0
  247. package/lib/module/modules/list-item/index.js +10 -0
  248. package/lib/module/modules/markdown/MODULE.md +71 -0
  249. package/lib/module/modules/markdown/Markdown.js +183 -0
  250. package/lib/module/modules/markdown/Markdown.variants.js +73 -0
  251. package/lib/module/modules/markdown/index.js +11 -0
  252. package/lib/module/modules/markdown/parseMarkdown.js +153 -0
  253. package/lib/module/modules/menu/MODULE.md +45 -14
  254. package/lib/module/modules/menu/Menu.js +174 -65
  255. package/lib/module/modules/menu/Menu.variants.js +10 -0
  256. package/lib/module/modules/message-bubble/MODULE.md +38 -0
  257. package/lib/module/modules/message-bubble/MessageBubble.js +55 -0
  258. package/lib/module/modules/message-bubble/MessageBubble.variants.js +57 -0
  259. package/lib/module/modules/message-bubble/index.js +4 -0
  260. package/lib/module/modules/modal/MODULE.md +29 -3
  261. package/lib/module/modules/modal/Modal.js +72 -22
  262. package/lib/module/modules/more-items/MODULE.md +72 -0
  263. package/lib/module/modules/more-items/MoreItems.js +162 -0
  264. package/lib/module/modules/more-items/MoreItems.variants.js +80 -0
  265. package/lib/module/modules/more-items/index.js +4 -0
  266. package/lib/module/modules/multi-select/MODULE.md +85 -19
  267. package/lib/module/modules/multi-select/MultiSelect.js +217 -105
  268. package/lib/module/modules/multi-select/MultiSelect.variants.js +28 -5
  269. package/lib/module/modules/number-input/MODULE.md +39 -5
  270. package/lib/module/modules/number-input/NumberInput.js +41 -11
  271. package/lib/module/modules/number-input/NumberInput.variants.js +39 -5
  272. package/lib/module/modules/org-switcher/MODULE.md +121 -0
  273. package/lib/module/modules/org-switcher/OrgSwitcher.js +284 -0
  274. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +186 -0
  275. package/lib/module/modules/org-switcher/index.js +9 -0
  276. package/lib/module/modules/pagination/MODULE.md +163 -0
  277. package/lib/module/modules/pagination/Pagination.js +197 -0
  278. package/lib/module/modules/pagination/Pagination.variants.js +307 -0
  279. package/lib/module/modules/pagination/PaginationControls.js +193 -0
  280. package/lib/module/modules/pagination/index.js +15 -0
  281. package/lib/module/modules/pin-input/MODULE.md +29 -14
  282. package/lib/module/modules/pin-input/PinInput.js +111 -80
  283. package/lib/module/modules/pin-input/PinInput.variants.js +13 -5
  284. package/lib/module/modules/progress-bar/MODULE.md +17 -7
  285. package/lib/module/modules/progress-bar/ProgressBar.js +97 -56
  286. package/lib/module/modules/progress-bar/ProgressBar.variants.js +16 -18
  287. package/lib/module/modules/radio-group/MODULE.md +40 -14
  288. package/lib/module/modules/radio-group/RadioGroup.js +71 -7
  289. package/lib/module/modules/radio-group/RadioGroup.variants.js +46 -10
  290. package/lib/module/modules/reorder/MODULE.md +104 -97
  291. package/lib/module/modules/reorder/Reorder.js +233 -197
  292. package/lib/module/modules/reorder/Reorder.variants.js +35 -13
  293. package/lib/module/modules/rich-text/MODULE.md +52 -0
  294. package/lib/module/modules/rich-text/RichText.js +362 -0
  295. package/lib/module/modules/rich-text/RichText.variants.js +17 -0
  296. package/lib/module/modules/rich-text/index.js +5 -0
  297. package/lib/module/modules/rich-text/parseRichText.js +133 -0
  298. package/lib/module/modules/rich-text-editor/MODULE.md +225 -0
  299. package/lib/module/modules/rich-text-editor/RichTextEditor.js +413 -0
  300. package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +316 -0
  301. package/lib/module/modules/rich-text-editor/index.js +10 -0
  302. package/lib/module/modules/screen/MODULE.md +57 -0
  303. package/lib/module/modules/screen/Screen.js +106 -0
  304. package/lib/module/modules/screen/Screen.variants.js +43 -0
  305. package/lib/module/modules/screen/index.js +10 -0
  306. package/lib/module/modules/search-bar/MODULE.md +114 -0
  307. package/lib/module/modules/search-bar/SearchBar.js +256 -0
  308. package/lib/module/modules/search-bar/SearchBar.variants.js +205 -0
  309. package/lib/module/modules/search-bar/index.js +12 -0
  310. package/lib/module/modules/section/MODULE.md +39 -0
  311. package/lib/module/modules/section/Section.js +42 -0
  312. package/lib/module/modules/section/Section.variants.js +29 -0
  313. package/lib/module/modules/section/index.js +10 -0
  314. package/lib/module/modules/section-list/MODULE.md +18 -0
  315. package/lib/module/modules/section-list/SectionList.js +64 -0
  316. package/lib/module/modules/section-list/SectionList.variants.js +11 -0
  317. package/lib/module/modules/section-list/index.js +4 -0
  318. package/lib/module/modules/segmented-control/MODULE.md +124 -0
  319. package/lib/module/modules/segmented-control/SegmentedControl.js +158 -0
  320. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +167 -0
  321. package/lib/module/modules/segmented-control/index.js +13 -0
  322. package/lib/module/modules/select/MODULE.md +82 -15
  323. package/lib/module/modules/select/Select.js +201 -96
  324. package/lib/module/modules/select/Select.variants.js +39 -5
  325. package/lib/module/modules/skeleton/MODULE.md +27 -7
  326. package/lib/module/modules/skeleton/Skeleton.js +52 -38
  327. package/lib/module/modules/skeleton/Skeleton.variants.js +9 -8
  328. package/lib/module/modules/slider/MODULE.md +31 -5
  329. package/lib/module/modules/slider/Slider.js +67 -10
  330. package/lib/module/modules/slider/Slider.variants.js +60 -13
  331. package/lib/module/modules/spinner/MODULE.md +16 -6
  332. package/lib/module/modules/spinner/Spinner.js +20 -16
  333. package/lib/module/modules/spinner/Spinner.variants.js +5 -3
  334. package/lib/module/modules/stage-progress/MODULE.md +64 -0
  335. package/lib/module/modules/stage-progress/StageProgress.js +174 -0
  336. package/lib/module/modules/stage-progress/StageProgress.variants.js +164 -0
  337. package/lib/module/modules/stage-progress/index.js +4 -0
  338. package/lib/module/modules/stat-tile/MODULE.md +51 -0
  339. package/lib/module/modules/stat-tile/StatTile.js +124 -0
  340. package/lib/module/modules/stat-tile/StatTile.variants.js +57 -0
  341. package/lib/module/modules/stat-tile/index.js +10 -0
  342. package/lib/module/modules/state-block/MODULE.md +52 -0
  343. package/lib/module/modules/state-block/StateBlock.js +131 -0
  344. package/lib/module/modules/state-block/StateBlock.variants.js +55 -0
  345. package/lib/module/modules/state-block/index.js +10 -0
  346. package/lib/module/modules/stepper/MODULE.md +33 -6
  347. package/lib/module/modules/stepper/Stepper.js +108 -39
  348. package/lib/module/modules/stepper/Stepper.variants.js +6 -6
  349. package/lib/module/modules/swipeable-row/MODULE.md +120 -0
  350. package/lib/module/modules/swipeable-row/SwipeableRow.js +244 -0
  351. package/lib/module/modules/swipeable-row/SwipeableRow.variants.js +80 -0
  352. package/lib/module/modules/swipeable-row/index.js +4 -0
  353. package/lib/module/modules/switch/MODULE.md +14 -0
  354. package/lib/module/modules/switch/Switch.js +1 -1
  355. package/lib/module/modules/switch/Switch.variants.js +8 -0
  356. package/lib/module/modules/tabs/MODULE.md +47 -13
  357. package/lib/module/modules/tabs/Tabs.js +121 -72
  358. package/lib/module/modules/tabs/Tabs.variants.js +30 -8
  359. package/lib/module/modules/text/MODULE.md +51 -0
  360. package/lib/module/modules/text/Text.js +47 -0
  361. package/lib/module/modules/text/Text.variants.js +98 -0
  362. package/lib/module/modules/text/index.js +4 -0
  363. package/lib/module/modules/textarea/MODULE.md +29 -13
  364. package/lib/module/modules/textarea/Textarea.js +90 -45
  365. package/lib/module/modules/textarea/Textarea.variants.js +14 -9
  366. package/lib/module/modules/timeline/MODULE.md +49 -8
  367. package/lib/module/modules/timeline/Timeline.js +151 -74
  368. package/lib/module/modules/timeline/Timeline.variants.js +13 -0
  369. package/lib/module/modules/toast/MODULE.md +66 -7
  370. package/lib/module/modules/toast/Toast.js +93 -27
  371. package/lib/module/modules/toast/Toast.variants.js +37 -1
  372. package/lib/module/modules/toast/toastScreenReader.js +69 -0
  373. package/lib/module/modules/tooltip/MODULE.md +78 -28
  374. package/lib/module/modules/tooltip/Tooltip.js +93 -43
  375. package/lib/module/modules/tooltip/Tooltip.variants.js +3 -4
  376. package/lib/module/modules/typing-indicator/MODULE.md +48 -0
  377. package/lib/module/modules/typing-indicator/TypingIndicator.js +98 -0
  378. package/lib/module/modules/typing-indicator/TypingIndicator.variants.js +55 -0
  379. package/lib/module/modules/typing-indicator/index.js +4 -0
  380. package/lib/module/modules/unread-badge/MODULE.md +20 -0
  381. package/lib/module/modules/unread-badge/UnreadBadge.js +45 -0
  382. package/lib/module/modules/unread-badge/UnreadBadge.variants.js +66 -0
  383. package/lib/module/modules/unread-badge/index.js +4 -0
  384. package/lib/module/test/mocks/flashList.js +5 -0
  385. package/lib/module/test/perfHelpers.js +18 -0
  386. package/lib/module/theme/MODULE.md +6 -0
  387. package/lib/module/theme/hooks.js +11 -0
  388. package/lib/module/theme/index.js +3 -6
  389. package/lib/module/theme/platform/MODULE.md +6 -0
  390. package/lib/module/theme/platform/motion.native.js +15 -0
  391. package/lib/module/theme/provider/PixelizeProvider.js +9 -47
  392. package/lib/module/theme/provider/ThemeContext.js +6 -0
  393. package/lib/module/theme/provider/colorModeStorage.js +2 -2
  394. package/lib/module/theme/provider/index.js +1 -0
  395. package/lib/module/theme/provider/loadPalette.js +75 -0
  396. package/lib/module/theme/provider/types.js +4 -0
  397. package/lib/module/theme/provider/useTheme.js +1 -2
  398. package/lib/module/theme/provider/useThemeMode.js +1 -1
  399. package/lib/module/theme/tokens/builders/accentText.js +9 -0
  400. package/lib/module/theme/tokens/roles/index.js +9 -3
  401. package/lib/typescript/core/a11y/announce.d.ts +20 -0
  402. package/lib/typescript/core/a11y/announce.web.d.ts +27 -0
  403. package/lib/typescript/core/a11y/index.d.ts +21 -2
  404. package/lib/typescript/core/a11y/keyboard.d.ts +45 -0
  405. package/lib/typescript/core/a11y/keyboard.web.d.ts +69 -0
  406. package/lib/typescript/core/a11y/labels.d.ts +19 -0
  407. package/lib/typescript/core/device/index.d.ts +16 -0
  408. package/lib/typescript/core/heading/index.d.ts +45 -0
  409. package/lib/typescript/core/icon/Icon.d.ts +18 -0
  410. package/lib/typescript/core/icon/icons/arrow-down.d.ts +3 -0
  411. package/lib/typescript/core/icon/icons/arrow-left.d.ts +3 -0
  412. package/lib/typescript/core/icon/icons/arrow-right.d.ts +3 -0
  413. package/lib/typescript/core/icon/icons/arrow-up.d.ts +3 -0
  414. package/lib/typescript/core/icon/icons/at-sign.d.ts +3 -0
  415. package/lib/typescript/core/icon/icons/bell.d.ts +3 -0
  416. package/lib/typescript/core/icon/icons/bold.d.ts +3 -0
  417. package/lib/typescript/core/icon/icons/building-2.d.ts +3 -0
  418. package/lib/typescript/core/icon/icons/calendar.d.ts +3 -0
  419. package/lib/typescript/core/icon/icons/chart-column.d.ts +3 -0
  420. package/lib/typescript/core/icon/icons/check.d.ts +3 -0
  421. package/lib/typescript/core/icon/icons/chevron-down.d.ts +3 -0
  422. package/lib/typescript/core/icon/icons/chevron-left.d.ts +3 -0
  423. package/lib/typescript/core/icon/icons/chevron-right.d.ts +3 -0
  424. package/lib/typescript/core/icon/icons/chevron-up.d.ts +3 -0
  425. package/lib/typescript/core/icon/icons/chevrons-left.d.ts +3 -0
  426. package/lib/typescript/core/icon/icons/chevrons-right.d.ts +3 -0
  427. package/lib/typescript/core/icon/icons/chevrons-up-down.d.ts +3 -0
  428. package/lib/typescript/core/icon/icons/circle-alert.d.ts +3 -0
  429. package/lib/typescript/core/icon/icons/circle-check.d.ts +3 -0
  430. package/lib/typescript/core/icon/icons/clock.d.ts +3 -0
  431. package/lib/typescript/core/icon/icons/code.d.ts +3 -0
  432. package/lib/typescript/core/icon/icons/download.d.ts +3 -0
  433. package/lib/typescript/core/icon/icons/external-link.d.ts +3 -0
  434. package/lib/typescript/core/icon/icons/eye.d.ts +3 -0
  435. package/lib/typescript/core/icon/icons/file-text.d.ts +3 -0
  436. package/lib/typescript/core/icon/icons/filter.d.ts +3 -0
  437. package/lib/typescript/core/icon/icons/flag.d.ts +3 -0
  438. package/lib/typescript/core/icon/icons/folder.d.ts +3 -0
  439. package/lib/typescript/core/icon/icons/heading-1.d.ts +3 -0
  440. package/lib/typescript/core/icon/icons/heading-2.d.ts +3 -0
  441. package/lib/typescript/core/icon/icons/heading-3.d.ts +3 -0
  442. package/lib/typescript/core/icon/icons/image.d.ts +3 -0
  443. package/lib/typescript/core/icon/icons/inbox.d.ts +3 -0
  444. package/lib/typescript/core/icon/icons/info.d.ts +3 -0
  445. package/lib/typescript/core/icon/icons/italic.d.ts +3 -0
  446. package/lib/typescript/core/icon/icons/kanban.d.ts +3 -0
  447. package/lib/typescript/core/icon/icons/layers.d.ts +3 -0
  448. package/lib/typescript/core/icon/icons/layout-dashboard.d.ts +3 -0
  449. package/lib/typescript/core/icon/icons/layout-template.d.ts +3 -0
  450. package/lib/typescript/core/icon/icons/life-buoy.d.ts +3 -0
  451. package/lib/typescript/core/icon/icons/link.d.ts +3 -0
  452. package/lib/typescript/core/icon/icons/list-checks.d.ts +3 -0
  453. package/lib/typescript/core/icon/icons/list-ordered.d.ts +3 -0
  454. package/lib/typescript/core/icon/icons/list-todo.d.ts +3 -0
  455. package/lib/typescript/core/icon/icons/list.d.ts +3 -0
  456. package/lib/typescript/core/icon/icons/log-out.d.ts +3 -0
  457. package/lib/typescript/core/icon/icons/map.d.ts +3 -0
  458. package/lib/typescript/core/icon/icons/message-square.d.ts +3 -0
  459. package/lib/typescript/core/icon/icons/milestone.d.ts +3 -0
  460. package/lib/typescript/core/icon/icons/minus.d.ts +3 -0
  461. package/lib/typescript/core/icon/icons/more-horizontal.d.ts +3 -0
  462. package/lib/typescript/core/icon/icons/paperclip.d.ts +3 -0
  463. package/lib/typescript/core/icon/icons/pencil.d.ts +3 -0
  464. package/lib/typescript/core/icon/icons/plus.d.ts +3 -0
  465. package/lib/typescript/core/icon/icons/quote.d.ts +3 -0
  466. package/lib/typescript/core/icon/icons/refresh-cw.d.ts +3 -0
  467. package/lib/typescript/core/icon/icons/save.d.ts +3 -0
  468. package/lib/typescript/core/icon/icons/search.d.ts +3 -0
  469. package/lib/typescript/core/icon/icons/send.d.ts +3 -0
  470. package/lib/typescript/core/icon/icons/settings.d.ts +3 -0
  471. package/lib/typescript/core/icon/icons/share.d.ts +3 -0
  472. package/lib/typescript/core/icon/icons/square-code.d.ts +3 -0
  473. package/lib/typescript/core/icon/icons/star.d.ts +3 -0
  474. package/lib/typescript/core/icon/icons/strikethrough.d.ts +3 -0
  475. package/lib/typescript/core/icon/icons/tag.d.ts +3 -0
  476. package/lib/typescript/core/icon/icons/trash.d.ts +3 -0
  477. package/lib/typescript/core/icon/icons/triangle-alert.d.ts +3 -0
  478. package/lib/typescript/core/icon/icons/underline.d.ts +3 -0
  479. package/lib/typescript/core/icon/icons/upload.d.ts +3 -0
  480. package/lib/typescript/core/icon/icons/user.d.ts +3 -0
  481. package/lib/typescript/core/icon/icons/users.d.ts +3 -0
  482. package/lib/typescript/core/icon/icons/x.d.ts +3 -0
  483. package/lib/typescript/core/icon/index.d.ts +6 -57
  484. package/lib/typescript/core/icon/names.d.ts +2 -0
  485. package/lib/typescript/core/icon/resolve.d.ts +4 -0
  486. package/lib/typescript/core/icon/types.d.ts +13 -0
  487. package/lib/typescript/core/list/VirtualList.d.ts +55 -0
  488. package/lib/typescript/core/list/index.d.ts +3 -0
  489. package/lib/typescript/core/media/MediaImage.d.ts +28 -0
  490. package/lib/typescript/core/media/expoImage.d.ts +14 -0
  491. package/lib/typescript/core/media/index.d.ts +7 -0
  492. package/lib/typescript/core/media/pickers.d.ts +27 -0
  493. package/lib/typescript/core/motion/config.d.ts +56 -0
  494. package/lib/typescript/core/motion/index.d.ts +8 -0
  495. package/lib/typescript/core/motion/presets.d.ts +49 -0
  496. package/lib/typescript/core/motion/useAnimatedValue.d.ts +11 -0
  497. package/lib/typescript/core/motion/useMotion.d.ts +34 -0
  498. package/lib/typescript/core/style/index.d.ts +3 -0
  499. package/lib/typescript/core/style/sx.d.ts +86 -0
  500. package/lib/typescript/core/style/useThemedStyles.d.ts +5 -0
  501. package/lib/typescript/index.d.ts +134 -2
  502. package/lib/typescript/modules/accordion/Accordion.d.ts +12 -23
  503. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +5 -5
  504. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -1
  505. package/lib/typescript/modules/app-bar/AppBar.d.ts +37 -0
  506. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +35 -0
  507. package/lib/typescript/modules/app-bar/index.d.ts +9 -0
  508. package/lib/typescript/modules/avatar/Avatar.d.ts +23 -3
  509. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +32 -1
  510. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  511. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +28 -0
  512. package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +75 -0
  513. package/lib/typescript/modules/avatar-group/index.d.ts +9 -0
  514. package/lib/typescript/modules/badge/Badge.d.ts +3 -1
  515. package/lib/typescript/modules/badge/Badge.variants.d.ts +8 -4
  516. package/lib/typescript/modules/banner/Banner.d.ts +35 -0
  517. package/lib/typescript/modules/banner/Banner.variants.d.ts +49 -0
  518. package/lib/typescript/modules/banner/index.d.ts +5 -0
  519. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +14 -9
  520. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +72 -9
  521. package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts +25 -0
  522. package/lib/typescript/modules/bottom-nav/BottomNavTab.d.ts +34 -0
  523. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +29 -0
  524. package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +13 -0
  525. package/lib/typescript/modules/bottom-sheet/index.d.ts +3 -0
  526. package/lib/typescript/modules/button/Button.d.ts +21 -0
  527. package/lib/typescript/modules/button/Button.variants.d.ts +22 -9
  528. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +4 -2
  529. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +18 -5
  530. package/lib/typescript/modules/card/Card.variants.d.ts +2 -2
  531. package/lib/typescript/modules/charts/BarChart.d.ts +26 -0
  532. package/lib/typescript/modules/charts/BarList.d.ts +18 -0
  533. package/lib/typescript/modules/charts/ChartLegend.d.ts +16 -0
  534. package/lib/typescript/modules/charts/Charts.variants.d.ts +225 -0
  535. package/lib/typescript/modules/charts/DonutChart.d.ts +21 -0
  536. package/lib/typescript/modules/charts/LineChart.d.ts +30 -0
  537. package/lib/typescript/modules/charts/PieChart.d.ts +18 -0
  538. package/lib/typescript/modules/charts/Sparkline.d.ts +13 -0
  539. package/lib/typescript/modules/charts/index.d.ts +19 -0
  540. package/lib/typescript/modules/checkbox/Checkbox.d.ts +4 -1
  541. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +14 -9
  542. package/lib/typescript/modules/chip/Chip.d.ts +38 -0
  543. package/lib/typescript/modules/chip/Chip.variants.d.ts +198 -0
  544. package/lib/typescript/modules/chip/ChipGroup.d.ts +22 -0
  545. package/lib/typescript/modules/chip/index.d.ts +12 -0
  546. package/lib/typescript/modules/combobox/Combobox.d.ts +81 -0
  547. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +212 -0
  548. package/lib/typescript/modules/combobox/comboboxKeys.d.ts +25 -0
  549. package/lib/typescript/modules/combobox/comboboxKeys.web.d.ts +23 -0
  550. package/lib/typescript/modules/combobox/index.d.ts +11 -0
  551. package/lib/typescript/modules/composer/Composer.d.ts +28 -0
  552. package/lib/typescript/modules/composer/Composer.variants.d.ts +7 -0
  553. package/lib/typescript/modules/composer/index.d.ts +3 -0
  554. package/lib/typescript/modules/copy-button/CopyButton.d.ts +21 -0
  555. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +42 -0
  556. package/lib/typescript/modules/copy-button/index.d.ts +4 -0
  557. package/lib/typescript/modules/data-table/DataTable.d.ts +44 -0
  558. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +118 -0
  559. package/lib/typescript/modules/data-table/index.d.ts +9 -0
  560. package/lib/typescript/modules/date-picker/Calendar.d.ts +42 -0
  561. package/lib/typescript/modules/date-picker/Calendar.keys.d.ts +19 -0
  562. package/lib/typescript/modules/date-picker/Calendar.keys.web.d.ts +35 -0
  563. package/lib/typescript/modules/date-picker/DatePicker.d.ts +40 -0
  564. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +322 -0
  565. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +32 -0
  566. package/lib/typescript/modules/date-picker/PickerField.d.ts +26 -0
  567. package/lib/typescript/modules/date-picker/PickerShell.d.ts +29 -0
  568. package/lib/typescript/modules/date-picker/TimePicker.d.ts +20 -0
  569. package/lib/typescript/modules/date-picker/index.d.ts +16 -0
  570. package/lib/typescript/modules/divider/Divider.variants.d.ts +2 -2
  571. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -1
  572. package/lib/typescript/modules/drawer/Drawer.variants.d.ts +4 -13
  573. package/lib/typescript/modules/empty-state/EmptyState.d.ts +7 -4
  574. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +7 -1
  575. package/lib/typescript/modules/fab/Fab.d.ts +74 -0
  576. package/lib/typescript/modules/fab/Fab.variants.d.ts +229 -0
  577. package/lib/typescript/modules/fab/FabGroup.d.ts +66 -0
  578. package/lib/typescript/modules/fab/index.d.ts +12 -0
  579. package/lib/typescript/modules/file-grid/FileGrid.d.ts +26 -0
  580. package/lib/typescript/modules/file-grid/FileGrid.variants.d.ts +26 -0
  581. package/lib/typescript/modules/file-grid/index.d.ts +4 -0
  582. package/lib/typescript/modules/file-upload/FileUpload.d.ts +3 -0
  583. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +22 -5
  584. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +30 -5
  585. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +13 -8
  586. package/lib/typescript/modules/folder-row/FolderRow.d.ts +24 -0
  587. package/lib/typescript/modules/folder-row/FolderRow.variants.d.ts +29 -0
  588. package/lib/typescript/modules/folder-row/index.d.ts +3 -0
  589. package/lib/typescript/modules/form-field/FormField.d.ts +29 -0
  590. package/lib/typescript/modules/form-field/FormField.variants.d.ts +93 -0
  591. package/lib/typescript/modules/form-field/index.d.ts +4 -0
  592. package/lib/typescript/modules/gantt/Gantt.d.ts +19 -0
  593. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +82 -0
  594. package/lib/typescript/modules/gantt/index.d.ts +5 -0
  595. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +27 -0
  596. package/lib/typescript/modules/image-viewer/ImageViewer.variants.d.ts +3 -0
  597. package/lib/typescript/modules/image-viewer/index.d.ts +3 -0
  598. package/lib/typescript/modules/input/Input.d.ts +9 -1
  599. package/lib/typescript/modules/input/Input.variants.d.ts +26 -6
  600. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +34 -0
  601. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.variants.d.ts +46 -0
  602. package/lib/typescript/modules/limit-reached-modal/index.d.ts +10 -0
  603. package/lib/typescript/modules/list-item/ListItem.d.ts +21 -0
  604. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +29 -0
  605. package/lib/typescript/modules/list-item/index.d.ts +8 -0
  606. package/lib/typescript/modules/markdown/Markdown.d.ts +16 -0
  607. package/lib/typescript/modules/markdown/Markdown.variants.d.ts +33 -0
  608. package/lib/typescript/modules/markdown/index.d.ts +10 -0
  609. package/lib/typescript/modules/markdown/parseMarkdown.d.ts +44 -0
  610. package/lib/typescript/modules/menu/Menu.d.ts +8 -18
  611. package/lib/typescript/modules/menu/Menu.variants.d.ts +8 -1
  612. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +25 -0
  613. package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +31 -0
  614. package/lib/typescript/modules/message-bubble/index.d.ts +4 -0
  615. package/lib/typescript/modules/modal/Modal.d.ts +12 -0
  616. package/lib/typescript/modules/modal/Modal.variants.d.ts +1 -1
  617. package/lib/typescript/modules/more-items/MoreItems.d.ts +15 -0
  618. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +30 -0
  619. package/lib/typescript/modules/more-items/index.d.ts +4 -0
  620. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +3 -12
  621. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +24 -5
  622. package/lib/typescript/modules/number-input/NumberInput.d.ts +6 -0
  623. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +57 -7
  624. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +44 -0
  625. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +139 -0
  626. package/lib/typescript/modules/org-switcher/index.d.ts +8 -0
  627. package/lib/typescript/modules/pagination/Pagination.d.ts +45 -0
  628. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +240 -0
  629. package/lib/typescript/modules/pagination/PaginationControls.d.ts +50 -0
  630. package/lib/typescript/modules/pagination/index.d.ts +14 -0
  631. package/lib/typescript/modules/pin-input/PinInput.d.ts +6 -0
  632. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +22 -5
  633. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +8 -4
  634. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +13 -15
  635. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +6 -0
  636. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +32 -11
  637. package/lib/typescript/modules/reorder/Reorder.d.ts +28 -23
  638. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +25 -9
  639. package/lib/typescript/modules/rich-text/RichText.d.ts +15 -0
  640. package/lib/typescript/modules/rich-text/RichText.variants.d.ts +15 -0
  641. package/lib/typescript/modules/rich-text/index.d.ts +5 -0
  642. package/lib/typescript/modules/rich-text/parseRichText.d.ts +30 -0
  643. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +62 -0
  644. package/lib/typescript/modules/rich-text-editor/RichTextEditor.variants.d.ts +139 -0
  645. package/lib/typescript/modules/rich-text-editor/index.d.ts +9 -0
  646. package/lib/typescript/modules/screen/Screen.d.ts +36 -0
  647. package/lib/typescript/modules/screen/Screen.variants.d.ts +21 -0
  648. package/lib/typescript/modules/screen/index.d.ts +9 -0
  649. package/lib/typescript/modules/search-bar/SearchBar.d.ts +47 -0
  650. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +179 -0
  651. package/lib/typescript/modules/search-bar/index.d.ts +11 -0
  652. package/lib/typescript/modules/section/Section.d.ts +17 -0
  653. package/lib/typescript/modules/section/Section.variants.d.ts +12 -0
  654. package/lib/typescript/modules/section/index.d.ts +8 -0
  655. package/lib/typescript/modules/section-list/SectionList.d.ts +26 -0
  656. package/lib/typescript/modules/section-list/SectionList.variants.d.ts +3 -0
  657. package/lib/typescript/modules/section-list/index.d.ts +3 -0
  658. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +45 -0
  659. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +143 -0
  660. package/lib/typescript/modules/segmented-control/index.d.ts +11 -0
  661. package/lib/typescript/modules/select/Select.d.ts +3 -10
  662. package/lib/typescript/modules/select/Select.variants.d.ts +27 -5
  663. package/lib/typescript/modules/skeleton/Skeleton.d.ts +5 -0
  664. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +10 -9
  665. package/lib/typescript/modules/slider/Slider.variants.d.ts +35 -14
  666. package/lib/typescript/modules/spinner/Spinner.variants.d.ts +6 -4
  667. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +18 -0
  668. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +98 -0
  669. package/lib/typescript/modules/stage-progress/index.d.ts +4 -0
  670. package/lib/typescript/modules/stat-tile/StatTile.d.ts +20 -0
  671. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +36 -0
  672. package/lib/typescript/modules/stat-tile/index.d.ts +9 -0
  673. package/lib/typescript/modules/state-block/StateBlock.d.ts +51 -0
  674. package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +30 -0
  675. package/lib/typescript/modules/state-block/index.d.ts +10 -0
  676. package/lib/typescript/modules/stepper/Stepper.d.ts +4 -0
  677. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +7 -7
  678. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +35 -0
  679. package/lib/typescript/modules/swipeable-row/SwipeableRow.variants.d.ts +27 -0
  680. package/lib/typescript/modules/swipeable-row/index.d.ts +4 -0
  681. package/lib/typescript/modules/switch/Switch.variants.d.ts +9 -1
  682. package/lib/typescript/modules/tabs/Tabs.d.ts +8 -6
  683. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +20 -7
  684. package/lib/typescript/modules/text/Text.d.ts +23 -0
  685. package/lib/typescript/modules/text/Text.variants.d.ts +18 -0
  686. package/lib/typescript/modules/text/index.d.ts +4 -0
  687. package/lib/typescript/modules/textarea/Textarea.d.ts +5 -0
  688. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +15 -8
  689. package/lib/typescript/modules/timeline/Timeline.d.ts +11 -11
  690. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +17 -1
  691. package/lib/typescript/modules/toast/Toast.d.ts +13 -3
  692. package/lib/typescript/modules/toast/Toast.variants.d.ts +31 -3
  693. package/lib/typescript/modules/toast/index.d.ts +1 -1
  694. package/lib/typescript/modules/toast/toastScreenReader.d.ts +22 -0
  695. package/lib/typescript/modules/tooltip/Tooltip.d.ts +34 -11
  696. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +4 -5
  697. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +28 -0
  698. package/lib/typescript/modules/typing-indicator/TypingIndicator.variants.d.ts +32 -0
  699. package/lib/typescript/modules/typing-indicator/index.d.ts +4 -0
  700. package/lib/typescript/modules/unread-badge/UnreadBadge.d.ts +15 -0
  701. package/lib/typescript/modules/unread-badge/UnreadBadge.variants.d.ts +56 -0
  702. package/lib/typescript/modules/unread-badge/index.d.ts +4 -0
  703. package/lib/typescript/test/mocks/flashList.d.ts +3 -0
  704. package/lib/typescript/test/perfHelpers.d.ts +9 -0
  705. package/lib/typescript/theme/hooks.d.ts +11 -0
  706. package/lib/typescript/theme/index.d.ts +3 -2
  707. package/lib/typescript/theme/platform/motion.native.d.ts +15 -0
  708. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +3 -80
  709. package/lib/typescript/theme/provider/ThemeContext.d.ts +4 -0
  710. package/lib/typescript/theme/provider/index.d.ts +2 -1
  711. package/lib/typescript/theme/provider/loadPalette.d.ts +9 -0
  712. package/lib/typescript/theme/provider/types.d.ts +41 -0
  713. package/lib/typescript/theme/provider/useTheme.d.ts +1 -2
  714. package/lib/typescript/theme/provider/useThemeMode.d.ts +1 -1
  715. package/lib/typescript/theme/tokens/builders/accentText.d.ts +6 -0
  716. package/lib/typescript/theme/tokens/roles/index.d.ts +7 -0
  717. package/package.json +209 -14
  718. package/registry.json +191 -1
  719. package/lib/module/core/a11y/index.js.map +0 -1
  720. package/lib/module/core/icon/index.js.map +0 -1
  721. package/lib/module/core/style/index.js.map +0 -1
  722. package/lib/module/core/style/layoutStyle.js.map +0 -1
  723. package/lib/module/core/style/variants.js.map +0 -1
  724. package/lib/module/index.js.map +0 -1
  725. package/lib/module/modules/accordion/Accordion.js.map +0 -1
  726. package/lib/module/modules/accordion/Accordion.variants.js.map +0 -1
  727. package/lib/module/modules/accordion/index.js.map +0 -1
  728. package/lib/module/modules/alert-dialog/AlertDialog.js.map +0 -1
  729. package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +0 -1
  730. package/lib/module/modules/alert-dialog/index.js.map +0 -1
  731. package/lib/module/modules/avatar/Avatar.js.map +0 -1
  732. package/lib/module/modules/avatar/Avatar.variants.js.map +0 -1
  733. package/lib/module/modules/avatar/index.js.map +0 -1
  734. package/lib/module/modules/badge/Badge.js.map +0 -1
  735. package/lib/module/modules/badge/Badge.variants.js.map +0 -1
  736. package/lib/module/modules/badge/index.js.map +0 -1
  737. package/lib/module/modules/bottom-nav/BottomNav.js.map +0 -1
  738. package/lib/module/modules/bottom-nav/BottomNav.search.js.map +0 -1
  739. package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +0 -1
  740. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +0 -1
  741. package/lib/module/modules/bottom-nav/index.js.map +0 -1
  742. package/lib/module/modules/button/Button.js.map +0 -1
  743. package/lib/module/modules/button/Button.variants.js.map +0 -1
  744. package/lib/module/modules/button/index.js.map +0 -1
  745. package/lib/module/modules/button-group/ButtonGroup.js.map +0 -1
  746. package/lib/module/modules/button-group/ButtonGroup.variants.js.map +0 -1
  747. package/lib/module/modules/button-group/index.js.map +0 -1
  748. package/lib/module/modules/card/Card.js.map +0 -1
  749. package/lib/module/modules/card/Card.variants.js.map +0 -1
  750. package/lib/module/modules/card/index.js.map +0 -1
  751. package/lib/module/modules/checkbox/Checkbox.js.map +0 -1
  752. package/lib/module/modules/checkbox/Checkbox.variants.js.map +0 -1
  753. package/lib/module/modules/checkbox/index.js.map +0 -1
  754. package/lib/module/modules/divider/Divider.js.map +0 -1
  755. package/lib/module/modules/divider/Divider.variants.js.map +0 -1
  756. package/lib/module/modules/divider/index.js.map +0 -1
  757. package/lib/module/modules/drawer/Drawer.js.map +0 -1
  758. package/lib/module/modules/drawer/Drawer.variants.js.map +0 -1
  759. package/lib/module/modules/drawer/index.js.map +0 -1
  760. package/lib/module/modules/empty-state/EmptyState.js.map +0 -1
  761. package/lib/module/modules/empty-state/EmptyState.variants.js.map +0 -1
  762. package/lib/module/modules/empty-state/index.js.map +0 -1
  763. package/lib/module/modules/file-upload/FileUpload.js.map +0 -1
  764. package/lib/module/modules/file-upload/FileUpload.variants.js.map +0 -1
  765. package/lib/module/modules/file-upload/index.js.map +0 -1
  766. package/lib/module/modules/filter-sheet/FilterChip.js.map +0 -1
  767. package/lib/module/modules/filter-sheet/FilterSheet.js.map +0 -1
  768. package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +0 -1
  769. package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +0 -1
  770. package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +0 -1
  771. package/lib/module/modules/filter-sheet/index.js.map +0 -1
  772. package/lib/module/modules/input/Input.js.map +0 -1
  773. package/lib/module/modules/input/Input.variants.js.map +0 -1
  774. package/lib/module/modules/input/index.js.map +0 -1
  775. package/lib/module/modules/menu/Menu.js.map +0 -1
  776. package/lib/module/modules/menu/Menu.variants.js.map +0 -1
  777. package/lib/module/modules/menu/index.js.map +0 -1
  778. package/lib/module/modules/modal/Modal.js.map +0 -1
  779. package/lib/module/modules/modal/Modal.variants.js.map +0 -1
  780. package/lib/module/modules/modal/ModalPortalContext.js.map +0 -1
  781. package/lib/module/modules/modal/ModalPortalProvider.js.map +0 -1
  782. package/lib/module/modules/modal/index.js.map +0 -1
  783. package/lib/module/modules/modal/renderWebPortal.js.map +0 -1
  784. package/lib/module/modules/modal/renderWebPortal.web.js.map +0 -1
  785. package/lib/module/modules/multi-select/MultiSelect.js.map +0 -1
  786. package/lib/module/modules/multi-select/MultiSelect.variants.js.map +0 -1
  787. package/lib/module/modules/multi-select/index.js.map +0 -1
  788. package/lib/module/modules/number-input/NumberInput.js.map +0 -1
  789. package/lib/module/modules/number-input/NumberInput.variants.js.map +0 -1
  790. package/lib/module/modules/number-input/index.js.map +0 -1
  791. package/lib/module/modules/pin-input/PinInput.js.map +0 -1
  792. package/lib/module/modules/pin-input/PinInput.variants.js.map +0 -1
  793. package/lib/module/modules/pin-input/index.js.map +0 -1
  794. package/lib/module/modules/progress-bar/ProgressBar.js.map +0 -1
  795. package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +0 -1
  796. package/lib/module/modules/progress-bar/index.js.map +0 -1
  797. package/lib/module/modules/radio-group/RadioGroup.js.map +0 -1
  798. package/lib/module/modules/radio-group/RadioGroup.variants.js.map +0 -1
  799. package/lib/module/modules/radio-group/index.js.map +0 -1
  800. package/lib/module/modules/reorder/Reorder.js.map +0 -1
  801. package/lib/module/modules/reorder/Reorder.variants.js.map +0 -1
  802. package/lib/module/modules/reorder/index.js.map +0 -1
  803. package/lib/module/modules/select/Select.js.map +0 -1
  804. package/lib/module/modules/select/Select.variants.js.map +0 -1
  805. package/lib/module/modules/select/index.js.map +0 -1
  806. package/lib/module/modules/skeleton/Skeleton.js.map +0 -1
  807. package/lib/module/modules/skeleton/Skeleton.variants.js.map +0 -1
  808. package/lib/module/modules/skeleton/index.js.map +0 -1
  809. package/lib/module/modules/slider/Slider.js.map +0 -1
  810. package/lib/module/modules/slider/Slider.variants.js.map +0 -1
  811. package/lib/module/modules/slider/index.js.map +0 -1
  812. package/lib/module/modules/spinner/Spinner.js.map +0 -1
  813. package/lib/module/modules/spinner/Spinner.variants.js.map +0 -1
  814. package/lib/module/modules/spinner/index.js.map +0 -1
  815. package/lib/module/modules/stepper/Stepper.js.map +0 -1
  816. package/lib/module/modules/stepper/Stepper.variants.js.map +0 -1
  817. package/lib/module/modules/stepper/index.js.map +0 -1
  818. package/lib/module/modules/switch/Switch.js.map +0 -1
  819. package/lib/module/modules/switch/Switch.variants.js.map +0 -1
  820. package/lib/module/modules/switch/index.js.map +0 -1
  821. package/lib/module/modules/tabs/Tabs.js.map +0 -1
  822. package/lib/module/modules/tabs/Tabs.variants.js.map +0 -1
  823. package/lib/module/modules/tabs/index.js.map +0 -1
  824. package/lib/module/modules/textarea/Textarea.js.map +0 -1
  825. package/lib/module/modules/textarea/Textarea.variants.js.map +0 -1
  826. package/lib/module/modules/textarea/index.js.map +0 -1
  827. package/lib/module/modules/timeline/Timeline.js.map +0 -1
  828. package/lib/module/modules/timeline/Timeline.variants.js.map +0 -1
  829. package/lib/module/modules/timeline/index.js.map +0 -1
  830. package/lib/module/modules/toast/Toast.js.map +0 -1
  831. package/lib/module/modules/toast/Toast.variants.js.map +0 -1
  832. package/lib/module/modules/toast/index.js.map +0 -1
  833. package/lib/module/modules/tooltip/Tooltip.js.map +0 -1
  834. package/lib/module/modules/tooltip/Tooltip.variants.js.map +0 -1
  835. package/lib/module/modules/tooltip/index.js.map +0 -1
  836. package/lib/module/theme/index.js.map +0 -1
  837. package/lib/module/theme/platform/colorScheme.native.js.map +0 -1
  838. package/lib/module/theme/platform/elevation.native.js.map +0 -1
  839. package/lib/module/theme/platform/fonts.native.js.map +0 -1
  840. package/lib/module/theme/platform/index.js.map +0 -1
  841. package/lib/module/theme/platform/units.native.js.map +0 -1
  842. package/lib/module/theme/provider/PixelizeProvider.js.map +0 -1
  843. package/lib/module/theme/provider/colorModeStorage.js.map +0 -1
  844. package/lib/module/theme/provider/index.js.map +0 -1
  845. package/lib/module/theme/provider/useTheme.js.map +0 -1
  846. package/lib/module/theme/provider/useThemeColors.js.map +0 -1
  847. package/lib/module/theme/provider/useThemeMode.js.map +0 -1
  848. package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +0 -1
  849. package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +0 -1
  850. package/lib/module/theme/tokens/brands/index.js.map +0 -1
  851. package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +0 -1
  852. package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +0 -1
  853. package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +0 -1
  854. package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +0 -1
  855. package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +0 -1
  856. package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +0 -1
  857. package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +0 -1
  858. package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +0 -1
  859. package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +0 -1
  860. package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +0 -1
  861. package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +0 -1
  862. package/lib/module/theme/tokens/brands/slate/palette.light.js.map +0 -1
  863. package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +0 -1
  864. package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +0 -1
  865. package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +0 -1
  866. package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +0 -1
  867. package/lib/module/theme/tokens/builders/accentText.js.map +0 -1
  868. package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +0 -1
  869. package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +0 -1
  870. package/lib/module/theme/tokens/builders/color.js.map +0 -1
  871. package/lib/module/theme/tokens/index.js.map +0 -1
  872. package/lib/module/theme/tokens/primitives/borderWidths.js.map +0 -1
  873. package/lib/module/theme/tokens/primitives/breakpoints.js.map +0 -1
  874. package/lib/module/theme/tokens/primitives/elevation.js.map +0 -1
  875. package/lib/module/theme/tokens/primitives/fontSizes.js.map +0 -1
  876. package/lib/module/theme/tokens/primitives/fontWeights.js.map +0 -1
  877. package/lib/module/theme/tokens/primitives/index.js.map +0 -1
  878. package/lib/module/theme/tokens/primitives/letterSpacings.js.map +0 -1
  879. package/lib/module/theme/tokens/primitives/lineHeights.js.map +0 -1
  880. package/lib/module/theme/tokens/primitives/radii.js.map +0 -1
  881. package/lib/module/theme/tokens/primitives/sizes.js.map +0 -1
  882. package/lib/module/theme/tokens/primitives/space.js.map +0 -1
  883. package/lib/module/theme/tokens/primitives/zIndices.js.map +0 -1
  884. package/lib/module/theme/tokens/roles/index.js.map +0 -1
  885. package/lib/module/theme/tokens/types.js.map +0 -1
  886. package/lib/typescript/core/a11y/index.d.ts.map +0 -1
  887. package/lib/typescript/core/icon/index.d.ts.map +0 -1
  888. package/lib/typescript/core/style/index.d.ts.map +0 -1
  889. package/lib/typescript/core/style/layoutStyle.d.ts.map +0 -1
  890. package/lib/typescript/core/style/variants.d.ts.map +0 -1
  891. package/lib/typescript/index.d.ts.map +0 -1
  892. package/lib/typescript/modules/accordion/Accordion.d.ts.map +0 -1
  893. package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +0 -1
  894. package/lib/typescript/modules/accordion/index.d.ts.map +0 -1
  895. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +0 -1
  896. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +0 -1
  897. package/lib/typescript/modules/alert-dialog/index.d.ts.map +0 -1
  898. package/lib/typescript/modules/avatar/Avatar.d.ts.map +0 -1
  899. package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +0 -1
  900. package/lib/typescript/modules/avatar/index.d.ts.map +0 -1
  901. package/lib/typescript/modules/badge/Badge.d.ts.map +0 -1
  902. package/lib/typescript/modules/badge/Badge.variants.d.ts.map +0 -1
  903. package/lib/typescript/modules/badge/index.d.ts.map +0 -1
  904. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +0 -1
  905. package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +0 -1
  906. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +0 -1
  907. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +0 -1
  908. package/lib/typescript/modules/bottom-nav/index.d.ts.map +0 -1
  909. package/lib/typescript/modules/button/Button.d.ts.map +0 -1
  910. package/lib/typescript/modules/button/Button.variants.d.ts.map +0 -1
  911. package/lib/typescript/modules/button/index.d.ts.map +0 -1
  912. package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +0 -1
  913. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +0 -1
  914. package/lib/typescript/modules/button-group/index.d.ts.map +0 -1
  915. package/lib/typescript/modules/card/Card.d.ts.map +0 -1
  916. package/lib/typescript/modules/card/Card.variants.d.ts.map +0 -1
  917. package/lib/typescript/modules/card/index.d.ts.map +0 -1
  918. package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +0 -1
  919. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +0 -1
  920. package/lib/typescript/modules/checkbox/index.d.ts.map +0 -1
  921. package/lib/typescript/modules/divider/Divider.d.ts.map +0 -1
  922. package/lib/typescript/modules/divider/Divider.variants.d.ts.map +0 -1
  923. package/lib/typescript/modules/divider/index.d.ts.map +0 -1
  924. package/lib/typescript/modules/drawer/Drawer.d.ts.map +0 -1
  925. package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +0 -1
  926. package/lib/typescript/modules/drawer/index.d.ts.map +0 -1
  927. package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +0 -1
  928. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +0 -1
  929. package/lib/typescript/modules/empty-state/index.d.ts.map +0 -1
  930. package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +0 -1
  931. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +0 -1
  932. package/lib/typescript/modules/file-upload/index.d.ts.map +0 -1
  933. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +0 -1
  934. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +0 -1
  935. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +0 -1
  936. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +0 -1
  937. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +0 -1
  938. package/lib/typescript/modules/filter-sheet/index.d.ts.map +0 -1
  939. package/lib/typescript/modules/input/Input.d.ts.map +0 -1
  940. package/lib/typescript/modules/input/Input.variants.d.ts.map +0 -1
  941. package/lib/typescript/modules/input/index.d.ts.map +0 -1
  942. package/lib/typescript/modules/menu/Menu.d.ts.map +0 -1
  943. package/lib/typescript/modules/menu/Menu.variants.d.ts.map +0 -1
  944. package/lib/typescript/modules/menu/index.d.ts.map +0 -1
  945. package/lib/typescript/modules/modal/Modal.d.ts.map +0 -1
  946. package/lib/typescript/modules/modal/Modal.variants.d.ts.map +0 -1
  947. package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +0 -1
  948. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +0 -1
  949. package/lib/typescript/modules/modal/index.d.ts.map +0 -1
  950. package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +0 -1
  951. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +0 -1
  952. package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +0 -1
  953. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +0 -1
  954. package/lib/typescript/modules/multi-select/index.d.ts.map +0 -1
  955. package/lib/typescript/modules/number-input/NumberInput.d.ts.map +0 -1
  956. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +0 -1
  957. package/lib/typescript/modules/number-input/index.d.ts.map +0 -1
  958. package/lib/typescript/modules/pin-input/PinInput.d.ts.map +0 -1
  959. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +0 -1
  960. package/lib/typescript/modules/pin-input/index.d.ts.map +0 -1
  961. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +0 -1
  962. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +0 -1
  963. package/lib/typescript/modules/progress-bar/index.d.ts.map +0 -1
  964. package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +0 -1
  965. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +0 -1
  966. package/lib/typescript/modules/radio-group/index.d.ts.map +0 -1
  967. package/lib/typescript/modules/reorder/Reorder.d.ts.map +0 -1
  968. package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +0 -1
  969. package/lib/typescript/modules/reorder/index.d.ts.map +0 -1
  970. package/lib/typescript/modules/select/Select.d.ts.map +0 -1
  971. package/lib/typescript/modules/select/Select.variants.d.ts.map +0 -1
  972. package/lib/typescript/modules/select/index.d.ts.map +0 -1
  973. package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +0 -1
  974. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +0 -1
  975. package/lib/typescript/modules/skeleton/index.d.ts.map +0 -1
  976. package/lib/typescript/modules/slider/Slider.d.ts.map +0 -1
  977. package/lib/typescript/modules/slider/Slider.variants.d.ts.map +0 -1
  978. package/lib/typescript/modules/slider/index.d.ts.map +0 -1
  979. package/lib/typescript/modules/spinner/Spinner.d.ts.map +0 -1
  980. package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +0 -1
  981. package/lib/typescript/modules/spinner/index.d.ts.map +0 -1
  982. package/lib/typescript/modules/stepper/Stepper.d.ts.map +0 -1
  983. package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +0 -1
  984. package/lib/typescript/modules/stepper/index.d.ts.map +0 -1
  985. package/lib/typescript/modules/switch/Switch.d.ts.map +0 -1
  986. package/lib/typescript/modules/switch/Switch.variants.d.ts.map +0 -1
  987. package/lib/typescript/modules/switch/index.d.ts.map +0 -1
  988. package/lib/typescript/modules/tabs/Tabs.d.ts.map +0 -1
  989. package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +0 -1
  990. package/lib/typescript/modules/tabs/index.d.ts.map +0 -1
  991. package/lib/typescript/modules/textarea/Textarea.d.ts.map +0 -1
  992. package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +0 -1
  993. package/lib/typescript/modules/textarea/index.d.ts.map +0 -1
  994. package/lib/typescript/modules/timeline/Timeline.d.ts.map +0 -1
  995. package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +0 -1
  996. package/lib/typescript/modules/timeline/index.d.ts.map +0 -1
  997. package/lib/typescript/modules/toast/Toast.d.ts.map +0 -1
  998. package/lib/typescript/modules/toast/Toast.variants.d.ts.map +0 -1
  999. package/lib/typescript/modules/toast/index.d.ts.map +0 -1
  1000. package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +0 -1
  1001. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +0 -1
  1002. package/lib/typescript/modules/tooltip/index.d.ts.map +0 -1
  1003. package/lib/typescript/theme/index.d.ts.map +0 -1
  1004. package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +0 -1
  1005. package/lib/typescript/theme/platform/elevation.native.d.ts.map +0 -1
  1006. package/lib/typescript/theme/platform/fonts.native.d.ts.map +0 -1
  1007. package/lib/typescript/theme/platform/index.d.ts.map +0 -1
  1008. package/lib/typescript/theme/platform/units.native.d.ts.map +0 -1
  1009. package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +0 -1
  1010. package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +0 -1
  1011. package/lib/typescript/theme/provider/index.d.ts.map +0 -1
  1012. package/lib/typescript/theme/provider/useTheme.d.ts.map +0 -1
  1013. package/lib/typescript/theme/provider/useThemeColors.d.ts.map +0 -1
  1014. package/lib/typescript/theme/provider/useThemeMode.d.ts.map +0 -1
  1015. package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +0 -1
  1016. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +0 -1
  1017. package/lib/typescript/theme/tokens/brands/index.d.ts.map +0 -1
  1018. package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +0 -1
  1019. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +0 -1
  1020. package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +0 -1
  1021. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +0 -1
  1022. package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +0 -1
  1023. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +0 -1
  1024. package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +0 -1
  1025. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +0 -1
  1026. package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +0 -1
  1027. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +0 -1
  1028. package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +0 -1
  1029. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +0 -1
  1030. package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +0 -1
  1031. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +0 -1
  1032. package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +0 -1
  1033. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +0 -1
  1034. package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +0 -1
  1035. package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +0 -1
  1036. package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +0 -1
  1037. package/lib/typescript/theme/tokens/builders/color.d.ts.map +0 -1
  1038. package/lib/typescript/theme/tokens/index.d.ts.map +0 -1
  1039. package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +0 -1
  1040. package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +0 -1
  1041. package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +0 -1
  1042. package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +0 -1
  1043. package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +0 -1
  1044. package/lib/typescript/theme/tokens/primitives/index.d.ts.map +0 -1
  1045. package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +0 -1
  1046. package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +0 -1
  1047. package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +0 -1
  1048. package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +0 -1
  1049. package/lib/typescript/theme/tokens/primitives/space.d.ts.map +0 -1
  1050. package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +0 -1
  1051. package/lib/typescript/theme/tokens/roles/index.d.ts.map +0 -1
  1052. package/lib/typescript/theme/tokens/types.d.ts.map +0 -1
@@ -0,0 +1,181 @@
1
+ # fab/ — a floating action button, and its speed-dial sibling
2
+
3
+ `Fab` is an absolutely-positioned, safe-area-aware primary-action control — a circle, or an
4
+ EXTENDED pill (icon + label) when `label` is given. `FabGroup` is a speed-dial: a Fab-shaped
5
+ trigger that expands a vertical stack of labeled mini actions above itself, behind a dismiss scrim.
6
+ Neither uses React Native's own `<Modal>` — both must stay visually anchored exactly where placed,
7
+ which a Modal's own separate native surface can't do (see `FabGroup.tsx`'s top comment).
8
+
9
+ ## Files
10
+
11
+ | File | Role |
12
+ |------|------|
13
+ | `Fab.tsx` | The button. Discriminated icon-only/extended props, tone/press/focus, safe-area anchor. |
14
+ | `FabGroup.tsx` | The speed-dial. Controlled/uncontrolled expand state, mount-through-exit-animation lifecycle (mirrors `Drawer.tsx`), scrim, mini-action rows. |
15
+ | `Fab.variants.ts` | Pure resolvers (`resolveFabTone`, `resolveFabAccessibility`, `resolveFabAnchorStyle`, `resolveFabFocusRingStyle`, `resolveFabGroupActionWindow`, the inset/direction/align/label resolvers) + the themed structural resolvers. No React, no lucide. |
16
+ | `index.ts` | Public surface: `Fab`, `FabGroup`, their prop/action types, the closed unions, `IconName`. |
17
+ | `__tests__/Fab.test.ts` | Pure: WCAG contrast (all 9 brands × both modes) + touch target + a11y + positioning/animation resolvers. |
18
+ | `__tests__/Fab.render.test.tsx` | Render: press wiring for both, extended/icon-only, focus rings (Fab + the speed-dial trigger), FabGroup's full expand/collapse lifecycle (uncontrolled + controlled), scrim, its modal semantics, reduced motion. |
19
+ | `__tests__/FabGroup.keyboard.web.test.tsx` | Escape, Tab confinement, focus return, and the trigger-before-actions source order. |
20
+
21
+ ## Props
22
+
23
+ **Fab** — `icon: IconName` (required), `label?: string` (renders the EXTENDED pill), `onPress: () => void`
24
+ (required), `tone?: accent \| neutral \| danger` (`accent`), `size?: md \| lg` (`lg`; 48/56dp — both
25
+ already clear 44dp), `position?: bottom-right \| bottom-left \| bottom-center \| static` (`bottom-right`),
26
+ `disabled?`, `loading?` (spinner replaces the icon, press suppressed), `accessibilityLabel?` —
27
+ **required** when `label` is absent (type-enforced discriminated union, the same shape `ButtonProps`
28
+ uses), `offset?: { bottom?; horizontal? }`, `style?: LayoutStyle`, `testID?`, plus the tooltip-trigger
29
+ set `onLongPress?`/`onPressOut?`/`onHoverIn?`/`onHoverOut?`/`onFocus?`/`onBlur?`/`accessibilityHint?`/
30
+ `aria-describedby?` (the web half of the hint — react-native-web has no `accessibilityHint`) —
31
+ declared explicitly (no `{...rest}`) so a wrapping `Tooltip` actually reaches the control; each chains
32
+ after the Fab's own press/focus ring rather than replacing it. **`FabGroup` does not accept them**, so
33
+ its trigger is not a tooltip target.
34
+
35
+ **FabGroup** — `actions: { icon, label, onPress, tone? }[]`, `icon?` (`"plus"`), `open?` +
36
+ `onOpenChange?` (uncontrolled if both omitted), plus `tone?`/`size?`/`position?`/`disabled?`/
37
+ `accessibilityLabel?`/`offset?`/`style?`/`testID?` (the trigger's own Fab-shaped props).
38
+ `testID` seeds `${testID}-anchor`, `${testID}-trigger`, `${testID}-trigger-focus-ring`,
39
+ `${testID}-scrim`, `${testID}-action-${index}`.
40
+
41
+ ## Accessibility contract (WCAG)
42
+
43
+ - **2.5.5 / 2.5.8 target size** — both Fab sizes (48/56dp) and every FabGroup mini action (44dp)
44
+ clear the 44dp floor directly, no `hitSlop` needed.
45
+ - **1.4.3 / 1.4.11** — `resolveFabTone`'s `onFill` is measured ≥ 4.5:1 against `fill` for every tone
46
+ × brand × mode (covers both the icon's 3:1 non-text floor and the extended variant's 4.5:1 text
47
+ label in one pairing); a FabGroup mini action's label chip text (`fg.default` on `bg.raised`) is
48
+ measured the same way.
49
+ - **Icon-only rule** — `FabProps` is a discriminated union: `label?: never` + required
50
+ `accessibilityLabel` makes an unlabelled icon-only Fab a type error, mirroring `ButtonProps`.
51
+ - **4.1.2** — the speed-dial trigger carries `aria-expanded`; every mini action carries its own
52
+ `accessibilityLabel` (always its visible `label` — a mini action is never icon-only).
53
+ - **Flat `aria-*`, never `accessibilityState={{…}}`** — react-native-web 0.21 forwards only a flat
54
+ vocabulary and discards the object, so the object form shipped a role with no state at all on web.
55
+ `resolveFabAccessibility` returns `"aria-disabled"`/`"aria-busy"`; FabGroup's trigger adds
56
+ `aria-expanded`. RN's own `Pressable` merges the flat props back into `accessibilityState`, so one
57
+ flat form is correct on both platforms (same migration `resolveCheckboxAccessibility` documents).
58
+ - **4.1.2 / modal semantics** — while the scrim is mounted, FabGroup's ANCHOR carries BOTH
59
+ `accessibilityViewIsModal` and `aria-modal` — RN's `View` understands only the first,
60
+ react-native-web only the second — plus `onAccessibilityEscape={closeGroup}`; the scrim itself stays
61
+ `accessible={false}`. Menu's `accessible={false}` backdrop is **not** a precedent for omitting
62
+ this: Menu's backdrop sits inside an RN `<Modal>`, whose separate native surface removes the
63
+ covered screen from the accessibility tree by construction. FabGroup is deliberately not a
64
+ `<Modal>`, so nothing did that here — the scrim blocked touch while a swipe still reached the
65
+ whole screen behind it. On the anchor (not the action stack) so the trigger — the "Close actions
66
+ menu" affordance — stays inside the modal view, and gated on `mounted` so the modality lasts
67
+ exactly as long as the scrim, exit animation included.
68
+ - **2.1.1 keyboard (web only)** — FabGroup is not a `<Modal>`, so `react-native-web` gave it
69
+ nothing: no Escape, no Tab confinement, no focus return. (`onAccessibilityEscape` above is a
70
+ VoiceOver gesture; RNW does not forward it.) While the scrim is mounted the anchor now wires
71
+ `useDismissOnEscape` + `useFocusTrap` (`core/a11y/keyboard`), so Escape collapses the dial, Tab
72
+ cycles within trigger+actions, and focus returns to the trigger on collapse — including after an
73
+ action runs, since `runAction` collapses first.
74
+ - **2.4.3 focus order** — the trigger and action 0 are declared FIRST in the tree, with
75
+ `flexDirection: "column-reverse"` on the anchor and on the action stack restoring the painted
76
+ layout (trigger at the bottom, action 0 just above it). Tab order follows source order, so before
77
+ this the actions were reachable only by Shift+Tab, bottom-to-top, after Tab had already left the
78
+ group. This also changes the order a screen reader walks the group on native: trigger first, then
79
+ the actions outward from it.
80
+ - **2.4.7 focus indicator** — the speed-dial trigger draws the same offset `border.focus` ring `Fab`
81
+ does (`resolveFabFocusRingStyle`, shared by both since they are the same circular silhouette).
82
+ - **1.4.1** — `loading` (Fab only) sets `aria-busy`; the spinner is hidden from AT with
83
+ `aria-hidden` — the one spelling that works natively AND on web, where
84
+ `accessibilityElementsHidden`/`importantForAccessibility` are discarded and left it exposed.
85
+ - **2.3.3** — every animation in this module runs through `useMotion()` (`core/motion`), which
86
+ folds the OS reduce-motion setting and the device tier into one resolved duration. With motion
87
+ off, Fab's press state and FabGroup's expand/collapse `setValue` their final state — no tween,
88
+ no frozen frame — and the speed-dial unmounts immediately instead of waiting out an exit.
89
+
90
+ ## Patterns copied from Button / Card / Drawer / Toast (the reference modules)
91
+
92
+ 1. **Structure vs colour split**, **closed unions**, **discriminated icon-only prop**, **the
93
+ animated state-layer press overlay + offset focus ring** — all duplicated from `Button.tsx`
94
+ rather than imported (module isolation; same status `Toast.variants.ts` documents for its own
95
+ duplicated `MIN_TOUCH_TARGET`). Inside this module the ring is NOT duplicated a second time:
96
+ `Fab` and `FabGroup`'s trigger both call `resolveFabFocusRingStyle`.
97
+ 2. **Elevation applied directly** from `theme.elevation.lg`/`.md`/`.sm`, the same idiom `Card`/`Toast` use.
98
+ 3. **Safe-area-less bottom-inset approximation** (`resolveFabBottomInset`) — the identical formula
99
+ and value `Drawer.variants.ts`/`BottomNav.variants.ts` each already carry independently.
100
+ `react-native-safe-area-context` is an optional peer but not a real dependency of this package, so
101
+ `useSafeAreaInsets` is never imported here either (see "Known gaps").
102
+ 4. **Mount-through-exit-animation lifecycle** (`mounted` state + a `useEffect` on the resolved
103
+ `expanded` value + a plain `setTimeout` unmount) — copied from `Drawer.tsx` verbatim, including
104
+ *why* it's a `useEffect` reacting to the value rather than the trigger's own handler: a controlled
105
+ caller flipping `open` externally still animates correctly.
106
+ 5. **Source-order stacking, no `zIndex` between siblings** — the scrim declared before the
107
+ trigger+actions anchor, the same idiom `Menu.tsx`'s backdrop-then-sheet pair relies on.
108
+
109
+ ## Design decisions specific to this module
110
+
111
+ - **Not RN's `<Modal>`.** A speed dial must stay visually anchored to its own on-screen position;
112
+ `<Modal>` presents an unrelated native surface. The scrim and the anchor are declared as siblings
113
+ at `FabGroup`'s own root (no wrapping node), so both resolve `position: "absolute"` against the
114
+ same ancestor — ordinarily the screen's own root container. The cost of that choice is that
115
+ nothing hides the covered screen from assistive tech for free, so the anchor declares
116
+ `accessibilityViewIsModal` itself (see 4.1.2 above) — a `<Modal>`-based overlay never has to.
117
+ - **`bottom-center` centers via `alignItems`, not a measured `translateX`** — works regardless of an
118
+ extended Fab's caller-length-driven rendered width, the same idiom `Toast`'s centered card uses.
119
+ - **FabGroup action rows are NOT stretched to the widest row.** The anchor's and the action stack's
120
+ `alignItems` are both set to the same edge (`resolveFabGroupStackAlign`), so rows size to their own
121
+ natural width and align flush to that edge, instead of flexbox's default `stretch` forcing every
122
+ row to the widest row's width and bunching shorter content at one end.
123
+ - **A mini action's label chip is a constant neutral surface, never the action's own tone fill** —
124
+ the same "state isn't conveyed by a background swap" reasoning `Select`'s row fill documents.
125
+
126
+ ## Known gaps
127
+
128
+ - **No safe-area inset awareness** beyond the static iOS home-indicator approximation (see pattern
129
+ #3) — same documented gap `Toast`/`Drawer`/`BottomNav` already carry.
130
+ - **No focus ring on the mini action ROWS.** The trigger reached parity with `Fab` (identical
131
+ circular control, identical ring geometry), but a row is a two-part composite — label chip + icon
132
+ circle, with a gap — and one pill ring around both would claim a silhouette the control doesn't
133
+ have. A design decision, not a copied style, so it is deliberately left out the way
134
+ `button-group`/`radio-group` record theirs; the same `onFocus`/`onBlur` pattern extends cleanly.
135
+ - **No sibling-hiding on Android for the expanded speed dial** — `accessibilityViewIsModal` is an
136
+ iOS prop (react-native-web ignores it entirely, which is why `aria-modal` is emitted alongside it);
137
+ Android's equivalent would mean setting
138
+ `importantForAccessibility="no-hide-descendants"` on a tree FabGroup does not own. Same gap
139
+ `Modal`'s own docs record for its "no full screen-reader trap".
140
+ - **The web focus trap only cycles Tab** — it does not pull focus back if a click outside or a
141
+ programmatic `focus()` takes it out of the group. Inherited from `core/a11y/keyboard`; the fix is
142
+ sentinel nodes at the anchor's edges.
143
+ - **No hardware-back dismissal for FabGroup** on Android — Menu/Select/Drawer get this for free from
144
+ RN's own `<Modal onRequestClose>`; FabGroup deliberately isn't a Modal (see "Design decisions"), so
145
+ there is no `BackHandler` wiring in v1. The scrim press and the trigger's own toggle remain the
146
+ dismissal paths.
147
+ - **`static` FabGroup's mini-action stack has no real anchor edge** — it defaults to the same
148
+ trailing (`flex-end`) alignment `bottom-right` uses, an arbitrary but documented default.
149
+
150
+ ## Motion
151
+
152
+ Nothing in this module owns a duration, easing or `Animated.timing` config — all of it comes from
153
+ `useMotion()` / `usePressMotion()` in `core/motion`, so retuning `core/motion/config.ts` retunes the
154
+ Fab too. Everything animates `opacity`/`transform` only, always on the native driver.
155
+
156
+ - **Fab press** — one `Animated.Value` drives both the tone-aware state-layer scrim and the press
157
+ scale (`motion.transform.pressScale`), so the two can never desync.
158
+ - **FabGroup expand/collapse** — one `progress` value; the trigger glyph rotates 0→45°, the scrim
159
+ fades, and each action row reveals over its own slice of that same value.
160
+ - **The action stagger is decorative** (`motion.decorative`, high tier only). It is expressed as a
161
+ per-row interpolation *window* (`resolveFabGroupActionWindow`), not per-row animations: no extra
162
+ timers or `Animated.Value`s, and it reverses correctly on close. On low/mid tier every row shares
163
+ the full `[0, 1]` window and the rows reveal together.
164
+ - **Action rows and the trigger** use `usePressMotion`; a row's reveal opacity and its press opacity
165
+ are combined with `Animated.multiply` rather than fighting over the same style key.
166
+ - In-flight animations are stopped on effect cleanup and on unmount.
167
+
168
+ ## Performance
169
+
170
+ Both wrapped in `React.memo`. `toggle`/`closeGroup`/`requestExpandedChange`/`runAction` are
171
+ `useCallback`'d, and each action row is its own `React.memo`'d `FabGroupActionRow` with a stable
172
+ `onSelect` — the per-row `onPress` closure, tone lookup and style arrays are no longer rebuilt on
173
+ every parent render. The reversed row list is `useMemo`'d. The action stack and scrim are built only
174
+ while `mounted` (never while the trigger alone is on screen), matching Menu/Select/Drawer's
175
+ identical "sheet content built only while open" convention.
176
+
177
+ ## Modernization (v1.0.7)
178
+
179
+ - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
180
+ - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
181
+ - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Public surface of `pixelize-native-library/fab`. Value exports and type exports are split for
5
+ * `verbatimModuleSyntax`. The resolvers stay internal — a consumer configures a Fab/FabGroup through
6
+ * their props, never by importing internals.
7
+ */
8
+
9
+ export { Fab } from "./Fab.js";
10
+ export { FabGroup } from "./FabGroup.js";
11
+
12
+ // Re-exported so a caller can type an `icon`/action `icon` prop without a separate import from `core/icon`.
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * FileGrid — thumbnail grid for attachments or folders. Icon + label cells in 2–4 columns.
5
+ *
6
+ * Items are chunked into fixed-height rows and rendered through `core/list`'s `VirtualList`, so a
7
+ * folder with thousands of files mounts a window of rows rather than every cell.
8
+ */
9
+
10
+ import { memo, useCallback, useMemo } from "react";
11
+ import { Pressable, Text, View } from "react-native";
12
+ import { Icon } from "../../core/icon/index.js";
13
+ import { VirtualList } from "../../core/list/index.js";
14
+ import { useTheme } from "../../theme/hooks.js";
15
+ import { fileGridCellStructure, fileGridRowHeight, fileGridRowStructure, resolveFileGridItemLabel } from "./FileGrid.variants.js";
16
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
+ const ICON_STROKE = 2;
18
+ const ICON_SIZE = 28;
19
+ const DEFAULT_ICON = "file-text";
20
+ function rowKeyExtractor(row) {
21
+ return row.key;
22
+ }
23
+ export const FileGrid = /*#__PURE__*/memo(function FileGrid({
24
+ items,
25
+ columns = 3,
26
+ onItemPress,
27
+ style,
28
+ testID
29
+ }) {
30
+ const theme = useTheme();
31
+ const rows = useMemo(() => {
32
+ const chunks = [];
33
+ for (let start = 0; start < items.length; start += columns) {
34
+ const chunk = items.slice(start, start + columns);
35
+ chunks.push({
36
+ key: chunk[0]?.id ?? `row-${start}`,
37
+ items: chunk
38
+ });
39
+ }
40
+ return chunks;
41
+ }, [items, columns]);
42
+ const rowStyle = useMemo(() => fileGridRowStructure(theme), [theme]);
43
+ const cellStyle = useMemo(() => [fileGridCellStructure(theme, {
44
+ columns
45
+ }), {
46
+ borderColor: theme.colors.border.default,
47
+ backgroundColor: theme.colors.bg.surface
48
+ }], [theme, columns]);
49
+ const pressedStyle = useMemo(() => ({
50
+ backgroundColor: theme.colors.bg.sunken
51
+ }), [theme]);
52
+ const textStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.medium), {
53
+ fontSize: theme.fontSizes.sm,
54
+ color: theme.colors.fg.default,
55
+ textAlign: "center",
56
+ marginTop: theme.space[1]
57
+ }], [theme]);
58
+ const itemHeight = useMemo(() => fileGridRowHeight(theme.space[2]), [theme]);
59
+ const renderRow = useCallback(({
60
+ item: row
61
+ }) => /*#__PURE__*/_jsx(FileGridRow, {
62
+ row: row,
63
+ rowStyle: rowStyle,
64
+ cellStyle: cellStyle,
65
+ pressedStyle: pressedStyle,
66
+ textStyle: textStyle,
67
+ iconColor: theme.colors.accent.text,
68
+ onItemPress: onItemPress,
69
+ testID: testID
70
+ }), [rowStyle, cellStyle, pressedStyle, textStyle, theme, onItemPress, testID]);
71
+ return /*#__PURE__*/_jsx(View, {
72
+ testID: testID,
73
+ style: style,
74
+ children: /*#__PURE__*/_jsx(VirtualList, {
75
+ data: rows,
76
+ renderItem: renderRow,
77
+ keyExtractor: rowKeyExtractor,
78
+ itemHeight: itemHeight
79
+ })
80
+ });
81
+ });
82
+ const FileGridCell = /*#__PURE__*/memo(function FileGridCell({
83
+ item,
84
+ cellStyle,
85
+ pressedStyle,
86
+ textStyle,
87
+ iconColor,
88
+ onItemPress,
89
+ testID
90
+ }) {
91
+ const handlePress = useCallback(() => onItemPress?.(item.id), [onItemPress, item.id]);
92
+ const pressableStyle = useCallback(({
93
+ pressed
94
+ }) => [cellStyle, pressed ? pressedStyle : null], [cellStyle, pressedStyle]);
95
+ const accessibleLabel = resolveFileGridItemLabel(item.label, item.typeLabel);
96
+ const content = /*#__PURE__*/_jsxs(_Fragment, {
97
+ children: [/*#__PURE__*/_jsx(Icon, {
98
+ name: item.icon ?? DEFAULT_ICON,
99
+ size: ICON_SIZE,
100
+ color: iconColor,
101
+ strokeWidth: ICON_STROKE
102
+ }), /*#__PURE__*/_jsx(Text, {
103
+ numberOfLines: 2,
104
+ style: textStyle,
105
+ children: item.label
106
+ })]
107
+ });
108
+ if (onItemPress === undefined) {
109
+ return /*#__PURE__*/_jsx(View, {
110
+ testID: testID,
111
+ accessible: true,
112
+ accessibilityLabel: accessibleLabel,
113
+ style: cellStyle,
114
+ children: content
115
+ });
116
+ }
117
+ return /*#__PURE__*/_jsx(Pressable, {
118
+ testID: testID,
119
+ accessibilityRole: "button",
120
+ accessibilityLabel: accessibleLabel,
121
+ onPress: handlePress,
122
+ style: pressableStyle,
123
+ children: content
124
+ });
125
+ });
126
+ const FileGridRow = /*#__PURE__*/memo(function FileGridRow({
127
+ row,
128
+ rowStyle,
129
+ cellStyle,
130
+ pressedStyle,
131
+ textStyle,
132
+ iconColor,
133
+ onItemPress,
134
+ testID
135
+ }) {
136
+ return /*#__PURE__*/_jsx(View, {
137
+ style: rowStyle,
138
+ children: row.items.map(item => /*#__PURE__*/_jsx(FileGridCell, {
139
+ item: item,
140
+ cellStyle: cellStyle,
141
+ pressedStyle: pressedStyle,
142
+ textStyle: textStyle,
143
+ iconColor: iconColor,
144
+ onItemPress: onItemPress,
145
+ testID: testID === undefined ? undefined : `${testID}-cell-${item.id}`
146
+ }, item.id))
147
+ });
148
+ });
149
+ //# sourceMappingURL=FileGrid.js.map
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import { createThemedVariants } from "../../core/style/index.js";
4
+ /**
5
+ * A cell's accessible name. The glyph is the ONLY thing that says whether a cell is a folder, an
6
+ * image or a document, and a glyph has no text equivalent (WCAG 1.3.1) — `typeLabel` is that
7
+ * equivalent. It has to come from the consumer: an `IconName` is a drawing, not a file type.
8
+ */
9
+ export function resolveFileGridItemLabel(label, typeLabel) {
10
+ return typeLabel === undefined ? label : `${label}, ${typeLabel}`;
11
+ }
12
+ export const FILE_GRID_CELL_MIN_HEIGHT = 88;
13
+
14
+ /** Fixed row height is what lets `VirtualList` derive `getItemLayout` for the grid. */
15
+ export function fileGridRowHeight(gap) {
16
+ return FILE_GRID_CELL_MIN_HEIGHT + gap;
17
+ }
18
+ export const fileGridRowStructure = createThemedVariants(theme => ({
19
+ base: {
20
+ flexDirection: "row",
21
+ columnGap: theme.space[2],
22
+ marginBottom: theme.space[2]
23
+ }
24
+ }));
25
+ export const fileGridCellStructure = createThemedVariants(theme => ({
26
+ base: {
27
+ borderRadius: theme.radii.base,
28
+ borderWidth: theme.borderWidths.thin,
29
+ padding: theme.space[2],
30
+ alignItems: "center",
31
+ justifyContent: "center",
32
+ minHeight: FILE_GRID_CELL_MIN_HEIGHT
33
+ },
34
+ variants: {
35
+ columns: {
36
+ 2: {
37
+ width: "48%"
38
+ },
39
+ 3: {
40
+ width: "31%"
41
+ },
42
+ 4: {
43
+ width: "23%"
44
+ }
45
+ }
46
+ },
47
+ defaultVariants: {
48
+ columns: 3
49
+ }
50
+ }));
51
+ //# sourceMappingURL=FileGrid.variants.js.map
@@ -0,0 +1,12 @@
1
+ # file-grid/
2
+
3
+ Grid of file/folder cells with icon + label. `columns`: 2 | 3 | 4.
4
+
5
+ ## Accessibility contract (WCAG)
6
+
7
+ - **1.3.1** — file **type** (folder vs. image vs. document) is conveyed only by the icon glyph, and a
8
+ glyph has no text equivalent. `FileGridItem.typeLabel` (optional) supplies it; a cell's accessible
9
+ name is `resolveFileGridItemLabel(label, typeLabel)` → `"<label>, <typeLabel>"`, falling back to
10
+ `label` alone when the consumer names no type. Applies to both a pressable cell
11
+ (`accessibilityLabel`) and a read-only one (wrapped `accessible` + `accessibilityLabel`, which it
12
+ did not carry at all before).
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { FileGrid } from "./FileGrid.js";
4
+ //# sourceMappingURL=index.js.map
@@ -19,12 +19,109 @@
19
19
  * resolver" for why that's a deliberate departure from every sibling module's structure/colour split.
20
20
  */
21
21
 
22
- import { memo, useCallback, useState } from "react";
23
- import { StyleSheet, Text, View } from "react-native";
22
+ import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
23
+ import { Animated, StyleSheet, Text, View } from "react-native";
24
+ import { useAnnounce } from "../../core/a11y/index.js";
25
+ import { useAnimatedValue, useMotion } from "../../core/motion/index.js";
24
26
  import { useTheme } from "../../theme/index.js";
25
27
  import { Button } from "../button/index.js";
26
- import { FILE_UPLOAD_PICK_ERROR_MESSAGE, fileUploadContainerStructure, fileUploadRowStructure, pickDocumentFile, pickImageFile, resolveFileUploadRemoveLabel, resolveFileUploadTriggerLabel } from "./FileUpload.variants.js";
28
+ import { FILE_UPLOAD_PICK_ERROR_MESSAGE, FILE_UPLOAD_PROGRESS_LABEL, fileUploadContainerStructure, fileUploadProgressFillStructure, fileUploadProgressTrackStructure, fileUploadRowStructure, pickDocumentFile, pickImageFile, resolveFileUploadProgressFraction, resolveFileUploadProgressPercent, resolveFileUploadRemoveLabel, resolveFileUploadTriggerLabel } from "./FileUpload.variants.js";
27
29
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
+ const FileUploadRow = /*#__PURE__*/memo(function FileUploadRow({
31
+ name,
32
+ disabled,
33
+ onRemove,
34
+ testID,
35
+ removeTestID
36
+ }) {
37
+ const theme = useTheme();
38
+ const rowStyle = useMemo(() => [fileUploadRowStructure(theme), {
39
+ borderColor: theme.colors.border.interactive,
40
+ backgroundColor: theme.colors.bg.surface
41
+ }], [theme]);
42
+ const nameStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
43
+ flex: 1,
44
+ fontSize: theme.fontSizes.md,
45
+ color: theme.colors.fg.default
46
+ }, disabled ? styles.dimmedText : null], [theme, disabled]);
47
+ return /*#__PURE__*/_jsxs(View, {
48
+ testID: testID,
49
+ style: rowStyle,
50
+ children: [/*#__PURE__*/_jsx(Text, {
51
+ numberOfLines: 1,
52
+ style: nameStyle,
53
+ children: name
54
+ }), /*#__PURE__*/_jsx(Button, {
55
+ icon: "trash",
56
+ accessibilityLabel: resolveFileUploadRemoveLabel(name),
57
+ onPress: onRemove,
58
+ disabled: disabled,
59
+ size: "sm",
60
+ variant: "ghost",
61
+ tone: "neutral",
62
+ testID: removeTestID
63
+ })]
64
+ });
65
+ });
66
+ /**
67
+ * The upload-progress track. State-driven (it moves when `progress` moves, never during a scroll),
68
+ * and driven entirely by `scaleX` on the native driver — `width` would force a layout pass per
69
+ * frame and cannot leave the JS thread at all.
70
+ */
71
+ const FileUploadProgress = /*#__PURE__*/memo(function FileUploadProgress({
72
+ progress,
73
+ testID
74
+ }) {
75
+ const theme = useTheme();
76
+ const motion = useMotion();
77
+ const fraction = resolveFileUploadProgressFraction(progress);
78
+ const percent = resolveFileUploadProgressPercent(progress);
79
+ const scaleX = useAnimatedValue(fraction);
80
+ const running = useRef(null);
81
+ useEffect(() => {
82
+ running.current?.stop();
83
+ if (!motion.enabled) {
84
+ scaleX.setValue(fraction);
85
+ return undefined;
86
+ }
87
+ running.current = motion.timing(scaleX, fraction, {
88
+ easing: "decelerate"
89
+ });
90
+ running.current.start();
91
+ return () => running.current?.stop();
92
+ }, [fraction, motion, scaleX]);
93
+ useEffect(() => () => running.current?.stop(), []);
94
+ const trackStyle = useMemo(() => [fileUploadProgressTrackStructure(theme), {
95
+ backgroundColor: theme.colors.bg.sunken
96
+ }], [theme]);
97
+ const fillStyle = useMemo(() => [fileUploadProgressFillStructure(), {
98
+ backgroundColor: theme.colors.accent.solid,
99
+ transform: [{
100
+ scaleX
101
+ }]
102
+ }], [theme, scaleX]);
103
+ return (
104
+ /*#__PURE__*/
105
+ // Flat `aria-value*`, not `accessibilityValue={{…}}`: react-native-web 0.21 drops the object, so
106
+ // on web this announced `role="progressbar"` with no percentage. `View` merges the flat props
107
+ // into the object form natively, so this one form is correct on both platforms.
108
+ _jsx(View, {
109
+ testID: testID,
110
+ accessible: true,
111
+ accessibilityRole: "progressbar",
112
+ accessibilityLabel: FILE_UPLOAD_PROGRESS_LABEL,
113
+ "aria-valuemin": 0,
114
+ "aria-valuemax": 100,
115
+ "aria-valuenow": percent,
116
+ style: trackStyle,
117
+ children: /*#__PURE__*/_jsx(Animated.View, {
118
+ pointerEvents: "none",
119
+ testID: testID ? `${testID}-fill` : undefined,
120
+ style: fillStyle
121
+ })
122
+ })
123
+ );
124
+ });
28
125
  export const FileUpload = /*#__PURE__*/memo(function FileUpload(props) {
29
126
  const {
30
127
  source,
@@ -35,6 +132,7 @@ export const FileUpload = /*#__PURE__*/memo(function FileUpload(props) {
35
132
  disabled = false,
36
133
  allowedMimeTypes,
37
134
  allowsEditing = false,
135
+ progress,
38
136
  style,
39
137
  testID
40
138
  } = props;
@@ -42,6 +140,7 @@ export const FileUpload = /*#__PURE__*/memo(function FileUpload(props) {
42
140
  // Distinct from `value`: a pick attempt can fail (denied permission, or any other native error)
43
141
  // independently of whether a file was already selected — see `openPicker`'s catch block.
44
142
  const [pickError, setPickError] = useState(false);
143
+ useAnnounce(pickError ? FILE_UPLOAD_PICK_ERROR_MESSAGE : undefined);
45
144
  const openPicker = useCallback(async () => {
46
145
  if (disabled) return;
47
146
  setPickError(false);
@@ -75,47 +174,38 @@ export const FileUpload = /*#__PURE__*/memo(function FileUpload(props) {
75
174
  setPickError(false);
76
175
  onChange(null);
77
176
  }, [onChange]);
177
+ const rootStyle = useMemo(() => [fileUploadContainerStructure(theme), style], [theme, style]);
178
+ const errorStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.regular), {
179
+ fontSize: theme.fontSizes.xs,
180
+ color: theme.colors.status.danger.text
181
+ }], [theme]);
182
+ const triggerLabel = useMemo(() => resolveFileUploadTriggerLabel(label, value), [label, value]);
78
183
  return /*#__PURE__*/_jsxs(View, {
79
184
  testID: testID,
80
- style: [fileUploadContainerStructure(theme), style],
185
+ style: rootStyle,
81
186
  children: [/*#__PURE__*/_jsx(Button, {
82
187
  label: label,
83
188
  icon: "upload",
84
189
  onPress: handlePick,
85
190
  disabled: disabled,
86
191
  size: size,
87
- accessibilityLabel: resolveFileUploadTriggerLabel(label, value),
192
+ accessibilityLabel: triggerLabel,
88
193
  testID: testID ? `${testID}-trigger` : undefined
89
- }), value && /*#__PURE__*/_jsxs(View, {
194
+ }), value && /*#__PURE__*/_jsx(FileUploadRow, {
195
+ name: value.name,
196
+ disabled: disabled,
197
+ onRemove: handleRemove,
90
198
  testID: testID ? `${testID}-row` : undefined,
91
- style: [fileUploadRowStructure(theme), {
92
- borderColor: theme.colors.border.interactive,
93
- backgroundColor: theme.colors.bg.surface
94
- }],
95
- children: [/*#__PURE__*/_jsx(Text, {
96
- numberOfLines: 1,
97
- style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
98
- flex: 1,
99
- fontSize: theme.fontSizes.md,
100
- color: theme.colors.fg.default
101
- }, disabled && styles.dimmedText],
102
- children: value.name
103
- }), /*#__PURE__*/_jsx(Button, {
104
- icon: "trash",
105
- accessibilityLabel: resolveFileUploadRemoveLabel(value.name),
106
- onPress: handleRemove,
107
- disabled: disabled,
108
- size: "sm",
109
- variant: "ghost",
110
- tone: "neutral",
111
- testID: testID ? `${testID}-remove` : undefined
112
- })]
113
- }), pickError && /*#__PURE__*/_jsx(Text, {
114
- accessibilityLiveRegion: "polite",
115
- style: [theme.fontStyleForWeight(theme.fontWeights.regular), {
116
- fontSize: theme.fontSizes.xs,
117
- color: theme.colors.status.danger.text
118
- }],
199
+ removeTestID: testID ? `${testID}-remove` : undefined
200
+ }), progress !== undefined && /*#__PURE__*/_jsx(FileUploadProgress, {
201
+ progress: progress,
202
+ testID: testID ? `${testID}-progress` : undefined
203
+ }), pickError &&
204
+ /*#__PURE__*/
205
+ // No `accessibilityLiveRegion` (deliberate): it's Android-only, and `useAnnounce` above
206
+ // already announces on both platforms — keeping both would double-announce on Android.
207
+ _jsx(Text, {
208
+ style: errorStyle,
119
209
  children: FILE_UPLOAD_PICK_ERROR_MESSAGE
120
210
  })]
121
211
  });