@webority/mobile-ui 0.9.1 → 0.11.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 (346) hide show
  1. package/android/src/newarch/java/com/webority/mobileui/pdfrasterizer/PdfRasterizerModule.kt +6 -7
  2. package/ios/PdfRasterizer.mm +36 -9
  3. package/lib/commonjs/components/BarChart/BarChart.js +1 -0
  4. package/lib/commonjs/components/BarChart/index.js +1 -0
  5. package/lib/commonjs/components/BarChart/scale.js +1 -0
  6. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
  7. package/lib/commonjs/components/BottomNavigation/useScreenReaderEnabled.js +1 -0
  8. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
  9. package/lib/commonjs/components/BottomSheet/index.js +1 -1
  10. package/lib/commonjs/components/BottomSheet/useSheetSwap.js +1 -0
  11. package/lib/commonjs/components/Card/Card.js +1 -1
  12. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
  13. package/lib/commonjs/components/Composer/Composer.js +1 -0
  14. package/lib/commonjs/components/Composer/index.js +1 -0
  15. package/lib/commonjs/components/DateSeparator/DateSeparator.js +1 -0
  16. package/lib/commonjs/components/DateSeparator/index.js +1 -0
  17. package/lib/commonjs/components/FieldBase/ChoiceText.js +1 -1
  18. package/lib/commonjs/components/FieldBase/FieldBase.js +1 -1
  19. package/lib/commonjs/components/FieldBase/useFloatingLabel.js +1 -1
  20. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
  21. package/lib/commonjs/components/FormField/FormField.js +1 -1
  22. package/lib/commonjs/components/Input/Input.js +1 -1
  23. package/lib/commonjs/components/ListItem/ListItem.js +1 -1
  24. package/lib/commonjs/components/Menu/Menu.js +1 -0
  25. package/lib/commonjs/components/Menu/MenuSurface.js +1 -0
  26. package/lib/commonjs/components/Menu/focusHost.js +1 -0
  27. package/lib/commonjs/components/Menu/index.js +1 -0
  28. package/lib/commonjs/components/Menu/menuModel.js +1 -0
  29. package/lib/commonjs/components/Menu/useContextMenu.js +1 -0
  30. package/lib/commonjs/components/Menu/webOnly.js +1 -0
  31. package/lib/commonjs/components/MessageBubble/MessageBubble.js +1 -0
  32. package/lib/commonjs/components/MessageBubble/index.js +1 -0
  33. package/lib/commonjs/components/MessageList/MessageList.js +1 -0
  34. package/lib/commonjs/components/MessageList/index.js +1 -0
  35. package/lib/commonjs/components/Notation/Notation.js +1 -1
  36. package/lib/commonjs/components/OnboardingPager/OnboardingPager.js +1 -0
  37. package/lib/commonjs/components/OnboardingPager/index.js +1 -0
  38. package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
  39. package/lib/commonjs/components/PaymentResult/PaymentResult.js +1 -0
  40. package/lib/commonjs/components/PaymentResult/index.js +1 -0
  41. package/lib/commonjs/components/PermissionPrompt/PermissionPrompt.js +1 -0
  42. package/lib/commonjs/components/PermissionPrompt/index.js +1 -0
  43. package/lib/commonjs/components/PermissionPrompt/usePermissionPrompt.js +1 -0
  44. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  45. package/lib/commonjs/components/Radio/Radio.js +1 -1
  46. package/lib/commonjs/components/Radio/RadioGroup.js +1 -1
  47. package/lib/commonjs/components/ScannerOverlay/ScannerOverlay.js +1 -0
  48. package/lib/commonjs/components/ScannerOverlay/index.js +1 -0
  49. package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
  50. package/lib/commonjs/components/SearchBar/SearchPanel.js +1 -0
  51. package/lib/commonjs/components/SearchBar/highlight.js +1 -0
  52. package/lib/commonjs/components/SearchBar/index.js +1 -1
  53. package/lib/commonjs/components/SearchBar/useRecentSearches.js +1 -0
  54. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
  55. package/lib/commonjs/components/Select/Select.js +1 -1
  56. package/lib/commonjs/components/SignaturePad/SignaturePad.js +1 -0
  57. package/lib/commonjs/components/SignaturePad/index.js +1 -0
  58. package/lib/commonjs/components/SignaturePad/signatureGeometry.js +1 -0
  59. package/lib/commonjs/components/SignaturePad/writePng.js +1 -0
  60. package/lib/commonjs/components/SignaturePad/writePng.web.js +1 -0
  61. package/lib/commonjs/components/Sparkline/Sparkline.js +1 -0
  62. package/lib/commonjs/components/Sparkline/geometry.js +1 -0
  63. package/lib/commonjs/components/Sparkline/index.js +1 -0
  64. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  65. package/lib/commonjs/components/StatTile/StatTile.js +1 -1
  66. package/lib/commonjs/components/Switch/Switch.js +1 -1
  67. package/lib/commonjs/components/TagInput/TagInput.js +1 -1
  68. package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
  69. package/lib/commonjs/components/Toast/Toast.js +1 -1
  70. package/lib/commonjs/components/Toast/ToastProvider.js +1 -1
  71. package/lib/commonjs/components/Tooltip/RichTooltipBody.js +1 -0
  72. package/lib/commonjs/components/Tooltip/Tooltip.js +1 -1
  73. package/lib/commonjs/components/Tooltip/tooltipPosition.js +1 -0
  74. package/lib/commonjs/components/TypingIndicator/TypingIndicator.js +1 -0
  75. package/lib/commonjs/components/TypingIndicator/index.js +1 -0
  76. package/lib/commonjs/components/WheelPicker/Wheel.js +1 -0
  77. package/lib/commonjs/components/WheelPicker/WheelPicker.js +1 -0
  78. package/lib/commonjs/components/WheelPicker/index.js +1 -0
  79. package/lib/commonjs/components/index.js +1 -1
  80. package/lib/commonjs/hooks/index.js +1 -1
  81. package/lib/commonjs/hooks/useRefreshControl.js +1 -0
  82. package/lib/commonjs/hooks/useScrollDirection.js +1 -0
  83. package/lib/commonjs/index.js +1 -1
  84. package/lib/commonjs/utils/announce.js +1 -0
  85. package/lib/commonjs/utils/hapticUtils.js +1 -1
  86. package/lib/commonjs/utils/index.js +1 -1
  87. package/lib/commonjs/utils/placement.js +1 -0
  88. package/lib/module/components/BarChart/BarChart.js +1 -0
  89. package/lib/module/components/BarChart/index.js +1 -0
  90. package/lib/module/components/BarChart/scale.js +1 -0
  91. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  92. package/lib/module/components/BottomNavigation/useScreenReaderEnabled.js +1 -0
  93. package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
  94. package/lib/module/components/BottomSheet/index.js +1 -1
  95. package/lib/module/components/BottomSheet/useSheetSwap.js +1 -0
  96. package/lib/module/components/Card/Card.js +1 -1
  97. package/lib/module/components/Checkbox/Checkbox.js +1 -1
  98. package/lib/module/components/Composer/Composer.js +1 -0
  99. package/lib/module/components/Composer/index.js +1 -0
  100. package/lib/module/components/DateSeparator/DateSeparator.js +1 -0
  101. package/lib/module/components/DateSeparator/index.js +1 -0
  102. package/lib/module/components/FieldBase/ChoiceText.js +1 -1
  103. package/lib/module/components/FieldBase/FieldBase.js +1 -1
  104. package/lib/module/components/FieldBase/useFloatingLabel.js +1 -1
  105. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
  106. package/lib/module/components/FormField/FormField.js +1 -1
  107. package/lib/module/components/Input/Input.js +1 -1
  108. package/lib/module/components/ListItem/ListItem.js +1 -1
  109. package/lib/module/components/Menu/Menu.js +1 -0
  110. package/lib/module/components/Menu/MenuSurface.js +1 -0
  111. package/lib/module/components/Menu/focusHost.js +1 -0
  112. package/lib/module/components/Menu/index.js +1 -0
  113. package/lib/module/components/Menu/menuModel.js +1 -0
  114. package/lib/module/components/Menu/useContextMenu.js +1 -0
  115. package/lib/module/components/Menu/webOnly.js +1 -0
  116. package/lib/module/components/MessageBubble/MessageBubble.js +1 -0
  117. package/lib/module/components/MessageBubble/index.js +1 -0
  118. package/lib/module/components/MessageList/MessageList.js +1 -0
  119. package/lib/module/components/MessageList/index.js +1 -0
  120. package/lib/module/components/Notation/Notation.js +1 -1
  121. package/lib/module/components/OnboardingPager/OnboardingPager.js +1 -0
  122. package/lib/module/components/OnboardingPager/index.js +1 -0
  123. package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
  124. package/lib/module/components/PaymentResult/PaymentResult.js +1 -0
  125. package/lib/module/components/PaymentResult/index.js +1 -0
  126. package/lib/module/components/PermissionPrompt/PermissionPrompt.js +1 -0
  127. package/lib/module/components/PermissionPrompt/index.js +1 -0
  128. package/lib/module/components/PermissionPrompt/usePermissionPrompt.js +1 -0
  129. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  130. package/lib/module/components/Radio/Radio.js +1 -1
  131. package/lib/module/components/Radio/RadioGroup.js +1 -1
  132. package/lib/module/components/ScannerOverlay/ScannerOverlay.js +1 -0
  133. package/lib/module/components/ScannerOverlay/index.js +1 -0
  134. package/lib/module/components/SearchBar/SearchBar.js +1 -1
  135. package/lib/module/components/SearchBar/SearchPanel.js +1 -0
  136. package/lib/module/components/SearchBar/highlight.js +1 -0
  137. package/lib/module/components/SearchBar/index.js +1 -1
  138. package/lib/module/components/SearchBar/useRecentSearches.js +1 -0
  139. package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
  140. package/lib/module/components/Select/Select.js +1 -1
  141. package/lib/module/components/SignaturePad/SignaturePad.js +1 -0
  142. package/lib/module/components/SignaturePad/index.js +1 -0
  143. package/lib/module/components/SignaturePad/signatureGeometry.js +1 -0
  144. package/lib/module/components/SignaturePad/writePng.js +1 -0
  145. package/lib/module/components/SignaturePad/writePng.web.js +1 -0
  146. package/lib/module/components/Sparkline/Sparkline.js +1 -0
  147. package/lib/module/components/Sparkline/geometry.js +1 -0
  148. package/lib/module/components/Sparkline/index.js +1 -0
  149. package/lib/module/components/Spinner/Spinner.js +1 -1
  150. package/lib/module/components/StatTile/StatTile.js +1 -1
  151. package/lib/module/components/Switch/Switch.js +1 -1
  152. package/lib/module/components/TagInput/TagInput.js +1 -1
  153. package/lib/module/components/TimePicker/TimePicker.js +1 -1
  154. package/lib/module/components/Toast/Toast.js +1 -1
  155. package/lib/module/components/Toast/ToastProvider.js +1 -1
  156. package/lib/module/components/Tooltip/RichTooltipBody.js +1 -0
  157. package/lib/module/components/Tooltip/Tooltip.js +1 -1
  158. package/lib/module/components/Tooltip/tooltipPosition.js +1 -0
  159. package/lib/module/components/TypingIndicator/TypingIndicator.js +1 -0
  160. package/lib/module/components/TypingIndicator/index.js +1 -0
  161. package/lib/module/components/WheelPicker/Wheel.js +1 -0
  162. package/lib/module/components/WheelPicker/WheelPicker.js +1 -0
  163. package/lib/module/components/WheelPicker/index.js +1 -0
  164. package/lib/module/components/index.js +1 -1
  165. package/lib/module/hooks/index.js +1 -1
  166. package/lib/module/hooks/useRefreshControl.js +1 -0
  167. package/lib/module/hooks/useScrollDirection.js +1 -0
  168. package/lib/module/index.js +1 -1
  169. package/lib/module/utils/announce.js +1 -0
  170. package/lib/module/utils/hapticUtils.js +1 -1
  171. package/lib/module/utils/index.js +1 -1
  172. package/lib/module/utils/placement.js +1 -0
  173. package/lib/typescript/commonjs/components/BarChart/BarChart.d.ts +62 -0
  174. package/lib/typescript/commonjs/components/BarChart/index.d.ts +3 -0
  175. package/lib/typescript/commonjs/components/BarChart/scale.d.ts +15 -0
  176. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +32 -0
  177. package/lib/typescript/commonjs/components/BottomNavigation/index.d.ts +1 -1
  178. package/lib/typescript/commonjs/components/BottomNavigation/useScreenReaderEnabled.d.ts +8 -0
  179. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +34 -3
  180. package/lib/typescript/commonjs/components/BottomSheet/index.d.ts +2 -0
  181. package/lib/typescript/commonjs/components/BottomSheet/useSheetSwap.d.ts +24 -0
  182. package/lib/typescript/commonjs/components/Card/Card.d.ts +9 -0
  183. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +4 -1
  184. package/lib/typescript/commonjs/components/Composer/Composer.d.ts +61 -0
  185. package/lib/typescript/commonjs/components/Composer/index.d.ts +3 -0
  186. package/lib/typescript/commonjs/components/DateSeparator/DateSeparator.d.ts +37 -0
  187. package/lib/typescript/commonjs/components/DateSeparator/index.d.ts +3 -0
  188. package/lib/typescript/commonjs/components/FileViewer/FileViewer.d.ts +1 -1
  189. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +3 -1
  190. package/lib/typescript/commonjs/components/Input/Input.d.ts +2 -2
  191. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +9 -0
  192. package/lib/typescript/commonjs/components/Menu/Menu.d.ts +46 -0
  193. package/lib/typescript/commonjs/components/Menu/MenuSurface.d.ts +30 -0
  194. package/lib/typescript/commonjs/components/Menu/focusHost.d.ts +9 -0
  195. package/lib/typescript/commonjs/components/Menu/index.d.ts +5 -0
  196. package/lib/typescript/commonjs/components/Menu/menuModel.d.ts +68 -0
  197. package/lib/typescript/commonjs/components/Menu/useContextMenu.d.ts +58 -0
  198. package/lib/typescript/commonjs/components/Menu/webOnly.d.ts +7 -0
  199. package/lib/typescript/commonjs/components/MessageBubble/MessageBubble.d.ts +87 -0
  200. package/lib/typescript/commonjs/components/MessageBubble/index.d.ts +3 -0
  201. package/lib/typescript/commonjs/components/MessageList/MessageList.d.ts +68 -0
  202. package/lib/typescript/commonjs/components/MessageList/index.d.ts +3 -0
  203. package/lib/typescript/commonjs/components/Notation/Notation.d.ts +10 -4
  204. package/lib/typescript/commonjs/components/OnboardingPager/OnboardingPager.d.ts +53 -0
  205. package/lib/typescript/commonjs/components/OnboardingPager/index.d.ts +3 -0
  206. package/lib/typescript/commonjs/components/OptionSheet/OptionSheet.d.ts +2 -0
  207. package/lib/typescript/commonjs/components/PaymentResult/PaymentResult.d.ts +71 -0
  208. package/lib/typescript/commonjs/components/PaymentResult/index.d.ts +3 -0
  209. package/lib/typescript/commonjs/components/PermissionPrompt/PermissionPrompt.d.ts +39 -0
  210. package/lib/typescript/commonjs/components/PermissionPrompt/index.d.ts +5 -0
  211. package/lib/typescript/commonjs/components/PermissionPrompt/usePermissionPrompt.d.ts +44 -0
  212. package/lib/typescript/commonjs/components/PhoneNumberInput/PhoneNumberInput.d.ts +5 -2
  213. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +13 -4
  214. package/lib/typescript/commonjs/components/Radio/RadioGroup.d.ts +5 -0
  215. package/lib/typescript/commonjs/components/ScannerOverlay/ScannerOverlay.d.ts +74 -0
  216. package/lib/typescript/commonjs/components/ScannerOverlay/index.d.ts +3 -0
  217. package/lib/typescript/commonjs/components/SearchBar/SearchBar.d.ts +35 -0
  218. package/lib/typescript/commonjs/components/SearchBar/SearchPanel.d.ts +49 -0
  219. package/lib/typescript/commonjs/components/SearchBar/highlight.d.ts +14 -0
  220. package/lib/typescript/commonjs/components/SearchBar/index.d.ts +3 -0
  221. package/lib/typescript/commonjs/components/SearchBar/useRecentSearches.d.ts +24 -0
  222. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +5 -1
  223. package/lib/typescript/commonjs/components/Select/Select.d.ts +4 -1
  224. package/lib/typescript/commonjs/components/SignaturePad/SignaturePad.d.ts +94 -0
  225. package/lib/typescript/commonjs/components/SignaturePad/index.d.ts +4 -0
  226. package/lib/typescript/commonjs/components/SignaturePad/signatureGeometry.d.ts +36 -0
  227. package/lib/typescript/commonjs/components/SignaturePad/writePng.d.ts +7 -0
  228. package/lib/typescript/commonjs/components/SignaturePad/writePng.web.d.ts +3 -0
  229. package/lib/typescript/commonjs/components/Sparkline/Sparkline.d.ts +41 -0
  230. package/lib/typescript/commonjs/components/Sparkline/geometry.d.ts +20 -0
  231. package/lib/typescript/commonjs/components/Sparkline/index.d.ts +3 -0
  232. package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts +7 -1
  233. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +24 -1
  234. package/lib/typescript/commonjs/components/StatTile/index.d.ts +1 -1
  235. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +11 -4
  236. package/lib/typescript/commonjs/components/TagInput/TagInput.d.ts +4 -0
  237. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +21 -0
  238. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +21 -0
  239. package/lib/typescript/commonjs/components/Toast/index.d.ts +1 -1
  240. package/lib/typescript/commonjs/components/Tooltip/RichTooltipBody.d.ts +27 -0
  241. package/lib/typescript/commonjs/components/Tooltip/Tooltip.d.ts +24 -0
  242. package/lib/typescript/commonjs/components/Tooltip/index.d.ts +1 -1
  243. package/lib/typescript/commonjs/components/Tooltip/tooltipPosition.d.ts +35 -0
  244. package/lib/typescript/commonjs/components/TypingIndicator/TypingIndicator.d.ts +21 -0
  245. package/lib/typescript/commonjs/components/TypingIndicator/index.d.ts +3 -0
  246. package/lib/typescript/commonjs/components/WheelPicker/Wheel.d.ts +34 -0
  247. package/lib/typescript/commonjs/components/WheelPicker/WheelPicker.d.ts +73 -0
  248. package/lib/typescript/commonjs/components/WheelPicker/index.d.ts +3 -0
  249. package/lib/typescript/commonjs/components/index.d.ts +36 -8
  250. package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
  251. package/lib/typescript/commonjs/hooks/useRefreshControl.d.ts +75 -0
  252. package/lib/typescript/commonjs/hooks/useScrollDirection.d.ts +21 -0
  253. package/lib/typescript/commonjs/index.d.ts +4 -4
  254. package/lib/typescript/commonjs/specs/NativePdfRasterizer.d.ts +1 -1
  255. package/lib/typescript/commonjs/utils/announce.d.ts +14 -0
  256. package/lib/typescript/commonjs/utils/hapticUtils.d.ts +1 -1
  257. package/lib/typescript/commonjs/utils/index.d.ts +2 -0
  258. package/lib/typescript/commonjs/utils/placement.d.ts +55 -0
  259. package/lib/typescript/module/components/BarChart/BarChart.d.ts +62 -0
  260. package/lib/typescript/module/components/BarChart/index.d.ts +3 -0
  261. package/lib/typescript/module/components/BarChart/scale.d.ts +15 -0
  262. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +32 -0
  263. package/lib/typescript/module/components/BottomNavigation/index.d.ts +1 -1
  264. package/lib/typescript/module/components/BottomNavigation/useScreenReaderEnabled.d.ts +8 -0
  265. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +34 -3
  266. package/lib/typescript/module/components/BottomSheet/index.d.ts +2 -0
  267. package/lib/typescript/module/components/BottomSheet/useSheetSwap.d.ts +24 -0
  268. package/lib/typescript/module/components/Card/Card.d.ts +9 -0
  269. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +4 -1
  270. package/lib/typescript/module/components/Composer/Composer.d.ts +61 -0
  271. package/lib/typescript/module/components/Composer/index.d.ts +3 -0
  272. package/lib/typescript/module/components/DateSeparator/DateSeparator.d.ts +37 -0
  273. package/lib/typescript/module/components/DateSeparator/index.d.ts +3 -0
  274. package/lib/typescript/module/components/FileViewer/FileViewer.d.ts +1 -1
  275. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +3 -1
  276. package/lib/typescript/module/components/Input/Input.d.ts +2 -2
  277. package/lib/typescript/module/components/ListItem/ListItem.d.ts +9 -0
  278. package/lib/typescript/module/components/Menu/Menu.d.ts +46 -0
  279. package/lib/typescript/module/components/Menu/MenuSurface.d.ts +30 -0
  280. package/lib/typescript/module/components/Menu/focusHost.d.ts +9 -0
  281. package/lib/typescript/module/components/Menu/index.d.ts +5 -0
  282. package/lib/typescript/module/components/Menu/menuModel.d.ts +68 -0
  283. package/lib/typescript/module/components/Menu/useContextMenu.d.ts +58 -0
  284. package/lib/typescript/module/components/Menu/webOnly.d.ts +7 -0
  285. package/lib/typescript/module/components/MessageBubble/MessageBubble.d.ts +87 -0
  286. package/lib/typescript/module/components/MessageBubble/index.d.ts +3 -0
  287. package/lib/typescript/module/components/MessageList/MessageList.d.ts +68 -0
  288. package/lib/typescript/module/components/MessageList/index.d.ts +3 -0
  289. package/lib/typescript/module/components/Notation/Notation.d.ts +10 -4
  290. package/lib/typescript/module/components/OnboardingPager/OnboardingPager.d.ts +53 -0
  291. package/lib/typescript/module/components/OnboardingPager/index.d.ts +3 -0
  292. package/lib/typescript/module/components/OptionSheet/OptionSheet.d.ts +2 -0
  293. package/lib/typescript/module/components/PaymentResult/PaymentResult.d.ts +71 -0
  294. package/lib/typescript/module/components/PaymentResult/index.d.ts +3 -0
  295. package/lib/typescript/module/components/PermissionPrompt/PermissionPrompt.d.ts +39 -0
  296. package/lib/typescript/module/components/PermissionPrompt/index.d.ts +5 -0
  297. package/lib/typescript/module/components/PermissionPrompt/usePermissionPrompt.d.ts +44 -0
  298. package/lib/typescript/module/components/PhoneNumberInput/PhoneNumberInput.d.ts +5 -2
  299. package/lib/typescript/module/components/Radio/Radio.d.ts +13 -4
  300. package/lib/typescript/module/components/Radio/RadioGroup.d.ts +5 -0
  301. package/lib/typescript/module/components/ScannerOverlay/ScannerOverlay.d.ts +74 -0
  302. package/lib/typescript/module/components/ScannerOverlay/index.d.ts +3 -0
  303. package/lib/typescript/module/components/SearchBar/SearchBar.d.ts +35 -0
  304. package/lib/typescript/module/components/SearchBar/SearchPanel.d.ts +49 -0
  305. package/lib/typescript/module/components/SearchBar/highlight.d.ts +14 -0
  306. package/lib/typescript/module/components/SearchBar/index.d.ts +3 -0
  307. package/lib/typescript/module/components/SearchBar/useRecentSearches.d.ts +24 -0
  308. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +5 -1
  309. package/lib/typescript/module/components/Select/Select.d.ts +4 -1
  310. package/lib/typescript/module/components/SignaturePad/SignaturePad.d.ts +94 -0
  311. package/lib/typescript/module/components/SignaturePad/index.d.ts +4 -0
  312. package/lib/typescript/module/components/SignaturePad/signatureGeometry.d.ts +36 -0
  313. package/lib/typescript/module/components/SignaturePad/writePng.d.ts +7 -0
  314. package/lib/typescript/module/components/SignaturePad/writePng.web.d.ts +3 -0
  315. package/lib/typescript/module/components/Sparkline/Sparkline.d.ts +41 -0
  316. package/lib/typescript/module/components/Sparkline/geometry.d.ts +20 -0
  317. package/lib/typescript/module/components/Sparkline/index.d.ts +3 -0
  318. package/lib/typescript/module/components/Spinner/Spinner.d.ts +7 -1
  319. package/lib/typescript/module/components/StatTile/StatTile.d.ts +24 -1
  320. package/lib/typescript/module/components/StatTile/index.d.ts +1 -1
  321. package/lib/typescript/module/components/Switch/Switch.d.ts +11 -4
  322. package/lib/typescript/module/components/TagInput/TagInput.d.ts +4 -0
  323. package/lib/typescript/module/components/Toast/Toast.d.ts +21 -0
  324. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +21 -0
  325. package/lib/typescript/module/components/Toast/index.d.ts +1 -1
  326. package/lib/typescript/module/components/Tooltip/RichTooltipBody.d.ts +27 -0
  327. package/lib/typescript/module/components/Tooltip/Tooltip.d.ts +24 -0
  328. package/lib/typescript/module/components/Tooltip/index.d.ts +1 -1
  329. package/lib/typescript/module/components/Tooltip/tooltipPosition.d.ts +35 -0
  330. package/lib/typescript/module/components/TypingIndicator/TypingIndicator.d.ts +21 -0
  331. package/lib/typescript/module/components/TypingIndicator/index.d.ts +3 -0
  332. package/lib/typescript/module/components/WheelPicker/Wheel.d.ts +34 -0
  333. package/lib/typescript/module/components/WheelPicker/WheelPicker.d.ts +73 -0
  334. package/lib/typescript/module/components/WheelPicker/index.d.ts +3 -0
  335. package/lib/typescript/module/components/index.d.ts +36 -8
  336. package/lib/typescript/module/hooks/index.d.ts +4 -0
  337. package/lib/typescript/module/hooks/useRefreshControl.d.ts +75 -0
  338. package/lib/typescript/module/hooks/useScrollDirection.d.ts +21 -0
  339. package/lib/typescript/module/index.d.ts +4 -4
  340. package/lib/typescript/module/specs/NativePdfRasterizer.d.ts +1 -1
  341. package/lib/typescript/module/utils/announce.d.ts +14 -0
  342. package/lib/typescript/module/utils/hapticUtils.d.ts +1 -1
  343. package/lib/typescript/module/utils/index.d.ts +2 -0
  344. package/lib/typescript/module/utils/placement.d.ts +55 -0
  345. package/package.json +3 -3
  346. package/src/specs/NativePdfRasterizer.ts +1 -1
@@ -42,7 +42,7 @@ class PdfRasterizerModule(reactContext: ReactApplicationContext) :
42
42
  private const val ERR_UNKNOWN_HANDLE = "E_UNKNOWN_HANDLE"
43
43
  private const val ERR_PAGE_OUT_OF_RANGE = "E_PAGE_OUT_OF_RANGE"
44
44
 
45
- // Clamp the larger render dimension to avoid an OOM on a pathological scale value.
45
+ // Both render sides stay within this, scaled together so the aspect ratio holds; avoids an OOM on a pathological scale value.
46
46
  private const val MAX_RENDER_DIMENSION_PX = 4096
47
47
  }
48
48
 
@@ -151,8 +151,10 @@ class PdfRasterizerModule(reactContext: ReactApplicationContext) :
151
151
  }
152
152
 
153
153
  val page = doc.renderer.openPage(index)
154
- val targetWidth = clampDimension((page.width * scale).roundToInt())
155
- val targetHeight = clampDimension((page.height * scale).roundToInt())
154
+ val longSide = maxOf(page.width, page.height) * scale
155
+ val fit = if (longSide > MAX_RENDER_DIMENSION_PX) MAX_RENDER_DIMENSION_PX / longSide else 1.0
156
+ val targetWidth = positiveDimension((page.width * scale * fit).roundToInt())
157
+ val targetHeight = positiveDimension((page.height * scale * fit).roundToInt())
156
158
 
157
159
  val bitmap = Bitmap.createBitmap(targetWidth, targetHeight, Bitmap.Config.ARGB_8888)
158
160
  // Fill white first — PDF transparency renders as black on some devices otherwise.
@@ -200,10 +202,7 @@ class PdfRasterizerModule(reactContext: ReactApplicationContext) :
200
202
  }
201
203
  }
202
204
 
203
- private fun clampDimension(dimension: Int): Int {
204
- val positive = if (dimension < 1) 1 else dimension
205
- return if (positive > MAX_RENDER_DIMENSION_PX) MAX_RENDER_DIMENSION_PX else positive
206
- }
205
+ private fun positiveDimension(dimension: Int): Int = if (dimension < 1) 1 else dimension
207
206
 
208
207
  private fun normalizePath(path: String): String {
209
208
  return if (path.startsWith("file://")) path.removePrefix("file://") else path
@@ -5,6 +5,9 @@
5
5
 
6
6
  static NSString *const kCacheDirName = @"pdf-rasterizer-cache";
7
7
 
8
+ // Both render sides stay within this, scaled together so the aspect ratio holds.
9
+ static const CGFloat kMaxRenderDimensionPx = 4096;
10
+
8
11
  // Wraps a CGPDFDocumentRef so ARC can own its lifetime inside an NSMutableDictionary —
9
12
  // CGPDFDocumentRef is a plain CF type with no toll-free-bridged Foundation counterpart.
10
13
  @interface PdfRasterizerDocumentBox : NSObject
@@ -60,11 +63,15 @@ RCT_EXPORT_MODULE(PdfRasterizer)
60
63
  return path;
61
64
  }
62
65
 
63
- // Page size in points, respecting rotation (90/270 swap width & height) — same
64
- // logic used both for open()'s page-0 read and getPageInfo()'s arbitrary page.
66
+ // /Rotate may be any multiple of 90, negative or past 360.
67
+ static int PdfRasterizerNormalizedRotation(CGPDFPageRef page) {
68
+ return ((CGPDFPageGetRotationAngle(page) % 360) + 360) % 360;
69
+ }
70
+
71
+ // The crop box is what CGContextDrawPDFPage shows, so it is the page's visible size.
65
72
  + (CGSize)pageSizeForPage:(CGPDFPageRef)page {
66
- CGRect box = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
67
- int rotation = CGPDFPageGetRotationAngle(page);
73
+ CGRect box = CGPDFPageGetBoxRect(page, kCGPDFCropBox);
74
+ int rotation = PdfRasterizerNormalizedRotation(page);
68
75
  CGFloat width = box.size.width;
69
76
  CGFloat height = box.size.height;
70
77
  if (rotation == 90 || rotation == 270) {
@@ -75,6 +82,24 @@ RCT_EXPORT_MODULE(PdfRasterizer)
75
82
  return CGSizeMake(width, height);
76
83
  }
77
84
 
85
+ // Maps the rotated crop box onto a y-up target, scaled up or down to fit it and
86
+ // centred. CGPDFPageGetDrawingTransform only ever scales down, which left an
87
+ // upscaled render drawn at 1x in the middle of a larger white bitmap.
88
+ static CGAffineTransform PdfRasterizerFillTransform(CGPDFPageRef page, CGSize target) {
89
+ CGRect crop = CGPDFPageGetBoxRect(page, kCGPDFCropBox);
90
+ int rotation = PdfRasterizerNormalizedRotation(page);
91
+ BOOL quarterTurn = rotation == 90 || rotation == 270;
92
+ CGFloat rotatedWidth = quarterTurn ? crop.size.height : crop.size.width;
93
+ CGFloat rotatedHeight = quarterTurn ? crop.size.width : crop.size.height;
94
+ CGFloat fit = MIN(target.width / rotatedWidth, target.height / rotatedHeight);
95
+
96
+ // /Rotate turns the page clockwise for display, a negative angle in y-up space.
97
+ CGAffineTransform transform = CGAffineTransformMakeTranslation(-CGRectGetMidX(crop), -CGRectGetMidY(crop));
98
+ transform = CGAffineTransformConcat(transform, CGAffineTransformMakeRotation(-rotation * M_PI / 180.0));
99
+ transform = CGAffineTransformConcat(transform, CGAffineTransformMakeScale(fit, fit));
100
+ return CGAffineTransformConcat(transform, CGAffineTransformMakeTranslation(target.width / 2.0, target.height / 2.0));
101
+ }
102
+
78
103
  - (NSString *)cacheDirectoryForHandle:(NSString *)handle {
79
104
  return [[NSTemporaryDirectory() stringByAppendingPathComponent:kCacheDirName]
80
105
  stringByAppendingPathComponent:handle];
@@ -228,6 +253,11 @@ RCT_EXPORT_MODULE(PdfRasterizer)
228
253
  reject(@"E_RENDER_FAILED", @"Computed render size is empty.", nil);
229
254
  return;
230
255
  }
256
+ CGFloat longSide = MAX(renderSize.width, renderSize.height);
257
+ if (longSide > kMaxRenderDimensionPx) {
258
+ CGFloat fit = kMaxRenderDimensionPx / longSide;
259
+ renderSize = CGSizeMake(MAX(1, round(renderSize.width * fit)), MAX(1, round(renderSize.height * fit)));
260
+ }
231
261
 
232
262
  UIGraphicsImageRendererFormat *format = [UIGraphicsImageRendererFormat preferredFormat];
233
263
  format.opaque = YES;
@@ -241,13 +271,10 @@ RCT_EXPORT_MODULE(PdfRasterizer)
241
271
  CGContextFillRect(ctx, CGRectMake(0, 0, renderSize.width, renderSize.height));
242
272
 
243
273
  CGContextSaveGState(ctx);
244
- // Flip into PDF's bottom-left-origin space, then let CGPDFPageGetDrawingTransform
245
- // account for the page's own rotation/media box when mapping into renderSize.
274
+ // Flip into PDF's bottom-left-origin space before mapping the page in.
246
275
  CGContextTranslateCTM(ctx, 0, renderSize.height);
247
276
  CGContextScaleCTM(ctx, 1, -1);
248
- CGAffineTransform transform = CGPDFPageGetDrawingTransform(
249
- page, kCGPDFMediaBox, CGRectMake(0, 0, renderSize.width, renderSize.height), 0, true);
250
- CGContextConcatCTM(ctx, transform);
277
+ CGContextConcatCTM(ctx, PdfRasterizerFillTransform(page, renderSize));
251
278
  CGContextDrawPDFPage(ctx, page);
252
279
  CGContextRestoreGState(ctx);
253
280
  }];
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BarChart=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_index4=require("../Text/index.js"),_scale=require("./scale.js"),_jsxRuntime=require("react/jsx-runtime");const AUTO_VALUES_MAX_BARS=7,MAX_BAR_WIDTH=40,BAR_SHARE=.6,MIN_BAR_HEIGHT=2,VALUE_LABEL_ROOM=20,PLOT_PAD=6,HEADER_MIN_HEIGHT=48,AXIS_LABEL_MIN_WIDTH=44,CHAR_WIDTH=7,FONT_SCALE_CAP=1.2,toneColor=(e,t)=>"neutral"===t?e.colors.text.secondary:e.colors.toneText[t],safe=e=>Number.isFinite(e)?e:0,defaultFormatValue=e=>(0,_mobileCore.formatNumber)(e),defaultFormatTick=e=>(0,_mobileCore.formatCompactNumber)(e),BarChart=exports.BarChart=(0,_react.forwardRef)((e,t)=>{const{data:r,tone:i="primary",color:a,height:s=160,label:n,summary:l,formatValue:o=defaultFormatValue,formatTick:c=defaultFormatTick,showValues:u,selection:x,defaultSelection:d=null,onSelect:m,haptic:_,style:h,testID:b}=e,y=(0,_index2.useTheme)(),f=r.length,[j,p]=(0,_react.useState)(0),[v,R]=(0,_index.useControllableState)({value:x,defaultValue:d,onChange:m}),g=null!==v&&v>=0&&v<f?v:null,N=(0,_react.useRef)(g);N.current=g;const M=(0,_react.useRef)(-1),S=(0,_index3.resolveHaptic)(_,"tick"),w=(0,_react.useCallback)(()=>{S&&(0,_index3.triggerHaptic)(S)},[S]),C=u??(f>0&&f<=7),T=(0,_react.useMemo)(()=>r.map(e=>safe(e.value)),[r]),A=(0,_react.useMemo)(()=>(0,_scale.barScale)(T),[T]),V=C?20:6,L=C&&A.min<0?20:6,H=Math.max(1,s-V-L),I=(0,_react.useCallback)(e=>V+(A.max-e)/(A.max-A.min)*H,[V,A.max,A.min,H]),k=I(0),B=(0,_react.useMemo)(()=>A.ticks.map(e=>c(e)),[A.ticks,c]),D=Math.ceil(7*Math.max(...B.map(e=>e.length),1)*1.2),E=f>0?j/f:0,O=Math.max(1,Math.ceil(44/Math.max(1,E||44))),$=(0,_react.useCallback)(e=>{const t=r[e];return t.accessibilityLabel??`${t.label}, ${o(T[e])}`},[r,o,T]),q=(0,_react.useMemo)(()=>{let e=-1;return T.forEach((t,r)=>{(-1===e||t>T[e])&&(e=r)}),e},[T]),F=l??(q>=0?`Highest: ${r[q].label}, ${o(T[q])}`:""),G=(0,_react.useRef)({fire:w,setSelected:R,count:f,plotWidth:j});G.current={fire:w,setSelected:R,count:f,plotWidth:j};const W=(0,_react.useMemo)(()=>{const indexAt=e=>{const{count:t,plotWidth:r}=G.current;return 0===t||r<=0||!Number.isFinite(e)?-1:Math.min(t-1,Math.max(0,Math.floor(e/r*t)))},scrubTo=e=>{const t=indexAt(e);t<0||t===M.current||(M.current=t,G.current.fire(),G.current.setSelected(t))},e=_reactNativeGestureHandler.Gesture.Pan().runOnJS(!0).activeOffsetX([-8,8]).failOffsetY([-12,12]).onStart(e=>{M.current=N.current??-1,scrubTo(e.x)}).onUpdate(e=>scrubTo(e.x)).withTestId(b?`${b}-pan`:"bar-chart-pan"),t=_reactNativeGestureHandler.Gesture.Tap().runOnJS(!0).onEnd((e,t)=>{if(!t)return;const r=indexAt(e.x);r<0||(G.current.fire(),M.current=r,G.current.setSelected(r===N.current?null:r))}).withTestId(b?`${b}-tap`:"bar-chart-tap");return _reactNativeGestureHandler.Gesture.Race(e,t)},[b]),P=(0,_react.useCallback)(e=>{if(0===f)return;const t=N.current,r="increment"===e.nativeEvent.actionName?null===t?0:Math.min(f-1,t+1):null===t?f-1:Math.max(0,t-1);r!==t&&(w(),R(r))},[f,w,R]),U=(0,_react.useCallback)(e=>{const t=Math.round(e.nativeEvent.layout.width);p(e=>e===t?e:t)},[]),X=a??toneColor(y,i),z=y.radius.xs,J=n??"Bar chart",Y=0===f?`${J}, no data`:F?`${J}, ${F}`:J,K=null===g?F:$(g),Q=T.map((e,t)=>{const r=Math.min(40,Math.max(4,.6*E)),i=I(e),a=e>=0?i:k,n=0===e?0:Math.max(2,Math.abs(i-k)),l=null!==g&&g!==t;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.slot,{height:s}],children:[j>0&&n>0?(0,_jsxRuntime.jsx)(_reactNative.View,{testID:b?`${b}-bar-${t}`:void 0,style:{position:"absolute",left:(E-r)/2,top:a,width:r,height:n,backgroundColor:X,opacity:l?.4:1,..._corners.smoothCorners,...e>=0?{borderTopLeftRadius:z,borderTopRightRadius:z}:{borderBottomLeftRadius:z,borderBottomRightRadius:z}}}):null,C&&j>0?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{position:"absolute",left:0,right:0,top:e>=0?i-20+2:i+2},children:c(e)}):null]},t)});return 0===f?(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"image",accessibilityLabel:Y,testID:b,style:[styles.root,h],children:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",color:"secondary",children:"No data"})}):(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessible:!0,accessibilityRole:"adjustable",accessibilityLabel:Y,accessibilityValue:{min:0,max:f-1,now:g??0,text:K},accessibilityActions:[{name:"increment"},{name:"decrement"}],onAccessibilityAction:P,testID:b,style:[styles.root,h],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.header,{minHeight:48,marginBottom:y.spacing.sm}],children:null===g?F?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",color:"secondary",children:F}):null:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"secondary",numberOfLines:1,children:r[g].label}),(0,_jsxRuntime.jsx)(_index4.Text,{variant:"h3",numberOfLines:1,testID:b?`${b}-callout`:void 0,children:o(T[g])})]})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.body,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:{width:D,height:s},children:A.ticks.map((e,t)=>(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:"tertiary",align:"right",numberOfLines:1,maxFontSizeMultiplier:1.2,style:{position:"absolute",right:y.spacing.xs,left:0,top:I(e)-8},children:B[t]},e))}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.plotColumn,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:W,children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{height:s},onLayout:U,testID:b?`${b}-plot`:void 0,children:[A.ticks.map(e=>(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:{position:"absolute",left:0,right:0,top:I(e)-(0===e?.75:_reactNative.StyleSheet.hairlineWidth),height:0===e?1.5:2*_reactNative.StyleSheet.hairlineWidth,backgroundColor:0===e?y.colors.text.tertiary:y.colors.border.secondary}},e)),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.slots,{height:s}],children:Q})]})}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.axis,children:r.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.axisSlot,children:t%O===0?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"caption",color:g===t?"primary":"tertiary",weight:g===t?"semibold":void 0,align:"center",numberOfLines:1,maxFontSizeMultiplier:1.2,style:E>0?{width:E*O}:void 0,children:e.axisLabel??e.label}):null},t))})]})]})]})});BarChart.displayName="BarChart";const styles=_reactNative.StyleSheet.create({root:{alignSelf:"stretch"},header:{justifyContent:"center"},body:{flexDirection:"row"},plotColumn:{flex:1},slots:{flexDirection:"row"},slot:{flex:1},axis:{flexDirection:"row"},axisSlot:{flex:1,alignItems:"center",overflow:"visible"}});var _default=exports.default=BarChart;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BarChart",{enumerable:!0,get:function(){return _BarChart.BarChart}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _BarChart.default}});var _BarChart=_interopRequireWildcard(require("./BarChart.js"));function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var a,o,u={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return u;if(a=r?n:t){if(a.has(e))return a.get(e);a.set(e,u)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((o=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(o.get||o.set)?a(u,r,o):u[r]=e[r]);return u})(e,r)}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.barScale=void 0;const MAX_TICKS=9,niceStep=e=>{const t=10**Math.floor(Math.log10(e)),a=e/t;return(a<=1?1:a<=2?2:a<=5?5:10)*t},clean=e=>Number(e.toPrecision(12)),barScale=(e,t=4)=>{const a=e.filter(e=>Number.isFinite(e)),r=Math.min(0,...a);let c=Math.max(0,...a);c===r&&(c=r+1);const o=niceStep((c-r)/Math.max(1,t)),n=clean(Math.floor(r/o)*o),l=clean(Math.ceil(c/o)*o),i=[];for(let e=0;e<9;e+=1){const t=clean(n+e*o);if(t>l)break;i.push(t)}return{min:n,max:l,ticks:i}};exports.barScale=barScale;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BottomNavigation=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_shadows=require("../../utils/shadows.js"),_index3=require("../AppIcon/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,a,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(n=t?r:i){if(n.has(e))return n.get(e);n.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?n(o,t,a):o[t]=e[t]);return o})(e,t)}const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_PILL_INSET=16,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_FLOATING_MARGIN=16,DEFAULT_FLOATING_RADIUS=28,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",TAB_PADDING_VERTICAL=6,BAR_PADDING_HORIZONTAL=4,BAR_PADDING_TOP=6,BAR_PADDING_TOP_BUBBLE=8,FLOATING_BAR_PADDING_VERTICAL=6,FLOATING_BAR_PADDING_HORIZONTAL=8,EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,TILE_LABEL_GAP=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=exports.BottomNavigation=(0,_react.forwardRef)((e,t)=>{const{tabs:i,centerAction:r,activeTab:n,onChange:a,haptic:o="selection",showLabels:l=!0,variant:s="pill",indicatorPosition:d="bottom",radius:c,indicatorRadius:u="auto",elevation:h,iconSize:p,marginHorizontal:_,marginVertical:g,paddingHorizontal:m,paddingVertical:b,border:f,style:x,indicatorStyle:y,labelStyle:v,labelMaxFontScale:R,testID:A}=e,N=(0,_index.useTheme)(),I=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),j=(0,_react.useMemo)(()=>buildStyles(N),[N]),E=N.components.bottomNavigation,w=p??E?.iconSize??18,T=E?.pillHeight??w+4+8,L=E?.pillMaxWidth??64,S=E?.pillInset??16,D=E?.floatingMargin??16,C=E?.floatingRadius??28,B=E?.bubbleSize??48,P=E?.bubbleLift??14,M="tile"===s,V="floating"===s||M,k="bubble"===s,H="expand"===s,F="solid"===s,W="pill"===s||V||F,z=Math.max(0,i.findIndex(e=>e.key===n)),[O,U]=_react.default.useState(0),[q,G]=_react.default.useState(0),X=r?Math.ceil(i.length/2):i.length,$=i.length+(r?1:0),[Z,Y]=_react.default.useState({width:0,height:0}),K=r?.size??48,J=void 0!==r?.gap,Q=Math.max(0,r?.gap??0),ee=J?(Z.width||K)+2*Q:0,te=J?i.length>0?Math.max(0,O-ee)/i.length:0:$>0?O/$:0,ie=J?ee:te,re=(0,_react.useRef)((0,_index.createAnimatedValue)(z)).current,ne=(0,_react.useRef)({}),ae=(0,_react.useRef)({});i.forEach(e=>{ne.current[e.key]||(ne.current[e.key]=new _reactNative.Animated.Value(1)),ae.current[e.key]||(ae.current[e.key]=(0,_index.createAnimatedValue)(e.key===n?1:0))});const oe=te>0?M?Math.min(te-4,96):Math.min(te-S,L):0,le=te>0?(te-oe)/2:0,se=te>0?(te-B)/2:0,hasLabel=e=>l&&!1!==e.showLabel&&e.label.trim().length>0,de=i[z],ce=de&&!hasLabel(de)&&q>0?q/2:6+(w+4)/2,ue=ce-P-B/2,he=Math.max(0,q-4),pe=M?2:ce-T/2,_e=(0,_react.useRef)(z);(0,_react.useEffect)(()=>{if(_e.current===z)return;_e.current=z;const e=_reactNative.Animated.spring(re,{toValue:z,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[z,re]);const ge=Math.max(1,i.length-1),me=(0,_react.useMemo)(()=>{const e=[],t=[];for(let i=0;i<=ge;i++)e.push(i),t.push(i<X?i*te:i*te+ie);return re.interpolate({inputRange:e,outputRange:t})},[re,ge,X,te,ie]),be=i.map(e=>e.key).join(" "),fe=k||H;(0,_react.useEffect)(()=>{const e=be.split(" ").flatMap(e=>{const t=e===n?1:0,i=ae.current[e];return i?fe?[_reactNative.Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=_reactNative.Animated.parallel(e);return t.start(),()=>t.stop()},[n,be,fe]);const popIcon=e=>{_reactNative.Animated.sequence([_reactNative.Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),_reactNative.Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},xe=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,{colors:ye}=N,ve=F?ye.primary:ye.background.elevated,Re=F?ye.onPrimary:ye.primary,Ae=F?ye.onPrimary:M?ye.text.primary:ye.text.tertiary,Ne=F?ye.onPrimary:ye.primaryMuted,Ie=F?ye.primary:k?ye.onPrimary:Re,je=_??D,Ee=g??(V?D:0),we=Ee>0,Te=b??(V?6:k?8:6),Le=m??(V?8:4),Se=we?Te:Math.max(Te,I.bottom),De=we?Math.max(Ee,I.bottom):0,Ce="full"===c,Be=V?q+2*Te+2*_reactNative.StyleSheet.hairlineWidth:q+Te+Se,Pe=Ce?q>0?Be/2:N.radius.full:c??E?.borderRadius??(M?N.radius.full:V?C:0),Me=void 0!==c||void 0!==E?.borderRadius,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Me?Math.min(Pe,e/2):t,Ve="underline"===s?Math.max(Le,Ce&&0===q?0:Pe):Le,ke=h??"none",He=N.shadows[ke],Fe="none"===ke?null:(0,_shadows.supportsBoxShadow)()?{boxShadow:(0,_shadows.toBoxShadow)(He)}:He,We=f?_reactNative.StyleSheet.hairlineWidth:0,ze=F?ye.primary:ye.border.primary,Oe=r?.lift??0,Ue=Te+We,qe=r&&q>0?Math.max(0,(Z.height||K)/2+Oe-q/2-Ue):0,Ge=r?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[j.centerCell,J?{flex:0,marginHorizontal:Q}:null],pointerEvents:"box-none",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>{if(!r)return;const e=r.haptic??o;!1!==e&&(0,_index2.triggerHaptic)(e),popIcon(xe),r.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;Y(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:r.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-Oe},e?{opacity:.85}:null],testID:r.testID??(A?`${A}-center`:void 0),children:r.content?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:xe}]},children:r.content}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[j.centerCircle,{width:K,height:K,borderRadius:K/2,..._corners.smoothCorners,backgroundColor:r.color??ye.primary}],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:xe}]},children:(0,_index3.renderSlotIcon)(r.icon??"add",{color:r.iconColor??ye.onPrimary,size:r.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,Xe=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:j.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;U(t),G(i)},children:[W&&oe>0&&(!M||he>0)?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[j.pill,{width:oe,height:M?he:T,left:le,top:pe,backgroundColor:Ne,borderRadius:M?activeBgRadius(he,he/2):activeBgRadius(T,N.radius.full),..._corners.smoothCorners,transform:[{translateX:me}]},y]}):null,k&&te>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[j.bubble,N.shadows.md,{width:B,height:B,borderRadius:B/2,..._corners.smoothCorners,left:se,top:ue,backgroundColor:ye.primary,borderColor:ye.background.elevated,transform:[{translateX:me}]},y]}):null,($e=i.map(e=>{const t=e.key===n,i=t?Re:Ae,r=t?Ie:Ae,l="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,s=t?e.activeIcon??l:e.icon,d=ne.current[e.key],c=ae.current[e.key],u=formatBadge(e.badge??null),h=badgeAccessibilitySuffix(e.badge??null),p=F&&!t?.7:1,_=k&&t||F?ye.primary:ye.background.elevated,g=hasLabel(e),m=g&&(!H||t),b=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[j.iconWrap,{width:w+4,height:w+4,opacity:p,transform:[{scale:d}]}],children:[(0,_index3.renderSlotIcon)(s,{color:r,size:w,focused:t,disabled:!1}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.isDot?j.badgeDot:j.badgePill,{backgroundColor:ye.error,borderColor:_}],children:u.isDot?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[j.badgeText,{color:ye.onError}],numberOfLines:1,children:u.text})}):null]}),f=k?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{top:c.interpolate({inputRange:[0,1],outputRange:[0,-P]})},children:b}):b,x=m?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:R??N.maxFontSizeMultiplier??1.2,style:[j.label,H?j.labelInline:null,{color:i,opacity:H?c:p,fontWeight:t?N.typography.fontWeight.semibold:N.typography.fontWeight.normal},v],children:e.label}):null,I=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>(e=>{e.key!==n&&!1!==o&&(0,_index2.triggerHaptic)(o);const t=ne.current[e.key];t&&popIcon(t),a(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${h}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[j.tab,M?j.tabTile:null,e?{opacity:.85}:null],testID:A?`${A}-tab-${e.key}`:void 0,children:H?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[j.expandPill,{height:T,paddingHorizontal:t&&g?N.spacing.md:Math.max(0,(T-(w+4))/2)}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[j.expandFill,{borderRadius:activeBgRadius(T,T/2),..._corners.smoothCorners,backgroundColor:t?ye.primaryMuted:"transparent"},t?y:null]}),f,x]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f,x]})},e.key);return H?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{flex:c.interpolate({inputRange:[0,1],outputRange:[1,g?1.5:1]})},children:I},e.key):I}),Ge?[...$e.slice(0,X),Ge,...$e.slice(X)]:$e),"underline"===s&&te>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[j.underline,"top"===d?j.underlineTop:j.underlineBottom,"top"===d?{top:-Te}:{bottom:-Te},{width:te,height:E?.underlineHeight??3,backgroundColor:ye.primary,transform:[{translateX:me}]},y]}):null]});var $e;return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,testID:A,accessibilityRole:"tablist",style:[j.outer,{paddingHorizontal:je,paddingTop:Math.max(Ee,qe),paddingBottom:De},x],children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[V?j.floatingBar:j.dockedBar,Fe,{backgroundColor:ve,borderColor:ze,borderRadius:Pe,..._corners.smoothCorners},V?{borderWidth:We,paddingHorizontal:Le,paddingVertical:Te}:{borderTopWidth:We,borderBottomWidth:We,borderLeftWidth:We,borderRightWidth:We,paddingHorizontal:Ve,paddingTop:Te,paddingBottom:Se}],children:Xe})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>_reactNative.StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:4},floatingBar:{paddingVertical:6,paddingHorizontal:8},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:6,gap:4},tabTile:{paddingVertical:8,gap:2},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.typography.fontSize.xs,lineHeight:e.typography.fontSize.xs*e.typography.lineHeight.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.typography.fontSize.sm,lineHeight:e.typography.fontSize.sm*e.typography.lineHeight.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.spacing.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:2,borderTopRightRadius:2,..._corners.smoothCorners},underlineTop:{borderBottomLeftRadius:2,borderBottomRightRadius:2,..._corners.smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:9,..._corners.smoothCorners,paddingHorizontal:4,paddingVertical:2,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:5,..._corners.smoothCorners,borderWidth:1.5},badgeText:{fontSize:10,fontWeight:"700",lineHeight:12,textAlign:"center",includeFontPadding:!1}});var _default=exports.default=BottomNavigation;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.BottomNavigation=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_shadows=require("../../utils/shadows.js"),_index3=require("../AppIcon/index.js"),_useScreenReaderEnabled=require("./useScreenReaderEnabled.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var r,a,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(r=t?n:i){if(r.has(e))return r.get(e);r.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?r(o,t,a):o[t]=e[t]);return o})(e,t)}const DEFAULT_ICON_SIZE=18,DEFAULT_LABEL_MAX_FONT_SCALE=1.2,ICON_WRAP_AIR=4,PILL_AIR=8,DEFAULT_PILL_MAX_WIDTH=64,TILE_MAX_WIDTH=96,DEFAULT_PILL_INSET=16,DEFAULT_UNDERLINE_HEIGHT=3,DEFAULT_FLOATING_MARGIN=16,DEFAULT_FLOATING_RADIUS=28,DEFAULT_BUBBLE_SIZE=48,DEFAULT_BUBBLE_LIFT=14,DEFAULT_CENTER_SIZE=48,DEFAULT_CENTER_ICON_SIZE=24,CENTER_KEY="__webority_center_action__",TAB_PADDING_VERTICAL=6,BAR_PADDING_HORIZONTAL=4,BAR_PADDING_TOP=6,BAR_PADDING_TOP_BUBBLE=8,FLOATING_BAR_PADDING_VERTICAL=6,FLOATING_BAR_PADDING_HORIZONTAL=8,EXPANDED_FLEX=1.5,SOLID_INACTIVE_OPACITY=.7,TILE_INSET=2,TILE_LABEL_GAP=2,formatBadge=e=>null==e||!1===e?null:!0===e||"·"===e?{text:"",isDot:!0}:"number"==typeof e?e<=0?null:{text:e>99?"99+":String(e),isDot:!1}:"string"==typeof e?0===e.length?null:{text:e,isDot:!1}:null,badgeAccessibilitySuffix=e=>null==e||!1===e?"":"number"==typeof e?e>0?`, ${e} unread`:"":!0===e||"·"===e?", new updates":"string"==typeof e&&e.length>0?`, ${e}`:"",BottomNavigation=exports.BottomNavigation=(0,_react.forwardRef)((e,t)=>{const{tabs:i,centerAction:n,activeTab:r,onChange:a,haptic:o="selection",showLabels:l=!0,variant:s="pill",indicatorPosition:c="bottom",radius:d,indicatorRadius:u="auto",elevation:_,iconSize:h,marginHorizontal:p,marginVertical:g,paddingHorizontal:m,paddingVertical:b,border:f,minimizeOnScroll:y=!1,scrollDirection:x="idle",accessory:R,style:v,indicatorStyle:N,labelStyle:A,labelMaxFontScale:I,testID:j}=e,E=(0,_index.useTheme)(),S=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),w=(0,_react.useMemo)(()=>buildStyles(E),[E]),L=E.components.bottomNavigation,T=h??L?.iconSize??18,D=L?.pillHeight??T+4+8,C=L?.pillMaxWidth??64,M=L?.pillInset??16,B=L?.floatingMargin??16,P=L?.floatingRadius??28,k=L?.bubbleSize??48,V=L?.bubbleLift??14,z=(0,_useReducedMotion.useReducedMotion)(),H=(0,_useScreenReaderEnabled.useScreenReaderEnabled)(y),[F,W]=_react.default.useState(null);(0,_react.useEffect)(()=>{null!==F&&F!==x&&W(null)},[F,x]);const O=y&&!H&&"down"===x&&null===F,[U,q]=_react.default.useState(O);(0,_react.useEffect)(()=>{U!==O&&(z||"web"===_reactNative.Platform.OS||_reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.easeInEaseOut),q(O))},[U,O,z]);const G="function"==typeof R?R({minimized:U}):R,$=null!=G&&!1!==G,X=U&&$,[Z,Y]=_react.default.useState(0),K=$&&!X?Z+E.spacing.xs:0,J="tile"===s,Q="floating"===s||J,ee="bubble"===s,te="expand"===s,ie="solid"===s,ne="pill"===s||Q||ie,re=Math.max(0,i.findIndex(e=>e.key===r)),[ae,oe]=_react.default.useState(0),[le,se]=_react.default.useState(0),ce=n?Math.ceil(i.length/2):i.length,de=i.length+(n?1:0),[ue,_e]=_react.default.useState({width:0,height:0}),he=n?.size??48,pe=void 0!==n?.gap,ge=Math.max(0,n?.gap??0),me=pe?(ue.width||he)+2*ge:0,be=pe?i.length>0?Math.max(0,ae-me)/i.length:0:de>0?ae/de:0,fe=pe?me:be,ye=(0,_react.useRef)((0,_index.createAnimatedValue)(re)).current,xe=(0,_react.useRef)({}),Re=(0,_react.useRef)({});i.forEach(e=>{xe.current[e.key]||(xe.current[e.key]=new _reactNative.Animated.Value(1)),Re.current[e.key]||(Re.current[e.key]=(0,_index.createAnimatedValue)(e.key===r?1:0))});const ve=be>0?J?Math.min(be-4,96):Math.min(be-M,C):0,Ne=be>0?(be-ve)/2:0,Ae=be>0?(be-k)/2:0,hasLabel=e=>l&&!U&&!1!==e.showLabel&&e.label.trim().length>0,Ie=i[re],je=Ie&&!hasLabel(Ie)&&le>0?le/2:6+(T+4)/2,Ee=je-V-k/2,Se=Math.max(0,le-4),we=J?2:je-D/2,Le=(0,_react.useRef)(re);(0,_react.useEffect)(()=>{if(Le.current===re)return;Le.current=re;const e=_reactNative.Animated.spring(ye,{toValue:re,tension:120,friction:14,useNativeDriver:!0});return e.start(),()=>e.stop()},[re,ye]);const Te=Math.max(1,i.length-1),De=(0,_react.useMemo)(()=>{const e=[],t=[];for(let i=0;i<=Te;i++)e.push(i),t.push(i<ce?i*be:i*be+fe);return ye.interpolate({inputRange:e,outputRange:t})},[ye,Te,ce,be,fe]),Ce=i.map(e=>e.key).join(" "),Me=ee||te;(0,_react.useEffect)(()=>{const e=Ce.split(" ").flatMap(e=>{const t=e===r?1:0,i=Re.current[e];return i?Me?[_reactNative.Animated.spring(i,{toValue:t,tension:140,friction:13,useNativeDriver:!1})]:(i.setValue(t),[]):[]});if(0===e.length)return;const t=_reactNative.Animated.parallel(e);return t.start(),()=>t.stop()},[r,Ce,Me]);const popIcon=e=>{_reactNative.Animated.sequence([_reactNative.Animated.timing(e,{toValue:1.15,duration:120,useNativeDriver:!0}),_reactNative.Animated.spring(e,{toValue:1,tension:200,friction:8,useNativeDriver:!0})]).start()},Be=(0,_react.useRef)(new _reactNative.Animated.Value(1)).current,{colors:Pe}=E,ke=ie?Pe.primary:Pe.background.elevated,Ve=ie?Pe.onPrimary:Pe.primary,ze=ie?Pe.onPrimary:J?Pe.text.primary:Pe.text.tertiary,He=ie?Pe.onPrimary:Pe.primaryMuted,Fe=ie?Pe.primary:ee?Pe.onPrimary:Ve,We=p??B,Oe=g??(Q?B:0),Ue=Oe>0,qe=b??(Q?6:ee?8:6),Ge=m??(Q?8:4),$e=Ue?qe:Math.max(qe,S.bottom),Xe=Ue?Math.max(Oe,S.bottom):0,Ze="full"===d,Ye=Q?le+K+2*qe+2*_reactNative.StyleSheet.hairlineWidth:le+K+qe+$e,Ke=Ze?le>0?Ye/2:E.radius.full:d??L?.borderRadius??(J?E.radius.full:Q?P:0),Je=void 0!==d||void 0!==L?.borderRadius,activeBgRadius=(e,t)=>"number"==typeof u?Math.max(0,Math.min(u,e/2)):"auto"===u&&Je?Math.min(Ke,e/2):t,Qe="underline"===s?Math.max(Ge,Ze&&0===le?0:Ke):Ge,et=_??"none",tt=E.shadows[et],it="none"===et?null:(0,_shadows.supportsBoxShadow)()?{boxShadow:(0,_shadows.toBoxShadow)(tt)}:tt,nt=f?_reactNative.StyleSheet.hairlineWidth:0,rt=ie?Pe.primary:Pe.border.primary,at=n?.lift??0,ot=qe+nt+K,lt=n&&le>0?Math.max(0,(ue.height||he)/2+at-le/2-ot):0,st=n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.centerCell,pe?{flex:0,marginHorizontal:ge}:null],pointerEvents:"box-none",children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>{if(!n)return;const e=n.haptic??o;!1!==e&&(0,_index2.triggerHaptic)(e),popIcon(Be),n.onPress()},onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;_e(e=>e.width===t&&e.height===i?e:{width:t,height:i})},accessibilityRole:"button",accessibilityLabel:n.label,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[{top:-at},e?{opacity:.85}:null],testID:n.testID??(j?`${j}-center`:void 0),children:n.content?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Be}]},children:n.content}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[w.centerCircle,{width:he,height:he,borderRadius:he/2,..._corners.smoothCorners,backgroundColor:n.color??Pe.primary}],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{transform:[{scale:Be}]},children:(0,_index3.renderSlotIcon)(n.icon??"add",{color:n.iconColor??Pe.onPrimary,size:n.iconSize??24,disabled:!1})})})})},CENTER_KEY):null,ct=$?(0,_jsxRuntime.jsx)(_reactNative.View,{style:X?w.accessoryInline:w.accessoryStacked,onLayout:e=>Y(e.nativeEvent.layout.height),testID:j?`${j}-accessory`:void 0,children:G}):null,dt=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:X?[w.tabRow,w.tabRowInline]:w.tabRow,onLayout:e=>{const{width:t,height:i}=e.nativeEvent.layout;oe(t),se(i)},children:[ne&&ve>0&&(!J||Se>0)?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[w.pill,{width:ve,height:J?Se:D,left:Ne,top:we,backgroundColor:He,borderRadius:J?activeBgRadius(Se,Se/2):activeBgRadius(D,E.radius.full),..._corners.smoothCorners,transform:[{translateX:De}]},N]}):null,ee&&be>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[w.bubble,E.shadows.md,{width:k,height:k,borderRadius:k/2,..._corners.smoothCorners,left:Ae,top:Ee,backgroundColor:Pe.primary,borderColor:Pe.background.elevated,transform:[{translateX:De}]},N]}):null,(ut=i.map(e=>{const t=e.key===r,i=t?Ve:ze,n=t?Fe:ze,l="string"==typeof e.icon?{name:e.icon,variant:"bold"}:e.icon,s=t?e.activeIcon??l:e.icon,c=xe.current[e.key],d=Re.current[e.key],u=formatBadge(e.badge??null),_=badgeAccessibilitySuffix(e.badge??null),h=ie&&!t?.7:1,p=ee&&t||ie?Pe.primary:Pe.background.elevated,g=hasLabel(e),m=g&&(!te||t),b=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{style:[w.iconWrap,{width:T+4,height:T+4,opacity:h,transform:[{scale:c}]}],children:[(0,_index3.renderSlotIcon)(s,{color:n,size:T,focused:t,disabled:!1}),u?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[u.isDot?w.badgeDot:w.badgePill,{backgroundColor:Pe.error,borderColor:p}],children:u.isDot?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[w.badgeText,{color:Pe.onError}],numberOfLines:1,children:u.text})}):null]}),f=ee?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{top:d.interpolate({inputRange:[0,1],outputRange:[0,-V]})},children:b}):b,y=m?(0,_jsxRuntime.jsx)(_reactNative.Animated.Text,{numberOfLines:1,maxFontSizeMultiplier:I??E.maxFontSizeMultiplier??1.2,style:[w.label,te?w.labelInline:null,{color:i,opacity:te?d:h,fontWeight:t?E.typography.fontWeight.semibold:E.typography.fontWeight.normal},A],children:e.label}):null,R=(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:()=>(e=>{U&&W(x),e.key!==r&&!1!==o&&(0,_index2.triggerHaptic)(o);const t=xe.current[e.key];t&&popIcon(t),a(e.key)})(e),accessibilityRole:"tab",accessibilityState:{selected:t},"aria-selected":t,accessibilityLabel:`${e.label}${_}`,accessibilityHint:`Switches to ${e.label}`,hitSlop:{top:6,bottom:6,left:6,right:6},style:({pressed:e})=>[w.tab,J?w.tabTile:null,e?{opacity:.85}:null],testID:j?`${j}-tab-${e.key}`:void 0,children:te?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[w.expandPill,{height:D,paddingHorizontal:t&&g?E.spacing.md:Math.max(0,(D-(T+4))/2)}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[w.expandFill,{borderRadius:activeBgRadius(D,D/2),..._corners.smoothCorners,backgroundColor:t?Pe.primaryMuted:"transparent"},t?N:null]}),f,y]}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f,y]})},e.key);return te?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:{flex:d.interpolate({inputRange:[0,1],outputRange:[1,g?1.5:1]})},children:R},e.key):R}),st?[...ut.slice(0,ce),st,...ut.slice(ce)]:ut),"underline"===s&&be>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[w.underline,"top"===c?w.underlineTop:w.underlineBottom,"top"===c?{top:-qe-K}:{bottom:-qe},{width:be,height:L?.underlineHeight??3,backgroundColor:Pe.primary,transform:[{translateX:De}]},N]}):null]});var ut;return(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,testID:j,accessibilityRole:"tablist",style:[w.outer,{paddingHorizontal:We,paddingTop:Math.max(Oe,lt),paddingBottom:Xe},v],children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[Q?w.floatingBar:w.dockedBar,X?w.barInline:null,it,{backgroundColor:ke,borderColor:rt,borderRadius:Ke,..._corners.smoothCorners},Q?{borderWidth:nt,paddingHorizontal:Ge,paddingVertical:qe}:{borderTopWidth:nt,borderBottomWidth:nt,borderLeftWidth:nt,borderRightWidth:nt,paddingHorizontal:Qe,paddingTop:qe,paddingBottom:$e}],children:[ct,dt]})})});BottomNavigation.displayName="BottomNavigation";const buildStyles=e=>_reactNative.StyleSheet.create({outer:{backgroundColor:"transparent"},dockedBar:{paddingHorizontal:4},floatingBar:{paddingVertical:6,paddingHorizontal:8},tabRow:{flexDirection:"row",alignItems:"stretch",position:"relative"},tabRowInline:{flex:1},barInline:{flexDirection:"row",alignItems:"center"},accessoryStacked:{marginBottom:e.spacing.xs},accessoryInline:{flexShrink:0,marginRight:e.spacing.xs},tab:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center",paddingVertical:6,gap:4},tabTile:{paddingVertical:8,gap:2},centerCell:{flex:1,minHeight:44,alignItems:"center",justifyContent:"center"},centerCircle:{alignItems:"center",justifyContent:"center"},iconWrap:{alignItems:"center",justifyContent:"center",position:"relative"},label:{fontSize:e.typography.fontSize.xs,lineHeight:e.typography.fontSize.xs*e.typography.lineHeight.tight,textAlign:"center",includeFontPadding:!1},labelInline:{fontSize:e.typography.fontSize.sm,lineHeight:e.typography.fontSize.sm*e.typography.lineHeight.tight,flexShrink:1,includeFontPadding:!1},expandPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:e.spacing.xs},expandFill:{position:"absolute",top:0,right:0,bottom:0,left:0,overflow:"hidden"},pill:{position:"absolute",left:0},bubble:{position:"absolute",left:0,borderWidth:3},underline:{position:"absolute",left:0,height:3},underlineBottom:{borderTopLeftRadius:2,borderTopRightRadius:2,..._corners.smoothCorners},underlineTop:{borderBottomLeftRadius:2,borderBottomRightRadius:2,..._corners.smoothCorners},badgePill:{position:"absolute",top:-4,right:-8,minWidth:18,height:18,borderRadius:9,..._corners.smoothCorners,paddingHorizontal:4,paddingVertical:2,alignItems:"center",justifyContent:"center",borderWidth:1.5},badgeDot:{position:"absolute",top:-2,right:-2,width:10,height:10,borderRadius:5,..._corners.smoothCorners,borderWidth:1.5},badgeText:{fontSize:10,fontWeight:"700",lineHeight:12,textAlign:"center",includeFontPadding:!1}});var _default=exports.default=BottomNavigation;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useScreenReaderEnabled=void 0;var _react=require("react"),_reactNative=require("react-native");const useScreenReaderEnabled=e=>{const[r,t]=(0,_react.useState)(!1);return(0,_react.useEffect)(()=>{if(!e||"web"===_reactNative.Platform.OS)return;let r=!0;_reactNative.AccessibilityInfo.isScreenReaderEnabled().then(e=>{r&&t(e)});const a=_reactNative.AccessibilityInfo.addEventListener("screenReaderChanged",t);return()=>{r=!1,a.remove()}},[e]),e&&r};exports.useScreenReaderEnabled=useScreenReaderEnabled;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useBottomSheet=exports.default=exports.BottomSheet=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var o,n,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(o=t?r:a){if(o.has(e))return o.get(e);o.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((n=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(n.get||n.set)?o(i,t,n):i[t]=e[t]);return i})(e,t)}const TABLET_MIN_SHORT_SIDE=600,DIALOG_MAX_WIDTH=560,BottomSheetContext=(0,_react.createContext)(null),useBottomSheet=()=>{const e=(0,_react.useContext)(BottomSheetContext);if(!e)throw new Error("useBottomSheet must be used inside a <BottomSheet>.");return e};exports.useBottomSheet=useBottomSheet;const SPRING_CONFIG={damping:20,stiffness:240,mass:1},CLOSE_VELOCITY_THRESHOLD=1e3,DRAG_ACTIVATION_OFFSET=10,BottomSheet=exports.BottomSheet=(0,_react.forwardRef)((e,t)=>{const{snapPoints:a,index:r,onChange:o,onAnimate:n,onAfterClose:i,enablePanDownToClose:s=!0,enableBackdropPress:l=!0,scrollable:c=!1,scrollRef:u,onScroll:d,onContentSizeChange:_,onScrollLayout:m,scrollEventThrottle:h,keyboardBehavior:v="shift",mode:f="modal",presentation:b="sheet",handleIndicatorStyle:p,containerStyle:S,header:x,footer:g,headerStyle:R,footerStyle:y,children:N,accessibilityLabel:w,accessibilityViewIsModal:j,testID:C}=e,k=(0,_index.useTheme)(),I=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),[M,O]=(0,_react.useState)(()=>_reactNative.Dimensions.get("window").height),[T,H]=(0,_react.useState)(()=>_reactNative.Dimensions.get("window").width),B=(0,_react.useCallback)(e=>{const{height:t,width:a}=e.nativeEvent.layout;t>0&&O(e=>e===t?e:t),a>0&&H(e=>e===a?e:a)},[]),P=(0,_reactNative.useWindowDimensions)(),G="dialog"===b||"auto"===b&&Math.min(P.width,P.height)>=600,D=Math.min(560,T-2*k.spacing.xl),[V,A]=(0,_react.useState)({top:I.top,bottom:I.bottom}),E="modal"===f?V.top:I.top,L="modal"===f?V.bottom:I.bottom,q=a.includes("content"),[F,J]=useMeasuredHeight(),[W,z]=useMeasuredHeight(),[Y,$,K]=useMeasuredHeight(),[X,U]=useMeasuredHeight(),Q=G?k.spacing.md:F,Z=q?Math.min(Q+(null!=x?W:0)+Y+(null!=g?X:0)+L,M-E):0,ee=(0,_react.useCallback)((e,t)=>{q&&K(t),_?.(e,t)},[q,_,K]),te=(0,_react.useMemo)(()=>resolveSnapPoints(a,M,Z),[a,M,Z]),ae=M,re=te[te.length-1]??0,oe=(0,_reactNativeReanimated.useSharedValue)(ae),ne=(0,_reactNativeReanimated.useSharedValue)(ae),ie=(0,_reactNativeReanimated.useSharedValue)(-1),[se,le]=(0,_react.useState)(-1),ce=(0,_react.useRef)(!1),[ue,de]=(0,_react.useState)(!1),[_e,me]=(0,_react.useState)(!1),he=(0,_react.useRef)(!1),ve=(0,_react.useRef)(i);ve.current=i;const[fe,be]=(0,_react.useState)(!1),pe=(0,_react.useCallback)(e=>{if(e<0||e>=te.length)return ae;const t=te[e];return G?(M-t)/2:M-t},[te,M,ae,G]),Se=(0,_react.useCallback)(e=>{se!==e&&(le(e),ie.value=e,o?.(e))},[se,ie,o]),xe=(0,_react.useCallback)(()=>{ce.current=!1,ie.value<0&&(he.current=!0,"modal"===f?(de(!1),"ios"!==_reactNative.Platform.OS&&me(!1)):be(!1))},[f,ie]),ge=(0,_react.useCallback)(()=>{he.current&&me(!1)},[]);(0,_react.useEffect)(()=>{("modal"===f?!_e:!fe)&&he.current&&(he.current=!1,ve.current?.())},[f,_e,fe]);const Re=(0,_react.useCallback)((e,t,a)=>{ce.current=!0,n?.(t,a),oe.value=(0,_reactNativeReanimated.withSpring)(e,SPRING_CONFIG,e=>{"worklet";e&&(0,_reactNativeReanimated.runOnJS)(xe)()})},[n,oe,xe]),ye=(0,_react.useCallback)(e=>{const t="number"==typeof e?clamp(e,0,te.length-1):se>=0?se:0,a=ie.value,r=pe(t);he.current=!1,"modal"===f?(me(!0),de(!0)):be(!0),a<0&&(oe.value=ae),Se(t),Re(r,a,t)},[Re,ae,se,ie,f,te.length,Se,oe,pe]),Ne=(0,_react.useCallback)(()=>{if(0===te.length)return;const e=ie.value,t=pe(0);Se(0),Re(t,e,0)},[Re,ie,te.length,Se,pe]),we=(0,_react.useCallback)(()=>{const e=ie.value;Se(-1),ce.current=!0,n?.(e,-1),oe.value=(0,_reactNativeReanimated.withTiming)(ae,{duration:k.motion.duration.fast,easing:_reactNativeReanimated.Easing.bezier(...k.motion.easing.accelerate)},e=>{"worklet";e&&(0,_reactNativeReanimated.runOnJS)(xe)()})},[ae,ie,xe,n,Se,oe,k.motion.duration.fast,k.motion.easing.accelerate]);(0,_react.useImperativeHandle)(t,()=>({expand:ye,collapse:Ne,close:we}),[ye,Ne,we]),(0,_react.useEffect)(()=>{"number"==typeof r&&r!==se&&(-1===r?we():ye(r))},[r]);const je=(0,_react.useRef)({hostHeight:M,contentSnap:Z});(0,_react.useEffect)(()=>{const e=je.current;e.hostHeight===M&&e.contentSnap===Z||(je.current={hostHeight:M,contentSnap:Z},e.hostHeight===M&&ie.value<0||(oe.value=(0,_reactNativeReanimated.withSpring)(pe(ie.value),SPRING_CONFIG)))},[M,Z]);const Ce=M-re,ke=(0,_react.useMemo)(()=>te.map(e=>M-e),[te,M]),Ie=(0,_react.useCallback)((e,t)=>{const a=ie.value;if(-1===e)return(0,_index2.triggerHaptic)("selection"),Se(-1),ce.current=!0,n?.(a,-1),void(oe.value=(0,_reactNativeReanimated.withTiming)(ae,{duration:k.motion.duration.fast,easing:_reactNativeReanimated.Easing.bezier(...k.motion.easing.accelerate)},e=>{"worklet";e&&(0,_reactNativeReanimated.runOnJS)(xe)()}));Se(e),Re(t,a,e)},[Re,ae,ie,xe,n,Se,oe,k.motion.duration.fast,k.motion.easing.accelerate]),Me=(0,_react.useMemo)(()=>_reactNativeGestureHandler.Gesture.Native().withTestId(C?`${C}-content-gesture`:"bottom-sheet-content-gesture"),[C]),Oe=(0,_react.useMemo)(()=>{const e=ke,t=ae,a=Ce,r=s;return _reactNativeGestureHandler.Gesture.Pan().withTestId(C?`${C}-pan-gesture`:"bottom-sheet-pan-gesture").activeOffsetY([-10,10]).failOffsetX([-15,15]).onStart(()=>{"worklet";ne.value=oe.value}).onUpdate(e=>{"worklet";const t=ne.value+e.translationY;oe.value=t<a?a+.25*(t-a):t}).onEnd(a=>{"worklet";const o=oe.value;if(a.velocityY>1e3)return r?void(0,_reactNativeReanimated.runOnJS)(Ie)(-1,t):void(0,_reactNativeReanimated.runOnJS)(Ie)(0,e[0]);let n=0,i=Math.abs(o-e[0]);for(let t=1;t<e.length;t++){const a=Math.abs(o-e[t]);a<i&&(i=a,n=t)}const s=e[0];r&&o-s>80?(0,_reactNativeReanimated.runOnJS)(Ie)(-1,t):(0,_reactNativeReanimated.runOnJS)(Ie)(n,e[n])})},[ae,ne,s,Ie,Ce,ke,C,oe]),{height:Te}=(0,_reactNativeKeyboardController.useReanimatedKeyboardAnimation)(),He="shift"===v,Be=(0,_reactNativeReanimated.useDerivedValue)(()=>He?Te.value:0),Pe=te[se>=0?se:0]??re,Ge=k.spacing.md,De=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{if(G){const e=Be.value,t=M+e-Pe-Ge,a=e<0&&oe.value>t?t:oe.value;return{top:a<E?E:a}}const e=oe.value+Be.value,t=Be.value<0?E:Ce;return{top:e<t?t:e}}),Ve=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=Be.value;if(G){const t=M+e-Pe-Ge,a=e<0&&oe.value>t?t:oe.value,r=M+e-Ge-(a<E?E:a);return{height:r<0?0:r>Pe?Pe:r}}const t=e<0?E:Ce,a=oe.value+e,r=M+e-(a<t?t:a);return{height:r<0?0:r>re?re:r}}),Ae=se>=0,Ee=(0,_react.useMemo)(()=>buildStyles(k),[k]),Le=(0,_react.useCallback)(()=>{l&&((0,_index2.triggerHaptic)("selection"),we())},[l,we]),qe=(0,_react.useMemo)(()=>_reactNativeGestureHandler.Gesture.Tap().withTestId(C?`${C}-backdrop-gesture`:"bottom-sheet-backdrop-gesture").maxDuration(250).onEnd((e,t)=>{"worklet";t&&(0,_reactNativeReanimated.runOnJS)(Le)()}),[Le,C]),Fe=(0,_react.useMemo)(()=>({snapIndex:se,snapPoints:te,expand:ye,collapse:Ne,close:we}),[se,te,ye,Ne,we]);if("inline"===f&&!fe)return null;if("modal"===f&&!_e)return null;const Je=(0,_jsxRuntime.jsxs)(_reactNative.View,{collapsable:!1,style:["modal"===f?Ee.backdropModal:Ee.backdropInline,{backgroundColor:k.colors.background.overlay}],onLayout:B,testID:C,accessibilityViewIsModal:j??Ae,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:qe,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:_reactNative.StyleSheet.absoluteFill,accessibilityRole:"button",accessibilityLabel:"Close bottom sheet"})}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{accessibilityRole:"alert",accessibilityLabel:w,accessibilityViewIsModal:j??Ae,style:[Ee.sheet,{height:re,backgroundColor:k.colors.background.elevated,borderTopLeftRadius:k.radius["2xl"],borderTopRightRadius:k.radius["2xl"],..._corners.smoothCorners,...k.shadows.xl},G?{height:Pe,left:(T-D)/2,right:void 0,width:D,borderBottomLeftRadius:k.radius["2xl"],borderBottomRightRadius:k.radius["2xl"]}:null,S,De],children:(0,_jsxRuntime.jsxs)(SheetBody,{style:[Ee.body,Ve],keyboardOffset:Be,children:[G?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{height:k.spacing.md}}):(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Oe,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:Ee.handleRow,onLayout:q?J:void 0,accessible:!0,accessibilityLabel:"Drag handle",accessibilityHint:"Drag up or down to resize the sheet, or swipe down to close it",testID:C?`${C}-handle`:"bottom-sheet-handle",children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ee.handle,{backgroundColor:k.components.bottomSheet?.handleColor??k.colors.border.primary},p]})})}),null!=x&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ee.header,R],onLayout:q?z:void 0,children:x}),c?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Me,children:(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{ref:u,style:Ee.scrollContent,onScroll:d,onContentSizeChange:ee,onLayout:m,scrollEventThrottle:h,keyboardShouldPersistTaps:"always",keyboardDismissMode:"none",children:N})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:Ee.content,children:q?(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:$,children:N}):N}),null!=g&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ee.footer,y],onLayout:q?U:void 0,children:g})]})})]}),We=(0,_jsxRuntime.jsx)(BottomSheetContext.Provider,{value:Fe,children:Je});return"modal"===f?(0,_jsxRuntime.jsx)(_reactNative.Modal,{transparent:!0,visible:ue,onRequestClose:we,onDismiss:"ios"===_reactNative.Platform.OS?ge:void 0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",supportedOrientations:["portrait","landscape"],children:(0,_jsxRuntime.jsxs)(_reactNativeSafeAreaContext.SafeAreaProvider,{style:Ee.modalRoot,children:[(0,_jsxRuntime.jsx)(InsetsProbe,{onChange:A}),"android"===_reactNative.Platform.OS?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView,{style:Ee.modalRoot,children:We}):We,(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})}):We}),InsetsProbe=({onChange:e})=>{const{top:t,bottom:a}=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();return(0,_react.useEffect)(()=>{e(e=>e.top===t&&e.bottom===a?e:{top:t,bottom:a})},[t,a,e]),null},SheetBody=({style:e,keyboardOffset:t,children:a})=>{const r=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)().bottom,o=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=r+t.value;return{paddingBottom:e>0?e:0}});return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[e,o],children:a})};BottomSheet.displayName="BottomSheet";const useMeasuredHeight=()=>{const[e,t]=(0,_react.useState)(0),a=(0,_react.useCallback)(e=>{t(t=>t===e?t:e)},[]);return[e,(0,_react.useCallback)(e=>a(e.nativeEvent.layout.height),[a]),a]},resolveSnapPoints=(e,t,a)=>[...e.map(e=>{if("number"==typeof e)return e;if("content"===e)return a;const r=parseFloat(e);return Number.isNaN(r)?0:r/100*t})].sort((e,t)=>e-t),clamp=(e,t,a)=>Math.min(Math.max(e,t),a),buildStyles=e=>_reactNative.StyleSheet.create({backdropModal:{flex:1},backdropInline:{..._reactNative.StyleSheet.absoluteFill},sheet:{position:"absolute",left:0,right:0,overflow:"hidden"},body:{overflow:"hidden"},handleRow:{alignItems:"center",justifyContent:"center",alignSelf:"stretch",paddingTop:12,paddingBottom:24},header:{},footer:{},handle:{width:36,height:4,borderRadius:2,..._corners.smoothCorners},content:{flex:1,overflow:"hidden"},scrollContent:{flex:1},modalRoot:{flex:1}});var _default=exports.default=BottomSheet;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useBottomSheet=exports.default=exports.BottomSheet=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeGestureHandler=require("react-native-gesture-handler"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated")),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_ToastProvider=require("../Toast/ToastProvider.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,o,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(n=t?r:a){if(n.has(e))return n.get(e);n.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?n(s,t,o):s[t]=e[t]);return s})(e,t)}const TABLET_MIN_SHORT_SIDE=600,DIALOG_MAX_WIDTH=560,BottomSheetContext=(0,_react.createContext)(null),useBottomSheet=()=>{const e=(0,_react.useContext)(BottomSheetContext);if(!e)throw new Error("useBottomSheet must be used inside a <BottomSheet>.");return e};exports.useBottomSheet=useBottomSheet;const SPRING_CONFIG={damping:20,stiffness:240,mass:1},CLOSE_VELOCITY_THRESHOLD=1e3,DRAG_ACTIVATION_OFFSET=10,BottomSheet=exports.BottomSheet=(0,_react.forwardRef)((e,t)=>{const{snapPoints:a,index:r,onChange:n,onAnimate:o,onAfterClose:s,enablePanDownToClose:i=!0,enableBackdropPress:c=!0,confirmDismiss:l,scrollable:u=!1,scrollRef:d,onScroll:_,onContentSizeChange:h,onScrollLayout:m,scrollEventThrottle:v,keyboardBehavior:f="shift",mode:b="modal",presentation:p="sheet",handleIndicatorStyle:x,containerStyle:S,header:R,footer:g,headerStyle:y,footerStyle:N,children:w,accessibilityLabel:C,accessibilityViewIsModal:j,testID:k}=e,I=(0,_index.useTheme)(),M=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),[O,T]=(0,_react.useState)(()=>_reactNative.Dimensions.get("window").height),[H,P]=(0,_react.useState)(()=>_reactNative.Dimensions.get("window").width),B=(0,_react.useCallback)(e=>{const{height:t,width:a}=e.nativeEvent.layout;t>0&&T(e=>e===t?e:t),a>0&&P(e=>e===a?e:a)},[]),D=(0,_reactNative.useWindowDimensions)(),G="dialog"===p||"auto"===p&&Math.min(D.width,D.height)>=600,V=Math.min(560,H-2*I.spacing.xl),[A,E]=(0,_react.useState)({top:M.top,bottom:M.bottom}),L="modal"===b?A.top:M.top,q="modal"===b?A.bottom:M.bottom,F=a.includes("content"),[W,J]=useMeasuredHeight(),[z,Y]=useMeasuredHeight(),[$,K,X]=useMeasuredHeight(),[U,Q]=useMeasuredHeight(),Z=G?I.spacing.md:W,ee=F?Math.min(Z+(null!=R?z:0)+$+(null!=g?U:0)+q,O-L):0,te=(0,_react.useCallback)((e,t)=>{F&&X(t),h?.(e,t)},[F,h,X]),ae=(0,_react.useMemo)(()=>resolveSnapPoints(a,O,ee),[a,O,ee]),re=O,ne=ae[ae.length-1]??0,oe=(0,_reactNativeReanimated.useSharedValue)(re),se=(0,_reactNativeReanimated.useSharedValue)(re),ie=(0,_reactNativeReanimated.useSharedValue)(-1),[ce,le]=(0,_react.useState)(-1),ue=(0,_react.useRef)(!1),[de,_e]=(0,_react.useState)(!1),[he,me]=(0,_react.useState)(!1),ve=(0,_react.useRef)(!1),fe=(0,_react.useRef)(s);fe.current=s;const[be,pe]=(0,_react.useState)(!1),xe=(0,_react.useRef)(-1),Se=(0,_react.useRef)(!1);Se.current="modal"===b?he:be;const Re=(0,_react.useRef)(l);Re.current=l;const ge=(0,_react.useRef)(!1),ye=(0,_react.useRef)(!0),Ne=(0,_react.useRef)([]),we=(0,_react.useCallback)(e=>{const t=Ne.current;Ne.current=[];for(const a of t)a(e)},[]);(0,_react.useEffect)(()=>(ye.current=!0,()=>{ye.current=!1,we(!1)}),[we]);const Ce=(0,_react.useCallback)(e=>{if(e<0||e>=ae.length)return re;const t=ae[e];return G?(O-t)/2:O-t},[ae,O,re,G]),je=(0,_react.useCallback)(e=>{xe.current=e;ce!==e&&(le(e),ie.value=e,n?.(e))},[ce,ie,n]),ke=(0,_react.useCallback)(()=>{ue.current=!1,ie.value<0&&(ve.current=!0,"modal"===b?(_e(!1),"ios"!==_reactNative.Platform.OS&&me(!1)):pe(!1))},[b,ie]),Ie=(0,_react.useCallback)(()=>{ve.current&&me(!1)},[]);(0,_react.useEffect)(()=>{("modal"===b?!he:!be)&&ve.current&&(ve.current=!1,fe.current?.(),we(!0))},[b,he,be,we]);const Me=(0,_react.useCallback)((e,t,a)=>{ue.current=!0,o?.(t,a),oe.value=(0,_reactNativeReanimated.withSpring)(e,SPRING_CONFIG,e=>{"worklet";e&&(0,_reactNativeReanimated.runOnJS)(ke)()})},[o,oe,ke]),Oe=(0,_react.useCallback)(e=>{const t="number"==typeof e?clamp(e,0,ae.length-1):ce>=0?ce:0,a=ie.value,r=Ce(t);ve.current=!1,we(!1),"modal"===b?(me(!0),_e(!0)):pe(!0),a<0&&(oe.value=re),je(t),Me(r,a,t)},[Me,re,ce,ie,b,ae.length,je,we,oe,Ce]),Te=(0,_react.useCallback)(()=>{if(0===ae.length)return;const e=ie.value,t=Ce(0);je(0),Me(t,e,0)},[Me,ie,ae.length,je,Ce]),He=(0,_react.useCallback)(()=>new Promise(e=>{if(xe.current<0)return void(Se.current?Ne.current.push(e):e(!0));Ne.current.push(e);const t=ie.value;je(-1),ue.current=!0,o?.(t,-1),oe.value=(0,_reactNativeReanimated.withTiming)(re,{duration:I.motion.duration.fast,easing:_reactNativeReanimated.Easing.bezier(...I.motion.easing.accelerate)},e=>{"worklet";e&&(0,_reactNativeReanimated.runOnJS)(ke)()})}),[re,ie,ke,o,je,oe,I.motion.duration.fast,I.motion.easing.accelerate]),Pe=(0,_react.useCallback)(async()=>{await He()},[He]),Be=(0,_react.useCallback)((e,t,a)=>{const r=Re.current;if(!r)return void e();if(ge.current)return void t?.();const n=r();"boolean"!=typeof n?(ge.current=!0,a?.(),n.then(a=>{ge.current=!1,a&&ye.current&&xe.current>=0?e():t?.()},e=>{throw ge.current=!1,e})):(n?e:t)?.()},[]),De=(0,_react.useCallback)(()=>new Promise(e=>{xe.current<0?He().then(e):Be(()=>{He().then(e)},()=>e(!1))}),[He,Be]),Ge=(0,_react.useCallback)(()=>{Be(()=>{Pe()})},[Pe,Be]);(0,_react.useImperativeHandle)(t,()=>({expand:Oe,collapse:Te,close:Pe,requestClose:De}),[Oe,Te,Pe,De]),(0,_react.useEffect)(()=>{"number"==typeof r&&r!==ce&&(-1===r?Pe():Oe(r))},[r]);const Ve=(0,_react.useRef)({hostHeight:O,contentSnap:ee});(0,_react.useEffect)(()=>{const e=Ve.current;e.hostHeight===O&&e.contentSnap===ee||(Ve.current={hostHeight:O,contentSnap:ee},e.hostHeight===O&&ie.value<0||(oe.value=(0,_reactNativeReanimated.withSpring)(Ce(ie.value),SPRING_CONFIG)))},[O,ee]);const Ae=O-ne,Ee=(0,_react.useMemo)(()=>ae.map(e=>O-e),[ae,O]),Le=(0,_react.useCallback)(()=>{const e=xe.current;e<0||Me(Ce(e),e,e)},[Me,Ce]),qe=(0,_react.useCallback)((e,t)=>{const a=ie.value;-1!==e?(je(e),Me(t,a,e)):Be(()=>{(0,_index2.triggerHaptic)("selection"),Pe()},Le,Le)},[Me,Pe,ie,Be,je,Le]),Fe=(0,_react.useMemo)(()=>_reactNativeGestureHandler.Gesture.Native().withTestId(k?`${k}-content-gesture`:"bottom-sheet-content-gesture"),[k]),We=(0,_react.useMemo)(()=>{const e=Ee,t=re,a=Ae,r=i;return _reactNativeGestureHandler.Gesture.Pan().withTestId(k?`${k}-pan-gesture`:"bottom-sheet-pan-gesture").activeOffsetY([-10,10]).failOffsetX([-15,15]).onStart(()=>{"worklet";se.value=oe.value}).onUpdate(e=>{"worklet";const t=se.value+e.translationY;oe.value=t<a?a+.25*(t-a):t}).onEnd(a=>{"worklet";const n=oe.value;if(a.velocityY>1e3)return r?void(0,_reactNativeReanimated.runOnJS)(qe)(-1,t):void(0,_reactNativeReanimated.runOnJS)(qe)(0,e[0]);let o=0,s=Math.abs(n-e[0]);for(let t=1;t<e.length;t++){const a=Math.abs(n-e[t]);a<s&&(s=a,o=t)}const i=e[0];r&&n-i>80?(0,_reactNativeReanimated.runOnJS)(qe)(-1,t):(0,_reactNativeReanimated.runOnJS)(qe)(o,e[o])})},[re,se,i,qe,Ae,Ee,k,oe]),{height:Je}=(0,_reactNativeKeyboardController.useReanimatedKeyboardAnimation)(),ze="shift"===f,Ye=(0,_reactNativeReanimated.useDerivedValue)(()=>ze?Je.value:0),$e=ae[ce>=0?ce:0]??ne,Ke=I.spacing.md,Xe=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{if(G){const e=Ye.value,t=O+e-$e-Ke,a=e<0&&oe.value>t?t:oe.value;return{top:a<L?L:a}}const e=oe.value+Ye.value,t=Ye.value<0?L:Ae;return{top:e<t?t:e}}),Ue=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=Ye.value;if(G){const t=O+e-$e-Ke,a=e<0&&oe.value>t?t:oe.value,r=O+e-Ke-(a<L?L:a);return{height:r<0?0:r>$e?$e:r}}const t=e<0?L:Ae,a=oe.value+e,r=O+e-(a<t?t:a);return{height:r<0?0:r>ne?ne:r}}),Qe=ce>=0,Ze=(0,_react.useMemo)(()=>buildStyles(I),[I]),et=(0,_react.useCallback)(()=>{c&&Be(()=>{(0,_index2.triggerHaptic)("selection"),Pe()})},[c,Pe,Be]),tt=(0,_react.useMemo)(()=>_reactNativeGestureHandler.Gesture.Tap().withTestId(k?`${k}-backdrop-gesture`:"bottom-sheet-backdrop-gesture").maxDuration(250).onEnd((e,t)=>{"worklet";t&&(0,_reactNativeReanimated.runOnJS)(et)()}),[et,k]),at=(0,_react.useMemo)(()=>({snapIndex:ce,snapPoints:ae,expand:Oe,collapse:Te,close:Pe,requestClose:De}),[ce,ae,Oe,Te,Pe,De]);if("inline"===b&&!be)return null;if("modal"===b&&!he)return null;const rt=(0,_jsxRuntime.jsxs)(_reactNative.View,{collapsable:!1,style:["modal"===b?Ze.backdropModal:Ze.backdropInline,{backgroundColor:I.colors.background.overlay}],onLayout:B,testID:k,accessibilityViewIsModal:j??Qe,children:[(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:tt,children:(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:_reactNative.StyleSheet.absoluteFill,accessibilityRole:"button",accessibilityLabel:"Close bottom sheet"})}),(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{accessibilityRole:"alert",accessibilityLabel:C,accessibilityViewIsModal:j??Qe,style:[Ze.sheet,{height:ne,backgroundColor:I.colors.background.elevated,borderTopLeftRadius:I.radius["2xl"],borderTopRightRadius:I.radius["2xl"],..._corners.smoothCorners,...I.shadows.xl},G?{height:$e,left:(H-V)/2,right:void 0,width:V,borderBottomLeftRadius:I.radius["2xl"],borderBottomRightRadius:I.radius["2xl"]}:null,S,Xe],children:(0,_jsxRuntime.jsxs)(SheetBody,{style:[Ze.body,Ue],keyboardOffset:Ye,children:[G?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{height:I.spacing.md}}):(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:We,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:Ze.handleRow,onLayout:F?J:void 0,accessible:!0,accessibilityLabel:"Drag handle",accessibilityHint:"Drag up or down to resize the sheet, or swipe down to close it",testID:k?`${k}-handle`:"bottom-sheet-handle",children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ze.handle,{backgroundColor:I.components.bottomSheet?.handleColor??I.colors.border.primary},x]})})}),null!=R&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ze.header,y],onLayout:F?Y:void 0,children:R}),u?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector,{gesture:Fe,children:(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{ref:d,style:Ze.scrollContent,onScroll:_,onContentSizeChange:te,onLayout:m,scrollEventThrottle:v,keyboardShouldPersistTaps:"always",keyboardDismissMode:"none",children:w})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:Ze.content,children:F?(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:K,children:w}):w}),null!=g&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Ze.footer,N],onLayout:F?Q:void 0,children:g})]})})]}),nt=(0,_jsxRuntime.jsx)(BottomSheetContext.Provider,{value:at,children:rt});return"modal"===b?(0,_jsxRuntime.jsx)(_reactNative.Modal,{transparent:!0,visible:de,onRequestClose:Ge,onDismiss:"ios"===_reactNative.Platform.OS?Ie:void 0,statusBarTranslucent:!0,navigationBarTranslucent:!0,animationType:"none",supportedOrientations:["portrait","landscape"],children:(0,_jsxRuntime.jsxs)(_reactNativeSafeAreaContext.SafeAreaProvider,{style:Ze.modalRoot,children:[(0,_jsxRuntime.jsx)(InsetsProbe,{onChange:E}),"android"===_reactNative.Platform.OS?(0,_jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView,{style:Ze.modalRoot,children:nt}):nt,(0,_jsxRuntime.jsx)(_ToastProvider.ToastHost,{})]})}):nt}),InsetsProbe=({onChange:e})=>{const{top:t,bottom:a}=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();return(0,_react.useEffect)(()=>{e(e=>e.top===t&&e.bottom===a?e:{top:t,bottom:a})},[t,a,e]),null},SheetBody=({style:e,keyboardOffset:t,children:a})=>{const r=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)().bottom,n=(0,_reactNativeReanimated.useAnimatedStyle)(()=>{const e=r+t.value;return{paddingBottom:e>0?e:0}});return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[e,n],children:a})};BottomSheet.displayName="BottomSheet";const useMeasuredHeight=()=>{const[e,t]=(0,_react.useState)(0),a=(0,_react.useCallback)(e=>{t(t=>t===e?t:e)},[]);return[e,(0,_react.useCallback)(e=>a(e.nativeEvent.layout.height),[a]),a]},resolveSnapPoints=(e,t,a)=>[...e.map(e=>{if("number"==typeof e)return e;if("content"===e)return a;const r=parseFloat(e);return Number.isNaN(r)?0:r/100*t})].sort((e,t)=>e-t),clamp=(e,t,a)=>Math.min(Math.max(e,t),a),buildStyles=e=>_reactNative.StyleSheet.create({backdropModal:{flex:1},backdropInline:{..._reactNative.StyleSheet.absoluteFill},sheet:{position:"absolute",left:0,right:0,overflow:"hidden"},body:{overflow:"hidden"},handleRow:{alignItems:"center",justifyContent:"center",alignSelf:"stretch",paddingTop:12,paddingBottom:24},header:{},footer:{},handle:{width:36,height:4,borderRadius:2,..._corners.smoothCorners},content:{flex:1,overflow:"hidden"},scrollContent:{flex:1},modalRoot:{flex:1}});var _default=exports.default=BottomSheet;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _BottomSheet.BottomSheet}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _BottomSheet.default}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _BottomSheet.useBottomSheet}});var _BottomSheet=_interopRequireWildcard(require("./BottomSheet.js"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,u,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=t?o:r){if(n.has(e))return n.get(e);n.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((u=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(u.get||u.set)?n(i,t,u):i[t]=e[t]);return i})(e,t)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BottomSheet",{enumerable:!0,get:function(){return _BottomSheet.BottomSheet}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _BottomSheet.default}}),Object.defineProperty(exports,"useBottomSheet",{enumerable:!0,get:function(){return _BottomSheet.useBottomSheet}}),Object.defineProperty(exports,"useSheetSwap",{enumerable:!0,get:function(){return _useSheetSwap.useSheetSwap}});var _BottomSheet=_interopRequireWildcard(require("./BottomSheet.js")),_useSheetSwap=require("./useSheetSwap.js");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,u,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=t?o:r){if(n.has(e))return n.get(e);n.set(e,i)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((u=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(u.get||u.set)?n(i,t,u):i[t]=e[t]);return i})(e,t)}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useSheetSwap=void 0;var _react=require("react");const useSheetSwap=()=>{const e=(0,_react.useRef)(!0),r=(0,_react.useRef)(!1);return(0,_react.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),(0,_react.useCallback)(async(t,c,u)=>{if(r.current)return!1;r.current=!0;try{const r=t.current;if(r)if(u?.confirm){if(!await r.requestClose())return!1}else await r.close();const s=c.current;return!(!e.current||!s)&&(s.expand(u?.index),!0)}finally{r.current=!1}},[])};exports.useSheetSwap=useSheetSwap;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Card=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_useControllableState=require("../../hooks/useControllableState.js"),_usePressAnimation=require("../../hooks/usePressAnimation.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_shadows=require("../../utils/shadows.js"),_squircle=require("../../utils/squircle.js"),_AppIcon=require("../AppIcon/AppIcon.js"),_index2=require("../Skeleton/index.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var s,a,o={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return o;if(s=t?r:i){if(s.has(e))return s.get(e);s.set(e,o)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(s=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?s(o,t,a):o[t]=e[t]);return o})(e,t)}const paddingMap={none:"none",sm:"sm",md:"lg",lg:"xl",xl:"2xl"},Card=exports.Card=(0,_react.forwardRef)((e,t)=>{const{children:i,variant:r="elevated",elevation:s="sm",radius:a="lg",padding:o="md",interactive:n=!1,bg:l,header:d,title:c,lead:u,action:h,headerActions:x,collapsible:p=!1,collapsed:_,defaultCollapsed:m=!1,onCollapsedChange:b,collapsedSummary:g,onRemove:y,removeLabel:j="Remove",separatorHeight:v=_reactNative.StyleSheet.hairlineWidth,footer:R,imageSource:f,imageHeight:S=160,imageAspectRatio:w,imageOverlay:C,loading:k=!1,gradient:q,onPress:N,haptic:A,accessibilityLabel:T,accessibilityHint:P,accessibilityRole:I,style:B,containerStyle:H,headerStyle:L,bodyStyle:V,footerStyle:F,borderRadius:W,testID:M,onLayout:z,...O}=e,U=(0,_index.useTheme)(),D=n||"function"==typeof N,{scale:E,pressIn:G,pressOut:$}=(0,_usePressAnimation.usePressAnimation)({enabled:D}),J=(0,_react.useMemo)(()=>buildStyles(U),[U]),K=Boolean(f),Q=U.spacing[paddingMap[o]],X=(0,_react.useMemo)(()=>q?"string"==typeof q?U.gradients[q]??null:q:null,[q,U.gradients]),Y="flat"===r,Z=Y?0:W??U.radius[a],ee=resolveBackground(U,l),[te,ie]=(0,_useControllableState.useControllableState)({value:_,defaultValue:m,onChange:b}),re=p&&te,se=hasBuiltInHeaderContent(e),ae=Boolean(d)||se,oe=(0,_SquircleFill.useSquircle)(!K&&!X&&!Y,Z,z),ne=_reactNative.StyleSheet.flatten([B,H])??{},le=ne.backgroundColor,de=ne.borderColor,ce=le??ee??("filled"===r?U.colors.background.secondary:U.colors.background.elevated),ue="outlined"===r?U.colors.border.width:0,he=de??U.colors.border.primary,xe="elevated"===r&&(0,_shadows.supportsBoxShadow)()?(0,_shadows.toBoxShadow)(U.shadows[s]):void 0,pe=oe.active&&"elevated"===r&&!xe,_e=oe.active&&!pe?{backgroundColor:"transparent",borderColor:"transparent"}:null,me=(0,_react.useMemo)(()=>{const e={borderRadius:pe&&oe.size?(0,_squircle.squircleHostRadius)(oe.size.width,oe.size.height,Z):Z,..._corners.smoothCorners,padding:K?0:Q,overflow:oe.active?"visible":"hidden"};switch(r){case"flat":return{...e,backgroundColor:ee??U.colors.background.elevated,borderBottomWidth:v,borderBottomColor:U.colors.border.primary};case"outlined":return{...e,backgroundColor:oe.active?"transparent":ee??U.colors.background.elevated,borderWidth:U.colors.border.width,borderColor:oe.active?"transparent":U.colors.border.primary};case"filled":return{...e,backgroundColor:oe.active?"transparent":ee??U.colors.background.secondary};default:return{...e,backgroundColor:ee??U.colors.background.elevated,...xe?{boxShadow:xe}:U.shadows[s]}}},[U,r,s,Z,K,Q,oe.active,oe.size,xe,pe,ee,v]),be=(0,_react.useMemo)(()=>({..."number"==typeof w?{width:"100%",aspectRatio:w}:{width:"100%",height:S},borderTopLeftRadius:Z,borderTopRightRadius:Z,borderBottomLeftRadius:0,borderBottomRightRadius:0,..._corners.smoothCorners}),[Z,w,S]),ge="string"==typeof c?c:"",ye=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:J.titleColumn,children:["string"==typeof c?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"title",accessibilityRole:"header",children:c}):c,u?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"bodySmall",style:J.lead,children:u}):null,re&&g?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"caption",style:J.lead,children:g}):null]}),isCardTextAction(h)?(0,_jsxRuntime.jsx)(CardTextActionButton,{action:h,haptic:A}):h?(0,_jsxRuntime.jsx)(_reactNative.View,{style:J.actionNode,children:h}):null,x,p?(0,_jsxRuntime.jsx)(CardIconAction,{icon:re?"chevron-down":"chevron-up",label:`${re?"Show":"Hide"} ${ge}`.trim(),expanded:!re,onPress:()=>ie(!re),haptic:A}):null,y?(0,_jsxRuntime.jsx)(CardIconAction,{icon:"trash",label:j,onPress:y,color:U.colors.toneText.error,haptic:A}):null]}),je=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[ae?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[J.header,!d&&J.headerRow,re&&J.headerFolded,L],children:d??ye}):null,re?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[ae||R?J.body:null,V],children:i}),R&&!re?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[J.footer,F],children:R}):null]}),ve=K?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:J.imageWrapper,children:[(0,_jsxRuntime.jsx)(_reactNative.Image,{source:f,resizeMode:"cover",style:be,accessibilityLabel:"",accessible:!1}),C?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"box-none",style:J.imageOverlay,children:C}):null]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:{padding:Q},children:je})]}):je,Re=X?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:X,style:_reactNative.StyleSheet.absoluteFill}),ve]}):oe.active&&oe.size?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:oe.size.width,height:oe.size.height,radius:Z,fill:ce,stroke:ue?he:void 0,strokeWidth:ue,outset:ue}),ve]}):ve;let fe;if(D){const handlePress=e=>{const t=(0,_hapticUtils.resolveHaptic)(A,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),N?.(e)};fe=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[{transform:[{scale:E}]}],children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{ref:t,onPress:handlePress,onPressIn:G,onPressOut:$,android_ripple:{color:U.colors.surface.pressed,borderless:!1},accessibilityRole:I??"button",accessibilityLabel:T,accessibilityHint:P,testID:M,onLayout:oe.onLayout,style:[me,B,H,_e],...O,children:Re})})}else fe=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessibilityLabel:T,accessibilityHint:P,accessibilityRole:I,testID:M,onLayout:oe.onLayout,style:[me,B,H,_e],...O,children:Re});return k?(0,_jsxRuntime.jsx)(CardSkeleton,{...e}):fe});Card.displayName="Card";const CardSkeleton=({variant:e="elevated",elevation:t,radius:i="lg",padding:r="md",bg:s,header:a,footer:o,imageSource:n,imageHeight:l=160,imageAspectRatio:d,borderRadius:c,containerStyle:u,headerStyle:h,bodyStyle:x,footerStyle:p,style:_,...m})=>{const b=(0,_index.useTheme)(),g=paddingMap[r],y=b.spacing[g],j="flat"===e?0:c??b.radius[i],v=void 0!==a||hasBuiltInHeaderContent(m),R=resolveBackground(b,s)??b.colors.background.elevated,f="outlined"===e?1:0,S="outlined"===e?b.colors.border.primary:void 0;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[{backgroundColor:R,borderRadius:j,..._corners.smoothCorners,borderWidth:f,borderColor:S,overflow:"hidden"},u,_],accessibilityRole:"progressbar",accessibilityLabel:"Loading",accessibilityState:{busy:!0},"aria-busy":!0,children:[void 0!==n?(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:d?void 0:l,style:d?{aspectRatio:d,width:"100%"}:void 0}):null,v?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y,paddingBottom:b.spacing.sm},h],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"60%",height:18})}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y},x],children:(0,_jsxRuntime.jsx)(_index2.SkeletonText,{lines:3,fontSize:14,lastLineWidth:"55%"})}),void 0!==o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y,paddingTop:b.spacing.sm,flexDirection:"row"},p],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:88,height:32,shape:"rounded"})}):null]})};CardSkeleton.displayName="CardSkeleton",Card.Skeleton=CardSkeleton;const hasBuiltInHeaderContent=e=>Boolean(e.title||e.lead||e.action||e.headerActions||e.collapsible||e.onRemove),isCardTextAction=e=>"object"==typeof e&&null!==e&&!_react.default.isValidElement(e)&&"label"in e&&"onPress"in e,HIT_TARGET=44,CardIconAction=({icon:e,label:t,onPress:i,expanded:r,color:s,haptic:a})=>{const o=(0,_index.useTheme)();return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:t,accessibilityState:void 0===r?void 0:{expanded:r},"aria-expanded":r,onPress:()=>{const e=(0,_hapticUtils.resolveHaptic)(a,"selection");e&&(0,_hapticUtils.triggerHaptic)(e),i()},style:iconActionStyle,children:(0,_jsxRuntime.jsx)(_AppIcon.AppIcon,{name:e,size:20,color:s??o.colors.text.primary})})},CardTextActionButton=({action:e,haptic:t})=>{const i=(0,_index.useTheme)();return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,onPress:()=>{const i=(0,_hapticUtils.resolveHaptic)(t,"selection");i&&(0,_hapticUtils.triggerHaptic)(i),e.onPress()},style:textActionStyle,children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"label",weight:"semibold",color:i.colors.primary,children:e.label})})},iconActionStyle={width:44,height:44,alignItems:"center",justifyContent:"center"},textActionStyle={minWidth:44,minHeight:44,alignItems:"center",justifyContent:"center"},resolveBackground=(e,t)=>{if(null==t)return;return e.colors.background[t]??t},buildStyles=e=>_reactNative.StyleSheet.create({header:{marginBottom:e.spacing.md},headerRow:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm},headerFolded:{marginBottom:0},titleColumn:{flex:1},lead:{marginTop:e.spacing.xs},actionNode:{flexShrink:0},body:{flexShrink:1},footer:{marginTop:e.spacing.md},imageWrapper:{position:"relative"},imageOverlay:{..._reactNative.StyleSheet.absoluteFill}});var _default=exports.default=Card;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Card=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_useControllableState=require("../../hooks/useControllableState.js"),_usePressAnimation=require("../../hooks/usePressAnimation.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_mergeRefs=require("../../utils/mergeRefs.js"),_shadows=require("../../utils/shadows.js"),_squircle=require("../../utils/squircle.js"),_AppIcon=require("../AppIcon/AppIcon.js"),_useContextMenu=require("../Menu/useContextMenu.js"),_index2=require("../Skeleton/index.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var s,o,a={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return a;if(s=t?r:i){if(s.has(e))return s.get(e);s.set(e,a)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((o=(s=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(o.get||o.set)?s(a,t,o):a[t]=e[t]);return a})(e,t)}const paddingMap={none:"none",sm:"sm",md:"lg",lg:"xl",xl:"2xl"},Card=exports.Card=(0,_react.forwardRef)((e,t)=>{const{children:i,variant:r="elevated",elevation:s="sm",radius:o="lg",padding:a="md",interactive:n=!1,bg:l,header:c,title:d,lead:u,action:h,headerActions:x,collapsible:m=!1,collapsed:_,defaultCollapsed:p=!1,onCollapsedChange:g,collapsedSummary:b,onRemove:y,removeLabel:j="Remove",separatorHeight:v=_reactNative.StyleSheet.hairlineWidth,footer:R,imageSource:f,imageHeight:S=160,imageAspectRatio:w,imageOverlay:C,loading:k=!1,gradient:A,onPress:q,haptic:N,contextMenu:T,accessibilityLabel:P,accessibilityHint:I,accessibilityRole:B,style:H,containerStyle:M,headerStyle:L,bodyStyle:V,footerStyle:F,borderRadius:W,testID:z,onLayout:O,...U}=e,D=(0,_index.useTheme)(),E=n||"function"==typeof q,G=(0,_useContextMenu.useContextMenu)(T,{haptic:N,testID:z,accessibilityActions:U.accessibilityActions,onAccessibilityAction:U.onAccessibilityAction}),$=(0,_react.useMemo)(()=>(0,_mergeRefs.mergeRefs)(t,G.hostRef),[t,G.hostRef]),J=E||G.enabled,{scale:K,pressIn:Q,pressOut:X}=(0,_usePressAnimation.usePressAnimation)({enabled:J}),Y=(0,_react.useMemo)(()=>buildStyles(D),[D]),Z=Boolean(f),ee=D.spacing[paddingMap[a]],te=(0,_react.useMemo)(()=>A?"string"==typeof A?D.gradients[A]??null:A:null,[A,D.gradients]),ie="flat"===r,re=ie?0:W??D.radius[o],se=resolveBackground(D,l),[oe,ae]=(0,_useControllableState.useControllableState)({value:_,defaultValue:p,onChange:g}),ne=m&&oe,le=hasBuiltInHeaderContent(e),ce=Boolean(c)||le,de=(0,_SquircleFill.useSquircle)(!Z&&!te&&!ie,re,O),ue=_reactNative.StyleSheet.flatten([H,M])??{},he=ue.backgroundColor,xe=ue.borderColor,me=he??se??("filled"===r?D.colors.background.secondary:D.colors.background.elevated),_e="outlined"===r?D.colors.border.width:0,pe=xe??D.colors.border.primary,ge="elevated"===r&&(0,_shadows.supportsBoxShadow)()?(0,_shadows.toBoxShadow)(D.shadows[s]):void 0,be=de.active&&"elevated"===r&&!ge,ye=de.active&&!be?{backgroundColor:"transparent",borderColor:"transparent"}:null,je=(0,_react.useMemo)(()=>{const e={borderRadius:be&&de.size?(0,_squircle.squircleHostRadius)(de.size.width,de.size.height,re):re,..._corners.smoothCorners,padding:Z?0:ee,overflow:de.active?"visible":"hidden"};switch(r){case"flat":return{...e,backgroundColor:se??D.colors.background.elevated,borderBottomWidth:v,borderBottomColor:D.colors.border.primary};case"outlined":return{...e,backgroundColor:de.active?"transparent":se??D.colors.background.elevated,borderWidth:D.colors.border.width,borderColor:de.active?"transparent":D.colors.border.primary};case"filled":return{...e,backgroundColor:de.active?"transparent":se??D.colors.background.secondary};default:return{...e,backgroundColor:se??D.colors.background.elevated,...ge?{boxShadow:ge}:D.shadows[s]}}},[D,r,s,re,Z,ee,de.active,de.size,ge,be,se,v]),ve=(0,_react.useMemo)(()=>({..."number"==typeof w?{width:"100%",aspectRatio:w}:{width:"100%",height:S},borderTopLeftRadius:re,borderTopRightRadius:re,borderBottomLeftRadius:0,borderBottomRightRadius:0,..._corners.smoothCorners}),[re,w,S]),Re="string"==typeof d?d:"",fe=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:Y.titleColumn,children:["string"==typeof d?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"title",accessibilityRole:"header",children:d}):d,u?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"bodySmall",style:Y.lead,children:u}):null,ne&&b?(0,_jsxRuntime.jsx)(_index3.Text,{variant:"caption",style:Y.lead,children:b}):null]}),isCardTextAction(h)?(0,_jsxRuntime.jsx)(CardTextActionButton,{action:h,haptic:N}):h?(0,_jsxRuntime.jsx)(_reactNative.View,{style:Y.actionNode,children:h}):null,x,m?(0,_jsxRuntime.jsx)(CardIconAction,{icon:ne?"chevron-down":"chevron-up",label:`${ne?"Show":"Hide"} ${Re}`.trim(),expanded:!ne,onPress:()=>ae(!ne),haptic:N}):null,y?(0,_jsxRuntime.jsx)(CardIconAction,{icon:"trash",label:j,onPress:y,color:D.colors.toneText.error,haptic:N}):null]}),Se=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[ce?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Y.header,!c&&Y.headerRow,ne&&Y.headerFolded,L],children:c??fe}):null,ne?null:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[ce||R?Y.body:null,V],children:i}),R&&!ne?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[Y.footer,F],children:R}):null]}),we=Z?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:Y.imageWrapper,children:[(0,_jsxRuntime.jsx)(_reactNative.Image,{source:f,resizeMode:"cover",style:ve,accessibilityLabel:"",accessible:!1}),C?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"box-none",style:Y.imageOverlay,children:C}):null]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:{padding:ee},children:Se})]}):Se,Ce=te?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_index.Gradient,{gradient:te,style:_reactNative.StyleSheet.absoluteFill}),we]}):de.active&&de.size?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:de.size.width,height:de.size.height,radius:re,fill:me,stroke:_e?pe:void 0,strokeWidth:_e,outset:_e}),we]}):we;let ke;if(J){const handlePress=e=>{if(!E)return;const t=(0,_hapticUtils.resolveHaptic)(N,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),q?.(e)};ke=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[{transform:[{scale:K}]}],children:(0,_jsxRuntime.jsx)(_reactNative.Pressable,{ref:$,onPress:handlePress,onPressIn:Q,onPressOut:X,android_ripple:{color:D.colors.surface.pressed,borderless:!1},accessibilityRole:B??(E?"button":void 0),accessibilityLabel:P,accessibilityHint:I,testID:z,onLayout:de.onLayout,style:[je,H,M,ye],...U,...G.hostProps,children:Ce})})}else ke=(0,_jsxRuntime.jsx)(_reactNative.View,{ref:t,accessibilityLabel:P,accessibilityHint:I,accessibilityRole:B,testID:z,onLayout:de.onLayout,style:[je,H,M,ye],...U,children:Ce});return k?(0,_jsxRuntime.jsx)(CardSkeleton,{...e}):G.enabled?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[ke,G.renderSurface((0,_jsxRuntime.jsx)(_reactNative.View,{style:[je,H,M,ye,Y.preview],children:Ce}))]}):ke});Card.displayName="Card";const CardSkeleton=({variant:e="elevated",elevation:t,radius:i="lg",padding:r="md",bg:s,header:o,footer:a,imageSource:n,imageHeight:l=160,imageAspectRatio:c,borderRadius:d,containerStyle:u,headerStyle:h,bodyStyle:x,footerStyle:m,style:_,...p})=>{const g=(0,_index.useTheme)(),b=paddingMap[r],y=g.spacing[b],j="flat"===e?0:d??g.radius[i],v=void 0!==o||hasBuiltInHeaderContent(p),R=resolveBackground(g,s)??g.colors.background.elevated,f="outlined"===e?1:0,S="outlined"===e?g.colors.border.primary:void 0;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[{backgroundColor:R,borderRadius:j,..._corners.smoothCorners,borderWidth:f,borderColor:S,overflow:"hidden"},u,_],accessibilityRole:"progressbar",accessibilityLabel:"Loading",accessibilityState:{busy:!0},"aria-busy":!0,children:[void 0!==n?(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:"100%",height:c?void 0:l,style:c?{aspectRatio:c,width:"100%"}:void 0}):null,v?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y,paddingBottom:g.spacing.sm},h],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"60%",height:18})}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y},x],children:(0,_jsxRuntime.jsx)(_index2.SkeletonText,{lines:3,fontSize:14,lastLineWidth:"55%"})}),void 0!==a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{padding:y,paddingTop:g.spacing.sm,flexDirection:"row"},m],children:(0,_jsxRuntime.jsx)(_index2.Skeleton,{width:88,height:32,shape:"rounded"})}):null]})};CardSkeleton.displayName="CardSkeleton",Card.Skeleton=CardSkeleton;const hasBuiltInHeaderContent=e=>Boolean(e.title||e.lead||e.action||e.headerActions||e.collapsible||e.onRemove),isCardTextAction=e=>"object"==typeof e&&null!==e&&!_react.default.isValidElement(e)&&"label"in e&&"onPress"in e,HIT_TARGET=44,CardIconAction=({icon:e,label:t,onPress:i,expanded:r,color:s,haptic:o})=>{const a=(0,_index.useTheme)();return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:t,accessibilityState:void 0===r?void 0:{expanded:r},"aria-expanded":r,onPress:()=>{const e=(0,_hapticUtils.resolveHaptic)(o,"selection");e&&(0,_hapticUtils.triggerHaptic)(e),i()},style:iconActionStyle,children:(0,_jsxRuntime.jsx)(_AppIcon.AppIcon,{name:e,size:20,color:s??a.colors.text.primary})})},CardTextActionButton=({action:e,haptic:t})=>{const i=(0,_index.useTheme)();return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:e.accessibilityLabel??e.label,onPress:()=>{const i=(0,_hapticUtils.resolveHaptic)(t,"selection");i&&(0,_hapticUtils.triggerHaptic)(i),e.onPress()},style:textActionStyle,children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"label",weight:"semibold",color:i.colors.primary,children:e.label})})},iconActionStyle={width:44,height:44,alignItems:"center",justifyContent:"center"},textActionStyle={minWidth:44,minHeight:44,alignItems:"center",justifyContent:"center"},resolveBackground=(e,t)=>{if(null==t)return;return e.colors.background[t]??t},buildStyles=e=>_reactNative.StyleSheet.create({header:{marginBottom:e.spacing.md},headerRow:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm},headerFolded:{marginBottom:0},titleColumn:{flex:1},lead:{marginTop:e.spacing.xs},actionNode:{flexShrink:0},body:{flexShrink:1},footer:{marginTop:e.spacing.md},imageWrapper:{position:"relative"},imageOverlay:{..._reactNative.StyleSheet.absoluteFill},preview:{margin:0,marginTop:0,marginBottom:0,marginLeft:0,marginRight:0,marginStart:0,marginEnd:0,marginHorizontal:0,marginVertical:0,position:"relative",top:0,left:0,width:"100%",height:"100%"}});var _default=exports.default=Card;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Checkbox=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,i=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var s,o,a={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return a;if(s=r?i:t){if(s.has(e))return s.get(e);s.set(e,a)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((o=(s=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(o.get||o.set)?s(a,r,o):a[r]=e[r]);return a})(e,r)}const sizeMap={sm:16,md:20,lg:24},toneColor=(e,r)=>{switch(r){case"success":return e.colors.success;case"warning":return e.colors.warning;case"error":return e.colors.error;default:return e.colors.primary}},toneOnColor=(e,r)=>{switch(r){case"success":return e.colors.onSuccess;case"warning":return e.colors.onWarning;case"error":return e.colors.onError;default:return e.colors.onPrimary}},Checkbox=exports.Checkbox=(0,_react.forwardRef)((e,r)=>{const{checked:t,defaultChecked:i,onChange:s,indeterminate:o=!1,disabled:a=!1,label:n,description:l,error:c,help:d,labelLines:u,size:h="md",tone:p="primary",accessibilityLabel:x,haptic:_,style:b,boxStyle:f,indeterminateBarStyle:m,containerStyle:y,labelStyle:g,testID:j,...v}=e,[w,C]=(0,_index.useControllableState)({value:t,defaultValue:i??!1,onChange:s}),k=(0,_index2.useTheme)(),S=(0,_react.useMemo)(()=>buildStyles(k),[k]),R=k.components.checkbox?.[h]?.boxSize??sizeMap[h],T=k.colors.border.width,N=k.components.checkbox?.labelGap??10,q=toneColor(k,p),M=w||o,F=(0,_react.useRef)((0,_index2.createAnimatedValue)(M?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.spring(F,{toValue:M?1:0,damping:k.motion.spring.snappy.damping,stiffness:k.motion.spring.snappy.stiffness,mass:k.motion.spring.snappy.mass,useNativeDriver:!0});return e.start(),()=>e.stop()},[M,F,k.motion.spring.snappy]);const B=F.interpolate({inputRange:[0,1],outputRange:[0,1]}),W=x??(0,_FieldBase.fieldTextAsString)(n),L=M?q:a?k.colors.border.primary:(0,_FieldBase.hasFieldText)(c)?k.colors.field.borderError:k.colors.border.primary,P=M?q:a?k.colors.surface.disabled:"transparent",D=a&&!M?k.colors.text.disabled:toneOnColor(k,p),O=Math.round(.72*R),V=Math.round(.55*R),I=Math.max(2,Math.round(.12*R)),A=(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:r,onPress:e=>{if(a)return;const r=(0,_hapticUtils.resolveHaptic)(_,"selection");r&&(0,_hapticUtils.triggerHaptic)(r),C(!w),v.onPressOut?.(e)},disabled:a,accessibilityRole:"checkbox",accessibilityLabel:W,accessibilityHint:v.accessibilityHint??(0,_FieldBase.fieldTextAsString)(l),accessibilityState:{checked:o?"mixed":w,disabled:a},"aria-checked":o?"mixed":w,"aria-disabled":a,testID:j,hitSlop:6,...v,style:({pressed:e})=>[S.row,(0,_ChoiceText.hasChoiceDetail)(l,c)?S.rowTop:null,(0,_FieldBase.hasFieldText)(d)?S.rowShrink:null,{opacity:a?.55:e?.85:1},y,b],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.box,{width:R,height:R,borderWidth:T,borderRadius:k.radius.xs,..._corners.smoothCorners,borderColor:L,backgroundColor:P},f],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[S.glyphWrap,{opacity:F,transform:[{scale:B}]}],children:o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{width:V,height:I,borderRadius:I/2,..._corners.smoothCorners,backgroundColor:D},m]}):(0,_jsxRuntime.jsx)(_reactNativeSvg.default,{width:O,height:O,viewBox:"0 0 24 24",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:"M5 12.5l4.5 4.5L19 7.5",stroke:D,strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})})}),(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:n,description:l,error:c,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:{marginLeft:N},labelStyle:g})]});return(0,_FieldBase.hasFieldText)(d)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[S.helpRow,(0,_ChoiceText.hasChoiceDetail)(l,c)?S.rowTop:null],children:[A,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.help,{marginLeft:k.spacing.xs}],children:d})]}):A});Checkbox.displayName="Checkbox";const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},rowTop:{alignItems:"flex-start"},rowShrink:{flexShrink:1},helpRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0},box:{alignItems:"center",justifyContent:"center"},glyphWrap:{alignItems:"center",justifyContent:"center"}});var _default=exports.default=Checkbox;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Checkbox=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeSvg=_interopRequireWildcard(require("react-native-svg")),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_ChoiceText=require("../FieldBase/ChoiceText.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,i=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var s,o,a={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return a;if(s=r?i:t){if(s.has(e))return s.get(e);s.set(e,a)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((o=(s=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(o.get||o.set)?s(a,r,o):a[r]=e[r]);return a})(e,r)}const sizeMap={sm:16,md:20,lg:24},toneColor=(e,r)=>{switch(r){case"success":return e.colors.success;case"warning":return e.colors.warning;case"error":return e.colors.error;default:return e.colors.primary}},toneOnColor=(e,r)=>{switch(r){case"success":return e.colors.onSuccess;case"warning":return e.colors.onWarning;case"error":return e.colors.onError;default:return e.colors.onPrimary}},Checkbox=exports.Checkbox=(0,_react.forwardRef)((e,r)=>{const{checked:t,defaultChecked:i,onChange:s,indeterminate:o=!1,disabled:a=!1,label:n,description:l,error:c,help:d,labelLines:u,size:h="md",tone:p="primary",accessibilityLabel:x,haptic:_,style:b,boxStyle:f,indeterminateBarStyle:m,containerStyle:y,labelStyle:g,testID:j,...v}=e,[w,C]=(0,_index.useControllableState)({value:t,defaultValue:i??!1,onChange:s}),k=(0,_index2.useTheme)(),S=(0,_react.useMemo)(()=>buildStyles(k),[k]),R=k.components.checkbox?.[h]?.boxSize??sizeMap[h],T=k.colors.border.width,N=k.components.checkbox?.labelGap??10,q=toneColor(k,p),M=w||o,F=(0,_react.useRef)((0,_index2.createAnimatedValue)(M?1:0)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.spring(F,{toValue:M?1:0,damping:k.motion.spring.snappy.damping,stiffness:k.motion.spring.snappy.stiffness,mass:k.motion.spring.snappy.mass,useNativeDriver:!0});return e.start(),()=>e.stop()},[M,F,k.motion.spring.snappy]);const B=F.interpolate({inputRange:[0,1],outputRange:[0,1]}),W=x??(0,_FieldBase.fieldTextAsString)(n),L=!0===c||(0,_FieldBase.hasFieldText)(c),P=M?q:a?k.colors.border.primary:L?k.colors.field.borderError:k.colors.border.primary,D=M?q:a?k.colors.surface.disabled:"transparent",O=a&&!M?k.colors.text.disabled:toneOnColor(k,p),V=Math.round(.72*R),I=Math.round(.55*R),A=Math.max(2,Math.round(.12*R)),z=(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:r,onPress:e=>{if(a)return;const r=(0,_hapticUtils.resolveHaptic)(_,"selection");r&&(0,_hapticUtils.triggerHaptic)(r),C(!w),v.onPressOut?.(e)},disabled:a,accessibilityRole:"checkbox",accessibilityLabel:W,accessibilityHint:v.accessibilityHint??(0,_FieldBase.fieldTextAsString)(l),accessibilityState:{checked:o?"mixed":w,disabled:a},"aria-checked":o?"mixed":w,"aria-disabled":a,testID:j,hitSlop:6,...v,style:({pressed:e})=>[S.row,(0,_ChoiceText.hasChoiceDetail)(l,c)?S.rowTop:null,(0,_FieldBase.hasFieldText)(d)?S.rowShrink:null,{opacity:a?.55:e?.85:1},y,b],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.box,{width:R,height:R,borderWidth:T,borderRadius:k.radius.xs,..._corners.smoothCorners,borderColor:P,backgroundColor:D},f],children:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[S.glyphWrap,{opacity:F,transform:[{scale:B}]}],children:o?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[{width:I,height:A,borderRadius:A/2,..._corners.smoothCorners,backgroundColor:O},m]}):(0,_jsxRuntime.jsx)(_reactNativeSvg.default,{width:V,height:V,viewBox:"0 0 24 24",children:(0,_jsxRuntime.jsx)(_reactNativeSvg.Path,{d:"M5 12.5l4.5 4.5L19 7.5",stroke:O,strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})})})}),(0,_jsxRuntime.jsx)(_ChoiceText.ChoiceText,{label:n,description:l,error:c,disabled:a,labelLines:u||void 0,descriptionLines:u||void 0,style:{marginLeft:N},labelStyle:g})]});return(0,_FieldBase.hasFieldText)(d)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[S.helpRow,(0,_ChoiceText.hasChoiceDetail)(l,c)?S.rowTop:null],children:[z,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.help,{marginLeft:k.spacing.xs}],children:d})]}):z});Checkbox.displayName="Checkbox";const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center"},rowTop:{alignItems:"flex-start"},rowShrink:{flexShrink:1},helpRow:{flexDirection:"row",alignItems:"center"},help:{flexShrink:0},box:{alignItems:"center",justifyContent:"center"},glyphWrap:{alignItems:"center",justifyContent:"center"}});var _default=exports.default=Checkbox;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Composer=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useControllableState=require("../../hooks/useControllableState.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index2=require("../IconButton/index.js"),_jsxRuntime=require("react/jsx-runtime");const MIN_BOX=44,Composer=exports.Composer=(0,_react.forwardRef)(({onSend:e,value:t,onChangeText:a,placeholder:r="Message",accessibilityLabel:o,sendLabel:i="Send",busy:s=!1,disabled:l=!1,maxLength:n,maxLines:d=5,leading:c,trailing:u,above:b,below:p,keyboardAware:x=!0,keyboardOffset:g,safeArea:m=!0,autoFocus:_,haptic:h,style:v,testID:y},C)=>{const f=(0,_index.useTheme)(),S=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),j=(0,_react.useMemo)(()=>buildStyles(f),[f]),[N,k]=(0,_useControllableState.useControllableState)({value:t,defaultValue:"",onChange:a}),w=N.trim(),q=s||l||""===w,I=m?S.bottom:0,R=g??I,T=(0,_FieldBase.resolveFieldTextStyle)(f,{disabled:l}),B=f.typography.fontSize.base,D=Math.round(B*f.typography.lineHeight.normal),F=(44-D)/2,z=D*d+2*F,[H,L]=(0,_react.useState)(void 0),M=(0,_react.useCallback)(e=>{const t=e.nativeEvent.contentSize.height+2*F;L(Math.min(Math.max(t,44),z))},[F,z]),V=(0,_react.useCallback)(()=>{q||(k(""),e(w))},[q,k,e,w]),A=(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[j.bar,{paddingBottom:f.spacing.sm+I},v],testID:y,children:[b,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:j.row,children:[c,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[j.box,l?j.boxDisabled:null],children:(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:C,value:N,onChangeText:k,multiline:!0,maxLength:n,editable:!l,autoFocus:_,placeholder:r,placeholderTextColor:T.placeholderColor,selectionColor:f.colors.field.caret,accessibilityLabel:o??r,accessibilityState:{disabled:l},"aria-disabled":l,onContentSizeChange:"web"===_reactNative.Platform.OS?M:void 0,style:[j.input,{color:T.color,...T.weightStyle,fontSize:B,lineHeight:D,paddingVertical:F,maxHeight:z,height:"web"===_reactNative.Platform.OS?H:void 0}],testID:y?`${y}-input`:void 0})}),u,(0,_jsxRuntime.jsx)(_index2.IconButton,{icon:"send",accessibilityLabel:i,variant:"solid",tone:"primary",disabled:q,loading:s,haptic:h,onPress:V,testID:y?`${y}-send`:void 0})]}),p]});return x?(0,_jsxRuntime.jsx)(_reactNativeKeyboardController.KeyboardStickyView,{offset:{closed:0,opened:R},children:A}):A});Composer.displayName="Composer";const buildStyles=e=>_reactNative.StyleSheet.create({bar:{gap:e.spacing.xs,paddingHorizontal:e.spacing.md,paddingTop:e.spacing.sm,backgroundColor:e.colors.background.primary,borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:e.colors.border.secondary},row:{flexDirection:"row",alignItems:"flex-end",gap:e.spacing.sm},box:{flex:1,minHeight:44,justifyContent:"center",backgroundColor:e.colors.field.background,borderRadius:22,..._corners.smoothCorners,paddingHorizontal:e.spacing.md},boxDisabled:{backgroundColor:e.colors.field.backgroundDisabled},input:{margin:0,paddingHorizontal:0,includeFontPadding:!1,textAlignVertical:"top"}});var _default=exports.default=Composer;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _Composer.Composer}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _Composer.default}});var _Composer=_interopRequireWildcard(require("./Composer.js"));function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var n,u,i={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return i;if(n=r?o:t){if(n.has(e))return n.get(e);n.set(e,i)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((u=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(u.get||u.set)?n(i,r,u):i[r]=e[r]);return i})(e,r)}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.dayLabel=exports.DateSeparator=exports.DEFAULT_DATE_SEPARATOR_LABELS=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_DATE_SEPARATOR_LABELS=exports.DEFAULT_DATE_SEPARATOR_LABELS=Object.freeze({today:"Today",yesterday:"Yesterday"}),DAY_MS=864e5,dayLabel=(e,t={})=>{const r=(0,_mobileCore.formatDate)(e,{empty:""});if(!r)return"";const a={...DEFAULT_DATE_SEPARATOR_LABELS,...t.labels},o=t.now??new Date;return r===(0,_mobileCore.formatDate)(o)?a.today:r===(0,_mobileCore.formatDate)(new Date(o.getTime()-DAY_MS))?a.yesterday:r};exports.dayLabel=dayLabel;const DateSeparator=({date:e,label:t,emphasis:r=!1,labels:a,now:o,style:i,testID:s})=>{const l=(0,_index.useTheme)(),n=(0,_react.useMemo)(()=>buildStyles(l),[l]),c=t??(void 0===e?"":dayLabel(e,{now:o,labels:a})),d=r?l.colors.primary:l.colors.border.secondary;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[n.row,i],testID:s,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[n.rule,{backgroundColor:d}]}),(0,_jsxRuntime.jsx)(_index2.Text,{variant:"caption",weight:r?"semibold":"medium",color:r?l.colors.toneText.primary:"secondary",accessibilityRole:"header",children:c}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[n.rule,{backgroundColor:d}]})]})};exports.DateSeparator=DateSeparator;const buildStyles=e=>_reactNative.StyleSheet.create({row:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm,paddingVertical:e.spacing.sm},rule:{flex:1,height:_reactNative.StyleSheet.hairlineWidth}});var _default=exports.default=DateSeparator;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"DEFAULT_DATE_SEPARATOR_LABELS",{enumerable:!0,get:function(){return _DateSeparator.DEFAULT_DATE_SEPARATOR_LABELS}}),Object.defineProperty(exports,"DateSeparator",{enumerable:!0,get:function(){return _DateSeparator.DateSeparator}}),Object.defineProperty(exports,"dayLabel",{enumerable:!0,get:function(){return _DateSeparator.dayLabel}}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return _DateSeparator.default}});var _DateSeparator=_interopRequireWildcard(require("./DateSeparator.js"));function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,r){if(!r&&e&&e.__esModule)return e;var n,o,u={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return u;if(n=r?a:t){if(n.has(e))return n.get(e);n.set(e,u)}for(const r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((o=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,r))&&(o.get||o.set)?n(u,r,o):u[r]=e[r]);return u})(e,r)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasChoiceDetail=exports.ChoiceText=void 0;var _reactNative=require("react-native"),_index=require("../../theme/index.js"),_FieldBase=require("./FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const hasChoiceDetail=(e,i)=>(0,_FieldBase.hasFieldText)(e)||(0,_FieldBase.hasFieldText)(i);exports.hasChoiceDetail=hasChoiceDetail;const ChoiceText=({label:e,description:i,error:s,disabled:t=!1,labelLines:l,descriptionLines:r,style:o,labelStyle:a})=>{const n=(0,_index.useTheme)();if(!(0,_FieldBase.hasFieldText)(e)&&!(0,_FieldBase.hasFieldText)(i)&&!(0,_FieldBase.hasFieldText)(s))return null;const c=n.typography.fontSize.sm;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.column,o],children:[(0,_FieldBase.hasFieldText)(e)?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[{color:t?n.colors.text.disabled:n.colors.text.primary,fontSize:n.typography.fontSize.base,...(0,_index.fontFor)(n,"normal")},a],numberOfLines:l,children:e}):null,(0,_FieldBase.hasFieldText)(i)?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:t?n.colors.text.disabled:n.colors.text.secondary,fontSize:c,marginTop:n.spacing.xs/2,...(0,_index.fontFor)(n,"normal")},numberOfLines:r,children:i}):null,(0,_FieldBase.hasFieldText)(s)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.errorRow,{marginTop:n.spacing.xs,columnGap:n.spacing.xs}],accessibilityLiveRegion:"polite",children:[(0,_jsxRuntime.jsx)(_FieldBase.FieldErrorGlyph,{size:c,color:n.colors.field.message}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{flexShrink:1,color:n.colors.field.message,fontSize:c,...(0,_index.fontFor)(n,"normal")},children:s})]}):null]})};exports.ChoiceText=ChoiceText;const styles=_reactNative.StyleSheet.create({column:{flexShrink:1},errorRow:{flexDirection:"row",alignItems:"center"}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasChoiceDetail=exports.ChoiceText=void 0;var _reactNative=require("react-native"),_index=require("../../theme/index.js"),_Notation=require("../Notation/Notation.js"),_FieldBase=require("./FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const hasChoiceDetail=(e,t)=>(0,_FieldBase.hasFieldText)(e)||(0,_FieldBase.hasFieldText)(t);exports.hasChoiceDetail=hasChoiceDetail;const ChoiceText=({label:e,description:t,error:i,disabled:o=!1,labelLines:s,descriptionLines:n,style:a,labelStyle:l})=>{const r=(0,_index.useTheme)(),x=o?r.colors.text.disabled:r.colors.text.primary,c=o?r.colors.text.disabled:r.colors.text.secondary,d=r.typography.fontSize.sm,_=(0,_Notation.useNotationInk)(l,r.typography.fontSize.base,x),h=(0,_Notation.useNotationInk)(void 0,d,c),u=(0,_Notation.useNotationInk)(void 0,d,r.colors.field.message);return(0,_FieldBase.hasFieldText)(e)||(0,_FieldBase.hasFieldText)(t)||(0,_FieldBase.hasFieldText)(i)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.column,a],children:[(0,_FieldBase.hasFieldText)(e)?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[{color:x,fontSize:r.typography.fontSize.base,...(0,_index.fontFor)(r,"normal")},l],numberOfLines:s,children:(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:_,children:e})}):null,(0,_FieldBase.hasFieldText)(t)?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:c,fontSize:d,marginTop:r.spacing.xs/2,...(0,_index.fontFor)(r,"normal")},numberOfLines:n,children:(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:h,children:t})}):null,(0,_FieldBase.hasFieldText)(i)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.errorRow,{marginTop:r.spacing.xs,columnGap:r.spacing.xs}],accessibilityLiveRegion:"polite",children:[(0,_jsxRuntime.jsx)(_FieldBase.FieldErrorGlyph,{size:d,color:r.colors.field.message}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{flexShrink:1,color:r.colors.field.message,fontSize:d,...(0,_index.fontFor)(r,"normal")},children:(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:u,children:i})})]}):null]}):null};exports.ChoiceText=ChoiceText;const styles=_reactNative.StyleSheet.create({column:{flexShrink:1},errorRow:{flexDirection:"row",alignItems:"center"}});
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveVariantColors=exports.resolveFieldTextStyle=exports.resolveFieldSize=exports.pickRepresentativeBorderColor=exports.hasFieldText=exports.fieldTextAsString=exports.default=exports.RequiredPlaceholder=exports.RequiredMark=exports.FieldMessage=exports.FieldLabel=exports.FieldErrorGlyph=exports.FieldBase=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_ariaState=require("../../utils/ariaState.js"),_corners=require("../../utils/corners.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_Notation=require("../Notation/Notation.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("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},pickRepresentativeBorderColor=e=>{for(const t of["bottom","top","left","right"]){const r=e[t];if(r&&"transparent"!==r)return r}return e.bottom};exports.pickRepresentativeBorderColor=pickRepresentativeBorderColor;const resolveFieldTextStyle=(e,t={})=>{const{disabled:r=!1}=t,o=e.components.field,i=e.colors.field;return{color:r?o?.disabledTextColor??i.textDisabled:o?.textColor??i.text,placeholderColor:o?.placeholderColor??(r?i.placeholderDisabled:i.placeholder),weightStyle:o?.fontWeight?{fontWeight:o.fontWeight}:(0,_index.fontFor)(e,"normal")}};exports.resolveFieldTextStyle=resolveFieldTextStyle;const RequiredMark=()=>{const e=(0,_index.useTheme)(),t=e.components.field;return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:t?.requiredMarkerColor??e.colors.toneText.error},children:` ${t?.requiredMarker??"*"}`})};exports.RequiredMark=RequiredMark;const RequiredPlaceholder=({text:e,color:t,fontSize:r,weightStyle:o,align:i="center",paddingTop:l,textAlign:a})=>(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[_reactNative.StyleSheet.absoluteFill,{justifyContent:"top"===i?"flex-start":"center",paddingTop:l}],children:(0,_jsxRuntime.jsxs)(_reactNative.Text,{accessible:!1,numberOfLines:1,style:{color:t,fontSize:r,...o,includeFontPadding:!1,textAlign:a},children:[e,(0,_jsxRuntime.jsx)(RequiredMark,{})]})});exports.RequiredPlaceholder=RequiredPlaceholder;const FieldErrorGlyph=({size:e,color:t})=>{const r=(0,_index.useTheme)(),o=r.icons?.error??_defaultIcons.defaultIcons.error;return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:o({size:e,color:t})})};exports.FieldErrorGlyph=FieldErrorGlyph;const hasFieldText=e=>null!=e&&!1!==e&&!0!==e&&""!==e;exports.hasFieldText=hasFieldText;const fieldTextAsString=e=>"string"==typeof e?e:void 0;exports.fieldTextAsString=fieldTextAsString;const FieldLabel=({children:e,size:t="md",required:r=!1,help:o,color:i,style:l})=>{const a=(0,_index.useTheme)(),s=resolveFieldSize(a,t),n=hasFieldText(o),d=_reactNative.StyleSheet.flatten(l),c=d?.fontSize??s.labelFontSize,u=d?.color??i??a.colors.field.label,b=(0,_react.useMemo)(()=>({fontSize:c,color:u}),[c,u]),p=(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:[familyStyles.label,{color:i??a.colors.field.label,fontSize:s.labelFontSize,...(0,_index.fontFor)(a,"semibold"),marginBottom:n?0:s.labelGap},n?familyStyles.labelShrink:null,l],children:[(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:b,children:e}),r?(0,_jsxRuntime.jsx)(RequiredMark,{}):null]});return n?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[familyStyles.labelRow,{marginBottom:s.labelGap}],children:[p,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[familyStyles.help,{marginLeft:a.spacing.xs}],children:o})]}):p};exports.FieldLabel=FieldLabel;const FieldMessage=({text:e,error:t=!1,size:r="md",style:o})=>{const i=(0,_index.useTheme)(),l=resolveFieldSize(i,r);if(!hasFieldText(e))return null;const a=t?i.colors.field.message:i.colors.text.secondary;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[familyStyles.messageRow,{marginTop:l.messageGap,columnGap:i.spacing.xs+2}],accessibilityLiveRegion:t?"polite":"none",children:[t?(0,_jsxRuntime.jsx)(FieldErrorGlyph,{size:l.messageFontSize,color:a}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[familyStyles.messageText,{color:a,fontSize:l.messageFontSize,...(0,_index.fontFor)(i,"normal")},o],children:e})]})};exports.FieldMessage=FieldMessage;const familyStyles=_reactNative.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}}),resolveFieldSize=(e,t)=>{const r=e.components.field?.[t],o=DEFAULT_SIZES[t];return{paddingHorizontal:r?.paddingHorizontal??o.paddingHorizontal,paddingVertical:r?.paddingVertical??o.paddingVertical,minHeight:r?.minHeight??o.minHeight,fontSize:r?.fontSize??o.fontSize,borderRadius:r?.borderRadius??o.borderRadius,iconSize:r?.iconSize??o.iconSize,labelFontSize:r?.labelFontSize??o.labelFontSize,labelGap:r?.labelGap??o.labelGap,messageFontSize:r?.messageFontSize??o.messageFontSize,messageGap:r?.messageGap??o.messageGap}};exports.resolveFieldSize=resolveFieldSize;const DEFAULT_SIZES={sm:{paddingHorizontal:12,paddingVertical:10,minHeight:38,fontSize:13,borderRadius:10,iconSize:14,labelFontSize:11,labelGap:4,messageFontSize:11,messageGap:2},md:{paddingHorizontal:14,paddingVertical:13,minHeight:44,fontSize:14,borderRadius:10,iconSize:16,labelFontSize:12,labelGap:4,messageFontSize:12,messageGap:2},lg:{paddingHorizontal:16,paddingVertical:15,minHeight:52,fontSize:16,borderRadius:10,iconSize:18,labelFontSize:13,labelGap:4,messageFontSize:13,messageGap:2}},resolveVariantColors=(e,t,r)=>{const o=e.components.field?.[t],i=e.colors.field;let l,a,s,n,d;"outlined"===t?(l=i.background,a=i.backgroundFocused,s=i.backgroundDisabled,n=i.border,d=e.colors.border.width):"underline"===t?(l="transparent",a=void 0,s="transparent",n={bottom:i.border},d={bottom:e.colors.border.width}):(l=i.background,a=void 0,s=i.backgroundDisabled,n="transparent",d=0);const wrapToIdleShape=e=>"string"==typeof n?e:{bottom:e},c=expandColorSides(r?.borderIdle??o?.borderIdle??n),u=expandColorSides(r?.borderFocused??o?.borderFocused??wrapToIdleShape(i.borderFocused)),b=expandColorSides(r?.borderError??o?.borderError??wrapToIdleShape(i.borderError)),p=expandColorSides(r?.borderDisabled??o?.borderDisabled??n),g=expandWidthSides(r?.borderWidth??o?.borderWidth??d);return{backgroundIdleEmpty:r?.backgroundIdleEmpty??o?.backgroundIdleEmpty??l,backgroundIdleFilled:r?.backgroundIdleFilled??o?.backgroundIdleFilled??r?.backgroundIdleEmpty??o?.backgroundIdleEmpty??l,backgroundFocused:r?.backgroundFocused??o?.backgroundFocused??a,backgroundError:r?.backgroundError??o?.backgroundError??void 0,backgroundDisabled:r?.backgroundDisabled??o?.backgroundDisabled??s,borderIdle:c,borderFocused:u,borderError:b,borderDisabled:p,borderWidth:g,borderFocusedRepresentative:pickRepresentativeBorderColor(u)}};exports.resolveVariantColors=resolveVariantColors;const FieldBase=e=>{const{size:t="md",variant:r,focused:o=!1,disabled:i=!1,error:l=!1,filled:a=!1,leading:s,leadingDivider:n=!1,trailing:d,slotAlign:c="center",slotLineHeight:u,topNotch:b,children:p,onPress:g,pressFeedback:m=!0,minHeight:x,maxHeight:h,width:f,height:S,paddingHorizontal:F,paddingLeft:_,paddingRight:R,paddingVertical:y,borderRadius:v,borderTopLeftRadius:z,borderTopRightRadius:j,borderBottomLeftRadius:k,borderBottomRightRadius:C,borderWidth:T,borderTopWidth:I,borderRightWidth:N,borderBottomWidth:w,borderLeftWidth:q,gap:E,fillOverrides:V,style:L,testID:H,accessibilityRole:D,accessibilityLabel:B,accessibilityState:G,accessibilityHint:W}=e,M=(0,_index.useTheme)(),A=(0,_react.useMemo)(()=>buildStyles(),[]),P=r??M.components.field?.defaultVariant??"outlined",O=resolveFieldSize(M,t),U=(0,_react.useMemo)(()=>resolveVariantColors(M,P,V),[M,P,V]),Z=l?2:o?1:0,$=(0,_react.useRef)((0,_index.createAnimatedValue)(Z)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.timing($,{toValue:Z,duration:M.motion.duration.fast,easing:_reactNative.Easing.bezier(...M.motion.easing.standard),useNativeDriver:!1});return e.start(),()=>e.stop()},[Z,$,M.motion.duration.fast,M.motion.easing.standard]);const J=[0,1,2],K=a?U.backgroundIdleFilled:U.backgroundIdleEmpty,Q=U.backgroundFocused??K,X=U.backgroundError??K,Y=i?U.backgroundDisabled:$.interpolate({inputRange:J,outputRange:[K,Q,X]}),ee=U.borderIdle,te=U.borderFocused,re=U.borderError,oe={top:I,right:N,bottom:w,left:q},ie={top:oe.top??T??U.borderWidth.top,right:oe.right??T??U.borderWidth.right,bottom:oe.bottom??T??U.borderWidth.bottom,left:oe.left??T??U.borderWidth.left},le={minHeight:S??x??O.minHeight,maxHeight:h,paddingHorizontal:F??O.paddingHorizontal,paddingVertical:y??O.paddingVertical,paddingLeft:_??F??O.paddingHorizontal,paddingRight:R??F??O.paddingHorizontal,backgroundColor:Y,columnGap:E??M.spacing.md,alignItems:"top"===c?"flex-start":"center"},ae="underline"===P,se=ae?0:v??O.borderRadius,ne=ae?{tl:0,tr:0,bl:0,br:0}:{tl:z??se,tr:j??se,bl:k??se,br:C??se};le.borderTopLeftRadius=ne.tl,le.borderTopRightRadius=ne.tr,le.borderBottomLeftRadius=ne.bl,le.borderBottomRightRadius=ne.br,le.borderCurve=_corners.smoothCorners.borderCurve,le.borderTopWidth=ie.top,le.borderRightWidth=ie.right,le.borderBottomWidth=ie.bottom,le.borderLeftWidth=ie.left;const sideColor=e=>$.interpolate({inputRange:J,outputRange:[ee[e],te[e],re[e]]}),sameOnEverySide=e=>e.top===e.right&&e.top===e.bottom&&e.top===e.left,de=!ae&&ne.tl===ne.tr&&ne.tl===ne.bl&&ne.tl===ne.br&&sameOnEverySide(ie)&&sameOnEverySide(ee)&&sameOnEverySide(te)&&sameOnEverySide(re)&&sameOnEverySide(U.borderDisabled),ce=(0,_SquircleFill.useSquircle)(de,ne.tl);if(ce.active)le.backgroundColor="transparent",le.borderTopColor="transparent",le.borderRightColor="transparent",le.borderBottomColor="transparent",le.borderLeftColor="transparent";else if(i){const e=U.borderDisabled;le.borderTopColor=e.top,le.borderRightColor=e.right,le.borderBottomColor=e.bottom,le.borderLeftColor=e.left}else le.borderTopColor=sideColor("top"),le.borderRightColor=sideColor("right"),le.borderBottomColor=sideColor("bottom"),le.borderLeftColor=sideColor("left");const ue=i?U.borderDisabled.top:sideColor("top"),be=(0,_react.useRef)(Z);be.current=Z,(0,_react.useEffect)(()=>{$.setValue(be.current)},[U,$]),void 0!==f&&(le.width=f),void 0!==S&&(le.height=S);const pe={disabled:i,...G},ge="top"===c,me=ge?{alignSelf:"flex-start",marginTop:Math.max(0,((u??O.iconSize)-O.iconSize)/2)}:null,xe=S??x??O.minHeight,he=(()=>{if(!b)return 0;const e=Math.min(ne.tl,xe/2),t=b.left;return e<=0||t>=e?0:Math.ceil(e-Math.sqrt(e*e-(e-t)*(e-t)))})(),fe=b&&ie.top>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:{position:"absolute",top:-ie.top,left:b.left-ie.left,width:b.width,height:ie.top+he,backgroundColor:Y}}):null,renderInner=e=>(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[ce.active&&ce.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:ce.size.width,height:ce.size.height,radius:ne.tl,fill:e&&!i?M.colors.surface.pressed:Y,stroke:ue,strokeWidth:ie.top,outset:ie.top}):null,fe,null!=s?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.slot,me],children:s}):null,null!=s&&n?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[A.divider,me,{height:O.iconSize,backgroundColor:M.colors.field.border}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.content,ge?A.contentTop:null],children:p}),null!=d?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.slot,me],children:d}):null]}),Se=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{onLayout:ce.onLayout,style:[A.box,le,L],accessibilityRole:D,accessibilityLabel:B,accessibilityHint:W,accessibilityState:pe,...(0,_ariaState.ariaFromState)(pe),testID:H,children:renderInner(!1)});return g&&!m?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:g,disabled:i,accessible:!1,children:Se}):g?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:g,disabled:i,accessibilityRole:D??"button",accessibilityLabel:B,accessibilityHint:W,accessibilityState:pe,...(0,_ariaState.ariaFromState)(pe),testID:H,children:({pressed:e})=>(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{onLayout:ce.onLayout,style:[A.box,le,!e||i||ce.active?null:{backgroundColor:M.colors.surface.pressed},L],children:renderInner(e)})}):Se};exports.FieldBase=FieldBase,FieldBase.displayName="FieldBase";const buildStyles=()=>_reactNative.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"}});var _default=exports.default=FieldBase;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveVariantColors=exports.resolveFieldTextStyle=exports.resolveFieldSize=exports.pickRepresentativeBorderColor=exports.hasFieldText=exports.fieldTextAsString=exports.default=exports.RequiredPlaceholder=exports.RequiredMark=exports.FieldMessage=exports.FieldLabel=exports.FieldErrorGlyph=exports.FieldBase=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_ariaState=require("../../utils/ariaState.js"),_corners=require("../../utils/corners.js"),_defaultIcons=require("../AppIcon/defaultIcons.js"),_Notation=require("../Notation/Notation.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_jsxRuntime=require("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},pickRepresentativeBorderColor=e=>{for(const t of["bottom","top","left","right"]){const r=e[t];if(r&&"transparent"!==r)return r}return e.bottom};exports.pickRepresentativeBorderColor=pickRepresentativeBorderColor;const resolveFieldTextStyle=(e,t={})=>{const{disabled:r=!1}=t,o=e.components.field,i=e.colors.field;return{color:r?o?.disabledTextColor??i.textDisabled:o?.textColor??i.text,placeholderColor:o?.placeholderColor??(r?i.placeholderDisabled:i.placeholder),weightStyle:o?.fontWeight?{fontWeight:o.fontWeight}:(0,_index.fontFor)(e,"normal")}};exports.resolveFieldTextStyle=resolveFieldTextStyle;const RequiredMark=()=>{const e=(0,_index.useTheme)(),t=e.components.field;return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:{color:t?.requiredMarkerColor??e.colors.toneText.error},children:` ${t?.requiredMarker??"*"}`})};exports.RequiredMark=RequiredMark;const RequiredPlaceholder=({text:e,color:t,fontSize:r,weightStyle:o,align:i="center",paddingTop:l,textAlign:a})=>(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[_reactNative.StyleSheet.absoluteFill,{justifyContent:"top"===i?"flex-start":"center",paddingTop:l}],children:(0,_jsxRuntime.jsxs)(_reactNative.Text,{accessible:!1,numberOfLines:1,style:{color:t,fontSize:r,...o,includeFontPadding:!1,textAlign:a},children:[e,(0,_jsxRuntime.jsx)(RequiredMark,{})]})});exports.RequiredPlaceholder=RequiredPlaceholder;const FieldErrorGlyph=({size:e,color:t})=>{const r=(0,_index.useTheme)(),o=r.icons?.error??_defaultIcons.defaultIcons.error;return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:o({size:e,color:t})})};exports.FieldErrorGlyph=FieldErrorGlyph;const hasFieldText=e=>null!=e&&!1!==e&&!0!==e&&""!==e;exports.hasFieldText=hasFieldText;const fieldTextAsString=e=>"string"==typeof e?e:void 0;exports.fieldTextAsString=fieldTextAsString;const FieldLabel=({children:e,size:t="md",required:r=!1,help:o,color:i,style:l})=>{const a=(0,_index.useTheme)(),n=resolveFieldSize(a,t),s=hasFieldText(o),d=(0,_Notation.useNotationInk)(l,n.labelFontSize,i??a.colors.field.label),c=(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:[familyStyles.label,{color:i??a.colors.field.label,fontSize:n.labelFontSize,...(0,_index.fontFor)(a,"semibold"),marginBottom:s?0:n.labelGap},s?familyStyles.labelShrink:null,l],children:[(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:d,children:e}),r?(0,_jsxRuntime.jsx)(RequiredMark,{}):null]});return s?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[familyStyles.labelRow,{marginBottom:n.labelGap}],children:[c,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[familyStyles.help,{marginLeft:a.spacing.xs}],children:o})]}):c};exports.FieldLabel=FieldLabel;const FieldMessage=({text:e,error:t=!1,size:r="md",style:o})=>{const i=(0,_index.useTheme)(),l=resolveFieldSize(i,r),a=t?i.colors.field.message:i.colors.text.secondary,n=(0,_Notation.useNotationInk)(o,l.messageFontSize,a);return hasFieldText(e)?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[familyStyles.messageRow,{marginTop:l.messageGap,columnGap:i.spacing.xs+2}],accessibilityLiveRegion:t?"polite":"none",children:[t?(0,_jsxRuntime.jsx)(FieldErrorGlyph,{size:l.messageFontSize,color:a}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[familyStyles.messageText,{color:a,fontSize:l.messageFontSize,...(0,_index.fontFor)(i,"normal")},o],children:(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:n,children:e})})]}):null};exports.FieldMessage=FieldMessage;const familyStyles=_reactNative.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}}),resolveFieldSize=(e,t)=>{const r=e.components.field?.[t],o=DEFAULT_SIZES[t];return{paddingHorizontal:r?.paddingHorizontal??o.paddingHorizontal,paddingVertical:r?.paddingVertical??o.paddingVertical,minHeight:r?.minHeight??o.minHeight,fontSize:r?.fontSize??o.fontSize,borderRadius:r?.borderRadius??o.borderRadius,iconSize:r?.iconSize??o.iconSize,labelFontSize:r?.labelFontSize??o.labelFontSize,labelGap:r?.labelGap??o.labelGap,messageFontSize:r?.messageFontSize??o.messageFontSize,messageGap:r?.messageGap??o.messageGap}};exports.resolveFieldSize=resolveFieldSize;const DEFAULT_SIZES={sm:{paddingHorizontal:12,paddingVertical:10,minHeight:38,fontSize:13,borderRadius:10,iconSize:14,labelFontSize:11,labelGap:4,messageFontSize:11,messageGap:2},md:{paddingHorizontal:14,paddingVertical:13,minHeight:44,fontSize:14,borderRadius:10,iconSize:16,labelFontSize:12,labelGap:4,messageFontSize:12,messageGap:2},lg:{paddingHorizontal:16,paddingVertical:15,minHeight:52,fontSize:16,borderRadius:10,iconSize:18,labelFontSize:13,labelGap:4,messageFontSize:13,messageGap:2}},resolveVariantColors=(e,t,r)=>{const o=e.components.field?.[t],i=e.colors.field;let l,a,n,s,d;"outlined"===t?(l=i.background,a=i.backgroundFocused,n=i.backgroundDisabled,s=i.border,d=e.colors.border.width):"underline"===t?(l="transparent",a=void 0,n="transparent",s={bottom:i.border},d={bottom:e.colors.border.width}):(l=i.background,a=void 0,n=i.backgroundDisabled,s="transparent",d=0);const wrapToIdleShape=e=>"string"==typeof s?e:{bottom:e},c=expandColorSides(r?.borderIdle??o?.borderIdle??s),u=expandColorSides(r?.borderFocused??o?.borderFocused??wrapToIdleShape(i.borderFocused)),b=expandColorSides(r?.borderError??o?.borderError??wrapToIdleShape(i.borderError)),p=expandColorSides(r?.borderDisabled??o?.borderDisabled??s),g=expandWidthSides(r?.borderWidth??o?.borderWidth??d);return{backgroundIdleEmpty:r?.backgroundIdleEmpty??o?.backgroundIdleEmpty??l,backgroundIdleFilled:r?.backgroundIdleFilled??o?.backgroundIdleFilled??r?.backgroundIdleEmpty??o?.backgroundIdleEmpty??l,backgroundFocused:r?.backgroundFocused??o?.backgroundFocused??a,backgroundError:r?.backgroundError??o?.backgroundError??void 0,backgroundDisabled:r?.backgroundDisabled??o?.backgroundDisabled??n,borderIdle:c,borderFocused:u,borderError:b,borderDisabled:p,borderWidth:g,borderFocusedRepresentative:pickRepresentativeBorderColor(u)}};exports.resolveVariantColors=resolveVariantColors;const FieldBase=e=>{const{size:t="md",variant:r,focused:o=!1,disabled:i=!1,error:l=!1,filled:a=!1,leading:n,leadingDivider:s=!1,trailing:d,slotAlign:c="center",slotLineHeight:u,topNotch:b,children:p,onPress:g,pressFeedback:m=!0,minHeight:x,maxHeight:h,width:f,height:S,paddingHorizontal:F,paddingLeft:_,paddingRight:R,paddingVertical:y,borderRadius:v,borderTopLeftRadius:j,borderTopRightRadius:z,borderBottomLeftRadius:k,borderBottomRightRadius:C,borderWidth:T,borderTopWidth:N,borderRightWidth:I,borderBottomWidth:w,borderLeftWidth:q,gap:E,fillOverrides:V,style:L,testID:H,accessibilityRole:D,accessibilityLabel:B,accessibilityState:G,accessibilityHint:W}=e,M=(0,_index.useTheme)(),A=(0,_react.useMemo)(()=>buildStyles(),[]),P=r??M.components.field?.defaultVariant??"outlined",O=resolveFieldSize(M,t),U=(0,_react.useMemo)(()=>resolveVariantColors(M,P,V),[M,P,V]),Z=l?2:o?1:0,$=(0,_react.useRef)((0,_index.createAnimatedValue)(Z)).current;(0,_react.useEffect)(()=>{const e=_reactNative.Animated.timing($,{toValue:Z,duration:M.motion.duration.fast,easing:_reactNative.Easing.bezier(...M.motion.easing.standard),useNativeDriver:!1});return e.start(),()=>e.stop()},[Z,$,M.motion.duration.fast,M.motion.easing.standard]);const J=[0,1,2],K=a?U.backgroundIdleFilled:U.backgroundIdleEmpty,Q=U.backgroundFocused??K,X=U.backgroundError??K,Y=i?U.backgroundDisabled:$.interpolate({inputRange:J,outputRange:[K,Q,X]}),ee=U.borderIdle,te=U.borderFocused,re=U.borderError,oe={top:N,right:I,bottom:w,left:q},ie={top:oe.top??T??U.borderWidth.top,right:oe.right??T??U.borderWidth.right,bottom:oe.bottom??T??U.borderWidth.bottom,left:oe.left??T??U.borderWidth.left},le={minHeight:S??x??O.minHeight,maxHeight:h,paddingHorizontal:F??O.paddingHorizontal,paddingVertical:y??O.paddingVertical,paddingLeft:_??F??O.paddingHorizontal,paddingRight:R??F??O.paddingHorizontal,backgroundColor:Y,columnGap:E??M.spacing.md,alignItems:"top"===c?"flex-start":"center"},ae="underline"===P,ne=ae?0:v??O.borderRadius,se=ae?{tl:0,tr:0,bl:0,br:0}:{tl:j??ne,tr:z??ne,bl:k??ne,br:C??ne};le.borderTopLeftRadius=se.tl,le.borderTopRightRadius=se.tr,le.borderBottomLeftRadius=se.bl,le.borderBottomRightRadius=se.br,le.borderCurve=_corners.smoothCorners.borderCurve,le.borderTopWidth=ie.top,le.borderRightWidth=ie.right,le.borderBottomWidth=ie.bottom,le.borderLeftWidth=ie.left;const sideColor=e=>$.interpolate({inputRange:J,outputRange:[ee[e],te[e],re[e]]}),sameOnEverySide=e=>e.top===e.right&&e.top===e.bottom&&e.top===e.left,de=!ae&&se.tl===se.tr&&se.tl===se.bl&&se.tl===se.br&&sameOnEverySide(ie)&&sameOnEverySide(ee)&&sameOnEverySide(te)&&sameOnEverySide(re)&&sameOnEverySide(U.borderDisabled),ce=(0,_SquircleFill.useSquircle)(de,se.tl);if(ce.active)le.backgroundColor="transparent",le.borderTopColor="transparent",le.borderRightColor="transparent",le.borderBottomColor="transparent",le.borderLeftColor="transparent";else if(i){const e=U.borderDisabled;le.borderTopColor=e.top,le.borderRightColor=e.right,le.borderBottomColor=e.bottom,le.borderLeftColor=e.left}else le.borderTopColor=sideColor("top"),le.borderRightColor=sideColor("right"),le.borderBottomColor=sideColor("bottom"),le.borderLeftColor=sideColor("left");const ue=i?U.borderDisabled.top:sideColor("top"),be=(0,_react.useRef)(Z);be.current=Z,(0,_react.useEffect)(()=>{$.setValue(be.current)},[U,$]),void 0!==f&&(le.width=f),void 0!==S&&(le.height=S);const pe={disabled:i,...G},ge="top"===c,me=ge?{alignSelf:"flex-start",marginTop:Math.max(0,((u??O.iconSize)-O.iconSize)/2)}:null,xe=S??x??O.minHeight,he=(()=>{if(!b)return 0;const e=Math.min(se.tl,xe/2),t=b.left;return e<=0||t>=e?0:Math.ceil(e-Math.sqrt(e*e-(e-t)*(e-t)))})(),fe=b&&ie.top>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:{position:"absolute",top:-ie.top,left:b.left-ie.left,width:b.width,height:ie.top+he,backgroundColor:Y}}):null,renderInner=e=>(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[ce.active&&ce.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:ce.size.width,height:ce.size.height,radius:se.tl,fill:e&&!i?M.colors.surface.pressed:Y,stroke:ue,strokeWidth:ie.top,outset:ie.top}):null,fe,null!=n?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.slot,me],children:n}):null,null!=n&&s?(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[A.divider,me,{height:O.iconSize,backgroundColor:M.colors.field.border}]}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.content,ge?A.contentTop:null],children:p}),null!=d?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[A.slot,me],children:d}):null]}),Se=(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{onLayout:ce.onLayout,style:[A.box,le,L],accessibilityRole:D,accessibilityLabel:B,accessibilityHint:W,accessibilityState:pe,...(0,_ariaState.ariaFromState)(pe),testID:H,children:renderInner(!1)});return g&&!m?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:g,disabled:i,accessible:!1,children:Se}):g?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:g,disabled:i,accessibilityRole:D??"button",accessibilityLabel:B,accessibilityHint:W,accessibilityState:pe,...(0,_ariaState.ariaFromState)(pe),testID:H,children:({pressed:e})=>(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{onLayout:ce.onLayout,style:[A.box,le,!e||i||ce.active?null:{backgroundColor:M.colors.surface.pressed},L],children:renderInner(e)})}):Se};exports.FieldBase=FieldBase,FieldBase.displayName="FieldBase";const buildStyles=()=>_reactNative.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"}});var _default=exports.default=FieldBase;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useFloatingLabel=exports.FLOATED_LABEL_SCALE=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_FieldBase=require("./FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const FLOATED_LABEL_SCALE=exports.FLOATED_LABEL_SCALE=.85,FLOATED_LABEL_LIFT=1,NOTCH_GAP=4,useFloatingLabel=({label:e,enabled:t,floated:i,required:n=!1,variant:a,sizeTokens:r,leadingOffset:o,trailingOffset:s=0,textAlign:l="left",paddingLeft:u,lineHeight:d,restNudge:c=0,floatTrim:g=0,color:_,style:h})=>{const L=(0,_index.useTheme)(),f=(0,_react.useRef)((0,_index.createAnimatedValue)(i?1:0)).current,p=(0,_react.useRef)((0,_index.createAnimatedValue)(i?1:0)).current,m="outlined"===a,[x,A]=(0,_react.useState)(null);return(0,_react.useEffect)(()=>{const e=i?1:0,timing=(t,i)=>_reactNative.Animated.timing(t,{toValue:e,duration:L.motion.duration.fast,easing:_reactNative.Easing.bezier(...L.motion.easing.standard),useNativeDriver:i});m||p.setValue(e);const t=m?_reactNative.Animated.parallel([timing(f,!0),timing(p,!1)]):timing(f,!0);return t.start(),()=>t.stop()},[i,m,f,p,L.motion.duration.fast,L.motion.easing.standard]),(0,_react.useMemo)(()=>{if(!t||!(0,_FieldBase.hasFieldText)(e))return{node:null,topNotch:void 0};const i=d??x?.height??r.fontSize,a=null!=d?r.paddingVertical+c:Math.max(0,(r.minHeight-i)/2),E=-(a+i/2+1-g),v=f.interpolate({inputRange:[0,1],outputRange:[0,E]}),F=f.interpolate({inputRange:[0,1],outputRange:[1,FLOATED_LABEL_SCALE]}),R=-o,O=f.interpolate({inputRange:[0,1],outputRange:[0,R]}),T="right"===l?{right:r.paddingHorizontal+s,transformOrigin:"right center"}:"center"===l?{alignSelf:"center",transformOrigin:"center"}:{left:u+o,transformOrigin:"left center"},S=x?x.width*FLOATED_LABEL_SCALE:0,b=x?"right"===l?x.width-S:"center"===l?(x.width-S)/2:0:0,N=m&&x?{left:x.x+R+b-4,width:p.interpolate({inputRange:[0,1],outputRange:[0,S+8]})}:void 0;return{node:(0,_jsxRuntime.jsxs)(_reactNative.Animated.Text,{pointerEvents:"none",onLayout:e=>{const{x:t,width:i,height:n}=e.nativeEvent.layout;A(e=>e&&e.x===t&&e.width===i&&e.height===n?e:{x:t,width:i,height:n})},style:[styles.label,T,{top:a,color:_,fontSize:r.fontSize,lineHeight:d,...(0,_index.fontFor)(L,"medium"),transform:[{translateX:O},{translateY:v},{scale:F}]},h],children:[e,n?(0,_jsxRuntime.jsx)(_FieldBase.RequiredMark,{}):null]}),topNotch:N}},[t,e,n,m,r,o,s,l,u,d,c,g,_,h,f,p,x,L])};exports.useFloatingLabel=useFloatingLabel;const styles=_reactNative.StyleSheet.create({label:{position:"absolute",zIndex:1}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useFloatingLabel=exports.FLOATED_LABEL_SCALE=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_Notation=require("../Notation/Notation.js"),_FieldBase=require("./FieldBase.js"),_jsxRuntime=require("react/jsx-runtime");const FLOATED_LABEL_SCALE=exports.FLOATED_LABEL_SCALE=.85,FLOATED_LABEL_LIFT=1,NOTCH_GAP=4,useFloatingLabel=({label:e,enabled:t,floated:i,required:n=!1,variant:a,sizeTokens:r,leadingOffset:o,trailingOffset:l=0,textAlign:s="left",paddingLeft:u,lineHeight:d,restNudge:c=0,floatTrim:_=0,color:g,style:f})=>{const h=(0,_index.useTheme)(),L=(0,_react.useRef)((0,_index.createAnimatedValue)(i?1:0)).current,x=(0,_react.useRef)((0,_index.createAnimatedValue)(i?1:0)).current,p="outlined"===a,[m,A]=(0,_react.useState)(null);return(0,_react.useEffect)(()=>{const e=i?1:0,timing=(t,i)=>_reactNative.Animated.timing(t,{toValue:e,duration:h.motion.duration.fast,easing:_reactNative.Easing.bezier(...h.motion.easing.standard),useNativeDriver:i});p||x.setValue(e);const t=p?_reactNative.Animated.parallel([timing(L,!0),timing(x,!1)]):timing(L,!0);return t.start(),()=>t.stop()},[i,p,L,x,h.motion.duration.fast,h.motion.easing.standard]),(0,_react.useMemo)(()=>{if(!t||!(0,_FieldBase.hasFieldText)(e))return{node:null,topNotch:void 0};const i=d??m?.height??r.fontSize,a=null!=d?r.paddingVertical+c:Math.max(0,(r.minHeight-i)/2),v=-(a+i/2+1-_),E=L.interpolate({inputRange:[0,1],outputRange:[0,v]}),F=L.interpolate({inputRange:[0,1],outputRange:[1,FLOATED_LABEL_SCALE]}),N=-o,S=L.interpolate({inputRange:[0,1],outputRange:[0,N]}),R="right"===s?{right:r.paddingHorizontal+l,transformOrigin:"right center"}:"center"===s?{alignSelf:"center",transformOrigin:"center"}:{left:u+o,transformOrigin:"left center"},O=m?m.width*FLOATED_LABEL_SCALE:0,T=m?"right"===s?m.width-O:"center"===s?(m.width-O)/2:0:0,j=p&&m?{left:m.x+N+T-4,width:x.interpolate({inputRange:[0,1],outputRange:[0,O+8]})}:void 0,b=_reactNative.StyleSheet.flatten(f),z={fontSize:b?.fontSize??r.fontSize,color:b?.color??g};return{node:(0,_jsxRuntime.jsxs)(_reactNative.Animated.Text,{pointerEvents:"none",onLayout:e=>{const{x:t,width:i,height:n}=e.nativeEvent.layout;A(e=>e&&e.x===t&&e.width===i&&e.height===n?e:{x:t,width:i,height:n})},style:[styles.label,R,{top:a,color:g,fontSize:r.fontSize,lineHeight:d,...(0,_index.fontFor)(h,"medium"),transform:[{translateX:S},{translateY:E},{scale:F}]},f],children:[(0,_jsxRuntime.jsx)(_Notation.NotationInkContext.Provider,{value:z,children:e}),n?(0,_jsxRuntime.jsx)(_FieldBase.RequiredMark,{}):null]}),topNotch:j}},[t,e,n,p,r,o,l,s,u,d,c,_,g,f,L,x,m,h])};exports.useFloatingLabel=useFloatingLabel;const styles=_reactNative.StyleSheet.create({label:{position:"absolute",zIndex:1}});