@hzblj/kara-components 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/CHANGELOG.md +72 -28
  2. package/README.md +8 -8
  3. package/lib/module/atoms/activity-indicator/activity-indicator.android.js +6 -1
  4. package/lib/module/atoms/activity-indicator/activity-indicator.android.js.map +1 -1
  5. package/lib/module/atoms/activity-indicator/activity-indicator.ios.js +2 -0
  6. package/lib/module/atoms/activity-indicator/activity-indicator.ios.js.map +1 -1
  7. package/lib/module/atoms/avatar/avatar.js +5 -0
  8. package/lib/module/atoms/avatar/avatar.js.map +1 -1
  9. package/lib/module/atoms/button/button-tokens.js +2 -2
  10. package/lib/module/atoms/button/button-tokens.js.map +1 -1
  11. package/lib/module/atoms/button/button.android.js +6 -2
  12. package/lib/module/atoms/button/button.android.js.map +1 -1
  13. package/lib/module/atoms/button/button.ios.js +7 -2
  14. package/lib/module/atoms/button/button.ios.js.map +1 -1
  15. package/lib/module/atoms/card/card.android.js +5 -3
  16. package/lib/module/atoms/card/card.android.js.map +1 -1
  17. package/lib/module/atoms/card/card.ios.js +7 -3
  18. package/lib/module/atoms/card/card.ios.js.map +1 -1
  19. package/lib/module/atoms/checkbox/checkbox.android.js +1 -1
  20. package/lib/module/atoms/checkbox/checkbox.android.js.map +1 -1
  21. package/lib/module/atoms/color-picker/color-picker.android.js +32 -5
  22. package/lib/module/atoms/color-picker/color-picker.android.js.map +1 -1
  23. package/lib/module/atoms/fab/fab.android.js +9 -1
  24. package/lib/module/atoms/fab/fab.android.js.map +1 -1
  25. package/lib/module/atoms/fab/fab.ios.js +9 -3
  26. package/lib/module/atoms/fab/fab.ios.js.map +1 -1
  27. package/lib/module/atoms/glass-view/glass-view.android.js +1 -1
  28. package/lib/module/atoms/glass-view/glass-view.android.js.map +1 -1
  29. package/lib/module/atoms/h-stack/h-stack.ios.js +5 -3
  30. package/lib/module/atoms/h-stack/h-stack.ios.js.map +1 -1
  31. package/lib/module/atoms/icon-button/icon-button.android.js +9 -0
  32. package/lib/module/atoms/icon-button/icon-button.android.js.map +1 -1
  33. package/lib/module/atoms/icon-button/icon-button.ios.js +26 -6
  34. package/lib/module/atoms/icon-button/icon-button.ios.js.map +1 -1
  35. package/lib/module/atoms/image/image.js +4 -4
  36. package/lib/module/atoms/image/image.js.map +1 -1
  37. package/lib/module/atoms/pressable/pressable.js +52 -28
  38. package/lib/module/atoms/pressable/pressable.js.map +1 -1
  39. package/lib/module/atoms/progress/progress.android.js +7 -0
  40. package/lib/module/atoms/progress/progress.android.js.map +1 -1
  41. package/lib/module/atoms/progress/progress.ios.js +6 -1
  42. package/lib/module/atoms/progress/progress.ios.js.map +1 -1
  43. package/lib/module/atoms/segmented-control/segmented-control.android.js +1 -1
  44. package/lib/module/atoms/segmented-control/segmented-control.android.js.map +1 -1
  45. package/lib/module/atoms/segmented-control/segmented-control.ios.js +1 -1
  46. package/lib/module/atoms/segmented-control/segmented-control.ios.js.map +1 -1
  47. package/lib/module/atoms/skeleton/skeleton.js +20 -6
  48. package/lib/module/atoms/skeleton/skeleton.js.map +1 -1
  49. package/lib/module/atoms/surface/surface.android.js +5 -3
  50. package/lib/module/atoms/surface/surface.android.js.map +1 -1
  51. package/lib/module/atoms/surface/surface.ios.js +7 -3
  52. package/lib/module/atoms/surface/surface.ios.js.map +1 -1
  53. package/lib/module/atoms/switch/switch.android.js +1 -1
  54. package/lib/module/atoms/switch/switch.android.js.map +1 -1
  55. package/lib/module/atoms/text/text.android.js +5 -3
  56. package/lib/module/atoms/text/text.android.js.map +1 -1
  57. package/lib/module/atoms/text/text.ios.js +6 -4
  58. package/lib/module/atoms/text/text.ios.js.map +1 -1
  59. package/lib/module/atoms/v-stack/v-stack.ios.js +5 -3
  60. package/lib/module/atoms/v-stack/v-stack.ios.js.map +1 -1
  61. package/lib/module/atoms/z-stack/z-stack.ios.js +5 -3
  62. package/lib/module/atoms/z-stack/z-stack.ios.js.map +1 -1
  63. package/lib/module/glyph/glyph.android.js +2 -0
  64. package/lib/module/glyph/glyph.android.js.map +1 -1
  65. package/lib/module/glyph/glyph.ios.js +5 -2
  66. package/lib/module/glyph/glyph.ios.js.map +1 -1
  67. package/lib/module/molecules/collapsible/collapsible.android.js +18 -8
  68. package/lib/module/molecules/collapsible/collapsible.android.js.map +1 -1
  69. package/lib/module/molecules/labeled-content/labeled-content.js +4 -1
  70. package/lib/module/molecules/labeled-content/labeled-content.js.map +1 -1
  71. package/lib/module/molecules/link/link.js +4 -1
  72. package/lib/module/molecules/link/link.js.map +1 -1
  73. package/lib/module/molecules/list-item/list-item.js +4 -1
  74. package/lib/module/molecules/list-item/list-item.js.map +1 -1
  75. package/lib/module/molecules/navigation-bar/navigation-bar.android.js +1 -1
  76. package/lib/module/molecules/navigation-bar/navigation-bar.android.js.map +1 -1
  77. package/lib/module/molecules/navigation-bar/navigation-bar.ios.js +1 -1
  78. package/lib/module/molecules/navigation-bar/navigation-bar.ios.js.map +1 -1
  79. package/lib/module/molecules/rn-list-item/rn-list-item.js +10 -2
  80. package/lib/module/molecules/rn-list-item/rn-list-item.js.map +1 -1
  81. package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js +3 -4
  82. package/lib/module/molecules/scroll-edge-container/scroll-edge-container.android.js.map +1 -1
  83. package/lib/module/molecules/stepper/stepper.ios.js +6 -2
  84. package/lib/module/molecules/stepper/stepper.ios.js.map +1 -1
  85. package/lib/module/motion.js +19 -0
  86. package/lib/module/motion.js.map +1 -0
  87. package/lib/module/organisms/fab-menu/fab-menu.android.js +8 -5
  88. package/lib/module/organisms/fab-menu/fab-menu.android.js.map +1 -1
  89. package/lib/module/organisms/fab-menu/fab-menu.ios.js +5 -2
  90. package/lib/module/organisms/fab-menu/fab-menu.ios.js.map +1 -1
  91. package/lib/module/organisms/snackbar/snackbar.js +142 -17
  92. package/lib/module/organisms/snackbar/snackbar.js.map +1 -1
  93. package/lib/module/organisms/swipe-actions/swipe-actions.android.js +1 -1
  94. package/lib/module/organisms/swipe-actions/swipe-actions.android.js.map +1 -1
  95. package/lib/module/use-stack-modifiers.js +10 -8
  96. package/lib/module/use-stack-modifiers.js.map +1 -1
  97. package/lib/typescript/atoms/activity-indicator/activity-indicator.types.d.ts +3 -1
  98. package/lib/typescript/atoms/avatar/avatar.types.d.ts +7 -2
  99. package/lib/typescript/atoms/badge/badge.types.d.ts +1 -1
  100. package/lib/typescript/atoms/blur-view/blur-view.types.d.ts +6 -6
  101. package/lib/typescript/atoms/button/button-tokens.d.ts +1 -1
  102. package/lib/typescript/atoms/button/button.types.d.ts +9 -7
  103. package/lib/typescript/atoms/card/card.types.d.ts +3 -3
  104. package/lib/typescript/atoms/checkbox/checkbox.types.d.ts +2 -2
  105. package/lib/typescript/atoms/chip/chip.types.d.ts +1 -1
  106. package/lib/typescript/atoms/color-picker/color-picker.types.d.ts +4 -3
  107. package/lib/typescript/atoms/date-picker/date-picker.types.d.ts +4 -4
  108. package/lib/typescript/atoms/divider/divider.types.d.ts +2 -2
  109. package/lib/typescript/atoms/fab/fab.types.d.ts +10 -3
  110. package/lib/typescript/atoms/glass-view/glass-view.types.d.ts +5 -5
  111. package/lib/typescript/atoms/h-stack/h-stack.types.d.ts +8 -5
  112. package/lib/typescript/atoms/icon/icon.types.d.ts +4 -4
  113. package/lib/typescript/atoms/icon-button/icon-button.types.d.ts +14 -3
  114. package/lib/typescript/atoms/image/image.d.ts +2 -2
  115. package/lib/typescript/atoms/island/island.types.d.ts +4 -4
  116. package/lib/typescript/atoms/list/list.types.d.ts +5 -5
  117. package/lib/typescript/atoms/picker/picker.types.d.ts +1 -1
  118. package/lib/typescript/atoms/pressable/pressable.types.d.ts +23 -7
  119. package/lib/typescript/atoms/progress/progress.types.d.ts +3 -1
  120. package/lib/typescript/atoms/rn-flat-list/rn-flat-list.types.d.ts +2 -2
  121. package/lib/typescript/atoms/rn-icon/rn-icon.types.d.ts +1 -1
  122. package/lib/typescript/atoms/rn-scroll-view/rn-scroll-view.types.d.ts +2 -2
  123. package/lib/typescript/atoms/rn-section-list/rn-section-list.types.d.ts +2 -2
  124. package/lib/typescript/atoms/rn-text/rn-text.types.d.ts +2 -2
  125. package/lib/typescript/atoms/rn-view/rn-view.types.d.ts +3 -3
  126. package/lib/typescript/atoms/scroll-view/scroll-view.types.d.ts +3 -3
  127. package/lib/typescript/atoms/segmented-control/segmented-control.types.d.ts +3 -3
  128. package/lib/typescript/atoms/skeleton/skeleton.types.d.ts +2 -1
  129. package/lib/typescript/atoms/spacer/spacer.types.d.ts +1 -1
  130. package/lib/typescript/atoms/surface/surface.types.d.ts +3 -3
  131. package/lib/typescript/atoms/switch/switch.types.d.ts +1 -1
  132. package/lib/typescript/atoms/text/text.types.d.ts +3 -3
  133. package/lib/typescript/atoms/text-field/text-field.types.d.ts +4 -4
  134. package/lib/typescript/atoms/v-stack/v-stack.types.d.ts +4 -4
  135. package/lib/typescript/atoms/z-stack/z-stack.types.d.ts +4 -4
  136. package/lib/typescript/glyph/glyph-button.types.d.ts +1 -1
  137. package/lib/typescript/glyph/glyph.types.d.ts +3 -1
  138. package/lib/typescript/molecules/collapsible/collapsible.types.d.ts +1 -1
  139. package/lib/typescript/molecules/empty-state/empty-state.types.d.ts +1 -1
  140. package/lib/typescript/molecules/label/label.types.d.ts +1 -1
  141. package/lib/typescript/molecules/labeled-content/labeled-content.types.d.ts +6 -4
  142. package/lib/typescript/molecules/link/link.types.d.ts +2 -1
  143. package/lib/typescript/molecules/list-item/list-item.types.d.ts +6 -4
  144. package/lib/typescript/molecules/navigation-bar/navigation-bar.types.d.ts +8 -8
  145. package/lib/typescript/molecules/pager/pager.types.d.ts +2 -2
  146. package/lib/typescript/molecules/radio-group/radio-group.types.d.ts +2 -2
  147. package/lib/typescript/molecules/rn-list-item/rn-list-item.types.d.ts +1 -1
  148. package/lib/typescript/molecules/rn-tooltip/rn-tooltip.types.d.ts +7 -7
  149. package/lib/typescript/molecules/scroll-edge-container/scroll-edge-container.types.d.ts +3 -3
  150. package/lib/typescript/molecules/search-bar/search-bar.types.d.ts +2 -2
  151. package/lib/typescript/molecules/stepper/stepper.ios.d.ts +1 -1
  152. package/lib/typescript/molecules/stepper/stepper.types.d.ts +2 -2
  153. package/lib/typescript/molecules/tooltip/tooltip.types.d.ts +6 -6
  154. package/lib/typescript/motion.d.ts +8 -0
  155. package/lib/typescript/organisms/action-sheet/action-sheet.types.d.ts +3 -3
  156. package/lib/typescript/organisms/alert/alert.types.d.ts +3 -3
  157. package/lib/typescript/organisms/context-menu/context-menu.types.d.ts +9 -9
  158. package/lib/typescript/organisms/fab-menu/fab-menu.types.d.ts +10 -5
  159. package/lib/typescript/organisms/form/form.types.d.ts +1 -1
  160. package/lib/typescript/organisms/menu/menu.types.d.ts +2 -2
  161. package/lib/typescript/organisms/sheet/sheet.types.d.ts +12 -12
  162. package/lib/typescript/organisms/snackbar/snackbar.types.d.ts +39 -6
  163. package/lib/typescript/organisms/swipe-actions/swipe-actions.types.d.ts +5 -5
  164. package/lib/typescript/templates/screen/screen.types.d.ts +2 -2
  165. package/lib/typescript/use-stack-modifiers.d.ts +6 -5
  166. package/package.json +4 -4
  167. package/src/atoms/activity-indicator/activity-indicator.android.tsx +7 -1
  168. package/src/atoms/activity-indicator/activity-indicator.ios.tsx +9 -1
  169. package/src/atoms/activity-indicator/activity-indicator.types.ts +3 -1
  170. package/src/atoms/avatar/avatar.tsx +5 -1
  171. package/src/atoms/avatar/avatar.types.ts +7 -2
  172. package/src/atoms/badge/badge.types.ts +1 -1
  173. package/src/atoms/blur-view/blur-view.types.ts +6 -6
  174. package/src/atoms/button/button-tokens.ts +2 -2
  175. package/src/atoms/button/button.android.tsx +5 -3
  176. package/src/atoms/button/button.ios.tsx +10 -2
  177. package/src/atoms/button/button.types.ts +9 -7
  178. package/src/atoms/card/card.android.tsx +6 -4
  179. package/src/atoms/card/card.ios.tsx +7 -3
  180. package/src/atoms/card/card.types.ts +9 -8
  181. package/src/atoms/checkbox/checkbox.android.tsx +1 -1
  182. package/src/atoms/checkbox/checkbox.types.ts +2 -2
  183. package/src/atoms/chip/chip.types.ts +1 -1
  184. package/src/atoms/color-picker/color-picker.android.tsx +26 -6
  185. package/src/atoms/color-picker/color-picker.types.ts +4 -3
  186. package/src/atoms/date-picker/date-picker.types.ts +4 -4
  187. package/src/atoms/divider/divider.types.ts +2 -2
  188. package/src/atoms/fab/fab.android.tsx +5 -3
  189. package/src/atoms/fab/fab.ios.tsx +8 -4
  190. package/src/atoms/fab/fab.types.ts +10 -3
  191. package/src/atoms/glass-view/glass-view.android.tsx +1 -1
  192. package/src/atoms/glass-view/glass-view.types.ts +5 -5
  193. package/src/atoms/h-stack/h-stack.ios.tsx +6 -4
  194. package/src/atoms/h-stack/h-stack.types.ts +18 -14
  195. package/src/atoms/icon/icon.types.ts +4 -4
  196. package/src/atoms/icon-button/icon-button.android.tsx +16 -3
  197. package/src/atoms/icon-button/icon-button.ios.tsx +24 -5
  198. package/src/atoms/icon-button/icon-button.types.ts +14 -3
  199. package/src/atoms/image/image.tsx +3 -3
  200. package/src/atoms/island/island.types.ts +4 -4
  201. package/src/atoms/list/list.types.ts +5 -5
  202. package/src/atoms/picker/picker.types.ts +1 -1
  203. package/src/atoms/pressable/pressable.tsx +50 -21
  204. package/src/atoms/pressable/pressable.types.ts +35 -17
  205. package/src/atoms/progress/progress.android.tsx +5 -3
  206. package/src/atoms/progress/progress.ios.tsx +5 -2
  207. package/src/atoms/progress/progress.types.ts +3 -1
  208. package/src/atoms/rn-flat-list/rn-flat-list.types.ts +2 -2
  209. package/src/atoms/rn-icon/rn-icon.types.ts +1 -1
  210. package/src/atoms/rn-scroll-view/rn-scroll-view.types.ts +2 -2
  211. package/src/atoms/rn-section-list/rn-section-list.types.ts +2 -2
  212. package/src/atoms/rn-text/rn-text.types.ts +2 -2
  213. package/src/atoms/rn-view/rn-view.types.ts +3 -3
  214. package/src/atoms/scroll-view/scroll-view.types.ts +3 -3
  215. package/src/atoms/segmented-control/segmented-control.android.tsx +1 -1
  216. package/src/atoms/segmented-control/segmented-control.ios.tsx +1 -1
  217. package/src/atoms/segmented-control/segmented-control.types.ts +3 -3
  218. package/src/atoms/skeleton/skeleton.tsx +18 -4
  219. package/src/atoms/skeleton/skeleton.types.ts +2 -1
  220. package/src/atoms/spacer/spacer.types.ts +1 -1
  221. package/src/atoms/surface/surface.android.tsx +6 -4
  222. package/src/atoms/surface/surface.ios.tsx +7 -3
  223. package/src/atoms/surface/surface.types.ts +11 -10
  224. package/src/atoms/switch/switch.android.tsx +1 -1
  225. package/src/atoms/switch/switch.types.ts +1 -1
  226. package/src/atoms/text/text.android.tsx +6 -4
  227. package/src/atoms/text/text.ios.tsx +6 -4
  228. package/src/atoms/text/text.types.ts +24 -23
  229. package/src/atoms/text-field/text-field.types.ts +4 -4
  230. package/src/atoms/v-stack/v-stack.ios.tsx +6 -4
  231. package/src/atoms/v-stack/v-stack.types.ts +18 -17
  232. package/src/atoms/z-stack/z-stack.ios.tsx +6 -4
  233. package/src/atoms/z-stack/z-stack.types.ts +16 -15
  234. package/src/glyph/glyph-button.types.ts +1 -1
  235. package/src/glyph/glyph.android.tsx +14 -2
  236. package/src/glyph/glyph.ios.tsx +13 -3
  237. package/src/glyph/glyph.types.ts +3 -1
  238. package/src/molecules/collapsible/collapsible.android.tsx +27 -7
  239. package/src/molecules/collapsible/collapsible.types.ts +1 -1
  240. package/src/molecules/empty-state/empty-state.types.ts +1 -1
  241. package/src/molecules/label/label.types.ts +1 -1
  242. package/src/molecules/labeled-content/labeled-content.tsx +12 -1
  243. package/src/molecules/labeled-content/labeled-content.types.ts +6 -4
  244. package/src/molecules/link/link.tsx +2 -1
  245. package/src/molecules/link/link.types.ts +2 -1
  246. package/src/molecules/list-item/list-item.tsx +20 -2
  247. package/src/molecules/list-item/list-item.types.ts +6 -4
  248. package/src/molecules/navigation-bar/navigation-bar.android.tsx +1 -1
  249. package/src/molecules/navigation-bar/navigation-bar.ios.tsx +1 -1
  250. package/src/molecules/navigation-bar/navigation-bar.types.ts +8 -8
  251. package/src/molecules/pager/pager.types.ts +2 -2
  252. package/src/molecules/radio-group/radio-group.types.ts +2 -2
  253. package/src/molecules/rn-list-item/rn-list-item.tsx +18 -3
  254. package/src/molecules/rn-list-item/rn-list-item.types.ts +1 -1
  255. package/src/molecules/rn-tooltip/rn-tooltip.types.ts +7 -7
  256. package/src/molecules/scroll-edge-container/scroll-edge-container.android.tsx +3 -2
  257. package/src/molecules/scroll-edge-container/scroll-edge-container.types.ts +3 -3
  258. package/src/molecules/search-bar/search-bar.types.ts +2 -2
  259. package/src/molecules/stepper/stepper.ios.tsx +8 -2
  260. package/src/molecules/stepper/stepper.types.ts +2 -2
  261. package/src/molecules/tooltip/tooltip.types.ts +6 -6
  262. package/src/motion.ts +13 -0
  263. package/src/organisms/action-sheet/action-sheet.types.ts +3 -3
  264. package/src/organisms/alert/alert.types.ts +3 -3
  265. package/src/organisms/context-menu/context-menu.types.ts +9 -9
  266. package/src/organisms/fab-menu/fab-menu.android.tsx +9 -5
  267. package/src/organisms/fab-menu/fab-menu.ios.tsx +6 -2
  268. package/src/organisms/fab-menu/fab-menu.types.ts +10 -5
  269. package/src/organisms/form/form.types.ts +1 -1
  270. package/src/organisms/menu/menu.types.ts +2 -2
  271. package/src/organisms/sheet/sheet.types.ts +12 -12
  272. package/src/organisms/snackbar/snackbar.tsx +143 -19
  273. package/src/organisms/snackbar/snackbar.types.ts +42 -6
  274. package/src/organisms/swipe-actions/swipe-actions.android.tsx +1 -1
  275. package/src/organisms/swipe-actions/swipe-actions.types.ts +5 -5
  276. package/src/templates/screen/screen.types.ts +2 -2
  277. package/src/use-stack-modifiers.ts +20 -7
  278. package/lib/module/platform-support.js +0 -19
  279. package/lib/module/platform-support.js.map +0 -1
  280. package/lib/typescript/platform-support.d.ts +0 -8
  281. package/src/platform-support.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"names":["VStack","useSxModifiers","useHostGuard","jsx","_jsx","Card","children","testID","sx","modifiers","bg","borderRadius","p","shadow","alignment"],"sourceRoot":"../../../../src","sources":["atoms/card/card.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,cAAc,QAAO,gBAAgB;AAC7C,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,IAAmB,GAAGA,CAAC;EAACC,QAAQ;EAAEC,MAAM;EAAE,GAAGC;AAAa,CAAC,KAAK;EAC3EN,YAAY,CAAC,MAAM,CAAC;EACpB,MAAMO,SAAS,GAAGR,cAAc,CAAC;IAACS,EAAE,EAAE,iBAAiB;IAAEC,YAAY,EAAE,OAAO;IAAEC,CAAC,EAAE,KAAK;IAAEC,MAAM,EAAE,MAAM;IAAE,GAAGL;EAAE,CAAC,CAAC;EAEjH,oBACEJ,IAAA,CAACJ,MAAM;IAACc,SAAS,EAAC,SAAS;IAACL,SAAS,EAAEA,SAAU;IAACF,MAAM,EAAEA,MAAO;IAAAD,QAAA,EAC9DA;EAAQ,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["VStack","splitAccessibility","useAccessibilityModifiers","useSxModifiers","useMemo","useHostGuard","jsx","_jsx","Card","children","testID","props","accessibility","sx","sxModifiers","bg","borderRadius","p","shadow","accessibilityModifiers","modifiers","alignment"],"sourceRoot":"../../../../src","sources":["atoms/card/card.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AAC5F,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,IAAmB,GAAGA,CAAC;EAACC,QAAQ;EAAEC,MAAM;EAAE,GAAGC;AAAgB,CAAC,KAAK;EAC9EN,YAAY,CAAC,MAAM,CAAC;EACpB,MAAM,CAACO,aAAa,EAAEC,EAAE,CAAC,GAAGZ,kBAAkB,CAACU,KAAK,CAAC;EACrD,MAAMG,WAAW,GAAGX,cAAc,CAAC;IAACY,EAAE,EAAE,iBAAiB;IAAEC,YAAY,EAAE,OAAO;IAAEC,CAAC,EAAE,KAAK;IAAEC,MAAM,EAAE,MAAM;IAAE,GAAGL;EAAE,CAAC,CAAC;EACnH,MAAMM,sBAAsB,GAAGjB,yBAAyB,CAACU,aAAa,CAAC;EACvE,MAAMQ,SAAS,GAAGhB,OAAO,CAAC,MAAM,CAAC,GAAGU,WAAW,EAAE,GAAGK,sBAAsB,CAAC,EAAE,CAACA,sBAAsB,EAAEL,WAAW,CAAC,CAAC;EAEnH,oBACEP,IAAA,CAACP,MAAM;IAACqB,SAAS,EAAC,SAAS;IAACD,SAAS,EAAEA,SAAU;IAACV,MAAM,EAAEA,MAAO;IAAAD,QAAA,EAC9DA;EAAQ,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -26,7 +26,7 @@ export const Checkbox = ({
26
26
  const control = /*#__PURE__*/_jsx(ComposeCheckbox, {
27
27
  colors: {
28
28
  checkedColor: theme.color('fill.accent.primary'),
29
- checkmarkColor: theme.color('content.on.bg')
29
+ checkmarkColor: theme.color('content.on.accent')
30
30
  },
31
31
  enabled: !disabled,
32
32
  onCheckedChange: onValueChange ?? NOOP,
@@ -1 +1 @@
1
- {"version":3,"names":["Checkbox","ComposeCheckbox","Row","Text","clickable","fillMaxWidth","spacing","useAppTheme","useMemo","useHostGuard","jsx","_jsx","jsxs","_jsxs","NOOP","undefined","disabled","label","onValueChange","value","theme","rowModifiers","control","colors","checkedColor","color","checkmarkColor","enabled","onCheckedChange","horizontalArrangement","spacedBy","s8","modifiers","verticalAlignment","children","colorString","style","typography","body"],"sourceRoot":"../../../../src","sources":["atoms/checkbox/checkbox.android.tsx"],"mappings":";;AAAA,SAAQA,QAAQ,IAAIC,eAAe,EAAEC,GAAG,EAAEC,IAAI,QAAO,0BAA0B;AAC/E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,IAAI,GAAGA,CAAA,KAAMC,SAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMf,QAA2B,GAAGA,CAAC;EAACgB,QAAQ,GAAG,KAAK;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAoB,CAAC,KAAK;EAC7GV,YAAY,CAAC,UAAU,CAAC;EACxB,MAAMW,KAAK,GAAGb,WAAW,CAAC,CAAC;EAC3B,MAAMc,YAAY,GAAGb,OAAO,CAC1B,MAAOQ,QAAQ,IAAI,CAACE,aAAa,GAAG,CAACb,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMc,aAAa,CAAC,CAACC,KAAK,CAAC,CAAC,CAAE,EAChH,CAACH,QAAQ,EAAEE,aAAa,EAAEC,KAAK,CACjC,CAAC;EACD,MAAMG,OAAO,gBACXX,IAAA,CAACV,eAAe;IACdsB,MAAM,EAAE;MAACC,YAAY,EAAEJ,KAAK,CAACK,KAAK,CAAC,qBAAqB,CAAC;MAAEC,cAAc,EAAEN,KAAK,CAACK,KAAK,CAAC,eAAe;IAAC,CAAE;IACzGE,OAAO,EAAE,CAACX,QAAS;IACnBY,eAAe,EAAEV,aAAa,IAAIJ,IAAK;IACvCK,KAAK,EAAEA;EAAM,CACd,CACF;EAED,IAAI,CAACF,KAAK,EAAE;IACV,OAAOK,OAAO;EAChB;EAEA,oBACET,KAAA,CAACX,GAAG;IAAC2B,qBAAqB,EAAE;MAACC,QAAQ,EAAExB,OAAO,CAACyB;IAAE,CAAE;IAACC,SAAS,EAAEX,YAAa;IAACY,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,GACpGZ,OAAO,eACRX,IAAA,CAACR,IAAI;MAACsB,KAAK,EAAEL,KAAK,CAACe,WAAW,CAACnB,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAE;MAACoB,KAAK,EAAEhB,KAAK,CAACiB,UAAU,CAACC,IAAK;MAAAJ,QAAA,EAC7GjB;IAAK,CACF,CAAC;EAAA,CACJ,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Checkbox","ComposeCheckbox","Row","Text","clickable","fillMaxWidth","spacing","useAppTheme","useMemo","useHostGuard","jsx","_jsx","jsxs","_jsxs","NOOP","undefined","disabled","label","onValueChange","value","theme","rowModifiers","control","colors","checkedColor","color","checkmarkColor","enabled","onCheckedChange","horizontalArrangement","spacedBy","s8","modifiers","verticalAlignment","children","colorString","style","typography","body"],"sourceRoot":"../../../../src","sources":["atoms/checkbox/checkbox.android.tsx"],"mappings":";;AAAA,SAAQA,QAAQ,IAAIC,eAAe,EAAEC,GAAG,EAAEC,IAAI,QAAO,0BAA0B;AAC/E,SAAQC,SAAS,EAAEC,YAAY,QAAO,oCAAoC;AAC1E,SAAQC,OAAO,EAAEC,WAAW,QAAO,mBAAmB;AACtD,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG/C;AACA,MAAMC,IAAI,GAAGA,CAAA,KAAMC,SAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMf,QAA2B,GAAGA,CAAC;EAACgB,QAAQ,GAAG,KAAK;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAoB,CAAC,KAAK;EAC7GV,YAAY,CAAC,UAAU,CAAC;EACxB,MAAMW,KAAK,GAAGb,WAAW,CAAC,CAAC;EAC3B,MAAMc,YAAY,GAAGb,OAAO,CAC1B,MAAOQ,QAAQ,IAAI,CAACE,aAAa,GAAG,CAACb,YAAY,CAAC,CAAC,CAAC,GAAG,CAACA,YAAY,CAAC,CAAC,EAAED,SAAS,CAAC,MAAMc,aAAa,CAAC,CAACC,KAAK,CAAC,CAAC,CAAE,EAChH,CAACH,QAAQ,EAAEE,aAAa,EAAEC,KAAK,CACjC,CAAC;EACD,MAAMG,OAAO,gBACXX,IAAA,CAACV,eAAe;IACdsB,MAAM,EAAE;MAACC,YAAY,EAAEJ,KAAK,CAACK,KAAK,CAAC,qBAAqB,CAAC;MAAEC,cAAc,EAAEN,KAAK,CAACK,KAAK,CAAC,mBAAmB;IAAC,CAAE;IAC7GE,OAAO,EAAE,CAACX,QAAS;IACnBY,eAAe,EAAEV,aAAa,IAAIJ,IAAK;IACvCK,KAAK,EAAEA;EAAM,CACd,CACF;EAED,IAAI,CAACF,KAAK,EAAE;IACV,OAAOK,OAAO;EAChB;EAEA,oBACET,KAAA,CAACX,GAAG;IAAC2B,qBAAqB,EAAE;MAACC,QAAQ,EAAExB,OAAO,CAACyB;IAAE,CAAE;IAACC,SAAS,EAAEX,YAAa;IAACY,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,GACpGZ,OAAO,eACRX,IAAA,CAACR,IAAI;MAACsB,KAAK,EAAEL,KAAK,CAACe,WAAW,CAACnB,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAE;MAACoB,KAAK,EAAEhB,KAAK,CAACiB,UAAU,CAACC,IAAK;MAAAJ,QAAA,EAC7GjB;IAAK,CACF,CAAC;EAAA,CACJ,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -1,9 +1,36 @@
1
1
  "use strict";
2
2
 
3
- import { warnUnsupported } from "../../platform-support.js";
4
- /** Compose has no colour picker, and there is nothing sane to degrade a colour wheel into. */
5
- export const ColorPicker = () => {
6
- warnUnsupported('ColorPicker', 'Android');
7
- return null;
3
+ import { ColorWell } from '@hzblj/kara-native/jetpack-compose';
4
+ import { useHostGuard } from "../../host-context.js";
5
+ import { HStack } from "../h-stack/index.js";
6
+ import { Spacer } from "../spacer/index.js";
7
+ import { Text } from "../text/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ /**
10
+ * The row SwiftUI's `ColorPicker` lays out on iOS, the label leading and the well trailing, around kara's own Compose
11
+ * well: Compose ships no colour picker, so the sheet behind it draws the iOS picker's grid, spectrum and sliders.
12
+ */
13
+ export const ColorPicker = ({
14
+ label,
15
+ onValueChange,
16
+ supportsOpacity = false,
17
+ testID,
18
+ value
19
+ }) => {
20
+ useHostGuard('ColorPicker');
21
+ return /*#__PURE__*/_jsxs(HStack, {
22
+ align: "center",
23
+ spacing: "s12",
24
+ testID: testID,
25
+ wide: true,
26
+ children: [label ? /*#__PURE__*/_jsx(Text, {
27
+ children: label
28
+ }) : null, /*#__PURE__*/_jsx(Spacer, {}), /*#__PURE__*/_jsx(ColorWell, {
29
+ onValueChange: onValueChange,
30
+ supportsOpacity: supportsOpacity,
31
+ title: label,
32
+ value: value
33
+ })]
34
+ });
8
35
  };
9
36
  //# sourceMappingURL=color-picker.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["warnUnsupported","ColorPicker"],"sourceRoot":"../../../../src","sources":["atoms/color-picker/color-picker.android.tsx"],"mappings":";;AAAA,SAAQA,eAAe,QAAO,2BAAwB;AAGtD;AACA,OAAO,MAAMC,WAAiC,GAAGA,CAAA,KAAM;EACrDD,eAAe,CAAC,aAAa,EAAE,SAAS,CAAC;EAEzC,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ColorWell","useHostGuard","HStack","Spacer","Text","jsx","_jsx","jsxs","_jsxs","ColorPicker","label","onValueChange","supportsOpacity","testID","value","align","spacing","wide","children","title"],"sourceRoot":"../../../../src","sources":["atoms/color-picker/color-picker.android.tsx"],"mappings":";;AAAA,SAAQA,SAAS,QAAO,oCAAoC;AAE5D,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,MAAM,QAAO,qBAAY;AACjC,SAAQC,MAAM,QAAO,oBAAW;AAChC,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG5B;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAiC,GAAGA,CAAC;EAChDC,KAAK;EACLC,aAAa;EACbC,eAAe,GAAG,KAAK;EACvBC,MAAM;EACNC;AACgB,CAAC,KAAK;EACtBb,YAAY,CAAC,aAAa,CAAC;EAE3B,oBACEO,KAAA,CAACN,MAAM;IAACa,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC,KAAK;IAACH,MAAM,EAAEA,MAAO;IAACI,IAAI;IAAAC,QAAA,GACtDR,KAAK,gBAAGJ,IAAA,CAACF,IAAI;MAAAc,QAAA,EAAER;IAAK,CAAO,CAAC,GAAG,IAAI,eACpCJ,IAAA,CAACH,MAAM,IAAE,CAAC,eACVG,IAAA,CAACN,SAAS;MAACW,aAAa,EAAEA,aAAc;MAACC,eAAe,EAAEA,eAAgB;MAACO,KAAK,EAAET,KAAM;MAACI,KAAK,EAAEA;IAAM,CAAE,CAAC;EAAA,CACnG,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -1,22 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  import { FloatingActionButton } from '@expo/ui/jetpack-compose';
4
+ import { useAccessibilityModifiers } from '@hzblj/kara-sx';
4
5
  import { useAppTheme } from '@hzblj/kara-theme';
5
6
  import { useHostGuard } from "../../host-context.js";
6
7
  import { Icon } from "../icon/index.js";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  export const Fab = ({
10
+ accessibilityHint,
11
+ accessibilityLabel,
9
12
  name,
10
13
  onPress
11
14
  }) => {
12
15
  useHostGuard('Fab');
13
16
  const theme = useAppTheme();
17
+ const modifiers = useAccessibilityModifiers({
18
+ accessibilityHint
19
+ }, accessibilityHint !== undefined);
14
20
  return /*#__PURE__*/_jsx(FloatingActionButton, {
15
21
  containerColor: theme.color('fill.accent.primary'),
22
+ modifiers: modifiers,
16
23
  onClick: onPress,
17
24
  children: /*#__PURE__*/_jsx(FloatingActionButton.Icon, {
18
25
  children: /*#__PURE__*/_jsx(Icon, {
19
- color: "content.on.bg",
26
+ accessibilityLabel: accessibilityLabel,
27
+ color: "content.on.accent",
20
28
  name: name
21
29
  })
22
30
  })
@@ -1 +1 @@
1
- {"version":3,"names":["FloatingActionButton","useAppTheme","useHostGuard","Icon","jsx","_jsx","Fab","name","onPress","theme","containerColor","color","onClick","children"],"sourceRoot":"../../../../src","sources":["atoms/fab/fab.android.tsx"],"mappings":";;AAAA,SAAQA,oBAAoB,QAAO,0BAA0B;AAC7D,SAAQC,WAAW,QAAO,mBAAmB;AAE7C,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMC,GAAiB,GAAGA,CAAC;EAACC,IAAI;EAAEC;AAAiB,CAAC,KAAK;EAC9DN,YAAY,CAAC,KAAK,CAAC;EAEnB,MAAMO,KAAK,GAAGR,WAAW,CAAC,CAAC;EAE3B,oBACEI,IAAA,CAACL,oBAAoB;IAACU,cAAc,EAAED,KAAK,CAACE,KAAK,CAAC,qBAAqB,CAAE;IAACC,OAAO,EAAEJ,OAAQ;IAAAK,QAAA,eAEzFR,IAAA,CAACL,oBAAoB,CAACG,IAAI;MAAAU,QAAA,eACxBR,IAAA,CAACF,IAAI;QAACQ,KAAK,EAAC,eAAe;QAACJ,IAAI,EAAEA;MAAK,CAAE;IAAC,CACjB;EAAC,CACR,CAAC;AAE3B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FloatingActionButton","useAccessibilityModifiers","useAppTheme","useHostGuard","Icon","jsx","_jsx","Fab","accessibilityHint","accessibilityLabel","name","onPress","theme","modifiers","undefined","containerColor","color","onClick","children"],"sourceRoot":"../../../../src","sources":["atoms/fab/fab.android.tsx"],"mappings":";;AAAA,SAAQA,oBAAoB,QAAO,0BAA0B;AAC7D,SAAQC,yBAAyB,QAAO,gBAAgB;AACxD,SAAQC,WAAW,QAAO,mBAAmB;AAE7C,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMC,GAAiB,GAAGA,CAAC;EAACC,iBAAiB;EAAEC,kBAAkB;EAAEC,IAAI;EAAEC;AAAiB,CAAC,KAAK;EACrGR,YAAY,CAAC,KAAK,CAAC;EAEnB,MAAMS,KAAK,GAAGV,WAAW,CAAC,CAAC;EAC3B,MAAMW,SAAS,GAAGZ,yBAAyB,CAAC;IAACO;EAAiB,CAAC,EAAEA,iBAAiB,KAAKM,SAAS,CAAC;EAEjG,oBACER,IAAA,CAACN,oBAAoB;IAACe,cAAc,EAAEH,KAAK,CAACI,KAAK,CAAC,qBAAqB,CAAE;IAACH,SAAS,EAAEA,SAAU;IAACI,OAAO,EAAEN,OAAQ;IAAAO,QAAA,eAE/GZ,IAAA,CAACN,oBAAoB,CAACI,IAAI;MAAAc,QAAA,eACxBZ,IAAA,CAACF,IAAI;QAACK,kBAAkB,EAAEA,kBAAmB;QAACO,KAAK,EAAC,mBAAmB;QAACN,IAAI,EAAEA;MAAK,CAAE;IAAC,CAC7D;EAAC,CACR,CAAC;AAE3B,CAAC","ignoreList":[]}
@@ -2,17 +2,22 @@
2
2
 
3
3
  import { Button } from '@expo/ui/swift-ui';
4
4
  import { buttonStyle } from '@expo/ui/swift-ui/modifiers';
5
- import { useSxModifiers } from '@hzblj/kara-sx';
5
+ import { useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
6
6
  import { useMemo } from 'react';
7
7
  import { useHostGuard } from "../../host-context.js";
8
8
  import { Icon } from "../icon/index.js";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export const Fab = ({
11
+ accessibilityHint,
12
+ accessibilityLabel,
11
13
  name,
12
14
  onPress,
13
15
  testID
14
16
  }) => {
15
17
  useHostGuard('Fab');
18
+ const accessibilityModifiers = useAccessibilityModifiers({
19
+ accessibilityHint
20
+ });
16
21
  const sxModifiers = useSxModifiers({
17
22
  bg: 'fill.accent.primary',
18
23
  borderRadius: 'full',
@@ -21,13 +26,14 @@ export const Fab = ({
21
26
  shadow: 'btn.accent',
22
27
  w: 56
23
28
  });
24
- const modifiers = useMemo(() => [buttonStyle('plain'), ...sxModifiers], [sxModifiers]);
29
+ const modifiers = useMemo(() => [buttonStyle('plain'), ...sxModifiers, ...accessibilityModifiers], [accessibilityModifiers, sxModifiers]);
25
30
  return /*#__PURE__*/_jsx(Button, {
26
31
  modifiers: modifiers,
27
32
  onPress: onPress,
28
33
  testID: testID,
29
34
  children: /*#__PURE__*/_jsx(Icon, {
30
- color: "content.on.bg",
35
+ accessibilityLabel: accessibilityLabel,
36
+ color: "content.on.accent",
31
37
  name: name
32
38
  })
33
39
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Button","buttonStyle","useSxModifiers","useMemo","useHostGuard","Icon","jsx","_jsx","Fab","name","onPress","testID","sxModifiers","bg","borderRadius","h","p","shadow","w","modifiers","children","color"],"sourceRoot":"../../../../src","sources":["atoms/fab/fab.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,WAAW,QAAO,6BAA6B;AACvD,SAAQC,cAAc,QAAO,gBAAgB;AAC7C,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMC,GAAiB,GAAGA,CAAC;EAACC,IAAI;EAAEC,OAAO;EAAEC;AAAgB,CAAC,KAAK;EACtEP,YAAY,CAAC,KAAK,CAAC;EAEnB,MAAMQ,WAAW,GAAGV,cAAc,CAAC;IACjCW,EAAE,EAAE,qBAAqB;IACzBC,YAAY,EAAE,MAAM;IACpBC,CAAC,EAAE,EAAE;IACLC,CAAC,EAAE,KAAK;IACRC,MAAM,EAAE,YAAY;IACpBC,CAAC,EAAE;EACL,CAAC,CAAC;EACF,MAAMC,SAAS,GAAGhB,OAAO,CAAC,MAAM,CAACF,WAAW,CAAC,OAAO,CAAC,EAAE,GAAGW,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEtF,oBACEL,IAAA,CAACP,MAAM;IAACmB,SAAS,EAAEA,SAAU;IAACT,OAAO,EAAEA,OAAQ;IAACC,MAAM,EAAEA,MAAO;IAAAS,QAAA,eAC7Db,IAAA,CAACF,IAAI;MAACgB,KAAK,EAAC,eAAe;MAACZ,IAAI,EAAEA;IAAK,CAAE;EAAC,CACpC,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Button","buttonStyle","useAccessibilityModifiers","useSxModifiers","useMemo","useHostGuard","Icon","jsx","_jsx","Fab","accessibilityHint","accessibilityLabel","name","onPress","testID","accessibilityModifiers","sxModifiers","bg","borderRadius","h","p","shadow","w","modifiers","children","color"],"sourceRoot":"../../../../src","sources":["atoms/fab/fab.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,WAAW,QAAO,6BAA6B;AACvD,SAAQC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AACxE,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMC,GAAiB,GAAGA,CAAC;EAACC,iBAAiB;EAAEC,kBAAkB;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAgB,CAAC,KAAK;EAC7GT,YAAY,CAAC,KAAK,CAAC;EACnB,MAAMU,sBAAsB,GAAGb,yBAAyB,CAAC;IAACQ;EAAiB,CAAC,CAAC;EAE7E,MAAMM,WAAW,GAAGb,cAAc,CAAC;IACjCc,EAAE,EAAE,qBAAqB;IACzBC,YAAY,EAAE,MAAM;IACpBC,CAAC,EAAE,EAAE;IACLC,CAAC,EAAE,KAAK;IACRC,MAAM,EAAE,YAAY;IACpBC,CAAC,EAAE;EACL,CAAC,CAAC;EACF,MAAMC,SAAS,GAAGnB,OAAO,CACvB,MAAM,CAACH,WAAW,CAAC,OAAO,CAAC,EAAE,GAAGe,WAAW,EAAE,GAAGD,sBAAsB,CAAC,EACvE,CAACA,sBAAsB,EAAEC,WAAW,CACtC,CAAC;EAED,oBACER,IAAA,CAACR,MAAM;IAACuB,SAAS,EAAEA,SAAU;IAACV,OAAO,EAAEA,OAAQ;IAACC,MAAM,EAAEA,MAAO;IAAAU,QAAA,eAC7DhB,IAAA,CAACF,IAAI;MAACK,kBAAkB,EAAEA,kBAAmB;MAACc,KAAK,EAAC,mBAAmB;MAACb,IAAI,EAAEA;IAAK,CAAE;EAAC,CAChF,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -29,7 +29,7 @@ export const GlassView = ({
29
29
  cornerRadius: radii.full,
30
30
  fallbackTint: withOpacity(base, 'o95'),
31
31
  glassTint: withOpacity(base, tint ? 'o85' : 'o50'),
32
- hairlineColor: withOpacity(String(theme.color('content.on.bg')), theme.dark ? 'o20' : 'o60'),
32
+ hairlineColor: withOpacity(String(theme.color('content.on.accent')), theme.dark ? 'o20' : 'o60'),
33
33
  hairlineWidth: 1,
34
34
  saturation: 1.6,
35
35
  style: style,
@@ -1 +1 @@
1
- {"version":3,"names":["BackdropBlurView","useSx","radii","useAppTheme","withOpacity","jsx","_jsx","BLUR_RADIUS","GlassView","children","interactive","_interactive","testID","tint","sx","theme","style","base","String","color","blurRadius","cornerRadius","full","fallbackTint","glassTint","hairlineColor","dark","hairlineWidth","saturation"],"sourceRoot":"../../../../src","sources":["atoms/glass-view/glass-view.android.tsx"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,oCAAoC;AACnE,SAAQC,KAAK,QAAO,gBAAgB;AACpC,SAAQC,KAAK,EAAEC,WAAW,EAAEC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIjE;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAA6B,GAAGA,CAAC;EAC5CC,QAAQ;EACRC,WAAW,EAAEC,YAAY;EACzBC,MAAM;EACNC,IAAI;EACJ,GAAGC;AACW,CAAC,KAAK;EACpB,MAAMC,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAC3B,MAAMa,KAAK,GAAGf,KAAK,CAACa,EAAE,CAAC;EACvB,MAAMG,IAAI,GAAGC,MAAM,CAACH,KAAK,CAACI,KAAK,CAACN,IAAI,IAAI,iBAAiB,CAAC,CAAC;EAE3D,oBACEP,IAAA,CAACN,gBAAgB;IACfoB,UAAU,EAAEb,WAAY;IACxBc,YAAY,EAAEnB,KAAK,CAACoB,IAAK;IACzBC,YAAY,EAAEnB,WAAW,CAACa,IAAI,EAAE,KAAK,CAAE;IACvCO,SAAS,EAAEpB,WAAW,CAACa,IAAI,EAAEJ,IAAI,GAAG,KAAK,GAAG,KAAK,CAAE;IACnDY,aAAa,EAAErB,WAAW,CAACc,MAAM,CAACH,KAAK,CAACI,KAAK,CAAC,eAAe,CAAC,CAAC,EAAEJ,KAAK,CAACW,IAAI,GAAG,KAAK,GAAG,KAAK,CAAE;IAC7FC,aAAa,EAAE,CAAE;IACjBC,UAAU,EAAE,GAAI;IAChBZ,KAAK,EAAEA,KAAM;IACbJ,MAAM,EAAEA,MAAO;IAAAH,QAAA,EAEdA;EAAQ,CACO,CAAC;AAEvB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BackdropBlurView","useSx","radii","useAppTheme","withOpacity","jsx","_jsx","BLUR_RADIUS","GlassView","children","interactive","_interactive","testID","tint","sx","theme","style","base","String","color","blurRadius","cornerRadius","full","fallbackTint","glassTint","hairlineColor","dark","hairlineWidth","saturation"],"sourceRoot":"../../../../src","sources":["atoms/glass-view/glass-view.android.tsx"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,oCAAoC;AACnE,SAAQC,KAAK,QAAO,gBAAgB;AACpC,SAAQC,KAAK,EAAEC,WAAW,EAAEC,WAAW,QAAO,mBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIjE;AACA,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAA6B,GAAGA,CAAC;EAC5CC,QAAQ;EACRC,WAAW,EAAEC,YAAY;EACzBC,MAAM;EACNC,IAAI;EACJ,GAAGC;AACW,CAAC,KAAK;EACpB,MAAMC,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAC3B,MAAMa,KAAK,GAAGf,KAAK,CAACa,EAAE,CAAC;EACvB,MAAMG,IAAI,GAAGC,MAAM,CAACH,KAAK,CAACI,KAAK,CAACN,IAAI,IAAI,iBAAiB,CAAC,CAAC;EAE3D,oBACEP,IAAA,CAACN,gBAAgB;IACfoB,UAAU,EAAEb,WAAY;IACxBc,YAAY,EAAEnB,KAAK,CAACoB,IAAK;IACzBC,YAAY,EAAEnB,WAAW,CAACa,IAAI,EAAE,KAAK,CAAE;IACvCO,SAAS,EAAEpB,WAAW,CAACa,IAAI,EAAEJ,IAAI,GAAG,KAAK,GAAG,KAAK,CAAE;IACnDY,aAAa,EAAErB,WAAW,CAACc,MAAM,CAACH,KAAK,CAACI,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAEJ,KAAK,CAACW,IAAI,GAAG,KAAK,GAAG,KAAK,CAAE;IACjGC,aAAa,EAAE,CAAE;IACjBC,UAAU,EAAE,GAAI;IAChBZ,KAAK,EAAEA,KAAM;IACbJ,MAAM,EAAEA,MAAO;IAAAH,QAAA,EAEdA;EAAQ,CACO,CAAC;AAEvB,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { HStack as SwiftUIHStack } from '@expo/ui/swift-ui';
4
4
  import { onTapGesture } from '@expo/ui/swift-ui/modifiers';
5
- import { useSxModifiers } from '@hzblj/kara-sx';
5
+ import { splitAccessibility, useAccessibilityModifiers, useSxModifiers } from '@hzblj/kara-sx';
6
6
  import { spacing } from '@hzblj/kara-theme';
7
7
  import { useMemo } from 'react';
8
8
  import { useHostGuard } from "../../host-context.js";
@@ -23,11 +23,13 @@ export const HStack = ({
23
23
  onPress,
24
24
  spacing: gap,
25
25
  testID,
26
- ...sx
26
+ ...props
27
27
  }) => {
28
28
  useHostGuard('HStack');
29
+ const [accessibility, sx] = splitAccessibility(props);
29
30
  const sxModifiers = useSxModifiers(sx, FRAME_ALIGNMENT[align]);
30
- const modifiers = useMemo(() => onPress ? [...sxModifiers, onTapGesture(onPress)] : sxModifiers, [onPress, sxModifiers]);
31
+ const accessibilityModifiers = useAccessibilityModifiers(accessibility, onPress !== undefined);
32
+ const modifiers = useMemo(() => [...sxModifiers, ...(onPress ? [onTapGesture(onPress)] : []), ...accessibilityModifiers], [accessibilityModifiers, onPress, sxModifiers]);
31
33
  return /*#__PURE__*/_jsx(SwiftUIHStack, {
32
34
  alignment: ALIGNMENT[align],
33
35
  modifiers: modifiers,
@@ -1 +1 @@
1
- {"version":3,"names":["HStack","SwiftUIHStack","onTapGesture","useSxModifiers","spacing","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","end","start","FRAME_ALIGNMENT","align","children","onPress","gap","testID","sx","sxModifiers","modifiers","alignment","undefined"],"sourceRoot":"../../../../src","sources":["atoms/h-stack/h-stack.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,QAAO,mBAAmB;AACzD,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAA6BC,cAAc,QAAO,gBAAgB;AAClE,SAAQC,OAAO,QAAO,mBAAmB;AACzC,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE;AACT,CAAgD;AAEhD,MAAMC,eAAe,GAAG;EACtBH,MAAM,EAAE,SAAS;EACjBC,GAAG,EAAE,eAAe;EACpBC,KAAK,EAAE;AACT,CAAwD;AAExD,OAAO,MAAMZ,MAAuB,GAAGA,CAAC;EACtCc,KAAK,GAAG,OAAO;EACfC,QAAQ;EACRC,OAAO;EACPZ,OAAO,EAAEa,GAAG;EACZC,MAAM;EACN,GAAGC;AACQ,CAAC,KAAK;EACjBb,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAMc,WAAW,GAAGjB,cAAc,CAACgB,EAAE,EAAEN,eAAe,CAACC,KAAK,CAAC,CAAC;EAC9D,MAAMO,SAAS,GAAGhB,OAAO,CACvB,MAAOW,OAAO,GAAG,CAAC,GAAGI,WAAW,EAAElB,YAAY,CAACc,OAAO,CAAC,CAAC,GAAGI,WAAY,EACvE,CAACJ,OAAO,EAAEI,WAAW,CACvB,CAAC;EAED,oBACEZ,IAAA,CAACP,aAAa;IACZqB,SAAS,EAAEb,SAAS,CAACK,KAAK,CAAE;IAC5BO,SAAS,EAAEA,SAAU;IACrBjB,OAAO,EAAEa,GAAG,KAAKM,SAAS,GAAGA,SAAS,GAAGnB,OAAO,CAACa,GAAG,CAAE;IACtDC,MAAM,EAAEA,MAAO;IAAAH,QAAA,EAEdA;EAAQ,CACI,CAAC;AAEpB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["HStack","SwiftUIHStack","onTapGesture","splitAccessibility","useAccessibilityModifiers","useSxModifiers","spacing","useMemo","useHostGuard","jsx","_jsx","ALIGNMENT","center","end","start","FRAME_ALIGNMENT","align","children","onPress","gap","testID","props","accessibility","sx","sxModifiers","accessibilityModifiers","undefined","modifiers","alignment"],"sourceRoot":"../../../../src","sources":["atoms/h-stack/h-stack.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,IAAIC,aAAa,QAAO,mBAAmB;AACzD,SAAQC,YAAY,QAAO,6BAA6B;AACxD,SAA6BC,kBAAkB,EAAEC,yBAAyB,EAAEC,cAAc,QAAO,gBAAgB;AACjH,SAAQC,OAAO,QAAO,mBAAmB;AACzC,SAAQC,OAAO,QAAO,OAAO;AAC7B,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,MAAMC,SAAS,GAAG;EAChBC,MAAM,EAAE,QAAQ;EAChBC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE;AACT,CAAgD;AAEhD,MAAMC,eAAe,GAAG;EACtBH,MAAM,EAAE,SAAS;EACjBC,GAAG,EAAE,eAAe;EACpBC,KAAK,EAAE;AACT,CAAwD;AAExD,OAAO,MAAMd,MAAuB,GAAGA,CAAC;EACtCgB,KAAK,GAAG,OAAO;EACfC,QAAQ;EACRC,OAAO;EACPZ,OAAO,EAAEa,GAAG;EACZC,MAAM;EACN,GAAGC;AACQ,CAAC,KAAK;EACjBb,YAAY,CAAC,QAAQ,CAAC;EACtB,MAAM,CAACc,aAAa,EAAEC,EAAE,CAAC,GAAGpB,kBAAkB,CAACkB,KAAK,CAAC;EACrD,MAAMG,WAAW,GAAGnB,cAAc,CAACkB,EAAE,EAAER,eAAe,CAACC,KAAK,CAAC,CAAC;EAC9D,MAAMS,sBAAsB,GAAGrB,yBAAyB,CAACkB,aAAa,EAAEJ,OAAO,KAAKQ,SAAS,CAAC;EAC9F,MAAMC,SAAS,GAAGpB,OAAO,CACvB,MAAM,CAAC,GAAGiB,WAAW,EAAE,IAAIN,OAAO,GAAG,CAAChB,YAAY,CAACgB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAGO,sBAAsB,CAAC,EAC9F,CAACA,sBAAsB,EAAEP,OAAO,EAAEM,WAAW,CAC/C,CAAC;EAED,oBACEd,IAAA,CAACT,aAAa;IACZ2B,SAAS,EAAEjB,SAAS,CAACK,KAAK,CAAE;IAC5BW,SAAS,EAAEA,SAAU;IACrBrB,OAAO,EAAEa,GAAG,KAAKO,SAAS,GAAGA,SAAS,GAAGpB,OAAO,CAACa,GAAG,CAAE;IACtDC,MAAM,EAAEA,MAAO;IAAAH,QAAA,EAEdA;EAAQ,CACI,CAAC;AAEpB,CAAC","ignoreList":[]}
@@ -1,19 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  import { IconButton as ComposeIconButton } from '@expo/ui/jetpack-compose';
4
+ import { useAccessibilityModifiers } from '@hzblj/kara-sx';
4
5
  import { useHostGuard } from "../../host-context.js";
5
6
  import { Icon } from "../icon/index.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export const IconButton = ({
9
+ accessibilityHint,
10
+ accessibilityLabel,
8
11
  disabled = false,
9
12
  name,
10
13
  onPress
11
14
  }) => {
12
15
  useHostGuard('IconButton');
16
+ // The label rides on the icon, as Material's own icon buttons carry it; the hint labels the click.
17
+ const modifiers = useAccessibilityModifiers({
18
+ accessibilityHint
19
+ }, accessibilityHint !== undefined);
13
20
  return /*#__PURE__*/_jsx(ComposeIconButton, {
14
21
  enabled: !disabled,
22
+ modifiers: modifiers,
15
23
  onClick: onPress,
16
24
  children: /*#__PURE__*/_jsx(Icon, {
25
+ accessibilityLabel: accessibilityLabel,
17
26
  color: disabled ? 'btn.content.disabled' : 'content.primary',
18
27
  name: name
19
28
  })
@@ -1 +1 @@
1
- {"version":3,"names":["IconButton","ComposeIconButton","useHostGuard","Icon","jsx","_jsx","disabled","name","onPress","enabled","onClick","children","color"],"sourceRoot":"../../../../src","sources":["atoms/icon-button/icon-button.android.tsx"],"mappings":";;AAAA,SAAQA,UAAU,IAAIC,iBAAiB,QAAO,0BAA0B;AAExE,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAML,UAA+B,GAAGA,CAAC;EAACM,QAAQ,GAAG,KAAK;EAAEC,IAAI;EAAEC;AAAwB,CAAC,KAAK;EACrGN,YAAY,CAAC,YAAY,CAAC;EAE1B,oBACEG,IAAA,CAACJ,iBAAiB;IAACQ,OAAO,EAAE,CAACH,QAAS;IAACI,OAAO,EAAEF,OAAQ;IAAAG,QAAA,eACtDN,IAAA,CAACF,IAAI;MAACS,KAAK,EAAEN,QAAQ,GAAG,sBAAsB,GAAG,iBAAkB;MAACC,IAAI,EAAEA;IAAK,CAAE;EAAC,CACjE,CAAC;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["IconButton","ComposeIconButton","useAccessibilityModifiers","useHostGuard","Icon","jsx","_jsx","accessibilityHint","accessibilityLabel","disabled","name","onPress","modifiers","undefined","enabled","onClick","children","color"],"sourceRoot":"../../../../src","sources":["atoms/icon-button/icon-button.android.tsx"],"mappings":";;AAAA,SAAQA,UAAU,IAAIC,iBAAiB,QAAO,0BAA0B;AACxE,SAAQC,yBAAyB,QAAO,gBAAgB;AAExD,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMN,UAA+B,GAAGA,CAAC;EAC9CO,iBAAiB;EACjBC,kBAAkB;EAClBC,QAAQ,GAAG,KAAK;EAChBC,IAAI;EACJC;AACe,CAAC,KAAK;EACrBR,YAAY,CAAC,YAAY,CAAC;EAC1B;EACA,MAAMS,SAAS,GAAGV,yBAAyB,CAAC;IAACK;EAAiB,CAAC,EAAEA,iBAAiB,KAAKM,SAAS,CAAC;EAEjG,oBACEP,IAAA,CAACL,iBAAiB;IAACa,OAAO,EAAE,CAACL,QAAS;IAACG,SAAS,EAAEA,SAAU;IAACG,OAAO,EAAEJ,OAAQ;IAAAK,QAAA,eAC5EV,IAAA,CAACF,IAAI;MACHI,kBAAkB,EAAEA,kBAAmB;MACvCS,KAAK,EAAER,QAAQ,GAAG,sBAAsB,GAAG,iBAAkB;MAC7DC,IAAI,EAAEA;IAAK,CACZ;EAAC,CACe,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -1,32 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  import { Button } from '@expo/ui/swift-ui';
4
- import { buttonStyle, disabled as disabledModifier } from '@expo/ui/swift-ui/modifiers';
4
+ import { buttonStyle, contentShape, disabled as disabledModifier, shapes } from '@expo/ui/swift-ui/modifiers';
5
+ import { useAccessibilityModifiers } from '@hzblj/kara-sx';
5
6
  import { useMemo } from 'react';
6
7
  import { useHostGuard } from "../../host-context.js";
7
8
  import { Icon } from "../icon/index.js";
9
+ import { ZStack } from "../z-stack/index.js";
8
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
+ /** Apple's least tap target. Android's `IconButton` is Material's 48dp; this is the same idea in points. */
12
+ const TARGET = 44;
13
+
14
+ /** The whole square takes the tap, not only the glyph's own pixels. */
15
+ const WHOLE_TARGET = {
16
+ modifiers: [contentShape(shapes.circle())]
17
+ };
9
18
  export const IconButton = ({
19
+ accessibilityHint,
20
+ accessibilityLabel,
10
21
  disabled = false,
11
22
  name,
12
23
  onPress,
13
24
  testID
14
25
  }) => {
15
26
  useHostGuard('IconButton');
27
+ const accessibilityModifiers = useAccessibilityModifiers({
28
+ accessibilityHint
29
+ });
16
30
  const modifiers = useMemo(() => {
17
- const list = [buttonStyle('plain')];
31
+ const list = [buttonStyle('plain'), ...accessibilityModifiers];
18
32
  if (disabled) {
19
33
  list.push(disabledModifier(true));
20
34
  }
21
35
  return list;
22
- }, [disabled]);
36
+ }, [accessibilityModifiers, disabled]);
23
37
  return /*#__PURE__*/_jsx(Button, {
24
38
  modifiers: modifiers,
25
39
  onPress: onPress,
26
40
  testID: testID,
27
- children: /*#__PURE__*/_jsx(Icon, {
28
- color: disabled ? 'btn.content.disabled' : 'content.primary',
29
- name: name
41
+ children: /*#__PURE__*/_jsx(ZStack, {
42
+ h: TARGET,
43
+ ios: WHOLE_TARGET,
44
+ w: TARGET,
45
+ children: /*#__PURE__*/_jsx(Icon, {
46
+ accessibilityLabel: accessibilityLabel,
47
+ color: "content.primary",
48
+ name: name
49
+ })
30
50
  })
31
51
  });
32
52
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Button","buttonStyle","disabled","disabledModifier","useMemo","useHostGuard","Icon","jsx","_jsx","IconButton","name","onPress","testID","modifiers","list","push","children","color"],"sourceRoot":"../../../../src","sources":["atoms/icon-button/icon-button.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,WAAW,EAAEC,QAAQ,IAAIC,gBAAgB,QAAO,6BAA6B;AACrF,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG5B,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAACP,QAAQ,GAAG,KAAK;EAAEQ,IAAI;EAAEC,OAAO;EAAEC;AAAuB,CAAC,KAAK;EAC7GP,YAAY,CAAC,YAAY,CAAC;EAE1B,MAAMQ,SAAS,GAAGT,OAAO,CAAC,MAAM;IAC9B,MAAMU,IAAI,GAAG,CAACb,WAAW,CAAC,OAAO,CAAC,CAAC;IAEnC,IAAIC,QAAQ,EAAE;MACZY,IAAI,CAACC,IAAI,CAACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC;IAEA,OAAOW,IAAI;EACb,CAAC,EAAE,CAACZ,QAAQ,CAAC,CAAC;EAEd,oBACEM,IAAA,CAACR,MAAM;IAACa,SAAS,EAAEA,SAAU;IAACF,OAAO,EAAEA,OAAQ;IAACC,MAAM,EAAEA,MAAO;IAAAI,QAAA,eAC7DR,IAAA,CAACF,IAAI;MAACW,KAAK,EAAEf,QAAQ,GAAG,sBAAsB,GAAG,iBAAkB;MAACQ,IAAI,EAAEA;IAAK,CAAE;EAAC,CAC5E,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Button","buttonStyle","contentShape","disabled","disabledModifier","shapes","useAccessibilityModifiers","useMemo","useHostGuard","Icon","ZStack","jsx","_jsx","TARGET","WHOLE_TARGET","modifiers","circle","IconButton","accessibilityHint","accessibilityLabel","name","onPress","testID","accessibilityModifiers","list","push","children","h","ios","w","color"],"sourceRoot":"../../../../src","sources":["atoms/icon-button/icon-button.ios.tsx"],"mappings":";;AAAA,SAAQA,MAAM,QAAO,mBAAmB;AACxC,SAAQC,WAAW,EAAEC,YAAY,EAAEC,QAAQ,IAAIC,gBAAgB,EAAEC,MAAM,QAAO,6BAA6B;AAC3G,SAAQC,yBAAyB,QAAO,gBAAgB;AACxD,SAAQC,OAAO,QAAO,OAAO;AAE7B,SAAQC,YAAY,QAAO,uBAAoB;AAC/C,SAAQC,IAAI,QAAO,kBAAS;AAC5B,SAAQC,MAAM,QAAO,qBAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGjC;AACA,MAAMC,MAAM,GAAG,EAAE;;AAEjB;AACA,MAAMC,YAAY,GAAG;EAACC,SAAS,EAAE,CAACb,YAAY,CAACG,MAAM,CAACW,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC;AAEjE,OAAO,MAAMC,UAA+B,GAAGA,CAAC;EAC9CC,iBAAiB;EACjBC,kBAAkB;EAClBhB,QAAQ,GAAG,KAAK;EAChBiB,IAAI;EACJC,OAAO;EACPC;AACe,CAAC,KAAK;EACrBd,YAAY,CAAC,YAAY,CAAC;EAC1B,MAAMe,sBAAsB,GAAGjB,yBAAyB,CAAC;IAACY;EAAiB,CAAC,CAAC;EAE7E,MAAMH,SAAS,GAAGR,OAAO,CAAC,MAAM;IAC9B,MAAMiB,IAAI,GAAG,CAACvB,WAAW,CAAC,OAAO,CAAC,EAAE,GAAGsB,sBAAsB,CAAC;IAE9D,IAAIpB,QAAQ,EAAE;MACZqB,IAAI,CAACC,IAAI,CAACrB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC;IAEA,OAAOoB,IAAI;EACb,CAAC,EAAE,CAACD,sBAAsB,EAAEpB,QAAQ,CAAC,CAAC;EAEtC,oBACES,IAAA,CAACZ,MAAM;IAACe,SAAS,EAAEA,SAAU;IAACM,OAAO,EAAEA,OAAQ;IAACC,MAAM,EAAEA,MAAO;IAAAI,QAAA,eAC7Dd,IAAA,CAACF,MAAM;MAACiB,CAAC,EAAEd,MAAO;MAACe,GAAG,EAAEd,YAAa;MAACe,CAAC,EAAEhB,MAAO;MAAAa,QAAA,eAE9Cd,IAAA,CAACH,IAAI;QAACU,kBAAkB,EAAEA,kBAAmB;QAACW,KAAK,EAAC,iBAAiB;QAACV,IAAI,EAAEA;MAAK,CAAE;IAAC,CAC9E;EAAC,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
@@ -5,8 +5,8 @@ import { duration } from '@hzblj/kara-theme';
5
5
  import { Image as ExpoImage } from 'expo-image';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const FADE = {
8
- duration: duration.d100,
9
- timing: 'linear'
8
+ duration: duration.quick,
9
+ timing: 'ease-out'
10
10
  };
11
11
  const FadingImage = props => /*#__PURE__*/_jsx(ExpoImage, {
12
12
  transition: FADE,
@@ -14,8 +14,8 @@ const FadingImage = props => /*#__PURE__*/_jsx(ExpoImage, {
14
14
  });
15
15
 
16
16
  /**
17
- * `expo-image` with the `sx` props, the way `Box` is a `View` with them, and the design system's 100 ms linear fade
18
- * already applied, so a loaded image never pops in. An explicit `transition` wins, and so does an explicit `style`.
17
+ * `expo-image` with the `sx` props, the way `Box` is a `View` with them, and the design system's fade (`quick`,
18
+ * eased out) already applied, so a loaded image never pops in. An explicit `transition` wins, and so does an explicit `style`.
19
19
  */
20
20
  export const Image = sx(FadingImage);
21
21
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["sx","duration","Image","ExpoImage","jsx","_jsx","FADE","d100","timing","FadingImage","props","transition"],"sourceRoot":"../../../../src","sources":["atoms/image/image.tsx"],"mappings":";;AAAA,SAAQA,EAAE,QAAO,gBAAgB;AACjC,SAAQC,QAAQ,QAAO,mBAAmB;AAC1C,SAAQC,KAAK,IAAIC,SAAS,QAA0C,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGhF,MAAMC,IAAI,GAAG;EAACL,QAAQ,EAAEA,QAAQ,CAACM,IAAI;EAAEC,MAAM,EAAE;AAAQ,CAAU;AAEjE,MAAMC,WAAW,GAAIC,KAA8C,iBAAKL,IAAA,CAACF,SAAS;EAACQ,UAAU,EAAEL,IAAK;EAAA,GAAKI;AAAK,CAAG,CAAC;;AAElH;AACA;AACA;AACA;AACA,OAAO,MAAMR,KAAK,GAAGF,EAAE,CAACS,WAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["sx","duration","Image","ExpoImage","jsx","_jsx","FADE","quick","timing","FadingImage","props","transition"],"sourceRoot":"../../../../src","sources":["atoms/image/image.tsx"],"mappings":";;AAAA,SAAQA,EAAE,QAAO,gBAAgB;AACjC,SAAQC,QAAQ,QAAO,mBAAmB;AAC1C,SAAQC,KAAK,IAAIC,SAAS,QAA0C,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGhF,MAAMC,IAAI,GAAG;EAACL,QAAQ,EAAEA,QAAQ,CAACM,KAAK;EAAEC,MAAM,EAAE;AAAU,CAAU;AAEpE,MAAMC,WAAW,GAAIC,KAA8C,iBAAKL,IAAA,CAACF,SAAS;EAACQ,UAAU,EAAEL,IAAK;EAAA,GAAKI;AAAK,CAAG,CAAC;;AAElH;AACA;AACA;AACA;AACA,OAAO,MAAMR,KAAK,GAAGF,EAAE,CAACS,WAAW,CAAC","ignoreList":[]}
@@ -1,59 +1,80 @@
1
1
  "use strict";
2
2
 
3
- import { useSplitSx } from '@hzblj/kara-sx';
4
- import { useAppTheme, withOpacity } from '@hzblj/kara-theme';
3
+ import { accessibilityProps, splitAccessibility, useSplitSx } from '@hzblj/kara-sx';
4
+ import { opacity, useAppTheme, useReducedMotion, withOpacity } from '@hzblj/kara-theme';
5
5
  import { useCallback, useMemo } from 'react';
6
- import { Platform, Pressable as RNPressable, View } from 'react-native';
7
- import Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
6
+ import { Platform, Pressable as RNPressable } from 'react-native';
7
+ import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
8
8
  import { haptics } from "../../haptics/index.js";
9
+ import { timing } from "../../motion.js";
9
10
  import { splitForRipple } from "../../ripple-clip.js";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const SPRING = {
12
- damping: 20,
13
- stiffness: 400
14
- };
12
+ /** The scale eases down and settles back a little slower, with no bounce: a press is not a toy. */
13
+ const SCALE_IN = timing('quick');
14
+ const SCALE_OUT = timing('fast');
15
+
16
+ /** A dim comes in at once and leaves a little slower, as UIKit's own highlight does. */
17
+ const DIM_IN = timing('micro', 'out');
18
+ const DIM_OUT = timing('quick', 'out');
19
+ const PLATFORM_EFFECT = Platform.OS === 'ios' ? 'scale' : 'none';
15
20
  const AnimatedPressable = Animated.createAnimatedComponent(RNPressable);
16
21
  export const Pressable = ({
17
22
  children,
18
23
  disabled = false,
19
24
  haptic = false,
20
25
  onPress,
26
+ pressEffect = PLATFORM_EFFECT,
27
+ pressedOpacity = 'o60',
28
+ pressedScale = 0.96,
29
+ ripple: withRipple = true,
21
30
  testID,
22
31
  ...props
23
32
  }) => {
24
- const [resolved, rest] = useSplitSx(props);
25
- const scale = useSharedValue(1);
33
+ const [accessibility, ownProps] = splitAccessibility(props);
34
+ const [resolved, rest] = useSplitSx(ownProps);
35
+ const reduced = useReducedMotion();
36
+ // With motion reduced the press still shows, and nothing moves: a scale dims instead.
37
+ const effect = reduced && pressEffect === 'scale' ? 'opacity' : pressEffect;
38
+ // 0 at rest, 1 held: one value drives whichever effect is picked, so a change of effect needs no second animation.
39
+ const pressed = useSharedValue(0);
26
40
  const feedback = haptic === true ? 'light' : haptic || undefined;
41
+ const a11y = accessibilityProps(accessibility, 'button');
42
+ const dimmed = opacity[pressedOpacity];
27
43
  const theme = useAppTheme();
28
44
  const isAndroid = Platform.OS === 'android';
29
- const rStyle = useAnimatedStyle(() => ({
30
- transform: [{
31
- scale: scale.value
32
- }]
33
- }), []);
45
+ const rStyle = useAnimatedStyle(() => {
46
+ if (effect === 'scale') {
47
+ return {
48
+ transform: [{
49
+ scale: 1 - (1 - pressedScale) * pressed.value
50
+ }]
51
+ };
52
+ }
53
+ return effect === 'opacity' ? {
54
+ opacity: 1 - (1 - dimmed) * pressed.value
55
+ } : {};
56
+ }, [dimmed, effect, pressedScale]);
34
57
 
35
- // Android's press is Material's: a ripple over the content — the pressed state layer, `onSurface` at 10 % — clipped to
36
- // the shape by an outer view (`splitForRipple`), and nothing moves. iOS springs down.
37
- const ripple = useMemo(() => isAndroid ? {
58
+ // Android's press is Material's: a ripple over the content (the pressed state layer, `onSurface` at 10 %) clipped to
59
+ // the shape by an outer view (`splitForRipple`). The effect, when there is one, moves that outer view, ripple and all.
60
+ const ripple = useMemo(() => isAndroid && withRipple ? {
38
61
  color: withOpacity(String(theme.color('content.primary')), 'o10'),
39
62
  foreground: true
40
- } : undefined, [isAndroid, theme]);
63
+ } : undefined, [isAndroid, theme, withRipple]);
41
64
  const androidStyle = useMemo(() => isAndroid ? splitForRipple(resolved) : undefined, [isAndroid, resolved]);
42
65
 
43
66
  // The finger is down: the Taptic Engine has until the release to wake, so the haptic lands with the press.
44
67
  const onPressIn = useCallback(() => {
45
- if (!isAndroid) {
46
- scale.value = withSpring(0.96, SPRING);
68
+ if (effect !== 'none') {
69
+ pressed.value = withTiming(1, effect === 'scale' ? SCALE_IN : DIM_IN);
47
70
  }
48
71
  if (feedback) {
49
72
  haptics.prepare(feedback);
50
73
  }
51
- }, [feedback, isAndroid, scale]);
74
+ }, [effect, feedback, pressed]);
52
75
  const onPressOut = useCallback(() => {
53
- if (!isAndroid) {
54
- scale.value = withSpring(1, SPRING);
55
- }
56
- }, [isAndroid, scale]);
76
+ pressed.value = withTiming(0, effect === 'scale' ? SCALE_OUT : DIM_OUT);
77
+ }, [effect, pressed]);
57
78
  const onPressWithHaptic = useCallback(() => {
58
79
  if (feedback) {
59
80
  haptics.play(feedback);
@@ -61,14 +82,16 @@ export const Pressable = ({
61
82
  onPress?.();
62
83
  }, [feedback, onPress]);
63
84
  if (androidStyle) {
64
- return /*#__PURE__*/_jsx(View, {
65
- style: androidStyle.outer,
85
+ return /*#__PURE__*/_jsx(Animated.View, {
86
+ style: [androidStyle.outer, rStyle],
66
87
  children: /*#__PURE__*/_jsx(RNPressable, {
88
+ ...a11y,
67
89
  android_ripple: ripple,
68
90
  disabled: disabled,
69
91
  hitSlop: 8,
70
92
  onPress: onPressWithHaptic,
71
93
  onPressIn: onPressIn,
94
+ onPressOut: onPressOut,
72
95
  style: androidStyle.inner,
73
96
  testID: testID,
74
97
  ...rest,
@@ -77,6 +100,7 @@ export const Pressable = ({
77
100
  });
78
101
  }
79
102
  return /*#__PURE__*/_jsx(AnimatedPressable, {
103
+ ...a11y,
80
104
  disabled: disabled,
81
105
  hitSlop: 8,
82
106
  onPress: onPressWithHaptic,
@@ -1 +1 @@
1
- {"version":3,"names":["useSplitSx","useAppTheme","withOpacity","useCallback","useMemo","Platform","Pressable","RNPressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","haptics","splitForRipple","jsx","_jsx","SPRING","damping","stiffness","AnimatedPressable","createAnimatedComponent","children","disabled","haptic","onPress","testID","props","resolved","rest","scale","feedback","undefined","theme","isAndroid","OS","rStyle","transform","value","ripple","color","String","foreground","androidStyle","onPressIn","prepare","onPressOut","onPressWithHaptic","play","style","outer","android_ripple","hitSlop","inner"],"sourceRoot":"../../../../src","sources":["atoms/pressable/pressable.tsx"],"mappings":";;AAAA,SAAQA,UAAU,QAAO,gBAAgB;AACzC,SAAQC,WAAW,EAAEC,WAAW,QAAO,mBAAmB;AAC1D,SAAQC,WAAW,EAAEC,OAAO,QAAO,OAAO;AAC1C,SAAQC,QAAQ,EAAEC,SAAS,IAAIC,WAAW,EAAEC,IAAI,QAAuB,cAAc;AACrF,OAAOC,QAAQ,IAAGC,gBAAgB,EAAEC,cAAc,EAAEC,UAAU,QAAO,yBAAyB;AAE9F,SAAQC,OAAO,QAAO,wBAAe;AACrC,SAAQC,cAAc,QAAO,sBAAmB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGhD,MAAMC,MAAM,GAAG;EAACC,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE;AAAG,CAAC;AAE5C,MAAMC,iBAAiB,GAAGX,QAAQ,CAACY,uBAAuB,CAACd,WAAW,CAAC;AAEvE,OAAO,MAAMD,SAA6B,GAAGA,CAAC;EAC5CgB,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC,MAAM,GAAG,KAAK;EACdC,OAAO;EACPC,MAAM;EACN,GAAGC;AACW,CAAC,KAAK;EACpB,MAAM,CAACC,QAAQ,EAAEC,IAAI,CAAC,GAAG7B,UAAU,CAAC2B,KAAK,CAAC;EAC1C,MAAMG,KAAK,GAAGnB,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMoB,QAAQ,GAAGP,MAAM,KAAK,IAAI,GAAG,OAAO,GAAGA,MAAM,IAAIQ,SAAS;EAEhE,MAAMC,KAAK,GAAGhC,WAAW,CAAC,CAAC;EAC3B,MAAMiC,SAAS,GAAG7B,QAAQ,CAAC8B,EAAE,KAAK,SAAS;EAE3C,MAAMC,MAAM,GAAG1B,gBAAgB,CAAC,OAAO;IAAC2B,SAAS,EAAE,CAAC;MAACP,KAAK,EAAEA,KAAK,CAACQ;IAAK,CAAC;EAAC,CAAC,CAAC,EAAE,EAAE,CAAC;;EAEhF;EACA;EACA,MAAMC,MAAM,GAAGnC,OAAO,CACpB,MACE8B,SAAS,GAAG;IAACM,KAAK,EAAEtC,WAAW,CAACuC,MAAM,CAACR,KAAK,CAACO,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC;IAAEE,UAAU,EAAE;EAAI,CAAC,GAAGV,SAAS,EAC/G,CAACE,SAAS,EAAED,KAAK,CACnB,CAAC;EACD,MAAMU,YAAY,GAAGvC,OAAO,CAC1B,MAAO8B,SAAS,GAAGpB,cAAc,CAACc,QAAqB,CAAC,GAAGI,SAAU,EACrE,CAACE,SAAS,EAAEN,QAAQ,CACtB,CAAC;;EAED;EACA,MAAMgB,SAAS,GAAGzC,WAAW,CAAC,MAAM;IAClC,IAAI,CAAC+B,SAAS,EAAE;MACdJ,KAAK,CAACQ,KAAK,GAAG1B,UAAU,CAAC,IAAI,EAAEK,MAAM,CAAC;IACxC;IAEA,IAAIc,QAAQ,EAAE;MACZlB,OAAO,CAACgC,OAAO,CAACd,QAAQ,CAAC;IAC3B;EACF,CAAC,EAAE,CAACA,QAAQ,EAAEG,SAAS,EAAEJ,KAAK,CAAC,CAAC;EAEhC,MAAMgB,UAAU,GAAG3C,WAAW,CAAC,MAAM;IACnC,IAAI,CAAC+B,SAAS,EAAE;MACdJ,KAAK,CAACQ,KAAK,GAAG1B,UAAU,CAAC,CAAC,EAAEK,MAAM,CAAC;IACrC;EACF,CAAC,EAAE,CAACiB,SAAS,EAAEJ,KAAK,CAAC,CAAC;EAEtB,MAAMiB,iBAAiB,GAAG5C,WAAW,CAAC,MAAM;IAC1C,IAAI4B,QAAQ,EAAE;MACZlB,OAAO,CAACmC,IAAI,CAACjB,QAAQ,CAAC;IACxB;IAEAN,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACM,QAAQ,EAAEN,OAAO,CAAC,CAAC;EAEvB,IAAIkB,YAAY,EAAE;IAChB,oBACE3B,IAAA,CAACR,IAAI;MAACyC,KAAK,EAAEN,YAAY,CAACO,KAAM;MAAA5B,QAAA,eAC9BN,IAAA,CAACT,WAAW;QACV4C,cAAc,EAAEZ,MAAO;QACvBhB,QAAQ,EAAEA,QAAS;QACnB6B,OAAO,EAAE,CAAE;QACX3B,OAAO,EAAEsB,iBAAkB;QAC3BH,SAAS,EAAEA,SAAU;QACrBK,KAAK,EAAEN,YAAY,CAACU,KAAM;QAC1B3B,MAAM,EAAEA,MAAO;QAAA,GACXG,IAAI;QAAAP,QAAA,EAEPA;MAAQ,CACE;IAAC,CACV,CAAC;EAEX;EAEA,oBACEN,IAAA,CAACI,iBAAiB;IAChBG,QAAQ,EAAEA,QAAS;IACnB6B,OAAO,EAAE,CAAE;IACX3B,OAAO,EAAEsB,iBAAkB;IAC3BH,SAAS,EAAEA,SAAU;IACrBE,UAAU,EAAEA,UAAW;IACvBG,KAAK,EAAE,CAACrB,QAAQ,EAAEQ,MAAM,CAAE;IAC1BV,MAAM,EAAEA,MAAO;IAAA,GACXG,IAAI;IAAAP,QAAA,EAEPA;EAAQ,CACQ,CAAC;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["accessibilityProps","splitAccessibility","useSplitSx","opacity","useAppTheme","useReducedMotion","withOpacity","useCallback","useMemo","Platform","Pressable","RNPressable","Animated","useAnimatedStyle","useSharedValue","withTiming","haptics","timing","splitForRipple","jsx","_jsx","SCALE_IN","SCALE_OUT","DIM_IN","DIM_OUT","PLATFORM_EFFECT","OS","AnimatedPressable","createAnimatedComponent","children","disabled","haptic","onPress","pressEffect","pressedOpacity","pressedScale","ripple","withRipple","testID","props","accessibility","ownProps","resolved","rest","reduced","effect","pressed","feedback","undefined","a11y","dimmed","theme","isAndroid","rStyle","transform","scale","value","color","String","foreground","androidStyle","onPressIn","prepare","onPressOut","onPressWithHaptic","play","View","style","outer","android_ripple","hitSlop","inner"],"sourceRoot":"../../../../src","sources":["atoms/pressable/pressable.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  import { CircularProgressIndicator, LinearProgressIndicator } from '@expo/ui/jetpack-compose';
4
+ import { useAccessibilityModifiers } from '@hzblj/kara-sx';
4
5
  import { useAppTheme } from '@hzblj/kara-theme';
5
6
  import { useHostGuard } from "../../host-context.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export const Progress = ({
9
+ accessibilityLabel,
8
10
  circular = false,
9
11
  value
10
12
  }) => {
11
13
  useHostGuard('Progress');
12
14
  const theme = useAppTheme();
13
15
  const color = theme.color('fill.accent.primary');
16
+ const modifiers = useAccessibilityModifiers({
17
+ accessibilityLabel
18
+ });
14
19
  if (circular) {
15
20
  return /*#__PURE__*/_jsx(CircularProgressIndicator, {
16
21
  color: color,
22
+ modifiers: modifiers,
17
23
  progress: value
18
24
  });
19
25
  }
20
26
  return /*#__PURE__*/_jsx(LinearProgressIndicator, {
21
27
  color: color,
28
+ modifiers: modifiers,
22
29
  progress: value
23
30
  });
24
31
  };
@@ -1 +1 @@
1
- {"version":3,"names":["CircularProgressIndicator","LinearProgressIndicator","useAppTheme","useHostGuard","jsx","_jsx","Progress","circular","value","theme","color","progress"],"sourceRoot":"../../../../src","sources":["atoms/progress/progress.android.tsx"],"mappings":";;AAAA,SAAQA,yBAAyB,EAAEC,uBAAuB,QAAO,0BAA0B;AAC3F,SAAQC,WAAW,QAAO,mBAAmB;AAE7C,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAACC,QAAQ,GAAG,KAAK;EAAEC;AAAoB,CAAC,KAAK;EACvFL,YAAY,CAAC,UAAU,CAAC;EACxB,MAAMM,KAAK,GAAGP,WAAW,CAAC,CAAC;EAC3B,MAAMQ,KAAK,GAAGD,KAAK,CAACC,KAAK,CAAC,qBAAqB,CAAC;EAEhD,IAAIH,QAAQ,EAAE;IACZ,oBAAOF,IAAA,CAACL,yBAAyB;MAACU,KAAK,EAAEA,KAAM;MAACC,QAAQ,EAAEH;IAAM,CAAE,CAAC;EACrE;EAEA,oBAAOH,IAAA,CAACJ,uBAAuB;IAACS,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEH;EAAM,CAAE,CAAC;AACnE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["CircularProgressIndicator","LinearProgressIndicator","useAccessibilityModifiers","useAppTheme","useHostGuard","jsx","_jsx","Progress","accessibilityLabel","circular","value","theme","color","modifiers","progress"],"sourceRoot":"../../../../src","sources":["atoms/progress/progress.android.tsx"],"mappings":";;AAAA,SAAQA,yBAAyB,EAAEC,uBAAuB,QAAO,0BAA0B;AAC3F,SAAQC,yBAAyB,QAAO,gBAAgB;AACxD,SAAQC,WAAW,QAAO,mBAAmB;AAE7C,SAAQC,YAAY,QAAO,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAG/C,OAAO,MAAMC,QAA2B,GAAGA,CAAC;EAACC,kBAAkB;EAAEC,QAAQ,GAAG,KAAK;EAAEC;AAAoB,CAAC,KAAK;EAC3GN,YAAY,CAAC,UAAU,CAAC;EACxB,MAAMO,KAAK,GAAGR,WAAW,CAAC,CAAC;EAC3B,MAAMS,KAAK,GAAGD,KAAK,CAACC,KAAK,CAAC,qBAAqB,CAAC;EAChD,MAAMC,SAAS,GAAGX,yBAAyB,CAAC;IAACM;EAAkB,CAAC,CAAC;EAEjE,IAAIC,QAAQ,EAAE;IACZ,oBAAOH,IAAA,CAACN,yBAAyB;MAACY,KAAK,EAAEA,KAAM;MAACC,SAAS,EAAEA,SAAU;MAACC,QAAQ,EAAEJ;IAAM,CAAE,CAAC;EAC3F;EAEA,oBAAOJ,IAAA,CAACL,uBAAuB;IAACW,KAAK,EAAEA,KAAM;IAACC,SAAS,EAAEA,SAAU;IAACC,QAAQ,EAAEJ;EAAM,CAAE,CAAC;AACzF,CAAC","ignoreList":[]}
@@ -2,18 +2,23 @@
2
2
 
3
3
  import { Gauge, ProgressView } from '@expo/ui/swift-ui';
4
4
  import { gaugeStyle, progressViewStyle, tint } from '@expo/ui/swift-ui/modifiers';
5
+ import { useAccessibilityModifiers } from '@hzblj/kara-sx';
5
6
  import { useAppTheme } from '@hzblj/kara-theme';
6
7
  import { useMemo } from 'react';
7
8
  import { useHostGuard } from "../../host-context.js";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  export const Progress = ({
11
+ accessibilityLabel,
10
12
  circular = false,
11
13
  value
12
14
  }) => {
13
15
  useHostGuard('Progress');
14
16
  const theme = useAppTheme();
17
+ const accessibilityModifiers = useAccessibilityModifiers({
18
+ accessibilityLabel
19
+ });
15
20
  const ring = circular && value !== undefined;
16
- const modifiers = useMemo(() => [ring ? gaugeStyle('circularCapacity') : progressViewStyle(circular ? 'circular' : 'linear'), tint(theme.color('fill.accent.primary'))], [circular, ring, theme]);
21
+ const modifiers = useMemo(() => [ring ? gaugeStyle('circularCapacity') : progressViewStyle(circular ? 'circular' : 'linear'), tint(theme.color('fill.accent.primary')), ...accessibilityModifiers], [accessibilityModifiers, circular, ring, theme]);
17
22
 
18
23
  // SwiftUI's circular `ProgressView` ignores its value on iOS and spins; a ring that fills is a capacity `Gauge`.
19
24
  return ring ? /*#__PURE__*/_jsx(Gauge, {