@webority/mobile-ui 0.104.1 → 0.107.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 (1240) hide show
  1. package/dist/canvas-kit/kit.js +13030 -12819
  2. package/dist/canvas-kit/manifest.json +984 -767
  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/Button/Button.js +1 -1
  32. package/lib/commonjs/components/Calendar/Calendar.js +1 -1
  33. package/lib/commonjs/components/Calendar/CalendarDay.js +1 -1
  34. package/lib/commonjs/components/Calendar/calendarStyles.js +1 -1
  35. package/lib/commonjs/components/Calendar/index.js +1 -1
  36. package/lib/commonjs/components/Card/Card.js +1 -1
  37. package/lib/commonjs/components/Card/index.js +1 -1
  38. package/lib/commonjs/components/Carousel/Carousel.js +1 -1
  39. package/lib/commonjs/components/Carousel/index.js +1 -1
  40. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
  41. package/lib/commonjs/components/Chip/Chip.js +1 -1
  42. package/lib/commonjs/components/Chip/index.js +1 -1
  43. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -1
  44. package/lib/commonjs/components/Composer/Composer.js +1 -1
  45. package/lib/commonjs/components/Composer/index.js +1 -1
  46. package/lib/commonjs/components/Confetti/Confetti.js +1 -1
  47. package/lib/commonjs/components/Confirm/confirm.js +1 -0
  48. package/lib/commonjs/components/Confirm/index.js +1 -0
  49. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
  50. package/lib/commonjs/components/DatePicker/index.js +1 -1
  51. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -1
  52. package/lib/commonjs/components/DateRangePicker/index.js +1 -1
  53. package/lib/commonjs/components/DateSeparator/DateSeparator.js +1 -1
  54. package/lib/commonjs/components/DecimalInput/DecimalInput.js +1 -1
  55. package/lib/commonjs/components/DecimalInput/index.js +1 -1
  56. package/lib/commonjs/components/Descriptions/Descriptions.js +1 -1
  57. package/lib/commonjs/components/Dialog/Dialog.js +1 -1
  58. package/lib/commonjs/components/Divider/Divider.js +1 -1
  59. package/lib/commonjs/components/Drawer/Drawer.js +1 -1
  60. package/lib/commonjs/components/Drawer/index.js +1 -1
  61. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
  62. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -1
  63. package/lib/commonjs/components/ErrorBoundary/index.js +1 -1
  64. package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -1
  65. package/lib/commonjs/components/FieldBase/FieldBase.js +1 -1
  66. package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -1
  67. package/lib/commonjs/components/FilePicker/FilePicker.js +1 -1
  68. package/lib/commonjs/components/FilePicker/index.js +1 -1
  69. package/lib/commonjs/components/FilterChipRow/FilterChipRow.js +1 -1
  70. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
  71. package/lib/commonjs/components/FloatingActionButton/index.js +1 -1
  72. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  73. package/lib/commonjs/components/ForceUpdateDialog/index.js +1 -1
  74. package/lib/commonjs/components/FormField/FormField.js +1 -1
  75. package/lib/commonjs/components/FormField/index.js +1 -1
  76. package/lib/commonjs/components/IconBadge/IconBadge.js +1 -1
  77. package/lib/commonjs/components/IconButton/IconButton.js +1 -1
  78. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  79. package/lib/commonjs/components/ImageGallery/index.js +1 -1
  80. package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -1
  81. package/lib/commonjs/components/InlineSelect/index.js +1 -1
  82. package/lib/commonjs/components/Input/Input.js +1 -1
  83. package/lib/commonjs/components/Input/index.js +1 -1
  84. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  85. package/lib/commonjs/components/KeyboardToolbar/index.js +1 -1
  86. package/lib/commonjs/components/ListItem/ListItem.js +1 -1
  87. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -1
  88. package/lib/commonjs/components/LoaderOverlay/index.js +1 -1
  89. package/lib/commonjs/components/Menu/Menu.js +1 -1
  90. package/lib/commonjs/components/Menu/MenuSurface.js +1 -1
  91. package/lib/commonjs/components/Menu/index.js +1 -1
  92. package/lib/commonjs/components/Menu/menuModel.js +1 -1
  93. package/lib/commonjs/components/Menu/useContextMenu.js +1 -1
  94. package/lib/commonjs/components/MessageBubble/MessageBubble.js +1 -1
  95. package/lib/commonjs/components/Modal/Modal.js +1 -1
  96. package/lib/commonjs/components/Modal/index.js +1 -1
  97. package/lib/commonjs/components/NumberInput/NumberInput.js +1 -1
  98. package/lib/commonjs/components/NumberInput/index.js +1 -1
  99. package/lib/commonjs/components/OTPInput/OTPInput.js +1 -1
  100. package/lib/commonjs/components/OTPInput/index.js +1 -1
  101. package/lib/commonjs/components/OnboardingPager/OnboardingPager.js +1 -1
  102. package/lib/commonjs/components/OnboardingPager/index.js +1 -1
  103. package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
  104. package/lib/commonjs/components/OptionSheet/index.js +1 -1
  105. package/lib/commonjs/components/PagedListFooter/PagedListFooter.js +1 -0
  106. package/lib/commonjs/components/PagedListFooter/index.js +1 -0
  107. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.js +1 -1
  108. package/lib/commonjs/components/PermissionPrompt/index.js +1 -1
  109. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  110. package/lib/commonjs/components/PhoneNumberInput/index.js +1 -1
  111. package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +1 -1
  112. package/lib/commonjs/components/PickerTrigger/index.js +1 -1
  113. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.js +1 -1
  114. package/lib/commonjs/components/ProfileCompletion/index.js +1 -1
  115. package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
  116. package/lib/commonjs/components/ProfilePicker/index.js +1 -1
  117. package/lib/commonjs/components/ProgressBar/ProgressBar.js +1 -1
  118. package/lib/commonjs/components/ProgressBar/index.js +1 -1
  119. package/lib/commonjs/components/ProgressRing/ProgressRing.js +1 -1
  120. package/lib/commonjs/components/Radio/Radio.js +1 -1
  121. package/lib/commonjs/components/Radio/RadioGroup.js +1 -1
  122. package/lib/commonjs/components/Rating/Rating.js +1 -1
  123. package/lib/commonjs/components/Rating/index.js +1 -1
  124. package/lib/commonjs/components/Repeater/Repeater.js +1 -1
  125. package/lib/commonjs/components/Repeater/index.js +1 -1
  126. package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -1
  127. package/lib/commonjs/components/RichTextEditor/index.js +1 -1
  128. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.js +1 -1
  129. package/lib/commonjs/components/ScannerOverlay/index.js +1 -1
  130. package/lib/commonjs/components/Screen/Screen.js +1 -1
  131. package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
  132. package/lib/commonjs/components/SearchBar/SearchPanel.js +1 -1
  133. package/lib/commonjs/components/SearchBar/index.js +1 -1
  134. package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -1
  135. package/lib/commonjs/components/SectionHeader/index.js +1 -1
  136. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
  137. package/lib/commonjs/components/Select/Select.js +1 -1
  138. package/lib/commonjs/components/Select/index.js +1 -1
  139. package/lib/commonjs/components/SignaturePad/SignaturePad.js +1 -1
  140. package/lib/commonjs/components/SignaturePad/index.js +1 -1
  141. package/lib/commonjs/components/Skeleton/Skeleton.js +1 -1
  142. package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -1
  143. package/lib/commonjs/components/Skeleton/SkeletonList.js +1 -1
  144. package/lib/commonjs/components/Skeleton/index.js +1 -1
  145. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -1
  146. package/lib/commonjs/components/SlideToConfirm/index.js +1 -1
  147. package/lib/commonjs/components/Slider/Slider.js +1 -1
  148. package/lib/commonjs/components/Slider/valueText.js +1 -1
  149. package/lib/commonjs/components/SliderField/SliderField.js +1 -1
  150. package/lib/commonjs/components/SliderField/index.js +1 -1
  151. package/lib/commonjs/components/SortableList/SortableList.js +1 -1
  152. package/lib/commonjs/components/SortableList/index.js +1 -1
  153. package/lib/commonjs/components/Sparkline/Sparkline.js +1 -1
  154. package/lib/commonjs/components/Sparkline/index.js +1 -1
  155. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  156. package/lib/commonjs/components/Spinner/index.js +1 -1
  157. package/lib/commonjs/components/StatTile/StatTile.js +1 -1
  158. package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -1
  159. package/lib/commonjs/components/StatusBadge/statusMap.js +1 -0
  160. package/lib/commonjs/components/Stepper/Stepper.js +1 -1
  161. package/lib/commonjs/components/Stepper/index.js +1 -1
  162. package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
  163. package/lib/commonjs/components/Switch/Switch.js +1 -1
  164. package/lib/commonjs/components/Tabs/Tabs.js +1 -1
  165. package/lib/commonjs/components/TagInput/TagInput.js +1 -1
  166. package/lib/commonjs/components/Text/Text.js +1 -1
  167. package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
  168. package/lib/commonjs/components/TimePicker/index.js +1 -1
  169. package/lib/commonjs/components/Timeline/Timeline.js +1 -1
  170. package/lib/commonjs/components/Toast/Toast.js +1 -1
  171. package/lib/commonjs/components/Toast/ToastProvider.js +1 -1
  172. package/lib/commonjs/components/Toast/index.js +1 -1
  173. package/lib/commonjs/components/Tooltip/RichTooltipBody.js +1 -1
  174. package/lib/commonjs/components/Tooltip/Tooltip.js +1 -1
  175. package/lib/commonjs/components/Tooltip/index.js +1 -1
  176. package/lib/commonjs/components/Tour/Tour.js +1 -1
  177. package/lib/commonjs/components/Tour/index.js +1 -1
  178. package/lib/commonjs/components/TypingIndicator/TypingIndicator.js +1 -1
  179. package/lib/commonjs/components/TypingIndicator/index.js +1 -1
  180. package/lib/commonjs/components/WheelPicker/Wheel.js +1 -1
  181. package/lib/commonjs/components/WheelPicker/WheelPicker.js +1 -1
  182. package/lib/commonjs/components/WheelPicker/index.js +1 -1
  183. package/lib/commonjs/components/index.js +1 -1
  184. package/lib/commonjs/components/not-drawn.json +2 -1
  185. package/lib/commonjs/form/index.js +1 -1
  186. package/lib/commonjs/index.js +1 -1
  187. package/lib/commonjs/navigation/DiscardGuard.js +1 -0
  188. package/lib/commonjs/navigation/NavigationScreen.js +1 -0
  189. package/lib/commonjs/navigation/index.js +1 -0
  190. package/lib/commonjs/theme/index.js +1 -1
  191. package/lib/commonjs/theme/makeStyles.js +1 -0
  192. package/lib/commonjs/theme/merge.js +1 -1
  193. package/lib/commonjs/theme/tokens.generated.js +1 -1
  194. package/lib/commonjs/utils/placement.js +1 -1
  195. package/lib/commonjs/utils/warnInvalidValue.js +1 -1
  196. package/lib/module/components/Accordion/Accordion.js +1 -1
  197. package/lib/module/components/AmountSlider/AmountSlider.js +1 -1
  198. package/lib/module/components/AmountSlider/index.js +1 -1
  199. package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -1
  200. package/lib/module/components/AppBar/AppBar.js +1 -1
  201. package/lib/module/components/AppBar/index.js +1 -1
  202. package/lib/module/components/AppIcon/AppIcon.js +1 -1
  203. package/lib/module/components/AppLockOverlay/AppLockOverlay.js +1 -0
  204. package/lib/module/components/AppLockOverlay/index.js +1 -0
  205. package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -1
  206. package/lib/module/components/AsyncBlock/index.js +1 -1
  207. package/lib/module/components/AuthedImage/AuthedImage.js +1 -1
  208. package/lib/module/components/AuthedImage/authedImageCache.js +1 -1
  209. package/lib/module/components/Autocomplete/Autocomplete.js +1 -1
  210. package/lib/module/components/Autocomplete/index.js +1 -1
  211. package/lib/module/components/Avatar/Avatar.js +1 -1
  212. package/lib/module/components/Avatar/index.js +1 -1
  213. package/lib/module/components/Badge/Badge.js +1 -1
  214. package/lib/module/components/Badge/index.js +1 -1
  215. package/lib/module/components/Banner/Banner.js +1 -1
  216. package/lib/module/components/Banner/index.js +1 -1
  217. package/lib/module/components/BarChart/BarChart.js +1 -1
  218. package/lib/module/components/BarChart/index.js +1 -1
  219. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  220. package/lib/module/components/BottomNavigation/index.js +1 -1
  221. package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
  222. package/lib/module/components/BottomSheet/index.js +1 -1
  223. package/lib/module/components/Button/Button.js +1 -1
  224. package/lib/module/components/Calendar/Calendar.js +1 -1
  225. package/lib/module/components/Calendar/CalendarDay.js +1 -1
  226. package/lib/module/components/Calendar/calendarStyles.js +1 -1
  227. package/lib/module/components/Calendar/index.js +1 -1
  228. package/lib/module/components/Card/Card.js +1 -1
  229. package/lib/module/components/Card/index.js +1 -1
  230. package/lib/module/components/Carousel/Carousel.js +1 -1
  231. package/lib/module/components/Carousel/index.js +1 -1
  232. package/lib/module/components/Checkbox/Checkbox.js +1 -1
  233. package/lib/module/components/Chip/Chip.js +1 -1
  234. package/lib/module/components/Chip/index.js +1 -1
  235. package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -1
  236. package/lib/module/components/Composer/Composer.js +1 -1
  237. package/lib/module/components/Composer/index.js +1 -1
  238. package/lib/module/components/Confetti/Confetti.js +1 -1
  239. package/lib/module/components/Confirm/confirm.js +1 -0
  240. package/lib/module/components/Confirm/index.js +1 -0
  241. package/lib/module/components/DatePicker/DatePicker.js +1 -1
  242. package/lib/module/components/DatePicker/index.js +1 -1
  243. package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
  244. package/lib/module/components/DateRangePicker/index.js +1 -1
  245. package/lib/module/components/DateSeparator/DateSeparator.js +1 -1
  246. package/lib/module/components/DecimalInput/DecimalInput.js +1 -1
  247. package/lib/module/components/DecimalInput/index.js +1 -1
  248. package/lib/module/components/Descriptions/Descriptions.js +1 -1
  249. package/lib/module/components/Dialog/Dialog.js +1 -1
  250. package/lib/module/components/Divider/Divider.js +1 -1
  251. package/lib/module/components/Drawer/Drawer.js +1 -1
  252. package/lib/module/components/Drawer/index.js +1 -1
  253. package/lib/module/components/EmptyState/EmptyState.js +1 -1
  254. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -1
  255. package/lib/module/components/ErrorBoundary/index.js +1 -1
  256. package/lib/module/components/FieldBase/ChoiceText.js +1 -1
  257. package/lib/module/components/FieldBase/FieldBase.js +1 -1
  258. package/lib/module/components/FieldBase/useFloatingLabel.js +1 -1
  259. package/lib/module/components/FilePicker/FilePicker.js +1 -1
  260. package/lib/module/components/FilePicker/index.js +1 -1
  261. package/lib/module/components/FilterChipRow/FilterChipRow.js +1 -1
  262. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
  263. package/lib/module/components/FloatingActionButton/index.js +1 -1
  264. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  265. package/lib/module/components/ForceUpdateDialog/index.js +1 -1
  266. package/lib/module/components/FormField/FormField.js +1 -1
  267. package/lib/module/components/FormField/index.js +1 -1
  268. package/lib/module/components/IconBadge/IconBadge.js +1 -1
  269. package/lib/module/components/IconButton/IconButton.js +1 -1
  270. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  271. package/lib/module/components/ImageGallery/index.js +1 -1
  272. package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
  273. package/lib/module/components/InlineSelect/index.js +1 -1
  274. package/lib/module/components/Input/Input.js +1 -1
  275. package/lib/module/components/Input/index.js +1 -1
  276. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  277. package/lib/module/components/KeyboardToolbar/index.js +1 -1
  278. package/lib/module/components/ListItem/ListItem.js +1 -1
  279. package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
  280. package/lib/module/components/LoaderOverlay/index.js +1 -1
  281. package/lib/module/components/Menu/Menu.js +1 -1
  282. package/lib/module/components/Menu/MenuSurface.js +1 -1
  283. package/lib/module/components/Menu/index.js +1 -1
  284. package/lib/module/components/Menu/menuModel.js +1 -1
  285. package/lib/module/components/Menu/useContextMenu.js +1 -1
  286. package/lib/module/components/MessageBubble/MessageBubble.js +1 -1
  287. package/lib/module/components/Modal/Modal.js +1 -1
  288. package/lib/module/components/Modal/index.js +1 -1
  289. package/lib/module/components/NumberInput/NumberInput.js +1 -1
  290. package/lib/module/components/NumberInput/index.js +1 -1
  291. package/lib/module/components/OTPInput/OTPInput.js +1 -1
  292. package/lib/module/components/OTPInput/index.js +1 -1
  293. package/lib/module/components/OnboardingPager/OnboardingPager.js +1 -1
  294. package/lib/module/components/OnboardingPager/index.js +1 -1
  295. package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
  296. package/lib/module/components/OptionSheet/index.js +1 -1
  297. package/lib/module/components/PagedListFooter/PagedListFooter.js +1 -0
  298. package/lib/module/components/PagedListFooter/index.js +1 -0
  299. package/lib/module/components/PermissionPrompt/PermissionPrompt.js +1 -1
  300. package/lib/module/components/PermissionPrompt/index.js +1 -1
  301. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  302. package/lib/module/components/PhoneNumberInput/index.js +1 -1
  303. package/lib/module/components/PickerTrigger/PickerTrigger.js +1 -1
  304. package/lib/module/components/PickerTrigger/index.js +1 -1
  305. package/lib/module/components/ProfileCompletion/ProfileCompletion.js +1 -1
  306. package/lib/module/components/ProfileCompletion/index.js +1 -1
  307. package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
  308. package/lib/module/components/ProfilePicker/index.js +1 -1
  309. package/lib/module/components/ProgressBar/ProgressBar.js +1 -1
  310. package/lib/module/components/ProgressBar/index.js +1 -1
  311. package/lib/module/components/ProgressRing/ProgressRing.js +1 -1
  312. package/lib/module/components/Radio/Radio.js +1 -1
  313. package/lib/module/components/Radio/RadioGroup.js +1 -1
  314. package/lib/module/components/Rating/Rating.js +1 -1
  315. package/lib/module/components/Rating/index.js +1 -1
  316. package/lib/module/components/Repeater/Repeater.js +1 -1
  317. package/lib/module/components/Repeater/index.js +1 -1
  318. package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
  319. package/lib/module/components/RichTextEditor/index.js +1 -1
  320. package/lib/module/components/ScannerOverlay/ScannerOverlay.js +1 -1
  321. package/lib/module/components/ScannerOverlay/index.js +1 -1
  322. package/lib/module/components/Screen/Screen.js +1 -1
  323. package/lib/module/components/SearchBar/SearchBar.js +1 -1
  324. package/lib/module/components/SearchBar/SearchPanel.js +1 -1
  325. package/lib/module/components/SearchBar/index.js +1 -1
  326. package/lib/module/components/SectionHeader/SectionHeader.js +1 -1
  327. package/lib/module/components/SectionHeader/index.js +1 -1
  328. package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
  329. package/lib/module/components/Select/Select.js +1 -1
  330. package/lib/module/components/Select/index.js +1 -1
  331. package/lib/module/components/SignaturePad/SignaturePad.js +1 -1
  332. package/lib/module/components/SignaturePad/index.js +1 -1
  333. package/lib/module/components/Skeleton/Skeleton.js +1 -1
  334. package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
  335. package/lib/module/components/Skeleton/SkeletonList.js +1 -1
  336. package/lib/module/components/Skeleton/index.js +1 -1
  337. package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -1
  338. package/lib/module/components/SlideToConfirm/index.js +1 -1
  339. package/lib/module/components/Slider/Slider.js +1 -1
  340. package/lib/module/components/Slider/valueText.js +1 -1
  341. package/lib/module/components/SliderField/SliderField.js +1 -1
  342. package/lib/module/components/SliderField/index.js +1 -1
  343. package/lib/module/components/SortableList/SortableList.js +1 -1
  344. package/lib/module/components/SortableList/index.js +1 -1
  345. package/lib/module/components/Sparkline/Sparkline.js +1 -1
  346. package/lib/module/components/Sparkline/index.js +1 -1
  347. package/lib/module/components/Spinner/Spinner.js +1 -1
  348. package/lib/module/components/Spinner/index.js +1 -1
  349. package/lib/module/components/StatTile/StatTile.js +1 -1
  350. package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
  351. package/lib/module/components/StatusBadge/statusMap.js +1 -0
  352. package/lib/module/components/Stepper/Stepper.js +1 -1
  353. package/lib/module/components/Stepper/index.js +1 -1
  354. package/lib/module/components/Swipeable/Swipeable.js +1 -1
  355. package/lib/module/components/Switch/Switch.js +1 -1
  356. package/lib/module/components/Tabs/Tabs.js +1 -1
  357. package/lib/module/components/TagInput/TagInput.js +1 -1
  358. package/lib/module/components/Text/Text.js +1 -1
  359. package/lib/module/components/TimePicker/TimePicker.js +1 -1
  360. package/lib/module/components/TimePicker/index.js +1 -1
  361. package/lib/module/components/Timeline/Timeline.js +1 -1
  362. package/lib/module/components/Toast/Toast.js +1 -1
  363. package/lib/module/components/Toast/ToastProvider.js +1 -1
  364. package/lib/module/components/Toast/index.js +1 -1
  365. package/lib/module/components/Tooltip/RichTooltipBody.js +1 -1
  366. package/lib/module/components/Tooltip/Tooltip.js +1 -1
  367. package/lib/module/components/Tooltip/index.js +1 -1
  368. package/lib/module/components/Tour/Tour.js +1 -1
  369. package/lib/module/components/Tour/index.js +1 -1
  370. package/lib/module/components/TypingIndicator/TypingIndicator.js +1 -1
  371. package/lib/module/components/TypingIndicator/index.js +1 -1
  372. package/lib/module/components/WheelPicker/Wheel.js +1 -1
  373. package/lib/module/components/WheelPicker/WheelPicker.js +1 -1
  374. package/lib/module/components/WheelPicker/index.js +1 -1
  375. package/lib/module/components/index.js +1 -1
  376. package/lib/module/components/not-drawn.json +2 -1
  377. package/lib/module/form/index.js +1 -1
  378. package/lib/module/index.js +1 -1
  379. package/lib/module/navigation/DiscardGuard.js +1 -0
  380. package/lib/module/navigation/NavigationScreen.js +1 -0
  381. package/lib/module/navigation/index.js +1 -0
  382. package/lib/module/theme/index.js +1 -1
  383. package/lib/module/theme/makeStyles.js +1 -0
  384. package/lib/module/theme/merge.js +1 -1
  385. package/lib/module/theme/tokens.generated.js +1 -1
  386. package/lib/module/utils/placement.js +1 -1
  387. package/lib/module/utils/warnInvalidValue.js +1 -1
  388. package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.d.ts +24 -17
  389. package/lib/typescript/commonjs/components/AmountSlider/index.d.ts +2 -2
  390. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +13 -8
  391. package/lib/typescript/commonjs/components/AppBar/index.d.ts +2 -2
  392. package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +2 -1
  393. package/lib/typescript/commonjs/components/AppLockOverlay/AppLockOverlay.d.ts +27 -0
  394. package/lib/typescript/commonjs/components/AppLockOverlay/index.d.ts +3 -0
  395. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.d.ts +13 -4
  396. package/lib/typescript/commonjs/components/AsyncBlock/index.d.ts +2 -2
  397. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.d.ts +12 -1
  398. package/lib/typescript/commonjs/components/AuthedImage/authedImageCache.d.ts +1 -1
  399. package/lib/typescript/commonjs/components/Autocomplete/Autocomplete.d.ts +9 -4
  400. package/lib/typescript/commonjs/components/Autocomplete/index.d.ts +2 -2
  401. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +19 -8
  402. package/lib/typescript/commonjs/components/Avatar/index.d.ts +2 -2
  403. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +9 -2
  404. package/lib/typescript/commonjs/components/Badge/index.d.ts +2 -2
  405. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +16 -8
  406. package/lib/typescript/commonjs/components/Banner/index.d.ts +2 -2
  407. package/lib/typescript/commonjs/components/BarChart/BarChart.d.ts +12 -3
  408. package/lib/typescript/commonjs/components/BarChart/index.d.ts +2 -2
  409. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  410. package/lib/typescript/commonjs/components/BottomNavigation/index.d.ts +2 -2
  411. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +42 -58
  412. package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +2 -4
  413. package/lib/typescript/commonjs/components/Button/Button.d.ts +13 -11
  414. package/lib/typescript/commonjs/components/Button/index.d.ts +1 -1
  415. package/lib/typescript/commonjs/components/Calendar/Calendar.d.ts +24 -15
  416. package/lib/typescript/commonjs/components/Calendar/CalendarDay.d.ts +1 -4
  417. package/lib/typescript/commonjs/components/Calendar/calendarStyles.d.ts +4 -7
  418. package/lib/typescript/commonjs/components/Calendar/index.d.ts +2 -2
  419. package/lib/typescript/commonjs/components/Card/Card.d.ts +13 -6
  420. package/lib/typescript/commonjs/components/Card/index.d.ts +2 -2
  421. package/lib/typescript/commonjs/components/Carousel/Carousel.d.ts +7 -0
  422. package/lib/typescript/commonjs/components/Carousel/index.d.ts +2 -2
  423. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +10 -12
  424. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +12 -6
  425. package/lib/typescript/commonjs/components/Chip/index.d.ts +2 -2
  426. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +11 -4
  427. package/lib/typescript/commonjs/components/Composer/Composer.d.ts +8 -3
  428. package/lib/typescript/commonjs/components/Composer/index.d.ts +2 -2
  429. package/lib/typescript/commonjs/components/Confirm/confirm.d.ts +17 -0
  430. package/lib/typescript/commonjs/components/Confirm/index.d.ts +3 -0
  431. package/lib/typescript/commonjs/components/DatePicker/DatePicker.d.ts +22 -6
  432. package/lib/typescript/commonjs/components/DatePicker/index.d.ts +2 -2
  433. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +12 -8
  434. package/lib/typescript/commonjs/components/DateRangePicker/index.d.ts +2 -2
  435. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.d.ts +11 -15
  436. package/lib/typescript/commonjs/components/DecimalInput/index.d.ts +2 -2
  437. package/lib/typescript/commonjs/components/Descriptions/Descriptions.d.ts +2 -1
  438. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +7 -4
  439. package/lib/typescript/commonjs/components/Dialog/index.d.ts +1 -1
  440. package/lib/typescript/commonjs/components/Drawer/Drawer.d.ts +8 -1
  441. package/lib/typescript/commonjs/components/Drawer/index.d.ts +2 -2
  442. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +7 -2
  443. package/lib/typescript/commonjs/components/ErrorBoundary/ErrorBoundary.d.ts +8 -0
  444. package/lib/typescript/commonjs/components/ErrorBoundary/index.d.ts +2 -2
  445. package/lib/typescript/commonjs/components/FieldBase/ChoiceText.d.ts +12 -9
  446. package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +5 -4
  447. package/lib/typescript/commonjs/components/FieldBase/useFloatingLabel.d.ts +3 -3
  448. package/lib/typescript/commonjs/components/FilePicker/FilePicker.d.ts +27 -25
  449. package/lib/typescript/commonjs/components/FilePicker/index.d.ts +2 -2
  450. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +28 -11
  451. package/lib/typescript/commonjs/components/FloatingActionButton/index.d.ts +2 -2
  452. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +11 -6
  453. package/lib/typescript/commonjs/components/ForceUpdateDialog/index.d.ts +2 -2
  454. package/lib/typescript/commonjs/components/FormField/FormField.d.ts +8 -12
  455. package/lib/typescript/commonjs/components/FormField/index.d.ts +2 -2
  456. package/lib/typescript/commonjs/components/IconBadge/IconBadge.d.ts +3 -2
  457. package/lib/typescript/commonjs/components/IconButton/IconButton.d.ts +4 -3
  458. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.d.ts +12 -0
  459. package/lib/typescript/commonjs/components/ImageGallery/index.d.ts +2 -2
  460. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.d.ts +12 -2
  461. package/lib/typescript/commonjs/components/InlineSelect/index.d.ts +2 -2
  462. package/lib/typescript/commonjs/components/Input/Input.d.ts +11 -2
  463. package/lib/typescript/commonjs/components/Input/index.d.ts +2 -2
  464. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.d.ts +12 -10
  465. package/lib/typescript/commonjs/components/KeyboardToolbar/index.d.ts +2 -2
  466. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +3 -3
  467. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.d.ts +7 -0
  468. package/lib/typescript/commonjs/components/LoaderOverlay/index.d.ts +2 -2
  469. package/lib/typescript/commonjs/components/Menu/Menu.d.ts +6 -8
  470. package/lib/typescript/commonjs/components/Menu/MenuSurface.d.ts +2 -3
  471. package/lib/typescript/commonjs/components/Menu/index.d.ts +2 -1
  472. package/lib/typescript/commonjs/components/Menu/menuModel.d.ts +6 -0
  473. package/lib/typescript/commonjs/components/Menu/useContextMenu.d.ts +4 -6
  474. package/lib/typescript/commonjs/components/Modal/Modal.d.ts +16 -3
  475. package/lib/typescript/commonjs/components/Modal/index.d.ts +2 -2
  476. package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +9 -1
  477. package/lib/typescript/commonjs/components/NumberInput/index.d.ts +2 -2
  478. package/lib/typescript/commonjs/components/OTPInput/OTPInput.d.ts +7 -1
  479. package/lib/typescript/commonjs/components/OTPInput/index.d.ts +2 -2
  480. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.d.ts +10 -9
  481. package/lib/typescript/commonjs/components/OnboardingPager/index.d.ts +1 -1
  482. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +60 -44
  483. package/lib/typescript/commonjs/components/OptionSheet/index.d.ts +2 -2
  484. package/lib/typescript/commonjs/components/PagedListFooter/PagedListFooter.d.ts +15 -0
  485. package/lib/typescript/commonjs/components/PagedListFooter/index.d.ts +3 -0
  486. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.d.ts +12 -0
  487. package/lib/typescript/commonjs/components/PermissionPrompt/index.d.ts +2 -2
  488. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.d.ts +35 -25
  489. package/lib/typescript/commonjs/components/PhoneNumberInput/index.d.ts +2 -2
  490. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +11 -3
  491. package/lib/typescript/commonjs/components/PickerTrigger/index.d.ts +2 -2
  492. package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.d.ts +13 -5
  493. package/lib/typescript/commonjs/components/ProfileCompletion/index.d.ts +2 -2
  494. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +21 -20
  495. package/lib/typescript/commonjs/components/ProfilePicker/index.d.ts +2 -2
  496. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +8 -3
  497. package/lib/typescript/commonjs/components/ProgressBar/index.d.ts +2 -2
  498. package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.d.ts +2 -2
  499. package/lib/typescript/commonjs/components/ProgressRing/index.d.ts +1 -1
  500. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +10 -7
  501. package/lib/typescript/commonjs/components/Radio/RadioGroup.d.ts +3 -3
  502. package/lib/typescript/commonjs/components/Rating/Rating.d.ts +8 -2
  503. package/lib/typescript/commonjs/components/Rating/index.d.ts +2 -2
  504. package/lib/typescript/commonjs/components/Repeater/Repeater.d.ts +16 -6
  505. package/lib/typescript/commonjs/components/Repeater/index.d.ts +2 -2
  506. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.d.ts +4 -0
  507. package/lib/typescript/commonjs/components/RichTextEditor/index.d.ts +2 -2
  508. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.d.ts +5 -2
  509. package/lib/typescript/commonjs/components/ScannerOverlay/index.d.ts +1 -1
  510. package/lib/typescript/commonjs/components/Screen/Screen.d.ts +33 -10
  511. package/lib/typescript/commonjs/components/Screen/index.d.ts +1 -1
  512. package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +22 -8
  513. package/lib/typescript/commonjs/components/SearchBar/SearchPanel.d.ts +3 -1
  514. package/lib/typescript/commonjs/components/SearchBar/index.d.ts +2 -2
  515. package/lib/typescript/commonjs/components/SearchBar/useRecentSearches.d.ts +1 -1
  516. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.d.ts +5 -0
  517. package/lib/typescript/commonjs/components/SectionHeader/index.d.ts +2 -2
  518. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +3 -2
  519. package/lib/typescript/commonjs/components/Select/Select.d.ts +18 -8
  520. package/lib/typescript/commonjs/components/Select/index.d.ts +2 -2
  521. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.d.ts +3 -2
  522. package/lib/typescript/commonjs/components/SignaturePad/index.d.ts +1 -1
  523. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +7 -0
  524. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.d.ts +3 -1
  525. package/lib/typescript/commonjs/components/Skeleton/SkeletonList.d.ts +3 -1
  526. package/lib/typescript/commonjs/components/Skeleton/index.d.ts +2 -2
  527. package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.d.ts +12 -5
  528. package/lib/typescript/commonjs/components/SlideToConfirm/index.d.ts +2 -2
  529. package/lib/typescript/commonjs/components/Slider/Slider.d.ts +3 -2
  530. package/lib/typescript/commonjs/components/Slider/valueText.d.ts +2 -1
  531. package/lib/typescript/commonjs/components/SliderField/SliderField.d.ts +15 -3
  532. package/lib/typescript/commonjs/components/SliderField/index.d.ts +2 -2
  533. package/lib/typescript/commonjs/components/SortableList/SortableList.d.ts +6 -0
  534. package/lib/typescript/commonjs/components/SortableList/index.d.ts +2 -2
  535. package/lib/typescript/commonjs/components/Sparkline/Sparkline.d.ts +11 -3
  536. package/lib/typescript/commonjs/components/Sparkline/index.d.ts +2 -2
  537. package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts +7 -1
  538. package/lib/typescript/commonjs/components/Spinner/index.d.ts +2 -2
  539. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +10 -2
  540. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.d.ts +8 -5
  541. package/lib/typescript/commonjs/components/StatusBadge/statusMap.d.ts +8 -0
  542. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +15 -1
  543. package/lib/typescript/commonjs/components/Stepper/index.d.ts +2 -2
  544. package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +4 -2
  545. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +9 -11
  546. package/lib/typescript/commonjs/components/Tabs/Tabs.d.ts +5 -3
  547. package/lib/typescript/commonjs/components/TagInput/TagInput.d.ts +3 -4
  548. package/lib/typescript/commonjs/components/Text/Text.d.ts +6 -5
  549. package/lib/typescript/commonjs/components/TimePicker/TimePicker.d.ts +17 -4
  550. package/lib/typescript/commonjs/components/TimePicker/index.d.ts +2 -2
  551. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +11 -5
  552. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +15 -14
  553. package/lib/typescript/commonjs/components/Toast/index.d.ts +2 -2
  554. package/lib/typescript/commonjs/components/Tooltip/Tooltip.d.ts +8 -2
  555. package/lib/typescript/commonjs/components/Tooltip/index.d.ts +2 -2
  556. package/lib/typescript/commonjs/components/Tour/Tour.d.ts +7 -5
  557. package/lib/typescript/commonjs/components/Tour/index.d.ts +1 -1
  558. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.d.ts +7 -2
  559. package/lib/typescript/commonjs/components/TypingIndicator/index.d.ts +2 -2
  560. package/lib/typescript/commonjs/components/WheelPicker/WheelPicker.d.ts +13 -6
  561. package/lib/typescript/commonjs/components/WheelPicker/index.d.ts +2 -2
  562. package/lib/typescript/commonjs/components/index.d.ts +125 -119
  563. package/lib/typescript/commonjs/form/HookFormField.d.ts +1 -1
  564. package/lib/typescript/commonjs/form/index.d.ts +0 -8
  565. package/lib/typescript/commonjs/index.d.ts +6 -5
  566. package/lib/typescript/commonjs/navigation/DiscardGuard.d.ts +26 -0
  567. package/lib/typescript/commonjs/navigation/NavigationScreen.d.ts +12 -0
  568. package/lib/typescript/commonjs/navigation/index.d.ts +5 -0
  569. package/lib/typescript/commonjs/theme/index.d.ts +1 -0
  570. package/lib/typescript/commonjs/theme/makeStyles.d.ts +5 -0
  571. package/lib/typescript/commonjs/theme/tokens.generated.d.ts +3 -1
  572. package/lib/typescript/commonjs/theme/types.d.ts +15 -2
  573. package/lib/typescript/commonjs/types/vocabulary.d.ts +10 -0
  574. package/lib/typescript/commonjs/utils/placement.d.ts +2 -0
  575. package/lib/typescript/commonjs/utils/warnInvalidValue.d.ts +1 -1
  576. package/lib/typescript/module/components/AmountSlider/AmountSlider.d.ts +24 -17
  577. package/lib/typescript/module/components/AmountSlider/index.d.ts +2 -2
  578. package/lib/typescript/module/components/AppBar/AppBar.d.ts +13 -8
  579. package/lib/typescript/module/components/AppBar/index.d.ts +2 -2
  580. package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +2 -1
  581. package/lib/typescript/module/components/AppLockOverlay/AppLockOverlay.d.ts +27 -0
  582. package/lib/typescript/module/components/AppLockOverlay/index.d.ts +3 -0
  583. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.d.ts +13 -4
  584. package/lib/typescript/module/components/AsyncBlock/index.d.ts +2 -2
  585. package/lib/typescript/module/components/AuthedImage/AuthedImage.d.ts +12 -1
  586. package/lib/typescript/module/components/AuthedImage/authedImageCache.d.ts +1 -1
  587. package/lib/typescript/module/components/Autocomplete/Autocomplete.d.ts +9 -4
  588. package/lib/typescript/module/components/Autocomplete/index.d.ts +2 -2
  589. package/lib/typescript/module/components/Avatar/Avatar.d.ts +19 -8
  590. package/lib/typescript/module/components/Avatar/index.d.ts +2 -2
  591. package/lib/typescript/module/components/Badge/Badge.d.ts +9 -2
  592. package/lib/typescript/module/components/Badge/index.d.ts +2 -2
  593. package/lib/typescript/module/components/Banner/Banner.d.ts +16 -8
  594. package/lib/typescript/module/components/Banner/index.d.ts +2 -2
  595. package/lib/typescript/module/components/BarChart/BarChart.d.ts +12 -3
  596. package/lib/typescript/module/components/BarChart/index.d.ts +2 -2
  597. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  598. package/lib/typescript/module/components/BottomNavigation/index.d.ts +2 -2
  599. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +42 -58
  600. package/lib/typescript/module/components/BottomSheet/index.d.ts +2 -4
  601. package/lib/typescript/module/components/Button/Button.d.ts +13 -11
  602. package/lib/typescript/module/components/Button/index.d.ts +1 -1
  603. package/lib/typescript/module/components/Calendar/Calendar.d.ts +24 -15
  604. package/lib/typescript/module/components/Calendar/CalendarDay.d.ts +1 -4
  605. package/lib/typescript/module/components/Calendar/calendarStyles.d.ts +4 -7
  606. package/lib/typescript/module/components/Calendar/index.d.ts +2 -2
  607. package/lib/typescript/module/components/Card/Card.d.ts +13 -6
  608. package/lib/typescript/module/components/Card/index.d.ts +2 -2
  609. package/lib/typescript/module/components/Carousel/Carousel.d.ts +7 -0
  610. package/lib/typescript/module/components/Carousel/index.d.ts +2 -2
  611. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +10 -12
  612. package/lib/typescript/module/components/Chip/Chip.d.ts +12 -6
  613. package/lib/typescript/module/components/Chip/index.d.ts +2 -2
  614. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +11 -4
  615. package/lib/typescript/module/components/Composer/Composer.d.ts +8 -3
  616. package/lib/typescript/module/components/Composer/index.d.ts +2 -2
  617. package/lib/typescript/module/components/Confirm/confirm.d.ts +17 -0
  618. package/lib/typescript/module/components/Confirm/index.d.ts +3 -0
  619. package/lib/typescript/module/components/DatePicker/DatePicker.d.ts +22 -6
  620. package/lib/typescript/module/components/DatePicker/index.d.ts +2 -2
  621. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +12 -8
  622. package/lib/typescript/module/components/DateRangePicker/index.d.ts +2 -2
  623. package/lib/typescript/module/components/DecimalInput/DecimalInput.d.ts +11 -15
  624. package/lib/typescript/module/components/DecimalInput/index.d.ts +2 -2
  625. package/lib/typescript/module/components/Descriptions/Descriptions.d.ts +2 -1
  626. package/lib/typescript/module/components/Dialog/Dialog.d.ts +7 -4
  627. package/lib/typescript/module/components/Dialog/index.d.ts +1 -1
  628. package/lib/typescript/module/components/Drawer/Drawer.d.ts +8 -1
  629. package/lib/typescript/module/components/Drawer/index.d.ts +2 -2
  630. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +7 -2
  631. package/lib/typescript/module/components/ErrorBoundary/ErrorBoundary.d.ts +8 -0
  632. package/lib/typescript/module/components/ErrorBoundary/index.d.ts +2 -2
  633. package/lib/typescript/module/components/FieldBase/ChoiceText.d.ts +12 -9
  634. package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +5 -4
  635. package/lib/typescript/module/components/FieldBase/useFloatingLabel.d.ts +3 -3
  636. package/lib/typescript/module/components/FilePicker/FilePicker.d.ts +27 -25
  637. package/lib/typescript/module/components/FilePicker/index.d.ts +2 -2
  638. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +28 -11
  639. package/lib/typescript/module/components/FloatingActionButton/index.d.ts +2 -2
  640. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +11 -6
  641. package/lib/typescript/module/components/ForceUpdateDialog/index.d.ts +2 -2
  642. package/lib/typescript/module/components/FormField/FormField.d.ts +8 -12
  643. package/lib/typescript/module/components/FormField/index.d.ts +2 -2
  644. package/lib/typescript/module/components/IconBadge/IconBadge.d.ts +3 -2
  645. package/lib/typescript/module/components/IconButton/IconButton.d.ts +4 -3
  646. package/lib/typescript/module/components/ImageGallery/ImageGallery.d.ts +12 -0
  647. package/lib/typescript/module/components/ImageGallery/index.d.ts +2 -2
  648. package/lib/typescript/module/components/InlineSelect/InlineSelect.d.ts +12 -2
  649. package/lib/typescript/module/components/InlineSelect/index.d.ts +2 -2
  650. package/lib/typescript/module/components/Input/Input.d.ts +11 -2
  651. package/lib/typescript/module/components/Input/index.d.ts +2 -2
  652. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.d.ts +12 -10
  653. package/lib/typescript/module/components/KeyboardToolbar/index.d.ts +2 -2
  654. package/lib/typescript/module/components/ListItem/ListItem.d.ts +3 -3
  655. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.d.ts +7 -0
  656. package/lib/typescript/module/components/LoaderOverlay/index.d.ts +2 -2
  657. package/lib/typescript/module/components/Menu/Menu.d.ts +6 -8
  658. package/lib/typescript/module/components/Menu/MenuSurface.d.ts +2 -3
  659. package/lib/typescript/module/components/Menu/index.d.ts +2 -1
  660. package/lib/typescript/module/components/Menu/menuModel.d.ts +6 -0
  661. package/lib/typescript/module/components/Menu/useContextMenu.d.ts +4 -6
  662. package/lib/typescript/module/components/Modal/Modal.d.ts +16 -3
  663. package/lib/typescript/module/components/Modal/index.d.ts +2 -2
  664. package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +9 -1
  665. package/lib/typescript/module/components/NumberInput/index.d.ts +2 -2
  666. package/lib/typescript/module/components/OTPInput/OTPInput.d.ts +7 -1
  667. package/lib/typescript/module/components/OTPInput/index.d.ts +2 -2
  668. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.d.ts +10 -9
  669. package/lib/typescript/module/components/OnboardingPager/index.d.ts +1 -1
  670. package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +60 -44
  671. package/lib/typescript/module/components/OptionSheet/index.d.ts +2 -2
  672. package/lib/typescript/module/components/PagedListFooter/PagedListFooter.d.ts +15 -0
  673. package/lib/typescript/module/components/PagedListFooter/index.d.ts +3 -0
  674. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.d.ts +12 -0
  675. package/lib/typescript/module/components/PermissionPrompt/index.d.ts +2 -2
  676. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.d.ts +35 -25
  677. package/lib/typescript/module/components/PhoneNumberInput/index.d.ts +2 -2
  678. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +11 -3
  679. package/lib/typescript/module/components/PickerTrigger/index.d.ts +2 -2
  680. package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.d.ts +13 -5
  681. package/lib/typescript/module/components/ProfileCompletion/index.d.ts +2 -2
  682. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +21 -20
  683. package/lib/typescript/module/components/ProfilePicker/index.d.ts +2 -2
  684. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +8 -3
  685. package/lib/typescript/module/components/ProgressBar/index.d.ts +2 -2
  686. package/lib/typescript/module/components/ProgressRing/ProgressRing.d.ts +2 -2
  687. package/lib/typescript/module/components/ProgressRing/index.d.ts +1 -1
  688. package/lib/typescript/module/components/Radio/Radio.d.ts +10 -7
  689. package/lib/typescript/module/components/Radio/RadioGroup.d.ts +3 -3
  690. package/lib/typescript/module/components/Rating/Rating.d.ts +8 -2
  691. package/lib/typescript/module/components/Rating/index.d.ts +2 -2
  692. package/lib/typescript/module/components/Repeater/Repeater.d.ts +16 -6
  693. package/lib/typescript/module/components/Repeater/index.d.ts +2 -2
  694. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.d.ts +4 -0
  695. package/lib/typescript/module/components/RichTextEditor/index.d.ts +2 -2
  696. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.d.ts +5 -2
  697. package/lib/typescript/module/components/ScannerOverlay/index.d.ts +1 -1
  698. package/lib/typescript/module/components/Screen/Screen.d.ts +33 -10
  699. package/lib/typescript/module/components/Screen/index.d.ts +1 -1
  700. package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +22 -8
  701. package/lib/typescript/module/components/SearchBar/SearchPanel.d.ts +3 -1
  702. package/lib/typescript/module/components/SearchBar/index.d.ts +2 -2
  703. package/lib/typescript/module/components/SearchBar/useRecentSearches.d.ts +1 -1
  704. package/lib/typescript/module/components/SectionHeader/SectionHeader.d.ts +5 -0
  705. package/lib/typescript/module/components/SectionHeader/index.d.ts +2 -2
  706. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +3 -2
  707. package/lib/typescript/module/components/Select/Select.d.ts +18 -8
  708. package/lib/typescript/module/components/Select/index.d.ts +2 -2
  709. package/lib/typescript/module/components/SignaturePad/SignaturePad.d.ts +3 -2
  710. package/lib/typescript/module/components/SignaturePad/index.d.ts +1 -1
  711. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +7 -0
  712. package/lib/typescript/module/components/Skeleton/SkeletonContent.d.ts +3 -1
  713. package/lib/typescript/module/components/Skeleton/SkeletonList.d.ts +3 -1
  714. package/lib/typescript/module/components/Skeleton/index.d.ts +2 -2
  715. package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.d.ts +12 -5
  716. package/lib/typescript/module/components/SlideToConfirm/index.d.ts +2 -2
  717. package/lib/typescript/module/components/Slider/Slider.d.ts +3 -2
  718. package/lib/typescript/module/components/Slider/valueText.d.ts +2 -1
  719. package/lib/typescript/module/components/SliderField/SliderField.d.ts +15 -3
  720. package/lib/typescript/module/components/SliderField/index.d.ts +2 -2
  721. package/lib/typescript/module/components/SortableList/SortableList.d.ts +6 -0
  722. package/lib/typescript/module/components/SortableList/index.d.ts +2 -2
  723. package/lib/typescript/module/components/Sparkline/Sparkline.d.ts +11 -3
  724. package/lib/typescript/module/components/Sparkline/index.d.ts +2 -2
  725. package/lib/typescript/module/components/Spinner/Spinner.d.ts +7 -1
  726. package/lib/typescript/module/components/Spinner/index.d.ts +2 -2
  727. package/lib/typescript/module/components/StatTile/StatTile.d.ts +10 -2
  728. package/lib/typescript/module/components/StatusBadge/StatusBadge.d.ts +8 -5
  729. package/lib/typescript/module/components/StatusBadge/statusMap.d.ts +8 -0
  730. package/lib/typescript/module/components/Stepper/Stepper.d.ts +15 -1
  731. package/lib/typescript/module/components/Stepper/index.d.ts +2 -2
  732. package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +4 -2
  733. package/lib/typescript/module/components/Switch/Switch.d.ts +9 -11
  734. package/lib/typescript/module/components/Tabs/Tabs.d.ts +5 -3
  735. package/lib/typescript/module/components/TagInput/TagInput.d.ts +3 -4
  736. package/lib/typescript/module/components/Text/Text.d.ts +6 -5
  737. package/lib/typescript/module/components/TimePicker/TimePicker.d.ts +17 -4
  738. package/lib/typescript/module/components/TimePicker/index.d.ts +2 -2
  739. package/lib/typescript/module/components/Toast/Toast.d.ts +11 -5
  740. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +15 -14
  741. package/lib/typescript/module/components/Toast/index.d.ts +2 -2
  742. package/lib/typescript/module/components/Tooltip/Tooltip.d.ts +8 -2
  743. package/lib/typescript/module/components/Tooltip/index.d.ts +2 -2
  744. package/lib/typescript/module/components/Tour/Tour.d.ts +7 -5
  745. package/lib/typescript/module/components/Tour/index.d.ts +1 -1
  746. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.d.ts +7 -2
  747. package/lib/typescript/module/components/TypingIndicator/index.d.ts +2 -2
  748. package/lib/typescript/module/components/WheelPicker/WheelPicker.d.ts +13 -6
  749. package/lib/typescript/module/components/WheelPicker/index.d.ts +2 -2
  750. package/lib/typescript/module/components/index.d.ts +125 -119
  751. package/lib/typescript/module/form/HookFormField.d.ts +1 -1
  752. package/lib/typescript/module/form/index.d.ts +0 -8
  753. package/lib/typescript/module/index.d.ts +6 -5
  754. package/lib/typescript/module/navigation/DiscardGuard.d.ts +26 -0
  755. package/lib/typescript/module/navigation/NavigationScreen.d.ts +12 -0
  756. package/lib/typescript/module/navigation/index.d.ts +5 -0
  757. package/lib/typescript/module/theme/index.d.ts +1 -0
  758. package/lib/typescript/module/theme/makeStyles.d.ts +5 -0
  759. package/lib/typescript/module/theme/tokens.generated.d.ts +3 -1
  760. package/lib/typescript/module/theme/types.d.ts +15 -2
  761. package/lib/typescript/module/types/vocabulary.d.ts +10 -0
  762. package/lib/typescript/module/utils/placement.d.ts +2 -0
  763. package/lib/typescript/module/utils/warnInvalidValue.d.ts +1 -1
  764. package/package.json +30 -8
  765. package/lib/commonjs/components/Accordion/Accordion.meta.js +0 -1
  766. package/lib/commonjs/components/Accordion/AccordionGroup.meta.js +0 -1
  767. package/lib/commonjs/components/AmountSlider/AmountSlider.meta.js +0 -1
  768. package/lib/commonjs/components/AnimatePresence/AnimatePresence.meta.js +0 -1
  769. package/lib/commonjs/components/AppBar/AppBar.meta.js +0 -1
  770. package/lib/commonjs/components/AppIcon/AppIcon.meta.js +0 -1
  771. package/lib/commonjs/components/AsyncBlock/AsyncBlock.meta.js +0 -1
  772. package/lib/commonjs/components/AuthedImage/AuthedImage.meta.js +0 -1
  773. package/lib/commonjs/components/Autocomplete/Autocomplete.meta.js +0 -1
  774. package/lib/commonjs/components/Avatar/Avatar.meta.js +0 -1
  775. package/lib/commonjs/components/Avatar/AvatarGroup.meta.js +0 -1
  776. package/lib/commonjs/components/Badge/Badge.meta.js +0 -1
  777. package/lib/commonjs/components/Banner/Banner.meta.js +0 -1
  778. package/lib/commonjs/components/BarChart/BarChart.meta.js +0 -1
  779. package/lib/commonjs/components/BottomNavigation/BottomNavigation.meta.js +0 -1
  780. package/lib/commonjs/components/BottomSheet/BottomSheet.meta.js +0 -1
  781. package/lib/commonjs/components/BottomSheet/useSheetSwap.js +0 -1
  782. package/lib/commonjs/components/Box/Spacer.meta.js +0 -1
  783. package/lib/commonjs/components/Button/Button.meta.js +0 -1
  784. package/lib/commonjs/components/Calendar/Calendar.meta.js +0 -1
  785. package/lib/commonjs/components/Card/Card.meta.js +0 -1
  786. package/lib/commonjs/components/Carousel/Carousel.meta.js +0 -1
  787. package/lib/commonjs/components/Checkbox/Checkbox.meta.js +0 -1
  788. package/lib/commonjs/components/Chip/Chip.meta.js +0 -1
  789. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.meta.js +0 -1
  790. package/lib/commonjs/components/Composer/Composer.meta.js +0 -1
  791. package/lib/commonjs/components/Confetti/Confetti.meta.js +0 -1
  792. package/lib/commonjs/components/DatePicker/DatePicker.meta.js +0 -1
  793. package/lib/commonjs/components/DateRangePicker/DateRangePicker.meta.js +0 -1
  794. package/lib/commonjs/components/DateSeparator/DateSeparator.meta.js +0 -1
  795. package/lib/commonjs/components/DecimalInput/DecimalInput.meta.js +0 -1
  796. package/lib/commonjs/components/Descriptions/Descriptions.meta.js +0 -1
  797. package/lib/commonjs/components/Dialog/Dialog.meta.js +0 -1
  798. package/lib/commonjs/components/Divider/Divider.meta.js +0 -1
  799. package/lib/commonjs/components/Drawer/Drawer.meta.js +0 -1
  800. package/lib/commonjs/components/EmptyState/EmptyState.meta.js +0 -1
  801. package/lib/commonjs/components/FilePicker/FilePicker.meta.js +0 -1
  802. package/lib/commonjs/components/FileViewer/FileViewer.meta.js +0 -1
  803. package/lib/commonjs/components/FilterChipRow/FilterChipRow.meta.js +0 -1
  804. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.meta.js +0 -1
  805. package/lib/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +0 -1
  806. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +0 -1
  807. package/lib/commonjs/components/FormField/FormField.meta.js +0 -1
  808. package/lib/commonjs/components/IconBadge/IconBadge.meta.js +0 -1
  809. package/lib/commonjs/components/IconButton/IconButton.meta.js +0 -1
  810. package/lib/commonjs/components/ImageGallery/ImageGallery.meta.js +0 -1
  811. package/lib/commonjs/components/InlineSelect/InlineSelect.meta.js +0 -1
  812. package/lib/commonjs/components/Input/Input.meta.js +0 -1
  813. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.js +0 -1
  814. package/lib/commonjs/components/ListItem/ListItem.meta.js +0 -1
  815. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.meta.js +0 -1
  816. package/lib/commonjs/components/Markdown/Markdown.meta.js +0 -1
  817. package/lib/commonjs/components/Menu/Menu.meta.js +0 -1
  818. package/lib/commonjs/components/MessageBubble/MessageBubble.meta.js +0 -1
  819. package/lib/commonjs/components/MessageList/MessageList.meta.js +0 -1
  820. package/lib/commonjs/components/Modal/Modal.meta.js +0 -1
  821. package/lib/commonjs/components/Notation/Notation.meta.js +0 -1
  822. package/lib/commonjs/components/NumberInput/NumberInput.meta.js +0 -1
  823. package/lib/commonjs/components/OTPInput/OTPInput.meta.js +0 -1
  824. package/lib/commonjs/components/OnboardingPager/OnboardingPager.meta.js +0 -1
  825. package/lib/commonjs/components/OptionSheet/OptionSheet.meta.js +0 -1
  826. package/lib/commonjs/components/PaymentResult/PaymentResult.js +0 -1
  827. package/lib/commonjs/components/PaymentResult/PaymentResult.meta.js +0 -1
  828. package/lib/commonjs/components/PaymentResult/index.js +0 -1
  829. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.meta.js +0 -1
  830. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.js +0 -1
  831. package/lib/commonjs/components/PickerTrigger/PickerTrigger.meta.js +0 -1
  832. package/lib/commonjs/components/ProfileCompletion/ProfileCompletion.meta.js +0 -1
  833. package/lib/commonjs/components/ProfilePicker/ProfilePicker.meta.js +0 -1
  834. package/lib/commonjs/components/ProgressBar/ProgressBar.meta.js +0 -1
  835. package/lib/commonjs/components/ProgressRing/ProgressRing.meta.js +0 -1
  836. package/lib/commonjs/components/Radio/Radio.meta.js +0 -1
  837. package/lib/commonjs/components/Radio/RadioGroup.meta.js +0 -1
  838. package/lib/commonjs/components/Rating/Rating.meta.js +0 -1
  839. package/lib/commonjs/components/Repeater/Repeater.meta.js +0 -1
  840. package/lib/commonjs/components/RichTextEditor/RichTextEditor.meta.js +0 -1
  841. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.meta.js +0 -1
  842. package/lib/commonjs/components/Screen/Screen.meta.js +0 -1
  843. package/lib/commonjs/components/SearchBar/SearchBar.meta.js +0 -1
  844. package/lib/commonjs/components/SectionHeader/SectionHeader.meta.js +0 -1
  845. package/lib/commonjs/components/SegmentedControl/SegmentedControl.meta.js +0 -1
  846. package/lib/commonjs/components/Select/Select.meta.js +0 -1
  847. package/lib/commonjs/components/SignaturePad/SignaturePad.meta.js +0 -1
  848. package/lib/commonjs/components/Skeleton/Skeleton.meta.js +0 -1
  849. package/lib/commonjs/components/Skeleton/SkeletonCircle.meta.js +0 -1
  850. package/lib/commonjs/components/Skeleton/SkeletonContent.meta.js +0 -1
  851. package/lib/commonjs/components/Skeleton/SkeletonList.meta.js +0 -1
  852. package/lib/commonjs/components/Skeleton/SkeletonText.meta.js +0 -1
  853. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.meta.js +0 -1
  854. package/lib/commonjs/components/Slider/Slider.meta.js +0 -1
  855. package/lib/commonjs/components/SliderField/SliderField.meta.js +0 -1
  856. package/lib/commonjs/components/SortableList/SortableList.meta.js +0 -1
  857. package/lib/commonjs/components/Sparkline/Sparkline.meta.js +0 -1
  858. package/lib/commonjs/components/Spinner/Spinner.meta.js +0 -1
  859. package/lib/commonjs/components/SquircleView/SquircleView.meta.js +0 -1
  860. package/lib/commonjs/components/StatTile/StatTile.meta.js +0 -1
  861. package/lib/commonjs/components/StatusBadge/StatusBadge.meta.js +0 -1
  862. package/lib/commonjs/components/Stepper/Stepper.meta.js +0 -1
  863. package/lib/commonjs/components/Swipeable/Swipeable.meta.js +0 -1
  864. package/lib/commonjs/components/Switch/Switch.meta.js +0 -1
  865. package/lib/commonjs/components/Tabs/Tabs.meta.js +0 -1
  866. package/lib/commonjs/components/TagInput/TagInput.meta.js +0 -1
  867. package/lib/commonjs/components/Text/Text.meta.js +0 -1
  868. package/lib/commonjs/components/TimePicker/TimePicker.meta.js +0 -1
  869. package/lib/commonjs/components/Timeline/Timeline.meta.js +0 -1
  870. package/lib/commonjs/components/Toast/Toast.meta.js +0 -1
  871. package/lib/commonjs/components/Tooltip/Tooltip.meta.js +0 -1
  872. package/lib/commonjs/components/Tour/Tour.meta.js +0 -1
  873. package/lib/commonjs/components/TypingIndicator/TypingIndicator.meta.js +0 -1
  874. package/lib/commonjs/components/WheelPicker/WheelPickerColumns.meta.js +0 -1
  875. package/lib/commonjs/components/WheelPicker/WheelPickerDuration.meta.js +0 -1
  876. package/lib/commonjs/components/WheelPicker/WheelPickerList.meta.js +0 -1
  877. package/lib/commonjs/components/ZoomableImage/ZoomableImage.meta.js +0 -1
  878. package/lib/commonjs/form/FormContext.js +0 -1
  879. package/lib/commonjs/form/equal.js +0 -1
  880. package/lib/commonjs/form/rules.js +0 -1
  881. package/lib/commonjs/form/useField.js +0 -1
  882. package/lib/commonjs/form/useForm.js +0 -1
  883. package/lib/module/components/Accordion/Accordion.meta.js +0 -1
  884. package/lib/module/components/Accordion/AccordionGroup.meta.js +0 -1
  885. package/lib/module/components/AmountSlider/AmountSlider.meta.js +0 -1
  886. package/lib/module/components/AnimatePresence/AnimatePresence.meta.js +0 -1
  887. package/lib/module/components/AppBar/AppBar.meta.js +0 -1
  888. package/lib/module/components/AppIcon/AppIcon.meta.js +0 -1
  889. package/lib/module/components/AsyncBlock/AsyncBlock.meta.js +0 -1
  890. package/lib/module/components/AuthedImage/AuthedImage.meta.js +0 -1
  891. package/lib/module/components/Autocomplete/Autocomplete.meta.js +0 -1
  892. package/lib/module/components/Avatar/Avatar.meta.js +0 -1
  893. package/lib/module/components/Avatar/AvatarGroup.meta.js +0 -1
  894. package/lib/module/components/Badge/Badge.meta.js +0 -1
  895. package/lib/module/components/Banner/Banner.meta.js +0 -1
  896. package/lib/module/components/BarChart/BarChart.meta.js +0 -1
  897. package/lib/module/components/BottomNavigation/BottomNavigation.meta.js +0 -1
  898. package/lib/module/components/BottomSheet/BottomSheet.meta.js +0 -1
  899. package/lib/module/components/BottomSheet/useSheetSwap.js +0 -1
  900. package/lib/module/components/Box/Spacer.meta.js +0 -1
  901. package/lib/module/components/Button/Button.meta.js +0 -1
  902. package/lib/module/components/Calendar/Calendar.meta.js +0 -1
  903. package/lib/module/components/Card/Card.meta.js +0 -1
  904. package/lib/module/components/Carousel/Carousel.meta.js +0 -1
  905. package/lib/module/components/Checkbox/Checkbox.meta.js +0 -1
  906. package/lib/module/components/Chip/Chip.meta.js +0 -1
  907. package/lib/module/components/ChoiceGroup/ChoiceGroup.meta.js +0 -1
  908. package/lib/module/components/Composer/Composer.meta.js +0 -1
  909. package/lib/module/components/Confetti/Confetti.meta.js +0 -1
  910. package/lib/module/components/DatePicker/DatePicker.meta.js +0 -1
  911. package/lib/module/components/DateRangePicker/DateRangePicker.meta.js +0 -1
  912. package/lib/module/components/DateSeparator/DateSeparator.meta.js +0 -1
  913. package/lib/module/components/DecimalInput/DecimalInput.meta.js +0 -1
  914. package/lib/module/components/Descriptions/Descriptions.meta.js +0 -1
  915. package/lib/module/components/Dialog/Dialog.meta.js +0 -1
  916. package/lib/module/components/Divider/Divider.meta.js +0 -1
  917. package/lib/module/components/Drawer/Drawer.meta.js +0 -1
  918. package/lib/module/components/EmptyState/EmptyState.meta.js +0 -1
  919. package/lib/module/components/FilePicker/FilePicker.meta.js +0 -1
  920. package/lib/module/components/FileViewer/FileViewer.meta.js +0 -1
  921. package/lib/module/components/FilterChipRow/FilterChipRow.meta.js +0 -1
  922. package/lib/module/components/FloatingActionButton/FloatingActionButton.meta.js +0 -1
  923. package/lib/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.js +0 -1
  924. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.js +0 -1
  925. package/lib/module/components/FormField/FormField.meta.js +0 -1
  926. package/lib/module/components/IconBadge/IconBadge.meta.js +0 -1
  927. package/lib/module/components/IconButton/IconButton.meta.js +0 -1
  928. package/lib/module/components/ImageGallery/ImageGallery.meta.js +0 -1
  929. package/lib/module/components/InlineSelect/InlineSelect.meta.js +0 -1
  930. package/lib/module/components/Input/Input.meta.js +0 -1
  931. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.meta.js +0 -1
  932. package/lib/module/components/ListItem/ListItem.meta.js +0 -1
  933. package/lib/module/components/LoaderOverlay/LoaderOverlay.meta.js +0 -1
  934. package/lib/module/components/Markdown/Markdown.meta.js +0 -1
  935. package/lib/module/components/Menu/Menu.meta.js +0 -1
  936. package/lib/module/components/MessageBubble/MessageBubble.meta.js +0 -1
  937. package/lib/module/components/MessageList/MessageList.meta.js +0 -1
  938. package/lib/module/components/Modal/Modal.meta.js +0 -1
  939. package/lib/module/components/Notation/Notation.meta.js +0 -1
  940. package/lib/module/components/NumberInput/NumberInput.meta.js +0 -1
  941. package/lib/module/components/OTPInput/OTPInput.meta.js +0 -1
  942. package/lib/module/components/OnboardingPager/OnboardingPager.meta.js +0 -1
  943. package/lib/module/components/OptionSheet/OptionSheet.meta.js +0 -1
  944. package/lib/module/components/PaymentResult/PaymentResult.js +0 -1
  945. package/lib/module/components/PaymentResult/PaymentResult.meta.js +0 -1
  946. package/lib/module/components/PaymentResult/index.js +0 -1
  947. package/lib/module/components/PermissionPrompt/PermissionPrompt.meta.js +0 -1
  948. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.meta.js +0 -1
  949. package/lib/module/components/PickerTrigger/PickerTrigger.meta.js +0 -1
  950. package/lib/module/components/ProfileCompletion/ProfileCompletion.meta.js +0 -1
  951. package/lib/module/components/ProfilePicker/ProfilePicker.meta.js +0 -1
  952. package/lib/module/components/ProgressBar/ProgressBar.meta.js +0 -1
  953. package/lib/module/components/ProgressRing/ProgressRing.meta.js +0 -1
  954. package/lib/module/components/Radio/Radio.meta.js +0 -1
  955. package/lib/module/components/Radio/RadioGroup.meta.js +0 -1
  956. package/lib/module/components/Rating/Rating.meta.js +0 -1
  957. package/lib/module/components/Repeater/Repeater.meta.js +0 -1
  958. package/lib/module/components/RichTextEditor/RichTextEditor.meta.js +0 -1
  959. package/lib/module/components/ScannerOverlay/ScannerOverlay.meta.js +0 -1
  960. package/lib/module/components/Screen/Screen.meta.js +0 -1
  961. package/lib/module/components/SearchBar/SearchBar.meta.js +0 -1
  962. package/lib/module/components/SectionHeader/SectionHeader.meta.js +0 -1
  963. package/lib/module/components/SegmentedControl/SegmentedControl.meta.js +0 -1
  964. package/lib/module/components/Select/Select.meta.js +0 -1
  965. package/lib/module/components/SignaturePad/SignaturePad.meta.js +0 -1
  966. package/lib/module/components/Skeleton/Skeleton.meta.js +0 -1
  967. package/lib/module/components/Skeleton/SkeletonCircle.meta.js +0 -1
  968. package/lib/module/components/Skeleton/SkeletonContent.meta.js +0 -1
  969. package/lib/module/components/Skeleton/SkeletonList.meta.js +0 -1
  970. package/lib/module/components/Skeleton/SkeletonText.meta.js +0 -1
  971. package/lib/module/components/SlideToConfirm/SlideToConfirm.meta.js +0 -1
  972. package/lib/module/components/Slider/Slider.meta.js +0 -1
  973. package/lib/module/components/SliderField/SliderField.meta.js +0 -1
  974. package/lib/module/components/SortableList/SortableList.meta.js +0 -1
  975. package/lib/module/components/Sparkline/Sparkline.meta.js +0 -1
  976. package/lib/module/components/Spinner/Spinner.meta.js +0 -1
  977. package/lib/module/components/SquircleView/SquircleView.meta.js +0 -1
  978. package/lib/module/components/StatTile/StatTile.meta.js +0 -1
  979. package/lib/module/components/StatusBadge/StatusBadge.meta.js +0 -1
  980. package/lib/module/components/Stepper/Stepper.meta.js +0 -1
  981. package/lib/module/components/Swipeable/Swipeable.meta.js +0 -1
  982. package/lib/module/components/Switch/Switch.meta.js +0 -1
  983. package/lib/module/components/Tabs/Tabs.meta.js +0 -1
  984. package/lib/module/components/TagInput/TagInput.meta.js +0 -1
  985. package/lib/module/components/Text/Text.meta.js +0 -1
  986. package/lib/module/components/TimePicker/TimePicker.meta.js +0 -1
  987. package/lib/module/components/Timeline/Timeline.meta.js +0 -1
  988. package/lib/module/components/Toast/Toast.meta.js +0 -1
  989. package/lib/module/components/Tooltip/Tooltip.meta.js +0 -1
  990. package/lib/module/components/Tour/Tour.meta.js +0 -1
  991. package/lib/module/components/TypingIndicator/TypingIndicator.meta.js +0 -1
  992. package/lib/module/components/WheelPicker/WheelPickerColumns.meta.js +0 -1
  993. package/lib/module/components/WheelPicker/WheelPickerDuration.meta.js +0 -1
  994. package/lib/module/components/WheelPicker/WheelPickerList.meta.js +0 -1
  995. package/lib/module/components/ZoomableImage/ZoomableImage.meta.js +0 -1
  996. package/lib/module/form/FormContext.js +0 -1
  997. package/lib/module/form/equal.js +0 -1
  998. package/lib/module/form/rules.js +0 -1
  999. package/lib/module/form/useField.js +0 -1
  1000. package/lib/module/form/useForm.js +0 -1
  1001. package/lib/typescript/commonjs/components/Accordion/Accordion.meta.d.ts +0 -3
  1002. package/lib/typescript/commonjs/components/Accordion/AccordionGroup.meta.d.ts +0 -3
  1003. package/lib/typescript/commonjs/components/AmountSlider/AmountSlider.meta.d.ts +0 -3
  1004. package/lib/typescript/commonjs/components/AnimatePresence/AnimatePresence.meta.d.ts +0 -3
  1005. package/lib/typescript/commonjs/components/AppBar/AppBar.meta.d.ts +0 -3
  1006. package/lib/typescript/commonjs/components/AppIcon/AppIcon.meta.d.ts +0 -3
  1007. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.meta.d.ts +0 -3
  1008. package/lib/typescript/commonjs/components/AuthedImage/AuthedImage.meta.d.ts +0 -5
  1009. package/lib/typescript/commonjs/components/Autocomplete/Autocomplete.meta.d.ts +0 -3
  1010. package/lib/typescript/commonjs/components/Avatar/Avatar.meta.d.ts +0 -3
  1011. package/lib/typescript/commonjs/components/Avatar/AvatarGroup.meta.d.ts +0 -3
  1012. package/lib/typescript/commonjs/components/Badge/Badge.meta.d.ts +0 -3
  1013. package/lib/typescript/commonjs/components/Banner/Banner.meta.d.ts +0 -3
  1014. package/lib/typescript/commonjs/components/BarChart/BarChart.meta.d.ts +0 -3
  1015. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.meta.d.ts +0 -3
  1016. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.meta.d.ts +0 -3
  1017. package/lib/typescript/commonjs/components/BottomSheet/useSheetSwap.d.ts +0 -24
  1018. package/lib/typescript/commonjs/components/Box/Spacer.meta.d.ts +0 -3
  1019. package/lib/typescript/commonjs/components/Button/Button.meta.d.ts +0 -3
  1020. package/lib/typescript/commonjs/components/Calendar/Calendar.meta.d.ts +0 -3
  1021. package/lib/typescript/commonjs/components/Card/Card.meta.d.ts +0 -3
  1022. package/lib/typescript/commonjs/components/Carousel/Carousel.meta.d.ts +0 -3
  1023. package/lib/typescript/commonjs/components/Checkbox/Checkbox.meta.d.ts +0 -3
  1024. package/lib/typescript/commonjs/components/Chip/Chip.meta.d.ts +0 -3
  1025. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.meta.d.ts +0 -3
  1026. package/lib/typescript/commonjs/components/Composer/Composer.meta.d.ts +0 -3
  1027. package/lib/typescript/commonjs/components/Confetti/Confetti.meta.d.ts +0 -3
  1028. package/lib/typescript/commonjs/components/DatePicker/DatePicker.meta.d.ts +0 -3
  1029. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.meta.d.ts +0 -3
  1030. package/lib/typescript/commonjs/components/DateSeparator/DateSeparator.meta.d.ts +0 -3
  1031. package/lib/typescript/commonjs/components/DecimalInput/DecimalInput.meta.d.ts +0 -3
  1032. package/lib/typescript/commonjs/components/Descriptions/Descriptions.meta.d.ts +0 -3
  1033. package/lib/typescript/commonjs/components/Dialog/Dialog.meta.d.ts +0 -3
  1034. package/lib/typescript/commonjs/components/Divider/Divider.meta.d.ts +0 -3
  1035. package/lib/typescript/commonjs/components/Drawer/Drawer.meta.d.ts +0 -3
  1036. package/lib/typescript/commonjs/components/EmptyState/EmptyState.meta.d.ts +0 -3
  1037. package/lib/typescript/commonjs/components/FilePicker/FilePicker.meta.d.ts +0 -3
  1038. package/lib/typescript/commonjs/components/FileViewer/FileViewer.meta.d.ts +0 -3
  1039. package/lib/typescript/commonjs/components/FilterChipRow/FilterChipRow.meta.d.ts +0 -3
  1040. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.meta.d.ts +0 -3
  1041. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +0 -3
  1042. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +0 -3
  1043. package/lib/typescript/commonjs/components/FormField/FormField.meta.d.ts +0 -3
  1044. package/lib/typescript/commonjs/components/IconBadge/IconBadge.meta.d.ts +0 -3
  1045. package/lib/typescript/commonjs/components/IconButton/IconButton.meta.d.ts +0 -3
  1046. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.meta.d.ts +0 -3
  1047. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.meta.d.ts +0 -3
  1048. package/lib/typescript/commonjs/components/Input/Input.meta.d.ts +0 -3
  1049. package/lib/typescript/commonjs/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +0 -3
  1050. package/lib/typescript/commonjs/components/ListItem/ListItem.meta.d.ts +0 -3
  1051. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.meta.d.ts +0 -3
  1052. package/lib/typescript/commonjs/components/Markdown/Markdown.meta.d.ts +0 -3
  1053. package/lib/typescript/commonjs/components/Menu/Menu.meta.d.ts +0 -3
  1054. package/lib/typescript/commonjs/components/MessageBubble/MessageBubble.meta.d.ts +0 -3
  1055. package/lib/typescript/commonjs/components/MessageList/MessageList.meta.d.ts +0 -5
  1056. package/lib/typescript/commonjs/components/Modal/Modal.meta.d.ts +0 -3
  1057. package/lib/typescript/commonjs/components/Notation/Notation.meta.d.ts +0 -3
  1058. package/lib/typescript/commonjs/components/NumberInput/NumberInput.meta.d.ts +0 -3
  1059. package/lib/typescript/commonjs/components/OTPInput/OTPInput.meta.d.ts +0 -3
  1060. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.meta.d.ts +0 -3
  1061. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.meta.d.ts +0 -3
  1062. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.d.ts +0 -71
  1063. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.meta.d.ts +0 -3
  1064. package/lib/typescript/commonjs/components/PaymentResult/index.d.ts +0 -3
  1065. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.meta.d.ts +0 -3
  1066. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +0 -3
  1067. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.meta.d.ts +0 -3
  1068. package/lib/typescript/commonjs/components/ProfileCompletion/ProfileCompletion.meta.d.ts +0 -3
  1069. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.meta.d.ts +0 -3
  1070. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.meta.d.ts +0 -3
  1071. package/lib/typescript/commonjs/components/ProgressRing/ProgressRing.meta.d.ts +0 -3
  1072. package/lib/typescript/commonjs/components/Radio/Radio.meta.d.ts +0 -3
  1073. package/lib/typescript/commonjs/components/Radio/RadioGroup.meta.d.ts +0 -3
  1074. package/lib/typescript/commonjs/components/Rating/Rating.meta.d.ts +0 -3
  1075. package/lib/typescript/commonjs/components/Repeater/Repeater.meta.d.ts +0 -3
  1076. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.meta.d.ts +0 -3
  1077. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.meta.d.ts +0 -3
  1078. package/lib/typescript/commonjs/components/Screen/Screen.meta.d.ts +0 -3
  1079. package/lib/typescript/commonjs/components/SearchBar/SearchBar.meta.d.ts +0 -3
  1080. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.meta.d.ts +0 -3
  1081. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.meta.d.ts +0 -3
  1082. package/lib/typescript/commonjs/components/Select/Select.meta.d.ts +0 -3
  1083. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.meta.d.ts +0 -3
  1084. package/lib/typescript/commonjs/components/Skeleton/Skeleton.meta.d.ts +0 -3
  1085. package/lib/typescript/commonjs/components/Skeleton/SkeletonCircle.meta.d.ts +0 -3
  1086. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.meta.d.ts +0 -3
  1087. package/lib/typescript/commonjs/components/Skeleton/SkeletonList.meta.d.ts +0 -3
  1088. package/lib/typescript/commonjs/components/Skeleton/SkeletonText.meta.d.ts +0 -3
  1089. package/lib/typescript/commonjs/components/SlideToConfirm/SlideToConfirm.meta.d.ts +0 -3
  1090. package/lib/typescript/commonjs/components/Slider/Slider.meta.d.ts +0 -3
  1091. package/lib/typescript/commonjs/components/SliderField/SliderField.meta.d.ts +0 -3
  1092. package/lib/typescript/commonjs/components/SortableList/SortableList.meta.d.ts +0 -3
  1093. package/lib/typescript/commonjs/components/Sparkline/Sparkline.meta.d.ts +0 -3
  1094. package/lib/typescript/commonjs/components/Spinner/Spinner.meta.d.ts +0 -3
  1095. package/lib/typescript/commonjs/components/SquircleView/SquircleView.meta.d.ts +0 -2
  1096. package/lib/typescript/commonjs/components/StatTile/StatTile.meta.d.ts +0 -3
  1097. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.meta.d.ts +0 -3
  1098. package/lib/typescript/commonjs/components/Stepper/Stepper.meta.d.ts +0 -3
  1099. package/lib/typescript/commonjs/components/Swipeable/Swipeable.meta.d.ts +0 -3
  1100. package/lib/typescript/commonjs/components/Switch/Switch.meta.d.ts +0 -3
  1101. package/lib/typescript/commonjs/components/Tabs/Tabs.meta.d.ts +0 -3
  1102. package/lib/typescript/commonjs/components/TagInput/TagInput.meta.d.ts +0 -3
  1103. package/lib/typescript/commonjs/components/Text/Text.meta.d.ts +0 -3
  1104. package/lib/typescript/commonjs/components/TimePicker/TimePicker.meta.d.ts +0 -3
  1105. package/lib/typescript/commonjs/components/Timeline/Timeline.meta.d.ts +0 -3
  1106. package/lib/typescript/commonjs/components/Toast/Toast.meta.d.ts +0 -3
  1107. package/lib/typescript/commonjs/components/Tooltip/Tooltip.meta.d.ts +0 -3
  1108. package/lib/typescript/commonjs/components/Tour/Tour.meta.d.ts +0 -3
  1109. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.meta.d.ts +0 -3
  1110. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerColumns.meta.d.ts +0 -3
  1111. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerDuration.meta.d.ts +0 -3
  1112. package/lib/typescript/commonjs/components/WheelPicker/WheelPickerList.meta.d.ts +0 -3
  1113. package/lib/typescript/commonjs/components/ZoomableImage/ZoomableImage.meta.d.ts +0 -3
  1114. package/lib/typescript/commonjs/form/FormContext.d.ts +0 -36
  1115. package/lib/typescript/commonjs/form/equal.d.ts +0 -9
  1116. package/lib/typescript/commonjs/form/rules.d.ts +0 -37
  1117. package/lib/typescript/commonjs/form/types.d.ts +0 -94
  1118. package/lib/typescript/commonjs/form/useField.d.ts +0 -33
  1119. package/lib/typescript/commonjs/form/useForm.d.ts +0 -14
  1120. package/lib/typescript/module/components/Accordion/Accordion.meta.d.ts +0 -3
  1121. package/lib/typescript/module/components/Accordion/AccordionGroup.meta.d.ts +0 -3
  1122. package/lib/typescript/module/components/AmountSlider/AmountSlider.meta.d.ts +0 -3
  1123. package/lib/typescript/module/components/AnimatePresence/AnimatePresence.meta.d.ts +0 -3
  1124. package/lib/typescript/module/components/AppBar/AppBar.meta.d.ts +0 -3
  1125. package/lib/typescript/module/components/AppIcon/AppIcon.meta.d.ts +0 -3
  1126. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.meta.d.ts +0 -3
  1127. package/lib/typescript/module/components/AuthedImage/AuthedImage.meta.d.ts +0 -5
  1128. package/lib/typescript/module/components/Autocomplete/Autocomplete.meta.d.ts +0 -3
  1129. package/lib/typescript/module/components/Avatar/Avatar.meta.d.ts +0 -3
  1130. package/lib/typescript/module/components/Avatar/AvatarGroup.meta.d.ts +0 -3
  1131. package/lib/typescript/module/components/Badge/Badge.meta.d.ts +0 -3
  1132. package/lib/typescript/module/components/Banner/Banner.meta.d.ts +0 -3
  1133. package/lib/typescript/module/components/BarChart/BarChart.meta.d.ts +0 -3
  1134. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.meta.d.ts +0 -3
  1135. package/lib/typescript/module/components/BottomSheet/BottomSheet.meta.d.ts +0 -3
  1136. package/lib/typescript/module/components/BottomSheet/useSheetSwap.d.ts +0 -24
  1137. package/lib/typescript/module/components/Box/Spacer.meta.d.ts +0 -3
  1138. package/lib/typescript/module/components/Button/Button.meta.d.ts +0 -3
  1139. package/lib/typescript/module/components/Calendar/Calendar.meta.d.ts +0 -3
  1140. package/lib/typescript/module/components/Card/Card.meta.d.ts +0 -3
  1141. package/lib/typescript/module/components/Carousel/Carousel.meta.d.ts +0 -3
  1142. package/lib/typescript/module/components/Checkbox/Checkbox.meta.d.ts +0 -3
  1143. package/lib/typescript/module/components/Chip/Chip.meta.d.ts +0 -3
  1144. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.meta.d.ts +0 -3
  1145. package/lib/typescript/module/components/Composer/Composer.meta.d.ts +0 -3
  1146. package/lib/typescript/module/components/Confetti/Confetti.meta.d.ts +0 -3
  1147. package/lib/typescript/module/components/DatePicker/DatePicker.meta.d.ts +0 -3
  1148. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.meta.d.ts +0 -3
  1149. package/lib/typescript/module/components/DateSeparator/DateSeparator.meta.d.ts +0 -3
  1150. package/lib/typescript/module/components/DecimalInput/DecimalInput.meta.d.ts +0 -3
  1151. package/lib/typescript/module/components/Descriptions/Descriptions.meta.d.ts +0 -3
  1152. package/lib/typescript/module/components/Dialog/Dialog.meta.d.ts +0 -3
  1153. package/lib/typescript/module/components/Divider/Divider.meta.d.ts +0 -3
  1154. package/lib/typescript/module/components/Drawer/Drawer.meta.d.ts +0 -3
  1155. package/lib/typescript/module/components/EmptyState/EmptyState.meta.d.ts +0 -3
  1156. package/lib/typescript/module/components/FilePicker/FilePicker.meta.d.ts +0 -3
  1157. package/lib/typescript/module/components/FileViewer/FileViewer.meta.d.ts +0 -3
  1158. package/lib/typescript/module/components/FilterChipRow/FilterChipRow.meta.d.ts +0 -3
  1159. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.meta.d.ts +0 -3
  1160. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButtonGroup.meta.d.ts +0 -3
  1161. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.meta.d.ts +0 -3
  1162. package/lib/typescript/module/components/FormField/FormField.meta.d.ts +0 -3
  1163. package/lib/typescript/module/components/IconBadge/IconBadge.meta.d.ts +0 -3
  1164. package/lib/typescript/module/components/IconButton/IconButton.meta.d.ts +0 -3
  1165. package/lib/typescript/module/components/ImageGallery/ImageGallery.meta.d.ts +0 -3
  1166. package/lib/typescript/module/components/InlineSelect/InlineSelect.meta.d.ts +0 -3
  1167. package/lib/typescript/module/components/Input/Input.meta.d.ts +0 -3
  1168. package/lib/typescript/module/components/KeyboardToolbar/KeyboardToolbar.meta.d.ts +0 -3
  1169. package/lib/typescript/module/components/ListItem/ListItem.meta.d.ts +0 -3
  1170. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.meta.d.ts +0 -3
  1171. package/lib/typescript/module/components/Markdown/Markdown.meta.d.ts +0 -3
  1172. package/lib/typescript/module/components/Menu/Menu.meta.d.ts +0 -3
  1173. package/lib/typescript/module/components/MessageBubble/MessageBubble.meta.d.ts +0 -3
  1174. package/lib/typescript/module/components/MessageList/MessageList.meta.d.ts +0 -5
  1175. package/lib/typescript/module/components/Modal/Modal.meta.d.ts +0 -3
  1176. package/lib/typescript/module/components/Notation/Notation.meta.d.ts +0 -3
  1177. package/lib/typescript/module/components/NumberInput/NumberInput.meta.d.ts +0 -3
  1178. package/lib/typescript/module/components/OTPInput/OTPInput.meta.d.ts +0 -3
  1179. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.meta.d.ts +0 -3
  1180. package/lib/typescript/module/components/OptionSheet/OptionSheet.meta.d.ts +0 -3
  1181. package/lib/typescript/module/components/PaymentResult/PaymentResult.d.ts +0 -71
  1182. package/lib/typescript/module/components/PaymentResult/PaymentResult.meta.d.ts +0 -3
  1183. package/lib/typescript/module/components/PaymentResult/index.d.ts +0 -3
  1184. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.meta.d.ts +0 -3
  1185. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.meta.d.ts +0 -3
  1186. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.meta.d.ts +0 -3
  1187. package/lib/typescript/module/components/ProfileCompletion/ProfileCompletion.meta.d.ts +0 -3
  1188. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.meta.d.ts +0 -3
  1189. package/lib/typescript/module/components/ProgressBar/ProgressBar.meta.d.ts +0 -3
  1190. package/lib/typescript/module/components/ProgressRing/ProgressRing.meta.d.ts +0 -3
  1191. package/lib/typescript/module/components/Radio/Radio.meta.d.ts +0 -3
  1192. package/lib/typescript/module/components/Radio/RadioGroup.meta.d.ts +0 -3
  1193. package/lib/typescript/module/components/Rating/Rating.meta.d.ts +0 -3
  1194. package/lib/typescript/module/components/Repeater/Repeater.meta.d.ts +0 -3
  1195. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.meta.d.ts +0 -3
  1196. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.meta.d.ts +0 -3
  1197. package/lib/typescript/module/components/Screen/Screen.meta.d.ts +0 -3
  1198. package/lib/typescript/module/components/SearchBar/SearchBar.meta.d.ts +0 -3
  1199. package/lib/typescript/module/components/SectionHeader/SectionHeader.meta.d.ts +0 -3
  1200. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.meta.d.ts +0 -3
  1201. package/lib/typescript/module/components/Select/Select.meta.d.ts +0 -3
  1202. package/lib/typescript/module/components/SignaturePad/SignaturePad.meta.d.ts +0 -3
  1203. package/lib/typescript/module/components/Skeleton/Skeleton.meta.d.ts +0 -3
  1204. package/lib/typescript/module/components/Skeleton/SkeletonCircle.meta.d.ts +0 -3
  1205. package/lib/typescript/module/components/Skeleton/SkeletonContent.meta.d.ts +0 -3
  1206. package/lib/typescript/module/components/Skeleton/SkeletonList.meta.d.ts +0 -3
  1207. package/lib/typescript/module/components/Skeleton/SkeletonText.meta.d.ts +0 -3
  1208. package/lib/typescript/module/components/SlideToConfirm/SlideToConfirm.meta.d.ts +0 -3
  1209. package/lib/typescript/module/components/Slider/Slider.meta.d.ts +0 -3
  1210. package/lib/typescript/module/components/SliderField/SliderField.meta.d.ts +0 -3
  1211. package/lib/typescript/module/components/SortableList/SortableList.meta.d.ts +0 -3
  1212. package/lib/typescript/module/components/Sparkline/Sparkline.meta.d.ts +0 -3
  1213. package/lib/typescript/module/components/Spinner/Spinner.meta.d.ts +0 -3
  1214. package/lib/typescript/module/components/SquircleView/SquircleView.meta.d.ts +0 -2
  1215. package/lib/typescript/module/components/StatTile/StatTile.meta.d.ts +0 -3
  1216. package/lib/typescript/module/components/StatusBadge/StatusBadge.meta.d.ts +0 -3
  1217. package/lib/typescript/module/components/Stepper/Stepper.meta.d.ts +0 -3
  1218. package/lib/typescript/module/components/Swipeable/Swipeable.meta.d.ts +0 -3
  1219. package/lib/typescript/module/components/Switch/Switch.meta.d.ts +0 -3
  1220. package/lib/typescript/module/components/Tabs/Tabs.meta.d.ts +0 -3
  1221. package/lib/typescript/module/components/TagInput/TagInput.meta.d.ts +0 -3
  1222. package/lib/typescript/module/components/Text/Text.meta.d.ts +0 -3
  1223. package/lib/typescript/module/components/TimePicker/TimePicker.meta.d.ts +0 -3
  1224. package/lib/typescript/module/components/Timeline/Timeline.meta.d.ts +0 -3
  1225. package/lib/typescript/module/components/Toast/Toast.meta.d.ts +0 -3
  1226. package/lib/typescript/module/components/Tooltip/Tooltip.meta.d.ts +0 -3
  1227. package/lib/typescript/module/components/Tour/Tour.meta.d.ts +0 -3
  1228. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.meta.d.ts +0 -3
  1229. package/lib/typescript/module/components/WheelPicker/WheelPickerColumns.meta.d.ts +0 -3
  1230. package/lib/typescript/module/components/WheelPicker/WheelPickerDuration.meta.d.ts +0 -3
  1231. package/lib/typescript/module/components/WheelPicker/WheelPickerList.meta.d.ts +0 -3
  1232. package/lib/typescript/module/components/ZoomableImage/ZoomableImage.meta.d.ts +0 -3
  1233. package/lib/typescript/module/form/FormContext.d.ts +0 -36
  1234. package/lib/typescript/module/form/equal.d.ts +0 -9
  1235. package/lib/typescript/module/form/rules.d.ts +0 -37
  1236. package/lib/typescript/module/form/types.d.ts +0 -94
  1237. package/lib/typescript/module/form/useField.d.ts +0 -33
  1238. package/lib/typescript/module/form/useForm.d.ts +0 -14
  1239. /package/lib/commonjs/{form/types.js → types/vocabulary.js} +0 -0
  1240. /package/lib/module/{form/types.js → types/vocabulary.js} +0 -0
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Modal,Pressable,StyleSheet,Text,View}from"react-native";import{GestureDetector,GestureHandlerRootView}from"react-native-gesture-handler";import{useDragToDismiss}from"../../hooks/useDragToDismiss.js";import{usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{createAnimatedValue,setNativeValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{transparentOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{Calendar}from"../Calendar/index.js";import{daysBetween,startOfDay,startOfMonth}from"../Calendar/calendarDates.js";import{ModalSafeArea,useModalInsets}from"../ModalSafeArea/ModalSafeArea.js";import{PickerTrigger}from"../PickerTrigger/index.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),formatRangePart=(e,t)=>new Intl.DateTimeFormat(t,{weekday:"short",day:"numeric",month:"short"}).format(e),DateRangePicker=forwardRef((e,t)=>{const{visible:a,value:r,onChange:s,onClose:o,label:i,placeholder:n,helperText:l,error:d,required:c,disabled:u,size:m,variant:g,clearable:f,onClear:p,formatValue:h,triggerStyle:b,minDate:y,maxDate:x,disabledDates:D,markedDates:R,strikeMarkedInRange:v,locale:j="en-IN",weekStartsOn:C=0,title:S="Select Date Range",confirmLabel:w="Confirm",cancelLabel:k="Cancel",maxRange:T,haptic:P,style:V,containerStyle:A,headerLabelStyle:M,navButtonStyle:_,footerButtonStyle:B,testID:O}=e,I=void 0!==a,[z,H]=useState(!1),L=I?a:z,N=I?O:O?`${O}-calendar`:void 0,E=useTheme(),G=usePresenceMotion(),[$,F]=useModalInsets(),W=useMemo(()=>buildStyles(E),[E]),[q,Y]=useState(()=>startOfMonth(r.start??new Date)),[J,K]=useState(r.start?startOfDay(r.start):null),[Q,U]=useState(r.end?startOfDay(r.end):null),X=useRef(createAnimatedValue(0)).current,Z=useRef(createAnimatedValue(0)).current,ee=useRef(createAnimatedValue(0)).current,te=useRef(0);useEffect(()=>{if(r.start){const e=startOfDay(r.start);K(e),Y(startOfMonth(e))}else K(null);r.end?U(startOfDay(r.end)):U(null)},[r.start,r.end]);const ae=useCallback(e=>{if(e.end&&T&&daysBetween(e.start,e.end)+1>T)return!1!==P&&triggerHaptic("notificationWarning"),K(e.end),void U(null);K(e.start),U(e.end??null)},[T,P]),re=useCallback(()=>{I?o?.():H(!1)},[I,o]),se=useCallback(()=>{Animated.parallel([Animated.timing(X,{toValue:0,duration:G.duration("default"),easing:Easing.bezier(...E.motion.ease.accelerate),useNativeDriver:!1}),Animated.timing(Z,{toValue:0,duration:G.duration("fast"),easing:Easing.bezier(...E.motion.ease.accelerate),useNativeDriver:!0})]).start(()=>{re()})},[X,re,G,Z,E.motion.ease.accelerate]),{handleGesture:oe,opacity:ie}=useDragToDismiss({drag:ee,travel:()=>te.current||320,onDismiss:se}),ne=useMemo(()=>Animated.multiply(Z,ie),[Z,ie]),le=useMemo(()=>X.interpolate({inputRange:[0,1],outputRange:[transparentOf(E.colors.scrim),E.colors.scrim]}),[X,E.colors.scrim]);useEffect(()=>{let e;if(L){X.setValue(0),setNativeValue(Z,0),setNativeValue(ee,0),setNativeValue(ie,1);const t=G.reduced?Animated.timing(Z,{toValue:1,duration:G.duration("default"),useNativeDriver:!0}):Animated.spring(Z,{toValue:1,damping:E.motion.spring.gentle.damping,stiffness:E.motion.spring.gentle.stiffness,mass:E.motion.spring.gentle.mass,useNativeDriver:!0});e=Animated.parallel([Animated.timing(X,{toValue:1,duration:G.duration("default"),easing:Easing.out(Easing.cubic),useNativeDriver:!1}),t]),e.start()}return()=>e?.stop()},[L,X,G,Z,ee,ie,E.motion]);const de=useCallback(()=>{!1!==P&&triggerHaptic("selection"),se()},[se,P]),ce=useCallback(()=>{J&&Q&&(!1!==P&&triggerHaptic("notificationSuccess"),s?.({start:J,end:Q}),se())},[se,s,J,Q,P]),ue=Z.interpolate({inputRange:[0,1],outputRange:G.range(320,0)}),me=useMemo(()=>J&&Q?`${formatRangePart(J,j)} — ${formatRangePart(Q,j)}`:J?`${formatRangePart(J,j)} — …`:"—",[J,Q,j]),ge=!J||!Q,fe=_jsxs(View,{style:[W.card,V,A],ref:t,accessible:!1,testID:N,children:[_jsx(GestureDetector,{gesture:oe,children:_jsxs(View,{style:W.grabArea,children:[_jsx(View,{style:W.handle}),_jsxs(View,{style:W.titleRow,children:[_jsx(Text,{style:W.title,accessibilityRole:"header",children:S}),_jsx(Text,{style:W.subtitle,accessibilityLiveRegion:"polite",children:me})]})]})}),_jsx(Calendar,{mode:"range",value:J?{start:J,end:Q??void 0}:null,onChange:ae,month:q,onMonthChange:Y,minDate:y,maxDate:x,disabledDates:D,markedDates:R,strikeMarkedInRange:v,weekStartsOn:C,locale:j,haptic:P,headerLabelStyle:M,navButtonStyle:_,testID:N?`${N}-grid`:void 0}),_jsxs(View,{style:W.footer,children:[_jsx(Pressable,{onPress:de,style:({pressed:e})=>[W.footerBtn,W.footerCancel,e&&W.footerBtnPressed,B],accessibilityRole:"button",accessibilityLabel:k,children:_jsx(Text,{style:[W.footerBtnText,{color:E.colors["text-muted"]}],children:k})}),_jsx(Pressable,{onPress:ce,disabled:ge,style:({pressed:e})=>[W.footerBtn,W.footerConfirm,{backgroundColor:E.colors.primary,opacity:ge?.5:1},e&&{backgroundColor:E.colors["primary-hover"]},B],accessibilityRole:"button",accessibilityLabel:w,accessibilityState:{disabled:ge},"aria-disabled":ge,children:_jsx(Text,{style:[W.footerBtnText,{color:E.colors["on-primary"]}],children:w})})]})]}),pe=useMemo(()=>{if(!r.start||!r.end)return"";const e={start:r.start,end:r.end};return h?h(e):`${e.start.toLocaleDateString()} – ${e.end.toLocaleDateString()}`},[r.start,r.end,h]);return _jsxs(_Fragment,{children:[I?null:_jsx(PickerTrigger,{label:i,placeholder:n,helperText:l,error:d,required:c,disabled:u,size:m,variant:g,clearable:f,onClear:p,value:pe,onPress:()=>H(!0),triggerStyle:b,testID:O}),_jsx(Modal,{visible:L,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:se,children:_jsx(ModalSafeArea,{onInsets:F,children:_jsxs(AnimatedGestureRoot,{collapsable:!1,style:[W.backdrop,{backgroundColor:le}],children:[_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:se,accessibilityLabel:"Dismiss"}),_jsx(Animated.View,{style:[W.sheetWrap,{paddingBottom:Math.max($.bottom,E.space.lg),opacity:ne,transform:[{translateY:Animated.add(ue,ee)}]}],onLayout:e=>{te.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessibilityRole:"none",children:fe}),_jsx(ToastHost,{})]})})})]})});DateRangePicker.displayName="DateRangePicker";const buildStyles=e=>{const t=e.shadow.popover;return StyleSheet.create({backdrop:{...StyleSheet.absoluteFill},sheetWrap:{position:"absolute",left:0,right:0,bottom:0,paddingHorizontal:e.space.md,paddingBottom:e.space.lg},card:{backgroundColor:e.colors.surface,borderRadius:e.radius.xl,...smoothCorners,padding:e.space.lg,shadowColor:t.shadowColor,shadowOffset:t.shadowOffset,shadowOpacity:t.shadowOpacity,shadowRadius:t.shadowRadius,elevation:t.elevation},grabArea:{marginTop:-e.space.lg,paddingTop:e.space.sm},handle:{alignSelf:"center",width:36,height:4,borderRadius:e.radius.pill,...smoothCorners,backgroundColor:e.colors["border-subtle"],marginBottom:e.space.sm},titleRow:{marginBottom:e.space.sm},title:{fontSize:e.text.lg.size,fontWeight:e.weight.semibold,color:e.colors["text-body"]},subtitle:{marginTop:e.space.xxs,fontSize:e.text.sm.size,color:e.colors["text-muted"]},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",marginTop:e.space.lg,gap:e.space.sm},footerBtn:{paddingHorizontal:e.space.lg,paddingVertical:e.space.sm,borderRadius:e.radius.md,...smoothCorners,minHeight:40,alignItems:"center",justifyContent:"center"},footerCancel:{backgroundColor:"transparent"},footerConfirm:{},footerBtnPressed:{opacity:.85},footerBtnText:{fontSize:e.text.sm.size,fontWeight:e.weight.semibold}})};export{DateRangePicker};export default DateRangePicker;
1
+ "use strict";import{forwardRef,useCallback,useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,Modal,Pressable,StyleSheet,View}from"react-native";import{GestureDetector,GestureHandlerRootView}from"react-native-gesture-handler";import{useDragToDismiss}from"../../hooks/useDragToDismiss.js";import{usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{createAnimatedValue,setNativeValue,useTheme}from"../../theme/index.js";import{triggerHaptic}from"../../utils/index.js";import{transparentOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{Calendar}from"../Calendar/index.js";import{daysBetween,startOfDay,startOfMonth}from"../Calendar/calendarDates.js";import{ModalSafeArea,useModalInsets}from"../ModalSafeArea/ModalSafeArea.js";import{PickerTrigger}from"../PickerTrigger/index.js";import{Text}from"../Text/index.js";import{ToastHost}from"../Toast/ToastProvider.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";export const DEFAULT_DATE_RANGE_PICKER_LABELS=Object.freeze({title:"Select Date Range",confirm:"Confirm",cancel:"Cancel",dismiss:"Dismiss"});const AnimatedGestureRoot=Animated.createAnimatedComponent(GestureHandlerRootView),formatRangePart=(e,t)=>new Intl.DateTimeFormat(t,{weekday:"short",day:"numeric",month:"short"}).format(e),DateRangePicker=forwardRef((e,t)=>{const{visible:a,value:s,onChange:r,onClose:o,label:i,placeholder:n,helperText:l,error:d,required:c,disabled:m,size:u,variant:g,clearable:f,onClear:p,formatValue:h,triggerStyle:b,minDate:y,maxDate:x,disabledDates:D,marks:v,locale:R="en-IN",weekStartsOn:j=0,title:S,labels:C,maxRange:w,haptic:T,style:A,containerStyle:_,headerLabelStyle:k,navButtonStyle:M,footerButtonStyle:P,testID:V}=e,B=void 0!==a,[E,O]=useState(!1),z=B?a:E,L=B?V:V?`${V}-calendar`:void 0,H=useTheme(),I=usePresenceMotion(),[N,G]=useModalInsets(),F=useMemo(()=>buildStyles(H),[H]),$=useMemo(()=>({...DEFAULT_DATE_RANGE_PICKER_LABELS,...C}),[C]),[W,q]=useState(()=>startOfMonth(s.start??new Date)),[K,U]=useState(s.start?startOfDay(s.start):null),[Y,J]=useState(s.end?startOfDay(s.end):null),Q=useRef(createAnimatedValue(0)).current,X=useRef(createAnimatedValue(0)).current,Z=useRef(createAnimatedValue(0)).current,ee=useRef(0);useEffect(()=>{if(s.start){const e=startOfDay(s.start);U(e),q(startOfMonth(e))}else U(null);s.end?J(startOfDay(s.end)):J(null)},[s.start,s.end]);const te=useCallback(e=>{if(e.end&&w&&daysBetween(e.start,e.end)+1>w)return!1!==T&&triggerHaptic("notificationWarning"),U(e.end),void J(null);U(e.start),J(e.end??null)},[w,T]),ae=useCallback(()=>{B?o?.():O(!1)},[B,o]),se=useCallback(()=>{Animated.parallel([Animated.timing(Q,{toValue:0,duration:I.duration("default"),easing:Easing.bezier(...H.motion.ease.accelerate),useNativeDriver:!1}),Animated.timing(X,{toValue:0,duration:I.duration("fast"),easing:Easing.bezier(...H.motion.ease.accelerate),useNativeDriver:!0})]).start(()=>{ae()})},[Q,ae,I,X,H.motion.ease.accelerate]),{handleGesture:re,opacity:oe}=useDragToDismiss({drag:Z,travel:()=>ee.current||320,onDismiss:se}),ie=useMemo(()=>Animated.multiply(X,oe),[X,oe]),ne=useMemo(()=>Q.interpolate({inputRange:[0,1],outputRange:[transparentOf(H.colors.scrim),H.colors.scrim]}),[Q,H.colors.scrim]);useEffect(()=>{let e;if(z){Q.setValue(0),setNativeValue(X,0),setNativeValue(Z,0),setNativeValue(oe,1);const t=I.reduced?Animated.timing(X,{toValue:1,duration:I.duration("default"),useNativeDriver:!0}):Animated.spring(X,{toValue:1,damping:H.motion.spring.gentle.damping,stiffness:H.motion.spring.gentle.stiffness,mass:H.motion.spring.gentle.mass,useNativeDriver:!0});e=Animated.parallel([Animated.timing(Q,{toValue:1,duration:I.duration("default"),easing:Easing.out(Easing.cubic),useNativeDriver:!1}),t]),e.start()}return()=>e?.stop()},[z,Q,I,X,Z,oe,H.motion]);const le=useCallback(()=>{!1!==T&&triggerHaptic("selection"),se()},[se,T]),de=useCallback(()=>{K&&Y&&(!1!==T&&triggerHaptic("notificationSuccess"),r?.({start:K,end:Y}),se())},[se,r,K,Y,T]),ce=X.interpolate({inputRange:[0,1],outputRange:I.range(320,0)}),me=useMemo(()=>K&&Y?`${formatRangePart(K,R)} — ${formatRangePart(Y,R)}`:K?`${formatRangePart(K,R)} — …`:"—",[K,Y,R]),ue=!K||!Y,ge=_jsxs(View,{style:[F.card,A,_],ref:t,accessible:!1,testID:L,children:[_jsx(GestureDetector,{gesture:re,children:_jsxs(View,{style:F.grabArea,children:[_jsx(View,{style:F.handle}),_jsxs(View,{style:F.titleRow,children:[_jsx(Text,{variant:"title",style:F.title,accessibilityRole:"header",children:S??$.title}),_jsx(Text,{variant:"bodySmall",style:F.subtitle,accessibilityLiveRegion:"polite",children:me})]})]})}),_jsx(Calendar,{selectionMode:"range",value:K?{start:K,end:Y??void 0}:null,onChange:te,month:W,onMonthChange:q,minDate:y,maxDate:x,disabledDates:D,marks:v,weekStartsOn:j,locale:R,haptic:T,headerLabelStyle:k,navButtonStyle:M,testID:L?`${L}-grid`:void 0}),_jsxs(View,{style:F.footer,children:[_jsx(Pressable,{onPress:le,style:({pressed:e})=>[F.footerBtn,F.footerCancel,e&&F.footerBtnPressed,P],accessibilityRole:"button",accessibilityLabel:$.cancel,children:_jsx(Text,{variant:"label",weight:"semibold",style:[F.footerBtnText,{color:H.colors["text-muted"]}],children:$.cancel})}),_jsx(Pressable,{onPress:de,disabled:ue,style:({pressed:e})=>[F.footerBtn,F.footerConfirm,{backgroundColor:H.colors.primary,opacity:ue?.5:1},e&&{backgroundColor:H.colors["primary-hover"]},P],accessibilityRole:"button",accessibilityLabel:$.confirm,accessibilityState:{disabled:ue},"aria-disabled":ue,children:_jsx(Text,{variant:"label",weight:"semibold",style:[F.footerBtnText,{color:H.colors["on-primary"]}],children:$.confirm})})]})]}),fe=useMemo(()=>{if(!s.start||!s.end)return"";const e={start:s.start,end:s.end};return h?h(e):`${e.start.toLocaleDateString()} – ${e.end.toLocaleDateString()}`},[s.start,s.end,h]);return _jsxs(_Fragment,{children:[B?null:_jsx(PickerTrigger,{label:i,placeholder:n,helperText:l,error:d,required:c,disabled:m,size:u,variant:g,clearable:f,onClear:p,value:fe,onPress:()=>O(!0),triggerStyle:b,testID:V}),_jsx(Modal,{visible:z,transparent:!0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",onRequestClose:se,children:_jsx(ModalSafeArea,{onInsets:G,children:_jsxs(AnimatedGestureRoot,{collapsable:!1,style:[F.backdrop,{backgroundColor:ne}],children:[_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:se,accessibilityLabel:$.dismiss}),_jsx(Animated.View,{style:[F.sheetWrap,{paddingBottom:Math.max(N.bottom,H.space.lg),opacity:ie,transform:[{translateY:Animated.add(ce,Z)}]}],onLayout:e=>{ee.current=e.nativeEvent.layout.height},accessibilityViewIsModal:!0,accessibilityRole:"none",children:ge}),_jsx(ToastHost,{})]})})})]})});DateRangePicker.displayName="DateRangePicker";const buildStyles=e=>{const t=e.shadow.popover;return StyleSheet.create({backdrop:{...StyleSheet.absoluteFill},sheetWrap:{position:"absolute",left:0,right:0,bottom:0,paddingHorizontal:e.space.md,paddingBottom:e.space.lg},card:{backgroundColor:e.colors.surface,borderRadius:e.radius.xl,...smoothCorners,padding:e.space.lg,shadowColor:t.shadowColor,shadowOffset:t.shadowOffset,shadowOpacity:t.shadowOpacity,shadowRadius:t.shadowRadius,elevation:t.elevation},grabArea:{marginTop:-e.space.lg,paddingTop:e.space.sm},handle:{alignSelf:"center",width:36,height:4,borderRadius:e.radius.pill,...smoothCorners,backgroundColor:e.colors["border-subtle"],marginBottom:e.space.sm},titleRow:{marginBottom:e.space.sm},title:{fontSize:e.text.lg.size,lineHeight:Math.round(e.text.lg.size*e.leading.body),fontWeight:e.weight.semibold,color:e.colors["text-body"]},subtitle:{marginTop:e.space.xxs,fontSize:e.text.sm.size,lineHeight:Math.round(e.text.sm.size*e.leading.body),color:e.colors["text-muted"]},footer:{flexDirection:"row",justifyContent:"flex-end",alignItems:"center",marginTop:e.space.lg,gap:e.space.sm},footerBtn:{paddingHorizontal:e.space.lg,paddingVertical:e.space.sm,borderRadius:e.radius.md,...smoothCorners,minHeight:40,alignItems:"center",justifyContent:"center"},footerCancel:{backgroundColor:"transparent"},footerConfirm:{},footerBtnPressed:{opacity:.85},footerBtnText:{fontSize:e.text.sm.size,lineHeight:Math.round(e.text.sm.size*e.leading.body),fontWeight:e.weight.semibold}})};export{DateRangePicker};export default DateRangePicker;
@@ -1 +1 @@
1
- "use strict";export{DateRangePicker,default}from"./DateRangePicker.js";
1
+ "use strict";export{DateRangePicker,DEFAULT_DATE_RANGE_PICKER_LABELS,default}from"./DateRangePicker.js";
@@ -1 +1 @@
1
- "use strict";import{formatDate}from"@webority/mobile-core";import{useMemo}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_DATE_SEPARATOR_LABELS=Object.freeze({today:"Today",yesterday:"Yesterday"});const DAY_MS=864e5;export const dayLabel=(e,t={})=>{const r=formatDate(e,{empty:""});if(!r)return"";const o={...DEFAULT_DATE_SEPARATOR_LABELS,...t.labels},s=t.now??new Date;return r===formatDate(s)?o.today:r===formatDate(new Date(s.getTime()-DAY_MS))?o.yesterday:r};export const DateSeparator=({date:e,label:t,emphasis:r=!1,labels:o,now:s,style:a,testID:i})=>{const l=useTheme(),m=useMemo(()=>buildStyles(l),[l]),c=t??(void 0===e?"":dayLabel(e,{now:s,labels:o})),n=r?l.colors.primary:l.colors["border-subtle"];return _jsxs(View,{style:[m.row,a],testID:i,children:[_jsx(View,{style:[m.rule,{backgroundColor:n}]}),_jsx(Text,{variant:"caption",weight:r?"semibold":"medium",color:r?l.colors["primary-text"]:"secondary",accessibilityRole:"header",children:c}),_jsx(View,{style:[m.rule,{backgroundColor:n}]})]})};const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center",gap:e.space.sm,paddingVertical:e.space.sm},rule:{flex:1,height:StyleSheet.hairlineWidth}});export default DateSeparator;
1
+ "use strict";import{formatDate}from"@webority/mobile-core";import{useMemo}from"react";import{StyleSheet,View}from"react-native";import{useTheme}from"../../theme/index.js";import{Text}from"../Text/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_DATE_SEPARATOR_LABELS=Object.freeze({today:"Today",yesterday:"Yesterday"});const DAY_MS=864e5;export const dayLabel=(e,t={})=>{const r=formatDate(e,{empty:""});if(!r)return"";const o={...DEFAULT_DATE_SEPARATOR_LABELS,...t.labels},s=t.now??new Date;return r===formatDate(s)?o.today:r===formatDate(new Date(s.getTime()-DAY_MS))?o.yesterday:r};export const DateSeparator=({date:e,label:t,emphasis:r=!1,labels:o,now:s,style:a,testID:i})=>{const l=useTheme(),m=useMemo(()=>buildStyles(l),[l]),c=t??(void 0===e?"":dayLabel(e,{now:s,labels:o})),n=r?l.colors.primary:l.colors["border-subtle"];return _jsxs(View,{style:[m.row,a],testID:i,children:[_jsx(View,{style:[m.rule,{backgroundColor:n}]}),_jsx(Text,{variant:"caption",weight:r?"semibold":"medium",color:r?void 0:"secondary",style:r?{color:l.colors["primary-text"]}:void 0,accessibilityRole:"header",children:c}),_jsx(View,{style:[m.rule,{backgroundColor:n}]})]})};const buildStyles=e=>StyleSheet.create({row:{flexDirection:"row",alignItems:"center",gap:e.space.sm,paddingVertical:e.space.sm},rule:{flex:1,height:StyleSheet.hairlineWidth}});export default DateSeparator;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useEffect,useState}from"react";import{Platform}from"react-native";import{Input}from"../Input/index.js";import{jsx as _jsx}from"react/jsx-runtime";export function cleanDecimalText(e,{whole:t,signed:n,decimals:r,allowExponent:a}={}){const o=String(e??"");if(a)return o.replace(/[^\d.eE+-]/g,"");const i=Boolean(n)&&o.replace(/[^\d.,-]/g,"").startsWith("-");let l=o.replace(t?/\D/g:/[^\d.,]/g,"");const c=l.search(/[.,]/);if(-1!==c){const e=l.slice(c+1).replace(/[.,]/g,"");l=l.slice(0,c+1)+(null==r?e:e.slice(0,r))}return(i?"-":"")+l}export function isUnclearDecimalComma(e){return/,\d{3}$/.test(String(e??""))}export function pointDecimalText(e){return isUnclearDecimalComma(e)?e:e.replace(",",".")}export function parseDecimalText(e){if(isUnclearDecimalComma(e))return"";const t=pointDecimalText(e);if(""===t||"-"===t||"."===t||"-."===t)return"";const n=Number(t);return Number.isFinite(n)?n:""}const textOf=e=>null==e||""===e?"":String(e);function keyboardFor({whole:e,signed:t,allowExponent:n}){return n?"ios"===Platform.OS?"numbers-and-punctuation":"default":t?"numeric":e?"number-pad":"decimal-pad"}const DecimalInput=forwardRef((e,t)=>{const{symbol:n,value:r,onChange:a,onBlur:o,min:i,max:l,whole:c=!1,signed:m=!1,decimals:s,allowExponent:u=!1,numeric:p=!1,unclearCommaMessage:d="Use a point for the decimal mark. A comma before three digits could mean thousands.",error:f,readOnly:x=!1,disabled:D=!1,...g}=e,[b,h]=useState(textOf(r));useEffect(()=>{p&&h(e=>parseDecimalText(e)===r?e:textOf(r))},[p,r]);const T=x||D,w={whole:c,signed:m,decimals:s,allowExponent:u},C=p?b:textOf(r);return _jsx(Input,{prefix:n,keyboardType:keyboardFor(w),autoCapitalize:"none",autoCorrect:!1,readOnly:x,disabled:D,...g,ref:t,error:f??(isUnclearDecimalComma(C)?d:void 0),value:C,onChangeText:T?void 0:e=>{const t=cleanDecimalText(e,w),n=u?""===t?"":Number(t):parseDecimalText(t);""!==n&&Number.isFinite(n)&&(null!=l&&n>l||null!=i&&n<i)||(p?(h(t),a?.(parseDecimalText(t))):a?.(t))},onBlur:T?void 0:e=>{const t=pointDecimalText(C);t!==C&&(p?h(t):a?.(t)),o?.(e)}})});DecimalInput.displayName="DecimalInput";export{DecimalInput};export default DecimalInput;
1
+ "use strict";import{forwardRef,useEffect,useMemo,useState}from"react";import{Platform}from"react-native";import{Input}from"../Input/index.js";import{jsx as _jsx}from"react/jsx-runtime";export function cleanDecimalText(e,{whole:t,signed:n,decimals:a,allowExponent:r}={}){const o=String(e??"");if(r)return o.replace(/[^\d.eE+-]/g,"");const l=Boolean(n)&&o.replace(/[^\d.,-]/g,"").startsWith("-");let i=o.replace(t?/\D/g:/[^\d.,]/g,"");const c=i.search(/[.,]/);if(-1!==c){const e=i.slice(c+1).replace(/[.,]/g,"");i=i.slice(0,c+1)+(null==a?e:e.slice(0,a))}return(l?"-":"")+i}export function isUnclearDecimalComma(e){return/,\d{3}$/.test(String(e??""))}export function pointDecimalText(e){return isUnclearDecimalComma(e)?e:e.replace(",",".")}export function parseDecimalText(e){if(isUnclearDecimalComma(e))return"";const t=pointDecimalText(e);if(""===t||"-"===t||"."===t||"-."===t)return"";const n=Number(t);return Number.isFinite(n)?n:""}const textOf=e=>null==e?"":String(e),toNull=e=>""===e?null:e;function keyboardFor({whole:e,signed:t,allowExponent:n}){return n?"ios"===Platform.OS?"numbers-and-punctuation":"default":t?"numeric":e?"number-pad":"decimal-pad"}export const DEFAULT_DECIMAL_INPUT_LABELS={unclearComma:"Use a point for the decimal mark. A comma before three digits could mean thousands."};const DecimalInput=forwardRef((e,t)=>{const{symbol:n,value:a,onChange:r,onBlur:o,min:l,max:i,whole:c=!1,signed:m=!1,decimals:s,allowExponent:u=!1,labels:p,error:d,readOnly:f=!1,disabled:x=!1,...D}=e,g=useMemo(()=>({...DEFAULT_DECIMAL_INPUT_LABELS,...p}),[p]),[T,b]=useState(textOf(a));useEffect(()=>{b(e=>toNull(parseDecimalText(e))===(a??null)?e:textOf(a))},[a]);const E=f||x,C={whole:c,signed:m,decimals:s,allowExponent:u},I=T;return _jsx(Input,{prefix:n,keyboardType:keyboardFor(C),autoCapitalize:"none",autoCorrect:!1,readOnly:f,disabled:x,...D,ref:t,error:d??(isUnclearDecimalComma(I)?g.unclearComma:void 0),value:I,onChangeText:E?void 0:e=>{const t=cleanDecimalText(e,C),n=u?""===t?"":Number(t):parseDecimalText(t);""!==n&&Number.isFinite(n)&&(null!=i&&n>i||null!=l&&n<l)||(b(t),r?.(toNull(parseDecimalText(t))))},onBlur:E?void 0:e=>{const t=pointDecimalText(I);t!==I&&b(t),o?.(e)}})});DecimalInput.displayName="DecimalInput";export{DecimalInput};export default DecimalInput;
@@ -1 +1 @@
1
- "use strict";export{cleanDecimalText,DecimalInput,default,isUnclearDecimalComma,parseDecimalText,pointDecimalText}from"./DecimalInput.js";
1
+ "use strict";export{cleanDecimalText,DEFAULT_DECIMAL_INPUT_LABELS,DecimalInput,default,isUnclearDecimalComma,parseDecimalText,pointDecimalText}from"./DecimalInput.js";
@@ -1 +1 @@
1
- "use strict";import{isValidElement,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{Notation,NotationInkContext}from"../Notation/Notation.js";import{resolveColor}from"../Text/Text.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const EMPTY_VALUE="-",rowKey=(e,t)=>e.key??("string"==typeof e.label?`${e.label}-${t}`:`row-${t}`),isEmptyValue=e=>null==e||""===e||Array.isArray(e)&&!e.length,isInlineText=e=>"string"==typeof e||"number"==typeof e||isValidElement(e)&&e.type===Notation||Array.isArray(e)&&e.length>0&&e.every(isInlineText);export const Descriptions=({items:e,columns:t=1,size:l="md",bordered:o=!1,title:r,variant:s="list",style:i,testID:n})=>{const a=useTheme(),m=useMemo(()=>buildStyles(a),[a]),x="sm"===l?a.text.xs.size:a.text.sm.size,u="sm"===l?a.text.sm.size:a.text.base.size,d="sm"===l?a.space.xs:a.space.sm,c="summary"===s,y=useMemo(()=>({fontSize:x,color:a.colors["text-subtle"]}),[x,a.colors["text-subtle"]]),b=useMemo(()=>({fontSize:u,color:a.colors["text-muted"]}),[u,a.colors["text-muted"]]);return _jsxs(View,{style:[c?null:{gap:d},i],testID:n,children:[r?_jsx(Text,{style:[m.title,{fontSize:a.text.lg.size,color:a.colors["text-body"]}],children:r}):null,e.map((e,l)=>{const r=isEmptyValue(e.value),s=2===t&&!e.full,i=r?a.colors["text-subtle"]:resolveColor(a,e.tone??"primary"),n=fontFor(a,e.strong?"semibold":"normal"),f=r||isInlineText(e.value),h=r?"-":"string"==typeof e.value?e.value:_jsx(NotationInkContext.Provider,{value:{fontSize:u,color:i},children:e.value});return _jsxs(View,c?{style:[m.summaryRow,{paddingVertical:d,borderBottomColor:a.colors["border-subtle"]}],children:[_jsx(Text,{style:[m.summaryLabel,{fontSize:u,color:a.colors["text-muted"]}],children:_jsx(NotationInkContext.Provider,{value:b,children:e.label})}),f?_jsx(Text,{style:[m.summaryValue,{fontSize:u,color:i},n],children:h}):_jsx(View,{style:m.summaryValueView,children:e.value})]}:{style:[s?m.rowSide:m.rowStack,{paddingVertical:d},o&&l>0?m.bordered:null,o&&l>0?{borderTopColor:a.colors["border-subtle"]}:null],children:["string"==typeof e.label?_jsx(Text,{style:[m.label,{fontSize:x,color:a.colors["text-subtle"]},s?m.labelSide:null],children:e.label}):_jsx(View,{style:s?m.labelSide:null,children:_jsx(Text,{style:[m.label,{fontSize:x,color:a.colors["text-subtle"]}],children:_jsx(NotationInkContext.Provider,{value:y,children:e.label})})}),f?_jsx(Text,{style:[m.value,{fontSize:u,color:i},e.strong?n:null,s?m.valueSide:null],children:h}):_jsx(View,{style:s?m.valueSide:null,children:e.value})]},rowKey(e,l))})]})};const buildStyles=e=>StyleSheet.create({title:{...fontFor(e,"semibold")},rowStack:{gap:e.space.xxs},rowSide:{flexDirection:"row",alignItems:"flex-start",gap:e.space.md},bordered:{borderTopWidth:StyleSheet.hairlineWidth},label:{...fontFor(e,"semibold")},labelSide:{flex:4},value:{...fontFor(e,"normal")},valueSide:{flex:6},summaryRow:{flexDirection:"row",alignItems:"center",gap:e.space.md,borderBottomWidth:StyleSheet.hairlineWidth},summaryLabel:{flex:1,...fontFor(e,"normal")},summaryValue:{textAlign:"right",flexShrink:1,maxWidth:"60%"},summaryValueView:{flexShrink:1,maxWidth:"60%",alignItems:"flex-end"}});export default Descriptions;
1
+ "use strict";import{isValidElement,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Notation,NotationInkContext}from"../Notation/Notation.js";import{resolveColor}from"../Text/Text.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const EMPTY_VALUE="-",rowKey=(e,t)=>e.key??("string"==typeof e.label?`${e.label}-${t}`:`row-${t}`),isEmptyValue=e=>null==e||""===e||Array.isArray(e)&&!e.length,isInlineText=e=>"string"==typeof e||"number"==typeof e||isValidElement(e)&&e.type===Notation||Array.isArray(e)&&e.length>0&&e.every(isInlineText);export const Descriptions=({items:e,columns:t=1,size:l="md",bordered:o=!1,title:r,variant:s="list",style:i,testID:n})=>{warnInvalidValue("Descriptions","size",l,["sm","md"]),warnInvalidValue("Descriptions","variant",s,["list","summary"]),warnInvalidValue("Descriptions","columns",t,[1,2]);const a=useTheme(),m=useMemo(()=>buildStyles(a),[a]),u="sm"===l?a.text.xs.size:a.text.sm.size,d="sm"===l?a.text.sm.size:a.text.base.size,x="sm"===l?a.space.xs:a.space.sm,c="summary"===s,y=useMemo(()=>({fontSize:u,color:a.colors["text-subtle"]}),[u,a.colors["text-subtle"]]),b=useMemo(()=>({fontSize:d,color:a.colors["text-muted"]}),[d,a.colors["text-muted"]]);return _jsxs(View,{style:[c?null:{gap:x},i],testID:n,children:[r?_jsx(Text,{style:[m.title,{fontSize:a.text.lg.size,color:a.colors["text-body"]}],children:r}):null,e.map((e,l)=>{const r=isEmptyValue(e.value),s=2===t&&!e.full,i=r?a.colors["text-subtle"]:resolveColor(a,e.tone??"primary"),n=fontFor(a,e.strong?"semibold":"normal"),f=r||isInlineText(e.value),p=r?"-":"string"==typeof e.value?e.value:_jsx(NotationInkContext.Provider,{value:{fontSize:d,color:i},children:e.value});return _jsxs(View,c?{style:[m.summaryRow,{paddingVertical:x,borderBottomColor:a.colors["border-subtle"]}],children:[_jsx(Text,{style:[m.summaryLabel,{fontSize:d,color:a.colors["text-muted"]}],children:_jsx(NotationInkContext.Provider,{value:b,children:e.label})}),f?_jsx(Text,{style:[m.summaryValue,{fontSize:d,color:i},n],children:p}):_jsx(View,{style:m.summaryValueView,children:e.value})]}:{style:[s?m.rowSide:m.rowStack,{paddingVertical:x},o&&l>0?m.bordered:null,o&&l>0?{borderTopColor:a.colors["border-subtle"]}:null],children:["string"==typeof e.label?_jsx(Text,{style:[m.label,{fontSize:u,color:a.colors["text-subtle"]},s?m.labelSide:null],children:e.label}):_jsx(View,{style:s?m.labelSide:null,children:_jsx(Text,{style:[m.label,{fontSize:u,color:a.colors["text-subtle"]}],children:_jsx(NotationInkContext.Provider,{value:y,children:e.label})})}),f?_jsx(Text,{style:[m.value,{fontSize:d,color:i},e.strong?n:null,s?m.valueSide:null],children:p}):_jsx(View,{style:s?m.valueSide:null,children:e.value})]},rowKey(e,l))})]})};const buildStyles=e=>StyleSheet.create({title:{...fontFor(e,"semibold")},rowStack:{gap:e.space.xxs},rowSide:{flexDirection:"row",alignItems:"flex-start",gap:e.space.md},bordered:{borderTopWidth:StyleSheet.hairlineWidth},label:{...fontFor(e,"semibold")},labelSide:{flex:4},value:{...fontFor(e,"normal")},valueSide:{flex:6},summaryRow:{flexDirection:"row",alignItems:"center",gap:e.space.md,borderBottomWidth:StyleSheet.hairlineWidth},summaryLabel:{flex:1,...fontFor(e,"normal")},summaryValue:{textAlign:"right",flexShrink:1,maxWidth:"60%"},summaryValueView:{flexShrink:1,maxWidth:"60%",alignItems:"flex-end"}});export default Descriptions;
@@ -1 +1 @@
1
- "use strict";import{useCallback,useMemo,useRef,useState}from"react";import{ActivityIndicator,Pressable,StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{MODAL_DISMISS_GRACE_MS,Modal}from"../Modal/Modal.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const Dialog=e=>{const{visible:t,onClose:o,title:r,message:l,children:s,icon:i,variant:n="default",actions:a,dismissOnAction:c=!0,accessibilityLabel:d,contentStyle:u,containerStyle:b,titleStyle:m,messageStyle:g,iconWrapperStyle:p,actionsRowStyle:y,actionButtonStyle:h,actionTextStyle:x,haptic:f,testID:C}=e,S=useTheme(),j=useMemo(()=>buildStyles(S),[S]),_=useMemo(()=>discFor(S,n),[S,n]),w=S.components.dialog["icon-wrapper-size"],R=S.components.dialog["action-button-min-height"],k=Boolean(a&&a.length>0),D=S.text.base.size*S.leading.body,I=a?a.map(e=>e.label).join("\n"):"",[M,v]=useState(null),z=null!==M&&M===I,A=useRef(null),B=useCallback(e=>{e.nativeEvent.layout.height>1.5*D&&v(I)},[D,I]),O=useCallback(e=>{const t=e.nativeEvent.layout.width,o=A.current;A.current=t,null!==o&&Math.abs(o-t)>.5&&v(null)},[]),T=useCallback(e=>{if(e.loading||e.disabled)return;const t=resolveHaptic(f,"selection");t&&triggerHaptic(t),c?(o(),setTimeout(e.onPress,MODAL_DISMISS_GRACE_MS)):e.onPress()},[c,o,f]);return _jsx(Modal,{visible:t,onRequestClose:o,haptic:f,presentation:"centered",accessibilityLabel:d??r,contentStyle:u,testID:C,children:_jsxs(View,{accessibilityRole:"alert",accessibilityLabel:d??r,style:[j.container,b],children:[i?_jsx(View,{style:[j.iconWrapper,{width:w,height:w,borderRadius:S.radius.pill,...smoothCorners,backgroundColor:_,marginBottom:S.space.md},p],children:i}):null,r?_jsx(Text,{style:[j.title,{color:S.colors["text-body"],fontSize:S.text.xl.size,...fontFor(S,"semibold"),marginBottom:l||null!=s?S.space.sm:S.space.md},m],accessibilityRole:"header",children:r}):null,l?_jsx(Text,{style:[j.message,{color:S.colors["text-muted"],fontSize:S.text.base.size,lineHeight:S.text.base.size*S.leading.body,marginBottom:null!=s?S.space.md:k?S.space.lg:0},g],children:l}):null,null!=s?_jsx(View,{style:{marginBottom:k?S.space.lg:0},children:s}):null,a&&a.length>0?_jsx(View,{style:[j.actionsRow,z?j.actionsRowStacked:null,y],onLayout:O,children:a.map((e,t)=>{const o=e.tone??"primary",r=Boolean(e.disabled),l=actionStyleFor(S,o,r),s=t===a.length-1;return _jsx(Pressable,{onPress:()=>T(e),disabled:e.loading||r,accessibilityRole:"button",accessibilityLabel:e.label,accessibilityState:{busy:e.loading,disabled:Boolean(e.loading)||r},"aria-busy":e.loading,"aria-disabled":Boolean(e.loading)||r,style:({pressed:t})=>[j.actionButton,{flex:z?0:1,minHeight:R,backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,borderRadius:S.radius.md,...smoothCorners,paddingVertical:S.space.sm,paddingHorizontal:S.space.md,marginRight:s||z?0:S.space.sm,opacity:e.loading?.7:t&&!r?.85:1},h],children:e.loading?_jsx(ActivityIndicator,{size:"small",color:l.textColor}):_jsx(View,{onLayout:B,children:_jsx(Text,{style:[{color:l.textColor,fontSize:S.text.base.size,...fontFor(S,"semibold"),textAlign:"center"},x],children:e.label})})},`${e.label}-${t}`)})}):null]})})};Dialog.displayName="Dialog";const SOFT_DISC_OPACITY=.14,discFor=(e,t)=>{const o=e.colors["bg-subtle"];switch(t){case"success":return tintOf(e.colors.success,.14,o);case"warning":return tintOf(e.colors.warning,.14,o);case"danger":return tintOf(e.colors.danger,.14,o);case"info":return tintOf(e.colors.info,.14,o);default:return e.colors["primary-soft"]}},actionStyleFor=(e,t,o)=>{if(o)return{backgroundColor:"neutral"===t?"transparent":e.colors["surface-disabled"],borderColor:"neutral"===t?e.colors.border:"transparent",borderWidth:"neutral"===t?1:0,textColor:e.colors["text-disabled"]};switch(t){case"primary":return{backgroundColor:e.colors.primary,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-primary"]};case"info":return{backgroundColor:e.colors.info,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-info"]};case"danger":return{backgroundColor:e.colors.danger,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-danger"]};default:return{backgroundColor:"transparent",borderColor:e.colors.border,borderWidth:1,textColor:e.colors["text-body"]}}},buildStyles=e=>StyleSheet.create({container:{alignItems:"stretch"},iconWrapper:{alignItems:"center",justifyContent:"center",alignSelf:"center"},title:{textAlign:"center"},message:{textAlign:"center"},actionsRow:{flexDirection:"row",justifyContent:"flex-end",alignItems:"stretch"},actionsRowStacked:{flexDirection:"column",rowGap:e.space.sm},actionButton:{alignItems:"center",justifyContent:"center"}});export{Dialog};export default Dialog;
1
+ "use strict";import{isValidElement,useCallback,useMemo,useRef,useState}from"react";import{ActivityIndicator,Image,Pressable,StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{tintOf}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{AppIcon}from"../AppIcon/index.js";import{MODAL_DISMISS_GRACE_MS,Modal}from"../Modal/Modal.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const DIALOG_TONES=["primary","success","warning","danger","info","neutral"],DIALOG_ILLUSTRATION_SIZE=120,STATUS_MARK={success:"check-circle",warning:"alert-triangle",danger:"alert-circle",info:"info-circle"},Dialog=e=>{const{visible:o,onClose:t,title:r,message:l,children:n,icon:s,illustration:i,tone:a="neutral",actions:c,dismissOnAction:d=!0,accessibilityLabel:u,contentStyle:g,containerStyle:m,titleStyle:b,messageStyle:p,iconWrapperStyle:h,actionsRowStyle:y,actionButtonStyle:x,actionTextStyle:S,haptic:f,testID:C}=e;warnInvalidValue("Dialog","tone",e.tone,DIALOG_TONES);const I=useTheme(),_=useMemo(()=>buildStyles(I),[I]),w=useMemo(()=>discFor(I,a),[I,a]),j=I.components.dialog["icon-wrapper-size"],A=I.components.dialog["action-button-min-height"],T=Boolean(c&&c.length>0),D=I.text.base.size*I.leading.body,M=c?c.map(e=>e.label).join("\n"):"",[R,O]=useState(null),k=null!==R&&R===M,v=useRef(null),L=useCallback(e=>{e.nativeEvent.layout.height>1.5*D&&O(M)},[D,M]),V=useCallback(e=>{const o=e.nativeEvent.layout.width,t=v.current;v.current=o,null!==t&&Math.abs(t-o)>.5&&O(null)},[]),z=useCallback(e=>{if(e.loading||e.disabled)return;const o=resolveHaptic(f,"selection");o&&triggerHaptic(o),d?(t(),setTimeout(e.onPress,MODAL_DISMISS_GRACE_MS)):e.onPress()},[d,t,f]),B=null==s&&null==i&&STATUS_MARK[a]?_jsx(AppIcon,{name:STATUS_MARK[a],size:Math.round(j/2),color:I.colors[a]}):null,W=s??B;return _jsx(Modal,{visible:o,onClose:t,haptic:f,presentation:"centered",accessibilityLabel:u??r,contentStyle:g,testID:C,children:_jsxs(View,{accessibilityRole:"alert",accessibilityLabel:u??r,style:[_.container,m],children:[null!=i?_jsx(View,{style:{alignItems:"center",marginBottom:I.space.md},children:isValidElement(i)?i:_jsx(Image,{source:i,style:{width:120,height:120},resizeMode:"contain",accessibilityIgnoresInvertColors:!0})}):null,W?_jsx(View,{style:[_.iconWrapper,{width:j,height:j,borderRadius:I.radius.pill,...smoothCorners,backgroundColor:w,marginBottom:I.space.md},h],children:W}):null,r?_jsx(Text,{style:[_.title,{color:I.colors["text-body"],fontSize:I.text.xl.size,...fontFor(I,"semibold"),marginBottom:l||null!=n?I.space.sm:I.space.md},b],accessibilityRole:"header",children:r}):null,l?_jsx(Text,{style:[_.message,{color:I.colors["text-muted"],fontSize:I.text.base.size,lineHeight:I.text.base.size*I.leading.body,marginBottom:null!=n?I.space.md:T?I.space.lg:0},p],children:l}):null,null!=n?_jsx(View,{style:{marginBottom:T?I.space.lg:0},children:n}):null,c&&c.length>0?_jsx(View,{style:[_.actionsRow,k?_.actionsRowStacked:null,y],onLayout:V,children:c.map((e,o)=>{warnInvalidValue("Dialog","actions[].tone",e.tone,DIALOG_TONES);const t=e.tone??"primary",r=Boolean(e.disabled),l=actionStyleFor(I,t,r),n=o===c.length-1;return _jsx(Pressable,{onPress:()=>z(e),disabled:e.loading||r,accessibilityRole:"button",accessibilityLabel:e.label,accessibilityState:{busy:e.loading,disabled:Boolean(e.loading)||r},"aria-busy":e.loading,"aria-disabled":Boolean(e.loading)||r,style:({pressed:o})=>[_.actionButton,{flex:k?0:1,minHeight:A,backgroundColor:l.backgroundColor,borderColor:l.borderColor,borderWidth:l.borderWidth,borderRadius:I.radius.md,...smoothCorners,paddingVertical:I.space.sm,paddingHorizontal:I.space.md,marginRight:n||k?0:I.space.sm,opacity:e.loading?.7:o&&!r?.85:1},x],children:e.loading?_jsx(ActivityIndicator,{size:"small",color:l.textColor}):_jsx(View,{onLayout:L,children:_jsx(Text,{style:[{color:l.textColor,fontSize:I.text.base.size,...fontFor(I,"semibold"),textAlign:"center"},S],children:e.label})})},`${e.label}-${o}`)})}):null]})})};Dialog.displayName="Dialog";const SOFT_DISC_OPACITY=.14,discFor=(e,o)=>{const t=e.colors["bg-subtle"];switch(o){case"success":return tintOf(e.colors.success,.14,t);case"warning":return tintOf(e.colors.warning,.14,t);case"danger":return tintOf(e.colors.danger,.14,t);case"info":return tintOf(e.colors.info,.14,t);default:return e.colors["primary-soft"]}},actionStyleFor=(e,o,t)=>{if(t)return{backgroundColor:"neutral"===o?"transparent":e.colors["surface-disabled"],borderColor:"neutral"===o?e.colors.border:"transparent",borderWidth:"neutral"===o?1:0,textColor:e.colors["text-disabled"]};switch(o){case"primary":return{backgroundColor:e.colors.primary,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-primary"]};case"info":return{backgroundColor:e.colors.info,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-info"]};case"success":return{backgroundColor:e.colors.success,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-success"]};case"warning":return{backgroundColor:e.colors.warning,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-warning"]};case"danger":return{backgroundColor:e.colors.danger,borderColor:"transparent",borderWidth:0,textColor:e.colors["on-danger"]};default:return{backgroundColor:"transparent",borderColor:e.colors.border,borderWidth:1,textColor:e.colors["text-body"]}}},buildStyles=e=>StyleSheet.create({container:{alignItems:"stretch"},iconWrapper:{alignItems:"center",justifyContent:"center",alignSelf:"center"},title:{textAlign:"center"},message:{textAlign:"center"},actionsRow:{flexDirection:"row",justifyContent:"flex-end",alignItems:"stretch"},actionsRowStacked:{flexDirection:"column",rowGap:e.space.sm},actionButton:{alignItems:"center",justifyContent:"center"}});export{Dialog};export default Dialog;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{useTheme}from"../../theme/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const spacingFor=(e,t)=>{switch(t){case"sm":return e.space.sm;case"md":return e.space.md;case"lg":return e.space.lg;default:return 0}},Divider=forwardRef((e,t)=>{const{orientation:i="horizontal",thickness:r=1,color:o,spacing:s="none",inset:l=0,label:n,labelPosition:a="center",style:c,testID:m}=e,h=useTheme(),d=o??h.colors.border,u=spacingFor(h,s),f=useMemo(()=>buildStyles(h),[h]);if("vertical"===i)return _jsx(View,{ref:t,accessibilityRole:"none",testID:m,style:[f.vertical,{width:r,backgroundColor:d,marginHorizontal:u,marginTop:l},c]});if(n){const e="start"===a?0:1,i="end"===a?0:1;return _jsxs(View,{ref:t,accessibilityRole:"none",testID:m,style:[f.horizontalRow,{marginVertical:u,marginLeft:l},c],children:[e>0?_jsx(View,{style:[f.horizontalLine,{height:r,backgroundColor:d,flex:e}]}):null,_jsx(Text,{style:f.label,numberOfLines:1,children:n}),i>0?_jsx(View,{style:[f.horizontalLine,{height:r,backgroundColor:d,flex:i}]}):null]})}return _jsx(View,{ref:t,accessibilityRole:"none",testID:m,style:[f.horizontalLine,{height:r,backgroundColor:d,marginVertical:u,marginLeft:l},c]})});Divider.displayName="Divider";const buildStyles=e=>StyleSheet.create({horizontalRow:{flexDirection:"row",alignItems:"center",width:"100%"},horizontalLine:{width:"100%",alignSelf:"stretch"},vertical:{alignSelf:"stretch"},label:{marginHorizontal:e.space.sm,color:e.colors["text-subtle"],fontSize:e.text.sm.size,fontWeight:e.weight.medium}});export{Divider};export default Divider;
1
+ "use strict";import{forwardRef,useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const spacingFor=(e,i)=>{switch(i){case"sm":return e.space.sm;case"md":return e.space.md;case"lg":return e.space.lg;default:return 0}},Divider=forwardRef((e,i)=>{const{orientation:t="horizontal",thickness:r=1,color:n,spacing:o="none",inset:l=0,label:a,labelPosition:s="center",style:c,testID:d}=e;warnInvalidValue("Divider","orientation",e.orientation,["horizontal","vertical"]),warnInvalidValue("Divider","spacing",e.spacing,["none","sm","md","lg"]),warnInvalidValue("Divider","labelPosition",e.labelPosition,["start","center","end"]);const m=useTheme(),u=n??m.colors.border,h=spacingFor(m,o),g=useMemo(()=>buildStyles(m),[m]);if("vertical"===t)return _jsx(View,{ref:i,accessibilityRole:"none",testID:d,style:[g.vertical,{width:r,backgroundColor:u,marginHorizontal:h,marginTop:l},c]});if(a){const e="start"===s?0:1,t="end"===s?0:1;return _jsxs(View,{ref:i,accessibilityRole:"none",testID:d,style:[g.horizontalRow,{marginVertical:h,marginLeft:l},c],children:[e>0?_jsx(View,{style:[g.horizontalLine,{height:r,backgroundColor:u,flex:e}]}):null,_jsx(Text,{style:g.label,numberOfLines:1,children:a}),t>0?_jsx(View,{style:[g.horizontalLine,{height:r,backgroundColor:u,flex:t}]}):null]})}return _jsx(View,{ref:i,accessibilityRole:"none",testID:d,style:[g.horizontalLine,{height:r,backgroundColor:u,marginVertical:h,marginLeft:l},c]})});Divider.displayName="Divider";const buildStyles=e=>StyleSheet.create({horizontalRow:{flexDirection:"row",alignItems:"center",width:"100%"},horizontalLine:{width:"100%",alignSelf:"stretch"},vertical:{alignSelf:"stretch"},label:{marginHorizontal:e.space.sm,color:e.colors["text-subtle"],fontSize:e.text.sm.size,fontWeight:e.weight.medium}});export{Divider};export default Divider;
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Dimensions,Pressable,StyleSheet,View}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import Animated,{Extrapolation,interpolate,runOnJS,useAnimatedStyle,useSharedValue,withSpring,withTiming}from"react-native-reanimated";import{useSafeAreaInsets}from"react-native-safe-area-context";import{PRESENCE_REDUCE_MOTION,usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const DEFAULT_CLOSE_VELOCITY_THRESHOLD=1e3,DEFAULT_DRAG_ACTIVATION_OFFSET=10,Drawer=forwardRef((e,t)=>{const{visible:a,defaultVisible:i=!1,onChange:r,side:o="left",width:s,enableSwipe:n=!0,enableBackdropPress:l=!0,backdropOpacity:u=.5,haptic:c,containerStyle:d,children:p,accessibilityLabel:h,testID:f}=e,m=useTheme(),b=usePresenceMotion(),g=b.reduced,v=b.duration("default"),S=b.duration("fast"),w=useSafeAreaInsets(),E="boolean"==typeof a,[y,M]=useState(()=>Dimensions.get("window"));useEffect(()=>{const e=Dimensions.addEventListener("change",({window:e})=>M(e));return()=>e.remove()},[]);const C="left"===o||"right"===o,_=useMemo(()=>resolveSize(s,C,y),[s,C,y]),O=useMemo(()=>{switch(o){case"left":case"top":return-_;case"right":case"bottom":return _}},[o,_]),D=useSharedValue(i?0:O),T=useSharedValue(i?0:O),x=useSharedValue(i?1:0),[R,k]=useState(i),I=useSharedValue(i);useEffect(()=>{R||g||(D.value=O,T.value=O)},[O,R,D,T,g]);const N=m.motion.spring.snappy,j=useCallback(()=>{if(g)return D.value=0,void(x.value=withTiming(1,{duration:v,reduceMotion:PRESENCE_REDUCE_MOTION}));x.value=1,D.value=withSpring(0,N)},[D,x,N,g,v]),A=useCallback(()=>{g?x.value=withTiming(0,{duration:S,reduceMotion:PRESENCE_REDUCE_MOTION},e=>{"worklet";e&&(D.value=O)}):D.value=withSpring(O,N)},[D,x,O,N,g,S]),P=useCallback(e=>{k(t=>t===e?t:(r?.(e),e)),I.value=e},[r,I]),V=useCallback(()=>{P(!0),j()},[P,j]),L=useCallback(()=>{P(!1),A()},[P,A]),F=useCallback(()=>{R?L():V()},[R,V,L]);useImperativeHandle(t,()=>({open:V,close:L,toggle:F}),[V,L,F]),useEffect(()=>{E&&a!==R&&(a?V():L())},[a]);const H=useMemo(()=>{const e=O,t=o,a=n;let i=Gesture.Pan();return i=C?i.activeOffsetX([-10,10]).failOffsetY([-15,15]):i.activeOffsetY([-10,10]).failOffsetX([-15,15]),i.onStart(()=>{"worklet";a&&(T.value=D.value)}).onUpdate(t=>{"worklet";if(!a)return;const i=C?t.translationX:t.translationY,r=T.value+i,o=Math.min(0,e),s=Math.max(0,e);D.value=r<o?o+.25*(r-o):r>s?s+.25*(r-s):r}).onEnd(i=>{"worklet";if(!a)return;const r=C?i.velocityX:i.velocityY,o=D.value;let s=!1;s="left"===t||"top"===t?r<-1e3:r>1e3;const n=Math.abs(e),l=Math.abs(o)/n;s||l>.5?(runOnJS(P)(!1),g?x.value=withTiming(0,{duration:S,reduceMotion:PRESENCE_REDUCE_MOTION},t=>{"worklet";t&&(D.value=e)}):D.value=withSpring(e,N)):(runOnJS(P)(!0),g?(D.value=0,x.value=withTiming(1,{duration:v,reduceMotion:PRESENCE_REDUCE_MOTION})):D.value=withSpring(0,N))})},[O,T,n,C,D,x,P,o,N,g,v,S]),U=useAnimatedStyle(()=>C?{opacity:x.value,transform:[{translateX:D.value}]}:{opacity:x.value,transform:[{translateY:D.value}]}),Y=useAnimatedStyle(()=>({opacity:interpolate(D.value,[O,0],[0,u],Extrapolation.CLAMP)*x.value,pointerEvents:Math.abs(D.value-O)<.5?"none":"auto"}),[O,u]),G=useMemo(()=>buildStyles(m),[m]),X=useCallback(()=>{if(!l)return;const e=resolveHaptic(c,"selection");e&&triggerHaptic(e),L()},[l,L,c]),B=useMemo(()=>{switch(o){case"left":return{position:"absolute",top:0,bottom:0,left:0,width:_,paddingTop:w.top,paddingBottom:w.bottom,paddingLeft:w.left};case"right":return{position:"absolute",top:0,bottom:0,right:0,width:_,paddingTop:w.top,paddingBottom:w.bottom,paddingRight:w.right};case"top":return{position:"absolute",top:0,left:0,right:0,height:_,paddingTop:w.top,paddingLeft:w.left,paddingRight:w.right};case"bottom":return{position:"absolute",bottom:0,left:0,right:0,height:_,paddingBottom:w.bottom,paddingLeft:w.left,paddingRight:w.right}}},[o,_,w]),J=useRef(i);return R&&(J.current=!0),J.current?_jsxs(View,{style:StyleSheet.absoluteFill,pointerEvents:"box-none",testID:f,accessibilityViewIsModal:R,children:[_jsx(Animated.View,{style:[G.backdrop,{backgroundColor:m.colors.scrim},Y],children:_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:X,accessibilityRole:"button",accessibilityLabel:"Close drawer",disabled:!l||!R})}),_jsx(GestureDetector,{gesture:H,children:_jsx(Animated.View,{accessibilityRole:"alert",accessibilityLabel:h??"Drawer",style:[B,{backgroundColor:m.colors.surface,...m.shadow.modal},d,U],children:_jsx(View,{style:G.content,children:p})})})]}):null});Drawer.displayName="Drawer";const resolveSize=(e,t,a)=>{if("number"==typeof e)return e;if("string"==typeof e){const i=parseFloat(e);if(Number.isNaN(i))return t?280:Math.round(.4*a.height);return i/100*(t?a.width:a.height)}return t?280:Math.round(.4*a.height)},buildStyles=e=>StyleSheet.create({backdrop:{...StyleSheet.absoluteFill},content:{flex:1}});export{Drawer};export default Drawer;
1
+ "use strict";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Dimensions,Pressable,StyleSheet,View}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import Animated,{Extrapolation,interpolate,runOnJS,useAnimatedStyle,useSharedValue,withSpring,withTiming}from"react-native-reanimated";import{useSafeAreaInsets}from"react-native-safe-area-context";import{PRESENCE_REDUCE_MOTION,usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{useTheme}from"../../theme/index.js";import{resolveHaptic,triggerHaptic}from"../../utils/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_DRAWER_LABELS={close:"Close drawer",drawer:"Drawer"};const DEFAULT_CLOSE_VELOCITY_THRESHOLD=1e3,DEFAULT_DRAG_ACTIVATION_OFFSET=10,Drawer=forwardRef((e,t)=>{const{visible:a,defaultVisible:i=!1,onVisibleChange:r,side:o="left",width:s,enableSwipe:n=!0,enableBackdropPress:l=!0,backdropOpacity:u=.5,haptic:c,containerStyle:d,children:p,accessibilityLabel:h,labels:m,testID:f}=e,b=useTheme();warnInvalidValue("Drawer","side",e.side,["left","right","top","bottom"]);const g=useMemo(()=>({...DEFAULT_DRAWER_LABELS,...m}),[m]),v=usePresenceMotion(),w=v.reduced,S=v.duration("default"),E=v.duration("fast"),y=useSafeAreaInsets(),M="boolean"==typeof a,[_,D]=useState(()=>Dimensions.get("window"));useEffect(()=>{const e=Dimensions.addEventListener("change",({window:e})=>D(e));return()=>e.remove()},[]);const C="left"===o||"right"===o,R=useMemo(()=>resolveSize(s,C,_),[s,C,_]),T=useMemo(()=>{switch(o){case"left":case"top":return-R;case"right":case"bottom":return R}},[o,R]),O=useSharedValue(i?0:T),x=useSharedValue(i?0:T),k=useSharedValue(i?1:0),[A,L]=useState(i),I=useSharedValue(i);useEffect(()=>{A||w||(O.value=T,x.value=T)},[T,A,O,x,w]);const V=b.motion.spring.snappy,j=useCallback(()=>{if(w)return O.value=0,void(k.value=withTiming(1,{duration:S,reduceMotion:PRESENCE_REDUCE_MOTION}));k.value=1,O.value=withSpring(0,V)},[O,k,V,w,S]),N=useCallback(()=>{w?k.value=withTiming(0,{duration:E,reduceMotion:PRESENCE_REDUCE_MOTION},e=>{"worklet";e&&(O.value=T)}):O.value=withSpring(T,V)},[O,k,T,V,w,E]),P=useCallback(e=>{L(t=>t===e?t:(r?.(e),e)),I.value=e},[r,I]),F=useCallback(()=>{P(!0),j()},[P,j]),U=useCallback(()=>{P(!1),N()},[P,N]),H=useCallback(()=>{A?U():F()},[A,F,U]);useImperativeHandle(t,()=>({open:F,close:U,toggle:H}),[F,U,H]),useEffect(()=>{M&&a!==A&&(a?F():U())},[a]);const B=useMemo(()=>{const e=T,t=o,a=n;let i=Gesture.Pan();return i=C?i.activeOffsetX([-10,10]).failOffsetY([-15,15]):i.activeOffsetY([-10,10]).failOffsetX([-15,15]),i.onStart(()=>{"worklet";a&&(x.value=O.value)}).onUpdate(t=>{"worklet";if(!a)return;const i=C?t.translationX:t.translationY,r=x.value+i,o=Math.min(0,e),s=Math.max(0,e);O.value=r<o?o+.25*(r-o):r>s?s+.25*(r-s):r}).onEnd(i=>{"worklet";if(!a)return;const r=C?i.velocityX:i.velocityY,o=O.value;let s=!1;s="left"===t||"top"===t?r<-1e3:r>1e3;const n=Math.abs(e),l=Math.abs(o)/n;s||l>.5?(runOnJS(P)(!1),w?k.value=withTiming(0,{duration:E,reduceMotion:PRESENCE_REDUCE_MOTION},t=>{"worklet";t&&(O.value=e)}):O.value=withSpring(e,V)):(runOnJS(P)(!0),w?(O.value=0,k.value=withTiming(1,{duration:S,reduceMotion:PRESENCE_REDUCE_MOTION})):O.value=withSpring(0,V))})},[T,x,n,C,O,k,P,o,V,w,S,E]),Y=useAnimatedStyle(()=>C?{opacity:k.value,transform:[{translateX:O.value}]}:{opacity:k.value,transform:[{translateY:O.value}]}),G=useAnimatedStyle(()=>({opacity:interpolate(O.value,[T,0],[0,u],Extrapolation.CLAMP)*k.value,pointerEvents:Math.abs(O.value-T)<.5?"none":"auto"}),[T,u]),X=useMemo(()=>buildStyles(b),[b]),J=useCallback(()=>{if(!l)return;const e=resolveHaptic(c,"selection");e&&triggerHaptic(e),U()},[l,U,c]),z=useMemo(()=>{switch(o){case"left":return{position:"absolute",top:0,bottom:0,left:0,width:R,paddingTop:y.top,paddingBottom:y.bottom,paddingLeft:y.left};case"right":return{position:"absolute",top:0,bottom:0,right:0,width:R,paddingTop:y.top,paddingBottom:y.bottom,paddingRight:y.right};case"top":return{position:"absolute",top:0,left:0,right:0,height:R,paddingTop:y.top,paddingLeft:y.left,paddingRight:y.right};case"bottom":return{position:"absolute",bottom:0,left:0,right:0,height:R,paddingBottom:y.bottom,paddingLeft:y.left,paddingRight:y.right}}},[o,R,y]),W=useRef(i);return A&&(W.current=!0),W.current?_jsxs(View,{style:StyleSheet.absoluteFill,pointerEvents:"box-none",testID:f,accessibilityViewIsModal:A,children:[_jsx(Animated.View,{style:[X.backdrop,{backgroundColor:b.colors.scrim},G],children:_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:J,accessibilityRole:"button",accessibilityLabel:g.close,disabled:!l||!A})}),_jsx(GestureDetector,{gesture:B,children:_jsx(Animated.View,{accessibilityRole:"alert",accessibilityLabel:h??g.drawer,style:[z,{backgroundColor:b.colors.surface,...b.shadow.modal},d,Y],children:_jsx(View,{style:X.content,children:p})})})]}):null});Drawer.displayName="Drawer";const resolveSize=(e,t,a)=>{if("number"==typeof e)return e;if("string"==typeof e){const i=parseFloat(e);if(Number.isNaN(i))return t?280:Math.round(.4*a.height);return i/100*(t?a.width:a.height)}return t?280:Math.round(.4*a.height)},buildStyles=e=>StyleSheet.create({backdrop:{...StyleSheet.absoluteFill},content:{flex:1}});export{Drawer};export default Drawer;
@@ -1 +1 @@
1
- "use strict";export{Drawer,default}from"./Drawer.js";
1
+ "use strict";export{DEFAULT_DRAWER_LABELS,Drawer,default}from"./Drawer.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useMemo}from"react";import{Animated,Pressable,StyleSheet,Text,View}from"react-native";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{fontFor,resolveEmptyStateSize,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{triggerHaptic}from"../../utils/hapticUtils.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";const ActionButton=({action:e,variant:t})=>{const r=useTheme(),{style:o,pressIn:i,pressOut:s}=usePressAnimation({enabled:!0}),n=useMemo(()=>buildActionStyles(r),[r]),l="primary"===t,a=useSquircle(!0,r.radius.md),fillFor=e=>l?e?r.colors["primary-hover"]:r.colors.primary:e?r.colors["surface-pressed"]:"transparent";return _jsx(Animated.View,{style:o,children:_jsx(Pressable,{onPress:()=>{triggerHaptic("selection"),e.onPress()},onPressIn:i,onPressOut:s,accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,accessibilityHint:e.accessibilityHint,testID:e.testID,onLayout:a.onLayout,style:({pressed:e})=>[n.button,l?n.buttonPrimary:n.buttonSecondary,e&&!a.active?l?n.buttonPrimaryPressed:n.buttonSecondaryPressed:null,a.active?n.buttonSquircleHost:null],children:({pressed:t})=>_jsxs(_Fragment,{children:[a.active&&a.size?_jsx(SquircleFill,{width:a.size.width,height:a.size.height,radius:r.radius.md,fill:fillFor(t),stroke:l?void 0:r.colors.border,strokeWidth:l?0:1,outset:l?0:1}):null,_jsx(Text,{style:[n.buttonText,l?n.buttonTextPrimary:n.buttonTextSecondary],numberOfLines:1,children:e.label})]})})})},EmptyState=forwardRef((e,t)=>{const{icon:r,title:o,description:i,action:s,secondaryAction:n,size:l="md",fill:a=!1,style:c,testID:d}=e,u=useTheme(),m=useMemo(()=>resolveEmptyStateSize(u,l),[u,l]),y=useMemo(()=>buildStyles(u),[u]);return _jsxs(View,{ref:t,accessibilityRole:"summary",testID:d,style:[y.root,{paddingVertical:m["padding-y"]},a?y.fill:null,c],children:[r?_jsx(View,{style:[y.iconCircle,{width:m.icon,height:m.icon,marginBottom:m["title-gap"],borderRadius:u.radius.pill,...smoothCorners}],children:r}):null,_jsx(Text,{style:[y.title,{fontSize:m["title-text"],...fontFor(u,"semibold")}],children:o}),i?_jsx(Text,{style:[y.description,{fontSize:m["description-text"],marginTop:m["description-gap"]}],children:i}):null,s||n?_jsxs(View,{style:y.actions,children:[s?_jsx(ActionButton,{action:s,variant:"primary"}):null,n?_jsx(ActionButton,{action:n,variant:"secondary"}):null]}):null]})});EmptyState.displayName="EmptyState";const buildStyles=e=>StyleSheet.create({root:{alignItems:"center",justifyContent:"center",paddingHorizontal:e.space.lg},fill:{flexGrow:1},iconCircle:{backgroundColor:e.colors["surface-disabled"],alignItems:"center",justifyContent:"center"},title:{color:e.colors["text-body"],textAlign:"center"},description:{color:e.colors["text-muted"],textAlign:"center",maxWidth:320,lineHeight:e.text.base.size*e.leading.body},actions:{flexDirection:"row",alignItems:"center",gap:e.space.sm,marginTop:e.space.lg}}),buildActionStyles=e=>StyleSheet.create({button:{paddingHorizontal:e.space.lg,paddingVertical:e.space.sm,minHeight:42,borderRadius:e.radius.md,...smoothCorners,overflow:"hidden",alignItems:"center",justifyContent:"center",flexDirection:"row"},buttonPrimary:{backgroundColor:e.colors.primary},buttonPrimaryPressed:{backgroundColor:e.colors["primary-hover"]},buttonSecondary:{backgroundColor:"transparent",borderWidth:1,borderColor:e.colors.border},buttonSecondaryPressed:{backgroundColor:e.colors["surface-pressed"]},buttonSquircleHost:{backgroundColor:"transparent",borderColor:"transparent",overflow:"visible"},buttonText:{fontSize:e.text.base.size,...fontFor(e,"semibold")},buttonTextPrimary:{color:e.colors["on-primary"]},buttonTextSecondary:{color:e.colors["text-body"]}});export{EmptyState};export default EmptyState;
1
+ "use strict";import{forwardRef,isValidElement,useMemo}from"react";import{Animated,Image,Pressable,StyleSheet,Text,View}from"react-native";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{fontFor,resolveEmptyStateSize,useTheme}from"../../theme/index.js";import{smoothCorners}from"../../utils/corners.js";import{triggerHaptic}from"../../utils/hapticUtils.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";const ActionButton=({action:e,variant:t})=>{const r=useTheme(),{style:i,pressIn:o,pressOut:s}=usePressAnimation({enabled:!0}),n=useMemo(()=>buildActionStyles(r),[r]),l="primary"===t,a=useSquircle(!0,r.radius.md),fillFor=e=>l?e?r.colors["primary-hover"]:r.colors.primary:e?r.colors["surface-pressed"]:"transparent";return _jsx(Animated.View,{style:i,children:_jsx(Pressable,{onPress:()=>{triggerHaptic("selection"),e.onPress()},onPressIn:o,onPressOut:s,accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,accessibilityHint:e.accessibilityHint,testID:e.testID,onLayout:a.onLayout,style:({pressed:e})=>[n.button,l?n.buttonPrimary:n.buttonSecondary,e&&!a.active?l?n.buttonPrimaryPressed:n.buttonSecondaryPressed:null,a.active?n.buttonSquircleHost:null],children:({pressed:t})=>_jsxs(_Fragment,{children:[a.active&&a.size?_jsx(SquircleFill,{width:a.size.width,height:a.size.height,radius:r.radius.md,fill:fillFor(t),stroke:l?void 0:r.colors.border,strokeWidth:l?0:1,outset:l?0:1}):null,_jsx(Text,{style:[n.buttonText,l?n.buttonTextPrimary:n.buttonTextSecondary],numberOfLines:1,children:e.label})]})})})},EmptyState=forwardRef((e,t)=>{const r=useTheme(),i=Object.keys(r.components["empty-state"]);warnInvalidValue("EmptyState","size",e.size,i);const{icon:o,illustration:s,title:n,description:l,action:a,secondaryAction:c,size:d="md",fill:u=!1,style:m,testID:y}=e,p=i.includes(d)?d:"md",b=useMemo(()=>resolveEmptyStateSize(r,p),[r,p]),g=useMemo(()=>buildStyles(r),[r]);return _jsxs(View,{ref:t,accessibilityRole:"summary",testID:y,style:[g.root,{paddingVertical:b["padding-y"]},u?g.fill:null,m],children:[null!=s?_jsx(View,{style:{marginBottom:b["title-gap"]},children:isValidElement(s)?s:_jsx(Image,{source:s,style:{width:b["illustration-size"],height:b["illustration-size"]},resizeMode:"contain",accessibilityIgnoresInvertColors:!0})}):o?_jsx(View,{style:[g.iconCircle,{width:b.icon,height:b.icon,marginBottom:b["title-gap"],borderRadius:r.radius.pill,...smoothCorners}],children:o}):null,_jsx(Text,{style:[g.title,{fontSize:b["title-text"],...fontFor(r,"semibold")}],children:n}),l?_jsx(Text,{style:[g.description,{fontSize:b["description-text"],marginTop:b["description-gap"]}],children:l}):null,a||c?_jsxs(View,{style:g.actions,children:[a?_jsx(ActionButton,{action:a,variant:"primary"}):null,c?_jsx(ActionButton,{action:c,variant:"secondary"}):null]}):null]})});EmptyState.displayName="EmptyState";const buildStyles=e=>StyleSheet.create({root:{alignItems:"center",justifyContent:"center",paddingHorizontal:e.space.lg},fill:{flexGrow:1},iconCircle:{backgroundColor:e.colors["surface-disabled"],alignItems:"center",justifyContent:"center"},title:{color:e.colors["text-body"],textAlign:"center"},description:{color:e.colors["text-muted"],textAlign:"center",maxWidth:320,lineHeight:e.text.base.size*e.leading.body},actions:{flexDirection:"row",alignItems:"center",gap:e.space.sm,marginTop:e.space.lg}}),buildActionStyles=e=>StyleSheet.create({button:{paddingHorizontal:e.space.lg,paddingVertical:e.space.sm,minHeight:42,borderRadius:e.radius.md,...smoothCorners,overflow:"hidden",alignItems:"center",justifyContent:"center",flexDirection:"row"},buttonPrimary:{backgroundColor:e.colors.primary},buttonPrimaryPressed:{backgroundColor:e.colors["primary-hover"]},buttonSecondary:{backgroundColor:"transparent",borderWidth:1,borderColor:e.colors.border},buttonSecondaryPressed:{backgroundColor:e.colors["surface-pressed"]},buttonSquircleHost:{backgroundColor:"transparent",borderColor:"transparent",overflow:"visible"},buttonText:{fontSize:e.text.base.size,...fontFor(e,"semibold")},buttonTextPrimary:{color:e.colors["on-primary"]},buttonTextSecondary:{color:e.colors["text-body"]}});export{EmptyState};export default EmptyState;
@@ -1 +1 @@
1
- "use strict";import{Logger}from"@webority/mobile-core";import React,{useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{useTheme}from"../../theme/index.js";import{EmptyState}from"../EmptyState/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const COMPONENT_STACK_LIMIT=500,DEFAULT_TITLE="Something went wrong",DEFAULT_MESSAGE="An unexpected error occurred. Please try again.",hasResetKeysChanged=(e,t)=>e!==t&&(!e||!t||e.length!==t.length||e.some((e,r)=>e!==t[r])),DefaultFallback=({error:e,reset:t,title:r,message:o,testID:s})=>{const n=useTheme(),i=useMemo(()=>buildStyles(n),[n]),a="undefined"!=typeof __DEV__&&__DEV__;return _jsxs(View,{style:i.root,testID:s,children:[_jsx(EmptyState,{title:r??DEFAULT_TITLE,description:o??DEFAULT_MESSAGE,action:{label:"Try again",onPress:t,testID:s?`${s}-retry`:void 0}}),a?_jsx(Text,{style:i.devError,testID:s?`${s}-dev-error`:void 0,children:e.message}):null]})},buildStyles=e=>StyleSheet.create({root:{flex:1,alignItems:"center",justifyContent:"center",backgroundColor:e.colors.bg,padding:e.space.lg},devError:{marginTop:e.space.md,color:e.colors["danger-text"],fontSize:e.text.sm.size,textAlign:"center"}});export class ErrorBoundary extends React.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidUpdate(e){this.state.error&&hasResetKeysChanged(e.resetKeys,this.props.resetKeys)&&this.reset()}componentDidCatch(e,t){const r=(t.componentStack??"").slice(0,500);Logger.recordError(e,{errorType:"RenderError",componentStack:r});try{this.props.onError?.(e,{componentStack:r})}catch(e){Logger.error("[@webority/mobile-ui] ErrorBoundary onError threw; the boundary itself is unaffected.",e)}}reset=()=>{this.setState({error:null}),this.props.onReset?.()};render(){const{error:e}=this.state;if(!e)return this.props.children;const{fallback:t,title:r,message:o,testID:s}=this.props;return void 0!==t?"function"==typeof t?t(e,this.reset):t:_jsx(DefaultFallback,{error:e,reset:this.reset,title:r,message:o,testID:s})}}
1
+ "use strict";import{Logger}from"@webority/mobile-core";import React,{useMemo}from"react";import{StyleSheet,Text,View}from"react-native";import{useTheme}from"../../theme/index.js";import{EmptyState}from"../EmptyState/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const COMPONENT_STACK_LIMIT=500;export const DEFAULT_ERROR_BOUNDARY_LABELS={title:"Something went wrong",message:"An unexpected error occurred. Please try again.",retry:"Try again"};const hasResetKeysChanged=(e,t)=>e!==t&&(!e||!t||e.length!==t.length||e.some((e,r)=>e!==t[r])),DefaultFallback=({error:e,reset:t,title:r,message:s,labels:o,testID:n})=>{const i=useTheme(),a=useMemo(()=>buildStyles(i),[i]),l="undefined"!=typeof __DEV__&&__DEV__;return _jsxs(View,{style:a.root,testID:n,children:[_jsx(EmptyState,{title:r??o.title,description:s??o.message,action:{label:o.retry,onPress:t,testID:n?`${n}-retry`:void 0}}),l?_jsx(Text,{style:a.devError,testID:n?`${n}-dev-error`:void 0,children:e.message}):null]})},buildStyles=e=>StyleSheet.create({root:{flex:1,alignItems:"center",justifyContent:"center",backgroundColor:e.colors.bg,padding:e.space.lg},devError:{marginTop:e.space.md,color:e.colors["danger-text"],fontSize:e.text.sm.size,textAlign:"center"}});export class ErrorBoundary extends React.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidUpdate(e){this.state.error&&hasResetKeysChanged(e.resetKeys,this.props.resetKeys)&&this.reset()}componentDidCatch(e,t){const r=(t.componentStack??"").slice(0,500);Logger.recordError(e,{errorType:"RenderError",componentStack:r});try{this.props.onError?.(e,{componentStack:r})}catch(e){Logger.error("[@webority/mobile-ui] ErrorBoundary onError threw; the boundary itself is unaffected.",e)}}reset=()=>{this.setState({error:null}),this.props.onReset?.()};render(){const{error:e}=this.state;if(!e)return this.props.children;const{fallback:t,title:r,message:s,labels:o,testID:n}=this.props;if(void 0!==t)return"function"==typeof t?t(e,this.reset):t;const i={...DEFAULT_ERROR_BOUNDARY_LABELS,...o};return _jsx(DefaultFallback,{error:e,reset:this.reset,title:r,message:s,labels:i,testID:n})}}
@@ -1 +1 @@
1
- "use strict";export{ErrorBoundary}from"./ErrorBoundary.js";export{useErrorHandler}from"./useErrorHandler.js";export{withErrorBoundary}from"./withErrorBoundary.js";
1
+ "use strict";export{DEFAULT_ERROR_BOUNDARY_LABELS,ErrorBoundary}from"./ErrorBoundary.js";export{useErrorHandler}from"./useErrorHandler.js";export{withErrorBoundary}from"./withErrorBoundary.js";
@@ -1 +1 @@
1
- "use strict";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{FieldErrorGlyph,hasFieldText}from"./FieldBase.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const hasChoiceDetail=(e,t)=>hasFieldText(e)||hasFieldText(t);export const ChoiceText=({label:e,description:t,error:o,disabled:s=!1,labelLines:i,descriptionLines:l,style:r,labelStyle:n})=>{const a=useTheme(),x=s?a.colors["text-disabled"]:a.colors["text-body"],c=s?a.colors["text-disabled"]:a.colors["text-muted"],d=a.text.sm.size,m=useNotationInk(n,a.text.base.size,x),h=useNotationInk(void 0,d,c),u=useNotationInk(void 0,d,a.colors["field-message"]);return hasFieldText(e)||hasFieldText(t)||hasFieldText(o)?_jsxs(View,{style:[styles.column,r],children:[hasFieldText(e)?_jsx(Text,{style:[{color:x,fontSize:a.text.base.size,...fontFor(a,"normal")},n],numberOfLines:i,children:_jsx(NotationInkContext.Provider,{value:m,children:e})}):null,hasFieldText(t)?_jsx(Text,{style:{color:c,fontSize:d,marginTop:a.space.xxs,...fontFor(a,"normal")},numberOfLines:l,children:_jsx(NotationInkContext.Provider,{value:h,children:t})}):null,hasFieldText(o)?_jsxs(View,{style:[styles.errorRow,{marginTop:a.space.xs,columnGap:a.space.xs}],accessibilityLiveRegion:"polite",children:[_jsx(FieldErrorGlyph,{size:d,color:a.colors["field-message"]}),_jsx(Text,{style:{flexShrink:1,color:a.colors["field-message"],fontSize:d,...fontFor(a,"normal")},children:_jsx(NotationInkContext.Provider,{value:u,children:o})})]}):null]}):null};const styles=StyleSheet.create({column:{flexShrink:1},errorRow:{flexDirection:"row",alignItems:"center"}});
1
+ "use strict";import{StyleSheet,Text,View}from"react-native";import{fontFor,useTheme}from"../../theme/index.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{FieldErrorGlyph,hasFieldText}from"./FieldBase.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const hasChoiceDetail=({description:e,error:t,helperText:o})=>hasFieldText(e)||hasFieldText(t)||hasFieldText(o);export const ChoiceText=({label:e,helperText:t,description:o,error:s,disabled:r=!1,style:i,labelStyle:l})=>{const n=useTheme(),a=r?n.colors["text-disabled"]:n.colors["text-body"],x=r?n.colors["text-disabled"]:n.colors["text-muted"],c=n.text.sm.size,d=useNotationInk(l,n.text.base.size,a),h=useNotationInk(void 0,c,x),m=useNotationInk(void 0,c,x),p=useNotationInk(void 0,c,n.colors["field-message"]);return hasFieldText(e)||hasChoiceDetail({description:o,error:s,helperText:t})?_jsxs(View,{style:[styles.column,i],children:[hasFieldText(e)?_jsx(Text,{style:[{color:a,fontSize:n.text.base.size,...fontFor(n,"normal")},l],children:_jsx(NotationInkContext.Provider,{value:d,children:e})}):null,hasFieldText(t)?_jsx(Text,{style:{color:x,fontSize:c,marginTop:n.space.xxs,...fontFor(n,"normal")},children:_jsx(NotationInkContext.Provider,{value:h,children:t})}):null,hasFieldText(o)?_jsx(Text,{style:{color:x,fontSize:c,marginTop:n.space.xxs,...fontFor(n,"normal")},children:_jsx(NotationInkContext.Provider,{value:m,children:o})}):null,hasFieldText(s)?_jsxs(View,{style:[styles.errorRow,{marginTop:n.space.xs,columnGap:n.space.xs}],accessibilityLiveRegion:"polite",children:[_jsx(FieldErrorGlyph,{size:c,color:n.colors["field-message"]}),_jsx(Text,{style:{flexShrink:1,color:n.colors["field-message"],fontSize:c,...fontFor(n,"normal")},children:_jsx(NotationInkContext.Provider,{value:p,children:s})})]}):null]}):null};const styles=StyleSheet.create({column:{flexShrink:1},errorRow:{flexDirection:"row",alignItems:"center"}});
@@ -1 +1 @@
1
- "use strict";import{useEffect,useMemo,useRef}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,fontFor,resolveFieldSize,useTheme}from"../../theme/index.js";import{ariaFromState}from"../../utils/ariaState.js";import{smoothCorners}from"../../utils/corners.js";import{defaultIcons}from"../AppIcon/defaultIcons.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const expandColorSides=e=>"string"==typeof e?{top:e,right:e,bottom:e,left:e}:{top:e.top??"transparent",right:e.right??"transparent",bottom:e.bottom??"transparent",left:e.left??"transparent"},expandWidthSides=e=>"number"==typeof e?{top:e,right:e,bottom:e,left:e}:{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0};export const pickRepresentativeBorderColor=e=>{for(const t of["bottom","top","left","right"]){const o=e[t];if(o&&"transparent"!==o)return o}return e.bottom};export const resolveFieldTextStyle=(e,t={})=>{const{disabled:o=!1}=t;return{color:o?e.colors["field-text-disabled"]:e.colors["field-text"],placeholderColor:o?e.colors["field-placeholder-disabled"]:e.colors["field-placeholder"],weightStyle:fontFor(e,"normal")}};export const RequiredMark=()=>{const e=useTheme();return _jsx(Text,{style:{color:e.colors["danger-text"]},children:` ${e.settings.components.field?.requiredMarker??"*"}`})};export const RequiredPlaceholder=({text:e,color:t,fontSize:o,weightStyle:r,align:i="center",paddingTop:l,textAlign:s})=>_jsx(View,{pointerEvents:"none",style:[StyleSheet.absoluteFill,{justifyContent:"top"===i?"flex-start":"center",paddingTop:l}],children:_jsxs(Text,{accessible:!1,numberOfLines:1,style:{color:t,fontSize:o,...r,includeFontPadding:!1,textAlign:s},children:[e,_jsx(RequiredMark,{})]})});export const FieldErrorGlyph=({size:e,color:t})=>{const o=useTheme().settings.icons.error??defaultIcons.error;return _jsx(_Fragment,{children:o({size:e,color:t})})};export const hasFieldText=e=>null!=e&&!1!==e&&!0!==e&&""!==e;export const fieldTextAsString=e=>"string"==typeof e?e:void 0;export const FieldLabel=({children:e,size:t="md",required:o=!1,help:r,color:i,style:l})=>{const s=useTheme(),n=resolveFieldSize(s,t),d=hasFieldText(r),a=useNotationInk(l,n["label-text"],i??s.colors["field-label"]),c=_jsxs(Text,{style:[familyStyles.label,{color:i??s.colors["field-label"],fontSize:n["label-text"],...fontFor(s,"semibold"),marginBottom:d?s.space.none:n["label-gap"]},d?familyStyles.labelShrink:null,l],children:[_jsx(NotationInkContext.Provider,{value:a,children:e}),o?_jsx(RequiredMark,{}):null]});return d?_jsxs(View,{style:[familyStyles.labelRow,{marginBottom:n["label-gap"]}],children:[c,_jsx(View,{style:[familyStyles.help,{marginLeft:s.space.xs}],children:r})]}):c};export const FieldMessage=({text:e,error:t=!1,size:o="md",style:r})=>{const i=useTheme(),l=resolveFieldSize(i,o),s=t?i.colors["field-message"]:i.colors["text-muted"],n=useNotationInk(r,l["message-text"],s);return hasFieldText(e)?_jsxs(View,{style:[familyStyles.messageRow,{marginTop:l["message-gap"],columnGap:i.space.xs}],accessibilityLiveRegion:t?"polite":"none",children:[t?_jsx(FieldErrorGlyph,{size:l["message-text"],color:s}):null,_jsx(Text,{style:[familyStyles.messageText,{color:s,fontSize:l["message-text"],...fontFor(i,"normal")},r],children:_jsx(NotationInkContext.Provider,{value:n,children:e})})]}):null};const familyStyles=StyleSheet.create({label:{includeFontPadding:!1},labelShrink:{flexShrink:1},labelRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0,alignItems:"center",justifyContent:"center"},messageRow:{flexDirection:"row",alignItems:"center"},messageText:{flexShrink:1,includeFontPadding:!1}});export const resolveVariantColors=(e,t)=>{let o,r,i,l,s;"outlined"===t?(o=e.colors["field-bg"],r=e.colors["field-bg-focus"],i=e.colors["field-bg-disabled"],l=e.colors["field-border"],s=e.size.border):"underline"===t?(o="transparent",r=void 0,i="transparent",l={bottom:e.colors["field-border"]},s={bottom:e.size.border}):(o=e.colors["field-bg"],r=void 0,i=e.colors["field-bg-disabled"],l="transparent",s=0);const wrapToIdleShape=e=>"string"==typeof l?e:{bottom:e},n=expandColorSides(l),d=expandColorSides(wrapToIdleShape(e.colors["field-border-focus"]));return{backgroundIdleEmpty:o,backgroundIdleFilled:o,backgroundFocused:r,backgroundError:void 0,backgroundDisabled:i,borderIdle:n,borderFocused:d,borderError:expandColorSides(wrapToIdleShape(e.colors["field-border-error"])),borderDisabled:expandColorSides(l),borderWidth:expandWidthSides(s),borderFocusedRepresentative:pickRepresentativeBorderColor(d)}};export const FieldBase=e=>{const{size:t="md",variant:o,focused:r=!1,disabled:i=!1,error:l=!1,filled:s=!1,leading:n,leadingDivider:d=!1,trailing:a,slotAlign:c="center",slotLineHeight:b,topNotch:u,children:p,onPress:g,pressFeedback:m=!0,minHeight:h,maxHeight:f,width:x,height:y,paddingHorizontal:S,paddingLeft:F,paddingRight:R,paddingVertical:j,borderRadius:v,borderTopLeftRadius:C,borderTopRightRadius:k,borderBottomLeftRadius:T,borderBottomRightRadius:w,borderWidth:_,borderTopWidth:I,borderRightWidth:L,borderBottomWidth:z,borderLeftWidth:V,gap:B,style:W,testID:E,accessibilityRole:D,accessibilityLabel:q,accessibilityState:A,accessibilityHint:M}=e,P=useTheme(),N=useMemo(()=>buildStyles(),[]),H=o??P.settings.components.field?.defaultVariant??"outlined",G=resolveFieldSize(P,t),O=useMemo(()=>resolveVariantColors(P,H),[P,H]),$=l?2:r?1:0,J=useRef(createAnimatedValue($)).current;useEffect(()=>{const e=Animated.timing(J,{toValue:$,duration:P.motion.duration.fast,easing:Easing.bezier(...P.motion.ease["in-out"]),useNativeDriver:!1});return e.start(),()=>e.stop()},[$,J,P.motion.duration.fast,P.motion.ease["in-out"]]);const K=[0,1,2],Q=s?O.backgroundIdleFilled:O.backgroundIdleEmpty,U=O.backgroundFocused??Q,X=O.backgroundError??Q,Y=i?O.backgroundDisabled:J.interpolate({inputRange:K,outputRange:[Q,U,X]}),Z=O.borderIdle,ee=O.borderFocused,te=O.borderError,oe={top:I,right:L,bottom:z,left:V},re={top:oe.top??_??O.borderWidth.top,right:oe.right??_??O.borderWidth.right,bottom:oe.bottom??_??O.borderWidth.bottom,left:oe.left??_??O.borderWidth.left},ie={minHeight:y??h??G["min-height"],maxHeight:f,paddingHorizontal:S??G["padding-x"],paddingVertical:j??G["padding-y"],paddingLeft:F??S??G["padding-x"],paddingRight:R??S??G["padding-x"],backgroundColor:Y,columnGap:B??P.space.md,alignItems:"top"===c?"flex-start":"center"},le="underline"===H,se=le?P.radius.none:v??G.radius,ne=le?{tl:P.radius.none,tr:P.radius.none,bl:P.radius.none,br:P.radius.none}:{tl:C??se,tr:k??se,bl:T??se,br:w??se};ie.borderTopLeftRadius=ne.tl,ie.borderTopRightRadius=ne.tr,ie.borderBottomLeftRadius=ne.bl,ie.borderBottomRightRadius=ne.br,ie.borderCurve=smoothCorners.borderCurve,ie.borderTopWidth=re.top,ie.borderRightWidth=re.right,ie.borderBottomWidth=re.bottom,ie.borderLeftWidth=re.left;const sideColor=e=>J.interpolate({inputRange:K,outputRange:[Z[e],ee[e],te[e]]}),sameOnEverySide=e=>e.top===e.right&&e.top===e.bottom&&e.top===e.left,de=!le&&ne.tl===ne.tr&&ne.tl===ne.bl&&ne.tl===ne.br&&sameOnEverySide(re)&&sameOnEverySide(Z)&&sameOnEverySide(ee)&&sameOnEverySide(te)&&sameOnEverySide(O.borderDisabled),ae=useSquircle(de,ne.tl);if(ae.active)ie.backgroundColor="transparent",ie.borderTopColor="transparent",ie.borderRightColor="transparent",ie.borderBottomColor="transparent",ie.borderLeftColor="transparent";else if(i){const e=O.borderDisabled;ie.borderTopColor=e.top,ie.borderRightColor=e.right,ie.borderBottomColor=e.bottom,ie.borderLeftColor=e.left}else ie.borderTopColor=sideColor("top"),ie.borderRightColor=sideColor("right"),ie.borderBottomColor=sideColor("bottom"),ie.borderLeftColor=sideColor("left");const ce=i?O.borderDisabled.top:sideColor("top"),be=useRef($);be.current=$,useEffect(()=>{J.setValue(be.current)},[O,J]),void 0!==x&&(ie.width=x),void 0!==y&&(ie.height=y);const ue={disabled:i,...A},pe="top"===c,ge=pe?{alignSelf:"flex-start",marginTop:Math.max(0,((b??G.icon)-G.icon)/2)}:null,me=y??h??G["min-height"],he=(()=>{if(!u)return 0;const e=Math.min(ne.tl,me/2),t=u.left;return e<=0||t>=e?0:Math.ceil(e-Math.sqrt(e*e-(e-t)*(e-t)))})(),fe=u&&re.top>0?_jsx(Animated.View,{pointerEvents:"none",style:{position:"absolute",top:-re.top,left:u.left-re.left,width:u.width,height:re.top+he,backgroundColor:Y}}):null,renderInner=e=>_jsxs(_Fragment,{children:[ae.active&&ae.size?_jsx(SquircleFill,{width:ae.size.width,height:ae.size.height,radius:ne.tl,fill:e&&!i?P.colors["surface-pressed"]:Y,stroke:ce,strokeWidth:re.top,outset:re.top}):null,fe,null!=n?_jsx(View,{style:[N.slot,ge],children:n}):null,null!=n&&d?_jsx(View,{pointerEvents:"none",style:[N.divider,ge,{height:G.icon,backgroundColor:P.colors["field-border"]}]}):null,_jsx(View,{style:[N.content,pe?N.contentTop:null],children:p}),null!=a?_jsx(View,{style:[N.slot,ge],children:a}):null]}),xe=_jsx(Animated.View,{onLayout:ae.onLayout,style:[N.box,ie,W],accessibilityRole:D,accessibilityLabel:q,accessibilityHint:M,accessibilityState:ue,...ariaFromState(ue),testID:E,children:renderInner(!1)});return g&&!m?_jsx(Pressable,{onPress:g,disabled:i,accessible:!1,children:xe}):g?_jsx(Pressable,{onPress:g,disabled:i,accessibilityRole:D??"button",accessibilityLabel:q,accessibilityHint:M,accessibilityState:ue,...ariaFromState(ue),testID:E,children:({pressed:e})=>_jsx(Animated.View,{onLayout:ae.onLayout,style:[N.box,ie,!e||i||ae.active?null:{backgroundColor:P.colors["surface-pressed"]},W],children:renderInner(e)})}):xe};FieldBase.displayName="FieldBase";const buildStyles=()=>StyleSheet.create({box:{flexDirection:"row",alignItems:"center",overflow:"visible"},slot:{alignItems:"center",justifyContent:"center"},divider:{width:1,alignSelf:"center"},content:{flex:1,flexDirection:"row",alignItems:"center"},contentTop:{alignItems:"flex-start"}});export default FieldBase;
1
+ "use strict";import{useEffect,useMemo,useRef}from"react";import{Animated,Easing,Pressable,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,fontFor,resolveFieldSize,useTheme}from"../../theme/index.js";import{ariaFromState}from"../../utils/ariaState.js";import{smoothCorners}from"../../utils/corners.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{defaultIcons}from"../AppIcon/defaultIcons.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{SquircleFill,useSquircle}from"../SquircleFill/SquircleFill.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const expandColorSides=e=>"string"==typeof e?{top:e,right:e,bottom:e,left:e}:{top:e.top??"transparent",right:e.right??"transparent",bottom:e.bottom??"transparent",left:e.left??"transparent"},expandWidthSides=e=>"number"==typeof e?{top:e,right:e,bottom:e,left:e}:{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0};export const pickRepresentativeBorderColor=e=>{for(const t of["bottom","top","left","right"]){const o=e[t];if(o&&"transparent"!==o)return o}return e.bottom};export const resolveFieldTextStyle=(e,t={})=>{const{disabled:o=!1}=t;return{color:o?e.colors["field-text-disabled"]:e.colors["field-text"],placeholderColor:o?e.colors["field-placeholder-disabled"]:e.colors["field-placeholder"],weightStyle:fontFor(e,"normal")}};export const RequiredMark=()=>{const e=useTheme();return _jsx(Text,{style:{color:e.colors["danger-text"]},children:` ${e.settings.components.field?.requiredMarker??"*"}`})};export const RequiredPlaceholder=({text:e,color:t,fontSize:o,weightStyle:r,align:i="center",paddingTop:l,textAlign:s})=>_jsx(View,{pointerEvents:"none",style:[StyleSheet.absoluteFill,{justifyContent:"top"===i?"flex-start":"center",paddingTop:l}],children:_jsxs(Text,{accessible:!1,numberOfLines:1,style:{color:t,fontSize:o,...r,includeFontPadding:!1,textAlign:s},children:[e,_jsx(RequiredMark,{})]})});export const FieldErrorGlyph=({size:e,color:t})=>{const o=useTheme().settings.icons.error??defaultIcons.error;return _jsx(_Fragment,{children:o({size:e,color:t})})};export const hasFieldText=e=>null!=e&&!1!==e&&!0!==e&&""!==e;export const fieldTextAsString=e=>"string"==typeof e?e:void 0;export const FieldLabel=({children:e,size:t="md",required:o=!1,help:r,color:i,style:l})=>{const s=useTheme(),n=resolveFieldSize(s,t),a=hasFieldText(r),d=useNotationInk(l,n["label-text"],i??s.colors["field-label"]),c=_jsxs(Text,{style:[familyStyles.label,{color:i??s.colors["field-label"],fontSize:n["label-text"],...fontFor(s,"semibold"),marginBottom:a?s.space.none:n["label-gap"]},a?familyStyles.labelShrink:null,l],children:[_jsx(NotationInkContext.Provider,{value:d,children:e}),o?_jsx(RequiredMark,{}):null]});return a?_jsxs(View,{style:[familyStyles.labelRow,{marginBottom:n["label-gap"]}],children:[c,_jsx(View,{style:[familyStyles.help,{marginLeft:s.space.xs}],children:r})]}):c};export const FieldMessage=({text:e,error:t=!1,size:o="md",style:r})=>{const i=useTheme(),l=resolveFieldSize(i,o),s=t?i.colors["field-message"]:i.colors["text-muted"],n=useNotationInk(r,l["message-text"],s);return hasFieldText(e)?_jsxs(View,{style:[familyStyles.messageRow,{marginTop:l["message-gap"],columnGap:i.space.xs}],accessibilityLiveRegion:t?"polite":"none",children:[t?_jsx(FieldErrorGlyph,{size:l["message-text"],color:s}):null,_jsx(Text,{style:[familyStyles.messageText,{color:s,fontSize:l["message-text"],...fontFor(i,"normal")},r],children:_jsx(NotationInkContext.Provider,{value:n,children:e})})]}):null};const familyStyles=StyleSheet.create({label:{includeFontPadding:!1},labelShrink:{flexShrink:1},labelRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0,alignItems:"center",justifyContent:"center"},messageRow:{flexDirection:"row",alignItems:"center"},messageText:{flexShrink:1,includeFontPadding:!1}});export const resolveVariantColors=(e,t)=>{let o,r,i,l,s;"outline"===t?(o=e.colors["field-bg"],r=e.colors["field-bg-focus"],i=e.colors["field-bg-disabled"],l=e.colors["field-border"],s=e.size.border):"underline"===t?(o="transparent",r=void 0,i="transparent",l={bottom:e.colors["field-border"]},s={bottom:e.size.border}):(o=e.colors["field-bg"],r=void 0,i=e.colors["field-bg-disabled"],l="transparent",s=0);const wrapToIdleShape=e=>"string"==typeof l?e:{bottom:e},n=expandColorSides(l),a=expandColorSides(wrapToIdleShape(e.colors["field-border-focus"]));return{backgroundIdleEmpty:o,backgroundIdleFilled:o,backgroundFocused:r,backgroundError:void 0,backgroundDisabled:i,borderIdle:n,borderFocused:a,borderError:expandColorSides(wrapToIdleShape(e.colors["field-border-error"])),borderDisabled:expandColorSides(l),borderWidth:expandWidthSides(s),borderFocusedRepresentative:pickRepresentativeBorderColor(a)}};export const FieldBase=e=>{warnInvalidValue("FieldBase","variant",e.variant,["outline","filled","underline"]),warnInvalidValue("FieldBase","size",e.size,["sm","md","lg"]);const{size:t="md",variant:o,focused:r=!1,disabled:i=!1,error:l=!1,filled:s=!1,leading:n,leadingDivider:a=!1,trailing:d,slotAlign:c="center",slotLineHeight:b,topNotch:u,children:p,onPress:m,pressFeedback:g=!0,minHeight:f,maxHeight:h,width:x,height:y,paddingHorizontal:S,paddingLeft:F,paddingRight:v,paddingVertical:R,borderRadius:j,borderTopLeftRadius:C,borderTopRightRadius:k,borderBottomLeftRadius:w,borderBottomRightRadius:T,borderWidth:I,borderTopWidth:_,borderRightWidth:V,borderBottomWidth:z,borderLeftWidth:L,gap:B,style:W,testID:E,accessibilityRole:D,accessibilityLabel:q,accessibilityState:A,accessibilityHint:M}=e,P=useTheme(),N=useMemo(()=>buildStyles(),[]),H=o??P.settings.components.field?.defaultVariant??"outline",G=resolveFieldSize(P,t),O=useMemo(()=>resolveVariantColors(P,H),[P,H]),$=l?2:r?1:0,J=useRef(createAnimatedValue($)).current;useEffect(()=>{const e=Animated.timing(J,{toValue:$,duration:P.motion.duration.fast,easing:Easing.bezier(...P.motion.ease["in-out"]),useNativeDriver:!1});return e.start(),()=>e.stop()},[$,J,P.motion.duration.fast,P.motion.ease["in-out"]]);const K=[0,1,2],Q=s?O.backgroundIdleFilled:O.backgroundIdleEmpty,U=O.backgroundFocused??Q,X=O.backgroundError??Q,Y=i?O.backgroundDisabled:J.interpolate({inputRange:K,outputRange:[Q,U,X]}),Z=O.borderIdle,ee=O.borderFocused,te=O.borderError,oe={top:_,right:V,bottom:z,left:L},re={top:oe.top??I??O.borderWidth.top,right:oe.right??I??O.borderWidth.right,bottom:oe.bottom??I??O.borderWidth.bottom,left:oe.left??I??O.borderWidth.left},ie={minHeight:y??f??G["min-height"],maxHeight:h,paddingHorizontal:S??G["padding-x"],paddingVertical:R??G["padding-y"],paddingLeft:F??S??G["padding-x"],paddingRight:v??S??G["padding-x"],backgroundColor:Y,columnGap:B??P.space.md,alignItems:"top"===c?"flex-start":"center"},le="underline"===H,se=le?P.radius.none:j??G.radius,ne=le?{tl:P.radius.none,tr:P.radius.none,bl:P.radius.none,br:P.radius.none}:{tl:C??se,tr:k??se,bl:w??se,br:T??se};ie.borderTopLeftRadius=ne.tl,ie.borderTopRightRadius=ne.tr,ie.borderBottomLeftRadius=ne.bl,ie.borderBottomRightRadius=ne.br,ie.borderCurve=smoothCorners.borderCurve,ie.borderTopWidth=re.top,ie.borderRightWidth=re.right,ie.borderBottomWidth=re.bottom,ie.borderLeftWidth=re.left;const sideColor=e=>J.interpolate({inputRange:K,outputRange:[Z[e],ee[e],te[e]]}),sameOnEverySide=e=>e.top===e.right&&e.top===e.bottom&&e.top===e.left,ae=!le&&ne.tl===ne.tr&&ne.tl===ne.bl&&ne.tl===ne.br&&sameOnEverySide(re)&&sameOnEverySide(Z)&&sameOnEverySide(ee)&&sameOnEverySide(te)&&sameOnEverySide(O.borderDisabled),de=useSquircle(ae,ne.tl);if(de.active)ie.backgroundColor="transparent",ie.borderTopColor="transparent",ie.borderRightColor="transparent",ie.borderBottomColor="transparent",ie.borderLeftColor="transparent";else if(i){const e=O.borderDisabled;ie.borderTopColor=e.top,ie.borderRightColor=e.right,ie.borderBottomColor=e.bottom,ie.borderLeftColor=e.left}else ie.borderTopColor=sideColor("top"),ie.borderRightColor=sideColor("right"),ie.borderBottomColor=sideColor("bottom"),ie.borderLeftColor=sideColor("left");const ce=i?O.borderDisabled.top:sideColor("top"),be=useRef($);be.current=$,useEffect(()=>{J.setValue(be.current)},[O,J]),void 0!==x&&(ie.width=x),void 0!==y&&(ie.height=y);const ue={disabled:i,...A},pe="top"===c,me=pe?{alignSelf:"flex-start",marginTop:Math.max(0,((b??G.icon)-G.icon)/2)}:null,ge=y??f??G["min-height"],fe=(()=>{if(!u)return 0;const e=Math.min(ne.tl,ge/2),t=u.left;return e<=0||t>=e?0:Math.ceil(e-Math.sqrt(e*e-(e-t)*(e-t)))})(),he=u&&re.top>0?_jsx(Animated.View,{pointerEvents:"none",style:{position:"absolute",top:-re.top,left:u.left-re.left,width:u.width,height:re.top+fe,backgroundColor:Y}}):null,renderInner=e=>_jsxs(_Fragment,{children:[de.active&&de.size?_jsx(SquircleFill,{width:de.size.width,height:de.size.height,radius:ne.tl,fill:e&&!i?P.colors["surface-pressed"]:Y,stroke:ce,strokeWidth:re.top,outset:re.top}):null,he,null!=n?_jsx(View,{style:[N.slot,me],children:n}):null,null!=n&&a?_jsx(View,{pointerEvents:"none",style:[N.divider,me,{height:G.icon,backgroundColor:P.colors["field-border"]}]}):null,_jsx(View,{style:[N.content,pe?N.contentTop:null],children:p}),null!=d?_jsx(View,{style:[N.slot,me],children:d}):null]}),xe=_jsx(Animated.View,{onLayout:de.onLayout,style:[N.box,ie,W],accessibilityRole:D,accessibilityLabel:q,accessibilityHint:M,accessibilityState:ue,...ariaFromState(ue),testID:E,children:renderInner(!1)});return m&&!g?_jsx(Pressable,{onPress:m,disabled:i,accessible:!1,children:xe}):m?_jsx(Pressable,{onPress:m,disabled:i,accessibilityRole:D??"button",accessibilityLabel:q,accessibilityHint:M,accessibilityState:ue,...ariaFromState(ue),testID:E,children:({pressed:e})=>_jsx(Animated.View,{onLayout:de.onLayout,style:[N.box,ie,!e||i||de.active?null:{backgroundColor:P.colors["surface-pressed"]},W],children:renderInner(e)})}):xe};FieldBase.displayName="FieldBase";const buildStyles=()=>StyleSheet.create({box:{flexDirection:"row",alignItems:"center",overflow:"visible"},slot:{alignItems:"center",justifyContent:"center"},divider:{width:1,alignSelf:"center"},content:{flex:1,flexDirection:"row",alignItems:"center"},contentTop:{alignItems:"flex-start"}});export default FieldBase;
@@ -1 +1 @@
1
- "use strict";import{useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,StyleSheet}from"react-native";import{createAnimatedValue,fontFor,useTheme}from"../../theme/index.js";import{NotationInkContext}from"../Notation/Notation.js";import{hasFieldText,RequiredMark}from"./FieldBase.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const FLOATED_LABEL_SCALE=.85;const FLOATED_LABEL_LIFT=1;export const useFloatingLabel=({label:e,enabled:t,floated:n,required:i=!1,variant:o,sizeTokens:a,leadingOffset:r,trailingOffset:s=0,textAlign:l="left",paddingLeft:u,lineHeight:d,restNudge:m=0,floatTrim:f=0,color:c,style:h})=>{const g=useTheme(),p=useRef(createAnimatedValue(n?1:0)).current,x=useRef(createAnimatedValue(n?1:0)).current,A="outlined"===o,[R,S]=useState(null);return useEffect(()=>{const e=n?1:0,timing=(t,n)=>Animated.timing(t,{toValue:e,duration:g.motion.duration.fast,easing:Easing.bezier(...g.motion.ease["in-out"]),useNativeDriver:n});A||x.setValue(e);const t=A?Animated.parallel([timing(p,!0),timing(x,!1)]):timing(p,!0);return t.start(),()=>t.stop()},[n,A,p,x,g.motion.duration.fast,g.motion.ease["in-out"]]),useMemo(()=>{if(!t||!hasFieldText(e))return{node:null,topNotch:void 0};const n=d??R?.height??a.text,o=null!=d?a["padding-y"]+m:Math.max(0,(a["min-height"]-n)/2),j=-(o+n/2+1-f),v=p.interpolate({inputRange:[0,1],outputRange:[0,j]}),E=p.interpolate({inputRange:[0,1],outputRange:[1,.85]}),L=-r,y=p.interpolate({inputRange:[0,1],outputRange:[0,L]}),T="right"===l?{right:a["padding-x"]+s,transformOrigin:"right center"}:"center"===l?{alignSelf:"center",transformOrigin:"center"}:{left:u+r,transformOrigin:"left center"},F=g.space.xs,_=R?.85*R.width:0,N=R?"right"===l?R.width-_:"center"===l?(R.width-_)/2:0:0,b=A&&R?{left:R.x+L+N-F,width:x.interpolate({inputRange:[0,1],outputRange:[0,_+2*F]})}:void 0,w=StyleSheet.flatten(h),O={fontSize:w?.fontSize??a.text,color:w?.color??c};return{node:_jsxs(Animated.Text,{pointerEvents:"none",onLayout:e=>{const{x:t,width:n,height:i}=e.nativeEvent.layout;S(e=>e&&e.x===t&&e.width===n&&e.height===i?e:{x:t,width:n,height:i})},style:[styles.label,T,{top:o,color:c,fontSize:a.text,lineHeight:d,...fontFor(g,"medium"),transform:[{translateX:y},{translateY:v},{scale:E}]},h],children:[_jsx(NotationInkContext.Provider,{value:O,children:e}),i?_jsx(RequiredMark,{}):null]}),topNotch:b}},[t,e,i,A,a,r,s,l,u,d,m,f,c,h,p,x,R,g])};const styles=StyleSheet.create({label:{position:"absolute",zIndex:1}});
1
+ "use strict";import{useEffect,useMemo,useRef,useState}from"react";import{Animated,Easing,StyleSheet}from"react-native";import{createAnimatedValue,fontFor,useTheme}from"../../theme/index.js";import{NotationInkContext}from"../Notation/Notation.js";import{hasFieldText,RequiredMark}from"./FieldBase.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const FLOATED_LABEL_SCALE=.85;const FLOATED_LABEL_LIFT=1;export const useFloatingLabel=({label:e,enabled:t,floated:n,required:i=!1,variant:o,sizeTokens:a,leadingOffset:r,trailingOffset:s=0,textAlign:l="left",paddingLeft:u,lineHeight:d,restNudge:m=0,floatTrim:f=0,color:c,style:h})=>{const g=useTheme(),p=useRef(createAnimatedValue(n?1:0)).current,x=useRef(createAnimatedValue(n?1:0)).current,A="outline"===o,[R,S]=useState(null);return useEffect(()=>{const e=n?1:0,timing=(t,n)=>Animated.timing(t,{toValue:e,duration:g.motion.duration.fast,easing:Easing.bezier(...g.motion.ease["in-out"]),useNativeDriver:n});A||x.setValue(e);const t=A?Animated.parallel([timing(p,!0),timing(x,!1)]):timing(p,!0);return t.start(),()=>t.stop()},[n,A,p,x,g.motion.duration.fast,g.motion.ease["in-out"]]),useMemo(()=>{if(!t||!hasFieldText(e))return{node:null,topNotch:void 0};const n=d??R?.height??a.text,o=null!=d?a["padding-y"]+m:Math.max(0,(a["min-height"]-n)/2),j=-(o+n/2+1-f),v=p.interpolate({inputRange:[0,1],outputRange:[0,j]}),E=p.interpolate({inputRange:[0,1],outputRange:[1,.85]}),L=-r,y=p.interpolate({inputRange:[0,1],outputRange:[0,L]}),T="right"===l?{right:a["padding-x"]+s,transformOrigin:"right center"}:"center"===l?{alignSelf:"center",transformOrigin:"center"}:{left:u+r,transformOrigin:"left center"},F=g.space.xs,_=R?.85*R.width:0,N=R?"right"===l?R.width-_:"center"===l?(R.width-_)/2:0:0,b=A&&R?{left:R.x+L+N-F,width:x.interpolate({inputRange:[0,1],outputRange:[0,_+2*F]})}:void 0,w=StyleSheet.flatten(h),O={fontSize:w?.fontSize??a.text,color:w?.color??c};return{node:_jsxs(Animated.Text,{pointerEvents:"none",onLayout:e=>{const{x:t,width:n,height:i}=e.nativeEvent.layout;S(e=>e&&e.x===t&&e.width===n&&e.height===i?e:{x:t,width:n,height:i})},style:[styles.label,T,{top:o,color:c,fontSize:a.text,lineHeight:d,...fontFor(g,"medium"),transform:[{translateX:y},{translateY:v},{scale:E}]},h],children:[_jsx(NotationInkContext.Provider,{value:O,children:e}),i?_jsx(RequiredMark,{}):null]}),topNotch:b}},[t,e,i,A,a,r,s,l,u,d,m,f,c,h,p,x,R,g])};const styles=StyleSheet.create({label:{position:"absolute",zIndex:1}});
@@ -1 +1 @@
1
- "use strict";import{forwardRef,useCallback,useImperativeHandle,useMemo,useRef,useState}from"react";import{Image,Pressable,ScrollView,StyleSheet,Text,View}from"react-native";import{useControllableState}from"../../hooks/index.js";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{defaultIcons}from"../AppIcon/defaultIcons.js";import{hasFieldText}from"../FieldBase/index.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{Spinner}from"../Spinner/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";let fileIdSeq=0;const nextFileId=()=>"wfp-"+ ++fileIdSeq,DEFAULT_LABELS={trigger:"Attach file",addMore:"Add more",sheetTitle:"Add from",removeFile:e=>`Remove ${e}`,retry:"Retry upload",errorTooMany:e=>`You can attach up to ${e} files.`,errorTooLarge:(e,t)=>`${e} is larger than ${t} MB.`,errorWrongType:e=>`${e} is not an accepted file type.`};export const formatFileSize=e=>{if(void 0===e||e<=0)return"";const t=["B","KB","MB","GB"];let r=e,s=0;for(;r>=1024&&s<t.length-1;)r/=1024,s+=1;return`${r>=10||0===s?Math.round(r):Math.round(10*r)/10} ${t[s]}`};export const matchesAccept=(e,t)=>!t||0===t.length||!!e&&t.some(t=>"*/*"===t||"*"===t||(t.endsWith("/*")?e.startsWith(t.slice(0,t.length-1)):e===t));const isImage=e=>!0===e.type?.startsWith("image/")||!e.type&&/\.(png|jpe?g|gif|webp|heic)$/i.test(e.name),imageSourceOf=e=>e.thumbnailUrl??(isImage(e)?e.uri??e.url:void 0),extensionOf=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?"FILE":e.slice(t+1).toUpperCase().slice(0,4)},FilePicker=forwardRef((e,t)=>{const{files:r,defaultFiles:s,onChange:i,sources:o,maxFiles:l,maxSizeMB:n,accept:a,validate:c,process:d,variant:u="card",renderFile:h,renderTrigger:g,disabled:m=!1,helperText:p,error:x,labels:b,haptic:f,onPick:y,onRemove:T,onError:S,onFilePress:j,onRetry:C,style:w,accessibilityLabel:F,testID:_}=e,v=useTheme(),z=useMemo(()=>buildStyles(v),[v]),P=useMemo(()=>({...DEFAULT_LABELS,...b}),[b]),k=v.radius.md,R=v.colors.primary,[I,V]=useControllableState({value:r,defaultValue:s??[],onChange:i}),M=useRef(I);M.current=I;const O=useCallback(e=>{M.current=e,V(e)},[V]),[B,L]=useState(null),[H,$]=useState(!1),A=x??B??void 0,E="number"==typeof l&&I.length>=l,W=useCallback((e,t)=>{0!==e.length&&(L(e[0]),e.forEach(e=>{S?.(e,t)}),!1!==f&&triggerHaptic("notificationError"))},[S,f]),D=useCallback(async e=>{let t;try{t=await e.pick()}catch(e){return void W([e instanceof Error?e.message:String(e)])}if(!t||0===t.length)return;const r=[];let s=t.map(e=>({id:nextFileId(),name:e.name??e.uri.split("/").pop()??"file",uri:e.uri,type:e.type,size:e.size,meta:e.meta,status:"idle"}));if("number"==typeof l){const e=Math.max(0,l-M.current.length);s.length>e&&(r.push(P.errorTooMany(l)),s=s.slice(0,e))}const i=[];for(const e of s){if("number"==typeof n&&"number"==typeof e.size&&e.size>1024*n*1024){r.push(P.errorTooLarge(e.name,n));continue}if(!matchesAccept(e.type,a)){r.push(P.errorWrongType(e.name));continue}const t=c?.(e);t?r.push(t):i.push(e)}if(W(r),0===i.length)return;if(!d){O([...M.current,...i]),L(r.length>0?r[0]:null);const e=resolveHaptic(f,"selection");return e&&triggerHaptic(e),void y?.(i)}const o=i.map(e=>({...e,status:"processing"}));O([...M.current,...o]);const u=[];for(const e of o)try{const t=await d({...e,status:"idle"}),r={...t,id:e.id,status:t.status??"idle"};O(M.current.map(t=>t.id===e.id?r:t)),u.push(r)}catch(t){O(M.current.filter(t=>t.id!==e.id)),W([t instanceof Error?t.message:String(t)],e)}if(u.length>0){0===r.length&&L(null);const e=resolveHaptic(f,"selection");e&&triggerHaptic(e),y?.(u)}},[l,n,a,c,d,P,W,O,y,f]),U=useCallback(e=>{if(m||E)return;const t=e?o.find(t=>t.key===e):1===o.length?o[0]:void 0;t?D(t):o.length>1&&$(!0)},[m,E,o,D]),G=useCallback(e=>{if(m)return;O(M.current.filter(t=>t.id!==e.id)),L(null);const t=resolveHaptic(f,"selection");t&&triggerHaptic(t),T?.(e)},[m,O,T,f]),N=useCallback(()=>{O([]),L(null)},[O]);useImperativeHandle(t,()=>({open:U,clear:N}),[U,N]);const q=0===I.length?P.trigger:`${I.length} file${1===I.length?"":"s"} attached`,K=F??`Attachments. ${q}`,statusText=e=>{switch(e.status){case"processing":return"Processing…";case"uploading":return`Uploading ${Math.round(100*(e.progress??0))}%`;case"done":return"Uploaded";case"error":return e.error??"Failed";default:return""}},fileA11yLabel=e=>[e.name,formatFileSize(e.size),statusText(e)].filter(Boolean).join(", "),Y=v.settings.icons.attachment??defaultIcons.attachment,renderStatusOverlay=e=>{if("processing"===e.status)return _jsx(View,{style:[z.tileOverlay,{backgroundColor:v.colors.scrim}],children:_jsx(Spinner,{size:"sm"})});if("uploading"===e.status){const t=Math.round(100*(e.progress??0));return _jsxs(View,{style:[z.tileOverlay,{backgroundColor:v.colors.scrim}],children:[_jsx(Text,{style:[z.tileOverlayText,{color:v.colors["on-scrim"]}],children:`${t}%`}),_jsx(View,{style:[z.tileProgressTrack,{backgroundColor:v.colors.border}],children:_jsx(View,{style:[z.tileProgressFill,{width:`${t}%`,backgroundColor:v.colors.primary}]})})]})}return"done"===e.status?_jsx(View,{style:[z.doneBadge,{backgroundColor:v.colors.success}],children:_jsx(Text,{style:[z.doneBadgeText,{color:v.colors["on-success"]}],children:"✓"})}):null},renderThumbnail=e=>{const t=imageSourceOf(e);return t?_jsx(Image,{source:{uri:t},style:z.thumbnailImage}):_jsx(View,{style:[z.extensionTile,{backgroundColor:v.colors["bg-subtle"]}],children:_jsx(Text,{style:[z.extensionText,{color:v.colors["text-muted"],...fontFor(v,"semibold")}],children:extensionOf(e.name)})})},removeButton=e=>_jsx(Pressable,{onPress:()=>G(e),disabled:m,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:P.removeFile(e.name),style:[z.removeButton,{backgroundColor:v.colors.scrim}],children:_jsx(Text,{style:[z.removeButtonText,{color:v.colors["on-scrim"]}],children:"×"})}),retryButton=e=>C&&"error"===e.status?_jsx(Pressable,{onPress:()=>C(e),disabled:m,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:P.retry,children:_jsx(Text,{style:[z.retryText,{color:v.colors.primary}],children:"↻"})}):null,renderOneFile=(e,t)=>{const r={file:e,index:t,disabled:m,remove:()=>G(e),retry:C?()=>C(e):void 0},s=h?h(r):"card"===u?(e=>{const{file:t}=e;return _jsxs(View,{style:[z.tile,{width:84,height:84,borderRadius:k,...smoothCorners,borderColor:"error"===t.status?v.colors.danger:v.colors.border}],children:[renderThumbnail(t),renderStatusOverlay(t),"error"===t.status?_jsx(View,{style:[z.tileOverlay,{backgroundColor:v.colors.scrim}],children:retryButton(t)}):null,removeButton(t)]})})(r):(e=>{const{file:t}=e,r=statusText(t);return _jsxs(View,{style:[z.listRow,{borderRadius:k,...smoothCorners,borderColor:"error"===t.status?v.colors.danger:v.colors.border,backgroundColor:v.colors.bg}],children:[_jsxs(View,{style:[z.listThumb,{borderRadius:v.radius.sm,...smoothCorners}],children:[renderThumbnail(t),"processing"===t.status?_jsx(View,{style:[z.tileOverlay,{backgroundColor:v.colors.scrim}],children:_jsx(Spinner,{size:"sm"})}):null]}),_jsxs(View,{style:z.listTextWrap,children:[_jsx(Text,{numberOfLines:1,ellipsizeMode:"middle",style:[z.listName,{color:v.colors["text-body"],fontSize:v.text.sm.size,...fontFor(v,"medium")}],children:t.name}),_jsx(Text,{numberOfLines:1,style:[z.listSubtitle,{color:"error"===t.status?v.colors["danger-text"]:v.colors["text-subtle"],fontSize:v.text.xs.size}],children:[formatFileSize(t.size),r].filter(Boolean).join(" · ")}),"uploading"===t.status?_jsx(View,{style:[z.listProgressTrack,{backgroundColor:v.colors.border}],children:_jsx(View,{style:[z.listProgressFill,{width:`${Math.round(100*(t.progress??0))}%`,backgroundColor:v.colors.primary}]})}):null]}),retryButton(t),_jsx(Pressable,{onPress:()=>G(t),disabled:m,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:P.removeFile(t.name),children:_jsx(Text,{style:[z.listRemoveText,{color:v.colors["text-subtle"]}],children:"×"})})]})})(r);return _jsx(Pressable,{onPress:j?()=>j(e):void 0,disabled:m||!j,accessibilityLabel:fileA11yLabel(e),children:s},e.id)},J={open:U,disabled:m||E,fileCount:I.length,atCapacity:E},dashedTrigger=e=>_jsxs(Pressable,{onPress:()=>U(),disabled:m||E,accessibilityRole:"button",accessibilityLabel:K,accessibilityState:{disabled:m||E},"aria-disabled":m||E,style:({pressed:t})=>[z.trigger,e?z.triggerCompact:null,{borderRadius:k,...smoothCorners,borderColor:R,backgroundColor:t?v.colors["surface-pressed"]:v.colors.bg,opacity:m||E?.55:1}],children:[_jsxs(View,{style:z.triggerRow,children:[Y?Y({size:16,color:v.colors.primary}):null,_jsx(Text,{style:[z.triggerText,{color:v.colors.primary,fontSize:v.text.sm.size,...fontFor(v,"medium")}],children:0===I.length?P.trigger:P.addMore})]}),!e&&p?_jsx(Text,{style:[z.helperText,{color:v.colors["text-subtle"],fontSize:v.text.xs.size}],children:p}):null]}),Q=_jsx(Pressable,{onPress:()=>U(),disabled:m||E,accessibilityRole:"button",accessibilityLabel:P.addMore,style:({pressed:e})=>[z.tile,z.addTile,{width:84,height:84,borderRadius:k,...smoothCorners,borderColor:R,backgroundColor:e?v.colors["surface-pressed"]:"transparent",opacity:m||E?.55:1}],children:_jsx(Text,{style:[z.addTileText,{color:v.colors.primary}],children:"+"})});return _jsxs(View,{style:[z.container,w],testID:_,accessibilityLabel:K,children:["card"===u?0===I.length?g?g(J):dashedTrigger(!1):_jsxs(ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:[z.strip,{columnGap:v.space.sm}],children:[I.map(renderOneFile),g?g(J):E||m?null:Q]}):_jsxs(View,{style:{rowGap:v.space.sm},children:[g?g(J):E?null:dashedTrigger(I.length>0),I.map(renderOneFile)]}),hasFieldText(A)?_jsx(Text,{accessibilityLiveRegion:"polite",style:[z.errorText,{color:v.colors["danger-text"],fontSize:v.text.xs.size,marginTop:v.space.xxs}],children:A}):null,_jsx(OptionSheet,{open:H,onClose:()=>$(!1),title:P.sheetTitle,options:o,labelOf:e=>e.label,getValue:e=>e.key,disabledOf:()=>!1,descriptionOf:e=>e.description,iconOf:e=>e.icon,isSelected:()=>!1,onSelect:e=>{$(!1),D(e)}})]})});FilePicker.displayName="FilePicker";const buildStyles=e=>StyleSheet.create({container:{width:"100%"},trigger:{borderWidth:1,borderStyle:"dashed",alignItems:"center",minHeight:48,paddingVertical:e.space.md,paddingHorizontal:e.space.lg},triggerCompact:{minHeight:40,paddingVertical:e.space.sm},triggerRow:{flexDirection:"row",alignItems:"center",columnGap:e.space.sm},triggerText:{includeFontPadding:!1},helperText:{includeFontPadding:!1,marginTop:e.space.xs,textAlign:"center"},strip:{paddingVertical:e.space.xxs},tile:{borderWidth:1,overflow:"hidden"},addTile:{borderStyle:"dashed",alignItems:"center",justifyContent:"center"},addTileText:{fontSize:e.text["3xl"].size,includeFontPadding:!1},thumbnailImage:{width:"100%",height:"100%",resizeMode:"cover"},extensionTile:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center"},extensionText:{fontSize:e.text.sm.size,letterSpacing:1,includeFontPadding:!1},tileOverlay:{...StyleSheet.absoluteFill,alignItems:"center",justifyContent:"center"},tileOverlayText:{fontSize:e.text.sm.size,includeFontPadding:!1,marginBottom:e.space.xs},tileProgressTrack:{position:"absolute",left:8,right:8,bottom:8,height:3,borderRadius:e.radius.pill,...smoothCorners,overflow:"hidden"},tileProgressFill:{height:"100%",borderRadius:e.radius.pill,...smoothCorners},doneBadge:{position:"absolute",right:4,bottom:4,width:18,height:18,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},doneBadgeText:{fontSize:e.text.xs.size,includeFontPadding:!1},removeButton:{position:"absolute",top:4,right:4,width:20,height:20,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},removeButtonText:{fontSize:e.text.sm.size,lineHeight:15,includeFontPadding:!1},retryText:{fontSize:e.text.xl.size,includeFontPadding:!1},listRow:{flexDirection:"row",alignItems:"center",borderWidth:1,padding:e.space.sm,columnGap:e.space.sm},listThumb:{width:40,height:40,overflow:"hidden"},listTextWrap:{flex:1},listName:{includeFontPadding:!1},listSubtitle:{includeFontPadding:!1,marginTop:e.space.xxs},listProgressTrack:{height:3,borderRadius:e.radius.pill,...smoothCorners,overflow:"hidden",marginTop:e.space.xs},listProgressFill:{height:"100%",borderRadius:e.radius.pill,...smoothCorners},listRemoveText:{fontSize:e.text["2xl"].size,includeFontPadding:!1,paddingHorizontal:e.space.xs},errorText:{includeFontPadding:!1}});export{FilePicker};export default FilePicker;
1
+ "use strict";import{forwardRef,useCallback,useImperativeHandle,useMemo,useRef,useState}from"react";import{Image,Pressable,ScrollView,StyleSheet,Text,View}from"react-native";import{useControllableState}from"../../hooks/index.js";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{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{defaultIcons}from"../AppIcon/defaultIcons.js";import{hasFieldText}from"../FieldBase/index.js";import{OptionSheet}from"../OptionSheet/OptionSheet.js";import{Spinner}from"../Spinner/index.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";let fileIdSeq=0;const nextFileId=()=>"wfp-"+ ++fileIdSeq;export const DEFAULT_FILE_PICKER_LABELS={trigger:"Attach file",addMore:"Add more",sheetTitle:"Add from",removeFile:e=>`Remove ${e}`,retry:"Retry upload",attachments:"Attachments",attached:e=>`${e} file${1===e?"":"s"} attached`,processing:"Processing…",uploading:e=>`Uploading ${e}%`,uploaded:"Uploaded",failed:"Failed",errorTooMany:e=>`You can attach up to ${e} files.`,errorTooLarge:(e,t)=>`${e} is larger than ${t} MB.`,errorWrongType:e=>`${e} is not an accepted file type.`};export const formatFileSize=e=>{if(void 0===e||e<=0)return"";const t=["B","KB","MB","GB"];let r=e,s=0;for(;r>=1024&&s<t.length-1;)r/=1024,s+=1;return`${r>=10||0===s?Math.round(r):Math.round(10*r)/10} ${t[s]}`};export const matchesAccept=(e,t)=>!t||0===t.length||!!e&&t.some(t=>"*/*"===t||"*"===t||(t.endsWith("/*")?e.startsWith(t.slice(0,t.length-1)):e===t));const isImage=e=>!0===e.type?.startsWith("image/")||!e.type&&/\.(png|jpe?g|gif|webp|heic)$/i.test(e.name),imageSourceOf=e=>e.thumbnailUrl??(isImage(e)?e.uri??e.url:void 0),extensionOf=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?"FILE":e.slice(t+1).toUpperCase().slice(0,4)},FilePicker=forwardRef((e,t)=>{warnInvalidValue("FilePicker","variant",e.variant,["card","list"]);const{files:r,defaultFiles:s,onChange:i,sources:o,maxFiles:l,maxSizeMB:n,accept:a,validate:c,process:d,variant:u="card",renderFile:g,renderTrigger:h,disabled:p=!1,helperText:m,error:x,labels:b,haptic:f,onPick:y,onRemove:T,onError:j,onFilePress:S,onRetry:C,style:w,accessibilityLabel:v,testID:F}=e,_=useTheme(),P=useMemo(()=>buildStyles(_),[_]),k=useMemo(()=>({...DEFAULT_FILE_PICKER_LABELS,...b}),[b]),z=_.radius.md,I=_.colors.primary,[R,V]=useControllableState({value:r,defaultValue:s??[],onChange:i}),M=useRef(R);M.current=R;const L=useCallback(e=>{M.current=e,V(e)},[V]),[O,B]=useState(null),[H,$]=useState(!1),E=x??O??void 0,A="number"==typeof l&&R.length>=l,W=useCallback((e,t)=>{0!==e.length&&(B(e[0]),e.forEach(e=>{j?.(e,t)}),!1!==f&&triggerHaptic("notificationError"))},[j,f]),D=useCallback(async e=>{let t;try{t=await e.pick()}catch(e){return void W([e instanceof Error?e.message:String(e)])}if(!t||0===t.length)return;const r=[];let s=t.map(e=>({id:nextFileId(),name:e.name??e.uri.split("/").pop()??"file",uri:e.uri,type:e.type,bytes:e.size,meta:e.meta,status:"idle"}));if("number"==typeof l){const e=Math.max(0,l-M.current.length);s.length>e&&(r.push(k.errorTooMany(l)),s=s.slice(0,e))}const i=[];for(const e of s){if("number"==typeof n&&"number"==typeof e.bytes&&e.bytes>1024*n*1024){r.push(k.errorTooLarge(e.name,n));continue}if(!matchesAccept(e.type,a)){r.push(k.errorWrongType(e.name));continue}const t=c?.(e);t?r.push(t):i.push(e)}if(W(r),0===i.length)return;if(!d){L([...M.current,...i]),B(r.length>0?r[0]:null);const e=resolveHaptic(f,"selection");return e&&triggerHaptic(e),void y?.(i)}const o=i.map(e=>({...e,status:"processing"}));L([...M.current,...o]);const u=[];for(const e of o)try{const t=await d({...e,status:"idle"}),r={...t,id:e.id,status:t.status??"idle"};L(M.current.map(t=>t.id===e.id?r:t)),u.push(r)}catch(t){L(M.current.filter(t=>t.id!==e.id)),W([t instanceof Error?t.message:String(t)],e)}if(u.length>0){0===r.length&&B(null);const e=resolveHaptic(f,"selection");e&&triggerHaptic(e),y?.(u)}},[l,n,a,c,d,k,W,L,y,f]),U=useCallback(e=>{if(p||A)return;const t=e?o.find(t=>t.key===e):1===o.length?o[0]:void 0;t?D(t):o.length>1&&$(!0)},[p,A,o,D]),G=useCallback(e=>{if(p)return;L(M.current.filter(t=>t.id!==e.id)),B(null);const t=resolveHaptic(f,"selection");t&&triggerHaptic(t),T?.(e)},[p,L,T,f]),K=useCallback(()=>{L([]),B(null)},[L]);useImperativeHandle(t,()=>({open:U,clear:K}),[U,K]);const N=0===R.length?k.trigger:k.attached(R.length),q=v??`${k.attachments}. ${N}`,statusText=e=>{switch(e.status){case"processing":return k.processing;case"uploading":return k.uploading(Math.round(100*(e.progress??0)));case"done":return k.uploaded;case"error":return e.error??k.failed;default:return""}},fileA11yLabel=e=>[e.name,formatFileSize(e.bytes),statusText(e)].filter(Boolean).join(", "),Y=_.settings.icons.attachment??defaultIcons.attachment,renderStatusOverlay=e=>{if("processing"===e.status)return _jsx(View,{style:[P.tileOverlay,{backgroundColor:_.colors.scrim}],children:_jsx(Spinner,{size:"sm"})});if("uploading"===e.status){const t=Math.round(100*(e.progress??0));return _jsxs(View,{style:[P.tileOverlay,{backgroundColor:_.colors.scrim}],children:[_jsx(Text,{style:[P.tileOverlayText,{color:_.colors["on-scrim"]}],children:`${t}%`}),_jsx(View,{style:[P.tileProgressTrack,{backgroundColor:_.colors.border}],children:_jsx(View,{style:[P.tileProgressFill,{width:`${t}%`,backgroundColor:_.colors.primary}]})})]})}return"done"===e.status?_jsx(View,{style:[P.doneBadge,{backgroundColor:_.colors.success}],children:_jsx(Text,{style:[P.doneBadgeText,{color:_.colors["on-success"]}],children:"✓"})}):null},renderThumbnail=e=>{const t=imageSourceOf(e);return t?_jsx(Image,{source:{uri:t},style:P.thumbnailImage}):_jsx(View,{style:[P.extensionTile,{backgroundColor:_.colors["bg-subtle"]}],children:_jsx(Text,{style:[P.extensionText,{color:_.colors["text-muted"],...fontFor(_,"semibold")}],children:extensionOf(e.name)})})},removeButton=e=>_jsx(Pressable,{onPress:()=>G(e),disabled:p,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:k.removeFile(e.name),style:[P.removeButton,{backgroundColor:_.colors.scrim}],children:_jsx(Text,{style:[P.removeButtonText,{color:_.colors["on-scrim"]}],children:"×"})}),retryButton=e=>C&&"error"===e.status?_jsx(Pressable,{onPress:()=>C(e),disabled:p,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:k.retry,children:_jsx(Text,{style:[P.retryText,{color:_.colors.primary}],children:"↻"})}):null,renderOneFile=(e,t)=>{const r={file:e,index:t,disabled:p,remove:()=>G(e),retry:C?()=>C(e):void 0},s=g?g(r):"card"===u?(e=>{const{file:t}=e;return _jsxs(View,{style:[P.tile,{width:84,height:84,borderRadius:z,...smoothCorners,borderColor:"error"===t.status?_.colors.danger:_.colors.border}],children:[renderThumbnail(t),renderStatusOverlay(t),"error"===t.status?_jsx(View,{style:[P.tileOverlay,{backgroundColor:_.colors.scrim}],children:retryButton(t)}):null,removeButton(t)]})})(r):(e=>{const{file:t}=e,r=statusText(t);return _jsxs(View,{style:[P.listRow,{borderRadius:z,...smoothCorners,borderColor:"error"===t.status?_.colors.danger:_.colors.border,backgroundColor:_.colors.bg}],children:[_jsxs(View,{style:[P.listThumb,{borderRadius:_.radius.sm,...smoothCorners}],children:[renderThumbnail(t),"processing"===t.status?_jsx(View,{style:[P.tileOverlay,{backgroundColor:_.colors.scrim}],children:_jsx(Spinner,{size:"sm"})}):null]}),_jsxs(View,{style:P.listTextWrap,children:[_jsx(Text,{numberOfLines:1,ellipsizeMode:"middle",style:[P.listName,{color:_.colors["text-body"],fontSize:_.text.sm.size,...fontFor(_,"medium")}],children:t.name}),_jsx(Text,{numberOfLines:1,style:[P.listSubtitle,{color:"error"===t.status?_.colors["danger-text"]:_.colors["text-subtle"],fontSize:_.text.xs.size}],children:[formatFileSize(t.bytes),r].filter(Boolean).join(" · ")}),"uploading"===t.status?_jsx(View,{style:[P.listProgressTrack,{backgroundColor:_.colors.border}],children:_jsx(View,{style:[P.listProgressFill,{width:`${Math.round(100*(t.progress??0))}%`,backgroundColor:_.colors.primary}]})}):null]}),retryButton(t),_jsx(Pressable,{onPress:()=>G(t),disabled:p,hitSlop:8,...hitSlopMarker(8),accessibilityRole:"button",accessibilityLabel:k.removeFile(t.name),children:_jsx(Text,{style:[P.listRemoveText,{color:_.colors["text-subtle"]}],children:"×"})})]})})(r);return _jsx(Pressable,{onPress:S?()=>S(e):void 0,disabled:p||!S,accessibilityLabel:fileA11yLabel(e),children:s},e.id)},J={open:U,disabled:p||A,fileCount:R.length,atCapacity:A},dashedTrigger=e=>_jsxs(Pressable,{onPress:()=>U(),disabled:p||A,accessibilityRole:"button",accessibilityState:{disabled:p||A},"aria-disabled":p||A,style:({pressed:t})=>[P.trigger,e?P.triggerCompact:null,{borderRadius:z,...smoothCorners,borderColor:I,backgroundColor:t?_.colors["surface-pressed"]:_.colors.bg,opacity:p||A?.55:1}],children:[_jsxs(View,{style:P.triggerRow,children:[Y?Y({size:16,color:_.colors.primary}):null,_jsx(Text,{style:[P.triggerText,{color:_.colors.primary,fontSize:_.text.sm.size,...fontFor(_,"medium")}],children:0===R.length?k.trigger:k.addMore})]}),!e&&m?_jsx(Text,{style:[P.helperText,{color:_.colors["text-subtle"],fontSize:_.text.xs.size}],children:m}):null]}),Q=_jsx(Pressable,{onPress:()=>U(),disabled:p||A,accessibilityRole:"button",accessibilityLabel:k.addMore,style:({pressed:e})=>[P.tile,P.addTile,{width:84,height:84,borderRadius:z,...smoothCorners,borderColor:I,backgroundColor:e?_.colors["surface-pressed"]:"transparent",opacity:p||A?.55:1}],children:_jsx(Text,{style:[P.addTileText,{color:_.colors.primary}],children:"+"})});return _jsxs(View,{style:[P.container,w],testID:F,accessibilityLabel:q,children:["card"===u?0===R.length?h?h(J):dashedTrigger(!1):_jsxs(ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:[P.strip,{columnGap:_.space.sm}],children:[R.map(renderOneFile),h?h(J):A||p?null:Q]}):_jsxs(View,{style:{rowGap:_.space.sm},children:[h?h(J):A?null:dashedTrigger(R.length>0),R.map(renderOneFile)]}),hasFieldText(E)?_jsx(Text,{accessibilityLiveRegion:"polite",style:[P.errorText,{color:_.colors["danger-text"],fontSize:_.text.xs.size,marginTop:_.space.xxs}],children:E}):null,_jsx(OptionSheet,{visible:H,onClose:()=>$(!1),title:k.sheetTitle,options:o,getOptionLabel:e=>e.label,getOptionValue:e=>e.key,getOptionDescription:e=>e.description,getOptionIcon:e=>e.icon,onChange:(e,t)=>{$(!1),D(t)}})]})});FilePicker.displayName="FilePicker";const buildStyles=e=>StyleSheet.create({container:{width:"100%"},trigger:{borderWidth:1,borderStyle:"dashed",alignItems:"center",minHeight:48,paddingVertical:e.space.md,paddingHorizontal:e.space.lg},triggerCompact:{minHeight:40,paddingVertical:e.space.sm},triggerRow:{flexDirection:"row",alignItems:"center",columnGap:e.space.sm},triggerText:{includeFontPadding:!1},helperText:{includeFontPadding:!1,marginTop:e.space.xs,textAlign:"center"},strip:{paddingVertical:e.space.xxs},tile:{borderWidth:1,overflow:"hidden"},addTile:{borderStyle:"dashed",alignItems:"center",justifyContent:"center"},addTileText:{fontSize:e.text["3xl"].size,includeFontPadding:!1},thumbnailImage:{width:"100%",height:"100%",resizeMode:"cover"},extensionTile:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center"},extensionText:{fontSize:e.text.sm.size,letterSpacing:1,includeFontPadding:!1},tileOverlay:{...StyleSheet.absoluteFill,alignItems:"center",justifyContent:"center"},tileOverlayText:{fontSize:e.text.sm.size,includeFontPadding:!1,marginBottom:e.space.xs},tileProgressTrack:{position:"absolute",left:8,right:8,bottom:8,height:3,borderRadius:e.radius.pill,...smoothCorners,overflow:"hidden"},tileProgressFill:{height:"100%",borderRadius:e.radius.pill,...smoothCorners},doneBadge:{position:"absolute",right:4,bottom:4,width:18,height:18,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},doneBadgeText:{fontSize:e.text.xs.size,includeFontPadding:!1},removeButton:{position:"absolute",top:4,right:4,width:20,height:20,borderRadius:e.radius.pill,...smoothCorners,alignItems:"center",justifyContent:"center"},removeButtonText:{fontSize:e.text.sm.size,lineHeight:15,includeFontPadding:!1},retryText:{fontSize:e.text.xl.size,includeFontPadding:!1},listRow:{flexDirection:"row",alignItems:"center",borderWidth:1,padding:e.space.sm,columnGap:e.space.sm},listThumb:{width:40,height:40,overflow:"hidden"},listTextWrap:{flex:1},listName:{includeFontPadding:!1},listSubtitle:{includeFontPadding:!1,marginTop:e.space.xxs},listProgressTrack:{height:3,borderRadius:e.radius.pill,...smoothCorners,overflow:"hidden",marginTop:e.space.xs},listProgressFill:{height:"100%",borderRadius:e.radius.pill,...smoothCorners},listRemoveText:{fontSize:e.text["2xl"].size,includeFontPadding:!1,paddingHorizontal:e.space.xs},errorText:{includeFontPadding:!1}});export{FilePicker};export default FilePicker;
@@ -1 +1 @@
1
- "use strict";export{default,FilePicker,formatFileSize}from"./FilePicker.js";
1
+ "use strict";export{DEFAULT_FILE_PICKER_LABELS,default,FilePicker,formatFileSize}from"./FilePicker.js";
@@ -1 +1 @@
1
- "use strict";import{forwardRef,memo,useCallback,useEffect,useMemo,useRef}from"react";import{ScrollView,StyleSheet,View}from"react-native";import{useReducedMotion}from"../../hooks/index.js";import{useTheme}from"../../theme/index.js";import{Chip}from"../Chip/index.js";import{jsx as _jsx}from"react/jsx-runtime";const FilterChipRowItem=memo(({itemKey:e,label:t,count:o,disabled:i,selected:r,size:a,variant:l,tone:n,haptic:s,onSelect:c,onItemLayout:u})=>{const d=useCallback(()=>c(e),[c,e]),p=useCallback(t=>u(e,t.nativeEvent.layout),[u,e]);return _jsx(View,{onLayout:p,collapsable:!1,children:_jsx(Chip,{label:t,count:o,selected:r,selectionMode:"radio",disabled:i,size:a,variant:l,tone:n,haptic:!r&&s,onPress:d})})});FilterChipRowItem.displayName="FilterChipRowItem";const FilterChipRow=forwardRef((e,t)=>{const{items:o,value:i,onChange:r,bleed:a=0,size:l,variant:n,tone:s,haptic:c,accessibilityLabel:u,style:d,contentContainerStyle:p,testID:h}=e,m=useTheme(),w=useReducedMotion(),C=useRef(null),b=useRef({viewport:0,content:0,chips:{},revealed:null}),f=useRef(i),y=useRef(r);useEffect(()=>{y.current=r},[r]);const x=useCallback((e,t)=>{const o=b.current,i=o.chips[e];if(!i||0===o.viewport||0===o.content)return;const r=i.x+i.width/2-o.viewport/2,a=Math.min(Math.max(r,0),Math.max(o.content-o.viewport,0));C.current?.scrollTo({x:a,animated:t&&!w}),o.revealed=e},[w]),R=useCallback(()=>{b.current.revealed!==f.current&&x(f.current,!1)},[x]);useEffect(()=>{f.current=i,x(i,!0)},[i,x]);const v=useCallback(e=>{b.current.viewport=e.nativeEvent.layout.width,R()},[R]),k=useCallback(e=>{b.current.content=e,R()},[R]),S=useCallback((e,t)=>{b.current.chips[e]={x:t.x,width:t.width},R()},[R]),j=useCallback(e=>{e!==f.current?y.current(e):x(e,!0)},[x]),I=useMemo(()=>[styles.row,{paddingHorizontal:a,columnGap:m.space.xs},p],[a,m.space.xs,p]);return _jsx(View,{ref:t,accessibilityRole:"radiogroup",accessibilityLabel:u,testID:h,style:[a>0?{marginHorizontal:-a}:null,d],children:_jsx(ScrollView,{ref:C,horizontal:!0,showsHorizontalScrollIndicator:!1,keyboardShouldPersistTaps:"handled",contentContainerStyle:I,onLayout:v,onContentSizeChange:k,children:o.map(e=>_jsx(FilterChipRowItem,{itemKey:e.key,label:e.label,count:e.count,disabled:e.disabled,selected:e.key===i,size:l,variant:n,tone:s,haptic:c,onSelect:j,onItemLayout:S},e.key))})})});FilterChipRow.displayName="FilterChipRow";const styles=StyleSheet.create({row:{alignItems:"center"}});export{FilterChipRow};export default FilterChipRow;
1
+ "use strict";import{forwardRef,memo,useCallback,useEffect,useMemo,useRef}from"react";import{ScrollView,StyleSheet,View}from"react-native";import{useReducedMotion}from"../../hooks/index.js";import{useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{Chip}from"../Chip/index.js";import{jsx as _jsx}from"react/jsx-runtime";const FilterChipRowItem=memo(({itemKey:e,label:t,count:i,disabled:a,selected:o,size:r,variant:n,tone:l,haptic:s,onSelect:c,onItemLayout:u})=>{const d=useCallback(()=>c(e),[c,e]),p=useCallback(t=>u(e,t.nativeEvent.layout),[u,e]);return _jsx(View,{onLayout:p,collapsable:!1,children:_jsx(Chip,{label:t,count:i,selected:o,selectionMode:"radio",disabled:a,size:r,variant:n,tone:l,haptic:!o&&s,onPress:d})})});FilterChipRowItem.displayName="FilterChipRowItem";const FilterChipRow=forwardRef((e,t)=>{const{items:i,value:a,onChange:o,bleed:r=0,size:n,variant:l,tone:s,haptic:c,accessibilityLabel:u,style:d,contentContainerStyle:p,testID:m}=e;warnInvalidValue("FilterChipRow","size",e.size,["sm","md"]),warnInvalidValue("FilterChipRow","variant",e.variant,["solid","soft","outline"]),warnInvalidValue("FilterChipRow","tone",e.tone,["primary","success","warning","danger","info","neutral"]);const h=useTheme(),w=useReducedMotion(),C=useRef(null),f=useRef({viewport:0,content:0,chips:{},revealed:null}),y=useRef(a),b=useRef(o);useEffect(()=>{b.current=o},[o]);const v=useCallback((e,t)=>{const i=f.current,a=i.chips[e];if(!a||0===i.viewport||0===i.content)return;const o=a.x+a.width/2-i.viewport/2,r=Math.min(Math.max(o,0),Math.max(i.content-i.viewport,0));C.current?.scrollTo({x:r,animated:t&&!w}),i.revealed=e},[w]),R=useCallback(()=>{f.current.revealed!==y.current&&v(y.current,!1)},[v]);useEffect(()=>{y.current=a,v(a,!0)},[a,v]);const x=useCallback(e=>{f.current.viewport=e.nativeEvent.layout.width,R()},[R]),I=useCallback(e=>{f.current.content=e,R()},[R]),k=useCallback((e,t)=>{f.current.chips[e]={x:t.x,width:t.width},R()},[R]),S=useCallback(e=>{e!==y.current?b.current(e):v(e,!0)},[v]),j=useMemo(()=>[styles.row,{paddingHorizontal:r,columnGap:h.space.xs},p],[r,h.space.xs,p]);return _jsx(View,{ref:t,accessibilityRole:"radiogroup",accessibilityLabel:u,testID:m,style:[r>0?{marginHorizontal:-r}:null,d],children:_jsx(ScrollView,{ref:C,horizontal:!0,showsHorizontalScrollIndicator:!1,keyboardShouldPersistTaps:"handled",contentContainerStyle:j,onLayout:x,onContentSizeChange:I,children:i.map(e=>_jsx(FilterChipRowItem,{itemKey:e.key,label:e.label,count:e.count,disabled:e.disabled,selected:e.key===a,size:n,variant:l,tone:s,haptic:c,onSelect:S,onItemLayout:k},e.key))})})});FilterChipRow.displayName="FilterChipRow";const styles=StyleSheet.create({row:{alignItems:"center"}});export{FilterChipRow};export default FilterChipRow;
@@ -1 +1 @@
1
- "use strict";import{Logger}from"@webority/mobile-core";import React,{forwardRef,useCallback,useEffect,useMemo,useRef,useState}from"react";import{AccessibilityInfo,Animated,BackHandler,Easing,Platform,Pressable,StyleSheet,Text,View}from"react-native";import Reanimated,{cancelAnimation,Easing as ReanimatedEasing,useAnimatedStyle,useSharedValue,withTiming}from"react-native-reanimated";import{useSafeAreaInsets}from"react-native-safe-area-context";import{usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{createAnimatedValue,resolveFloatingActionButtonSize,setNativeValue,useTheme}from"../../theme/index.js";import{announce}from"../../utils/announce.js";import{ACCENT_PRESSED_TINT}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const toneBackground=(e,t)=>{switch(t){case"success":return e.colors.success;case"warning":return e.colors.warning;case"danger":return e.colors.danger;case"neutral":return e.colors["bg-muted"];default:return e.colors.primary}},pressedTintFor=(e,t)=>"neutral"===t?e.colors["surface-pressed"]:ACCENT_PRESSED_TINT,toneForeground=(e,t)=>{if("neutral"===t)return e.colors["text-body"];switch(t){case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];default:return e.colors["on-primary"]}},FloatingActionButton=forwardRef((e,t)=>{const{icon:o,onPress:n,label:s,collapsed:i=!1,size:r="md",tone:a="primary",position:l,bottomOffset:c,disabled:u=!1,hideOnScroll:d=!1,isScrolling:m=!1,accessibilityLabel:b,accessibilityHint:f,haptic:g,style:p,containerStyle:h,labelStyle:y,testID:w}=e,x=useTheme(),v=useSafeAreaInsets(),S=useMemo(()=>resolveFloatingActionButtonSize(x,r),[x,r]),A=useMemo(()=>buildStyles(x),[x]),{scale:R,opacity:_,pressIn:E,pressOut:C}=usePressAnimation({enabled:!u}),j=usePresenceMotion(),I=x.space[x.components["floating-action-button"]["edge-offset"]],P=x.space[x.components["floating-action-button"]["bottom-offset"]],k=useRef(createAnimatedValue(1)).current,F=j.duration("default");useEffect(()=>{if(!d)return void setNativeValue(k,1);const e=Animated.timing(k,{toValue:m?0:1,duration:F,easing:Easing.bezier(...x.motion.ease["in-out"]),useNativeDriver:!0});return e.start(),()=>e.stop()},[d,m,k,F,x.motion.ease["in-out"]]);const V=S.diameter+(c??P)+v.bottom+I,T=k.interpolate({inputRange:[0,1],outputRange:j.range(V,0)}),D=useMemo(()=>Animated.multiply(k,_),[k,_]),B=o,L="string"==typeof s&&s.length>0,M=L&&i,N=j.reduced,O=x.space.sm,z=S["label-padding-x"],H=x.motion.duration.fast,$=x.motion.ease["in-out"],G=useSharedValue(M?1:0),[U,W]=useState(null);useEffect(()=>{const e=M?1:0;return G.value=N?e:withTiming(e,{duration:H,easing:ReanimatedEasing.bezier(...$)}),()=>cancelAnimation(G)},[M,N,G,H,$]);const Y=useCallback(e=>{const t=Math.ceil(e);W(e=>e===t?e:t)},[]),Q=useAnimatedStyle(()=>({paddingHorizontal:z*(1-G.value)})),X=useAnimatedStyle(()=>{const e=Math.max(0,1-2*G.value);return null===U?G.value>=1?{opacity:e,width:0}:{opacity:e}:{opacity:e,width:(U+O)*(1-G.value)}}),q=u?x.colors["surface-disabled"]:toneBackground(x,a),J=u?x.colors["text-disabled"]:toneForeground(x,a),K=useMemo(()=>{if(!l)return null;const e=(c??P)+v.bottom;switch(l){case"bottomLeft":return{position:"absolute",bottom:e,left:I};case"bottomCenter":return{position:"absolute",bottom:e,alignSelf:"center"};default:return{position:"absolute",bottom:e,right:I}}},[l,c,v.bottom,P,I]);return _jsx(Animated.View,{style:[K,{transform:[{translateY:T},{scale:R}],opacity:D},h,p],pointerEvents:d&&m?"none":"auto",children:_jsx(Pressable,{ref:t,onPress:e=>{if(u)return;const t=resolveHaptic(g,"impactLight");t&&triggerHaptic(t),n()},onPressIn:E,onPressOut:C,disabled:u,accessibilityRole:"button",accessibilityLabel:b,accessibilityHint:f,accessibilityState:{disabled:u},"aria-disabled":u,testID:w,style:[A.base,L?{height:S.diameter,minWidth:S.diameter,borderRadius:S.diameter/2,...smoothCorners}:{width:S.diameter,height:S.diameter,borderRadius:S.diameter/2,...smoothCorners},x.shadow.popover,{backgroundColor:q,opacity:u?.55:1}],children:({pressed:e})=>_jsxs(_Fragment,{children:[e&&!u?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[A.pressedTint,{backgroundColor:pressedTintFor(x,a),borderRadius:S.diameter/2,...smoothCorners}]}):null,L?_jsxs(Reanimated.View,{style:[A.extendedRow,Q],children:[B,_jsx(Reanimated.View,{style:[A.labelClip,X],children:_jsx(Text,{onLayout:e=>Y(e.nativeEvent.layout.width),style:[A.label,{color:J,fontSize:S.text,fontWeight:x.weight.semibold,marginLeft:O},y],numberOfLines:1,children:s})})]}):B]})})})});FloatingActionButton.displayName="FloatingActionButton";const buildStyles=e=>StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",overflow:"hidden"},pressedTint:{position:"absolute",top:0,right:0,bottom:0,left:0},extendedRow:{flexDirection:"row",alignItems:"center"},labelClip:{flexDirection:"row",overflow:"hidden"},label:{includeFontPadding:!1,flexShrink:0}}),FAB_GROUP_MIN_ACTIONS=2,FAB_GROUP_MAX_ACTIONS=6,FAB_GROUP_RANGE="2 to 6",describeActionProblem=e=>e.length<2?`was given ${e.length} action(s); a menu holds 2 to 6.`:e.length>6?`was given ${e.length} actions; a menu holds 2 to 6, so only the first 6 are drawn.`:e.some(e=>"string"!=typeof e.label||""===e.label.trim())?"has an action without a visible `label`; every menu action needs one.":"",FloatingActionButtonGroup=e=>{const{primaryIcon:t,primaryActiveIcon:o,actions:n,open:s,defaultOpen:i=!1,onOpenChange:r,position:a="bottomRight",bottomOffset:l,size:c="md",accessibilityLabel:u="Quick actions",haptic:d,hideOnScroll:m=!1,isScrolling:b=!1,containerStyle:f,secondaryActionStyle:g,labelPillStyle:p,labelStyle:h,testID:y}=e,w=useTheme(),x=useSafeAreaInsets(),v=useMemo(()=>resolveFloatingActionButtonSize(w,c),[w,c]),S=useMemo(()=>buildGroupStyles(w),[w]),A=usePresenceMotion(),R=A.duration("default"),_=w.space[w.components["floating-action-button"]["edge-offset"]],E=w.space[w.components["floating-action-button"]["bottom-offset"]],C=w.space[w.components["floating-action-button"]["secondary-gap"]],j=w.components["floating-action-button"]["stagger-ms"],I=useMemo(()=>n.slice(0,6),[n]),P=I.length,k=useMemo(()=>I.map((e,t)=>({action:e,index:t})).reverse(),[I]),F=__DEV__?describeActionProblem(n):"";useEffect(()=>{__DEV__&&F&&Logger.warn(`[@webority/mobile-ui] FloatingActionButtonGroup ${F}`)},[F]);const V="boolean"==typeof s,[T,D]=useState(i),B=V?s:T,L=useRef(createAnimatedValue(1)).current;useEffect(()=>{if(!m)return void setNativeValue(L,1);const e=Animated.timing(L,{toValue:b?0:1,duration:R,easing:Easing.bezier(...w.motion.ease["in-out"]),useNativeDriver:!0});return e.start(),()=>e.stop()},[m,b,L,R,w.motion.ease["in-out"]]);const M=m&&b;useEffect(()=>{M&&B&&(V||D(!1),r?.(!1))},[M,B,V,r]);const N=v.diameter+(l??E)+x.bottom+_,O=L.interpolate({inputRange:[0,1],outputRange:A.range(N,0)}),z=L,H=useRef(createAnimatedValue(B?1:0)).current,$=useRef([]),[G,U]=useState(0);useEffect(()=>{const e=$.current;if(e.length!==P){if(e.length<P){const t=e.slice();for(let o=e.length;o<P;o+=1)t.push(new Animated.Value(B?1:0));$.current=t}else $.current=e.slice(0,P);U(e=>e+1)}},[P]),useEffect(()=>{const e=Animated.timing(H,{toValue:B?1:0,duration:R,easing:Easing.bezier(...w.motion.ease["in-out"]),useNativeDriver:!0});e.start();const t=$.current.map(e=>Animated.timing(e,{toValue:B?1:0,duration:R,easing:Easing.bezier(...w.motion.ease["in-out"]),useNativeDriver:!0})),o=B?t:[...t].reverse(),n=Animated.stagger(j,o);return n.start(),()=>{e.stop(),n.stop()}},[B,H,R,w.motion.ease["in-out"],P,G,j]);const W=useCallback(e=>{const t=resolveHaptic(d,"impactLight");t&&triggerHaptic(t),V||D(e),r?.(e)},[V,r,d]),Y=useRef(null),Q=useRef(B),X=useRef(!1);useEffect(()=>{if(Q.current===B)return;Q.current=B;const e=X.current;if(X.current=!1,M||e)return;const t=Y.current;t&&("web"===Platform.OS?t.focus?.():AccessibilityInfo.sendAccessibilityEvent(t,"focus"));announce(B?`${u}, expanded, ${P} ${1===P?"action":"actions"}`:`${u}, collapsed`)},[B,M,u,P]);const q=useCallback(()=>{W(!B)},[B,W]),J=useCallback(e=>{!1!==d&&triggerHaptic("selection"),X.current=!0,e.onPress(),V||D(!1),r?.(!1)},[V,r,d]),K=useCallback(()=>{B&&W(!1)},[B,W]);useEffect(()=>{if(!B)return;const e=BackHandler.addEventListener("hardwareBackPress",()=>(W(!1),!0));return()=>e.remove()},[B,W]),useEffect(()=>{if(!B||"web"!==Platform.OS)return;const onKeyDown=e=>{"Escape"===e.key&&W(!1)};return window.addEventListener("keydown",onKeyDown),()=>window.removeEventListener("keydown",onKeyDown)},[B,W]);const Z=useMemo(()=>{const e=(l??E)+x.bottom;switch(a){case"bottomLeft":return{position:"absolute",bottom:e,left:_,alignItems:"flex-start"};case"bottomCenter":return{position:"absolute",bottom:e,alignSelf:"center",alignItems:"center"};default:return{position:"absolute",bottom:e,right:_,alignItems:"flex-end"}}},[a,l,x.bottom,E,_]),slotOffset=e=>-(v.diameter+C)*(e+1),ee=useMemo(()=>{switch(a){case"bottomLeft":return{left:0,right:0,justifyContent:"flex-start"};case"bottomCenter":return{left:0,right:0,justifyContent:"center"};default:return{left:0,right:0,justifyContent:"flex-end"}}},[a]),te=.78*v.diameter,oe=useMemo(()=>{const e=te+w.space.sm;switch(a){case"bottomLeft":return{left:e,alignItems:"flex-start"};case"bottomCenter":return{right:v.diameter/2+te/2+w.space.sm,alignItems:"flex-end"};default:return{right:e,alignItems:"flex-end"}}},[a,te,v.diameter,w.space.sm]),ne=H.interpolate({inputRange:[0,1],outputRange:[0,.4]}),se=H.interpolate(A.reduced?{inputRange:[0,.5,.5001,1],outputRange:["0deg","0deg","45deg","45deg"]}:{inputRange:[0,1],outputRange:["0deg","45deg"]});return _jsxs(_Fragment,{children:[B?_jsx(Animated.View,{pointerEvents:B?"auto":"none",style:[StyleSheet.absoluteFill,{backgroundColor:w.colors.scrim,opacity:ne}],children:_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:K,accessibilityElementsHidden:!0,importantForAccessibility:"no",testID:y?`${y}-backdrop`:void 0})}):null,_jsxs(Animated.View,{pointerEvents:M?"none":"box-none",style:[Z,{transform:[{translateY:O}],opacity:z},f],accessibilityRole:"menu",testID:y,children:[k.map(({action:e,index:t})=>{const o=$.current[t];if(!o)return null;const n=o.interpolate({inputRange:[0,1],outputRange:A.range(0,slotOffset(t))}),s=o.interpolate({inputRange:[0,1],outputRange:A.range(.6,1)}),i=toneBackground(w,e.tone??"primary"),r=toneForeground(w,e.tone??"primary"),a=e.label?_jsx(View,{pointerEvents:"none",style:[S.labelSlot,oe],testID:y?`${y}-label-${e.key}`:void 0,children:_jsx(View,{style:[S.labelPill,w.shadow.card,{backgroundColor:w.colors.surface,paddingHorizontal:w.space.sm,paddingVertical:w.space.xs,borderRadius:w.radius.sm,...smoothCorners},p],children:_jsx(Text,{style:[{color:w.colors["text-body"],fontSize:w.text.sm.size,fontWeight:w.weight.medium},h],numberOfLines:1,children:e.label})})}):null;return _jsxs(Animated.View,{pointerEvents:B?"auto":"none",accessibilityElementsHidden:!B,importantForAccessibility:B?"auto":"no-hide-descendants","aria-hidden":!B,style:[S.secondaryRow,ee,{position:"absolute",bottom:0,opacity:o,transform:[{translateY:n},{scale:s}]}],children:[_jsx(Pressable,{onPress:()=>J(e),focusable:B,accessibilityRole:"menuitem",accessibilityLabel:e.accessibilityLabel,style:[S.fabBase,w.shadow.elevated,{width:te,height:te,borderRadius:te/2,...smoothCorners,backgroundColor:i},g],testID:y?`${y}-action-${e.key}`:void 0,children:({pressed:t})=>_jsxs(_Fragment,{children:[t?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[S.pressedTint,{backgroundColor:pressedTintFor(w,e.tone??"primary"),borderRadius:te/2,...smoothCorners}]}):null,React.isValidElement(e.icon)?e.icon:_jsx(Text,{style:{color:r},children:String(e.icon??"")})]})}),a]},e.key)}),_jsx(Pressable,{ref:Y,onPress:q,accessibilityRole:"button",accessibilityLabel:u,accessibilityState:{expanded:B},"aria-expanded":B,style:[S.fabBase,w.shadow.popover,{width:v.diameter,height:v.diameter,borderRadius:v.diameter/2,...smoothCorners,backgroundColor:w.colors.primary}],testID:y?`${y}-primary`:void 0,children:({pressed:e})=>_jsxs(_Fragment,{children:[e?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[S.pressedTint,{backgroundColor:ACCENT_PRESSED_TINT,borderRadius:v.diameter/2,...smoothCorners}]}):null,_jsx(Animated.View,{style:o?void 0:{transform:[{rotate:se}]},children:B&&o?o:t})]})})]})]})},buildGroupStyles=e=>StyleSheet.create({fabBase:{flexDirection:"row",alignItems:"center",justifyContent:"center",overflow:"hidden"},pressedTint:{position:"absolute",top:0,right:0,bottom:0,left:0},secondaryRow:{flexDirection:"row",alignItems:"center"},labelSlot:{position:"absolute",top:0,bottom:0,justifyContent:"center"},labelPill:{alignSelf:"auto"}});export{FloatingActionButton,FloatingActionButtonGroup};export default FloatingActionButton;
1
+ "use strict";import{Logger}from"@webority/mobile-core";import{forwardRef,useCallback,useEffect,useMemo,useRef,useState}from"react";import{AccessibilityInfo,Animated,BackHandler,Easing,Platform,Pressable,StyleSheet,Text,View}from"react-native";import Reanimated,{cancelAnimation,Easing as ReanimatedEasing,useAnimatedStyle,useSharedValue,withTiming}from"react-native-reanimated";import{useSafeAreaInsets}from"react-native-safe-area-context";import{usePresenceMotion}from"../../hooks/usePresenceMotion.js";import{usePressAnimation}from"../../hooks/usePressAnimation.js";import{createAnimatedValue,resolveFloatingActionButtonSize,setNativeValue,useTheme}from"../../theme/index.js";import{announce}from"../../utils/announce.js";import{ACCENT_PRESSED_TINT}from"../../utils/color.js";import{smoothCorners}from"../../utils/corners.js";import{resolveHaptic,triggerHaptic}from"../../utils/hapticUtils.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{renderSlotIcon}from"../AppIcon/slotIcon.js";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";const FAB_SIZES=["sm","md","lg"],FAB_TONES=["primary","success","warning","danger","info","neutral"],FAB_POSITIONS=["bottomRight","bottomLeft","bottomCenter"],toneBackground=(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["bg-muted"];default:return e.colors.primary}},pressedTintFor=(e,t)=>"neutral"===t?e.colors["surface-pressed"]:ACCENT_PRESSED_TINT,toneForeground=(e,t)=>{if("neutral"===t)return e.colors["text-body"];switch(t){case"success":return e.colors["on-success"];case"warning":return e.colors["on-warning"];case"danger":return e.colors["on-danger"];case"info":return e.colors["on-info"];default:return e.colors["on-primary"]}},FloatingActionButton=forwardRef((e,t)=>{const{icon:o,onPress:n,label:i,collapsed:s=!1,size:r="md",tone:a="primary",position:l,bottomOffset:c,disabled:u=!1,hideOnScroll:d=!1,isScrolling:m=!1,accessibilityLabel:p,accessibilityHint:b,haptic:f,style:g,containerStyle:h,labelStyle:y,testID:A}=e;warnInvalidValue("FloatingActionButton","size",e.size,FAB_SIZES),warnInvalidValue("FloatingActionButton","tone",e.tone,FAB_TONES),warnInvalidValue("FloatingActionButton","position",e.position,FAB_POSITIONS);const S=useTheme(),w=useSafeAreaInsets(),_=useMemo(()=>resolveFloatingActionButtonSize(S,r),[S,r]),v=useMemo(()=>buildStyles(S),[S]),{scale:x,opacity:I,pressIn:E,pressOut:R}=usePressAnimation({enabled:!u}),F=usePresenceMotion(),C=S.space[S.components["floating-action-button"]["edge-offset"]],T=S.space[S.components["floating-action-button"]["bottom-offset"]],j=useRef(createAnimatedValue(1)).current,B=F.duration("default");useEffect(()=>{if(!d)return void setNativeValue(j,1);const e=Animated.timing(j,{toValue:m?0:1,duration:B,easing:Easing.bezier(...S.motion.ease["in-out"]),useNativeDriver:!0});return e.start(),()=>e.stop()},[d,m,j,B,S.motion.ease["in-out"]]);const P=_.diameter+(c??T)+w.bottom+C,V=j.interpolate({inputRange:[0,1],outputRange:F.range(P,0)}),k=useMemo(()=>Animated.multiply(j,I),[j,I]),O="string"==typeof i&&i.length>0,L=O&&s,N=F.reduced,D=S.space.sm,z=_["label-padding-x"],M=S.motion.duration.fast,G=S.motion.ease["in-out"],H=useSharedValue(L?1:0),[$,U]=useState(null);useEffect(()=>{const e=L?1:0;return H.value=N?e:withTiming(e,{duration:M,easing:ReanimatedEasing.bezier(...G)}),()=>cancelAnimation(H)},[L,N,H,M,G]);const W=useCallback(e=>{const t=Math.ceil(e);U(e=>e===t?e:t)},[]),Y=useAnimatedStyle(()=>({paddingHorizontal:z*(1-H.value)})),Z=useAnimatedStyle(()=>{const e=Math.max(0,1-2*H.value);return null===$?H.value>=1?{opacity:e,width:0}:{opacity:e}:{opacity:e,width:($+D)*(1-H.value)}}),q=u?S.colors["surface-disabled"]:toneBackground(S,a),Q=u?S.colors["text-disabled"]:toneForeground(S,a),X=renderSlotIcon(o,{color:Q,size:_.icon,disabled:u}),J=useMemo(()=>{if(!l)return null;const e=(c??T)+w.bottom;switch(l){case"bottomLeft":return{position:"absolute",bottom:e,left:C};case"bottomCenter":return{position:"absolute",bottom:e,alignSelf:"center"};default:return{position:"absolute",bottom:e,right:C}}},[l,c,w.bottom,T,C]);return _jsx(Animated.View,{style:[J,{transform:[{translateY:V},{scale:x}],opacity:k},h,g],pointerEvents:d&&m?"none":"auto",children:_jsx(Pressable,{ref:t,onPress:e=>{if(u)return;const t=resolveHaptic(f,"impactLight");t&&triggerHaptic(t),n()},onPressIn:E,onPressOut:R,disabled:u,accessibilityRole:"button",accessibilityLabel:p,accessibilityHint:b,accessibilityState:{disabled:u},"aria-disabled":u,testID:A,style:[v.base,O?{height:_.diameter,minWidth:_.diameter,borderRadius:_.diameter/2,...smoothCorners}:{width:_.diameter,height:_.diameter,borderRadius:_.diameter/2,...smoothCorners},S.shadow.popover,{backgroundColor:q,opacity:u?.55:1}],children:({pressed:e})=>_jsxs(_Fragment,{children:[e&&!u?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[v.pressedTint,{backgroundColor:pressedTintFor(S,a),borderRadius:_.diameter/2,...smoothCorners}]}):null,O?_jsxs(Reanimated.View,{style:[v.extendedRow,Y],children:[X,_jsx(Reanimated.View,{style:[v.labelClip,Z],children:_jsx(Text,{onLayout:e=>W(e.nativeEvent.layout.width),style:[v.label,{color:Q,fontSize:_.text,fontWeight:S.weight.semibold,marginLeft:D},y],numberOfLines:1,children:i})})]}):X]})})})});FloatingActionButton.displayName="FloatingActionButton";const buildStyles=e=>StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",overflow:"hidden"},pressedTint:{position:"absolute",top:0,right:0,bottom:0,left:0},extendedRow:{flexDirection:"row",alignItems:"center"},labelClip:{flexDirection:"row",overflow:"hidden"},label:{includeFontPadding:!1,flexShrink:0}}),FAB_GROUP_MIN_ACTIONS=2,FAB_GROUP_MAX_ACTIONS=6,FAB_GROUP_RANGE="2 to 6",describeActionProblem=e=>e.length<2?`was given ${e.length} action(s); a menu holds 2 to 6.`:e.length>6?`was given ${e.length} actions; a menu holds 2 to 6, so only the first 6 are drawn.`:e.some(e=>"string"!=typeof e.label||""===e.label.trim())?"has an action without a visible `label`; every menu action needs one.":"";export const DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS={quickActions:"Quick actions",expanded:(e,t)=>`${e}, expanded, ${t} ${1===t?"action":"actions"}`,collapsed:e=>`${e}, collapsed`};const FloatingActionButtonGroup=e=>{const{primaryIcon:t,primaryActiveIcon:o,actions:n,expanded:i,defaultExpanded:s=!1,onExpandedChange:r,labels:a,position:l="bottomRight",bottomOffset:c,size:u="md",accessibilityLabel:d,haptic:m,hideOnScroll:p=!1,isScrolling:b=!1,containerStyle:f,secondaryActionStyle:g,labelPillStyle:h,labelStyle:y,testID:A}=e;warnInvalidValue("FloatingActionButtonGroup","size",e.size,FAB_SIZES),warnInvalidValue("FloatingActionButtonGroup","position",e.position,FAB_POSITIONS);const S=useMemo(()=>({...DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS,...a}),[a]),w=d??S.quickActions,_=useTheme(),v=useSafeAreaInsets(),x=useMemo(()=>resolveFloatingActionButtonSize(_,u),[_,u]),I=useMemo(()=>buildGroupStyles(_),[_]),E=usePresenceMotion(),R=E.duration("default"),F=_.space[_.components["floating-action-button"]["edge-offset"]],C=_.space[_.components["floating-action-button"]["bottom-offset"]],T=_.space[_.components["floating-action-button"]["secondary-gap"]],j=_.components["floating-action-button"]["stagger-ms"],B=useMemo(()=>n.slice(0,6),[n]),P=B.length,V=useMemo(()=>B.map((e,t)=>({action:e,index:t})).reverse(),[B]);n.forEach(e=>{warnInvalidValue("FloatingActionButtonGroup","actions[].tone",e.tone,FAB_TONES)});const k=__DEV__?describeActionProblem(n):"";useEffect(()=>{__DEV__&&k&&Logger.warn(`[@webority/mobile-ui] FloatingActionButtonGroup ${k}`)},[k]);const O="boolean"==typeof i,[L,N]=useState(s),D=O?i:L,z=useRef(createAnimatedValue(1)).current;useEffect(()=>{if(!p)return void setNativeValue(z,1);const e=Animated.timing(z,{toValue:b?0:1,duration:R,easing:Easing.bezier(..._.motion.ease["in-out"]),useNativeDriver:!0});return e.start(),()=>e.stop()},[p,b,z,R,_.motion.ease["in-out"]]);const M=p&&b;useEffect(()=>{M&&D&&(O||N(!1),r?.(!1))},[M,D,O,r]);const G=x.diameter+(c??C)+v.bottom+F,H=z.interpolate({inputRange:[0,1],outputRange:E.range(G,0)}),$=z,U=useRef(createAnimatedValue(D?1:0)).current,W=useRef([]),[Y,Z]=useState(0);useEffect(()=>{const e=W.current;if(e.length!==P){if(e.length<P){const t=e.slice();for(let o=e.length;o<P;o+=1)t.push(new Animated.Value(D?1:0));W.current=t}else W.current=e.slice(0,P);Z(e=>e+1)}},[P]),useEffect(()=>{const e=Animated.timing(U,{toValue:D?1:0,duration:R,easing:Easing.bezier(..._.motion.ease["in-out"]),useNativeDriver:!0});e.start();const t=W.current.map(e=>Animated.timing(e,{toValue:D?1:0,duration:R,easing:Easing.bezier(..._.motion.ease["in-out"]),useNativeDriver:!0})),o=D?t:[...t].reverse(),n=Animated.stagger(j,o);return n.start(),()=>{e.stop(),n.stop()}},[D,U,R,_.motion.ease["in-out"],P,Y,j]);const q=useCallback(e=>{const t=resolveHaptic(m,"impactLight");t&&triggerHaptic(t),O||N(e),r?.(e)},[O,r,m]),Q=useRef(null),X=useRef(D),J=useRef(!1);useEffect(()=>{if(X.current===D)return;X.current=D;const e=J.current;if(J.current=!1,M||e)return;const t=Q.current;t&&("web"===Platform.OS?t.focus?.():AccessibilityInfo.sendAccessibilityEvent(t,"focus")),announce(D?S.expanded(w,P):S.collapsed(w))},[D,M,w,P,S]);const K=useCallback(()=>{q(!D)},[D,q]),ee=useCallback(e=>{!1!==m&&triggerHaptic("selection"),J.current=!0,e.onPress(),O||N(!1),r?.(!1)},[O,r,m]),te=useCallback(()=>{D&&q(!1)},[D,q]);useEffect(()=>{if(!D)return;const e=BackHandler.addEventListener("hardwareBackPress",()=>(q(!1),!0));return()=>e.remove()},[D,q]),useEffect(()=>{if(!D||"web"!==Platform.OS)return;const onKeyDown=e=>{"Escape"===e.key&&q(!1)};return window.addEventListener("keydown",onKeyDown),()=>window.removeEventListener("keydown",onKeyDown)},[D,q]);const oe=useMemo(()=>{const e=(c??C)+v.bottom;switch(l){case"bottomLeft":return{position:"absolute",bottom:e,left:F,alignItems:"flex-start"};case"bottomCenter":return{position:"absolute",bottom:e,alignSelf:"center",alignItems:"center"};default:return{position:"absolute",bottom:e,right:F,alignItems:"flex-end"}}},[l,c,v.bottom,C,F]),slotOffset=e=>-(x.diameter+T)*(e+1),ne=useMemo(()=>{switch(l){case"bottomLeft":return{left:0,right:0,justifyContent:"flex-start"};case"bottomCenter":return{left:0,right:0,justifyContent:"center"};default:return{left:0,right:0,justifyContent:"flex-end"}}},[l]),ie=.78*x.diameter,se=useMemo(()=>{const e=ie+_.space.sm;switch(l){case"bottomLeft":return{left:e,alignItems:"flex-start"};case"bottomCenter":return{right:x.diameter/2+ie/2+_.space.sm,alignItems:"flex-end"};default:return{right:e,alignItems:"flex-end"}}},[l,ie,x.diameter,_.space.sm]),re=U.interpolate({inputRange:[0,1],outputRange:[0,.4]}),ae=U.interpolate(E.reduced?{inputRange:[0,.5,.5001,1],outputRange:["0deg","0deg","45deg","45deg"]}:{inputRange:[0,1],outputRange:["0deg","45deg"]});return _jsxs(_Fragment,{children:[D?_jsx(Animated.View,{pointerEvents:D?"auto":"none",style:[StyleSheet.absoluteFill,{backgroundColor:_.colors.scrim,opacity:re}],children:_jsx(Pressable,{style:StyleSheet.absoluteFill,onPress:te,accessibilityElementsHidden:!0,importantForAccessibility:"no",testID:A?`${A}-backdrop`:void 0})}):null,_jsxs(Animated.View,{pointerEvents:M?"none":"box-none",style:[oe,{transform:[{translateY:H}],opacity:$},f],accessibilityRole:"menu",testID:A,children:[V.map(({action:e,index:t})=>{const o=W.current[t];if(!o)return null;const n=o.interpolate({inputRange:[0,1],outputRange:E.range(0,slotOffset(t))}),i=o.interpolate({inputRange:[0,1],outputRange:E.range(.6,1)}),s=toneBackground(_,e.tone??"primary"),r=toneForeground(_,e.tone??"primary"),a=e.label?_jsx(View,{pointerEvents:"none",style:[I.labelSlot,se],testID:A?`${A}-label-${e.key}`:void 0,children:_jsx(View,{style:[I.labelPill,_.shadow.card,{backgroundColor:_.colors.surface,paddingHorizontal:_.space.sm,paddingVertical:_.space.xs,borderRadius:_.radius.sm,...smoothCorners},h],children:_jsx(Text,{style:[{color:_.colors["text-body"],fontSize:_.text.sm.size,fontWeight:_.weight.medium},y],numberOfLines:1,children:e.label})})}):null;return _jsxs(Animated.View,{pointerEvents:D?"auto":"none",accessibilityElementsHidden:!D,importantForAccessibility:D?"auto":"no-hide-descendants","aria-hidden":!D,style:[I.secondaryRow,ne,{position:"absolute",bottom:0,opacity:o,transform:[{translateY:n},{scale:i}]}],children:[_jsx(Pressable,{onPress:()=>ee(e),focusable:D,accessibilityRole:"menuitem",accessibilityLabel:e.accessibilityLabel,style:[I.fabBase,_.shadow.elevated,{width:ie,height:ie,borderRadius:ie/2,...smoothCorners,backgroundColor:s},g],testID:A?`${A}-action-${e.key}`:void 0,children:({pressed:t})=>_jsxs(_Fragment,{children:[t?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[I.pressedTint,{backgroundColor:pressedTintFor(_,e.tone??"primary"),borderRadius:ie/2,...smoothCorners}]}):null,renderSlotIcon(e.icon,{color:r,size:x.icon,disabled:!1})]})}),a]},e.key)}),_jsx(Pressable,{ref:Q,onPress:K,accessibilityRole:"button",accessibilityLabel:w,accessibilityState:{expanded:D},"aria-expanded":D,style:[I.fabBase,_.shadow.popover,{width:x.diameter,height:x.diameter,borderRadius:x.diameter/2,...smoothCorners,backgroundColor:_.colors.primary}],testID:A?`${A}-primary`:void 0,children:({pressed:e})=>_jsxs(_Fragment,{children:[e?_jsx(View,{pointerEvents:"none",testID:"fab-pressed",style:[I.pressedTint,{backgroundColor:ACCENT_PRESSED_TINT,borderRadius:x.diameter/2,...smoothCorners}]}):null,_jsx(Animated.View,{style:o?void 0:{transform:[{rotate:ae}]},children:renderSlotIcon(D&&o?o:t,{color:_.colors["on-primary"],size:x.icon,disabled:!1})})]})})]})]})},buildGroupStyles=e=>StyleSheet.create({fabBase:{flexDirection:"row",alignItems:"center",justifyContent:"center",overflow:"hidden"},pressedTint:{position:"absolute",top:0,right:0,bottom:0,left:0},secondaryRow:{flexDirection:"row",alignItems:"center"},labelSlot:{position:"absolute",top:0,bottom:0,justifyContent:"center"},labelPill:{alignSelf:"auto"}});export{FloatingActionButton,FloatingActionButtonGroup};export default FloatingActionButton;
@@ -1 +1 @@
1
- "use strict";export{default,FloatingActionButton,FloatingActionButtonGroup}from"./FloatingActionButton.js";
1
+ "use strict";export{DEFAULT_FLOATING_ACTION_BUTTON_GROUP_LABELS,default,FloatingActionButton,FloatingActionButtonGroup}from"./FloatingActionButton.js";
@@ -1 +1 @@
1
- "use strict";import{Logger,VersionCheck}from"@webority/mobile-core";import{useCallback,useState}from"react";import{Dialog}from"../Dialog/index.js";import{jsx as _jsx}from"react/jsx-runtime";export const ForceUpdateDialog=({visible:e,onClose:t,mandatory:a=!1,updateUrl:o,title:l="Update available",message:s="A new version of the app is available. Please update to continue using the latest features and security improvements.",updateLabel:i="Update now",laterLabel:r="Later",containerStyle:n,titleStyle:c,messageStyle:p,testID:m})=>{const[u,d]=useState(!1),g=useCallback(()=>{d(!0),(async()=>{try{await VersionCheck.openUpdateUrl(o??null)}catch(e){Logger.error("[ForceUpdateDialog] Failed to open store URL",e)}finally{d(!1)}})()},[o]),b=useCallback(()=>{a||t?.()},[a,t]);return _jsx(Dialog,{visible:e,onClose:b,title:l,message:s,variant:"info",actions:a?[{label:i,onPress:g,tone:"info",loading:u}]:[{label:r,onPress:b,tone:"neutral"},{label:i,onPress:g,tone:"info",loading:u}],dismissOnAction:!1,containerStyle:n,titleStyle:c,messageStyle:p,testID:m})};export default ForceUpdateDialog;
1
+ "use strict";import{Logger,VersionCheck}from"@webority/mobile-core";import{useCallback,useMemo,useState}from"react";import{Dialog}from"../Dialog/index.js";import{jsx as _jsx}from"react/jsx-runtime";export const DEFAULT_FORCE_UPDATE_DIALOG_LABELS={title:"Update available",message:"A new version of the app is available. Please update to continue using the latest features and security improvements.",update:"Update now",later:"Later"};export const ForceUpdateDialog=({visible:e,onClose:t,mandatory:a=!1,updateUrl:o,title:s,message:l,labels:i,containerStyle:r,titleStyle:n,messageStyle:c,testID:m})=>{const[p,u]=useState(!1),d=useMemo(()=>({...DEFAULT_FORCE_UPDATE_DIALOG_LABELS,...i}),[i]),g=useCallback(()=>{u(!0),(async()=>{try{await VersionCheck.openUpdateUrl(o??null)}catch(e){Logger.error("[@webority/mobile-ui] ForceUpdateDialog failed to open the store URL.",e)}finally{u(!1)}})()},[o]),b=useCallback(()=>{a||t?.()},[a,t]),D=a?[{label:d.update,onPress:g,tone:"info",loading:p}]:[{label:d.later,onPress:b,tone:"neutral"},{label:d.update,onPress:g,tone:"info",loading:p}];return _jsx(Dialog,{visible:e,onClose:b,title:s??d.title,message:l??d.message,tone:"info",actions:D,dismissOnAction:!1,containerStyle:r,titleStyle:n,messageStyle:c,testID:m})};export default ForceUpdateDialog;
@@ -1 +1 @@
1
- "use strict";export{default,ForceUpdateDialog}from"./ForceUpdateDialog.js";
1
+ "use strict";export{DEFAULT_FORCE_UPDATE_DIALOG_LABELS,default,ForceUpdateDialog}from"./ForceUpdateDialog.js";
@@ -1 +1 @@
1
- "use strict";import React,{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,StyleSheet,Text,View}from"react-native";import{useOptionalFormContext}from"../../form/FormContext.js";import{createAnimatedValue,fontFor,useTheme}from"../../theme/index.js";import{fieldTextAsString,hasFieldText,RequiredMark}from"../FieldBase/index.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const FormField=forwardRef((e,t)=>{const{label:i,help:r,helperText:l,error:n,required:o=!1,name:s,children:a,layout:u="stacked",helperLines:c,labelStyle:d,helperStyle:x,errorStyle:m,containerStyle:f,inputContainerStyle:p,accessibilityLabel:h,testID:F}=e,S=useTheme(),y=useMemo(()=>buildStyles(S),[S]),b=useOptionalFormContext(),j=null!=s&&null!=b,T=j?b.getFieldProps(s):null,k="function"==typeof a,I=j?k?T?.error:void 0:n,g=fieldTextAsString(j?T?.error:n),v=useRef(createAnimatedValue(I?1:0)).current;useEffect(()=>{const e=Animated.timing(v,{toValue:I?1:0,duration:S.motion.duration.fast,useNativeDriver:!0});return e.start(),()=>e.stop()},[I,v,S.motion.duration.fast]);const w=useMemo(()=>{if(h)return h;const e=fieldTextAsString(i);return e?g?`${e}, error: ${g}`:e:void 0},[h,i,g]),R=useNotationInk(d,S.text.sm.size,S.colors["text-muted"]),_=useNotationInk(x,S.text.sm.size,S.colors["text-subtle"]),N=useNotationInk(m,S.text.sm.size,S.colors["danger-text"]),C=hasFieldText(i),V=_jsxs(Text,{style:[y.label,"inline"!==u||hasFieldText(r)?null:y.labelInline,hasFieldText(r)?y.labelShrink:null,d],children:[_jsx(NotationInkContext.Provider,{value:R,children:i}),o?_jsx(RequiredMark,{}):null]}),z=C?hasFieldText(r)?_jsxs(View,{style:[y.labelRow,"inline"===u?y.labelInline:null],children:[V,_jsx(View,{style:[y.help,{marginLeft:S.space.xs}],children:r})]}):V:null,A="inline"===u?y.inputInline:y.inputStacked,L=hasFieldText(I),D=!L&&hasFieldText(l),E=(()=>{if(k)return T?a(T):null;if(j&&T&&React.isValidElement(a)){const e=a,t=e.props.onChangeText,i=e.props.onBlur,r=e.props.onFocus;return React.cloneElement(e,{value:T.value,onChangeText:e=>{T.onChangeText(e),t?.(e)},onBlur:e=>{T.onBlur(),i?.(e)},onFocus:e=>{T.onFocus(),r?.(e)},error:T.error,ref:e=>b.registerField(s,e??null)})}return a})(),M=o&&!C&&React.isValidElement(E)?React.cloneElement(E,{required:!0}):E;return _jsxs(View,{ref:t,style:["inline"===u?y.rootInline:y.rootStacked,f],accessibilityLabel:w,accessibilityHint:g||void 0,testID:F,children:[z,_jsx(View,{style:[A,p],children:M}),D?_jsx(Text,{style:[y.helper,x],numberOfLines:c||void 0,children:_jsx(NotationInkContext.Provider,{value:_,children:l})}):null,L?_jsx(Animated.Text,{style:[y.error,{opacity:v},m],numberOfLines:c||void 0,accessibilityLiveRegion:"polite",children:_jsx(NotationInkContext.Provider,{value:N,children:I})}):null]})});FormField.displayName="FormField";const buildStyles=e=>StyleSheet.create({rootStacked:{flexDirection:"column",gap:e.space.xs},rootInline:{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:e.space.xs},label:{fontSize:e.text.sm.size,...fontFor(e,"medium"),color:e.colors["text-muted"]},labelShrink:{flexShrink:1},labelRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0},labelInline:{width:"35%"},inputStacked:{width:"100%"},inputInline:{flex:1,minWidth:0},helper:{fontSize:e.text.sm.size,color:e.colors["text-subtle"]},error:{fontSize:e.text.sm.size,color:e.colors["danger-text"]}});export{FormField};export default FormField;
1
+ "use strict";import React,{forwardRef,useEffect,useMemo,useRef}from"react";import{Animated,StyleSheet,Text,View}from"react-native";import{createAnimatedValue,fontFor,useTheme}from"../../theme/index.js";import{warnInvalidValue}from"../../utils/warnInvalidValue.js";import{fieldTextAsString,hasFieldText,RequiredMark}from"../FieldBase/index.js";import{NotationInkContext,useNotationInk}from"../Notation/Notation.js";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export const DEFAULT_FORM_FIELD_LABELS={labelWithError:(e,t)=>`${e}, error: ${t}`};const FormField=forwardRef((e,t)=>{warnInvalidValue("FormField","layout",e.layout,["stacked","inline"]);const{label:i,help:l,helperText:r,error:n,required:o=!1,children:s,layout:a="stacked",helperLines:d,labelStyle:c,helperStyle:u,errorStyle:x,containerStyle:m,inputContainerStyle:f,accessibilityLabel:h,labels:p,testID:F}=e,S=useTheme(),b=useMemo(()=>buildStyles(S),[S]),y=useMemo(()=>({...DEFAULT_FORM_FIELD_LABELS,...p}),[p]),I=fieldTextAsString(n),j=useRef(createAnimatedValue(n?1:0)).current;useEffect(()=>{const e=Animated.timing(j,{toValue:n?1:0,duration:S.motion.duration.fast,useNativeDriver:!0});return e.start(),()=>e.stop()},[n,j,S.motion.duration.fast]);const k=useMemo(()=>{if(h)return h;const e=fieldTextAsString(i);return e?I?y.labelWithError(e,I):e:void 0},[h,i,I,y]),T=useNotationInk(c,S.text.sm.size,S.colors["text-muted"]),_=useNotationInk(u,S.text.sm.size,S.colors["text-subtle"]),v=useNotationInk(x,S.text.sm.size,S.colors["danger-text"]),w=hasFieldText(i),L=_jsxs(Text,{style:[b.label,"inline"!==a||hasFieldText(l)?null:b.labelInline,hasFieldText(l)?b.labelShrink:null,c],children:[_jsx(NotationInkContext.Provider,{value:T,children:i}),o?_jsx(RequiredMark,{}):null]}),R=w?hasFieldText(l)?_jsxs(View,{style:[b.labelRow,"inline"===a?b.labelInline:null],children:[L,_jsx(View,{style:[b.help,{marginLeft:S.space.xs}],children:l})]}):L:null,g="inline"===a?b.inputInline:b.inputStacked,A=hasFieldText(n),E=!A&&hasFieldText(r),N=o&&!w&&React.isValidElement(s)?React.cloneElement(s,{required:!0}):s;return _jsxs(View,{ref:t,style:["inline"===a?b.rootInline:b.rootStacked,m],accessibilityLabel:k,accessibilityHint:I||void 0,testID:F,children:[R,_jsx(View,{style:[g,f],children:N}),E?_jsx(Text,{style:[b.helper,u],numberOfLines:d||void 0,children:_jsx(NotationInkContext.Provider,{value:_,children:r})}):null,A?_jsx(Animated.Text,{style:[b.error,{opacity:j},x],numberOfLines:d||void 0,accessibilityLiveRegion:"polite",children:_jsx(NotationInkContext.Provider,{value:v,children:n})}):null]})});FormField.displayName="FormField";const buildStyles=e=>StyleSheet.create({rootStacked:{flexDirection:"column",gap:e.space.xs},rootInline:{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:e.space.xs},label:{fontSize:e.text.sm.size,...fontFor(e,"medium"),color:e.colors["text-muted"]},labelShrink:{flexShrink:1},labelRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0},labelInline:{width:"35%"},inputStacked:{width:"100%"},inputInline:{flex:1,minWidth:0},helper:{fontSize:e.text.sm.size,color:e.colors["text-subtle"]},error:{fontSize:e.text.sm.size,color:e.colors["danger-text"]}});export{FormField};export default FormField;
@@ -1 +1 @@
1
- "use strict";export{default,FormField}from"./FormField.js";
1
+ "use strict";export{DEFAULT_FORM_FIELD_LABELS,default,FormField}from"./FormField.js";