@medway-ui/native 1.6.0 → 1.7.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 (224) hide show
  1. package/README.md +27 -2
  2. package/lib/commonjs/components/Alert.js +3 -1
  3. package/lib/commonjs/components/Alert.js.map +1 -1
  4. package/lib/commonjs/components/AlertDialog.js +5 -2
  5. package/lib/commonjs/components/AlertDialog.js.map +1 -1
  6. package/lib/commonjs/components/Badge.js +37 -2
  7. package/lib/commonjs/components/Badge.js.map +1 -1
  8. package/lib/commonjs/components/Button.js +32 -1
  9. package/lib/commonjs/components/Button.js.map +1 -1
  10. package/lib/commonjs/components/Carousel.js +12 -2
  11. package/lib/commonjs/components/Carousel.js.map +1 -1
  12. package/lib/commonjs/components/Checkbox.js +2 -0
  13. package/lib/commonjs/components/Checkbox.js.map +1 -1
  14. package/lib/commonjs/components/Chip.js +208 -0
  15. package/lib/commonjs/components/Chip.js.map +1 -0
  16. package/lib/commonjs/components/Choice.js +116 -0
  17. package/lib/commonjs/components/Choice.js.map +1 -0
  18. package/lib/commonjs/components/Dialog.js +27 -16
  19. package/lib/commonjs/components/Dialog.js.map +1 -1
  20. package/lib/commonjs/components/DropdownMenu.js +73 -57
  21. package/lib/commonjs/components/DropdownMenu.js.map +1 -1
  22. package/lib/commonjs/components/EmptyState.js +9 -2
  23. package/lib/commonjs/components/EmptyState.js.map +1 -1
  24. package/lib/commonjs/components/Feed.js +7 -3
  25. package/lib/commonjs/components/Feed.js.map +1 -1
  26. package/lib/commonjs/components/Feedback.js +77 -0
  27. package/lib/commonjs/components/Feedback.js.map +1 -0
  28. package/lib/commonjs/components/Filter.js +93 -0
  29. package/lib/commonjs/components/Filter.js.map +1 -0
  30. package/lib/commonjs/components/IndexLevel.js +4 -3
  31. package/lib/commonjs/components/IndexLevel.js.map +1 -1
  32. package/lib/commonjs/components/Input.js +149 -45
  33. package/lib/commonjs/components/Input.js.map +1 -1
  34. package/lib/commonjs/components/InvitePopover.js +4 -1
  35. package/lib/commonjs/components/InvitePopover.js.map +1 -1
  36. package/lib/commonjs/components/MemberRow.js +3 -4
  37. package/lib/commonjs/components/MemberRow.js.map +1 -1
  38. package/lib/commonjs/components/PostForm.js +18 -8
  39. package/lib/commonjs/components/PostForm.js.map +1 -1
  40. package/lib/commonjs/components/PrizeCollection.js +1 -1
  41. package/lib/commonjs/components/RadioGroup.js +7 -0
  42. package/lib/commonjs/components/RadioGroup.js.map +1 -1
  43. package/lib/commonjs/components/Select.js +1 -1
  44. package/lib/commonjs/components/Sheet.js +4 -1
  45. package/lib/commonjs/components/Sheet.js.map +1 -1
  46. package/lib/commonjs/components/Skeleton.js +55 -4
  47. package/lib/commonjs/components/Skeleton.js.map +1 -1
  48. package/lib/commonjs/components/Switch.js +2 -0
  49. package/lib/commonjs/components/Switch.js.map +1 -1
  50. package/lib/commonjs/components/Tabs.js +2 -0
  51. package/lib/commonjs/components/Tabs.js.map +1 -1
  52. package/lib/commonjs/components/Toast.js +355 -79
  53. package/lib/commonjs/components/Toast.js.map +1 -1
  54. package/lib/commonjs/editor/NoteEditor.js +36 -11
  55. package/lib/commonjs/editor/NoteEditor.js.map +1 -1
  56. package/lib/commonjs/editor/editorHtml.generated.js +1 -1
  57. package/lib/commonjs/editor/editorHtml.generated.js.map +1 -1
  58. package/lib/commonjs/hooks/useThemeColor.js +693 -65
  59. package/lib/commonjs/hooks/useThemeColor.js.map +1 -1
  60. package/lib/commonjs/hooks/useTrackedText.js +21 -0
  61. package/lib/commonjs/hooks/useTrackedText.js.map +1 -0
  62. package/lib/commonjs/index.js +46 -0
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/lib/optional-deps.js +20 -0
  65. package/lib/commonjs/lib/optional-deps.js.map +1 -0
  66. package/lib/commonjs/lib/touch-target.js +19 -0
  67. package/lib/commonjs/lib/touch-target.js.map +1 -0
  68. package/lib/module/components/Alert.js +3 -1
  69. package/lib/module/components/Alert.js.map +1 -1
  70. package/lib/module/components/AlertDialog.js +5 -2
  71. package/lib/module/components/AlertDialog.js.map +1 -1
  72. package/lib/module/components/Badge.js +36 -2
  73. package/lib/module/components/Badge.js.map +1 -1
  74. package/lib/module/components/Button.js +32 -1
  75. package/lib/module/components/Button.js.map +1 -1
  76. package/lib/module/components/Carousel.js +12 -2
  77. package/lib/module/components/Carousel.js.map +1 -1
  78. package/lib/module/components/Checkbox.js +2 -0
  79. package/lib/module/components/Checkbox.js.map +1 -1
  80. package/lib/module/components/Chip.js +204 -0
  81. package/lib/module/components/Chip.js.map +1 -0
  82. package/lib/module/components/Choice.js +112 -0
  83. package/lib/module/components/Choice.js.map +1 -0
  84. package/lib/module/components/Dialog.js +28 -17
  85. package/lib/module/components/Dialog.js.map +1 -1
  86. package/lib/module/components/DropdownMenu.js +74 -58
  87. package/lib/module/components/DropdownMenu.js.map +1 -1
  88. package/lib/module/components/EmptyState.js +9 -2
  89. package/lib/module/components/EmptyState.js.map +1 -1
  90. package/lib/module/components/Feed.js +7 -3
  91. package/lib/module/components/Feed.js.map +1 -1
  92. package/lib/module/components/Feedback.js +74 -0
  93. package/lib/module/components/Feedback.js.map +1 -0
  94. package/lib/module/components/Filter.js +89 -0
  95. package/lib/module/components/Filter.js.map +1 -0
  96. package/lib/module/components/IndexLevel.js +4 -3
  97. package/lib/module/components/IndexLevel.js.map +1 -1
  98. package/lib/module/components/Input.js +149 -45
  99. package/lib/module/components/Input.js.map +1 -1
  100. package/lib/module/components/InvitePopover.js +4 -1
  101. package/lib/module/components/InvitePopover.js.map +1 -1
  102. package/lib/module/components/MemberRow.js +3 -4
  103. package/lib/module/components/MemberRow.js.map +1 -1
  104. package/lib/module/components/PostForm.js +18 -8
  105. package/lib/module/components/PostForm.js.map +1 -1
  106. package/lib/module/components/PrizeCollection.js +1 -1
  107. package/lib/module/components/RadioGroup.js +7 -0
  108. package/lib/module/components/RadioGroup.js.map +1 -1
  109. package/lib/module/components/Select.js +1 -1
  110. package/lib/module/components/Sheet.js +4 -1
  111. package/lib/module/components/Sheet.js.map +1 -1
  112. package/lib/module/components/Skeleton.js +56 -5
  113. package/lib/module/components/Skeleton.js.map +1 -1
  114. package/lib/module/components/Switch.js +2 -0
  115. package/lib/module/components/Switch.js.map +1 -1
  116. package/lib/module/components/Tabs.js +2 -0
  117. package/lib/module/components/Tabs.js.map +1 -1
  118. package/lib/module/components/Toast.js +360 -84
  119. package/lib/module/components/Toast.js.map +1 -1
  120. package/lib/module/editor/NoteEditor.js +36 -11
  121. package/lib/module/editor/NoteEditor.js.map +1 -1
  122. package/lib/module/editor/editorHtml.generated.js +1 -1
  123. package/lib/module/editor/editorHtml.generated.js.map +1 -1
  124. package/lib/module/hooks/useThemeColor.js +693 -65
  125. package/lib/module/hooks/useThemeColor.js.map +1 -1
  126. package/lib/module/hooks/useTrackedText.js +18 -0
  127. package/lib/module/hooks/useTrackedText.js.map +1 -0
  128. package/lib/module/index.js +8 -0
  129. package/lib/module/index.js.map +1 -1
  130. package/lib/module/lib/optional-deps.js +16 -0
  131. package/lib/module/lib/optional-deps.js.map +1 -0
  132. package/lib/module/lib/touch-target.js +15 -0
  133. package/lib/module/lib/touch-target.js.map +1 -0
  134. package/lib/typescript/components/Alert.d.ts.map +1 -1
  135. package/lib/typescript/components/AlertDialog.d.ts.map +1 -1
  136. package/lib/typescript/components/Badge.d.ts +1 -1
  137. package/lib/typescript/components/Badge.d.ts.map +1 -1
  138. package/lib/typescript/components/Button.d.ts.map +1 -1
  139. package/lib/typescript/components/Carousel.d.ts +1 -1
  140. package/lib/typescript/components/Carousel.d.ts.map +1 -1
  141. package/lib/typescript/components/Checkbox.d.ts.map +1 -1
  142. package/lib/typescript/components/Chip.d.ts +30 -0
  143. package/lib/typescript/components/Chip.d.ts.map +1 -0
  144. package/lib/typescript/components/Choice.d.ts +17 -0
  145. package/lib/typescript/components/Choice.d.ts.map +1 -0
  146. package/lib/typescript/components/Dialog.d.ts.map +1 -1
  147. package/lib/typescript/components/DropdownMenu.d.ts +0 -7
  148. package/lib/typescript/components/DropdownMenu.d.ts.map +1 -1
  149. package/lib/typescript/components/EmptyState.d.ts +3 -2
  150. package/lib/typescript/components/EmptyState.d.ts.map +1 -1
  151. package/lib/typescript/components/Feed.d.ts.map +1 -1
  152. package/lib/typescript/components/Feedback.d.ts +17 -0
  153. package/lib/typescript/components/Feedback.d.ts.map +1 -0
  154. package/lib/typescript/components/Filter.d.ts +17 -0
  155. package/lib/typescript/components/Filter.d.ts.map +1 -0
  156. package/lib/typescript/components/IndexLevel.d.ts.map +1 -1
  157. package/lib/typescript/components/Input.d.ts +3 -3
  158. package/lib/typescript/components/Input.d.ts.map +1 -1
  159. package/lib/typescript/components/InvitePopover.d.ts.map +1 -1
  160. package/lib/typescript/components/MemberRow.d.ts.map +1 -1
  161. package/lib/typescript/components/PostForm.d.ts.map +1 -1
  162. package/lib/typescript/components/RadioGroup.d.ts.map +1 -1
  163. package/lib/typescript/components/Sheet.d.ts.map +1 -1
  164. package/lib/typescript/components/Skeleton.d.ts +1 -1
  165. package/lib/typescript/components/Skeleton.d.ts.map +1 -1
  166. package/lib/typescript/components/Switch.d.ts.map +1 -1
  167. package/lib/typescript/components/Tabs.d.ts.map +1 -1
  168. package/lib/typescript/components/Tag.d.ts +2 -2
  169. package/lib/typescript/components/ThemedIcon.d.ts +1 -1
  170. package/lib/typescript/components/ThemedIcon.d.ts.map +1 -1
  171. package/lib/typescript/components/Toast.d.ts +24 -13
  172. package/lib/typescript/components/Toast.d.ts.map +1 -1
  173. package/lib/typescript/editor/NoteEditor.d.ts.map +1 -1
  174. package/lib/typescript/editor/editorHtml.generated.d.ts.map +1 -1
  175. package/lib/typescript/hooks/useThemeColor.d.ts +0 -10
  176. package/lib/typescript/hooks/useThemeColor.d.ts.map +1 -1
  177. package/lib/typescript/hooks/useTrackedText.d.ts +6 -0
  178. package/lib/typescript/hooks/useTrackedText.d.ts.map +1 -0
  179. package/lib/typescript/index.d.ts +9 -1
  180. package/lib/typescript/index.d.ts.map +1 -1
  181. package/lib/typescript/lib/optional-deps.d.ts +23 -0
  182. package/lib/typescript/lib/optional-deps.d.ts.map +1 -0
  183. package/lib/typescript/lib/touch-target.d.ts +5 -0
  184. package/lib/typescript/lib/touch-target.d.ts.map +1 -0
  185. package/package.json +6 -1
  186. package/setup/createMedwayUiNavigator.tsx +4 -7
  187. package/setup/metro.js +12 -3
  188. package/setup/tokens.native.css +4 -0
  189. package/src/components/Alert.tsx +3 -1
  190. package/src/components/AlertDialog.tsx +8 -3
  191. package/src/components/Badge.tsx +51 -3
  192. package/src/components/Button.tsx +39 -1
  193. package/src/components/Carousel.tsx +17 -3
  194. package/src/components/Checkbox.tsx +2 -0
  195. package/src/components/Chip.tsx +227 -0
  196. package/src/components/Choice.tsx +139 -0
  197. package/src/components/Dialog.tsx +39 -23
  198. package/src/components/DropdownMenu.tsx +99 -87
  199. package/src/components/EmptyState.tsx +18 -3
  200. package/src/components/Feed.tsx +4 -3
  201. package/src/components/Feedback.tsx +111 -0
  202. package/src/components/Filter.tsx +106 -0
  203. package/src/components/IndexLevel.tsx +8 -10
  204. package/src/components/Input.tsx +142 -54
  205. package/src/components/InvitePopover.tsx +5 -1
  206. package/src/components/MemberRow.tsx +3 -5
  207. package/src/components/PostForm.tsx +16 -9
  208. package/src/components/PrizeCollection.tsx +1 -1
  209. package/src/components/RadioGroup.tsx +8 -0
  210. package/src/components/Select.tsx +1 -1
  211. package/src/components/Sheet.tsx +4 -1
  212. package/src/components/Skeleton.tsx +47 -6
  213. package/src/components/Switch.tsx +2 -0
  214. package/src/components/Tabs.tsx +2 -0
  215. package/src/components/ThemedIcon.tsx +1 -1
  216. package/src/components/Toast.tsx +489 -87
  217. package/src/editor/NoteEditor.tsx +47 -10
  218. package/src/editor/editorHtml.generated.ts +1 -1
  219. package/src/hooks/useThemeColor.ts +757 -64
  220. package/src/hooks/useTrackedText.ts +20 -0
  221. package/src/index.ts +36 -1
  222. package/src/lib/optional-deps.ts +27 -0
  223. package/src/lib/touch-target.ts +12 -0
  224. package/setup/index.tsx +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAQrC,QAAA,MAAM,mBAAmB;;8EAaxB,CAAC;AAcF,UAAU,SAAU,SAAQ,aAAa,CAAC,SAAS;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,UAAU,aAAc,SAAQ,aAAa,CAAC,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,gBACR,SAAQ,aAAa,CAAC,YAAY,EAChC,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,gBAAiB,SAAQ,aAAa,CAAC,YAAY;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAY3E;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAsBjE;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAgDlB;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAUvE;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AACzE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlE,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAQrC,QAAA,MAAM,mBAAmB;;8EAaxB,CAAC;AAcF,UAAU,SAAU,SAAQ,aAAa,CAAC,SAAS;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,UAAU,aAAc,SAAQ,aAAa,CAAC,SAAS;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,gBACR,SAAQ,aAAa,CAAC,YAAY,EAChC,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,gBAAiB,SAAQ,aAAa,CAAC,YAAY;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAY3E;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAsBjE;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAkDlB;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAUvE;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AACzE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,WAAW,GACZ,CAAC"}
@@ -6,10 +6,10 @@ interface TagProps extends ViewProps, VariantProps<typeof tagVariants> {
6
6
  children?: ReactNode;
7
7
  }
8
8
  declare const tagVariants: (props?: ({
9
- variant?: "regular" | "go" | "cir" | "ped" | "prev" | "emphasis" | "success" | "warning" | "error" | "regular-soft" | "regular-basic" | "emphasis-soft" | "emphasis-basic" | "error-soft" | "error-basic" | "warning-soft" | "warning-basic" | "success-soft" | "success-basic" | "cm" | "gray" | "gray-soft" | "gray-basic" | "cm-soft" | "cm-basic" | "go-soft" | "go-basic" | "cir-soft" | "cir-basic" | "ped-soft" | "ped-basic" | "prev-soft" | "prev-basic" | "ia" | "ia-soft" | "ia-basic" | null | undefined;
9
+ variant?: "regular" | "cm" | "go" | "cir" | "ped" | "prev" | "emphasis" | "success" | "warning" | "error" | "regular-soft" | "regular-basic" | "emphasis-soft" | "emphasis-basic" | "error-soft" | "error-basic" | "warning-soft" | "warning-basic" | "success-soft" | "success-basic" | "gray" | "gray-soft" | "gray-basic" | "cm-soft" | "cm-basic" | "go-soft" | "go-basic" | "cir-soft" | "cir-basic" | "ped-soft" | "ped-basic" | "prev-soft" | "prev-basic" | "ia" | "ia-soft" | "ia-basic" | null | undefined;
10
10
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
11
  declare const tagTextVariants: (props?: ({
12
- variant?: "regular" | "go" | "cir" | "ped" | "prev" | "emphasis" | "success" | "warning" | "error" | "regular-soft" | "regular-basic" | "emphasis-soft" | "emphasis-basic" | "error-soft" | "error-basic" | "warning-soft" | "warning-basic" | "success-soft" | "success-basic" | "cm" | "gray" | "gray-soft" | "gray-basic" | "cm-soft" | "cm-basic" | "go-soft" | "go-basic" | "cir-soft" | "cir-basic" | "ped-soft" | "ped-basic" | "prev-soft" | "prev-basic" | "ia" | "ia-soft" | "ia-basic" | null | undefined;
12
+ variant?: "regular" | "cm" | "go" | "cir" | "ped" | "prev" | "emphasis" | "success" | "warning" | "error" | "regular-soft" | "regular-basic" | "emphasis-soft" | "emphasis-basic" | "error-soft" | "error-basic" | "warning-soft" | "warning-basic" | "success-soft" | "success-basic" | "gray" | "gray-soft" | "gray-basic" | "cm-soft" | "cm-basic" | "go-soft" | "go-basic" | "cir-soft" | "cir-basic" | "ped-soft" | "ped-basic" | "prev-soft" | "prev-basic" | "ia" | "ia-soft" | "ia-basic" | null | undefined;
13
13
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
14
  declare function Tag({ className, variant, icon, children, ...props }: TagProps): import("react").JSX.Element;
15
15
  export { Tag, tagVariants, tagTextVariants };
@@ -3,7 +3,7 @@ import { type ThemeColorToken } from "@/hooks/useThemeColor";
3
3
  type NativeIconProps = {
4
4
  width?: number;
5
5
  height?: number;
6
- color?: string;
6
+ color: string;
7
7
  strokeWidth?: number;
8
8
  className?: string;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ThemedIcon.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5E,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,UAAU,eAAe;IACvB,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,iBAAS,UAAU,CAAC,EAClB,IAAI,EAAE,IAAI,EACV,IAAS,EACT,UAAU,EACV,WAAe,EACf,SAAS,GACV,EAAE,eAAe,+BAYjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"ThemedIcon.d.ts","sourceRoot":"","sources":["../../../src/components/ThemedIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5E,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,UAAU,eAAe;IACvB,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,iBAAS,UAAU,CAAC,EAClB,IAAI,EAAE,IAAI,EACV,IAAS,EACT,UAAU,EACV,WAAe,EACf,SAAS,GACV,EAAE,eAAe,+BAYjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { type ReactElement, type ReactNode } from "react";
2
- import { type ViewProps } from "react-native";
2
+ import { type ViewProps, type StyleProp, type ViewStyle } from "react-native";
3
3
  import { type ButtonProps } from "@/components/Button";
4
- type ToastVariant = "primary" | "secondary" | "success" | "warning" | "error";
4
+ declare const GRADIENT_VARIANTS: readonly ["green-gradient", "gold-gradient", "silver-gradient", "bronze-gradient"];
5
+ type ToastGradientVariant = (typeof GRADIENT_VARIANTS)[number];
6
+ type ToastSolidVariant = "primary" | "secondary" | "success" | "warning" | "error";
7
+ type ToastVariant = ToastSolidVariant | ToastGradientVariant;
5
8
  type ToastActionVariant = ToastVariant;
6
9
  type ToastActionElement = ReactElement<typeof ToastAction>;
7
10
  interface ToastProps extends ViewProps {
@@ -10,33 +13,41 @@ interface ToastProps extends ViewProps {
10
13
  duration?: number;
11
14
  open?: boolean;
12
15
  onOpenChange?: (open: boolean) => void;
16
+ icon?: ReactNode;
13
17
  children?: ReactNode;
14
18
  }
15
19
  interface ToastActionProps extends Omit<ButtonProps, "variant"> {
16
20
  variant?: ToastActionVariant;
17
21
  altText?: string;
18
- onPress?: () => void;
19
22
  }
20
- interface ToastCloseProps extends Omit<ViewProps, "children"> {
21
- onPress?: () => void;
23
+ interface ToastCloseProps extends Omit<ButtonProps, "variant" | "children"> {
22
24
  label?: string;
25
+ variant?: ToastVariant;
23
26
  }
27
+ /** Mirrors web `toastVariants` solid/gradient chrome (minus Radix animation attrs). */
24
28
  declare const toastVariants: (props?: ({
25
- variant?: "primary" | "secondary" | "success" | "warning" | "error" | null | undefined;
29
+ appearance?: "solid" | "gradient" | null | undefined;
30
+ variant?: "primary" | "secondary" | "success" | "warning" | "error" | "green-gradient" | "gold-gradient" | "silver-gradient" | "bronze-gradient" | null | undefined;
26
31
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
27
- declare function Toast({ variant, showIcon, duration, open, onOpenChange, children, ...props }: ToastProps): import("react").JSX.Element;
28
- declare function ToastAction({ className, variant, size, altText, children, ...props }: ToastActionProps): import("react").JSX.Element;
29
- declare function ToastTitle({ className, children }: ViewProps & {
32
+ declare function ToastClose({ className, onPress, label, variant: variantProp, ...props }: ToastCloseProps): import("react").JSX.Element;
33
+ declare function Toast({ variant, showIcon, duration, open, onOpenChange, icon, children, ...props }: ToastProps): import("react").JSX.Element;
34
+ declare function ToastAction({ className, variant: variantProp, size, altText, children, loading, iconLeft, iconRight, disabled, containerStyle: _containerStyle, badge: _badge, alert: _alert, ...props }: ToastActionProps): import("react").JSX.Element;
35
+ declare function ToastTitle({ className, children, }: ViewProps & {
30
36
  children?: ReactNode;
31
37
  }): import("react").JSX.Element;
32
- declare function ToastDescription({ className, children }: ViewProps & {
38
+ declare function ToastDescription({ className, children, }: ViewProps & {
33
39
  children?: ReactNode;
34
40
  }): import("react").JSX.Element;
35
41
  declare function ToastViewport({ className, children, ...props }: ViewProps & {
36
42
  children?: ReactNode;
37
43
  }): import("react").JSX.Element;
38
- declare function ToastClose({ className, onPress, label, ...props }: ToastCloseProps): import("react").JSX.Element;
39
- declare function ToastProvider(): import("react").JSX.Element;
44
+ type ToastProviderProps = {
45
+ /** Extra gap below the top safe-area inset (default: 8). */
46
+ topOffset?: number;
47
+ style?: StyleProp<ViewStyle>;
48
+ className?: string;
49
+ };
50
+ declare function ToastProvider({ topOffset, style, className, }?: ToastProviderProps): import("react").JSX.Element;
40
51
  export { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toastVariants, };
41
- export type { ToastActionElement, ToastProps };
52
+ export type { ToastActionElement, ToastActionProps, ToastActionVariant, ToastCloseProps, ToastGradientVariant, ToastProps, ToastProviderProps, ToastVariant, };
42
53
  //# sourceMappingURL=Toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAmB/D,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAI/D,KAAK,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAC9E,KAAK,kBAAkB,GAAG,YAAY,CAAC;AAEvC,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,WAAW,CAAC,CAAC;AAE3D,UAAU,UAAW,SAAQ,SAAS;IACpC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC7D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,aAAa;;8EAclB,CAAC;AAgGF,iBAAS,KAAK,CAAC,EACb,OAAmB,EACnB,QAAe,EACf,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,UAAU,+BAaZ;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,OAAmB,EACnB,IAAW,EACX,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAWlB;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAMhF;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAMtF;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAU7F;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAe,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAarF;AAED,iBAAS,aAAa,gCAsBrB;AAED,OAAO,EACL,KAAK,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,GACd,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/Toast.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NoteEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/NoteEditor.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,uBAAuB,CAAC;AAoE/B;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5C,WAAW,EAAE,CACX,GAAG,EAAE,cAAc,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1B,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IACnC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC3E;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sBAAsB;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;;AA8uBF,wBAAgC"}
1
+ {"version":3,"file":"NoteEditor.d.ts","sourceRoot":"","sources":["../../../src/editor/NoteEditor.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,uBAAuB,CAAC;AAoE/B;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5C,WAAW,EAAE,CACX,GAAG,EAAE,cAAc,GAAG,MAAM,EAC5B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAC1B,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IACnC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC3E;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sBAAsB;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;;AAmxBF,wBAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"editorHtml.generated.d.ts","sourceRoot":"","sources":["../../../src/editor/editorHtml.generated.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,WAAW,EAAE,MAA05ha,CAAC"}
1
+ {"version":3,"file":"editorHtml.generated.d.ts","sourceRoot":"","sources":["../../../src/editor/editorHtml.generated.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,WAAW,EAAE,MAA4qia,CAAC"}
@@ -3,17 +3,7 @@ type ThemeColorToken = string;
3
3
  declare const DEFAULT_COLOR = "#3B4958";
4
4
  declare function toCssVariable(token: ThemeColorToken): string;
5
5
  declare function getFallbackColor(token: ThemeColorToken, aliasMap: Record<string, string>): string;
6
- /**
7
- * Aplica alpha na cor já resolvida (`rgba` ou hex). `transparent` no
8
- * LinearGradient do Expo interpola via preto no Android.
9
- * `alpha` é clamado em 0–1 para não gerar hex inválido (ex. `#RRGGBB132`).
10
- */
11
6
  declare function withAlpha(color: string, alpha: number): string;
12
- /**
13
- * Resolve uma cor semântica do design system (tokens.native.css) em runtime.
14
- * Use quando a prop `color` for obrigatória (SVG, stroke Reanimated, etc.).
15
- * `alpha` (0–1) aplica a opacidade na cor resolvida.
16
- */
17
7
  declare function useThemeColor(token: ThemeColorToken, alpha?: number): string;
18
8
  export { useThemeColor, withAlpha, toCssVariable, getFallbackColor, DEFAULT_COLOR, };
19
9
  export type { ThemeColorToken };
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeColor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useThemeColor.ts"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,KAAK,eAAe,GAAG,MAAM,CAAC;AAqF9B,QAAA,MAAM,aAAa,YAAY,CAAC;AAEhC,iBAAS,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAErD;AAkBD,iBAAS,gBAAgB,CACvB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CASR;AAED;;;;GAIG;AACH,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBvD;AAED;;;;GAIG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBrE;AAED,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"useThemeColor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useThemeColor.ts"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,KAAK,eAAe,GAAG,MAAM,CAAC;AA4vB9B,QAAA,MAAM,aAAa,YAAY,CAAC;AAEhC,iBAAS,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAErD;AAwCD,iBAAS,gBAAgB,CACvB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAWR;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyBvD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBrE;AAED,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare function useTrackedText(value: string | undefined, defaultValue: string | undefined, onChangeText?: (text: string) => void): {
2
+ text: string;
3
+ handleChangeText: (nextText: string) => void;
4
+ };
5
+ export { useTrackedText };
6
+ //# sourceMappingURL=useTrackedText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTrackedText.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTrackedText.ts"],"names":[],"mappings":"AAEA,iBAAS,cAAc,CACrB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;;iCAMD,MAAM;EAM3C;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -68,10 +68,18 @@ export { Sheet, SheetClose, SheetContainer, SheetContent, SheetDescription, Shee
68
68
  export type { SheetContainerProps, SheetFooterProps, SheetHeaderProps, SheetSide, } from "@/components/Sheet";
69
69
  export { Tag, tagVariants, tagTextVariants } from "@/components/Tag";
70
70
  export type { TagProps } from "@/components/Tag";
71
+ export { Chip, chipVariants, chipBackgroundVariants, chipTextVariants, } from "@/components/Chip";
72
+ export type { ChipProps, ChipSize, ChipVariant } from "@/components/Chip";
71
73
  export { Tabs, TabsContent, TabsList, TabsTrigger, tabsTriggerVariants, } from "@/components/Tabs";
72
74
  export type { TabsContentProps, TabsListProps, TabsProps, TabsTriggerProps, TabsVariant, } from "@/components/Tabs";
75
+ export { Choice } from "@/components/Choice";
76
+ export type { ChoiceProps, ChoiceTheme } from "@/components/Choice";
77
+ export { Filter } from "@/components/Filter";
78
+ export type { FilterProps } from "@/components/Filter";
79
+ export { Feedback } from "@/components/Feedback";
80
+ export type { FeedbackProps, FeedbackSize, FeedbackType, FeedbackVariant, } from "@/components/Feedback";
73
81
  export { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, toastVariants, } from "@/components/Toast";
74
- export type { ToastActionElement, ToastProps } from "@/components/Toast";
82
+ export type { ToastActionElement, ToastActionProps, ToastActionVariant, ToastCloseProps, ToastGradientVariant, ToastProps, ToastProviderProps, ToastVariant, } from "@/components/Toast";
75
83
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/Tooltip";
76
84
  export type { TooltipContentProps } from "@/components/Tooltip";
77
85
  export { useToast, toast } from "@/hooks/use-toast";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ComponentType, ReactNode } from "react";
2
+ export type LinearGradientProps = {
3
+ colors: string[];
4
+ locations?: number[];
5
+ start?: {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ end?: {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ style?: object;
14
+ pointerEvents?: "none" | "auto" | "box-none" | "box-only";
15
+ children?: ReactNode;
16
+ };
17
+ export type LinearGradientComponent = ComponentType<LinearGradientProps>;
18
+ /**
19
+ * Lazy-load `expo-linear-gradient` so components that export from the package
20
+ * entrypoint keep working when the optional peer is not installed.
21
+ */
22
+ export declare function loadLinearGradient(): LinearGradientComponent | null;
23
+ //# sourceMappingURL=optional-deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optional-deps.d.ts","sourceRoot":"","sources":["../../../src/lib/optional-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,GAAG,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,uBAAuB,GAAG,IAAI,CAQnE"}
@@ -0,0 +1,5 @@
1
+ import { type Insets } from "react-native";
2
+ declare const MIN_TOUCH_TARGET = 44;
3
+ declare function getMinTouchHitSlop(width: number, height?: number): Insets;
4
+ export { MIN_TOUCH_TARGET, getMinTouchHitSlop };
5
+ //# sourceMappingURL=touch-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"touch-target.d.ts","sourceRoot":"","sources":["../../../src/lib/touch-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,QAAA,MAAM,gBAAgB,KAAK,CAAC;AAE5B,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAc,GAAG,MAAM,CAKzE;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medway-ui/native",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "Medway UI components for React Native (iOS/Android via Expo)",
5
5
  "author": "Alekcarvalho",
6
6
  "license": "MIT",
@@ -87,6 +87,7 @@
87
87
  "react": ">=18.0.0",
88
88
  "react-native": ">=0.73.0",
89
89
  "react-native-reanimated": ">=3.0.0",
90
+ "react-native-safe-area-context": ">=4.0.0",
90
91
  "react-native-svg": ">=15.0.0",
91
92
  "react-native-webview": ">=13.0.0",
92
93
  "tailwind-merge": "^3.2.0"
@@ -116,6 +117,9 @@
116
117
  "expo-linear-gradient": {
117
118
  "optional": true
118
119
  },
120
+ "react-native-safe-area-context": {
121
+ "optional": true
122
+ },
119
123
  "react-native-webview": {
120
124
  "optional": true
121
125
  }
@@ -136,6 +140,7 @@
136
140
  "react-native": "^0.85.3",
137
141
  "react-native-builder-bob": "^0.30.0",
138
142
  "react-native-reanimated": "^4.4.0",
143
+ "react-native-safe-area-context": "^5.4.0",
139
144
  "react-native-svg": "^15.15.5",
140
145
  "react-native-webview": "^14.0.1",
141
146
  "tailwind-merge": "^3.2.0",
@@ -58,7 +58,8 @@ function createMedwayUiNavigator(
58
58
  const screens = context
59
59
  .keys()
60
60
  .map((key) => ({ key, name: parseScreenName(key) }))
61
- .filter((entry): entry is { key: string; name: string } => entry.name != null);
61
+ .filter((entry): entry is { key: string; name: string } => entry.name != null)
62
+ .map(({ key, name }) => ({ name, component: createLazyScreen(context, key) }));
62
63
 
63
64
  if (screens.length === 0) {
64
65
  throw new Error(
@@ -74,12 +75,8 @@ function createMedwayUiNavigator(
74
75
  initialRouteName={initialRouteName}
75
76
  screenOptions={{ headerShown: false, animation: 'slide_from_right' }}
76
77
  >
77
- {screens.map(({ key, name }) => (
78
- <Stack.Screen
79
- key={name}
80
- name={name}
81
- component={createLazyScreen(context, key)}
82
- />
78
+ {screens.map(({ name, component }) => (
79
+ <Stack.Screen key={name} name={name} component={component} />
83
80
  ))}
84
81
  </Stack.Navigator>
85
82
  );
package/setup/metro.js CHANGED
@@ -213,10 +213,19 @@ function withMedwayUi(config, options = {}) {
213
213
  ];
214
214
  }
215
215
 
216
+ const medwayUiOriginRoots = [
217
+ medwayUiNativeSrc,
218
+ medwayUiSharedSrc,
219
+ path.join(projectRoot, 'node_modules', '@medway-ui', 'native'),
220
+ nativePackageRoot,
221
+ ]
222
+ .filter(Boolean)
223
+ .map((root) => path.resolve(root));
224
+
216
225
  function isMedwayUiOrigin(originModulePath) {
217
- return (
218
- originModulePath.includes(`${path.sep}medway-ui${path.sep}`) ||
219
- originModulePath.includes(`${path.sep}@medway-ui${path.sep}`)
226
+ const normalized = path.resolve(originModulePath);
227
+ return medwayUiOriginRoots.some(
228
+ (root) => normalized === root || normalized.startsWith(root + path.sep)
220
229
  );
221
230
  }
222
231
 
@@ -368,6 +368,8 @@
368
368
  /* === Base drop-shadow colors === */
369
369
  --color-drop-shadow-layer-a: rgba(33, 38, 49, 0.16);
370
370
  --color-drop-shadow-layer-b: rgba(73, 85, 110, 0.16);
371
+ --color-drop-shadow-subtle-layer-a: rgba(33, 38, 49, 0.04);
372
+ --color-drop-shadow-subtle-layer-b: rgba(73, 85, 110, 0.08);
371
373
 
372
374
  /* === Base colors === */
373
375
  --color-background: var(--color-white);
@@ -793,6 +795,8 @@
793
795
  /* === Dark drop-shadow colors === */
794
796
  --color-drop-shadow-layer-a: var(--color-black-24);
795
797
  --color-drop-shadow-layer-b: var(--color-black-16);
798
+ --color-drop-shadow-subtle-layer-a: var(--color-drop-shadow-layer-a);
799
+ --color-drop-shadow-subtle-layer-b: var(--color-drop-shadow-layer-b);
796
800
 
797
801
  /* === Dark gray colors === */
798
802
  --color-gray-foreground: var(--color-gray-100);
@@ -96,7 +96,9 @@ function Alert({ className, variant = "regular", onClose, children, ...props }:
96
96
  {onClose && (
97
97
  <Pressable
98
98
  onPress={onClose}
99
- accessibilityLabel="Close alert"
99
+ accessibilityRole="button"
100
+ accessibilityLabel="Fechar"
101
+ hitSlop={14}
100
102
  className="absolute right-4 top-2"
101
103
  >
102
104
  {closeIconColor && <CloseMd width={16} height={16} color={closeIconColor} />}
@@ -124,7 +124,7 @@ function AlertDialogPortal({ ...props }: AlertDialogPrimitive.PortalProps) {
124
124
  function AlertDialogOverlay({ className, ...props }: AlertDialogPrimitive.OverlayProps) {
125
125
  return (
126
126
  <AlertDialogPrimitive.Overlay
127
- className={cn("absolute inset-0 bg-black/50", className)}
127
+ className={cn("absolute inset-0 bg-black-48", className)}
128
128
  {...props}
129
129
  />
130
130
  );
@@ -142,7 +142,7 @@ function AlertDialogContent({
142
142
  return (
143
143
  <AlertDialogPrimitive.Portal>
144
144
  <AlertDialogPrimitive.Overlay
145
- className={cn("absolute inset-0 bg-black/50", overlayClassName)}
145
+ className={cn("absolute inset-0 bg-black-48", overlayClassName)}
146
146
  />
147
147
  <AlertDialogPrimitive.Content
148
148
  className="absolute inset-0 items-center justify-center px-4"
@@ -156,7 +156,12 @@ function AlertDialogContent({
156
156
  >
157
157
  {children}
158
158
  {showCloseButton && (
159
- <AlertDialogPrimitive.Cancel className="absolute right-3 top-3 rounded-pill p-1.5 active:bg-gray-background-soft">
159
+ <AlertDialogPrimitive.Cancel
160
+ accessibilityRole="button"
161
+ accessibilityLabel="Fechar"
162
+ hitSlop={8}
163
+ className="absolute right-3 top-3 rounded-pill p-1.5 active:bg-gray-background-soft"
164
+ >
160
165
  {closeIconColor && <CloseMd width={16} height={16} color={closeIconColor} />}
161
166
  </AlertDialogPrimitive.Cancel>
162
167
  )}
@@ -1,5 +1,14 @@
1
- import { type ReactNode } from "react";
2
- import { View, type ViewProps } from "react-native";
1
+ import { useEffect, type ReactNode } from "react";
2
+ import { View, type LayoutChangeEvent, type ViewProps } from "react-native";
3
+ import Animated, {
4
+ Easing,
5
+ cancelAnimation,
6
+ interpolate,
7
+ useAnimatedStyle,
8
+ useSharedValue,
9
+ withRepeat,
10
+ withTiming,
11
+ } from "react-native-reanimated";
3
12
 
4
13
  import { Text } from "@/components/Text";
5
14
  import { cva, type VariantProps } from "class-variance-authority";
@@ -72,12 +81,50 @@ const badgeTextVariants = cva("font-semibold", {
72
81
  },
73
82
  });
74
83
 
84
+ const SHINE_DURATION_MS = 2000;
85
+
86
+ function BadgeShine() {
87
+ const progress = useSharedValue(0);
88
+ const width = useSharedValue(0);
89
+
90
+ const handleLayout = (event: LayoutChangeEvent) => {
91
+ width.value = event.nativeEvent.layout.width;
92
+ };
93
+
94
+ const bandStyle = useAnimatedStyle(() => ({
95
+ width: width.value / 2,
96
+ transform: [
97
+ { translateX: interpolate(progress.value, [0, 1], [width.value, -width.value / 2]) },
98
+ { skewX: "-20deg" },
99
+ ],
100
+ }));
101
+
102
+ useEffect(() => {
103
+ progress.value = withRepeat(
104
+ withTiming(1, { duration: SHINE_DURATION_MS, easing: Easing.linear }),
105
+ -1,
106
+ false
107
+ );
108
+ return () => cancelAnimation(progress);
109
+ }, [progress]);
110
+
111
+ return (
112
+ <View
113
+ pointerEvents="none"
114
+ className="absolute inset-0 overflow-hidden rounded-full"
115
+ onLayout={handleLayout}
116
+ >
117
+ <Animated.View className="absolute bottom-0 top-0 bg-white-24" style={bandStyle} />
118
+ </View>
119
+ );
120
+ }
121
+
75
122
  function Badge({
76
123
  className,
77
124
  variant,
78
125
  size,
79
126
  icon,
80
- animation: _animation,
127
+ animation,
81
128
  children,
82
129
  ...props
83
130
  }: BadgeProps) {
@@ -101,6 +148,7 @@ function Badge({
101
148
  )}
102
149
  {...props}
103
150
  >
151
+ {animation === "shine" ? <BadgeShine /> : null}
104
152
  {icon}
105
153
  {children != null && (
106
154
  <Text className={cn(badgeTextVariants({ variant, size }))}>
@@ -6,6 +6,7 @@ import { cva, type VariantProps } from "class-variance-authority";
6
6
  import { cn } from "@/lib/utils";
7
7
  import { Loading } from "@/components/Loading";
8
8
  import { Badge as BadgeComponent } from "@/components/Badge";
9
+ import { type ThemeColorToken } from "@/hooks/useThemeColor";
9
10
 
10
11
  interface ButtonProps extends Omit<PressableProps, "children">, VariantProps<typeof buttonVariants> {
11
12
  children?: ReactNode;
@@ -17,6 +18,8 @@ interface ButtonProps extends Omit<PressableProps, "children">, VariantProps<typ
17
18
  alert?: string;
18
19
  }
19
20
 
21
+ type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>["variant"]>;
22
+
20
23
  const ICON_ONLY_SIZES: Record<"sm" | "md" | "lg" | "xl", string> = {
21
24
  sm: "h-8 min-h-8 w-8",
22
25
  md: "h-10 min-h-10 w-10",
@@ -38,6 +41,38 @@ const ALERT_DOT_SIZES: Record<"sm" | "md" | "lg" | "xl", number> = {
38
41
  xl: 12,
39
42
  };
40
43
 
44
+ const LOADING_SIZES: Record<"sm" | "md" | "lg" | "xl", number> = {
45
+ sm: 16,
46
+ md: 20,
47
+ lg: 20,
48
+ xl: 24,
49
+ };
50
+
51
+ const FILLED_LOADING_COLOR: ThemeColorToken = "gray-foreground-onfill";
52
+ const SOFT_LOADING_COLOR: ThemeColorToken = "gray-foreground-muted";
53
+
54
+ // Loading desabilita o Pressable, então o spinner segue a cor de texto do estado disabled.
55
+ const LOADING_COLOR_TOKENS: Record<ButtonVariant, ThemeColorToken> = {
56
+ regular: FILLED_LOADING_COLOR,
57
+ "regular-soft": SOFT_LOADING_COLOR,
58
+ "regular-basic": SOFT_LOADING_COLOR,
59
+ emphasis: FILLED_LOADING_COLOR,
60
+ "emphasis-soft": SOFT_LOADING_COLOR,
61
+ "emphasis-basic": SOFT_LOADING_COLOR,
62
+ error: FILLED_LOADING_COLOR,
63
+ "error-soft": SOFT_LOADING_COLOR,
64
+ "error-basic": SOFT_LOADING_COLOR,
65
+ warning: FILLED_LOADING_COLOR,
66
+ "warning-soft": SOFT_LOADING_COLOR,
67
+ "warning-basic": SOFT_LOADING_COLOR,
68
+ success: FILLED_LOADING_COLOR,
69
+ "success-soft": SOFT_LOADING_COLOR,
70
+ "success-basic": SOFT_LOADING_COLOR,
71
+ outlined: SOFT_LOADING_COLOR,
72
+ gradient: FILLED_LOADING_COLOR,
73
+ medbrain: FILLED_LOADING_COLOR,
74
+ };
75
+
41
76
  const buttonVariants = cva(
42
77
  "flex-row items-center justify-center gap-2 rounded-pill font-semibold",
43
78
  {
@@ -175,7 +210,10 @@ function Button({
175
210
  {loading ? (
176
211
  <>
177
212
  <View className="absolute">
178
- <Loading size={resolvedSize === "sm" ? 16 : resolvedSize === "xl" ? 24 : 20} />
213
+ <Loading
214
+ size={LOADING_SIZES[resolvedSize]}
215
+ colorToken={LOADING_COLOR_TOKENS[resolvedVariant]}
216
+ />
179
217
  </View>
180
218
  <View className="opacity-0 flex-row items-center gap-2">
181
219
  {iconLeft}
@@ -5,6 +5,7 @@ import { Text } from "@/components/Text";
5
5
  import { ChevronLeftMd, ChevronRightMd } from "@medway-ui/icons/native";
6
6
 
7
7
  import { Button } from "@/components/Button";
8
+ import { useThemeColor } from "@/hooks/useThemeColor";
8
9
  import { cn } from "@/lib/utils";
9
10
 
10
11
  interface CarouselProps extends ViewProps {
@@ -31,13 +32,23 @@ interface CarouselMetricSlideProps extends ViewProps {
31
32
  description: string;
32
33
  }
33
34
 
35
+ function getSlidePositionLabel(slideIndex?: number, slideCount?: number) {
36
+ if (slideIndex === undefined || slideCount === undefined) return undefined;
37
+ return `Slide ${slideIndex + 1} de ${slideCount}`;
38
+ }
39
+
34
40
  function Carousel({
35
41
  className,
36
42
  children,
43
+ slideIndex,
44
+ slideCount,
37
45
  onPrevious,
38
46
  onNext,
39
47
  ...props
40
48
  }: CarouselProps) {
49
+ const chevronColor = useThemeColor("primary-foreground");
50
+ const slidePositionLabel = getSlidePositionLabel(slideIndex, slideCount);
51
+
41
52
  return (
42
53
  <View
43
54
  className={cn(
@@ -50,18 +61,21 @@ function Carousel({
50
61
  variant="regular-soft"
51
62
  size="md"
52
63
  className="size-10 min-h-10 min-w-10 max-w-10 p-0"
53
- iconLeft={<ChevronLeftMd width={20} height={20} color="#00205B" />}
64
+ iconLeft={<ChevronLeftMd width={20} height={20} color={chevronColor} />}
54
65
  onPress={onPrevious}
55
66
  accessibilityLabel="Slide anterior"
56
67
  />
57
- <View className="h-full min-w-0 flex-1 items-center justify-center px-4">
68
+ <View
69
+ className="h-full min-w-0 flex-1 items-center justify-center px-4"
70
+ accessibilityLabel={slidePositionLabel}
71
+ >
58
72
  {children}
59
73
  </View>
60
74
  <Button
61
75
  variant="regular-soft"
62
76
  size="md"
63
77
  className="size-10 min-h-10 min-w-10 max-w-10 p-0"
64
- iconLeft={<ChevronRightMd width={20} height={20} color="#00205B" />}
78
+ iconLeft={<ChevronRightMd width={20} height={20} color={chevronColor} />}
65
79
  onPress={onNext}
66
80
  accessibilityLabel="Próximo slide"
67
81
  />