@webority/mobile-ui 0.90.0 → 0.92.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 (480) hide show
  1. package/canvas-kit.json +8 -0
  2. package/lib/commonjs/components/Accordion/Accordion.meta.js +1 -0
  3. package/lib/commonjs/components/Accordion/AccordionGroup.meta.js +1 -0
  4. package/lib/commonjs/components/AmountSlider/AmountSlider.meta.js +1 -0
  5. package/lib/commonjs/components/AnimatePresence/AnimatePresence.meta.js +1 -0
  6. package/lib/commonjs/components/AppBar/AppBar.meta.js +1 -0
  7. package/lib/commonjs/components/AppIcon/AppIcon.meta.js +1 -0
  8. package/lib/commonjs/components/AsyncBlock/AsyncBlock.meta.js +1 -0
  9. package/lib/commonjs/components/AuthedImage/AuthedImage.meta.js +1 -0
  10. package/lib/commonjs/components/Autocomplete/Autocomplete.meta.js +1 -0
  11. package/lib/commonjs/components/Avatar/Avatar.meta.js +1 -0
  12. package/lib/commonjs/components/Avatar/AvatarGroup.meta.js +1 -0
  13. package/lib/commonjs/components/Badge/Badge.meta.js +1 -0
  14. package/lib/commonjs/components/Banner/Banner.meta.js +1 -0
  15. package/lib/commonjs/components/BarChart/BarChart.meta.js +1 -0
  16. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
  17. package/lib/commonjs/components/BottomNavigation/BottomNavigation.meta.js +1 -0
  18. package/lib/commonjs/components/BottomSheet/BottomSheet.meta.js +1 -0
  19. package/lib/commonjs/components/Box/Spacer.meta.js +1 -0
  20. package/lib/commonjs/components/Button/Button.js +1 -1
  21. package/lib/commonjs/components/Button/Button.meta.js +1 -0
  22. package/lib/commonjs/components/Calendar/Calendar.meta.js +1 -0
  23. package/lib/commonjs/components/Card/Card.js +1 -1
  24. package/lib/commonjs/components/Card/Card.meta.js +1 -0
  25. package/lib/commonjs/components/Carousel/Carousel.meta.js +1 -0
  26. package/lib/commonjs/components/Checkbox/Checkbox.meta.js +1 -0
  27. package/lib/commonjs/components/Chip/Chip.meta.js +1 -0
  28. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.meta.js +1 -0
  29. package/lib/commonjs/components/Composer/Composer.js +1 -1
  30. package/lib/commonjs/components/Composer/Composer.meta.js +1 -0
  31. package/lib/commonjs/components/Confetti/Confetti.meta.js +1 -0
  32. package/lib/commonjs/components/DatePicker/DatePicker.meta.js +1 -0
  33. package/lib/commonjs/components/DateRangePicker/DateRangePicker.meta.js +1 -0
  34. package/lib/commonjs/components/DateSeparator/DateSeparator.meta.js +1 -0
  35. package/lib/commonjs/components/DecimalInput/DecimalInput.meta.js +1 -0
  36. package/lib/commonjs/components/Descriptions/Descriptions.meta.js +1 -0
  37. package/lib/commonjs/components/Dialog/Dialog.js +1 -1
  38. package/lib/commonjs/components/Dialog/Dialog.meta.js +1 -0
  39. package/lib/commonjs/components/Divider/Divider.meta.js +1 -0
  40. package/lib/commonjs/components/Drawer/Drawer.meta.js +1 -0
  41. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
  42. package/lib/commonjs/components/EmptyState/EmptyState.meta.js +1 -0
  43. package/lib/commonjs/components/FilePicker/FilePicker.meta.js +1 -0
  44. package/lib/commonjs/components/FileViewer/FileViewer.meta.js +1 -0
  45. package/lib/commonjs/components/FilterChipRow/FilterChipRow.meta.js +1 -0
  46. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.meta.js +1 -0
  47. package/lib/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +1 -0
  48. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +1 -0
  49. package/lib/commonjs/components/FormField/FormField.meta.js +1 -0
  50. package/lib/commonjs/components/IconBadge/IconBadge.meta.js +1 -0
  51. package/lib/commonjs/components/IconButton/IconButton.js +1 -1
  52. package/lib/commonjs/components/IconButton/IconButton.meta.js +1 -0
  53. package/lib/commonjs/components/ImageGallery/ImageGallery.meta.js +1 -0
  54. package/lib/commonjs/components/InlineSelect/InlineSelect.meta.js +1 -0
  55. package/lib/commonjs/components/Input/Input.js +1 -1
  56. package/lib/commonjs/components/Input/Input.meta.js +1 -0
  57. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.js +1 -0
  58. package/lib/commonjs/components/ListItem/ListItem.meta.js +1 -0
  59. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.meta.js +1 -0
  60. package/lib/commonjs/components/Markdown/Markdown.meta.js +1 -0
  61. package/lib/commonjs/components/Menu/Menu.meta.js +1 -0
  62. package/lib/commonjs/components/MessageBubble/MessageBubble.meta.js +1 -0
  63. package/lib/commonjs/components/MessageList/MessageList.meta.js +1 -0
  64. package/lib/commonjs/components/Modal/Modal.meta.js +1 -0
  65. package/lib/commonjs/components/Notation/Notation.meta.js +1 -0
  66. package/lib/commonjs/components/NumberInput/NumberInput.meta.js +1 -0
  67. package/lib/commonjs/components/OTPInput/OTPInput.meta.js +1 -0
  68. package/lib/commonjs/components/OnboardingPager/OnboardingPager.meta.js +1 -0
  69. package/lib/commonjs/components/OptionSheet/OptionSheet.meta.js +1 -0
  70. package/lib/commonjs/components/PaymentResult/PaymentResult.meta.js +1 -0
  71. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.meta.js +1 -0
  72. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.js +1 -0
  73. package/lib/commonjs/components/PickerTrigger/PickerTrigger.meta.js +1 -0
  74. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -1
  75. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.meta.js +1 -0
  76. package/lib/commonjs/components/ProfilePicker/ProfilePicker.meta.js +1 -0
  77. package/lib/commonjs/components/ProgressBar/ProgressBar.meta.js +1 -0
  78. package/lib/commonjs/components/ProgressRing/ProgressRing.meta.js +1 -0
  79. package/lib/commonjs/components/Radio/Radio.meta.js +1 -0
  80. package/lib/commonjs/components/Radio/RadioGroup.meta.js +1 -0
  81. package/lib/commonjs/components/Rating/Rating.meta.js +1 -0
  82. package/lib/commonjs/components/Repeater/Repeater.meta.js +1 -0
  83. package/lib/commonjs/components/RichTextEditor/RichTextEditor.meta.js +1 -0
  84. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.meta.js +1 -0
  85. package/lib/commonjs/components/Screen/Screen.meta.js +1 -0
  86. package/lib/commonjs/components/SearchBar/SearchBar.meta.js +1 -0
  87. package/lib/commonjs/components/SectionHeader/SectionHeader.meta.js +1 -0
  88. package/lib/commonjs/components/SegmentedControl/SegmentedControl.meta.js +1 -0
  89. package/lib/commonjs/components/Select/Select.meta.js +1 -0
  90. package/lib/commonjs/components/SignaturePad/SignaturePad.meta.js +1 -0
  91. package/lib/commonjs/components/Skeleton/Skeleton.meta.js +1 -0
  92. package/lib/commonjs/components/Skeleton/SkeletonCircle.meta.js +1 -0
  93. package/lib/commonjs/components/Skeleton/SkeletonContent.meta.js +1 -0
  94. package/lib/commonjs/components/Skeleton/SkeletonList.meta.js +1 -0
  95. package/lib/commonjs/components/Skeleton/SkeletonText.meta.js +1 -0
  96. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.meta.js +1 -0
  97. package/lib/commonjs/components/Slider/Slider.meta.js +1 -0
  98. package/lib/commonjs/components/SliderField/SliderField.meta.js +1 -0
  99. package/lib/commonjs/components/Sparkline/Sparkline.meta.js +1 -0
  100. package/lib/commonjs/components/Spinner/Spinner.meta.js +1 -0
  101. package/lib/commonjs/components/SquircleView/SquircleView.meta.js +1 -0
  102. package/lib/commonjs/components/StatTile/StatTile.meta.js +1 -0
  103. package/lib/commonjs/components/StatusBadge/StatusBadge.meta.js +1 -0
  104. package/lib/commonjs/components/Stepper/Stepper.meta.js +1 -0
  105. package/lib/commonjs/components/Swipeable/Swipeable.meta.js +1 -0
  106. package/lib/commonjs/components/Switch/Switch.meta.js +1 -0
  107. package/lib/commonjs/components/Tabs/Tabs.meta.js +1 -0
  108. package/lib/commonjs/components/TagInput/TagInput.meta.js +1 -0
  109. package/lib/commonjs/components/Text/Text.js +1 -1
  110. package/lib/commonjs/components/Text/Text.meta.js +1 -0
  111. package/lib/commonjs/components/TimePicker/TimePicker.meta.js +1 -0
  112. package/lib/commonjs/components/Timeline/Timeline.meta.js +1 -0
  113. package/lib/commonjs/components/Toast/Toast.meta.js +1 -0
  114. package/lib/commonjs/components/Tooltip/Tooltip.meta.js +1 -0
  115. package/lib/commonjs/components/Tour/Tour.meta.js +1 -0
  116. package/lib/commonjs/components/TypingIndicator/TypingIndicator.meta.js +1 -0
  117. package/lib/commonjs/components/WheelPicker/WheelPickerColumns.meta.js +1 -0
  118. package/lib/commonjs/components/WheelPicker/WheelPickerDuration.meta.js +1 -0
  119. package/lib/commonjs/components/WheelPicker/WheelPickerList.meta.js +1 -0
  120. package/lib/commonjs/components/ZoomableImage/ZoomableImage.meta.js +1 -0
  121. package/lib/commonjs/components/not-drawn.json +17 -0
  122. package/lib/commonjs/theme/tokens.generated.js +1 -1
  123. package/lib/commonjs/utils/hitSlop.js +1 -0
  124. package/lib/commonjs/utils/warnInvalidValue.js +1 -0
  125. package/lib/module/components/Accordion/Accordion.meta.js +1 -0
  126. package/lib/module/components/Accordion/AccordionGroup.meta.js +1 -0
  127. package/lib/module/components/AmountSlider/AmountSlider.meta.js +1 -0
  128. package/lib/module/components/AnimatePresence/AnimatePresence.meta.js +1 -0
  129. package/lib/module/components/AppBar/AppBar.meta.js +1 -0
  130. package/lib/module/components/AppIcon/AppIcon.meta.js +1 -0
  131. package/lib/module/components/AsyncBlock/AsyncBlock.meta.js +1 -0
  132. package/lib/module/components/AuthedImage/AuthedImage.meta.js +1 -0
  133. package/lib/module/components/Autocomplete/Autocomplete.meta.js +1 -0
  134. package/lib/module/components/Avatar/Avatar.meta.js +1 -0
  135. package/lib/module/components/Avatar/AvatarGroup.meta.js +1 -0
  136. package/lib/module/components/Badge/Badge.meta.js +1 -0
  137. package/lib/module/components/Banner/Banner.meta.js +1 -0
  138. package/lib/module/components/BarChart/BarChart.meta.js +1 -0
  139. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  140. package/lib/module/components/BottomNavigation/BottomNavigation.meta.js +1 -0
  141. package/lib/module/components/BottomSheet/BottomSheet.meta.js +1 -0
  142. package/lib/module/components/Box/Spacer.meta.js +1 -0
  143. package/lib/module/components/Button/Button.js +1 -1
  144. package/lib/module/components/Button/Button.meta.js +1 -0
  145. package/lib/module/components/Calendar/Calendar.meta.js +1 -0
  146. package/lib/module/components/Card/Card.js +1 -1
  147. package/lib/module/components/Card/Card.meta.js +1 -0
  148. package/lib/module/components/Carousel/Carousel.meta.js +1 -0
  149. package/lib/module/components/Checkbox/Checkbox.meta.js +1 -0
  150. package/lib/module/components/Chip/Chip.meta.js +1 -0
  151. package/lib/module/components/ChoiceGroup/ChoiceGroup.meta.js +1 -0
  152. package/lib/module/components/Composer/Composer.js +1 -1
  153. package/lib/module/components/Composer/Composer.meta.js +1 -0
  154. package/lib/module/components/Confetti/Confetti.meta.js +1 -0
  155. package/lib/module/components/DatePicker/DatePicker.meta.js +1 -0
  156. package/lib/module/components/DateRangePicker/DateRangePicker.meta.js +1 -0
  157. package/lib/module/components/DateSeparator/DateSeparator.meta.js +1 -0
  158. package/lib/module/components/DecimalInput/DecimalInput.meta.js +1 -0
  159. package/lib/module/components/Descriptions/Descriptions.meta.js +1 -0
  160. package/lib/module/components/Dialog/Dialog.js +1 -1
  161. package/lib/module/components/Dialog/Dialog.meta.js +1 -0
  162. package/lib/module/components/Divider/Divider.meta.js +1 -0
  163. package/lib/module/components/Drawer/Drawer.meta.js +1 -0
  164. package/lib/module/components/EmptyState/EmptyState.js +1 -1
  165. package/lib/module/components/EmptyState/EmptyState.meta.js +1 -0
  166. package/lib/module/components/FilePicker/FilePicker.meta.js +1 -0
  167. package/lib/module/components/FileViewer/FileViewer.meta.js +1 -0
  168. package/lib/module/components/FilterChipRow/FilterChipRow.meta.js +1 -0
  169. package/lib/module/components/FloatingActionButton/FloatingActionButton.meta.js +1 -0
  170. package/lib/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +1 -0
  171. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +1 -0
  172. package/lib/module/components/FormField/FormField.meta.js +1 -0
  173. package/lib/module/components/IconBadge/IconBadge.meta.js +1 -0
  174. package/lib/module/components/IconButton/IconButton.js +1 -1
  175. package/lib/module/components/IconButton/IconButton.meta.js +1 -0
  176. package/lib/module/components/ImageGallery/ImageGallery.meta.js +1 -0
  177. package/lib/module/components/InlineSelect/InlineSelect.meta.js +1 -0
  178. package/lib/module/components/Input/Input.js +1 -1
  179. package/lib/module/components/Input/Input.meta.js +1 -0
  180. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.meta.js +1 -0
  181. package/lib/module/components/ListItem/ListItem.meta.js +1 -0
  182. package/lib/module/components/LoaderOverlay/LoaderOverlay.meta.js +1 -0
  183. package/lib/module/components/Markdown/Markdown.meta.js +1 -0
  184. package/lib/module/components/Menu/Menu.meta.js +1 -0
  185. package/lib/module/components/MessageBubble/MessageBubble.meta.js +1 -0
  186. package/lib/module/components/MessageList/MessageList.meta.js +1 -0
  187. package/lib/module/components/Modal/Modal.meta.js +1 -0
  188. package/lib/module/components/Notation/Notation.meta.js +1 -0
  189. package/lib/module/components/NumberInput/NumberInput.meta.js +1 -0
  190. package/lib/module/components/OTPInput/OTPInput.meta.js +1 -0
  191. package/lib/module/components/OnboardingPager/OnboardingPager.meta.js +1 -0
  192. package/lib/module/components/OptionSheet/OptionSheet.meta.js +1 -0
  193. package/lib/module/components/PaymentResult/PaymentResult.meta.js +1 -0
  194. package/lib/module/components/PermissionPrompt/PermissionPrompt.meta.js +1 -0
  195. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.meta.js +1 -0
  196. package/lib/module/components/PickerTrigger/PickerTrigger.meta.js +1 -0
  197. package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
  198. package/lib/module/components/ProfileCompletion/ProfileCompletion.meta.js +1 -0
  199. package/lib/module/components/ProfilePicker/ProfilePicker.meta.js +1 -0
  200. package/lib/module/components/ProgressBar/ProgressBar.meta.js +1 -0
  201. package/lib/module/components/ProgressRing/ProgressRing.meta.js +1 -0
  202. package/lib/module/components/Radio/Radio.meta.js +1 -0
  203. package/lib/module/components/Radio/RadioGroup.meta.js +1 -0
  204. package/lib/module/components/Rating/Rating.meta.js +1 -0
  205. package/lib/module/components/Repeater/Repeater.meta.js +1 -0
  206. package/lib/module/components/RichTextEditor/RichTextEditor.meta.js +1 -0
  207. package/lib/module/components/ScannerOverlay/ScannerOverlay.meta.js +1 -0
  208. package/lib/module/components/Screen/Screen.meta.js +1 -0
  209. package/lib/module/components/SearchBar/SearchBar.meta.js +1 -0
  210. package/lib/module/components/SectionHeader/SectionHeader.meta.js +1 -0
  211. package/lib/module/components/SegmentedControl/SegmentedControl.meta.js +1 -0
  212. package/lib/module/components/Select/Select.meta.js +1 -0
  213. package/lib/module/components/SignaturePad/SignaturePad.meta.js +1 -0
  214. package/lib/module/components/Skeleton/Skeleton.meta.js +1 -0
  215. package/lib/module/components/Skeleton/SkeletonCircle.meta.js +1 -0
  216. package/lib/module/components/Skeleton/SkeletonContent.meta.js +1 -0
  217. package/lib/module/components/Skeleton/SkeletonList.meta.js +1 -0
  218. package/lib/module/components/Skeleton/SkeletonText.meta.js +1 -0
  219. package/lib/module/components/SlideToConfirm/SlideToConfirm.meta.js +1 -0
  220. package/lib/module/components/Slider/Slider.meta.js +1 -0
  221. package/lib/module/components/SliderField/SliderField.meta.js +1 -0
  222. package/lib/module/components/Sparkline/Sparkline.meta.js +1 -0
  223. package/lib/module/components/Spinner/Spinner.meta.js +1 -0
  224. package/lib/module/components/SquircleView/SquircleView.meta.js +1 -0
  225. package/lib/module/components/StatTile/StatTile.meta.js +1 -0
  226. package/lib/module/components/StatusBadge/StatusBadge.meta.js +1 -0
  227. package/lib/module/components/Stepper/Stepper.meta.js +1 -0
  228. package/lib/module/components/Swipeable/Swipeable.meta.js +1 -0
  229. package/lib/module/components/Switch/Switch.meta.js +1 -0
  230. package/lib/module/components/Tabs/Tabs.meta.js +1 -0
  231. package/lib/module/components/TagInput/TagInput.meta.js +1 -0
  232. package/lib/module/components/Text/Text.js +1 -1
  233. package/lib/module/components/Text/Text.meta.js +1 -0
  234. package/lib/module/components/TimePicker/TimePicker.meta.js +1 -0
  235. package/lib/module/components/Timeline/Timeline.meta.js +1 -0
  236. package/lib/module/components/Toast/Toast.meta.js +1 -0
  237. package/lib/module/components/Tooltip/Tooltip.meta.js +1 -0
  238. package/lib/module/components/Tour/Tour.meta.js +1 -0
  239. package/lib/module/components/TypingIndicator/TypingIndicator.meta.js +1 -0
  240. package/lib/module/components/WheelPicker/WheelPickerColumns.meta.js +1 -0
  241. package/lib/module/components/WheelPicker/WheelPickerDuration.meta.js +1 -0
  242. package/lib/module/components/WheelPicker/WheelPickerList.meta.js +1 -0
  243. package/lib/module/components/ZoomableImage/ZoomableImage.meta.js +1 -0
  244. package/lib/module/components/not-drawn.json +17 -0
  245. package/lib/module/theme/tokens.generated.js +1 -1
  246. package/lib/module/utils/hitSlop.js +1 -0
  247. package/lib/module/utils/warnInvalidValue.js +1 -0
  248. package/lib/typescript/commonjs/canvasKit/meta.d.ts +21 -6
  249. package/lib/typescript/commonjs/components/Accordion/Accordion.meta.d.ts +3 -0
  250. package/lib/typescript/commonjs/components/Accordion/AccordionGroup.meta.d.ts +3 -0
  251. package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.meta.d.ts +3 -0
  252. package/lib/typescript/commonjs/components/AnimatePresence/AnimatePresence.meta.d.ts +3 -0
  253. package/lib/typescript/commonjs/components/AppBar/AppBar.meta.d.ts +3 -0
  254. package/lib/typescript/commonjs/components/AppIcon/AppIcon.meta.d.ts +3 -0
  255. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.meta.d.ts +3 -0
  256. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.meta.d.ts +5 -0
  257. package/lib/typescript/commonjs/components/Autocomplete/Autocomplete.meta.d.ts +3 -0
  258. package/lib/typescript/commonjs/components/Avatar/Avatar.meta.d.ts +3 -0
  259. package/lib/typescript/commonjs/components/Avatar/AvatarGroup.meta.d.ts +3 -0
  260. package/lib/typescript/commonjs/components/Badge/Badge.meta.d.ts +3 -0
  261. package/lib/typescript/commonjs/components/Banner/Banner.meta.d.ts +3 -0
  262. package/lib/typescript/commonjs/components/BarChart/BarChart.meta.d.ts +3 -0
  263. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.meta.d.ts +3 -0
  264. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.meta.d.ts +3 -0
  265. package/lib/typescript/commonjs/components/Box/Spacer.meta.d.ts +3 -0
  266. package/lib/typescript/commonjs/components/Button/Button.meta.d.ts +3 -0
  267. package/lib/typescript/commonjs/components/Calendar/Calendar.meta.d.ts +3 -0
  268. package/lib/typescript/commonjs/components/Card/Card.d.ts +3 -0
  269. package/lib/typescript/commonjs/components/Card/Card.meta.d.ts +3 -0
  270. package/lib/typescript/commonjs/components/Carousel/Carousel.meta.d.ts +3 -0
  271. package/lib/typescript/commonjs/components/Checkbox/Checkbox.meta.d.ts +3 -0
  272. package/lib/typescript/commonjs/components/Chip/Chip.meta.d.ts +3 -0
  273. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.meta.d.ts +3 -0
  274. package/lib/typescript/commonjs/components/Composer/Composer.meta.d.ts +3 -0
  275. package/lib/typescript/commonjs/components/Confetti/Confetti.meta.d.ts +3 -0
  276. package/lib/typescript/commonjs/components/DatePicker/DatePicker.meta.d.ts +3 -0
  277. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.meta.d.ts +3 -0
  278. package/lib/typescript/commonjs/components/DateSeparator/DateSeparator.meta.d.ts +3 -0
  279. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.meta.d.ts +3 -0
  280. package/lib/typescript/commonjs/components/Descriptions/Descriptions.meta.d.ts +3 -0
  281. package/lib/typescript/commonjs/components/Dialog/Dialog.meta.d.ts +3 -0
  282. package/lib/typescript/commonjs/components/Divider/Divider.meta.d.ts +3 -0
  283. package/lib/typescript/commonjs/components/Drawer/Drawer.meta.d.ts +3 -0
  284. package/lib/typescript/commonjs/components/EmptyState/EmptyState.meta.d.ts +3 -0
  285. package/lib/typescript/commonjs/components/FilePicker/FilePicker.meta.d.ts +3 -0
  286. package/lib/typescript/commonjs/components/FileViewer/FileViewer.meta.d.ts +3 -0
  287. package/lib/typescript/commonjs/components/FilterChipRow/FilterChipRow.meta.d.ts +3 -0
  288. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.meta.d.ts +3 -0
  289. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +3 -0
  290. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +3 -0
  291. package/lib/typescript/commonjs/components/FormField/FormField.meta.d.ts +3 -0
  292. package/lib/typescript/commonjs/components/IconBadge/IconBadge.meta.d.ts +3 -0
  293. package/lib/typescript/commonjs/components/IconButton/IconButton.meta.d.ts +3 -0
  294. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.meta.d.ts +3 -0
  295. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.meta.d.ts +3 -0
  296. package/lib/typescript/commonjs/components/Input/Input.meta.d.ts +3 -0
  297. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +3 -0
  298. package/lib/typescript/commonjs/components/ListItem/ListItem.meta.d.ts +3 -0
  299. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.meta.d.ts +3 -0
  300. package/lib/typescript/commonjs/components/Markdown/Markdown.meta.d.ts +3 -0
  301. package/lib/typescript/commonjs/components/Menu/Menu.meta.d.ts +3 -0
  302. package/lib/typescript/commonjs/components/MessageBubble/MessageBubble.meta.d.ts +3 -0
  303. package/lib/typescript/commonjs/components/MessageList/MessageList.meta.d.ts +5 -0
  304. package/lib/typescript/commonjs/components/Modal/Modal.meta.d.ts +3 -0
  305. package/lib/typescript/commonjs/components/Notation/Notation.meta.d.ts +3 -0
  306. package/lib/typescript/commonjs/components/NumberInput/NumberInput.meta.d.ts +3 -0
  307. package/lib/typescript/commonjs/components/OTPInput/OTPInput.meta.d.ts +3 -0
  308. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.meta.d.ts +3 -0
  309. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.meta.d.ts +3 -0
  310. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.meta.d.ts +3 -0
  311. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.meta.d.ts +3 -0
  312. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +3 -0
  313. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.meta.d.ts +3 -0
  314. package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.meta.d.ts +3 -0
  315. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.meta.d.ts +3 -0
  316. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.meta.d.ts +3 -0
  317. package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.meta.d.ts +3 -0
  318. package/lib/typescript/commonjs/components/Radio/Radio.meta.d.ts +3 -0
  319. package/lib/typescript/commonjs/components/Radio/RadioGroup.meta.d.ts +3 -0
  320. package/lib/typescript/commonjs/components/Rating/Rating.meta.d.ts +3 -0
  321. package/lib/typescript/commonjs/components/Repeater/Repeater.meta.d.ts +3 -0
  322. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.meta.d.ts +3 -0
  323. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.meta.d.ts +3 -0
  324. package/lib/typescript/commonjs/components/Screen/Screen.meta.d.ts +3 -0
  325. package/lib/typescript/commonjs/components/SearchBar/SearchBar.meta.d.ts +3 -0
  326. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.meta.d.ts +3 -0
  327. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.meta.d.ts +3 -0
  328. package/lib/typescript/commonjs/components/Select/Select.meta.d.ts +3 -0
  329. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.meta.d.ts +3 -0
  330. package/lib/typescript/commonjs/components/Skeleton/Skeleton.meta.d.ts +3 -0
  331. package/lib/typescript/commonjs/components/Skeleton/SkeletonCircle.meta.d.ts +3 -0
  332. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.meta.d.ts +3 -0
  333. package/lib/typescript/commonjs/components/Skeleton/SkeletonList.meta.d.ts +3 -0
  334. package/lib/typescript/commonjs/components/Skeleton/SkeletonText.meta.d.ts +3 -0
  335. package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.meta.d.ts +3 -0
  336. package/lib/typescript/commonjs/components/Slider/Slider.meta.d.ts +3 -0
  337. package/lib/typescript/commonjs/components/SliderField/SliderField.meta.d.ts +3 -0
  338. package/lib/typescript/commonjs/components/Sparkline/Sparkline.meta.d.ts +3 -0
  339. package/lib/typescript/commonjs/components/Spinner/Spinner.meta.d.ts +3 -0
  340. package/lib/typescript/commonjs/components/SquircleView/SquircleView.meta.d.ts +2 -0
  341. package/lib/typescript/commonjs/components/StatTile/StatTile.meta.d.ts +3 -0
  342. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.meta.d.ts +3 -0
  343. package/lib/typescript/commonjs/components/Stepper/Stepper.meta.d.ts +3 -0
  344. package/lib/typescript/commonjs/components/Swipeable/Swipeable.meta.d.ts +3 -0
  345. package/lib/typescript/commonjs/components/Switch/Switch.meta.d.ts +3 -0
  346. package/lib/typescript/commonjs/components/Tabs/Tabs.meta.d.ts +3 -0
  347. package/lib/typescript/commonjs/components/TagInput/TagInput.meta.d.ts +3 -0
  348. package/lib/typescript/commonjs/components/Text/Text.d.ts +1 -1
  349. package/lib/typescript/commonjs/components/Text/Text.meta.d.ts +3 -0
  350. package/lib/typescript/commonjs/components/TimePicker/TimePicker.meta.d.ts +3 -0
  351. package/lib/typescript/commonjs/components/Timeline/Timeline.meta.d.ts +3 -0
  352. package/lib/typescript/commonjs/components/Toast/Toast.meta.d.ts +3 -0
  353. package/lib/typescript/commonjs/components/Tooltip/Tooltip.meta.d.ts +3 -0
  354. package/lib/typescript/commonjs/components/Tour/Tour.meta.d.ts +3 -0
  355. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.meta.d.ts +3 -0
  356. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerColumns.meta.d.ts +3 -0
  357. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerDuration.meta.d.ts +3 -0
  358. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerList.meta.d.ts +3 -0
  359. package/lib/typescript/commonjs/components/ZoomableImage/ZoomableImage.meta.d.ts +3 -0
  360. package/lib/typescript/commonjs/theme/tokens.generated.d.ts +1 -2
  361. package/lib/typescript/commonjs/theme/types.d.ts +1 -1
  362. package/lib/typescript/commonjs/utils/hitSlop.d.ts +14 -0
  363. package/lib/typescript/commonjs/utils/warnInvalidValue.d.ts +10 -0
  364. package/lib/typescript/module/canvasKit/meta.d.ts +21 -6
  365. package/lib/typescript/module/components/Accordion/Accordion.meta.d.ts +3 -0
  366. package/lib/typescript/module/components/Accordion/AccordionGroup.meta.d.ts +3 -0
  367. package/lib/typescript/module/components/AmountSlider/AmountSlider.meta.d.ts +3 -0
  368. package/lib/typescript/module/components/AnimatePresence/AnimatePresence.meta.d.ts +3 -0
  369. package/lib/typescript/module/components/AppBar/AppBar.meta.d.ts +3 -0
  370. package/lib/typescript/module/components/AppIcon/AppIcon.meta.d.ts +3 -0
  371. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.meta.d.ts +3 -0
  372. package/lib/typescript/module/components/AuthedImage/AuthedImage.meta.d.ts +5 -0
  373. package/lib/typescript/module/components/Autocomplete/Autocomplete.meta.d.ts +3 -0
  374. package/lib/typescript/module/components/Avatar/Avatar.meta.d.ts +3 -0
  375. package/lib/typescript/module/components/Avatar/AvatarGroup.meta.d.ts +3 -0
  376. package/lib/typescript/module/components/Badge/Badge.meta.d.ts +3 -0
  377. package/lib/typescript/module/components/Banner/Banner.meta.d.ts +3 -0
  378. package/lib/typescript/module/components/BarChart/BarChart.meta.d.ts +3 -0
  379. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.meta.d.ts +3 -0
  380. package/lib/typescript/module/components/BottomSheet/BottomSheet.meta.d.ts +3 -0
  381. package/lib/typescript/module/components/Box/Spacer.meta.d.ts +3 -0
  382. package/lib/typescript/module/components/Button/Button.meta.d.ts +3 -0
  383. package/lib/typescript/module/components/Calendar/Calendar.meta.d.ts +3 -0
  384. package/lib/typescript/module/components/Card/Card.d.ts +3 -0
  385. package/lib/typescript/module/components/Card/Card.meta.d.ts +3 -0
  386. package/lib/typescript/module/components/Carousel/Carousel.meta.d.ts +3 -0
  387. package/lib/typescript/module/components/Checkbox/Checkbox.meta.d.ts +3 -0
  388. package/lib/typescript/module/components/Chip/Chip.meta.d.ts +3 -0
  389. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.meta.d.ts +3 -0
  390. package/lib/typescript/module/components/Composer/Composer.meta.d.ts +3 -0
  391. package/lib/typescript/module/components/Confetti/Confetti.meta.d.ts +3 -0
  392. package/lib/typescript/module/components/DatePicker/DatePicker.meta.d.ts +3 -0
  393. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.meta.d.ts +3 -0
  394. package/lib/typescript/module/components/DateSeparator/DateSeparator.meta.d.ts +3 -0
  395. package/lib/typescript/module/components/DecimalInput/DecimalInput.meta.d.ts +3 -0
  396. package/lib/typescript/module/components/Descriptions/Descriptions.meta.d.ts +3 -0
  397. package/lib/typescript/module/components/Dialog/Dialog.meta.d.ts +3 -0
  398. package/lib/typescript/module/components/Divider/Divider.meta.d.ts +3 -0
  399. package/lib/typescript/module/components/Drawer/Drawer.meta.d.ts +3 -0
  400. package/lib/typescript/module/components/EmptyState/EmptyState.meta.d.ts +3 -0
  401. package/lib/typescript/module/components/FilePicker/FilePicker.meta.d.ts +3 -0
  402. package/lib/typescript/module/components/FileViewer/FileViewer.meta.d.ts +3 -0
  403. package/lib/typescript/module/components/FilterChipRow/FilterChipRow.meta.d.ts +3 -0
  404. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.meta.d.ts +3 -0
  405. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +3 -0
  406. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +3 -0
  407. package/lib/typescript/module/components/FormField/FormField.meta.d.ts +3 -0
  408. package/lib/typescript/module/components/IconBadge/IconBadge.meta.d.ts +3 -0
  409. package/lib/typescript/module/components/IconButton/IconButton.meta.d.ts +3 -0
  410. package/lib/typescript/module/components/ImageGallery/ImageGallery.meta.d.ts +3 -0
  411. package/lib/typescript/module/components/InlineSelect/InlineSelect.meta.d.ts +3 -0
  412. package/lib/typescript/module/components/Input/Input.meta.d.ts +3 -0
  413. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +3 -0
  414. package/lib/typescript/module/components/ListItem/ListItem.meta.d.ts +3 -0
  415. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.meta.d.ts +3 -0
  416. package/lib/typescript/module/components/Markdown/Markdown.meta.d.ts +3 -0
  417. package/lib/typescript/module/components/Menu/Menu.meta.d.ts +3 -0
  418. package/lib/typescript/module/components/MessageBubble/MessageBubble.meta.d.ts +3 -0
  419. package/lib/typescript/module/components/MessageList/MessageList.meta.d.ts +5 -0
  420. package/lib/typescript/module/components/Modal/Modal.meta.d.ts +3 -0
  421. package/lib/typescript/module/components/Notation/Notation.meta.d.ts +3 -0
  422. package/lib/typescript/module/components/NumberInput/NumberInput.meta.d.ts +3 -0
  423. package/lib/typescript/module/components/OTPInput/OTPInput.meta.d.ts +3 -0
  424. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.meta.d.ts +3 -0
  425. package/lib/typescript/module/components/OptionSheet/OptionSheet.meta.d.ts +3 -0
  426. package/lib/typescript/module/components/PaymentResult/PaymentResult.meta.d.ts +3 -0
  427. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.meta.d.ts +3 -0
  428. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +3 -0
  429. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.meta.d.ts +3 -0
  430. package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.meta.d.ts +3 -0
  431. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.meta.d.ts +3 -0
  432. package/lib/typescript/module/components/ProgressBar/ProgressBar.meta.d.ts +3 -0
  433. package/lib/typescript/module/components/ProgressRing/ProgressRing.meta.d.ts +3 -0
  434. package/lib/typescript/module/components/Radio/Radio.meta.d.ts +3 -0
  435. package/lib/typescript/module/components/Radio/RadioGroup.meta.d.ts +3 -0
  436. package/lib/typescript/module/components/Rating/Rating.meta.d.ts +3 -0
  437. package/lib/typescript/module/components/Repeater/Repeater.meta.d.ts +3 -0
  438. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.meta.d.ts +3 -0
  439. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.meta.d.ts +3 -0
  440. package/lib/typescript/module/components/Screen/Screen.meta.d.ts +3 -0
  441. package/lib/typescript/module/components/SearchBar/SearchBar.meta.d.ts +3 -0
  442. package/lib/typescript/module/components/SectionHeader/SectionHeader.meta.d.ts +3 -0
  443. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.meta.d.ts +3 -0
  444. package/lib/typescript/module/components/Select/Select.meta.d.ts +3 -0
  445. package/lib/typescript/module/components/SignaturePad/SignaturePad.meta.d.ts +3 -0
  446. package/lib/typescript/module/components/Skeleton/Skeleton.meta.d.ts +3 -0
  447. package/lib/typescript/module/components/Skeleton/SkeletonCircle.meta.d.ts +3 -0
  448. package/lib/typescript/module/components/Skeleton/SkeletonContent.meta.d.ts +3 -0
  449. package/lib/typescript/module/components/Skeleton/SkeletonList.meta.d.ts +3 -0
  450. package/lib/typescript/module/components/Skeleton/SkeletonText.meta.d.ts +3 -0
  451. package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.meta.d.ts +3 -0
  452. package/lib/typescript/module/components/Slider/Slider.meta.d.ts +3 -0
  453. package/lib/typescript/module/components/SliderField/SliderField.meta.d.ts +3 -0
  454. package/lib/typescript/module/components/Sparkline/Sparkline.meta.d.ts +3 -0
  455. package/lib/typescript/module/components/Spinner/Spinner.meta.d.ts +3 -0
  456. package/lib/typescript/module/components/SquircleView/SquircleView.meta.d.ts +2 -0
  457. package/lib/typescript/module/components/StatTile/StatTile.meta.d.ts +3 -0
  458. package/lib/typescript/module/components/StatusBadge/StatusBadge.meta.d.ts +3 -0
  459. package/lib/typescript/module/components/Stepper/Stepper.meta.d.ts +3 -0
  460. package/lib/typescript/module/components/Swipeable/Swipeable.meta.d.ts +3 -0
  461. package/lib/typescript/module/components/Switch/Switch.meta.d.ts +3 -0
  462. package/lib/typescript/module/components/Tabs/Tabs.meta.d.ts +3 -0
  463. package/lib/typescript/module/components/TagInput/TagInput.meta.d.ts +3 -0
  464. package/lib/typescript/module/components/Text/Text.d.ts +1 -1
  465. package/lib/typescript/module/components/Text/Text.meta.d.ts +3 -0
  466. package/lib/typescript/module/components/TimePicker/TimePicker.meta.d.ts +3 -0
  467. package/lib/typescript/module/components/Timeline/Timeline.meta.d.ts +3 -0
  468. package/lib/typescript/module/components/Toast/Toast.meta.d.ts +3 -0
  469. package/lib/typescript/module/components/Tooltip/Tooltip.meta.d.ts +3 -0
  470. package/lib/typescript/module/components/Tour/Tour.meta.d.ts +3 -0
  471. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.meta.d.ts +3 -0
  472. package/lib/typescript/module/components/WheelPicker/WheelPickerColumns.meta.d.ts +3 -0
  473. package/lib/typescript/module/components/WheelPicker/WheelPickerDuration.meta.d.ts +3 -0
  474. package/lib/typescript/module/components/WheelPicker/WheelPickerList.meta.d.ts +3 -0
  475. package/lib/typescript/module/components/ZoomableImage/ZoomableImage.meta.d.ts +3 -0
  476. package/lib/typescript/module/theme/tokens.generated.d.ts +1 -2
  477. package/lib/typescript/module/theme/types.d.ts +1 -1
  478. package/lib/typescript/module/utils/hitSlop.d.ts +14 -0
  479. package/lib/typescript/module/utils/warnInvalidValue.d.ts +10 -0
  480. package/package.json +7 -6
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"WheelPickerColumns",component:"WheelPicker",fixedProps:{mode:"columns"},platforms:["phone"],acceptsChildren:!1,marker:null,props:{columns:{type:"array",required:!0,description:"Several wheels side by side.",itemFields:{key:{type:"string",required:!0,description:"Names the column."},label:{type:"string",required:!0,description:"The column name for a screen reader."},items:{type:"array",required:!0,description:"The rows.",itemFields:{value:{type:"stringOrNumber",required:!0,description:"The value returned when this row is selected."},label:{type:"string",required:!0,description:"The text displayed for this row."},accessibilityLabel:{type:"string",description:"The spoken text for a screen reader."}}},value:{type:"stringOrNumber",required:!0,description:"The selected item's value."},width:{type:"number",description:"Fixed width in points, 64 when left out."},separator:{type:"string",description:'Text drawn after the column such as ":".'},unit:{type:"string",description:"Small label beside the selected row."},gapAfter:{type:"number",description:"Empty space after the column in points."}}},disabled:{type:"boolean",default:!1,description:"Locks scrolling and dims the wheels."}},omit:["haptic"],examples:[{id:"WheelPickerColumns.default",title:"Colour and size",props:{columns:[{key:"colour",label:"Colour",value:"Blue",width:112,items:[{value:"Red",label:"Red"},{value:"Green",label:"Green"},{value:"Blue",label:"Blue"},{value:"Black",label:"Black"}]},{key:"size",label:"Size",value:"M",items:[{value:"S",label:"S"},{value:"M",label:"M"},{value:"L",label:"L"},{value:"XL",label:"XL"}]}]}},{id:"WheelPickerColumns.disabled",title:"Locked",props:{columns:[{key:"size",label:"Size",value:"L",items:[{value:"S",label:"S"},{value:"M",label:"M"},{value:"L",label:"L"}]}],disabled:!0}}],usage:{when:["Choose from a short ordered set on each of several wheels, such as colour and size."],whenNot:[{text:"One value from a long or searchable list.",instead:"Select"},{text:"A time of day.",instead:"TimePicker"}],do:[{note:"Give every column a label so a screen reader names it.",example:[{component:"WheelPickerColumns",props:{columns:[{key:"colour",label:"Colour",value:"Blue",items:[{value:"Red",label:"Red"},{value:"Blue",label:"Blue"}]}]}}]}],dont:[{note:"Do not put more than a handful of rows on a wheel; people cannot scan a long one.",example:[{component:"WheelPickerColumns",props:{columns:[{key:"month",label:"Month",value:"January",items:[{value:"Jan",label:"January"},{value:"Feb",label:"February"},{value:"Mar",label:"March"},{value:"Apr",label:"April"},{value:"May",label:"May"},{value:"Jun",label:"June"},{value:"Jul",label:"July"},{value:"Aug",label:"August"},{value:"Sep",label:"September"},{value:"Oct",label:"October"},{value:"Nov",label:"November"},{value:"Dec",label:"December"}]}]}}]}],a11y:["Each wheel is an adjustable control: swipe up or down to move one row; keep row text short and complete."]}});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"WheelPickerDuration",component:"WheelPicker",fixedProps:{mode:"duration"},platforms:["phone"],acceptsChildren:!1,marker:null,props:{value:{type:"number",required:!0,description:"The duration as whole minutes."},minuteStep:{type:"enum",values:[1,5,15,30],default:1,description:"Minute wheel step."},maxMinutes:{type:"number",default:1439,description:"Longest duration in minutes."},presets:{type:"array",description:"Durations in minutes shown as chips under the wheel; each must be a whole number of minutes from 0 to maxMinutes in steps of minuteStep."},labels:{type:"object",description:"Custom labels for the hour and minute wheels and units.",fields:{hours:{type:"string",default:"Hours",description:"Label for the hours column."},minutes:{type:"string",default:"Minutes",description:"Label for the minutes column."},hourUnit:{type:"string",default:"hr",description:"Unit shown next to the selected hour."},minuteUnit:{type:"string",default:"min",description:"Unit shown next to the selected minute."}}},disabled:{type:"boolean",default:!1,description:"Locks scrolling and dims the wheels."}},omit:["haptic"],examples:[{id:"WheelPickerDuration.default",title:"Ninety minutes",props:{value:90,minuteStep:5,maxMinutes:1439}},{id:"WheelPickerDuration.presets",title:"With presets",props:{value:30,minuteStep:15,presets:[15,30,45,60,90]}},{id:"WheelPickerDuration.capped",title:"Capped at eight hours",props:{value:120,minuteStep:30,maxMinutes:480}}],usage:{when:["Ask for a length of time in hours and minutes, up to 23 h 59 min."],whenNot:[{text:"A time of day.",instead:"TimePicker"}],do:[{note:"Offer presets for the durations people pick most.",example:[{component:"WheelPickerDuration",props:{value:30,minuteStep:15,presets:[15,30,45,60]}}]},{note:"Choose minuteStep to match how the duration is used, such as 15 for bookings.",example:[{component:"WheelPickerDuration",props:{value:60,minuteStep:15}}]}],dont:[{note:"Do not set a preset that is off the minute step or above maxMinutes; the picker throws.",example:[{component:"WheelPickerDuration",props:{value:30,minuteStep:15,presets:[15,20,45,60]}}]},{note:"Do not use a 1 minute step for bookings that only need 15 minute blocks.",example:[{component:"WheelPickerDuration",props:{value:60,minuteStep:1}}]}],a11y:["The value is spoken in words, such as 2 hours; keep labels in the person's language."]}});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"WheelPickerList",component:"WheelPicker",fixedProps:{mode:"list"},platforms:["phone"],acceptsChildren:!1,marker:null,props:{items:{type:"array",required:!0,description:"The choices on one wheel. Plain strings and numbers are also accepted by the component and are not shown in the kit.",itemFields:{value:{type:"stringOrNumber",required:!0,description:"The value returned when this row is selected."},label:{type:"string",required:!0,description:"The text displayed for this row."},accessibilityLabel:{type:"string",description:"The spoken text for a screen reader."}}},value:{type:"stringOrNumber",description:"The selected item's value."},label:{type:"string",default:"Value",description:"Names the wheel for a screen reader."},width:{type:"number",description:"Fixed width in points; the wheel fills the row when left out."},disabled:{type:"boolean",default:!1,description:"Locks scrolling and dims the wheels."}},omit:["haptic"],examples:[{id:"WheelPickerList.default",title:"Repeat",props:{label:"Repeat",value:"Weekly",items:[{value:"Daily",label:"Daily"},{value:"Weekly",label:"Weekly"},{value:"Monthly",label:"Monthly"},{value:"Yearly",label:"Yearly"}]}},{id:"WheelPickerList.numbers",title:"Numbers",props:{label:"Quantity",value:2,width:120,items:[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"},{value:4,label:"4"}]}}],usage:{when:["Choose one value from a short ordered list, such as a repeat interval."],whenNot:[{text:"A list of more than about a dozen choices, or one that needs search.",instead:"Select"}],do:[{note:"Set label so a screen reader says what the wheel chooses.",example:[{component:"WheelPickerList",props:{label:"Repeat",value:"Weekly",items:[{value:"Daily",label:"Daily"},{value:"Weekly",label:"Weekly"},{value:"Monthly",label:"Monthly"},{value:"Yearly",label:"Yearly"}]}}]}],dont:[{note:"Do not use a wheel for choices that have no natural order.",example:[{component:"WheelPickerList",props:{label:"Colors",value:"Blue",items:[{value:"Red",label:"Red"},{value:"Blue",label:"Blue"},{value:"Green",label:"Green"},{value:"Yellow",label:"Yellow"}]}}]}],a11y:["The wheel is adjustable by swipe; the chosen row is spoken with its accessibilityLabel when it has one."]}});
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.meta=void 0;var _meta=require("../../canvasKit/meta.js");const meta=exports.meta=(0,_meta.definePhoneMeta)()({name:"ZoomableImage",marker:null,platforms:["phone"],acceptsChildren:!0,props:{maxScale:{type:"number",default:4,description:"Upper limit of pinch and double tap zoom."},minScale:{type:"number",default:1,description:"Lower limit of pinch zoom; the resting scale a pinch springs back to."},doubleTapScale:{type:"number",default:2,description:"Scale a double tap zooms to; a second double tap returns to normal."},disabled:{type:"boolean",default:!1,description:"Blocks pinch, pan and double tap and resets any zoom."},accessibilityLabel:{type:"string",description:"Screen reader name of the zoomable area."}},omit:["haptic"],examples:[{id:"ZoomableImage.default",title:"Default zoom",props:{maxScale:4,minScale:1,doubleTapScale:2,accessibilityLabel:"Sample photo"},children:"Photo"},{id:"ZoomableImage.strongZoom",title:"Stronger zoom",props:{maxScale:8,doubleTapScale:3},children:"Photo"},{id:"ZoomableImage.disabled",title:"Zoom blocked",props:{disabled:!0},children:"Photo"}],usage:{when:["Let a person pinch, pan and double tap to look closely at one image or one piece of content."],whenNot:[{text:"A set of images to swipe between, each zoomable.",instead:"ImageGallery"}],do:[{note:"Wrap one image and give the wrapper an accessibilityLabel that names it.",example:[{component:"ZoomableImage",props:{accessibilityLabel:"Product photo"},children:["Product photo"]}]},{note:"Keep maxScale high enough to read fine detail, such as 4 for photos.",example:[{component:"ZoomableImage",props:{maxScale:4},children:["Detailed map"]}]}],dont:[{note:"Do not wrap content that scrolls on its own; the two gestures compete.",example:[{component:"ZoomableImage",props:{accessibilityLabel:"Product photos"},children:[{component:"Carousel",props:{data:["Photo one","Photo two"]}}]}]},{note:"Do not rely on pinch alone; double tap is the one handed way to zoom.",example:[{component:"ZoomableImage",props:{maxScale:4,doubleTapScale:1},children:["Detailed map"]}]}],a11y:["Name the wrapped content with accessibilityLabel; the gestures themselves have no screen reader form.","Offer another way to view the detail, such as a download, when zoom matters for the task."]}});
@@ -0,0 +1,17 @@
1
+ {
2
+ "Box": "Layout primitive. Canvas lays out a screen with its own frame nodes, so the kit draws the components placed inside them.",
3
+ "ErrorBoundary": "Catches render errors around a subtree and draws nothing of its own.",
4
+ "Form": "Provides a form instance to the fields below it and draws nothing of its own.",
5
+ "HookFormField": "Binds a library field to react-hook-form; the field it wraps is drawn through its own description.",
6
+ "KeyboardAwareScrollView": "A scroll container that keeps the focused field above the keyboard; it draws nothing of its own.",
7
+ "NetworkStatusBanner": "Shows only while the device is offline, so a demo draws nothing; draw the offline state with Banner, which has the same look.",
8
+ "RadioDot": "The bare radio indicator used inside custom option templates; Radio and RadioGroup draw it.",
9
+ "Row": "Layout primitive. Canvas lays out a screen with its own frame nodes, so the kit draws the components placed inside them.",
10
+ "SkeletonClockProvider": "Shares one shimmer clock across skeletons and draws nothing of its own.",
11
+ "SkeletonProvider": "Shares skeleton settings with the skeletons below it and draws nothing of its own.",
12
+ "SkeletonSkip": "Marks a subtree the skeleton walker leaves alone and draws its children unchanged.",
13
+ "Stack": "Layout primitive. Canvas lays out a screen with its own frame nodes, so the kit draws the components placed inside them.",
14
+ "ThemeProvider": "Supplies the theme to the app and draws nothing of its own.",
15
+ "ToastHost": "Shows the queued toasts at the app root; the Toast description draws how a toast looks.",
16
+ "ToastProvider": "Holds the toast queue and draws nothing of its own."
17
+ }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lightTokens=exports.darkTokens=exports.WEIGHT_NAMES=exports.TEXT_NAMES=exports.SPACE_NAMES=exports.SIZE_NAMES=exports.SHADOW_NAMES=exports.RADIUS_NAMES=exports.LETTER_SPACING_NAMES=exports.LEADING_NAMES=exports.FONT_NAMES=exports.EASE_NAMES=exports.DURATION_NAMES=exports.COMPONENT_KINDS=exports.COLOR_NAMES=void 0;const COLOR_NAMES=exports.COLOR_NAMES=["bg","bg-subtle","bg-muted","surface","surface-inverse","text","text-body","text-muted","text-subtle","text-inverse","link","border","border-subtle","field-bg","field-border","field-border-focus","focus-ring","scrim","on-scrim","thumb","primary","primary-hover","primary-soft","primary-text","on-primary","primary-wash","primary-wash-strong","neutral","neutral-hover","neutral-text","on-neutral","success","success-soft","success-text","on-success","warning","warning-soft","warning-text","on-warning","danger","danger-soft","danger-border","danger-text","on-danger","info","info-soft","info-text","on-info","primary-pressed","on-neutral-strong","text-disabled","surface-pressed","surface-hover","surface-selected","surface-disabled","skeleton","skeleton-highlight","glass-fill","glass-border","on-glass","glass-badge","field-bg-focus","field-bg-disabled","field-border-error","field-label","field-text","field-text-disabled","field-placeholder","field-placeholder-disabled","field-icon","field-icon-focus","field-icon-disabled","field-caret","field-message","avatar-1","avatar-2","avatar-3","avatar-4","avatar-5","avatar-6","avatar-7","avatar-8"],SPACE_NAMES=exports.SPACE_NAMES=["none","xxs","xs","sm","md","lg","xl","2xl","3xl","4xl"],RADIUS_NAMES=exports.RADIUS_NAMES=["none","sm","md","lg","xl","pill"],TEXT_NAMES=exports.TEXT_NAMES=["xs","sm","base","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl"],WEIGHT_NAMES=exports.WEIGHT_NAMES=["normal","medium","semibold","bold"],LEADING_NAMES=exports.LEADING_NAMES=["tight","normal","relaxed"],LETTER_SPACING_NAMES=exports.LETTER_SPACING_NAMES=["tight","normal","wide"],FONT_NAMES=exports.FONT_NAMES=["ui","display","mono"],SHADOW_NAMES=exports.SHADOW_NAMES=["card","elevated","popover","modal","drawer"],DURATION_NAMES=exports.DURATION_NAMES=["instant","fast","default","slow","slower"],EASE_NAMES=exports.EASE_NAMES=["in-out","accelerate","decelerate","sharp"],SIZE_NAMES=exports.SIZE_NAMES=["border"],COMPONENT_KINDS=exports.COMPONENT_KINDS={field:{radius:"radius","padding-x":"space","padding-y":"space","min-height":"px",text:"text",icon:"px","label-text":"text","label-gap":"space","message-text":"text","message-gap":"space"},press:{opacity:"number"},disabled:{opacity:"number"},button:{"padding-x":"space","padding-y":"space","min-height":"px",text:"text",radius:"radius",icon:"px","badge-icon":"px"},input:{"multiline-min-height":"px"},"search-bar":{radius:"radius"},"empty-state":{icon:"px","title-text":"text","description-text":"text","padding-y":"space","title-gap":"space","description-gap":"space"},"list-item":{"padding-y":"space","title-text":"text","subtitle-text":"text","min-height":"px"},badge:{text:"text","min-width":"px",height:"px","padding-x":"space","dot-size":"px","border-width":"px","anchor-offset":"px"},chip:{"padding-x":"space","padding-y":"space",text:"text","min-height":"px","close-size":"px","close-text":"text",gap:"space",icon:"px"},checkbox:{"box-size":"px","label-gap":"space"},radio:{outer:"px",inner:"px","label-gap":"space"},switch:{"track-width":"px","track-height":"px","thumb-size":"px",padding:"space"},"otp-input":{cell:"px",text:"text",radius:"radius",gap:"space"},"segmented-control":{height:"px",text:"text","padding-x":"space",icon:"px","track-padding":"space","underline-height":"px","pill-inset":"space"},tabs:{text:"text","padding-y":"space","padding-x":"space","scrollable-padding-x":"space",icon:"px","icon-gap":"space","track-padding":"space","underline-height":"px","pill-inset":"space","disabled-opacity":"number","badge-gap":"space"},slider:{"track-height":"px","thumb-diameter":"px"},"floating-action-button":{diameter:"px",icon:"px",text:"text","label-padding-x":"space","edge-offset":"space","bottom-offset":"space","secondary-gap":"space","stagger-ms":"ms"},dialog:{"icon-wrapper-size":"px","action-button-min-height":"px"},toast:{"icon-circle-size":"px","icon-glyph-text":"text","tint-bar-width":"px","action-min-height":"px"},banner:{"tint-bar-width":"px"}},lightTokens=exports.lightTokens={mode:"light",colors:{bg:"#ffffff","bg-subtle":"#f8f8fb","bg-muted":"#f1f1f5",surface:"#ffffff","surface-inverse":"#0f0f1a",text:"#252f4a","text-body":"#0f0f1a","text-muted":"#52525b","text-subtle":"#62626b","text-inverse":"#ffffff",link:"#5b5bd6",border:"#e5e5ec","border-subtle":"#efeff3","field-bg":"#f9fbfc","field-border":"#ebedf3","field-border-focus":"#bed2f9","focus-ring":"#5b5bd6",scrim:"#0f0f1a80","on-scrim":"#ffffff",thumb:"#ffffff",primary:"#5b5bd6","primary-hover":"#4f4fbf","primary-soft":"#eeeefc","primary-text":"#4f4fd3","on-primary":"#ffffff","primary-wash":"#5b5bd614","primary-wash-strong":"#5b5bd633",neutral:"#f4f4f8","neutral-hover":"#e9e9f0","neutral-text":"#52525b","on-neutral":"#0f0f1a",success:"#18864f","success-soft":"#e8faee","success-text":"#147042","on-success":"#ffffff",warning:"#f59e0b","warning-soft":"#fff8e6","warning-text":"#8f5c06","on-warning":"#0f0f1a",danger:"#e12c32","danger-soft":"#ffeaef","danger-border":"#e5484d","danger-text":"#bc1b20","on-danger":"#ffffff",info:"#1b6ef5","info-soft":"#e9f3ff","info-text":"#0958d9","on-info":"#ffffff","primary-pressed":"#4040a8","on-neutral-strong":"#ffffff","text-disabled":"#b4b4bb","surface-pressed":"#0f0f1a0f","surface-hover":"#0f0f1a0a","surface-selected":"#5b5bd61a","surface-disabled":"#f1f1f5",skeleton:"#ebedf3","skeleton-highlight":"#f5f6fa","glass-fill":"#ffffff47","glass-border":"#ffffff73","on-glass":"#0f0f1a","glass-badge":"#ffffff","field-bg-focus":"#ffffff","field-bg-disabled":"#f5f6fa","field-border-error":"#fdbfce","field-label":"#242f4a","field-text":"#252f4a","field-text-disabled":"#c4cada","field-placeholder":"#626d8b","field-placeholder-disabled":"#c4cada","field-icon":"#7a849f","field-icon-focus":"#4b5675","field-icon-disabled":"#c4cada","field-caret":"#5b8dee","field-message":"#d81736","avatar-1":"#5b5bd6","avatar-2":"#0a7979","avatar-3":"#a45a05","avatar-4":"#cd226e","avatar-5":"#2462eb","avatar-6":"#7c3aed","avatar-7":"#047c57","avatar-8":"#d42222"},space:{none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius:{none:0,sm:6,md:10,lg:14,xl:20,pill:9999},text:{xs:{size:11,lineHeight:17},sm:{size:13,lineHeight:20},base:{size:15,lineHeight:23},lg:{size:17,lineHeight:24},xl:{size:20,lineHeight:26},"2xl":{size:24,lineHeight:30},"3xl":{size:30,lineHeight:36},"4xl":{size:36,lineHeight:40},"5xl":{size:45,lineHeight:47},"6xl":{size:57,lineHeight:57},"7xl":{size:64,lineHeight:64},"8xl":{size:72,lineHeight:72}},weight:{normal:"400",medium:"500",semibold:"600",bold:"700"},leading:{tight:1.2,normal:1.4,relaxed:1.6},"letter-spacing":{tight:-.2,normal:0,wide:.4},font:{ui:{},display:{},mono:{}},shadow:{card:{shadowColor:"#000000",shadowOffset:{width:0,height:2},shadowOpacity:.059,shadowRadius:4,elevation:2},elevated:{shadowColor:"#000000",shadowOffset:{width:0,height:4},shadowOpacity:.078,shadowRadius:8,elevation:4},popover:{shadowColor:"#000000",shadowOffset:{width:0,height:8},shadowOpacity:.102,shadowRadius:16,elevation:8},modal:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.141,shadowRadius:24,elevation:12},drawer:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.141,shadowRadius:24,elevation:12}},motion:{duration:{instant:80,fast:160,default:240,slow:360,slower:500},ease:{"in-out":[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]}},size:{border:1},components:{field:{sm:{radius:"md","padding-x":"sm","padding-y":"sm","min-height":38,text:"sm",icon:14,"label-text":"xs","label-gap":"xs","message-text":"xs","message-gap":"xxs"},md:{radius:"md","padding-x":"md","padding-y":"md","min-height":44,text:"base",icon:16,"label-text":"sm","label-gap":"xs","message-text":"sm","message-gap":"xxs"},lg:{radius:"md","padding-x":"lg","padding-y":"lg","min-height":52,text:"lg",icon:18,"label-text":"base","label-gap":"xs","message-text":"base","message-gap":"xxs"}},press:{opacity:.85},disabled:{opacity:.55},button:{xs:{"padding-x":"sm","padding-y":"xs","min-height":28,text:"xs",radius:"md",icon:14,"badge-icon":11},sm:{"padding-x":"md","padding-y":"xs","min-height":34,text:"sm",radius:"md",icon:16,"badge-icon":16},md:{"padding-x":"lg","padding-y":"sm","min-height":44,text:"base",radius:"md",icon:18,"badge-icon":18},lg:{"padding-x":"xl","padding-y":"md","min-height":50,text:"lg",radius:"lg",icon:20,"badge-icon":20},xl:{"padding-x":"2xl","padding-y":"md","min-height":58,text:"xl",radius:"lg",icon:22,"badge-icon":22}},input:{sm:{"multiline-min-height":72},md:{"multiline-min-height":92},lg:{"multiline-min-height":110}},"search-bar":{sm:{radius:"pill"},md:{radius:"pill"},lg:{radius:"pill"}},"empty-state":{sm:{icon:48,"title-text":"lg","description-text":"sm","padding-y":"lg","title-gap":"md","description-gap":"xs"},md:{icon:64,"title-text":"xl","description-text":"base","padding-y":"xl","title-gap":"md","description-gap":"xs"},lg:{icon:80,"title-text":"2xl","description-text":"lg","padding-y":"2xl","title-gap":"md","description-gap":"xs"}},"list-item":{sm:{"padding-y":"sm","title-text":"sm","subtitle-text":"xs","min-height":44},md:{"padding-y":"md","title-text":"base","subtitle-text":"sm","min-height":56},lg:{"padding-y":"lg","title-text":"lg","subtitle-text":"base","min-height":72}},badge:{sm:{text:"xs","min-width":16,height:16,"padding-x":"xs","dot-size":8},md:{text:"sm","min-width":20,height:20,"padding-x":"sm","dot-size":10},"border-width":1.5,"anchor-offset":4},chip:{sm:{"padding-x":"sm","padding-y":"xs",text:"xs","min-height":26,"close-size":16,"close-text":"xs",gap:"xs",icon:14},md:{"padding-x":"md","padding-y":"xs",text:"sm","min-height":32,"close-size":18,"close-text":"sm",gap:"sm",icon:16}},checkbox:{sm:{"box-size":16},md:{"box-size":20},lg:{"box-size":24},"label-gap":"sm"},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},"label-gap":"sm"},switch:{sm:{"track-width":42,"track-height":26,"thumb-size":22,padding:"xxs"},md:{"track-width":51,"track-height":31,"thumb-size":27,padding:"xxs"},lg:{"track-width":60,"track-height":36,"thumb-size":32,padding:"xxs"}},"otp-input":{sm:{cell:36,text:"base",radius:"sm",gap:"sm"},md:{cell:48,text:"xl",radius:"md",gap:"sm"},lg:{cell:56,text:"2xl",radius:"lg",gap:"md"}},"segmented-control":{sm:{height:32,text:"sm","padding-x":"sm",icon:14},md:{height:40,text:"base","padding-x":"md",icon:16},lg:{height:48,text:"lg","padding-x":"lg",icon:18},"track-padding":"xs","underline-height":2,"pill-inset":"xs"},tabs:{sm:{text:"sm","padding-y":"sm","padding-x":"xs","scrollable-padding-x":"md",icon:16},md:{text:"base","padding-y":"md","padding-x":"sm","scrollable-padding-x":"lg",icon:18},lg:{text:"lg","padding-y":"lg","padding-x":"md","scrollable-padding-x":"xl",icon:20},"icon-gap":"xs","track-padding":"xs","underline-height":2,"pill-inset":"xs","disabled-opacity":.45,"badge-gap":"xs"},slider:{sm:{"track-height":4,"thumb-diameter":24},md:{"track-height":6,"thumb-diameter":28},lg:{"track-height":8,"thumb-diameter":32}},"floating-action-button":{sm:{diameter:40,icon:18,text:"sm","label-padding-x":"md"},md:{diameter:56,icon:22,text:"base","label-padding-x":"lg"},lg:{diameter:72,icon:28,text:"lg","label-padding-x":"xl"},"edge-offset":"xl","bottom-offset":"xl","secondary-gap":"lg","stagger-ms":50},dialog:{"icon-wrapper-size":48,"action-button-min-height":44},toast:{"icon-circle-size":28,"icon-glyph-text":"lg","tint-bar-width":0,"action-min-height":30},banner:{"tint-bar-width":0}}},darkTokens=exports.darkTokens={mode:"dark",colors:{bg:"#0b0b12","bg-subtle":"#13131c","bg-muted":"#1c1c26",surface:"#1c1c26","surface-inverse":"#fafafa",text:"#e2e2e2","text-body":"#fafafa","text-muted":"#b4b4bb","text-subtle":"#919199","text-inverse":"#0f0f1a",link:"#9292ee",border:"#27272f","border-subtle":"#1c1c26","field-bg":"#13131c","field-border":"#27272f","field-border-focus":"#3d5fb0","focus-ring":"#7c7ce8",scrim:"#000000a6","on-scrim":"#ffffff",thumb:"#ffffff",primary:"#7c7ce8","primary-hover":"#9292ee","primary-soft":"#1f1f3d","primary-text":"#8989ea","on-primary":"#0f0f1a","primary-wash":"#7c7ce814","primary-wash-strong":"#7c7ce833",neutral:"#1f1f26","neutral-hover":"#2a2a33","neutral-text":"#b4b4bb","on-neutral":"#fafafa",success:"#30c780","success-soft":"#04b4402e","success-text":"#30c780","on-success":"#0f0f1a",warning:"#fbbf24","warning-soft":"#dfa0002e","warning-text":"#fbbf24","on-warning":"#0f0f1a",danger:"#f87171","danger-soft":"#e826462e","danger-border":"#f87171","danger-text":"#f87171","on-danger":"#0f0f1a",info:"#60a5fa","info-soft":"#056ee92e","info-text":"#60a5fa","on-info":"#0f0f1a","primary-pressed":"#a8a8f2","on-neutral-strong":"#0f0f1a","text-disabled":"#52525b","surface-pressed":"#ffffff14","surface-hover":"#ffffff0d","surface-selected":"#7c7ce82e","surface-disabled":"#1c1c26",skeleton:"#1c1c26","skeleton-highlight":"#27272f","glass-fill":"#ffffff47","glass-border":"#ffffff73","on-glass":"#0f0f1a","glass-badge":"#ffffff","field-bg-focus":"#0b0b12","field-bg-disabled":"#1c1c26","field-border-error":"#8a2f42","field-label":"#e4e6ee","field-text":"#fafafa","field-text-disabled":"#52525b","field-placeholder":"#84848d","field-placeholder-disabled":"#52525b","field-icon":"#8b8b95","field-icon-focus":"#d4d4db","field-icon-disabled":"#52525b","field-caret":"#7c9ef0","field-message":"#f87171","avatar-1":"#8b8bee","avatar-2":"#2dd4bf","avatar-3":"#fcd34d","avatar-4":"#f472b6","avatar-5":"#60a5fa","avatar-6":"#a78bfa","avatar-7":"#34d399","avatar-8":"#f87171"},space:{none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius:{none:0,sm:6,md:10,lg:14,xl:20,pill:9999},text:{xs:{size:11,lineHeight:17},sm:{size:13,lineHeight:20},base:{size:15,lineHeight:23},lg:{size:17,lineHeight:24},xl:{size:20,lineHeight:26},"2xl":{size:24,lineHeight:30},"3xl":{size:30,lineHeight:36},"4xl":{size:36,lineHeight:40},"5xl":{size:45,lineHeight:47},"6xl":{size:57,lineHeight:57},"7xl":{size:64,lineHeight:64},"8xl":{size:72,lineHeight:72}},weight:{normal:"400",medium:"500",semibold:"600",bold:"700"},leading:{tight:1.2,normal:1.4,relaxed:1.6},"letter-spacing":{tight:-.2,normal:0,wide:.4},font:{ui:{},display:{},mono:{}},shadow:{card:{shadowColor:"#000000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},elevated:{shadowColor:"#000000",shadowOffset:{width:0,height:4},shadowOpacity:.502,shadowRadius:8,elevation:4},popover:{shadowColor:"#000000",shadowOffset:{width:0,height:8},shadowOpacity:.549,shadowRadius:16,elevation:8},modal:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},drawer:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12}},motion:{duration:{instant:80,fast:160,default:240,slow:360,slower:500},ease:{"in-out":[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]}},size:{border:1},components:{field:{sm:{radius:"md","padding-x":"sm","padding-y":"sm","min-height":38,text:"sm",icon:14,"label-text":"xs","label-gap":"xs","message-text":"xs","message-gap":"xxs"},md:{radius:"md","padding-x":"md","padding-y":"md","min-height":44,text:"base",icon:16,"label-text":"sm","label-gap":"xs","message-text":"sm","message-gap":"xxs"},lg:{radius:"md","padding-x":"lg","padding-y":"lg","min-height":52,text:"lg",icon:18,"label-text":"base","label-gap":"xs","message-text":"base","message-gap":"xxs"}},press:{opacity:.85},disabled:{opacity:.55},button:{xs:{"padding-x":"sm","padding-y":"xs","min-height":28,text:"xs",radius:"md",icon:14,"badge-icon":11},sm:{"padding-x":"md","padding-y":"xs","min-height":34,text:"sm",radius:"md",icon:16,"badge-icon":16},md:{"padding-x":"lg","padding-y":"sm","min-height":44,text:"base",radius:"md",icon:18,"badge-icon":18},lg:{"padding-x":"xl","padding-y":"md","min-height":50,text:"lg",radius:"lg",icon:20,"badge-icon":20},xl:{"padding-x":"2xl","padding-y":"md","min-height":58,text:"xl",radius:"lg",icon:22,"badge-icon":22}},input:{sm:{"multiline-min-height":72},md:{"multiline-min-height":92},lg:{"multiline-min-height":110}},"search-bar":{sm:{radius:"pill"},md:{radius:"pill"},lg:{radius:"pill"}},"empty-state":{sm:{icon:48,"title-text":"lg","description-text":"sm","padding-y":"lg","title-gap":"md","description-gap":"xs"},md:{icon:64,"title-text":"xl","description-text":"base","padding-y":"xl","title-gap":"md","description-gap":"xs"},lg:{icon:80,"title-text":"2xl","description-text":"lg","padding-y":"2xl","title-gap":"md","description-gap":"xs"}},"list-item":{sm:{"padding-y":"sm","title-text":"sm","subtitle-text":"xs","min-height":44},md:{"padding-y":"md","title-text":"base","subtitle-text":"sm","min-height":56},lg:{"padding-y":"lg","title-text":"lg","subtitle-text":"base","min-height":72}},badge:{sm:{text:"xs","min-width":16,height:16,"padding-x":"xs","dot-size":8},md:{text:"sm","min-width":20,height:20,"padding-x":"sm","dot-size":10},"border-width":1.5,"anchor-offset":4},chip:{sm:{"padding-x":"sm","padding-y":"xs",text:"xs","min-height":26,"close-size":16,"close-text":"xs",gap:"xs",icon:14},md:{"padding-x":"md","padding-y":"xs",text:"sm","min-height":32,"close-size":18,"close-text":"sm",gap:"sm",icon:16}},checkbox:{sm:{"box-size":16},md:{"box-size":20},lg:{"box-size":24},"label-gap":"sm"},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},"label-gap":"sm"},switch:{sm:{"track-width":42,"track-height":26,"thumb-size":22,padding:"xxs"},md:{"track-width":51,"track-height":31,"thumb-size":27,padding:"xxs"},lg:{"track-width":60,"track-height":36,"thumb-size":32,padding:"xxs"}},"otp-input":{sm:{cell:36,text:"base",radius:"sm",gap:"sm"},md:{cell:48,text:"xl",radius:"md",gap:"sm"},lg:{cell:56,text:"2xl",radius:"lg",gap:"md"}},"segmented-control":{sm:{height:32,text:"sm","padding-x":"sm",icon:14},md:{height:40,text:"base","padding-x":"md",icon:16},lg:{height:48,text:"lg","padding-x":"lg",icon:18},"track-padding":"xs","underline-height":2,"pill-inset":"xs"},tabs:{sm:{text:"sm","padding-y":"sm","padding-x":"xs","scrollable-padding-x":"md",icon:16},md:{text:"base","padding-y":"md","padding-x":"sm","scrollable-padding-x":"lg",icon:18},lg:{text:"lg","padding-y":"lg","padding-x":"md","scrollable-padding-x":"xl",icon:20},"icon-gap":"xs","track-padding":"xs","underline-height":2,"pill-inset":"xs","disabled-opacity":.45,"badge-gap":"xs"},slider:{sm:{"track-height":4,"thumb-diameter":24},md:{"track-height":6,"thumb-diameter":28},lg:{"track-height":8,"thumb-diameter":32}},"floating-action-button":{sm:{diameter:40,icon:18,text:"sm","label-padding-x":"md"},md:{diameter:56,icon:22,text:"base","label-padding-x":"lg"},lg:{diameter:72,icon:28,text:"lg","label-padding-x":"xl"},"edge-offset":"xl","bottom-offset":"xl","secondary-gap":"lg","stagger-ms":50},dialog:{"icon-wrapper-size":48,"action-button-min-height":44},toast:{"icon-circle-size":28,"icon-glyph-text":"lg","tint-bar-width":0,"action-min-height":30},banner:{"tint-bar-width":0}}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.lightTokens=exports.darkTokens=exports.WEIGHT_NAMES=exports.TEXT_NAMES=exports.SPACE_NAMES=exports.SIZE_NAMES=exports.SHADOW_NAMES=exports.RADIUS_NAMES=exports.LETTER_SPACING_NAMES=exports.LEADING_NAMES=exports.FONT_NAMES=exports.EASE_NAMES=exports.DURATION_NAMES=exports.COMPONENT_KINDS=exports.COLOR_NAMES=void 0;const COLOR_NAMES=exports.COLOR_NAMES=["bg","bg-subtle","bg-muted","surface","surface-inverse","text","text-body","text-muted","text-subtle","text-inverse","link","border","border-subtle","field-bg","field-border","field-border-focus","focus-ring","scrim","on-scrim","thumb","primary","primary-hover","primary-soft","primary-text","on-primary","primary-wash","primary-wash-strong","neutral","neutral-hover","neutral-text","on-neutral","success","success-soft","success-text","on-success","warning","warning-soft","warning-text","on-warning","danger","danger-soft","danger-border","danger-text","on-danger","info","info-soft","info-text","on-info","primary-pressed","on-neutral-strong","text-disabled","surface-pressed","surface-hover","surface-selected","surface-disabled","skeleton","skeleton-highlight","glass-fill","glass-border","on-glass","glass-badge","field-bg-focus","field-bg-disabled","field-border-error","field-label","field-text","field-text-disabled","field-placeholder","field-placeholder-disabled","field-icon","field-icon-focus","field-icon-disabled","field-caret","field-message","avatar-1","avatar-2","avatar-3","avatar-4","avatar-5","avatar-6","avatar-7","avatar-8"],SPACE_NAMES=exports.SPACE_NAMES=["none","xxs","xs","sm","md","lg","xl","2xl","3xl","4xl"],RADIUS_NAMES=exports.RADIUS_NAMES=["none","sm","md","lg","xl","pill"],TEXT_NAMES=exports.TEXT_NAMES=["xs","sm","base","lg","xl","2xl","3xl","4xl","5xl","6xl","7xl","8xl"],WEIGHT_NAMES=exports.WEIGHT_NAMES=["normal","medium","semibold","bold"],LEADING_NAMES=exports.LEADING_NAMES=["heading","body","display"],LETTER_SPACING_NAMES=exports.LETTER_SPACING_NAMES=["tight","normal","wide"],FONT_NAMES=exports.FONT_NAMES=["ui","display","mono"],SHADOW_NAMES=exports.SHADOW_NAMES=["card","elevated","popover","modal","drawer"],DURATION_NAMES=exports.DURATION_NAMES=["instant","fast","default","slow","slower"],EASE_NAMES=exports.EASE_NAMES=["in-out","accelerate","decelerate","sharp"],SIZE_NAMES=exports.SIZE_NAMES=["border"],COMPONENT_KINDS=exports.COMPONENT_KINDS={field:{radius:"radius","padding-x":"space","padding-y":"space","min-height":"px",text:"text",icon:"px","label-text":"text","label-gap":"space","message-text":"text","message-gap":"space"},press:{opacity:"number"},disabled:{opacity:"number"},button:{"padding-x":"space","padding-y":"space","min-height":"px",text:"text",radius:"radius",icon:"px","badge-icon":"px"},input:{"multiline-min-height":"px"},"search-bar":{radius:"radius"},"empty-state":{icon:"px","title-text":"text","description-text":"text","padding-y":"space","title-gap":"space","description-gap":"space"},"list-item":{"padding-y":"space","title-text":"text","subtitle-text":"text","min-height":"px"},badge:{text:"text","min-width":"px",height:"px","padding-x":"space","dot-size":"px","border-width":"px","anchor-offset":"px"},chip:{"padding-x":"space","padding-y":"space",text:"text","min-height":"px","close-size":"px","close-text":"text",gap:"space",icon:"px"},checkbox:{"box-size":"px","label-gap":"space"},radio:{outer:"px",inner:"px","label-gap":"space"},switch:{"track-width":"px","track-height":"px","thumb-size":"px",padding:"space"},"otp-input":{cell:"px",text:"text",radius:"radius",gap:"space"},"segmented-control":{height:"px",text:"text","padding-x":"space",icon:"px","track-padding":"space","underline-height":"px","pill-inset":"space"},tabs:{text:"text","padding-y":"space","padding-x":"space","scrollable-padding-x":"space",icon:"px","icon-gap":"space","track-padding":"space","underline-height":"px","pill-inset":"space","disabled-opacity":"number","badge-gap":"space"},slider:{"track-height":"px","thumb-diameter":"px"},"floating-action-button":{diameter:"px",icon:"px",text:"text","label-padding-x":"space","edge-offset":"space","bottom-offset":"space","secondary-gap":"space","stagger-ms":"ms"},dialog:{"icon-wrapper-size":"px","action-button-min-height":"px"},toast:{"icon-circle-size":"px","icon-glyph-text":"text","tint-bar-width":"px","action-min-height":"px"},banner:{"tint-bar-width":"px"}},lightTokens=exports.lightTokens={mode:"light",colors:{bg:"#ffffff","bg-subtle":"#f8f8fb","bg-muted":"#f1f1f5",surface:"#ffffff","surface-inverse":"#0f0f1a",text:"#252f4a","text-body":"#0f0f1a","text-muted":"#52525b","text-subtle":"#62626b","text-inverse":"#ffffff",link:"#5b5bd6",border:"#e5e5ec","border-subtle":"#efeff3","field-bg":"#f9fbfc","field-border":"#ebedf3","field-border-focus":"#bed2f9","focus-ring":"#5b5bd6",scrim:"#0f0f1a80","on-scrim":"#ffffff",thumb:"#ffffff",primary:"#5b5bd6","primary-hover":"#4f4fbf","primary-soft":"#eeeefc","primary-text":"#4f4fd3","on-primary":"#ffffff","primary-wash":"#5b5bd614","primary-wash-strong":"#5b5bd633",neutral:"#f4f4f8","neutral-hover":"#e9e9f0","neutral-text":"#52525b","on-neutral":"#0f0f1a",success:"#18864f","success-soft":"#e8faee","success-text":"#147042","on-success":"#ffffff",warning:"#f59e0b","warning-soft":"#fff8e6","warning-text":"#8f5c06","on-warning":"#0f0f1a",danger:"#e12c32","danger-soft":"#ffeaef","danger-border":"#e5484d","danger-text":"#bc1b20","on-danger":"#ffffff",info:"#1b6ef5","info-soft":"#e9f3ff","info-text":"#0958d9","on-info":"#ffffff","primary-pressed":"#4040a8","on-neutral-strong":"#ffffff","text-disabled":"#b4b4bb","surface-pressed":"#0f0f1a0f","surface-hover":"#0f0f1a0a","surface-selected":"#5b5bd61a","surface-disabled":"#f1f1f5",skeleton:"#ebedf3","skeleton-highlight":"#f5f6fa","glass-fill":"#ffffff47","glass-border":"#ffffff73","on-glass":"#0f0f1a","glass-badge":"#ffffff","field-bg-focus":"#ffffff","field-bg-disabled":"#f5f6fa","field-border-error":"#fdbfce","field-label":"#242f4a","field-text":"#252f4a","field-text-disabled":"#c4cada","field-placeholder":"#626d8b","field-placeholder-disabled":"#c4cada","field-icon":"#7a849f","field-icon-focus":"#4b5675","field-icon-disabled":"#c4cada","field-caret":"#5b8dee","field-message":"#d81736","avatar-1":"#5b5bd6","avatar-2":"#0a7979","avatar-3":"#a45a05","avatar-4":"#cd226e","avatar-5":"#2462eb","avatar-6":"#7c3aed","avatar-7":"#047c57","avatar-8":"#d42222"},space:{none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius:{none:0,sm:6,md:10,lg:14,xl:20,pill:9999},text:{xs:{size:11},sm:{size:13},base:{size:15},lg:{size:17},xl:{size:20},"2xl":{size:24},"3xl":{size:30},"4xl":{size:36},"5xl":{size:45},"6xl":{size:57},"7xl":{size:64},"8xl":{size:72}},weight:{normal:"400",medium:"500",semibold:"600",bold:"700"},leading:{heading:1.2,body:1.4,display:1.2},"letter-spacing":{tight:-.2,normal:0,wide:.4},font:{ui:{},display:{},mono:{}},shadow:{card:{shadowColor:"#000000",shadowOffset:{width:0,height:2},shadowOpacity:.059,shadowRadius:4,elevation:2},elevated:{shadowColor:"#000000",shadowOffset:{width:0,height:4},shadowOpacity:.078,shadowRadius:8,elevation:4},popover:{shadowColor:"#000000",shadowOffset:{width:0,height:8},shadowOpacity:.102,shadowRadius:16,elevation:8},modal:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.141,shadowRadius:24,elevation:12},drawer:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.141,shadowRadius:24,elevation:12}},motion:{duration:{instant:80,fast:160,default:240,slow:360,slower:500},ease:{"in-out":[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]}},size:{border:1},components:{field:{sm:{radius:"md","padding-x":"sm","padding-y":"sm","min-height":38,text:"sm",icon:14,"label-text":"xs","label-gap":"xs","message-text":"xs","message-gap":"xxs"},md:{radius:"md","padding-x":"md","padding-y":"md","min-height":44,text:"base",icon:16,"label-text":"sm","label-gap":"xs","message-text":"sm","message-gap":"xxs"},lg:{radius:"md","padding-x":"lg","padding-y":"lg","min-height":52,text:"lg",icon:18,"label-text":"base","label-gap":"xs","message-text":"base","message-gap":"xxs"}},press:{opacity:.85},disabled:{opacity:.55},button:{xs:{"padding-x":"sm","padding-y":"xs","min-height":28,text:"xs",radius:"md",icon:14,"badge-icon":11},sm:{"padding-x":"md","padding-y":"xs","min-height":34,text:"sm",radius:"md",icon:16,"badge-icon":16},md:{"padding-x":"lg","padding-y":"sm","min-height":44,text:"base",radius:"md",icon:18,"badge-icon":18},lg:{"padding-x":"xl","padding-y":"md","min-height":50,text:"lg",radius:"lg",icon:20,"badge-icon":20},xl:{"padding-x":"2xl","padding-y":"md","min-height":58,text:"xl",radius:"lg",icon:22,"badge-icon":22}},input:{sm:{"multiline-min-height":72},md:{"multiline-min-height":92},lg:{"multiline-min-height":110}},"search-bar":{sm:{radius:"pill"},md:{radius:"pill"},lg:{radius:"pill"}},"empty-state":{sm:{icon:48,"title-text":"lg","description-text":"sm","padding-y":"lg","title-gap":"md","description-gap":"xs"},md:{icon:64,"title-text":"xl","description-text":"base","padding-y":"xl","title-gap":"md","description-gap":"xs"},lg:{icon:80,"title-text":"2xl","description-text":"lg","padding-y":"2xl","title-gap":"md","description-gap":"xs"}},"list-item":{sm:{"padding-y":"sm","title-text":"sm","subtitle-text":"xs","min-height":44},md:{"padding-y":"md","title-text":"base","subtitle-text":"sm","min-height":56},lg:{"padding-y":"lg","title-text":"lg","subtitle-text":"base","min-height":72}},badge:{sm:{text:"xs","min-width":16,height:16,"padding-x":"xs","dot-size":8},md:{text:"sm","min-width":20,height:20,"padding-x":"sm","dot-size":10},"border-width":1.5,"anchor-offset":4},chip:{sm:{"padding-x":"sm","padding-y":"xs",text:"xs","min-height":26,"close-size":16,"close-text":"xs",gap:"xs",icon:14},md:{"padding-x":"md","padding-y":"xs",text:"sm","min-height":32,"close-size":18,"close-text":"sm",gap:"sm",icon:16}},checkbox:{sm:{"box-size":16},md:{"box-size":20},lg:{"box-size":24},"label-gap":"sm"},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},"label-gap":"sm"},switch:{sm:{"track-width":42,"track-height":26,"thumb-size":22,padding:"xxs"},md:{"track-width":51,"track-height":31,"thumb-size":27,padding:"xxs"},lg:{"track-width":60,"track-height":36,"thumb-size":32,padding:"xxs"}},"otp-input":{sm:{cell:36,text:"base",radius:"sm",gap:"sm"},md:{cell:48,text:"xl",radius:"md",gap:"sm"},lg:{cell:56,text:"2xl",radius:"lg",gap:"md"}},"segmented-control":{sm:{height:32,text:"sm","padding-x":"sm",icon:14},md:{height:40,text:"base","padding-x":"md",icon:16},lg:{height:48,text:"lg","padding-x":"lg",icon:18},"track-padding":"xs","underline-height":2,"pill-inset":"xs"},tabs:{sm:{text:"sm","padding-y":"sm","padding-x":"xs","scrollable-padding-x":"md",icon:16},md:{text:"base","padding-y":"md","padding-x":"sm","scrollable-padding-x":"lg",icon:18},lg:{text:"lg","padding-y":"lg","padding-x":"md","scrollable-padding-x":"xl",icon:20},"icon-gap":"xs","track-padding":"xs","underline-height":2,"pill-inset":"xs","disabled-opacity":.45,"badge-gap":"xs"},slider:{sm:{"track-height":4,"thumb-diameter":24},md:{"track-height":6,"thumb-diameter":28},lg:{"track-height":8,"thumb-diameter":32}},"floating-action-button":{sm:{diameter:40,icon:18,text:"sm","label-padding-x":"md"},md:{diameter:56,icon:22,text:"base","label-padding-x":"lg"},lg:{diameter:72,icon:28,text:"lg","label-padding-x":"xl"},"edge-offset":"xl","bottom-offset":"xl","secondary-gap":"lg","stagger-ms":50},dialog:{"icon-wrapper-size":48,"action-button-min-height":44},toast:{"icon-circle-size":28,"icon-glyph-text":"lg","tint-bar-width":0,"action-min-height":30},banner:{"tint-bar-width":0}}},darkTokens=exports.darkTokens={mode:"dark",colors:{bg:"#0b0b12","bg-subtle":"#13131c","bg-muted":"#1c1c26",surface:"#1c1c26","surface-inverse":"#fafafa",text:"#e2e2e2","text-body":"#fafafa","text-muted":"#b4b4bb","text-subtle":"#919199","text-inverse":"#0f0f1a",link:"#9292ee",border:"#27272f","border-subtle":"#1c1c26","field-bg":"#13131c","field-border":"#27272f","field-border-focus":"#3d5fb0","focus-ring":"#7c7ce8",scrim:"#000000a6","on-scrim":"#ffffff",thumb:"#ffffff",primary:"#7c7ce8","primary-hover":"#9292ee","primary-soft":"#1f1f3d","primary-text":"#8989ea","on-primary":"#0f0f1a","primary-wash":"#7c7ce814","primary-wash-strong":"#7c7ce833",neutral:"#1f1f26","neutral-hover":"#2a2a33","neutral-text":"#b4b4bb","on-neutral":"#fafafa",success:"#30c780","success-soft":"#04b4402e","success-text":"#30c780","on-success":"#0f0f1a",warning:"#fbbf24","warning-soft":"#dfa0002e","warning-text":"#fbbf24","on-warning":"#0f0f1a",danger:"#f87171","danger-soft":"#e826462e","danger-border":"#f87171","danger-text":"#f87171","on-danger":"#0f0f1a",info:"#60a5fa","info-soft":"#056ee92e","info-text":"#60a5fa","on-info":"#0f0f1a","primary-pressed":"#a8a8f2","on-neutral-strong":"#0f0f1a","text-disabled":"#52525b","surface-pressed":"#ffffff14","surface-hover":"#ffffff0d","surface-selected":"#7c7ce82e","surface-disabled":"#1c1c26",skeleton:"#1c1c26","skeleton-highlight":"#27272f","glass-fill":"#ffffff47","glass-border":"#ffffff73","on-glass":"#0f0f1a","glass-badge":"#ffffff","field-bg-focus":"#0b0b12","field-bg-disabled":"#1c1c26","field-border-error":"#8a2f42","field-label":"#e4e6ee","field-text":"#fafafa","field-text-disabled":"#52525b","field-placeholder":"#84848d","field-placeholder-disabled":"#52525b","field-icon":"#8b8b95","field-icon-focus":"#d4d4db","field-icon-disabled":"#52525b","field-caret":"#7c9ef0","field-message":"#f87171","avatar-1":"#8b8bee","avatar-2":"#2dd4bf","avatar-3":"#fcd34d","avatar-4":"#f472b6","avatar-5":"#60a5fa","avatar-6":"#a78bfa","avatar-7":"#34d399","avatar-8":"#f87171"},space:{none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius:{none:0,sm:6,md:10,lg:14,xl:20,pill:9999},text:{xs:{size:11},sm:{size:13},base:{size:15},lg:{size:17},xl:{size:20},"2xl":{size:24},"3xl":{size:30},"4xl":{size:36},"5xl":{size:45},"6xl":{size:57},"7xl":{size:64},"8xl":{size:72}},weight:{normal:"400",medium:"500",semibold:"600",bold:"700"},leading:{heading:1.2,body:1.4,display:1.2},"letter-spacing":{tight:-.2,normal:0,wide:.4},font:{ui:{},display:{},mono:{}},shadow:{card:{shadowColor:"#000000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},elevated:{shadowColor:"#000000",shadowOffset:{width:0,height:4},shadowOpacity:.502,shadowRadius:8,elevation:4},popover:{shadowColor:"#000000",shadowOffset:{width:0,height:8},shadowOpacity:.549,shadowRadius:16,elevation:8},modal:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},drawer:{shadowColor:"#000000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12}},motion:{duration:{instant:80,fast:160,default:240,slow:360,slower:500},ease:{"in-out":[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]}},size:{border:1},components:{field:{sm:{radius:"md","padding-x":"sm","padding-y":"sm","min-height":38,text:"sm",icon:14,"label-text":"xs","label-gap":"xs","message-text":"xs","message-gap":"xxs"},md:{radius:"md","padding-x":"md","padding-y":"md","min-height":44,text:"base",icon:16,"label-text":"sm","label-gap":"xs","message-text":"sm","message-gap":"xxs"},lg:{radius:"md","padding-x":"lg","padding-y":"lg","min-height":52,text:"lg",icon:18,"label-text":"base","label-gap":"xs","message-text":"base","message-gap":"xxs"}},press:{opacity:.85},disabled:{opacity:.55},button:{xs:{"padding-x":"sm","padding-y":"xs","min-height":28,text:"xs",radius:"md",icon:14,"badge-icon":11},sm:{"padding-x":"md","padding-y":"xs","min-height":34,text:"sm",radius:"md",icon:16,"badge-icon":16},md:{"padding-x":"lg","padding-y":"sm","min-height":44,text:"base",radius:"md",icon:18,"badge-icon":18},lg:{"padding-x":"xl","padding-y":"md","min-height":50,text:"lg",radius:"lg",icon:20,"badge-icon":20},xl:{"padding-x":"2xl","padding-y":"md","min-height":58,text:"xl",radius:"lg",icon:22,"badge-icon":22}},input:{sm:{"multiline-min-height":72},md:{"multiline-min-height":92},lg:{"multiline-min-height":110}},"search-bar":{sm:{radius:"pill"},md:{radius:"pill"},lg:{radius:"pill"}},"empty-state":{sm:{icon:48,"title-text":"lg","description-text":"sm","padding-y":"lg","title-gap":"md","description-gap":"xs"},md:{icon:64,"title-text":"xl","description-text":"base","padding-y":"xl","title-gap":"md","description-gap":"xs"},lg:{icon:80,"title-text":"2xl","description-text":"lg","padding-y":"2xl","title-gap":"md","description-gap":"xs"}},"list-item":{sm:{"padding-y":"sm","title-text":"sm","subtitle-text":"xs","min-height":44},md:{"padding-y":"md","title-text":"base","subtitle-text":"sm","min-height":56},lg:{"padding-y":"lg","title-text":"lg","subtitle-text":"base","min-height":72}},badge:{sm:{text:"xs","min-width":16,height:16,"padding-x":"xs","dot-size":8},md:{text:"sm","min-width":20,height:20,"padding-x":"sm","dot-size":10},"border-width":1.5,"anchor-offset":4},chip:{sm:{"padding-x":"sm","padding-y":"xs",text:"xs","min-height":26,"close-size":16,"close-text":"xs",gap:"xs",icon:14},md:{"padding-x":"md","padding-y":"xs",text:"sm","min-height":32,"close-size":18,"close-text":"sm",gap:"sm",icon:16}},checkbox:{sm:{"box-size":16},md:{"box-size":20},lg:{"box-size":24},"label-gap":"sm"},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},"label-gap":"sm"},switch:{sm:{"track-width":42,"track-height":26,"thumb-size":22,padding:"xxs"},md:{"track-width":51,"track-height":31,"thumb-size":27,padding:"xxs"},lg:{"track-width":60,"track-height":36,"thumb-size":32,padding:"xxs"}},"otp-input":{sm:{cell:36,text:"base",radius:"sm",gap:"sm"},md:{cell:48,text:"xl",radius:"md",gap:"sm"},lg:{cell:56,text:"2xl",radius:"lg",gap:"md"}},"segmented-control":{sm:{height:32,text:"sm","padding-x":"sm",icon:14},md:{height:40,text:"base","padding-x":"md",icon:16},lg:{height:48,text:"lg","padding-x":"lg",icon:18},"track-padding":"xs","underline-height":2,"pill-inset":"xs"},tabs:{sm:{text:"sm","padding-y":"sm","padding-x":"xs","scrollable-padding-x":"md",icon:16},md:{text:"base","padding-y":"md","padding-x":"sm","scrollable-padding-x":"lg",icon:18},lg:{text:"lg","padding-y":"lg","padding-x":"md","scrollable-padding-x":"xl",icon:20},"icon-gap":"xs","track-padding":"xs","underline-height":2,"pill-inset":"xs","disabled-opacity":.45,"badge-gap":"xs"},slider:{sm:{"track-height":4,"thumb-diameter":24},md:{"track-height":6,"thumb-diameter":28},lg:{"track-height":8,"thumb-diameter":32}},"floating-action-button":{sm:{diameter:40,icon:18,text:"sm","label-padding-x":"md"},md:{diameter:56,icon:22,text:"base","label-padding-x":"lg"},lg:{diameter:72,icon:28,text:"lg","label-padding-x":"xl"},"edge-offset":"xl","bottom-offset":"xl","secondary-gap":"lg","stagger-ms":50},dialog:{"icon-wrapper-size":48,"action-button-min-height":44},toast:{"icon-circle-size":28,"icon-glyph-text":"lg","tint-bar-width":0,"action-min-height":30},banner:{"tint-bar-width":0}}};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hitSlopMarker=void 0;const hitSlopMarker=t=>{const{top:e=0,right:o=0,bottom:r=0,left:p=0}="number"==typeof t?{top:t,right:t,bottom:t,left:t}:t;return{dataSet:{wuiHitSlop:`${e} ${o} ${r} ${p}`}}};exports.hitSlopMarker=hitSlopMarker;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resetInvalidValueWarnings=resetInvalidValueWarnings,exports.warnInvalidValue=warnInvalidValue;const seen=new Set;function warnInvalidValue(e,n,t,a){if(!__DEV__||null==t)return;const s=a instanceof Set?a:new Set(a);if(s.has(t))return;const i=`${e}.${n}.${String(t)}`;seen.has(i)||(seen.add(i),console.warn(`[@webority/mobile-ui] <${e}> received ${n}="${String(t)}", which is not one of ${[...s].map(e=>`"${e}"`).join(" | ")}. The component fell back to its default, so this renders something other than what the call site asks for.`))}function resetInvalidValueWarnings(){seen.clear()}
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Accordion",marker:null,platforms:["phone"],acceptsChildren:!0,props:{title:{type:"string",required:!0,description:"The header text shown beside the chevron."},id:{type:"string",description:"Names the accordion inside an AccordionGroup, where it is required."},expanded:{type:"boolean",description:"The open state when the parent controls it; leave out to let the accordion manage its own state."},defaultExpanded:{type:"boolean",default:!1,description:"The open state at first, when the accordion manages its own state."},icon:{type:"icon",description:"An optional icon drawn before the title."},disabled:{type:"boolean",default:!1,description:"Blocks toggling and dims the title and chevron."},variant:{type:"enum",values:["plain","card"],default:"plain",description:"A plain header row or an elevated card."},accessibilityLabel:{type:"string",description:"Overrides the spoken label of the header; it defaults to the title."},loading:{type:"boolean",default:!1,description:"Shows the skeleton placeholder in place of the accordion."}},omit:["haptic"],examples:[{id:"Accordion.card",title:"Card with an icon",props:{title:"Is it themeable?",variant:"card",defaultExpanded:!0},children:"Yes. Wrap your app in the theme provider and override any token."},{id:"Accordion.plain",title:"Plain header row",props:{title:"Returns policy",variant:"plain",defaultExpanded:!0},children:"Items can be returned within 30 days."},{id:"Accordion.disabled",title:"Disabled",props:{title:"Warranty",variant:"card",disabled:!0},children:"One year manufacturer warranty is included."},{id:"Accordion.loading",title:"Loading skeleton",props:{title:"Shipping policy",variant:"card",loading:!0}}],usage:{when:["Hide secondary content behind a tappable header so a long screen stays short.","Show one open section at a time or several, by placing accordions inside an AccordionGroup."],whenNot:[{text:"The content is needed to make the next decision.",instead:"Show it inline in a Card."},{text:"Switching between peer views of the same data.",instead:"Use Tabs."}],do:[{note:"Give every accordion a short, specific title that says what is inside.",example:[{component:"Accordion",props:{title:"Shipping options"},children:"Standard and express delivery are available."}]},{note:"Give each accordion in a group its own id.",example:[{component:"AccordionGroup",props:{},children:[{component:"Accordion",props:{id:"shipping",title:"Shipping options"},children:"Standard and express delivery."},{component:"Accordion",props:{id:"returns",title:"Returns policy"},children:"Thirty days return policy."}]}]}],dont:[{note:"Do not use a vague title such as More or Details.",example:[{component:"Accordion",props:{title:"More"},children:"Standard and express delivery are available."}]},{note:"Do not nest an accordion inside another accordion.",example:[{component:"Accordion",props:{title:"Shipping options"},children:[{component:"Accordion",props:{title:"Returns policy"},children:"Thirty days return policy."}]}]}],a11y:["The header is announced as a button with its expanded or collapsed state.","Set accessibilityLabel only when the title alone does not describe the action."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AccordionGroup",marker:null,platforms:["phone"],acceptsChildren:!0,props:{allowMultiple:{type:"boolean",default:!1,description:"When false, opening one accordion closes the others; when true, several stay open."},defaultExpandedKeys:{type:"array",description:"The ids of the accordions open at first, when the group manages its own state."},expandedKeys:{type:"array",description:"The ids of the open accordions when the parent controls them."}},omit:[],examples:[{id:"AccordionGroup.single",title:"One open at a time",props:{allowMultiple:!1,defaultExpandedKeys:["a"]},children:[{component:"Accordion",props:{id:"a",title:"Section A",variant:"card"},children:"Only one section is open at a time."},{component:"Accordion",props:{id:"b",title:"Section B",variant:"card"},children:"Opening this closes section A."}]},{id:"AccordionGroup.multiple",title:"Several open",props:{allowMultiple:!0,defaultExpandedKeys:["shipping","returns"]},children:[{component:"Accordion",props:{id:"shipping",title:"Shipping policy",variant:"card"},children:"Several sections can stay open together."},{component:"Accordion",props:{id:"returns",title:"Returns policy",variant:"card"},children:"Open ids are tracked by the group."},{component:"Accordion",props:{id:"warranty",title:"Warranty",variant:"card"},children:"One year manufacturer warranty is included."}]}],usage:{when:["Coordinate several accordions so opening one can close the others.","Keep the set of open sections in one place."],whenNot:[{text:"There is a single accordion.",instead:"Use Accordion on its own."}],do:[{note:"Give every accordion inside the group a unique id.",example:[{component:"AccordionGroup",props:{defaultExpandedKeys:["first"]},children:[{component:"Accordion",props:{id:"first",title:"First section"},children:"First section content."},{component:"Accordion",props:{id:"second",title:"Second section"},children:"Second section content."}]}]}],dont:[{note:"Do not also set expanded on an accordion inside a group.",example:[{component:"AccordionGroup",props:{defaultExpandedKeys:["first"]},children:[{component:"Accordion",props:{id:"first",title:"First section",expanded:!0},children:"First section content."},{component:"Accordion",props:{id:"second",title:"Second section"},children:"Second section content."}]}]}],a11y:["Each accordion keeps its own button semantics; the group adds none."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AmountSlider",marker:null,platforms:["phone"],acceptsChildren:!1,props:{value:{type:"number",description:"The amount when the parent controls it."},defaultValue:{type:"number",description:"The amount at first, when the slider manages its own state."},min:{type:"number",default:0,description:"The smallest amount."},max:{type:"number",default:100,description:"The largest amount."},step:{type:"number",default:1,description:"The distance between selectable amounts."},disabled:{type:"boolean",default:!1,description:"Blocks the slider and the input box."},tone:{type:"enum",values:["primary","success","warning","danger"],description:"The colour of the filled track."},size:{type:"enum",values:["sm","md","lg"],description:"The size of the track and thumb."},variant:{type:"enum",values:["default","inset","minimal","bar"],default:"inset",description:"The look of the slider."},prefix:{type:"string",default:"₹",description:"Text drawn before the large amount; use an empty string for a plain number."},units:{type:"enum",values:["indian","none"],default:"indian",description:"Whether the large amount reads in Thousand, Lakh and Crore or as a grouped whole number."},animationDuration:{type:"number",description:"The length in milliseconds of one digit roll; it defaults to the theme's normal duration."},accessibilityLabel:{type:"string",description:"The spoken label of the slider."},inputAccessibilityLabel:{type:"string",default:"Amount",description:"The spoken label of the input box."}},omit:["haptic"],examples:[{id:"AmountSlider.default",title:"Loan amount",props:{value:5e5,min:1e5,max:5e6,step:5e4,accessibilityLabel:"Loan amount"}},{id:"AmountSlider.plain",title:"Whole number, minimal look",props:{value:25e3,min:0,max:1e5,step:1e3,variant:"minimal",units:"none",accessibilityLabel:"Budget"}},{id:"AmountSlider.bar",title:"Bar look, success tone",props:{value:2e6,min:1e5,max:5e6,step:5e4,variant:"bar",tone:"success",size:"lg",accessibilityLabel:"Savings goal"}},{id:"AmountSlider.disabled",title:"Disabled",props:{value:5e5,min:1e5,max:5e6,step:5e4,disabled:!0,accessibilityLabel:"Loan amount"}}],usage:{when:["Pick a money amount where both a rough drag and an exact entry make sense, such as a loan, budget or price.","Show the amount in Indian units next to an exact editable figure."],whenNot:[{text:"The value is not money or has only a few choices.",instead:"Use Slider or SegmentedControl."},{text:"The person must type a precise figure and never drag.",instead:"Use Input or DecimalInput."}],do:[{note:"Set min, max and step so every stop is a sensible amount.",example:[{component:"AmountSlider",props:{value:5e5,min:1e5,max:5e6,step:5e4,accessibilityLabel:"Loan amount"}}]}],dont:[{note:"Do not use a step so small that the thumb cannot land on a round figure.",example:[{component:"AmountSlider",props:{value:1234,min:0,max:1e4,step:1,accessibilityLabel:"Tiny step"}}]}],a11y:["Set accessibilityLabel to say what the amount is for.","The input box carries its own label through inputAccessibilityLabel."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AnimatePresence",marker:null,platforms:["phone"],acceptsChildren:!0,props:{preset:{type:"enum",values:["fade","scale","slide-up","slide-down"],default:"fade",description:"The shape of the enter and exit animation."},duration:{type:"number",description:"The animation length in milliseconds; it defaults to the theme's normal duration."}},omit:[],examples:[{id:"AnimatePresence.fade",title:"Fade",props:{preset:"fade"},children:"fade content"},{id:"AnimatePresence.scale",title:"Scale",props:{preset:"scale",duration:300},children:"scale content"},{id:"AnimatePresence.slideUp",title:"Slide up",props:{preset:"slide-up",duration:300},children:"slide-up content"},{id:"AnimatePresence.slideDown",title:"Slide down",props:{preset:"slide-down",duration:300},children:"slide-down content"}],usage:{when:["Animate a single conditional child in on mount and out on unmount.","Let a panel, banner or message finish its exit animation before it disappears."],whenNot:[{text:"Animating rows inside a list.",instead:"Use the list's own item layout animation."}],do:[{note:"Pass the child only while it should be visible, such as a condition that is either the element or null.",example:[{component:"AnimatePresence",props:{preset:"fade"},children:"Visible content"}]}],dont:[{note:"Do not wrap several siblings; wrap one element.",example:[{component:"AnimatePresence",props:{preset:"fade"},children:[{component:"AnimatePresence",props:{preset:"slide-up"},children:"Nested content"}]}]}],a11y:["With the system Reduce Motion setting on, every preset fades instead of moving."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AppBar",marker:"AppBar",platforms:["phone"],acceptsChildren:!1,props:{title:{type:"string",description:"The bar title."},subtitle:{type:"string",description:"A second line under the title."},titleAlignment:{type:"enum",values:["left","center"],default:"left",description:"Aligns the title and subtitle to the left or the centre."},leftAction:{type:"object",description:"The button at the left edge, drawn from an icon or a text label.",fields:{icon:{type:"icon",description:"The glyph of the button."},text:{type:"string",description:"A text label used instead of the glyph."},dot:{type:"boolean",description:"Draws a small unread dot on the button."},accessibilityLabel:{type:"string",description:"The spoken label of the button."}}},rightActions:{type:"array",description:"The buttons at the right edge, in order.",itemFields:{icon:{type:"icon",description:"The glyph of the button."},text:{type:"string",description:"A text label used instead of the glyph."},dot:{type:"boolean",description:"Draws a small unread dot on the button."},badge:{type:"stringOrNumber",description:"A count or short text drawn on the button; zero draws nothing."},accessibilityLabel:{type:"string",description:"The spoken label of the button."}}},leading:{type:"node",description:"Any element in the left slot, after the left action."},trailing:{type:"node",description:"Any element in the right slot, after the right actions."},gutter:{type:"number",description:"The distance in points from the screen edge to the visible edge of the outermost glyph."},titleVariant:{type:"string",description:"The text style of the title, a Text variant name or a variant the theme registers."},titleOffset:{type:"number",description:"The exact space in points between the left slot and the title."},height:{type:"number",description:"The bar height in points, without the top safe area; it overrides the variant height."},divider:{type:"boolean",description:"Draws a hairline under the bar; it shows unless the bar is transparent."},variant:{type:"enum",values:["default","large","compact"],default:"default",description:"The bar height and title weight."},transparent:{type:"boolean",default:!1,description:"Removes the background and the bottom line, for hero or tinted layouts."}},omit:["scrollY","haptic"],examples:[{id:"AppBar.default",title:"Title and subtitle",props:{title:"Inbox",subtitle:"3 unread",variant:"default"}},{id:"AppBar.compact",title:"Compact, centred title",props:{title:"Inbox",variant:"compact",titleAlignment:"center"}},{id:"AppBar.large",title:"Large title",props:{title:"Library",subtitle:"Scroll the list below",variant:"large"}},{id:"AppBar.transparent",title:"Transparent",props:{title:"Inbox",variant:"default",transparent:!0}}],usage:{when:["Put a title, a back button and a few actions at the top of a screen.","Use the large variant for a top-level screen whose title collapses as the list scrolls."],whenNot:[{text:"A search field is the main control of the screen.",instead:"Use SearchBar."},{text:"The page needs a custom header layout.",instead:"Compose it with the leading and trailing slots before building a new header."}],do:[{note:"Keep at most three actions on the right and give each an accessibility label.",example:[{component:"AppBar",props:{title:"Inbox",rightActions:[{icon:"search",accessibilityLabel:"Search messages"},{icon:"filter",accessibilityLabel:"Filter messages"},{icon:"more",accessibilityLabel:"More options"}]}}]},{note:"Use the compact variant on screens below the first level.",example:[{component:"AppBar",props:{title:"Settings",variant:"compact",rightActions:[{icon:"share",accessibilityLabel:"Share profile"}]}}]}],dont:[{note:"Do not put long text in the title; it truncates.",example:[{component:"AppBar",props:{title:"Inbox messages from all your accounts and folders",rightActions:[{icon:"search",accessibilityLabel:"Search messages"},{icon:"filter",accessibilityLabel:"Filter messages"},{icon:"more",accessibilityLabel:"More options"}]}}]},{note:"Do not give an action neither an icon nor a text label.",example:[{component:"AppBar",props:{title:"Settings",variant:"compact",rightActions:[{accessibilityLabel:"Share profile"}]}}]}],a11y:["Every action is at least 44 by 44 points and needs an accessibility label unless it has text.","The back arrow is announced as Back."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AppIcon",marker:"AppIcon",platforms:["phone"],acceptsChildren:!1,props:{name:{type:"icon",required:!0,description:"The icon to draw, by name; add -iconsax to a curated name to draw the Iconsax glyph it shadows."},size:{type:"enumOrNumber",values:["xs","sm","md","lg","xl"],default:"md",description:"A size name (14, 18, 22, 28 or 36 pixels) or an exact size in pixels."},color:{type:"string",description:"Any colour value; it defaults to the primary text colour."},variant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],default:"linear",description:"The icon style; a name missing in a style falls back to linear."},accessibilityLabel:{type:"string",description:"Set when the icon carries meaning on its own; decorative icons stay silent for screen readers."}},omit:[],examples:[{id:"AppIcon.default",title:"Default icon",props:{name:"send"}},{id:"AppIcon.bold",title:"Bold style, large",props:{name:"send",variant:"bold",size:"xl",accessibilityLabel:"Send message"}},{id:"AppIcon.pixels",title:"Exact size",props:{name:"user",size:64}},{id:"AppIcon.twotone",title:"Two-tone style",props:{name:"calendar",variant:"twotone",size:"lg"}}],usage:{when:["Draw an icon from the design system's set by name, the same name as on the web.","Pick a style (linear, bold, broken, bulk, outline, twotone) to match the weight of the surrounding text."],whenNot:[{text:"Showing a photo or a brand logo.",instead:"Use Image or AuthedImage."},{text:"The icon is the only content of a button.",instead:"Use IconButton, which sets the touch size."}],do:[{note:"Use one style across a screen.",example:[{component:"AppIcon",props:{name:"home",variant:"linear"}},{component:"AppIcon",props:{name:"search",variant:"linear"}}]},{note:"Give an icon that stands alone an accessibility label.",example:[{component:"AppIcon",props:{name:"search",accessibilityLabel:"Search"}}]}],dont:[{note:"Do not use an icon without text for an action nobody would recognise.",example:[{component:"AppIcon",props:{name:"radar"}}]},{note:"Do not mix icon styles in one toolbar.",example:[{component:"AppIcon",props:{name:"home",variant:"linear"}},{component:"AppIcon",props:{name:"search",variant:"bold"}}]}],a11y:["A decorative icon is hidden from screen readers; set accessibilityLabel when it carries meaning.","Colour is never the only signal; pair a coloured icon with text."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AsyncBlock",marker:null,platforms:["phone"],acceptsChildren:!0,props:{loading:{type:"boolean",default:!1,description:"Shows the placeholder instead of the content."},error:{type:"any",description:"An error to show in place of the content; a string is the description, and any other value is read for its message."},errorVariant:{type:"enum",values:["default","offline"],description:"Draws the error as a lost connection when offline; left out, an offline error picks it by itself."},empty:{type:"boolean",default:!1,description:"The fetch succeeded with nothing to show."},skeleton:{type:"node",description:"A placeholder shaped like the content; it falls back to a centred spinner."},emptyTitle:{type:"string",default:"Nothing here yet",description:"The title of the empty state."},emptyDescription:{type:"string",description:"The text under the empty title."},emptyIcon:{type:"icon",description:"The icon of the empty state."},errorTitle:{type:"string",default:"That didn't load",description:"The title of the error state."},offlineTitle:{type:"string",default:"You're offline",description:"The title of the offline error state."},retryLabel:{type:"string",default:"Try again",description:"The label of the retry button."}},omit:[],examples:[{id:"AsyncBlock.loading",title:"Loading",props:{loading:!0}},{id:"AsyncBlock.error",title:"Error",props:{error:"Network unreachable",errorTitle:"That didn't load",retryLabel:"Try again"}},{id:"AsyncBlock.offline",title:"Offline",props:{error:"No connection",errorVariant:"offline"}},{id:"AsyncBlock.empty",title:"Empty",props:{empty:!0,emptyTitle:"No invoices yet",emptyDescription:"Invoices appear here once you raise one."}},{id:"AsyncBlock.content",title:"Content",props:{},children:"The loaded content appears here."}],usage:{when:["Wrap any screen section that fetches data so loading, error, empty and content each have one place.","Show a shaped skeleton while data loads so the layout does not jump."],whenNot:[{text:"The data is already in memory and cannot fail.",instead:"Render the content directly."},{text:"A single button is busy.",instead:"Use the loading state of that Button."}],do:[{note:"Give the empty state a title that says what will appear and when.",example:[{component:"Card",props:{title:"No invoices yet"},children:"Invoices appear here once you raise one."}]},{note:"Pass a retry handler so a failure can be recovered.",example:[{component:"Button",props:{title:"Try again"}}]}],dont:[{note:"Do not show a raw error message from the server; pass a text written for the person.",example:[{component:"AsyncBlock",props:{errorTitle:"That didn't load",error:"Network unreachable",retryLabel:"Try again"}}]},{note:"Do not leave loading on while showing content.",example:[{component:"Card",props:{loading:!0}}]}],a11y:["The error and empty states are plain text, so screen readers read their title and description.","Loading wins over error, error over empty, and empty over content."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AuthedImage",marker:null,platforms:["phone"],acceptsChildren:!1,props:{uri:{type:"url",required:!0,description:"The address of the image."},resizeMode:{type:"enum",values:["cover","contain","stretch","repeat","center"],description:"How the image fits its box, in React Native's names; contentFit wins when both are set."},contentFit:{type:"enum",values:["cover","contain","fill","none","scale-down"],description:"How the image fits its box, in expo-image's names."},fadeDuration:{type:"number",description:"The cross-fade in milliseconds when the image appears."},headers:{type:"object",description:"Extra request headers sent with the fetch."},authenticated:{type:"boolean",default:!0,description:"Attaches the stored sign-in token to the request when no client is given."},ttlMs:{type:"number",default:6048e5,description:"How long a cached image counts as fresh, in milliseconds."},placeholder:{type:"node",description:"Shown while the image loads."},fallback:{type:"node",description:"Shown when no usable image exists."},cacheKey:{type:"string",description:"Overrides the cache key derived from the address."},blurRadius:{type:"number",description:"Blurs the image by this radius in points."},tintColor:{type:"string",description:"Paints the image in one colour, for a mask-like icon."}},omit:[],examples:[{id:"AuthedImage.cover",title:"Cover fit",props:{uri:"https://picsum.photos/seed/webority-authed-image/400/300",authenticated:!1,contentFit:"cover"}},{id:"AuthedImage.contain",title:"Contain fit",props:{uri:"https://picsum.photos/seed/webority-authed-image/400/300",authenticated:!1,contentFit:"contain"}},{id:"AuthedImage.blurred",title:"Blurred",props:{uri:"https://picsum.photos/seed/webority-authed-image/400/300",authenticated:!1,contentFit:"cover",blurRadius:12}},{id:"AuthedImage.missing",title:"Image not found",props:{uri:"https://picsum.photos/id/999999/400/300",authenticated:!1,contentFit:"cover"}}],usage:{when:["Show an image that sits behind a sign-in, which the plain Image cannot fetch.","Cache the image on the device so it opens at once the next time."],whenNot:[{text:"The image is public and needs no token.",instead:"Use Image with a plain address."},{text:"The image is a person's picture.",instead:"Use Avatar."}],do:[{note:"Give the image a fixed height or aspect ratio so the layout does not jump.",example:[{component:"AuthedImage",props:{uri:"https://picsum.photos/seed/webority/400/300"}}]},{note:"Pass a fallback for the case where the image cannot load.",example:[{component:"AuthedImage",props:{uri:"https://picsum.photos/seed/webority/400/300",fallback:{component:"AppIcon",props:{name:"user"}}}}]}],dont:[{note:"Do not set one cache key for different pictures.",example:[{component:"AuthedImage",props:{uri:"https://picsum.photos/id/10/400/300",cacheKey:"shared-key"}},{component:"AuthedImage",props:{uri:"https://picsum.photos/id/11/400/300",cacheKey:"shared-key"}}]},{note:"Do not send the token to a public address; turn authenticated off.",example:[{component:"AuthedImage",props:{uri:"https://picsum.photos/seed/public/400/300",authenticated:!0}}]}],a11y:["Pass an accessibility label that describes the picture when it carries meaning.","A decorative image needs no label."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Autocomplete",marker:null,platforms:["phone"],acceptsChildren:!1,props:{options:{type:"array",required:!0,description:"The candidate options to filter."},value:{type:"string",description:"The input text when the parent controls it."},defaultValue:{type:"string",description:"The input text at first, when the field manages its own text."},minChars:{type:"number",default:1,description:"The number of characters typed before suggestions appear."},maxResults:{type:"number",default:8,description:"The most suggestions shown."},emptyText:{type:"string",default:"No matches",description:"The text shown when nothing matches."},loading:{type:"boolean",default:!1,description:"Shows a spinner row in the dropdown, for results being fetched."},filterMode:{type:"enum",values:["client","none"],default:"client",description:"Client filters the options here; none shows them as given, for search done on a server."},loadingText:{type:"string",default:"Searching…",description:"The text beside the loading spinner."},placeholder:{type:"string",description:"The hint shown while the field is empty."},label:{type:"string",description:"The field label."},error:{type:"node",description:"An error message shown under the field."},helperText:{type:"string",description:"A hint shown under the field."},disabled:{type:"boolean",default:!1,description:"Blocks typing and selecting."},size:{type:"enum",values:["sm","md","lg"],default:"md",description:"The size of the field."},variant:{type:"enum",values:["outlined","filled","underline"],description:"The look of the field."}},omit:["haptic"],examples:[{id:"Autocomplete.countries",title:"Country search",props:{options:["India","Indonesia","Ireland","Israel","Italy","United States"],label:"Country",placeholder:"Start typing…"}},{id:"Autocomplete.filled",title:"Filled, large",props:{options:["India","Indonesia","Ireland"],label:"Country",variant:"filled",size:"lg"}},{id:"Autocomplete.loading",title:"Loading remote results",props:{options:[],label:"City",filterMode:"none",loading:!0,loadingText:"Searching…"}},{id:"Autocomplete.disabled",title:"Disabled",props:{options:["India","Indonesia"],label:"Country",disabled:!0}}],usage:{when:["Let a person pick one item from a long list by typing, such as a country, a city or an assignee.","Search on a server by showing a loading row and the fetched options as they are."],whenNot:[{text:"The list has only a few fixed choices.",instead:"Use Select or SegmentedControl."},{text:"The person may enter any text.",instead:"Use Input."}],do:[{note:"Set a label that names what is being chosen.",example:[{component:"Autocomplete",props:{label:"Country",options:["India","Indonesia","Ireland"],maxResults:8}}]},{note:"Use filterMode none and the loading state when results come from a server.",example:[{component:"Autocomplete",props:{label:"City",options:[],filterMode:"none",loading:!0,loadingText:"Searching..."}}]}],dont:[{note:"Do not show hundreds of suggestions; keep maxResults small.",example:[{component:"Autocomplete",props:{label:"Country",options:["India","Indonesia","Ireland"],maxResults:100}}]},{note:"Do not use it for a list a person would rather scroll.",example:[{component:"Autocomplete",props:{label:"Size",options:["Small","Medium","Large"]}}]}],a11y:["The field keeps the Input semantics, so the label and error are read.","Selecting a suggestion closes the keyboard."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Avatar",marker:null,platforms:["phone"],acceptsChildren:!1,props:{source:{type:"url",description:"The picture to draw; it falls back to initials when it fails to load or is left out."},name:{type:"string",description:"The person's name, used for the initials and the fallback colour."},size:{type:"enumOrNumber",values:["xs","sm","md","lg","xl"],default:"md",description:"A size name (24, 32, 48, 64 or 80 points) or an exact size in points."},shape:{type:"enum",values:["circle","square","rounded"],default:"circle",description:"The outline of the avatar."},status:{type:"enum",values:["online","offline","busy","away","verified","pending"],description:"A presence dot, or a verified or pending ring; leave out to show nothing."},statusPosition:{type:"enum",values:["topRight","bottomRight"],default:"bottomRight",description:"The corner where the presence dot sits."},tone:{type:"enum",values:["neutral","primary","secondary","success","warning","danger","info"],description:"A theme colour for the initials disc; left out, the colour comes from the name."},backgroundColor:{type:"string",description:"A colour for the initials disc that wins over tone."},color:{type:"string",description:"A colour for the initials that wins over tone."},fontSize:{type:"number",description:"The initials font size in pixels; it wins over the size-based default."},loading:{type:"boolean",default:!1,description:"Shows the skeleton placeholder in place of the avatar."},accessibilityLabel:{type:"string",description:"The spoken name; it defaults to the person's name followed by avatar."}},omit:["ImageComponent","haptic","hitSlop"],examples:[{id:"Avatar.initials",title:"Initials",props:{name:"Ada Lovelace",size:"lg"}},{id:"Avatar.online",title:"Online dot",props:{name:"Ada Lovelace",size:"lg",status:"online"}},{id:"Avatar.verified",title:"Verified ring",props:{name:"Verified user",size:"lg",status:"verified"}},{id:"Avatar.tone",title:"Rounded, primary tone",props:{name:"Alan Turing",size:"lg",shape:"rounded",tone:"primary"}}],usage:{when:["Represent a person or an organisation with a picture, or with initials when there is none.","Show presence or an identity state with a dot or a ring."],whenNot:[{text:"Showing any other picture.",instead:"Use AuthedImage or Image."},{text:"Showing several people together.",instead:"Use AvatarGroup."}],do:[{note:"Always pass name so the initials fallback and the spoken label work.",example:[{component:"Avatar",props:{name:"Ada Lovelace",size:"md"}}]},{note:"Keep one size within a list.",example:[{component:"Avatar",props:{name:"Ada Lovelace",size:"sm"}},{component:"Avatar",props:{name:"Alan Turing",size:"sm"}}]}],dont:[{note:"Do not rely on the dot colour alone to tell presence.",example:[{component:"Avatar",props:{size:"md",status:"online"}}]},{note:"Do not set both tone and backgroundColor.",example:[{component:"Avatar",props:{name:"Ada Lovelace",size:"md",tone:"primary",backgroundColor:"#3b82f4"}}]}],a11y:["The spoken label is the name followed by avatar, with verified or pending added for the ring states.","A pressable avatar is announced as a button and keeps a touch area of at least 44 points."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"AvatarGroup",marker:null,platforms:["phone"],acceptsChildren:!0,props:{max:{type:"number",default:4,description:"The most avatars shown before the rest collapse into an overflow circle."},size:{type:"enumOrNumber",values:["xs","sm","md","lg","xl"],default:"md",description:"A size name or an exact size in points, applied to every avatar."},spacing:{type:"enum",values:["tight","normal","loose"],default:"normal",description:"How much the avatars overlap."},overflowVariant:{type:"enum",values:["count","plus"],default:"count",description:"Shows the overflow as a count such as +3 or as a plain plus."},accessibilityLabel:{type:"string",description:"The spoken label of the whole group."}},omit:[],examples:[{id:"AvatarGroup.default",title:"Four of six",props:{max:4,size:"md"},children:[{component:"Avatar",props:{name:"Ada Lovelace"}},{component:"Avatar",props:{name:"Alan Turing"}},{component:"Avatar",props:{name:"Grace Hopper"}},{component:"Avatar",props:{name:"Linus Torvalds"}},{component:"Avatar",props:{name:"Margaret Hamilton"}},{component:"Avatar",props:{name:"Dennis Ritchie"}}]},{id:"AvatarGroup.plus",title:"Plus overflow",props:{max:3,size:"md",overflowVariant:"plus"},children:[{component:"Avatar",props:{name:"Ada Lovelace"}},{component:"Avatar",props:{name:"Alan Turing"}},{component:"Avatar",props:{name:"Grace Hopper"}},{component:"Avatar",props:{name:"Linus Torvalds"}}]},{id:"AvatarGroup.tight",title:"Tight spacing",props:{max:4,size:"lg",spacing:"tight"},children:[{component:"Avatar",props:{name:"Ada Lovelace"}},{component:"Avatar",props:{name:"Alan Turing"}},{component:"Avatar",props:{name:"Grace Hopper"}}]}],usage:{when:["Show the people on a task, chat or team as one overlapping stack.","Collapse the extra people into a count."],whenNot:[{text:"Showing one person.",instead:"Use Avatar."},{text:"The person must be able to read every name.",instead:"Use a list of ListItem rows."}],do:[{note:"Set max so the stack fits the space it sits in.",example:[{component:"AvatarGroup",props:{max:2},children:[{component:"Avatar",props:{name:"Alice"}},{component:"Avatar",props:{name:"Bob"}}]}]}],dont:[{note:"Do not put anything but Avatar elements inside the group.",example:[{component:"AvatarGroup",props:{max:2},children:[{component:"Avatar",props:{name:"Alice"}},"and others"]}]}],a11y:["Set accessibilityLabel to say how many people the group holds.","The overflow circle is announced with its count."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Badge",marker:null,platforms:["phone"],acceptsChildren:!0,props:{value:{type:"stringOrNumber",description:"The count or short text; a number of zero or less draws nothing in the standard variant."},max:{type:"number",default:99,description:"The largest number shown before it reads as the maximum with a plus."},variant:{type:"enum",values:["standard","dot"],default:"standard",description:"A pill with the value or a plain dot."},tone:{type:"enum",values:["primary","success","warning","danger","neutral","info"],default:"danger",description:"The colour of the badge."},size:{type:"enum",values:["sm","md"],default:"sm",description:"The size of the badge."},invisible:{type:"boolean",default:!1,description:"Hides the badge without removing it from the layout."},loading:{type:"boolean",default:!1,description:"Shows the skeleton placeholder in place of the badge."},anchor:{type:"enum",values:["topRight","topLeft","bottomRight","bottomLeft"],default:"topRight",description:"The corner of the child where the badge sits."},pulse:{type:"boolean",default:!1,description:"Pulses the badge to draw attention to something unread."},accessibilityLabel:{type:"string",description:"The spoken label of the badge."}},omit:[],examples:[{id:"Badge.count",title:"Count",props:{value:4,tone:"danger"}},{id:"Badge.dot",title:"Dot",props:{variant:"dot",tone:"success"}},{id:"Badge.overflow",title:"Over the maximum",props:{value:120,max:99,tone:"primary",size:"md"}},{id:"Badge.anchored",title:"On a button",props:{value:4,tone:"danger",anchor:"topRight"},children:[{component:"Button",props:{title:"Inbox",variant:"outline"}}]}],usage:{when:["Show a count or a status on its own, or on the corner of an icon, avatar or button.","Mark something unread with a dot or a pulsing badge."],whenNot:[{text:"Showing a status with a word.",instead:"Use StatusBadge."},{text:"Showing a removable label.",instead:"Use Chip."}],do:[{note:"Use the danger tone only for things that need action, such as unread alerts.",example:[{component:"Badge",props:{value:3,tone:"danger"},children:[{component:"Button",props:{title:"Alerts"}}]}]},{note:"Set max so a large count reads 99+ and stays small.",example:[{component:"Badge",props:{value:120,max:99},children:[{component:"Button",props:{title:"Inbox"}}]}]}],dont:[{note:"Do not rely on the colour alone to carry the meaning.",example:[{component:"Badge",props:{variant:"dot",tone:"danger"},children:[{component:"Button",props:{title:"Alerts"}}]}]},{note:"Do not stack several badges on one element.",example:[{component:"Badge",props:{value:4,anchor:"topRight"},children:[{component:"Badge",props:{variant:"dot",tone:"success",anchor:"bottomRight"},children:[{component:"Button",props:{title:"Inbox"}}]}]}]}],a11y:["Set accessibilityLabel to say what the count means, such as 4 unread messages.","Colour is never the only signal; the value or the label carries the meaning."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Banner",marker:null,platforms:["phone"],acceptsChildren:!1,props:{title:{type:"string",description:"A short heading above the message."},message:{type:"node",required:!0,description:"The text of the banner. Plain text gets the built-in styling; a node is drawn as it is."},variant:{type:"enum",values:["info","success","warning","danger","neutral"],default:"info",description:"The kind of message, which sets its colour and icon."},icon:{type:"icon",description:"Replaces the built-in icon. Pass false to draw no icon."},actions:{type:"array",itemFields:{label:{type:"string",required:!0,description:"The button text."},tone:{type:"enum",values:["primary","neutral","danger"],description:"The button colour. Primary takes the banner colour, neutral the secondary text colour and danger the error colour."},variant:{type:"enum",values:["solid","outline","ghost"],description:"The button style: filled, bordered or text only."},size:{type:"enum",values:["sm","md"],description:"The button size. Medium is taller, with a 44 point touch target."}},description:"Buttons drawn under the message."},dismissible:{type:"boolean",default:!1,description:"Shows a close button."},visible:{type:"boolean",default:!0,description:"Shows or hides the banner. Hiding plays the exit animation first."},animateMount:{type:"boolean",default:!0,description:"Slides and fades the banner in when it first appears."},loading:{type:"boolean",default:!1,description:"Draws the placeholder shape instead of the content while data loads."},accessibilityRole:{type:"enum",values:["alert","summary","none"],default:"alert",description:"How a screen reader treats the banner. Alert announces it as it appears; summary and none are read in order."},accessibilityLabel:{type:"string",description:"Replaces what the banner is announced as. Leave it unset so the title, message and each button are read in turn."}},omit:["haptic"],examples:[{id:"Banner.info",title:"Info",props:{variant:"info",title:"Update available",message:"Version 2.4 includes performance improvements."}},{id:"Banner.success",title:"Success",props:{variant:"success",message:"Your changes were saved.",dismissible:!0}},{id:"Banner.danger",title:"Danger",props:{variant:"danger",title:"Payment failed",message:"Check your card details and try again.",dismissible:!0}}],usage:{when:["A message belongs to the whole screen or a section, such as an update, a warning or a saved state.","The message needs a visible place on the page and may offer one or two actions.","The person can dismiss it or leave it until it no longer applies."],whenNot:[{text:"The message is a brief confirmation that should disappear on its own.",instead:"Toast"},{text:"The person must answer before they can continue.",instead:"Dialog"}],do:[{note:"Keep the message to one or two sentences and give the action a clear verb.",example:[{component:"Banner",props:{variant:"info",message:"Version 2.4 is ready.",actions:[{label:"Update"}]}}]}],dont:[{note:"Do not stack several banners on one screen. They compete and the important one gets lost.",example:[{component:"Banner",props:{variant:"warning",message:"Several banners shown at once hide the one that matters."}}]}],a11y:["The alert role announces the banner as it appears, so use it only for something the person must hear now.","Without an accessibility label, a screen reader reads the title, the message and each button in turn."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"BarChart",marker:null,platforms:["phone"],acceptsChildren:!1,props:{data:{type:"array",required:!0,itemFields:{label:{type:"string",required:!0,description:"The full name of the bar, read aloud and written in the callout."},value:{type:"number",required:!0,description:"The bar value. A value below zero draws under the zero line."},axisLabel:{type:"string",description:"A shorter label drawn under the bar. It defaults to the label."},accessibilityLabel:{type:"string",description:"Replaces the spoken text of the bar."}},description:"The bars, left to right."},tone:{type:"enum",values:["primary","success","warning","danger","info","neutral"],default:"primary",description:"The colour of the bars."},color:{type:"string",description:"A single colour for every bar. It wins over the tone."},height:{type:"number",default:160,description:"Height of the plot in points."},label:{type:"string",description:"What the chart shows, read first by a screen reader."},summary:{type:"string",description:"The main message in a sentence, shown while no bar is picked. It defaults to the highest bar."},showValues:{type:"boolean",description:"Draws each bar's value on the bar. It is on by default when there are 7 bars or fewer."},selection:{type:"number",description:"The picked bar, counted from 0, when the screen controls the selection."},defaultSelection:{type:"number",description:"The bar picked at the start when the chart keeps its own selection."}},omit:["haptic"],examples:[{id:"BarChart.default",title:"Default",props:{label:"Approvals per day",summary:"Approvals peaked on Thursday",data:[{label:"Mon 06-Oct-2026",axisLabel:"Mon",value:14},{label:"Tue 07-Oct-2026",axisLabel:"Tue",value:22},{label:"Wed 08-Oct-2026",axisLabel:"Wed",value:9},{label:"Thu 09-Oct-2026",axisLabel:"Thu",value:31}]}},{id:"BarChart.success",title:"Success tone",props:{tone:"success",label:"Approvals per day",data:[{label:"Mon 06-Oct-2026",axisLabel:"Mon",value:14},{label:"Tue 07-Oct-2026",axisLabel:"Tue",value:22},{label:"Wed 08-Oct-2026",axisLabel:"Wed",value:9}]}},{id:"BarChart.negative",title:"Negative values",props:{label:"Change per day",data:[{label:"Mon 06-Oct-2026",axisLabel:"Mon",value:6},{label:"Tue 07-Oct-2026",axisLabel:"Tue",value:-4},{label:"Wed 08-Oct-2026",axisLabel:"Wed",value:9},{label:"Thu 09-Oct-2026",axisLabel:"Thu",value:-7}]}}],usage:{when:["A dashboard shows a handful of values side by side, such as a count per day.","The main message can be written as one sentence under the chart.","Values may be negative and the zero line should stay visible."],whenNot:[{text:"The values are a trend over many points.",instead:"Sparkline"},{text:"The chart must show exact numbers for every point.",instead:"a table of values"}],do:[{note:"Write a summary sentence that names the main message, so the chart reads without touching it.",example:[{component:"BarChart",props:{summary:"Approvals peaked on Thursday",data:[{label:"Mon",value:14},{label:"Thu",value:31}]}}]}],dont:[{note:"Do not leave out the label and summary. A reader then has to guess what the bars mean.",example:[{component:"BarChart",props:{data:[{label:"Mon",value:14},{label:"Thu",value:31}]}}]}],a11y:["A screen reader gets one adjustable element: swipe up or down to move from bar to bar, each read as its label and value.","The label names the chart and is read first."]}});
@@ -1 +1 @@
1
- "use strict";import React,{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,LayoutAnimation,Platform,Pressable,StyleSheet,Text,View}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{useReducedMotion}from"../../hooks/useReducedMotion.js";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{supportsBoxShadow,toBoxShadow}from"../../utils/shadows.js";import{renderSlotIcon}from"../AppIcon/index.js";import{useScreenReaderEnabled}from"./useScreenReaderEnabled.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=forwardRef((e,t)=>{const{tabs:i,centerAction:n,activeTab:o,onChange:a,haptic:r="selection",showLabels:s=!0,variant:l="pill",indicatorPosition:d="bottom",radius:c,indicatorRadius:u="auto",elevation:p,iconSize:m,marginHorizontal:h,marginVertical:g,paddingHorizontal:b,paddingVertical:f,border:x,minimizeOnScroll:y=!1,scrollDirection:_="idle",accessory:w,style:R,indicatorStyle:S,labelStyle:E,labelMaxFontScale:I,testID:A}=e,v=useTheme(),C=useSafeAreaInsets(),j=useMemo(()=>buildStyles(v),[v]),T=m??18,L=T+4+8,V=v.space.lg,D=v.space.lg,k=v.radius.xl,B=useReducedMotion(),M=useScreenReaderEnabled(y),[z,N]=React.useState(null);useEffect(()=>{null!==z&&z!==_&&N(null)},[z,_]);const H=y&&!M&&"down"===_&&null===z,[F,P]=React.useState(H);useEffect(()=>{F!==H&&(B||"web"===Platform.OS||LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut),P(H))},[F,H,B]);const W="function"==typeof w?w({minimized:F}):w,O=null!=W&&!1!==W,U=F&&O,[$,X]=React.useState(0),Z=O&&!U?$+v.space.xs:0,Y="tile"===l,K="floating"===l||Y,q="bubble"===l,G="expand"===l,J="solid"===l,Q="pill"===l||K||J,ee=Math.max(0,i.findIndex(e=>e.key===o)),[te,ie]=React.useState(0),[ne,oe]=React.useState(0),ae=n?Math.ceil(i.length/2):i.length,re=i.length+(n?1:0),[se,le]=React.useState({width:0,height:0}),de=n?.size??48,ce=void 0!==n?.gap,ue=Math.max(0,n?.gap??0),pe=ce?(se.width||de)+2*ue:0,me=ce?i.length>0?Math.max(0,te-pe)/i.length:0:re>0?te/re:0,he=ce?pe:me,ge=useRef(createAnimatedValue(ee)).current,be=useRef({}),fe=useRef({});i.forEach(e=>{be.current[e.key]||(be.current[e.key]=new Animated.Value(1)),fe.current[e.key]||(fe.current[e.key]=createAnimatedValue(e.key===o?1:0))});const xe=me>0?Y?Math.min(me-4,96):Math.min(me-V,64):0,ye=me>0?(me-xe)/2:0,we=me>0?(me-48)/2:0,hasLabel=e=>s&&!F&&!1!==e.showLabel&&e.label.trim().length>0,Re=i[ee],Se=Re&&!hasLabel(Re)&&ne>0?ne/2:v.space.xs+(T+4)/2,Ee=Se-14-24,Ie=Math.max(0,ne-4),Ae=Y?2:Se-L/2,ve=useRef(ee);useEffect(()=>{if(ve.current===ee)return;ve.current=ee;const e=Animated.spring(ge,{toValue:ee,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[ee,ge]);const Ce=Math.max(1,i.length-1),je=useMemo(()=>{const e=[],t=[];for(let i=0;i<=Ce;i++)e.push(i),t.push(i<ae?i*me:i*me+he);return ge.interpolate({inputRange:e,outputRange:t})},[ge,Ce,ae,me,he]),Te=i.map(e=>e.key).join(" "),Le=q||G;useEffect(()=>{const e=Te.split(" ").flatMap(e=>{const t=e===o?1:0,i=fe.current[e];return i?Le?[Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=Animated.parallel(e);return t.start(),()=>t.stop()},[o,Te,Le]);const popIcon=e=>{Animated.sequence([Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},Ve=useRef(new Animated.Value(1)).current,{colors:De}=v,ke=J?De.primary:De.surface,Be=J?De["on-primary"]:De.primary,Me=J?De["on-primary"]:Y?De["text-body"]:De["text-subtle"],ze=J?De["on-primary"]:De["primary-soft"],Ne=J?De.primary:q?De["on-primary"]:Be,He=h??D,Fe=g??(K?D:0),Pe=Fe>0,We=f??v.space.sm,Oe=b??(K?v.space.sm:v.space.xs),Ue=Pe?We:Math.max(We,C.bottom),$e=Pe?Math.max(Fe,C.bottom>0?C.bottom+v.space.sm:0):0,Xe="pill"===c,Ze=K?ne+Z+2*We+2*StyleSheet.hairlineWidth:ne+Z+We+Ue,Ye=Xe?ne>0?Ze/2:v.radius.pill:c??(Y?v.radius.pill:K?k:v.radius.none),Ke=void 0!==c,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Ke?Math.min(Ye,e/2):t,qe="underline"===l?Math.max(Oe,Xe&&0===ne?0:Ye):Oe,Ge=p??"none",Je="none"===Ge?void 0:v.shadow[Ge],Qe=void 0===Je?null:supportsBoxShadow()?{boxShadow:toBoxShadow(Je)}:Je,et=x?StyleSheet.hairlineWidth:0,tt=J?De.primary:De.border,it=n?.lift??0,nt=We+et+Z,ot=n&&ne>0?Math.max(0,(se.height||de)/2+it-ne/2-nt):0,at=n?_jsx(View,{style:[j.centerCell,ce?{flex:0,marginHorizontal:ue}:null],pointerEvents:"box-none",children:_jsx(Pressable,{onPress:()=>{if(!n)return;const e=n.haptic??r;!1!==e&&triggerHaptic(e),popIcon(Ve),n.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;le(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:n.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-it},e?{opacity:.85}:null],testID:n.testID??(A?`${A}-center`:void 0),children:n.content?_jsx(Animated.View,{style:{transform:[{scale:Ve}]},children:n.content}):_jsx(View,{style:[j.centerCircle,{width:de,height:de,borderRadius:v.radius.pill,...smoothCorners,backgroundColor:n.color??De.primary}],children:_jsx(Animated.View,{style:{transform:[{scale:Ve}]},children:renderSlotIcon(n.icon??"add",{color:n.iconColor??De["on-primary"],size:n.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,rt=O?_jsx(View,{style:U?j.accessoryInline:j.accessoryStacked,onLayout:e=>X(e.nativeEvent.layout.height),testID:A?`${A}-accessory`:void 0,children:W}):null,st=_jsxs(View,{style:U?[j.tabRow,j.tabRowInline]:j.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;ie(t),oe(i)},children:[Q&&xe>0&&(!Y||Ie>0)?_jsx(Animated.View,{pointerEvents:"none",style:[j.pill,{width:xe,height:Y?Ie:L,left:ye,top:Ae,backgroundColor:ze,borderRadius:Y?activeBgRadius(Ie,Ie/2):activeBgRadius(L,v.radius.pill),...smoothCorners,transform:[{translateX:je}]},S]}):null,q&&me>0?_jsx(Animated.View,{pointerEvents:"none",style:[j.bubble,v.shadow.elevated,{width:48,height:48,borderRadius:v.radius.pill,...smoothCorners,left:we,top:Ee,backgroundColor:De.primary,borderColor:De.surface,transform:[{translateX:je}]},S]}):null,(lt=i.map(e=>{const t=e.key===o,i=t?Be:Me,n=t?Ne:Me,s="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,l=t?e.activeIcon??s:e.icon,d=be.current[e.key],c=fe.current[e.key],u=formatBadge(e.badge??null),p=badgeAccessibilitySuffix(e.badge??null),m=J&&!t?.7:1,h=q&&t||J?De.primary:De.surface,g=hasLabel(e),b=g&&(!G||t),f=_jsxs(Animated.View,{style:[j.iconWrap,{width:T+4,height:T+4,opacity:m,transform:[{scale:d}]}],children:[renderSlotIcon(l,{color:n,size:T,focused:t,disabled:!1}),u?_jsx(View,{style:[u.isDot?j.badgeDot:j.badgePill,{backgroundColor:De.danger,borderColor:h}],children:u.isDot?null:_jsx(Text,{style:[j.badgeText,{color:De["on-danger"]}],numberOfLines:1,children:u.text})}):null]}),x=q?_jsx(Animated.View,{style:{top:c.interpolate({inputRange:[0,1],outputRange:[0,-14]})},children:f}):f,y=b?_jsx(Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:I??v.settings.maxFontSizeMultiplier??1.2,style:[j.label,G?j.labelInline:null,{color:i,opacity:G?c:m,fontWeight:t?v.weight.semibold:v.weight.normal},E],children:e.label}):null,w=_jsx(Pressable,{onPress:()=>(e=>{F&&N(_),e.key!==o&&!1!==r&&triggerHaptic(r);const t=be.current[e.key];t&&popIcon(t),a(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${p}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[j.tab,Y?j.tabTile:null,e?{opacity:.85}:null],testID:A?`${A}-tab-${e.key}`:void 0,children:G?_jsxs(View,{style:[j.expandPill,{height:L,paddingHorizontal:t&&g?v.space.md:Math.max(0,(L-(T+4))/2)}],children:[_jsx(View,{pointerEvents:"none",style:[j.expandFill,{borderRadius:activeBgRadius(L,L/2),...smoothCorners,backgroundColor:t?De["primary-soft"]:"transparent"},t?S:null]}),x,y]}):_jsxs(_Fragment,{children:[x,y]})},e.key);return G?_jsx(Animated.View,{style:{flex:c.interpolate({inputRange:[0,1],outputRange:[1,g?1.5:1]})},children:w},e.key):w}),at?[...lt.slice(0,ae),at,...lt.slice(ae)]:lt),"underline"===l&&me>0?_jsx(Animated.View,{pointerEvents:"none",style:[j.underline,"top"===d?j.underlineTop:j.underlineBottom,"top"===d?{top:-We-Z}:{bottom:-We},{width:me,height:3,backgroundColor:De.primary,transform:[{translateX:je}]},S]}):null]});var lt;return _jsx(View,{ref:t,testID:A,accessibilityRole:"tablist",style:[j.outer,{paddingHorizontal:He,paddingTop:Math.max(Fe,ot),paddingBottom:$e},R],children:_jsxs(View,{style:[K?j.floatingBar:j.dockedBar,U?j.barInline:null,Qe,{backgroundColor:ke,borderColor:tt,borderRadius:Ye,...smoothCorners},K?{borderWidth:et,paddingHorizontal:Oe,paddingVertical:We}:{borderTopWidth:et,borderBottomWidth:et,borderLeftWidth:et,borderRightWidth:et,paddingHorizontal:qe,paddingTop:We,paddingBottom:Ue}],children:[rt,st]})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:e.space.xs},floatingBar:{paddingVertical:e.space.sm,paddingHorizontal:e.space.sm},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tabRowInline:{flex:1},barInline:{flexDirection:"row",alignItems:"center"},accessoryStacked:{marginBottom:e.space.xs},accessoryInline:{flexShrink:0,marginRight:e.space.xs},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:e.space.xs,gap:e.space.xs},tabTile:{paddingVertical:e.space.sm,gap:e.space.xxs},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.text.xs.size,lineHeight:e.text.xs.size*e.leading.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.text.sm.size,lineHeight:e.text.sm.size*e.leading.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.space.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:e.radius.none,borderTopRightRadius:e.radius.none,...smoothCorners},underlineTop:{borderBottomLeftRadius:e.radius.none,borderBottomRightRadius:e.radius.none,...smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:e.radius.pill,...smoothCorners,paddingHorizontal:e.space.xs,paddingVertical:e.space.xxs,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:e.radius.pill,...smoothCorners,borderWidth:1.5},badgeText:{fontSize:e.text.xs.size,fontWeight:"700",lineHeight:13,textAlign:"center",includeFontPadding:!1}});export{BottomNavigation};export default BottomNavigation;
1
+ "use strict";import React,{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,LayoutAnimation,Platform,Pressable,StyleSheet,Text,View}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{useReducedMotion}from"../../hooks/useReducedMotion.js";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{supportsBoxShadow,toBoxShadow}from"../../utils/shadows.js";import{renderSlotIcon}from"../AppIcon/index.js";import{useScreenReaderEnabled}from"./useScreenReaderEnabled.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=forwardRef((e,t)=>{const{tabs:i,centerAction:n,activeTab:o,onChange:a,haptic:r="selection",showLabels:s=!0,variant:l="pill",indicatorPosition:d="bottom",radius:c,indicatorRadius:u="auto",elevation:p,iconSize:m,marginHorizontal:h,marginVertical:g,paddingHorizontal:b,paddingVertical:f,border:x,minimizeOnScroll:y=!1,scrollDirection:_="idle",accessory:w,style:R,indicatorStyle:S,labelStyle:E,labelMaxFontScale:I,testID:A}=e,v=useTheme(),C=useSafeAreaInsets(),j=useMemo(()=>buildStyles(v),[v]),T=m??18,L=T+4+8,V=v.space.lg,D=v.space.lg,k=v.radius.xl,B=useReducedMotion(),M=useScreenReaderEnabled(y),[z,N]=React.useState(null);useEffect(()=>{null!==z&&z!==_&&N(null)},[z,_]);const H=y&&!M&&"down"===_&&null===z,[F,P]=React.useState(H);useEffect(()=>{F!==H&&(B||"web"===Platform.OS||LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut),P(H))},[F,H,B]);const W="function"==typeof w?w({minimized:F}):w,O=null!=W&&!1!==W,U=F&&O,[$,X]=React.useState(0),Z=O&&!U?$+v.space.xs:0,Y="tile"===l,K="floating"===l||Y,q="bubble"===l,G="expand"===l,J="solid"===l,Q="pill"===l||K||J,ee=Math.max(0,i.findIndex(e=>e.key===o)),[te,ie]=React.useState(0),[ne,oe]=React.useState(0),ae=n?Math.ceil(i.length/2):i.length,re=i.length+(n?1:0),[se,le]=React.useState({width:0,height:0}),de=n?.size??48,ce=void 0!==n?.gap,ue=Math.max(0,n?.gap??0),pe=ce?(se.width||de)+2*ue:0,me=ce?i.length>0?Math.max(0,te-pe)/i.length:0:re>0?te/re:0,he=ce?pe:me,ge=useRef(createAnimatedValue(ee)).current,be=useRef({}),fe=useRef({});i.forEach(e=>{be.current[e.key]||(be.current[e.key]=new Animated.Value(1)),fe.current[e.key]||(fe.current[e.key]=createAnimatedValue(e.key===o?1:0))});const xe=me>0?Y?Math.min(me-4,96):Math.min(me-V,64):0,ye=me>0?(me-xe)/2:0,we=me>0?(me-48)/2:0,hasLabel=e=>s&&!F&&!1!==e.showLabel&&e.label.trim().length>0,Re=i[ee],Se=Re&&!hasLabel(Re)&&ne>0?ne/2:v.space.xs+(T+4)/2,Ee=Se-14-24,Ie=Math.max(0,ne-4),Ae=Y?2:Se-L/2,ve=useRef(ee);useEffect(()=>{if(ve.current===ee)return;ve.current=ee;const e=Animated.spring(ge,{toValue:ee,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[ee,ge]);const Ce=Math.max(1,i.length-1),je=useMemo(()=>{const e=[],t=[];for(let i=0;i<=Ce;i++)e.push(i),t.push(i<ae?i*me:i*me+he);return ge.interpolate({inputRange:e,outputRange:t})},[ge,Ce,ae,me,he]),Te=i.map(e=>e.key).join(" "),Le=q||G;useEffect(()=>{const e=Te.split(" ").flatMap(e=>{const t=e===o?1:0,i=fe.current[e];return i?Le?[Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=Animated.parallel(e);return t.start(),()=>t.stop()},[o,Te,Le]);const popIcon=e=>{Animated.sequence([Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},Ve=useRef(new Animated.Value(1)).current,{colors:De}=v,ke=J?De.primary:De.surface,Be=J?De["on-primary"]:De.primary,Me=J?De["on-primary"]:Y?De["text-body"]:De["text-subtle"],ze=J?De["on-primary"]:De["primary-soft"],Ne=J?De.primary:q?De["on-primary"]:Be,He=h??D,Fe=g??(K?D:0),Pe=Fe>0,We=f??v.space.sm,Oe=b??(K?v.space.sm:v.space.xs),Ue=Pe?We:Math.max(We,C.bottom),$e=Pe?Math.max(Fe,C.bottom>0?C.bottom+v.space.sm:0):0,Xe="pill"===c,Ze=K?ne+Z+2*We+2*StyleSheet.hairlineWidth:ne+Z+We+Ue,Ye=Xe?ne>0?Ze/2:v.radius.pill:c??(Y?v.radius.pill:K?k:v.radius.none),Ke=void 0!==c,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Ke?Math.min(Ye,e/2):t,qe="underline"===l?Math.max(Oe,Xe&&0===ne?0:Ye):Oe,Ge=p??"none",Je="none"===Ge?void 0:v.shadow[Ge],Qe=void 0===Je?null:supportsBoxShadow()?{boxShadow:toBoxShadow(Je)}:Je,et=x?StyleSheet.hairlineWidth:0,tt=J?De.primary:De.border,it=n?.lift??0,nt=We+et+Z,ot=n&&ne>0?Math.max(0,(se.height||de)/2+it-ne/2-nt):0,at=n?_jsx(View,{style:[j.centerCell,ce?{flex:0,marginHorizontal:ue}:null],pointerEvents:"box-none",children:_jsx(Pressable,{onPress:()=>{if(!n)return;const e=n.haptic??r;!1!==e&&triggerHaptic(e),popIcon(Ve),n.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;le(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:n.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-it},e?{opacity:.85}:null],testID:n.testID??(A?`${A}-center`:void 0),children:n.content?_jsx(Animated.View,{style:{transform:[{scale:Ve}]},children:n.content}):_jsx(View,{style:[j.centerCircle,{width:de,height:de,borderRadius:v.radius.pill,...smoothCorners,backgroundColor:n.color??De.primary}],children:_jsx(Animated.View,{style:{transform:[{scale:Ve}]},children:renderSlotIcon(n.icon??"add",{color:n.iconColor??De["on-primary"],size:n.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,rt=O?_jsx(View,{style:U?j.accessoryInline:j.accessoryStacked,onLayout:e=>X(e.nativeEvent.layout.height),testID:A?`${A}-accessory`:void 0,children:W}):null,st=_jsxs(View,{style:U?[j.tabRow,j.tabRowInline]:j.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;ie(t),oe(i)},children:[Q&&xe>0&&(!Y||Ie>0)?_jsx(Animated.View,{pointerEvents:"none",style:[j.pill,{width:xe,height:Y?Ie:L,left:ye,top:Ae,backgroundColor:ze,borderRadius:Y?activeBgRadius(Ie,Ie/2):activeBgRadius(L,v.radius.pill),...smoothCorners,transform:[{translateX:je}]},S]}):null,q&&me>0?_jsx(Animated.View,{pointerEvents:"none",style:[j.bubble,v.shadow.elevated,{width:48,height:48,borderRadius:v.radius.pill,...smoothCorners,left:we,top:Ee,backgroundColor:De.primary,borderColor:De.surface,transform:[{translateX:je}]},S]}):null,(lt=i.map(e=>{const t=e.key===o,i=t?Be:Me,n=t?Ne:Me,s="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,l=t?e.activeIcon??s:e.icon,d=be.current[e.key],c=fe.current[e.key],u=formatBadge(e.badge??null),p=badgeAccessibilitySuffix(e.badge??null),m=J&&!t?.7:1,h=q&&t||J?De.primary:De.surface,g=hasLabel(e),b=g&&(!G||t),f=_jsxs(Animated.View,{style:[j.iconWrap,{width:T+4,height:T+4,opacity:m,transform:[{scale:d}]}],children:[renderSlotIcon(l,{color:n,size:T,focused:t,disabled:!1}),u?_jsx(View,{style:[u.isDot?j.badgeDot:j.badgePill,{backgroundColor:De.danger,borderColor:h}],children:u.isDot?null:_jsx(Text,{style:[j.badgeText,{color:De["on-danger"]}],numberOfLines:1,children:u.text})}):null]}),x=q?_jsx(Animated.View,{style:{top:c.interpolate({inputRange:[0,1],outputRange:[0,-14]})},children:f}):f,y=b?_jsx(Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:I??v.settings.maxFontSizeMultiplier??1.2,style:[j.label,G?j.labelInline:null,{color:i,opacity:G?c:m,fontWeight:t?v.weight.semibold:v.weight.normal},E],children:e.label}):null,w=_jsx(Pressable,{onPress:()=>(e=>{F&&N(_),e.key!==o&&!1!==r&&triggerHaptic(r);const t=be.current[e.key];t&&popIcon(t),a(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${p}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[j.tab,Y?j.tabTile:null,e?{opacity:.85}:null],testID:A?`${A}-tab-${e.key}`:void 0,children:G?_jsxs(View,{style:[j.expandPill,{height:L,paddingHorizontal:t&&g?v.space.md:Math.max(0,(L-(T+4))/2)}],children:[_jsx(View,{pointerEvents:"none",style:[j.expandFill,{borderRadius:activeBgRadius(L,L/2),...smoothCorners,backgroundColor:t?De["primary-soft"]:"transparent"},t?S:null]}),x,y]}):_jsxs(_Fragment,{children:[x,y]})},e.key);return G?_jsx(Animated.View,{style:{flex:c.interpolate({inputRange:[0,1],outputRange:[1,g?1.5:1]})},children:w},e.key):w}),at?[...lt.slice(0,ae),at,...lt.slice(ae)]:lt),"underline"===l&&me>0?_jsx(Animated.View,{pointerEvents:"none",style:[j.underline,"top"===d?j.underlineTop:j.underlineBottom,"top"===d?{top:-We-Z}:{bottom:-We},{width:me,height:3,backgroundColor:De.primary,transform:[{translateX:je}]},S]}):null]});var lt;return _jsx(View,{ref:t,testID:A,accessibilityRole:"tablist",style:[j.outer,{paddingHorizontal:He,paddingTop:Math.max(Fe,ot),paddingBottom:$e},R],children:_jsxs(View,{style:[K?j.floatingBar:j.dockedBar,U?j.barInline:null,Qe,{backgroundColor:ke,borderColor:tt,borderRadius:Ye,...smoothCorners},K?{borderWidth:et,paddingHorizontal:Oe,paddingVertical:We}:{borderTopWidth:et,borderBottomWidth:et,borderLeftWidth:et,borderRightWidth:et,paddingHorizontal:qe,paddingTop:We,paddingBottom:Ue}],children:[rt,st]})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:e.space.xs},floatingBar:{paddingVertical:e.space.sm,paddingHorizontal:e.space.sm},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tabRowInline:{flex:1},barInline:{flexDirection:"row",alignItems:"center"},accessoryStacked:{marginBottom:e.space.xs},accessoryInline:{flexShrink:0,marginRight:e.space.xs},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:e.space.xs,gap:e.space.xs},tabTile:{paddingVertical:e.space.sm,gap:e.space.xxs},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.text.xs.size,lineHeight:e.text.xs.size*e.leading.heading,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.text.sm.size,lineHeight:e.text.sm.size*e.leading.heading,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.space.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:e.radius.none,borderTopRightRadius:e.radius.none,...smoothCorners},underlineTop:{borderBottomLeftRadius:e.radius.none,borderBottomRightRadius:e.radius.none,...smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:e.radius.pill,...smoothCorners,paddingHorizontal:e.space.xs,paddingVertical:e.space.xxs,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:e.radius.pill,...smoothCorners,borderWidth:1.5},badgeText:{fontSize:e.text.xs.size,fontWeight:"700",lineHeight:13,textAlign:"center",includeFontPadding:!1}});export{BottomNavigation};export default BottomNavigation;
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"BottomNavigation",marker:null,platforms:["phone"],acceptsChildren:!1,props:{tabs:{type:"array",required:!0,itemFields:{key:{type:"string",required:!0,description:"A stable id for the tab."},label:{type:"string",required:!0,description:"The text under the icon and the accessible name of the tab."},showLabel:{type:"boolean",description:"Draws this tab's label. False hides the text and keeps it as the accessible name."},icon:{type:"icon",required:!0,description:"The tab icon, an icon name or any node."},activeIcon:{type:"icon",description:"The icon drawn while the tab is active."},badge:{type:"stringOrNumber",description:"A number or text drawn on the tab. True draws a dot."}},description:"The tabs, left to right."},centerAction:{type:"object",fields:{label:{type:"string",required:!0,description:"The accessible name of the button. It is never drawn."},icon:{type:"icon",description:"The icon drawn in the filled circle. It defaults to add."},content:{type:"node",description:"Replaces the filled circle entirely with any node."},size:{type:"number",description:"Diameter of the filled circle in pixels."},color:{type:"string",description:"Fill of the circle."},iconColor:{type:"string",description:"Colour of the icon in the circle."},iconSize:{type:"number",description:"Size of the icon in the circle in pixels."},lift:{type:"number",description:"How far the button rises above the centre of the row, in pixels."},gap:{type:"number",description:"Space between the button and the neighbouring tabs, in pixels."}},description:"A button in the middle of the bar that is not a tab."},activeTab:{type:"string",required:!0,description:"The key of the active tab."},showLabels:{type:"boolean",default:!0,description:"Shows the text label under each icon. Expand only labels the active tab."},variant:{type:"enum",values:["pill","underline","floating","bubble","expand","solid","tile"],default:"pill",description:"The look of the bar."},indicatorPosition:{type:"enum",values:["top","bottom"],default:"bottom",description:"Where the active line sits, for the variants that draw a line."},radius:{type:"stringOrNumber",description:"Corner radius of the bar in pixels, or the text pill for fully round ends."},indicatorRadius:{type:"stringOrNumber",description:"Corner radius of the active tab background in pixels, or the text auto to follow the bar.",default:"auto"},elevation:{type:"enum",values:["none","card","elevated","popover","modal","drawer"],description:"The shadow under the bar, as a shadow name or none."},iconSize:{type:"number",description:"Size of every tab icon in pixels."},marginHorizontal:{type:"number",description:"Space between the bar and the left and right screen edges, in pixels."},marginVertical:{type:"number",description:"Space above and below the bar, in pixels."},paddingHorizontal:{type:"number",description:"Space inside the bar between its edges and the tab row, in pixels."},paddingVertical:{type:"number",description:"Space inside the bar above and below the tab row, in pixels."},border:{type:"boolean",description:"Draws a hairline border around the bar."},minimizeOnScroll:{type:"boolean",default:!1,description:"Shrinks the bar to its icons while the person scrolls down and restores it on scroll up."},scrollDirection:{type:"enum",values:["up","down","idle"],default:"idle",description:"The scroll direction of the screen, read only when minimizeOnScroll is on."},accessory:{type:"node",description:"A compact strip tied to the bar, such as a status line."},labelMaxFontScale:{type:"number",description:"The largest text scale the tab label follows."}},omit:["haptic"],examples:[{id:"BottomNavigation.pill",title:"Pill",props:{variant:"pill",activeTab:"home",tabs:[{key:"home",label:"Home",icon:"home"},{key:"search",label:"Search",icon:"search-normal"},{key:"inbox",label:"Inbox",icon:"sms",badge:3},{key:"profile",label:"Profile",icon:"user"}]}},{id:"BottomNavigation.floating",title:"Floating",props:{variant:"floating",elevation:"card",activeTab:"search",tabs:[{key:"home",label:"Home",icon:"home"},{key:"search",label:"Search",icon:"search-normal"},{key:"profile",label:"Profile",icon:"user"}]}},{id:"BottomNavigation.underline",title:"Underline on top",props:{variant:"underline",indicatorPosition:"top",activeTab:"home",tabs:[{key:"home",label:"Home",icon:"home"},{key:"inbox",label:"Inbox",icon:"sms"},{key:"settings",label:"Settings",icon:"setting-2"}]}}],usage:{when:["The app has three to five top-level places the person moves between often.","The bar should stay on screen so the person always knows where they are.","A badge should show unread or pending work on a tab."],whenNot:[{text:"There are more than five destinations.",instead:"Drawer"},{text:"The choices switch views inside one screen.",instead:"Tabs"}],do:[{note:"Give every tab a short label, even when it also has an icon.",example:[{component:"BottomNavigation",props:{activeTab:"home",tabs:[{key:"home",label:"Home",icon:"home"},{key:"inbox",label:"Inbox",icon:"sms"}]}}]}],dont:[{note:"Do not hide every label with no accessible name left on the tab.",example:[{component:"BottomNavigation",props:{showLabels:!1,activeTab:"home",tabs:[{key:"home",label:"",icon:"home"},{key:"inbox",label:"",icon:"sms"}]}}]}],a11y:["A tab's label is its accessible name, also when showLabel is false.","The bar stays expanded while a screen reader is on.","The centre action's label is its accessible name and is never drawn."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"BottomSheet",marker:null,platforms:["phone"],acceptsChildren:!0,props:{snapPoints:{type:"array",required:!0,description:"The heights the sheet rests at: a number of points, a percentage such as 50%, or content to hug the content."},index:{type:"number",description:"The snap point the sheet shows, counted from 0. Minus one closes it."},enablePanDownToClose:{type:"boolean",default:!0,description:"Lets a drag on the handle past the threshold close the sheet."},enableBackdropPress:{type:"boolean",default:!0,description:"Lets a tap on the scrim close the sheet. Back and Escape follow it."},scrollable:{type:"boolean",default:!1,description:"Wraps the content in a vertical scroll view between the header and the footer."},scrollEventThrottle:{type:"number",description:"How often the inner scroll view reports scrolling, in milliseconds. Used only with scrollable."},backdropOpacity:{type:"number",description:"The opacity of the scrim."},keyboardBehavior:{type:"enum",values:["none","shift"],default:"shift",description:"How the sheet reacts to the keyboard. Shift rides up with it; none stays put."},mode:{type:"enum",values:["modal","inline"],default:"modal",description:"Modal covers the whole screen in a native modal; inline overlays the parent view."},presentation:{type:"enum",values:["sheet","dialog","auto"],default:"sheet",description:"Sheet is full width at the bottom; dialog is centred; auto picks a dialog on a tablet."},header:{type:"node",description:"A fixed region between the handle and the content. It does not scroll."},footer:{type:"node",description:"A fixed region at the bottom of the sheet, such as a row of buttons."},accessibilityLabel:{type:"string",description:"Names the sheet for a screen reader."},accessibilityViewIsModal:{type:"boolean",description:"Tells a screen reader to ignore what is behind the sheet."}},omit:["scrollRef"],examples:[{id:"BottomSheet.content",title:"Hugs its content",props:{snapPoints:["content"],mode:"inline",index:0},children:"Sheet content."},{id:"BottomSheet.headerFooter",title:"Header and footer",props:{snapPoints:["50%"],mode:"inline",index:0,header:"Filters",footer:"Apply"},children:"Choose how to filter the list."},{id:"BottomSheet.dialog",title:"Dialog presentation",props:{snapPoints:["50%"],presentation:"dialog",mode:"inline",index:0},children:"Centred on a tablet."}],usage:{when:["A short task or a list of choices belongs on top of the current screen.","The person should be able to drag the sheet between a small and a tall height.","The content needs a fixed header or a fixed row of buttons."],whenNot:[{text:"The person must answer one question before going on.",instead:"Dialog"},{text:"The content is a full screen of its own.",instead:"a new screen"}],do:[{note:"Use the content snap point so the sheet is as tall as what it holds.",example:[{component:"BottomSheet",props:{snapPoints:["content"],mode:"inline",index:0}}]}],dont:[{note:"Do not set a snap point taller than the content needs. It leaves a large empty area.",example:[{component:"BottomSheet",props:{snapPoints:["90%"],mode:"inline",index:0}}]}],a11y:["Turning off backdrop press also turns off Back and Escape, so a sheet that must be answered stays open.","Set accessibilityLabel so a screen reader names the sheet when it opens."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Spacer",marker:null,platforms:["phone"],acceptsChildren:!1,props:{size:{type:"enum",values:["none","xxs","xs","sm","md","lg","xl","2xl","3xl","4xl"],description:"A fixed gap of this space step. Leave it out for a flexible spacer that pushes its neighbours apart."}},omit:[],examples:[{id:"Spacer.fixed",title:"Fixed gap",props:{size:"lg"}},{id:"Spacer.flexible",title:"Flexible push",props:{}}],usage:{when:["Two siblings need a fixed gap that does not belong to either of them.","A flexible space should push one sibling to the far end of a row or column."],whenNot:[{text:"Every child in a row or column needs the same gap.",instead:"the gap of Row or Stack"}],do:[{note:"Pick a space step by name so the gap follows the shared scale.",example:[{component:"Spacer",props:{size:"md"}}]}],dont:[{note:"Do not stack several spacers to make a larger gap. Use the next step up.",example:[{component:"Spacer",props:{size:"xs"}},{component:"Spacer",props:{size:"xs"}}]}],a11y:["A spacer draws nothing and is skipped by a screen reader."]}});
@@ -1 +1 @@
1
- "use strict";import React,{forwardRef,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{useFlickGuard}from"../../hooks/useFlickGuard.js";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{fontFor,Gradient,resolveButtonSize,useTheme}from"../../theme/index.js";import{createAnimatedValue}from"../../theme/animatedValue.js";import{ariaFromState}from"../../utils/ariaState.js";import{ACCENT_PRESSED_TINT,tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{triggerHaptic}from"../../utils/hapticUtils.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{Spinner}from"../Spinner/index.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const Button=forwardRef((e,t)=>{const{title:r,children:o,variant:s="solid",tone:i="primary",size:n="md",loading:l=!1,disabled:a=!1,fullWidth:d=!1,leftIcon:c,rightIcon:u,iconVariant:b,leftIconBadge:g=!1,haptic:p,rounded:h=!1,gradient:m,style:f,containerStyle:x,textStyle:y,pressAnimation:S,onPress:C,accessibilityLabel:_,accessibilityHint:I,accessibilityState:w,testID:k,onLayout:T,...j}=e;if(__DEV__&&hasTextChild(o))throw new Error('[@webority/mobile-ui] Button was given its label as text children. Pass it as `title` (<Button title="Save" />): text children draw a blank button with no accessible name.');const F=useTheme(),v=!a&&!l,L={...w,disabled:!v,busy:l},R="link"===s,O=S??(!R&&"scale"),P=usePressAnimation({preset:O||"scale",enabled:!1!==O&&v}),A=useFlickGuard(),W=useMemo(()=>buildStyles(F),[F]),V=useMemo(()=>resolveButtonSize(F,n),[F,n]),E=useMemo(()=>toneFor(F,i),[F,i]),z=useMemo(()=>variantFor(F,s,E,a),[F,s,E,a]),B=useMemo(()=>!m||a||"solid"!==s?null:"string"==typeof m?F.settings.gradients[m]??null:m,[m,a,s,F.settings.gradients]),D=StyleSheet.flatten(f)?.borderRadius,H=R?0:"number"==typeof D?D:h?F.radius.pill:V.radius,N=useSquircle(!B&&"link"!==s,H,T),M=useRef(createAnimatedValue(0)).current,[q,G]=useState(0),[K,U]=useState(null),X=R?e=>G(e.nativeEvent.layout.width):void 0,Y=_??r,J="outline"===s||"ghost"===s,Q=!J&&!R,Z={color:z.textColor,size:V.icon,disabled:a},$=g&&!R&&Boolean(c),ee=F.space.xs,te=V["min-height"]-2*ee-2*z.borderWidth,re={color:z.badgeInk,size:V["badge-icon"],disabled:a},oe=l?_jsx(Spinner,{variant:"circular",size:"sm",color:$?z.badgeInk:z.textColor,accessibilityLabel:"Loading"}):c?renderSlotIcon(c,$?re:Z,b):null,se=_jsxs(View,{style:W.contentRow,children:[$?_jsx(View,{testID:"button-icon-badge",style:[W.iconLeft,W.iconBadge,{width:te,height:te,borderRadius:te/2,backgroundColor:z.badgeFill}],children:oe}):oe?_jsx(View,{style:W.iconLeft,children:oe}):null,r?_jsxs(View,{onLayout:X,children:[_jsx(Text,{style:[W.label,{color:z.textColor,fontSize:V.text,...fontFor(F,"semibold")},y],numberOfLines:1,children:r}),R?_jsx(Animated.View,{pointerEvents:"none",testID:"button-link-underline",style:[W.linkUnderline,{backgroundColor:z.textColor,transform:[{translateX:M.interpolate({inputRange:[0,1],outputRange:[-q/2,0]})},{scaleX:M.interpolate({inputRange:[0,1],outputRange:[0,1]})}]}]}):null]}):o,u?_jsx(View,{style:W.iconRight,children:renderSlotIcon(u,Z,b)}):null]}),ie=R?null===K?LINK_HIT_SLOP:Math.max(LINK_HIT_SLOP,touchSlopFor(K)):touchSlopFor(V["min-height"]),ne={top:ie,bottom:ie,left:R?LINK_HIT_SLOP:0,right:R?LINK_HIT_SLOP:0};return _jsx(Animated.View,{style:[P.style,d?W.fullWidth:null,x],children:_jsx(Pressable,{ref:t,onPress:e=>{v&&!A.isFlick(e)&&(P.press(),p&&triggerHaptic(p),C?.(e))},onPressIn:e=>{A.onPressIn(e),P.pressIn(),R&&v&&(M.stopAnimation(),M.setValue(0),Animated.timing(M,{toValue:1,duration:F.motion.duration.slower,easing:Easing.bezier(...F.motion.ease.decelerate),useNativeDriver:!0}).start())},onPressOut:()=>{P.pressOut()},disabled:!v,hitSlop:ne,accessibilityRole:"button",accessibilityLabel:Y,accessibilityHint:I,accessibilityState:L,...ariaFromState(L),testID:k,onLayout:e=>{N.onLayout(e),R&&U(e.nativeEvent.layout.height)},style:({pressed:e})=>[W.base,{paddingHorizontal:R?0:V["padding-x"],paddingVertical:R?0:$?ee:V["padding-y"],paddingLeft:$?ee:void 0,minHeight:R?void 0:V["min-height"],borderRadius:H,...smoothCorners,backgroundColor:B||N.active?"transparent":z.backgroundColor,borderWidth:z.borderWidth,borderColor:N.active?"transparent":z.borderColor,opacity:l?.55:1,overflow:N.active||R?"visible":"hidden"},e&&J&&!N.active?{backgroundColor:F.colors["surface-pressed"]}:null,d?W.fullWidth:null,f],...j,"aria-disabled":!v,"aria-busy":l,children:({pressed:e})=>_jsxs(_Fragment,{children:[N.active&&N.size?_jsx(SquircleFill,{width:N.size.width,height:N.size.height,radius:H,fill:e&&J?F.colors["surface-pressed"]:z.backgroundColor,stroke:z.borderColor,strokeWidth:z.borderWidth,outset:z.borderWidth}):null,B?_jsx(Gradient,{gradient:B,style:[StyleSheet.absoluteFill,{borderRadius:H,...smoothCorners}]}):null,e&&Q?N.active&&N.size?_jsx(SquircleFill,{width:N.size.width,height:N.size.height,radius:H,fill:z.pressedTint,outset:z.borderWidth,testID:"button-pressed"}):_jsx(View,{pointerEvents:"none",style:[W.pressedOverlay,{borderRadius:H,backgroundColor:z.pressedTint,...smoothCorners}],testID:"button-pressed"}):null,se]})})})});Button.displayName="Button";const hasTextChild=e=>React.Children.toArray(e).some(e=>"string"==typeof e||"number"==typeof e),SOFT_FILL_OPACITY=.14,toneFor=(e,t)=>{switch(t){case"primary":return{base:e.colors.primary,on:e.colors["on-primary"],fg:e.colors["primary-text"],soft:tintOf(e.colors.primary,.14,e.colors["primary-soft"])};case"secondary":return{base:e.colors.neutral,on:e.colors["on-neutral"],fg:e.colors["on-neutral"],soft:e.colors.neutral};case"success":return{base:e.colors.success,on:e.colors["on-success"],fg:e.colors["success-text"],soft:tintOf(e.colors.success,.14,e.colors["bg-subtle"])};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"],fg:e.colors["warning-text"],soft:tintOf(e.colors.warning,.14,e.colors["bg-subtle"])};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"],fg:e.colors["danger-text"],soft:tintOf(e.colors.danger,.14,e.colors["bg-subtle"])};default:return{base:e.colors["bg-muted"],on:e.colors["text-body"],fg:e.colors["text-body"],soft:e.colors["bg-subtle"]}}},BUTTON_BORDER_WIDTH=1,MIN_TOUCH_TARGET=44,LINK_HIT_SLOP=8,touchSlopFor=e=>Math.max(0,Math.ceil((44-e)/2)),variantFor=(e,t,r,o)=>{const s=o?e.colors["text-disabled"]:r.fg,i={badgeFill:e.colors["surface-disabled"],badgeInk:e.colors["text-disabled"]},n=o?i:{badgeFill:r.on,badgeInk:r.base},l=o?i:{badgeFill:r.base,badgeInk:r.on};switch(t){case"solid":return{backgroundColor:o?e.colors["surface-disabled"]:r.base,borderColor:"transparent",borderWidth:1,textColor:o?e.colors["text-disabled"]:r.on,pressedTint:e.colors["surface-pressed"],...n};case"soft":return{backgroundColor:o?e.colors["surface-disabled"]:r.soft,borderColor:"transparent",borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"outline":return{backgroundColor:"transparent",borderColor:o?e.colors.border:r.base,borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"ghost":return{backgroundColor:"transparent",borderColor:"transparent",borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"link":return{backgroundColor:"transparent",borderColor:"transparent",borderWidth:0,textColor:o?e.colors["text-disabled"]:e.colors.link,pressedTint:e.colors["surface-pressed"],...l};case"glass":return{backgroundColor:e.colors["glass-fill"],borderColor:e.colors["glass-border"],borderWidth:1,textColor:o?e.colors["text-disabled"]:e.colors["on-glass"],pressedTint:ACCENT_PRESSED_TINT,badgeFill:e.colors["glass-badge"],badgeInk:o?e.colors["text-disabled"]:r.base};default:return{backgroundColor:r.base,borderColor:"transparent",borderWidth:1,textColor:r.on,pressedTint:e.colors["surface-pressed"],...n}}},buildStyles=e=>StyleSheet.create({pressedOverlay:{position:"absolute",top:0,right:0,bottom:0,left:0},base:{alignItems:"center",justifyContent:"center",flexDirection:"row",overflow:"hidden"},contentRow:{flexDirection:"row",alignItems:"center",justifyContent:"center"},label:{textAlign:"center",includeFontPadding:!1,textAlignVertical:"center"},linkUnderline:{height:1.5,marginTop:1},iconLeft:{marginRight:e.space.sm},iconBadge:{alignItems:"center",justifyContent:"center"},iconRight:{marginLeft:e.space.sm},fullWidth:{alignSelf:"stretch"}});export{Button};export default Button;
1
+ "use strict";import React,{forwardRef,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{useFlickGuard}from"../../hooks/useFlickGuard.js";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{fontFor,Gradient,resolveButtonSize,useTheme}from"../../theme/index.js";import{createAnimatedValue}from"../../theme/animatedValue.js";import{ariaFromState}from"../../utils/ariaState.js";import{ACCENT_PRESSED_TINT,tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{Spinner}from"../Spinner/index.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const Button=forwardRef((e,t)=>{const{title:r,children:o,variant:s="solid",tone:i="primary",size:n="md",loading:l=!1,disabled:a=!1,fullWidth:d=!1,leftIcon:c,rightIcon:u,iconVariant:b,leftIconBadge:g=!1,haptic:p,rounded:h=!1,gradient:m,style:f,containerStyle:x,textStyle:y,pressAnimation:S,onPress:C,accessibilityLabel:_,accessibilityHint:I,accessibilityState:k,testID:w,onLayout:j,...T}=e;if(__DEV__&&hasTextChild(o))throw new Error('[@webority/mobile-ui] Button was given its label as text children. Pass it as `title` (<Button title="Save" />): text children draw a blank button with no accessible name.');const F=useTheme(),v=!a&&!l,L={...k,disabled:!v,busy:l},R="link"===s,O=S??(!R&&"scale"),P=usePressAnimation({preset:O||"scale",enabled:!1!==O&&v}),A=useFlickGuard(),W=useMemo(()=>buildStyles(F),[F]),V=useMemo(()=>resolveButtonSize(F,n),[F,n]),E=useMemo(()=>toneFor(F,i),[F,i]),z=useMemo(()=>variantFor(F,s,E,a),[F,s,E,a]),B=useMemo(()=>!m||a||"solid"!==s?null:"string"==typeof m?F.settings.gradients[m]??null:m,[m,a,s,F.settings.gradients]),D=StyleSheet.flatten(f)?.borderRadius,H=R?0:"number"==typeof D?D:h?F.radius.pill:V.radius,N=useSquircle(!B&&"link"!==s,H,j),M=useRef(createAnimatedValue(0)).current,[q,G]=useState(0),[K,U]=useState(null),X=R?e=>G(e.nativeEvent.layout.width):void 0,Y=_??r,J="outline"===s||"ghost"===s,Q=!J&&!R,Z={color:z.textColor,size:V.icon,disabled:a},$=g&&!R&&Boolean(c),ee=F.space.xs,te=V["min-height"]-2*ee-2*z.borderWidth,re={color:z.badgeInk,size:V["badge-icon"],disabled:a},oe=l?_jsx(Spinner,{variant:"circular",size:"sm",color:$?z.badgeInk:z.textColor,accessibilityLabel:"Loading"}):c?renderSlotIcon(c,$?re:Z,b):null,se=_jsxs(View,{style:W.contentRow,children:[$?_jsx(View,{testID:"button-icon-badge",style:[W.iconLeft,W.iconBadge,{width:te,height:te,borderRadius:te/2,backgroundColor:z.badgeFill}],children:oe}):oe?_jsx(View,{style:W.iconLeft,children:oe}):null,r?_jsxs(View,{onLayout:X,children:[_jsx(Text,{style:[W.label,{color:z.textColor,fontSize:V.text,...fontFor(F,"semibold")},y],numberOfLines:1,children:r}),R?_jsx(Animated.View,{pointerEvents:"none",testID:"button-link-underline",style:[W.linkUnderline,{backgroundColor:z.textColor,transform:[{translateX:M.interpolate({inputRange:[0,1],outputRange:[-q/2,0]})},{scaleX:M.interpolate({inputRange:[0,1],outputRange:[0,1]})}]}]}):null]}):o,u?_jsx(View,{style:W.iconRight,children:renderSlotIcon(u,Z,b)}):null]}),ie=R?null===K?LINK_HIT_SLOP:Math.max(LINK_HIT_SLOP,touchSlopFor(K)):touchSlopFor(V["min-height"]),ne={top:ie,bottom:ie,left:R?LINK_HIT_SLOP:0,right:R?LINK_HIT_SLOP:0};return _jsx(Animated.View,{style:[P.style,d?W.fullWidth:null,x],children:_jsx(Pressable,{ref:t,onPress:e=>{v&&!A.isFlick(e)&&(P.press(),p&&triggerHaptic(p),C?.(e))},onPressIn:e=>{A.onPressIn(e),P.pressIn(),R&&v&&(M.stopAnimation(),M.setValue(0),Animated.timing(M,{toValue:1,duration:F.motion.duration.slower,easing:Easing.bezier(...F.motion.ease.decelerate),useNativeDriver:!0}).start())},onPressOut:()=>{P.pressOut()},disabled:!v,hitSlop:ne,...hitSlopMarker(ne),accessibilityRole:"button",accessibilityLabel:Y,accessibilityHint:I,accessibilityState:L,...ariaFromState(L),testID:w,onLayout:e=>{N.onLayout(e),R&&U(e.nativeEvent.layout.height)},style:({pressed:e})=>[W.base,{paddingHorizontal:R?0:V["padding-x"],paddingVertical:R?0:$?ee:V["padding-y"],paddingLeft:$?ee:void 0,minHeight:R?void 0:V["min-height"],borderRadius:H,...smoothCorners,backgroundColor:B||N.active?"transparent":z.backgroundColor,borderWidth:z.borderWidth,borderColor:N.active?"transparent":z.borderColor,opacity:l?.55:1,overflow:N.active||R?"visible":"hidden"},e&&J&&!N.active?{backgroundColor:F.colors["surface-pressed"]}:null,d?W.fullWidth:null,f],...T,"aria-disabled":!v,"aria-busy":l,children:({pressed:e})=>_jsxs(_Fragment,{children:[N.active&&N.size?_jsx(SquircleFill,{width:N.size.width,height:N.size.height,radius:H,fill:e&&J?F.colors["surface-pressed"]:z.backgroundColor,stroke:z.borderColor,strokeWidth:z.borderWidth,outset:z.borderWidth}):null,B?_jsx(Gradient,{gradient:B,style:[StyleSheet.absoluteFill,{borderRadius:H,...smoothCorners}]}):null,e&&Q?N.active&&N.size?_jsx(SquircleFill,{width:N.size.width,height:N.size.height,radius:H,fill:z.pressedTint,outset:z.borderWidth,testID:"button-pressed"}):_jsx(View,{pointerEvents:"none",style:[W.pressedOverlay,{borderRadius:H,backgroundColor:z.pressedTint,...smoothCorners}],testID:"button-pressed"}):null,se]})})})});Button.displayName="Button";const hasTextChild=e=>React.Children.toArray(e).some(e=>"string"==typeof e||"number"==typeof e),SOFT_FILL_OPACITY=.14,toneFor=(e,t)=>{switch(t){case"primary":return{base:e.colors.primary,on:e.colors["on-primary"],fg:e.colors["primary-text"],soft:tintOf(e.colors.primary,.14,e.colors["primary-soft"])};case"secondary":return{base:e.colors.neutral,on:e.colors["on-neutral"],fg:e.colors["on-neutral"],soft:e.colors.neutral};case"success":return{base:e.colors.success,on:e.colors["on-success"],fg:e.colors["success-text"],soft:tintOf(e.colors.success,.14,e.colors["bg-subtle"])};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"],fg:e.colors["warning-text"],soft:tintOf(e.colors.warning,.14,e.colors["bg-subtle"])};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"],fg:e.colors["danger-text"],soft:tintOf(e.colors.danger,.14,e.colors["bg-subtle"])};default:return{base:e.colors["bg-muted"],on:e.colors["text-body"],fg:e.colors["text-body"],soft:e.colors["bg-subtle"]}}},BUTTON_BORDER_WIDTH=1,MIN_TOUCH_TARGET=44,LINK_HIT_SLOP=8,touchSlopFor=e=>Math.max(0,Math.ceil((44-e)/2)),variantFor=(e,t,r,o)=>{const s=o?e.colors["text-disabled"]:r.fg,i={badgeFill:e.colors["surface-disabled"],badgeInk:e.colors["text-disabled"]},n=o?i:{badgeFill:r.on,badgeInk:r.base},l=o?i:{badgeFill:r.base,badgeInk:r.on};switch(t){case"solid":return{backgroundColor:o?e.colors["surface-disabled"]:r.base,borderColor:"transparent",borderWidth:1,textColor:o?e.colors["text-disabled"]:r.on,pressedTint:e.colors["surface-pressed"],...n};case"soft":return{backgroundColor:o?e.colors["surface-disabled"]:r.soft,borderColor:"transparent",borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"outline":return{backgroundColor:"transparent",borderColor:o?e.colors.border:r.base,borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"ghost":return{backgroundColor:"transparent",borderColor:"transparent",borderWidth:1,textColor:s,pressedTint:e.colors["surface-pressed"],...l};case"link":return{backgroundColor:"transparent",borderColor:"transparent",borderWidth:0,textColor:o?e.colors["text-disabled"]:e.colors.link,pressedTint:e.colors["surface-pressed"],...l};case"glass":return{backgroundColor:e.colors["glass-fill"],borderColor:e.colors["glass-border"],borderWidth:1,textColor:o?e.colors["text-disabled"]:e.colors["on-glass"],pressedTint:ACCENT_PRESSED_TINT,badgeFill:e.colors["glass-badge"],badgeInk:o?e.colors["text-disabled"]:r.base};default:return{backgroundColor:r.base,borderColor:"transparent",borderWidth:1,textColor:r.on,pressedTint:e.colors["surface-pressed"],...n}}},buildStyles=e=>StyleSheet.create({pressedOverlay:{position:"absolute",top:0,right:0,bottom:0,left:0},base:{alignItems:"center",justifyContent:"center",flexDirection:"row",overflow:"hidden"},contentRow:{flexDirection:"row",alignItems:"center",justifyContent:"center"},label:{textAlign:"center",includeFontPadding:!1,textAlignVertical:"center"},linkUnderline:{height:1.5,marginTop:1},iconLeft:{marginRight:e.space.sm},iconBadge:{alignItems:"center",justifyContent:"center"},iconRight:{marginLeft:e.space.sm},fullWidth:{alignSelf:"stretch"}});export{Button};export default Button;
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Button",marker:null,platforms:["phone"],acceptsChildren:!0,props:{title:{type:"string",description:"The label, and the accessible name of the button unless an accessibility label is set."},variant:{type:"enum",values:["solid","soft","outline","ghost","link","glass"],default:"solid",description:"The visual weight, heaviest first. Glass suits a button on a gradient or a photo."},tone:{type:"enum",values:["primary","secondary","success","warning","danger","neutral"],default:"primary",description:"The colour family of the button."},size:{type:"enum",values:["xs","sm","md","lg","xl"],default:"md",description:"The size of the button."},loading:{type:"boolean",default:!1,description:"Disables the button and draws a spinner before the title."},disabled:{type:"boolean",default:!1,description:"Blocks presses and dims the button."},fullWidth:{type:"boolean",default:!1,description:"Stretches the button to the full width of its parent."},leftIcon:{type:"icon",description:"An icon before the title."},rightIcon:{type:"icon",description:"An icon after the title."},iconVariant:{type:"enum",values:["linear","bold","broken","bulk","outline","twotone"],description:"The icon style for an icon given by name."},leftIconBadge:{type:"boolean",default:!1,description:"Draws the left icon inside its own disc at the left edge. Ignored on a link."},rounded:{type:"boolean",default:!1,description:"Gives the button fully round ends."},accessibilityHint:{type:"string",description:"What happens when the control is used, read after its name by a screen reader."},accessibilityLabel:{type:"string",description:"Replaces the title as the accessible name of the button."}},omit:["haptic","gradient","pressAnimation","hitSlop","id","needsOffscreenAlphaCompositing","pointerEvents","removeClippedSubviews","nativeID","collapsable","collapsableChildren","renderToHardwareTextureAndroid","focusable","tabIndex","shouldRasterizeIOS","isTVSelectable","hasTVPreferredFocus","tvParallaxShiftDistanceX","tvParallaxShiftDistanceY","tvParallaxTiltAngle","tvParallaxMagnification","accessible","accessibilityActions","aria-label","accessibilityRole","accessibilityState","aria-busy","aria-checked","aria-disabled","aria-expanded","aria-selected","accessibilityValue","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","importantForAccessibility","aria-hidden","aria-modal","role","accessibilityLabelledBy","aria-labelledby","accessibilityLiveRegion","aria-live","screenReaderFocusable","accessibilityElementsHidden","accessibilityViewIsModal","accessibilityIgnoresInvertColors","accessibilityLanguage","accessibilityShowsLargeContentViewer","accessibilityLargeContentTitle","accessibilityRespondsToUserInteraction","cancelable","delayHoverIn","delayHoverOut","delayLongPress","pressRetentionOffset","android_disableSound","android_ripple","testOnly_pressed","unstable_pressDelay"],examples:[{id:"Button.solid",title:"Solid",props:{title:"Save",variant:"solid",tone:"primary"}},{id:"Button.outline",title:"Outline",props:{title:"Cancel",variant:"outline",tone:"neutral"}},{id:"Button.danger",title:"Danger",props:{title:"Delete",tone:"danger"}},{id:"Button.icon",title:"With an icon",props:{title:"Add item",leftIcon:"add",size:"lg"}}],usage:{when:["The person starts an action, such as saving, sending or adding.","One action on a screen is the main one and should stand out.","An action is in progress and the button should show it with a spinner."],whenNot:[{text:"The control moves to another screen as part of the text.",instead:"a link variant button"},{text:"The control toggles a setting on or off.",instead:"Switch"}],do:[{note:"Label the button with a verb that says what happens.",example:[{component:"Button",props:{title:"Save changes"}}]}],dont:[{note:"Do not use several solid primary buttons side by side. Only one action is the main one.",example:[{component:"Button",props:{title:"Save"}},{component:"Button",props:{title:"Send"}}]}],a11y:["The title is the accessible name; set an accessibility label only when it should differ.","Pass the label as the title, not as text children, which draw a blank button.","While loading, the button reports itself as disabled and busy."]}});
@@ -0,0 +1 @@
1
+ "use strict";import{definePhoneMeta}from"../../canvasKit/meta.js";export const meta=definePhoneMeta()({name:"Calendar",marker:null,platforms:["phone"],acceptsChildren:!1,props:{mode:{type:"enum",values:["single","range"],default:"single",description:"Single picks one day; range picks a start and then an end."},value:{type:"object",required:!0,fields:{start:{type:"string",required:!0,description:"The first day, as an ISO date."},end:{type:"string",description:"The last day of a range, as an ISO date. It is absent while a range is in progress."}},description:"The selection, or null when nothing is picked. Dates are written as ISO strings."},month:{type:"string",description:"A day in the month shown, as an ISO date. Leave it out to let the calendar keep the month."},minDate:{type:"string",description:"The earliest day that can be picked, as an ISO date."},maxDate:{type:"string",description:"The latest day that can be picked, as an ISO date."},disabledDates:{type:"array",description:"Days that cannot be picked, as ISO dates."},weekStartsOn:{type:"enum",values:[0,1,6],default:0,description:"The first weekday of the grid: 0 is Sunday, 1 is Monday and 6 is Saturday."},locale:{type:"string",default:"en-IN",description:"The locale for month, weekday and day names."},markedDates:{type:"array",itemFields:{date:{type:"string",required:!0,description:"The marked day, as an ISO date."},kind:{type:"enum",values:["holiday","event","pending"],required:!0,description:"What the mark means."},label:{type:"string",description:"What the day is, read aloud before its kind."},tone:{type:"enum",values:["success","warning","danger","info","primary","neutral"],description:"The dot colour. It defaults by kind."}},description:"Days drawn with a dot and read aloud with each day."},strikeMarkedInRange:{type:"boolean",default:!1,description:"In range mode, strikes holidays inside a complete range and reads them as not counted."},cellSize:{type:"number",description:"Fixed width and height of each day, at least 44. Unset, days share the width equally."},accessibilityLabel:{type:"string",description:"Names the calendar. It is read with the month heading."}},omit:["haptic"],examples:[{id:"Calendar.single",title:"Single day",props:{value:{start:"2026-10-12"},mode:"single"}},{id:"Calendar.range",title:"Range",props:{value:{start:"2026-10-12",end:"2026-10-16"},mode:"range",strikeMarkedInRange:!0}},{id:"Calendar.mondayStart",title:"Week starts on Monday",props:{value:{start:"2026-10-12"},mode:"single",weekStartsOn:1}}],usage:{when:["The person picks one day or a range from a visible month, such as leave dates.","Holidays or events should show as marks on the days.","The grid should sit inside the page rather than in a sheet."],whenNot:[{text:"The person picks a date from a form field.",instead:"DatePicker"},{text:"The person picks a range from a form field.",instead:"DateRangePicker"}],do:[{note:"Mark holidays so the person sees them before picking a range.",example:[{component:"Calendar",props:{mode:"range",strikeMarkedInRange:!0}}]}],dont:[{note:"Do not set a cell size below 44. The days become hard to tap.",example:[{component:"Calendar",props:{mode:"single",cellSize:30}}]}],a11y:["Each marked day is read aloud with its label and kind.","Days keep a touch target of at least 44 points.","Set accessibilityLabel so the calendar is named with its month heading."]}});