react-native-mantine 0.4.0 → 0.6.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 (280) hide show
  1. package/README.md +0 -357
  2. package/lib/commonjs/components/Button/Button.styles.js +5 -46
  3. package/lib/commonjs/components/Button/Button.styles.js.map +1 -1
  4. package/lib/commonjs/components/Button/index.js +18 -39
  5. package/lib/commonjs/components/Button/index.js.map +1 -1
  6. package/lib/commonjs/components/Chip/index.js.map +1 -1
  7. package/lib/commonjs/components/CloseButton/index.js +5 -30
  8. package/lib/commonjs/components/CloseButton/index.js.map +1 -1
  9. package/lib/commonjs/components/Collapse/index.js +10 -2
  10. package/lib/commonjs/components/Collapse/index.js.map +1 -1
  11. package/lib/commonjs/components/Dialog/index.js +51 -8
  12. package/lib/commonjs/components/Dialog/index.js.map +1 -1
  13. package/lib/commonjs/components/Drawer/index.js +4 -13
  14. package/lib/commonjs/components/Drawer/index.js.map +1 -1
  15. package/lib/commonjs/components/Icon/index.js +53 -0
  16. package/lib/commonjs/components/Icon/index.js.map +1 -0
  17. package/lib/commonjs/components/Input/Input.styles.js +2 -204
  18. package/lib/commonjs/components/Input/Input.styles.js.map +1 -1
  19. package/lib/commonjs/components/Input/index.js +1 -1
  20. package/lib/commonjs/components/List/index.js.map +1 -1
  21. package/lib/commonjs/components/Menu/index.js +11 -10
  22. package/lib/commonjs/components/Menu/index.js.map +1 -1
  23. package/lib/commonjs/components/Modal/index.js +10 -16
  24. package/lib/commonjs/components/Modal/index.js.map +1 -1
  25. package/lib/commonjs/components/Notification/index.js +12 -5
  26. package/lib/commonjs/components/Notification/index.js.map +1 -1
  27. package/lib/commonjs/components/NumberInput/index.js +2 -1
  28. package/lib/commonjs/components/NumberInput/index.js.map +1 -1
  29. package/lib/commonjs/components/PasswordInput/index.js +5 -6
  30. package/lib/commonjs/components/PasswordInput/index.js.map +1 -1
  31. package/lib/commonjs/components/PinInput/index.js +7 -2
  32. package/lib/commonjs/components/PinInput/index.js.map +1 -1
  33. package/lib/commonjs/components/Popover/index.js +8 -7
  34. package/lib/commonjs/components/Popover/index.js.map +1 -1
  35. package/lib/commonjs/components/RingProgress/index.js +49 -7
  36. package/lib/commonjs/components/RingProgress/index.js.map +1 -1
  37. package/lib/commonjs/components/SegmentedControl/index.js +7 -4
  38. package/lib/commonjs/components/SegmentedControl/index.js.map +1 -1
  39. package/lib/commonjs/components/Slider/index.js +28 -3
  40. package/lib/commonjs/components/Slider/index.js.map +1 -1
  41. package/lib/commonjs/components/Stepper/index.js.map +1 -1
  42. package/lib/commonjs/components/Table/index.js +22 -20
  43. package/lib/commonjs/components/Table/index.js.map +1 -1
  44. package/lib/commonjs/components/TextInput/index.js +2 -2
  45. package/lib/commonjs/components/TextInput/index.js.map +1 -1
  46. package/lib/commonjs/components/Timeline/index.js +12 -5
  47. package/lib/commonjs/components/Timeline/index.js.map +1 -1
  48. package/lib/commonjs/components/Tooltip/index.js +12 -11
  49. package/lib/commonjs/components/Tooltip/index.js.map +1 -1
  50. package/lib/commonjs/components/TransferList/index.js +3 -8
  51. package/lib/commonjs/components/TransferList/index.js.map +1 -1
  52. package/lib/commonjs/components/Transition/index.js +4 -0
  53. package/lib/commonjs/components/Transition/index.js.map +1 -1
  54. package/lib/commonjs/components/UnstyledButton/UnstyledButton.js +4 -0
  55. package/lib/commonjs/components/UnstyledButton/UnstyledButton.js.map +1 -1
  56. package/lib/commonjs/components/index.js +22 -22
  57. package/lib/commonjs/components/index.js.map +1 -1
  58. package/lib/commonjs/hooks/useCachedResources.js +1 -4
  59. package/lib/commonjs/hooks/useCachedResources.js.map +1 -1
  60. package/lib/commonjs/theme/functions/attach-functions.js +3 -0
  61. package/lib/commonjs/theme/functions/attach-functions.js.map +1 -1
  62. package/lib/commonjs/theme/functions/fns/helpers.js +12 -1
  63. package/lib/commonjs/theme/functions/fns/helpers.js.map +1 -1
  64. package/lib/commonjs/theme/functions/fns/index.js +4 -0
  65. package/lib/commonjs/theme/functions/fns/index.js.map +1 -1
  66. package/lib/commonjs/theme/functions/fns/rgba.js +50 -0
  67. package/lib/commonjs/theme/functions/fns/rgba.js.map +1 -0
  68. package/lib/commonjs/theme/functions/fns/size.js +19 -0
  69. package/lib/commonjs/theme/functions/fns/size.js.map +1 -0
  70. package/lib/commonjs/theme/theme-provider.js +6 -8
  71. package/lib/commonjs/theme/theme-provider.js.map +1 -1
  72. package/lib/module/components/Button/Button.styles.js +5 -46
  73. package/lib/module/components/Button/Button.styles.js.map +1 -1
  74. package/lib/module/components/Button/index.js +18 -39
  75. package/lib/module/components/Button/index.js.map +1 -1
  76. package/lib/module/components/Chip/index.js.map +1 -1
  77. package/lib/module/components/CloseButton/index.js +6 -31
  78. package/lib/module/components/CloseButton/index.js.map +1 -1
  79. package/lib/module/components/Collapse/index.js +10 -2
  80. package/lib/module/components/Collapse/index.js.map +1 -1
  81. package/lib/module/components/Dialog/index.js +52 -9
  82. package/lib/module/components/Dialog/index.js.map +1 -1
  83. package/lib/module/components/Drawer/index.js +4 -13
  84. package/lib/module/components/Drawer/index.js.map +1 -1
  85. package/lib/module/components/Icon/index.js +48 -0
  86. package/lib/module/components/Icon/index.js.map +1 -0
  87. package/lib/module/components/Input/Input.styles.js +1 -203
  88. package/lib/module/components/Input/Input.styles.js.map +1 -1
  89. package/lib/module/components/Input/index.js +1 -1
  90. package/lib/module/components/Input/index.js.map +1 -1
  91. package/lib/module/components/List/index.js.map +1 -1
  92. package/lib/module/components/Menu/index.js +9 -8
  93. package/lib/module/components/Menu/index.js.map +1 -1
  94. package/lib/module/components/Modal/index.js +10 -16
  95. package/lib/module/components/Modal/index.js.map +1 -1
  96. package/lib/module/components/Notification/index.js +12 -5
  97. package/lib/module/components/Notification/index.js.map +1 -1
  98. package/lib/module/components/NumberInput/index.js +2 -1
  99. package/lib/module/components/NumberInput/index.js.map +1 -1
  100. package/lib/module/components/PasswordInput/index.js +5 -6
  101. package/lib/module/components/PasswordInput/index.js.map +1 -1
  102. package/lib/module/components/PinInput/index.js +7 -2
  103. package/lib/module/components/PinInput/index.js.map +1 -1
  104. package/lib/module/components/Popover/index.js +9 -8
  105. package/lib/module/components/Popover/index.js.map +1 -1
  106. package/lib/module/components/RingProgress/index.js +51 -9
  107. package/lib/module/components/RingProgress/index.js.map +1 -1
  108. package/lib/module/components/SegmentedControl/index.js +7 -4
  109. package/lib/module/components/SegmentedControl/index.js.map +1 -1
  110. package/lib/module/components/Slider/index.js +28 -3
  111. package/lib/module/components/Slider/index.js.map +1 -1
  112. package/lib/module/components/Stepper/index.js.map +1 -1
  113. package/lib/module/components/Table/index.js +22 -19
  114. package/lib/module/components/Table/index.js.map +1 -1
  115. package/lib/module/components/TextInput/index.js +2 -2
  116. package/lib/module/components/TextInput/index.js.map +1 -1
  117. package/lib/module/components/Timeline/index.js +12 -5
  118. package/lib/module/components/Timeline/index.js.map +1 -1
  119. package/lib/module/components/Tooltip/index.js +11 -10
  120. package/lib/module/components/Tooltip/index.js.map +1 -1
  121. package/lib/module/components/TransferList/index.js +4 -9
  122. package/lib/module/components/TransferList/index.js.map +1 -1
  123. package/lib/module/components/Transition/index.js +5 -1
  124. package/lib/module/components/Transition/index.js.map +1 -1
  125. package/lib/module/components/UnstyledButton/UnstyledButton.js +4 -0
  126. package/lib/module/components/UnstyledButton/UnstyledButton.js.map +1 -1
  127. package/lib/module/components/index.js +1 -1
  128. package/lib/module/components/index.js.map +1 -1
  129. package/lib/module/hooks/useCachedResources.js +1 -4
  130. package/lib/module/hooks/useCachedResources.js.map +1 -1
  131. package/lib/module/theme/functions/attach-functions.js +3 -0
  132. package/lib/module/theme/functions/attach-functions.js.map +1 -1
  133. package/lib/module/theme/functions/fns/helpers.js +10 -0
  134. package/lib/module/theme/functions/fns/helpers.js.map +1 -1
  135. package/lib/module/theme/functions/fns/index.js +4 -0
  136. package/lib/module/theme/functions/fns/index.js.map +1 -1
  137. package/lib/module/theme/functions/fns/rgba.js +46 -0
  138. package/lib/module/theme/functions/fns/rgba.js.map +1 -0
  139. package/lib/module/theme/functions/fns/size.js +15 -0
  140. package/lib/module/theme/functions/fns/size.js.map +1 -0
  141. package/lib/module/theme/theme-provider.js +6 -8
  142. package/lib/module/theme/theme-provider.js.map +1 -1
  143. package/lib/typescript/commonjs/src/components/Button/Button.styles.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/src/components/Button/index.d.ts +1 -0
  145. package/lib/typescript/commonjs/src/components/Button/index.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/src/components/CloseButton/index.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/src/components/Collapse/index.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/src/components/Dialog/index.d.ts +2 -0
  149. package/lib/typescript/commonjs/src/components/Dialog/index.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/src/components/Drawer/index.d.ts.map +1 -1
  151. package/lib/typescript/commonjs/src/components/Icon/index.d.ts +26 -0
  152. package/lib/typescript/commonjs/src/components/Icon/index.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/components/Input/Input.styles.d.ts +7 -0
  154. package/lib/typescript/commonjs/src/components/Input/Input.styles.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/components/Input/index.d.ts +1 -1
  156. package/lib/typescript/commonjs/src/components/Input/index.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/components/Menu/index.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/src/components/Modal/index.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/components/Notification/index.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/components/NumberInput/index.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/components/PinInput/index.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/components/Popover/index.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/components/RingProgress/index.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/components/SegmentedControl/index.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/components/Slider/index.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/src/components/Stepper/index.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/src/components/Table/index.d.ts +16 -7
  168. package/lib/typescript/commonjs/src/components/Table/index.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/components/TextInput/index.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/src/components/Timeline/index.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/components/Tooltip/index.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/components/TransferList/index.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/src/components/Transition/index.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/components/UnstyledButton/UnstyledButton.d.ts +2 -0
  175. package/lib/typescript/commonjs/src/components/UnstyledButton/UnstyledButton.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/components/index.d.ts +1 -1
  177. package/lib/typescript/commonjs/src/components/index.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/hooks/useCachedResources.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/src/theme/functions/attach-functions.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/theme/functions/fns/helpers.d.ts +7 -0
  181. package/lib/typescript/commonjs/src/theme/functions/fns/helpers.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/src/theme/functions/fns/index.d.ts +7 -0
  183. package/lib/typescript/commonjs/src/theme/functions/fns/index.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/theme/functions/fns/rgba.d.ts +8 -0
  185. package/lib/typescript/commonjs/src/theme/functions/fns/rgba.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/src/theme/functions/fns/size.d.ts +6 -0
  187. package/lib/typescript/commonjs/src/theme/functions/fns/size.d.ts.map +1 -0
  188. package/lib/typescript/module/src/components/Button/Button.styles.d.ts.map +1 -1
  189. package/lib/typescript/module/src/components/Button/index.d.ts +1 -0
  190. package/lib/typescript/module/src/components/Button/index.d.ts.map +1 -1
  191. package/lib/typescript/module/src/components/CloseButton/index.d.ts.map +1 -1
  192. package/lib/typescript/module/src/components/Collapse/index.d.ts.map +1 -1
  193. package/lib/typescript/module/src/components/Dialog/index.d.ts +2 -0
  194. package/lib/typescript/module/src/components/Dialog/index.d.ts.map +1 -1
  195. package/lib/typescript/module/src/components/Drawer/index.d.ts.map +1 -1
  196. package/lib/typescript/module/src/components/Icon/index.d.ts +26 -0
  197. package/lib/typescript/module/src/components/Icon/index.d.ts.map +1 -0
  198. package/lib/typescript/module/src/components/Input/Input.styles.d.ts +7 -0
  199. package/lib/typescript/module/src/components/Input/Input.styles.d.ts.map +1 -1
  200. package/lib/typescript/module/src/components/Input/index.d.ts +1 -1
  201. package/lib/typescript/module/src/components/Input/index.d.ts.map +1 -1
  202. package/lib/typescript/module/src/components/Menu/index.d.ts.map +1 -1
  203. package/lib/typescript/module/src/components/Modal/index.d.ts.map +1 -1
  204. package/lib/typescript/module/src/components/Notification/index.d.ts.map +1 -1
  205. package/lib/typescript/module/src/components/NumberInput/index.d.ts.map +1 -1
  206. package/lib/typescript/module/src/components/PinInput/index.d.ts.map +1 -1
  207. package/lib/typescript/module/src/components/Popover/index.d.ts.map +1 -1
  208. package/lib/typescript/module/src/components/RingProgress/index.d.ts.map +1 -1
  209. package/lib/typescript/module/src/components/SegmentedControl/index.d.ts.map +1 -1
  210. package/lib/typescript/module/src/components/Slider/index.d.ts.map +1 -1
  211. package/lib/typescript/module/src/components/Stepper/index.d.ts.map +1 -1
  212. package/lib/typescript/module/src/components/Table/index.d.ts +16 -7
  213. package/lib/typescript/module/src/components/Table/index.d.ts.map +1 -1
  214. package/lib/typescript/module/src/components/TextInput/index.d.ts.map +1 -1
  215. package/lib/typescript/module/src/components/Timeline/index.d.ts.map +1 -1
  216. package/lib/typescript/module/src/components/Tooltip/index.d.ts.map +1 -1
  217. package/lib/typescript/module/src/components/TransferList/index.d.ts.map +1 -1
  218. package/lib/typescript/module/src/components/Transition/index.d.ts.map +1 -1
  219. package/lib/typescript/module/src/components/UnstyledButton/UnstyledButton.d.ts +2 -0
  220. package/lib/typescript/module/src/components/UnstyledButton/UnstyledButton.d.ts.map +1 -1
  221. package/lib/typescript/module/src/components/index.d.ts +1 -1
  222. package/lib/typescript/module/src/components/index.d.ts.map +1 -1
  223. package/lib/typescript/module/src/hooks/useCachedResources.d.ts.map +1 -1
  224. package/lib/typescript/module/src/theme/functions/attach-functions.d.ts.map +1 -1
  225. package/lib/typescript/module/src/theme/functions/fns/helpers.d.ts +7 -0
  226. package/lib/typescript/module/src/theme/functions/fns/helpers.d.ts.map +1 -1
  227. package/lib/typescript/module/src/theme/functions/fns/index.d.ts +7 -0
  228. package/lib/typescript/module/src/theme/functions/fns/index.d.ts.map +1 -1
  229. package/lib/typescript/module/src/theme/functions/fns/rgba.d.ts +8 -0
  230. package/lib/typescript/module/src/theme/functions/fns/rgba.d.ts.map +1 -0
  231. package/lib/typescript/module/src/theme/functions/fns/size.d.ts +6 -0
  232. package/lib/typescript/module/src/theme/functions/fns/size.d.ts.map +1 -0
  233. package/package.json +12 -9
  234. package/src/components/Button/Button.styles.ts +5 -48
  235. package/src/components/Button/index.tsx +56 -81
  236. package/src/components/Chip/index.tsx +3 -3
  237. package/src/components/CloseButton/index.tsx +2 -23
  238. package/src/components/Collapse/index.tsx +11 -2
  239. package/src/components/Dialog/index.tsx +54 -9
  240. package/src/components/Drawer/index.tsx +7 -13
  241. package/src/components/Icon/index.tsx +74 -0
  242. package/src/components/Input/Input.styles.ts +1 -202
  243. package/src/components/Input/index.ts +1 -1
  244. package/src/components/List/index.tsx +1 -1
  245. package/src/components/Menu/index.tsx +13 -10
  246. package/src/components/Modal/index.tsx +11 -16
  247. package/src/components/Notification/index.tsx +10 -2
  248. package/src/components/NumberInput/index.tsx +57 -15
  249. package/src/components/PasswordInput/index.tsx +2 -2
  250. package/src/components/PinInput/index.tsx +24 -9
  251. package/src/components/Popover/index.tsx +13 -10
  252. package/src/components/RingProgress/index.tsx +51 -8
  253. package/src/components/SegmentedControl/index.tsx +6 -4
  254. package/src/components/Slider/index.tsx +14 -3
  255. package/src/components/Stepper/index.tsx +5 -4
  256. package/src/components/Table/index.tsx +73 -36
  257. package/src/components/TextInput/index.tsx +93 -66
  258. package/src/components/Timeline/index.tsx +19 -12
  259. package/src/components/Tooltip/index.tsx +13 -10
  260. package/src/components/TransferList/index.tsx +1 -5
  261. package/src/components/Transition/index.tsx +14 -2
  262. package/src/components/UnstyledButton/UnstyledButton.tsx +5 -1
  263. package/src/components/index.tsx +1 -1
  264. package/src/hooks/useCachedResources.ts +1 -4
  265. package/src/theme/functions/attach-functions.ts +3 -0
  266. package/src/theme/functions/fns/helpers.ts +19 -7
  267. package/src/theme/functions/fns/index.ts +4 -0
  268. package/src/theme/functions/fns/rgba.ts +45 -0
  269. package/src/theme/functions/fns/size.ts +14 -0
  270. package/src/theme/theme-provider.tsx +6 -6
  271. package/src/theme/types/MantineStyleSystem.ts +0 -53
  272. package/lib/commonjs/components/Portal/index.js +0 -69
  273. package/lib/commonjs/components/Portal/index.js.map +0 -1
  274. package/lib/module/components/Portal/index.js +0 -62
  275. package/lib/module/components/Portal/index.js.map +0 -1
  276. package/lib/typescript/commonjs/src/components/Portal/index.d.ts +0 -10
  277. package/lib/typescript/commonjs/src/components/Portal/index.d.ts.map +0 -1
  278. package/lib/typescript/module/src/components/Portal/index.d.ts +0 -10
  279. package/lib/typescript/module/src/components/Portal/index.d.ts.map +0 -1
  280. package/src/components/Portal/index.tsx +0 -75
@@ -21,205 +21,4 @@ export const sizes = {
21
21
  xl: rem(60),
22
22
  };
23
23
 
24
- // const INPUT_VARIANTS = ['default', 'filled', 'unstyled'];
25
-
26
- // interface GetVariantStylesInput {
27
- // theme: MantineTheme;
28
- // variant: string;
29
- // }
30
-
31
- // function getVariantStyles({ theme, variant }: GetVariantStylesInput) {
32
- // if (!INPUT_VARIANTS.includes(variant)) {
33
- // return null;
34
- // }
35
-
36
- // if (variant === 'default') {
37
- // return {
38
- // 'border': `${rem(1)} solid ${
39
- // theme.colorScheme === 'dark'
40
- // ? theme.colors.dark[4]
41
- // : theme.colors.gray[4]
42
- // }`,
43
- // 'backgroundColor':
44
- // theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,
45
- // 'transition': 'border-color 100ms ease',
46
- // '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),
47
- // };
48
- // }
49
-
50
- // if (variant === 'filled') {
51
- // return {
52
- // 'border': `${rem(1)} solid transparent`,
53
- // 'backgroundColor':
54
- // theme.colorScheme === 'dark'
55
- // ? theme.colors.dark[5]
56
- // : theme.colors.gray[1],
57
- // '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),
58
- // };
59
- // }
60
-
61
- // return {
62
- // 'borderWidth': 0,
63
- // 'color': theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,
64
- // 'backgroundColor': 'transparent',
65
- // 'minHeight': rem(28),
66
- // 'outline': 0,
67
-
68
- // '&:focus, &:focus-within': {
69
- // outline: 'none',
70
- // borderColor: 'transparent',
71
- // },
72
-
73
- // '&:disabled': {
74
- // 'backgroundColor': 'transparent',
75
-
76
- // '&:focus, &:focus-within': {
77
- // outline: 'none',
78
- // borderColor: 'transparent',
79
- // },
80
- // },
81
- // };
82
- // }
83
-
84
- // export default createStyles(
85
- // (
86
- // theme,
87
- // {
88
- // multiline,
89
- // radius,
90
- // invalid,
91
- // rightSectionWidth,
92
- // withRightSection,
93
- // iconWidth,
94
- // offsetBottom,
95
- // offsetTop,
96
- // pointer,
97
- // }: InputStylesParams,
98
- // { variant, size }
99
- // ) => {
100
- // const invalidColor = theme.fn.variant({
101
- // variant: 'filled',
102
- // color: 'red',
103
- // }).background;
104
- // const sizeStyles =
105
- // variant === 'default' || variant === 'filled'
106
- // ? {
107
- // minHeight: getSize({ size, sizes }),
108
- // paddingLeft: `calc(${getSize({ size, sizes })} / 3)`,
109
- // paddingRight: withRightSection
110
- // ? rightSectionWidth || getSize({ size, sizes })
111
- // : `calc(${getSize({ size, sizes })} / 3)`,
112
- // borderRadius: theme.fn.radius(radius),
113
- // }
114
- // : null;
115
-
116
- // return {
117
- // wrapper: {
118
- // position: 'relative',
119
- // marginTop: offsetTop ? `calc(${theme.spacing.xs} / 2)` : undefined,
120
- // marginBottom: offsetBottom
121
- // ? `calc(${theme.spacing.xs} / 2)`
122
- // : undefined,
123
- // },
124
-
125
- // input: {
126
- // ...theme.fn.fontStyles(),
127
- // 'height': multiline
128
- // ? variant === 'unstyled'
129
- // ? undefined
130
- // : 'auto'
131
- // : getSize({ size, sizes }),
132
- // 'WebkitTapHighlightColor': 'transparent',
133
- // 'lineHeight': multiline
134
- // ? theme.lineHeight
135
- // : `calc(${getSize({ size, sizes })} - ${rem(2)})`,
136
- // 'appearance': 'none',
137
- // 'resize': 'none',
138
- // 'boxSizing': 'border-box',
139
- // 'fontSize': getSize({ size, sizes: theme.fontSizes }),
140
- // 'width': '100%',
141
- // 'color':
142
- // theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,
143
- // 'display': 'block',
144
- // 'textAlign': 'left',
145
- // 'cursor': pointer ? 'pointer' : undefined,
146
- // ...getVariantStyles({ theme, variant }),
147
- // ...sizeStyles,
148
-
149
- // '&:disabled, &[data-disabled]': {
150
- // 'backgroundColor':
151
- // theme.colorScheme === 'dark'
152
- // ? theme.colors.dark[6]
153
- // : theme.colors.gray[1],
154
- // 'color': theme.colors.dark[2],
155
- // 'opacity': 0.6,
156
- // 'cursor': 'not-allowed',
157
-
158
- // '&::placeholder': {
159
- // color: theme.colors.dark[2],
160
- // },
161
- // },
162
-
163
- // '&[data-invalid]': {
164
- // 'color': invalidColor,
165
- // 'borderColor': invalidColor,
166
-
167
- // '&::placeholder': {
168
- // opacity: 1,
169
- // color: invalidColor,
170
- // },
171
- // },
172
-
173
- // '&[data-with-icon]': {
174
- // paddingLeft:
175
- // typeof iconWidth === 'number'
176
- // ? rem(iconWidth)
177
- // : getSize({ size, sizes }),
178
- // },
179
-
180
- // '&::placeholder': {
181
- // ...theme.fn.placeholderStyles(),
182
- // opacity: 1,
183
- // },
184
-
185
- // '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':
186
- // {
187
- // appearance: 'none',
188
- // },
189
-
190
- // '&[type=number]': {
191
- // MozAppearance: 'textfield',
192
- // },
193
- // },
194
-
195
- // icon: {
196
- // pointerEvents: 'none',
197
- // position: 'absolute',
198
- // zIndex: 1,
199
- // left: 0,
200
- // top: 0,
201
- // bottom: 0,
202
- // display: 'flex',
203
- // alignItems: 'center',
204
- // justifyContent: 'center',
205
- // width: iconWidth ? rem(iconWidth) : getSize({ size, sizes }),
206
- // color: invalid
207
- // ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]
208
- // : theme.colorScheme === 'dark'
209
- // ? theme.colors.dark[2]
210
- // : theme.colors.gray[5],
211
- // },
212
-
213
- // rightSection: {
214
- // position: 'absolute',
215
- // top: 0,
216
- // bottom: 0,
217
- // right: 0,
218
- // display: 'flex',
219
- // alignItems: 'center',
220
- // justifyContent: 'center',
221
- // width: rightSectionWidth || getSize({ size, sizes }),
222
- // },
223
- // };
224
- // }
225
- // );
24
+ export const INPUT_SIZES = sizes;
@@ -1 +1 @@
1
- export { sizes as INPUT_SIZES } from './Input.styles';
1
+ export { INPUT_SIZES } from './Input.styles';
@@ -228,7 +228,7 @@ const ListRoot = forwardRef<any, ListProps>((props, ref) => {
228
228
  <BoxView ref={ref} style={sx(styles.root, style)} {...others}>
229
229
  {childrenArray.map((child, index) => {
230
230
  if (!React.isValidElement(child)) return child;
231
- return React.cloneElement(child as React.ReactElement, {
231
+ return React.cloneElement<ListItemProps>(child as React.ReactElement<ListItemProps>, {
232
232
  key: index,
233
233
  __index: index,
234
234
  });
@@ -3,11 +3,11 @@ import {
3
3
  View,
4
4
  TouchableOpacity,
5
5
  Animated,
6
+ Modal,
6
7
  } from 'react-native';
7
8
  import { BoxView } from '../BoxView';
8
9
  import { Text } from '../Text';
9
10
  import { Divider } from '../Divider';
10
- import { Portal } from '../Portal';
11
11
  import type {
12
12
  DefaultProps,
13
13
  MantineColor,
@@ -171,7 +171,7 @@ interface MenuContextValue {
171
171
  opened: boolean;
172
172
  setOpened: (opened: boolean) => void;
173
173
  closeOnItemClick: boolean;
174
- targetRef: React.RefObject<View>;
174
+ targetRef: React.RefObject<View | null>;
175
175
  dropdownPosition: { top: number; left: number; width: number };
176
176
  setDropdownPosition: (pos: { top: number; left: number; width: number }) => void;
177
177
  }
@@ -216,7 +216,7 @@ const MenuTarget: React.FC<MenuTargetProps> = ({ children }) => {
216
216
  setOpened(true);
217
217
  };
218
218
 
219
- return React.cloneElement(children, {
219
+ return React.cloneElement(children as React.ReactElement<any>, {
220
220
  ref: targetRef,
221
221
  onPress: handlePress,
222
222
  });
@@ -241,16 +241,19 @@ const MenuDropdown: React.FC<MenuDropdownProps> = ({ children, style, ...others
241
241
  }
242
242
 
243
243
  return (
244
- <Portal>
244
+ <Modal
245
+ visible={opened}
246
+ transparent
247
+ animationType="none"
248
+ onRequestClose={() => setOpened(false)}
249
+ statusBarTranslucent
250
+ >
245
251
  <TouchableOpacity
246
252
  activeOpacity={1}
247
253
  onPress={() => setOpened(false)}
248
254
  style={{
249
- position: 'absolute',
250
- top: 0,
251
- left: 0,
252
- right: 0,
253
- bottom: 0,
255
+ flex: 1,
256
+ backgroundColor: 'transparent',
254
257
  }}
255
258
  >
256
259
  <Animated.View
@@ -268,7 +271,7 @@ const MenuDropdown: React.FC<MenuDropdownProps> = ({ children, style, ...others
268
271
  {children}
269
272
  </Animated.View>
270
273
  </TouchableOpacity>
271
- </Portal>
274
+ </Modal>
272
275
  );
273
276
  };
274
277
 
@@ -110,10 +110,11 @@ const useStyles = createStyles(
110
110
  return {
111
111
  overlay: {
112
112
  flex: 1,
113
- backgroundColor: 'rgba(0, 0, 0, 0.001)',
113
+ backgroundColor: 'transparent',
114
114
  justifyContent: centered ? 'center' : 'flex-start',
115
115
  alignItems: 'center',
116
116
  paddingTop: (centered ? 0 : rem(60)) as any,
117
+ zIndex: 1001, // Ensure modal content is above backdrop
117
118
  },
118
119
  container: {
119
120
  backgroundColor: theme.colorScheme === 'dark' ? (theme.colors.dark || [])[7] : theme.white,
@@ -124,6 +125,7 @@ const useStyles = createStyles(
124
125
  ...(fullScreen && {
125
126
  height: '100%',
126
127
  }),
128
+ zIndex: 1002, // Ensure modal content is above its parent overlay
127
129
  },
128
130
  header: {
129
131
  padding: getPadding(),
@@ -254,24 +256,17 @@ export const Modal = forwardRef<any, ModalProps>((props, ref) => {
254
256
  behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
255
257
  style={{ flex: 1 }}
256
258
  >
259
+ {/* Full screen overlay backdrop */}
257
260
  {withOverlay && (
258
- <Animated.View
259
- style={[
260
- {
261
- ...styles.overlay,
262
- opacity: fadeAnim,
263
- },
264
- ]}
265
- >
266
- <Overlay
267
- opacity={overlayOpacity}
268
- color={overlayColor}
269
- onPress={handleOverlayPress}
270
- style={{ position: 'absolute' }}
271
- />
272
- </Animated.View>
261
+ <Overlay
262
+ opacity={overlayOpacity}
263
+ color={overlayColor}
264
+ onPress={handleOverlayPress}
265
+ zIndex={1000}
266
+ />
273
267
  )}
274
268
 
269
+ {/* Modal container positioned over overlay */}
275
270
  <TouchableOpacity
276
271
  activeOpacity={1}
277
272
  style={styles.overlay}
@@ -156,10 +156,18 @@ export const Notification = forwardRef<any, NotificationProps>((props, ref) => {
156
156
 
157
157
  <BoxView style={styles.body}>
158
158
  {title && (
159
- <Text style={styles.title}>{typeof title === 'string' ? title : title}</Text>
159
+ typeof title === 'string' || typeof title === 'number' ? (
160
+ <Text style={styles.title}>{title}</Text>
161
+ ) : (
162
+ <BoxView style={{ marginBottom: styles.title.marginBottom }}>{title}</BoxView>
163
+ )
160
164
  )}
161
165
  {message && (
162
- <Text style={styles.message}>{typeof message === 'string' ? message : message}</Text>
166
+ typeof message === 'string' || typeof message === 'number' ? (
167
+ <Text style={styles.message}>{message}</Text>
168
+ ) : (
169
+ <BoxView>{message}</BoxView>
170
+ )
163
171
  )}
164
172
  </BoxView>
165
173
 
@@ -4,7 +4,6 @@ import { BoxView } from '../BoxView';
4
4
  import { Text } from '../Text';
5
5
  import type {
6
6
  DefaultProps,
7
-
8
7
  MantineNumberSize,
9
8
  MantineSize,
10
9
  } from '../../theme/types';
@@ -13,7 +12,19 @@ import { createStyles, getSize } from '../../theme';
13
12
  import { rem } from '../../theme/utils/rem';
14
13
  import { INPUT_SIZES } from '../Input';
15
14
 
16
- export interface NumberInputProps extends DefaultProps, Omit<TextInputProps, 'value' | 'onChangeText' | 'onChange' | 'keyboardType' | 'editable' | 'placeholderTextColor' | 'defaultValue'> {
15
+ export interface NumberInputProps
16
+ extends
17
+ DefaultProps,
18
+ Omit<
19
+ TextInputProps,
20
+ | 'value'
21
+ | 'onChangeText'
22
+ | 'onChange'
23
+ | 'keyboardType'
24
+ | 'editable'
25
+ | 'placeholderTextColor'
26
+ | 'defaultValue'
27
+ > {
17
28
  /** Input label */
18
29
  label?: React.ReactNode;
19
30
 
@@ -101,7 +112,9 @@ const useStyles = createStyles(
101
112
  case 'filled':
102
113
  return {
103
114
  backgroundColor:
104
- theme.colorScheme === 'dark' ? (theme.colors.dark || [])[5] : (theme.colors.gray || [])[1],
115
+ theme.colorScheme === 'dark'
116
+ ? (theme.colors.dark || [])[5]
117
+ : (theme.colors.gray || [])[1],
105
118
  borderWidth: 1,
106
119
  borderColor: 'transparent',
107
120
  };
@@ -112,10 +125,15 @@ const useStyles = createStyles(
112
125
  };
113
126
  default:
114
127
  return {
115
- backgroundColor: theme.colorScheme === 'dark' ? (theme.colors.dark || [])[6] : theme.white,
128
+ backgroundColor:
129
+ theme.colorScheme === 'dark'
130
+ ? (theme.colors.dark || [])[6]
131
+ : theme.white,
116
132
  borderWidth: 1,
117
133
  borderColor:
118
- theme.colorScheme === 'dark' ? (theme.colors.dark || [])[4] : (theme.colors.gray || [])[4],
134
+ theme.colorScheme === 'dark'
135
+ ? (theme.colors.dark || [])[4]
136
+ : (theme.colors.gray || [])[4],
119
137
  };
120
138
  }
121
139
  };
@@ -132,7 +150,10 @@ const useStyles = createStyles(
132
150
  },
133
151
  description: {
134
152
  fontSize: theme.fontSizes.xs as number,
135
- color: theme.colorScheme === 'dark' ? (theme.colors.dark || [])[2] : (theme.colors.gray || [])[6],
153
+ color:
154
+ theme.colorScheme === 'dark'
155
+ ? (theme.colors.dark || [])[2]
156
+ : (theme.colors.gray || [])[6],
136
157
  marginTop: theme.spacing.xs,
137
158
  },
138
159
  error: {
@@ -166,6 +187,7 @@ const useStyles = createStyles(
166
187
  ...(withIcon && {
167
188
  paddingLeft: 0,
168
189
  }),
190
+ fontFamily: theme.fontFamilyInput,
169
191
  },
170
192
  controls: {
171
193
  flexDirection: 'row',
@@ -178,12 +200,17 @@ const useStyles = createStyles(
178
200
  alignItems: 'center',
179
201
  borderLeftWidth: 1,
180
202
  borderLeftColor:
181
- theme.colorScheme === 'dark' ? (theme.colors.dark || [])[4] : (theme.colors.gray || [])[4],
203
+ theme.colorScheme === 'dark'
204
+ ? (theme.colors.dark || [])[4]
205
+ : (theme.colors.gray || [])[4],
182
206
  },
183
207
  controlText: {
184
208
  fontSize: rem(18) as any,
185
209
  fontWeight: '600',
186
- color: theme.colorScheme === 'dark' ? (theme.colors.dark || [])[0] : (theme.colors.gray || [])[7],
210
+ color:
211
+ theme.colorScheme === 'dark'
212
+ ? (theme.colors.dark || [])[0]
213
+ : (theme.colors.gray || [])[7],
187
214
  },
188
215
  };
189
216
  }
@@ -226,9 +253,12 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
226
253
  } = useComponentDefaultProps('NumberInput', defaultProps, props);
227
254
 
228
255
  const theme = useTheme();
229
- const [uncontrolledValue, setUncontrolledValue] = useState<number | ''>(defaultValue ?? '');
256
+ const [uncontrolledValue, setUncontrolledValue] = useState<number | ''>(
257
+ defaultValue ?? ''
258
+ );
230
259
 
231
- const value = controlledValue !== undefined ? controlledValue : uncontrolledValue;
260
+ const value =
261
+ controlledValue !== undefined ? controlledValue : uncontrolledValue;
232
262
 
233
263
  const { styles, sx } = useStyles(
234
264
  {
@@ -297,7 +327,9 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
297
327
  return (
298
328
  <BoxView style={sx(styles.wrapper, wrapperStyle)}>
299
329
  {label && (
300
- <Text style={styles.label}>{typeof label === 'string' ? label : label}</Text>
330
+ <Text style={styles.label}>
331
+ {typeof label === 'string' ? label : label}
332
+ </Text>
301
333
  )}
302
334
 
303
335
  <BoxView style={sx(styles.inputWrapper, style)}>
@@ -309,7 +341,9 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
309
341
  onChangeText={handleChange}
310
342
  placeholder={placeholder}
311
343
  placeholderTextColor={
312
- theme.colorScheme === 'dark' ? (theme.colors.dark || [])[3] : (theme.colors.gray || [])[5]
344
+ theme.colorScheme === 'dark'
345
+ ? (theme.colors.dark || [])[3]
346
+ : (theme.colors.gray || [])[5]
313
347
  }
314
348
  keyboardType="numeric"
315
349
  editable={!disabled}
@@ -322,7 +356,10 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
322
356
  <TouchableOpacity
323
357
  style={styles.control}
324
358
  onPress={handleDecrement}
325
- disabled={disabled || (min !== undefined && typeof value === 'number' && value <= min)}
359
+ disabled={
360
+ disabled ||
361
+ (min !== undefined && typeof value === 'number' && value <= min)
362
+ }
326
363
  activeOpacity={0.7}
327
364
  >
328
365
  <Text style={styles.controlText}>−</Text>
@@ -331,7 +368,10 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
331
368
  <TouchableOpacity
332
369
  style={styles.control}
333
370
  onPress={handleIncrement}
334
- disabled={disabled || (max !== undefined && typeof value === 'number' && value >= max)}
371
+ disabled={
372
+ disabled ||
373
+ (max !== undefined && typeof value === 'number' && value >= max)
374
+ }
335
375
  activeOpacity={0.7}
336
376
  >
337
377
  <Text style={styles.controlText}>+</Text>
@@ -347,7 +387,9 @@ export const NumberInput = forwardRef<any, NumberInputProps>((props, ref) => {
347
387
  )}
348
388
 
349
389
  {error && (
350
- <Text style={styles.error}>{typeof error === 'string' ? error : error}</Text>
390
+ <Text style={styles.error}>
391
+ {typeof error === 'string' ? error : error}
392
+ </Text>
351
393
  )}
352
394
  </BoxView>
353
395
  );
@@ -1,7 +1,7 @@
1
1
  import React, { forwardRef, useState } from 'react';
2
2
  import { TextInput as RNTextInput, Pressable } from 'react-native';
3
3
  import { TextInput, type TextInputProps } from '../TextInput';
4
- import { Text } from '../Text';
4
+ import { Icon } from '../Icon';
5
5
 
6
6
  export interface PasswordInputProps extends Omit<TextInputProps, 'rightSection' | 'type'> {
7
7
  /** Toggle button aria-label */
@@ -22,7 +22,7 @@ const defaultProps: Partial<PasswordInputProps> = {
22
22
  };
23
23
 
24
24
  const DefaultEyeIcon = ({ visible }: { visible: boolean }) => (
25
- <Text style={{ fontSize: 18 }}>{visible ? '👁️' : '👁️‍🗨️'}</Text>
25
+ <Icon name={visible ? 'eye' : 'eye-slash'} size={16} useThemeColor />
26
26
  );
27
27
 
28
28
  export const PasswordInput = forwardRef<RNTextInput, PasswordInputProps>((props, ref) => {
@@ -1,12 +1,15 @@
1
1
  import { forwardRef, useRef, useState } from 'react';
2
2
  import { TextInput } from 'react-native';
3
3
  import { BoxView } from '../BoxView';
4
- import type { DefaultProps, MantineNumberSize, MantineSize } from '../../theme/types';
4
+ import type {
5
+ DefaultProps,
6
+ MantineNumberSize,
7
+ MantineSize,
8
+ } from '../../theme/types';
5
9
  import { useComponentDefaultProps } from '../../theme/theme-provider';
6
10
  import { createStyles, getSize } from '../../theme';
7
11
  import { rem } from '../../theme/utils/rem';
8
12
 
9
-
10
13
  export interface PinInputProps extends DefaultProps {
11
14
  /** Number of inputs */
12
15
  length?: number;
@@ -94,18 +97,23 @@ const useStyles = createStyles(
94
97
  borderColor: error
95
98
  ? (theme.colors.red || [])[6]
96
99
  : theme.colorScheme === 'dark'
97
- ? (theme.colors.dark || [])[4]
98
- : (theme.colors.gray || [])[4],
99
- backgroundColor: theme.colorScheme === 'dark' ? (theme.colors.dark || [])[6] : theme.white,
100
+ ? (theme.colors.dark || [])[4]
101
+ : (theme.colors.gray || [])[4],
102
+ backgroundColor:
103
+ theme.colorScheme === 'dark'
104
+ ? (theme.colors.dark || [])[6]
105
+ : theme.white,
100
106
  fontSize: getSize({ size, sizes: theme.fontSizes }) as any,
101
107
  textAlign: 'center',
102
108
  color: theme.colorScheme === 'dark' ? theme.white : theme.black,
103
109
  ...(disabled && {
104
110
  opacity: 0.6,
105
111
  }),
112
+ fontFamily: theme.fontFamilyInput,
106
113
  },
107
114
  inputFocused: {
108
- borderColor: theme.colors[theme.primaryColor]?.[6] || theme.primaryBgColor,
115
+ borderColor:
116
+ theme.colors[theme.primaryColor]?.[6] || theme.primaryBgColor,
109
117
  borderWidth: 2,
110
118
  },
111
119
  };
@@ -142,10 +150,13 @@ export const PinInput = forwardRef<any, PinInputProps>((props, ref) => {
142
150
  ...others
143
151
  } = useComponentDefaultProps('PinInput', defaultProps, props);
144
152
 
145
- const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue || '');
153
+ const [uncontrolledValue, setUncontrolledValue] = useState(
154
+ defaultValue || ''
155
+ );
146
156
  const [focusedIndex, setFocusedIndex] = useState<number | null>(null);
147
157
 
148
- const value = controlledValue !== undefined ? controlledValue : uncontrolledValue;
158
+ const value =
159
+ controlledValue !== undefined ? controlledValue : uncontrolledValue;
149
160
  const inputRefs = useRef<(TextInput | null)[]>([]);
150
161
 
151
162
  const { styles, sx } = useStyles(
@@ -226,7 +237,11 @@ export const PinInput = forwardRef<any, PinInputProps>((props, ref) => {
226
237
  return (
227
238
  <TextInput
228
239
  key={index}
229
- ref={(el) => (inputRefs.current[index] = el)}
240
+ ref={(el) => {
241
+ if (inputRefs.current) {
242
+ inputRefs.current[index] = el;
243
+ }
244
+ }}
230
245
  value={mask && displayValue ? '•' : displayValue}
231
246
  onChangeText={(text) => handleChange(text, index)}
232
247
  onKeyPress={(e) => handleKeyPress(e, index)}
@@ -3,9 +3,9 @@ import {
3
3
  View,
4
4
  TouchableWithoutFeedback,
5
5
  Animated,
6
+ Modal,
6
7
  } from 'react-native';
7
8
  import { BoxView } from '../BoxView';
8
- import { Portal } from '../Portal';
9
9
  import type {
10
10
  DefaultProps,
11
11
 
@@ -92,7 +92,7 @@ const defaultProps: Partial<PopoverProps> = {
92
92
  interface PopoverContextValue {
93
93
  opened: boolean;
94
94
  setOpened: (opened: boolean) => void;
95
- targetRef: React.RefObject<View>;
95
+ targetRef: React.RefObject<View | null>;
96
96
  dropdownPosition: { top: number; left: number; width: number };
97
97
  setDropdownPosition: (pos: { top: number; left: number; width: number }) => void;
98
98
  }
@@ -123,7 +123,7 @@ const PopoverTarget: React.FC<PopoverTargetProps> = ({ children }) => {
123
123
  setOpened(true);
124
124
  };
125
125
 
126
- return React.cloneElement(children, {
126
+ return React.cloneElement(children as React.ReactElement<any>, {
127
127
  ref: targetRef,
128
128
  onPress: handlePress,
129
129
  });
@@ -148,15 +148,18 @@ const PopoverDropdown: React.FC<PopoverDropdownProps> = ({ children, style, ...o
148
148
  }
149
149
 
150
150
  return (
151
- <Portal>
151
+ <Modal
152
+ visible={opened}
153
+ transparent
154
+ animationType="none"
155
+ onRequestClose={() => setOpened(false)}
156
+ statusBarTranslucent
157
+ >
152
158
  <TouchableWithoutFeedback onPress={() => setOpened(false)}>
153
159
  <View
154
160
  style={{
155
- position: 'absolute',
156
- top: 0,
157
- left: 0,
158
- right: 0,
159
- bottom: 0,
161
+ flex: 1,
162
+ backgroundColor: 'transparent',
160
163
  }}
161
164
  >
162
165
  <Animated.View
@@ -175,7 +178,7 @@ const PopoverDropdown: React.FC<PopoverDropdownProps> = ({ children, style, ...o
175
178
  </Animated.View>
176
179
  </View>
177
180
  </TouchableWithoutFeedback>
178
- </Portal>
181
+ </Modal>
179
182
  );
180
183
  };
181
184