@ankhorage/zora 16.0.0 → 18.0.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 (748) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +15 -15
  3. package/dist/constants.d.ts +3 -2
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +3 -2
  6. package/dist/constants.js.map +1 -1
  7. package/dist/features/accordion/accordionItemMeta.d.ts +1 -1
  8. package/dist/features/accordion/adapters/inbound/AccordionItem.js +19 -19
  9. package/dist/features/accordion/adapters/inbound/AccordionItem.js.map +1 -1
  10. package/dist/features/app-bar/adapters/inbound/AppBar.d.ts.map +1 -1
  11. package/dist/features/app-bar/adapters/inbound/AppBar.js +6 -7
  12. package/dist/features/app-bar/adapters/inbound/AppBar.js.map +1 -1
  13. package/dist/features/auth/adapters/inbound/AuthForm.js +3 -3
  14. package/dist/features/auth/adapters/inbound/AuthForm.js.map +1 -1
  15. package/dist/features/auth/adapters/inbound/AuthFormField.js +3 -3
  16. package/dist/features/auth/adapters/inbound/AuthFormField.js.map +1 -1
  17. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js +3 -3
  18. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js.map +1 -1
  19. package/dist/features/auth/adapters/inbound/OAuthProviderList.js +3 -3
  20. package/dist/features/auth/adapters/inbound/OAuthProviderList.js.map +1 -1
  21. package/dist/features/auth/adapters/inbound/OtpForm.js +3 -3
  22. package/dist/features/auth/adapters/inbound/OtpForm.js.map +1 -1
  23. package/dist/features/auth/adapters/inbound/SignInForm.js +3 -3
  24. package/dist/features/auth/adapters/inbound/SignInForm.js.map +1 -1
  25. package/dist/features/auth/adapters/inbound/SignUpForm.js +3 -3
  26. package/dist/features/auth/adapters/inbound/SignUpForm.js.map +1 -1
  27. package/dist/features/avatar/adapters/inbound/Avatar.js +3 -3
  28. package/dist/features/avatar/adapters/inbound/Avatar.js.map +1 -1
  29. package/dist/features/avatar/adapters/inbound/AvatarGroup.js +7 -7
  30. package/dist/features/avatar/adapters/inbound/AvatarGroup.js.map +1 -1
  31. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js +3 -3
  32. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js.map +1 -1
  33. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  34. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.d.ts.map +1 -1
  35. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js +5 -5
  36. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js.map +1 -1
  37. package/dist/features/button/adapters/inbound/ButtonGroup.js +3 -3
  38. package/dist/features/button/adapters/inbound/ButtonGroup.js.map +1 -1
  39. package/dist/features/card/adapters/inbound/Card.js +12 -12
  40. package/dist/features/card/adapters/inbound/Card.js.map +1 -1
  41. package/dist/features/card/adapters/inbound/MediaCard.js +21 -21
  42. package/dist/features/card/adapters/inbound/MediaCard.js.map +1 -1
  43. package/dist/features/card/adapters/inbound/MetricCard.d.ts.map +1 -1
  44. package/dist/features/card/adapters/inbound/MetricCard.js +10 -11
  45. package/dist/features/card/adapters/inbound/MetricCard.js.map +1 -1
  46. package/dist/features/card/adapters/inbound/PostCard.d.ts.map +1 -1
  47. package/dist/features/card/adapters/inbound/PostCard.js +37 -38
  48. package/dist/features/card/adapters/inbound/PostCard.js.map +1 -1
  49. package/dist/features/card/adapters/inbound/ProductCard.d.ts.map +1 -1
  50. package/dist/features/card/adapters/inbound/ProductCard.js +17 -18
  51. package/dist/features/card/adapters/inbound/ProductCard.js.map +1 -1
  52. package/dist/features/card/cardMeta.d.ts +1 -1
  53. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  54. package/dist/features/card/postCardMeta.d.ts +1 -1
  55. package/dist/features/chip/adapters/inbound/Chip.d.ts.map +1 -1
  56. package/dist/features/chip/adapters/inbound/Chip.js +5 -6
  57. package/dist/features/chip/adapters/inbound/Chip.js.map +1 -1
  58. package/dist/features/chip/adapters/inbound/ChipGroup.d.ts.map +1 -1
  59. package/dist/features/chip/adapters/inbound/ChipGroup.js +3 -3
  60. package/dist/features/chip/adapters/inbound/ChipGroup.js.map +1 -1
  61. package/dist/features/content-rail/adapters/inbound/ContentRail.d.ts.map +1 -0
  62. package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.js +9 -10
  63. package/dist/features/content-rail/adapters/inbound/ContentRail.js.map +1 -0
  64. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.d.ts.map +1 -0
  65. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.js.map +1 -0
  66. package/dist/features/content-rail/constants.d.ts +2 -0
  67. package/dist/features/content-rail/constants.d.ts.map +1 -0
  68. package/dist/features/content-rail/constants.js +2 -0
  69. package/dist/features/content-rail/constants.js.map +1 -0
  70. package/dist/features/{layout → content-rail}/contentRailMeta.d.ts +2 -2
  71. package/dist/features/content-rail/contentRailMeta.d.ts.map +1 -0
  72. package/dist/features/content-rail/contentRailMeta.js.map +1 -0
  73. package/dist/features/content-rail/public.d.ts +3 -0
  74. package/dist/features/content-rail/public.d.ts.map +1 -0
  75. package/dist/features/content-rail/public.js +2 -0
  76. package/dist/features/content-rail/public.js.map +1 -0
  77. package/dist/features/content-rail/utils/resolveContentRailItemWidth.d.ts.map +1 -0
  78. package/dist/features/content-rail/utils/resolveContentRailItemWidth.js.map +1 -0
  79. package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.d.ts.map +1 -0
  80. package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.js.map +1 -0
  81. package/dist/features/content-rail/utils/resolveContentRailState.d.ts.map +1 -0
  82. package/dist/features/content-rail/utils/resolveContentRailState.js.map +1 -0
  83. package/dist/features/content-rail/utils/useContentRailReducedMotion.d.ts.map +1 -0
  84. package/dist/features/content-rail/utils/useContentRailReducedMotion.js.map +1 -0
  85. package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
  86. package/dist/features/data-table/adapters/inbound/DataTable.js +32 -32
  87. package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
  88. package/dist/features/date-picker/composition/DatePickerContent.js +16 -16
  89. package/dist/features/date-picker/composition/DatePickerContent.js.map +1 -1
  90. package/dist/features/date-picker/composition/DatePickerField.js +3 -3
  91. package/dist/features/date-picker/composition/DatePickerField.js.map +1 -1
  92. package/dist/features/dialog/adapters/inbound/Dialog.js +9 -9
  93. package/dist/features/dialog/adapters/inbound/Dialog.js.map +1 -1
  94. package/dist/features/dialog/dialogMeta.d.ts +2 -2
  95. package/dist/features/empty-state/adapters/inbound/EmptyState.js +5 -5
  96. package/dist/features/empty-state/adapters/inbound/EmptyState.js.map +1 -1
  97. package/dist/features/form/adapters/inbound/Form.js +3 -3
  98. package/dist/features/form/adapters/inbound/Form.js.map +1 -1
  99. package/dist/features/form/adapters/inbound/FormActions.js +4 -4
  100. package/dist/features/form/adapters/inbound/FormActions.js.map +1 -1
  101. package/dist/features/form/adapters/inbound/FormError.js +3 -3
  102. package/dist/features/form/adapters/inbound/FormError.js.map +1 -1
  103. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.d.ts.map +1 -1
  104. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js +5 -6
  105. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js.map +1 -1
  106. package/dist/features/form/field/adapters/inbound/Field.d.ts +5 -0
  107. package/dist/features/form/field/adapters/inbound/Field.d.ts.map +1 -0
  108. package/dist/features/form/field/adapters/inbound/Field.js +20 -0
  109. package/dist/features/form/field/adapters/inbound/Field.js.map +1 -0
  110. package/dist/features/form/{formFieldMeta.d.ts → field/meta.d.ts} +4 -4
  111. package/dist/features/form/field/meta.d.ts.map +1 -0
  112. package/dist/features/form/{formFieldMeta.js → field/meta.js} +4 -4
  113. package/dist/features/form/field/meta.js.map +1 -0
  114. package/dist/features/form/field/public.d.ts +2 -0
  115. package/dist/features/form/field/public.d.ts.map +1 -0
  116. package/dist/features/form/field/public.js +2 -0
  117. package/dist/features/form/field/public.js.map +1 -0
  118. package/dist/features/form/formMeta.d.ts +1 -1
  119. package/dist/features/form/formMeta.js +1 -1
  120. package/dist/features/form/formMeta.js.map +1 -1
  121. package/dist/features/form/public.d.ts +2 -2
  122. package/dist/features/form/public.d.ts.map +1 -1
  123. package/dist/features/form/public.js +1 -1
  124. package/dist/features/form/public.js.map +1 -1
  125. package/dist/features/form/radio/adapters/inbound/RadioGroup.js +10 -10
  126. package/dist/features/form/radio/adapters/inbound/RadioGroup.js.map +1 -1
  127. package/dist/features/form/select/adapters/inbound/Select.web.js +3 -3
  128. package/dist/features/form/select/adapters/inbound/Select.web.js.map +1 -1
  129. package/dist/features/gradient/adapters/inbound/Gradient.js +5 -5
  130. package/dist/features/gradient/adapters/inbound/Gradient.js.map +1 -1
  131. package/dist/features/gradient/gradientMeta.d.ts +1 -1
  132. package/dist/features/hero/adapters/inbound/Hero.js +12 -12
  133. package/dist/features/hero/adapters/inbound/Hero.js.map +1 -1
  134. package/dist/features/image/adapters/inbound/Image.js +3 -3
  135. package/dist/features/image/adapters/inbound/Image.js.map +1 -1
  136. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  137. package/dist/features/layout/adapters/inbound/AppShell.d.ts +5 -0
  138. package/dist/features/layout/adapters/inbound/AppShell.d.ts.map +1 -0
  139. package/dist/features/layout/adapters/inbound/AppShell.js +20 -0
  140. package/dist/features/layout/adapters/inbound/AppShell.js.map +1 -0
  141. package/dist/features/layout/adapters/inbound/Screen.d.ts +5 -0
  142. package/dist/features/layout/adapters/inbound/Screen.d.ts.map +1 -0
  143. package/dist/features/layout/adapters/inbound/Screen.js +22 -0
  144. package/dist/features/layout/adapters/inbound/Screen.js.map +1 -0
  145. package/dist/features/layout/adapters/inbound/ScreenSection.d.ts +5 -0
  146. package/dist/features/layout/adapters/inbound/ScreenSection.d.ts.map +1 -0
  147. package/dist/features/layout/adapters/inbound/ScreenSection.js +13 -0
  148. package/dist/features/layout/adapters/inbound/ScreenSection.js.map +1 -0
  149. package/dist/features/layout/adapters/inbound/ScrollView.d.ts +5 -0
  150. package/dist/features/layout/adapters/inbound/ScrollView.d.ts.map +1 -0
  151. package/dist/features/layout/adapters/inbound/ScrollView.js +10 -0
  152. package/dist/features/layout/adapters/inbound/ScrollView.js.map +1 -0
  153. package/dist/features/layout/adapters/inbound/View.d.ts +5 -0
  154. package/dist/features/layout/adapters/inbound/View.d.ts.map +1 -0
  155. package/dist/features/layout/adapters/inbound/View.js +10 -0
  156. package/dist/features/layout/adapters/inbound/View.js.map +1 -0
  157. package/dist/{layout/app-shell/meta.d.ts → features/layout/appShellMeta.d.ts} +1 -1
  158. package/dist/features/layout/appShellMeta.d.ts.map +1 -0
  159. package/dist/{layout/app-shell/meta.js → features/layout/appShellMeta.js} +1 -1
  160. package/dist/features/layout/appShellMeta.js.map +1 -0
  161. package/dist/features/layout/constants.d.ts +0 -1
  162. package/dist/features/layout/constants.d.ts.map +1 -1
  163. package/dist/features/layout/constants.js +0 -1
  164. package/dist/features/layout/constants.js.map +1 -1
  165. package/dist/features/layout/gridMeta.d.ts +1 -1
  166. package/dist/features/layout/public.d.ts +6 -6
  167. package/dist/features/layout/public.d.ts.map +1 -1
  168. package/dist/features/layout/public.js +5 -4
  169. package/dist/features/layout/public.js.map +1 -1
  170. package/dist/{layout/screen/meta.d.ts → features/layout/screenMeta.d.ts} +2 -2
  171. package/dist/features/layout/screenMeta.d.ts.map +1 -0
  172. package/dist/{layout/screen/meta.js → features/layout/screenMeta.js} +1 -1
  173. package/dist/features/layout/screenMeta.js.map +1 -0
  174. package/dist/{layout/screen-section/meta.d.ts → features/layout/screenSectionMeta.d.ts} +2 -2
  175. package/dist/features/layout/screenSectionMeta.d.ts.map +1 -0
  176. package/dist/{layout/screen-section/meta.js → features/layout/screenSectionMeta.js} +1 -1
  177. package/dist/features/layout/screenSectionMeta.js.map +1 -0
  178. package/dist/features/layout/{boxMeta.d.ts → scrollViewMeta.d.ts} +8 -15
  179. package/dist/features/layout/scrollViewMeta.d.ts.map +1 -0
  180. package/dist/features/layout/{boxMeta.js → scrollViewMeta.js} +4 -6
  181. package/dist/features/layout/scrollViewMeta.js.map +1 -0
  182. package/dist/features/layout/{stackMeta.d.ts → viewMeta.d.ts} +24 -4
  183. package/dist/features/layout/viewMeta.d.ts.map +1 -0
  184. package/dist/features/layout/{stackMeta.js → viewMeta.js} +8 -3
  185. package/dist/features/layout/viewMeta.js.map +1 -0
  186. package/dist/features/list/adapters/inbound/List.d.ts +5 -0
  187. package/dist/features/list/adapters/inbound/List.d.ts.map +1 -0
  188. package/dist/features/list/adapters/inbound/List.js +34 -0
  189. package/dist/features/list/adapters/inbound/List.js.map +1 -0
  190. package/dist/features/list/adapters/inbound/ListItem.d.ts +5 -0
  191. package/dist/features/list/adapters/inbound/ListItem.d.ts.map +1 -0
  192. package/dist/features/list/adapters/inbound/ListItem.js +43 -0
  193. package/dist/features/list/adapters/inbound/ListItem.js.map +1 -0
  194. package/dist/features/list/adapters/inbound/ListSection.d.ts +5 -0
  195. package/dist/features/list/adapters/inbound/ListSection.d.ts.map +1 -0
  196. package/dist/{patterns/list → features/list/adapters/inbound}/ListSection.js +6 -10
  197. package/dist/features/list/adapters/inbound/ListSection.js.map +1 -0
  198. package/dist/features/list/flatListMeta.d.ts +1 -1
  199. package/dist/{patterns → features}/list/meta.d.ts +6 -6
  200. package/dist/features/list/meta.d.ts.map +1 -0
  201. package/dist/{patterns → features}/list/meta.js +6 -14
  202. package/dist/features/list/meta.js.map +1 -0
  203. package/dist/features/list/public.d.ts +4 -0
  204. package/dist/features/list/public.d.ts.map +1 -1
  205. package/dist/features/list/public.js +3 -0
  206. package/dist/features/list/public.js.map +1 -1
  207. package/dist/features/list/sectionListMeta.d.ts +1 -1
  208. package/dist/features/list/utils/resolveListSeparator.d.ts +5 -0
  209. package/dist/features/list/utils/resolveListSeparator.d.ts.map +1 -0
  210. package/dist/{patterns/list → features/list/utils}/resolveListSeparator.js +1 -0
  211. package/dist/features/list/utils/resolveListSeparator.js.map +1 -0
  212. package/dist/features/missing-element/adapters/inbound/MissingElement.js +5 -5
  213. package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -1
  214. package/dist/features/pagination/adapters/inbound/Pagination.js +3 -3
  215. package/dist/features/pagination/adapters/inbound/Pagination.js.map +1 -1
  216. package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.d.ts +1 -1
  217. package/dist/features/palette-item/adapters/inbound/PaletteItem.d.ts.map +1 -0
  218. package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.js +10 -10
  219. package/dist/features/palette-item/adapters/inbound/PaletteItem.js.map +1 -0
  220. package/dist/features/palette-item/paletteItemMeta.d.ts +9 -0
  221. package/dist/features/palette-item/paletteItemMeta.d.ts.map +1 -0
  222. package/dist/features/palette-item/paletteItemMeta.js +9 -0
  223. package/dist/features/palette-item/paletteItemMeta.js.map +1 -0
  224. package/dist/features/palette-item/public.d.ts +3 -0
  225. package/dist/features/palette-item/public.d.ts.map +1 -0
  226. package/dist/features/palette-item/public.js +2 -0
  227. package/dist/features/palette-item/public.js.map +1 -0
  228. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js +2 -2
  229. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js.map +1 -1
  230. package/dist/features/progress/adapters/inbound/Progress.js +4 -4
  231. package/dist/features/progress/adapters/inbound/Progress.js.map +1 -1
  232. package/dist/features/progress/adapters/inbound/ProgressRing.js +10 -10
  233. package/dist/features/progress/adapters/inbound/ProgressRing.js.map +1 -1
  234. package/dist/features/rating/adapters/inbound/Rating.d.ts.map +1 -1
  235. package/dist/features/rating/adapters/inbound/Rating.js +3 -3
  236. package/dist/features/rating/adapters/inbound/Rating.js.map +1 -1
  237. package/dist/features/skeleton/adapters/inbound/Skeleton.js +2 -2
  238. package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -1
  239. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js +5 -5
  240. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -1
  241. package/dist/features/skeleton/adapters/inbound/SkeletonList.d.ts.map +1 -1
  242. package/dist/features/skeleton/adapters/inbound/SkeletonList.js +2 -2
  243. package/dist/features/skeleton/adapters/inbound/SkeletonList.js.map +1 -1
  244. package/dist/features/skeleton/adapters/inbound/SkeletonText.js +3 -3
  245. package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -1
  246. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  247. package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
  248. package/dist/features/time-picker/composition/TimePickerContent.js +7 -7
  249. package/dist/features/time-picker/composition/TimePickerContent.js.map +1 -1
  250. package/dist/features/time-picker/composition/TimePickerField.js +3 -3
  251. package/dist/features/time-picker/composition/TimePickerField.js.map +1 -1
  252. package/dist/features/toolbar/adapters/inbound/Toolbar.js +3 -3
  253. package/dist/features/toolbar/adapters/inbound/Toolbar.js.map +1 -1
  254. package/dist/features/uploader/adapters/inbound/Uploader.js +22 -22
  255. package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
  256. package/dist/index.d.ts +10 -26
  257. package/dist/index.d.ts.map +1 -1
  258. package/dist/index.js +5 -13
  259. package/dist/index.js.map +1 -1
  260. package/dist/metadata/allowedChildren.d.ts +4 -4
  261. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  262. package/dist/metadata/allowedChildren.js +4 -6
  263. package/dist/metadata/allowedChildren.js.map +1 -1
  264. package/dist/metadata/bindableComponentMeta.d.ts +3 -3
  265. package/dist/metadata/bindableComponentMeta.js +1 -1
  266. package/dist/metadata/bindableComponentMeta.js.map +1 -1
  267. package/dist/metadata/componentMeta.d.ts.map +1 -1
  268. package/dist/metadata/componentMeta.js +13 -26
  269. package/dist/metadata/componentMeta.js.map +1 -1
  270. package/dist/patterns/chat-list-item/ChatListItem.d.ts.map +1 -1
  271. package/dist/patterns/chat-list-item/ChatListItem.js +22 -23
  272. package/dist/patterns/chat-list-item/ChatListItem.js.map +1 -1
  273. package/dist/patterns/collection-editor/CollectionEditor.js +12 -12
  274. package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -1
  275. package/dist/patterns/confirm-dialog/ConfirmDialog.js +3 -3
  276. package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
  277. package/dist/patterns/filter-bar/FilterBar.d.ts.map +1 -1
  278. package/dist/patterns/filter-bar/FilterBar.js +6 -7
  279. package/dist/patterns/filter-bar/FilterBar.js.map +1 -1
  280. package/dist/patterns/inspector-field/InspectorField.js +8 -8
  281. package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
  282. package/dist/patterns/message-bubble/MessageBubble.d.ts.map +1 -1
  283. package/dist/patterns/message-bubble/MessageBubble.js +21 -20
  284. package/dist/patterns/message-bubble/MessageBubble.js.map +1 -1
  285. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  286. package/dist/patterns/notice/Notice.js +5 -5
  287. package/dist/patterns/notice/Notice.js.map +1 -1
  288. package/dist/patterns/notice/meta.d.ts +1 -1
  289. package/dist/patterns/panel/meta.d.ts +1 -1
  290. package/dist/patterns/reader/ReaderSurface.d.ts.map +1 -1
  291. package/dist/patterns/reader/ReaderSurface.js +18 -19
  292. package/dist/patterns/reader/ReaderSurface.js.map +1 -1
  293. package/dist/patterns/reader/meta.d.ts +2 -2
  294. package/dist/patterns/scanner/BarcodeScannerView.js +7 -7
  295. package/dist/patterns/scanner/BarcodeScannerView.js.map +1 -1
  296. package/dist/patterns/scanner/CameraPermissionView.js +5 -5
  297. package/dist/patterns/scanner/CameraPermissionView.js.map +1 -1
  298. package/dist/patterns/scanner/ScanOverlay.js +8 -8
  299. package/dist/patterns/scanner/ScanOverlay.js.map +1 -1
  300. package/dist/patterns/scanner/meta.d.ts +2 -2
  301. package/dist/patterns/section-header/SectionHeader.js +8 -8
  302. package/dist/patterns/section-header/SectionHeader.js.map +1 -1
  303. package/dist/patterns/switch-field/SwitchField.d.ts +1 -2
  304. package/dist/patterns/switch-field/SwitchField.d.ts.map +1 -1
  305. package/dist/patterns/switch-field/SwitchField.js +3 -4
  306. package/dist/patterns/switch-field/SwitchField.js.map +1 -1
  307. package/dist/patterns/theme-composer/ThemeComposer.js +30 -30
  308. package/dist/patterns/theme-composer/ThemeComposer.js.map +1 -1
  309. package/dist/patterns/timeline/Timeline.d.ts.map +1 -1
  310. package/dist/patterns/timeline/Timeline.js +14 -15
  311. package/dist/patterns/timeline/Timeline.js.map +1 -1
  312. package/dist/patterns/tree-view/TreeItem.d.ts.map +1 -1
  313. package/dist/patterns/tree-view/TreeItem.js +9 -9
  314. package/dist/patterns/tree-view/TreeItem.js.map +1 -1
  315. package/dist/patterns/tree-view/TreeView.js +3 -3
  316. package/dist/patterns/tree-view/TreeView.js.map +1 -1
  317. package/dist/registry.d.ts.map +1 -1
  318. package/dist/registry.js +9 -27
  319. package/dist/registry.js.map +1 -1
  320. package/dist/types/button-group.d.ts +2 -2
  321. package/dist/types/button-group.d.ts.map +1 -1
  322. package/dist/types/button-group.js.map +1 -1
  323. package/dist/types/form.d.ts +1 -1
  324. package/dist/types/form.d.ts.map +1 -1
  325. package/dist/types/form.js.map +1 -1
  326. package/dist/types/gradient.d.ts +6 -6
  327. package/dist/types/gradient.d.ts.map +1 -1
  328. package/dist/types/gradient.js.map +1 -1
  329. package/dist/types/layout.d.ts +22 -4
  330. package/dist/types/layout.d.ts.map +1 -1
  331. package/dist/types/layout.js.map +1 -1
  332. package/dist/{patterns/list/types.d.ts → types/list.d.ts} +14 -18
  333. package/dist/types/list.d.ts.map +1 -0
  334. package/dist/types/list.js +2 -0
  335. package/dist/types/list.js.map +1 -0
  336. package/dist/types/palette-item.d.ts +13 -0
  337. package/dist/types/palette-item.d.ts.map +1 -0
  338. package/dist/types/palette-item.js +2 -0
  339. package/dist/types/palette-item.js.map +1 -0
  340. package/dist/types/skeleton.d.ts +5 -5
  341. package/dist/types/skeleton.d.ts.map +1 -1
  342. package/dist/types/skeleton.js.map +1 -1
  343. package/package.json +2 -2
  344. package/src/audit.test.ts +7 -11
  345. package/src/constants.ts +3 -2
  346. package/src/expo57Migration.test.ts +4 -3
  347. package/src/features/accordion/adapters/inbound/AccordionItem.tsx +19 -19
  348. package/src/features/app-bar/adapters/inbound/AppBar.tsx +6 -7
  349. package/src/features/auth/adapters/inbound/AuthForm.tsx +3 -3
  350. package/src/features/auth/adapters/inbound/AuthFormField.tsx +3 -3
  351. package/src/features/auth/adapters/inbound/ForgotPasswordForm.tsx +3 -3
  352. package/src/features/auth/adapters/inbound/OAuthProviderList.tsx +3 -3
  353. package/src/features/auth/adapters/inbound/OtpForm.tsx +3 -3
  354. package/src/features/auth/adapters/inbound/SignInForm.tsx +3 -3
  355. package/src/features/auth/adapters/inbound/SignUpForm.tsx +3 -3
  356. package/src/features/avatar/adapters/inbound/Avatar.tsx +3 -3
  357. package/src/features/avatar/adapters/inbound/AvatarGroup.tsx +7 -7
  358. package/src/features/bottom-sheet/adapters/inbound/BottomSheet.tsx +3 -3
  359. package/src/features/bottom-sheet/public.test.ts +1 -1
  360. package/src/features/breadcrumbs/adapters/inbound/Breadcrumbs.tsx +5 -5
  361. package/src/features/button/adapters/inbound/ButtonGroup.tsx +3 -3
  362. package/src/features/card/adapters/inbound/Card.tsx +12 -12
  363. package/src/features/card/adapters/inbound/MediaCard.tsx +21 -21
  364. package/src/features/card/adapters/inbound/MetricCard.tsx +10 -11
  365. package/src/features/card/adapters/inbound/PostCard.tsx +37 -38
  366. package/src/features/card/adapters/inbound/ProductCard.tsx +17 -18
  367. package/src/features/chip/adapters/inbound/Chip.tsx +5 -6
  368. package/src/features/chip/adapters/inbound/ChipGroup.tsx +3 -3
  369. package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.test.ts +3 -1
  370. package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.tsx +9 -10
  371. package/src/features/content-rail/constants.ts +1 -0
  372. package/src/features/content-rail/public.ts +10 -0
  373. package/src/features/data-table/adapters/inbound/DataTable.tsx +32 -32
  374. package/src/features/date-picker/composition/DatePickerContent.tsx +16 -16
  375. package/src/features/date-picker/composition/DatePickerField.tsx +3 -3
  376. package/src/features/dialog/adapters/inbound/Dialog.tsx +9 -9
  377. package/src/features/empty-state/adapters/inbound/EmptyState.tsx +5 -5
  378. package/src/features/form/adapters/inbound/Form.tsx +3 -3
  379. package/src/features/form/adapters/inbound/FormActions.tsx +4 -4
  380. package/src/features/form/adapters/inbound/FormError.tsx +3 -3
  381. package/src/features/form/checkbox/adapters/inbound/CheckboxGroup.tsx +5 -6
  382. package/src/features/form/{adapters/inbound/FormField.tsx → field/adapters/inbound/Field.tsx} +12 -12
  383. package/src/features/form/{formFieldMeta.ts → field/meta.ts} +5 -4
  384. package/src/features/form/field/public.ts +1 -0
  385. package/src/features/form/formMeta.ts +1 -1
  386. package/src/features/form/public.ts +2 -2
  387. package/src/features/form/radio/adapters/inbound/RadioGroup.tsx +10 -10
  388. package/src/features/form/select/adapters/inbound/Select.web.tsx +3 -3
  389. package/src/features/gradient/adapters/inbound/Gradient.tsx +5 -5
  390. package/src/features/hero/adapters/inbound/Hero.tsx +12 -12
  391. package/src/features/icon/utils/meta.test.ts +2 -3
  392. package/src/features/image/adapters/inbound/Image.tsx +3 -3
  393. package/src/features/layout/adapters/inbound/AppShell.test.ts +24 -0
  394. package/src/features/layout/adapters/inbound/AppShell.tsx +44 -0
  395. package/src/features/layout/adapters/inbound/Screen.tsx +50 -0
  396. package/src/{layout/screen-section → features/layout/adapters/inbound}/ScreenSection.tsx +7 -11
  397. package/src/features/layout/adapters/inbound/ScrollView.tsx +18 -0
  398. package/src/features/layout/adapters/inbound/View.tsx +18 -0
  399. package/src/features/layout/constants.ts +0 -2
  400. package/src/features/layout/public.test.ts +55 -0
  401. package/src/features/layout/public.ts +10 -16
  402. package/src/features/layout/{containerMeta.ts → scrollViewMeta.ts} +6 -3
  403. package/src/features/layout/{stackMeta.ts → viewMeta.ts} +7 -2
  404. package/src/features/list/adapters/inbound/List.tsx +77 -0
  405. package/src/features/list/adapters/inbound/ListItem.tsx +89 -0
  406. package/src/{patterns/list → features/list/adapters/inbound}/ListSection.tsx +7 -12
  407. package/src/{patterns → features}/list/meta.ts +7 -14
  408. package/src/features/list/public.ts +11 -0
  409. package/src/features/list/utils/resolveListSeparator.ts +9 -0
  410. package/src/features/missing-element/adapters/inbound/MissingElement.tsx +5 -5
  411. package/src/features/pagination/adapters/inbound/Pagination.tsx +3 -3
  412. package/src/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.tsx +11 -11
  413. package/src/{layout/sidebar-layout/meta.ts → features/palette-item/paletteItemMeta.ts} +4 -4
  414. package/src/features/palette-item/public.ts +2 -0
  415. package/src/features/popover-menu/adapters/inbound/PopoverMenu.tsx +2 -2
  416. package/src/features/progress/adapters/inbound/Progress.tsx +4 -4
  417. package/src/features/progress/adapters/inbound/ProgressRing.tsx +10 -10
  418. package/src/features/rating/adapters/inbound/Rating.tsx +3 -3
  419. package/src/features/skeleton/adapters/inbound/Skeleton.tsx +2 -2
  420. package/src/features/skeleton/adapters/inbound/SkeletonCard.tsx +5 -5
  421. package/src/features/skeleton/adapters/inbound/SkeletonList.tsx +3 -3
  422. package/src/features/skeleton/adapters/inbound/SkeletonText.tsx +3 -3
  423. package/src/features/time-picker/composition/TimePickerContent.tsx +7 -7
  424. package/src/features/time-picker/composition/TimePickerField.tsx +3 -3
  425. package/src/features/toolbar/adapters/inbound/Toolbar.tsx +3 -3
  426. package/src/features/uploader/adapters/inbound/Uploader.tsx +22 -22
  427. package/src/index.ts +36 -41
  428. package/src/interactionPolicy.test.ts +1 -1
  429. package/src/metadata/allowedChildren.ts +4 -6
  430. package/src/metadata/bindableComponentMeta.ts +1 -1
  431. package/src/metadata/componentMeta.test.ts +9 -11
  432. package/src/metadata/componentMeta.ts +13 -26
  433. package/src/metadata/radioGroupReachability.test.ts +2 -2
  434. package/src/patterns/chat-list-item/ChatListItem.tsx +22 -23
  435. package/src/patterns/collection-editor/CollectionEditor.tsx +13 -13
  436. package/src/patterns/confirm-dialog/ConfirmDialog.tsx +3 -3
  437. package/src/patterns/filter-bar/FilterBar.tsx +6 -7
  438. package/src/patterns/inspector-field/InspectorField.tsx +8 -8
  439. package/src/patterns/message-bubble/MessageBubble.tsx +23 -20
  440. package/src/patterns/notice/Notice.tsx +5 -5
  441. package/src/patterns/reader/ReaderSurface.tsx +18 -19
  442. package/src/patterns/scanner/BarcodeScannerView.tsx +7 -7
  443. package/src/patterns/scanner/CameraPermissionView.tsx +5 -5
  444. package/src/patterns/scanner/ScanOverlay.tsx +8 -8
  445. package/src/patterns/section-header/SectionHeader.tsx +8 -8
  446. package/src/patterns/switch-field/SwitchField.tsx +9 -9
  447. package/src/patterns/theme-composer/ThemeComposer.tsx +30 -30
  448. package/src/patterns/timeline/Timeline.tsx +21 -15
  449. package/src/patterns/tree-view/TreeItem.tsx +12 -11
  450. package/src/patterns/tree-view/TreeView.tsx +3 -3
  451. package/src/platformAcceptance.test.ts +1 -1
  452. package/src/registry.test.ts +1 -1
  453. package/src/registry.ts +17 -27
  454. package/src/showcaseCoverage.test.ts +4 -24
  455. package/src/theme/themeScopeStructure.test.ts +15 -36
  456. package/src/types/button-group.ts +2 -2
  457. package/src/types/form.ts +1 -1
  458. package/src/types/gradient.ts +6 -6
  459. package/src/types/layout.ts +28 -7
  460. package/src/{patterns/list/types.ts → types/list.ts} +17 -18
  461. package/src/types/palette-item.ts +14 -0
  462. package/src/types/skeleton.ts +5 -5
  463. package/dist/features/form/adapters/inbound/FormField.d.ts +0 -5
  464. package/dist/features/form/adapters/inbound/FormField.d.ts.map +0 -1
  465. package/dist/features/form/adapters/inbound/FormField.js +0 -20
  466. package/dist/features/form/adapters/inbound/FormField.js.map +0 -1
  467. package/dist/features/form/formFieldMeta.d.ts.map +0 -1
  468. package/dist/features/form/formFieldMeta.js.map +0 -1
  469. package/dist/features/layout/adapters/inbound/Box.d.ts +0 -5
  470. package/dist/features/layout/adapters/inbound/Box.d.ts.map +0 -1
  471. package/dist/features/layout/adapters/inbound/Box.js +0 -10
  472. package/dist/features/layout/adapters/inbound/Box.js.map +0 -1
  473. package/dist/features/layout/adapters/inbound/Container.d.ts +0 -5
  474. package/dist/features/layout/adapters/inbound/Container.d.ts.map +0 -1
  475. package/dist/features/layout/adapters/inbound/Container.js +0 -10
  476. package/dist/features/layout/adapters/inbound/Container.js.map +0 -1
  477. package/dist/features/layout/adapters/inbound/ContentRail.d.ts.map +0 -1
  478. package/dist/features/layout/adapters/inbound/ContentRail.js.map +0 -1
  479. package/dist/features/layout/adapters/inbound/ContentRailFlow.d.ts.map +0 -1
  480. package/dist/features/layout/adapters/inbound/ContentRailFlow.js.map +0 -1
  481. package/dist/features/layout/adapters/inbound/Stack.d.ts +0 -5
  482. package/dist/features/layout/adapters/inbound/Stack.d.ts.map +0 -1
  483. package/dist/features/layout/adapters/inbound/Stack.js +0 -10
  484. package/dist/features/layout/adapters/inbound/Stack.js.map +0 -1
  485. package/dist/features/layout/boxMeta.d.ts.map +0 -1
  486. package/dist/features/layout/boxMeta.js.map +0 -1
  487. package/dist/features/layout/containerMeta.d.ts +0 -55
  488. package/dist/features/layout/containerMeta.d.ts.map +0 -1
  489. package/dist/features/layout/containerMeta.js +0 -10
  490. package/dist/features/layout/containerMeta.js.map +0 -1
  491. package/dist/features/layout/contentRailMeta.d.ts.map +0 -1
  492. package/dist/features/layout/contentRailMeta.js.map +0 -1
  493. package/dist/features/layout/stackMeta.d.ts.map +0 -1
  494. package/dist/features/layout/stackMeta.js.map +0 -1
  495. package/dist/features/layout/utils/resolveContentRailItemWidth.d.ts.map +0 -1
  496. package/dist/features/layout/utils/resolveContentRailItemWidth.js.map +0 -1
  497. package/dist/features/layout/utils/resolveContentRailPhysicalOffset.d.ts.map +0 -1
  498. package/dist/features/layout/utils/resolveContentRailPhysicalOffset.js.map +0 -1
  499. package/dist/features/layout/utils/resolveContentRailState.d.ts.map +0 -1
  500. package/dist/features/layout/utils/resolveContentRailState.js.map +0 -1
  501. package/dist/features/layout/utils/useContentRailReducedMotion.d.ts.map +0 -1
  502. package/dist/features/layout/utils/useContentRailReducedMotion.js.map +0 -1
  503. package/dist/foundation/Center.d.ts +0 -12
  504. package/dist/foundation/Center.d.ts.map +0 -1
  505. package/dist/foundation/Center.js +0 -13
  506. package/dist/foundation/Center.js.map +0 -1
  507. package/dist/foundation/Inline.d.ts +0 -12
  508. package/dist/foundation/Inline.d.ts.map +0 -1
  509. package/dist/foundation/Inline.js +0 -13
  510. package/dist/foundation/Inline.js.map +0 -1
  511. package/dist/foundation/Show.d.ts +0 -12
  512. package/dist/foundation/Show.d.ts.map +0 -1
  513. package/dist/foundation/Show.js +0 -13
  514. package/dist/foundation/Show.js.map +0 -1
  515. package/dist/foundation/Spacer.d.ts +0 -12
  516. package/dist/foundation/Spacer.d.ts.map +0 -1
  517. package/dist/foundation/Spacer.js +0 -13
  518. package/dist/foundation/Spacer.js.map +0 -1
  519. package/dist/foundation/index.d.ts +0 -9
  520. package/dist/foundation/index.d.ts.map +0 -1
  521. package/dist/foundation/index.js +0 -5
  522. package/dist/foundation/index.js.map +0 -1
  523. package/dist/foundation/meta.d.ts +0 -35
  524. package/dist/foundation/meta.d.ts.map +0 -1
  525. package/dist/foundation/meta.js +0 -35
  526. package/dist/foundation/meta.js.map +0 -1
  527. package/dist/layout/app-shell/AppShell.d.ts +0 -16
  528. package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
  529. package/dist/layout/app-shell/AppShell.js +0 -50
  530. package/dist/layout/app-shell/AppShell.js.map +0 -1
  531. package/dist/layout/app-shell/index.d.ts +0 -3
  532. package/dist/layout/app-shell/index.d.ts.map +0 -1
  533. package/dist/layout/app-shell/index.js +0 -2
  534. package/dist/layout/app-shell/index.js.map +0 -1
  535. package/dist/layout/app-shell/meta.d.ts.map +0 -1
  536. package/dist/layout/app-shell/meta.js.map +0 -1
  537. package/dist/layout/app-shell/types.d.ts +0 -9
  538. package/dist/layout/app-shell/types.d.ts.map +0 -1
  539. package/dist/layout/app-shell/types.js +0 -2
  540. package/dist/layout/app-shell/types.js.map +0 -1
  541. package/dist/layout/screen/Screen.d.ts +0 -11
  542. package/dist/layout/screen/Screen.d.ts.map +0 -1
  543. package/dist/layout/screen/Screen.js +0 -30
  544. package/dist/layout/screen/Screen.js.map +0 -1
  545. package/dist/layout/screen/index.d.ts +0 -3
  546. package/dist/layout/screen/index.d.ts.map +0 -1
  547. package/dist/layout/screen/index.js +0 -2
  548. package/dist/layout/screen/index.js.map +0 -1
  549. package/dist/layout/screen/meta.d.ts.map +0 -1
  550. package/dist/layout/screen/meta.js.map +0 -1
  551. package/dist/layout/screen/types.d.ts +0 -10
  552. package/dist/layout/screen/types.d.ts.map +0 -1
  553. package/dist/layout/screen/types.js +0 -2
  554. package/dist/layout/screen/types.js.map +0 -1
  555. package/dist/layout/screen-section/ScreenSection.d.ts +0 -9
  556. package/dist/layout/screen-section/ScreenSection.d.ts.map +0 -1
  557. package/dist/layout/screen-section/ScreenSection.js +0 -17
  558. package/dist/layout/screen-section/ScreenSection.js.map +0 -1
  559. package/dist/layout/screen-section/index.d.ts +0 -3
  560. package/dist/layout/screen-section/index.d.ts.map +0 -1
  561. package/dist/layout/screen-section/index.js +0 -2
  562. package/dist/layout/screen-section/index.js.map +0 -1
  563. package/dist/layout/screen-section/meta.d.ts.map +0 -1
  564. package/dist/layout/screen-section/meta.js.map +0 -1
  565. package/dist/layout/screen-section/types.d.ts +0 -9
  566. package/dist/layout/screen-section/types.d.ts.map +0 -1
  567. package/dist/layout/screen-section/types.js +0 -2
  568. package/dist/layout/screen-section/types.js.map +0 -1
  569. package/dist/layout/settings-layout/SettingsLayout.d.ts +0 -7
  570. package/dist/layout/settings-layout/SettingsLayout.d.ts.map +0 -1
  571. package/dist/layout/settings-layout/SettingsLayout.js +0 -18
  572. package/dist/layout/settings-layout/SettingsLayout.js.map +0 -1
  573. package/dist/layout/settings-layout/index.d.ts +0 -3
  574. package/dist/layout/settings-layout/index.d.ts.map +0 -1
  575. package/dist/layout/settings-layout/index.js +0 -2
  576. package/dist/layout/settings-layout/index.js.map +0 -1
  577. package/dist/layout/settings-layout/meta.d.ts +0 -9
  578. package/dist/layout/settings-layout/meta.d.ts.map +0 -1
  579. package/dist/layout/settings-layout/meta.js +0 -9
  580. package/dist/layout/settings-layout/meta.js.map +0 -1
  581. package/dist/layout/settings-layout/types.d.ts +0 -10
  582. package/dist/layout/settings-layout/types.d.ts.map +0 -1
  583. package/dist/layout/settings-layout/types.js +0 -2
  584. package/dist/layout/settings-layout/types.js.map +0 -1
  585. package/dist/layout/sidebar-layout/SidebarLayout.d.ts +0 -11
  586. package/dist/layout/sidebar-layout/SidebarLayout.d.ts.map +0 -1
  587. package/dist/layout/sidebar-layout/SidebarLayout.js +0 -27
  588. package/dist/layout/sidebar-layout/SidebarLayout.js.map +0 -1
  589. package/dist/layout/sidebar-layout/index.d.ts +0 -3
  590. package/dist/layout/sidebar-layout/index.d.ts.map +0 -1
  591. package/dist/layout/sidebar-layout/index.js +0 -2
  592. package/dist/layout/sidebar-layout/index.js.map +0 -1
  593. package/dist/layout/sidebar-layout/meta.d.ts +0 -9
  594. package/dist/layout/sidebar-layout/meta.d.ts.map +0 -1
  595. package/dist/layout/sidebar-layout/meta.js +0 -9
  596. package/dist/layout/sidebar-layout/meta.js.map +0 -1
  597. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts +0 -14
  598. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts.map +0 -1
  599. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js +0 -16
  600. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js.map +0 -1
  601. package/dist/layout/sidebar-layout/types.d.ts +0 -12
  602. package/dist/layout/sidebar-layout/types.d.ts.map +0 -1
  603. package/dist/layout/sidebar-layout/types.js +0 -2
  604. package/dist/layout/sidebar-layout/types.js.map +0 -1
  605. package/dist/layout/topbar-layout/TopbarLayout.d.ts +0 -9
  606. package/dist/layout/topbar-layout/TopbarLayout.d.ts.map +0 -1
  607. package/dist/layout/topbar-layout/TopbarLayout.js +0 -17
  608. package/dist/layout/topbar-layout/TopbarLayout.js.map +0 -1
  609. package/dist/layout/topbar-layout/index.d.ts +0 -3
  610. package/dist/layout/topbar-layout/index.d.ts.map +0 -1
  611. package/dist/layout/topbar-layout/index.js +0 -2
  612. package/dist/layout/topbar-layout/index.js.map +0 -1
  613. package/dist/layout/topbar-layout/meta.d.ts +0 -9
  614. package/dist/layout/topbar-layout/meta.d.ts.map +0 -1
  615. package/dist/layout/topbar-layout/meta.js +0 -9
  616. package/dist/layout/topbar-layout/meta.js.map +0 -1
  617. package/dist/layout/topbar-layout/types.d.ts +0 -8
  618. package/dist/layout/topbar-layout/types.d.ts.map +0 -1
  619. package/dist/layout/topbar-layout/types.js +0 -2
  620. package/dist/layout/topbar-layout/types.js.map +0 -1
  621. package/dist/patterns/list/List.d.ts +0 -9
  622. package/dist/patterns/list/List.d.ts.map +0 -1
  623. package/dist/patterns/list/List.js +0 -41
  624. package/dist/patterns/list/List.js.map +0 -1
  625. package/dist/patterns/list/ListRow.d.ts +0 -9
  626. package/dist/patterns/list/ListRow.d.ts.map +0 -1
  627. package/dist/patterns/list/ListRow.js +0 -114
  628. package/dist/patterns/list/ListRow.js.map +0 -1
  629. package/dist/patterns/list/ListSection.d.ts +0 -9
  630. package/dist/patterns/list/ListSection.d.ts.map +0 -1
  631. package/dist/patterns/list/ListSection.js.map +0 -1
  632. package/dist/patterns/list/index.d.ts +0 -5
  633. package/dist/patterns/list/index.d.ts.map +0 -1
  634. package/dist/patterns/list/index.js +0 -4
  635. package/dist/patterns/list/index.js.map +0 -1
  636. package/dist/patterns/list/meta.d.ts.map +0 -1
  637. package/dist/patterns/list/meta.js.map +0 -1
  638. package/dist/patterns/list/resolveListSeparator.d.ts +0 -5
  639. package/dist/patterns/list/resolveListSeparator.d.ts.map +0 -1
  640. package/dist/patterns/list/resolveListSeparator.js.map +0 -1
  641. package/dist/patterns/list/types.d.ts.map +0 -1
  642. package/dist/patterns/list/types.js +0 -2
  643. package/dist/patterns/list/types.js.map +0 -1
  644. package/dist/patterns/settings-row/SettingsRow.d.ts +0 -9
  645. package/dist/patterns/settings-row/SettingsRow.d.ts.map +0 -1
  646. package/dist/patterns/settings-row/SettingsRow.js +0 -24
  647. package/dist/patterns/settings-row/SettingsRow.js.map +0 -1
  648. package/dist/patterns/settings-row/index.d.ts +0 -3
  649. package/dist/patterns/settings-row/index.d.ts.map +0 -1
  650. package/dist/patterns/settings-row/index.js +0 -2
  651. package/dist/patterns/settings-row/index.js.map +0 -1
  652. package/dist/patterns/settings-row/meta.d.ts +0 -39
  653. package/dist/patterns/settings-row/meta.d.ts.map +0 -1
  654. package/dist/patterns/settings-row/meta.js +0 -39
  655. package/dist/patterns/settings-row/meta.js.map +0 -1
  656. package/dist/patterns/settings-row/types.d.ts +0 -23
  657. package/dist/patterns/settings-row/types.d.ts.map +0 -1
  658. package/dist/patterns/settings-row/types.js +0 -2
  659. package/dist/patterns/settings-row/types.js.map +0 -1
  660. package/dist/patterns/tile-grid/PaletteItem.d.ts.map +0 -1
  661. package/dist/patterns/tile-grid/PaletteItem.js.map +0 -1
  662. package/dist/patterns/tile-grid/TileGrid.d.ts +0 -9
  663. package/dist/patterns/tile-grid/TileGrid.d.ts.map +0 -1
  664. package/dist/patterns/tile-grid/TileGrid.js +0 -33
  665. package/dist/patterns/tile-grid/TileGrid.js.map +0 -1
  666. package/dist/patterns/tile-grid/index.d.ts +0 -4
  667. package/dist/patterns/tile-grid/index.d.ts.map +0 -1
  668. package/dist/patterns/tile-grid/index.js +0 -4
  669. package/dist/patterns/tile-grid/index.js.map +0 -1
  670. package/dist/patterns/tile-grid/meta.d.ts +0 -17
  671. package/dist/patterns/tile-grid/meta.d.ts.map +0 -1
  672. package/dist/patterns/tile-grid/meta.js +0 -18
  673. package/dist/patterns/tile-grid/meta.js.map +0 -1
  674. package/dist/patterns/tile-grid/types.d.ts +0 -18
  675. package/dist/patterns/tile-grid/types.d.ts.map +0 -1
  676. package/dist/patterns/tile-grid/types.js +0 -2
  677. package/dist/patterns/tile-grid/types.js.map +0 -1
  678. package/src/features/layout/adapters/inbound/Box.tsx +0 -18
  679. package/src/features/layout/adapters/inbound/Container.tsx +0 -18
  680. package/src/features/layout/adapters/inbound/Stack.tsx +0 -18
  681. package/src/features/layout/boxMeta.ts +0 -16
  682. package/src/foundation/Center.tsx +0 -26
  683. package/src/foundation/Inline.tsx +0 -26
  684. package/src/foundation/Show.tsx +0 -23
  685. package/src/foundation/Spacer.tsx +0 -26
  686. package/src/foundation/index.test.ts +0 -30
  687. package/src/foundation/index.ts +0 -8
  688. package/src/foundation/meta.ts +0 -36
  689. package/src/layout/app-shell/AppShell.test.ts +0 -24
  690. package/src/layout/app-shell/AppShell.tsx +0 -65
  691. package/src/layout/app-shell/index.ts +0 -2
  692. package/src/layout/app-shell/types.ts +0 -10
  693. package/src/layout/screen/Screen.test.ts +0 -22
  694. package/src/layout/screen/Screen.tsx +0 -47
  695. package/src/layout/screen/index.ts +0 -2
  696. package/src/layout/screen/types.ts +0 -11
  697. package/src/layout/screen-section/index.ts +0 -2
  698. package/src/layout/screen-section/types.ts +0 -10
  699. package/src/layout/settings-layout/SettingsLayout.tsx +0 -33
  700. package/src/layout/settings-layout/index.ts +0 -2
  701. package/src/layout/settings-layout/meta.ts +0 -10
  702. package/src/layout/settings-layout/types.ts +0 -11
  703. package/src/layout/sidebar-layout/SidebarLayout.test.ts +0 -35
  704. package/src/layout/sidebar-layout/SidebarLayout.tsx +0 -46
  705. package/src/layout/sidebar-layout/index.ts +0 -2
  706. package/src/layout/sidebar-layout/resolveSidebarLayoutSizing.ts +0 -18
  707. package/src/layout/sidebar-layout/types.ts +0 -14
  708. package/src/layout/topbar-layout/TopbarLayout.tsx +0 -30
  709. package/src/layout/topbar-layout/index.ts +0 -2
  710. package/src/layout/topbar-layout/meta.ts +0 -10
  711. package/src/layout/topbar-layout/types.ts +0 -9
  712. package/src/patterns/list/List.tsx +0 -78
  713. package/src/patterns/list/ListRow.tsx +0 -199
  714. package/src/patterns/list/index.ts +0 -10
  715. package/src/patterns/list/resolveListSeparator.test.ts +0 -18
  716. package/src/patterns/list/resolveListSeparator.ts +0 -8
  717. package/src/patterns/settings-row/SettingsRow.tsx +0 -53
  718. package/src/patterns/settings-row/index.ts +0 -2
  719. package/src/patterns/settings-row/meta.ts +0 -40
  720. package/src/patterns/settings-row/types.ts +0 -28
  721. package/src/patterns/tile-grid/TileGrid.tsx +0 -55
  722. package/src/patterns/tile-grid/index.ts +0 -3
  723. package/src/patterns/tile-grid/meta.ts +0 -21
  724. package/src/patterns/tile-grid/types.ts +0 -20
  725. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.d.ts +0 -0
  726. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.d.ts +0 -0
  727. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.js +0 -0
  728. /package/dist/features/{layout → content-rail}/contentRailMeta.js +0 -0
  729. /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.d.ts +0 -0
  730. /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.js +0 -0
  731. /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.d.ts +0 -0
  732. /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.js +0 -0
  733. /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.d.ts +0 -0
  734. /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.js +0 -0
  735. /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.d.ts +0 -0
  736. /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.js +0 -0
  737. /package/src/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.tsx +0 -0
  738. /package/src/features/{layout → content-rail}/contentRailMeta.ts +0 -0
  739. /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.test.ts +0 -0
  740. /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.ts +0 -0
  741. /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.test.ts +0 -0
  742. /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.ts +0 -0
  743. /package/src/features/{layout → content-rail}/utils/resolveContentRailState.test.ts +0 -0
  744. /package/src/features/{layout → content-rail}/utils/resolveContentRailState.ts +0 -0
  745. /package/src/features/{layout → content-rail}/utils/useContentRailReducedMotion.ts +0 -0
  746. /package/src/{layout/app-shell/meta.ts → features/layout/appShellMeta.ts} +0 -0
  747. /package/src/{layout/screen/meta.ts → features/layout/screenMeta.ts} +0 -0
  748. /package/src/{layout/screen-section/meta.ts → features/layout/screenSectionMeta.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 18.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 57e6020: Align form and list capabilities with Surface 7. Rename FormField to Field and ListRow to ListItem, move list ownership into src/features/list, and compose Surface Field, List, and ListItem directly without compatibility aliases.
8
+
9
+ ## 17.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - ecc165a: Adopt the released Surface 6 native-named layout boundary. `View`, `ScrollView`, `Grid`, and `Divider` are the canonical ZORA layout primitives, while `AppShell`, `Screen`, and `ScreenSection` now live under the layout feature.
14
+
15
+ Remove the redundant `Box`, `Stack`, `Container`, `Center`, `Inline`, `Spacer`, and `Show` exports together with the specialized `SettingsLayout`, `SidebarLayout`, and `TopbarLayout` wrappers. Replace `TileGrid` with `Grid` and `SettingsRow` with `ListRow`; `ContentRail` and `PaletteItem` retain their public names under dedicated feature owners.
16
+
17
+ Update the component registry, authoring metadata, examples, acceptance coverage, and generated Paradox documentation for the new Surface 6 architecture.
18
+
3
19
  ## 16.0.0
4
20
 
5
21
  ### Major Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/zora
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v15.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v17.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Opinionated React Native and React Native Web UI kit built on @ankhorage/surface.
9
9
 
@@ -26,10 +26,10 @@ import {
26
26
  DatePicker,
27
27
  Screen,
28
28
  ScreenSection,
29
- Stack,
30
29
  Text,
31
30
  TimePicker,
32
31
  useToast,
32
+ View,
33
33
  ZoraProvider,
34
34
  type ZoraTheme,
35
35
  } from '@ankhorage/zora';
@@ -72,7 +72,7 @@ function UsageContent() {
72
72
  const [time, setTime] = React.useState<string | null>(null);
73
73
 
74
74
  return (
75
- <Stack gap="m">
75
+ <View gap="m">
76
76
  <Text variant="lead">Runtime capabilities are opt-in at the app root.</Text>
77
77
  <Button
78
78
  onPress={() =>
@@ -87,7 +87,7 @@ function UsageContent() {
87
87
  </Button>
88
88
  <DatePicker label="Date" onValueChange={setDate} value={date} />
89
89
  <TimePicker label="Time" onValueChange={setTime} value={time} />
90
- </Stack>
90
+ </View>
91
91
  );
92
92
  }
93
93
 
@@ -104,17 +104,17 @@ export function NativeBottomSheetExample() {
104
104
  const [open, setOpen] = React.useState(false);
105
105
 
106
106
  return (
107
- <Stack gap="m">
107
+ <View gap="m">
108
108
  <Button onPress={() => setOpen(true)}>Open native bottom sheet</Button>
109
109
  <BottomSheet onDismiss={() => setOpen(false)} open={open}>
110
- <Stack gap="s" p="m">
110
+ <View gap="s" p="m">
111
111
  <Text variant="label">Bottom sheet content</Text>
112
112
  <Button onPress={() => setOpen(false)} variant="ghost">
113
113
  Close
114
114
  </Button>
115
- </Stack>
115
+ </View>
116
116
  </BottomSheet>
117
- </Stack>
117
+ </View>
118
118
  );
119
119
  }
120
120
  ```
@@ -135,10 +135,10 @@ import {
135
135
  DatePicker,
136
136
  Screen,
137
137
  ScreenSection,
138
- Stack,
139
138
  Text,
140
139
  TimePicker,
141
140
  useToast,
141
+ View,
142
142
  ZoraProvider,
143
143
  type ZoraTheme,
144
144
  } from '@ankhorage/zora';
@@ -191,7 +191,7 @@ function UsageContent() {
191
191
  const [time, setTime] = React.useState<string | null>(null);
192
192
 
193
193
  return (
194
- <Stack gap="m">
194
+ <View gap="m">
195
195
  <Text variant="lead">Runtime capabilities are opt-in at the app root.</Text>
196
196
  <Button
197
197
  onPress={() =>
@@ -206,7 +206,7 @@ function UsageContent() {
206
206
  </Button>
207
207
  <DatePicker label="Date" onValueChange={setDate} value={date} />
208
208
  <TimePicker label="Time" onValueChange={setTime} value={time} />
209
- </Stack>
209
+ </View>
210
210
  );
211
211
  }
212
212
 
@@ -214,17 +214,17 @@ export function NativeBottomSheetExample() {
214
214
  const [open, setOpen] = React.useState(false);
215
215
 
216
216
  return (
217
- <Stack gap="m">
217
+ <View gap="m">
218
218
  <Button onPress={() => setOpen(true)}>Open native bottom sheet</Button>
219
219
  <BottomSheet onDismiss={() => setOpen(false)} open={open}>
220
- <Stack gap="s" p="m">
220
+ <View gap="s" p="m">
221
221
  <Text variant="label">Bottom sheet content</Text>
222
222
  <Button onPress={() => setOpen(false)} variant="ghost">
223
223
  Close
224
224
  </Button>
225
- </Stack>
225
+ </View>
226
226
  </BottomSheet>
227
- </Stack>
227
+ </View>
228
228
  );
229
229
  }
230
230
  ```
@@ -13,13 +13,14 @@ export declare const FEATURE_MANIFEST_ELEMENTS: {
13
13
  readonly 'data-table': readonly ["DataTable"];
14
14
  readonly 'date-picker': readonly ["DatePicker"];
15
15
  readonly dialog: readonly ["Dialog"];
16
- readonly form: readonly ["Form", "FormError", "FormField"];
16
+ readonly form: readonly ["Form", "FormError", "Field"];
17
17
  readonly gradient: readonly ["Gradient"];
18
18
  readonly button: readonly ["Button", "IconButton", "ButtonGroup"];
19
19
  readonly icon: readonly ["Icon"];
20
20
  readonly image: readonly ["Image"];
21
21
  readonly 'keyboard-avoiding-view': readonly ["KeyboardAvoidingView"];
22
- readonly layout: readonly ["Box", "Container", "ContentRail", "Divider", "Grid", "Stack"];
22
+ readonly 'content-rail': readonly ["ContentRail"];
23
+ readonly layout: readonly ["Divider", "Grid", "Screen", "ScreenSection", "ScrollView", "View"];
23
24
  readonly list: readonly ["FlatList", "SectionList"];
24
25
  readonly pagination: readonly ["Pagination"];
25
26
  readonly rating: readonly ["Rating"];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC5B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC5B,CAAC"}
package/dist/constants.js CHANGED
@@ -20,13 +20,14 @@ export const FEATURE_MANIFEST_ELEMENTS = {
20
20
  'data-table': ['DataTable'],
21
21
  'date-picker': ['DatePicker'],
22
22
  dialog: ['Dialog'],
23
- form: ['Form', 'FormError', 'FormField'],
23
+ form: ['Form', 'FormError', 'Field'],
24
24
  gradient: ['Gradient'],
25
25
  button: ['Button', 'IconButton', 'ButtonGroup'],
26
26
  icon: ['Icon'],
27
27
  image: ['Image'],
28
28
  'keyboard-avoiding-view': ['KeyboardAvoidingView'],
29
- layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],
29
+ 'content-rail': ['ContentRail'],
30
+ layout: ['Divider', 'Grid', 'Screen', 'ScreenSection', 'ScrollView', 'View'],
30
31
  list: ['FlatList', 'SectionList'],
31
32
  pagination: ['Pagination'],
32
33
  rating: ['Rating'],
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE;QACJ,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,SAAS;QACT,YAAY;QACZ,YAAY;KACb;IACD,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IACxC,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,wBAAwB,EAAE,CAAC,sBAAsB,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IACtE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;IAC5C,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'FormField'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n layout: ['Box', 'Container', 'ContentRail', 'Divider', 'Grid', 'Stack'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n} as const;\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,WAAW;IAClB,qBAAqB,EAAE,IAAI;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,IAAI,EAAE;QACJ,oBAAoB;QACpB,qBAAqB;QACrB,mBAAmB;QACnB,SAAS;QACT,YAAY;QACZ,YAAY;KACb;IACD,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC;IACpE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC;IACpC,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC;IAC/C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,wBAAwB,EAAE,CAAC,sBAAsB,CAAC;IAClD,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,CAAC;IAC5E,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;IACjC,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IACtE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;IAC5C,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,cAAc,EAAE,CAAC,aAAa,CAAC;CACvB,CAAC","sourcesContent":["export const COMPONENT_THEME_AUTHORING = {\n authority: 'theme',\n scope: 'component',\n allowInstanceOverride: true,\n} as const;\n\nexport const FEATURE_MANIFEST_ELEMENTS = {\n auth: [\n 'ForgotPasswordForm',\n 'OAuthProviderButton',\n 'OAuthProviderList',\n 'OtpForm',\n 'SignInForm',\n 'SignUpForm',\n ],\n surface: ['Surface'],\n avatar: ['Avatar', 'AvatarGroup'],\n badge: ['Badge'],\n card: ['Card', 'MediaCard', 'MetricCard', 'PostCard', 'ProductCard'],\n chip: ['Chip', 'ChipGroup'],\n 'data-table': ['DataTable'],\n 'date-picker': ['DatePicker'],\n dialog: ['Dialog'],\n form: ['Form', 'FormError', 'Field'],\n gradient: ['Gradient'],\n button: ['Button', 'IconButton', 'ButtonGroup'],\n icon: ['Icon'],\n image: ['Image'],\n 'keyboard-avoiding-view': ['KeyboardAvoidingView'],\n 'content-rail': ['ContentRail'],\n layout: ['Divider', 'Grid', 'Screen', 'ScreenSection', 'ScrollView', 'View'],\n list: ['FlatList', 'SectionList'],\n pagination: ['Pagination'],\n rating: ['Rating'],\n skeleton: ['Skeleton', 'SkeletonCard', 'SkeletonList', 'SkeletonText'],\n tabs: ['Tabs', 'TabList', 'Tab', 'TabPanel'],\n toolbar: ['Toolbar'],\n typography: ['Heading', 'Text'],\n 'time-picker': ['TimePicker'],\n uploader: ['Uploader'],\n 'bottom-sheet': ['BottomSheet'],\n} as const;\n"]}
@@ -3,7 +3,7 @@ export declare const accordionItemMeta: {
3
3
  readonly category: "component";
4
4
  readonly description: "One expandable accordion item with authored content and optional actions.";
5
5
  readonly directManifestNode: true;
6
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "View", "ScrollView", "Grid", "Gradient", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
7
7
  readonly blueprint: {
8
8
  readonly label: "Accordion item";
9
9
  readonly defaultProps: {
@@ -2,7 +2,7 @@ import { AccordionContent as SurfaceAccordionContent, AccordionItem as SurfaceAc
2
2
  import React from 'react';
3
3
  import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
4
  import { Icon } from '../../../icon/public';
5
- import { Box, Divider, Stack } from '../../../layout/public';
5
+ import { Divider, View } from '../../../layout/public';
6
6
  import { Heading, Text } from '../../../typography/public';
7
7
  import { AccordionPresentationContext } from '../../composition/AccordionPresentationContext';
8
8
  /*** Renders one opinionated ZORA accordion item over Surface trigger/content primitives. */
@@ -16,37 +16,37 @@ function AccordionItemInner({ themeId: _themeId, mode: _mode, actions, children,
16
16
  }
17
17
  const open = presentation.openValues.includes(value);
18
18
  return (<SurfaceAccordionItem {...surfaceItemProps} disabled={disabled} interactionPolicy={interactionPolicy} testID={testID} value={value}>
19
- <Stack gap="none">
20
- <Stack align="center" direction="row" gap="s">
21
- <Box flex={1}>
19
+ <View gap="none">
20
+ <View align="center" direction="row" gap="s">
21
+ <View flex={1}>
22
22
  <SurfaceAccordionTrigger interactionPolicy={interactionPolicy} style={triggerStyle}>
23
- <Box px="m" py="m">
24
- <Stack align="center" direction="row" gap="m">
23
+ <View px="m" py="m">
24
+ <View align="center" direction="row" gap="m">
25
25
  {icon ? <Icon {...icon}/> : null}
26
- <Box flex={1}>
27
- <Stack gap="xs">
26
+ <View flex={1}>
27
+ <View gap="xs">
28
28
  <Heading level={4}>{title}</Heading>
29
29
  {description ? (<Text emphasis="muted" variant="bodySmall">
30
30
  {description}
31
31
  </Text>) : null}
32
- </Stack>
33
- </Box>
32
+ </View>
33
+ </View>
34
34
  <Icon name={open ? 'chevron-up-outline' : 'chevron-down-outline'} size="m"/>
35
- </Stack>
36
- </Box>
35
+ </View>
36
+ </View>
37
37
  </SurfaceAccordionTrigger>
38
- </Box>
39
- {actions ? <Box pr="m">{actions}</Box> : null}
40
- </Stack>
38
+ </View>
39
+ {actions ? <View pr="m">{actions}</View> : null}
40
+ </View>
41
41
 
42
42
  <SurfaceAccordionContent>
43
- <Box px="m" pb="m">
44
- <Stack gap="m">{children}</Stack>
45
- </Box>
43
+ <View px="m" pb="m">
44
+ <View gap="m">{children}</View>
45
+ </View>
46
46
  </SurfaceAccordionContent>
47
47
 
48
48
  <Divider />
49
- </Stack>
49
+ </View>
50
50
  </SurfaceAccordionItem>);
51
51
  }
52
52
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../../../src/features/accordion/adapters/inbound/AccordionItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AccordionContent as SurfaceAccordionContent,\n AccordionItem as SurfaceAccordionItem,\n AccordionTrigger as SurfaceAccordionTrigger,\n} from '@ankhorage/surface';\nimport React from 'react';\nimport type { ViewStyle } from 'react-native';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AccordionItemProps } from '../../../../types/accordion';\nimport { Icon } from '../../../icon/public';\nimport { Box, Divider, Stack } from '../../../layout/public';\nimport { Heading, Text } from '../../../typography/public';\nimport { AccordionPresentationContext } from '../../composition/AccordionPresentationContext';\n\n/*** Renders one opinionated ZORA accordion item over Surface trigger/content primitives. */\nexport const AccordionItem = withZoraThemeScope(AccordionItemInner);\n\nconst triggerStyle: ViewStyle = { flex: 1 };\n\n/*** Composes the item header, optional actions, expanded content, and separator. */\nfunction AccordionItemInner({\n themeId: _themeId,\n mode: _mode,\n actions,\n children,\n description,\n disabled,\n icon,\n interactionPolicy,\n testID,\n title,\n value,\n ...surfaceItemProps\n}: AccordionItemProps) {\n const presentation = React.use(AccordionPresentationContext);\n if (!presentation) {\n throw new Error('AccordionItem must be rendered inside Accordion.');\n }\n\n const open = presentation.openValues.includes(value);\n\n return (\n <SurfaceAccordionItem\n {...surfaceItemProps}\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n testID={testID}\n value={value}\n >\n <Stack gap=\"none\">\n <Stack align=\"center\" direction=\"row\" gap=\"s\">\n <Box flex={1}>\n <SurfaceAccordionTrigger interactionPolicy={interactionPolicy} style={triggerStyle}>\n <Box px=\"m\" py=\"m\">\n <Stack align=\"center\" direction=\"row\" gap=\"m\">\n {icon ? <Icon {...icon} /> : null}\n <Box flex={1}>\n <Stack gap=\"xs\">\n <Heading level={4}>{title}</Heading>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n </Stack>\n </Box>\n <Icon name={open ? 'chevron-up-outline' : 'chevron-down-outline'} size=\"m\" />\n </Stack>\n </Box>\n </SurfaceAccordionTrigger>\n </Box>\n {actions ? <Box pr=\"m\">{actions}</Box> : null}\n </Stack>\n\n <SurfaceAccordionContent>\n <Box px=\"m\" pb=\"m\">\n <Stack gap=\"m\">{children}</Stack>\n </Box>\n </SurfaceAccordionContent>\n\n <Divider />\n </Stack>\n </SurfaceAccordionItem>\n );\n}\n"]}
1
+ {"version":3,"file":"AccordionItem.js","sourceRoot":"","sources":["../../../../../src/features/accordion/adapters/inbound/AccordionItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AccordionContent as SurfaceAccordionContent,\n AccordionItem as SurfaceAccordionItem,\n AccordionTrigger as SurfaceAccordionTrigger,\n} from '@ankhorage/surface';\nimport React from 'react';\nimport type { ViewStyle } from 'react-native';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AccordionItemProps } from '../../../../types/accordion';\nimport { Icon } from '../../../icon/public';\nimport { Divider, View } from '../../../layout/public';\nimport { Heading, Text } from '../../../typography/public';\nimport { AccordionPresentationContext } from '../../composition/AccordionPresentationContext';\n\n/*** Renders one opinionated ZORA accordion item over Surface trigger/content primitives. */\nexport const AccordionItem = withZoraThemeScope(AccordionItemInner);\n\nconst triggerStyle: ViewStyle = { flex: 1 };\n\n/*** Composes the item header, optional actions, expanded content, and separator. */\nfunction AccordionItemInner({\n themeId: _themeId,\n mode: _mode,\n actions,\n children,\n description,\n disabled,\n icon,\n interactionPolicy,\n testID,\n title,\n value,\n ...surfaceItemProps\n}: AccordionItemProps) {\n const presentation = React.use(AccordionPresentationContext);\n if (!presentation) {\n throw new Error('AccordionItem must be rendered inside Accordion.');\n }\n\n const open = presentation.openValues.includes(value);\n\n return (\n <SurfaceAccordionItem\n {...surfaceItemProps}\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n testID={testID}\n value={value}\n >\n <View gap=\"none\">\n <View align=\"center\" direction=\"row\" gap=\"s\">\n <View flex={1}>\n <SurfaceAccordionTrigger interactionPolicy={interactionPolicy} style={triggerStyle}>\n <View px=\"m\" py=\"m\">\n <View align=\"center\" direction=\"row\" gap=\"m\">\n {icon ? <Icon {...icon} /> : null}\n <View flex={1}>\n <View gap=\"xs\">\n <Heading level={4}>{title}</Heading>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n </View>\n </View>\n <Icon name={open ? 'chevron-up-outline' : 'chevron-down-outline'} size=\"m\" />\n </View>\n </View>\n </SurfaceAccordionTrigger>\n </View>\n {actions ? <View pr=\"m\">{actions}</View> : null}\n </View>\n\n <SurfaceAccordionContent>\n <View px=\"m\" pb=\"m\">\n <View gap=\"m\">{children}</View>\n </View>\n </SurfaceAccordionContent>\n\n <Divider />\n </View>\n </SurfaceAccordionItem>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../../../../src/features/app-bar/adapters/inbound/AppBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAS7F,wFAAwF;AACxF,eAAO,MAAM,MAAM,mDAAkC,CAAC"}
1
+ {"version":3,"file":"AppBar.d.ts","sourceRoot":"","sources":["../../../../../src/features/app-bar/adapters/inbound/AppBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAkC,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAS7F,wFAAwF;AACxF,eAAO,MAAM,MAAM,mDAAkC,CAAC"}
@@ -1,10 +1,9 @@
1
1
  import { AppBar as SurfaceAppBar } from '@ankhorage/surface';
2
2
  import React from 'react';
3
- import { Inline } from '../../../../foundation';
4
3
  import { useZoraTheme } from '../../../../theme/useZoraTheme';
5
4
  import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
6
5
  import { IconButton } from '../../../button/public';
7
- import { Box, Stack } from '../../../layout/public';
6
+ import { View } from '../../../layout/public';
8
7
  import { PopoverMenu } from '../../../popover-menu/public';
9
8
  import { Heading, Text } from '../../../typography/public';
10
9
  const DEFAULT_CANCEL_ICON = { name: 'close-outline' };
@@ -27,7 +26,7 @@ function AppBarInner({ themeId: _themeId, mode: _mode, title, subtitle, leading,
27
26
  title,
28
27
  });
29
28
  return (<SurfaceAppBar bg={isSelectionMode ? theme.semantics.action.primary.softBg : undefined} divider={divider} leading={resolvedLeading} safeAreaTop={safeAreaTop} testID={testID} trailing={resolvedTrailing}>
30
- {resolvedCenter ? <Box style={{ minWidth: 0 }}>{resolvedCenter}</Box> : null}
29
+ {resolvedCenter ? <View style={{ minWidth: 0 }}>{resolvedCenter}</View> : null}
31
30
  </SurfaceAppBar>);
32
31
  }
33
32
  /*** Resolves the effective AppBar mode. */
@@ -64,10 +63,10 @@ function resolveOverflowMenu(overflow, interactionPolicy, testID) {
64
63
  function resolveTrailing(actions, overflowMenu) {
65
64
  if (!actions && !overflowMenu)
66
65
  return undefined;
67
- return (<Inline align="center" gap="s" wrap="nowrap">
66
+ return (<View direction="row" align="center" gap="s" wrap="nowrap">
68
67
  {actions}
69
68
  {overflowMenu}
70
- </Inline>);
69
+ </View>);
71
70
  }
72
71
  /*** Resolves the center content for default and selection modes. */
73
72
  function resolveCenter({ children, isSelectionMode, resolvedMode, subtitle, title, }) {
@@ -80,13 +79,13 @@ function resolveCenter({ children, isSelectionMode, resolvedMode, subtitle, titl
80
79
  }
81
80
  if (title == null && subtitle == null)
82
81
  return null;
83
- return (<Stack gap="xs">
82
+ return (<View gap="xs">
84
83
  {title != null ? (<Heading ellipsizeMode="tail" level={3} numberOfLines={1} size="h5">
85
84
  {title}
86
85
  </Heading>) : null}
87
86
  {subtitle != null ? (<Text ellipsizeMode="tail" emphasis="muted" numberOfLines={1} variant="bodySmall">
88
87
  {subtitle}
89
88
  </Text>) : null}
90
- </Stack>);
89
+ </View>);
91
90
  }
92
91
  //# sourceMappingURL=AppBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppBar.js","sourceRoot":"","sources":["../../../../../src/features/app-bar/adapters/inbound/AppBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AppBar as SurfaceAppBar, type ButtonIconSpec } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { Inline } from '../../../../foundation';\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AppBarMode, AppBarOverflowMenu, AppBarProps } from '../../../../types/app-bar';\nimport { IconButton } from '../../../button/public';\nimport { Box, Stack } from '../../../layout/public';\nimport { PopoverMenu } from '../../../popover-menu/public';\nimport { Heading, Text } from '../../../typography/public';\n\nconst DEFAULT_CANCEL_ICON = { name: 'close-outline' } satisfies ButtonIconSpec;\nconst DEFAULT_OVERFLOW_ICON = { name: 'ellipsis-vertical' } satisfies ButtonIconSpec;\n\n/*** Renders a top app bar with title/subtitle and optional leading/trailing actions. */\nexport const AppBar = withZoraThemeScope(AppBarInner);\n\n/*** Composes the opinionated ZORA AppBar over the Surface layout primitive. */\nfunction AppBarInner({\n themeId: _themeId,\n mode: _mode,\n title,\n subtitle,\n leading,\n actions,\n overflow,\n appMode,\n children,\n safeAreaTop = true,\n divider = true,\n testID,\n interactionPolicy,\n}: AppBarProps) {\n const { theme } = useZoraTheme();\n const resolvedMode = resolveMode(appMode);\n const isSelectionMode = resolvedMode.type === 'selection';\n const resolvedLeading = leading ?? resolveSelectionLeading(resolvedMode, interactionPolicy);\n const overflowMenu = resolveOverflowMenu(overflow, interactionPolicy, testID);\n const resolvedTrailing = resolveTrailing(actions, overflowMenu);\n const resolvedCenter = resolveCenter({\n children,\n isSelectionMode,\n resolvedMode,\n subtitle,\n title,\n });\n\n return (\n <SurfaceAppBar\n bg={isSelectionMode ? theme.semantics.action.primary.softBg : undefined}\n divider={divider}\n leading={resolvedLeading}\n safeAreaTop={safeAreaTop}\n testID={testID}\n trailing={resolvedTrailing}\n >\n {resolvedCenter ? <Box style={{ minWidth: 0 }}>{resolvedCenter}</Box> : null}\n </SurfaceAppBar>\n );\n}\n\n/*** Resolves the effective AppBar mode. */\nfunction resolveMode(mode: AppBarMode | undefined): AppBarMode {\n return mode ?? { type: 'default' };\n}\n\n/*** Formats the active selection label with its optional count. */\nfunction resolveSelectionLabel({ count, label }: { count?: number; label: string }): string {\n if (count === undefined) return label;\n return `${label} (${count})`;\n}\n\n/*** Resolves the accessible label for the overflow menu trigger. */\nfunction resolveOverflowLabel(overflow: AppBarOverflowMenu): string {\n return overflow.label ?? 'More options';\n}\n\n/*** Resolves the accessible label for leaving selection mode. */\nfunction resolveCancelLabel(mode: Extract<AppBarMode, { type: 'selection' }>): string {\n return mode.cancelLabel ?? 'Cancel selection';\n}\n\n/*** Resolves the selection action shown at the leading edge. */\nfunction resolveSelectionLeading(\n mode: AppBarMode,\n interactionPolicy: AppBarProps['interactionPolicy'],\n): React.ReactNode | undefined {\n if (mode.type !== 'selection') return undefined;\n\n return (\n <IconButton\n color=\"neutral\"\n icon={mode.cancelIcon ?? DEFAULT_CANCEL_ICON}\n interactionPolicy={interactionPolicy}\n label={resolveCancelLabel(mode)}\n onPress={mode.onCancel}\n size=\"m\"\n variant=\"ghost\"\n />\n );\n}\n\n/*** Resolves the optional AppBar overflow action menu. */\nfunction resolveOverflowMenu(\n overflow: AppBarOverflowMenu | undefined,\n interactionPolicy: AppBarProps['interactionPolicy'],\n testID: string | undefined,\n): React.ReactNode {\n if (overflow === undefined || overflow.actions.length === 0) return null;\n\n return (\n <PopoverMenu\n actions={overflow.actions}\n closeOnSelect={overflow.closeOnSelect}\n interactionPolicy={interactionPolicy}\n onDismiss={overflow.onDismiss}\n testID={testID ? `${testID}-overflow` : undefined}\n trigger={({ toggle }) => (\n <IconButton\n color=\"neutral\"\n disabled={overflow.disabled}\n icon={overflow.icon ?? DEFAULT_OVERFLOW_ICON}\n interactionPolicy={interactionPolicy}\n label={resolveOverflowLabel(overflow)}\n onPress={toggle}\n size=\"m\"\n variant=\"ghost\"\n />\n )}\n />\n );\n}\n\n/*** Composes trailing actions and overflow controls. */\nfunction resolveTrailing(actions: React.ReactNode, overflowMenu: React.ReactNode): React.ReactNode {\n if (!actions && !overflowMenu) return undefined;\n return (\n <Inline align=\"center\" gap=\"s\" wrap=\"nowrap\">\n {actions}\n {overflowMenu}\n </Inline>\n );\n}\n\n/*** Resolves the center content for default and selection modes. */\nfunction resolveCenter({\n children,\n isSelectionMode,\n resolvedMode,\n subtitle,\n title,\n}: {\n children: React.ReactNode;\n isSelectionMode: boolean;\n resolvedMode: AppBarMode;\n subtitle: React.ReactNode;\n title: React.ReactNode;\n}): React.ReactNode {\n if (children !== undefined) return children;\n if (isSelectionMode && resolvedMode.type === 'selection') {\n return (\n <Text emphasis=\"default\" numberOfLines={1} variant=\"label\" weight=\"semiBold\">\n {resolveSelectionLabel(resolvedMode)}\n </Text>\n );\n }\n if (title == null && subtitle == null) return null;\n\n return (\n <Stack gap=\"xs\">\n {title != null ? (\n <Heading ellipsizeMode=\"tail\" level={3} numberOfLines={1} size=\"h5\">\n {title}\n </Heading>\n ) : null}\n {subtitle != null ? (\n <Text ellipsizeMode=\"tail\" emphasis=\"muted\" numberOfLines={1} variant=\"bodySmall\">\n {subtitle}\n </Text>\n ) : null}\n </Stack>\n );\n}\n"]}
1
+ {"version":3,"file":"AppBar.js","sourceRoot":"","sources":["../../../../../src/features/app-bar/adapters/inbound/AppBar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AppBar as SurfaceAppBar, type ButtonIconSpec } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { AppBarMode, AppBarOverflowMenu, AppBarProps } from '../../../../types/app-bar';\nimport { IconButton } from '../../../button/public';\nimport { View } from '../../../layout/public';\nimport { PopoverMenu } from '../../../popover-menu/public';\nimport { Heading, Text } from '../../../typography/public';\n\nconst DEFAULT_CANCEL_ICON = { name: 'close-outline' } satisfies ButtonIconSpec;\nconst DEFAULT_OVERFLOW_ICON = { name: 'ellipsis-vertical' } satisfies ButtonIconSpec;\n\n/*** Renders a top app bar with title/subtitle and optional leading/trailing actions. */\nexport const AppBar = withZoraThemeScope(AppBarInner);\n\n/*** Composes the opinionated ZORA AppBar over the Surface layout primitive. */\nfunction AppBarInner({\n themeId: _themeId,\n mode: _mode,\n title,\n subtitle,\n leading,\n actions,\n overflow,\n appMode,\n children,\n safeAreaTop = true,\n divider = true,\n testID,\n interactionPolicy,\n}: AppBarProps) {\n const { theme } = useZoraTheme();\n const resolvedMode = resolveMode(appMode);\n const isSelectionMode = resolvedMode.type === 'selection';\n const resolvedLeading = leading ?? resolveSelectionLeading(resolvedMode, interactionPolicy);\n const overflowMenu = resolveOverflowMenu(overflow, interactionPolicy, testID);\n const resolvedTrailing = resolveTrailing(actions, overflowMenu);\n const resolvedCenter = resolveCenter({\n children,\n isSelectionMode,\n resolvedMode,\n subtitle,\n title,\n });\n\n return (\n <SurfaceAppBar\n bg={isSelectionMode ? theme.semantics.action.primary.softBg : undefined}\n divider={divider}\n leading={resolvedLeading}\n safeAreaTop={safeAreaTop}\n testID={testID}\n trailing={resolvedTrailing}\n >\n {resolvedCenter ? <View style={{ minWidth: 0 }}>{resolvedCenter}</View> : null}\n </SurfaceAppBar>\n );\n}\n\n/*** Resolves the effective AppBar mode. */\nfunction resolveMode(mode: AppBarMode | undefined): AppBarMode {\n return mode ?? { type: 'default' };\n}\n\n/*** Formats the active selection label with its optional count. */\nfunction resolveSelectionLabel({ count, label }: { count?: number; label: string }): string {\n if (count === undefined) return label;\n return `${label} (${count})`;\n}\n\n/*** Resolves the accessible label for the overflow menu trigger. */\nfunction resolveOverflowLabel(overflow: AppBarOverflowMenu): string {\n return overflow.label ?? 'More options';\n}\n\n/*** Resolves the accessible label for leaving selection mode. */\nfunction resolveCancelLabel(mode: Extract<AppBarMode, { type: 'selection' }>): string {\n return mode.cancelLabel ?? 'Cancel selection';\n}\n\n/*** Resolves the selection action shown at the leading edge. */\nfunction resolveSelectionLeading(\n mode: AppBarMode,\n interactionPolicy: AppBarProps['interactionPolicy'],\n): React.ReactNode | undefined {\n if (mode.type !== 'selection') return undefined;\n\n return (\n <IconButton\n color=\"neutral\"\n icon={mode.cancelIcon ?? DEFAULT_CANCEL_ICON}\n interactionPolicy={interactionPolicy}\n label={resolveCancelLabel(mode)}\n onPress={mode.onCancel}\n size=\"m\"\n variant=\"ghost\"\n />\n );\n}\n\n/*** Resolves the optional AppBar overflow action menu. */\nfunction resolveOverflowMenu(\n overflow: AppBarOverflowMenu | undefined,\n interactionPolicy: AppBarProps['interactionPolicy'],\n testID: string | undefined,\n): React.ReactNode {\n if (overflow === undefined || overflow.actions.length === 0) return null;\n\n return (\n <PopoverMenu\n actions={overflow.actions}\n closeOnSelect={overflow.closeOnSelect}\n interactionPolicy={interactionPolicy}\n onDismiss={overflow.onDismiss}\n testID={testID ? `${testID}-overflow` : undefined}\n trigger={({ toggle }) => (\n <IconButton\n color=\"neutral\"\n disabled={overflow.disabled}\n icon={overflow.icon ?? DEFAULT_OVERFLOW_ICON}\n interactionPolicy={interactionPolicy}\n label={resolveOverflowLabel(overflow)}\n onPress={toggle}\n size=\"m\"\n variant=\"ghost\"\n />\n )}\n />\n );\n}\n\n/*** Composes trailing actions and overflow controls. */\nfunction resolveTrailing(actions: React.ReactNode, overflowMenu: React.ReactNode): React.ReactNode {\n if (!actions && !overflowMenu) return undefined;\n return (\n <View direction=\"row\" align=\"center\" gap=\"s\" wrap=\"nowrap\">\n {actions}\n {overflowMenu}\n </View>\n );\n}\n\n/*** Resolves the center content for default and selection modes. */\nfunction resolveCenter({\n children,\n isSelectionMode,\n resolvedMode,\n subtitle,\n title,\n}: {\n children: React.ReactNode;\n isSelectionMode: boolean;\n resolvedMode: AppBarMode;\n subtitle: React.ReactNode;\n title: React.ReactNode;\n}): React.ReactNode {\n if (children !== undefined) return children;\n if (isSelectionMode && resolvedMode.type === 'selection') {\n return (\n <Text emphasis=\"default\" numberOfLines={1} variant=\"label\" weight=\"semiBold\">\n {resolveSelectionLabel(resolvedMode)}\n </Text>\n );\n }\n if (title == null && subtitle == null) return null;\n\n return (\n <View gap=\"xs\">\n {title != null ? (\n <Heading ellipsizeMode=\"tail\" level={3} numberOfLines={1} size=\"h5\">\n {title}\n </Heading>\n ) : null}\n {subtitle != null ? (\n <Text ellipsizeMode=\"tail\" emphasis=\"muted\" numberOfLines={1} variant=\"bodySmall\">\n {subtitle}\n </Text>\n ) : null}\n </View>\n );\n}\n"]}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { FormActions, FormError, useFormController } from '../../../form/public';
3
- import { Stack } from '../../../layout/public';
3
+ import { View } from '../../../layout/public';
4
4
  import { AuthFormField } from './AuthFormField';
5
5
  /*** Keeps config-driven field orchestration private to the auth patterns that own it. */
6
6
  export function AuthForm({ fields, values, onChange, onSubmit, errors, error, loading = false, disabled = false, submitLabel = 'Submit', actions, testID, interactionPolicy, }) {
7
7
  const controller = useFormController({ fields, values, errors, onChange, onSubmit });
8
- return (<Stack gap="m" testID={testID}>
8
+ return (<View gap="m" testID={testID}>
9
9
  <FormError error={error}/>
10
10
  {fields.map((field) => (<AuthFormField key={field.name} disabled={disabled} error={controller.errors[field.name]} field={field} interactionPolicy={interactionPolicy} loading={loading} onChange={controller.setFieldValue} value={values[field.name]}/>))}
11
11
  <FormActions disabled={disabled} interactionPolicy={interactionPolicy} loading={loading} onSubmit={() => {
@@ -14,6 +14,6 @@ export function AuthForm({ fields, values, onChange, onSubmit, errors, error, lo
14
14
  }} submitLabel={submitLabel}>
15
15
  {actions}
16
16
  </FormActions>
17
- </Stack>);
17
+ </View>);
18
18
  }
19
19
  //# sourceMappingURL=AuthForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthForm.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/AuthForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiBhD,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAuB,EAC7C,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,QAAQ,EACtB,OAAO,EACP,MAAM,EACN,iBAAiB,GACI;IACrB,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC5B;MAAA,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxB;MAAA,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,CAAC,aAAa,CACZ,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAChB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACrC,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACnC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1B,CACH,CAAC,CACF;MAAA,CAAC,WAAW,CACV,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,GAAG,EAAE;YACb,IAAI,iBAAiB,KAAK,SAAS;gBAAE,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;QACtE,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,WAAW,CAAC,CAEzB;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,WAAW,CACf;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from '../../../../theme/ZoraBaseProps';\nimport type { FormErrors, FormFieldConfig, FormValues } from '../../../../types/form';\nimport { FormActions, FormError, useFormController } from '../../../form/public';\nimport { Stack } from '../../../layout/public';\nimport { AuthFormField } from './AuthFormField';\n\ninterface AuthFormProps<TName extends string> {\n fields: readonly FormFieldConfig<TName>[];\n values: FormValues<TName>;\n onChange: (values: FormValues<TName>) => void;\n onSubmit?: (values: FormValues<TName>) => void | Promise<void>;\n errors?: FormErrors<TName>;\n error?: React.ReactNode;\n loading?: boolean;\n disabled?: boolean;\n submitLabel?: React.ReactNode;\n actions?: React.ReactNode;\n testID?: string;\n interactionPolicy?: ZoraBaseProps['interactionPolicy'];\n}\n\n/*** Keeps config-driven field orchestration private to the auth patterns that own it. */\nexport function AuthForm<TName extends string>({\n fields,\n values,\n onChange,\n onSubmit,\n errors,\n error,\n loading = false,\n disabled = false,\n submitLabel = 'Submit',\n actions,\n testID,\n interactionPolicy,\n}: AuthFormProps<TName>) {\n const controller = useFormController({ fields, values, errors, onChange, onSubmit });\n return (\n <Stack gap=\"m\" testID={testID}>\n <FormError error={error} />\n {fields.map((field) => (\n <AuthFormField\n key={field.name}\n disabled={disabled}\n error={controller.errors[field.name]}\n field={field}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onChange={controller.setFieldValue}\n value={values[field.name]}\n />\n ))}\n <FormActions\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onSubmit={() => {\n if (interactionPolicy !== 'passive') void controller.handleSubmit();\n }}\n submitLabel={submitLabel}\n >\n {actions}\n </FormActions>\n </Stack>\n );\n}\n"]}
1
+ {"version":3,"file":"AuthForm.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/AuthForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiBhD,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAuB,EAC7C,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,QAAQ,EACtB,OAAO,EACP,MAAM,EACN,iBAAiB,GACI;IACrB,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrF,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC3B;MAAA,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EACxB;MAAA,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,CAAC,aAAa,CACZ,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAChB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACrC,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CACnC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1B,CACH,CAAC,CACF;MAAA,CAAC,WAAW,CACV,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,GAAG,EAAE;YACb,IAAI,iBAAiB,KAAK,SAAS;gBAAE,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;QACtE,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,WAAW,CAAC,CAEzB;QAAA,CAAC,OAAO,CACV;MAAA,EAAE,WAAW,CACf;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from '../../../../theme/ZoraBaseProps';\nimport type { FormErrors, FormFieldConfig, FormValues } from '../../../../types/form';\nimport { FormActions, FormError, useFormController } from '../../../form/public';\nimport { View } from '../../../layout/public';\nimport { AuthFormField } from './AuthFormField';\n\ninterface AuthFormProps<TName extends string> {\n fields: readonly FormFieldConfig<TName>[];\n values: FormValues<TName>;\n onChange: (values: FormValues<TName>) => void;\n onSubmit?: (values: FormValues<TName>) => void | Promise<void>;\n errors?: FormErrors<TName>;\n error?: React.ReactNode;\n loading?: boolean;\n disabled?: boolean;\n submitLabel?: React.ReactNode;\n actions?: React.ReactNode;\n testID?: string;\n interactionPolicy?: ZoraBaseProps['interactionPolicy'];\n}\n\n/*** Keeps config-driven field orchestration private to the auth patterns that own it. */\nexport function AuthForm<TName extends string>({\n fields,\n values,\n onChange,\n onSubmit,\n errors,\n error,\n loading = false,\n disabled = false,\n submitLabel = 'Submit',\n actions,\n testID,\n interactionPolicy,\n}: AuthFormProps<TName>) {\n const controller = useFormController({ fields, values, errors, onChange, onSubmit });\n return (\n <View gap=\"m\" testID={testID}>\n <FormError error={error} />\n {fields.map((field) => (\n <AuthFormField\n key={field.name}\n disabled={disabled}\n error={controller.errors[field.name]}\n field={field}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onChange={controller.setFieldValue}\n value={values[field.name]}\n />\n ))}\n <FormActions\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onSubmit={() => {\n if (interactionPolicy !== 'passive') void controller.handleSubmit();\n }}\n submitLabel={submitLabel}\n >\n {actions}\n </FormActions>\n </View>\n );\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import { FormField, hasRequiredRule } from '../../../form/public';
2
+ import { Field, hasRequiredRule } from '../../../form/public';
3
3
  import { TextInput } from '../../../form/text-input/public';
4
4
  /*** Adapts an auth field configuration to the public compositional form primitives. */
5
5
  export function AuthFormField({ field, value, onChange, error, disabled = false, loading = false, interactionPolicy, }) {
6
6
  const fieldDisabled = disabled || loading || field.disabled;
7
- return (<FormField description={field.description} disabled={fieldDisabled} errorText={error} helperText={field.helperText} invalid={Boolean(error)} label={field.label} readOnly={field.readOnly} required={field.required ?? hasRequiredRule(field.rules)} testID={field.testID}>
7
+ return (<Field description={field.description} disabled={fieldDisabled} errorText={error} helperText={field.helperText} invalid={Boolean(error)} label={field.label} readOnly={field.readOnly} required={field.required ?? hasRequiredRule(field.rules)} testID={field.testID}>
8
8
  <TextInput accessibilityLabel={typeof field.label === 'string' ? field.label : undefined} autoCapitalize={field.autoCapitalize ??
9
9
  (['email', 'password', 'url'].includes(field.type ?? 'text') ? 'none' : undefined)} autoComplete={field.autoComplete} disabled={fieldDisabled} interactionPolicy={interactionPolicy} invalid={Boolean(error)} keyboardType={resolveKeyboardType(field)} maxLength={field.maxLength} onChangeText={(nextValue) => onChange(field.name, nextValue)} placeholder={field.placeholder} readOnly={field.readOnly} secureTextEntry={field.secureTextEntry ?? field.type === 'password'} textContentType={resolveTextContentType(field)} value={value}/>
10
- </FormField>);
10
+ </Field>);
11
11
  }
12
12
  /*** Resolves the native keyboard for an auth field configuration. */
13
13
  function resolveKeyboardType(field) {
@@ -1 +1 @@
1
- {"version":3,"file":"AuthFormField.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/AuthFormField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from '../../../../theme/ZoraBaseProps';\nimport type { FormFieldConfig, FormFieldValue } from '../../../../types/form';\nimport { FormField, hasRequiredRule } from '../../../form/public';\nimport { TextInput } from '../../../form/text-input/public';\n\ninterface AuthFormFieldProps<TName extends string> {\n field: FormFieldConfig<TName>;\n value: FormFieldValue;\n onChange: (name: TName, value: FormFieldValue) => void;\n error?: React.ReactNode;\n disabled?: boolean;\n loading?: boolean;\n interactionPolicy?: ZoraBaseProps['interactionPolicy'];\n}\n\n/*** Adapts an auth field configuration to the public compositional form primitives. */\nexport function AuthFormField<TName extends string>({\n field,\n value,\n onChange,\n error,\n disabled = false,\n loading = false,\n interactionPolicy,\n}: AuthFormFieldProps<TName>) {\n const fieldDisabled = disabled || loading || field.disabled;\n return (\n <FormField\n description={field.description}\n disabled={fieldDisabled}\n errorText={error}\n helperText={field.helperText}\n invalid={Boolean(error)}\n label={field.label}\n readOnly={field.readOnly}\n required={field.required ?? hasRequiredRule(field.rules)}\n testID={field.testID}\n >\n <TextInput\n accessibilityLabel={typeof field.label === 'string' ? field.label : undefined}\n autoCapitalize={\n field.autoCapitalize ??\n (['email', 'password', 'url'].includes(field.type ?? 'text') ? 'none' : undefined)\n }\n autoComplete={field.autoComplete}\n disabled={fieldDisabled}\n interactionPolicy={interactionPolicy}\n invalid={Boolean(error)}\n keyboardType={resolveKeyboardType(field)}\n maxLength={field.maxLength}\n onChangeText={(nextValue) => onChange(field.name, nextValue)}\n placeholder={field.placeholder}\n readOnly={field.readOnly}\n secureTextEntry={field.secureTextEntry ?? field.type === 'password'}\n textContentType={resolveTextContentType(field)}\n value={value}\n />\n </FormField>\n );\n}\n\n/*** Resolves the native keyboard for an auth field configuration. */\nfunction resolveKeyboardType(field: FormFieldConfig) {\n if (field.keyboardType) return field.keyboardType;\n if (field.type === 'email') return 'email-address';\n if (field.type === 'number' || field.type === 'otp') return 'number-pad';\n if (field.type === 'tel') return 'phone-pad';\n if (field.type === 'url') return 'url';\n return undefined;\n}\n\n/*** Resolves platform text-content hints for an auth field configuration. */\nfunction resolveTextContentType(field: FormFieldConfig) {\n if (field.textContentType) return field.textContentType;\n if (field.type === 'email') return 'emailAddress';\n if (field.type === 'password') return 'password';\n if (field.type === 'otp') return 'oneTimeCode';\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"AuthFormField.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/AuthFormField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { ZoraBaseProps } from '../../../../theme/ZoraBaseProps';\nimport type { FormFieldConfig, FormFieldValue } from '../../../../types/form';\nimport { Field, hasRequiredRule } from '../../../form/public';\nimport { TextInput } from '../../../form/text-input/public';\n\ninterface AuthFormFieldProps<TName extends string> {\n field: FormFieldConfig<TName>;\n value: FormFieldValue;\n onChange: (name: TName, value: FormFieldValue) => void;\n error?: React.ReactNode;\n disabled?: boolean;\n loading?: boolean;\n interactionPolicy?: ZoraBaseProps['interactionPolicy'];\n}\n\n/*** Adapts an auth field configuration to the public compositional form primitives. */\nexport function AuthFormField<TName extends string>({\n field,\n value,\n onChange,\n error,\n disabled = false,\n loading = false,\n interactionPolicy,\n}: AuthFormFieldProps<TName>) {\n const fieldDisabled = disabled || loading || field.disabled;\n return (\n <Field\n description={field.description}\n disabled={fieldDisabled}\n errorText={error}\n helperText={field.helperText}\n invalid={Boolean(error)}\n label={field.label}\n readOnly={field.readOnly}\n required={field.required ?? hasRequiredRule(field.rules)}\n testID={field.testID}\n >\n <TextInput\n accessibilityLabel={typeof field.label === 'string' ? field.label : undefined}\n autoCapitalize={\n field.autoCapitalize ??\n (['email', 'password', 'url'].includes(field.type ?? 'text') ? 'none' : undefined)\n }\n autoComplete={field.autoComplete}\n disabled={fieldDisabled}\n interactionPolicy={interactionPolicy}\n invalid={Boolean(error)}\n keyboardType={resolveKeyboardType(field)}\n maxLength={field.maxLength}\n onChangeText={(nextValue) => onChange(field.name, nextValue)}\n placeholder={field.placeholder}\n readOnly={field.readOnly}\n secureTextEntry={field.secureTextEntry ?? field.type === 'password'}\n textContentType={resolveTextContentType(field)}\n value={value}\n />\n </Field>\n );\n}\n\n/*** Resolves the native keyboard for an auth field configuration. */\nfunction resolveKeyboardType(field: FormFieldConfig) {\n if (field.keyboardType) return field.keyboardType;\n if (field.type === 'email') return 'email-address';\n if (field.type === 'number' || field.type === 'otp') return 'number-pad';\n if (field.type === 'tel') return 'phone-pad';\n if (field.type === 'url') return 'url';\n return undefined;\n}\n\n/*** Resolves platform text-content hints for an auth field configuration. */\nfunction resolveTextContentType(field: FormFieldConfig) {\n if (field.textContentType) return field.textContentType;\n if (field.type === 'email') return 'emailAddress';\n if (field.type === 'password') return 'password';\n if (field.type === 'otp') return 'oneTimeCode';\n return undefined;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
3
  import { Button } from '../../../button/public';
4
- import { Stack } from '../../../layout/public';
4
+ import { View } from '../../../layout/public';
5
5
  import { defaultIdentifiers, normalizeIdentifierKind, resolveIdentifierLabel, resolveIdentifierRules, resolveIdentifierType, } from '../../utils/authForm';
6
6
  import { AuthForm } from './AuthForm';
7
7
  function ForgotPasswordFormInner({ themeId: _themeId, mode: _mode, interactionPolicy, identifiers = defaultIdentifiers, identifierLabel, signInLabel = 'Sign in', loading = false, disabled = false, error, submitLabel = 'Send code', onSubmit, onSignIn, testID, }) {
@@ -21,13 +21,13 @@ function ForgotPasswordFormInner({ themeId: _themeId, mode: _mode, interactionPo
21
21
  identifier: formValues.identifier.trim(),
22
22
  identifierKind: normalizeIdentifierKind(formValues.identifier, identifiers),
23
23
  }), [identifiers, onSubmit]);
24
- return (<AuthForm actions={onSignIn ? (<Stack direction="row" gap="s" wrap="wrap">
24
+ return (<AuthForm actions={onSignIn ? (<View direction="row" gap="s" wrap="wrap">
25
25
  <Button disabled={disabled || loading} variant="ghost" onPress={() => {
26
26
  void onSignIn();
27
27
  }} size="s" color="neutral" interactionPolicy={interactionPolicy}>
28
28
  {signInLabel}
29
29
  </Button>
30
- </Stack>) : undefined} disabled={disabled} error={error} fields={fields} interactionPolicy={interactionPolicy} loading={loading} onChange={setValues} onSubmit={handleSubmit} submitLabel={submitLabel} testID={testID} values={values}/>);
30
+ </View>) : undefined} disabled={disabled} error={error} fields={fields} interactionPolicy={interactionPolicy} loading={loading} onChange={setValues} onSubmit={handleSubmit} submitLabel={submitLabel} testID={testID} values={values}/>);
31
31
  }
32
32
  /***
33
33
  * Password reset form pattern with validation and submit actions.
@@ -1 +1 @@
1
- {"version":3,"file":"ForgotPasswordForm.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/ForgotPasswordForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { ForgotPasswordFormProps } from '../../../../types/auth';\nimport type { FormFieldConfig, FormValues } from '../../../../types/form';\nimport { Button } from '../../../button/public';\nimport { Stack } from '../../../layout/public';\nimport {\n defaultIdentifiers,\n normalizeIdentifierKind,\n resolveIdentifierLabel,\n resolveIdentifierRules,\n resolveIdentifierType,\n} from '../../utils/authForm';\nimport { AuthForm } from './AuthForm';\n\ntype ForgotPasswordFieldName = 'identifier';\n\nfunction ForgotPasswordFormInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n identifiers = defaultIdentifiers,\n identifierLabel,\n signInLabel = 'Sign in',\n loading = false,\n disabled = false,\n error,\n submitLabel = 'Send code',\n onSubmit,\n onSignIn,\n testID,\n}: ForgotPasswordFormProps) {\n const [values, setValues] = React.useState<FormValues<ForgotPasswordFieldName>>({\n identifier: '',\n });\n const fields = React.useMemo<readonly FormFieldConfig<ForgotPasswordFieldName>[]>(\n () => [\n {\n name: 'identifier',\n label: identifierLabel ?? resolveIdentifierLabel(identifiers),\n type: resolveIdentifierType(identifiers),\n autoCapitalize: 'none',\n rules: resolveIdentifierRules(identifiers),\n },\n ],\n [identifierLabel, identifiers],\n );\n\n const handleSubmit = React.useCallback(\n (formValues: FormValues<ForgotPasswordFieldName>) =>\n onSubmit?.({\n identifier: formValues.identifier.trim(),\n identifierKind: normalizeIdentifierKind(formValues.identifier, identifiers),\n }),\n [identifiers, onSubmit],\n );\n\n return (\n <AuthForm\n actions={\n onSignIn ? (\n <Stack direction=\"row\" gap=\"s\" wrap=\"wrap\">\n <Button\n disabled={disabled || loading}\n variant=\"ghost\"\n onPress={() => {\n void onSignIn();\n }}\n size=\"s\"\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n >\n {signInLabel}\n </Button>\n </Stack>\n ) : undefined\n }\n disabled={disabled}\n error={error}\n fields={fields}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onChange={setValues}\n onSubmit={handleSubmit}\n submitLabel={submitLabel}\n testID={testID}\n values={values}\n />\n );\n}\n\n/***\n * Password reset form pattern with validation and submit actions.\n *\n \n */\nexport const ForgotPasswordForm = withZoraThemeScope(ForgotPasswordFormInner);\n"]}
1
+ {"version":3,"file":"ForgotPasswordForm.js","sourceRoot":"","sources":["../../../../../src/features/auth/adapters/inbound/ForgotPasswordForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { ForgotPasswordFormProps } from '../../../../types/auth';\nimport type { FormFieldConfig, FormValues } from '../../../../types/form';\nimport { Button } from '../../../button/public';\nimport { View } from '../../../layout/public';\nimport {\n defaultIdentifiers,\n normalizeIdentifierKind,\n resolveIdentifierLabel,\n resolveIdentifierRules,\n resolveIdentifierType,\n} from '../../utils/authForm';\nimport { AuthForm } from './AuthForm';\n\ntype ForgotPasswordFieldName = 'identifier';\n\nfunction ForgotPasswordFormInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n identifiers = defaultIdentifiers,\n identifierLabel,\n signInLabel = 'Sign in',\n loading = false,\n disabled = false,\n error,\n submitLabel = 'Send code',\n onSubmit,\n onSignIn,\n testID,\n}: ForgotPasswordFormProps) {\n const [values, setValues] = React.useState<FormValues<ForgotPasswordFieldName>>({\n identifier: '',\n });\n const fields = React.useMemo<readonly FormFieldConfig<ForgotPasswordFieldName>[]>(\n () => [\n {\n name: 'identifier',\n label: identifierLabel ?? resolveIdentifierLabel(identifiers),\n type: resolveIdentifierType(identifiers),\n autoCapitalize: 'none',\n rules: resolveIdentifierRules(identifiers),\n },\n ],\n [identifierLabel, identifiers],\n );\n\n const handleSubmit = React.useCallback(\n (formValues: FormValues<ForgotPasswordFieldName>) =>\n onSubmit?.({\n identifier: formValues.identifier.trim(),\n identifierKind: normalizeIdentifierKind(formValues.identifier, identifiers),\n }),\n [identifiers, onSubmit],\n );\n\n return (\n <AuthForm\n actions={\n onSignIn ? (\n <View direction=\"row\" gap=\"s\" wrap=\"wrap\">\n <Button\n disabled={disabled || loading}\n variant=\"ghost\"\n onPress={() => {\n void onSignIn();\n }}\n size=\"s\"\n color=\"neutral\"\n interactionPolicy={interactionPolicy}\n >\n {signInLabel}\n </Button>\n </View>\n ) : undefined\n }\n disabled={disabled}\n error={error}\n fields={fields}\n interactionPolicy={interactionPolicy}\n loading={loading}\n onChange={setValues}\n onSubmit={handleSubmit}\n submitLabel={submitLabel}\n testID={testID}\n values={values}\n />\n );\n}\n\n/***\n * Password reset form pattern with validation and submit actions.\n *\n \n */\nexport const ForgotPasswordForm = withZoraThemeScope(ForgotPasswordFormInner);\n"]}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
- import { Stack } from '../../../layout/public';
3
+ import { View } from '../../../layout/public';
4
4
  import { OAuthProviderButton } from './OAuthProviderButton';
5
5
  function OAuthProviderListInner({ themeId: _themeId, mode: _mode, interactionPolicy, providers, disabled = false, loading = false, fullWidth, layout = 'stack', size, variant, color, onProviderPress, testID, }) {
6
6
  const direction = layout === 'inline' ? 'row' : 'column';
7
7
  const resolvedFullWidth = fullWidth ?? layout === 'stack';
8
- return (<Stack direction={direction} gap="s" testID={testID} wrap={layout === 'inline' ? 'wrap' : undefined}>
8
+ return (<View direction={direction} gap="s" testID={testID} wrap={layout === 'inline' ? 'wrap' : undefined}>
9
9
  {providers.map((provider) => (<OAuthProviderButton color={color} disabled={disabled || provider.disabled} fullWidth={resolvedFullWidth} icon={provider.icon} key={provider.id} label={provider.label} loading={loading || provider.loading} onPress={onProviderPress} providerId={provider.id} size={size} variant={variant} interactionPolicy={interactionPolicy}/>))}
10
- </Stack>);
10
+ </View>);
11
11
  }
12
12
  /***
13
13
  * Renders a group of OAuth provider buttons for sign-in and auth settings flows.