@webority/mobile-ui 0.106.0 → 0.108.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 (1246) hide show
  1. package/dist/canvas-kit/kit.js +11895 -11741
  2. package/dist/canvas-kit/manifest.json +964 -766
  3. package/dist/canvas-kit/release.json +6 -6
  4. package/lib/commonjs/components/Accordion/Accordion.js +1 -1
  5. package/lib/commonjs/components/AmountSlider/AmountSlider.js +1 -1
  6. package/lib/commonjs/components/AmountSlider/index.js +1 -1
  7. package/lib/commonjs/components/AnimatePresence/AnimatePresence.js +1 -1
  8. package/lib/commonjs/components/AppBar/AppBar.js +1 -1
  9. package/lib/commonjs/components/AppBar/index.js +1 -1
  10. package/lib/commonjs/components/AppIcon/AppIcon.js +1 -1
  11. package/lib/commonjs/components/AppLockOverlay/AppLockOverlay.js +1 -0
  12. package/lib/commonjs/components/AppLockOverlay/index.js +1 -0
  13. package/lib/commonjs/components/AsyncBlock/AsyncBlock.js +1 -1
  14. package/lib/commonjs/components/AsyncBlock/index.js +1 -1
  15. package/lib/commonjs/components/AuthedImage/AuthedImage.js +1 -1
  16. package/lib/commonjs/components/AuthedImage/authedImageCache.js +1 -1
  17. package/lib/commonjs/components/Autocomplete/Autocomplete.js +1 -1
  18. package/lib/commonjs/components/Autocomplete/index.js +1 -1
  19. package/lib/commonjs/components/Avatar/Avatar.js +1 -1
  20. package/lib/commonjs/components/Avatar/index.js +1 -1
  21. package/lib/commonjs/components/Badge/Badge.js +1 -1
  22. package/lib/commonjs/components/Badge/index.js +1 -1
  23. package/lib/commonjs/components/Banner/Banner.js +1 -1
  24. package/lib/commonjs/components/Banner/index.js +1 -1
  25. package/lib/commonjs/components/BarChart/BarChart.js +1 -1
  26. package/lib/commonjs/components/BarChart/index.js +1 -1
  27. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
  28. package/lib/commonjs/components/BottomNavigation/index.js +1 -1
  29. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
  30. package/lib/commonjs/components/BottomSheet/index.js +1 -1
  31. package/lib/commonjs/components/Box/Box.js +1 -1
  32. package/lib/commonjs/components/Button/Button.js +1 -1
  33. package/lib/commonjs/components/Calendar/Calendar.js +1 -1
  34. package/lib/commonjs/components/Calendar/CalendarDay.js +1 -1
  35. package/lib/commonjs/components/Calendar/calendarStyles.js +1 -1
  36. package/lib/commonjs/components/Calendar/index.js +1 -1
  37. package/lib/commonjs/components/Card/Card.js +1 -1
  38. package/lib/commonjs/components/Card/index.js +1 -1
  39. package/lib/commonjs/components/Carousel/Carousel.js +1 -1
  40. package/lib/commonjs/components/Carousel/index.js +1 -1
  41. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
  42. package/lib/commonjs/components/Chip/Chip.js +1 -1
  43. package/lib/commonjs/components/Chip/index.js +1 -1
  44. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -1
  45. package/lib/commonjs/components/Composer/Composer.js +1 -1
  46. package/lib/commonjs/components/Composer/index.js +1 -1
  47. package/lib/commonjs/components/Confetti/Confetti.js +1 -1
  48. package/lib/commonjs/components/Confirm/confirm.js +1 -0
  49. package/lib/commonjs/components/Confirm/index.js +1 -0
  50. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
  51. package/lib/commonjs/components/DatePicker/index.js +1 -1
  52. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -1
  53. package/lib/commonjs/components/DateRangePicker/index.js +1 -1
  54. package/lib/commonjs/components/DateSeparator/DateSeparator.js +1 -1
  55. package/lib/commonjs/components/DecimalInput/DecimalInput.js +1 -1
  56. package/lib/commonjs/components/DecimalInput/index.js +1 -1
  57. package/lib/commonjs/components/Descriptions/Descriptions.js +1 -1
  58. package/lib/commonjs/components/Dialog/Dialog.js +1 -1
  59. package/lib/commonjs/components/Divider/Divider.js +1 -1
  60. package/lib/commonjs/components/Drawer/Drawer.js +1 -1
  61. package/lib/commonjs/components/Drawer/index.js +1 -1
  62. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
  63. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -1
  64. package/lib/commonjs/components/ErrorBoundary/index.js +1 -1
  65. package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -1
  66. package/lib/commonjs/components/FieldBase/FieldBase.js +1 -1
  67. package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -1
  68. package/lib/commonjs/components/FilePicker/FilePicker.js +1 -1
  69. package/lib/commonjs/components/FilePicker/index.js +1 -1
  70. package/lib/commonjs/components/FilterChipRow/FilterChipRow.js +1 -1
  71. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
  72. package/lib/commonjs/components/FloatingActionButton/index.js +1 -1
  73. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  74. package/lib/commonjs/components/ForceUpdateDialog/index.js +1 -1
  75. package/lib/commonjs/components/FormField/FormField.js +1 -1
  76. package/lib/commonjs/components/FormField/index.js +1 -1
  77. package/lib/commonjs/components/IconBadge/IconBadge.js +1 -1
  78. package/lib/commonjs/components/IconButton/IconButton.js +1 -1
  79. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  80. package/lib/commonjs/components/ImageGallery/index.js +1 -1
  81. package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -1
  82. package/lib/commonjs/components/InlineSelect/index.js +1 -1
  83. package/lib/commonjs/components/Input/Input.js +1 -1
  84. package/lib/commonjs/components/Input/index.js +1 -1
  85. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  86. package/lib/commonjs/components/KeyboardToolbar/index.js +1 -1
  87. package/lib/commonjs/components/ListItem/ListItem.js +1 -1
  88. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -1
  89. package/lib/commonjs/components/LoaderOverlay/index.js +1 -1
  90. package/lib/commonjs/components/Menu/Menu.js +1 -1
  91. package/lib/commonjs/components/Menu/MenuSurface.js +1 -1
  92. package/lib/commonjs/components/Menu/index.js +1 -1
  93. package/lib/commonjs/components/Menu/menuModel.js +1 -1
  94. package/lib/commonjs/components/Menu/useContextMenu.js +1 -1
  95. package/lib/commonjs/components/MessageBubble/MessageBubble.js +1 -1
  96. package/lib/commonjs/components/Modal/Modal.js +1 -1
  97. package/lib/commonjs/components/Modal/index.js +1 -1
  98. package/lib/commonjs/components/NumberInput/NumberInput.js +1 -1
  99. package/lib/commonjs/components/NumberInput/index.js +1 -1
  100. package/lib/commonjs/components/OTPInput/OTPInput.js +1 -1
  101. package/lib/commonjs/components/OTPInput/index.js +1 -1
  102. package/lib/commonjs/components/OnboardingPager/OnboardingPager.js +1 -1
  103. package/lib/commonjs/components/OnboardingPager/index.js +1 -1
  104. package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
  105. package/lib/commonjs/components/OptionSheet/index.js +1 -1
  106. package/lib/commonjs/components/PagedListFooter/PagedListFooter.js +1 -0
  107. package/lib/commonjs/components/PagedListFooter/index.js +1 -0
  108. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.js +1 -1
  109. package/lib/commonjs/components/PermissionPrompt/index.js +1 -1
  110. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  111. package/lib/commonjs/components/PhoneNumberInput/index.js +1 -1
  112. package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +1 -1
  113. package/lib/commonjs/components/PickerTrigger/index.js +1 -1
  114. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -1
  115. package/lib/commonjs/components/ProfileCompletion/index.js +1 -1
  116. package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
  117. package/lib/commonjs/components/ProfilePicker/index.js +1 -1
  118. package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -1
  119. package/lib/commonjs/components/ProgressBar/index.js +1 -1
  120. package/lib/commonjs/components/ProgressRing/ProgressRing.js +1 -1
  121. package/lib/commonjs/components/Radio/Radio.js +1 -1
  122. package/lib/commonjs/components/Radio/RadioGroup.js +1 -1
  123. package/lib/commonjs/components/Rating/Rating.js +1 -1
  124. package/lib/commonjs/components/Rating/index.js +1 -1
  125. package/lib/commonjs/components/Repeater/Repeater.js +1 -1
  126. package/lib/commonjs/components/Repeater/index.js +1 -1
  127. package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -1
  128. package/lib/commonjs/components/RichTextEditor/index.js +1 -1
  129. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.js +1 -1
  130. package/lib/commonjs/components/ScannerOverlay/index.js +1 -1
  131. package/lib/commonjs/components/Screen/Screen.js +1 -1
  132. package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
  133. package/lib/commonjs/components/SearchBar/SearchPanel.js +1 -1
  134. package/lib/commonjs/components/SearchBar/index.js +1 -1
  135. package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -1
  136. package/lib/commonjs/components/SectionHeader/index.js +1 -1
  137. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
  138. package/lib/commonjs/components/Select/Select.js +1 -1
  139. package/lib/commonjs/components/Select/index.js +1 -1
  140. package/lib/commonjs/components/SignaturePad/SignaturePad.js +1 -1
  141. package/lib/commonjs/components/SignaturePad/index.js +1 -1
  142. package/lib/commonjs/components/Skeleton/Skeleton.js +1 -1
  143. package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -1
  144. package/lib/commonjs/components/Skeleton/SkeletonList.js +1 -1
  145. package/lib/commonjs/components/Skeleton/index.js +1 -1
  146. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -1
  147. package/lib/commonjs/components/SlideToConfirm/index.js +1 -1
  148. package/lib/commonjs/components/Slider/Slider.js +1 -1
  149. package/lib/commonjs/components/Slider/valueText.js +1 -1
  150. package/lib/commonjs/components/SliderField/SliderField.js +1 -1
  151. package/lib/commonjs/components/SliderField/index.js +1 -1
  152. package/lib/commonjs/components/SortableList/SortableList.js +1 -1
  153. package/lib/commonjs/components/SortableList/index.js +1 -1
  154. package/lib/commonjs/components/Sparkline/Sparkline.js +1 -1
  155. package/lib/commonjs/components/Sparkline/index.js +1 -1
  156. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  157. package/lib/commonjs/components/Spinner/index.js +1 -1
  158. package/lib/commonjs/components/SquircleFill/SquircleFill.js +1 -1
  159. package/lib/commonjs/components/SquircleView/SquircleView.js +1 -1
  160. package/lib/commonjs/components/StatTile/StatTile.js +1 -1
  161. package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -1
  162. package/lib/commonjs/components/StatusBadge/statusMap.js +1 -0
  163. package/lib/commonjs/components/Stepper/Stepper.js +1 -1
  164. package/lib/commonjs/components/Stepper/index.js +1 -1
  165. package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
  166. package/lib/commonjs/components/Switch/Switch.js +1 -1
  167. package/lib/commonjs/components/Tabs/Tabs.js +1 -1
  168. package/lib/commonjs/components/TagInput/TagInput.js +1 -1
  169. package/lib/commonjs/components/Text/Text.js +1 -1
  170. package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
  171. package/lib/commonjs/components/TimePicker/index.js +1 -1
  172. package/lib/commonjs/components/Timeline/Timeline.js +1 -1
  173. package/lib/commonjs/components/Toast/Toast.js +1 -1
  174. package/lib/commonjs/components/Toast/ToastProvider.js +1 -1
  175. package/lib/commonjs/components/Toast/index.js +1 -1
  176. package/lib/commonjs/components/Tooltip/RichTooltipBody.js +1 -1
  177. package/lib/commonjs/components/Tooltip/Tooltip.js +1 -1
  178. package/lib/commonjs/components/Tooltip/index.js +1 -1
  179. package/lib/commonjs/components/Tour/Tour.js +1 -1
  180. package/lib/commonjs/components/Tour/index.js +1 -1
  181. package/lib/commonjs/components/TypingIndicator/TypingIndicator.js +1 -1
  182. package/lib/commonjs/components/TypingIndicator/index.js +1 -1
  183. package/lib/commonjs/components/WheelPicker/Wheel.js +1 -1
  184. package/lib/commonjs/components/WheelPicker/WheelPicker.js +1 -1
  185. package/lib/commonjs/components/WheelPicker/index.js +1 -1
  186. package/lib/commonjs/components/index.js +1 -1
  187. package/lib/commonjs/components/not-drawn.json +2 -1
  188. package/lib/commonjs/form/index.js +1 -1
  189. package/lib/commonjs/index.js +1 -1
  190. package/lib/commonjs/navigation/DiscardGuard.js +1 -0
  191. package/lib/commonjs/navigation/NavigationScreen.js +1 -0
  192. package/lib/commonjs/navigation/index.js +1 -0
  193. package/lib/commonjs/theme/index.js +1 -1
  194. package/lib/commonjs/theme/makeStyles.js +1 -0
  195. package/lib/commonjs/theme/merge.js +1 -1
  196. package/lib/commonjs/theme/tokens.generated.js +1 -1
  197. package/lib/commonjs/utils/placement.js +1 -1
  198. package/lib/commonjs/utils/warnInvalidValue.js +1 -1
  199. package/lib/module/components/Accordion/Accordion.js +1 -1
  200. package/lib/module/components/AmountSlider/AmountSlider.js +1 -1
  201. package/lib/module/components/AmountSlider/index.js +1 -1
  202. package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -1
  203. package/lib/module/components/AppBar/AppBar.js +1 -1
  204. package/lib/module/components/AppBar/index.js +1 -1
  205. package/lib/module/components/AppIcon/AppIcon.js +1 -1
  206. package/lib/module/components/AppLockOverlay/AppLockOverlay.js +1 -0
  207. package/lib/module/components/AppLockOverlay/index.js +1 -0
  208. package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -1
  209. package/lib/module/components/AsyncBlock/index.js +1 -1
  210. package/lib/module/components/AuthedImage/AuthedImage.js +1 -1
  211. package/lib/module/components/AuthedImage/authedImageCache.js +1 -1
  212. package/lib/module/components/Autocomplete/Autocomplete.js +1 -1
  213. package/lib/module/components/Autocomplete/index.js +1 -1
  214. package/lib/module/components/Avatar/Avatar.js +1 -1
  215. package/lib/module/components/Avatar/index.js +1 -1
  216. package/lib/module/components/Badge/Badge.js +1 -1
  217. package/lib/module/components/Badge/index.js +1 -1
  218. package/lib/module/components/Banner/Banner.js +1 -1
  219. package/lib/module/components/Banner/index.js +1 -1
  220. package/lib/module/components/BarChart/BarChart.js +1 -1
  221. package/lib/module/components/BarChart/index.js +1 -1
  222. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  223. package/lib/module/components/BottomNavigation/index.js +1 -1
  224. package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
  225. package/lib/module/components/BottomSheet/index.js +1 -1
  226. package/lib/module/components/Box/Box.js +1 -1
  227. package/lib/module/components/Button/Button.js +1 -1
  228. package/lib/module/components/Calendar/Calendar.js +1 -1
  229. package/lib/module/components/Calendar/CalendarDay.js +1 -1
  230. package/lib/module/components/Calendar/calendarStyles.js +1 -1
  231. package/lib/module/components/Calendar/index.js +1 -1
  232. package/lib/module/components/Card/Card.js +1 -1
  233. package/lib/module/components/Card/index.js +1 -1
  234. package/lib/module/components/Carousel/Carousel.js +1 -1
  235. package/lib/module/components/Carousel/index.js +1 -1
  236. package/lib/module/components/Checkbox/Checkbox.js +1 -1
  237. package/lib/module/components/Chip/Chip.js +1 -1
  238. package/lib/module/components/Chip/index.js +1 -1
  239. package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -1
  240. package/lib/module/components/Composer/Composer.js +1 -1
  241. package/lib/module/components/Composer/index.js +1 -1
  242. package/lib/module/components/Confetti/Confetti.js +1 -1
  243. package/lib/module/components/Confirm/confirm.js +1 -0
  244. package/lib/module/components/Confirm/index.js +1 -0
  245. package/lib/module/components/DatePicker/DatePicker.js +1 -1
  246. package/lib/module/components/DatePicker/index.js +1 -1
  247. package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
  248. package/lib/module/components/DateRangePicker/index.js +1 -1
  249. package/lib/module/components/DateSeparator/DateSeparator.js +1 -1
  250. package/lib/module/components/DecimalInput/DecimalInput.js +1 -1
  251. package/lib/module/components/DecimalInput/index.js +1 -1
  252. package/lib/module/components/Descriptions/Descriptions.js +1 -1
  253. package/lib/module/components/Dialog/Dialog.js +1 -1
  254. package/lib/module/components/Divider/Divider.js +1 -1
  255. package/lib/module/components/Drawer/Drawer.js +1 -1
  256. package/lib/module/components/Drawer/index.js +1 -1
  257. package/lib/module/components/EmptyState/EmptyState.js +1 -1
  258. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -1
  259. package/lib/module/components/ErrorBoundary/index.js +1 -1
  260. package/lib/module/components/FieldBase/ChoiceText.js +1 -1
  261. package/lib/module/components/FieldBase/FieldBase.js +1 -1
  262. package/lib/module/components/FieldBase/useFloatingLabel.js +1 -1
  263. package/lib/module/components/FilePicker/FilePicker.js +1 -1
  264. package/lib/module/components/FilePicker/index.js +1 -1
  265. package/lib/module/components/FilterChipRow/FilterChipRow.js +1 -1
  266. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
  267. package/lib/module/components/FloatingActionButton/index.js +1 -1
  268. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  269. package/lib/module/components/ForceUpdateDialog/index.js +1 -1
  270. package/lib/module/components/FormField/FormField.js +1 -1
  271. package/lib/module/components/FormField/index.js +1 -1
  272. package/lib/module/components/IconBadge/IconBadge.js +1 -1
  273. package/lib/module/components/IconButton/IconButton.js +1 -1
  274. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  275. package/lib/module/components/ImageGallery/index.js +1 -1
  276. package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
  277. package/lib/module/components/InlineSelect/index.js +1 -1
  278. package/lib/module/components/Input/Input.js +1 -1
  279. package/lib/module/components/Input/index.js +1 -1
  280. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  281. package/lib/module/components/KeyboardToolbar/index.js +1 -1
  282. package/lib/module/components/ListItem/ListItem.js +1 -1
  283. package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
  284. package/lib/module/components/LoaderOverlay/index.js +1 -1
  285. package/lib/module/components/Menu/Menu.js +1 -1
  286. package/lib/module/components/Menu/MenuSurface.js +1 -1
  287. package/lib/module/components/Menu/index.js +1 -1
  288. package/lib/module/components/Menu/menuModel.js +1 -1
  289. package/lib/module/components/Menu/useContextMenu.js +1 -1
  290. package/lib/module/components/MessageBubble/MessageBubble.js +1 -1
  291. package/lib/module/components/Modal/Modal.js +1 -1
  292. package/lib/module/components/Modal/index.js +1 -1
  293. package/lib/module/components/NumberInput/NumberInput.js +1 -1
  294. package/lib/module/components/NumberInput/index.js +1 -1
  295. package/lib/module/components/OTPInput/OTPInput.js +1 -1
  296. package/lib/module/components/OTPInput/index.js +1 -1
  297. package/lib/module/components/OnboardingPager/OnboardingPager.js +1 -1
  298. package/lib/module/components/OnboardingPager/index.js +1 -1
  299. package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
  300. package/lib/module/components/OptionSheet/index.js +1 -1
  301. package/lib/module/components/PagedListFooter/PagedListFooter.js +1 -0
  302. package/lib/module/components/PagedListFooter/index.js +1 -0
  303. package/lib/module/components/PermissionPrompt/PermissionPrompt.js +1 -1
  304. package/lib/module/components/PermissionPrompt/index.js +1 -1
  305. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  306. package/lib/module/components/PhoneNumberInput/index.js +1 -1
  307. package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -1
  308. package/lib/module/components/PickerTrigger/index.js +1 -1
  309. package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
  310. package/lib/module/components/ProfileCompletion/index.js +1 -1
  311. package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
  312. package/lib/module/components/ProfilePicker/index.js +1 -1
  313. package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
  314. package/lib/module/components/ProgressBar/index.js +1 -1
  315. package/lib/module/components/ProgressRing/ProgressRing.js +1 -1
  316. package/lib/module/components/Radio/Radio.js +1 -1
  317. package/lib/module/components/Radio/RadioGroup.js +1 -1
  318. package/lib/module/components/Rating/Rating.js +1 -1
  319. package/lib/module/components/Rating/index.js +1 -1
  320. package/lib/module/components/Repeater/Repeater.js +1 -1
  321. package/lib/module/components/Repeater/index.js +1 -1
  322. package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
  323. package/lib/module/components/RichTextEditor/index.js +1 -1
  324. package/lib/module/components/ScannerOverlay/ScannerOverlay.js +1 -1
  325. package/lib/module/components/ScannerOverlay/index.js +1 -1
  326. package/lib/module/components/Screen/Screen.js +1 -1
  327. package/lib/module/components/SearchBar/SearchBar.js +1 -1
  328. package/lib/module/components/SearchBar/SearchPanel.js +1 -1
  329. package/lib/module/components/SearchBar/index.js +1 -1
  330. package/lib/module/components/SectionHeader/SectionHeader.js +1 -1
  331. package/lib/module/components/SectionHeader/index.js +1 -1
  332. package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
  333. package/lib/module/components/Select/Select.js +1 -1
  334. package/lib/module/components/Select/index.js +1 -1
  335. package/lib/module/components/SignaturePad/SignaturePad.js +1 -1
  336. package/lib/module/components/SignaturePad/index.js +1 -1
  337. package/lib/module/components/Skeleton/Skeleton.js +1 -1
  338. package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
  339. package/lib/module/components/Skeleton/SkeletonList.js +1 -1
  340. package/lib/module/components/Skeleton/index.js +1 -1
  341. package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -1
  342. package/lib/module/components/SlideToConfirm/index.js +1 -1
  343. package/lib/module/components/Slider/Slider.js +1 -1
  344. package/lib/module/components/Slider/valueText.js +1 -1
  345. package/lib/module/components/SliderField/SliderField.js +1 -1
  346. package/lib/module/components/SliderField/index.js +1 -1
  347. package/lib/module/components/SortableList/SortableList.js +1 -1
  348. package/lib/module/components/SortableList/index.js +1 -1
  349. package/lib/module/components/Sparkline/Sparkline.js +1 -1
  350. package/lib/module/components/Sparkline/index.js +1 -1
  351. package/lib/module/components/Spinner/Spinner.js +1 -1
  352. package/lib/module/components/Spinner/index.js +1 -1
  353. package/lib/module/components/SquircleFill/SquircleFill.js +1 -1
  354. package/lib/module/components/SquircleView/SquircleView.js +1 -1
  355. package/lib/module/components/StatTile/StatTile.js +1 -1
  356. package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
  357. package/lib/module/components/StatusBadge/statusMap.js +1 -0
  358. package/lib/module/components/Stepper/Stepper.js +1 -1
  359. package/lib/module/components/Stepper/index.js +1 -1
  360. package/lib/module/components/Swipeable/Swipeable.js +1 -1
  361. package/lib/module/components/Switch/Switch.js +1 -1
  362. package/lib/module/components/Tabs/Tabs.js +1 -1
  363. package/lib/module/components/TagInput/TagInput.js +1 -1
  364. package/lib/module/components/Text/Text.js +1 -1
  365. package/lib/module/components/TimePicker/TimePicker.js +1 -1
  366. package/lib/module/components/TimePicker/index.js +1 -1
  367. package/lib/module/components/Timeline/Timeline.js +1 -1
  368. package/lib/module/components/Toast/Toast.js +1 -1
  369. package/lib/module/components/Toast/ToastProvider.js +1 -1
  370. package/lib/module/components/Toast/index.js +1 -1
  371. package/lib/module/components/Tooltip/RichTooltipBody.js +1 -1
  372. package/lib/module/components/Tooltip/Tooltip.js +1 -1
  373. package/lib/module/components/Tooltip/index.js +1 -1
  374. package/lib/module/components/Tour/Tour.js +1 -1
  375. package/lib/module/components/Tour/index.js +1 -1
  376. package/lib/module/components/TypingIndicator/TypingIndicator.js +1 -1
  377. package/lib/module/components/TypingIndicator/index.js +1 -1
  378. package/lib/module/components/WheelPicker/Wheel.js +1 -1
  379. package/lib/module/components/WheelPicker/WheelPicker.js +1 -1
  380. package/lib/module/components/WheelPicker/index.js +1 -1
  381. package/lib/module/components/index.js +1 -1
  382. package/lib/module/components/not-drawn.json +2 -1
  383. package/lib/module/form/index.js +1 -1
  384. package/lib/module/index.js +1 -1
  385. package/lib/module/navigation/DiscardGuard.js +1 -0
  386. package/lib/module/navigation/NavigationScreen.js +1 -0
  387. package/lib/module/navigation/index.js +1 -0
  388. package/lib/module/theme/index.js +1 -1
  389. package/lib/module/theme/makeStyles.js +1 -0
  390. package/lib/module/theme/merge.js +1 -1
  391. package/lib/module/theme/tokens.generated.js +1 -1
  392. package/lib/module/utils/placement.js +1 -1
  393. package/lib/module/utils/warnInvalidValue.js +1 -1
  394. package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.d.ts +24 -17
  395. package/lib/typescript/commonjs/components/AmountSlider/index.d.ts +2 -2
  396. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +13 -8
  397. package/lib/typescript/commonjs/components/AppBar/index.d.ts +2 -2
  398. package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +2 -1
  399. package/lib/typescript/commonjs/components/AppLockOverlay/AppLockOverlay.d.ts +27 -0
  400. package/lib/typescript/commonjs/components/AppLockOverlay/index.d.ts +3 -0
  401. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.d.ts +13 -4
  402. package/lib/typescript/commonjs/components/AsyncBlock/index.d.ts +2 -2
  403. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.d.ts +8 -0
  404. package/lib/typescript/commonjs/components/Autocomplete/Autocomplete.d.ts +9 -4
  405. package/lib/typescript/commonjs/components/Autocomplete/index.d.ts +2 -2
  406. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +19 -8
  407. package/lib/typescript/commonjs/components/Avatar/index.d.ts +2 -2
  408. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +9 -2
  409. package/lib/typescript/commonjs/components/Badge/index.d.ts +2 -2
  410. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +16 -8
  411. package/lib/typescript/commonjs/components/Banner/index.d.ts +2 -2
  412. package/lib/typescript/commonjs/components/BarChart/BarChart.d.ts +12 -3
  413. package/lib/typescript/commonjs/components/BarChart/index.d.ts +2 -2
  414. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  415. package/lib/typescript/commonjs/components/BottomNavigation/index.d.ts +2 -2
  416. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +42 -58
  417. package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +2 -4
  418. package/lib/typescript/commonjs/components/Button/Button.d.ts +13 -11
  419. package/lib/typescript/commonjs/components/Button/index.d.ts +1 -1
  420. package/lib/typescript/commonjs/components/Calendar/Calendar.d.ts +24 -15
  421. package/lib/typescript/commonjs/components/Calendar/CalendarDay.d.ts +1 -4
  422. package/lib/typescript/commonjs/components/Calendar/calendarStyles.d.ts +4 -7
  423. package/lib/typescript/commonjs/components/Calendar/index.d.ts +2 -2
  424. package/lib/typescript/commonjs/components/Card/Card.d.ts +13 -6
  425. package/lib/typescript/commonjs/components/Card/index.d.ts +2 -2
  426. package/lib/typescript/commonjs/components/Carousel/Carousel.d.ts +7 -0
  427. package/lib/typescript/commonjs/components/Carousel/index.d.ts +2 -2
  428. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +10 -12
  429. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +12 -6
  430. package/lib/typescript/commonjs/components/Chip/index.d.ts +2 -2
  431. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +11 -4
  432. package/lib/typescript/commonjs/components/Composer/Composer.d.ts +8 -3
  433. package/lib/typescript/commonjs/components/Composer/index.d.ts +2 -2
  434. package/lib/typescript/commonjs/components/Confirm/confirm.d.ts +17 -0
  435. package/lib/typescript/commonjs/components/Confirm/index.d.ts +3 -0
  436. package/lib/typescript/commonjs/components/DatePicker/DatePicker.d.ts +22 -6
  437. package/lib/typescript/commonjs/components/DatePicker/index.d.ts +2 -2
  438. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +12 -8
  439. package/lib/typescript/commonjs/components/DateRangePicker/index.d.ts +2 -2
  440. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.d.ts +11 -15
  441. package/lib/typescript/commonjs/components/DecimalInput/index.d.ts +2 -2
  442. package/lib/typescript/commonjs/components/Descriptions/Descriptions.d.ts +2 -1
  443. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +7 -4
  444. package/lib/typescript/commonjs/components/Dialog/index.d.ts +1 -1
  445. package/lib/typescript/commonjs/components/Drawer/Drawer.d.ts +8 -1
  446. package/lib/typescript/commonjs/components/Drawer/index.d.ts +2 -2
  447. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +7 -2
  448. package/lib/typescript/commonjs/components/ErrorBoundary/ErrorBoundary.d.ts +8 -0
  449. package/lib/typescript/commonjs/components/ErrorBoundary/index.d.ts +2 -2
  450. package/lib/typescript/commonjs/components/FieldBase/ChoiceText.d.ts +12 -9
  451. package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +5 -4
  452. package/lib/typescript/commonjs/components/FieldBase/useFloatingLabel.d.ts +3 -3
  453. package/lib/typescript/commonjs/components/FilePicker/FilePicker.d.ts +27 -25
  454. package/lib/typescript/commonjs/components/FilePicker/index.d.ts +2 -2
  455. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +28 -11
  456. package/lib/typescript/commonjs/components/FloatingActionButton/index.d.ts +2 -2
  457. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +11 -6
  458. package/lib/typescript/commonjs/components/ForceUpdateDialog/index.d.ts +2 -2
  459. package/lib/typescript/commonjs/components/FormField/FormField.d.ts +8 -12
  460. package/lib/typescript/commonjs/components/FormField/index.d.ts +2 -2
  461. package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +3 -2
  462. package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +4 -3
  463. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.d.ts +12 -0
  464. package/lib/typescript/commonjs/components/ImageGallery/index.d.ts +2 -2
  465. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.d.ts +12 -2
  466. package/lib/typescript/commonjs/components/InlineSelect/index.d.ts +2 -2
  467. package/lib/typescript/commonjs/components/Input/Input.d.ts +11 -2
  468. package/lib/typescript/commonjs/components/Input/index.d.ts +2 -2
  469. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.d.ts +12 -10
  470. package/lib/typescript/commonjs/components/KeyboardToolbar/index.d.ts +2 -2
  471. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +9 -3
  472. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.d.ts +7 -0
  473. package/lib/typescript/commonjs/components/LoaderOverlay/index.d.ts +2 -2
  474. package/lib/typescript/commonjs/components/Menu/Menu.d.ts +6 -8
  475. package/lib/typescript/commonjs/components/Menu/MenuSurface.d.ts +2 -3
  476. package/lib/typescript/commonjs/components/Menu/index.d.ts +2 -1
  477. package/lib/typescript/commonjs/components/Menu/menuModel.d.ts +6 -0
  478. package/lib/typescript/commonjs/components/Menu/useContextMenu.d.ts +4 -6
  479. package/lib/typescript/commonjs/components/Modal/Modal.d.ts +16 -3
  480. package/lib/typescript/commonjs/components/Modal/index.d.ts +2 -2
  481. package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +9 -1
  482. package/lib/typescript/commonjs/components/NumberInput/index.d.ts +2 -2
  483. package/lib/typescript/commonjs/components/OTPInput/OTPInput.d.ts +7 -1
  484. package/lib/typescript/commonjs/components/OTPInput/index.d.ts +2 -2
  485. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.d.ts +10 -9
  486. package/lib/typescript/commonjs/components/OnboardingPager/index.d.ts +1 -1
  487. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +60 -44
  488. package/lib/typescript/commonjs/components/OptionSheet/index.d.ts +2 -2
  489. package/lib/typescript/commonjs/components/PagedListFooter/PagedListFooter.d.ts +15 -0
  490. package/lib/typescript/commonjs/components/PagedListFooter/index.d.ts +3 -0
  491. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.d.ts +12 -0
  492. package/lib/typescript/commonjs/components/PermissionPrompt/index.d.ts +2 -2
  493. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.d.ts +35 -25
  494. package/lib/typescript/commonjs/components/PhoneNumberInput/index.d.ts +2 -2
  495. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +11 -3
  496. package/lib/typescript/commonjs/components/PickerTrigger/index.d.ts +2 -2
  497. package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.d.ts +13 -5
  498. package/lib/typescript/commonjs/components/ProfileCompletion/index.d.ts +2 -2
  499. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +22 -21
  500. package/lib/typescript/commonjs/components/ProfilePicker/index.d.ts +2 -2
  501. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +8 -3
  502. package/lib/typescript/commonjs/components/ProgressBar/index.d.ts +2 -2
  503. package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.d.ts +2 -2
  504. package/lib/typescript/commonjs/components/ProgressRing/index.d.ts +1 -1
  505. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +10 -7
  506. package/lib/typescript/commonjs/components/Radio/RadioGroup.d.ts +3 -3
  507. package/lib/typescript/commonjs/components/Rating/Rating.d.ts +8 -2
  508. package/lib/typescript/commonjs/components/Rating/index.d.ts +2 -2
  509. package/lib/typescript/commonjs/components/Repeater/Repeater.d.ts +16 -6
  510. package/lib/typescript/commonjs/components/Repeater/index.d.ts +2 -2
  511. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.d.ts +4 -0
  512. package/lib/typescript/commonjs/components/RichTextEditor/index.d.ts +2 -2
  513. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.d.ts +5 -2
  514. package/lib/typescript/commonjs/components/ScannerOverlay/index.d.ts +1 -1
  515. package/lib/typescript/commonjs/components/Screen/Screen.d.ts +33 -10
  516. package/lib/typescript/commonjs/components/Screen/index.d.ts +1 -1
  517. package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +22 -8
  518. package/lib/typescript/commonjs/components/SearchBar/SearchPanel.d.ts +3 -1
  519. package/lib/typescript/commonjs/components/SearchBar/index.d.ts +2 -2
  520. package/lib/typescript/commonjs/components/SearchBar/useRecentSearches.d.ts +1 -1
  521. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.d.ts +5 -0
  522. package/lib/typescript/commonjs/components/SectionHeader/index.d.ts +2 -2
  523. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +3 -2
  524. package/lib/typescript/commonjs/components/Select/Select.d.ts +22 -8
  525. package/lib/typescript/commonjs/components/Select/index.d.ts +2 -2
  526. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.d.ts +3 -2
  527. package/lib/typescript/commonjs/components/SignaturePad/index.d.ts +1 -1
  528. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +7 -0
  529. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.d.ts +3 -1
  530. package/lib/typescript/commonjs/components/Skeleton/SkeletonList.d.ts +3 -1
  531. package/lib/typescript/commonjs/components/Skeleton/index.d.ts +2 -2
  532. package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.d.ts +12 -5
  533. package/lib/typescript/commonjs/components/SlideToConfirm/index.d.ts +2 -2
  534. package/lib/typescript/commonjs/components/Slider/Slider.d.ts +3 -2
  535. package/lib/typescript/commonjs/components/Slider/valueText.d.ts +2 -1
  536. package/lib/typescript/commonjs/components/SliderField/SliderField.d.ts +15 -3
  537. package/lib/typescript/commonjs/components/SliderField/index.d.ts +2 -2
  538. package/lib/typescript/commonjs/components/SortableList/SortableList.d.ts +6 -0
  539. package/lib/typescript/commonjs/components/SortableList/index.d.ts +2 -2
  540. package/lib/typescript/commonjs/components/Sparkline/Sparkline.d.ts +11 -3
  541. package/lib/typescript/commonjs/components/Sparkline/index.d.ts +2 -2
  542. package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts +7 -1
  543. package/lib/typescript/commonjs/components/Spinner/index.d.ts +2 -2
  544. package/lib/typescript/commonjs/components/SquircleFill/SquircleFill.d.ts +1 -8
  545. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +10 -2
  546. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.d.ts +6 -4
  547. package/lib/typescript/commonjs/components/StatusBadge/statusMap.d.ts +8 -0
  548. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +15 -1
  549. package/lib/typescript/commonjs/components/Stepper/index.d.ts +2 -2
  550. package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +4 -2
  551. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +9 -11
  552. package/lib/typescript/commonjs/components/Tabs/Tabs.d.ts +5 -3
  553. package/lib/typescript/commonjs/components/TagInput/TagInput.d.ts +3 -4
  554. package/lib/typescript/commonjs/components/Text/Text.d.ts +6 -5
  555. package/lib/typescript/commonjs/components/TimePicker/TimePicker.d.ts +17 -4
  556. package/lib/typescript/commonjs/components/TimePicker/index.d.ts +2 -2
  557. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +11 -5
  558. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +15 -14
  559. package/lib/typescript/commonjs/components/Toast/index.d.ts +2 -2
  560. package/lib/typescript/commonjs/components/Tooltip/Tooltip.d.ts +8 -2
  561. package/lib/typescript/commonjs/components/Tooltip/index.d.ts +2 -2
  562. package/lib/typescript/commonjs/components/Tour/Tour.d.ts +7 -5
  563. package/lib/typescript/commonjs/components/Tour/index.d.ts +1 -1
  564. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.d.ts +7 -2
  565. package/lib/typescript/commonjs/components/TypingIndicator/index.d.ts +2 -2
  566. package/lib/typescript/commonjs/components/WheelPicker/WheelPicker.d.ts +13 -6
  567. package/lib/typescript/commonjs/components/WheelPicker/index.d.ts +2 -2
  568. package/lib/typescript/commonjs/components/index.d.ts +125 -119
  569. package/lib/typescript/commonjs/form/HookFormField.d.ts +1 -1
  570. package/lib/typescript/commonjs/form/index.d.ts +0 -8
  571. package/lib/typescript/commonjs/index.d.ts +6 -5
  572. package/lib/typescript/commonjs/navigation/DiscardGuard.d.ts +26 -0
  573. package/lib/typescript/commonjs/navigation/NavigationScreen.d.ts +15 -0
  574. package/lib/typescript/commonjs/navigation/index.d.ts +5 -0
  575. package/lib/typescript/commonjs/theme/index.d.ts +1 -0
  576. package/lib/typescript/commonjs/theme/makeStyles.d.ts +5 -0
  577. package/lib/typescript/commonjs/theme/tokens.generated.d.ts +2 -0
  578. package/lib/typescript/commonjs/theme/types.d.ts +15 -2
  579. package/lib/typescript/commonjs/types/vocabulary.d.ts +10 -0
  580. package/lib/typescript/commonjs/utils/placement.d.ts +2 -0
  581. package/lib/typescript/commonjs/utils/warnInvalidValue.d.ts +1 -1
  582. package/lib/typescript/module/components/AmountSlider/AmountSlider.d.ts +24 -17
  583. package/lib/typescript/module/components/AmountSlider/index.d.ts +2 -2
  584. package/lib/typescript/module/components/AppBar/AppBar.d.ts +13 -8
  585. package/lib/typescript/module/components/AppBar/index.d.ts +2 -2
  586. package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +2 -1
  587. package/lib/typescript/module/components/AppLockOverlay/AppLockOverlay.d.ts +27 -0
  588. package/lib/typescript/module/components/AppLockOverlay/index.d.ts +3 -0
  589. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.d.ts +13 -4
  590. package/lib/typescript/module/components/AsyncBlock/index.d.ts +2 -2
  591. package/lib/typescript/module/components/AuthedImage/AuthedImage.d.ts +8 -0
  592. package/lib/typescript/module/components/Autocomplete/Autocomplete.d.ts +9 -4
  593. package/lib/typescript/module/components/Autocomplete/index.d.ts +2 -2
  594. package/lib/typescript/module/components/Avatar/Avatar.d.ts +19 -8
  595. package/lib/typescript/module/components/Avatar/index.d.ts +2 -2
  596. package/lib/typescript/module/components/Badge/Badge.d.ts +9 -2
  597. package/lib/typescript/module/components/Badge/index.d.ts +2 -2
  598. package/lib/typescript/module/components/Banner/Banner.d.ts +16 -8
  599. package/lib/typescript/module/components/Banner/index.d.ts +2 -2
  600. package/lib/typescript/module/components/BarChart/BarChart.d.ts +12 -3
  601. package/lib/typescript/module/components/BarChart/index.d.ts +2 -2
  602. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  603. package/lib/typescript/module/components/BottomNavigation/index.d.ts +2 -2
  604. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +42 -58
  605. package/lib/typescript/module/components/BottomSheet/index.d.ts +2 -4
  606. package/lib/typescript/module/components/Button/Button.d.ts +13 -11
  607. package/lib/typescript/module/components/Button/index.d.ts +1 -1
  608. package/lib/typescript/module/components/Calendar/Calendar.d.ts +24 -15
  609. package/lib/typescript/module/components/Calendar/CalendarDay.d.ts +1 -4
  610. package/lib/typescript/module/components/Calendar/calendarStyles.d.ts +4 -7
  611. package/lib/typescript/module/components/Calendar/index.d.ts +2 -2
  612. package/lib/typescript/module/components/Card/Card.d.ts +13 -6
  613. package/lib/typescript/module/components/Card/index.d.ts +2 -2
  614. package/lib/typescript/module/components/Carousel/Carousel.d.ts +7 -0
  615. package/lib/typescript/module/components/Carousel/index.d.ts +2 -2
  616. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +10 -12
  617. package/lib/typescript/module/components/Chip/Chip.d.ts +12 -6
  618. package/lib/typescript/module/components/Chip/index.d.ts +2 -2
  619. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +11 -4
  620. package/lib/typescript/module/components/Composer/Composer.d.ts +8 -3
  621. package/lib/typescript/module/components/Composer/index.d.ts +2 -2
  622. package/lib/typescript/module/components/Confirm/confirm.d.ts +17 -0
  623. package/lib/typescript/module/components/Confirm/index.d.ts +3 -0
  624. package/lib/typescript/module/components/DatePicker/DatePicker.d.ts +22 -6
  625. package/lib/typescript/module/components/DatePicker/index.d.ts +2 -2
  626. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +12 -8
  627. package/lib/typescript/module/components/DateRangePicker/index.d.ts +2 -2
  628. package/lib/typescript/module/components/DecimalInput/DecimalInput.d.ts +11 -15
  629. package/lib/typescript/module/components/DecimalInput/index.d.ts +2 -2
  630. package/lib/typescript/module/components/Descriptions/Descriptions.d.ts +2 -1
  631. package/lib/typescript/module/components/Dialog/Dialog.d.ts +7 -4
  632. package/lib/typescript/module/components/Dialog/index.d.ts +1 -1
  633. package/lib/typescript/module/components/Drawer/Drawer.d.ts +8 -1
  634. package/lib/typescript/module/components/Drawer/index.d.ts +2 -2
  635. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +7 -2
  636. package/lib/typescript/module/components/ErrorBoundary/ErrorBoundary.d.ts +8 -0
  637. package/lib/typescript/module/components/ErrorBoundary/index.d.ts +2 -2
  638. package/lib/typescript/module/components/FieldBase/ChoiceText.d.ts +12 -9
  639. package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +5 -4
  640. package/lib/typescript/module/components/FieldBase/useFloatingLabel.d.ts +3 -3
  641. package/lib/typescript/module/components/FilePicker/FilePicker.d.ts +27 -25
  642. package/lib/typescript/module/components/FilePicker/index.d.ts +2 -2
  643. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +28 -11
  644. package/lib/typescript/module/components/FloatingActionButton/index.d.ts +2 -2
  645. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +11 -6
  646. package/lib/typescript/module/components/ForceUpdateDialog/index.d.ts +2 -2
  647. package/lib/typescript/module/components/FormField/FormField.d.ts +8 -12
  648. package/lib/typescript/module/components/FormField/index.d.ts +2 -2
  649. package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +3 -2
  650. package/lib/typescript/module/components/IconButton/IconButton.d.ts +4 -3
  651. package/lib/typescript/module/components/ImageGallery/ImageGallery.d.ts +12 -0
  652. package/lib/typescript/module/components/ImageGallery/index.d.ts +2 -2
  653. package/lib/typescript/module/components/InlineSelect/InlineSelect.d.ts +12 -2
  654. package/lib/typescript/module/components/InlineSelect/index.d.ts +2 -2
  655. package/lib/typescript/module/components/Input/Input.d.ts +11 -2
  656. package/lib/typescript/module/components/Input/index.d.ts +2 -2
  657. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.d.ts +12 -10
  658. package/lib/typescript/module/components/KeyboardToolbar/index.d.ts +2 -2
  659. package/lib/typescript/module/components/ListItem/ListItem.d.ts +9 -3
  660. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.d.ts +7 -0
  661. package/lib/typescript/module/components/LoaderOverlay/index.d.ts +2 -2
  662. package/lib/typescript/module/components/Menu/Menu.d.ts +6 -8
  663. package/lib/typescript/module/components/Menu/MenuSurface.d.ts +2 -3
  664. package/lib/typescript/module/components/Menu/index.d.ts +2 -1
  665. package/lib/typescript/module/components/Menu/menuModel.d.ts +6 -0
  666. package/lib/typescript/module/components/Menu/useContextMenu.d.ts +4 -6
  667. package/lib/typescript/module/components/Modal/Modal.d.ts +16 -3
  668. package/lib/typescript/module/components/Modal/index.d.ts +2 -2
  669. package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +9 -1
  670. package/lib/typescript/module/components/NumberInput/index.d.ts +2 -2
  671. package/lib/typescript/module/components/OTPInput/OTPInput.d.ts +7 -1
  672. package/lib/typescript/module/components/OTPInput/index.d.ts +2 -2
  673. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.d.ts +10 -9
  674. package/lib/typescript/module/components/OnboardingPager/index.d.ts +1 -1
  675. package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +60 -44
  676. package/lib/typescript/module/components/OptionSheet/index.d.ts +2 -2
  677. package/lib/typescript/module/components/PagedListFooter/PagedListFooter.d.ts +15 -0
  678. package/lib/typescript/module/components/PagedListFooter/index.d.ts +3 -0
  679. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.d.ts +12 -0
  680. package/lib/typescript/module/components/PermissionPrompt/index.d.ts +2 -2
  681. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.d.ts +35 -25
  682. package/lib/typescript/module/components/PhoneNumberInput/index.d.ts +2 -2
  683. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +11 -3
  684. package/lib/typescript/module/components/PickerTrigger/index.d.ts +2 -2
  685. package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.d.ts +13 -5
  686. package/lib/typescript/module/components/ProfileCompletion/index.d.ts +2 -2
  687. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +22 -21
  688. package/lib/typescript/module/components/ProfilePicker/index.d.ts +2 -2
  689. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +8 -3
  690. package/lib/typescript/module/components/ProgressBar/index.d.ts +2 -2
  691. package/lib/typescript/module/components/ProgressRing/ProgressRing.d.ts +2 -2
  692. package/lib/typescript/module/components/ProgressRing/index.d.ts +1 -1
  693. package/lib/typescript/module/components/Radio/Radio.d.ts +10 -7
  694. package/lib/typescript/module/components/Radio/RadioGroup.d.ts +3 -3
  695. package/lib/typescript/module/components/Rating/Rating.d.ts +8 -2
  696. package/lib/typescript/module/components/Rating/index.d.ts +2 -2
  697. package/lib/typescript/module/components/Repeater/Repeater.d.ts +16 -6
  698. package/lib/typescript/module/components/Repeater/index.d.ts +2 -2
  699. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.d.ts +4 -0
  700. package/lib/typescript/module/components/RichTextEditor/index.d.ts +2 -2
  701. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.d.ts +5 -2
  702. package/lib/typescript/module/components/ScannerOverlay/index.d.ts +1 -1
  703. package/lib/typescript/module/components/Screen/Screen.d.ts +33 -10
  704. package/lib/typescript/module/components/Screen/index.d.ts +1 -1
  705. package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +22 -8
  706. package/lib/typescript/module/components/SearchBar/SearchPanel.d.ts +3 -1
  707. package/lib/typescript/module/components/SearchBar/index.d.ts +2 -2
  708. package/lib/typescript/module/components/SearchBar/useRecentSearches.d.ts +1 -1
  709. package/lib/typescript/module/components/SectionHeader/SectionHeader.d.ts +5 -0
  710. package/lib/typescript/module/components/SectionHeader/index.d.ts +2 -2
  711. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +3 -2
  712. package/lib/typescript/module/components/Select/Select.d.ts +22 -8
  713. package/lib/typescript/module/components/Select/index.d.ts +2 -2
  714. package/lib/typescript/module/components/SignaturePad/SignaturePad.d.ts +3 -2
  715. package/lib/typescript/module/components/SignaturePad/index.d.ts +1 -1
  716. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +7 -0
  717. package/lib/typescript/module/components/Skeleton/SkeletonContent.d.ts +3 -1
  718. package/lib/typescript/module/components/Skeleton/SkeletonList.d.ts +3 -1
  719. package/lib/typescript/module/components/Skeleton/index.d.ts +2 -2
  720. package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.d.ts +12 -5
  721. package/lib/typescript/module/components/SlideToConfirm/index.d.ts +2 -2
  722. package/lib/typescript/module/components/Slider/Slider.d.ts +3 -2
  723. package/lib/typescript/module/components/Slider/valueText.d.ts +2 -1
  724. package/lib/typescript/module/components/SliderField/SliderField.d.ts +15 -3
  725. package/lib/typescript/module/components/SliderField/index.d.ts +2 -2
  726. package/lib/typescript/module/components/SortableList/SortableList.d.ts +6 -0
  727. package/lib/typescript/module/components/SortableList/index.d.ts +2 -2
  728. package/lib/typescript/module/components/Sparkline/Sparkline.d.ts +11 -3
  729. package/lib/typescript/module/components/Sparkline/index.d.ts +2 -2
  730. package/lib/typescript/module/components/Spinner/Spinner.d.ts +7 -1
  731. package/lib/typescript/module/components/Spinner/index.d.ts +2 -2
  732. package/lib/typescript/module/components/SquircleFill/SquircleFill.d.ts +1 -8
  733. package/lib/typescript/module/components/StatTile/StatTile.d.ts +10 -2
  734. package/lib/typescript/module/components/StatusBadge/StatusBadge.d.ts +6 -4
  735. package/lib/typescript/module/components/StatusBadge/statusMap.d.ts +8 -0
  736. package/lib/typescript/module/components/Stepper/Stepper.d.ts +15 -1
  737. package/lib/typescript/module/components/Stepper/index.d.ts +2 -2
  738. package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +4 -2
  739. package/lib/typescript/module/components/Switch/Switch.d.ts +9 -11
  740. package/lib/typescript/module/components/Tabs/Tabs.d.ts +5 -3
  741. package/lib/typescript/module/components/TagInput/TagInput.d.ts +3 -4
  742. package/lib/typescript/module/components/Text/Text.d.ts +6 -5
  743. package/lib/typescript/module/components/TimePicker/TimePicker.d.ts +17 -4
  744. package/lib/typescript/module/components/TimePicker/index.d.ts +2 -2
  745. package/lib/typescript/module/components/Toast/Toast.d.ts +11 -5
  746. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +15 -14
  747. package/lib/typescript/module/components/Toast/index.d.ts +2 -2
  748. package/lib/typescript/module/components/Tooltip/Tooltip.d.ts +8 -2
  749. package/lib/typescript/module/components/Tooltip/index.d.ts +2 -2
  750. package/lib/typescript/module/components/Tour/Tour.d.ts +7 -5
  751. package/lib/typescript/module/components/Tour/index.d.ts +1 -1
  752. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.d.ts +7 -2
  753. package/lib/typescript/module/components/TypingIndicator/index.d.ts +2 -2
  754. package/lib/typescript/module/components/WheelPicker/WheelPicker.d.ts +13 -6
  755. package/lib/typescript/module/components/WheelPicker/index.d.ts +2 -2
  756. package/lib/typescript/module/components/index.d.ts +125 -119
  757. package/lib/typescript/module/form/HookFormField.d.ts +1 -1
  758. package/lib/typescript/module/form/index.d.ts +0 -8
  759. package/lib/typescript/module/index.d.ts +6 -5
  760. package/lib/typescript/module/navigation/DiscardGuard.d.ts +26 -0
  761. package/lib/typescript/module/navigation/NavigationScreen.d.ts +15 -0
  762. package/lib/typescript/module/navigation/index.d.ts +5 -0
  763. package/lib/typescript/module/theme/index.d.ts +1 -0
  764. package/lib/typescript/module/theme/makeStyles.d.ts +5 -0
  765. package/lib/typescript/module/theme/tokens.generated.d.ts +2 -0
  766. package/lib/typescript/module/theme/types.d.ts +15 -2
  767. package/lib/typescript/module/types/vocabulary.d.ts +10 -0
  768. package/lib/typescript/module/utils/placement.d.ts +2 -0
  769. package/lib/typescript/module/utils/warnInvalidValue.d.ts +1 -1
  770. package/package.json +29 -7
  771. package/lib/commonjs/components/Accordion/Accordion.meta.js +0 -1
  772. package/lib/commonjs/components/Accordion/AccordionGroup.meta.js +0 -1
  773. package/lib/commonjs/components/AmountSlider/AmountSlider.meta.js +0 -1
  774. package/lib/commonjs/components/AnimatePresence/AnimatePresence.meta.js +0 -1
  775. package/lib/commonjs/components/AppBar/AppBar.meta.js +0 -1
  776. package/lib/commonjs/components/AppIcon/AppIcon.meta.js +0 -1
  777. package/lib/commonjs/components/AsyncBlock/AsyncBlock.meta.js +0 -1
  778. package/lib/commonjs/components/AuthedImage/AuthedImage.meta.js +0 -1
  779. package/lib/commonjs/components/Autocomplete/Autocomplete.meta.js +0 -1
  780. package/lib/commonjs/components/Avatar/Avatar.meta.js +0 -1
  781. package/lib/commonjs/components/Avatar/AvatarGroup.meta.js +0 -1
  782. package/lib/commonjs/components/Badge/Badge.meta.js +0 -1
  783. package/lib/commonjs/components/Banner/Banner.meta.js +0 -1
  784. package/lib/commonjs/components/BarChart/BarChart.meta.js +0 -1
  785. package/lib/commonjs/components/BottomNavigation/BottomNavigation.meta.js +0 -1
  786. package/lib/commonjs/components/BottomSheet/BottomSheet.meta.js +0 -1
  787. package/lib/commonjs/components/BottomSheet/useSheetSwap.js +0 -1
  788. package/lib/commonjs/components/Box/Spacer.meta.js +0 -1
  789. package/lib/commonjs/components/Button/Button.meta.js +0 -1
  790. package/lib/commonjs/components/Calendar/Calendar.meta.js +0 -1
  791. package/lib/commonjs/components/Card/Card.meta.js +0 -1
  792. package/lib/commonjs/components/Carousel/Carousel.meta.js +0 -1
  793. package/lib/commonjs/components/Checkbox/Checkbox.meta.js +0 -1
  794. package/lib/commonjs/components/Chip/Chip.meta.js +0 -1
  795. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.meta.js +0 -1
  796. package/lib/commonjs/components/Composer/Composer.meta.js +0 -1
  797. package/lib/commonjs/components/Confetti/Confetti.meta.js +0 -1
  798. package/lib/commonjs/components/DatePicker/DatePicker.meta.js +0 -1
  799. package/lib/commonjs/components/DateRangePicker/DateRangePicker.meta.js +0 -1
  800. package/lib/commonjs/components/DateSeparator/DateSeparator.meta.js +0 -1
  801. package/lib/commonjs/components/DecimalInput/DecimalInput.meta.js +0 -1
  802. package/lib/commonjs/components/Descriptions/Descriptions.meta.js +0 -1
  803. package/lib/commonjs/components/Dialog/Dialog.meta.js +0 -1
  804. package/lib/commonjs/components/Divider/Divider.meta.js +0 -1
  805. package/lib/commonjs/components/Drawer/Drawer.meta.js +0 -1
  806. package/lib/commonjs/components/EmptyState/EmptyState.meta.js +0 -1
  807. package/lib/commonjs/components/FilePicker/FilePicker.meta.js +0 -1
  808. package/lib/commonjs/components/FileViewer/FileViewer.meta.js +0 -1
  809. package/lib/commonjs/components/FilterChipRow/FilterChipRow.meta.js +0 -1
  810. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.meta.js +0 -1
  811. package/lib/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +0 -1
  812. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +0 -1
  813. package/lib/commonjs/components/FormField/FormField.meta.js +0 -1
  814. package/lib/commonjs/components/IconBadge/IconBadge.meta.js +0 -1
  815. package/lib/commonjs/components/IconButton/IconButton.meta.js +0 -1
  816. package/lib/commonjs/components/ImageGallery/ImageGallery.meta.js +0 -1
  817. package/lib/commonjs/components/InlineSelect/InlineSelect.meta.js +0 -1
  818. package/lib/commonjs/components/Input/Input.meta.js +0 -1
  819. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.js +0 -1
  820. package/lib/commonjs/components/ListItem/ListItem.meta.js +0 -1
  821. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.meta.js +0 -1
  822. package/lib/commonjs/components/Markdown/Markdown.meta.js +0 -1
  823. package/lib/commonjs/components/Menu/Menu.meta.js +0 -1
  824. package/lib/commonjs/components/MessageBubble/MessageBubble.meta.js +0 -1
  825. package/lib/commonjs/components/MessageList/MessageList.meta.js +0 -1
  826. package/lib/commonjs/components/Modal/Modal.meta.js +0 -1
  827. package/lib/commonjs/components/Notation/Notation.meta.js +0 -1
  828. package/lib/commonjs/components/NumberInput/NumberInput.meta.js +0 -1
  829. package/lib/commonjs/components/OTPInput/OTPInput.meta.js +0 -1
  830. package/lib/commonjs/components/OnboardingPager/OnboardingPager.meta.js +0 -1
  831. package/lib/commonjs/components/OptionSheet/OptionSheet.meta.js +0 -1
  832. package/lib/commonjs/components/PaymentResult/PaymentResult.js +0 -1
  833. package/lib/commonjs/components/PaymentResult/PaymentResult.meta.js +0 -1
  834. package/lib/commonjs/components/PaymentResult/index.js +0 -1
  835. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.meta.js +0 -1
  836. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.js +0 -1
  837. package/lib/commonjs/components/PickerTrigger/PickerTrigger.meta.js +0 -1
  838. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.meta.js +0 -1
  839. package/lib/commonjs/components/ProfilePicker/ProfilePicker.meta.js +0 -1
  840. package/lib/commonjs/components/ProgressBar/ProgressBar.meta.js +0 -1
  841. package/lib/commonjs/components/ProgressRing/ProgressRing.meta.js +0 -1
  842. package/lib/commonjs/components/Radio/Radio.meta.js +0 -1
  843. package/lib/commonjs/components/Radio/RadioGroup.meta.js +0 -1
  844. package/lib/commonjs/components/Rating/Rating.meta.js +0 -1
  845. package/lib/commonjs/components/Repeater/Repeater.meta.js +0 -1
  846. package/lib/commonjs/components/RichTextEditor/RichTextEditor.meta.js +0 -1
  847. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.meta.js +0 -1
  848. package/lib/commonjs/components/Screen/Screen.meta.js +0 -1
  849. package/lib/commonjs/components/SearchBar/SearchBar.meta.js +0 -1
  850. package/lib/commonjs/components/SectionHeader/SectionHeader.meta.js +0 -1
  851. package/lib/commonjs/components/SegmentedControl/SegmentedControl.meta.js +0 -1
  852. package/lib/commonjs/components/Select/Select.meta.js +0 -1
  853. package/lib/commonjs/components/SignaturePad/SignaturePad.meta.js +0 -1
  854. package/lib/commonjs/components/Skeleton/Skeleton.meta.js +0 -1
  855. package/lib/commonjs/components/Skeleton/SkeletonCircle.meta.js +0 -1
  856. package/lib/commonjs/components/Skeleton/SkeletonContent.meta.js +0 -1
  857. package/lib/commonjs/components/Skeleton/SkeletonList.meta.js +0 -1
  858. package/lib/commonjs/components/Skeleton/SkeletonText.meta.js +0 -1
  859. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.meta.js +0 -1
  860. package/lib/commonjs/components/Slider/Slider.meta.js +0 -1
  861. package/lib/commonjs/components/SliderField/SliderField.meta.js +0 -1
  862. package/lib/commonjs/components/SortableList/SortableList.meta.js +0 -1
  863. package/lib/commonjs/components/Sparkline/Sparkline.meta.js +0 -1
  864. package/lib/commonjs/components/Spinner/Spinner.meta.js +0 -1
  865. package/lib/commonjs/components/SquircleView/SquircleView.meta.js +0 -1
  866. package/lib/commonjs/components/StatTile/StatTile.meta.js +0 -1
  867. package/lib/commonjs/components/StatusBadge/StatusBadge.meta.js +0 -1
  868. package/lib/commonjs/components/Stepper/Stepper.meta.js +0 -1
  869. package/lib/commonjs/components/Swipeable/Swipeable.meta.js +0 -1
  870. package/lib/commonjs/components/Switch/Switch.meta.js +0 -1
  871. package/lib/commonjs/components/Tabs/Tabs.meta.js +0 -1
  872. package/lib/commonjs/components/TagInput/TagInput.meta.js +0 -1
  873. package/lib/commonjs/components/Text/Text.meta.js +0 -1
  874. package/lib/commonjs/components/TimePicker/TimePicker.meta.js +0 -1
  875. package/lib/commonjs/components/Timeline/Timeline.meta.js +0 -1
  876. package/lib/commonjs/components/Toast/Toast.meta.js +0 -1
  877. package/lib/commonjs/components/Tooltip/Tooltip.meta.js +0 -1
  878. package/lib/commonjs/components/Tour/Tour.meta.js +0 -1
  879. package/lib/commonjs/components/TypingIndicator/TypingIndicator.meta.js +0 -1
  880. package/lib/commonjs/components/WheelPicker/WheelPickerColumns.meta.js +0 -1
  881. package/lib/commonjs/components/WheelPicker/WheelPickerDuration.meta.js +0 -1
  882. package/lib/commonjs/components/WheelPicker/WheelPickerList.meta.js +0 -1
  883. package/lib/commonjs/components/ZoomableImage/ZoomableImage.meta.js +0 -1
  884. package/lib/commonjs/form/FormContext.js +0 -1
  885. package/lib/commonjs/form/equal.js +0 -1
  886. package/lib/commonjs/form/rules.js +0 -1
  887. package/lib/commonjs/form/useField.js +0 -1
  888. package/lib/commonjs/form/useForm.js +0 -1
  889. package/lib/module/components/Accordion/Accordion.meta.js +0 -1
  890. package/lib/module/components/Accordion/AccordionGroup.meta.js +0 -1
  891. package/lib/module/components/AmountSlider/AmountSlider.meta.js +0 -1
  892. package/lib/module/components/AnimatePresence/AnimatePresence.meta.js +0 -1
  893. package/lib/module/components/AppBar/AppBar.meta.js +0 -1
  894. package/lib/module/components/AppIcon/AppIcon.meta.js +0 -1
  895. package/lib/module/components/AsyncBlock/AsyncBlock.meta.js +0 -1
  896. package/lib/module/components/AuthedImage/AuthedImage.meta.js +0 -1
  897. package/lib/module/components/Autocomplete/Autocomplete.meta.js +0 -1
  898. package/lib/module/components/Avatar/Avatar.meta.js +0 -1
  899. package/lib/module/components/Avatar/AvatarGroup.meta.js +0 -1
  900. package/lib/module/components/Badge/Badge.meta.js +0 -1
  901. package/lib/module/components/Banner/Banner.meta.js +0 -1
  902. package/lib/module/components/BarChart/BarChart.meta.js +0 -1
  903. package/lib/module/components/BottomNavigation/BottomNavigation.meta.js +0 -1
  904. package/lib/module/components/BottomSheet/BottomSheet.meta.js +0 -1
  905. package/lib/module/components/BottomSheet/useSheetSwap.js +0 -1
  906. package/lib/module/components/Box/Spacer.meta.js +0 -1
  907. package/lib/module/components/Button/Button.meta.js +0 -1
  908. package/lib/module/components/Calendar/Calendar.meta.js +0 -1
  909. package/lib/module/components/Card/Card.meta.js +0 -1
  910. package/lib/module/components/Carousel/Carousel.meta.js +0 -1
  911. package/lib/module/components/Checkbox/Checkbox.meta.js +0 -1
  912. package/lib/module/components/Chip/Chip.meta.js +0 -1
  913. package/lib/module/components/ChoiceGroup/ChoiceGroup.meta.js +0 -1
  914. package/lib/module/components/Composer/Composer.meta.js +0 -1
  915. package/lib/module/components/Confetti/Confetti.meta.js +0 -1
  916. package/lib/module/components/DatePicker/DatePicker.meta.js +0 -1
  917. package/lib/module/components/DateRangePicker/DateRangePicker.meta.js +0 -1
  918. package/lib/module/components/DateSeparator/DateSeparator.meta.js +0 -1
  919. package/lib/module/components/DecimalInput/DecimalInput.meta.js +0 -1
  920. package/lib/module/components/Descriptions/Descriptions.meta.js +0 -1
  921. package/lib/module/components/Dialog/Dialog.meta.js +0 -1
  922. package/lib/module/components/Divider/Divider.meta.js +0 -1
  923. package/lib/module/components/Drawer/Drawer.meta.js +0 -1
  924. package/lib/module/components/EmptyState/EmptyState.meta.js +0 -1
  925. package/lib/module/components/FilePicker/FilePicker.meta.js +0 -1
  926. package/lib/module/components/FileViewer/FileViewer.meta.js +0 -1
  927. package/lib/module/components/FilterChipRow/FilterChipRow.meta.js +0 -1
  928. package/lib/module/components/FloatingActionButton/FloatingActionButton.meta.js +0 -1
  929. package/lib/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +0 -1
  930. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +0 -1
  931. package/lib/module/components/FormField/FormField.meta.js +0 -1
  932. package/lib/module/components/IconBadge/IconBadge.meta.js +0 -1
  933. package/lib/module/components/IconButton/IconButton.meta.js +0 -1
  934. package/lib/module/components/ImageGallery/ImageGallery.meta.js +0 -1
  935. package/lib/module/components/InlineSelect/InlineSelect.meta.js +0 -1
  936. package/lib/module/components/Input/Input.meta.js +0 -1
  937. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.meta.js +0 -1
  938. package/lib/module/components/ListItem/ListItem.meta.js +0 -1
  939. package/lib/module/components/LoaderOverlay/LoaderOverlay.meta.js +0 -1
  940. package/lib/module/components/Markdown/Markdown.meta.js +0 -1
  941. package/lib/module/components/Menu/Menu.meta.js +0 -1
  942. package/lib/module/components/MessageBubble/MessageBubble.meta.js +0 -1
  943. package/lib/module/components/MessageList/MessageList.meta.js +0 -1
  944. package/lib/module/components/Modal/Modal.meta.js +0 -1
  945. package/lib/module/components/Notation/Notation.meta.js +0 -1
  946. package/lib/module/components/NumberInput/NumberInput.meta.js +0 -1
  947. package/lib/module/components/OTPInput/OTPInput.meta.js +0 -1
  948. package/lib/module/components/OnboardingPager/OnboardingPager.meta.js +0 -1
  949. package/lib/module/components/OptionSheet/OptionSheet.meta.js +0 -1
  950. package/lib/module/components/PaymentResult/PaymentResult.js +0 -1
  951. package/lib/module/components/PaymentResult/PaymentResult.meta.js +0 -1
  952. package/lib/module/components/PaymentResult/index.js +0 -1
  953. package/lib/module/components/PermissionPrompt/PermissionPrompt.meta.js +0 -1
  954. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.meta.js +0 -1
  955. package/lib/module/components/PickerTrigger/PickerTrigger.meta.js +0 -1
  956. package/lib/module/components/ProfileCompletion/ProfileCompletion.meta.js +0 -1
  957. package/lib/module/components/ProfilePicker/ProfilePicker.meta.js +0 -1
  958. package/lib/module/components/ProgressBar/ProgressBar.meta.js +0 -1
  959. package/lib/module/components/ProgressRing/ProgressRing.meta.js +0 -1
  960. package/lib/module/components/Radio/Radio.meta.js +0 -1
  961. package/lib/module/components/Radio/RadioGroup.meta.js +0 -1
  962. package/lib/module/components/Rating/Rating.meta.js +0 -1
  963. package/lib/module/components/Repeater/Repeater.meta.js +0 -1
  964. package/lib/module/components/RichTextEditor/RichTextEditor.meta.js +0 -1
  965. package/lib/module/components/ScannerOverlay/ScannerOverlay.meta.js +0 -1
  966. package/lib/module/components/Screen/Screen.meta.js +0 -1
  967. package/lib/module/components/SearchBar/SearchBar.meta.js +0 -1
  968. package/lib/module/components/SectionHeader/SectionHeader.meta.js +0 -1
  969. package/lib/module/components/SegmentedControl/SegmentedControl.meta.js +0 -1
  970. package/lib/module/components/Select/Select.meta.js +0 -1
  971. package/lib/module/components/SignaturePad/SignaturePad.meta.js +0 -1
  972. package/lib/module/components/Skeleton/Skeleton.meta.js +0 -1
  973. package/lib/module/components/Skeleton/SkeletonCircle.meta.js +0 -1
  974. package/lib/module/components/Skeleton/SkeletonContent.meta.js +0 -1
  975. package/lib/module/components/Skeleton/SkeletonList.meta.js +0 -1
  976. package/lib/module/components/Skeleton/SkeletonText.meta.js +0 -1
  977. package/lib/module/components/SlideToConfirm/SlideToConfirm.meta.js +0 -1
  978. package/lib/module/components/Slider/Slider.meta.js +0 -1
  979. package/lib/module/components/SliderField/SliderField.meta.js +0 -1
  980. package/lib/module/components/SortableList/SortableList.meta.js +0 -1
  981. package/lib/module/components/Sparkline/Sparkline.meta.js +0 -1
  982. package/lib/module/components/Spinner/Spinner.meta.js +0 -1
  983. package/lib/module/components/SquircleView/SquircleView.meta.js +0 -1
  984. package/lib/module/components/StatTile/StatTile.meta.js +0 -1
  985. package/lib/module/components/StatusBadge/StatusBadge.meta.js +0 -1
  986. package/lib/module/components/Stepper/Stepper.meta.js +0 -1
  987. package/lib/module/components/Swipeable/Swipeable.meta.js +0 -1
  988. package/lib/module/components/Switch/Switch.meta.js +0 -1
  989. package/lib/module/components/Tabs/Tabs.meta.js +0 -1
  990. package/lib/module/components/TagInput/TagInput.meta.js +0 -1
  991. package/lib/module/components/Text/Text.meta.js +0 -1
  992. package/lib/module/components/TimePicker/TimePicker.meta.js +0 -1
  993. package/lib/module/components/Timeline/Timeline.meta.js +0 -1
  994. package/lib/module/components/Toast/Toast.meta.js +0 -1
  995. package/lib/module/components/Tooltip/Tooltip.meta.js +0 -1
  996. package/lib/module/components/Tour/Tour.meta.js +0 -1
  997. package/lib/module/components/TypingIndicator/TypingIndicator.meta.js +0 -1
  998. package/lib/module/components/WheelPicker/WheelPickerColumns.meta.js +0 -1
  999. package/lib/module/components/WheelPicker/WheelPickerDuration.meta.js +0 -1
  1000. package/lib/module/components/WheelPicker/WheelPickerList.meta.js +0 -1
  1001. package/lib/module/components/ZoomableImage/ZoomableImage.meta.js +0 -1
  1002. package/lib/module/form/FormContext.js +0 -1
  1003. package/lib/module/form/equal.js +0 -1
  1004. package/lib/module/form/rules.js +0 -1
  1005. package/lib/module/form/useField.js +0 -1
  1006. package/lib/module/form/useForm.js +0 -1
  1007. package/lib/typescript/commonjs/components/Accordion/Accordion.meta.d.ts +0 -3
  1008. package/lib/typescript/commonjs/components/Accordion/AccordionGroup.meta.d.ts +0 -3
  1009. package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.meta.d.ts +0 -3
  1010. package/lib/typescript/commonjs/components/AnimatePresence/AnimatePresence.meta.d.ts +0 -3
  1011. package/lib/typescript/commonjs/components/AppBar/AppBar.meta.d.ts +0 -3
  1012. package/lib/typescript/commonjs/components/AppIcon/AppIcon.meta.d.ts +0 -3
  1013. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.meta.d.ts +0 -3
  1014. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.meta.d.ts +0 -5
  1015. package/lib/typescript/commonjs/components/Autocomplete/Autocomplete.meta.d.ts +0 -3
  1016. package/lib/typescript/commonjs/components/Avatar/Avatar.meta.d.ts +0 -3
  1017. package/lib/typescript/commonjs/components/Avatar/AvatarGroup.meta.d.ts +0 -3
  1018. package/lib/typescript/commonjs/components/Badge/Badge.meta.d.ts +0 -3
  1019. package/lib/typescript/commonjs/components/Banner/Banner.meta.d.ts +0 -3
  1020. package/lib/typescript/commonjs/components/BarChart/BarChart.meta.d.ts +0 -3
  1021. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.meta.d.ts +0 -3
  1022. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.meta.d.ts +0 -3
  1023. package/lib/typescript/commonjs/components/BottomSheet/useSheetSwap.d.ts +0 -24
  1024. package/lib/typescript/commonjs/components/Box/Spacer.meta.d.ts +0 -3
  1025. package/lib/typescript/commonjs/components/Button/Button.meta.d.ts +0 -3
  1026. package/lib/typescript/commonjs/components/Calendar/Calendar.meta.d.ts +0 -3
  1027. package/lib/typescript/commonjs/components/Card/Card.meta.d.ts +0 -3
  1028. package/lib/typescript/commonjs/components/Carousel/Carousel.meta.d.ts +0 -3
  1029. package/lib/typescript/commonjs/components/Checkbox/Checkbox.meta.d.ts +0 -3
  1030. package/lib/typescript/commonjs/components/Chip/Chip.meta.d.ts +0 -3
  1031. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.meta.d.ts +0 -3
  1032. package/lib/typescript/commonjs/components/Composer/Composer.meta.d.ts +0 -3
  1033. package/lib/typescript/commonjs/components/Confetti/Confetti.meta.d.ts +0 -3
  1034. package/lib/typescript/commonjs/components/DatePicker/DatePicker.meta.d.ts +0 -3
  1035. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.meta.d.ts +0 -3
  1036. package/lib/typescript/commonjs/components/DateSeparator/DateSeparator.meta.d.ts +0 -3
  1037. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.meta.d.ts +0 -3
  1038. package/lib/typescript/commonjs/components/Descriptions/Descriptions.meta.d.ts +0 -3
  1039. package/lib/typescript/commonjs/components/Dialog/Dialog.meta.d.ts +0 -3
  1040. package/lib/typescript/commonjs/components/Divider/Divider.meta.d.ts +0 -3
  1041. package/lib/typescript/commonjs/components/Drawer/Drawer.meta.d.ts +0 -3
  1042. package/lib/typescript/commonjs/components/EmptyState/EmptyState.meta.d.ts +0 -3
  1043. package/lib/typescript/commonjs/components/FilePicker/FilePicker.meta.d.ts +0 -3
  1044. package/lib/typescript/commonjs/components/FileViewer/FileViewer.meta.d.ts +0 -3
  1045. package/lib/typescript/commonjs/components/FilterChipRow/FilterChipRow.meta.d.ts +0 -3
  1046. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.meta.d.ts +0 -3
  1047. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +0 -3
  1048. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +0 -3
  1049. package/lib/typescript/commonjs/components/FormField/FormField.meta.d.ts +0 -3
  1050. package/lib/typescript/commonjs/components/IconBadge/IconBadge.meta.d.ts +0 -3
  1051. package/lib/typescript/commonjs/components/IconButton/IconButton.meta.d.ts +0 -3
  1052. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.meta.d.ts +0 -3
  1053. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.meta.d.ts +0 -3
  1054. package/lib/typescript/commonjs/components/Input/Input.meta.d.ts +0 -3
  1055. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +0 -3
  1056. package/lib/typescript/commonjs/components/ListItem/ListItem.meta.d.ts +0 -3
  1057. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.meta.d.ts +0 -3
  1058. package/lib/typescript/commonjs/components/Markdown/Markdown.meta.d.ts +0 -3
  1059. package/lib/typescript/commonjs/components/Menu/Menu.meta.d.ts +0 -3
  1060. package/lib/typescript/commonjs/components/MessageBubble/MessageBubble.meta.d.ts +0 -3
  1061. package/lib/typescript/commonjs/components/MessageList/MessageList.meta.d.ts +0 -5
  1062. package/lib/typescript/commonjs/components/Modal/Modal.meta.d.ts +0 -3
  1063. package/lib/typescript/commonjs/components/Notation/Notation.meta.d.ts +0 -3
  1064. package/lib/typescript/commonjs/components/NumberInput/NumberInput.meta.d.ts +0 -3
  1065. package/lib/typescript/commonjs/components/OTPInput/OTPInput.meta.d.ts +0 -3
  1066. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.meta.d.ts +0 -3
  1067. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.meta.d.ts +0 -3
  1068. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.d.ts +0 -71
  1069. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.meta.d.ts +0 -3
  1070. package/lib/typescript/commonjs/components/PaymentResult/index.d.ts +0 -3
  1071. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.meta.d.ts +0 -3
  1072. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +0 -3
  1073. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.meta.d.ts +0 -3
  1074. package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.meta.d.ts +0 -3
  1075. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.meta.d.ts +0 -3
  1076. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.meta.d.ts +0 -3
  1077. package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.meta.d.ts +0 -3
  1078. package/lib/typescript/commonjs/components/Radio/Radio.meta.d.ts +0 -3
  1079. package/lib/typescript/commonjs/components/Radio/RadioGroup.meta.d.ts +0 -3
  1080. package/lib/typescript/commonjs/components/Rating/Rating.meta.d.ts +0 -3
  1081. package/lib/typescript/commonjs/components/Repeater/Repeater.meta.d.ts +0 -3
  1082. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.meta.d.ts +0 -3
  1083. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.meta.d.ts +0 -3
  1084. package/lib/typescript/commonjs/components/Screen/Screen.meta.d.ts +0 -3
  1085. package/lib/typescript/commonjs/components/SearchBar/SearchBar.meta.d.ts +0 -3
  1086. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.meta.d.ts +0 -3
  1087. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.meta.d.ts +0 -3
  1088. package/lib/typescript/commonjs/components/Select/Select.meta.d.ts +0 -3
  1089. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.meta.d.ts +0 -3
  1090. package/lib/typescript/commonjs/components/Skeleton/Skeleton.meta.d.ts +0 -3
  1091. package/lib/typescript/commonjs/components/Skeleton/SkeletonCircle.meta.d.ts +0 -3
  1092. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.meta.d.ts +0 -3
  1093. package/lib/typescript/commonjs/components/Skeleton/SkeletonList.meta.d.ts +0 -3
  1094. package/lib/typescript/commonjs/components/Skeleton/SkeletonText.meta.d.ts +0 -3
  1095. package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.meta.d.ts +0 -3
  1096. package/lib/typescript/commonjs/components/Slider/Slider.meta.d.ts +0 -3
  1097. package/lib/typescript/commonjs/components/SliderField/SliderField.meta.d.ts +0 -3
  1098. package/lib/typescript/commonjs/components/SortableList/SortableList.meta.d.ts +0 -3
  1099. package/lib/typescript/commonjs/components/Sparkline/Sparkline.meta.d.ts +0 -3
  1100. package/lib/typescript/commonjs/components/Spinner/Spinner.meta.d.ts +0 -3
  1101. package/lib/typescript/commonjs/components/SquircleView/SquircleView.meta.d.ts +0 -2
  1102. package/lib/typescript/commonjs/components/StatTile/StatTile.meta.d.ts +0 -3
  1103. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.meta.d.ts +0 -3
  1104. package/lib/typescript/commonjs/components/Stepper/Stepper.meta.d.ts +0 -3
  1105. package/lib/typescript/commonjs/components/Swipeable/Swipeable.meta.d.ts +0 -3
  1106. package/lib/typescript/commonjs/components/Switch/Switch.meta.d.ts +0 -3
  1107. package/lib/typescript/commonjs/components/Tabs/Tabs.meta.d.ts +0 -3
  1108. package/lib/typescript/commonjs/components/TagInput/TagInput.meta.d.ts +0 -3
  1109. package/lib/typescript/commonjs/components/Text/Text.meta.d.ts +0 -3
  1110. package/lib/typescript/commonjs/components/TimePicker/TimePicker.meta.d.ts +0 -3
  1111. package/lib/typescript/commonjs/components/Timeline/Timeline.meta.d.ts +0 -3
  1112. package/lib/typescript/commonjs/components/Toast/Toast.meta.d.ts +0 -3
  1113. package/lib/typescript/commonjs/components/Tooltip/Tooltip.meta.d.ts +0 -3
  1114. package/lib/typescript/commonjs/components/Tour/Tour.meta.d.ts +0 -3
  1115. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.meta.d.ts +0 -3
  1116. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerColumns.meta.d.ts +0 -3
  1117. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerDuration.meta.d.ts +0 -3
  1118. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerList.meta.d.ts +0 -3
  1119. package/lib/typescript/commonjs/components/ZoomableImage/ZoomableImage.meta.d.ts +0 -3
  1120. package/lib/typescript/commonjs/form/FormContext.d.ts +0 -36
  1121. package/lib/typescript/commonjs/form/equal.d.ts +0 -9
  1122. package/lib/typescript/commonjs/form/rules.d.ts +0 -37
  1123. package/lib/typescript/commonjs/form/types.d.ts +0 -94
  1124. package/lib/typescript/commonjs/form/useField.d.ts +0 -33
  1125. package/lib/typescript/commonjs/form/useForm.d.ts +0 -14
  1126. package/lib/typescript/module/components/Accordion/Accordion.meta.d.ts +0 -3
  1127. package/lib/typescript/module/components/Accordion/AccordionGroup.meta.d.ts +0 -3
  1128. package/lib/typescript/module/components/AmountSlider/AmountSlider.meta.d.ts +0 -3
  1129. package/lib/typescript/module/components/AnimatePresence/AnimatePresence.meta.d.ts +0 -3
  1130. package/lib/typescript/module/components/AppBar/AppBar.meta.d.ts +0 -3
  1131. package/lib/typescript/module/components/AppIcon/AppIcon.meta.d.ts +0 -3
  1132. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.meta.d.ts +0 -3
  1133. package/lib/typescript/module/components/AuthedImage/AuthedImage.meta.d.ts +0 -5
  1134. package/lib/typescript/module/components/Autocomplete/Autocomplete.meta.d.ts +0 -3
  1135. package/lib/typescript/module/components/Avatar/Avatar.meta.d.ts +0 -3
  1136. package/lib/typescript/module/components/Avatar/AvatarGroup.meta.d.ts +0 -3
  1137. package/lib/typescript/module/components/Badge/Badge.meta.d.ts +0 -3
  1138. package/lib/typescript/module/components/Banner/Banner.meta.d.ts +0 -3
  1139. package/lib/typescript/module/components/BarChart/BarChart.meta.d.ts +0 -3
  1140. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.meta.d.ts +0 -3
  1141. package/lib/typescript/module/components/BottomSheet/BottomSheet.meta.d.ts +0 -3
  1142. package/lib/typescript/module/components/BottomSheet/useSheetSwap.d.ts +0 -24
  1143. package/lib/typescript/module/components/Box/Spacer.meta.d.ts +0 -3
  1144. package/lib/typescript/module/components/Button/Button.meta.d.ts +0 -3
  1145. package/lib/typescript/module/components/Calendar/Calendar.meta.d.ts +0 -3
  1146. package/lib/typescript/module/components/Card/Card.meta.d.ts +0 -3
  1147. package/lib/typescript/module/components/Carousel/Carousel.meta.d.ts +0 -3
  1148. package/lib/typescript/module/components/Checkbox/Checkbox.meta.d.ts +0 -3
  1149. package/lib/typescript/module/components/Chip/Chip.meta.d.ts +0 -3
  1150. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.meta.d.ts +0 -3
  1151. package/lib/typescript/module/components/Composer/Composer.meta.d.ts +0 -3
  1152. package/lib/typescript/module/components/Confetti/Confetti.meta.d.ts +0 -3
  1153. package/lib/typescript/module/components/DatePicker/DatePicker.meta.d.ts +0 -3
  1154. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.meta.d.ts +0 -3
  1155. package/lib/typescript/module/components/DateSeparator/DateSeparator.meta.d.ts +0 -3
  1156. package/lib/typescript/module/components/DecimalInput/DecimalInput.meta.d.ts +0 -3
  1157. package/lib/typescript/module/components/Descriptions/Descriptions.meta.d.ts +0 -3
  1158. package/lib/typescript/module/components/Dialog/Dialog.meta.d.ts +0 -3
  1159. package/lib/typescript/module/components/Divider/Divider.meta.d.ts +0 -3
  1160. package/lib/typescript/module/components/Drawer/Drawer.meta.d.ts +0 -3
  1161. package/lib/typescript/module/components/EmptyState/EmptyState.meta.d.ts +0 -3
  1162. package/lib/typescript/module/components/FilePicker/FilePicker.meta.d.ts +0 -3
  1163. package/lib/typescript/module/components/FileViewer/FileViewer.meta.d.ts +0 -3
  1164. package/lib/typescript/module/components/FilterChipRow/FilterChipRow.meta.d.ts +0 -3
  1165. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.meta.d.ts +0 -3
  1166. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +0 -3
  1167. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +0 -3
  1168. package/lib/typescript/module/components/FormField/FormField.meta.d.ts +0 -3
  1169. package/lib/typescript/module/components/IconBadge/IconBadge.meta.d.ts +0 -3
  1170. package/lib/typescript/module/components/IconButton/IconButton.meta.d.ts +0 -3
  1171. package/lib/typescript/module/components/ImageGallery/ImageGallery.meta.d.ts +0 -3
  1172. package/lib/typescript/module/components/InlineSelect/InlineSelect.meta.d.ts +0 -3
  1173. package/lib/typescript/module/components/Input/Input.meta.d.ts +0 -3
  1174. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +0 -3
  1175. package/lib/typescript/module/components/ListItem/ListItem.meta.d.ts +0 -3
  1176. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.meta.d.ts +0 -3
  1177. package/lib/typescript/module/components/Markdown/Markdown.meta.d.ts +0 -3
  1178. package/lib/typescript/module/components/Menu/Menu.meta.d.ts +0 -3
  1179. package/lib/typescript/module/components/MessageBubble/MessageBubble.meta.d.ts +0 -3
  1180. package/lib/typescript/module/components/MessageList/MessageList.meta.d.ts +0 -5
  1181. package/lib/typescript/module/components/Modal/Modal.meta.d.ts +0 -3
  1182. package/lib/typescript/module/components/Notation/Notation.meta.d.ts +0 -3
  1183. package/lib/typescript/module/components/NumberInput/NumberInput.meta.d.ts +0 -3
  1184. package/lib/typescript/module/components/OTPInput/OTPInput.meta.d.ts +0 -3
  1185. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.meta.d.ts +0 -3
  1186. package/lib/typescript/module/components/OptionSheet/OptionSheet.meta.d.ts +0 -3
  1187. package/lib/typescript/module/components/PaymentResult/PaymentResult.d.ts +0 -71
  1188. package/lib/typescript/module/components/PaymentResult/PaymentResult.meta.d.ts +0 -3
  1189. package/lib/typescript/module/components/PaymentResult/index.d.ts +0 -3
  1190. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.meta.d.ts +0 -3
  1191. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +0 -3
  1192. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.meta.d.ts +0 -3
  1193. package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.meta.d.ts +0 -3
  1194. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.meta.d.ts +0 -3
  1195. package/lib/typescript/module/components/ProgressBar/ProgressBar.meta.d.ts +0 -3
  1196. package/lib/typescript/module/components/ProgressRing/ProgressRing.meta.d.ts +0 -3
  1197. package/lib/typescript/module/components/Radio/Radio.meta.d.ts +0 -3
  1198. package/lib/typescript/module/components/Radio/RadioGroup.meta.d.ts +0 -3
  1199. package/lib/typescript/module/components/Rating/Rating.meta.d.ts +0 -3
  1200. package/lib/typescript/module/components/Repeater/Repeater.meta.d.ts +0 -3
  1201. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.meta.d.ts +0 -3
  1202. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.meta.d.ts +0 -3
  1203. package/lib/typescript/module/components/Screen/Screen.meta.d.ts +0 -3
  1204. package/lib/typescript/module/components/SearchBar/SearchBar.meta.d.ts +0 -3
  1205. package/lib/typescript/module/components/SectionHeader/SectionHeader.meta.d.ts +0 -3
  1206. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.meta.d.ts +0 -3
  1207. package/lib/typescript/module/components/Select/Select.meta.d.ts +0 -3
  1208. package/lib/typescript/module/components/SignaturePad/SignaturePad.meta.d.ts +0 -3
  1209. package/lib/typescript/module/components/Skeleton/Skeleton.meta.d.ts +0 -3
  1210. package/lib/typescript/module/components/Skeleton/SkeletonCircle.meta.d.ts +0 -3
  1211. package/lib/typescript/module/components/Skeleton/SkeletonContent.meta.d.ts +0 -3
  1212. package/lib/typescript/module/components/Skeleton/SkeletonList.meta.d.ts +0 -3
  1213. package/lib/typescript/module/components/Skeleton/SkeletonText.meta.d.ts +0 -3
  1214. package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.meta.d.ts +0 -3
  1215. package/lib/typescript/module/components/Slider/Slider.meta.d.ts +0 -3
  1216. package/lib/typescript/module/components/SliderField/SliderField.meta.d.ts +0 -3
  1217. package/lib/typescript/module/components/SortableList/SortableList.meta.d.ts +0 -3
  1218. package/lib/typescript/module/components/Sparkline/Sparkline.meta.d.ts +0 -3
  1219. package/lib/typescript/module/components/Spinner/Spinner.meta.d.ts +0 -3
  1220. package/lib/typescript/module/components/SquircleView/SquircleView.meta.d.ts +0 -2
  1221. package/lib/typescript/module/components/StatTile/StatTile.meta.d.ts +0 -3
  1222. package/lib/typescript/module/components/StatusBadge/StatusBadge.meta.d.ts +0 -3
  1223. package/lib/typescript/module/components/Stepper/Stepper.meta.d.ts +0 -3
  1224. package/lib/typescript/module/components/Swipeable/Swipeable.meta.d.ts +0 -3
  1225. package/lib/typescript/module/components/Switch/Switch.meta.d.ts +0 -3
  1226. package/lib/typescript/module/components/Tabs/Tabs.meta.d.ts +0 -3
  1227. package/lib/typescript/module/components/TagInput/TagInput.meta.d.ts +0 -3
  1228. package/lib/typescript/module/components/Text/Text.meta.d.ts +0 -3
  1229. package/lib/typescript/module/components/TimePicker/TimePicker.meta.d.ts +0 -3
  1230. package/lib/typescript/module/components/Timeline/Timeline.meta.d.ts +0 -3
  1231. package/lib/typescript/module/components/Toast/Toast.meta.d.ts +0 -3
  1232. package/lib/typescript/module/components/Tooltip/Tooltip.meta.d.ts +0 -3
  1233. package/lib/typescript/module/components/Tour/Tour.meta.d.ts +0 -3
  1234. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.meta.d.ts +0 -3
  1235. package/lib/typescript/module/components/WheelPicker/WheelPickerColumns.meta.d.ts +0 -3
  1236. package/lib/typescript/module/components/WheelPicker/WheelPickerDuration.meta.d.ts +0 -3
  1237. package/lib/typescript/module/components/WheelPicker/WheelPickerList.meta.d.ts +0 -3
  1238. package/lib/typescript/module/components/ZoomableImage/ZoomableImage.meta.d.ts +0 -3
  1239. package/lib/typescript/module/form/FormContext.d.ts +0 -36
  1240. package/lib/typescript/module/form/equal.d.ts +0 -9
  1241. package/lib/typescript/module/form/rules.d.ts +0 -37
  1242. package/lib/typescript/module/form/types.d.ts +0 -94
  1243. package/lib/typescript/module/form/useField.d.ts +0 -33
  1244. package/lib/typescript/module/form/useForm.d.ts +0 -14
  1245. /package/lib/commonjs/{form/types.js → types/vocabulary.js} +0 -0
  1246. /package/lib/module/{form/types.js → types/vocabulary.js} +0 -0
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,TextInput,View}from"react-native";import{useControllableState,useReducedMotion}from"../../hooks/index.js";import{createAnimatedValue,fontFor,resolveOtpInputSize,setNativeValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{FieldBase,FieldMessage,hasFieldText}from"../FieldBase/FieldBase.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const sanitizeChar=(e,t)=>e?"number-pad"===t?e.replace(/\D/g,""):e:"",OTPInput=forwardRef((e,t)=>{const{value:n,defaultValue:s,onChange:i,onComplete:r,length:o=6,keyboardType:a="number-pad",autoFocus:l=!1,autoFocusDelay:u=0,disabled:c=!1,error:d,size:m="md",secure:p=!1,haptic:f,onFocus:g,accessibilityLabel:h,style:b,cellStyle:x,textStyle:y,testID:j}=e,[v,C]=useControllableState({value:n,defaultValue:s??"",onChange:i}),T=useTheme(),V=useMemo(()=>buildStyles(T),[T]),S=resolveOtpInputSize(T,m),k=useRef([]),[F,w]=useState(-1),E=useRef(null),A=useRef(createAnimatedValue(0)).current,I=useRef(new Map),R=useMemo(()=>{const e=I.current,t=[];for(let n=0;n<o;n+=1){let s=e.get(n);s||(s=new Animated.Value(0),e.set(n,s)),t.push(s)}for(const t of Array.from(e.keys()))t>=o&&e.delete(t);return t},[o]),O=useRef(-1),_=T.settings.components["otp-input"]?.shakeOnError??!1,z=useReducedMotion(),M=!0===d||hasFieldText(d);useEffect(()=>{let e;return null===E.current||!M||E.current||(f&&triggerHaptic("notificationError"),_&&!z&&(setNativeValue(A,0),e=Animated.sequence([Animated.timing(A,{toValue:1,duration:T.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(A,{toValue:-1,duration:T.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(A,{toValue:1,duration:T.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(A,{toValue:0,duration:T.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0})]),e.start())),E.current=M,()=>e?.stop()},[M,A,_,f,z,T.motion.duration.instant]),useEffect(()=>{const e=O.current;if(O.current=F,e===F)return;if(-1===e&&-1===F)return;const t=[];return R.forEach((n,s)=>{const i=s===F?1:0;if(s!==F&&s!==e)return;const r=Animated.timing(n,{toValue:i,duration:T.motion.duration.fast,easing:Easing.bezier(...T.motion.ease["in-out"]),useNativeDriver:!0});r.start(),t.push(r)}),()=>t.forEach(e=>{e.stop()})},[F,R,T]);const D=useCallback(e=>{const t=k.current[e];t&&t.focus()},[]);useImperativeHandle(t,()=>({focus:()=>D(0),blur:()=>{const e=k.current[F>=0?F:0];e?.blur()},clear:()=>{C(""),D(0)}}),[D,F,C]),useEffect(()=>{if(l&&!c){const e=setTimeout(()=>D(0),u);return()=>clearTimeout(e)}},[l,u,c,D]);const P=useMemo(()=>{const e=new Array(o).fill("");for(let t=0;t<Math.min(v.length,o);t+=1)e[t]=v[t]??"";return e},[v,o]),H=useCallback(e=>{const t=e.slice(0,o);t!==v&&(C(t),t.length===o&&r&&r(t))},[o,C,r,v]),N=useCallback((e,t)=>{const n=t.replace(/\u200B/g,""),s=sanitizeChar(n,a);if(!s){const t=P.slice(),n=(t[e]??"").length>0;if(t[e]="",H(t.join("").slice(0,o)),!n&&e>0){const t=P.slice();t[e-1]="",H(t.join("")),D(e-1)}return}const i=P[e]??"",r=i&&s.length>o&&s.startsWith(i)?s.slice(i.length):s;if(r.length>=o){const t=r.slice(0,o),n=v.length;return H(t),t.length!==n&&f&&triggerHaptic(f),void k.current[e]?.blur()}const l=P.slice();let u=e;for(let e=0;e<s.length&&u<o;e+=1)l[u]=s[e]??"",u+=1;const c=l.join("").slice(0,o),d=v.length;H(c),c.length!==d&&f&&triggerHaptic(f);const m=Math.min(u,o-1);u>=o?k.current[e]?.blur():D(m)},[P,D,a,o,f,H,v]),B=useCallback((e,t)=>{if("Backspace"!==t.nativeEvent.key)return;if(0===(P[e]??"").length){if(e>0){const t=P.slice();t[e-1]="",H(t.join("")),D(e-1)}}else{const t=P.slice();t[e]="",H(t.join(""))}},[P,D,H]),W=useCallback((e,t)=>{w(e),g?.(t)},[g]),L=useCallback(()=>{w(-1)},[]),$=useCallback(()=>{if(c)return;const e=P.indexOf("");D(-1===e?o-1:e)},[P,c,D,o]),q=h??`Enter ${o}-digit code`,G=A.interpolate({inputRange:[-1,1],outputRange:[-6,6]});return _jsxs(View,{style:b,accessible:!0,accessibilityRole:"none",accessibilityLabel:q,accessibilityValue:{text:n},accessibilityState:{disabled:c},"aria-disabled":c,testID:j,children:[_jsx(Pressable,{onPress:$,disabled:c,accessible:!1,children:_jsx(Animated.View,{style:[V.row,{columnGap:S.gap,transform:[{translateX:G}]}],children:P.map((e,t)=>{const n=F===t,s=e.length>0,i=M?T.colors["danger-border"]:T.colors["focus-ring"],r=R[t];if(!r)return null;const l=p&&s?"●":e;return _jsxs(View,{style:V.cellWrapper,children:[_jsxs(FieldBase,{size:m,width:S.cell,height:S.cell,borderRadius:S.radius,borderWidth:1.5,focused:n,error:M,filled:s,disabled:c,paddingHorizontal:T.space.none,paddingVertical:T.space.none,gap:T.space.none,style:x,children:[_jsx(TextInput,{ref:e=>{k.current[t]=e},value:(p&&s?"":e)||"​",onChangeText:e=>N(t,e),onKeyPress:e=>B(t,e),onFocus:e=>W(t,e),onBlur:L,keyboardType:a,editable:!c,selectTextOnFocus:!0,caretHidden:s,maxLength:o+1,textContentType:"oneTimeCode",autoComplete:0===t?"sms-otp":"off",importantForAutofill:0===t?"yes":"no",style:[V.input,{fontSize:S.text,color:T.colors["text-body"],...fontFor(T,"semibold")},y]}),p&&s?_jsx(View,{pointerEvents:"none",style:V.maskOverlay,children:_jsx(Text,{style:[{fontSize:S.text,color:T.colors["text-body"],...fontFor(T,"semibold")},y],children:l})}):null]}),_jsx(Animated.View,{style:[V.underline,{backgroundColor:i,opacity:r}]})]},`otp-cell-${t}`)})})}),_jsx(FieldMessage,{size:m,error:!0,text:d})]})});OTPInput.displayName="OTPInput";const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},cellWrapper:{alignItems:"center"},input:{width:"100%",height:"100%",textAlign:"center",padding:e.space.none},maskOverlay:{...StyleSheet.absoluteFill,alignItems:"center",justifyContent:"center"},underline:{marginTop:e.space.xs,height:2,width:"60%",borderRadius:e.radius.pill,...smoothCorners}});export{OTPInput};export default OTPInput;
1
+ "use strict";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,StyleSheet,TextInput,View}from"react-native";import{useControllableState,useReducedMotion}from"../../hooks/index.js";import{createAnimatedValue,fontFor,resolveOtpInputSize,setNativeValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{FieldBase,FieldMessage,hasFieldText}from"../FieldBase/FieldBase.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_OTP_INPUT_LABELS=Object.freeze({field:e=>`Enter ${e}-digit code`});const sanitizeChar=(e,t)=>e?"number-pad"===t?e.replace(/\D/g,""):e:"",OTPInput=forwardRef((e,t)=>{const{value:n,defaultValue:i,onChange:s,onComplete:r,length:a=6,keyboardType:o="number-pad",autoFocus:l=!1,autoFocusDelay:u=0,disabled:c=!1,error:d,size:m="md",secure:p=!1,haptic:f,labels:g,onFocus:h,accessibilityLabel:b,style:y,cellStyle:x,textStyle:T,testID:v}=e;warnInvalidValue("OTPInput","size",e.size,["sm","md","lg"]),warnInvalidValue("OTPInput","keyboardType",e.keyboardType,["number-pad","default"]);const j=g?{...DEFAULT_OTP_INPUT_LABELS,...g}:DEFAULT_OTP_INPUT_LABELS,[I,V]=useControllableState({value:n,defaultValue:i??"",onChange:s}),C=useTheme(),E=useMemo(()=>buildStyles(C),[C]),w=resolveOtpInputSize(C,m),A=useRef([]),[S,_]=useState(-1),k=useRef(null),F=useRef(createAnimatedValue(0)).current,O=useRef(new Map),P=useMemo(()=>{const e=O.current,t=[];for(let n=0;n<a;n+=1){let i=e.get(n);i||(i=new Animated.Value(0),e.set(n,i)),t.push(i)}for(const t of Array.from(e.keys()))t>=a&&e.delete(t);return t},[a]),R=useRef(-1),z=C.settings.components["otp-input"]?.shakeOnError??!1,D=useReducedMotion(),L=!0===d||hasFieldText(d);useEffect(()=>{let e;return null===k.current||!L||k.current||(f&&triggerHaptic("notificationError"),z&&!D&&(setNativeValue(F,0),e=Animated.sequence([Animated.timing(F,{toValue:1,duration:C.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(F,{toValue:-1,duration:C.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(F,{toValue:1,duration:C.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0}),Animated.timing(F,{toValue:0,duration:C.motion.duration.instant,easing:Easing.linear,useNativeDriver:!0})]),e.start())),k.current=L,()=>e?.stop()},[L,F,z,f,D,C.motion.duration.instant]),useEffect(()=>{const e=R.current;if(R.current=S,e===S)return;if(-1===e&&-1===S)return;const t=[];return P.forEach((n,i)=>{const s=i===S?1:0;if(i!==S&&i!==e)return;const r=Animated.timing(n,{toValue:s,duration:C.motion.duration.fast,easing:Easing.bezier(...C.motion.ease["in-out"]),useNativeDriver:!0});r.start(),t.push(r)}),()=>t.forEach(e=>{e.stop()})},[S,P,C]);const M=useCallback(e=>{const t=A.current[e];t&&t.focus()},[]);useImperativeHandle(t,()=>({focus:()=>M(0),blur:()=>{const e=A.current[S>=0?S:0];e?.blur()},clear:()=>{V(""),M(0)}}),[M,S,V]),useEffect(()=>{if(l&&!c){const e=setTimeout(()=>M(0),u);return()=>clearTimeout(e)}},[l,u,c,M]);const N=useMemo(()=>{const e=new Array(a).fill("");for(let t=0;t<Math.min(I.length,a);t+=1)e[t]=I[t]??"";return e},[I,a]),B=useCallback(e=>{const t=e.slice(0,a);t!==I&&(V(t),t.length===a&&r&&r(t))},[a,V,r,I]),H=useCallback((e,t)=>{const n=t.replace(/\u200B/g,""),i=sanitizeChar(n,o);if(!i){const t=N.slice(),n=(t[e]??"").length>0;if(t[e]="",B(t.join("").slice(0,a)),!n&&e>0){const t=N.slice();t[e-1]="",B(t.join("")),M(e-1)}return}const s=N[e]??"",r=s&&i.length>a&&i.startsWith(s)?i.slice(s.length):i;if(r.length>=a){const t=r.slice(0,a),n=I.length;return B(t),t.length!==n&&f&&triggerHaptic(f),void A.current[e]?.blur()}const l=N.slice();let u=e;for(let e=0;e<i.length&&u<a;e+=1)l[u]=i[e]??"",u+=1;const c=l.join("").slice(0,a),d=I.length;B(c),c.length!==d&&f&&triggerHaptic(f);const m=Math.min(u,a-1);u>=a?A.current[e]?.blur():M(m)},[N,M,o,a,f,B,I]),U=useCallback((e,t)=>{if("Backspace"!==t.nativeEvent.key)return;if(0===(N[e]??"").length){if(e>0){const t=N.slice();t[e-1]="",B(t.join("")),M(e-1)}}else{const t=N.slice();t[e]="",B(t.join(""))}},[N,M,B]),W=useCallback((e,t)=>{_(e),h?.(t)},[h]),$=useCallback(()=>{_(-1)},[]),q=useCallback(()=>{if(c)return;const e=N.indexOf("");M(-1===e?a-1:e)},[N,c,M,a]),G=b??j.field(a),K=F.interpolate({inputRange:[-1,1],outputRange:[-6,6]});return _jsxs(View,{style:y,accessible:!0,accessibilityRole:"none",accessibilityLabel:G,accessibilityValue:{text:n},accessibilityState:{disabled:c},"aria-disabled":c,testID:v,children:[_jsx(Pressable,{onPress:q,disabled:c,accessible:!1,children:_jsx(Animated.View,{style:[E.row,{columnGap:w.gap,transform:[{translateX:K}]}],children:N.map((e,t)=>{const n=S===t,i=e.length>0,s=L?C.colors["danger-border"]:C.colors["focus-ring"],r=P[t];if(!r)return null;const l=p&&i?"●":e;return _jsxs(View,{style:E.cellWrapper,children:[_jsxs(FieldBase,{size:m,width:w.cell,height:w.cell,borderRadius:w.radius,borderWidth:1.5,focused:n,error:L,filled:i,disabled:c,paddingHorizontal:C.space.none,paddingVertical:C.space.none,gap:C.space.none,style:x,children:[_jsx(TextInput,{ref:e=>{A.current[t]=e},value:(p&&i?"":e)||"​",onChangeText:e=>H(t,e),onKeyPress:e=>U(t,e),onFocus:e=>W(t,e),onBlur:$,keyboardType:o,editable:!c,selectTextOnFocus:!0,caretHidden:i,maxLength:a+1,textContentType:"oneTimeCode",autoComplete:0===t?"sms-otp":"off",importantForAutofill:0===t?"yes":"no",style:[E.input,{fontSize:w.text,color:C.colors["text-body"],...fontFor(C,"semibold")},T]}),p&&i?_jsx(View,{pointerEvents:"none",style:E.maskOverlay,children:_jsx(Text,{variant:"body",weight:"semibold",style:[{fontSize:w.text},T],children:l})}):null]}),_jsx(Animated.View,{style:[E.underline,{backgroundColor:s,opacity:r}]})]},`otp-cell-${t}`)})})}),_jsx(FieldMessage,{size:m,error:!0,text:d})]})});OTPInput.displayName="OTPInput";const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},cellWrapper:{alignItems:"center"},input:{width:"100%",height:"100%",textAlign:"center",padding:e.space.none},maskOverlay:{...StyleSheet.absoluteFill,alignItems:"center",justifyContent:"center"},underline:{marginTop:e.space.xs,height:2,width:"60%",borderRadius:e.radius.pill,...smoothCorners}});export{OTPInput};export default OTPInput;
@@ -1 +1 @@
1
- "use strict";export{default,OTPInput}from"./OTPInput.js";
1
+ "use strict";export{DEFAULT_OTP_INPUT_LABELS,default,OTPInput}from"./OTPInput.js";
@@ -1 +1 @@
1
- "use strict";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,ScrollView,StyleSheet,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{announce}from"../../utils/announce.js";import{smoothCorners}from"../../utils/corners.js";import{Button}from"../Button/index.js";import{Carousel}from"../Carousel/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const ONBOARDING_MAX_PAGES=6,CONTROL_HEIGHT=44,DOT_SIZE=8,DOT_ACTIVE_WIDTH=24,defaultStep=(e,t)=>`Step ${e} of ${t}`,OnboardingPager=({pages:e,onDone:t,onSkip:o,doneLabel:n="Get started",labels:s,safeArea:a=!0,haptic:i="selection",testID:r})=>{const l=useTheme(),c=useSafeAreaInsets(),u=useReducedMotion(),d=useMemo(()=>buildStyles(l),[l]),p=useMemo(()=>e.slice(0,6),[e]),m=p.length,g=s?.step??defaultStep,b=useRef(null),[x,f]=useState(0),h=x>=m-1,y=useCallback(e=>{e<0||e>=m||b.current?.scrollTo(e,!u)},[m,u]),j=useCallback(e=>y(x+e),[y,x]),S=useCallback(()=>{h?t():y(x+1)},[h,t,y,x]),_=useRef(x);useEffect(()=>{if(_.current===x)return;_.current=x;const e=p[x];e&&announce(`${g(x+1,m)}, ${e.title}`)},[x,p,m,g]);const C=useCallback((e,t)=>_jsx(ScrollView,{style:d.page,contentContainerStyle:d.pageContent,showsVerticalScrollIndicator:!1,bounces:!1,children:_jsxs(View,{accessible:!0,accessibilityLabel:`${g(t+1,m)}, ${e.title}. ${e.body}`,style:d.pageGroup,children:[e.art?_jsx(View,{style:d.art,children:e.art}):null,_jsx(Text,{variant:"h2",align:"center",children:e.title}),_jsx(Text,{variant:"body",color:"secondary",align:"center",children:e.body})]})}),[d,g,m]);return 0===m?null:_jsxs(View,{style:[d.root,a?{paddingTop:c.top,paddingBottom:c.bottom}:null],testID:r,children:[_jsx(View,{style:d.skipRow,children:_jsx(Button,{title:s?.skip??"Skip",variant:"ghost",tone:"neutral",hitSlop:{top:2,bottom:2,left:8,right:8},haptic:i,onPress:o,testID:r?`${r}-skip`:void 0})}),_jsx(Carousel,{ref:b,data:p,renderItem:C,keyExtractor:e=>e.key,onIndexChange:f,showPagination:!1,containerStyle:d.carousel,testID:r?`${r}-pages`:void 0}),_jsxs(View,{style:d.footer,children:[m>1?_jsx(PageControl,{keys:p.map(e=>e.key),index:x,label:s?.pageControl??"Page",valueText:g(x+1,m),reduceMotion:u,theme:l,onStep:j,testID:r?`${r}-dots`:void 0}):null,_jsx(Button,{title:h?n:s?.next??"Next",size:"lg",fullWidth:!0,haptic:i,onPress:S,testID:r?`${r}-next`:void 0})]})]})};OnboardingPager.displayName="OnboardingPager";const PageControl=({keys:e,index:t,label:o,valueText:n,reduceMotion:s,theme:a,onStep:i,testID:r})=>{const l=useCallback(e=>{"increment"===e.nativeEvent.actionName?i(1):"decrement"===e.nativeEvent.actionName&&i(-1)},[i]);return _jsxs(View,{accessible:!0,accessibilityRole:"adjustable",accessibilityLabel:o,accessibilityValue:{min:0,max:e.length-1,now:t,text:n},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:l,style:controlStyles.control,testID:r,children:[_jsx(View,{style:controlStyles.dots,pointerEvents:"none",children:e.map((e,o)=>_jsx(Dot,{active:o===t,reduceMotion:s,theme:a},e))}),_jsx(Pressable,{accessible:!1,importantForAccessibility:"no",style:controlStyles.back,onPress:()=>i(-1),testID:r?`${r}-back`:void 0}),_jsx(Pressable,{accessible:!1,importantForAccessibility:"no",style:controlStyles.forward,onPress:()=>i(1),testID:r?`${r}-forward`:void 0})]})},Dot=({active:e,reduceMotion:t,theme:o})=>{const n=useRef(createAnimatedValue(e?1:0)).current;return useEffect(()=>{const s=Animated.timing(n,{toValue:e?1:0,duration:t?0:o.motion.duration.default,easing:Easing.bezier(...o.motion.ease["in-out"]),useNativeDriver:!1});return s.start(),()=>s.stop()},[e,t,n,o]),_jsx(Animated.View,{style:{width:n.interpolate({inputRange:[0,1],outputRange:[8,24]}),height:8,marginHorizontal:o.space.xs,borderRadius:4,...smoothCorners,backgroundColor:n.interpolate({inputRange:[0,1],outputRange:[o.colors.border,o.colors.primary]})}})},controlStyles=StyleSheet.create({control:{alignSelf:"center",height:44,minWidth:88,alignItems:"center",justifyContent:"center"},dots:{flexDirection:"row",alignItems:"center"},back:{position:"absolute",top:0,bottom:0,start:0,width:"50%"},forward:{position:"absolute",top:0,bottom:0,end:0,width:"50%"}}),buildStyles=e=>StyleSheet.create({root:{flex:1,backgroundColor:e.colors.bg},skipRow:{minHeight:44,paddingHorizontal:e.space.lg,alignItems:"flex-end",justifyContent:"center"},carousel:{flex:1},page:{flex:1},pageContent:{flexGrow:1,justifyContent:"center",paddingHorizontal:e.space.xl,paddingVertical:e.space.lg},pageGroup:{alignItems:"center",gap:e.space.md},art:{alignItems:"center",marginBottom:e.space.xl},footer:{paddingHorizontal:e.space.lg,paddingBottom:e.space.lg,gap:e.space.sm}});export{OnboardingPager};export default OnboardingPager;
1
+ "use strict";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Pressable,ScrollView,StyleSheet,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{announce}from"../../utils/announce.js";import{smoothCorners}from"../../utils/corners.js";import{Button}from"../Button/index.js";import{Carousel}from"../Carousel/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_ONBOARDING_PAGER_LABELS=Object.freeze({skip:"Skip",next:"Next",done:"Get started",step:(e,t)=>`Step ${e} of ${t}`,pageControl:"Page"});const ONBOARDING_MAX_PAGES=6,CONTROL_HEIGHT=44,DOT_SIZE=8,DOT_ACTIVE_WIDTH=24,OnboardingPager=({pages:e,onDone:t,onSkip:o,labels:n,safeArea:s=!0,haptic:a="selection",testID:i})=>{const r=useTheme(),l=useSafeAreaInsets(),c=useReducedMotion(),u=useMemo(()=>buildStyles(r),[r]),d=useMemo(()=>n?{...DEFAULT_ONBOARDING_PAGER_LABELS,...n}:DEFAULT_ONBOARDING_PAGER_LABELS,[n]),p=useMemo(()=>e.slice(0,6),[e]),m=p.length,g=d.step,b=useRef(null),[x,f]=useState(0),h=x>=m-1,y=useCallback(e=>{e<0||e>=m||b.current?.scrollTo(e,!c)},[m,c]),j=useCallback(e=>y(x+e),[y,x]),_=useCallback(()=>{h?t():y(x+1)},[h,t,y,x]),S=useRef(x);useEffect(()=>{if(S.current===x)return;S.current=x;const e=p[x];e&&announce(`${g(x+1,m)}, ${e.title}`)},[x,p,m,g]);const A=useCallback((e,t)=>_jsx(ScrollView,{style:u.page,contentContainerStyle:u.pageContent,showsVerticalScrollIndicator:!1,bounces:!1,children:_jsxs(View,{accessible:!0,accessibilityLabel:`${g(t+1,m)}, ${e.title}. ${e.body}`,style:u.pageGroup,children:[e.art?_jsx(View,{style:u.art,children:e.art}):null,_jsx(Text,{variant:"h2",align:"center",children:e.title}),_jsx(Text,{variant:"body",color:"secondary",align:"center",children:e.body})]})}),[u,g,m]);return 0===m?null:_jsxs(View,{style:[u.root,s?{paddingTop:l.top,paddingBottom:l.bottom}:null],testID:i,children:[_jsx(View,{style:u.skipRow,children:_jsx(Button,{label:d.skip,variant:"ghost",tone:"neutral",hitSlop:{top:2,bottom:2,left:8,right:8},haptic:a,onPress:o,testID:i?`${i}-skip`:void 0})}),_jsx(Carousel,{ref:b,data:p,renderItem:A,keyExtractor:e=>e.key,onIndexChange:f,showPagination:!1,containerStyle:u.carousel,testID:i?`${i}-pages`:void 0}),_jsxs(View,{style:u.footer,children:[m>1?_jsx(PageControl,{keys:p.map(e=>e.key),index:x,label:d.pageControl,valueText:g(x+1,m),reduceMotion:c,theme:r,onStep:j,testID:i?`${i}-dots`:void 0}):null,_jsx(Button,{label:h?d.done:d.next,size:"lg",fullWidth:!0,haptic:a,onPress:_,testID:i?`${i}-next`:void 0})]})]})};OnboardingPager.displayName="OnboardingPager";const PageControl=({keys:e,index:t,label:o,valueText:n,reduceMotion:s,theme:a,onStep:i,testID:r})=>{const l=useCallback(e=>{"increment"===e.nativeEvent.actionName?i(1):"decrement"===e.nativeEvent.actionName&&i(-1)},[i]);return _jsxs(View,{accessible:!0,accessibilityRole:"adjustable",accessibilityLabel:o,accessibilityValue:{min:0,max:e.length-1,now:t,text:n},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:l,style:controlStyles.control,testID:r,children:[_jsx(View,{style:controlStyles.dots,pointerEvents:"none",children:e.map((e,o)=>_jsx(Dot,{active:o===t,reduceMotion:s,theme:a},e))}),_jsx(Pressable,{accessible:!1,importantForAccessibility:"no",style:controlStyles.back,onPress:()=>i(-1),testID:r?`${r}-back`:void 0}),_jsx(Pressable,{accessible:!1,importantForAccessibility:"no",style:controlStyles.forward,onPress:()=>i(1),testID:r?`${r}-forward`:void 0})]})},Dot=({active:e,reduceMotion:t,theme:o})=>{const n=useRef(createAnimatedValue(e?1:0)).current;return useEffect(()=>{const s=Animated.timing(n,{toValue:e?1:0,duration:t?0:o.motion.duration.default,easing:Easing.bezier(...o.motion.ease["in-out"]),useNativeDriver:!1});return s.start(),()=>s.stop()},[e,t,n,o]),_jsx(Animated.View,{style:{width:n.interpolate({inputRange:[0,1],outputRange:[8,24]}),height:8,marginHorizontal:o.space.xs,borderRadius:4,...smoothCorners,backgroundColor:n.interpolate({inputRange:[0,1],outputRange:[o.colors.border,o.colors.primary]})}})},controlStyles=StyleSheet.create({control:{alignSelf:"center",height:44,minWidth:88,alignItems:"center",justifyContent:"center"},dots:{flexDirection:"row",alignItems:"center"},back:{position:"absolute",top:0,bottom:0,start:0,width:"50%"},forward:{position:"absolute",top:0,bottom:0,end:0,width:"50%"}}),buildStyles=e=>StyleSheet.create({root:{flex:1,backgroundColor:e.colors.bg},skipRow:{minHeight:44,paddingHorizontal:e.space.lg,alignItems:"flex-end",justifyContent:"center"},carousel:{flex:1},page:{flex:1},pageContent:{flexGrow:1,justifyContent:"center",paddingHorizontal:e.space.xl,paddingVertical:e.space.lg},pageGroup:{alignItems:"center",gap:e.space.md},art:{alignItems:"center",marginBottom:e.space.xl},footer:{paddingHorizontal:e.space.lg,paddingBottom:e.space.lg,gap:e.space.sm}});export{OnboardingPager};export default OnboardingPager;
@@ -1 +1 @@
1
- "use strict";export{default,OnboardingPager}from"./OnboardingPager.js";
1
+ "use strict";export{DEFAULT_ONBOARDING_PAGER_LABELS,default,OnboardingPager}from"./OnboardingPager.js";
@@ -1 +1 @@
1
- "use strict";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Dimensions,Easing,FlatList,Keyboard,Modal,Platform,Pressable,StatusBar,StyleSheet,Text,TextInput,View}from"react-native";import{Gesture,GestureDetector,GestureHandlerRootView}from"react-native-gesture-handler";import{useKeyboardState}from"react-native-keyboard-controller";import{useDragToDismiss}from"../../hooks/useDragToDismiss.js";import{usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{createAnimatedValue,setNativeValue,useTheme}from"../../theme/index.js";import{transparentOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{defaultIcons}from"../AppIcon/defaultIcons.js";import{ModalSafeArea,useModalInsets}from"../ModalSafeArea/ModalSafeArea.js";import{ToastHost}from"../Toast/ToastProvider.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const AnimatedGestureRoot=Animated.createAnimatedComponent(GestureHandlerRootView),SEARCH_ICON_SIZE=18;export const OptionSheet=e=>{const{open:t,onClose:s,onAfterClose:o,onOpenChange:i,title:r,options:n,sections:a,renderSectionHeader:l,renderOption:c,alphabetIndex:d=!1,searchPlaceholder:u="Search…",emptyText:p="No options",labelOf:m,getValue:h,disabledOf:g,destructiveOf:b,descriptionOf:f,iconOf:x,isSelected:y,onSelect:S,multi:j=!1,searchable:T=!1,searchSelectionColor:w,accessibilityLabel:C,optionStyle:R,selectedOptionStyle:_,optionTextStyle:V,selectedOptionTextStyle:k,testID:I}=e,M=useTheme(),v=usePresenceMotion(),[z,D]=useModalInsets(),A=useMemo(()=>buildStyles(M),[M]),[L,P]=useState(""),H=Dimensions.get("window").height,O=Math.round(.7*H),[E,W]=useState(t),B=useRef(createAnimatedValue(0)).current,F=useRef(createAnimatedValue(O)).current,N=useRef(createAnimatedValue(0)).current,G=useMemo(()=>v.reduced?N:Animated.add(F,N),[v.reduced,F,N]),K=useMemo(()=>v.reduced?F.interpolate({inputRange:[0,O],outputRange:[1,0],extrapolate:"clamp"}):1,[v.reduced,F,O]),{handleGesture:$,opacity:J}=useDragToDismiss({drag:N,travel:O,onDismiss:s}),U=useMemo(()=>Animated.multiply(K,J),[K,J]),Y=useMemo(()=>{const e=M.colors.scrim;return B.interpolate({inputRange:[0,1],outputRange:[transparentOf(e),e]})},[B,M.colors.scrim]);useEffect(()=>{t&&(Keyboard.dismiss(),W(!0))},[t]);const Z=useRef(i);Z.current=i;const q=useRef(!1);useEffect(()=>{q.current!==t&&(q.current=t,Z.current?.(t))},[t]);const Q=useRef(o);Q.current=o;const X=useRef(E);useEffect(()=>{X.current&&!E&&"ios"!==Platform.OS&&Q.current?.(),X.current=E},[E]),useEffect(()=>{if(!E)return;t&&(setNativeValue(N,0),setNativeValue(J,1));const e=t?Animated.parallel([Animated.timing(B,{toValue:1,duration:v.duration("default"),easing:Easing.bezier(...M.motion.ease["in-out"]),useNativeDriver:!1}),v.reduced?Animated.timing(F,{toValue:0,duration:v.duration("default"),easing:Easing.bezier(...M.motion.ease["in-out"]),useNativeDriver:!0}):Animated.spring(F,{toValue:0,damping:M.motion.spring.snappy.damping,stiffness:M.motion.spring.snappy.stiffness,mass:M.motion.spring.snappy.mass,useNativeDriver:!0})]):Animated.parallel([Animated.timing(B,{toValue:0,duration:v.duration("default"),easing:Easing.bezier(...M.motion.ease["in-out"]),useNativeDriver:!1}),Animated.timing(F,{toValue:O,duration:v.duration("fast"),easing:Easing.bezier(...M.motion.ease.accelerate),useNativeDriver:!0})]);return e.start(({finished:e})=>{e&&!t&&W(!1)}),()=>e.stop()},[t,E,B,F,N,J,O,v,M.motion.ease["in-out"],M.motion.ease.accelerate,M.motion.spring.snappy]);const ee=useMemo(()=>Gesture.Native(),[]),[te,se]=useState(0),oe=useKeyboardState(e=>e.height),ie=E?Math.max(0,Math.round(oe)):0,re=Math.max(z.top,StatusBar.currentHeight??0)+M.space.sm,ne=ie>0,ae=ne?Math.max(0,Math.min(O,(te>0?te:H)-ie-re)):O;useEffect(()=>{t||P("")},[t]);const le=useMemo(()=>{const e=T?L.trim().toLowerCase():"",matches=t=>0===e.length||m(t).toLowerCase().includes(e)||(f(t)??"").toLowerCase().includes(e);if(!a)return n.filter(matches).map(e=>({kind:"option",option:e}));const t=[];return a.forEach((e,s)=>{const o=e.options.filter(matches);if(0!==o.length){t.push({kind:"header",title:e.title});for(const e of o)t.push({kind:"option",option:e,section:s})}}),t},[T,L,n,a,m,f]),ce=useCallback(()=>{s()},[s]),de=useRef(null),ue=useMemo(()=>{const e=new Map;if(!d)return e;let t=0;if(a)for(let e=le.length-1;e>=0;e-=1)if("header"===le[e].kind){t=e+1;break}for(let s=t;s<le.length;s+=1){const t=le[s];if("option"!==t.kind)continue;const o=m(t.option).trim().charAt(0).toUpperCase(),i=/^[A-Z]$/.test(o)?o:"#";e.has(i)||e.set(i,s)}return e},[d,le,a,m]),pe=d&&ue.size>0&&0===L.trim().length,me=useMemo(()=>[..."ABCDEFGHIJKLMNOPQRSTUVWXYZ",...ue.has("#")?["#"]:[]],[ue]),he=useCallback(e=>{const t=ue.get(e);void 0!==t&&de.current?.scrollToIndex({index:t,animated:!0,viewPosition:0})},[ue]),ge=useRef(null),be=useCallback(()=>{null!==ge.current&&(clearTimeout(ge.current),ge.current=null)},[]),fe=useCallback(e=>{de.current?.scrollToOffset({offset:e.averageItemLength*e.index,animated:!1}),be(),ge.current=setTimeout(()=>{ge.current=null,de.current?.scrollToIndex({index:e.index,animated:!0,viewPosition:0})},50)},[be]);useEffect(()=>(E||be(),be),[E,be]);return _jsx(Modal,{visible:E,transparent:!0,animationType:"none",onRequestClose:ce,onDismiss:()=>Q.current?.(),statusBarTranslucent:!0,navigationBarTranslucent:!0,children:_jsx(ModalSafeArea,{onInsets:D,children:_jsxs(AnimatedGestureRoot,{collapsable:!1,onLayout:e=>se(e.nativeEvent.layout.height),style:[StyleSheet.absoluteFill,{backgroundColor:Y}],children:[_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:ce,accessibilityRole:"button",accessibilityLabel:"Close picker"}),_jsxs(Animated.View,{testID:I,accessibilityViewIsModal:!0,accessibilityLabel:C??r??"Options",style:[A.sheet,{maxHeight:ae,bottom:ie,paddingBottom:ne?M.space.lg:z.bottom+M.space.lg,backgroundColor:M.colors.surface,borderTopLeftRadius:M.radius.xl,borderTopRightRadius:M.radius.xl,...smoothCorners,opacity:U,transform:[{translateY:G}],...M.shadow.modal}],children:[_jsx(GestureDetector,{gesture:$,children:_jsxs(View,{children:[_jsx(View,{style:A.sheetHandleRow,children:_jsx(View,{style:[A.sheetHandle,{backgroundColor:M.colors.border}]})}),r?_jsx(Text,{style:[A.sheetTitle,{color:M.colors["text-body"],fontSize:M.text.lg.size,fontWeight:M.weight.semibold,paddingHorizontal:M.space.lg,marginBottom:M.space.sm}],children:r}):null]})}),T?_jsx(View,{style:[A.searchWrap,{marginHorizontal:M.space.lg,marginBottom:M.space.sm}],children:_jsxs(View,{style:[A.searchBox,{backgroundColor:M.colors["bg-subtle"],borderColor:M.colors.border,borderRadius:M.radius.md,...smoothCorners,paddingHorizontal:M.space.md,gap:M.space.sm}],children:[(M.settings.icons.search??defaultIcons.search)({size:18,color:M.colors["text-subtle"]}),_jsx(TextInput,{value:L,onChangeText:P,placeholder:u,placeholderTextColor:M.colors["text-subtle"],selectionColor:w??M.colors["focus-ring"],accessibilityLabel:"Search options",style:[A.searchInput,{color:M.colors["text-body"],fontSize:M.text.base.size,paddingVertical:M.space.sm}]}),L.length>0?_jsx(Pressable,{onPress:()=>P(""),hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:"Clear search",children:(M.settings.icons.close??defaultIcons.close)({size:18,color:M.colors["text-muted"]})}):null]})}):null,_jsxs(View,{style:[A.listWrap,pe?A.listRow:null],children:[_jsx(GestureDetector,{gesture:ee,children:_jsx(FlatList,{ref:de,data:le,keyExtractor:e=>"header"===e.kind?`h:${e.title}`:`o:${e.section??""}:${String(h(e.option))}`,renderItem:({item:e})=>{if("header"===e.kind)return _jsx(View,{accessible:!0,accessibilityRole:"header",style:[A.sectionHeader,{paddingHorizontal:M.space.lg,paddingTop:M.space.md}],children:l?l(e.title):_jsx(Text,{style:[A.sectionTitle,{color:M.colors["text-subtle"],fontSize:M.text.xs.size,fontWeight:M.weight.semibold}],children:e.title.toUpperCase()})});const t=e.option,s=m(t),o=h(t),i=f(t),r=x(t),n=y(o),a=g(t),d=b?.(t)??!1;return _jsxs(Pressable,{onPress:()=>S(t),disabled:a,android_ripple:{color:M.colors["surface-pressed"],borderless:!1},accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:n,disabled:a},"aria-selected":n,"aria-disabled":a,style:({pressed:e})=>[A.optionRow,{backgroundColor:n?M.colors["surface-selected"]:e?M.colors["surface-pressed"]:"transparent",opacity:a?.5:1,paddingHorizontal:M.space.lg,paddingVertical:M.space.md},R,n?_:null],children:[c?_jsx(View,{style:A.optionTextWrap,children:c(t,{selected:n,disabled:a})}):_jsxs(_Fragment,{children:[r?_jsx(View,{style:A.optionIcon,children:r}):null,_jsxs(View,{style:A.optionTextWrap,children:[_jsx(Text,{style:[A.optionLabel,{color:d?M.colors["danger-text"]:n?M.colors.primary:M.colors["text-body"],fontSize:M.text.base.size,fontWeight:n?M.weight.semibold:M.weight.medium},V,n?k:null],children:s}),i?_jsx(Text,{style:[A.optionDescription,{color:M.colors["text-subtle"],fontSize:M.text.sm.size}],numberOfLines:2,children:i}):null]})]}),j?_jsx(View,{style:[A.checkbox,{borderColor:n?M.colors.primary:M.colors.border,backgroundColor:n?M.colors.primary:"transparent"}],children:n?_jsx(View,{style:A.checkboxTick}):null}):n?"icon"===M.settings.components["option-sheet"]?.selectedMarker?_jsx(View,{style:A.singleSelectedIcon,children:(M.settings.icons.selectedTick??defaultIcons.selectedTick)({size:20,color:M.colors.primary})}):_jsx(View,{style:[A.singleSelectedDot,{backgroundColor:M.colors.primary}]}):null]})},onScrollToIndexFailed:fe,overScrollMode:"never",bounces:!1,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:!pe,style:pe?A.listBesideRail:null,ListEmptyComponent:_jsx(Text,{style:[A.empty,{color:M.colors["text-subtle"],fontSize:M.text.sm.size,paddingVertical:M.space.xl}],children:p})})}),pe?_jsx(View,{style:[A.rail,{paddingRight:M.space.xs}],accessibilityRole:"list",accessibilityLabel:"Jump to letter",testID:"option-sheet-alphabet",children:me.map(e=>{const t=ue.has(e);return _jsx(Pressable,{onPress:()=>he(e),disabled:!t,hitSlop:{left:8,right:8},...hitSlopMarker({left:8,right:8}),accessibilityRole:"button",accessibilityLabel:`Jump to ${e}`,accessibilityState:{disabled:!t},"aria-disabled":!t,style:A.railLetter,children:_jsx(Text,{style:[A.railLetterText,{color:t?M.colors.primary:M.colors["text-subtle"],fontSize:M.text.xs.size,fontWeight:M.weight.semibold,opacity:t?1:.45}],children:e})},e)})}):null]}),j?_jsx(View,{style:[A.sheetFooter,{borderTopColor:M.colors["border-subtle"],paddingHorizontal:M.space.lg,paddingVertical:M.space.md}],children:_jsx(Pressable,{onPress:ce,accessibilityRole:"button",accessibilityLabel:"Done",style:({pressed:e})=>[A.doneButton,{backgroundColor:e?M.colors["primary-pressed"]:M.colors.primary,borderRadius:M.radius.md,...smoothCorners,paddingVertical:M.space.sm,paddingHorizontal:M.space.lg}],children:_jsx(Text,{style:{color:M.colors["on-primary"],fontSize:M.text.base.size,fontWeight:M.weight.semibold},children:"Done"})})}):null]}),_jsx(ToastHost,{})]})})})};OptionSheet.displayName="OptionSheet";const buildStyles=e=>StyleSheet.create({sheet:{position:"absolute",left:0,right:0,bottom:0,paddingBottom:e.space.lg,overflow:"hidden"},sheetHandleRow:{alignItems:"center",paddingTop:e.space.sm,paddingBottom:e.space.sm},sheetHandle:{width:36,height:4,borderRadius:e.radius.pill,...smoothCorners},sheetTitle:{includeFontPadding:!1},searchWrap:{width:"auto"},searchBox:{flexDirection:"row",alignItems:"center",borderWidth:1},searchInput:{flex:1,includeFontPadding:!1},optionRow:{flexDirection:"row",alignItems:"center"},sectionHeader:{paddingBottom:e.space.xs},listWrap:{flexShrink:1},listRow:{flexDirection:"row"},listBesideRail:{flex:1},rail:{justifyContent:"space-between",alignItems:"center",alignSelf:"stretch",paddingVertical:e.space.xs},railLetter:{paddingHorizontal:e.space.xs,minHeight:14,justifyContent:"center"},railLetterText:{includeFontPadding:!1,lineHeight:14},sectionTitle:{includeFontPadding:!1,letterSpacing:.6},optionIcon:{marginRight:e.space.md},optionTextWrap:{flex:1},optionLabel:{includeFontPadding:!1},optionDescription:{includeFontPadding:!1,marginTop:e.space.xxs},checkbox:{width:22,height:22,borderRadius:e.radius.sm,...smoothCorners,borderWidth:2,alignItems:"center",justifyContent:"center",marginLeft:e.space.md},checkboxTick:{width:10,height:6,borderLeftWidth:2,borderBottomWidth:2,borderColor:e.colors["on-primary"],transform:[{rotate:"-45deg"},{translateY:-1}]},singleSelectedDot:{width:8,height:8,borderRadius:e.radius.pill,...smoothCorners,marginLeft:e.space.md},singleSelectedIcon:{marginLeft:e.space.md},empty:{textAlign:"center"},sheetFooter:{borderTopWidth:StyleSheet.hairlineWidth,alignItems:"flex-end"},doneButton:{alignSelf:"flex-end"}});export default OptionSheet;
1
+ "use strict";import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Dimensions,FlatList,Pressable,StatusBar,StyleSheet,TextInput,View}from"react-native";import{Gesture,GestureDetector,GestureHandlerRootView}from"react-native-gesture-handler";import{useKeyboardState}from"react-native-keyboard-controller";import{useSafeAreaInsets}from"react-native-safe-area-context";import{useDragToDismiss}from"../../hooks/useDragToDismiss.js";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{defaultIcons}from"../AppIcon/defaultIcons.js";import{Modal}from"../Modal/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const SEARCH_ICON_SIZE=18;export const DEFAULT_OPTION_SHEET_LABELS=Object.freeze({searchPlaceholder:"Search…",empty:"No options",done:"Done",closePicker:"Close picker",fallbackName:"Options",searchOptions:"Search options",clearSearch:"Clear search",jumpToLetter:"Jump to letter",jumpTo:e=>`Jump to ${e}`});const selectOptionLabel=e=>e.label,selectOptionValue=e=>e.value,selectOptionDescription=e=>e.description,selectOptionDisabled=e=>!0===e.disabled,selectOptionIcon=e=>e.icon,hostStyle=StyleSheet.create({host:{padding:0,paddingTop:0,paddingHorizontal:0,paddingBottom:0,backgroundColor:"transparent",borderTopLeftRadius:0,borderTopRightRadius:0,shadowOpacity:0,elevation:0}}).host;function OptionSheetPanel(e){const{onClose:t,title:o,options:s,sections:i,renderSectionHeader:r,renderOption:l,alphabetIndex:n=!1,labels:a,getOptionLabel:c,getOptionValue:d,getOptionDescription:p,isOptionDisabled:u,getOptionIcon:h,destructiveOf:m,value:b,onChange:g,multi:x=!1,searchable:y=!1,searchSelectionColor:f,accessibilityLabel:S,optionStyle:T,selectedOptionStyle:j,optionTextStyle:w,selectedOptionTextStyle:C,testID:_}=e,k=c??selectOptionLabel,L=d??selectOptionValue,I=p??selectOptionDescription,R=u??selectOptionDisabled,O=h??selectOptionIcon,V=useTheme(),D=useSafeAreaInsets(),v=useMemo(()=>buildStyles(V),[V]),[P,H]=useState(""),M=Dimensions.get("window").height,B=Math.round(.7*M),A=useRef(createAnimatedValue(0)).current,{handleGesture:E,opacity:F}=useDragToDismiss({drag:A,travel:B,onDismiss:t}),z=useMemo(()=>Gesture.Native(),[]),W=useKeyboardState(e=>e.height),N=Math.max(0,Math.round(W)),G=Math.max(D.top,StatusBar.currentHeight??0)+V.space.sm,U=N>0,$=U?Math.max(0,Math.min(B,M-N-G)):B,J=useMemo(()=>{const e=y?P.trim().toLowerCase():"",matches=t=>0===e.length||k(t).toLowerCase().includes(e)||(I(t)??"").toLowerCase().includes(e);if(!i)return s.filter(matches).map(e=>({kind:"option",option:e}));const t=[];return i.forEach((e,o)=>{const s=e.options.filter(matches);if(0!==s.length){t.push({kind:"header",title:e.title});for(const e of s)t.push({kind:"option",option:e,section:o})}}),t},[y,P,s,i,k,I]),K=useCallback(()=>{t()},[t]),Y=useRef(null),Z=useMemo(()=>{const e=new Map;if(!n)return e;let t=0;if(i)for(let e=J.length-1;e>=0;e-=1)if("header"===J[e].kind){t=e+1;break}for(let o=t;o<J.length;o+=1){const t=J[o];if("option"!==t.kind)continue;const s=k(t.option).trim().charAt(0).toUpperCase(),i=/^[A-Z]$/.test(s)?s:"#";e.has(i)||e.set(i,o)}return e},[n,J,i,k]),Q=n&&Z.size>0&&0===P.trim().length,X=useMemo(()=>[..."ABCDEFGHIJKLMNOPQRSTUVWXYZ",...Z.has("#")?["#"]:[]],[Z]),q=useCallback(e=>{const t=Z.get(e);void 0!==t&&Y.current?.scrollToIndex({index:t,animated:!0,viewPosition:0})},[Z]),ee=useRef(null),te=useCallback(()=>{null!==ee.current&&(clearTimeout(ee.current),ee.current=null)},[]),oe=useCallback(e=>{Y.current?.scrollToOffset({offset:e.averageItemLength*e.index,animated:!1}),te(),ee.current=setTimeout(()=>{ee.current=null,Y.current?.scrollToIndex({index:e.index,animated:!0,viewPosition:0})},50)},[te]);useEffect(()=>te,[te]);return _jsx(GestureHandlerRootView,{style:v.gestureRoot,children:_jsxs(Animated.View,{testID:_,accessibilityViewIsModal:!0,accessibilityLabel:S??o??a.fallbackName,style:[v.sheet,{maxHeight:$,marginBottom:N,paddingBottom:U?V.space.lg:D.bottom+V.space.lg,backgroundColor:V.colors.surface,borderTopLeftRadius:V.radius.xl,borderTopRightRadius:V.radius.xl,...smoothCorners,opacity:F,transform:[{translateY:A}],...V.shadow.modal}],children:[_jsx(GestureDetector,{gesture:E,children:_jsxs(View,{children:[_jsx(View,{style:v.sheetHandleRow,children:_jsx(View,{style:[v.sheetHandle,{backgroundColor:V.colors.border}]})}),o?_jsx(Text,{variant:"title",style:[v.sheetTitle,{paddingHorizontal:V.space.lg,marginBottom:V.space.sm}],children:o}):null]})}),y?_jsx(View,{style:[v.searchWrap,{marginHorizontal:V.space.lg,marginBottom:V.space.sm}],children:_jsxs(View,{style:[v.searchBox,{backgroundColor:V.colors["bg-subtle"],borderColor:V.colors.border,borderRadius:V.radius.md,...smoothCorners,paddingHorizontal:V.space.md,gap:V.space.sm}],children:[(V.settings.icons.search??defaultIcons.search)({size:18,color:V.colors["text-subtle"]}),_jsx(TextInput,{value:P,onChangeText:H,placeholder:a.searchPlaceholder,placeholderTextColor:V.colors["text-subtle"],selectionColor:f??V.colors["focus-ring"],accessibilityLabel:a.searchOptions,style:[v.searchInput,{color:V.colors["text-body"],fontSize:V.text.base.size,paddingVertical:V.space.sm}]}),P.length>0?_jsx(Pressable,{onPress:()=>H(""),hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:a.clearSearch,children:(V.settings.icons.close??defaultIcons.close)({size:18,color:V.colors["text-muted"]})}):null]})}):null,_jsxs(View,{style:[v.listWrap,Q?v.listRow:null],children:[_jsx(GestureDetector,{gesture:z,children:_jsx(FlatList,{ref:Y,data:J,keyExtractor:e=>"header"===e.kind?`h:${e.title}`:`o:${e.section??""}:${String(L(e.option))}`,renderItem:({item:e,index:t})=>{if("header"===e.kind)return _jsx(View,{accessible:!0,accessibilityRole:"header",style:[v.sectionHeader,{paddingHorizontal:V.space.lg,paddingTop:V.space.md}],children:r?r(e.title):_jsx(Text,{variant:"caption",weight:"semibold",color:"tertiary",style:v.sectionTitle,children:e.title.toUpperCase()})});const o=e.option,s=k(o),i=L(o),n=I(o),a=O(o),c=(d=i,Array.isArray(b)?b.some(e=>String(e)===String(d)):null!=b&&String(b)===String(d));var d;const p=R(o),u=m?.(o)??!1;return _jsxs(Pressable,{onPress:()=>g(i,o),disabled:p,android_ripple:{color:V.colors["surface-pressed"],borderless:!1},accessibilityRole:"button",accessibilityLabel:s,accessibilityState:{selected:c,disabled:p},"aria-selected":c,"aria-disabled":p,style:({pressed:e})=>[v.optionRow,{backgroundColor:c?V.colors["surface-selected"]:e?V.colors["surface-pressed"]:"transparent",opacity:p?.5:1,paddingHorizontal:V.space.lg,paddingVertical:V.space.md},T,c?j:null],children:[l?_jsx(View,{style:v.optionTextWrap,children:l({option:o,selected:c,disabled:p,index:t})}):_jsxs(_Fragment,{children:[a?_jsx(View,{style:v.optionIcon,children:a}):null,_jsxs(View,{style:v.optionTextWrap,children:[_jsx(Text,{variant:"body",weight:c?"semibold":"medium",color:u?"danger":c?"brand":void 0,style:[v.optionLabel,w,c?C:null],children:s}),n?_jsx(Text,{variant:"bodySmall",color:"tertiary",numberOfLines:2,style:v.optionDescription,children:n}):null]})]}),x?_jsx(View,{style:[v.checkbox,{borderColor:c?V.colors.primary:V.colors.border,backgroundColor:c?V.colors.primary:"transparent"}],children:c?_jsx(View,{style:v.checkboxTick}):null}):c?"icon"===V.settings.components["option-sheet"]?.selectedMarker?_jsx(View,{style:v.singleSelectedIcon,children:(V.settings.icons.selectedTick??defaultIcons.selectedTick)({size:20,color:V.colors.primary})}):_jsx(View,{style:[v.singleSelectedDot,{backgroundColor:V.colors.primary}]}):null]})},onScrollToIndexFailed:oe,overScrollMode:"never",bounces:!1,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:!Q,style:Q?v.listBesideRail:null,ListEmptyComponent:_jsx(Text,{variant:"bodySmall",color:"tertiary",align:"center",style:{paddingVertical:V.space.xl},children:a.empty})})}),Q?_jsx(View,{style:[v.rail,{paddingRight:V.space.xs}],accessibilityRole:"list",accessibilityLabel:a.jumpToLetter,testID:"option-sheet-alphabet",children:X.map(e=>{const t=Z.has(e);return _jsx(Pressable,{onPress:()=>q(e),disabled:!t,hitSlop:{left:8,right:8},...hitSlopMarker({left:8,right:8}),accessibilityRole:"button",accessibilityLabel:a.jumpTo(e),accessibilityState:{disabled:!t},"aria-disabled":!t,style:v.railLetter,children:_jsx(Text,{variant:"caption",weight:"semibold",color:t?"brand":"tertiary",style:[v.railLetterText,{opacity:t?1:.45}],children:e})},e)})}):null]}),x?_jsx(View,{style:[v.sheetFooter,{borderTopColor:V.colors["border-subtle"],paddingHorizontal:V.space.lg,paddingVertical:V.space.md}],children:_jsx(Pressable,{onPress:K,accessibilityRole:"button",accessibilityLabel:a.done,style:({pressed:e})=>[v.doneButton,{backgroundColor:e?V.colors["primary-pressed"]:V.colors.primary,borderRadius:V.radius.md,...smoothCorners,paddingVertical:V.space.sm,paddingHorizontal:V.space.lg}],children:_jsx(Text,{variant:"body",weight:"semibold",style:{color:V.colors["on-primary"]},children:a.done})})}):null]})})}export function OptionSheet(e){const{visible:t,onVisibleChange:o,onAfterClose:s,labels:i,onClose:r,haptic:l,...n}=e,a=useMemo(()=>({...DEFAULT_OPTION_SHEET_LABELS,...i}),[i]),c=useRef(o);c.current=o;const d=useRef(!1);return useEffect(()=>{d.current!==t&&(d.current=t,c.current?.(t))},[t]),_jsx(Modal,{visible:t,onClose:r,presentation:"bottom",onDismissed:s,haptic:l,contentStyle:hostStyle,labels:{close:a.closePicker},accessibilityLabel:n.accessibilityLabel??n.title??a.fallbackName,children:_jsx(OptionSheetPanel,{...n,onClose:r,labels:a})})}OptionSheet.displayName="OptionSheet";const buildStyles=e=>StyleSheet.create({gestureRoot:{width:"100%"},sheet:{paddingBottom:e.space.lg,overflow:"hidden"},sheetHandleRow:{alignItems:"center",paddingTop:e.space.sm,paddingBottom:e.space.sm},sheetHandle:{width:36,height:4,borderRadius:e.radius.pill,...smoothCorners},sheetTitle:{includeFontPadding:!1},searchWrap:{width:"auto"},searchBox:{flexDirection:"row",alignItems:"center",borderWidth:1},searchInput:{flex:1,includeFontPadding:!1},optionRow:{flexDirection:"row",alignItems:"center"},sectionHeader:{paddingBottom:e.space.xs},listWrap:{flexShrink:1},listRow:{flexDirection:"row"},listBesideRail:{flex:1},rail:{justifyContent:"space-between",alignItems:"center",alignSelf:"stretch",paddingVertical:e.space.xs},railLetter:{paddingHorizontal:e.space.xs,minHeight:14,justifyContent:"center"},railLetterText:{includeFontPadding:!1,lineHeight:14},sectionTitle:{includeFontPadding:!1,letterSpacing:.6},optionIcon:{marginRight:e.space.md},optionTextWrap:{flex:1},optionLabel:{includeFontPadding:!1},optionDescription:{includeFontPadding:!1,marginTop:e.space.xxs},checkbox:{width:22,height:22,borderRadius:e.radius.sm,...smoothCorners,borderWidth:2,alignItems:"center",justifyContent:"center",marginLeft:e.space.md},checkboxTick:{width:10,height:6,borderLeftWidth:2,borderBottomWidth:2,borderColor:e.colors["on-primary"],transform:[{rotate:"-45deg"},{translateY:-1}]},singleSelectedDot:{width:8,height:8,borderRadius:e.radius.pill,...smoothCorners,marginLeft:e.space.md},singleSelectedIcon:{marginLeft:e.space.md},sheetFooter:{borderTopWidth:StyleSheet.hairlineWidth,alignItems:"flex-end"},doneButton:{alignSelf:"flex-end"}});export default OptionSheet;
@@ -1 +1 @@
1
- "use strict";export{default,OptionSheet}from"./OptionSheet.js";
1
+ "use strict";export{DEFAULT_OPTION_SHEET_LABELS,default,OptionSheet}from"./OptionSheet.js";
@@ -0,0 +1 @@
1
+ "use strict";import{useMemo}from"react";import{View}from"react-native";import{makeStyles}from"../../theme/index.js";import{Button}from"../Button/index.js";import{Spinner}from"../Spinner/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const useStyles=makeStyles(e=>({root:{alignItems:"center",flexDirection:"row",gap:e.space.sm,justifyContent:"center",paddingVertical:e.space.md}}));export const DEFAULT_PAGED_LIST_FOOTER_LABELS=Object.freeze({loadingMore:"Loading more",retry:"Try again",failed:"Could not load more"});export function PagedListFooter({paging:e,labels:t,testID:r}){const o=useStyles(),s=useMemo(()=>({...DEFAULT_PAGED_LIST_FOOTER_LABELS,...t}),[t]);return e.errorMore?_jsxs(View,{style:o.root,accessibilityLiveRegion:"polite",testID:r,children:[_jsx(Text,{variant:"caption",color:"danger",children:s.failed}),_jsx(Button,{label:s.retry,variant:"ghost",size:"sm",onPress:e.retryMore,testID:r?`${r}-retry`:void 0})]}):e.loadingMore?_jsx(View,{style:o.root,testID:r,children:_jsx(Spinner,{size:"sm",accessibilityLabel:s.loadingMore})}):null}
@@ -0,0 +1 @@
1
+ "use strict";export{DEFAULT_PAGED_LIST_FOOTER_LABELS,PagedListFooter}from"./PagedListFooter.js";
@@ -1 +1 @@
1
- "use strict";import{useEffect,useMemo,useRef}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{announce}from"../../utils/announce.js";import{Button}from"../Button/index.js";import{IconBadge}from"../IconBadge/index.js";import{Text}from"../Text/index.js";import{usePermissionPrompt}from"./usePermissionPrompt.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const ACCESS={camera:"Camera access",microphone:"Microphone access",photos:"Photo access",photosAdd:"Photo access",mediaLibrary:"Media library access",location:"Location access",locationAlways:"Location access",contacts:"Contacts access",calendar:"Calendar access",reminders:"Reminders access",notifications:"Notification access",bluetooth:"Bluetooth access",storage:"Storage access"},unavailableMessage=(e,s,t)=>{const i=ACCESS[e];return"unavailable"===s?`${i} is not available on this device.`:t?`${i} is off for this app. You can turn it on in Settings.`:`${i} is off, so this cannot be used right now.`};export const PermissionPrompt=({kind:e,title:s,reason:t,icon:i,onResult:n,fallback:a,haptic:o="selection",style:r,testID:c})=>{const l=useTheme(),u=useMemo(()=>buildStyles(l),[l]),m=usePermissionPrompt(e,{onResult:n}),p=unavailableMessage(e,m.status,m.showSettings),d=useRef(!1);if(useEffect(()=>{"explain"!==m.view?("unavailable"===m.view&&d.current&&announce(p),d.current=!1):d.current=!0},[m.view,p]),"explain"!==m.view&&"unavailable"!==m.view)return _jsx(View,{style:r,testID:c});const h="explain"===m.view;return _jsxs(View,{style:[u.root,r],testID:c,children:[_jsxs(View,{style:u.header,children:[i?_jsx(IconBadge,{icon:i,size:"lg",tone:h?"primary":"neutral"}):null,_jsx(Text,{variant:"h3",align:"center",children:s}),_jsx(Text,{variant:"body",color:"secondary",align:"center",children:h?t:p})]}),_jsxs(View,h?{style:u.actions,children:[_jsx(Button,{haptic:o,title:"Continue",size:"lg",fullWidth:!0,loading:m.requesting,onPress:()=>{m.request()}}),m.cancellable?_jsx(Button,{haptic:o,title:"Cancel",size:"lg",fullWidth:!0,variant:"ghost",tone:"neutral",disabled:m.requesting,onPress:m.cancel}):null]}:{style:u.actions,children:[a?_jsx(Button,{haptic:o,title:a.label,size:"lg",fullWidth:!0,onPress:a.onPress}):null,m.showSettings?_jsx(View,{style:u.link,children:_jsx(Button,{haptic:o,title:"Open Settings",variant:"link",onPress:()=>{m.openSettings()}})}):null]})]})};const buildStyles=e=>StyleSheet.create({root:{gap:e.space.lg,paddingVertical:e.space.lg},header:{alignItems:"center",gap:e.space.sm},actions:{gap:e.space.sm},link:{alignItems:"center",paddingVertical:e.space.sm}});export default PermissionPrompt;
1
+ "use strict";import{useEffect,useMemo,useRef}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{announce}from"../../utils/announce.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Button}from"../Button/index.js";import{IconBadge}from"../IconBadge/index.js";import{Text}from"../Text/index.js";import{usePermissionPrompt}from"./usePermissionPrompt.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PERMISSION_PROMPT_LABELS=Object.freeze({proceed:"Continue",cancel:"Cancel",openSettings:"Open Settings",access:Object.freeze({camera:"Camera access",microphone:"Microphone access",photos:"Photo access",photosAdd:"Photo access",mediaLibrary:"Media library access",location:"Location access",locationAlways:"Location access",contacts:"Contacts access",calendar:"Calendar access",reminders:"Reminders access",notifications:"Notification access",bluetooth:"Bluetooth access",storage:"Storage access"}),notAvailable:e=>`${e} is not available on this device.`,offWithSettings:e=>`${e} is off for this app. You can turn it on in Settings.`,off:e=>`${e} is off, so this cannot be used right now.`});const unavailableMessage=(e,s,t,n)=>{const a=n.access[e];return"unavailable"===s?n.notAvailable(a):t?n.offWithSettings(a):n.off(a)};export const PermissionPrompt=e=>{const{kind:s,title:t,reason:n,icon:a,onResult:i,fallback:o,haptic:c="selection",labels:l,style:r,testID:u}=e;warnInvalidValue("PermissionPrompt","kind",s,Object.keys(DEFAULT_PERMISSION_PROMPT_LABELS.access));const m=l?{...DEFAULT_PERMISSION_PROMPT_LABELS,...l}:DEFAULT_PERMISSION_PROMPT_LABELS,p=useTheme(),d=useMemo(()=>buildStyles(p),[p]),h=usePermissionPrompt(s,{onResult:i}),f=unavailableMessage(s,h.status,h.showSettings,m),g=useRef(!1);if(useEffect(()=>{"explain"!==h.view?("unavailable"===h.view&&g.current&&announce(f),g.current=!1):g.current=!0},[h.view,f]),"explain"!==h.view&&"unavailable"!==h.view)return _jsx(View,{style:r,testID:u});const x="explain"===h.view;return _jsxs(View,{style:[d.root,r],testID:u,children:[_jsxs(View,{style:d.header,children:[a?_jsx(IconBadge,{icon:a,size:"lg",tone:x?"primary":"neutral"}):null,_jsx(Text,{variant:"h3",align:"center",children:t}),_jsx(Text,{variant:"body",color:"secondary",align:"center",children:x?n:f})]}),_jsxs(View,x?{style:d.actions,children:[_jsx(Button,{haptic:c,label:m.proceed,size:"lg",fullWidth:!0,loading:h.requesting,onPress:()=>{h.request()}}),h.cancellable?_jsx(Button,{haptic:c,label:m.cancel,size:"lg",fullWidth:!0,variant:"ghost",tone:"neutral",disabled:h.requesting,onPress:h.cancel}):null]}:{style:d.actions,children:[o?_jsx(Button,{haptic:c,label:o.label,size:"lg",fullWidth:!0,onPress:o.onPress}):null,h.showSettings?_jsx(View,{style:d.link,children:_jsx(Button,{haptic:c,label:m.openSettings,variant:"link",onPress:()=>{h.openSettings()}})}):null]})]})};const buildStyles=e=>StyleSheet.create({root:{gap:e.space.lg,paddingVertical:e.space.lg},header:{alignItems:"center",gap:e.space.sm},actions:{gap:e.space.sm},link:{alignItems:"center",paddingVertical:e.space.sm}});export default PermissionPrompt;
@@ -1 +1 @@
1
- "use strict";export{default,PermissionPrompt}from"./PermissionPrompt.js";export{usePermissionPrompt}from"./usePermissionPrompt.js";
1
+ "use strict";export{DEFAULT_PERMISSION_PROMPT_LABELS,default,PermissionPrompt}from"./PermissionPrompt.js";export{usePermissionPrompt}from"./usePermissionPrompt.js";
@@ -1 +1 @@
1
- "use strict";import{countryFlagEmoji,formatPhoneAsTyped,getPhoneCountries,isSupportedCountry,isValidNationalNumber,maxNationalNumberLength,splitPhoneNumber}from"@webority/mobile-core";import{PHONE_COUNTRY_NAMES}from"@webority/mobile-core/phone/countries";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Pressable,StyleSheet,Text,TextInput,View}from"react-native";import{useControllableState}from"../../hooks/index.js";import{fontFor,resolveFieldSize,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{FieldBase,FieldLabel,FieldMessage,hasFieldText,RequiredPlaceholder,resolveFieldTextStyle}from"../FieldBase/index.js";import{Chevron}from"../FieldBase/Chevron.js";import{useFloatingLabel}from"../FieldBase/useFloatingLabel.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_CALLING_CODES=[{iso:"IN",code:"91",label:"India"},{iso:"AE",code:"971",label:"United Arab Emirates"},{iso:"GB",code:"44",label:"United Kingdom"},{iso:"US",code:"1",label:"United States"},{iso:"CA",code:"1",label:"Canada"},{iso:"AU",code:"61",label:"Australia"},{iso:"SG",code:"65",label:"Singapore"},{iso:"SA",code:"966",label:"Saudi Arabia"}];export const ALL_CALLING_CODES=getPhoneCountries().map(e=>({iso:e.iso,code:e.callingCode,label:PHONE_COUNTRY_NAMES[e.iso]??e.iso})).sort((e,t)=>e.label.localeCompare(t.label));const digitsOnly=e=>e.replace(/[^0-9]/g,"");export const formatE164=e=>`+${e.callingCode}${e.nationalNumber}`;export const parseE164=(e,t,o)=>{const i=e.replace(/[^0-9]/g,"");if(!i)return null;const n=splitPhoneNumber(`+${i}`);let l=n?.callingCode,r=n?.nationalNumber??"";if(!l){const e=Array.from(new Set(t.map(e=>e.code))).sort((e,t)=>t.length-e.length);if(l=e.find(e=>i.startsWith(e)),!l)return null;r=i.slice(l.length)}const a=t.filter(e=>e.code===l),s=a.find(e=>e.iso===o)?.iso??a.find(e=>e.iso===n?.country)?.iso??n?.country??a[0]?.iso??"";return{callingCode:l,nationalNumber:r,iso:s}};const planOf=e=>isSupportedCountry(e)?e:null;export const PhoneNumberInput=forwardRef((e,t)=>{const{value:o,defaultValue:i,onChange:n,e164:l,onChangeE164:r,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:d,onComplete:c,onValidityChange:b,countries:m=ALL_CALLING_CODES,popularCountries:p,popularCountriesTitle:f="Popular",allCountriesTitle:h="All countries",hiddenCountries:g,showFlag:y=!0,renderFlag:C,renderCountry:N,countrySearchPlaceholder:x,showAlphabetIndex:S,defaultIso:v="IN",validation:F="any",maxLength:T,formatAsYouType:I=!0,countryLocked:E=!1,label:L,labelMode:j="top",labelStyle:O,placeholder:P="Phone number",helperText:_,error:A,invalidMessage:w,required:k,disabled:M=!1,size:R="md",variant:V,borderRadius:z,countrySheetTitle:D="Country code",haptic:B,accessibilityLabel:$,countryAccessibilityLabel:H,onFocus:U,onBlur:W,style:q,testID:G}=e,Y=useTheme(),K=useMemo(()=>buildStyles(Y),[Y]),J=useRef(null),Q=useMemo(()=>g?.length?m.filter(e=>!g.includes(e.iso)):m,[m,g]),X=useMemo(()=>{if(!p?.length)return;const e=p.map(e=>Q.find(t=>t.iso===e)).filter(e=>void 0!==e);return e.length?[{title:f,options:e},{title:h,options:Q}]:void 0},[p,f,h,Q]),Z=useCallback((e,t,o)=>{if(!e)return null;if(C)return C(e);if(!y)return null;const i=countryFlagEmoji(e.iso);return i?_jsx(Text,{style:[K.flag,{fontSize:t}],testID:o,children:i}):null},[C,y,K.flag]),ee=useCallback(e=>{const t=planOf(e),o=t?maxNationalNumberLength(t,!1===F?"any":F):Number.POSITIVE_INFINITY;return T?Math.min(o,T):o},[T,F]),te=useCallback((e,t)=>e.slice(0,ee(t)),[ee]),oe=useCallback((e,t)=>{const o=planOf(t)??void 0,i=splitPhoneNumber(e,o);if(!i)return null;const n=i.country??t,l=m.find(e=>e.iso===n);return{callingCode:l?.code??i.callingCode,nationalNumber:te(i.nationalNumber,n),iso:l?.iso??n}},[m,te]),ie=useMemo(()=>{const e=Q.find(e=>e.iso===v)??Q[0]??m[0],t={callingCode:e?.code??"91",nationalNumber:"",iso:e?.iso??"IN"};return"string"==typeof i?oe(i,t.iso)??t:i??t},[m,Q,v,i,oe]),ne=useCallback(e=>{if(!1===F)return e.nationalNumber.length>0;const t=planOf(e.iso);return t?isValidNationalNumber(e.nationalNumber,t,F):e.nationalNumber.length>0},[F]),[le,re]=useState(ie.iso),ae=useMemo(()=>{if(void 0===l)return;const e=l?parseE164(l,m,le):null;if(e)return{...e,nationalNumber:te(e.nationalNumber,e.iso)};const t=m.find(e=>e.iso===le);return{callingCode:t?.code??ie.callingCode,nationalNumber:"",iso:le}},[l,m,le,ie.callingCode,te]),se=useCallback(e=>{re(e.iso),n?.(e),r?.(e.nationalNumber?formatE164(e):"",{country:m.find(t=>t.iso===e.iso),national:e.nationalNumber,valid:ne(e)})},[n,r,m,ne]),[ue,de]=useControllableState({value:o??ae,defaultValue:ie,onChange:se}),[ce,be]=useState(!1),me=useCallback(()=>{M||J.current?.focus()},[M]),[pe,fe]=useState(!1),[he,ge]=useState(!1),[ye,Ce]=useState(!1),Ne=useRef(!1);useEffect(()=>{ye||(Ne.current=!1)},[ye]);const xe=resolveFieldSize(Y,R),Se=resolveFieldTextStyle(Y,{disabled:M}),ve=V??Y.settings.components.field?.defaultVariant??"outlined",Fe="underline"===ve,Te=z??xe.radius,Ie=Y.space.md,[Ee,Le]=useState(0),je=Ee+Ie+1+Ie,Oe=ue.nationalNumber.length>0,Pe=k&&!L&&!Oe&&P.length>0,Ae=ce||Oe,we=Boolean(L)&&"float"===j&&Ee>0,ke=useFloatingLabel({label:L,enabled:we,floated:Ae,required:k,variant:ve,sizeTokens:xe,leadingOffset:je,paddingLeft:Fe?Y.space.none:xe["padding-x"],color:Y.colors["field-label"],style:O}),Me=useMemo(()=>m.find(e=>e.iso===ue.iso),[m,ue.iso]),Re=planOf(ue.iso),Ve=I&&Re?formatPhoneAsTyped(ue.nationalNumber,Re):ue.nationalNumber,ze=ee(ue.iso),De=0===ue.nationalNumber.length||pe||!Number.isFinite(ze)?void 0:Ve.length+Math.max(0,ze-ue.nationalNumber.length),Be=ne(ue);useEffect(()=>{Oe||ge(!1)},[Oe]);const $e=Re?maxNationalNumberLength(Re,!1===F?"any":F):Number.POSITIVE_INFINITY,He=ue.nationalNumber.length>=$e,Ue=!1!==F&&!1!==w&&Oe&&!Be&&(he||He),We="mobile"===F?"Enter a valid mobile number":"Enter a valid number",qe=hasFieldText(A)?A:Ue?w||We:void 0,Ge=!0===A||hasFieldText(qe),Ye=useRef(Be),Ke=useRef(ue);Ke.current=ue,useEffect(()=>{Ye.current!==Be&&(Ye.current=Be,b?.(Be),Be&&c?.(formatE164(Ke.current)))},[Be,c,b]);const Je=useCallback(e=>{if(e.includes("+")){const t=oe(e,ue.iso);if(t&&!E&&Q.some(e=>e.iso===t.iso))return void de(t);if(t&&t.iso===ue.iso)return void de(t)}de({...ue,nationalNumber:te(digitsOnly(e),ue.iso)})},[Q,E,ue,oe,te,de]),Qe=useCallback(e=>{const t=e;de({callingCode:t.code,iso:t.iso,nationalNumber:te(ue.nationalNumber,t.iso)}),Ce(!1);const o=resolveHaptic(B,"selection");o&&triggerHaptic(o)},[ue,B,te,de]);useImperativeHandle(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur(),clear:()=>de({...Ke.current,nationalNumber:""}),isFocused:()=>J.current?.isFocused()??!1,getValue:()=>Ke.current,getE164:()=>formatE164(Ke.current),getFormatted:()=>{const e=Ke.current,t=planOf(e.iso);return t?formatPhoneAsTyped(e.nationalNumber,t):e.nationalNumber},isValid:()=>ne(Ke.current),getCountry:()=>m.find(e=>e.iso===Ke.current.iso)}),[m,ne,de]);const Xe=M||E,Ze=_jsx(FieldBase,{size:R,variant:ve,borderRadius:Te,topNotch:ke.topNotch,focused:ce,disabled:M,error:Ge,filled:Oe,onPress:me,pressFeedback:!1,leadingDivider:!0,paddingLeft:Fe?Y.space.none:void 0,leading:_jsxs(Pressable,{onPress:()=>{Xe||(Ne.current=!0,Ce(!0))},disabled:Xe,accessibilityRole:"button",accessibilityLabel:H??`Country code, currently +${ue.callingCode}`,accessibilityState:{disabled:Xe},"aria-disabled":Xe,hitSlop:6,...hitSlopMarker(6),onLayout:e=>{const{width:t}=e.nativeEvent.layout;Le(e=>e===t?e:t)},style:K.codeTrigger,testID:G?`${G}-code`:void 0,children:[Z(Me,xe.text,G?`${G}-flag`:void 0),_jsx(Text,{style:[K.codeText,{color:Se.color,fontSize:xe.text}],children:`+${ue.callingCode}`}),E?null:_jsx(Chevron,{color:M?Y.colors["field-icon-disabled"]:Y.colors["field-icon"],size:xe.icon,open:ye})]}),children:_jsxs(View,{style:K.inputWrap,children:[_jsx(TextInput,{ref:J,value:Ve,maxLength:De,onChangeText:Je,returnKeyType:a,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:d,onSelectionChange:e=>{const{start:t,end:o}=e.nativeEvent.selection;fe(t!==o)},onFocus:()=>{be(!0),U?.()},onBlur:()=>{be(!1),Oe&&!Ne.current&&ge(!0),W?.()},editable:!M,placeholder:we&&!Ae||Pe?void 0:P,placeholderTextColor:Se.placeholderColor,accessibilityLabel:$??L??P,selectionColor:Y.colors["field-caret"],keyboardType:"phone-pad",textContentType:"telephoneNumber",autoComplete:"tel",style:[K.input,{color:Se.color,fontSize:xe.text,...Se.weightStyle,paddingLeft:Fe?Y.space.none:void 0}],testID:G?`${G}-input`:void 0}),Pe?_jsx(RequiredPlaceholder,{text:P,color:Se.placeholderColor,fontSize:xe.text,weightStyle:Se.weightStyle}):null]})});return _jsxs(View,{style:q,testID:G,children:[L&&"top"===j?_jsx(FieldLabel,{size:R,required:k,children:L}):null,_jsxs(View,{style:K.fieldWrapper,children:[Ze,ke.node]}),_jsx(FieldMessage,{size:R,error:Ge,text:Ge?qe:_}),_jsx(OptionSheet,{open:ye,onClose:()=>Ce(!1),title:D,options:Q,sections:X,labelOf:e=>`${e.label} (+${e.code})`,getValue:e=>e.iso,disabledOf:()=>!1,descriptionOf:()=>{},iconOf:e=>Z(e,Y.text.lg.size),renderOption:N?(e,t)=>N(e,{selected:t.selected}):void 0,isSelected:e=>e===Me?.iso,onSelect:Qe,searchable:Q.length>8,searchPlaceholder:x,alphabetIndex:S??Q.length>20})]})});PhoneNumberInput.displayName="PhoneNumberInput";const buildStyles=e=>StyleSheet.create({fieldWrapper:{position:"relative",overflow:"visible"},codeTrigger:{flexDirection:"row",alignItems:"center",gap:e.space.xxs},flag:{includeFontPadding:!1,marginRight:e.space.xs},codeText:{...fontFor(e,"semibold"),fontWeight:"600",includeFontPadding:!1,writingDirection:"ltr"},input:{padding:e.space.none,margin:e.space.none,includeFontPadding:!1,writingDirection:"ltr"},inputWrap:{flex:1,alignSelf:"stretch",justifyContent:"center"}});export default PhoneNumberInput;
1
+ "use strict";import{countryFlagEmoji,formatPhoneAsTyped,getFormatterConfig,getPhoneCountries,isSupportedCountry,isValidNationalNumber,maxNationalNumberLength,splitPhoneNumber}from"@webority/mobile-core";import{PHONE_COUNTRY_NAMES}from"@webority/mobile-core/phone/countries";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Pressable,StyleSheet,TextInput,View}from"react-native";import{useControllableState}from"../../hooks/index.js";import{fontFor,resolveFieldSize,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{FieldBase,FieldLabel,FieldMessage,hasFieldText,RequiredPlaceholder,resolveFieldTextStyle}from"../FieldBase/index.js";import{Chevron}from"../FieldBase/Chevron.js";import{useFloatingLabel}from"../FieldBase/useFloatingLabel.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PHONE_NUMBER_INPUT_LABELS=Object.freeze({placeholder:"Phone number",popular:"Popular",allCountries:"All countries",countrySheetTitle:"Country code",countrySearchPlaceholder:"Search…",invalid:"Enter a valid number",invalidMobile:"Enter a valid mobile number",countryButton:e=>`Country code, currently +${e}`});export const DEFAULT_CALLING_CODES=[{iso:"AU",code:"61",label:"Australia"},{iso:"CA",code:"1",label:"Canada"},{iso:"IN",code:"91",label:"India"},{iso:"SA",code:"966",label:"Saudi Arabia"},{iso:"SG",code:"65",label:"Singapore"},{iso:"AE",code:"971",label:"United Arab Emirates"},{iso:"GB",code:"44",label:"United Kingdom"},{iso:"US",code:"1",label:"United States"}];export const ALL_CALLING_CODES=getPhoneCountries().map(e=>({iso:e.iso,code:e.callingCode,label:PHONE_COUNTRY_NAMES[e.iso]??e.iso})).sort((e,t)=>e.label.localeCompare(t.label));const digitsOnly=e=>e.replace(/[^0-9]/g,"");export const formatE164=e=>`+${e.callingCode}${e.nationalNumber}`;export const parseE164=(e,t,o)=>{const i=e.replace(/[^0-9]/g,"");if(!i)return null;const n=splitPhoneNumber(`+${i}`);let l=n?.callingCode,a=n?.nationalNumber??"";if(!l){const e=Array.from(new Set(t.map(e=>e.code))).sort((e,t)=>t.length-e.length);if(l=e.find(e=>i.startsWith(e)),!l)return null;a=i.slice(l.length)}const r=t.filter(e=>e.code===l),s=r.find(e=>e.iso===o)?.iso??r.find(e=>e.iso===n?.country)?.iso??n?.country??r[0]?.iso??"";return{callingCode:l,nationalNumber:a,iso:s}};const planOf=e=>isSupportedCountry(e)?e:null;export const PhoneNumberInput=forwardRef((e,t)=>{const{value:o,defaultValue:i,onChange:n,e164:l,onChangeE164:a,returnKeyType:r,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:d,onComplete:c,onValidityChange:p,countries:b=ALL_CALLING_CODES,popularCountries:m,hiddenCountries:f,showFlag:h=!0,renderFlag:g,renderCountry:N,showAlphabetIndex:y,defaultCountry:C,validation:x="any",maxLength:v,formatAsYouType:S=!0,countryLocked:I=!1,label:E,labelMode:T="top",labelStyle:F,placeholder:L,helperText:P,error:_,invalidMessage:j,required:O,disabled:A=!1,size:M="md",variant:w,borderRadius:V,labels:B,haptic:R,accessibilityLabel:U,countryAccessibilityLabel:k,onFocus:z,onBlur:D,style:H,testID:$}=e;warnInvalidValue("PhoneNumberInput","size",e.size,["sm","md","lg"]),warnInvalidValue("PhoneNumberInput","variant",e.variant,["outline","filled","underline"]),warnInvalidValue("PhoneNumberInput","labelMode",e.labelMode,["top","float"]),warnInvalidValue("PhoneNumberInput","validation",!1===e.validation?void 0:e.validation,["any","mobile"]);const W=useTheme(),q=useMemo(()=>buildStyles(W),[W]),G=useRef(null),Y=useMemo(()=>B?{...DEFAULT_PHONE_NUMBER_INPUT_LABELS,...B}:DEFAULT_PHONE_NUMBER_INPUT_LABELS,[B]),K=L??Y.placeholder,Z=useMemo(()=>/-([A-Za-z]{2})(?:-|$)/.exec(getFormatterConfig().locale)?.[1]?.toUpperCase(),[]),J=useMemo(()=>f?.length?b.filter(e=>!f.includes(e.iso)):b,[b,f]),Q=useMemo(()=>{if(!m?.length)return;const e=m.map(e=>J.find(t=>t.iso===e)).filter(e=>void 0!==e);return e.length?[{title:Y.popular,options:e},{title:Y.allCountries,options:J}]:void 0},[m,Y.popular,Y.allCountries,J]),X=useCallback((e,t,o)=>{if(!e)return null;if(g)return g(e);if(!h)return null;const i=countryFlagEmoji(e.iso);return i?_jsx(Text,{variant:"body",style:[q.flag,{fontSize:t}],testID:o,children:i}):null},[g,h,q.flag]),ee=useCallback(e=>{const t=planOf(e),o=t?maxNationalNumberLength(t,!1===x?"any":x):Number.POSITIVE_INFINITY;return v?Math.min(o,v):o},[v,x]),te=useCallback((e,t)=>e.slice(0,ee(t)),[ee]),oe=useCallback((e,t)=>{const o=planOf(t)??void 0,i=splitPhoneNumber(e,o);if(!i)return null;const n=i.country??t,l=b.find(e=>e.iso===n);return{callingCode:l?.code??i.callingCode,nationalNumber:te(i.nationalNumber,n),iso:l?.iso??n}},[b,te]),ie=useMemo(()=>{const e=J.find(e=>e.iso===(C??Z))??J[0]??b[0],t={callingCode:e?.code??"",nationalNumber:"",iso:e?.iso??""};return"string"==typeof i?oe(i,t.iso)??t:i??t},[b,J,C,Z,i,oe]),ne=useCallback(e=>{if(!1===x)return e.nationalNumber.length>0;const t=planOf(e.iso);return t?isValidNationalNumber(e.nationalNumber,t,x):e.nationalNumber.length>0},[x]),[le,ae]=useState(ie.iso),re=useMemo(()=>{if(void 0===l)return;const e=l?parseE164(l,b,le):null;if(e)return{...e,nationalNumber:te(e.nationalNumber,e.iso)};const t=b.find(e=>e.iso===le);return{callingCode:t?.code??ie.callingCode,nationalNumber:"",iso:le}},[l,b,le,ie.callingCode,te]),se=useCallback(e=>{ae(e.iso),n?.(e),a?.(e.nationalNumber?formatE164(e):"",{country:b.find(t=>t.iso===e.iso),national:e.nationalNumber,valid:ne(e)})},[n,a,b,ne]),[ue,de]=useControllableState({value:o??re,defaultValue:ie,onChange:se}),[ce,pe]=useState(!1),be=useCallback(()=>{A||G.current?.focus()},[A]),[me,fe]=useState(!1),[he,ge]=useState(!1),[Ne,ye]=useState(!1),Ce=useRef(!1);useEffect(()=>{Ne||(Ce.current=!1)},[Ne]);const xe=resolveFieldSize(W,M),ve=resolveFieldTextStyle(W,{disabled:A}),Se=w??W.settings.components.field?.defaultVariant??"outline",Ie="underline"===Se,Ee=V??xe.radius,Te=W.space.md,[Fe,Le]=useState(0),Pe=Fe+Te+1+Te,je=ue.nationalNumber.length>0,Oe=O&&!E&&!je&&K.length>0,Ae=ce||je,Me=Boolean(E)&&"float"===T&&Fe>0,we=useFloatingLabel({label:E,enabled:Me,floated:Ae,required:O,variant:Se,sizeTokens:xe,leadingOffset:Pe,paddingLeft:Ie?W.space.none:xe["padding-x"],color:W.colors["field-label"],style:F}),Ve=useMemo(()=>b.find(e=>e.iso===ue.iso),[b,ue.iso]),Be=planOf(ue.iso),Re=S&&Be?formatPhoneAsTyped(ue.nationalNumber,Be):ue.nationalNumber,Ue=ee(ue.iso),ke=0===ue.nationalNumber.length||me||!Number.isFinite(Ue)?void 0:Re.length+Math.max(0,Ue-ue.nationalNumber.length),ze=ne(ue);useEffect(()=>{je||ge(!1)},[je]);const De=Be?maxNationalNumberLength(Be,!1===x?"any":x):Number.POSITIVE_INFINITY,He=ue.nationalNumber.length>=De,$e=!1!==x&&!1!==j&&je&&!ze&&(he||He),We="mobile"===x?Y.invalidMobile:Y.invalid,qe=hasFieldText(_)?_:$e?j||We:void 0,Ge=!0===_||hasFieldText(qe),Ye=useRef(ze),Ke=useRef(ue);Ke.current=ue,useEffect(()=>{Ye.current!==ze&&(Ye.current=ze,p?.(ze),ze&&c?.(formatE164(Ke.current)))},[ze,c,p]);const Ze=useCallback(e=>{if(e.includes("+")){const t=oe(e,ue.iso);if(t&&!I&&J.some(e=>e.iso===t.iso))return void de(t);if(t&&t.iso===ue.iso)return void de(t)}de({...ue,nationalNumber:te(digitsOnly(e),ue.iso)})},[J,I,ue,oe,te,de]),Je=useCallback(e=>{de({callingCode:e.code,iso:e.iso,nationalNumber:te(ue.nationalNumber,e.iso)}),ye(!1);const t=resolveHaptic(R,"selection");t&&triggerHaptic(t)},[ue,R,te,de]);useImperativeHandle(t,()=>({focus:()=>G.current?.focus(),blur:()=>G.current?.blur(),clear:()=>de({...Ke.current,nationalNumber:""}),isFocused:()=>G.current?.isFocused()??!1,getValue:()=>Ke.current,getE164:()=>formatE164(Ke.current),getFormatted:()=>{const e=Ke.current,t=planOf(e.iso);return t?formatPhoneAsTyped(e.nationalNumber,t):e.nationalNumber},isValid:()=>ne(Ke.current),getCountry:()=>b.find(e=>e.iso===Ke.current.iso)}),[b,ne,de]);const Qe=A||I,Xe=_jsx(FieldBase,{size:M,variant:Se,borderRadius:Ee,topNotch:we.topNotch,focused:ce,disabled:A,error:Ge,filled:je,onPress:be,pressFeedback:!1,leadingDivider:!0,paddingLeft:Ie?W.space.none:void 0,leading:_jsxs(Pressable,{onPress:()=>{Qe||(Ce.current=!0,ye(!0))},disabled:Qe,accessibilityRole:"button",accessibilityLabel:k??Y.countryButton(ue.callingCode),accessibilityState:{disabled:Qe},"aria-disabled":Qe,hitSlop:6,...hitSlopMarker(6),onLayout:e=>{const{width:t}=e.nativeEvent.layout;Le(e=>e===t?e:t)},style:q.codeTrigger,testID:$?`${$}-code`:void 0,children:[X(Ve,xe.text,$?`${$}-flag`:void 0),_jsx(Text,{variant:"body",style:[q.codeText,{color:ve.color,fontSize:xe.text}],children:`+${ue.callingCode}`}),I?null:_jsx(Chevron,{color:A?W.colors["field-icon-disabled"]:W.colors["field-icon"],size:xe.icon,open:Ne})]}),children:_jsxs(View,{style:q.inputWrap,children:[_jsx(TextInput,{ref:G,value:Re,maxLength:ke,onChangeText:Ze,returnKeyType:r,submitBehavior:s,onSubmitEditing:u,blurOnSubmit:d,onSelectionChange:e=>{const{start:t,end:o}=e.nativeEvent.selection;fe(t!==o)},onFocus:()=>{pe(!0),z?.()},onBlur:()=>{pe(!1),je&&!Ce.current&&ge(!0),D?.()},editable:!A,placeholder:Me&&!Ae||Oe?void 0:K,placeholderTextColor:ve.placeholderColor,accessibilityLabel:U??E??K,selectionColor:W.colors["field-caret"],keyboardType:"phone-pad",textContentType:"telephoneNumber",autoComplete:"tel",style:[q.input,{color:ve.color,fontSize:xe.text,...ve.weightStyle,paddingLeft:Ie?W.space.none:void 0}],testID:$?`${$}-input`:void 0}),Oe?_jsx(RequiredPlaceholder,{text:K,color:ve.placeholderColor,fontSize:xe.text,weightStyle:ve.weightStyle}):null]})});return _jsxs(View,{style:H,testID:$,children:[E&&"top"===T?_jsx(FieldLabel,{size:M,required:O,children:E}):null,_jsxs(View,{style:q.fieldWrapper,children:[Xe,we.node]}),_jsx(FieldMessage,{size:M,error:Ge,text:Ge?qe:P}),_jsx(OptionSheet,{visible:Ne,haptic:R,onClose:()=>ye(!1),title:Y.countrySheetTitle,options:J,sections:Q,getOptionLabel:e=>`${e.label} (+${e.code})`,getOptionValue:e=>e.iso,getOptionIcon:e=>X(e,W.text.lg.size),renderOption:N?({option:e,selected:t})=>N(e,{selected:t}):void 0,value:Ve?.iso,onChange:(e,t)=>Je(t),searchable:J.length>8,labels:{searchPlaceholder:Y.countrySearchPlaceholder},alphabetIndex:y??J.length>20})]})});PhoneNumberInput.displayName="PhoneNumberInput";const buildStyles=e=>StyleSheet.create({fieldWrapper:{position:"relative",overflow:"visible"},codeTrigger:{flexDirection:"row",alignItems:"center",gap:e.space.xxs},flag:{includeFontPadding:!1,marginRight:e.space.xs},codeText:{...fontFor(e,"semibold"),fontWeight:"600",includeFontPadding:!1,writingDirection:"ltr"},input:{padding:e.space.none,margin:e.space.none,includeFontPadding:!1,writingDirection:"ltr"},inputWrap:{flex:1,alignSelf:"stretch",justifyContent:"center"}});export default PhoneNumberInput;
@@ -1 +1 @@
1
- "use strict";export{ALL_CALLING_CODES,DEFAULT_CALLING_CODES,default,formatE164,PhoneNumberInput,parseE164}from"./PhoneNumberInput.js";
1
+ "use strict";export{ALL_CALLING_CODES,DEFAULT_CALLING_CODES,DEFAULT_PHONE_NUMBER_INPUT_LABELS,default,formatE164,PhoneNumberInput,parseE164}from"./PhoneNumberInput.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{resolveFieldSize,useTheme}from"../../theme/index.js";import{FieldBase,FieldLabel,FieldMessage,fieldTextAsString,hasFieldText,RequiredMark,resolveFieldTextStyle}from"../FieldBase/index.js";import{Chevron}from"../FieldBase/Chevron.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const PickerTrigger=forwardRef((e,l)=>{const{value:i,placeholder:t,label:r,help:s,helperText:o,error:a,required:d=!1,onPress:n,clearable:c=!1,onClear:x,leadingIcon:g,trailing:u,disabled:y=!1,size:b="md",variant:h,style:m,triggerStyle:S,valueStyle:f,labelStyle:T,messageStyle:F,accessibilityLabel:j,testID:p}=e,v=useTheme(),P=useMemo(()=>buildStyles(v),[v]),_=resolveFieldSize(v,b),w=resolveFieldTextStyle(v,{disabled:y}),z="string"==typeof i&&i.length>0,R=!0===a||hasFieldText(a),k=hasFieldText(r),C=z?i:t??"Select…",L=z?w.color:w.placeholderColor,M=z?`${fieldTextAsString(r)??"Selection"}: ${i}`:t??"No selection",q=j??M,B={disabled:y},I=void 0===u,D=c&&z&&!y;return _jsxs(View,{style:[P.root,m],testID:p,children:[k?_jsx(FieldLabel,{size:b,required:d,help:s,style:T,children:r}):null,_jsx(FieldBase,{size:b,variant:h,disabled:y,error:R,filled:z,onPress:n,leading:g,trailing:D||I||null!==u?_jsxs(View,{style:P.trailingRow,children:[D?_jsx(Text,{onPress:()=>{y||x?.()},accessibilityRole:"button",accessibilityLabel:"Clear",style:{fontSize:_.icon,color:v.colors["text-muted"],paddingHorizontal:v.space.xs},children:"×"}):null,void 0!==u?u:I?_jsx(Chevron,{size:_.icon,color:y?v.colors["text-disabled"]:v.colors["text-subtle"]}):null]}):null,accessibilityLabel:q,accessibilityState:B,accessibilityRole:"button",style:S,children:_jsxs(Text,{numberOfLines:1,style:[P.valueText,{color:L,fontSize:_.text,...w.weightStyle},f],children:[C,z||!d||k?null:_jsx(RequiredMark,{})]})}),_jsx(FieldMessage,{size:b,error:R,text:R?a:o,style:F})]})});PickerTrigger.displayName="PickerTrigger";const buildStyles=e=>StyleSheet.create({root:{width:"100%"},label:{includeFontPadding:!1},valueText:{flex:1,includeFontPadding:!1},message:{includeFontPadding:!1},trailingRow:{flexDirection:"row",alignItems:"center"}});export{PickerTrigger};export default PickerTrigger;
1
+ "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,View}from"react-native";import{resolveFieldSize,useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{FieldBase,FieldLabel,FieldMessage,fieldTextAsString,hasFieldText,RequiredMark,resolveFieldTextStyle}from"../FieldBase/index.js";import{Chevron}from"../FieldBase/Chevron.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PICKER_TRIGGER_LABELS=Object.freeze({placeholder:"Select…",selection:"Selection",noSelection:"No selection",clear:"Clear"});const PickerTrigger=forwardRef((e,l)=>{warnInvalidValue("PickerTrigger","size",e.size,["sm","md","lg"]),warnInvalidValue("PickerTrigger","variant",e.variant,["outline","filled","underline"]);const{value:i,placeholder:r,label:t,help:s,helperText:o,error:a,required:n=!1,onPress:d,clearable:c=!1,onClear:x,leadingIcon:u,trailing:g,disabled:m=!1,size:b="md",variant:y,style:T,triggerStyle:h,valueStyle:S,labelStyle:f,messageStyle:v,accessibilityLabel:p,labels:F,testID:j}=e,_=F?{...DEFAULT_PICKER_TRIGGER_LABELS,...F}:DEFAULT_PICKER_TRIGGER_LABELS,R=useTheme(),P=useMemo(()=>buildStyles(R),[R]),L=resolveFieldSize(R,b),w=resolveFieldTextStyle(R,{disabled:m}),I="string"==typeof i&&i.length>0,z=!0===a||hasFieldText(a),E=hasFieldText(t),k=I?i:r??_.placeholder,C=I?w.color:w.placeholderColor,A=I?`${fieldTextAsString(t)??_.selection}: ${i}`:r??_.noSelection,B=p??A,V={disabled:m},D=void 0===g,G=c&&I&&!m;return _jsxs(View,{style:[P.root,T],testID:j,children:[E?_jsx(FieldLabel,{size:b,required:n,help:s,style:f,children:t}):null,_jsx(FieldBase,{size:b,variant:y,disabled:m,error:z,filled:I,onPress:d,leading:u,trailing:G||D||null!==g?_jsxs(View,{style:P.trailingRow,children:[G?_jsx(Text,{variant:"body",onPress:()=>{m||x?.()},accessibilityRole:"button",accessibilityLabel:_.clear,style:{fontSize:L.icon,color:R.colors["text-muted"],paddingHorizontal:R.space.xs},children:"×"}):null,void 0!==g?g:D?_jsx(Chevron,{size:L.icon,color:m?R.colors["text-disabled"]:R.colors["text-subtle"]}):null]}):null,accessibilityLabel:B,accessibilityState:V,accessibilityRole:"button",style:h,children:_jsxs(Text,{variant:"body",numberOfLines:1,style:[P.valueText,{color:C,fontSize:L.text,...w.weightStyle},S],children:[k,I||!n||E?null:_jsx(RequiredMark,{})]})}),_jsx(FieldMessage,{size:b,error:z,text:z?a:o,style:v})]})});PickerTrigger.displayName="PickerTrigger";const buildStyles=e=>StyleSheet.create({root:{width:"100%"},label:{includeFontPadding:!1},valueText:{flex:1,includeFontPadding:!1},message:{includeFontPadding:!1},trailingRow:{flexDirection:"row",alignItems:"center"}});export{PickerTrigger};export default PickerTrigger;
@@ -1 +1 @@
1
- "use strict";export{default,PickerTrigger}from"./PickerTrigger.js";
1
+ "use strict";export{DEFAULT_PICKER_TRIGGER_LABELS,default,PickerTrigger}from"./PickerTrigger.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{AppIcon}from"../AppIcon/index.js";import{Avatar}from"../Avatar/index.js";import{ProgressRing}from"../ProgressRing/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const DEFAULT_AVATAR_SIZE=56,DEFAULT_RING_WIDTH=3,DEFAULT_RING_GAP=1,ProfileCompletion=forwardRef((e,t)=>{const{progress:o,title:r,subtitle:i,description:s,source:l,ImageComponent:n,size:a=DEFAULT_AVATAR_SIZE,avatarTone:c="neutral",avatarBackgroundColor:m,avatarColor:d,ringWidth:p,ringGap:u=DEFAULT_RING_GAP,ringVariant:x="banded",tone:g,ringColor:f,animated:b=!0,showCompleteBadge:y=!0,trailing:h,accessibilityLabel:_,style:j,titleStyle:w,subtitleStyle:A,descriptionStyle:I,testID:C}=e,S=useTheme(),T=useMemo(()=>buildStyles(S),[S]),D=p??3,R=a+2*(u+D),v=Math.min(100,Math.max(0,Number.isNaN(o)?0:o)),z=Math.round(v),P=_??`${r}, profile ${z}% complete`,V=C??"profile-completion",L=y&&v>=100,F=Math.max(16,Math.round(.3*R)),G=R/2*(1+Math.SQRT1_2)-D/2,E=f??("banded"===x&&null==g||"success"===g?S.colors.success:"warning"===g?S.colors.warning:"danger"===g?S.colors.danger:S.colors.primary);return _jsxs(View,{ref:t,style:[T.root,j],testID:C,children:[_jsxs(View,{style:T.summary,accessible:!0,accessibilityRole:"summary",accessibilityLabel:P,accessibilityValue:{min:0,max:100,now:z},testID:`${V}-summary`,children:[_jsxs(View,{style:{width:R,height:R},children:[_jsx(ProgressRing,{progress:v/100,size:R,strokeWidth:D,tone:g??"primary",ringColor:f,colorByProgress:"banded"===x&&null==g&&null==f,animated:b,testID:`${V}-ring`,children:_jsx(Avatar,{name:r,source:l,ImageComponent:n,size:a,tone:c,backgroundColor:m,color:d,accessibilityLabel:`${r}'s avatar`})}),L?_jsx(View,{pointerEvents:"none",style:[T.badge,{width:F,height:F,borderRadius:S.radius.pill,...smoothCorners,left:G-F/2,top:G-F/2,backgroundColor:S.colors.surface}],testID:`${V}-complete-badge`,children:_jsx(AppIcon,{name:"verify",variant:"bold",size:F-2,color:E})}):null]}),_jsxs(View,{style:T.body,children:[_jsx(Text,{style:[T.title,w],numberOfLines:2,children:r}),i?_jsx(Text,{style:[T.subtitle,A],numberOfLines:1,children:i}):null,s?_jsx(Text,{style:[T.description,I],children:s}):null]})]}),null!=h?_jsx(View,{style:T.trailing,children:h}):null]})});ProfileCompletion.displayName="ProfileCompletion";const buildStyles=e=>StyleSheet.create({root:{flexDirection:"row",alignItems:"center",columnGap:e.space.md},summary:{flex:1,flexDirection:"row",alignItems:"center",columnGap:e.space.md},body:{flex:1,rowGap:e.space.xxs},badge:{position:"absolute",alignItems:"center",justifyContent:"center"},title:{fontSize:e.text.xl.size,lineHeight:e.text.xl.size*e.leading.heading,color:e.colors["text-body"],...fontFor(e,"semibold")},subtitle:{fontSize:e.text.sm.size,color:e.colors["text-subtle"],textTransform:"uppercase",letterSpacing:e["letter-spacing"].wide,...fontFor(e,"medium")},description:{fontSize:e.text.base.size,color:e.colors["text-muted"],...fontFor(e,"normal")},trailing:{alignSelf:"flex-start"}});export{ProfileCompletion};export default ProfileCompletion;
1
+ "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/index.js";import{Avatar}from"../Avatar/index.js";import{ProgressRing}from"../ProgressRing/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PROFILE_COMPLETION_LABELS=Object.freeze({summary:(e,r)=>`${e}, profile ${r}% complete`,avatar:e=>`${e}'s avatar`});const AVATAR_PX={sm:32,md:48,lg:64,xl:80},toneColor=(e,r)=>{switch(r){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DEFAULT_RING_WIDTH=3,DEFAULT_RING_GAP=1,ProfileCompletion=forwardRef((e,r)=>{const{progress:t,title:o,subtitle:s,description:i,source:a,ImageComponent:n,size:l="md",avatarTone:c="neutral",avatarBackgroundColor:m,avatarColor:d,ringWidth:u,ringGap:p=DEFAULT_RING_GAP,ringVariant:g="banded",tone:f,ringColor:x,animated:y=!0,showCompleteBadge:b=!0,trailing:h,labels:_,accessibilityLabel:j,style:w,titleStyle:I,subtitleStyle:C,descriptionStyle:v,testID:A}=e;warnInvalidValue("ProfileCompletion","size",e.size,["sm","md","lg","xl"]),warnInvalidValue("ProfileCompletion","ringVariant",e.ringVariant,["banded","single"]),warnInvalidValue("ProfileCompletion","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const P=useTheme(),T=useMemo(()=>buildStyles(P),[P]),L=useMemo(()=>({...DEFAULT_PROFILE_COMPLETION_LABELS,..._}),[_]),V=u??3,R=AVATAR_PX[l]+2*(p+V),S=Math.min(100,Math.max(0,Number.isNaN(t)?0:t)),D=Math.round(S),E=j??L.summary(o,D),M=A??"profile-completion",G=b&&S>=100,N=Math.max(16,Math.round(.3*R)),O=R/2*(1+Math.SQRT1_2)-V/2,z=x??("banded"===g&&null==f?P.colors.success:toneColor(P,f??"primary"));return _jsxs(View,{ref:r,style:[T.root,w],testID:A,children:[_jsxs(View,{style:T.summary,accessible:!0,accessibilityRole:"summary",accessibilityLabel:E,accessibilityValue:{min:0,max:100,now:D},testID:`${M}-summary`,children:[_jsxs(View,{style:{width:R,height:R},children:[_jsx(ProgressRing,{progress:S/100,size:R,strokeWidth:V,tone:f??"primary",ringColor:x,colorByProgress:"banded"===g&&null==f&&null==x,animated:y,testID:`${M}-ring`,children:_jsx(Avatar,{name:o,source:a,ImageComponent:n,size:l,tone:c,backgroundColor:m,color:d,accessibilityLabel:L.avatar(o)})}),G?_jsx(View,{pointerEvents:"none",style:[T.badge,{width:N,height:N,borderRadius:P.radius.pill,...smoothCorners,left:O-N/2,top:O-N/2,backgroundColor:P.colors.surface}],testID:`${M}-complete-badge`,children:_jsx(AppIcon,{name:"verify",variant:"bold",size:N-2,color:z})}):null]}),_jsxs(View,{style:T.body,children:[_jsx(Text,{variant:"h3",numberOfLines:2,style:I,children:o}),s?_jsx(Text,{variant:"label",color:"tertiary",numberOfLines:1,style:[T.subtitle,C],children:s}):null,i?_jsx(Text,{variant:"body",color:"secondary",style:v,children:i}):null]})]}),null!=h?_jsx(View,{style:T.trailing,children:h}):null]})});ProfileCompletion.displayName="ProfileCompletion";const buildStyles=e=>StyleSheet.create({root:{flexDirection:"row",alignItems:"center",columnGap:e.space.md},summary:{flex:1,flexDirection:"row",alignItems:"center",columnGap:e.space.md},body:{flex:1,rowGap:e.space.xxs},badge:{position:"absolute",alignItems:"center",justifyContent:"center"},subtitle:{textTransform:"uppercase",letterSpacing:e["letter-spacing"].wide},trailing:{alignSelf:"flex-start"}});export{ProfileCompletion};export default ProfileCompletion;
@@ -1 +1 @@
1
- "use strict";export{default,ProfileCompletion}from"./ProfileCompletion.js";
1
+ "use strict";export{DEFAULT_PROFILE_COMPLETION_LABELS,default,ProfileCompletion}from"./ProfileCompletion.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useMemo,useRef,useState}from"react";import{Pressable,StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{blendOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{AppIcon}from"../AppIcon/index.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{Avatar,avatarToneColors}from"../Avatar/index.js";import{FieldLabel,FieldMessage,fieldTextAsString,hasFieldText}from"../FieldBase/index.js";import{matchesAccept}from"../FilePicker/FilePicker.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{Spinner}from"../Spinner/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const DEFAULT_LABELS={pick:"Change profile photo",remove:"Remove photo",sheetTitle:"Change photo",errorTooLarge:e=>`The photo is larger than ${e} MB.`,errorWrongType:"That file is not a supported image."},DEFAULT_ACCEPT=["image/*"],SHEET_ICON_SIZE=20,SOFT_FILL_OPACITY=.14,SIZE_PX={sm:72,md:120,lg:160},clamp=(e,o,r)=>Math.min(r,Math.max(o,e)),toneFor=(e,o)=>{switch(o){case"success":return{base:e.colors.success,on:e.colors["on-success"]};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"]};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"]};case"info":return{base:e.colors.info,on:e.colors["on-info"]};case"neutral":return{base:e.colors["text-muted"],on:e.colors["on-neutral-strong"]};default:return{base:e.colors.primary,on:e.colors["on-primary"]}}},badgeLookFor=(e,o,r)=>{const t=toneFor(e,o),s=t.base,l=e.colors.bg,i="neutral"===o;let n;switch(r){case"soft":n={fill:i?e.colors["bg-muted"]:blendOf(s,.14,l,e.colors["bg-subtle"]),ring:l,icon:s};break;case"outline":n={fill:l,ring:i?e.colors.border:s,icon:s};break;default:n={fill:s,ring:l,icon:t.on}}return n},resolveRadius=(e,o)=>"circle"===e?o/2:"rounded"===e?Math.max(6,Math.round(.22*o)):0,REMOVE_VALUE="__profile-picker-remove__",ProfilePicker=forwardRef((e,o)=>{const{value:r,name:t,sources:s,onPick:l,onRemove:i,loading:n=!1,disabled:a=!1,accept:c=DEFAULT_ACCEPT,maxSizeMB:u,size:d="md",shape:m="circle",badgeIcon:p="camera",tone:b,variant:g,avatarTone:f,avatarBackgroundColor:h,avatarColor:x,label:y,required:k=!1,helperText:C,error:v,layout:S="stacked",title:_,subtitle:j,ImageComponent:T,labels:I,haptic:F,onError:A,accessibilityLabel:w,style:E,testID:P}=e,L=useTheme(),M=L.settings.components["profile-picker"],R=b??M?.defaultTone??"primary",O=g??M?.defaultVariant??"solid",V=useMemo(()=>badgeLookFor(L,R,O),[L,R,O]),z=f??M?.defaultAvatarTone,D=useMemo(()=>{const e=z?avatarToneColors(L,z):null;return{background:h??e?.background??L.colors["bg-muted"],icon:x??e?.color??L.colors["text-subtle"]}},[L,z,h,x]),B=useMemo(()=>({...DEFAULT_LABELS,...I}),[I]),[H,U]=useState(null),[$,W]=useState(null),[Z,q]=useState(!1),[G,N]=useState(r);r!==G&&(N(r),U(null));const X=n||a,Q=H??r??null,Y=v??$??void 0,J=!X&&(null!==H||Boolean(r)&&Boolean(i)),K=s.length>0||J,ee="number"==typeof d?d:SIZE_PX[d],oe=resolveRadius(m,ee),re=oe*(1-Math.SQRT1_2),te=clamp(Math.round(.28*ee),24,44),se=re-te/2,le=Math.max(0,-se),ie=useCallback(e=>{W(e),A?.(e),!1!==F&&triggerHaptic("notificationError")},[A,F]),ne=useCallback(async e=>{let o;try{o=await e.pick()}catch(e){return void ie(e instanceof Error?e.message:String(e))}const r=o?.[0];if(!r)return;if("number"==typeof u&&"number"==typeof r.size&&r.size>1024*u*1024)return void ie(B.errorTooLarge(u));if(r.type&&!matchesAccept(r.type,c))return void ie(B.errorWrongType);W(null),U(r.uri);const t=resolveHaptic(F,"selection");t&&triggerHaptic(t),l?.(r)},[u,c,B,F,l,ie]),ae=useCallback(()=>{X||(de.current=null,1!==s.length||J?(s.length>0||J)&&q(!0):ne(s[0]))},[X,s,J,ne]),ce=useCallback(()=>{U(null),W(null);const e=resolveHaptic(F,"selection");e&&triggerHaptic(e),i?.()},[F,i]),ue=useMemo(()=>{const e=s.map(e=>({kind:"source",source:e}));return J&&e.push({kind:"remove"}),e},[s,J]),de=useRef(null),me=useCallback(e=>{de.current||(q(!1),"remove"===e.kind?ce():de.current=e.source)},[ce]),pe=useCallback(()=>{const e=de.current;de.current=null,e&&ne(e)},[ne]),be=P??"profile-picker",ge=w??(K?B.pick:t),fe=_jsx(View,{style:[styles.fill,{width:ee,height:ee,borderRadius:oe,...smoothCorners,backgroundColor:D.background}],children:_jsx(AppIcon,{name:"user",size:Math.round(.45*ee),color:D.icon})}),he=_jsx(View,{style:{width:ee,height:ee,marginBottom:le,marginRight:le},children:_jsxs(Pressable,{onPress:ae,disabled:X||!K,accessibilityRole:K?"button":"image",accessibilityLabel:ge,accessibilityHint:fieldTextAsString(Y),accessibilityState:K?{disabled:X,busy:n}:{busy:n},"aria-disabled":K?X:void 0,"aria-busy":n,testID:`${be}-button`,style:({pressed:e})=>[{width:ee,height:ee,borderRadius:oe,...smoothCorners},{opacity:a?.55:e?.85:1}],children:[Q||t?_jsx(Avatar,{source:Q?{uri:Q}:void 0,name:t,size:ee,shape:m,tone:z,backgroundColor:h,color:x,ImageComponent:T,accessibilityLabel:ge},Q??"initials"):fe,n?_jsx(View,{style:[styles.fill,styles.overlay,{borderRadius:oe,...smoothCorners,backgroundColor:L.colors.scrim}],testID:`${be}-loading`,children:_jsx(Spinner,{size:ee>=100?"md":"sm",color:L.colors["on-primary"]})}):null,!a&&K?_jsx(View,{pointerEvents:"none",testID:`${be}-badge`,style:[styles.badge,{width:te,height:te,borderRadius:L.radius.pill,...smoothCorners,right:se,bottom:se,backgroundColor:V.fill,borderColor:V.ring}],children:renderSlotIcon(p,{color:V.icon,size:Math.round(.55*te),disabled:!1})}):null]})}),xe="stacked"!==S?_jsxs(View,{style:[styles.meta,"profile"===S?styles.metaCentred:null],children:[_?_jsx(Text,{style:[styles.title,"profile"===S?styles.textCentred:null,{color:L.colors["text-body"],fontSize:L.text.base.size,...fontFor(L,"semibold")}],children:_}):null,j?_jsx(Text,{style:[styles.subtitle,"profile"===S?styles.textCentred:null,{color:L.colors["text-muted"],fontSize:L.text.sm.size,marginTop:L.space.xxs,...fontFor(L,"normal")}],children:j}):null,_jsx(FieldMessage,{text:Y??C,error:hasFieldText(Y)})]}):_jsx(FieldMessage,{text:Y??C,error:hasFieldText(Y)});return _jsxs(View,{ref:o,style:E,testID:P,children:[y?_jsx(FieldLabel,{required:k,children:y}):null,_jsxs(View,{style:"inline"===S?[styles.row,{columnGap:L.space.md}]:["profile"===S?styles.columnCentred:styles.column,{rowGap:L.space.xs}],children:[he,xe]}),_jsx(OptionSheet,{open:Z,onClose:()=>q(!1),onAfterClose:pe,title:B.sheetTitle,options:ue,labelOf:e=>{const o=e;return"remove"===o.kind?B.remove:o.source.label},getValue:e=>{const o=e;return"remove"===o.kind?REMOVE_VALUE:o.source.key},disabledOf:()=>!1,destructiveOf:e=>"remove"===e.kind,descriptionOf:e=>{const o=e;return"remove"===o.kind?void 0:o.source.description},iconOf:e=>{const o=e;return"remove"===o.kind?_jsx(AppIcon,{name:"trash",size:20,color:L.colors["danger-text"]}):o.source.icon},isSelected:()=>!1,onSelect:e=>me(e)})]})});ProfilePicker.displayName="ProfilePicker";const styles=StyleSheet.create({fill:{alignItems:"center",justifyContent:"center",overflow:"hidden"},overlay:{...StyleSheet.absoluteFill},badge:{position:"absolute",alignItems:"center",justifyContent:"center",borderWidth:2},row:{flexDirection:"row",alignItems:"center"},column:{alignItems:"flex-start"},columnCentred:{alignItems:"center"},meta:{flexShrink:1},metaCentred:{alignItems:"center"},title:{includeFontPadding:!1},subtitle:{includeFontPadding:!1},textCentred:{textAlign:"center"}});export{ProfilePicker};export default ProfilePicker;
1
+ "use strict";import{Image}from"expo-image";import{forwardRef,useCallback,useMemo,useRef,useState}from"react";import{Pressable,StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{blendOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/index.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{AVATAR_COLORS,avatarToneColors}from"../Avatar/Avatar.js";import{FieldLabel,FieldMessage,fieldTextAsString,hasFieldText}from"../FieldBase/index.js";import{matchesAccept}from"../FilePicker/FilePicker.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{Spinner}from"../Spinner/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PROFILE_PICKER_LABELS=Object.freeze({pick:"Change profile photo",remove:"Remove photo",sheetTitle:"Change photo",errorTooLarge:e=>`The photo is larger than ${e} MB.`,errorWrongType:"That file is not a supported image."});const DEFAULT_ACCEPT=["image/*"],SHEET_ICON_SIZE=20,SOFT_FILL_OPACITY=.14,INITIALS_MAX_FONT_SCALE=1.2,SIZE_PX={sm:72,md:120,lg:160},clamp=(e,r,o)=>Math.min(o,Math.max(r,e)),initialsFromName=e=>{const r=e.trim().split(/\s+/u).filter(Boolean);return 0===r.length?"":1===r.length?r[0].charAt(0).toUpperCase():(r[0].charAt(0)+r[1].charAt(0)).toUpperCase()},hashColor=e=>{let r=0;for(let o=0;o<e.length;o+=1)r=(r<<5)-r+e.charCodeAt(o),r|=0;return AVATAR_COLORS[Math.abs(r)%AVATAR_COLORS.length]},toneFor=(e,r)=>{switch(r){case"success":return{base:e.colors.success,on:e.colors["on-success"]};case"warning":return{base:e.colors.warning,on:e.colors["on-warning"]};case"danger":return{base:e.colors.danger,on:e.colors["on-danger"]};case"info":return{base:e.colors.info,on:e.colors["on-info"]};case"neutral":return{base:e.colors["text-muted"],on:e.colors["on-neutral-strong"]};default:return{base:e.colors.primary,on:e.colors["on-primary"]}}},badgeLookFor=(e,r,o)=>{const t=toneFor(e,r),i=t.base,s=e.colors.bg,l="neutral"===r;let n;switch(o){case"soft":n={fill:l?e.colors["bg-muted"]:blendOf(i,.14,s,e.colors["bg-subtle"]),ring:s,icon:i};break;case"outline":n={fill:s,ring:l?e.colors.border:i,icon:i};break;default:n={fill:i,ring:s,icon:t.on}}return n},resolveRadius=(e,r)=>"circle"===e?r/2:"rounded"===e?Math.max(6,Math.round(.22*r)):0,REMOVE_VALUE="__profile-picker-remove__",ProfilePicker=forwardRef((e,r)=>{const{value:o,name:t,sources:i,onPick:s,onRemove:l,loading:n=!1,disabled:a=!1,accept:c=DEFAULT_ACCEPT,maxSizeMB:u,size:d="md",shape:m="circle",badgeIcon:p="camera",tone:h,variant:g,avatarTone:b,avatarBackgroundColor:f,avatarColor:x,label:y,required:v=!1,helperText:k,error:C,layout:_="stacked",title:I,subtitle:S,ImageComponent:T,labels:j,haptic:A,onError:P,accessibilityLabel:w,style:F,testID:E}=e;warnInvalidValue("ProfilePicker","size",e.size,["sm","md","lg"]),warnInvalidValue("ProfilePicker","shape",e.shape,["circle","rounded","square"]),warnInvalidValue("ProfilePicker","tone",e.tone,["primary","success","warning","danger","info","neutral"]),warnInvalidValue("ProfilePicker","variant",e.variant,["solid","soft","outline"]),warnInvalidValue("ProfilePicker","layout",e.layout,["stacked","inline","profile"]);const L=useTheme(),M=L.settings.components["profile-picker"],R=h??M?.defaultTone??"primary",O=g??M?.defaultVariant??"solid",V=useMemo(()=>badgeLookFor(L,R,O),[L,R,O]),z=b??M?.defaultAvatarTone,D=useMemo(()=>{const e=z?avatarToneColors(L,z):null;return{placeholder:{background:f??e?.background??L.colors["bg-muted"],icon:x??e?.color??L.colors["text-subtle"]},initials:{background:f??e?.background??L.colors[hashColor(t??"")],ink:x??e?.color??L.colors["on-primary"]}}},[L,z,f,x,t]),B=useMemo(()=>({...DEFAULT_PROFILE_PICKER_LABELS,...j}),[j]),[H,U]=useState(null),[N,$]=useState(null),[q,W]=useState(null),[X,Z]=useState(!1),[G,K]=useState(o);o!==G&&(K(o),U(null));const Q=n||a,Y=H??o??null,J=Y&&Y!==q?Y:null,ee=initialsFromName(t??""),re=C??N??void 0,oe=!Q&&(null!==H||Boolean(o)&&Boolean(l)),te=i.length>0||oe,ie=SIZE_PX[d],se=resolveRadius(m,ie),le=se*(1-Math.SQRT1_2),ne=clamp(Math.round(.28*ie),24,44),ae=le-ne/2,ce=Math.max(0,-ae),ue={width:ie,height:ie,borderRadius:se,...smoothCorners},de=Math.max(L.text.xs.size,Math.round(.4*ie)),me=useCallback(e=>{$(e),P?.(e),!1!==A&&triggerHaptic("notificationError")},[P,A]),pe=useCallback(async e=>{let r;try{r=await e.pick()}catch(e){return void me(e instanceof Error?e.message:String(e))}const o=r?.[0];if(!o)return;if("number"==typeof u&&"number"==typeof o.size&&o.size>1024*u*1024)return void me(B.errorTooLarge(u));if(o.type&&!matchesAccept(o.type,c))return void me(B.errorWrongType);$(null),U(o.uri);const t=resolveHaptic(A,"selection");t&&triggerHaptic(t),s?.(o)},[u,c,B,A,s,me]),he=useCallback(()=>{Q||(fe.current=null,1!==i.length||oe?(i.length>0||oe)&&Z(!0):pe(i[0]))},[Q,i,oe,pe]),ge=useCallback(()=>{U(null),$(null);const e=resolveHaptic(A,"selection");e&&triggerHaptic(e),l?.()},[A,l]),be=useMemo(()=>{const e=i.map(e=>({kind:"source",source:e}));return oe&&e.push({kind:"remove"}),e},[i,oe]),fe=useRef(null),xe=useCallback(e=>{fe.current||(Z(!1),"remove"===e.kind?ge():fe.current=e.source)},[ge]),ye=useRef(pe);ye.current=pe;const ve=useCallback(()=>{const e=fe.current;fe.current=null,e&&ye.current(e)},[]),ke=E??"profile-picker",Ce=w??(te?B.pick:t),Ie=_jsx(View,{style:{width:ie,height:ie,marginBottom:ce,marginRight:ce},children:_jsxs(Pressable,{onPress:he,disabled:Q||!te,accessibilityRole:te?"button":"image",accessibilityLabel:Ce,accessibilityHint:fieldTextAsString(re),accessibilityState:te?{disabled:Q,busy:n}:{busy:n},"aria-disabled":te?Q:void 0,"aria-busy":n,testID:`${ke}-button`,style:({pressed:e})=>[{width:ie,height:ie,borderRadius:se,...smoothCorners},{opacity:a?.55:e?.85:1}],children:[J?T?_jsx(T,{source:{uri:J},onError:()=>W(J),style:ue,contentFit:"cover",resizeMode:"cover",accessibilityIgnoresInvertColors:!0}):_jsx(Image,{source:{uri:J},onError:()=>W(J),style:ue,contentFit:"cover",accessibilityIgnoresInvertColors:!0}):_jsx(View,{style:[styles.fill,ue,{backgroundColor:ee?D.initials.background:D.placeholder.background}],children:ee?_jsx(Text,{variant:"label",weight:"semibold",align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{color:D.initials.ink,fontSize:de,lineHeight:Math.round(de*L.leading.body)},children:ee}):_jsx(AppIcon,{name:"user",size:Math.round(.45*ie),color:D.placeholder.icon})}),n?_jsx(View,{style:[styles.fill,styles.overlay,{borderRadius:se,...smoothCorners,backgroundColor:L.colors.scrim}],testID:`${ke}-loading`,children:_jsx(Spinner,{size:ie>=100?"md":"sm",color:L.colors["on-primary"]})}):null,!a&&te?_jsx(View,{pointerEvents:"none",testID:`${ke}-badge`,style:[styles.badge,{width:ne,height:ne,borderRadius:L.radius.pill,...smoothCorners,right:ae,bottom:ae,backgroundColor:V.fill,borderColor:V.ring}],children:renderSlotIcon(p,{color:V.icon,size:Math.round(.55*ne),disabled:!1})}):null]})}),Se="stacked"!==_?_jsxs(View,{style:[styles.meta,"profile"===_?styles.metaCentred:null],children:[I?_jsx(Text,{variant:"body",weight:"semibold",style:[styles.title,"profile"===_?styles.textCentred:null],children:I}):null,S?_jsx(Text,{variant:"bodySmall",color:"secondary",style:[styles.subtitle,"profile"===_?styles.textCentred:null,{marginTop:L.space.xxs}],children:S}):null,_jsx(FieldMessage,{text:re??k,error:hasFieldText(re)})]}):_jsx(FieldMessage,{text:re??k,error:hasFieldText(re)});return _jsxs(View,{ref:r,style:F,testID:E,children:[y?_jsx(FieldLabel,{required:v,children:y}):null,_jsxs(View,{style:"inline"===_?[styles.row,{columnGap:L.space.md}]:["profile"===_?styles.columnCentred:styles.column,{rowGap:L.space.xs}],children:[Ie,Se]}),_jsx(OptionSheet,{visible:X,haptic:A,onClose:()=>Z(!1),onAfterClose:ve,title:B.sheetTitle,options:be,getOptionLabel:e=>"remove"===e.kind?B.remove:e.source.label,getOptionValue:e=>"remove"===e.kind?REMOVE_VALUE:e.source.key,destructiveOf:e=>"remove"===e.kind,getOptionDescription:e=>"remove"===e.kind?void 0:e.source.description,getOptionIcon:e=>"remove"===e.kind?_jsx(AppIcon,{name:"trash",size:20,color:L.colors["danger-text"]}):e.source.icon,onChange:(e,r)=>xe(r)})]})});ProfilePicker.displayName="ProfilePicker";const styles=StyleSheet.create({fill:{alignItems:"center",justifyContent:"center",overflow:"hidden"},overlay:{...StyleSheet.absoluteFill},badge:{position:"absolute",alignItems:"center",justifyContent:"center",borderWidth:2},row:{flexDirection:"row",alignItems:"center"},column:{alignItems:"flex-start"},columnCentred:{alignItems:"center"},meta:{flexShrink:1},metaCentred:{alignItems:"center"},title:{includeFontPadding:!1},subtitle:{includeFontPadding:!1},textCentred:{textAlign:"center"}});export{ProfilePicker};export default ProfilePicker;
@@ -1 +1 @@
1
- "use strict";export{default,ProfilePicker}from"./ProfilePicker.js";
1
+ "use strict";export{DEFAULT_PROFILE_PICKER_LABELS,default,ProfilePicker}from"./ProfilePicker.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,Text,View}from"react-native";import{useReducedMotion}from"../../hooks/useReducedMotion.js";import{createAnimatedValue,fontFor,Gradient,setNativeValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},DETERMINATE_ANIMATION_DURATION=400,INDETERMINATE_LOOP_DURATION=1500,INDETERMINATE_WIDTH="30%",GLOW_LOCATIONS=[0,.35,.5,.65,1],glowOf=e=>{const t=tintOf(e,0,"transparent"),r=tintOf(e,.6,e);return{colors:[t,r,e,r,t],locations:GLOW_LOCATIONS,start:{x:0,y:.5},end:{x:1,y:.5}}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)||e<0?0:e>1?1:e,ProgressBar=forwardRef((e,t)=>{const r=useTheme(),s=useReducedMotion(),{progress:o,label:i,showPercent:a=!1,indeterminate:n,height:l=6,radius:u,tone:c="primary",trackColor:d,barColor:m,gradient:g,segments:p,animated:f=!0,style:h,containerStyle:y,barStyle:b,accessibilityLabel:w,testID:x}=e,R=n??"number"!=typeof o,A=clampProgress(o),j=useRef(createAnimatedValue(A)).current,N=useRef(createAnimatedValue(0)).current,_=useRef(createAnimatedValue(0)).current,V=useRef(0),E=useMemo(()=>buildStyles(r),[r]),O=u??r.radius.pill,T=d??r.colors["surface-disabled"],S=m??toneColor(r,c),v=useMemo(()=>g?"string"==typeof g?r.settings.gradients[g]??null:g:null,[g,r.settings.gradients]),I=useMemo(()=>glowOf(S),[S]),C=Array.isArray(p)&&p.length>0;useEffect(()=>{R||(f?Animated.timing(j,{toValue:A,duration:400,easing:Easing.bezier(...r.motion.ease["in-out"]),useNativeDriver:!1}).start():j.setValue(A))},[f,A,j,R,r]),useEffect(()=>{if(!R)return;setNativeValue(N,0);const e=Animated.loop(Animated.timing(N,{toValue:1,duration:1500,easing:Easing.inOut(Easing.ease),useNativeDriver:!0}));return e.start(),()=>{e.stop()}},[R,N]);const M=j.interpolate({inputRange:[0,1],outputRange:["0%","100%"]}),D=N.interpolate({inputRange:[0,1],outputRange:[-1,1]}),B=N.interpolate({inputRange:[0,.5,1],outputRange:[.4,1,.4]}),P=a&&!R&&!C,L=null!=i||P,k=_jsx(View,{ref:t,accessibilityRole:"progressbar",accessibilityLabel:w??("string"==typeof i?i:void 0),accessibilityValue:R?{text:"Loading"}:{min:0,max:100,now:Math.round(100*A)},testID:x,onLayout:e=>{const t=e.nativeEvent.layout.width;V.current=t,setNativeValue(_,t)},style:[E.track,{height:l,borderRadius:O,...smoothCorners,backgroundColor:T},h,y],children:C?_jsx(View,{style:[E.segments,{height:l}],children:(p??[]).map((e,t)=>_jsx(View,{style:{width:100*clampProgress(e.value)+"%",height:l,backgroundColor:e.color??toneColor(r,e.tone??"primary")}},t))}):_jsx(Animated.View,R?{style:[E.indeterminateBar,{height:l,width:s?"100%":"30%",opacity:s?B:1,transform:s?[]:[{translateX:Animated.multiply(D,_)}]},b],children:_jsx(Gradient,{gradient:I,style:StyleSheet.absoluteFill})}:{style:[E.determinateBar,{height:l,borderRadius:O,...smoothCorners,backgroundColor:v?"transparent":S,width:M,overflow:v?"hidden":void 0},b],children:v?_jsx(Gradient,{gradient:v,style:StyleSheet.absoluteFill}):null})});if(!L)return k;const G={fontSize:r.text.sm.size,...fontFor(r,"medium")};return _jsxs(View,{style:E.wrapper,children:[_jsxs(View,{style:[E.labelRow,{marginBottom:r.space.xs}],children:["string"==typeof i||"number"==typeof i?_jsx(Text,{style:[E.label,G,{color:r.colors["text-body"]}],children:i}):_jsx(View,{style:E.label,children:i}),P?_jsx(Text,{accessible:!1,importantForAccessibility:"no",style:[G,{color:r.colors["text-muted"]}],children:`${Math.round(100*A)}%`}):null]}),k]})});ProgressBar.displayName="ProgressBar";const buildStyles=e=>StyleSheet.create({wrapper:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",columnGap:e.space.sm},label:{flexShrink:1},track:{width:"100%",overflow:"hidden"},determinateBar:{position:"absolute",left:0,top:0},indeterminateBar:{position:"absolute",left:0,top:0},segments:{flexDirection:"row",width:"100%"}});export{ProgressBar};export default ProgressBar;
1
+ "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import{useReducedMotion}from"../../hooks/useReducedMotion.js";import{createAnimatedValue,Gradient,setNativeValue,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_PROGRESS_BAR_LABELS=Object.freeze({loading:"Loading"});const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},DETERMINATE_ANIMATION_DURATION=400,INDETERMINATE_LOOP_DURATION=1500,INDETERMINATE_WIDTH="30%",GLOW_LOCATIONS=[0,.35,.5,.65,1],glowOf=e=>{const t=tintOf(e,0,"transparent"),r=tintOf(e,.6,e);return{colors:[t,r,e,r,t],locations:GLOW_LOCATIONS,start:{x:0,y:.5},end:{x:1,y:.5}}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)||e<0?0:e>1?1:e,ProgressBar=forwardRef((e,t)=>{const r=useTheme(),s=useReducedMotion(),{progress:a,label:o,showPercent:i=!1,indeterminate:n,height:l=6,radius:u,tone:c="primary",trackColor:d,barColor:m,gradient:g,segments:p,animated:f=!0,style:h,containerStyle:y,barStyle:b,accessibilityLabel:w,labels:x,testID:R}=e;warnInvalidValue("ProgressBar","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const A=useMemo(()=>({...DEFAULT_PROGRESS_BAR_LABELS,...x}),[x]),_=n??"number"!=typeof a,j=clampProgress(a),E=useRef(createAnimatedValue(j)).current,V=useRef(createAnimatedValue(0)).current,S=useRef(createAnimatedValue(0)).current,v=useRef(0),N=useMemo(()=>buildStyles(r),[r]),O=u??r.radius.pill,T=d??r.colors["surface-disabled"],I=m??toneColor(r,c),B=useMemo(()=>g?"string"==typeof g?r.settings.gradients[g]??null:g:null,[g,r.settings.gradients]),L=useMemo(()=>glowOf(I),[I]),C=Array.isArray(p)&&p.length>0;useEffect(()=>{_||(f?Animated.timing(E,{toValue:j,duration:400,easing:Easing.bezier(...r.motion.ease["in-out"]),useNativeDriver:!1}).start():E.setValue(j))},[f,j,E,_,r]),useEffect(()=>{if(!_)return;setNativeValue(V,0);const e=Animated.loop(Animated.timing(V,{toValue:1,duration:1500,easing:Easing.inOut(Easing.ease),useNativeDriver:!0}));return e.start(),()=>{e.stop()}},[_,V]);const D=E.interpolate({inputRange:[0,1],outputRange:["0%","100%"]}),M=V.interpolate({inputRange:[0,1],outputRange:[-1,1]}),P=V.interpolate({inputRange:[0,.5,1],outputRange:[.4,1,.4]}),k=i&&!_&&!C,G=null!=o||k,F=_jsx(View,{ref:t,accessibilityRole:"progressbar",accessibilityLabel:w??("string"==typeof o?o:void 0),accessibilityValue:_?{text:A.loading}:{min:0,max:100,now:Math.round(100*j)},testID:R,onLayout:e=>{const t=e.nativeEvent.layout.width;v.current=t,setNativeValue(S,t)},style:[N.track,{height:l,borderRadius:O,...smoothCorners,backgroundColor:T},h,y],children:C?_jsx(View,{style:[N.segments,{height:l}],children:(p??[]).map((e,t)=>_jsx(View,{style:{width:100*clampProgress(e.value)+"%",height:l,backgroundColor:e.color??toneColor(r,e.tone??"primary")}},t))}):_jsx(Animated.View,_?{style:[N.indeterminateBar,{height:l,width:s?"100%":"30%",opacity:s?P:1,transform:s?[]:[{translateX:Animated.multiply(M,S)}]},b],children:_jsx(Gradient,{gradient:L,style:StyleSheet.absoluteFill})}:{style:[N.determinateBar,{height:l,borderRadius:O,...smoothCorners,backgroundColor:B?"transparent":I,width:D,overflow:B?"hidden":void 0},b],children:B?_jsx(Gradient,{gradient:B,style:StyleSheet.absoluteFill}):null})});return G?_jsxs(View,{style:N.wrapper,children:[_jsxs(View,{style:[N.labelRow,{marginBottom:r.space.xs}],children:["string"==typeof o||"number"==typeof o?_jsx(Text,{variant:"label",color:"primary",style:N.label,children:o}):_jsx(View,{style:N.label,children:o}),k?_jsx(Text,{variant:"label",color:"secondary",accessible:!1,importantForAccessibility:"no",children:`${Math.round(100*j)}%`}):null]}),F]}):F});ProgressBar.displayName="ProgressBar";const buildStyles=e=>StyleSheet.create({wrapper:{width:"100%"},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",columnGap:e.space.sm},label:{flexShrink:1},track:{width:"100%",overflow:"hidden"},determinateBar:{position:"absolute",left:0,top:0},indeterminateBar:{position:"absolute",left:0,top:0},segments:{flexDirection:"row",width:"100%"}});export{ProgressBar};export default ProgressBar;
@@ -1 +1 @@
1
- "use strict";export{default,ProgressBar}from"./ProgressBar.js";
1
+ "use strict";export{DEFAULT_PROGRESS_BAR_LABELS,default,ProgressBar}from"./ProgressBar.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import Svg,{Circle}from"react-native-svg";import{useReducedMotion}from"../../hooks/index.js";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const AnimatedCircle=Animated.createAnimatedComponent(Circle),toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)?0:Math.min(1,Math.max(0,e)),DEFAULT_STROKE_WIDTH=4,DEFAULT_DURATION=600,DEFAULT_COLOR_STOPS=[1/3,2/3],STOP_EDGE=1e-4,ProgressRing=forwardRef((e,t)=>{const{progress:r,size:s=48,strokeWidth:o,tone:n="primary",trackColor:i,ringColor:a,colorByProgress:c=!1,animated:l=!0,rounded:u=!0,children:m,accessibilityLabel:d,style:g,testID:p}=e,f=useTheme(),h=useReducedMotion(),y=clampProgress(r),R=o??4,x=i??f.colors["surface-disabled"],[b,w]=DEFAULT_COLOR_STOPS,_=Math.max(0,(s-R)/2),j=2*Math.PI*_,C=useRef(createAnimatedValue(y)).current;useEffect(()=>{if(!l||h)return void C.setValue(y);const e=Animated.timing(C,{toValue:y,duration:600,easing:Easing.bezier(...f.motion.ease["in-out"]),useNativeDriver:!1});return e.start(),()=>e.stop()},[l,y,C,h,f.motion.ease["in-out"]]);const S=C.interpolate({inputRange:[0,1],outputRange:[j,0]}),A=C.interpolate({inputRange:[0,.001,1],outputRange:[0,1,1]}),D=useMemo(()=>C.interpolate({inputRange:[0,b-1e-4,b,w-1e-4,w,1],outputRange:[f.colors.danger,f.colors.danger,f.colors.warning,f.colors.warning,f.colors.success,f.colors.success]}),[C,f.colors.danger,f.colors.warning,f.colors.success]),E=a??(c?D:toneColor(f,n)),P=useMemo(()=>buildStyles(),[]),T=s/2;return _jsxs(View,{ref:t,accessible:null==m,accessibilityRole:"progressbar",accessibilityLabel:d,accessibilityValue:{min:0,max:100,now:Math.round(100*y)},testID:p,style:[P.root,{width:s,height:s},g],children:[_jsxs(Svg,{width:s,height:s,viewBox:`0 0 ${s} ${s}`,children:[_jsx(Circle,{cx:T,cy:T,r:_,stroke:x,strokeWidth:R,fill:"none"}),_jsx(AnimatedCircle,{cx:T,cy:T,r:_,stroke:E,strokeWidth:R,strokeLinecap:u?"round":"butt",strokeDasharray:`${j} ${j}`,strokeDashoffset:S,strokeOpacity:A,fill:"none",transform:`rotate(-90 ${T} ${T})`,testID:p?`${p}-fill`:void 0})]}),null!=m?_jsx(View,{style:P.content,pointerEvents:"box-none",children:m}):null]})});ProgressRing.displayName="ProgressRing";const buildStyles=()=>StyleSheet.create({root:{alignItems:"center",justifyContent:"center"},content:{position:"absolute",top:0,right:0,bottom:0,left:0,alignItems:"center",justifyContent:"center"}});export{ProgressRing};export default ProgressRing;
1
+ "use strict";import{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import Svg,{Circle}from"react-native-svg";import{useReducedMotion}from"../../hooks/index.js";import{createAnimatedValue,useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const AnimatedCircle=Animated.createAnimatedComponent(Circle),toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},clampProgress=e=>"number"!=typeof e||Number.isNaN(e)?0:Math.min(1,Math.max(0,e)),DEFAULT_STROKE_WIDTH=4,DEFAULT_DURATION=600,DEFAULT_COLOR_STOPS=[1/3,2/3],STOP_EDGE=1e-4,ProgressRing=forwardRef((e,t)=>{const{progress:r,size:s=48,strokeWidth:o,tone:n="primary",trackColor:i,ringColor:a,colorByProgress:c=!1,animated:l=!0,rounded:u=!0,children:m,accessibilityLabel:d,style:g,testID:f}=e;warnInvalidValue("ProgressRing","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const p=useTheme(),h=useReducedMotion(),y=clampProgress(r),R=o??4,x=i??p.colors["surface-disabled"],[w,b]=DEFAULT_COLOR_STOPS,j=Math.max(0,(s-R)/2),_=2*Math.PI*j,v=useRef(createAnimatedValue(y)).current;useEffect(()=>{if(!l||h)return void v.setValue(y);const e=Animated.timing(v,{toValue:y,duration:600,easing:Easing.bezier(...p.motion.ease["in-out"]),useNativeDriver:!1});return e.start(),()=>e.stop()},[l,y,v,h,p.motion.ease["in-out"]]);const C=v.interpolate({inputRange:[0,1],outputRange:[_,0]}),S=v.interpolate({inputRange:[0,.001,1],outputRange:[0,1,1]}),A=useMemo(()=>v.interpolate({inputRange:[0,w-1e-4,w,b-1e-4,b,1],outputRange:[p.colors.danger,p.colors.danger,p.colors.warning,p.colors.warning,p.colors.success,p.colors.success]}),[v,p.colors.danger,p.colors.warning,p.colors.success]),D=a??(c?A:toneColor(p,n)),P=useMemo(()=>buildStyles(),[]),E=s/2;return _jsxs(View,{ref:t,accessible:null==m,accessibilityRole:"progressbar",accessibilityLabel:d,accessibilityValue:{min:0,max:100,now:Math.round(100*y)},testID:f,style:[P.root,{width:s,height:s},g],children:[_jsxs(Svg,{width:s,height:s,viewBox:`0 0 ${s} ${s}`,children:[_jsx(Circle,{cx:E,cy:E,r:j,stroke:x,strokeWidth:R,fill:"none"}),_jsx(AnimatedCircle,{cx:E,cy:E,r:j,stroke:D,strokeWidth:R,strokeLinecap:u?"round":"butt",strokeDasharray:`${_} ${_}`,strokeDashoffset:C,strokeOpacity:S,fill:"none",transform:`rotate(-90 ${E} ${E})`,testID:f?`${f}-fill`:void 0})]}),null!=m?_jsx(View,{style:P.content,pointerEvents:"box-none",children:m}):null]})});ProgressRing.displayName="ProgressRing";const buildStyles=()=>StyleSheet.create({root:{alignItems:"center",justifyContent:"center"},content:{position:"absolute",top:0,right:0,bottom:0,left:0,alignItems:"center",justifyContent:"center"}});export{ProgressRing};export default ProgressRing;
@@ -1 +1 @@
1
- "use strict";import{Logger}from"@webority/mobile-core";import{createContext,forwardRef,useContext,useMemo}from"react";import{Pressable,StyleSheet}from"react-native";import{spaceOf,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{fieldTextAsString,hasFieldText}from"../FieldBase/index.js";import{ChoiceText,hasChoiceDetail}from"../FieldBase/ChoiceText.js";import{RadioDot}from"./RadioDot.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const RadioGroupContext=createContext(null);export const useRadioGroup=()=>useContext(RadioGroupContext);const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;default:return e.colors.primary}},Radio=forwardRef((e,t)=>{const{value:o,selected:i,onChange:r,disabled:s=!1,label:a,description:l,error:c,size:n="md",tone:d="primary",accessibilityLabel:p,haptic:m,style:u,containerStyle:h,circleStyle:b,dotStyle:x,labelStyle:f,testID:y,hitSlop:g,...S}=e,w=useTheme(),C=useMemo(()=>buildStyles(w),[w]),R=useRadioGroup();__DEV__&&void 0===o&&Logger.warn("[@webority/mobile-ui] Radio was rendered without a `value`. Selection compares against it, so the group cannot track which option is chosen.");const j=R?R.selectedValue===o:!!i,T=R&&R.disabled||s,D=toneColor(w,d),_=spaceOf(w,w.components.radio["label-gap"]),v=g??6,H=p??fieldTextAsString(a),L=!0===R?.error||!0===c||hasFieldText(c);return _jsxs(Pressable,{ref:t,onPress:e=>{if(T)return;const t=resolveHaptic(m,"selection");t&&triggerHaptic(t),R?R.onChange(o):r?.(o)},disabled:T,accessibilityRole:"radio",accessibilityLabel:H,accessibilityHint:S.accessibilityHint??fieldTextAsString(l),accessibilityState:{checked:j,disabled:T},"aria-checked":j,"aria-disabled":T,testID:y,hitSlop:v,...hitSlopMarker(v),...S,style:({pressed:e})=>[C.row,hasChoiceDetail(l,c)?C.rowTop:null,{opacity:T?.55:e?.85:1},u,h],children:[_jsx(RadioDot,{selected:j,color:D,disabled:T&&!j,size:n,style:[!L||j||T?null:{borderColor:w.colors["field-border-error"]},b],dotStyle:x}),_jsx(ChoiceText,{label:a,description:l,error:c,disabled:T,labelLines:2,style:{marginLeft:_},labelStyle:f})]})});Radio.displayName="Radio";const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},rowTop:{alignItems:"flex-start"}});export{Radio};export default Radio;
1
+ "use strict";import{Logger}from"@webority/mobile-core";import{createContext,forwardRef,useContext,useMemo}from"react";import{Pressable,StyleSheet}from"react-native";import{spaceOf,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{fieldTextAsString,hasFieldText}from"../FieldBase/index.js";import{ChoiceText,hasChoiceDetail}from"../FieldBase/ChoiceText.js";import{RadioDot}from"./RadioDot.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const RadioGroupContext=createContext(null);export const useRadioGroup=()=>useContext(RadioGroupContext);const toneColor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},Radio=forwardRef((e,t)=>{const{value:o,selected:r,onChange:i,disabled:s=!1,label:a,helperText:l,description:n,error:c,size:d="md",tone:p="primary",accessibilityLabel:u,haptic:m,style:h,containerStyle:x,circleStyle:f,dotStyle:b,labelStyle:y,testID:g,hitSlop:S,...w}=e;warnInvalidValue("Radio","size",e.size,["sm","md","lg"]),warnInvalidValue("Radio","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const R=useTheme(),C=useMemo(()=>buildStyles(R),[R]),j=useRadioGroup();__DEV__&&void 0===o&&Logger.warn("[@webority/mobile-ui] Radio was rendered without a `value`. Selection compares against it, so the group cannot track which option is chosen.");const T=j?j.selectedValue===o:!!r,v=j&&j.disabled||s,D=toneColor(R,p),_=spaceOf(R,R.components.radio["label-gap"]),I=S??6,H=u??fieldTextAsString(a),V="string"==typeof c?c:void 0,k={description:n,helperText:l,error:V},L=!0===j?.error||!0===c||hasFieldText(c);return _jsxs(Pressable,{ref:t,onPress:e=>{if(v)return;const t=resolveHaptic(m,"selection");t&&triggerHaptic(t),j?j.onChange(o):i?.(o)},disabled:v,accessibilityRole:"radio",accessibilityLabel:H,accessibilityHint:w.accessibilityHint??fieldTextAsString(l??n),accessibilityState:{checked:T,disabled:v},"aria-checked":T,"aria-disabled":v,testID:g,hitSlop:I,...hitSlopMarker(I),...w,style:({pressed:e})=>[C.row,hasChoiceDetail(k)?C.rowTop:null,{opacity:v?.55:e?.85:1},h,x],children:[_jsx(RadioDot,{selected:T,color:D,disabled:v&&!T,size:d,style:[!L||T||v?null:{borderColor:R.colors["field-border-error"]},f],dotStyle:b}),_jsx(ChoiceText,{label:a,helperText:l,description:n,error:V,disabled:v,style:{marginLeft:_},labelStyle:y})]})});Radio.displayName="Radio";const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},rowTop:{alignItems:"flex-start"}});export{Radio};export default Radio;
@@ -1 +1 @@
1
- "use strict";import{useMemo}from"react";import{View}from"react-native";import{useControllableState}from"../../hooks/index.js";import{hasFieldText}from"../FieldBase/index.js";import{ChoiceText}from"../FieldBase/ChoiceText.js";import{RadioGroupContext}from"./Radio.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const RadioGroup=({value:e,defaultValue:o,onChange:i,children:a,disabled:t=!1,error:r,accessibilityLabel:s,style:l,testID:d})=>{const[u,c]=useControllableState({value:e,defaultValue:o??void 0,onChange:i}),n=!0===r||hasFieldText(r),x=useMemo(()=>({selectedValue:u,onChange:c,disabled:t,error:n}),[u,c,t,n]);return _jsxs(RadioGroupContext.Provider,{value:x,children:[_jsx(View,{accessibilityRole:"radiogroup",accessibilityLabel:s,accessibilityState:{disabled:t},"aria-disabled":t,testID:d,style:l,children:a}),_jsx(ChoiceText,{error:r})]})};RadioGroup.displayName="RadioGroup";export{RadioGroup};export default RadioGroup;
1
+ "use strict";import{useMemo}from"react";import{View}from"react-native";import{useControllableState}from"../../hooks/index.js";import{hasFieldText}from"../FieldBase/index.js";import{ChoiceText}from"../FieldBase/ChoiceText.js";import{RadioGroupContext}from"./Radio.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const RadioGroup=({value:e,defaultValue:o,onChange:i,children:t,disabled:a=!1,error:r,accessibilityLabel:s,style:l,testID:d})=>{const[u,c]=useControllableState({value:e,defaultValue:o??void 0,onChange:i}),n=!0===r||hasFieldText(r),p=useMemo(()=>({selectedValue:u,onChange:c,disabled:a,error:n}),[u,c,a,n]);return _jsxs(RadioGroupContext.Provider,{value:p,children:[_jsx(View,{accessibilityRole:"radiogroup",accessibilityLabel:s,accessibilityState:{disabled:a},"aria-disabled":a,testID:d,style:l,children:t}),_jsx(ChoiceText,{error:"string"==typeof r?r:void 0})]})};RadioGroup.displayName="RadioGroup";export{RadioGroup};export default RadioGroup;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useMemo,useRef}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{Skeleton}from"../Skeleton/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const sizePxMap={sm:16,md:24,lg:32},resolveSize=e=>"number"==typeof e?e:sizePxMap[e],PULSE_SCALE=1.2,toneColorFor=(e,t)=>"primary"===t?e.colors.primary:e.colors.warning,clampToStep=(e,t,s)=>{const i=Math.max(0,Math.min(t,e)),n=Math.round(i/s)*s;return Number(n.toFixed(2))},Star=({index:e,filled:t,size:s,filledColor:i,emptyColor:n,scale:a})=>{const o=Math.max(0,Math.min(1,t-e));return _jsxs(Animated.View,{style:[starStyles.starWrap,{width:s,height:s,transform:[{scale:a}]}],children:[_jsx(Text,{style:[starStyles.glyph,{color:n,fontSize:s,lineHeight:s}],accessible:!1,children:"☆"}),o>0?_jsx(View,{pointerEvents:"none",style:[starStyles.fillClip,{width:s*o,height:s}],children:_jsx(Text,{style:[starStyles.glyph,{color:i,fontSize:s,lineHeight:s}],accessible:!1,children:"★"})}):null]})},Rating=forwardRef((e,t)=>{const{value:s,onChange:i,max:n=5,allowHalf:a=!0,readonly:o=!1,size:l="md",tone:r="warning",label:c,loading:m=!1,haptic:u,accessibilityLabel:d,style:p,containerStyle:y,starContainerStyle:h,testID:f}=e,g=useTheme(),x=useMemo(()=>buildStyles(g),[g]),S=!o&&"function"==typeof i,b=a?.5:1,v=resolveSize(l),w=toneColorFor(g,r),j=g.colors.border,k=useRef(v),R=useCallback(e=>{k.current=e.nativeEvent.layout.width},[]),C=useRef(new Map),_=useMemo(()=>{const e=C.current,t=[];for(let s=0;s<n;s+=1){let i=e.get(s);i||(i=new Animated.Value(1),e.set(s,i)),t.push(i)}for(const t of Array.from(e.keys()))t>=n&&e.delete(t);return t},[n]),M=g.settings.components.rating?.pulseOnPress??!1,z=useCallback(e=>{const t=_[e];t&&Animated.sequence([Animated.timing(t,{toValue:1.2,duration:g.motion.duration.fast,easing:Easing.bezier(...g.motion.ease["in-out"]),useNativeDriver:!0}),Animated.spring(t,{toValue:1,damping:g.motion.spring.bouncy.damping,stiffness:g.motion.spring.bouncy.stiffness,mass:g.motion.spring.bouncy.mass,useNativeDriver:!0})]).start()},[g.motion,_]),A=useCallback((e,t)=>{if(!S||!i)return;const s=clampToStep(e,n,b),a=resolveHaptic(u,"selection");a&&triggerHaptic(a),M&&"number"==typeof t&&z(t),i(s)},[S,i,n,b,z,u,M]),V=useCallback(e=>t=>{if(!S)return;const s=k.current||v,i=t.nativeEvent.locationX??s;let n;n=a&&i<s/2?e+.5:e+1,A(n,e)},[S,v,a,A]),P=useCallback(e=>{S&&("increment"===e.nativeEvent.actionName?A(s+b):"decrement"===e.nativeEvent.actionName&&A(s-b))},[S,s,b,A]),E=`${s} of ${n} stars`,T=d??c??E,D=[];for(let e=0;e<n;e+=1){const t=_[e];if(!t)continue;const i=_jsx(Star,{index:e,filled:s,size:v,filledColor:w,emptyColor:j,scale:t},e);D.push(S?_jsx(Pressable,{onPress:V(e),onLayout:0===e?R:void 0,hitSlop:4,...hitSlopMarker(4),accessible:!1,style:x.starPress,children:i},e):_jsx(View,{onLayout:0===e?R:void 0,style:x.starPress,children:i},e))}const H=_jsxs(View,{style:[x.wrapper,p,y],ref:t,testID:f,children:[c?_jsx(Text,{style:[x.label,{color:g.colors["text-muted"],fontSize:g.text.sm.size}],children:c}):null,_jsx(View,{style:[x.row,h],accessible:!0,accessibilityRole:S?"adjustable":"text",accessibilityLabel:T,accessibilityValue:S?{min:0,max:n,now:s,text:E}:void 0,accessibilityActions:S?[{name:"increment"},{name:"decrement"}]:void 0,onAccessibilityAction:S?P:void 0,children:D})]});return m?_jsx(RatingSkeleton,{...e}):H});Rating.displayName="Rating";const RatingSkeleton=({max:e=5,size:t="md",label:s,containerStyle:i,starContainerStyle:n,style:a})=>{const o=useTheme(),l=resolveSize(t),r=Math.max(1,e);return _jsxs(View,{style:[{alignItems:"flex-start"},i,a],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[void 0!==s?_jsx(Skeleton,{shape:"text",width:80,height:14,style:{marginBottom:o.space.xs}}):null,_jsx(View,{style:[{flexDirection:"row"},n],children:Array.from({length:r}).map((e,t)=>_jsx(Skeleton,{width:l,height:l,radius:Math.round(.25*l),style:t<r-1?{marginRight:o.space.xs}:void 0},`sk-star-${t}`))})]})};RatingSkeleton.displayName="RatingSkeleton",Rating.Skeleton=RatingSkeleton;const starStyles=StyleSheet.create({starWrap:{position:"relative",alignItems:"flex-start",justifyContent:"center"},glyph:{textAlign:"left",includeFontPadding:!1},fillClip:{position:"absolute",top:0,left:0,overflow:"hidden"}}),buildStyles=e=>StyleSheet.create({wrapper:{flexDirection:"column"},row:{flexDirection:"row",alignItems:"center"},starPress:{marginRight:e.space.xs},label:{marginBottom:e.space.xs}});export{Rating};export default Rating;
1
+ "use strict";import{forwardRef,useCallback,useMemo,useRef}from"react";import{Animated,Easing,Pressable,StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const RATING_SIZES=["sm","md","lg"],RATING_TONES=["primary","success","warning","danger","info","neutral"];export const DEFAULT_RATING_LABELS=Object.freeze({value:(e,t)=>`${e} of ${t} stars`});const sizePxMap={sm:16,md:24,lg:32},resolveSize=e=>sizePxMap[e],PULSE_SCALE=1.2,toneColorFor=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"info":return e.colors.info;case"neutral":return e.colors["text-muted"];default:return e.colors.primary}},clampToStep=(e,t,s)=>{const i=Math.max(0,Math.min(t,e)),n=Math.round(i/s)*s;return Number(n.toFixed(2))},Star=({index:e,filled:t,size:s,filledColor:i,emptyColor:n,scale:a})=>{const r=Math.max(0,Math.min(1,t-e));return _jsxs(Animated.View,{style:[starStyles.starWrap,{width:s,height:s,transform:[{scale:a}]}],children:[_jsx(Text,{variant:"body",style:[starStyles.glyph,{color:n,fontSize:s,lineHeight:s}],accessible:!1,children:"☆"}),r>0?_jsx(View,{pointerEvents:"none",style:[starStyles.fillClip,{width:s*r,height:s}],children:_jsx(Text,{variant:"body",style:[starStyles.glyph,{color:i,fontSize:s,lineHeight:s}],accessible:!1,children:"★"})}):null]})},Rating=forwardRef((e,t)=>{const{value:s,onChange:i,max:n=5,allowHalf:a=!0,readonly:r=!1,size:o="md",tone:l="warning",label:c,loading:m=!1,haptic:u,labels:d,accessibilityLabel:p,style:y,containerStyle:g,starContainerStyle:f,testID:h}=e;warnInvalidValue("Rating","size",e.size,RATING_SIZES),warnInvalidValue("Rating","tone",e.tone,RATING_TONES);const x=useMemo(()=>({...DEFAULT_RATING_LABELS,...d}),[d]),S=useTheme(),b=useMemo(()=>buildStyles(S),[S]),v=!r&&"function"==typeof i,w=a?.5:1,j=resolveSize(o),R=toneColorFor(S,l),_=S.colors.border,A=useRef(j),k=useCallback(e=>{A.current=e.nativeEvent.layout.width},[]),T=useRef(new Map),C=useMemo(()=>{const e=T.current,t=[];for(let s=0;s<n;s+=1){let i=e.get(s);i||(i=new Animated.Value(1),e.set(s,i)),t.push(i)}for(const t of Array.from(e.keys()))t>=n&&e.delete(t);return t},[n]),E=S.settings.components.rating?.pulseOnPress??!1,I=useCallback(e=>{const t=C[e];t&&Animated.sequence([Animated.timing(t,{toValue:1.2,duration:S.motion.duration.fast,easing:Easing.bezier(...S.motion.ease["in-out"]),useNativeDriver:!0}),Animated.spring(t,{toValue:1,damping:S.motion.spring.bouncy.damping,stiffness:S.motion.spring.bouncy.stiffness,mass:S.motion.spring.bouncy.mass,useNativeDriver:!0})]).start()},[S.motion,C]),M=useCallback((e,t)=>{if(!v||!i)return;const s=clampToStep(e,n,w),a=resolveHaptic(u,"selection");a&&triggerHaptic(a),E&&"number"==typeof t&&I(t),i(s)},[v,i,n,w,I,u,E]),V=useCallback(e=>t=>{if(!v)return;const s=A.current||j,i=t.nativeEvent.locationX??s;let n;n=a&&i<s/2?e+.5:e+1,M(n,e)},[v,j,a,M]),z=useCallback(e=>{v&&("increment"===e.nativeEvent.actionName?M(s+w):"decrement"===e.nativeEvent.actionName&&M(s-w))},[v,s,w,M]),N=x.value(s,n),L=p??c??N,P=[];for(let e=0;e<n;e+=1){const t=C[e];if(!t)continue;const i=_jsx(Star,{index:e,filled:s,size:j,filledColor:R,emptyColor:_,scale:t},e);P.push(v?_jsx(Pressable,{onPress:V(e),onLayout:0===e?k:void 0,hitSlop:4,...hitSlopMarker(4),accessible:!1,style:b.starPress,children:i},e):_jsx(View,{onLayout:0===e?k:void 0,style:b.starPress,children:i},e))}const D=_jsxs(View,{style:[b.wrapper,y,g],ref:t,testID:h,children:[c?_jsx(Text,{variant:"bodySmall",color:"secondary",style:b.label,children:c}):null,_jsx(View,{style:[b.row,f],accessible:!0,accessibilityRole:v?"adjustable":"text",accessibilityLabel:L,accessibilityValue:v?{min:0,max:n,now:s,text:N}:void 0,accessibilityActions:v?[{name:"increment"},{name:"decrement"}]:void 0,onAccessibilityAction:v?z:void 0,children:P})]});return m?_jsx(RatingSkeleton,{...e}):D});Rating.displayName="Rating";const RatingSkeleton=({max:e=5,size:t="md",label:s,containerStyle:i,starContainerStyle:n,style:a})=>{const r=useTheme(),o=resolveSize(t),l=Math.max(1,e);return _jsxs(View,{style:[{alignItems:"flex-start"},i,a],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[void 0!==s?_jsx(Skeleton,{shape:"text",width:80,height:14,style:{marginBottom:r.space.xs}}):null,_jsx(View,{style:[{flexDirection:"row"},n],children:Array.from({length:l}).map((e,t)=>_jsx(Skeleton,{width:o,height:o,radius:Math.round(.25*o),style:t<l-1?{marginRight:r.space.xs}:void 0},`sk-star-${t}`))})]})};RatingSkeleton.displayName="RatingSkeleton",Rating.Skeleton=RatingSkeleton;const starStyles=StyleSheet.create({starWrap:{position:"relative",alignItems:"flex-start",justifyContent:"center"},glyph:{textAlign:"left",includeFontPadding:!1},fillClip:{position:"absolute",top:0,left:0,overflow:"hidden"}}),buildStyles=e=>StyleSheet.create({wrapper:{flexDirection:"column"},row:{flexDirection:"row",alignItems:"center"},starPress:{marginRight:e.space.xs},label:{marginBottom:e.space.xs}});export{Rating};export default Rating;
@@ -1 +1 @@
1
- "use strict";export{default,Rating}from"./Rating.js";
1
+ "use strict";export{DEFAULT_RATING_LABELS,default,Rating}from"./Rating.js";
@@ -1 +1 @@
1
- "use strict";import{useCallback,useMemo,useRef}from"react";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{AppIcon}from"../AppIcon/index.js";import{Button}from"../Button/index.js";import{IconButton}from"../IconButton/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";let rowIdCounter=0;const nextRowId=()=>(rowIdCounter+=1,`row-${rowIdCounter}`);export const Repeater=({value:e,onChange:t,createRow:o,renderRow:r,addLabel:n="Add another",rowLabel:s,renderRowHeader:i,onRemove:l,minRows:a=0,maxRows:c,removable:u=!0,emptyText:m,disabled:p=!1,haptic:d,style:x,testID:h})=>{const f=useTheme(),g=useMemo(()=>buildStyles(f),[f]),w=useRef([]);if(w.current.length<e.length)for(;w.current.length<e.length;)w.current.push(nextRowId());else w.current.length>e.length&&(w.current.length=e.length);const b="number"==typeof c&&e.length>=c,j=u&&e.length>a,y=useCallback(e=>{const t=resolveHaptic(d,e);t&&triggerHaptic(t)},[d]),I=useCallback(()=>{p||b||(t([...e,o()]),y("impactLight"))},[b,o,p,y,t,e]),v=useCallback((o,r)=>{t(e.map((e,t)=>t===o?r:e))},[t,e]),R=useCallback(o=>{!p&&j&&(w.current=w.current.filter((e,t)=>t!==o),l?.(o,e[o]),t(e.filter((e,t)=>t!==o)),y("notificationWarning"))},[j,p,y,t,l,e]);return _jsxs(View,{style:[{gap:f.space.md},x],testID:h,children:[0===e.length&&m?_jsx(Text,{style:[g.empty,{color:f.colors["text-subtle"],fontSize:f.text.sm.size}],children:m}):null,e.map((e,t)=>{const o={item:e,index:t,update:e=>v(t,e),remove:()=>R(t),canRemove:j};return _jsxs(View,{style:{gap:f.space.xs},children:[i?i(o):s||j&&!p?_jsxs(View,{style:g.rowHeader,children:[s?_jsx(Text,{style:[g.rowLabel,{color:f.colors["text-subtle"],fontSize:f.text.xs.size}],children:s(t)}):_jsx(View,{}),j&&!p?_jsx(IconButton,{icon:({color:e,size:t})=>_jsx(AppIcon,{name:"x",size:t,color:e}),onPress:()=>R(t),accessibilityLabel:`Remove ${s?s(t):`row ${t+1}`}`,size:"sm",tone:"danger",variant:"ghost",haptic:d,testID:h?`${h}-remove-${t}`:void 0}):null]}):null,r(o)]},w.current[t])}),b||p?null:_jsx(Button,{title:n,onPress:I,variant:"outline",size:"sm",haptic:d,testID:h?`${h}-add`:void 0})]})};const buildStyles=e=>StyleSheet.create({rowHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",minHeight:24},rowLabel:{...fontFor(e,"semibold"),fontWeight:"600",letterSpacing:.5,textTransform:"uppercase"},empty:{...fontFor(e,"normal")}});export default Repeater;
1
+ "use strict";import{useCallback,useMemo,useRef}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{AppIcon}from"../AppIcon/index.js";import{Button}from"../Button/index.js";import{IconButton}from"../IconButton/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";let rowIdCounter=0;const nextRowId=()=>(rowIdCounter+=1,`row-${rowIdCounter}`);export const DEFAULT_REPEATER_LABELS=Object.freeze({add:"Add another",empty:"",row:null,removeRow:e=>`Remove ${e}`,fallbackRow:e=>`row ${e+1}`});export const Repeater=({value:e,onChange:t,createRow:r,renderRow:o,labels:n,renderRowHeader:s,onRemove:l,minRows:i=0,maxRows:a,removable:c=!0,disabled:m=!1,haptic:u,style:p,testID:d})=>{const x=useTheme(),h=useMemo(()=>({...DEFAULT_REPEATER_LABELS,...n}),[n]),w=useRef([]);if(w.current.length<e.length)for(;w.current.length<e.length;)w.current.push(nextRowId());else w.current.length>e.length&&(w.current.length=e.length);const g="number"==typeof a&&e.length>=a,f=c&&e.length>i,j=useCallback(e=>{const t=resolveHaptic(u,e);t&&triggerHaptic(t)},[u]),R=useCallback(()=>{m||g||(t([...e,r()]),j("impactLight"))},[g,r,m,j,t,e]),v=useCallback((r,o)=>{t(e.map((e,t)=>t===r?o:e))},[t,e]),b=useCallback(r=>{!m&&f&&(w.current=w.current.filter((e,t)=>t!==r),l?.(r,e[r]),t(e.filter((e,t)=>t!==r)),j("notificationWarning"))},[f,m,j,t,l,e]);return _jsxs(View,{style:[{gap:x.space.md},p],testID:d,children:[0===e.length&&h.empty.length>0?_jsx(Text,{variant:"bodySmall",color:"tertiary",children:h.empty}):null,e.map((e,t)=>{const r={item:e,index:t,update:e=>v(t,e),remove:()=>b(t),canRemove:f};return _jsxs(View,{style:{gap:x.space.xs},children:[s?s(r):h.row||f&&!m?_jsxs(View,{style:styles.rowHeader,children:[h.row?_jsx(Text,{variant:"overline",color:"tertiary",children:h.row(t)}):_jsx(View,{}),f&&!m?_jsx(IconButton,{icon:({color:e,size:t})=>_jsx(AppIcon,{name:"x",size:t,color:e}),onPress:()=>b(t),accessibilityLabel:h.removeRow(h.row?h.row(t):h.fallbackRow(t)),size:"sm",tone:"danger",variant:"ghost",haptic:u,testID:d?`${d}-remove-${t}`:void 0}):null]}):null,o(r)]},w.current[t])}),g||m?null:_jsx(Button,{label:h.add,onPress:R,variant:"outline",size:"sm",haptic:u,testID:d?`${d}-add`:void 0})]})};const styles=StyleSheet.create({rowHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",minHeight:24}});export default Repeater;
@@ -1 +1 @@
1
- "use strict";export{default,Repeater}from"./Repeater.js";
1
+ "use strict";export{DEFAULT_REPEATER_LABELS,default,Repeater}from"./Repeater.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useMemo,useState}from"react";import{Pressable,StyleSheet,Text,TextInput,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{Skeleton}from"../Skeleton/index.js";import{applyMarkdownAction,normalizeSelection}from"./markdownActions.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const ACTION_META={bold:{glyph:"B",label:"Bold"},italic:{glyph:"I",label:"Italic"},strikethrough:{glyph:"S",label:"Strikethrough"},code:{glyph:"</>",label:"Inline code"},link:{glyph:"link",label:"Link"},heading1:{glyph:"H1",label:"Heading 1"},heading2:{glyph:"H2",label:"Heading 2"},bulletList:{glyph:"•",label:"Bulleted list"},numberedList:{glyph:"1.",label:"Numbered list"},quote:{glyph:">",label:"Quote"}},DEFAULT_ACTIONS=["bold","italic","strikethrough","code","link","heading1","heading2","bulletList","numberedList","quote"],DEFAULT_MIN_HEIGHT=160,TOOLBAR_GLYPH_MAX_SCALE=1.5;export const RichTextEditor=forwardRef((e,t)=>{const{value:o,onChangeText:i,placeholder:l,actions:s=DEFAULT_ACTIONS,disabled:r=!1,loading:n=!1,minHeight:a=DEFAULT_MIN_HEIGHT,autoFocus:d=!1,accessibilityLabel:c,haptic:h,style:u,toolbarStyle:b,inputStyle:p,testID:m}=e,g=useTheme(),x=useMemo(()=>buildStyles(g),[g]),y=o??"",[S,T]=useState({start:0,end:0}),[k,f]=useState(!1),[_,j]=useState(null),C=useCallback(e=>{T(e.nativeEvent.selection),j(null)},[]),I=useCallback(e=>{j(null),i?.(e)},[i]),H=useCallback(e=>{if(r)return;const t=resolveHaptic(h,"selection");t&&triggerHaptic(t);const o=applyMarkdownAction({text:y,selection:normalizeSelection(S,y.length)},e);T(o.selection),j(o.selection),i?.(o.text)},[r,h,i,S,y]);return n?_jsx(RichTextEditorSkeleton,{actionCount:s.length,minHeight:a,style:u,testID:m}):_jsxs(View,{testID:m,style:[x.container,{borderColor:k?g.colors["focus-ring"]:g.colors.border,opacity:r?.55:1},u],children:[_jsx(View,{style:[x.toolbar,b],children:s.map(e=>_jsx(ToolbarButton,{action:e,disabled:r,onPress:H,styles:x,theme:g,testID:m?`${m}-${e}`:void 0},e))}),_jsx(TextInput,{ref:t,value:y,onChangeText:I,onSelectionChange:C,onFocus:()=>f(!0),onBlur:()=>f(!1),selection:_??void 0,editable:!r,autoFocus:d,multiline:!0,textAlignVertical:"top",placeholder:l,placeholderTextColor:g.colors["text-subtle"],accessibilityLabel:c,style:[x.input,{minHeight:a},p],testID:m?`${m}-input`:void 0})]})});RichTextEditor.displayName="RichTextEditor";const ToolbarButton=({action:e,disabled:t,onPress:o,styles:i,theme:l,testID:s})=>{const r=ACTION_META[e],n={color:t?l.colors["text-disabled"]:l.colors["text-body"]};return"bold"===e&&(n.fontWeight=l.weight.bold),"italic"===e&&(n.fontStyle="italic"),"strikethrough"===e&&(n.textDecorationLine="line-through"),_jsx(Pressable,{onPress:()=>o(e),disabled:t,accessibilityRole:"button",accessibilityLabel:r.label,accessibilityState:{disabled:t},"aria-disabled":t,hitSlop:4,...hitSlopMarker(4),testID:s,style:({pressed:e})=>[i.button,{backgroundColor:e?l.colors["surface-pressed"]:l.colors["bg-subtle"]}],children:_jsx(Text,{maxFontSizeMultiplier:Math.min(l.settings.maxFontSizeMultiplier??1.5,1.5),style:[i.buttonLabel,n],children:r.glyph})})};ToolbarButton.displayName="RichTextEditorToolbarButton";const RichTextEditorSkeleton=({actionCount:e,minHeight:t,style:o,testID:i})=>{const l=useTheme(),s=useMemo(()=>buildStyles(l),[l]),r=Array.from({length:Math.max(1,e)},(e,t)=>t);return _jsxs(View,{testID:i,style:[s.container,o],children:[_jsx(View,{style:s.toolbar,children:r.map(e=>_jsx(Skeleton,{width:34,height:30,radius:"sm"},e))}),_jsxs(View,{style:[s.skeletonBody,{minHeight:t}],children:[_jsx(Skeleton,{shape:"text",width:"94%",height:14}),_jsx(Skeleton,{shape:"text",width:"100%",height:14}),_jsx(Skeleton,{shape:"text",width:"72%",height:14})]})]})};RichTextEditorSkeleton.displayName="RichTextEditorSkeleton";const buildStyles=e=>StyleSheet.create({container:{borderWidth:e.size.border,borderColor:e.colors.border,borderRadius:e.radius.md,...smoothCorners,backgroundColor:e.colors.bg,overflow:"hidden"},toolbar:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:e.space.xs,padding:e.space.xs,borderBottomWidth:StyleSheet.hairlineWidth,borderBottomColor:e.colors["border-subtle"],backgroundColor:e.colors["bg-subtle"]},button:{minWidth:34,height:30,paddingHorizontal:e.space.xs,borderRadius:e.radius.sm,...smoothCorners,alignItems:"center",justifyContent:"center"},buttonLabel:{...fontFor(e,"medium"),fontSize:e.text.sm.size},input:{...fontFor(e,"normal"),color:e.colors["text-body"],fontSize:e.text.base.size,lineHeight:1.5*e.text.base.size,paddingHorizontal:e.space.md,paddingVertical:e.space.sm},skeletonBody:{paddingHorizontal:e.space.md,paddingVertical:e.space.sm,gap:e.space.sm}});export default RichTextEditor;
1
+ "use strict";import{forwardRef,useCallback,useMemo,useState}from"react";import{Pressable,StyleSheet,TextInput,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{smoothCorners}from"../../utils/corners.js";import{hitSlopMarker}from"../../utils/hitSlop.js";import{Skeleton}from"../Skeleton/index.js";import{Text}from"../Text/index.js";import{applyMarkdownAction,normalizeSelection}from"./markdownActions.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_RICH_TEXT_EDITOR_LABELS=Object.freeze({bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",code:"Inline code",link:"Link",heading1:"Heading 1",heading2:"Heading 2",bulletList:"Bulleted list",numberedList:"Numbered list",quote:"Quote"});const ACTION_GLYPH={bold:"B",italic:"I",strikethrough:"S",code:"</>",link:"link",heading1:"H1",heading2:"H2",bulletList:"•",numberedList:"1.",quote:">"},DEFAULT_ACTIONS=["bold","italic","strikethrough","code","link","heading1","heading2","bulletList","numberedList","quote"],DEFAULT_MIN_HEIGHT=160,TOOLBAR_GLYPH_MAX_SCALE=1.5;export const RichTextEditor=forwardRef((e,t)=>{const{value:o,onChangeText:i,placeholder:s,actions:l=DEFAULT_ACTIONS,disabled:r=!1,loading:n=!1,minHeight:a=DEFAULT_MIN_HEIGHT,autoFocus:d=!1,accessibilityLabel:c,haptic:h,labels:u,style:b,toolbarStyle:m,inputStyle:p,testID:x}=e,g=useTheme(),T=useMemo(()=>buildStyles(g),[g]),S=useMemo(()=>u?{...DEFAULT_RICH_TEXT_EDITOR_LABELS,...u}:DEFAULT_RICH_TEXT_EDITOR_LABELS,[u]),y=o??"",[_,k]=useState({start:0,end:0}),[f,L]=useState(!1),[I,E]=useState(null),j=useCallback(e=>{k(e.nativeEvent.selection),E(null)},[]),C=useCallback(e=>{E(null),i?.(e)},[i]),H=useCallback(e=>{if(r)return;const t=resolveHaptic(h,"selection");t&&triggerHaptic(t);const o=applyMarkdownAction({text:y,selection:normalizeSelection(_,y.length)},e);k(o.selection),E(o.selection),i?.(o.text)},[r,h,i,_,y]);return n?_jsx(RichTextEditorSkeleton,{actionCount:l.length,minHeight:a,style:b,testID:x}):_jsxs(View,{testID:x,style:[T.container,{borderColor:f?g.colors["focus-ring"]:g.colors.border,opacity:r?.55:1},b],children:[_jsx(View,{style:[T.toolbar,m],children:l.map(e=>_jsx(ToolbarButton,{action:e,label:S[e],disabled:r,onPress:H,styles:T,theme:g,testID:x?`${x}-${e}`:void 0},e))}),_jsx(TextInput,{ref:t,value:y,onChangeText:C,onSelectionChange:j,onFocus:()=>L(!0),onBlur:()=>L(!1),selection:I??void 0,editable:!r,autoFocus:d,multiline:!0,textAlignVertical:"top",placeholder:s,placeholderTextColor:g.colors["text-subtle"],accessibilityLabel:c,style:[T.input,{minHeight:a},p],testID:x?`${x}-input`:void 0})]})});RichTextEditor.displayName="RichTextEditor";const ToolbarButton=({action:e,label:t,disabled:o,onPress:i,styles:s,theme:l,testID:r})=>{const n={color:o?l.colors["text-disabled"]:l.colors["text-body"]};return"bold"===e&&(n.fontWeight=l.weight.bold),"italic"===e&&(n.fontStyle="italic"),"strikethrough"===e&&(n.textDecorationLine="line-through"),_jsx(Pressable,{onPress:()=>i(e),disabled:o,accessibilityRole:"button",accessibilityLabel:t,accessibilityState:{disabled:o},"aria-disabled":o,hitSlop:4,...hitSlopMarker(4),testID:r,style:({pressed:e})=>[s.button,{backgroundColor:e?l.colors["surface-pressed"]:l.colors["bg-subtle"]}],children:_jsx(Text,{variant:"body",maxFontSizeMultiplier:Math.min(l.settings.maxFontSizeMultiplier??1.5,1.5),style:[s.buttonLabel,n],children:ACTION_GLYPH[e]})})};ToolbarButton.displayName="RichTextEditorToolbarButton";const RichTextEditorSkeleton=({actionCount:e,minHeight:t,style:o,testID:i})=>{const s=useTheme(),l=useMemo(()=>buildStyles(s),[s]),r=Array.from({length:Math.max(1,e)},(e,t)=>t);return _jsxs(View,{testID:i,style:[l.container,o],children:[_jsx(View,{style:l.toolbar,children:r.map(e=>_jsx(Skeleton,{width:34,height:30,radius:"sm"},e))}),_jsxs(View,{style:[l.skeletonBody,{minHeight:t}],children:[_jsx(Skeleton,{shape:"text",width:"94%",height:14}),_jsx(Skeleton,{shape:"text",width:"100%",height:14}),_jsx(Skeleton,{shape:"text",width:"72%",height:14})]})]})};RichTextEditorSkeleton.displayName="RichTextEditorSkeleton";const buildStyles=e=>StyleSheet.create({container:{borderWidth:e.size.border,borderColor:e.colors.border,borderRadius:e.radius.md,...smoothCorners,backgroundColor:e.colors.bg,overflow:"hidden"},toolbar:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:e.space.xs,padding:e.space.xs,borderBottomWidth:StyleSheet.hairlineWidth,borderBottomColor:e.colors["border-subtle"],backgroundColor:e.colors["bg-subtle"]},button:{minWidth:34,height:30,paddingHorizontal:e.space.xs,borderRadius:e.radius.sm,...smoothCorners,alignItems:"center",justifyContent:"center"},buttonLabel:{...fontFor(e,"medium"),fontSize:e.text.sm.size},input:{...fontFor(e,"normal"),color:e.colors["text-body"],fontSize:e.text.base.size,lineHeight:1.5*e.text.base.size,paddingHorizontal:e.space.md,paddingVertical:e.space.sm},skeletonBody:{paddingHorizontal:e.space.md,paddingVertical:e.space.sm,gap:e.space.sm}});export default RichTextEditor;
@@ -1 +1 @@
1
- "use strict";export{applyMarkdownAction}from"./markdownActions.js";export{RichTextEditor}from"./RichTextEditor.js";
1
+ "use strict";export{applyMarkdownAction}from"./markdownActions.js";export{DEFAULT_RICH_TEXT_EDITOR_LABELS,RichTextEditor}from"./RichTextEditor.js";