pixelize-native-library 1.0.7 → 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 (1072) 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 -153
  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 +37 -126
  132. package/lib/module/modules/bottom-nav/BottomNav.variants.js +28 -9
  133. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js +56 -8
  134. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js +133 -114
  135. package/lib/module/modules/bottom-nav/BottomNavTab.js +138 -0
  136. package/lib/module/modules/bottom-nav/MODULE.md +21 -6
  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 +98 -48
  151. package/lib/module/modules/charts/ChartLegend.js +154 -0
  152. package/lib/module/modules/charts/Charts.variants.js +524 -1
  153. package/lib/module/modules/charts/DonutChart.js +100 -65
  154. package/lib/module/modules/charts/LineChart.js +179 -0
  155. package/lib/module/modules/charts/MODULE.md +148 -22
  156. package/lib/module/modules/charts/PieChart.js +140 -0
  157. package/lib/module/modules/charts/Sparkline.js +5 -4
  158. package/lib/module/modules/charts/index.js +3 -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 +45 -28
  245. package/lib/module/modules/list-item/MODULE.md +6 -0
  246. package/lib/module/modules/markdown/MODULE.md +32 -5
  247. package/lib/module/modules/markdown/Markdown.js +54 -20
  248. package/lib/module/modules/markdown/Markdown.variants.js +6 -1
  249. package/lib/module/modules/markdown/parseMarkdown.js +3 -3
  250. package/lib/module/modules/menu/MODULE.md +45 -14
  251. package/lib/module/modules/menu/Menu.js +174 -65
  252. package/lib/module/modules/menu/Menu.variants.js +10 -0
  253. package/lib/module/modules/message-bubble/MODULE.md +38 -0
  254. package/lib/module/modules/message-bubble/MessageBubble.js +55 -0
  255. package/lib/module/modules/message-bubble/MessageBubble.variants.js +57 -0
  256. package/lib/module/modules/message-bubble/index.js +4 -0
  257. package/lib/module/modules/modal/MODULE.md +29 -3
  258. package/lib/module/modules/modal/Modal.js +72 -22
  259. package/lib/module/modules/more-items/MODULE.md +72 -0
  260. package/lib/module/modules/more-items/MoreItems.js +162 -0
  261. package/lib/module/modules/more-items/MoreItems.variants.js +80 -0
  262. package/lib/module/modules/more-items/index.js +4 -0
  263. package/lib/module/modules/multi-select/MODULE.md +84 -18
  264. package/lib/module/modules/multi-select/MultiSelect.js +217 -105
  265. package/lib/module/modules/multi-select/MultiSelect.variants.js +28 -5
  266. package/lib/module/modules/number-input/MODULE.md +39 -5
  267. package/lib/module/modules/number-input/NumberInput.js +41 -11
  268. package/lib/module/modules/number-input/NumberInput.variants.js +39 -5
  269. package/lib/module/modules/org-switcher/MODULE.md +121 -0
  270. package/lib/module/modules/org-switcher/OrgSwitcher.js +284 -0
  271. package/lib/module/modules/org-switcher/OrgSwitcher.variants.js +186 -0
  272. package/lib/module/modules/org-switcher/index.js +9 -0
  273. package/lib/module/modules/pagination/MODULE.md +163 -0
  274. package/lib/module/modules/pagination/Pagination.js +197 -0
  275. package/lib/module/modules/pagination/Pagination.variants.js +307 -0
  276. package/lib/module/modules/pagination/PaginationControls.js +193 -0
  277. package/lib/module/modules/pagination/index.js +15 -0
  278. package/lib/module/modules/pin-input/MODULE.md +29 -14
  279. package/lib/module/modules/pin-input/PinInput.js +111 -80
  280. package/lib/module/modules/pin-input/PinInput.variants.js +13 -5
  281. package/lib/module/modules/progress-bar/MODULE.md +17 -7
  282. package/lib/module/modules/progress-bar/ProgressBar.js +97 -56
  283. package/lib/module/modules/progress-bar/ProgressBar.variants.js +16 -18
  284. package/lib/module/modules/radio-group/MODULE.md +40 -14
  285. package/lib/module/modules/radio-group/RadioGroup.js +71 -7
  286. package/lib/module/modules/radio-group/RadioGroup.variants.js +46 -10
  287. package/lib/module/modules/reorder/MODULE.md +104 -97
  288. package/lib/module/modules/reorder/Reorder.js +233 -197
  289. package/lib/module/modules/reorder/Reorder.variants.js +35 -13
  290. package/lib/module/modules/rich-text/MODULE.md +52 -0
  291. package/lib/module/modules/rich-text/RichText.js +362 -0
  292. package/lib/module/modules/rich-text/RichText.variants.js +17 -0
  293. package/lib/module/modules/rich-text/index.js +5 -0
  294. package/lib/module/modules/rich-text/parseRichText.js +133 -0
  295. package/lib/module/modules/rich-text-editor/MODULE.md +225 -0
  296. package/lib/module/modules/rich-text-editor/RichTextEditor.js +413 -0
  297. package/lib/module/modules/rich-text-editor/RichTextEditor.variants.js +316 -0
  298. package/lib/module/modules/rich-text-editor/index.js +10 -0
  299. package/lib/module/modules/screen/MODULE.md +57 -0
  300. package/lib/module/modules/screen/Screen.js +106 -0
  301. package/lib/module/modules/screen/Screen.variants.js +43 -0
  302. package/lib/module/modules/screen/index.js +10 -0
  303. package/lib/module/modules/search-bar/MODULE.md +114 -0
  304. package/lib/module/modules/search-bar/SearchBar.js +256 -0
  305. package/lib/module/modules/search-bar/SearchBar.variants.js +205 -0
  306. package/lib/module/modules/search-bar/index.js +12 -0
  307. package/lib/module/modules/section/MODULE.md +39 -0
  308. package/lib/module/modules/section/Section.js +42 -0
  309. package/lib/module/modules/section/Section.variants.js +29 -0
  310. package/lib/module/modules/section/index.js +10 -0
  311. package/lib/module/modules/section-list/MODULE.md +18 -0
  312. package/lib/module/modules/section-list/SectionList.js +64 -0
  313. package/lib/module/modules/section-list/SectionList.variants.js +11 -0
  314. package/lib/module/modules/section-list/index.js +4 -0
  315. package/lib/module/modules/segmented-control/MODULE.md +124 -0
  316. package/lib/module/modules/segmented-control/SegmentedControl.js +158 -0
  317. package/lib/module/modules/segmented-control/SegmentedControl.variants.js +167 -0
  318. package/lib/module/modules/segmented-control/index.js +13 -0
  319. package/lib/module/modules/select/MODULE.md +81 -14
  320. package/lib/module/modules/select/Select.js +196 -94
  321. package/lib/module/modules/select/Select.variants.js +28 -5
  322. package/lib/module/modules/skeleton/MODULE.md +27 -7
  323. package/lib/module/modules/skeleton/Skeleton.js +52 -38
  324. package/lib/module/modules/skeleton/Skeleton.variants.js +9 -8
  325. package/lib/module/modules/slider/MODULE.md +31 -5
  326. package/lib/module/modules/slider/Slider.js +67 -10
  327. package/lib/module/modules/slider/Slider.variants.js +60 -13
  328. package/lib/module/modules/spinner/MODULE.md +16 -6
  329. package/lib/module/modules/spinner/Spinner.js +20 -16
  330. package/lib/module/modules/spinner/Spinner.variants.js +5 -3
  331. package/lib/module/modules/stage-progress/MODULE.md +64 -0
  332. package/lib/module/modules/stage-progress/StageProgress.js +174 -0
  333. package/lib/module/modules/stage-progress/StageProgress.variants.js +164 -0
  334. package/lib/module/modules/stage-progress/index.js +4 -0
  335. package/lib/module/modules/stat-tile/MODULE.md +9 -2
  336. package/lib/module/modules/stat-tile/StatTile.js +70 -33
  337. package/lib/module/modules/stat-tile/StatTile.variants.js +6 -4
  338. package/lib/module/modules/state-block/MODULE.md +52 -0
  339. package/lib/module/modules/state-block/StateBlock.js +131 -0
  340. package/lib/module/modules/state-block/StateBlock.variants.js +55 -0
  341. package/lib/module/modules/state-block/index.js +10 -0
  342. package/lib/module/modules/stepper/MODULE.md +33 -6
  343. package/lib/module/modules/stepper/Stepper.js +108 -39
  344. package/lib/module/modules/stepper/Stepper.variants.js +6 -6
  345. package/lib/module/modules/swipeable-row/MODULE.md +120 -0
  346. package/lib/module/modules/swipeable-row/SwipeableRow.js +244 -0
  347. package/lib/module/modules/swipeable-row/SwipeableRow.variants.js +80 -0
  348. package/lib/module/modules/swipeable-row/index.js +4 -0
  349. package/lib/module/modules/switch/MODULE.md +14 -0
  350. package/lib/module/modules/switch/Switch.js +1 -1
  351. package/lib/module/modules/switch/Switch.variants.js +8 -0
  352. package/lib/module/modules/tabs/MODULE.md +47 -13
  353. package/lib/module/modules/tabs/Tabs.js +121 -72
  354. package/lib/module/modules/tabs/Tabs.variants.js +30 -8
  355. package/lib/module/modules/text/MODULE.md +51 -0
  356. package/lib/module/modules/text/Text.js +47 -0
  357. package/lib/module/modules/text/Text.variants.js +98 -0
  358. package/lib/module/modules/text/index.js +4 -0
  359. package/lib/module/modules/textarea/MODULE.md +29 -13
  360. package/lib/module/modules/textarea/Textarea.js +90 -45
  361. package/lib/module/modules/textarea/Textarea.variants.js +14 -9
  362. package/lib/module/modules/timeline/MODULE.md +39 -7
  363. package/lib/module/modules/timeline/Timeline.js +151 -77
  364. package/lib/module/modules/timeline/Timeline.variants.js +13 -0
  365. package/lib/module/modules/toast/MODULE.md +66 -7
  366. package/lib/module/modules/toast/Toast.js +93 -27
  367. package/lib/module/modules/toast/Toast.variants.js +37 -1
  368. package/lib/module/modules/toast/toastScreenReader.js +69 -0
  369. package/lib/module/modules/tooltip/MODULE.md +78 -28
  370. package/lib/module/modules/tooltip/Tooltip.js +93 -43
  371. package/lib/module/modules/tooltip/Tooltip.variants.js +3 -4
  372. package/lib/module/modules/typing-indicator/MODULE.md +48 -0
  373. package/lib/module/modules/typing-indicator/TypingIndicator.js +98 -0
  374. package/lib/module/modules/typing-indicator/TypingIndicator.variants.js +55 -0
  375. package/lib/module/modules/typing-indicator/index.js +4 -0
  376. package/lib/module/modules/unread-badge/MODULE.md +20 -0
  377. package/lib/module/modules/unread-badge/UnreadBadge.js +45 -0
  378. package/lib/module/modules/unread-badge/UnreadBadge.variants.js +66 -0
  379. package/lib/module/modules/unread-badge/index.js +4 -0
  380. package/lib/module/test/mocks/flashList.js +5 -0
  381. package/lib/module/test/perfHelpers.js +18 -0
  382. package/lib/module/theme/MODULE.md +6 -0
  383. package/lib/module/theme/hooks.js +11 -0
  384. package/lib/module/theme/index.js +3 -6
  385. package/lib/module/theme/platform/MODULE.md +6 -0
  386. package/lib/module/theme/platform/motion.native.js +15 -0
  387. package/lib/module/theme/provider/PixelizeProvider.js +9 -47
  388. package/lib/module/theme/provider/ThemeContext.js +6 -0
  389. package/lib/module/theme/provider/colorModeStorage.js +2 -2
  390. package/lib/module/theme/provider/index.js +1 -0
  391. package/lib/module/theme/provider/loadPalette.js +75 -0
  392. package/lib/module/theme/provider/types.js +4 -0
  393. package/lib/module/theme/provider/useTheme.js +1 -2
  394. package/lib/module/theme/provider/useThemeMode.js +1 -1
  395. package/lib/module/theme/tokens/roles/index.js +9 -3
  396. package/lib/typescript/core/a11y/announce.d.ts +20 -0
  397. package/lib/typescript/core/a11y/announce.web.d.ts +27 -0
  398. package/lib/typescript/core/a11y/index.d.ts +21 -2
  399. package/lib/typescript/core/a11y/keyboard.d.ts +45 -0
  400. package/lib/typescript/core/a11y/keyboard.web.d.ts +69 -0
  401. package/lib/typescript/core/a11y/labels.d.ts +19 -0
  402. package/lib/typescript/core/device/index.d.ts +16 -0
  403. package/lib/typescript/core/heading/index.d.ts +45 -0
  404. package/lib/typescript/core/icon/Icon.d.ts +18 -0
  405. package/lib/typescript/core/icon/icons/arrow-down.d.ts +3 -0
  406. package/lib/typescript/core/icon/icons/arrow-left.d.ts +3 -0
  407. package/lib/typescript/core/icon/icons/arrow-right.d.ts +3 -0
  408. package/lib/typescript/core/icon/icons/arrow-up.d.ts +3 -0
  409. package/lib/typescript/core/icon/icons/at-sign.d.ts +3 -0
  410. package/lib/typescript/core/icon/icons/bell.d.ts +3 -0
  411. package/lib/typescript/core/icon/icons/bold.d.ts +3 -0
  412. package/lib/typescript/core/icon/icons/building-2.d.ts +3 -0
  413. package/lib/typescript/core/icon/icons/calendar.d.ts +3 -0
  414. package/lib/typescript/core/icon/icons/chart-column.d.ts +3 -0
  415. package/lib/typescript/core/icon/icons/check.d.ts +3 -0
  416. package/lib/typescript/core/icon/icons/chevron-down.d.ts +3 -0
  417. package/lib/typescript/core/icon/icons/chevron-left.d.ts +3 -0
  418. package/lib/typescript/core/icon/icons/chevron-right.d.ts +3 -0
  419. package/lib/typescript/core/icon/icons/chevron-up.d.ts +3 -0
  420. package/lib/typescript/core/icon/icons/chevrons-left.d.ts +3 -0
  421. package/lib/typescript/core/icon/icons/chevrons-right.d.ts +3 -0
  422. package/lib/typescript/core/icon/icons/chevrons-up-down.d.ts +3 -0
  423. package/lib/typescript/core/icon/icons/circle-alert.d.ts +3 -0
  424. package/lib/typescript/core/icon/icons/circle-check.d.ts +3 -0
  425. package/lib/typescript/core/icon/icons/clock.d.ts +3 -0
  426. package/lib/typescript/core/icon/icons/code.d.ts +3 -0
  427. package/lib/typescript/core/icon/icons/download.d.ts +3 -0
  428. package/lib/typescript/core/icon/icons/external-link.d.ts +3 -0
  429. package/lib/typescript/core/icon/icons/eye.d.ts +3 -0
  430. package/lib/typescript/core/icon/icons/file-text.d.ts +3 -0
  431. package/lib/typescript/core/icon/icons/filter.d.ts +3 -0
  432. package/lib/typescript/core/icon/icons/flag.d.ts +3 -0
  433. package/lib/typescript/core/icon/icons/folder.d.ts +3 -0
  434. package/lib/typescript/core/icon/icons/heading-1.d.ts +3 -0
  435. package/lib/typescript/core/icon/icons/heading-2.d.ts +3 -0
  436. package/lib/typescript/core/icon/icons/heading-3.d.ts +3 -0
  437. package/lib/typescript/core/icon/icons/image.d.ts +3 -0
  438. package/lib/typescript/core/icon/icons/inbox.d.ts +3 -0
  439. package/lib/typescript/core/icon/icons/info.d.ts +3 -0
  440. package/lib/typescript/core/icon/icons/italic.d.ts +3 -0
  441. package/lib/typescript/core/icon/icons/kanban.d.ts +3 -0
  442. package/lib/typescript/core/icon/icons/layers.d.ts +3 -0
  443. package/lib/typescript/core/icon/icons/layout-dashboard.d.ts +3 -0
  444. package/lib/typescript/core/icon/icons/layout-template.d.ts +3 -0
  445. package/lib/typescript/core/icon/icons/life-buoy.d.ts +3 -0
  446. package/lib/typescript/core/icon/icons/link.d.ts +3 -0
  447. package/lib/typescript/core/icon/icons/list-checks.d.ts +3 -0
  448. package/lib/typescript/core/icon/icons/list-ordered.d.ts +3 -0
  449. package/lib/typescript/core/icon/icons/list-todo.d.ts +3 -0
  450. package/lib/typescript/core/icon/icons/list.d.ts +3 -0
  451. package/lib/typescript/core/icon/icons/log-out.d.ts +3 -0
  452. package/lib/typescript/core/icon/icons/map.d.ts +3 -0
  453. package/lib/typescript/core/icon/icons/message-square.d.ts +3 -0
  454. package/lib/typescript/core/icon/icons/milestone.d.ts +3 -0
  455. package/lib/typescript/core/icon/icons/minus.d.ts +3 -0
  456. package/lib/typescript/core/icon/icons/more-horizontal.d.ts +3 -0
  457. package/lib/typescript/core/icon/icons/paperclip.d.ts +3 -0
  458. package/lib/typescript/core/icon/icons/pencil.d.ts +3 -0
  459. package/lib/typescript/core/icon/icons/plus.d.ts +3 -0
  460. package/lib/typescript/core/icon/icons/quote.d.ts +3 -0
  461. package/lib/typescript/core/icon/icons/refresh-cw.d.ts +3 -0
  462. package/lib/typescript/core/icon/icons/save.d.ts +3 -0
  463. package/lib/typescript/core/icon/icons/search.d.ts +3 -0
  464. package/lib/typescript/core/icon/icons/send.d.ts +3 -0
  465. package/lib/typescript/core/icon/icons/settings.d.ts +3 -0
  466. package/lib/typescript/core/icon/icons/share.d.ts +3 -0
  467. package/lib/typescript/core/icon/icons/square-code.d.ts +3 -0
  468. package/lib/typescript/core/icon/icons/star.d.ts +3 -0
  469. package/lib/typescript/core/icon/icons/strikethrough.d.ts +3 -0
  470. package/lib/typescript/core/icon/icons/tag.d.ts +3 -0
  471. package/lib/typescript/core/icon/icons/trash.d.ts +3 -0
  472. package/lib/typescript/core/icon/icons/triangle-alert.d.ts +3 -0
  473. package/lib/typescript/core/icon/icons/underline.d.ts +3 -0
  474. package/lib/typescript/core/icon/icons/upload.d.ts +3 -0
  475. package/lib/typescript/core/icon/icons/user.d.ts +3 -0
  476. package/lib/typescript/core/icon/icons/users.d.ts +3 -0
  477. package/lib/typescript/core/icon/icons/x.d.ts +3 -0
  478. package/lib/typescript/core/icon/index.d.ts +6 -94
  479. package/lib/typescript/core/icon/names.d.ts +2 -0
  480. package/lib/typescript/core/icon/resolve.d.ts +4 -0
  481. package/lib/typescript/core/icon/types.d.ts +13 -0
  482. package/lib/typescript/core/list/VirtualList.d.ts +55 -0
  483. package/lib/typescript/core/list/index.d.ts +3 -0
  484. package/lib/typescript/core/media/MediaImage.d.ts +28 -0
  485. package/lib/typescript/core/media/expoImage.d.ts +14 -0
  486. package/lib/typescript/core/media/index.d.ts +7 -0
  487. package/lib/typescript/core/media/pickers.d.ts +27 -0
  488. package/lib/typescript/core/motion/config.d.ts +56 -0
  489. package/lib/typescript/core/motion/index.d.ts +8 -0
  490. package/lib/typescript/core/motion/presets.d.ts +49 -0
  491. package/lib/typescript/core/motion/useAnimatedValue.d.ts +11 -0
  492. package/lib/typescript/core/motion/useMotion.d.ts +34 -0
  493. package/lib/typescript/core/style/index.d.ts +3 -0
  494. package/lib/typescript/core/style/sx.d.ts +86 -0
  495. package/lib/typescript/core/style/useThemedStyles.d.ts +5 -0
  496. package/lib/typescript/index.d.ts +134 -2
  497. package/lib/typescript/modules/accordion/Accordion.d.ts +12 -23
  498. package/lib/typescript/modules/accordion/Accordion.variants.d.ts +5 -5
  499. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts +1 -1
  500. package/lib/typescript/modules/app-bar/AppBar.d.ts +37 -0
  501. package/lib/typescript/modules/app-bar/AppBar.variants.d.ts +35 -0
  502. package/lib/typescript/modules/app-bar/index.d.ts +9 -0
  503. package/lib/typescript/modules/avatar/Avatar.d.ts +23 -3
  504. package/lib/typescript/modules/avatar/Avatar.variants.d.ts +32 -1
  505. package/lib/typescript/modules/avatar/index.d.ts +1 -1
  506. package/lib/typescript/modules/avatar-group/AvatarGroup.d.ts +28 -0
  507. package/lib/typescript/modules/avatar-group/AvatarGroup.variants.d.ts +75 -0
  508. package/lib/typescript/modules/avatar-group/index.d.ts +9 -0
  509. package/lib/typescript/modules/badge/Badge.d.ts +3 -1
  510. package/lib/typescript/modules/badge/Badge.variants.d.ts +8 -4
  511. package/lib/typescript/modules/banner/Banner.d.ts +35 -0
  512. package/lib/typescript/modules/banner/Banner.variants.d.ts +49 -0
  513. package/lib/typescript/modules/banner/index.d.ts +5 -0
  514. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts +9 -8
  515. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts +22 -9
  516. package/lib/typescript/modules/bottom-nav/BottomNavTab.d.ts +34 -0
  517. package/lib/typescript/modules/bottom-sheet/BottomSheet.d.ts +29 -0
  518. package/lib/typescript/modules/bottom-sheet/BottomSheet.variants.d.ts +13 -0
  519. package/lib/typescript/modules/bottom-sheet/index.d.ts +3 -0
  520. package/lib/typescript/modules/button/Button.d.ts +21 -0
  521. package/lib/typescript/modules/button/Button.variants.d.ts +22 -9
  522. package/lib/typescript/modules/button-group/ButtonGroup.d.ts +4 -2
  523. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts +18 -5
  524. package/lib/typescript/modules/card/Card.variants.d.ts +2 -2
  525. package/lib/typescript/modules/charts/BarChart.d.ts +26 -0
  526. package/lib/typescript/modules/charts/ChartLegend.d.ts +16 -0
  527. package/lib/typescript/modules/charts/Charts.variants.d.ts +201 -2
  528. package/lib/typescript/modules/charts/DonutChart.d.ts +3 -0
  529. package/lib/typescript/modules/charts/LineChart.d.ts +30 -0
  530. package/lib/typescript/modules/charts/PieChart.d.ts +18 -0
  531. package/lib/typescript/modules/charts/index.d.ts +6 -0
  532. package/lib/typescript/modules/checkbox/Checkbox.d.ts +4 -1
  533. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts +14 -9
  534. package/lib/typescript/modules/chip/Chip.d.ts +38 -0
  535. package/lib/typescript/modules/chip/Chip.variants.d.ts +198 -0
  536. package/lib/typescript/modules/chip/ChipGroup.d.ts +22 -0
  537. package/lib/typescript/modules/chip/index.d.ts +12 -0
  538. package/lib/typescript/modules/combobox/Combobox.d.ts +81 -0
  539. package/lib/typescript/modules/combobox/Combobox.variants.d.ts +212 -0
  540. package/lib/typescript/modules/combobox/comboboxKeys.d.ts +25 -0
  541. package/lib/typescript/modules/combobox/comboboxKeys.web.d.ts +23 -0
  542. package/lib/typescript/modules/combobox/index.d.ts +11 -0
  543. package/lib/typescript/modules/composer/Composer.d.ts +28 -0
  544. package/lib/typescript/modules/composer/Composer.variants.d.ts +7 -0
  545. package/lib/typescript/modules/composer/index.d.ts +3 -0
  546. package/lib/typescript/modules/copy-button/CopyButton.d.ts +21 -0
  547. package/lib/typescript/modules/copy-button/CopyButton.variants.d.ts +42 -0
  548. package/lib/typescript/modules/copy-button/index.d.ts +4 -0
  549. package/lib/typescript/modules/data-table/DataTable.d.ts +44 -0
  550. package/lib/typescript/modules/data-table/DataTable.variants.d.ts +118 -0
  551. package/lib/typescript/modules/data-table/index.d.ts +9 -0
  552. package/lib/typescript/modules/date-picker/Calendar.d.ts +42 -0
  553. package/lib/typescript/modules/date-picker/Calendar.keys.d.ts +19 -0
  554. package/lib/typescript/modules/date-picker/Calendar.keys.web.d.ts +35 -0
  555. package/lib/typescript/modules/date-picker/DatePicker.d.ts +40 -0
  556. package/lib/typescript/modules/date-picker/DatePicker.variants.d.ts +322 -0
  557. package/lib/typescript/modules/date-picker/DateRangePicker.d.ts +32 -0
  558. package/lib/typescript/modules/date-picker/PickerField.d.ts +26 -0
  559. package/lib/typescript/modules/date-picker/PickerShell.d.ts +29 -0
  560. package/lib/typescript/modules/date-picker/TimePicker.d.ts +20 -0
  561. package/lib/typescript/modules/date-picker/index.d.ts +16 -0
  562. package/lib/typescript/modules/divider/Divider.variants.d.ts +2 -2
  563. package/lib/typescript/modules/drawer/Drawer.d.ts +2 -1
  564. package/lib/typescript/modules/drawer/Drawer.variants.d.ts +4 -13
  565. package/lib/typescript/modules/empty-state/EmptyState.d.ts +7 -4
  566. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts +7 -1
  567. package/lib/typescript/modules/fab/Fab.d.ts +74 -0
  568. package/lib/typescript/modules/fab/Fab.variants.d.ts +229 -0
  569. package/lib/typescript/modules/fab/FabGroup.d.ts +66 -0
  570. package/lib/typescript/modules/fab/index.d.ts +12 -0
  571. package/lib/typescript/modules/file-grid/FileGrid.d.ts +26 -0
  572. package/lib/typescript/modules/file-grid/FileGrid.variants.d.ts +26 -0
  573. package/lib/typescript/modules/file-grid/index.d.ts +4 -0
  574. package/lib/typescript/modules/file-upload/FileUpload.d.ts +3 -0
  575. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts +22 -5
  576. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts +30 -5
  577. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts +13 -8
  578. package/lib/typescript/modules/folder-row/FolderRow.d.ts +24 -0
  579. package/lib/typescript/modules/folder-row/FolderRow.variants.d.ts +29 -0
  580. package/lib/typescript/modules/folder-row/index.d.ts +3 -0
  581. package/lib/typescript/modules/form-field/FormField.d.ts +29 -0
  582. package/lib/typescript/modules/form-field/FormField.variants.d.ts +93 -0
  583. package/lib/typescript/modules/form-field/index.d.ts +4 -0
  584. package/lib/typescript/modules/gantt/Gantt.d.ts +19 -0
  585. package/lib/typescript/modules/gantt/Gantt.variants.d.ts +82 -0
  586. package/lib/typescript/modules/gantt/index.d.ts +5 -0
  587. package/lib/typescript/modules/image-viewer/ImageViewer.d.ts +27 -0
  588. package/lib/typescript/modules/image-viewer/ImageViewer.variants.d.ts +3 -0
  589. package/lib/typescript/modules/image-viewer/index.d.ts +3 -0
  590. package/lib/typescript/modules/input/Input.d.ts +9 -1
  591. package/lib/typescript/modules/input/Input.variants.d.ts +26 -6
  592. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.d.ts +34 -0
  593. package/lib/typescript/modules/limit-reached-modal/LimitReachedModal.variants.d.ts +46 -0
  594. package/lib/typescript/modules/limit-reached-modal/index.d.ts +10 -0
  595. package/lib/typescript/modules/list-item/ListItem.d.ts +6 -0
  596. package/lib/typescript/modules/list-item/ListItem.variants.d.ts +1 -1
  597. package/lib/typescript/modules/markdown/Markdown.d.ts +6 -0
  598. package/lib/typescript/modules/markdown/Markdown.variants.d.ts +8 -2
  599. package/lib/typescript/modules/markdown/parseMarkdown.d.ts +3 -2
  600. package/lib/typescript/modules/menu/Menu.d.ts +8 -18
  601. package/lib/typescript/modules/menu/Menu.variants.d.ts +8 -1
  602. package/lib/typescript/modules/message-bubble/MessageBubble.d.ts +25 -0
  603. package/lib/typescript/modules/message-bubble/MessageBubble.variants.d.ts +31 -0
  604. package/lib/typescript/modules/message-bubble/index.d.ts +4 -0
  605. package/lib/typescript/modules/modal/Modal.d.ts +12 -0
  606. package/lib/typescript/modules/modal/Modal.variants.d.ts +1 -1
  607. package/lib/typescript/modules/more-items/MoreItems.d.ts +15 -0
  608. package/lib/typescript/modules/more-items/MoreItems.variants.d.ts +30 -0
  609. package/lib/typescript/modules/more-items/index.d.ts +4 -0
  610. package/lib/typescript/modules/multi-select/MultiSelect.d.ts +1 -16
  611. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts +24 -5
  612. package/lib/typescript/modules/number-input/NumberInput.d.ts +6 -0
  613. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts +57 -7
  614. package/lib/typescript/modules/org-switcher/OrgSwitcher.d.ts +44 -0
  615. package/lib/typescript/modules/org-switcher/OrgSwitcher.variants.d.ts +139 -0
  616. package/lib/typescript/modules/org-switcher/index.d.ts +8 -0
  617. package/lib/typescript/modules/pagination/Pagination.d.ts +45 -0
  618. package/lib/typescript/modules/pagination/Pagination.variants.d.ts +240 -0
  619. package/lib/typescript/modules/pagination/PaginationControls.d.ts +50 -0
  620. package/lib/typescript/modules/pagination/index.d.ts +14 -0
  621. package/lib/typescript/modules/pin-input/PinInput.d.ts +6 -0
  622. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts +22 -5
  623. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts +8 -4
  624. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts +13 -15
  625. package/lib/typescript/modules/radio-group/RadioGroup.d.ts +6 -0
  626. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts +32 -11
  627. package/lib/typescript/modules/reorder/Reorder.d.ts +28 -23
  628. package/lib/typescript/modules/reorder/Reorder.variants.d.ts +25 -9
  629. package/lib/typescript/modules/rich-text/RichText.d.ts +15 -0
  630. package/lib/typescript/modules/rich-text/RichText.variants.d.ts +15 -0
  631. package/lib/typescript/modules/rich-text/index.d.ts +5 -0
  632. package/lib/typescript/modules/rich-text/parseRichText.d.ts +30 -0
  633. package/lib/typescript/modules/rich-text-editor/RichTextEditor.d.ts +62 -0
  634. package/lib/typescript/modules/rich-text-editor/RichTextEditor.variants.d.ts +139 -0
  635. package/lib/typescript/modules/rich-text-editor/index.d.ts +9 -0
  636. package/lib/typescript/modules/screen/Screen.d.ts +36 -0
  637. package/lib/typescript/modules/screen/Screen.variants.d.ts +21 -0
  638. package/lib/typescript/modules/screen/index.d.ts +9 -0
  639. package/lib/typescript/modules/search-bar/SearchBar.d.ts +47 -0
  640. package/lib/typescript/modules/search-bar/SearchBar.variants.d.ts +179 -0
  641. package/lib/typescript/modules/search-bar/index.d.ts +11 -0
  642. package/lib/typescript/modules/section/Section.d.ts +17 -0
  643. package/lib/typescript/modules/section/Section.variants.d.ts +12 -0
  644. package/lib/typescript/modules/section/index.d.ts +8 -0
  645. package/lib/typescript/modules/section-list/SectionList.d.ts +26 -0
  646. package/lib/typescript/modules/section-list/SectionList.variants.d.ts +3 -0
  647. package/lib/typescript/modules/section-list/index.d.ts +3 -0
  648. package/lib/typescript/modules/segmented-control/SegmentedControl.d.ts +45 -0
  649. package/lib/typescript/modules/segmented-control/SegmentedControl.variants.d.ts +143 -0
  650. package/lib/typescript/modules/segmented-control/index.d.ts +11 -0
  651. package/lib/typescript/modules/select/Select.d.ts +1 -14
  652. package/lib/typescript/modules/select/Select.variants.d.ts +24 -5
  653. package/lib/typescript/modules/skeleton/Skeleton.d.ts +5 -0
  654. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts +10 -9
  655. package/lib/typescript/modules/slider/Slider.variants.d.ts +35 -14
  656. package/lib/typescript/modules/spinner/Spinner.variants.d.ts +6 -4
  657. package/lib/typescript/modules/stage-progress/StageProgress.d.ts +18 -0
  658. package/lib/typescript/modules/stage-progress/StageProgress.variants.d.ts +98 -0
  659. package/lib/typescript/modules/stage-progress/index.d.ts +4 -0
  660. package/lib/typescript/modules/stat-tile/StatTile.d.ts +4 -0
  661. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts +7 -5
  662. package/lib/typescript/modules/state-block/StateBlock.d.ts +51 -0
  663. package/lib/typescript/modules/state-block/StateBlock.variants.d.ts +30 -0
  664. package/lib/typescript/modules/state-block/index.d.ts +10 -0
  665. package/lib/typescript/modules/stepper/Stepper.d.ts +4 -0
  666. package/lib/typescript/modules/stepper/Stepper.variants.d.ts +7 -7
  667. package/lib/typescript/modules/swipeable-row/SwipeableRow.d.ts +35 -0
  668. package/lib/typescript/modules/swipeable-row/SwipeableRow.variants.d.ts +27 -0
  669. package/lib/typescript/modules/swipeable-row/index.d.ts +4 -0
  670. package/lib/typescript/modules/switch/Switch.variants.d.ts +9 -1
  671. package/lib/typescript/modules/tabs/Tabs.d.ts +8 -6
  672. package/lib/typescript/modules/tabs/Tabs.variants.d.ts +20 -7
  673. package/lib/typescript/modules/text/Text.d.ts +23 -0
  674. package/lib/typescript/modules/text/Text.variants.d.ts +18 -0
  675. package/lib/typescript/modules/text/index.d.ts +4 -0
  676. package/lib/typescript/modules/textarea/Textarea.d.ts +5 -0
  677. package/lib/typescript/modules/textarea/Textarea.variants.d.ts +15 -8
  678. package/lib/typescript/modules/timeline/Timeline.d.ts +9 -13
  679. package/lib/typescript/modules/timeline/Timeline.variants.d.ts +17 -1
  680. package/lib/typescript/modules/toast/Toast.d.ts +13 -3
  681. package/lib/typescript/modules/toast/Toast.variants.d.ts +31 -3
  682. package/lib/typescript/modules/toast/index.d.ts +1 -1
  683. package/lib/typescript/modules/toast/toastScreenReader.d.ts +22 -0
  684. package/lib/typescript/modules/tooltip/Tooltip.d.ts +34 -11
  685. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts +4 -5
  686. package/lib/typescript/modules/typing-indicator/TypingIndicator.d.ts +28 -0
  687. package/lib/typescript/modules/typing-indicator/TypingIndicator.variants.d.ts +32 -0
  688. package/lib/typescript/modules/typing-indicator/index.d.ts +4 -0
  689. package/lib/typescript/modules/unread-badge/UnreadBadge.d.ts +15 -0
  690. package/lib/typescript/modules/unread-badge/UnreadBadge.variants.d.ts +56 -0
  691. package/lib/typescript/modules/unread-badge/index.d.ts +4 -0
  692. package/lib/typescript/test/mocks/flashList.d.ts +3 -0
  693. package/lib/typescript/test/perfHelpers.d.ts +9 -0
  694. package/lib/typescript/theme/hooks.d.ts +11 -0
  695. package/lib/typescript/theme/index.d.ts +3 -2
  696. package/lib/typescript/theme/platform/motion.native.d.ts +15 -0
  697. package/lib/typescript/theme/provider/PixelizeProvider.d.ts +3 -80
  698. package/lib/typescript/theme/provider/ThemeContext.d.ts +4 -0
  699. package/lib/typescript/theme/provider/index.d.ts +2 -1
  700. package/lib/typescript/theme/provider/loadPalette.d.ts +9 -0
  701. package/lib/typescript/theme/provider/types.d.ts +41 -0
  702. package/lib/typescript/theme/provider/useTheme.d.ts +1 -2
  703. package/lib/typescript/theme/provider/useThemeMode.d.ts +1 -1
  704. package/lib/typescript/theme/tokens/roles/index.d.ts +7 -0
  705. package/package.json +193 -19
  706. package/registry.json +172 -2
  707. package/lib/module/core/a11y/index.js.map +0 -1
  708. package/lib/module/core/icon/index.js.map +0 -1
  709. package/lib/module/core/style/index.js.map +0 -1
  710. package/lib/module/core/style/layoutStyle.js.map +0 -1
  711. package/lib/module/core/style/variants.js.map +0 -1
  712. package/lib/module/index.js.map +0 -1
  713. package/lib/module/modules/accordion/Accordion.js.map +0 -1
  714. package/lib/module/modules/accordion/Accordion.variants.js.map +0 -1
  715. package/lib/module/modules/accordion/index.js.map +0 -1
  716. package/lib/module/modules/alert-dialog/AlertDialog.js.map +0 -1
  717. package/lib/module/modules/alert-dialog/AlertDialog.variants.js.map +0 -1
  718. package/lib/module/modules/alert-dialog/index.js.map +0 -1
  719. package/lib/module/modules/avatar/Avatar.js.map +0 -1
  720. package/lib/module/modules/avatar/Avatar.variants.js.map +0 -1
  721. package/lib/module/modules/avatar/index.js.map +0 -1
  722. package/lib/module/modules/badge/Badge.js.map +0 -1
  723. package/lib/module/modules/badge/Badge.variants.js.map +0 -1
  724. package/lib/module/modules/badge/index.js.map +0 -1
  725. package/lib/module/modules/bottom-nav/BottomNav.js.map +0 -1
  726. package/lib/module/modules/bottom-nav/BottomNav.search.js.map +0 -1
  727. package/lib/module/modules/bottom-nav/BottomNav.variants.js.map +0 -1
  728. package/lib/module/modules/bottom-nav/BottomNavIconWithBadge.js.map +0 -1
  729. package/lib/module/modules/bottom-nav/BottomNavOverflowSheet.js.map +0 -1
  730. package/lib/module/modules/bottom-nav/index.js.map +0 -1
  731. package/lib/module/modules/button/Button.js.map +0 -1
  732. package/lib/module/modules/button/Button.variants.js.map +0 -1
  733. package/lib/module/modules/button/index.js.map +0 -1
  734. package/lib/module/modules/button-group/ButtonGroup.js.map +0 -1
  735. package/lib/module/modules/button-group/ButtonGroup.variants.js.map +0 -1
  736. package/lib/module/modules/button-group/index.js.map +0 -1
  737. package/lib/module/modules/card/Card.js.map +0 -1
  738. package/lib/module/modules/card/Card.variants.js.map +0 -1
  739. package/lib/module/modules/card/index.js.map +0 -1
  740. package/lib/module/modules/charts/BarList.js.map +0 -1
  741. package/lib/module/modules/charts/Charts.variants.js.map +0 -1
  742. package/lib/module/modules/charts/DonutChart.js.map +0 -1
  743. package/lib/module/modules/charts/Sparkline.js.map +0 -1
  744. package/lib/module/modules/charts/index.js.map +0 -1
  745. package/lib/module/modules/checkbox/Checkbox.js.map +0 -1
  746. package/lib/module/modules/checkbox/Checkbox.variants.js.map +0 -1
  747. package/lib/module/modules/checkbox/index.js.map +0 -1
  748. package/lib/module/modules/divider/Divider.js.map +0 -1
  749. package/lib/module/modules/divider/Divider.variants.js.map +0 -1
  750. package/lib/module/modules/divider/index.js.map +0 -1
  751. package/lib/module/modules/drawer/Drawer.js.map +0 -1
  752. package/lib/module/modules/drawer/Drawer.variants.js.map +0 -1
  753. package/lib/module/modules/drawer/index.js.map +0 -1
  754. package/lib/module/modules/empty-state/EmptyState.js.map +0 -1
  755. package/lib/module/modules/empty-state/EmptyState.variants.js.map +0 -1
  756. package/lib/module/modules/empty-state/index.js.map +0 -1
  757. package/lib/module/modules/file-upload/FileUpload.js.map +0 -1
  758. package/lib/module/modules/file-upload/FileUpload.variants.js.map +0 -1
  759. package/lib/module/modules/file-upload/index.js.map +0 -1
  760. package/lib/module/modules/filter-sheet/FilterChip.js.map +0 -1
  761. package/lib/module/modules/filter-sheet/FilterSheet.js.map +0 -1
  762. package/lib/module/modules/filter-sheet/FilterSheet.variants.js.map +0 -1
  763. package/lib/module/modules/filter-sheet/FilterSheetBody.js.map +0 -1
  764. package/lib/module/modules/filter-sheet/filterSheet.helpers.js.map +0 -1
  765. package/lib/module/modules/filter-sheet/index.js.map +0 -1
  766. package/lib/module/modules/input/Input.js.map +0 -1
  767. package/lib/module/modules/input/Input.variants.js.map +0 -1
  768. package/lib/module/modules/input/index.js.map +0 -1
  769. package/lib/module/modules/list-item/ListItem.js.map +0 -1
  770. package/lib/module/modules/list-item/ListItem.variants.js.map +0 -1
  771. package/lib/module/modules/list-item/index.js.map +0 -1
  772. package/lib/module/modules/markdown/Markdown.js.map +0 -1
  773. package/lib/module/modules/markdown/Markdown.variants.js.map +0 -1
  774. package/lib/module/modules/markdown/index.js.map +0 -1
  775. package/lib/module/modules/markdown/parseMarkdown.js.map +0 -1
  776. package/lib/module/modules/menu/Menu.js.map +0 -1
  777. package/lib/module/modules/menu/Menu.variants.js.map +0 -1
  778. package/lib/module/modules/menu/index.js.map +0 -1
  779. package/lib/module/modules/modal/Modal.js.map +0 -1
  780. package/lib/module/modules/modal/Modal.variants.js.map +0 -1
  781. package/lib/module/modules/modal/ModalPortalContext.js.map +0 -1
  782. package/lib/module/modules/modal/ModalPortalProvider.js.map +0 -1
  783. package/lib/module/modules/modal/index.js.map +0 -1
  784. package/lib/module/modules/modal/renderWebPortal.js.map +0 -1
  785. package/lib/module/modules/modal/renderWebPortal.web.js.map +0 -1
  786. package/lib/module/modules/multi-select/MultiSelect.js.map +0 -1
  787. package/lib/module/modules/multi-select/MultiSelect.variants.js.map +0 -1
  788. package/lib/module/modules/multi-select/index.js.map +0 -1
  789. package/lib/module/modules/number-input/NumberInput.js.map +0 -1
  790. package/lib/module/modules/number-input/NumberInput.variants.js.map +0 -1
  791. package/lib/module/modules/number-input/index.js.map +0 -1
  792. package/lib/module/modules/pin-input/PinInput.js.map +0 -1
  793. package/lib/module/modules/pin-input/PinInput.variants.js.map +0 -1
  794. package/lib/module/modules/pin-input/index.js.map +0 -1
  795. package/lib/module/modules/progress-bar/ProgressBar.js.map +0 -1
  796. package/lib/module/modules/progress-bar/ProgressBar.variants.js.map +0 -1
  797. package/lib/module/modules/progress-bar/index.js.map +0 -1
  798. package/lib/module/modules/radio-group/RadioGroup.js.map +0 -1
  799. package/lib/module/modules/radio-group/RadioGroup.variants.js.map +0 -1
  800. package/lib/module/modules/radio-group/index.js.map +0 -1
  801. package/lib/module/modules/reorder/Reorder.js.map +0 -1
  802. package/lib/module/modules/reorder/Reorder.variants.js.map +0 -1
  803. package/lib/module/modules/reorder/index.js.map +0 -1
  804. package/lib/module/modules/select/Select.js.map +0 -1
  805. package/lib/module/modules/select/Select.variants.js.map +0 -1
  806. package/lib/module/modules/select/index.js.map +0 -1
  807. package/lib/module/modules/skeleton/Skeleton.js.map +0 -1
  808. package/lib/module/modules/skeleton/Skeleton.variants.js.map +0 -1
  809. package/lib/module/modules/skeleton/index.js.map +0 -1
  810. package/lib/module/modules/slider/Slider.js.map +0 -1
  811. package/lib/module/modules/slider/Slider.variants.js.map +0 -1
  812. package/lib/module/modules/slider/index.js.map +0 -1
  813. package/lib/module/modules/spinner/Spinner.js.map +0 -1
  814. package/lib/module/modules/spinner/Spinner.variants.js.map +0 -1
  815. package/lib/module/modules/spinner/index.js.map +0 -1
  816. package/lib/module/modules/stat-tile/StatTile.js.map +0 -1
  817. package/lib/module/modules/stat-tile/StatTile.variants.js.map +0 -1
  818. package/lib/module/modules/stat-tile/index.js.map +0 -1
  819. package/lib/module/modules/stepper/Stepper.js.map +0 -1
  820. package/lib/module/modules/stepper/Stepper.variants.js.map +0 -1
  821. package/lib/module/modules/stepper/index.js.map +0 -1
  822. package/lib/module/modules/switch/Switch.js.map +0 -1
  823. package/lib/module/modules/switch/Switch.variants.js.map +0 -1
  824. package/lib/module/modules/switch/index.js.map +0 -1
  825. package/lib/module/modules/tabs/Tabs.js.map +0 -1
  826. package/lib/module/modules/tabs/Tabs.variants.js.map +0 -1
  827. package/lib/module/modules/tabs/index.js.map +0 -1
  828. package/lib/module/modules/textarea/Textarea.js.map +0 -1
  829. package/lib/module/modules/textarea/Textarea.variants.js.map +0 -1
  830. package/lib/module/modules/textarea/index.js.map +0 -1
  831. package/lib/module/modules/timeline/Timeline.js.map +0 -1
  832. package/lib/module/modules/timeline/Timeline.variants.js.map +0 -1
  833. package/lib/module/modules/timeline/index.js.map +0 -1
  834. package/lib/module/modules/toast/Toast.js.map +0 -1
  835. package/lib/module/modules/toast/Toast.variants.js.map +0 -1
  836. package/lib/module/modules/toast/index.js.map +0 -1
  837. package/lib/module/modules/tooltip/Tooltip.js.map +0 -1
  838. package/lib/module/modules/tooltip/Tooltip.variants.js.map +0 -1
  839. package/lib/module/modules/tooltip/index.js.map +0 -1
  840. package/lib/module/theme/index.js.map +0 -1
  841. package/lib/module/theme/platform/colorScheme.native.js.map +0 -1
  842. package/lib/module/theme/platform/elevation.native.js.map +0 -1
  843. package/lib/module/theme/platform/fonts.native.js.map +0 -1
  844. package/lib/module/theme/platform/index.js.map +0 -1
  845. package/lib/module/theme/platform/units.native.js.map +0 -1
  846. package/lib/module/theme/provider/PixelizeProvider.js.map +0 -1
  847. package/lib/module/theme/provider/colorModeStorage.js.map +0 -1
  848. package/lib/module/theme/provider/index.js.map +0 -1
  849. package/lib/module/theme/provider/useTheme.js.map +0 -1
  850. package/lib/module/theme/provider/useThemeColors.js.map +0 -1
  851. package/lib/module/theme/provider/useThemeMode.js.map +0 -1
  852. package/lib/module/theme/tokens/brands/emerald/palette.dark.js.map +0 -1
  853. package/lib/module/theme/tokens/brands/emerald/palette.light.js.map +0 -1
  854. package/lib/module/theme/tokens/brands/index.js.map +0 -1
  855. package/lib/module/theme/tokens/brands/lavender/palette.dark.js.map +0 -1
  856. package/lib/module/theme/tokens/brands/lavender/palette.light.js.map +0 -1
  857. package/lib/module/theme/tokens/brands/meadow/palette.dark.js.map +0 -1
  858. package/lib/module/theme/tokens/brands/meadow/palette.light.js.map +0 -1
  859. package/lib/module/theme/tokens/brands/radiant/palette.dark.js.map +0 -1
  860. package/lib/module/theme/tokens/brands/radiant/palette.light.js.map +0 -1
  861. package/lib/module/theme/tokens/brands/rosewood/palette.dark.js.map +0 -1
  862. package/lib/module/theme/tokens/brands/rosewood/palette.light.js.map +0 -1
  863. package/lib/module/theme/tokens/brands/skyline/palette.dark.js.map +0 -1
  864. package/lib/module/theme/tokens/brands/skyline/palette.light.js.map +0 -1
  865. package/lib/module/theme/tokens/brands/slate/palette.dark.js.map +0 -1
  866. package/lib/module/theme/tokens/brands/slate/palette.light.js.map +0 -1
  867. package/lib/module/theme/tokens/brands/storefront/palette.dark.js.map +0 -1
  868. package/lib/module/theme/tokens/brands/storefront/palette.light.js.map +0 -1
  869. package/lib/module/theme/tokens/brands/zinc/palette.dark.js.map +0 -1
  870. package/lib/module/theme/tokens/brands/zinc/palette.light.js.map +0 -1
  871. package/lib/module/theme/tokens/builders/accentText.js.map +0 -1
  872. package/lib/module/theme/tokens/builders/buildBrandTokens.js.map +0 -1
  873. package/lib/module/theme/tokens/builders/buildDarkPalette.js.map +0 -1
  874. package/lib/module/theme/tokens/builders/color.js.map +0 -1
  875. package/lib/module/theme/tokens/index.js.map +0 -1
  876. package/lib/module/theme/tokens/primitives/borderWidths.js.map +0 -1
  877. package/lib/module/theme/tokens/primitives/breakpoints.js.map +0 -1
  878. package/lib/module/theme/tokens/primitives/elevation.js.map +0 -1
  879. package/lib/module/theme/tokens/primitives/fontSizes.js.map +0 -1
  880. package/lib/module/theme/tokens/primitives/fontWeights.js.map +0 -1
  881. package/lib/module/theme/tokens/primitives/index.js.map +0 -1
  882. package/lib/module/theme/tokens/primitives/letterSpacings.js.map +0 -1
  883. package/lib/module/theme/tokens/primitives/lineHeights.js.map +0 -1
  884. package/lib/module/theme/tokens/primitives/radii.js.map +0 -1
  885. package/lib/module/theme/tokens/primitives/sizes.js.map +0 -1
  886. package/lib/module/theme/tokens/primitives/space.js.map +0 -1
  887. package/lib/module/theme/tokens/primitives/zIndices.js.map +0 -1
  888. package/lib/module/theme/tokens/roles/index.js.map +0 -1
  889. package/lib/module/theme/tokens/types.js.map +0 -1
  890. package/lib/typescript/core/a11y/index.d.ts.map +0 -1
  891. package/lib/typescript/core/icon/index.d.ts.map +0 -1
  892. package/lib/typescript/core/style/index.d.ts.map +0 -1
  893. package/lib/typescript/core/style/layoutStyle.d.ts.map +0 -1
  894. package/lib/typescript/core/style/variants.d.ts.map +0 -1
  895. package/lib/typescript/index.d.ts.map +0 -1
  896. package/lib/typescript/modules/accordion/Accordion.d.ts.map +0 -1
  897. package/lib/typescript/modules/accordion/Accordion.variants.d.ts.map +0 -1
  898. package/lib/typescript/modules/accordion/index.d.ts.map +0 -1
  899. package/lib/typescript/modules/alert-dialog/AlertDialog.d.ts.map +0 -1
  900. package/lib/typescript/modules/alert-dialog/AlertDialog.variants.d.ts.map +0 -1
  901. package/lib/typescript/modules/alert-dialog/index.d.ts.map +0 -1
  902. package/lib/typescript/modules/avatar/Avatar.d.ts.map +0 -1
  903. package/lib/typescript/modules/avatar/Avatar.variants.d.ts.map +0 -1
  904. package/lib/typescript/modules/avatar/index.d.ts.map +0 -1
  905. package/lib/typescript/modules/badge/Badge.d.ts.map +0 -1
  906. package/lib/typescript/modules/badge/Badge.variants.d.ts.map +0 -1
  907. package/lib/typescript/modules/badge/index.d.ts.map +0 -1
  908. package/lib/typescript/modules/bottom-nav/BottomNav.d.ts.map +0 -1
  909. package/lib/typescript/modules/bottom-nav/BottomNav.search.d.ts.map +0 -1
  910. package/lib/typescript/modules/bottom-nav/BottomNav.variants.d.ts.map +0 -1
  911. package/lib/typescript/modules/bottom-nav/BottomNavIconWithBadge.d.ts.map +0 -1
  912. package/lib/typescript/modules/bottom-nav/BottomNavOverflowSheet.d.ts.map +0 -1
  913. package/lib/typescript/modules/bottom-nav/index.d.ts.map +0 -1
  914. package/lib/typescript/modules/button/Button.d.ts.map +0 -1
  915. package/lib/typescript/modules/button/Button.variants.d.ts.map +0 -1
  916. package/lib/typescript/modules/button/index.d.ts.map +0 -1
  917. package/lib/typescript/modules/button-group/ButtonGroup.d.ts.map +0 -1
  918. package/lib/typescript/modules/button-group/ButtonGroup.variants.d.ts.map +0 -1
  919. package/lib/typescript/modules/button-group/index.d.ts.map +0 -1
  920. package/lib/typescript/modules/card/Card.d.ts.map +0 -1
  921. package/lib/typescript/modules/card/Card.variants.d.ts.map +0 -1
  922. package/lib/typescript/modules/card/index.d.ts.map +0 -1
  923. package/lib/typescript/modules/charts/BarList.d.ts.map +0 -1
  924. package/lib/typescript/modules/charts/Charts.variants.d.ts.map +0 -1
  925. package/lib/typescript/modules/charts/DonutChart.d.ts.map +0 -1
  926. package/lib/typescript/modules/charts/Sparkline.d.ts.map +0 -1
  927. package/lib/typescript/modules/charts/index.d.ts.map +0 -1
  928. package/lib/typescript/modules/checkbox/Checkbox.d.ts.map +0 -1
  929. package/lib/typescript/modules/checkbox/Checkbox.variants.d.ts.map +0 -1
  930. package/lib/typescript/modules/checkbox/index.d.ts.map +0 -1
  931. package/lib/typescript/modules/divider/Divider.d.ts.map +0 -1
  932. package/lib/typescript/modules/divider/Divider.variants.d.ts.map +0 -1
  933. package/lib/typescript/modules/divider/index.d.ts.map +0 -1
  934. package/lib/typescript/modules/drawer/Drawer.d.ts.map +0 -1
  935. package/lib/typescript/modules/drawer/Drawer.variants.d.ts.map +0 -1
  936. package/lib/typescript/modules/drawer/index.d.ts.map +0 -1
  937. package/lib/typescript/modules/empty-state/EmptyState.d.ts.map +0 -1
  938. package/lib/typescript/modules/empty-state/EmptyState.variants.d.ts.map +0 -1
  939. package/lib/typescript/modules/empty-state/index.d.ts.map +0 -1
  940. package/lib/typescript/modules/file-upload/FileUpload.d.ts.map +0 -1
  941. package/lib/typescript/modules/file-upload/FileUpload.variants.d.ts.map +0 -1
  942. package/lib/typescript/modules/file-upload/index.d.ts.map +0 -1
  943. package/lib/typescript/modules/filter-sheet/FilterChip.d.ts.map +0 -1
  944. package/lib/typescript/modules/filter-sheet/FilterSheet.d.ts.map +0 -1
  945. package/lib/typescript/modules/filter-sheet/FilterSheet.variants.d.ts.map +0 -1
  946. package/lib/typescript/modules/filter-sheet/FilterSheetBody.d.ts.map +0 -1
  947. package/lib/typescript/modules/filter-sheet/filterSheet.helpers.d.ts.map +0 -1
  948. package/lib/typescript/modules/filter-sheet/index.d.ts.map +0 -1
  949. package/lib/typescript/modules/input/Input.d.ts.map +0 -1
  950. package/lib/typescript/modules/input/Input.variants.d.ts.map +0 -1
  951. package/lib/typescript/modules/input/index.d.ts.map +0 -1
  952. package/lib/typescript/modules/list-item/ListItem.d.ts.map +0 -1
  953. package/lib/typescript/modules/list-item/ListItem.variants.d.ts.map +0 -1
  954. package/lib/typescript/modules/list-item/index.d.ts.map +0 -1
  955. package/lib/typescript/modules/markdown/Markdown.d.ts.map +0 -1
  956. package/lib/typescript/modules/markdown/Markdown.variants.d.ts.map +0 -1
  957. package/lib/typescript/modules/markdown/index.d.ts.map +0 -1
  958. package/lib/typescript/modules/markdown/parseMarkdown.d.ts.map +0 -1
  959. package/lib/typescript/modules/menu/Menu.d.ts.map +0 -1
  960. package/lib/typescript/modules/menu/Menu.variants.d.ts.map +0 -1
  961. package/lib/typescript/modules/menu/index.d.ts.map +0 -1
  962. package/lib/typescript/modules/modal/Modal.d.ts.map +0 -1
  963. package/lib/typescript/modules/modal/Modal.variants.d.ts.map +0 -1
  964. package/lib/typescript/modules/modal/ModalPortalContext.d.ts.map +0 -1
  965. package/lib/typescript/modules/modal/ModalPortalProvider.d.ts.map +0 -1
  966. package/lib/typescript/modules/modal/index.d.ts.map +0 -1
  967. package/lib/typescript/modules/modal/renderWebPortal.d.ts.map +0 -1
  968. package/lib/typescript/modules/modal/renderWebPortal.web.d.ts.map +0 -1
  969. package/lib/typescript/modules/multi-select/MultiSelect.d.ts.map +0 -1
  970. package/lib/typescript/modules/multi-select/MultiSelect.variants.d.ts.map +0 -1
  971. package/lib/typescript/modules/multi-select/index.d.ts.map +0 -1
  972. package/lib/typescript/modules/number-input/NumberInput.d.ts.map +0 -1
  973. package/lib/typescript/modules/number-input/NumberInput.variants.d.ts.map +0 -1
  974. package/lib/typescript/modules/number-input/index.d.ts.map +0 -1
  975. package/lib/typescript/modules/pin-input/PinInput.d.ts.map +0 -1
  976. package/lib/typescript/modules/pin-input/PinInput.variants.d.ts.map +0 -1
  977. package/lib/typescript/modules/pin-input/index.d.ts.map +0 -1
  978. package/lib/typescript/modules/progress-bar/ProgressBar.d.ts.map +0 -1
  979. package/lib/typescript/modules/progress-bar/ProgressBar.variants.d.ts.map +0 -1
  980. package/lib/typescript/modules/progress-bar/index.d.ts.map +0 -1
  981. package/lib/typescript/modules/radio-group/RadioGroup.d.ts.map +0 -1
  982. package/lib/typescript/modules/radio-group/RadioGroup.variants.d.ts.map +0 -1
  983. package/lib/typescript/modules/radio-group/index.d.ts.map +0 -1
  984. package/lib/typescript/modules/reorder/Reorder.d.ts.map +0 -1
  985. package/lib/typescript/modules/reorder/Reorder.variants.d.ts.map +0 -1
  986. package/lib/typescript/modules/reorder/index.d.ts.map +0 -1
  987. package/lib/typescript/modules/select/Select.d.ts.map +0 -1
  988. package/lib/typescript/modules/select/Select.variants.d.ts.map +0 -1
  989. package/lib/typescript/modules/select/index.d.ts.map +0 -1
  990. package/lib/typescript/modules/skeleton/Skeleton.d.ts.map +0 -1
  991. package/lib/typescript/modules/skeleton/Skeleton.variants.d.ts.map +0 -1
  992. package/lib/typescript/modules/skeleton/index.d.ts.map +0 -1
  993. package/lib/typescript/modules/slider/Slider.d.ts.map +0 -1
  994. package/lib/typescript/modules/slider/Slider.variants.d.ts.map +0 -1
  995. package/lib/typescript/modules/slider/index.d.ts.map +0 -1
  996. package/lib/typescript/modules/spinner/Spinner.d.ts.map +0 -1
  997. package/lib/typescript/modules/spinner/Spinner.variants.d.ts.map +0 -1
  998. package/lib/typescript/modules/spinner/index.d.ts.map +0 -1
  999. package/lib/typescript/modules/stat-tile/StatTile.d.ts.map +0 -1
  1000. package/lib/typescript/modules/stat-tile/StatTile.variants.d.ts.map +0 -1
  1001. package/lib/typescript/modules/stat-tile/index.d.ts.map +0 -1
  1002. package/lib/typescript/modules/stepper/Stepper.d.ts.map +0 -1
  1003. package/lib/typescript/modules/stepper/Stepper.variants.d.ts.map +0 -1
  1004. package/lib/typescript/modules/stepper/index.d.ts.map +0 -1
  1005. package/lib/typescript/modules/switch/Switch.d.ts.map +0 -1
  1006. package/lib/typescript/modules/switch/Switch.variants.d.ts.map +0 -1
  1007. package/lib/typescript/modules/switch/index.d.ts.map +0 -1
  1008. package/lib/typescript/modules/tabs/Tabs.d.ts.map +0 -1
  1009. package/lib/typescript/modules/tabs/Tabs.variants.d.ts.map +0 -1
  1010. package/lib/typescript/modules/tabs/index.d.ts.map +0 -1
  1011. package/lib/typescript/modules/textarea/Textarea.d.ts.map +0 -1
  1012. package/lib/typescript/modules/textarea/Textarea.variants.d.ts.map +0 -1
  1013. package/lib/typescript/modules/textarea/index.d.ts.map +0 -1
  1014. package/lib/typescript/modules/timeline/Timeline.d.ts.map +0 -1
  1015. package/lib/typescript/modules/timeline/Timeline.variants.d.ts.map +0 -1
  1016. package/lib/typescript/modules/timeline/index.d.ts.map +0 -1
  1017. package/lib/typescript/modules/toast/Toast.d.ts.map +0 -1
  1018. package/lib/typescript/modules/toast/Toast.variants.d.ts.map +0 -1
  1019. package/lib/typescript/modules/toast/index.d.ts.map +0 -1
  1020. package/lib/typescript/modules/tooltip/Tooltip.d.ts.map +0 -1
  1021. package/lib/typescript/modules/tooltip/Tooltip.variants.d.ts.map +0 -1
  1022. package/lib/typescript/modules/tooltip/index.d.ts.map +0 -1
  1023. package/lib/typescript/theme/index.d.ts.map +0 -1
  1024. package/lib/typescript/theme/platform/colorScheme.native.d.ts.map +0 -1
  1025. package/lib/typescript/theme/platform/elevation.native.d.ts.map +0 -1
  1026. package/lib/typescript/theme/platform/fonts.native.d.ts.map +0 -1
  1027. package/lib/typescript/theme/platform/index.d.ts.map +0 -1
  1028. package/lib/typescript/theme/platform/units.native.d.ts.map +0 -1
  1029. package/lib/typescript/theme/provider/PixelizeProvider.d.ts.map +0 -1
  1030. package/lib/typescript/theme/provider/colorModeStorage.d.ts.map +0 -1
  1031. package/lib/typescript/theme/provider/index.d.ts.map +0 -1
  1032. package/lib/typescript/theme/provider/useTheme.d.ts.map +0 -1
  1033. package/lib/typescript/theme/provider/useThemeColors.d.ts.map +0 -1
  1034. package/lib/typescript/theme/provider/useThemeMode.d.ts.map +0 -1
  1035. package/lib/typescript/theme/tokens/brands/emerald/palette.dark.d.ts.map +0 -1
  1036. package/lib/typescript/theme/tokens/brands/emerald/palette.light.d.ts.map +0 -1
  1037. package/lib/typescript/theme/tokens/brands/index.d.ts.map +0 -1
  1038. package/lib/typescript/theme/tokens/brands/lavender/palette.dark.d.ts.map +0 -1
  1039. package/lib/typescript/theme/tokens/brands/lavender/palette.light.d.ts.map +0 -1
  1040. package/lib/typescript/theme/tokens/brands/meadow/palette.dark.d.ts.map +0 -1
  1041. package/lib/typescript/theme/tokens/brands/meadow/palette.light.d.ts.map +0 -1
  1042. package/lib/typescript/theme/tokens/brands/radiant/palette.dark.d.ts.map +0 -1
  1043. package/lib/typescript/theme/tokens/brands/radiant/palette.light.d.ts.map +0 -1
  1044. package/lib/typescript/theme/tokens/brands/rosewood/palette.dark.d.ts.map +0 -1
  1045. package/lib/typescript/theme/tokens/brands/rosewood/palette.light.d.ts.map +0 -1
  1046. package/lib/typescript/theme/tokens/brands/skyline/palette.dark.d.ts.map +0 -1
  1047. package/lib/typescript/theme/tokens/brands/skyline/palette.light.d.ts.map +0 -1
  1048. package/lib/typescript/theme/tokens/brands/slate/palette.dark.d.ts.map +0 -1
  1049. package/lib/typescript/theme/tokens/brands/slate/palette.light.d.ts.map +0 -1
  1050. package/lib/typescript/theme/tokens/brands/storefront/palette.dark.d.ts.map +0 -1
  1051. package/lib/typescript/theme/tokens/brands/storefront/palette.light.d.ts.map +0 -1
  1052. package/lib/typescript/theme/tokens/brands/zinc/palette.dark.d.ts.map +0 -1
  1053. package/lib/typescript/theme/tokens/brands/zinc/palette.light.d.ts.map +0 -1
  1054. package/lib/typescript/theme/tokens/builders/accentText.d.ts.map +0 -1
  1055. package/lib/typescript/theme/tokens/builders/buildBrandTokens.d.ts.map +0 -1
  1056. package/lib/typescript/theme/tokens/builders/buildDarkPalette.d.ts.map +0 -1
  1057. package/lib/typescript/theme/tokens/builders/color.d.ts.map +0 -1
  1058. package/lib/typescript/theme/tokens/index.d.ts.map +0 -1
  1059. package/lib/typescript/theme/tokens/primitives/borderWidths.d.ts.map +0 -1
  1060. package/lib/typescript/theme/tokens/primitives/breakpoints.d.ts.map +0 -1
  1061. package/lib/typescript/theme/tokens/primitives/elevation.d.ts.map +0 -1
  1062. package/lib/typescript/theme/tokens/primitives/fontSizes.d.ts.map +0 -1
  1063. package/lib/typescript/theme/tokens/primitives/fontWeights.d.ts.map +0 -1
  1064. package/lib/typescript/theme/tokens/primitives/index.d.ts.map +0 -1
  1065. package/lib/typescript/theme/tokens/primitives/letterSpacings.d.ts.map +0 -1
  1066. package/lib/typescript/theme/tokens/primitives/lineHeights.d.ts.map +0 -1
  1067. package/lib/typescript/theme/tokens/primitives/radii.d.ts.map +0 -1
  1068. package/lib/typescript/theme/tokens/primitives/sizes.d.ts.map +0 -1
  1069. package/lib/typescript/theme/tokens/primitives/space.d.ts.map +0 -1
  1070. package/lib/typescript/theme/tokens/primitives/zIndices.d.ts.map +0 -1
  1071. package/lib/typescript/theme/tokens/roles/index.d.ts.map +0 -1
  1072. package/lib/typescript/theme/tokens/types.d.ts.map +0 -1
@@ -14,15 +14,127 @@
14
14
  * `accessibilityRole="radiogroup"` so assistive tech announces the grouping without collapsing the
15
15
  * individually-focusable segments into one.
16
16
  *
17
- * No animation anywhere (selection is a conditional fill, not a slide or a fade), so — like
18
- * `RadioGroup` there is nothing here for `useReducedMotion` (WCAG 2.3.3) to gate.
17
+ * No animation anywhere, deliberately: selection is a conditional fill, and the segments share one
18
+ * continuous border, so a per-segment press scale (Button's affordance) would visibly detach a
19
+ * segment from the control it is part of. The `pressed` fill swap is the affordance instead. Nothing
20
+ * animates, so — like `RadioGroup` — there is nothing here for reduce motion (WCAG 2.3.3) to gate.
19
21
  */
20
22
 
21
- import { memo } from "react";
23
+ import { memo, useCallback, useMemo, useRef, useState } from "react";
22
24
  import { Pressable, StyleSheet, Text, View } from "react-native";
23
- import { useTheme } from "../../theme/index.js";
24
- import { BUTTON_GROUP_SIZES, buttonGroupSegmentStructure, buttonGroupStructure, resolveButtonGroupColors, resolveButtonGroupSegmentAccessibility, resolveButtonGroupSegmentEdgeColors, resolveButtonGroupSegmentHitSlop } from "./ButtonGroup.variants.js";
25
- import { jsx as _jsx } from "react/jsx-runtime";
25
+ import { useTheme } from "../../theme/hooks.js";
26
+ import { BUTTON_GROUP_SIZES, buttonGroupSegmentStructure, buttonGroupStructure, resolveButtonGroupColors, resolveButtonGroupKeyIndex, resolveButtonGroupSegmentAccessibility, resolveButtonGroupSegmentEdgeColors, resolveButtonGroupSegmentHitSlop } from "./ButtonGroup.variants.js";
27
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
+ /**
29
+ * RN's Flow `ViewProps` declares `onKeyDown` and react-native-web forwards it straight to the DOM
30
+ * node, but RN's TypeScript `ViewPropTypes.d.ts` omits it — this re-type is the only cast here.
31
+ */
32
+ const KeyboardView = View;
33
+
34
+ /**
35
+ * The ring is drawn INSIDE the segment (positive offsets), unlike Button's outside ring: the
36
+ * container is `overflow: "hidden"` so it can clip the joined segment radii, which would erase an
37
+ * outside ring entirely (`ButtonGroup.render.test.tsx` asserts both halves of this).
38
+ */
39
+ const FOCUS_RING_WIDTH = 2;
40
+ const FOCUS_RING_INSET = 2;
41
+ function ButtonGroupSegmentImpl({
42
+ label,
43
+ value,
44
+ selected,
45
+ nextSelected,
46
+ isFirst,
47
+ isLast,
48
+ index,
49
+ active,
50
+ size,
51
+ disabled,
52
+ colors,
53
+ fontSize,
54
+ onValueChange,
55
+ registerRef,
56
+ testID
57
+ }) {
58
+ const theme = useTheme();
59
+ const [focused, setFocused] = useState(false);
60
+ const a11y = useMemo(() => resolveButtonGroupSegmentAccessibility({
61
+ selected,
62
+ disabled
63
+ }), [selected, disabled]);
64
+ const edges = useMemo(() => resolveButtonGroupSegmentEdgeColors(colors, {
65
+ selected,
66
+ nextSelected
67
+ }), [colors, selected, nextSelected]);
68
+ const hitSlop = useMemo(() => resolveButtonGroupSegmentHitSlop(size, {
69
+ isFirst,
70
+ isLast
71
+ }), [size, isFirst, isLast]);
72
+ const handlePress = useCallback(() => onValueChange(value), [onValueChange, value]);
73
+ const handleFocus = useCallback(() => setFocused(true), []);
74
+ const handleBlur = useCallback(() => setFocused(false), []);
75
+ const setRef = useCallback(node => {
76
+ registerRef(index, node);
77
+ }, [registerRef, index]);
78
+ const focusRingStyle = useMemo(() => ({
79
+ position: "absolute",
80
+ pointerEvents: "none",
81
+ top: FOCUS_RING_INSET,
82
+ left: FOCUS_RING_INSET,
83
+ right: FOCUS_RING_INSET,
84
+ bottom: FOCUS_RING_INSET,
85
+ borderWidth: FOCUS_RING_WIDTH,
86
+ borderColor: theme.colors.border.focus,
87
+ borderRadius: Math.max(0, theme.radii.base - FOCUS_RING_INSET)
88
+ }), [theme.colors.border.focus, theme.radii.base]);
89
+ const segmentStyle = useCallback(({
90
+ pressed
91
+ }) => [buttonGroupSegmentStructure(theme, {
92
+ size,
93
+ first: isFirst ? "on" : "off",
94
+ last: isLast ? "on" : "off"
95
+ }), {
96
+ borderTopColor: edges.top,
97
+ borderBottomColor: edges.bottom,
98
+ borderLeftColor: edges.left,
99
+ borderRightColor: edges.right
100
+ }, selected ? {
101
+ backgroundColor: colors.selectedFill
102
+ } : pressed && !disabled && {
103
+ backgroundColor: colors.pressedFill
104
+ }, disabled && styles.dimmed], [theme, size, isFirst, isLast, edges, selected, disabled, colors]);
105
+ const labelStyle = useMemo(() => [theme.fontStyleForWeight(theme.fontWeights.medium), {
106
+ fontSize,
107
+ color: selected ? colors.onSelectedFill : colors.label
108
+ }], [theme, fontSize, selected, colors]);
109
+ return /*#__PURE__*/_jsxs(Pressable, {
110
+ ref: setRef,
111
+ testID: testID,
112
+ accessibilityRole: a11y.accessibilityRole,
113
+ "aria-checked": a11y["aria-checked"],
114
+ "aria-disabled": a11y["aria-disabled"],
115
+ accessibilityLabel: label,
116
+ disabled: a11y.disabled,
117
+ tabIndex: active && !disabled ? 0 : -1
118
+ // RN's Pressable stays `focusable` when disabled, so a TV remote could otherwise land on a
119
+ // segment that renders no ring (WCAG 2.4.7) — the same fix NumberInput's steppers use.
120
+ ,
121
+ focusable: !disabled,
122
+ onFocus: handleFocus,
123
+ onBlur: handleBlur,
124
+ onPress: disabled ? undefined : handlePress,
125
+ hitSlop: hitSlop,
126
+ style: segmentStyle,
127
+ children: [focused && !disabled && /*#__PURE__*/_jsx(View, {
128
+ testID: testID === undefined ? undefined : `${testID}-focus-ring`,
129
+ style: focusRingStyle
130
+ }), /*#__PURE__*/_jsx(Text, {
131
+ numberOfLines: 1,
132
+ style: labelStyle,
133
+ children: label
134
+ })]
135
+ });
136
+ }
137
+ const ButtonGroupSegment = /*#__PURE__*/memo(ButtonGroupSegmentImpl);
26
138
  function ButtonGroupImpl({
27
139
  options,
28
140
  value,
@@ -33,62 +145,58 @@ function ButtonGroupImpl({
33
145
  testID
34
146
  }) {
35
147
  const theme = useTheme();
36
- const colors = resolveButtonGroupColors(theme.colors);
148
+ const colors = useMemo(() => resolveButtonGroupColors(theme.colors), [theme.colors]);
37
149
  const fontSize = BUTTON_GROUP_SIZES[size].fontSize;
38
150
  const lastIndex = options.length - 1;
39
- return /*#__PURE__*/_jsx(View, {
151
+
152
+ // `accessibilityRole="radio"` per segment means ARIA requires the group to be ONE tab stop, and
153
+ // its arrows both move and select — so the roving tab stop is simply the selected segment (the
154
+ // first when `value` matches nothing), derived rather than held in state so a `value` the consumer
155
+ // changes from outside can never desync it.
156
+ const selectedIndex = options.findIndex(option => option.value === value);
157
+ const activeIndex = selectedIndex >= 0 ? selectedIndex : 0;
158
+ const segmentRefs = useRef([]);
159
+ const registerRef = useCallback((index, node) => {
160
+ segmentRefs.current[index] = node;
161
+ }, []);
162
+ const handleKeyDown = event => {
163
+ if (disabled) return;
164
+ const next = resolveButtonGroupKeyIndex({
165
+ key: event.nativeEvent.key,
166
+ index: activeIndex,
167
+ count: options.length
168
+ });
169
+ const option = next === undefined ? undefined : options[next];
170
+ if (next === undefined || option === undefined) return;
171
+ // Arrow/Home/End would otherwise scroll the page out from under the group.
172
+ event.preventDefault?.();
173
+ onValueChange(option.value);
174
+ // The tab stop moves with the selection, so DOM focus has to follow it or the ring is stranded.
175
+ segmentRefs.current[next]?.focus();
176
+ };
177
+ return /*#__PURE__*/_jsx(KeyboardView, {
40
178
  testID: testID,
41
179
  accessibilityRole: "radiogroup",
180
+ onKeyDown: handleKeyDown,
42
181
  style: [buttonGroupStructure(theme), style],
43
182
  children: options.map((option, index) => {
44
- const selected = option.value === value;
45
- const isFirst = index === 0;
46
183
  const isLast = index === lastIndex;
47
- const nextSelected = !isLast && options[index + 1]?.value === value;
48
- const a11y = resolveButtonGroupSegmentAccessibility({
49
- selected,
50
- disabled
51
- });
52
- const edges = resolveButtonGroupSegmentEdgeColors(colors, {
53
- selected,
54
- nextSelected
55
- });
56
- const hitSlop = resolveButtonGroupSegmentHitSlop(size, {
57
- isFirst,
58
- isLast
59
- });
60
- return /*#__PURE__*/_jsx(Pressable, {
61
- testID: testID ? `${testID}-${option.value}` : undefined,
62
- accessibilityRole: a11y.accessibilityRole,
63
- accessibilityState: a11y.accessibilityState,
64
- accessibilityLabel: option.label,
65
- disabled: a11y.disabled,
66
- onPress: disabled ? undefined : () => onValueChange(option.value),
67
- hitSlop: hitSlop,
68
- style: ({
69
- pressed
70
- }) => [buttonGroupSegmentStructure(theme, {
71
- size,
72
- first: isFirst ? "on" : "off",
73
- last: isLast ? "on" : "off"
74
- }), {
75
- borderTopColor: edges.top,
76
- borderBottomColor: edges.bottom,
77
- borderLeftColor: edges.left,
78
- borderRightColor: edges.right
79
- }, selected ? {
80
- backgroundColor: colors.selectedFill
81
- } : pressed && !disabled && {
82
- backgroundColor: colors.pressedFill
83
- }, disabled && styles.dimmed],
84
- children: /*#__PURE__*/_jsx(Text, {
85
- numberOfLines: 1,
86
- style: [theme.fontStyleForWeight(theme.fontWeights.medium), {
87
- fontSize,
88
- color: selected ? colors.onSelectedFill : colors.label
89
- }],
90
- children: option.label
91
- })
184
+ return /*#__PURE__*/_jsx(ButtonGroupSegment, {
185
+ label: option.label,
186
+ value: option.value,
187
+ selected: option.value === value,
188
+ nextSelected: !isLast && options[index + 1]?.value === value,
189
+ isFirst: index === 0,
190
+ isLast: isLast,
191
+ index: index,
192
+ active: index === activeIndex,
193
+ size: size,
194
+ disabled: disabled,
195
+ colors: colors,
196
+ fontSize: fontSize,
197
+ onValueChange: onValueChange,
198
+ registerRef: registerRef,
199
+ testID: testID ? `${testID}-${option.value}` : undefined
92
200
  }, option.value);
93
201
  })
94
202
  });
@@ -131,13 +131,39 @@ export function resolveButtonGroupSegmentHitSlop(size, position) {
131
131
  export function resolveButtonGroupSegmentAccessibility(input) {
132
132
  return {
133
133
  accessibilityRole: "radio",
134
- accessibilityState: {
135
- checked: input.selected,
136
- disabled: input.disabled
137
- },
134
+ "aria-checked": input.selected,
135
+ "aria-disabled": input.disabled,
138
136
  disabled: input.disabled
139
137
  };
140
138
  }
139
+ /**
140
+ * The WAI-ARIA radio-group keyboard contract, resolved purely: arrows move one segment and WRAP (the
141
+ * arrows both move and select, so there is no "past the end" to fall off), Home/End jump to the ends.
142
+ * Returns `undefined` for any other key — also how the caller knows not to swallow that keystroke.
143
+ * Duplicated from `RadioGroup.variants.ts` rather than imported: modules stay isolated.
144
+ */
145
+ export function resolveButtonGroupKeyIndex(input) {
146
+ const {
147
+ key,
148
+ index,
149
+ count
150
+ } = input;
151
+ if (count <= 0) return undefined;
152
+ switch (key) {
153
+ case "ArrowRight":
154
+ case "ArrowDown":
155
+ return (index + 1) % count;
156
+ case "ArrowLeft":
157
+ case "ArrowUp":
158
+ return (index - 1 + count) % count;
159
+ case "Home":
160
+ return 0;
161
+ case "End":
162
+ return count - 1;
163
+ default:
164
+ return undefined;
165
+ }
166
+ }
141
167
 
142
168
  /**
143
169
  * The container — a clipping rect only. `overflow: hidden` + `borderRadius` clips every segment's
@@ -28,7 +28,7 @@ the container) so it can be selectively omitted where it touches the selected se
28
28
  | `disabled` | `boolean` | `false` | Dims every segment and blocks all presses (whole-group only — no per-option `disabled`). |
29
29
  | `size` | `sm \| md` | `md` | 32 / 40 dp fixed segment height (matches Button's `sm`/`md`); both reach 44dp via `hitSlop`. |
30
30
  | `style` | `LayoutStyle` | — | Layout-only, outermost (the container `View`), applied exactly once, last. |
31
- | `testID` | `string` | — | Container's testID; each segment gets `` `${testID}-${option.value}` `` when set. |
31
+ | `testID` | `string` | — | Container's testID; each segment gets `` `${testID}-${option.value}` ``, and the focused segment a `` `${testID}-${option.value}-focus-ring` `` child, when set. |
32
32
 
33
33
  No `tone`/`variant` union and no `icon` — this is a single-purpose control, not a closed union of
34
34
  appearances. The selected fill is always `accent.solid`; the shared outline/divider is always
@@ -36,10 +36,12 @@ appearances. The selected fill is always `accent.solid`; the shared outline/divi
36
36
 
37
37
  ## Accessibility contract (WCAG)
38
38
 
39
- - **4.1.2** — `accessibilityRole="radio"` per segment, `accessibilityState={ checked, disabled }`
39
+ - **4.1.2** — `accessibilityRole="radio"` per segment, flat `aria-checked` / `aria-disabled`
40
40
  (NOT `role="tab"`/`.selected` — a tab switches content panels, which this control does not do; it
41
41
  is the same single-choice value selector shape `RadioGroup` already uses, just drawn as connected
42
- segments instead of rows); `accessibilityRole="radiogroup"` on the container.
42
+ segments instead of rows); `accessibilityRole="radiogroup"` on the container. Flat, never
43
+ `accessibilityState={{…}}`: react-native-web discards the object form — see
44
+ `docs/PLATFORM-A11Y-PROPS.md`.
43
45
  - **2.5.x target size** — every segment reaches ≥ 44dp on BOTH axes, but not through one flat
44
46
  `hitSlop`:
45
47
  - **Vertical** — symmetric `hitSlop` on every segment (32dp/40dp visual height + 6/2dp slop = 44dp).
@@ -75,6 +77,21 @@ appearances. The selected fill is always `accent.solid`; the shared outline/divi
75
77
  3.24:1, emerald light) — the same mechanism every other solid-fill component in this library
76
78
  already relies on. `ButtonGroup.test.ts` measures every actually-rendered boundary pairing (not
77
79
  just the easy outline-vs-canvas one) for first/middle/last selected × all 8 brands × both modes.
80
+ - **2.1.1 (keyboard) — roving tabindex.** `accessibilityRole="radio"` per segment means ARIA requires
81
+ the group to be ONE tab stop whose arrows both move and select. `tabIndex` is `0` on exactly one
82
+ segment and `-1` on the rest; arrows move and select (wrapping), Home/End jump to the ends
83
+ (`resolveButtonGroupKeyIndex`), and the handler calls `preventDefault` so the page does not scroll.
84
+ The active index is **derived** from `value` (falling back to segment 0), never held in state — a
85
+ `value` the consumer changes from outside can then never desync the tab stop. After an arrow the
86
+ handler also calls `.focus()` on the newly-selected segment's node, because the tab stop moved and
87
+ DOM focus has to follow it or the ring is stranded. RN's TypeScript `ViewPropTypes.d.ts` omits
88
+ `onKeyDown` (its Flow types declare it), so the container `View` is re-typed once, locally.
89
+ - **2.4.7 (focus visible) — the ring is INSET here, unlike Button's.** `buttonGroupStructure` is
90
+ `overflow: "hidden"` and has to be (that clip is what joins the segment radii into one shape), so
91
+ Button's ring at negative offsets would be clipped away entirely. This one is drawn at positive
92
+ offsets inside the segment instead; `ButtonGroup.render.test.tsx` asserts both halves — that the
93
+ container really clips, and that every ring edge is a positive inset that therefore survives it.
94
+ Segments also carry `focusable={!disabled}`, since RN's `Pressable` stays focusable when disabled.
78
95
  - **2.3.3** — n/a: nothing here animates. Selection is a conditional fill (not a slide or a fade), so
79
96
  there is no transition for `useReducedMotion` to gate — same as `RadioGroup`.
80
97
  - Disabled segments are exempt from the contrast minimum (WCAG 1.4.3), so the uniform `opacity: 0.5`
@@ -107,10 +124,13 @@ appearances. The selected fill is always `accent.solid`; the shared outline/divi
107
124
 
108
125
  ## Known gaps
109
126
 
110
- - No visible keyboard-focus ring (Button's `border.focus` ring pattern, WCAG 2.4.7) left out of v1
111
- for the same reason `RadioGroup` left it out: touch is the primary input surface for this control.
112
- The same `onFocus`/`onBlur` + `border.focus` pattern from `Button.tsx` would extend cleanly here if
113
- a future task needs it for external-keyboard / RN Web use.
127
+ - Arrow keys move the tab stop by moving the SELECTION, so a keyboard user cannot browse the segments
128
+ without changing the value. That is the WAI-ARIA radio-group pattern, not a defect but it does
129
+ mean `onValueChange` fires once per arrow press.
130
+ - The focus ring's contrast is **not** measured per brand the way every other boundary in this module
131
+ is. It is `border.focus` (a neutral grey, chosen library-wide precisely so a ring survives an
132
+ accent-filled control) drawn inside the segment, so on a SELECTED segment it sits over
133
+ `accent.solid` rather than the canvas — the one pairing this module's WCAG suite does not cover.
114
134
 
115
135
  ### Resolved — the adjacent-pressed-segment boundary (WCAG 1.4.11)
116
136
 
@@ -127,3 +147,9 @@ an `if (dark)` branch. Worst case now 3.08:1 (rosewood light); the unselected la
127
147
  ## Performance
128
148
 
129
149
  Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — renamed to `ButtonGroupImpl` internally, exported as `ButtonGroup = memo(ButtonGroupImpl)`. The `options.map()` hands every per-row prop to host elements (`Pressable`/`Text`/`View`), never a library child component, so no `useCallback`/`useMemo` was needed.
150
+
151
+ ## Modernization (v1.0.7)
152
+
153
+ - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
154
+ - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
155
+ - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -7,9 +7,9 @@
7
7
  * assistive tech and its children carry their own semantics, exactly like a plain `View` would.
8
8
  */
9
9
 
10
- import { memo } from "react";
10
+ import { memo, useMemo } from "react";
11
11
  import { View } from "react-native";
12
- import { useTheme } from "../../theme/index.js";
12
+ import { useTheme } from "../../theme/hooks.js";
13
13
  import { cardStructure, resolveCardVariant } from "./Card.variants.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  function CardImpl({
@@ -19,16 +19,19 @@ function CardImpl({
19
19
  testID
20
20
  }) {
21
21
  const theme = useTheme();
22
- const variantColors = resolveCardVariant(theme.colors, variant);
23
- return /*#__PURE__*/_jsx(View, {
24
- testID: testID,
25
- style: [cardStructure(theme, {
22
+ const rootStyle = useMemo(() => {
23
+ const variantColors = resolveCardVariant(theme.colors, variant);
24
+ return [cardStructure(theme, {
26
25
  variant
27
26
  }), {
28
27
  backgroundColor: variantColors.background
29
28
  }, variantColors.border !== undefined && {
30
29
  borderColor: variantColors.border
31
- }, variant === "elevated" && theme.elevation.md, style],
30
+ }, variant === "elevated" && theme.elevation.md, style];
31
+ }, [theme, variant, style]);
32
+ return /*#__PURE__*/_jsx(View, {
33
+ testID: testID,
34
+ style: rootStyle,
32
35
  children: children
33
36
  });
34
37
  }
@@ -79,3 +79,9 @@ None — no icon, no new theme token, no new core helper needed for this compone
79
79
  ## Performance
80
80
 
81
81
  Wrapped in `React.memo` (repo-wide re-render audit, 2026-07-17 — see root `CLAUDE.md`) — renamed to `CardImpl` internally, exported as `Card = memo(CardImpl)`. Renders only a `View` around consumer-supplied `children` — no library child component, nothing to memoize.
82
+
83
+ ## Modernization (v1.0.7)
84
+
85
+ - Theme imports decoupled to `theme/hooks`; optional peers (reanimated, gesture-handler, flash-list) load at runtime.
86
+ - List-heavy surfaces use `VirtualList` with device-tier window sizing where applicable.
87
+ - `React.memo` + stable callbacks retained; render-item/key-extractor hoisted per ESLint perf rules.
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback, useMemo, useState } from "react";
4
+ import { Pressable, StyleSheet, View } from "react-native";
5
+ import Svg, { Circle, Line, Path, Rect, Text as SvgText } from "react-native-svg";
6
+ import { useTheme } from "../../theme/hooks.js";
7
+ import { ChartLegend } from "./ChartLegend.js";
8
+ import { BAR_MARKER_MIN_SPAN, BAR_MARKER_RADIUS, categoricalColorAt, defaultNumberFormatter, describeMarker, finiteOrZero, hitSlopFor, niceScale, resolveBarChartDomain, resolveBarLayout, resolveBarX, resolveChartAxisColors, scaleValue, seriesShapeAt, summarizeBarChart } from "./Charts.variants.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const Y_AXIS_WIDTH = 40;
11
+ const X_AXIS_HEIGHT = 24;
12
+ const PLOT_TOP = 12;
13
+ const TICK_COUNT = 5;
14
+ const VALUE_LABEL_GAP = 6;
15
+ const AXIS_LABEL_SIZE = 11;
16
+ const BarPressTarget = /*#__PURE__*/memo(function BarPressTarget({
17
+ categoryIndex,
18
+ seriesIndex,
19
+ x,
20
+ top,
21
+ width,
22
+ height,
23
+ label,
24
+ testID,
25
+ onPress
26
+ }) {
27
+ const press = useCallback(() => onPress(categoryIndex, seriesIndex), [onPress, categoryIndex, seriesIndex]);
28
+ const box = useMemo(() => ({
29
+ position: "absolute",
30
+ left: x,
31
+ top,
32
+ width,
33
+ height
34
+ }), [x, top, width, height]);
35
+ return /*#__PURE__*/_jsx(Pressable, {
36
+ testID: testID,
37
+ accessibilityRole: "button",
38
+ accessibilityLabel: label,
39
+ hitSlop: hitSlopFor(width, height),
40
+ onPress: press,
41
+ style: box
42
+ });
43
+ });
44
+ export const BarChart = /*#__PURE__*/memo(function BarChart({
45
+ data,
46
+ series,
47
+ height = 200,
48
+ showGrid = true,
49
+ showValues = false,
50
+ yAxisFormatter = defaultNumberFormatter,
51
+ stacked = false,
52
+ showLegend = true,
53
+ onPressBar,
54
+ style,
55
+ testID
56
+ }) {
57
+ const theme = useTheme();
58
+ const axisColors = useMemo(() => resolveChartAxisColors(theme.colors), [theme.colors]);
59
+ const [width, setWidth] = useState(0);
60
+ const onLayout = event => {
61
+ setWidth(event.nativeEvent.layout.width);
62
+ };
63
+ const plotWidth = Math.max(0, width - Y_AXIS_WIDTH);
64
+ const plotHeight = Math.max(0, height - X_AXIS_HEIGHT - PLOT_TOP);
65
+ const summary = useMemo(() => summarizeBarChart(data, yAxisFormatter), [data, yAxisFormatter]);
66
+ const seriesCount = useMemo(() => Math.max(1, data.reduce((max, datum) => Math.max(max, datum.values.length), 0)), [data]);
67
+ const {
68
+ bars,
69
+ ticks,
70
+ categories
71
+ } = useMemo(() => {
72
+ const domain = resolveBarChartDomain(data, stacked);
73
+ const scale = niceScale(domain.min, domain.max, TICK_COUNT);
74
+ const layout = resolveBarLayout(data.length, seriesCount, plotWidth, stacked);
75
+ const zeroY = scaleValue(0, scale.min, scale.max, plotHeight, 0);
76
+ const resolvedBars = data.flatMap((datum, categoryIndex) => {
77
+ let stackTop = 0;
78
+ return datum.values.map((rawValue, seriesIndex) => {
79
+ const value = finiteOrZero(rawValue);
80
+ const color = series?.[seriesIndex]?.color ?? categoricalColorAt(theme.colors, seriesIndex);
81
+ const x = Y_AXIS_WIDTH + resolveBarX(categoryIndex, seriesIndex, seriesCount, layout, stacked);
82
+ let top;
83
+ let barHeight;
84
+ if (stacked) {
85
+ const from = stackTop;
86
+ const to = stackTop + value;
87
+ stackTop = to;
88
+ const yFrom = scaleValue(from, scale.min, scale.max, plotHeight, 0);
89
+ const yTo = scaleValue(to, scale.min, scale.max, plotHeight, 0);
90
+ top = PLOT_TOP + Math.min(yFrom, yTo);
91
+ barHeight = Math.abs(yTo - yFrom);
92
+ } else {
93
+ const yValue = scaleValue(value, scale.min, scale.max, plotHeight, 0);
94
+ top = PLOT_TOP + Math.min(yValue, zeroY);
95
+ barHeight = Math.abs(zeroY - yValue);
96
+ }
97
+ const seriesName = series?.[seriesIndex]?.name;
98
+ const label = seriesName ? `${datum.label} ${seriesName}, ${yAxisFormatter(value)}` : `${datum.label}, ${yAxisFormatter(value)}`;
99
+
100
+ // A single-series chart needs no shape channel; a mark too narrow or too short to draw
101
+ // cleanly falls back to the legend and the bar's own fixed group position instead.
102
+ const canMarkShape = seriesCount > 1 && layout.barWidth >= BAR_MARKER_MIN_SPAN && barHeight >= BAR_MARKER_MIN_SPAN;
103
+ return {
104
+ categoryIndex,
105
+ seriesIndex,
106
+ x,
107
+ top,
108
+ width: layout.barWidth,
109
+ height: barHeight,
110
+ color,
111
+ shape: canMarkShape ? seriesShapeAt(seriesIndex) : undefined,
112
+ value,
113
+ label
114
+ };
115
+ });
116
+ });
117
+ return {
118
+ bars: resolvedBars,
119
+ ticks: scale.ticks.map(tick => ({
120
+ y: PLOT_TOP + scaleValue(tick, scale.min, scale.max, plotHeight, 0),
121
+ text: yAxisFormatter(tick)
122
+ })),
123
+ categories: data.map((datum, categoryIndex) => ({
124
+ x: Y_AXIS_WIDTH + categoryIndex * layout.bandWidth + layout.bandWidth / 2,
125
+ label: datum.label
126
+ }))
127
+ };
128
+ }, [data, series, stacked, seriesCount, plotWidth, plotHeight, theme.colors, yAxisFormatter]);
129
+ const pressBar = useCallback((categoryIndex, seriesIndex) => {
130
+ const datum = data[categoryIndex];
131
+ if (datum !== undefined) onPressBar?.(datum, seriesIndex);
132
+ }, [data, onPressBar]);
133
+ const legendEntries = useMemo(() => showLegend && seriesCount > 1 ? Array.from({
134
+ length: seriesCount
135
+ }, (_, index) => ({
136
+ color: series?.[index]?.color ?? categoricalColorAt(theme.colors, index),
137
+ label: series?.[index]?.name ?? `Series ${index + 1}`,
138
+ shape: seriesShapeAt(index)
139
+ })) : [], [seriesCount, series, showLegend, theme.colors]);
140
+ const plotStyle = useMemo(() => ({
141
+ height
142
+ }), [height]);
143
+ return /*#__PURE__*/_jsxs(View, {
144
+ testID: testID,
145
+ style: style,
146
+ onLayout: onLayout,
147
+ children: [/*#__PURE__*/_jsxs(View, {
148
+ style: plotStyle,
149
+ children: [/*#__PURE__*/_jsx(View, {
150
+ testID: testID ? `${testID}-summary` : undefined,
151
+ accessible: true,
152
+ accessibilityRole: "image",
153
+ accessibilityLabel: summary,
154
+ style: StyleSheet.absoluteFill,
155
+ pointerEvents: "none"
156
+ }), /*#__PURE__*/_jsx(View, {
157
+ accessibilityElementsHidden: true,
158
+ importantForAccessibility: "no-hide-descendants",
159
+ style: StyleSheet.absoluteFill,
160
+ children: /*#__PURE__*/_jsxs(Svg, {
161
+ width: width,
162
+ height: height,
163
+ children: [showGrid && ticks.map((tick, index) => /*#__PURE__*/_jsx(Line, {
164
+ testID: testID ? `${testID}-grid-${index}` : undefined,
165
+ x1: Y_AXIS_WIDTH,
166
+ x2: width,
167
+ y1: tick.y,
168
+ y2: tick.y,
169
+ stroke: axisColors.gridline,
170
+ strokeWidth: StyleSheet.hairlineWidth
171
+ }, `grid-${index}`)), ticks.map((tick, index) => /*#__PURE__*/_jsx(SvgText, {
172
+ testID: testID ? `${testID}-tick-${index}` : undefined,
173
+ x: Y_AXIS_WIDTH - 8,
174
+ y: tick.y + 4,
175
+ fontSize: AXIS_LABEL_SIZE,
176
+ fill: axisColors.label,
177
+ textAnchor: "end",
178
+ children: tick.text
179
+ }, `tick-${index}`)), categories.map((category, categoryIndex) => /*#__PURE__*/_jsx(SvgText, {
180
+ testID: testID ? `${testID}-category-${categoryIndex}` : undefined,
181
+ x: category.x,
182
+ y: height - X_AXIS_HEIGHT / 2 + 4,
183
+ fontSize: AXIS_LABEL_SIZE,
184
+ fill: axisColors.label,
185
+ textAnchor: "middle",
186
+ children: category.label
187
+ }, `category-${categoryIndex}`)), bars.map(bar => /*#__PURE__*/_jsx(Rect, {
188
+ testID: testID ? `${testID}-bar-${bar.categoryIndex}-${bar.seriesIndex}` : undefined,
189
+ x: bar.x,
190
+ y: bar.top,
191
+ width: bar.width,
192
+ height: bar.height,
193
+ fill: bar.color
194
+ }, `bar-${bar.categoryIndex}-${bar.seriesIndex}`)), bars.map(bar => {
195
+ if (bar.shape === undefined) return null;
196
+ const markTestID = testID ? `${testID}-bar-${bar.categoryIndex}-${bar.seriesIndex}-mark` : undefined;
197
+ const cx = bar.x + bar.width / 2;
198
+ const cy = bar.top + BAR_MARKER_RADIUS * 2;
199
+ return bar.shape === "circle" ? /*#__PURE__*/_jsx(Circle, {
200
+ testID: markTestID,
201
+ cx: cx,
202
+ cy: cy,
203
+ r: BAR_MARKER_RADIUS,
204
+ fill: theme.colors.bg.surface
205
+ }, `mark-${bar.categoryIndex}-${bar.seriesIndex}`) : /*#__PURE__*/_jsx(Path, {
206
+ testID: markTestID,
207
+ d: describeMarker(bar.shape, cx, cy, BAR_MARKER_RADIUS),
208
+ fill: theme.colors.bg.surface
209
+ }, `mark-${bar.categoryIndex}-${bar.seriesIndex}`);
210
+ }), showValues && bars.map(bar => /*#__PURE__*/_jsx(SvgText, {
211
+ testID: testID ? `${testID}-value-${bar.categoryIndex}-${bar.seriesIndex}` : undefined,
212
+ x: bar.x + bar.width / 2,
213
+ y: Math.max(PLOT_TOP, bar.top - VALUE_LABEL_GAP),
214
+ fontSize: AXIS_LABEL_SIZE,
215
+ fill: axisColors.label,
216
+ textAnchor: "middle",
217
+ children: yAxisFormatter(bar.value)
218
+ }, `value-${bar.categoryIndex}-${bar.seriesIndex}`))]
219
+ })
220
+ }), onPressBar !== undefined && /*#__PURE__*/_jsx(View, {
221
+ style: StyleSheet.absoluteFill,
222
+ pointerEvents: "box-none",
223
+ children: bars.map(bar => /*#__PURE__*/_jsx(BarPressTarget, {
224
+ testID: testID ? `${testID}-bar-${bar.categoryIndex}-${bar.seriesIndex}-press` : undefined,
225
+ categoryIndex: bar.categoryIndex,
226
+ seriesIndex: bar.seriesIndex,
227
+ x: bar.x,
228
+ top: bar.top,
229
+ width: bar.width,
230
+ height: bar.height,
231
+ label: bar.label,
232
+ onPress: pressBar
233
+ }, `press-${bar.categoryIndex}-${bar.seriesIndex}`))
234
+ })]
235
+ }), /*#__PURE__*/_jsx(ChartLegend, {
236
+ entries: legendEntries,
237
+ glyph: "mark",
238
+ testID: testID ? `${testID}-legend` : undefined
239
+ })]
240
+ });
241
+ });
242
+ //# sourceMappingURL=BarChart.js.map