@webority/mobile-ui 0.8.1 → 0.9.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 (315) hide show
  1. package/lib/commonjs/components/Accordion/Accordion.js +1 -1
  2. package/lib/commonjs/components/AnimatePresence/AnimatePresence.js +1 -1
  3. package/lib/commonjs/components/AppBar/AppBar.js +1 -1
  4. package/lib/commonjs/components/AppIcon/AppIcon.js +1 -1
  5. package/lib/commonjs/components/AsyncBlock/AsyncBlock.js +1 -1
  6. package/lib/commonjs/components/Autocomplete/Autocomplete.js +1 -1
  7. package/lib/commonjs/components/Avatar/Avatar.js +1 -1
  8. package/lib/commonjs/components/Badge/Badge.js +1 -1
  9. package/lib/commonjs/components/Banner/Banner.js +1 -1
  10. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +1 -1
  11. package/lib/commonjs/components/BottomSheet/BottomSheet.js +1 -1
  12. package/lib/commonjs/components/Box/Box.js +1 -1
  13. package/lib/commonjs/components/Button/Button.js +1 -1
  14. package/lib/commonjs/components/Calendar/Calendar.js +1 -0
  15. package/lib/commonjs/components/Calendar/CalendarDay.js +1 -0
  16. package/lib/commonjs/components/Calendar/calendarDates.js +1 -0
  17. package/lib/commonjs/components/Calendar/calendarStyles.js +1 -0
  18. package/lib/commonjs/components/Calendar/index.js +1 -0
  19. package/lib/commonjs/components/Card/Card.js +1 -1
  20. package/lib/commonjs/components/Carousel/Carousel.js +1 -1
  21. package/lib/commonjs/components/Checkbox/Checkbox.js +1 -1
  22. package/lib/commonjs/components/Chip/Chip.js +1 -1
  23. package/lib/commonjs/components/ChoiceGroup/ChoiceGroup.js +1 -1
  24. package/lib/commonjs/components/Confetti/Confetti.js +1 -1
  25. package/lib/commonjs/components/DatePicker/DatePicker.js +1 -1
  26. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +1 -1
  27. package/lib/commonjs/components/Descriptions/Descriptions.js +1 -1
  28. package/lib/commonjs/components/Dialog/Dialog.js +1 -1
  29. package/lib/commonjs/components/Drawer/Drawer.js +1 -1
  30. package/lib/commonjs/components/EmptyState/EmptyState.js +1 -1
  31. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +1 -1
  32. package/lib/commonjs/components/ErrorBoundary/withErrorBoundary.js +1 -1
  33. package/lib/commonjs/components/FieldBase/Chevron.js +1 -1
  34. package/lib/commonjs/components/FieldBase/FieldBase.js +1 -1
  35. package/lib/commonjs/components/FilePicker/FilePicker.js +1 -1
  36. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +1 -1
  37. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  38. package/lib/commonjs/components/FormField/FormField.js +1 -1
  39. package/lib/commonjs/components/IconButton/IconButton.js +1 -1
  40. package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
  41. package/lib/commonjs/components/InlineSelect/InlineSelect.js +1 -1
  42. package/lib/commonjs/components/Input/Input.js +1 -1
  43. package/lib/commonjs/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  44. package/lib/commonjs/components/ListItem/ListItem.js +1 -1
  45. package/lib/commonjs/components/LoaderOverlay/LoaderOverlay.js +1 -1
  46. package/lib/commonjs/components/Markdown/Markdown.js +1 -1
  47. package/lib/commonjs/components/Modal/Modal.js +1 -1
  48. package/lib/commonjs/components/NumberInput/NumberInput.js +1 -1
  49. package/lib/commonjs/components/OTPInput/OTPInput.js +1 -1
  50. package/lib/commonjs/components/OptionSheet/OptionSheet.js +1 -1
  51. package/lib/commonjs/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  52. package/lib/commonjs/components/ProfilePicker/ProfilePicker.js +1 -1
  53. package/lib/commonjs/components/Radio/Radio.js +1 -1
  54. package/lib/commonjs/components/Radio/RadioDot.js +1 -1
  55. package/lib/commonjs/components/Radio/RadioGroup.js +1 -1
  56. package/lib/commonjs/components/Rating/Rating.js +1 -1
  57. package/lib/commonjs/components/Repeater/Repeater.js +1 -1
  58. package/lib/commonjs/components/RichTextEditor/RichTextEditor.js +1 -1
  59. package/lib/commonjs/components/SearchBar/SearchBar.js +1 -1
  60. package/lib/commonjs/components/SectionHeader/SectionHeader.js +1 -1
  61. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
  62. package/lib/commonjs/components/Select/Select.js +1 -1
  63. package/lib/commonjs/components/Skeleton/Skeleton.js +1 -1
  64. package/lib/commonjs/components/Skeleton/SkeletonClock.js +1 -1
  65. package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -1
  66. package/lib/commonjs/components/Skeleton/SkeletonProvider.js +1 -1
  67. package/lib/commonjs/components/Skeleton/SkeletonSkip.js +1 -1
  68. package/lib/commonjs/components/SlideToConfirm/SlideToConfirm.js +1 -1
  69. package/lib/commonjs/components/Slider/Slider.js +1 -1
  70. package/lib/commonjs/components/SliderField/SliderField.js +1 -1
  71. package/lib/commonjs/components/Spinner/Spinner.js +1 -1
  72. package/lib/commonjs/components/StatusBadge/StatusBadge.js +1 -1
  73. package/lib/commonjs/components/Stepper/Stepper.js +1 -1
  74. package/lib/commonjs/components/Swipeable/Swipeable.js +1 -1
  75. package/lib/commonjs/components/Switch/Switch.js +1 -1
  76. package/lib/commonjs/components/Tabs/Tabs.js +1 -1
  77. package/lib/commonjs/components/Text/Text.js +1 -1
  78. package/lib/commonjs/components/TimePicker/TimePicker.js +1 -1
  79. package/lib/commonjs/components/Timeline/Timeline.js +1 -1
  80. package/lib/commonjs/components/Toast/Toast.js +1 -1
  81. package/lib/commonjs/components/Toast/ToastProvider.js +1 -1
  82. package/lib/commonjs/components/ZoomableImage/ZoomableImage.js +1 -1
  83. package/lib/commonjs/components/index.js +1 -1
  84. package/lib/commonjs/form/FormContext.js +1 -1
  85. package/lib/commonjs/network/NetworkStatusBanner.js +1 -1
  86. package/lib/commonjs/theme/ThemeContext.js +1 -1
  87. package/lib/commonjs/theme/merge.js +1 -1
  88. package/lib/commonjs/theme/textStyle.js +1 -1
  89. package/lib/commonjs/theme/tokens.js +1 -1
  90. package/lib/commonjs/theme/toneInk.js +1 -0
  91. package/lib/commonjs/utils/ariaState.js +1 -0
  92. package/lib/module/components/Accordion/Accordion.js +1 -1
  93. package/lib/module/components/AnimatePresence/AnimatePresence.js +1 -1
  94. package/lib/module/components/AppBar/AppBar.js +1 -1
  95. package/lib/module/components/AppIcon/AppIcon.js +1 -1
  96. package/lib/module/components/AsyncBlock/AsyncBlock.js +1 -1
  97. package/lib/module/components/Autocomplete/Autocomplete.js +1 -1
  98. package/lib/module/components/Avatar/Avatar.js +1 -1
  99. package/lib/module/components/Badge/Badge.js +1 -1
  100. package/lib/module/components/Banner/Banner.js +1 -1
  101. package/lib/module/components/BottomNavigation/BottomNavigation.js +1 -1
  102. package/lib/module/components/BottomSheet/BottomSheet.js +1 -1
  103. package/lib/module/components/Box/Box.js +1 -1
  104. package/lib/module/components/Button/Button.js +1 -1
  105. package/lib/module/components/Calendar/Calendar.js +1 -0
  106. package/lib/module/components/Calendar/CalendarDay.js +1 -0
  107. package/lib/module/components/Calendar/calendarDates.js +1 -0
  108. package/lib/module/components/Calendar/calendarStyles.js +1 -0
  109. package/lib/module/components/Calendar/index.js +1 -0
  110. package/lib/module/components/Card/Card.js +1 -1
  111. package/lib/module/components/Carousel/Carousel.js +1 -1
  112. package/lib/module/components/Checkbox/Checkbox.js +1 -1
  113. package/lib/module/components/Chip/Chip.js +1 -1
  114. package/lib/module/components/ChoiceGroup/ChoiceGroup.js +1 -1
  115. package/lib/module/components/Confetti/Confetti.js +1 -1
  116. package/lib/module/components/DatePicker/DatePicker.js +1 -1
  117. package/lib/module/components/DateRangePicker/DateRangePicker.js +1 -1
  118. package/lib/module/components/Descriptions/Descriptions.js +1 -1
  119. package/lib/module/components/Dialog/Dialog.js +1 -1
  120. package/lib/module/components/Drawer/Drawer.js +1 -1
  121. package/lib/module/components/EmptyState/EmptyState.js +1 -1
  122. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +1 -1
  123. package/lib/module/components/ErrorBoundary/withErrorBoundary.js +1 -1
  124. package/lib/module/components/FieldBase/Chevron.js +1 -1
  125. package/lib/module/components/FieldBase/FieldBase.js +1 -1
  126. package/lib/module/components/FilePicker/FilePicker.js +1 -1
  127. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +1 -1
  128. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
  129. package/lib/module/components/FormField/FormField.js +1 -1
  130. package/lib/module/components/IconButton/IconButton.js +1 -1
  131. package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
  132. package/lib/module/components/InlineSelect/InlineSelect.js +1 -1
  133. package/lib/module/components/Input/Input.js +1 -1
  134. package/lib/module/components/KeyboardToolbar/KeyboardToolbar.js +1 -1
  135. package/lib/module/components/ListItem/ListItem.js +1 -1
  136. package/lib/module/components/LoaderOverlay/LoaderOverlay.js +1 -1
  137. package/lib/module/components/Markdown/Markdown.js +1 -1
  138. package/lib/module/components/Modal/Modal.js +1 -1
  139. package/lib/module/components/NumberInput/NumberInput.js +1 -1
  140. package/lib/module/components/OTPInput/OTPInput.js +1 -1
  141. package/lib/module/components/OptionSheet/OptionSheet.js +1 -1
  142. package/lib/module/components/PhoneNumberInput/PhoneNumberInput.js +1 -1
  143. package/lib/module/components/ProfilePicker/ProfilePicker.js +1 -1
  144. package/lib/module/components/Radio/Radio.js +1 -1
  145. package/lib/module/components/Radio/RadioDot.js +1 -1
  146. package/lib/module/components/Radio/RadioGroup.js +1 -1
  147. package/lib/module/components/Rating/Rating.js +1 -1
  148. package/lib/module/components/Repeater/Repeater.js +1 -1
  149. package/lib/module/components/RichTextEditor/RichTextEditor.js +1 -1
  150. package/lib/module/components/SearchBar/SearchBar.js +1 -1
  151. package/lib/module/components/SectionHeader/SectionHeader.js +1 -1
  152. package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
  153. package/lib/module/components/Select/Select.js +1 -1
  154. package/lib/module/components/Skeleton/Skeleton.js +1 -1
  155. package/lib/module/components/Skeleton/SkeletonClock.js +1 -1
  156. package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
  157. package/lib/module/components/Skeleton/SkeletonProvider.js +1 -1
  158. package/lib/module/components/Skeleton/SkeletonSkip.js +1 -1
  159. package/lib/module/components/SlideToConfirm/SlideToConfirm.js +1 -1
  160. package/lib/module/components/Slider/Slider.js +1 -1
  161. package/lib/module/components/SliderField/SliderField.js +1 -1
  162. package/lib/module/components/Spinner/Spinner.js +1 -1
  163. package/lib/module/components/StatusBadge/StatusBadge.js +1 -1
  164. package/lib/module/components/Stepper/Stepper.js +1 -1
  165. package/lib/module/components/Swipeable/Swipeable.js +1 -1
  166. package/lib/module/components/Switch/Switch.js +1 -1
  167. package/lib/module/components/Tabs/Tabs.js +1 -1
  168. package/lib/module/components/Text/Text.js +1 -1
  169. package/lib/module/components/TimePicker/TimePicker.js +1 -1
  170. package/lib/module/components/Timeline/Timeline.js +1 -1
  171. package/lib/module/components/Toast/Toast.js +1 -1
  172. package/lib/module/components/Toast/ToastProvider.js +1 -1
  173. package/lib/module/components/ZoomableImage/ZoomableImage.js +1 -1
  174. package/lib/module/components/index.js +1 -1
  175. package/lib/module/form/FormContext.js +1 -1
  176. package/lib/module/network/NetworkStatusBanner.js +1 -1
  177. package/lib/module/theme/ThemeContext.js +1 -1
  178. package/lib/module/theme/merge.js +1 -1
  179. package/lib/module/theme/textStyle.js +1 -1
  180. package/lib/module/theme/tokens.js +1 -1
  181. package/lib/module/theme/toneInk.js +1 -0
  182. package/lib/module/utils/ariaState.js +1 -0
  183. package/lib/typescript/commonjs/components/Accordion/Accordion.d.ts +1 -1
  184. package/lib/typescript/commonjs/components/AnimatePresence/AnimatePresence.d.ts +1 -1
  185. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +1 -1
  186. package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +1 -1
  187. package/lib/typescript/commonjs/components/AsyncBlock/AsyncBlock.d.ts +1 -1
  188. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +2 -2
  189. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +1 -1
  190. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +1 -1
  191. package/lib/typescript/commonjs/components/BottomNavigation/BottomNavigation.d.ts +6 -0
  192. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +1 -1
  193. package/lib/typescript/commonjs/components/Box/Box.d.ts +1 -1
  194. package/lib/typescript/commonjs/components/Calendar/Calendar.d.ts +70 -0
  195. package/lib/typescript/commonjs/components/Calendar/CalendarDay.d.ts +30 -0
  196. package/lib/typescript/commonjs/components/Calendar/calendarDates.d.ts +24 -0
  197. package/lib/typescript/commonjs/components/Calendar/calendarStyles.d.ts +125 -0
  198. package/lib/typescript/commonjs/components/Calendar/index.d.ts +4 -0
  199. package/lib/typescript/commonjs/components/Carousel/Carousel.d.ts +1 -1
  200. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +1 -1
  201. package/lib/typescript/commonjs/components/ChoiceGroup/ChoiceGroup.d.ts +11 -1
  202. package/lib/typescript/commonjs/components/Confetti/Confetti.d.ts +1 -1
  203. package/lib/typescript/commonjs/components/DatePicker/DatePicker.d.ts +1 -1
  204. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +7 -1
  205. package/lib/typescript/commonjs/components/Descriptions/Descriptions.d.ts +1 -1
  206. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +1 -1
  207. package/lib/typescript/commonjs/components/Drawer/Drawer.d.ts +1 -1
  208. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +1 -1
  209. package/lib/typescript/commonjs/components/ErrorBoundary/withErrorBoundary.d.ts +1 -1
  210. package/lib/typescript/commonjs/components/FieldBase/Chevron.d.ts +1 -1
  211. package/lib/typescript/commonjs/components/FilePicker/FilePicker.d.ts +1 -1
  212. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +1 -1
  213. package/lib/typescript/commonjs/components/InlineSelect/InlineSelect.d.ts +1 -1
  214. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +24 -0
  215. package/lib/typescript/commonjs/components/ListItem/index.d.ts +1 -1
  216. package/lib/typescript/commonjs/components/LoaderOverlay/LoaderOverlay.d.ts +1 -1
  217. package/lib/typescript/commonjs/components/Markdown/Markdown.d.ts +1 -1
  218. package/lib/typescript/commonjs/components/Modal/Modal.d.ts +1 -1
  219. package/lib/typescript/commonjs/components/ProfilePicker/ProfilePicker.d.ts +1 -1
  220. package/lib/typescript/commonjs/components/Radio/RadioDot.d.ts +1 -1
  221. package/lib/typescript/commonjs/components/Radio/RadioGroup.d.ts +1 -1
  222. package/lib/typescript/commonjs/components/Rating/Rating.d.ts +1 -1
  223. package/lib/typescript/commonjs/components/Repeater/Repeater.d.ts +1 -1
  224. package/lib/typescript/commonjs/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  225. package/lib/typescript/commonjs/components/SectionHeader/SectionHeader.d.ts +1 -1
  226. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +7 -0
  227. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +1 -1
  228. package/lib/typescript/commonjs/components/Skeleton/SkeletonClock.d.ts +1 -1
  229. package/lib/typescript/commonjs/components/Skeleton/SkeletonProvider.d.ts +1 -1
  230. package/lib/typescript/commonjs/components/Skeleton/SkeletonSkip.d.ts +1 -1
  231. package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts +1 -1
  232. package/lib/typescript/commonjs/components/StatusBadge/StatusBadge.d.ts +1 -1
  233. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +1 -1
  234. package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +1 -1
  235. package/lib/typescript/commonjs/components/Text/Text.d.ts +1 -1
  236. package/lib/typescript/commonjs/components/TimePicker/TimePicker.d.ts +1 -1
  237. package/lib/typescript/commonjs/components/Timeline/Timeline.d.ts +1 -1
  238. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +1 -1
  239. package/lib/typescript/commonjs/components/Toast/ToastProvider.d.ts +1 -1
  240. package/lib/typescript/commonjs/components/ZoomableImage/ZoomableImage.d.ts +1 -1
  241. package/lib/typescript/commonjs/components/index.d.ts +3 -1
  242. package/lib/typescript/commonjs/form/FormContext.d.ts +1 -1
  243. package/lib/typescript/commonjs/network/NetworkStatusBanner.d.ts +1 -1
  244. package/lib/typescript/commonjs/theme/ThemeContext.d.ts +1 -1
  245. package/lib/typescript/commonjs/theme/textStyle.d.ts +4 -1
  246. package/lib/typescript/commonjs/theme/toneInk.d.ts +38 -0
  247. package/lib/typescript/commonjs/theme/types.d.ts +37 -4
  248. package/lib/typescript/commonjs/utils/ariaState.d.ts +10 -0
  249. package/lib/typescript/module/components/Accordion/Accordion.d.ts +1 -1
  250. package/lib/typescript/module/components/AnimatePresence/AnimatePresence.d.ts +1 -1
  251. package/lib/typescript/module/components/AppBar/AppBar.d.ts +1 -1
  252. package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +1 -1
  253. package/lib/typescript/module/components/AsyncBlock/AsyncBlock.d.ts +1 -1
  254. package/lib/typescript/module/components/Avatar/Avatar.d.ts +2 -2
  255. package/lib/typescript/module/components/Badge/Badge.d.ts +1 -1
  256. package/lib/typescript/module/components/Banner/Banner.d.ts +1 -1
  257. package/lib/typescript/module/components/BottomNavigation/BottomNavigation.d.ts +6 -0
  258. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +1 -1
  259. package/lib/typescript/module/components/Box/Box.d.ts +1 -1
  260. package/lib/typescript/module/components/Calendar/Calendar.d.ts +70 -0
  261. package/lib/typescript/module/components/Calendar/CalendarDay.d.ts +30 -0
  262. package/lib/typescript/module/components/Calendar/calendarDates.d.ts +24 -0
  263. package/lib/typescript/module/components/Calendar/calendarStyles.d.ts +125 -0
  264. package/lib/typescript/module/components/Calendar/index.d.ts +4 -0
  265. package/lib/typescript/module/components/Carousel/Carousel.d.ts +1 -1
  266. package/lib/typescript/module/components/Chip/Chip.d.ts +1 -1
  267. package/lib/typescript/module/components/ChoiceGroup/ChoiceGroup.d.ts +11 -1
  268. package/lib/typescript/module/components/Confetti/Confetti.d.ts +1 -1
  269. package/lib/typescript/module/components/DatePicker/DatePicker.d.ts +1 -1
  270. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +7 -1
  271. package/lib/typescript/module/components/Descriptions/Descriptions.d.ts +1 -1
  272. package/lib/typescript/module/components/Dialog/Dialog.d.ts +1 -1
  273. package/lib/typescript/module/components/Drawer/Drawer.d.ts +1 -1
  274. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +1 -1
  275. package/lib/typescript/module/components/ErrorBoundary/withErrorBoundary.d.ts +1 -1
  276. package/lib/typescript/module/components/FieldBase/Chevron.d.ts +1 -1
  277. package/lib/typescript/module/components/FilePicker/FilePicker.d.ts +1 -1
  278. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +1 -1
  279. package/lib/typescript/module/components/InlineSelect/InlineSelect.d.ts +1 -1
  280. package/lib/typescript/module/components/ListItem/ListItem.d.ts +24 -0
  281. package/lib/typescript/module/components/ListItem/index.d.ts +1 -1
  282. package/lib/typescript/module/components/LoaderOverlay/LoaderOverlay.d.ts +1 -1
  283. package/lib/typescript/module/components/Markdown/Markdown.d.ts +1 -1
  284. package/lib/typescript/module/components/Modal/Modal.d.ts +1 -1
  285. package/lib/typescript/module/components/ProfilePicker/ProfilePicker.d.ts +1 -1
  286. package/lib/typescript/module/components/Radio/RadioDot.d.ts +1 -1
  287. package/lib/typescript/module/components/Radio/RadioGroup.d.ts +1 -1
  288. package/lib/typescript/module/components/Rating/Rating.d.ts +1 -1
  289. package/lib/typescript/module/components/Repeater/Repeater.d.ts +1 -1
  290. package/lib/typescript/module/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  291. package/lib/typescript/module/components/SectionHeader/SectionHeader.d.ts +1 -1
  292. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +7 -0
  293. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +1 -1
  294. package/lib/typescript/module/components/Skeleton/SkeletonClock.d.ts +1 -1
  295. package/lib/typescript/module/components/Skeleton/SkeletonProvider.d.ts +1 -1
  296. package/lib/typescript/module/components/Skeleton/SkeletonSkip.d.ts +1 -1
  297. package/lib/typescript/module/components/Spinner/Spinner.d.ts +1 -1
  298. package/lib/typescript/module/components/StatusBadge/StatusBadge.d.ts +1 -1
  299. package/lib/typescript/module/components/Stepper/Stepper.d.ts +1 -1
  300. package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +1 -1
  301. package/lib/typescript/module/components/Text/Text.d.ts +1 -1
  302. package/lib/typescript/module/components/TimePicker/TimePicker.d.ts +1 -1
  303. package/lib/typescript/module/components/Timeline/Timeline.d.ts +1 -1
  304. package/lib/typescript/module/components/Toast/Toast.d.ts +1 -1
  305. package/lib/typescript/module/components/Toast/ToastProvider.d.ts +1 -1
  306. package/lib/typescript/module/components/ZoomableImage/ZoomableImage.d.ts +1 -1
  307. package/lib/typescript/module/components/index.d.ts +3 -1
  308. package/lib/typescript/module/form/FormContext.d.ts +1 -1
  309. package/lib/typescript/module/network/NetworkStatusBanner.d.ts +1 -1
  310. package/lib/typescript/module/theme/ThemeContext.d.ts +1 -1
  311. package/lib/typescript/module/theme/textStyle.d.ts +4 -1
  312. package/lib/typescript/module/theme/toneInk.d.ts +38 -0
  313. package/lib/typescript/module/theme/types.d.ts +37 -4
  314. package/lib/typescript/module/utils/ariaState.d.ts +10 -0
  315. package/package.json +2 -2
@@ -1 +1 @@
1
- "use strict";export{Accordion,AccordionGroup}from"./Accordion/index.js";export{AmountSlider}from"./AmountSlider/index.js";export{AnimatePresence}from"./AnimatePresence/index.js";export{AppBar}from"./AppBar/index.js";export{AsyncBlock}from"./AsyncBlock/index.js";export{AuthedImage,authedImageCacheStats,clearAuthedImageCache,getAuthedImageCacheLimit,setAuthedImageCacheLimit}from"./AuthedImage/index.js";export{Autocomplete}from"./Autocomplete/index.js";export{Avatar,AvatarGroup}from"./Avatar/index.js";export{Badge}from"./Badge/index.js";export{Banner}from"./Banner/index.js";export{BottomNavigation}from"./BottomNavigation/index.js";export{BottomSheet,useBottomSheet}from"./BottomSheet/index.js";export{Box,Row,Spacer,Stack}from"./Box/index.js";export{Button}from"./Button/index.js";export{Card}from"./Card/index.js";export{Carousel}from"./Carousel/index.js";export{Checkbox}from"./Checkbox/index.js";export{Chip}from"./Chip/index.js";export{ChoiceGroup}from"./ChoiceGroup/index.js";export{Confetti}from"./Confetti/index.js";export{DatePicker}from"./DatePicker/index.js";export{DateRangePicker}from"./DateRangePicker/index.js";export{cleanDecimalText,DecimalInput,parseDecimalText}from"./DecimalInput/index.js";export{Descriptions}from"./Descriptions/index.js";export{Dialog}from"./Dialog/index.js";export{Divider}from"./Divider/index.js";export{Drawer}from"./Drawer/index.js";export{EmptyState}from"./EmptyState/index.js";export{ErrorBoundary,useErrorHandler,withErrorBoundary}from"./ErrorBoundary/index.js";export{FilePicker,formatFileSize}from"./FilePicker/index.js";export{FileViewer}from"./FileViewer/index.js";export{FloatingActionButton,FloatingActionButtonGroup}from"./FloatingActionButton/index.js";export{ForceUpdateDialog}from"./ForceUpdateDialog/index.js";export{FormField}from"./FormField/index.js";export{IconBadge}from"./IconBadge/index.js";export{IconButton}from"./IconButton/index.js";export{ImageGallery}from"./ImageGallery/index.js";export{InlineSelect}from"./InlineSelect/index.js";export{Input}from"./Input/index.js";export{KeyboardAwareScrollView}from"./KeyboardAwareScrollView/index.js";export{KeyboardToolbar}from"./KeyboardToolbar/index.js";export{ListItem}from"./ListItem/index.js";export{LoaderOverlay,loader,useLoader}from"./LoaderOverlay/index.js";export{Markdown}from"./Markdown/index.js";export{MODAL_DISMISS_GRACE_MS,Modal}from"./Modal/index.js";export{Notation,parseNotation,sym}from"./Notation/index.js";export{NumberInput}from"./NumberInput/index.js";export{OptionSheet}from"./OptionSheet/index.js";export{OTPInput}from"./OTPInput/index.js";export{ALL_CALLING_CODES,DEFAULT_CALLING_CODES,formatE164,PhoneNumberInput,parseE164}from"./PhoneNumberInput/index.js";export{PickerTrigger}from"./PickerTrigger/index.js";export{ProfileCompletion}from"./ProfileCompletion/index.js";export{ProfilePicker}from"./ProfilePicker/index.js";export{ProgressBar}from"./ProgressBar/index.js";export{ProgressRing}from"./ProgressRing/index.js";export{Radio,RadioDot,RadioGroup}from"./Radio/index.js";export{Rating}from"./Rating/index.js";export{Repeater}from"./Repeater/index.js";export{applyMarkdownAction,RichTextEditor}from"./RichTextEditor/index.js";export{SearchBar}from"./SearchBar/index.js";export{SectionHeader}from"./SectionHeader/index.js";export{SegmentedControl}from"./SegmentedControl/index.js";export{Select}from"./Select/index.js";export{Skeleton,SkeletonCircle,SkeletonClockProvider,SkeletonContent,SkeletonList,SkeletonProvider,SkeletonSkip,SkeletonText,useReduceMotion,useSkeletonClock,useSkeletonDefaults}from"./Skeleton/index.js";export{Slider}from"./Slider/index.js";export{SliderField}from"./SliderField/index.js";export{SlideToConfirm}from"./SlideToConfirm/index.js";export{Spinner}from"./Spinner/index.js";export{StatTile}from"./StatTile/index.js";export{StatusBadge}from"./StatusBadge/index.js";export{Stepper}from"./Stepper/index.js";export{Swipeable}from"./Swipeable/index.js";export{Switch}from"./Switch/index.js";export{Tabs}from"./Tabs/index.js";export{TagInput}from"./TagInput/index.js";export{Text}from"./Text/index.js";export{Timeline}from"./Timeline/index.js";export{TimePicker}from"./TimePicker/index.js";export{Toast,ToastHost,ToastProvider,toast,useToast}from"./Toast/index.js";export{Tooltip}from"./Tooltip/index.js";export{Tour}from"./Tour/index.js";export{ZoomableImage}from"./ZoomableImage/index.js";
1
+ "use strict";export{Accordion,AccordionGroup}from"./Accordion/index.js";export{AmountSlider}from"./AmountSlider/index.js";export{AnimatePresence}from"./AnimatePresence/index.js";export{AppBar}from"./AppBar/index.js";export{AsyncBlock}from"./AsyncBlock/index.js";export{AuthedImage,authedImageCacheStats,clearAuthedImageCache,getAuthedImageCacheLimit,setAuthedImageCacheLimit}from"./AuthedImage/index.js";export{Autocomplete}from"./Autocomplete/index.js";export{Avatar,AvatarGroup}from"./Avatar/index.js";export{Badge}from"./Badge/index.js";export{Banner}from"./Banner/index.js";export{BottomNavigation}from"./BottomNavigation/index.js";export{BottomSheet,useBottomSheet}from"./BottomSheet/index.js";export{Box,Row,Spacer,Stack}from"./Box/index.js";export{Button}from"./Button/index.js";export{Calendar}from"./Calendar/index.js";export{Card}from"./Card/index.js";export{Carousel}from"./Carousel/index.js";export{Checkbox}from"./Checkbox/index.js";export{Chip}from"./Chip/index.js";export{ChoiceGroup}from"./ChoiceGroup/index.js";export{Confetti}from"./Confetti/index.js";export{DatePicker}from"./DatePicker/index.js";export{DateRangePicker}from"./DateRangePicker/index.js";export{cleanDecimalText,DecimalInput,parseDecimalText}from"./DecimalInput/index.js";export{Descriptions}from"./Descriptions/index.js";export{Dialog}from"./Dialog/index.js";export{Divider}from"./Divider/index.js";export{Drawer}from"./Drawer/index.js";export{EmptyState}from"./EmptyState/index.js";export{ErrorBoundary,useErrorHandler,withErrorBoundary}from"./ErrorBoundary/index.js";export{FilePicker,formatFileSize}from"./FilePicker/index.js";export{FileViewer}from"./FileViewer/index.js";export{FloatingActionButton,FloatingActionButtonGroup}from"./FloatingActionButton/index.js";export{ForceUpdateDialog}from"./ForceUpdateDialog/index.js";export{FormField}from"./FormField/index.js";export{IconBadge}from"./IconBadge/index.js";export{IconButton}from"./IconButton/index.js";export{ImageGallery}from"./ImageGallery/index.js";export{InlineSelect}from"./InlineSelect/index.js";export{Input}from"./Input/index.js";export{KeyboardAwareScrollView}from"./KeyboardAwareScrollView/index.js";export{KeyboardToolbar}from"./KeyboardToolbar/index.js";export{ListItem}from"./ListItem/index.js";export{LoaderOverlay,loader,useLoader}from"./LoaderOverlay/index.js";export{Markdown}from"./Markdown/index.js";export{MODAL_DISMISS_GRACE_MS,Modal}from"./Modal/index.js";export{Notation,parseNotation,sym}from"./Notation/index.js";export{NumberInput}from"./NumberInput/index.js";export{OptionSheet}from"./OptionSheet/index.js";export{OTPInput}from"./OTPInput/index.js";export{ALL_CALLING_CODES,DEFAULT_CALLING_CODES,formatE164,PhoneNumberInput,parseE164}from"./PhoneNumberInput/index.js";export{PickerTrigger}from"./PickerTrigger/index.js";export{ProfileCompletion}from"./ProfileCompletion/index.js";export{ProfilePicker}from"./ProfilePicker/index.js";export{ProgressBar}from"./ProgressBar/index.js";export{ProgressRing}from"./ProgressRing/index.js";export{Radio,RadioDot,RadioGroup}from"./Radio/index.js";export{Rating}from"./Rating/index.js";export{Repeater}from"./Repeater/index.js";export{applyMarkdownAction,RichTextEditor}from"./RichTextEditor/index.js";export{SearchBar}from"./SearchBar/index.js";export{SectionHeader}from"./SectionHeader/index.js";export{SegmentedControl}from"./SegmentedControl/index.js";export{Select}from"./Select/index.js";export{Skeleton,SkeletonCircle,SkeletonClockProvider,SkeletonContent,SkeletonList,SkeletonProvider,SkeletonSkip,SkeletonText,useReduceMotion,useSkeletonClock,useSkeletonDefaults}from"./Skeleton/index.js";export{Slider}from"./Slider/index.js";export{SliderField}from"./SliderField/index.js";export{SlideToConfirm}from"./SlideToConfirm/index.js";export{Spinner}from"./Spinner/index.js";export{StatTile}from"./StatTile/index.js";export{StatusBadge}from"./StatusBadge/index.js";export{Stepper}from"./Stepper/index.js";export{Swipeable}from"./Swipeable/index.js";export{Switch}from"./Switch/index.js";export{Tabs}from"./Tabs/index.js";export{TagInput}from"./TagInput/index.js";export{Text}from"./Text/index.js";export{Timeline}from"./Timeline/index.js";export{TimePicker}from"./TimePicker/index.js";export{Toast,ToastHost,ToastProvider,toast,useToast}from"./Toast/index.js";export{Tooltip}from"./Tooltip/index.js";export{Tour}from"./Tour/index.js";export{ZoomableImage}from"./ZoomableImage/index.js";
@@ -1 +1 @@
1
- "use strict";import React,{createContext,useContext}from"react";import{jsx as _jsx}from"react/jsx-runtime";const FormContext=createContext(null);export const Form=({form:e,children:t})=>_jsx(FormContext.Provider,{value:e,children:t});Form.displayName="Form";export function useFormContext(){const e=useContext(FormContext);if(!e)throw new Error("useFormContext / useField / <FormField name> must be rendered inside a <Form> from @webority/mobile-ui.");return e}export function useOptionalFormContext(){return useContext(FormContext)}
1
+ "use strict";import{createContext,useContext}from"react";import{jsx as _jsx}from"react/jsx-runtime";const FormContext=createContext(null);export const Form=({form:e,children:t})=>_jsx(FormContext.Provider,{value:e,children:t});Form.displayName="Form";export function useFormContext(){const e=useContext(FormContext);if(!e)throw new Error("useFormContext / useField / <FormField name> must be rendered inside a <Form> from @webority/mobile-ui.");return e}export function useOptionalFormContext(){return useContext(FormContext)}
@@ -1 +1 @@
1
- "use strict";import{useNetworkStatus}from"@webority/mobile-core";import React,{useEffect,useMemo,useRef,useState}from"react";import{Animated,StyleSheet,Text}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{fontFor,useTheme}from"../theme/index.js";import{jsx as _jsx}from"react/jsx-runtime";export const NetworkStatusBanner=({message:e="You are offline. Some features may be unavailable.",position:t="top",style:o,disabled:a=!1,safeArea:n=!0})=>{const r=useTheme(),i=useSafeAreaInsets(),s=n?"top"===t?i.top:i.bottom:0,[u,l]=useState(0),m=u>0?u:56+s,{isConnected:c,isInternetReachable:p}=useNetworkStatus(),d=!(a||c&&!1!==p),f=useRef(new Animated.Value(0)).current,b=useRef(new Animated.Value(0)).current;useEffect(()=>{Animated.parallel([Animated.timing(f,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0}),Animated.timing(b,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0})]).start()},[d,f,b,r.motion.duration.normal]);const S=useMemo(()=>buildStyles(),[]),y=f.interpolate({inputRange:[0,1],outputRange:["top"===t?-m:m,0]});return _jsx(Animated.View,{pointerEvents:d?"auto":"none",accessibilityRole:"alert",accessibilityLiveRegion:d?"polite":"none",onLayout:e=>l(e.nativeEvent.layout.height),style:[S.container,"top"===t?S.top:S.bottom,"top"===t?{paddingTop:10+s}:{paddingBottom:10+s},{backgroundColor:r.colors.error,opacity:b,transform:[{translateY:y}]},o],children:_jsx(Text,{style:{color:r.colors.onError,fontSize:r.typography.fontSize.sm,...fontFor(r,"semibold"),textAlign:"center"},numberOfLines:2,children:e})})};const buildStyles=()=>StyleSheet.create({container:{position:"absolute",left:0,right:0,paddingVertical:10,paddingHorizontal:16,zIndex:1e3,elevation:8},top:{top:0},bottom:{bottom:0}});export default NetworkStatusBanner;
1
+ "use strict";import{useNetworkStatus}from"@webority/mobile-core";import{useEffect,useMemo,useRef,useState}from"react";import{Animated,StyleSheet,Text}from"react-native";import{useSafeAreaInsets}from"react-native-safe-area-context";import{fontFor,useTheme}from"../theme/index.js";import{jsx as _jsx}from"react/jsx-runtime";export const NetworkStatusBanner=({message:e="You are offline. Some features may be unavailable.",position:t="top",style:o,disabled:n=!1,safeArea:a=!0})=>{const r=useTheme(),i=useSafeAreaInsets(),s=a?"top"===t?i.top:i.bottom:0,[u,l]=useState(0),m=u>0?u:56+s,{isConnected:c,isInternetReachable:p}=useNetworkStatus(),d=!(n||c&&!1!==p),f=useRef(new Animated.Value(0)).current,b=useRef(new Animated.Value(0)).current;useEffect(()=>{Animated.parallel([Animated.timing(f,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0}),Animated.timing(b,{toValue:d?1:0,duration:r.motion.duration.normal,useNativeDriver:!0})]).start()},[d,f,b,r.motion.duration.normal]);const S=useMemo(()=>buildStyles(),[]),y=f.interpolate({inputRange:[0,1],outputRange:["top"===t?-m:m,0]});return _jsx(Animated.View,{pointerEvents:d?"auto":"none",accessibilityRole:"alert",accessibilityLiveRegion:d?"polite":"none",onLayout:e=>l(e.nativeEvent.layout.height),style:[S.container,"top"===t?S.top:S.bottom,"top"===t?{paddingTop:10+s}:{paddingBottom:10+s},{backgroundColor:r.colors.error,opacity:b,transform:[{translateY:y}]},o],children:_jsx(Text,{style:{color:r.colors.onError,fontSize:r.typography.fontSize.sm,...fontFor(r,"semibold"),textAlign:"center"},numberOfLines:2,children:e})})};const buildStyles=()=>StyleSheet.create({container:{position:"absolute",left:0,right:0,paddingVertical:10,paddingHorizontal:16,zIndex:1e3,elevation:8},top:{top:0},bottom:{bottom:0}});export default NetworkStatusBanner;
@@ -1 +1 @@
1
- "use strict";import{Storage}from"@webority/mobile-core";import React,{createContext,useCallback,useContext,useEffect,useMemo,useRef,useState}from"react";import{Appearance}from"react-native";import{useReducedMotion}from"../hooks/useReducedMotion.js";import{mergeTheme}from"./merge.js";import{darkTheme,lightTheme}from"./tokens.js";import{jsx as _jsx}from"react/jsx-runtime";const REDUCED_SPRING={damping:100,stiffness:1e3,mass:1},collapseMotion=e=>({...e,duration:{instant:0,fast:0,normal:0,slow:0,slower:0},spring:{gentle:REDUCED_SPRING,bouncy:REDUCED_SPRING,snappy:REDUCED_SPRING}}),isPreference=e=>"light"===e||"dark"===e||"system"===e,defaultValue={theme:lightTheme,mode:"light",preference:"system",setPreference:()=>{},toggleColorMode:()=>{}},ThemeContext=createContext(defaultValue);export const ThemeProvider=({children:e,initialPreference:t="system",persistKey:r,lightOverrides:o,darkOverrides:s})=>{const[n,m]=useState(t),c=useRef(!1);useEffect(()=>{if(!r)return;let e=!0;return Storage.getItem(r).then(t=>{e&&!c.current&&isPreference(t)&&m(t)}),()=>{e=!1}},[r]);const a=useCallback(e=>{c.current=!0,m(e)},[]);useEffect(()=>{r&&c.current&&Storage.setItem(r,n)},[r,n]);const[i,u]=useState(()=>Appearance.getColorScheme()??"light");useEffect(()=>{const e=Appearance.addChangeListener(({colorScheme:e})=>{u(e??"light")});return()=>e.remove()},[]);const l="system"===n?i:n,d=useReducedMotion(),f=useMemo(()=>{const e="dark"===l?darkTheme:lightTheme,t="dark"===l?s:o,r=t?mergeTheme(e,t):e;return d?{...r,motion:collapseMotion(r.motion)}:r},[l,o,s,d]),h=useMemo(()=>({theme:f,mode:l,preference:n,setPreference:a,toggleColorMode:()=>a(e=>"system"===e?"dark"===i?"light":"dark":"dark"===e?"light":"dark")}),[f,l,n,i,a]);return _jsx(ThemeContext.Provider,{value:h,children:e})};export const useTheme=()=>useContext(ThemeContext).theme;export const useThemeMode=()=>{const e=useContext(ThemeContext);return{mode:e.mode,preference:e.preference,setPreference:e.setPreference,toggleColorMode:e.toggleColorMode}};
1
+ "use strict";import{Storage}from"@webority/mobile-core";import{createContext,useCallback,useContext,useEffect,useMemo,useRef,useState}from"react";import{Appearance}from"react-native";import{useReducedMotion}from"../hooks/useReducedMotion.js";import{mergeTheme}from"./merge.js";import{darkTheme,lightTheme}from"./tokens.js";import{jsx as _jsx}from"react/jsx-runtime";const REDUCED_SPRING={damping:100,stiffness:1e3,mass:1},collapseMotion=e=>({...e,duration:{instant:0,fast:0,normal:0,slow:0,slower:0},spring:{gentle:REDUCED_SPRING,bouncy:REDUCED_SPRING,snappy:REDUCED_SPRING}}),isPreference=e=>"light"===e||"dark"===e||"system"===e,defaultValue={theme:lightTheme,mode:"light",preference:"system",setPreference:()=>{},toggleColorMode:()=>{}},ThemeContext=createContext(defaultValue);export const ThemeProvider=({children:e,initialPreference:t="system",persistKey:r,lightOverrides:o,darkOverrides:s})=>{const[n,m]=useState(t),c=useRef(!1);useEffect(()=>{if(!r)return;let e=!0;return Storage.getItem(r).then(t=>{e&&!c.current&&isPreference(t)&&m(t)}),()=>{e=!1}},[r]);const a=useCallback(e=>{c.current=!0,m(e)},[]);useEffect(()=>{r&&c.current&&Storage.setItem(r,n)},[r,n]);const[i,u]=useState(()=>Appearance.getColorScheme()??"light");useEffect(()=>{const e=Appearance.addChangeListener(({colorScheme:e})=>{u(e??"light")});return()=>e.remove()},[]);const l="system"===n?i:n,d=useReducedMotion(),f=useMemo(()=>{const e="dark"===l?darkTheme:lightTheme,t="dark"===l?s:o,r=t?mergeTheme(e,t):e;return d?{...r,motion:collapseMotion(r.motion)}:r},[l,o,s,d]),h=useMemo(()=>({theme:f,mode:l,preference:n,setPreference:a,toggleColorMode:()=>a(e=>"system"===e?"dark"===i?"light":"dark":"dark"===e?"light":"dark")}),[f,l,n,i,a]);return _jsx(ThemeContext.Provider,{value:h,children:e})};export const useTheme=()=>useContext(ThemeContext).theme;export const useThemeMode=()=>{const e=useContext(ThemeContext);return{mode:e.mode,preference:e.preference,setPreference:e.setPreference,toggleColorMode:e.toggleColorMode}};
@@ -1 +1 @@
1
- "use strict";const isPlainObject=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),deepMerge=(e,t)=>{if(!isPlainObject(e)||!isPlainObject(t))return void 0!==t?t:e;const i={...e};for(const r of Object.keys(t)){const s=t[r],c=e[r];isPlainObject(s)&&isPlainObject(c)?i[r]=deepMerge(c,s):void 0!==s&&(i[r]=s)}return i};export const mergeTheme=(e,t)=>deepMerge(e,t);
1
+ "use strict";import{deriveSolidFill,deriveStateFills,deriveToneInk}from"./toneInk.js";const isPlainObject=r=>"object"==typeof r&&null!==r&&!Array.isArray(r),deepMerge=(r,e)=>{if(!isPlainObject(r)||!isPlainObject(e))return void 0!==e?e:r;const o={...r};for(const s of Object.keys(e)){const t=e[s],i=r[s];isPlainObject(t)&&isPlainObject(i)?o[s]=deepMerge(i,t):void 0!==t&&(o[s]=t)}return o},TONES=["primary","success","warning","error","info"],ON_INK={primary:"onPrimary",success:"onSuccess",warning:"onWarning",error:"onError",info:"onInfo"},withDerivedTones=(r,e,o)=>{const s=o?.colors;if(!s||!r?.colors?.toneText)return r;const{background:t}=r.colors,i=[t.primary,t.secondary,t.tertiary],n={},c={};let l={};for(const o of TONES){const t="string"==typeof s[o];let a=r.colors[o];if(t||"string"==typeof s[ON_INK[o]]){const e=deriveSolidFill(a,r.colors[ON_INK[o]]);e!==a&&(n[o]=e,a=e)}if(t&&"string"!=typeof s.toneText?.[o]&&(c[o]=deriveToneInk(a,i,e.mode)),"primary"===o&&(t||void 0!==n.primary)){const o=deriveStateFills(a,r.colors.onPrimary,{fill:e.colors.primary,hover:e.colors.primaryHover,pressed:e.colors.primaryPressed});l={..."string"==typeof s.primaryHover?{}:{primaryHover:o.hover},..."string"==typeof s.primaryPressed?{}:{primaryPressed:o.pressed}}}}return 0===Object.keys(n).length&&0===Object.keys(c).length&&0===Object.keys(l).length?r:{...r,colors:{...r.colors,...n,...l,toneText:{...r.colors.toneText,...c}}}};export const mergeTheme=(r,e)=>{const o=deepMerge(r,e);return withDerivedTones(o,r,e)};
@@ -1 +1 @@
1
- "use strict";const FAMILY_KEY={normal:"regular",medium:"medium",semibold:"semibold",bold:"bold"};export const fontFor=(o,t)=>{const e=o.typography.fontFamily?.[FAMILY_KEY[t]];return e?{fontFamily:e}:{fontWeight:o.typography.fontWeight[t]}};
1
+ "use strict";const FAMILY_KEY={normal:"regular",medium:"medium",semibold:"semibold",bold:"bold"};export const fontFor=(o,t,i)=>{const n="display"===i?o.typography.fontFamily?.display:void 0;if(n)return{fontFamily:n};const r=o.typography.fontFamily?.[FAMILY_KEY[t]];return r?{fontFamily:r}:{fontWeight:o.typography.fontWeight[t]}};
@@ -1 +1 @@
1
- "use strict";import{SQUIRCLE_SMOOTHING}from"../utils/squircle.js";const typography={fontSize:{xs:11,sm:13,base:15,lg:17,xl:20,"2xl":24,"3xl":30,"4xl":36},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:1.2,normal:1.4,relaxed:1.6},letterSpacing:{tight:-.2,normal:0,wide:.4}},spacing={none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius={none:0,xs:4,sm:6,md:10,lg:14,xl:20,"2xl":28,full:9999},FIELD_RADIUS=10,fieldSizes={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}},components={button:{xs:{paddingHorizontal:10,paddingVertical:4,minHeight:28,fontSize:12,borderRadius:8},sm:{paddingHorizontal:12,paddingVertical:6,minHeight:34,fontSize:14,borderRadius:10},md:{paddingHorizontal:16,paddingVertical:9,minHeight:42,fontSize:16,borderRadius:12},lg:{paddingHorizontal:20,paddingVertical:12,minHeight:50,fontSize:18,borderRadius:14},xl:{paddingHorizontal:24,paddingVertical:14,minHeight:58,fontSize:20,borderRadius:16}},input:{sm:{...fieldSizes.sm,multilineMinHeight:72},md:{...fieldSizes.md,multilineMinHeight:92},lg:{...fieldSizes.lg,multilineMinHeight:110}},searchBar:{sm:{borderRadius:radius.full},md:{borderRadius:radius.full},lg:{borderRadius:radius.full}},emptyState:{sm:{iconSize:48,titleFontSize:"lg",descriptionFontSize:"sm",paddingVertical:"lg"},md:{iconSize:64,titleFontSize:"xl",descriptionFontSize:"base",paddingVertical:"xl"},lg:{iconSize:80,titleFontSize:"2xl",descriptionFontSize:"base",paddingVertical:"2xl"}},field:{defaultVariant:"outlined",sm:fieldSizes.sm,md:fieldSizes.md,lg:fieldSizes.lg},listItem:{sm:{paddingVertical:"sm",titleFontSize:"sm",subtitleFontSize:"xs",minHeight:44},md:{paddingVertical:"md",titleFontSize:"base",subtitleFontSize:"sm",minHeight:56},lg:{paddingVertical:"lg",titleFontSize:"lg",subtitleFontSize:"sm",minHeight:72}},badge:{sm:{fontSize:10,minWidth:16,height:16,paddingHorizontal:5,dotSize:8},md:{fontSize:11,minWidth:20,height:20,paddingHorizontal:6,dotSize:10},borderWidth:1.5,anchorOffset:4},chip:{sm:{paddingHorizontal:10,paddingVertical:4,fontSize:12,minHeight:26,closeSize:16,closeFontSize:12,gap:6},md:{paddingHorizontal:12,paddingVertical:6,fontSize:13,minHeight:32,closeSize:18,closeFontSize:13,gap:8}},checkbox:{sm:{boxSize:16},md:{boxSize:20},lg:{boxSize:24},labelGap:10},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},labelGap:10},switch:{sm:{trackWidth:42,trackHeight:26,thumbSize:22,padding:2},md:{trackWidth:51,trackHeight:31,thumbSize:27,padding:2},lg:{trackWidth:60,trackHeight:36,thumbSize:32,padding:2},thumbColor:"#FFFFFF"},otpInput:{sm:{cell:36,fontSize:16,borderRadius:8,gap:8},md:{cell:48,fontSize:20,borderRadius:10,gap:10},lg:{cell:56,fontSize:24,borderRadius:12,gap:12}},dialog:{iconWrapperSize:48,iconWrapperBorderRadius:24,actionButtonMinHeight:44},toast:{iconCircleSize:28,iconCircleBorderRadius:14,iconGlyphFontSize:16,tintBarWidth:4},formField:{inlineLabelWidth:"35%"}},motion={duration:{instant:80,fast:160,normal:240,slow:360,slower:500},easing:{standard:[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]},spring:{gentle:{damping:26,stiffness:240,mass:.9},bouncy:{damping:16,stiffness:200,mass:.7},snappy:{damping:20,stiffness:300,mass:.7}}},lightShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.1,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.14,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.18,shadowRadius:32,elevation:20}},darkShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.3,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.55,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.7,shadowRadius:32,elevation:20}};export const lightTheme={mode:"light",colors:{primary:"#5B5BD6",primaryHover:"#4F4FBF",primaryPressed:"#4040A8",primaryMuted:"#EEEEFC",secondary:"#F4F4F8",secondaryHover:"#E9E9F0",success:"#1FAD66",warning:"#F59E0B",error:"#E5484D",info:"#3B82F6",onPrimary:"#FFFFFF",onSecondary:"#0F0F1A",onSuccess:"#FFFFFF",onWarning:"#0F0F1A",onError:"#FFFFFF",onInfo:"#FFFFFF",onOverlay:"#FFFFFF",text:{primary:"#0F0F1A",secondary:"#52525B",tertiary:"#8B8B95",inverse:"#FFFFFF",strong:"#252F4A",disabled:"#B4B4BB",link:"#5B5BD6"},background:{primary:"#FFFFFF",secondary:"#F8F8FB",tertiary:"#F1F1F5",elevated:"#FFFFFF",overlay:"rgba(15, 15, 26, 0.5)",inverse:"#0F0F1A"},border:{primary:"#E5E5EC",secondary:"#EFEFF3",focus:"#5B5BD6",error:"#E5484D",width:1},field:{background:"#F9FBFC",backgroundFocused:"#FFFFFF",backgroundDisabled:"#F5F6FA",border:"#EBEDF3",borderFocused:"#BED2F9",borderError:"#FDBFCE",label:"#242F4A",text:"#252F4A",textDisabled:"#C4CADA",placeholder:"#99A1B7",placeholderDisabled:"#C4CADA",icon:"#99A1B7",iconFocused:"#4B5675",iconDisabled:"#C4CADA",caret:"#5B8DEE",message:"#E82545"},surface:{pressed:"rgba(15, 15, 26, 0.06)",hovered:"rgba(15, 15, 26, 0.04)",selected:"rgba(91, 91, 214, 0.1)",disabled:"#F1F1F5"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#EBEDF3",highlight:"#F5F6FA"},avatarPalette:["#5B5BD6","#0A7979","#A45A05","#CD226E","#2462EB","#7C3AED","#047C57","#D42222"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:SQUIRCLE_SMOOTHING,shadows:lightShadows,motion:motion,components:components,gradients:{}};export const darkTheme={mode:"dark",colors:{primary:"#7C7CE8",primaryHover:"#9292EE",primaryPressed:"#A8A8F2",primaryMuted:"#1F1F3D",secondary:"#1F1F26",secondaryHover:"#2A2A33",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA",onPrimary:"#0F0F1A",onSecondary:"#FAFAFA",onSuccess:"#0F0F1A",onWarning:"#0F0F1A",onError:"#0F0F1A",onInfo:"#0F0F1A",onOverlay:"#FFFFFF",text:{primary:"#FAFAFA",secondary:"#B4B4BB",tertiary:"#71717A",inverse:"#0F0F1A",strong:"#E2E2E2",disabled:"#52525B",link:"#9292EE"},background:{primary:"#0B0B12",secondary:"#13131C",tertiary:"#1C1C26",elevated:"#1C1C26",overlay:"rgba(0, 0, 0, 0.65)",inverse:"#FAFAFA"},border:{primary:"#27272F",secondary:"#1C1C26",focus:"#7C7CE8",error:"#F87171",width:1},field:{background:"#13131C",backgroundFocused:"#0B0B12",backgroundDisabled:"#1C1C26",border:"#27272F",borderFocused:"#3D5FB0",borderError:"#8A2F42",label:"#E4E6EE",text:"#FAFAFA",textDisabled:"#52525B",placeholder:"#71717A",placeholderDisabled:"#52525B",icon:"#8B8B95",iconFocused:"#D4D4DB",iconDisabled:"#52525B",caret:"#7C9EF0",message:"#F87171"},surface:{pressed:"rgba(255, 255, 255, 0.08)",hovered:"rgba(255, 255, 255, 0.05)",selected:"rgba(124, 124, 232, 0.18)",disabled:"#1C1C26"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#1C1C26",highlight:"#27272F"},avatarPalette:["#8B8BEE","#2DD4BF","#FCD34D","#F472B6","#60A5FA","#A78BFA","#34D399","#F87171"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:SQUIRCLE_SMOOTHING,shadows:darkShadows,motion:motion,components:components,gradients:{}};
1
+ "use strict";import{SQUIRCLE_SMOOTHING}from"../utils/squircle.js";const typography={fontSize:{xs:11,sm:13,base:15,lg:17,xl:20,"2xl":24,"3xl":30,"4xl":36},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{tight:1.2,normal:1.4,relaxed:1.6},letterSpacing:{tight:-.2,normal:0,wide:.4}},spacing={none:0,xxs:2,xs:4,sm:8,md:12,lg:16,xl:24,"2xl":32,"3xl":48,"4xl":64},radius={none:0,xs:4,sm:6,md:10,lg:14,xl:20,"2xl":28,full:9999},FIELD_RADIUS=10,fieldSizes={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}},components={button:{xs:{paddingHorizontal:10,paddingVertical:4,minHeight:28,fontSize:12,borderRadius:8},sm:{paddingHorizontal:12,paddingVertical:6,minHeight:34,fontSize:14,borderRadius:10},md:{paddingHorizontal:16,paddingVertical:9,minHeight:42,fontSize:16,borderRadius:12},lg:{paddingHorizontal:20,paddingVertical:12,minHeight:50,fontSize:18,borderRadius:14},xl:{paddingHorizontal:24,paddingVertical:14,minHeight:58,fontSize:20,borderRadius:16}},input:{sm:{...fieldSizes.sm,multilineMinHeight:72},md:{...fieldSizes.md,multilineMinHeight:92},lg:{...fieldSizes.lg,multilineMinHeight:110}},searchBar:{sm:{borderRadius:radius.full},md:{borderRadius:radius.full},lg:{borderRadius:radius.full}},emptyState:{sm:{iconSize:48,titleFontSize:"lg",descriptionFontSize:"sm",paddingVertical:"lg"},md:{iconSize:64,titleFontSize:"xl",descriptionFontSize:"base",paddingVertical:"xl"},lg:{iconSize:80,titleFontSize:"2xl",descriptionFontSize:"base",paddingVertical:"2xl"}},field:{defaultVariant:"outlined",sm:fieldSizes.sm,md:fieldSizes.md,lg:fieldSizes.lg},listItem:{sm:{paddingVertical:"sm",titleFontSize:"sm",subtitleFontSize:"xs",minHeight:44},md:{paddingVertical:"md",titleFontSize:"base",subtitleFontSize:"sm",minHeight:56},lg:{paddingVertical:"lg",titleFontSize:"lg",subtitleFontSize:"sm",minHeight:72}},badge:{sm:{fontSize:10,minWidth:16,height:16,paddingHorizontal:5,dotSize:8},md:{fontSize:11,minWidth:20,height:20,paddingHorizontal:6,dotSize:10},borderWidth:1.5,anchorOffset:4},chip:{sm:{paddingHorizontal:10,paddingVertical:4,fontSize:12,minHeight:26,closeSize:16,closeFontSize:12,gap:6},md:{paddingHorizontal:12,paddingVertical:6,fontSize:13,minHeight:32,closeSize:18,closeFontSize:13,gap:8}},checkbox:{sm:{boxSize:16},md:{boxSize:20},lg:{boxSize:24},labelGap:10},radio:{sm:{outer:16,inner:8},md:{outer:20,inner:10},lg:{outer:24,inner:12},labelGap:10},switch:{sm:{trackWidth:42,trackHeight:26,thumbSize:22,padding:2},md:{trackWidth:51,trackHeight:31,thumbSize:27,padding:2},lg:{trackWidth:60,trackHeight:36,thumbSize:32,padding:2},thumbColor:"#FFFFFF"},otpInput:{sm:{cell:36,fontSize:16,borderRadius:8,gap:8},md:{cell:48,fontSize:20,borderRadius:10,gap:10},lg:{cell:56,fontSize:24,borderRadius:12,gap:12}},dialog:{iconWrapperSize:48,iconWrapperBorderRadius:24,actionButtonMinHeight:44},toast:{iconCircleSize:28,iconCircleBorderRadius:14,iconGlyphFontSize:16,tintBarWidth:0},banner:{tintBarWidth:0},formField:{inlineLabelWidth:"35%"}},motion={duration:{instant:80,fast:160,normal:240,slow:360,slower:500},easing:{standard:[.4,0,.2,1],accelerate:[.4,0,1,1],decelerate:[0,0,.2,1],sharp:[.4,0,.6,1]},spring:{gentle:{damping:26,stiffness:240,mass:.9},bouncy:{damping:16,stiffness:200,mass:.7},snappy:{damping:20,stiffness:300,mass:.7}}},lightShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.04,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.06,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.08,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.1,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.14,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.18,shadowRadius:32,elevation:20}},darkShadows={none:{},xs:{shadowColor:"#000",shadowOffset:{width:0,height:1},shadowOpacity:.3,shadowRadius:2,elevation:1},sm:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:2},md:{shadowColor:"#000",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:8,elevation:4},lg:{shadowColor:"#000",shadowOffset:{width:0,height:8},shadowOpacity:.55,shadowRadius:16,elevation:8},xl:{shadowColor:"#000",shadowOffset:{width:0,height:12},shadowOpacity:.6,shadowRadius:24,elevation:12},"2xl":{shadowColor:"#000",shadowOffset:{width:0,height:20},shadowOpacity:.7,shadowRadius:32,elevation:20}};export const lightTheme={mode:"light",colors:{primary:"#5B5BD6",primaryHover:"#4F4FBF",primaryPressed:"#4040A8",primaryMuted:"#EEEEFC",secondary:"#F4F4F8",secondaryHover:"#E9E9F0",success:"#18864F",warning:"#F59E0B",error:"#E12C32",info:"#1B6EF5",onPrimary:"#FFFFFF",onSecondary:"#0F0F1A",onSuccess:"#FFFFFF",onWarning:"#0F0F1A",onError:"#FFFFFF",onInfo:"#FFFFFF",onOverlay:"#FFFFFF",toneText:{primary:"#4F4FD3",success:"#147042",warning:"#8F5C06",error:"#BC1B20",info:"#0958D9"},text:{primary:"#0F0F1A",secondary:"#52525B",tertiary:"#62626B",inverse:"#FFFFFF",strong:"#252F4A",disabled:"#B4B4BB",link:"#5B5BD6"},background:{primary:"#FFFFFF",secondary:"#F8F8FB",tertiary:"#F1F1F5",elevated:"#FFFFFF",overlay:"rgba(15, 15, 26, 0.5)",inverse:"#0F0F1A"},border:{primary:"#E5E5EC",secondary:"#EFEFF3",focus:"#5B5BD6",error:"#E5484D",width:1},field:{background:"#F9FBFC",backgroundFocused:"#FFFFFF",backgroundDisabled:"#F5F6FA",border:"#EBEDF3",borderFocused:"#BED2F9",borderError:"#FDBFCE",label:"#242F4A",text:"#252F4A",textDisabled:"#C4CADA",placeholder:"#626D8B",placeholderDisabled:"#C4CADA",icon:"#7A849F",iconFocused:"#4B5675",iconDisabled:"#C4CADA",caret:"#5B8DEE",message:"#D81736"},surface:{pressed:"rgba(15, 15, 26, 0.06)",hovered:"rgba(15, 15, 26, 0.04)",selected:"rgba(91, 91, 214, 0.1)",disabled:"#F1F1F5"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#EBEDF3",highlight:"#F5F6FA"},avatarPalette:["#5B5BD6","#0A7979","#A45A05","#CD226E","#2462EB","#7C3AED","#047C57","#D42222"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:SQUIRCLE_SMOOTHING,shadows:lightShadows,motion:motion,components:components,gradients:{}};export const darkTheme={mode:"dark",colors:{primary:"#7C7CE8",primaryHover:"#9292EE",primaryPressed:"#A8A8F2",primaryMuted:"#1F1F3D",secondary:"#1F1F26",secondaryHover:"#2A2A33",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA",onPrimary:"#0F0F1A",onSecondary:"#FAFAFA",onSuccess:"#0F0F1A",onWarning:"#0F0F1A",onError:"#0F0F1A",onInfo:"#0F0F1A",onOverlay:"#FFFFFF",toneText:{primary:"#8989EA",success:"#30C780",warning:"#FBBF24",error:"#F87171",info:"#60A5FA"},text:{primary:"#FAFAFA",secondary:"#B4B4BB",tertiary:"#919199",inverse:"#0F0F1A",strong:"#E2E2E2",disabled:"#52525B",link:"#9292EE"},background:{primary:"#0B0B12",secondary:"#13131C",tertiary:"#1C1C26",elevated:"#1C1C26",overlay:"rgba(0, 0, 0, 0.65)",inverse:"#FAFAFA"},border:{primary:"#27272F",secondary:"#1C1C26",focus:"#7C7CE8",error:"#F87171",width:1},field:{background:"#13131C",backgroundFocused:"#0B0B12",backgroundDisabled:"#1C1C26",border:"#27272F",borderFocused:"#3D5FB0",borderError:"#8A2F42",label:"#E4E6EE",text:"#FAFAFA",textDisabled:"#52525B",placeholder:"#84848D",placeholderDisabled:"#52525B",icon:"#8B8B95",iconFocused:"#D4D4DB",iconDisabled:"#52525B",caret:"#7C9EF0",message:"#F87171"},surface:{pressed:"rgba(255, 255, 255, 0.08)",hovered:"rgba(255, 255, 255, 0.05)",selected:"rgba(124, 124, 232, 0.18)",disabled:"#1C1C26"},glass:{fill:"rgba(255, 255, 255, 0.28)",border:"rgba(255, 255, 255, 0.45)",on:"#0F0F1A",badge:"#FFFFFF"},skeleton:{background:"#1C1C26",highlight:"#27272F"},avatarPalette:["#8B8BEE","#2DD4BF","#FCD34D","#F472B6","#60A5FA","#A78BFA","#34D399","#F87171"]},typography:typography,spacing:spacing,radius:radius,cornerSmoothing:SQUIRCLE_SMOOTHING,shadows:darkShadows,motion:motion,components:components,gradients:{}};
@@ -0,0 +1 @@
1
+ "use strict";import{blendOf}from"../utils/color.js";const HEX=/^#([0-9a-f]{6})$/i,TARGET=4.55,TINT_OPACITY=.14,STEP=.0025,channelsOf=t=>{const e=Number.parseInt(t.slice(1,7),16);return[e>>16&255,e>>8&255,255&e]},luminance=t=>{const[e,r,n]=channelsOf(t).map(t=>{const e=t/255;return e<=.03928?e/12.92:((e+.055)/1.055)**2.4});return.2126*e+.7152*r+.0722*n};export const contrastRatio=(t,e)=>{const[r,n]=[luminance(t),luminance(e)].sort((t,e)=>e-t);return(r+.05)/(n+.05)};const toHsl=t=>{const[e,r,n]=channelsOf(t).map(t=>t/255),s=Math.max(e,r,n),o=Math.min(e,r,n),a=s-o,l=(s+o)/2;if(0===a)return[0,0,l];return[60*(s===e?((r-n)/a+6)%6:s===r?(n-e)/a+2:(e-r)/a+4),l>.5?a/(2-s-o):a/(s+o),l]},fromHsl=([t,e,r])=>{const n=e*Math.min(r,1-r),channel=e=>{const s=(e+t/30)%12,o=r-n*Math.max(-1,Math.min(s-3,9-s,1));return Math.round(255*o).toString(16).padStart(2,"0")};return`#${channel(0)}${channel(8)}${channel(4)}`.toUpperCase()},moveUntil=(t,e,r)=>{const[n,s,o]=toHsl(t);let a=t;for(let t=o+e*STEP;t>=0&&t<=1;t+=e*STEP)if(a=fromHsl([n,s,t]),r(a))return a;return a};export const deriveToneInk=(t,e,r)=>{if(!HEX.test(t))return t;const n=e.filter(t=>HEX.test(t));if(0===n.length)return t;const s=n.flatMap(e=>[e,blendOf(t,.14,e,e)]),reads=t=>s.every(e=>contrastRatio(t,e)>=4.55);return reads(t)?t:moveUntil(t,"dark"===r?1:-1,reads)};export const deriveSolidFill=(t,e)=>{if(!HEX.test(t)||!HEX.test(e))return t;const reads=t=>contrastRatio(t,e)>=4.55;return reads(t)?t:moveUntil(t,luminance(e)>luminance(t)?-1:1,reads)};export const deriveStateFills=(t,e,r)=>{if(![t,e,r.fill,r.hover,r.pressed].every(t=>HEX.test(t)))return{hover:r.hover,pressed:r.pressed};const[n,s,o]=toHsl(t),a=toHsl(r.fill)[2],l=[Math.abs(toHsl(r.hover)[2]-a),Math.abs(toHsl(r.pressed)[2]-a)],i=luminance(e)>luminance(t)?-1:1,c=(t=>l.every(e=>o+t*e>=0&&o+t*e<=1))(i)?i:1===i?-1:1,at=t=>fromHsl([n,s,Math.max(0,Math.min(1,o+c*t))]);return{hover:at(l[0]),pressed:at(l[1])}};
@@ -0,0 +1 @@
1
+ "use strict";export const ariaFromState=e=>({"aria-busy":e?.busy,"aria-checked":e?.checked,"aria-disabled":e?.disabled,"aria-expanded":e?.expanded,"aria-selected":e?.selected});
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils/hapticUtils';
4
4
  export type AccordionVariant = 'plain' | 'card';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  export type PresencePreset = 'fade' | 'scale' | 'slide-up' | 'slide-down';
4
4
  export interface AnimatePresenceProps {
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
3
3
  import { Animated } from 'react-native';
4
4
  import type { HapticType } from '../../utils/hapticUtils';
@@ -18,7 +18,7 @@
18
18
  * them in an `<svg>` at the requested size, substitute the colour, and hand
19
19
  * the string to react-native-svg's `SvgXml`.
20
20
  */
21
- import React from 'react';
21
+ import type React from 'react';
22
22
  import type { StyleProp, ViewStyle } from 'react-native';
23
23
  import type { IconName } from './catalog.g';
24
24
  import { ICON_NAMES } from './catalog.g';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  /** Which failure the error state describes. */
4
4
  export type AsyncBlockErrorVariant = 'default' | 'offline';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { ImageSourcePropType, ImageStyle, View as RNView, StyleProp, TextStyle, ViewStyle } from 'react-native';
3
3
  import type { Theme } from '../../theme/types';
4
4
  /**
@@ -33,7 +33,7 @@ export type AvatarStatusPosition = 'topRight' | 'bottomRight';
33
33
  * primary text; `secondary` is the theme's secondary surface and its ink.
34
34
  */
35
35
  export type AvatarTone = 'neutral' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
36
- /** The fill and the ink of an initials disc in a tone. Shared with ProfilePicker's placeholder. */
36
+ /** The fill and the ink (the tone as text, `toneText`) of an initials disc in a tone. Shared with ProfilePicker's placeholder. */
37
37
  export declare const avatarToneColors: (theme: Theme, tone: AvatarTone) => {
38
38
  background: string;
39
39
  color: string;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, TextStyle, ViewStyle } from 'react-native';
3
3
  export type BadgeVariant = 'standard' | 'dot';
4
4
  export type BadgeTone = 'primary' | 'success' | 'warning' | 'error' | 'neutral' | 'info';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils/hapticUtils';
4
4
  export type BannerVariant = 'info' | 'success' | 'warning' | 'error' | 'neutral';
@@ -204,6 +204,12 @@ export interface BottomNavigationProps {
204
204
  /** Style applied to the active indicator of every variant (pill, line, bubble or expanded pill). */
205
205
  indicatorStyle?: StyleProp<ViewStyle>;
206
206
  labelStyle?: StyleProp<TextStyle>;
207
+ /**
208
+ * Largest font scale the tab label follows (React Native's
209
+ * `maxFontSizeMultiplier`). The icon and the badge keep their size. Default
210
+ * 1.2, or the theme's `maxFontSizeMultiplier` when that is set.
211
+ */
212
+ labelMaxFontScale?: number;
207
213
  testID?: string;
208
214
  }
209
215
  declare const BottomNavigation: React.ForwardRefExoticComponent<BottomNavigationProps & React.RefAttributes<RNView>>;
@@ -16,7 +16,7 @@
16
16
  * ref.current?.collapse(); // animate to smallest snap point
17
17
  * ref.current?.close(); // dismiss
18
18
  */
19
- import React from 'react';
19
+ import type React from 'react';
20
20
  import type { LayoutChangeEvent, NativeScrollEvent, NativeSyntheticEvent, StyleProp, ViewStyle } from 'react-native';
21
21
  import { ScrollView } from 'react-native';
22
22
  /**
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, ViewProps, ViewStyle } from 'react-native';
3
3
  import type { ColorPalette, RadiusScale, SpacingScale, Theme } from '../../theme/types';
4
4
  export type SpacingToken = keyof SpacingScale;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Calendar: an inline month grid for picking one day or a range, with marked
3
+ * days (holidays, events, pending requests) drawn as dots and read aloud with
4
+ * each day. DateRangePicker renders this same grid inside its sheet.
5
+ */
6
+ import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
7
+ import type { HapticType } from '../../utils';
8
+ import type { StatusBadgeTone } from '../StatusBadge';
9
+ import type { CalendarWeekStart } from './calendarDates';
10
+ export type CalendarMode = 'single' | 'range';
11
+ export type CalendarMarkKind = 'holiday' | 'event' | 'pending';
12
+ export interface CalendarMarkedDate {
13
+ date: Date;
14
+ kind: CalendarMarkKind;
15
+ /** What the day is ("Dussehra", "Casual leave"); read aloud before the kind. */
16
+ label?: string;
17
+ /** Dot colour. Default: `error` for a holiday, `primary` for an event, `warning` for pending. */
18
+ tone?: StatusBadgeTone;
19
+ }
20
+ /** A selection. Single mode uses `start` only; a range in progress has no `end` yet. */
21
+ export interface CalendarRange {
22
+ start: Date;
23
+ end?: Date;
24
+ }
25
+ export interface CalendarProps {
26
+ /** `single` picks one day; `range` picks a start, then an end. Default `single`. */
27
+ mode?: CalendarMode;
28
+ /** The selection; `null` when nothing is picked. */
29
+ value: CalendarRange | null;
30
+ /**
31
+ * Fires on every day tap. In range mode the first tap gives `{ start }`, the
32
+ * second `{ start, end }`; a tap before the start, or after a complete range,
33
+ * starts again from the tapped day.
34
+ */
35
+ onChange: (range: CalendarRange) => void;
36
+ /** The month shown (any day in it). Omit to let the calendar own it. */
37
+ month?: Date;
38
+ /** Fires when the shown month changes, by the arrows or a tap on a neighbouring month's day. */
39
+ onMonthChange?: (month: Date) => void;
40
+ minDate?: Date;
41
+ maxDate?: Date;
42
+ /** Days that cannot be picked, besides those outside `minDate` and `maxDate`. */
43
+ disabledDates?: Date[];
44
+ /** First weekday of the grid: 0 Sunday, 1 Monday, 6 Saturday. Default 0. */
45
+ weekStartsOn?: CalendarWeekStart;
46
+ /** BCP 47 locale for month, weekday and day names. Default `'en-IN'`. */
47
+ locale?: string;
48
+ markedDates?: CalendarMarkedDate[];
49
+ /** Range mode: strike holidays inside a complete range and read them as not counted. */
50
+ strikeMarkedInRange?: boolean;
51
+ /**
52
+ * Fixed width and height of each day, at least 44. Unset, days share the
53
+ * width equally and stay at least 44 tall.
54
+ */
55
+ cellSize?: number;
56
+ /** Haptic feedback for interactions. Pass false to disable; pass a HapticType to override the default. */
57
+ haptic?: HapticType | false;
58
+ /** Names the calendar; read with the month heading ("Leave dates, October 2026"). */
59
+ accessibilityLabel?: string;
60
+ style?: StyleProp<ViewStyle>;
61
+ /** Style override for the month and year heading wrapper. */
62
+ headerLabelStyle?: StyleProp<ViewStyle>;
63
+ /** Style override for the previous and next month buttons. */
64
+ navButtonStyle?: StyleProp<ViewStyle>;
65
+ testID?: string;
66
+ }
67
+ declare const Calendar: import("react").ForwardRefExoticComponent<CalendarProps & import("react").RefAttributes<RNView>>;
68
+ export { Calendar };
69
+ export default Calendar;
70
+ //# sourceMappingURL=Calendar.d.ts.map
@@ -0,0 +1,30 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { CalendarCell } from './calendarDates';
3
+ import type { CalendarStyles } from './calendarStyles';
4
+ export interface CalendarDot {
5
+ key: string;
6
+ color: string;
7
+ }
8
+ export interface CalendarDayProps {
9
+ cell: CalendarCell;
10
+ accessibilityLabel: string;
11
+ disabled: boolean;
12
+ /** The single selected day, or the start or end of the range. */
13
+ edge: boolean;
14
+ /** Strictly between the start and end of a complete range. */
15
+ mid: boolean;
16
+ barLeft: boolean;
17
+ barRight: boolean;
18
+ today: boolean;
19
+ struck: boolean;
20
+ dots?: readonly CalendarDot[];
21
+ /** Day number colour for a holiday; ignored on a selected, disabled or neighbouring-month day. */
22
+ inkColor?: string;
23
+ cellStyle: StyleProp<ViewStyle>;
24
+ styles: CalendarStyles;
25
+ maxFontSizeMultiplier: number;
26
+ onPressDay: (cell: CalendarCell) => void;
27
+ }
28
+ /** One day of the grid; memoised so a tap re-renders only the days whose state changed. */
29
+ export declare const CalendarDay: import("react").MemoExoticComponent<({ cell, accessibilityLabel, disabled, edge, mid, barLeft, barRight, today, struck, dots, inkColor, cellStyle, styles, maxFontSizeMultiplier, onPressDay }: CalendarDayProps) => import("react").JSX.Element>;
30
+ //# sourceMappingURL=CalendarDay.d.ts.map
@@ -0,0 +1,24 @@
1
+ /** First weekday of the grid: 0 Sunday, 1 Monday, 6 Saturday. */
2
+ export type CalendarWeekStart = 0 | 1 | 6;
3
+ export interface CalendarCell {
4
+ date: Date;
5
+ iso: string;
6
+ inMonth: boolean;
7
+ }
8
+ /** A grid is always six weeks, so the calendar keeps one height across months. */
9
+ export declare const GRID_CELLS = 42;
10
+ export declare const startOfDay: (date: Date) => Date;
11
+ export declare const startOfMonth: (date: Date) => Date;
12
+ export declare const addMonths: (date: Date, delta: number) => Date;
13
+ export declare const isSameDay: (a: Date, b: Date) => boolean;
14
+ /** Local calendar day as `yyyy-MM-dd`, the key every day lookup uses. */
15
+ export declare const toIso: (date: Date) => string;
16
+ /** Whole days from `a` to `b`; rounded because a DST day is 23 or 25 hours long. */
17
+ export declare const daysBetween: (a: Date, b: Date) => number;
18
+ export declare const buildMonthMatrix: (month: Date, weekStartsOn: CalendarWeekStart) => CalendarCell[];
19
+ /** Short weekday names in grid order, each keyed by its weekday number (0 Sunday). */
20
+ export declare const weekdayLabels: (locale: string, weekStartsOn: CalendarWeekStart) => {
21
+ weekday: number;
22
+ label: string;
23
+ }[];
24
+ //# sourceMappingURL=calendarDates.d.ts.map
@@ -0,0 +1,125 @@
1
+ import type { Theme } from '../../theme/types';
2
+ /** The smallest day cell: the 44 pt minimum touch target. */
3
+ export declare const MIN_CELL_SIZE = 44;
4
+ export declare const NAV_BUTTON_SIZE = 36;
5
+ export declare const buildCalendarStyles: (theme: Theme) => {
6
+ root: {
7
+ alignSelf: "stretch";
8
+ };
9
+ headerRow: {
10
+ flexDirection: "row";
11
+ alignItems: "center";
12
+ justifyContent: "space-between";
13
+ marginBottom: number;
14
+ };
15
+ navBtn: {
16
+ alignItems: "center";
17
+ justifyContent: "center";
18
+ backgroundColor: string;
19
+ borderCurve: "continuous";
20
+ width: number;
21
+ height: number;
22
+ borderRadius: 9999;
23
+ };
24
+ navBtnPressed: {
25
+ backgroundColor: string;
26
+ };
27
+ navBtnDisabled: {
28
+ opacity: number;
29
+ };
30
+ navText: {
31
+ fontWeight?: "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "light" | "medium" | "regular" | "semibold" | "condensedBold" | "condensed" | "heavy" | "black" | undefined | undefined;
32
+ fontFamily?: string | undefined | undefined;
33
+ fontSize: number;
34
+ lineHeight: number;
35
+ color: string;
36
+ };
37
+ headerLabelWrap: {
38
+ flex: number;
39
+ alignItems: "center";
40
+ };
41
+ headerLabel: {
42
+ fontWeight?: "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "light" | "medium" | "regular" | "semibold" | "condensedBold" | "condensed" | "heavy" | "black" | undefined | undefined;
43
+ fontFamily?: string | undefined | undefined;
44
+ fontSize: number;
45
+ color: string;
46
+ };
47
+ weekdayRow: {
48
+ flexDirection: "row";
49
+ justifyContent: "center";
50
+ marginBottom: number;
51
+ };
52
+ weekdayCell: {
53
+ alignItems: "center";
54
+ paddingVertical: number;
55
+ };
56
+ weekdayText: {
57
+ fontWeight?: "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "light" | "medium" | "regular" | "semibold" | "condensedBold" | "condensed" | "heavy" | "black" | undefined | undefined;
58
+ fontFamily?: string | undefined | undefined;
59
+ fontSize: number;
60
+ color: string;
61
+ letterSpacing: number;
62
+ };
63
+ gridRow: {
64
+ flexDirection: "row";
65
+ justifyContent: "center";
66
+ };
67
+ dayCell: {
68
+ alignItems: "center";
69
+ justifyContent: "center";
70
+ padding: number;
71
+ };
72
+ barLeft: {
73
+ position: "absolute";
74
+ left: number;
75
+ right: "50%";
76
+ top: "5%";
77
+ bottom: "5%";
78
+ };
79
+ barRight: {
80
+ position: "absolute";
81
+ left: "50%";
82
+ right: number;
83
+ top: "5%";
84
+ bottom: "5%";
85
+ };
86
+ rangeFill: {
87
+ backgroundColor: string;
88
+ };
89
+ dayInner: {
90
+ borderCurve: "continuous";
91
+ width: "90%";
92
+ height: "90%";
93
+ alignItems: "center";
94
+ justifyContent: "center";
95
+ borderRadius: 9999;
96
+ };
97
+ dayEdge: {
98
+ backgroundColor: string;
99
+ };
100
+ dayMid: {
101
+ borderRadius: 0;
102
+ };
103
+ dayText: {
104
+ fontWeight?: "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | "ultralight" | "thin" | "light" | "medium" | "regular" | "semibold" | "condensedBold" | "condensed" | "heavy" | "black" | undefined | undefined;
105
+ fontFamily?: string | undefined | undefined;
106
+ fontSize: number;
107
+ };
108
+ dayStruck: {
109
+ textDecorationLine: "line-through";
110
+ };
111
+ dots: {
112
+ position: "absolute";
113
+ bottom: number;
114
+ flexDirection: "row";
115
+ gap: number;
116
+ };
117
+ dot: {
118
+ borderCurve: "continuous";
119
+ width: number;
120
+ height: number;
121
+ borderRadius: 9999;
122
+ };
123
+ };
124
+ export type CalendarStyles = ReturnType<typeof buildCalendarStyles>;
125
+ //# sourceMappingURL=calendarStyles.d.ts.map
@@ -0,0 +1,4 @@
1
+ export type { CalendarMarkedDate, CalendarMarkKind, CalendarMode, CalendarProps, CalendarRange } from './Calendar';
2
+ export { Calendar, default } from './Calendar';
3
+ export type { CalendarWeekStart } from './calendarDates';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -18,7 +18,7 @@
18
18
  * ref.current?.next();
19
19
  * ref.current?.prev();
20
20
  */
21
- import React from 'react';
21
+ import type React from 'react';
22
22
  import type { StyleProp, ViewStyle } from 'react-native';
23
23
  import type { HapticType } from '../../utils';
24
24
  export type PaginationStyle = 'dots' | 'bars' | 'numbers';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, TextStyle, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils/hapticUtils';
4
4
  import type { IconVariant } from '../AppIcon/AppIcon';
@@ -24,7 +24,7 @@
24
24
  * Same data contract as Select: `ChoiceOption[]` by default, `getOption*`
25
25
  * accessors for custom shapes.
26
26
  */
27
- import React from 'react';
27
+ import type React from 'react';
28
28
  import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
29
29
  import type { HapticType } from '../../utils';
30
30
  import type { SlotIcon } from '../AppIcon/slotIcon';
@@ -103,6 +103,16 @@ interface BaseChoiceGroupProps<T = ChoiceOption> {
103
103
  disabled?: boolean;
104
104
  /** Density of the built-in templates (padding / fontSize / icon / dot). Default `'md'`. */
105
105
  size?: ChoiceGroupSize;
106
+ /**
107
+ * Lines an option label may take in the built-in templates before it ends in
108
+ * an ellipsis. Default `1`. Screen readers always get the full label.
109
+ */
110
+ labelLines?: number;
111
+ /**
112
+ * Lines an option description may take in the card before it ends in an
113
+ * ellipsis. Default `2`. The card's accessible label carries the full description.
114
+ */
115
+ descriptionLines?: number;
106
116
  /** Haptic on select. Pass false to disable; pass a HapticType to override. */
107
117
  haptic?: HapticType | false;
108
118
  accessibilityLabel?: string;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  export type ConfettiPreset = 'pop' | 'rain' | 'fireworks';
4
4
  export type ConfettiShape = 'strip' | 'square' | 'circle' | 'triangle' | 'star' | 'streamer';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils';
4
4
  import type { PickerTriggerSize, PickerTriggerVariant } from '../PickerTrigger';
@@ -1,8 +1,10 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils';
4
+ import type { CalendarMarkedDate } from '../Calendar';
5
+ import type { CalendarWeekStart } from '../Calendar/calendarDates';
4
6
  import type { PickerTriggerSize, PickerTriggerVariant } from '../PickerTrigger';
5
- export type WeekStart = 0 | 1 | 6;
7
+ export type WeekStart = CalendarWeekStart;
6
8
  export interface DateRange {
7
9
  start: Date | null;
8
10
  end: Date | null;
@@ -42,6 +44,10 @@ export interface DateRangePickerProps {
42
44
  minDate?: Date;
43
45
  maxDate?: Date;
44
46
  disabledDates?: Date[];
47
+ /** Holidays, events and pending requests drawn on the grid; see `Calendar`. */
48
+ markedDates?: CalendarMarkedDate[];
49
+ /** Strike holidays inside the chosen range and read them as not counted; see `Calendar`. */
50
+ strikeMarkedInRange?: boolean;
45
51
  locale?: string;
46
52
  weekStartsOn?: WeekStart;
47
53
  title?: string;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
3
  import type { TextColor } from '../Text/Text';
4
4
  export type DescriptionsSize = 'sm' | 'md';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
3
3
  import type { HapticType } from '../../utils/hapticUtils';
4
4
  export type DialogVariant = 'default' | 'success' | 'warning' | 'error' | 'info';
@@ -17,7 +17,7 @@
17
17
  * ref.current?.close();
18
18
  * ref.current?.toggle();
19
19
  */
20
- import React from 'react';
20
+ import type React from 'react';
21
21
  import type { StyleProp, ViewStyle } from 'react-native';
22
22
  import type { HapticType } from '../../utils';
23
23
  export type DrawerSide = 'left' | 'right' | 'top' | 'bottom';
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { View as RNView, StyleProp, ViewStyle } from 'react-native';
3
3
  export type EmptyStateSize = 'sm' | 'md' | 'lg';
4
4
  export interface EmptyStateAction {
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { ErrorBoundaryProps } from './ErrorBoundary';
3
3
  /**
4
4
  * Wraps a component in an `ErrorBoundary`. Prefer this over hand-wrapping a