@ankhorage/zora 16.0.0 → 17.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 (654) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +15 -15
  3. package/dist/constants.d.ts +2 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +2 -1
  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/ForgotPasswordForm.js +3 -3
  16. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js.map +1 -1
  17. package/dist/features/auth/adapters/inbound/OAuthProviderList.js +3 -3
  18. package/dist/features/auth/adapters/inbound/OAuthProviderList.js.map +1 -1
  19. package/dist/features/auth/adapters/inbound/OtpForm.js +3 -3
  20. package/dist/features/auth/adapters/inbound/OtpForm.js.map +1 -1
  21. package/dist/features/auth/adapters/inbound/SignInForm.js +3 -3
  22. package/dist/features/auth/adapters/inbound/SignInForm.js.map +1 -1
  23. package/dist/features/auth/adapters/inbound/SignUpForm.js +3 -3
  24. package/dist/features/auth/adapters/inbound/SignUpForm.js.map +1 -1
  25. package/dist/features/avatar/adapters/inbound/Avatar.js +3 -3
  26. package/dist/features/avatar/adapters/inbound/Avatar.js.map +1 -1
  27. package/dist/features/avatar/adapters/inbound/AvatarGroup.js +7 -7
  28. package/dist/features/avatar/adapters/inbound/AvatarGroup.js.map +1 -1
  29. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js +3 -3
  30. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js.map +1 -1
  31. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  32. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.d.ts.map +1 -1
  33. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js +5 -5
  34. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js.map +1 -1
  35. package/dist/features/button/adapters/inbound/ButtonGroup.js +3 -3
  36. package/dist/features/button/adapters/inbound/ButtonGroup.js.map +1 -1
  37. package/dist/features/card/adapters/inbound/Card.js +12 -12
  38. package/dist/features/card/adapters/inbound/Card.js.map +1 -1
  39. package/dist/features/card/adapters/inbound/MediaCard.js +21 -21
  40. package/dist/features/card/adapters/inbound/MediaCard.js.map +1 -1
  41. package/dist/features/card/adapters/inbound/MetricCard.d.ts.map +1 -1
  42. package/dist/features/card/adapters/inbound/MetricCard.js +10 -11
  43. package/dist/features/card/adapters/inbound/MetricCard.js.map +1 -1
  44. package/dist/features/card/adapters/inbound/PostCard.d.ts.map +1 -1
  45. package/dist/features/card/adapters/inbound/PostCard.js +37 -38
  46. package/dist/features/card/adapters/inbound/PostCard.js.map +1 -1
  47. package/dist/features/card/adapters/inbound/ProductCard.d.ts.map +1 -1
  48. package/dist/features/card/adapters/inbound/ProductCard.js +17 -18
  49. package/dist/features/card/adapters/inbound/ProductCard.js.map +1 -1
  50. package/dist/features/card/cardMeta.d.ts +1 -1
  51. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  52. package/dist/features/card/postCardMeta.d.ts +1 -1
  53. package/dist/features/chip/adapters/inbound/Chip.d.ts.map +1 -1
  54. package/dist/features/chip/adapters/inbound/Chip.js +5 -6
  55. package/dist/features/chip/adapters/inbound/Chip.js.map +1 -1
  56. package/dist/features/chip/adapters/inbound/ChipGroup.d.ts.map +1 -1
  57. package/dist/features/chip/adapters/inbound/ChipGroup.js +3 -3
  58. package/dist/features/chip/adapters/inbound/ChipGroup.js.map +1 -1
  59. package/dist/features/content-rail/adapters/inbound/ContentRail.d.ts.map +1 -0
  60. package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.js +9 -10
  61. package/dist/features/content-rail/adapters/inbound/ContentRail.js.map +1 -0
  62. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.d.ts.map +1 -0
  63. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.js.map +1 -0
  64. package/dist/features/content-rail/constants.d.ts +2 -0
  65. package/dist/features/content-rail/constants.d.ts.map +1 -0
  66. package/dist/features/content-rail/constants.js +2 -0
  67. package/dist/features/content-rail/constants.js.map +1 -0
  68. package/dist/features/{layout → content-rail}/contentRailMeta.d.ts +2 -2
  69. package/dist/features/content-rail/contentRailMeta.d.ts.map +1 -0
  70. package/dist/features/content-rail/contentRailMeta.js.map +1 -0
  71. package/dist/features/content-rail/public.d.ts +3 -0
  72. package/dist/features/content-rail/public.d.ts.map +1 -0
  73. package/dist/features/content-rail/public.js +2 -0
  74. package/dist/features/content-rail/public.js.map +1 -0
  75. package/dist/features/content-rail/utils/resolveContentRailItemWidth.d.ts.map +1 -0
  76. package/dist/features/content-rail/utils/resolveContentRailItemWidth.js.map +1 -0
  77. package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.d.ts.map +1 -0
  78. package/dist/features/content-rail/utils/resolveContentRailPhysicalOffset.js.map +1 -0
  79. package/dist/features/content-rail/utils/resolveContentRailState.d.ts.map +1 -0
  80. package/dist/features/content-rail/utils/resolveContentRailState.js.map +1 -0
  81. package/dist/features/content-rail/utils/useContentRailReducedMotion.d.ts.map +1 -0
  82. package/dist/features/content-rail/utils/useContentRailReducedMotion.js.map +1 -0
  83. package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
  84. package/dist/features/data-table/adapters/inbound/DataTable.js +32 -32
  85. package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
  86. package/dist/features/date-picker/composition/DatePickerContent.js +16 -16
  87. package/dist/features/date-picker/composition/DatePickerContent.js.map +1 -1
  88. package/dist/features/date-picker/composition/DatePickerField.js +3 -3
  89. package/dist/features/date-picker/composition/DatePickerField.js.map +1 -1
  90. package/dist/features/dialog/adapters/inbound/Dialog.js +9 -9
  91. package/dist/features/dialog/adapters/inbound/Dialog.js.map +1 -1
  92. package/dist/features/dialog/dialogMeta.d.ts +2 -2
  93. package/dist/features/empty-state/adapters/inbound/EmptyState.js +5 -5
  94. package/dist/features/empty-state/adapters/inbound/EmptyState.js.map +1 -1
  95. package/dist/features/form/adapters/inbound/Form.js +3 -3
  96. package/dist/features/form/adapters/inbound/Form.js.map +1 -1
  97. package/dist/features/form/adapters/inbound/FormActions.js +4 -4
  98. package/dist/features/form/adapters/inbound/FormActions.js.map +1 -1
  99. package/dist/features/form/adapters/inbound/FormError.js +3 -3
  100. package/dist/features/form/adapters/inbound/FormError.js.map +1 -1
  101. package/dist/features/form/adapters/inbound/FormField.js +3 -3
  102. package/dist/features/form/adapters/inbound/FormField.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/radio/adapters/inbound/RadioGroup.js +10 -10
  107. package/dist/features/form/radio/adapters/inbound/RadioGroup.js.map +1 -1
  108. package/dist/features/form/select/adapters/inbound/Select.web.js +3 -3
  109. package/dist/features/form/select/adapters/inbound/Select.web.js.map +1 -1
  110. package/dist/features/gradient/adapters/inbound/Gradient.js +5 -5
  111. package/dist/features/gradient/adapters/inbound/Gradient.js.map +1 -1
  112. package/dist/features/gradient/gradientMeta.d.ts +1 -1
  113. package/dist/features/hero/adapters/inbound/Hero.js +12 -12
  114. package/dist/features/hero/adapters/inbound/Hero.js.map +1 -1
  115. package/dist/features/image/adapters/inbound/Image.js +3 -3
  116. package/dist/features/image/adapters/inbound/Image.js.map +1 -1
  117. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  118. package/dist/features/layout/adapters/inbound/AppShell.d.ts +5 -0
  119. package/dist/features/layout/adapters/inbound/AppShell.d.ts.map +1 -0
  120. package/dist/features/layout/adapters/inbound/AppShell.js +20 -0
  121. package/dist/features/layout/adapters/inbound/AppShell.js.map +1 -0
  122. package/dist/features/layout/adapters/inbound/Screen.d.ts +5 -0
  123. package/dist/features/layout/adapters/inbound/Screen.d.ts.map +1 -0
  124. package/dist/features/layout/adapters/inbound/Screen.js +22 -0
  125. package/dist/features/layout/adapters/inbound/Screen.js.map +1 -0
  126. package/dist/features/layout/adapters/inbound/ScreenSection.d.ts +5 -0
  127. package/dist/features/layout/adapters/inbound/ScreenSection.d.ts.map +1 -0
  128. package/dist/features/layout/adapters/inbound/ScreenSection.js +13 -0
  129. package/dist/features/layout/adapters/inbound/ScreenSection.js.map +1 -0
  130. package/dist/features/layout/adapters/inbound/ScrollView.d.ts +5 -0
  131. package/dist/features/layout/adapters/inbound/ScrollView.d.ts.map +1 -0
  132. package/dist/features/layout/adapters/inbound/ScrollView.js +10 -0
  133. package/dist/features/layout/adapters/inbound/ScrollView.js.map +1 -0
  134. package/dist/features/layout/adapters/inbound/View.d.ts +5 -0
  135. package/dist/features/layout/adapters/inbound/View.d.ts.map +1 -0
  136. package/dist/features/layout/adapters/inbound/View.js +10 -0
  137. package/dist/features/layout/adapters/inbound/View.js.map +1 -0
  138. package/dist/{layout/app-shell/meta.d.ts → features/layout/appShellMeta.d.ts} +1 -1
  139. package/dist/features/layout/appShellMeta.d.ts.map +1 -0
  140. package/dist/{layout/app-shell/meta.js → features/layout/appShellMeta.js} +1 -1
  141. package/dist/features/layout/appShellMeta.js.map +1 -0
  142. package/dist/features/layout/constants.d.ts +0 -1
  143. package/dist/features/layout/constants.d.ts.map +1 -1
  144. package/dist/features/layout/constants.js +0 -1
  145. package/dist/features/layout/constants.js.map +1 -1
  146. package/dist/features/layout/gridMeta.d.ts +1 -1
  147. package/dist/features/layout/public.d.ts +6 -6
  148. package/dist/features/layout/public.d.ts.map +1 -1
  149. package/dist/features/layout/public.js +5 -4
  150. package/dist/features/layout/public.js.map +1 -1
  151. package/dist/{layout/screen/meta.d.ts → features/layout/screenMeta.d.ts} +2 -2
  152. package/dist/features/layout/screenMeta.d.ts.map +1 -0
  153. package/dist/{layout/screen/meta.js → features/layout/screenMeta.js} +1 -1
  154. package/dist/features/layout/screenMeta.js.map +1 -0
  155. package/dist/{layout/screen-section/meta.d.ts → features/layout/screenSectionMeta.d.ts} +2 -2
  156. package/dist/features/layout/screenSectionMeta.d.ts.map +1 -0
  157. package/dist/{layout/screen-section/meta.js → features/layout/screenSectionMeta.js} +1 -1
  158. package/dist/features/layout/screenSectionMeta.js.map +1 -0
  159. package/dist/features/layout/{boxMeta.d.ts → scrollViewMeta.d.ts} +8 -15
  160. package/dist/features/layout/scrollViewMeta.d.ts.map +1 -0
  161. package/dist/features/layout/{boxMeta.js → scrollViewMeta.js} +4 -6
  162. package/dist/features/layout/scrollViewMeta.js.map +1 -0
  163. package/dist/features/layout/{stackMeta.d.ts → viewMeta.d.ts} +24 -4
  164. package/dist/features/layout/viewMeta.d.ts.map +1 -0
  165. package/dist/features/layout/{stackMeta.js → viewMeta.js} +8 -3
  166. package/dist/features/layout/viewMeta.js.map +1 -0
  167. package/dist/features/list/flatListMeta.d.ts +1 -1
  168. package/dist/features/list/sectionListMeta.d.ts +1 -1
  169. package/dist/features/missing-element/adapters/inbound/MissingElement.js +5 -5
  170. package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -1
  171. package/dist/features/pagination/adapters/inbound/Pagination.js +3 -3
  172. package/dist/features/pagination/adapters/inbound/Pagination.js.map +1 -1
  173. package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.d.ts +1 -1
  174. package/dist/features/palette-item/adapters/inbound/PaletteItem.d.ts.map +1 -0
  175. package/dist/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.js +10 -10
  176. package/dist/features/palette-item/adapters/inbound/PaletteItem.js.map +1 -0
  177. package/dist/features/palette-item/paletteItemMeta.d.ts +9 -0
  178. package/dist/features/palette-item/paletteItemMeta.d.ts.map +1 -0
  179. package/dist/features/palette-item/paletteItemMeta.js +9 -0
  180. package/dist/features/palette-item/paletteItemMeta.js.map +1 -0
  181. package/dist/features/palette-item/public.d.ts +3 -0
  182. package/dist/features/palette-item/public.d.ts.map +1 -0
  183. package/dist/features/palette-item/public.js +2 -0
  184. package/dist/features/palette-item/public.js.map +1 -0
  185. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js +2 -2
  186. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js.map +1 -1
  187. package/dist/features/progress/adapters/inbound/Progress.js +4 -4
  188. package/dist/features/progress/adapters/inbound/Progress.js.map +1 -1
  189. package/dist/features/progress/adapters/inbound/ProgressRing.js +10 -10
  190. package/dist/features/progress/adapters/inbound/ProgressRing.js.map +1 -1
  191. package/dist/features/rating/adapters/inbound/Rating.d.ts.map +1 -1
  192. package/dist/features/rating/adapters/inbound/Rating.js +3 -3
  193. package/dist/features/rating/adapters/inbound/Rating.js.map +1 -1
  194. package/dist/features/skeleton/adapters/inbound/Skeleton.js +2 -2
  195. package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -1
  196. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js +5 -5
  197. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -1
  198. package/dist/features/skeleton/adapters/inbound/SkeletonText.js +3 -3
  199. package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -1
  200. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  201. package/dist/features/tabs/tabPanelMeta.d.ts +1 -1
  202. package/dist/features/time-picker/composition/TimePickerContent.js +7 -7
  203. package/dist/features/time-picker/composition/TimePickerContent.js.map +1 -1
  204. package/dist/features/time-picker/composition/TimePickerField.js +3 -3
  205. package/dist/features/time-picker/composition/TimePickerField.js.map +1 -1
  206. package/dist/features/toolbar/adapters/inbound/Toolbar.js +3 -3
  207. package/dist/features/toolbar/adapters/inbound/Toolbar.js.map +1 -1
  208. package/dist/features/uploader/adapters/inbound/Uploader.js +19 -19
  209. package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
  210. package/dist/index.d.ts +6 -22
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +3 -11
  213. package/dist/index.js.map +1 -1
  214. package/dist/metadata/allowedChildren.d.ts +4 -4
  215. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  216. package/dist/metadata/allowedChildren.js +4 -6
  217. package/dist/metadata/allowedChildren.js.map +1 -1
  218. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  219. package/dist/metadata/componentMeta.d.ts.map +1 -1
  220. package/dist/metadata/componentMeta.js +9 -22
  221. package/dist/metadata/componentMeta.js.map +1 -1
  222. package/dist/patterns/chat-list-item/ChatListItem.d.ts.map +1 -1
  223. package/dist/patterns/chat-list-item/ChatListItem.js +22 -23
  224. package/dist/patterns/chat-list-item/ChatListItem.js.map +1 -1
  225. package/dist/patterns/collection-editor/CollectionEditor.js +12 -12
  226. package/dist/patterns/collection-editor/CollectionEditor.js.map +1 -1
  227. package/dist/patterns/confirm-dialog/ConfirmDialog.js +3 -3
  228. package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
  229. package/dist/patterns/filter-bar/FilterBar.d.ts.map +1 -1
  230. package/dist/patterns/filter-bar/FilterBar.js +6 -7
  231. package/dist/patterns/filter-bar/FilterBar.js.map +1 -1
  232. package/dist/patterns/inspector-field/InspectorField.js +5 -5
  233. package/dist/patterns/inspector-field/InspectorField.js.map +1 -1
  234. package/dist/patterns/list/List.d.ts.map +1 -1
  235. package/dist/patterns/list/List.js +6 -7
  236. package/dist/patterns/list/List.js.map +1 -1
  237. package/dist/patterns/list/ListRow.d.ts.map +1 -1
  238. package/dist/patterns/list/ListRow.js +16 -17
  239. package/dist/patterns/list/ListRow.js.map +1 -1
  240. package/dist/patterns/list/ListSection.js +3 -3
  241. package/dist/patterns/list/ListSection.js.map +1 -1
  242. package/dist/patterns/message-bubble/MessageBubble.d.ts.map +1 -1
  243. package/dist/patterns/message-bubble/MessageBubble.js +21 -20
  244. package/dist/patterns/message-bubble/MessageBubble.js.map +1 -1
  245. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  246. package/dist/patterns/notice/Notice.js +5 -5
  247. package/dist/patterns/notice/Notice.js.map +1 -1
  248. package/dist/patterns/notice/meta.d.ts +1 -1
  249. package/dist/patterns/panel/meta.d.ts +1 -1
  250. package/dist/patterns/reader/ReaderSurface.d.ts.map +1 -1
  251. package/dist/patterns/reader/ReaderSurface.js +18 -19
  252. package/dist/patterns/reader/ReaderSurface.js.map +1 -1
  253. package/dist/patterns/reader/meta.d.ts +2 -2
  254. package/dist/patterns/scanner/BarcodeScannerView.js +7 -7
  255. package/dist/patterns/scanner/BarcodeScannerView.js.map +1 -1
  256. package/dist/patterns/scanner/CameraPermissionView.js +5 -5
  257. package/dist/patterns/scanner/CameraPermissionView.js.map +1 -1
  258. package/dist/patterns/scanner/ScanOverlay.js +8 -8
  259. package/dist/patterns/scanner/ScanOverlay.js.map +1 -1
  260. package/dist/patterns/scanner/meta.d.ts +2 -2
  261. package/dist/patterns/section-header/SectionHeader.js +8 -8
  262. package/dist/patterns/section-header/SectionHeader.js.map +1 -1
  263. package/dist/patterns/switch-field/SwitchField.d.ts +1 -1
  264. package/dist/patterns/switch-field/SwitchField.js +3 -3
  265. package/dist/patterns/switch-field/SwitchField.js.map +1 -1
  266. package/dist/patterns/theme-composer/ThemeComposer.js +30 -30
  267. package/dist/patterns/theme-composer/ThemeComposer.js.map +1 -1
  268. package/dist/patterns/timeline/Timeline.d.ts.map +1 -1
  269. package/dist/patterns/timeline/Timeline.js +14 -15
  270. package/dist/patterns/timeline/Timeline.js.map +1 -1
  271. package/dist/patterns/tree-view/TreeItem.d.ts.map +1 -1
  272. package/dist/patterns/tree-view/TreeItem.js +9 -9
  273. package/dist/patterns/tree-view/TreeItem.js.map +1 -1
  274. package/dist/patterns/tree-view/TreeView.js +3 -3
  275. package/dist/patterns/tree-view/TreeView.js.map +1 -1
  276. package/dist/registry.d.ts.map +1 -1
  277. package/dist/registry.js +5 -23
  278. package/dist/registry.js.map +1 -1
  279. package/dist/types/button-group.d.ts +2 -2
  280. package/dist/types/button-group.d.ts.map +1 -1
  281. package/dist/types/button-group.js.map +1 -1
  282. package/dist/types/gradient.d.ts +6 -6
  283. package/dist/types/gradient.d.ts.map +1 -1
  284. package/dist/types/gradient.js.map +1 -1
  285. package/dist/types/layout.d.ts +22 -4
  286. package/dist/types/layout.d.ts.map +1 -1
  287. package/dist/types/layout.js.map +1 -1
  288. package/dist/types/palette-item.d.ts +13 -0
  289. package/dist/types/palette-item.d.ts.map +1 -0
  290. package/dist/types/palette-item.js +2 -0
  291. package/dist/types/palette-item.js.map +1 -0
  292. package/dist/types/skeleton.d.ts +5 -5
  293. package/dist/types/skeleton.d.ts.map +1 -1
  294. package/dist/types/skeleton.js.map +1 -1
  295. package/package.json +2 -2
  296. package/src/audit.test.ts +7 -11
  297. package/src/constants.ts +2 -1
  298. package/src/expo57Migration.test.ts +4 -3
  299. package/src/features/accordion/adapters/inbound/AccordionItem.tsx +19 -19
  300. package/src/features/app-bar/adapters/inbound/AppBar.tsx +6 -7
  301. package/src/features/auth/adapters/inbound/AuthForm.tsx +3 -3
  302. package/src/features/auth/adapters/inbound/ForgotPasswordForm.tsx +3 -3
  303. package/src/features/auth/adapters/inbound/OAuthProviderList.tsx +3 -3
  304. package/src/features/auth/adapters/inbound/OtpForm.tsx +3 -3
  305. package/src/features/auth/adapters/inbound/SignInForm.tsx +3 -3
  306. package/src/features/auth/adapters/inbound/SignUpForm.tsx +3 -3
  307. package/src/features/avatar/adapters/inbound/Avatar.tsx +3 -3
  308. package/src/features/avatar/adapters/inbound/AvatarGroup.tsx +7 -7
  309. package/src/features/bottom-sheet/adapters/inbound/BottomSheet.tsx +3 -3
  310. package/src/features/bottom-sheet/public.test.ts +1 -1
  311. package/src/features/breadcrumbs/adapters/inbound/Breadcrumbs.tsx +5 -5
  312. package/src/features/button/adapters/inbound/ButtonGroup.tsx +3 -3
  313. package/src/features/card/adapters/inbound/Card.tsx +12 -12
  314. package/src/features/card/adapters/inbound/MediaCard.tsx +21 -21
  315. package/src/features/card/adapters/inbound/MetricCard.tsx +10 -11
  316. package/src/features/card/adapters/inbound/PostCard.tsx +37 -38
  317. package/src/features/card/adapters/inbound/ProductCard.tsx +17 -18
  318. package/src/features/chip/adapters/inbound/Chip.tsx +5 -6
  319. package/src/features/chip/adapters/inbound/ChipGroup.tsx +3 -3
  320. package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.test.ts +3 -1
  321. package/src/features/{layout → content-rail}/adapters/inbound/ContentRail.tsx +9 -10
  322. package/src/features/content-rail/constants.ts +1 -0
  323. package/src/features/content-rail/public.ts +10 -0
  324. package/src/features/data-table/adapters/inbound/DataTable.tsx +32 -32
  325. package/src/features/date-picker/composition/DatePickerContent.tsx +16 -16
  326. package/src/features/date-picker/composition/DatePickerField.tsx +3 -3
  327. package/src/features/dialog/adapters/inbound/Dialog.tsx +9 -9
  328. package/src/features/empty-state/adapters/inbound/EmptyState.tsx +5 -5
  329. package/src/features/form/adapters/inbound/Form.tsx +3 -3
  330. package/src/features/form/adapters/inbound/FormActions.tsx +4 -4
  331. package/src/features/form/adapters/inbound/FormError.tsx +3 -3
  332. package/src/features/form/adapters/inbound/FormField.tsx +3 -3
  333. package/src/features/form/checkbox/adapters/inbound/CheckboxGroup.tsx +5 -6
  334. package/src/features/form/radio/adapters/inbound/RadioGroup.tsx +10 -10
  335. package/src/features/form/select/adapters/inbound/Select.web.tsx +3 -3
  336. package/src/features/gradient/adapters/inbound/Gradient.tsx +5 -5
  337. package/src/features/hero/adapters/inbound/Hero.tsx +12 -12
  338. package/src/features/icon/utils/meta.test.ts +2 -3
  339. package/src/features/image/adapters/inbound/Image.tsx +3 -3
  340. package/src/features/layout/adapters/inbound/AppShell.test.ts +24 -0
  341. package/src/features/layout/adapters/inbound/AppShell.tsx +44 -0
  342. package/src/features/layout/adapters/inbound/Screen.tsx +50 -0
  343. package/src/{layout/screen-section → features/layout/adapters/inbound}/ScreenSection.tsx +7 -11
  344. package/src/features/layout/adapters/inbound/ScrollView.tsx +18 -0
  345. package/src/features/layout/adapters/inbound/View.tsx +18 -0
  346. package/src/features/layout/constants.ts +0 -2
  347. package/src/features/layout/public.test.ts +55 -0
  348. package/src/features/layout/public.ts +10 -16
  349. package/src/features/layout/{containerMeta.ts → scrollViewMeta.ts} +6 -3
  350. package/src/features/layout/{stackMeta.ts → viewMeta.ts} +7 -2
  351. package/src/features/missing-element/adapters/inbound/MissingElement.tsx +5 -5
  352. package/src/features/pagination/adapters/inbound/Pagination.tsx +3 -3
  353. package/src/{patterns/tile-grid → features/palette-item/adapters/inbound}/PaletteItem.tsx +11 -11
  354. package/src/{layout/sidebar-layout/meta.ts → features/palette-item/paletteItemMeta.ts} +4 -4
  355. package/src/features/palette-item/public.ts +2 -0
  356. package/src/features/popover-menu/adapters/inbound/PopoverMenu.tsx +2 -2
  357. package/src/features/progress/adapters/inbound/Progress.tsx +4 -4
  358. package/src/features/progress/adapters/inbound/ProgressRing.tsx +10 -10
  359. package/src/features/rating/adapters/inbound/Rating.tsx +3 -3
  360. package/src/features/skeleton/adapters/inbound/Skeleton.tsx +2 -2
  361. package/src/features/skeleton/adapters/inbound/SkeletonCard.tsx +5 -5
  362. package/src/features/skeleton/adapters/inbound/SkeletonText.tsx +3 -3
  363. package/src/features/time-picker/composition/TimePickerContent.tsx +7 -7
  364. package/src/features/time-picker/composition/TimePickerField.tsx +3 -3
  365. package/src/features/toolbar/adapters/inbound/Toolbar.tsx +3 -3
  366. package/src/features/uploader/adapters/inbound/Uploader.tsx +19 -19
  367. package/src/index.ts +25 -31
  368. package/src/interactionPolicy.test.ts +1 -1
  369. package/src/metadata/allowedChildren.ts +4 -6
  370. package/src/metadata/componentMeta.test.ts +4 -6
  371. package/src/metadata/componentMeta.ts +9 -22
  372. package/src/metadata/radioGroupReachability.test.ts +2 -2
  373. package/src/patterns/chat-list-item/ChatListItem.tsx +22 -23
  374. package/src/patterns/collection-editor/CollectionEditor.tsx +13 -13
  375. package/src/patterns/confirm-dialog/ConfirmDialog.tsx +3 -3
  376. package/src/patterns/filter-bar/FilterBar.tsx +6 -7
  377. package/src/patterns/inspector-field/InspectorField.tsx +5 -5
  378. package/src/patterns/list/List.tsx +6 -7
  379. package/src/patterns/list/ListRow.tsx +16 -17
  380. package/src/patterns/list/ListSection.tsx +3 -3
  381. package/src/patterns/message-bubble/MessageBubble.tsx +23 -20
  382. package/src/patterns/notice/Notice.tsx +5 -5
  383. package/src/patterns/reader/ReaderSurface.tsx +18 -19
  384. package/src/patterns/scanner/BarcodeScannerView.tsx +7 -7
  385. package/src/patterns/scanner/CameraPermissionView.tsx +5 -5
  386. package/src/patterns/scanner/ScanOverlay.tsx +8 -8
  387. package/src/patterns/section-header/SectionHeader.tsx +8 -8
  388. package/src/patterns/switch-field/SwitchField.tsx +4 -4
  389. package/src/patterns/theme-composer/ThemeComposer.tsx +30 -30
  390. package/src/patterns/timeline/Timeline.tsx +21 -15
  391. package/src/patterns/tree-view/TreeItem.tsx +12 -11
  392. package/src/patterns/tree-view/TreeView.tsx +3 -3
  393. package/src/platformAcceptance.test.ts +1 -1
  394. package/src/registry.test.ts +1 -1
  395. package/src/registry.ts +13 -23
  396. package/src/showcaseCoverage.test.ts +2 -22
  397. package/src/theme/themeScopeStructure.test.ts +10 -31
  398. package/src/types/button-group.ts +2 -2
  399. package/src/types/gradient.ts +6 -6
  400. package/src/types/layout.ts +28 -7
  401. package/src/types/palette-item.ts +14 -0
  402. package/src/types/skeleton.ts +5 -5
  403. package/dist/features/layout/adapters/inbound/Box.d.ts +0 -5
  404. package/dist/features/layout/adapters/inbound/Box.d.ts.map +0 -1
  405. package/dist/features/layout/adapters/inbound/Box.js +0 -10
  406. package/dist/features/layout/adapters/inbound/Box.js.map +0 -1
  407. package/dist/features/layout/adapters/inbound/Container.d.ts +0 -5
  408. package/dist/features/layout/adapters/inbound/Container.d.ts.map +0 -1
  409. package/dist/features/layout/adapters/inbound/Container.js +0 -10
  410. package/dist/features/layout/adapters/inbound/Container.js.map +0 -1
  411. package/dist/features/layout/adapters/inbound/ContentRail.d.ts.map +0 -1
  412. package/dist/features/layout/adapters/inbound/ContentRail.js.map +0 -1
  413. package/dist/features/layout/adapters/inbound/ContentRailFlow.d.ts.map +0 -1
  414. package/dist/features/layout/adapters/inbound/ContentRailFlow.js.map +0 -1
  415. package/dist/features/layout/adapters/inbound/Stack.d.ts +0 -5
  416. package/dist/features/layout/adapters/inbound/Stack.d.ts.map +0 -1
  417. package/dist/features/layout/adapters/inbound/Stack.js +0 -10
  418. package/dist/features/layout/adapters/inbound/Stack.js.map +0 -1
  419. package/dist/features/layout/boxMeta.d.ts.map +0 -1
  420. package/dist/features/layout/boxMeta.js.map +0 -1
  421. package/dist/features/layout/containerMeta.d.ts +0 -55
  422. package/dist/features/layout/containerMeta.d.ts.map +0 -1
  423. package/dist/features/layout/containerMeta.js +0 -10
  424. package/dist/features/layout/containerMeta.js.map +0 -1
  425. package/dist/features/layout/contentRailMeta.d.ts.map +0 -1
  426. package/dist/features/layout/contentRailMeta.js.map +0 -1
  427. package/dist/features/layout/stackMeta.d.ts.map +0 -1
  428. package/dist/features/layout/stackMeta.js.map +0 -1
  429. package/dist/features/layout/utils/resolveContentRailItemWidth.d.ts.map +0 -1
  430. package/dist/features/layout/utils/resolveContentRailItemWidth.js.map +0 -1
  431. package/dist/features/layout/utils/resolveContentRailPhysicalOffset.d.ts.map +0 -1
  432. package/dist/features/layout/utils/resolveContentRailPhysicalOffset.js.map +0 -1
  433. package/dist/features/layout/utils/resolveContentRailState.d.ts.map +0 -1
  434. package/dist/features/layout/utils/resolveContentRailState.js.map +0 -1
  435. package/dist/features/layout/utils/useContentRailReducedMotion.d.ts.map +0 -1
  436. package/dist/features/layout/utils/useContentRailReducedMotion.js.map +0 -1
  437. package/dist/foundation/Center.d.ts +0 -12
  438. package/dist/foundation/Center.d.ts.map +0 -1
  439. package/dist/foundation/Center.js +0 -13
  440. package/dist/foundation/Center.js.map +0 -1
  441. package/dist/foundation/Inline.d.ts +0 -12
  442. package/dist/foundation/Inline.d.ts.map +0 -1
  443. package/dist/foundation/Inline.js +0 -13
  444. package/dist/foundation/Inline.js.map +0 -1
  445. package/dist/foundation/Show.d.ts +0 -12
  446. package/dist/foundation/Show.d.ts.map +0 -1
  447. package/dist/foundation/Show.js +0 -13
  448. package/dist/foundation/Show.js.map +0 -1
  449. package/dist/foundation/Spacer.d.ts +0 -12
  450. package/dist/foundation/Spacer.d.ts.map +0 -1
  451. package/dist/foundation/Spacer.js +0 -13
  452. package/dist/foundation/Spacer.js.map +0 -1
  453. package/dist/foundation/index.d.ts +0 -9
  454. package/dist/foundation/index.d.ts.map +0 -1
  455. package/dist/foundation/index.js +0 -5
  456. package/dist/foundation/index.js.map +0 -1
  457. package/dist/foundation/meta.d.ts +0 -35
  458. package/dist/foundation/meta.d.ts.map +0 -1
  459. package/dist/foundation/meta.js +0 -35
  460. package/dist/foundation/meta.js.map +0 -1
  461. package/dist/layout/app-shell/AppShell.d.ts +0 -16
  462. package/dist/layout/app-shell/AppShell.d.ts.map +0 -1
  463. package/dist/layout/app-shell/AppShell.js +0 -50
  464. package/dist/layout/app-shell/AppShell.js.map +0 -1
  465. package/dist/layout/app-shell/index.d.ts +0 -3
  466. package/dist/layout/app-shell/index.d.ts.map +0 -1
  467. package/dist/layout/app-shell/index.js +0 -2
  468. package/dist/layout/app-shell/index.js.map +0 -1
  469. package/dist/layout/app-shell/meta.d.ts.map +0 -1
  470. package/dist/layout/app-shell/meta.js.map +0 -1
  471. package/dist/layout/app-shell/types.d.ts +0 -9
  472. package/dist/layout/app-shell/types.d.ts.map +0 -1
  473. package/dist/layout/app-shell/types.js +0 -2
  474. package/dist/layout/app-shell/types.js.map +0 -1
  475. package/dist/layout/screen/Screen.d.ts +0 -11
  476. package/dist/layout/screen/Screen.d.ts.map +0 -1
  477. package/dist/layout/screen/Screen.js +0 -30
  478. package/dist/layout/screen/Screen.js.map +0 -1
  479. package/dist/layout/screen/index.d.ts +0 -3
  480. package/dist/layout/screen/index.d.ts.map +0 -1
  481. package/dist/layout/screen/index.js +0 -2
  482. package/dist/layout/screen/index.js.map +0 -1
  483. package/dist/layout/screen/meta.d.ts.map +0 -1
  484. package/dist/layout/screen/meta.js.map +0 -1
  485. package/dist/layout/screen/types.d.ts +0 -10
  486. package/dist/layout/screen/types.d.ts.map +0 -1
  487. package/dist/layout/screen/types.js +0 -2
  488. package/dist/layout/screen/types.js.map +0 -1
  489. package/dist/layout/screen-section/ScreenSection.d.ts +0 -9
  490. package/dist/layout/screen-section/ScreenSection.d.ts.map +0 -1
  491. package/dist/layout/screen-section/ScreenSection.js +0 -17
  492. package/dist/layout/screen-section/ScreenSection.js.map +0 -1
  493. package/dist/layout/screen-section/index.d.ts +0 -3
  494. package/dist/layout/screen-section/index.d.ts.map +0 -1
  495. package/dist/layout/screen-section/index.js +0 -2
  496. package/dist/layout/screen-section/index.js.map +0 -1
  497. package/dist/layout/screen-section/meta.d.ts.map +0 -1
  498. package/dist/layout/screen-section/meta.js.map +0 -1
  499. package/dist/layout/screen-section/types.d.ts +0 -9
  500. package/dist/layout/screen-section/types.d.ts.map +0 -1
  501. package/dist/layout/screen-section/types.js +0 -2
  502. package/dist/layout/screen-section/types.js.map +0 -1
  503. package/dist/layout/settings-layout/SettingsLayout.d.ts +0 -7
  504. package/dist/layout/settings-layout/SettingsLayout.d.ts.map +0 -1
  505. package/dist/layout/settings-layout/SettingsLayout.js +0 -18
  506. package/dist/layout/settings-layout/SettingsLayout.js.map +0 -1
  507. package/dist/layout/settings-layout/index.d.ts +0 -3
  508. package/dist/layout/settings-layout/index.d.ts.map +0 -1
  509. package/dist/layout/settings-layout/index.js +0 -2
  510. package/dist/layout/settings-layout/index.js.map +0 -1
  511. package/dist/layout/settings-layout/meta.d.ts +0 -9
  512. package/dist/layout/settings-layout/meta.d.ts.map +0 -1
  513. package/dist/layout/settings-layout/meta.js +0 -9
  514. package/dist/layout/settings-layout/meta.js.map +0 -1
  515. package/dist/layout/settings-layout/types.d.ts +0 -10
  516. package/dist/layout/settings-layout/types.d.ts.map +0 -1
  517. package/dist/layout/settings-layout/types.js +0 -2
  518. package/dist/layout/settings-layout/types.js.map +0 -1
  519. package/dist/layout/sidebar-layout/SidebarLayout.d.ts +0 -11
  520. package/dist/layout/sidebar-layout/SidebarLayout.d.ts.map +0 -1
  521. package/dist/layout/sidebar-layout/SidebarLayout.js +0 -27
  522. package/dist/layout/sidebar-layout/SidebarLayout.js.map +0 -1
  523. package/dist/layout/sidebar-layout/index.d.ts +0 -3
  524. package/dist/layout/sidebar-layout/index.d.ts.map +0 -1
  525. package/dist/layout/sidebar-layout/index.js +0 -2
  526. package/dist/layout/sidebar-layout/index.js.map +0 -1
  527. package/dist/layout/sidebar-layout/meta.d.ts +0 -9
  528. package/dist/layout/sidebar-layout/meta.d.ts.map +0 -1
  529. package/dist/layout/sidebar-layout/meta.js +0 -9
  530. package/dist/layout/sidebar-layout/meta.js.map +0 -1
  531. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts +0 -14
  532. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.d.ts.map +0 -1
  533. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js +0 -16
  534. package/dist/layout/sidebar-layout/resolveSidebarLayoutSizing.js.map +0 -1
  535. package/dist/layout/sidebar-layout/types.d.ts +0 -12
  536. package/dist/layout/sidebar-layout/types.d.ts.map +0 -1
  537. package/dist/layout/sidebar-layout/types.js +0 -2
  538. package/dist/layout/sidebar-layout/types.js.map +0 -1
  539. package/dist/layout/topbar-layout/TopbarLayout.d.ts +0 -9
  540. package/dist/layout/topbar-layout/TopbarLayout.d.ts.map +0 -1
  541. package/dist/layout/topbar-layout/TopbarLayout.js +0 -17
  542. package/dist/layout/topbar-layout/TopbarLayout.js.map +0 -1
  543. package/dist/layout/topbar-layout/index.d.ts +0 -3
  544. package/dist/layout/topbar-layout/index.d.ts.map +0 -1
  545. package/dist/layout/topbar-layout/index.js +0 -2
  546. package/dist/layout/topbar-layout/index.js.map +0 -1
  547. package/dist/layout/topbar-layout/meta.d.ts +0 -9
  548. package/dist/layout/topbar-layout/meta.d.ts.map +0 -1
  549. package/dist/layout/topbar-layout/meta.js +0 -9
  550. package/dist/layout/topbar-layout/meta.js.map +0 -1
  551. package/dist/layout/topbar-layout/types.d.ts +0 -8
  552. package/dist/layout/topbar-layout/types.d.ts.map +0 -1
  553. package/dist/layout/topbar-layout/types.js +0 -2
  554. package/dist/layout/topbar-layout/types.js.map +0 -1
  555. package/dist/patterns/settings-row/SettingsRow.d.ts +0 -9
  556. package/dist/patterns/settings-row/SettingsRow.d.ts.map +0 -1
  557. package/dist/patterns/settings-row/SettingsRow.js +0 -24
  558. package/dist/patterns/settings-row/SettingsRow.js.map +0 -1
  559. package/dist/patterns/settings-row/index.d.ts +0 -3
  560. package/dist/patterns/settings-row/index.d.ts.map +0 -1
  561. package/dist/patterns/settings-row/index.js +0 -2
  562. package/dist/patterns/settings-row/index.js.map +0 -1
  563. package/dist/patterns/settings-row/meta.d.ts +0 -39
  564. package/dist/patterns/settings-row/meta.d.ts.map +0 -1
  565. package/dist/patterns/settings-row/meta.js +0 -39
  566. package/dist/patterns/settings-row/meta.js.map +0 -1
  567. package/dist/patterns/settings-row/types.d.ts +0 -23
  568. package/dist/patterns/settings-row/types.d.ts.map +0 -1
  569. package/dist/patterns/settings-row/types.js +0 -2
  570. package/dist/patterns/settings-row/types.js.map +0 -1
  571. package/dist/patterns/tile-grid/PaletteItem.d.ts.map +0 -1
  572. package/dist/patterns/tile-grid/PaletteItem.js.map +0 -1
  573. package/dist/patterns/tile-grid/TileGrid.d.ts +0 -9
  574. package/dist/patterns/tile-grid/TileGrid.d.ts.map +0 -1
  575. package/dist/patterns/tile-grid/TileGrid.js +0 -33
  576. package/dist/patterns/tile-grid/TileGrid.js.map +0 -1
  577. package/dist/patterns/tile-grid/index.d.ts +0 -4
  578. package/dist/patterns/tile-grid/index.d.ts.map +0 -1
  579. package/dist/patterns/tile-grid/index.js +0 -4
  580. package/dist/patterns/tile-grid/index.js.map +0 -1
  581. package/dist/patterns/tile-grid/meta.d.ts +0 -17
  582. package/dist/patterns/tile-grid/meta.d.ts.map +0 -1
  583. package/dist/patterns/tile-grid/meta.js +0 -18
  584. package/dist/patterns/tile-grid/meta.js.map +0 -1
  585. package/dist/patterns/tile-grid/types.d.ts +0 -18
  586. package/dist/patterns/tile-grid/types.d.ts.map +0 -1
  587. package/dist/patterns/tile-grid/types.js +0 -2
  588. package/dist/patterns/tile-grid/types.js.map +0 -1
  589. package/src/features/layout/adapters/inbound/Box.tsx +0 -18
  590. package/src/features/layout/adapters/inbound/Container.tsx +0 -18
  591. package/src/features/layout/adapters/inbound/Stack.tsx +0 -18
  592. package/src/features/layout/boxMeta.ts +0 -16
  593. package/src/foundation/Center.tsx +0 -26
  594. package/src/foundation/Inline.tsx +0 -26
  595. package/src/foundation/Show.tsx +0 -23
  596. package/src/foundation/Spacer.tsx +0 -26
  597. package/src/foundation/index.test.ts +0 -30
  598. package/src/foundation/index.ts +0 -8
  599. package/src/foundation/meta.ts +0 -36
  600. package/src/layout/app-shell/AppShell.test.ts +0 -24
  601. package/src/layout/app-shell/AppShell.tsx +0 -65
  602. package/src/layout/app-shell/index.ts +0 -2
  603. package/src/layout/app-shell/types.ts +0 -10
  604. package/src/layout/screen/Screen.test.ts +0 -22
  605. package/src/layout/screen/Screen.tsx +0 -47
  606. package/src/layout/screen/index.ts +0 -2
  607. package/src/layout/screen/types.ts +0 -11
  608. package/src/layout/screen-section/index.ts +0 -2
  609. package/src/layout/screen-section/types.ts +0 -10
  610. package/src/layout/settings-layout/SettingsLayout.tsx +0 -33
  611. package/src/layout/settings-layout/index.ts +0 -2
  612. package/src/layout/settings-layout/meta.ts +0 -10
  613. package/src/layout/settings-layout/types.ts +0 -11
  614. package/src/layout/sidebar-layout/SidebarLayout.test.ts +0 -35
  615. package/src/layout/sidebar-layout/SidebarLayout.tsx +0 -46
  616. package/src/layout/sidebar-layout/index.ts +0 -2
  617. package/src/layout/sidebar-layout/resolveSidebarLayoutSizing.ts +0 -18
  618. package/src/layout/sidebar-layout/types.ts +0 -14
  619. package/src/layout/topbar-layout/TopbarLayout.tsx +0 -30
  620. package/src/layout/topbar-layout/index.ts +0 -2
  621. package/src/layout/topbar-layout/meta.ts +0 -10
  622. package/src/layout/topbar-layout/types.ts +0 -9
  623. package/src/patterns/settings-row/SettingsRow.tsx +0 -53
  624. package/src/patterns/settings-row/index.ts +0 -2
  625. package/src/patterns/settings-row/meta.ts +0 -40
  626. package/src/patterns/settings-row/types.ts +0 -28
  627. package/src/patterns/tile-grid/TileGrid.tsx +0 -55
  628. package/src/patterns/tile-grid/index.ts +0 -3
  629. package/src/patterns/tile-grid/meta.ts +0 -21
  630. package/src/patterns/tile-grid/types.ts +0 -20
  631. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRail.d.ts +0 -0
  632. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.d.ts +0 -0
  633. /package/dist/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.js +0 -0
  634. /package/dist/features/{layout → content-rail}/contentRailMeta.js +0 -0
  635. /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.d.ts +0 -0
  636. /package/dist/features/{layout → content-rail}/utils/resolveContentRailItemWidth.js +0 -0
  637. /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.d.ts +0 -0
  638. /package/dist/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.js +0 -0
  639. /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.d.ts +0 -0
  640. /package/dist/features/{layout → content-rail}/utils/resolveContentRailState.js +0 -0
  641. /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.d.ts +0 -0
  642. /package/dist/features/{layout → content-rail}/utils/useContentRailReducedMotion.js +0 -0
  643. /package/src/features/{layout → content-rail}/adapters/inbound/ContentRailFlow.tsx +0 -0
  644. /package/src/features/{layout → content-rail}/contentRailMeta.ts +0 -0
  645. /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.test.ts +0 -0
  646. /package/src/features/{layout → content-rail}/utils/resolveContentRailItemWidth.ts +0 -0
  647. /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.test.ts +0 -0
  648. /package/src/features/{layout → content-rail}/utils/resolveContentRailPhysicalOffset.ts +0 -0
  649. /package/src/features/{layout → content-rail}/utils/resolveContentRailState.test.ts +0 -0
  650. /package/src/features/{layout → content-rail}/utils/resolveContentRailState.ts +0 -0
  651. /package/src/features/{layout → content-rail}/utils/useContentRailReducedMotion.ts +0 -0
  652. /package/src/{layout/app-shell/meta.ts → features/layout/appShellMeta.ts} +0 -0
  653. /package/src/{layout/screen/meta.ts → features/layout/screenMeta.ts} +0 -0
  654. /package/src/{layout/screen-section/meta.ts → features/layout/screenSectionMeta.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button } from '../../features/button/public';
3
3
  import { IconButton } from '../../features/button/public';
4
- import { Box, Stack } from '../../features/layout/public';
4
+ import { View } from '../../features/layout/public';
5
5
  import { Text } from '../../features/typography/public';
6
6
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
7
7
  import { Panel } from '../panel';
@@ -10,14 +10,14 @@ function CollectionEditorInner({ themeId: _themeId, mode: _mode, title, descript
10
10
  return (<Panel compact description={description} interactionPolicy={interactionPolicy} testID={testID} title={title} actions={onAdd ? (<Button variant="soft" size="s" disabled={disabled} interactionPolicy={interactionPolicy} onPress={onAdd}>
11
11
  {addLabel}
12
12
  </Button>) : null}>
13
- <Stack gap="s">
14
- {isEmpty ? (<Box py="m">
13
+ <View gap="s">
14
+ {isEmpty ? (<View py="m">
15
15
  <Text align="center" emphasis="muted">
16
16
  {emptyLabel}
17
17
  </Text>
18
- </Box>) : (items.map((item, index) => (<Box key={index} bg="subtle" p="s" radius="m" borderColor="border" borderWidth={1}>
19
- <Stack direction="row" gap="m" align="center">
20
- <Box flex={1}>
18
+ </View>) : (items.map((item, index) => (<View key={index} bg="subtle" p="s" radius="m" borderColor="border" borderWidth={1}>
19
+ <View direction="row" gap="m" align="center">
20
+ <View flex={1}>
21
21
  {renderItem({
22
22
  item,
23
23
  index,
@@ -27,17 +27,17 @@ function CollectionEditorInner({ themeId: _themeId, mode: _mode, title, descript
27
27
  canMoveUp: index > 0,
28
28
  canMoveDown: index < items.length - 1,
29
29
  })}
30
- </Box>
31
- <Stack direction="row" gap="xs">
30
+ </View>
31
+ <View direction="row" gap="xs">
32
32
  {onMove ? (<>
33
33
  <IconButton icon={{ name: 'arrow-up-outline' }} label="Move Up" disabled={disabled ?? index === 0} interactionPolicy={interactionPolicy} onPress={() => onMove(index, index - 1)} size="s" variant="ghost"/>
34
34
  <IconButton icon={{ name: 'arrow-down-outline' }} label="Move Down" disabled={disabled ?? index === items.length - 1} interactionPolicy={interactionPolicy} onPress={() => onMove(index, index + 1)} size="s" variant="ghost"/>
35
35
  </>) : null}
36
36
  {onRemove ? (<IconButton icon={{ name: 'trash-outline' }} label="Remove" color="danger" disabled={disabled} interactionPolicy={interactionPolicy} onPress={() => onRemove(index)} size="s" variant="ghost"/>) : null}
37
- </Stack>
38
- </Stack>
39
- </Box>)))}
40
- </Stack>
37
+ </View>
38
+ </View>
39
+ </View>)))}
40
+ </View>
41
41
  </Panel>);
42
42
  }
43
43
  /***
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionEditor.js","sourceRoot":"","sources":["../../../src/patterns/collection-editor/CollectionEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Button } from '../../features/button/public';\nimport { IconButton } from '../../features/button/public';\nimport { Box, Stack } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { Panel } from '../panel';\nimport type { CollectionEditorProps } from './types';\n\nfunction CollectionEditorInner<TItem>({\n themeId: _themeId,\n mode: _mode,\n title,\n description,\n items,\n renderItem,\n onAdd,\n onRemove,\n onMove,\n addLabel = 'Add Item',\n emptyLabel = 'No items yet.',\n disabled,\n testID,\n interactionPolicy,\n}: CollectionEditorProps<TItem>) {\n const isEmpty = items.length === 0;\n\n return (\n <Panel\n compact\n description={description}\n interactionPolicy={interactionPolicy}\n testID={testID}\n title={title}\n actions={\n onAdd ? (\n <Button\n variant=\"soft\"\n size=\"s\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onAdd}\n >\n {addLabel}\n </Button>\n ) : null\n }\n >\n <Stack gap=\"s\">\n {isEmpty ? (\n <Box py=\"m\">\n <Text align=\"center\" emphasis=\"muted\">\n {emptyLabel}\n </Text>\n </Box>\n ) : (\n items.map((item, index) => (\n <Box key={index} bg=\"subtle\" p=\"s\" radius=\"m\" borderColor=\"border\" borderWidth={1}>\n <Stack direction=\"row\" gap=\"m\" align=\"center\">\n <Box flex={1}>\n {renderItem({\n item,\n index,\n remove: () => onRemove?.(index),\n moveUp: () => onMove?.(index, index - 1),\n moveDown: () => onMove?.(index, index + 1),\n canMoveUp: index > 0,\n canMoveDown: index < items.length - 1,\n })}\n </Box>\n <Stack direction=\"row\" gap=\"xs\">\n {onMove ? (\n <>\n <IconButton\n icon={{ name: 'arrow-up-outline' }}\n label=\"Move Up\"\n disabled={disabled ?? index === 0}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index - 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n <IconButton\n icon={{ name: 'arrow-down-outline' }}\n label=\"Move Down\"\n disabled={disabled ?? index === items.length - 1}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index + 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n </>\n ) : null}\n {onRemove ? (\n <IconButton\n icon={{ name: 'trash-outline' }}\n label=\"Remove\"\n color=\"danger\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={() => onRemove(index)}\n size=\"s\"\n variant=\"ghost\"\n />\n ) : null}\n </Stack>\n </Stack>\n </Box>\n ))\n )}\n </Stack>\n </Panel>\n );\n}\n\n/***\n * Editor pattern for adding, removing, and reordering a collection of items.\n *\n \n */\nexport const CollectionEditor = withZoraThemeScope(CollectionEditorInner);\n"]}
1
+ {"version":3,"file":"CollectionEditor.js","sourceRoot":"","sources":["../../../src/patterns/collection-editor/CollectionEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Button } from '../../features/button/public';\nimport { IconButton } from '../../features/button/public';\nimport { View } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { Panel } from '../panel';\nimport type { CollectionEditorProps } from './types';\n\nfunction CollectionEditorInner<TItem>({\n themeId: _themeId,\n mode: _mode,\n title,\n description,\n items,\n renderItem,\n onAdd,\n onRemove,\n onMove,\n addLabel = 'Add Item',\n emptyLabel = 'No items yet.',\n disabled,\n testID,\n interactionPolicy,\n}: CollectionEditorProps<TItem>) {\n const isEmpty = items.length === 0;\n\n return (\n <Panel\n compact\n description={description}\n interactionPolicy={interactionPolicy}\n testID={testID}\n title={title}\n actions={\n onAdd ? (\n <Button\n variant=\"soft\"\n size=\"s\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={onAdd}\n >\n {addLabel}\n </Button>\n ) : null\n }\n >\n <View gap=\"s\">\n {isEmpty ? (\n <View py=\"m\">\n <Text align=\"center\" emphasis=\"muted\">\n {emptyLabel}\n </Text>\n </View>\n ) : (\n items.map((item, index) => (\n <View key={index} bg=\"subtle\" p=\"s\" radius=\"m\" borderColor=\"border\" borderWidth={1}>\n <View direction=\"row\" gap=\"m\" align=\"center\">\n <View flex={1}>\n {renderItem({\n item,\n index,\n remove: () => onRemove?.(index),\n moveUp: () => onMove?.(index, index - 1),\n moveDown: () => onMove?.(index, index + 1),\n canMoveUp: index > 0,\n canMoveDown: index < items.length - 1,\n })}\n </View>\n <View direction=\"row\" gap=\"xs\">\n {onMove ? (\n <>\n <IconButton\n icon={{ name: 'arrow-up-outline' }}\n label=\"Move Up\"\n disabled={disabled ?? index === 0}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index - 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n <IconButton\n icon={{ name: 'arrow-down-outline' }}\n label=\"Move Down\"\n disabled={disabled ?? index === items.length - 1}\n interactionPolicy={interactionPolicy}\n onPress={() => onMove(index, index + 1)}\n size=\"s\"\n variant=\"ghost\"\n />\n </>\n ) : null}\n {onRemove ? (\n <IconButton\n icon={{ name: 'trash-outline' }}\n label=\"Remove\"\n color=\"danger\"\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n onPress={() => onRemove(index)}\n size=\"s\"\n variant=\"ghost\"\n />\n ) : null}\n </View>\n </View>\n </View>\n ))\n )}\n </View>\n </Panel>\n );\n}\n\n/***\n * Editor pattern for adding, removing, and reordering a collection of items.\n *\n \n */\nexport const CollectionEditor = withZoraThemeScope(CollectionEditorInner);\n"]}
@@ -1,17 +1,17 @@
1
1
  import React from 'react';
2
2
  import { Button } from '../../features/button/public';
3
3
  import { Dialog } from '../../features/dialog/public';
4
- import { Stack } from '../../features/layout/public';
4
+ import { View } from '../../features/layout/public';
5
5
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
6
6
  function ConfirmDialogInner({ themeId: _themeId, mode: _mode, visible, title, description, children, confirmLabel = 'Confirm', cancelLabel = 'Cancel', confirmColor = 'danger', confirmVariant = 'solid', busy = false, closeOnBackdrop = true, onConfirm, onCancel, testID, interactionPolicy, }) {
7
- return (<Dialog closeOnBackdrop={closeOnBackdrop} description={description} interactionPolicy={interactionPolicy} footer={<Stack direction={{ base: 'column', md: 'row' }} gap="s" justify="flex-end">
7
+ return (<Dialog closeOnBackdrop={closeOnBackdrop} description={description} interactionPolicy={interactionPolicy} footer={<View direction={{ base: 'column', md: 'row' }} gap="s" justify="flex-end">
8
8
  <Button variant="soft" interactionPolicy={interactionPolicy} onPress={onCancel} color="neutral">
9
9
  {cancelLabel}
10
10
  </Button>
11
11
  <Button variant={confirmVariant} loading={busy} interactionPolicy={interactionPolicy} onPress={onConfirm} color={confirmColor}>
12
12
  {confirmLabel}
13
13
  </Button>
14
- </Stack>} onDismiss={onCancel} testID={testID} title={title} visible={visible} width="narrow">
14
+ </View>} onDismiss={onCancel} testID={testID} title={title} visible={visible} width="narrow">
15
15
  {children}
16
16
  </Dialog>);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../src/patterns/confirm-dialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,GAAG,SAAS,EACxB,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,QAAQ,EACvB,cAAc,GAAG,OAAO,EACxB,IAAI,GAAG,KAAK,EACZ,eAAe,GAAG,IAAI,EACtB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,iBAAiB,GACE;IACnB,OAAO,CACL,CAAC,MAAM,CACL,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,MAAM,CAAC,CACL,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CACzE;UAAA,CAAC,MAAM,CACL,OAAO,CAAC,MAAM,CACd,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,KAAK,CAAC,SAAS,CAEf;YAAA,CAAC,WAAW,CACd;UAAA,EAAE,MAAM,CACR;UAAA,CAAC,MAAM,CACL,OAAO,CAAC,CAAC,cAAc,CAAC,CACxB,OAAO,CAAC,CAAC,IAAI,CAAC,CACd,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,SAAS,CAAC,CACnB,KAAK,CAAC,CAAC,YAAY,CAAC,CAEpB;YAAA,CAAC,YAAY,CACf;UAAA,EAAE,MAAM,CACV;QAAA,EAAE,KAAK,CACT,CAAC,CACD,SAAS,CAAC,CAAC,QAAQ,CAAC,CACpB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,QAAQ,CAEd;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Button } from '../../features/button/public';\nimport { Dialog } from '../../features/dialog/public';\nimport { Stack } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ConfirmDialogProps } from './types';\n\nfunction ConfirmDialogInner({\n themeId: _themeId,\n mode: _mode,\n visible,\n title,\n description,\n children,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n confirmColor = 'danger',\n confirmVariant = 'solid',\n busy = false,\n closeOnBackdrop = true,\n onConfirm,\n onCancel,\n testID,\n interactionPolicy,\n}: ConfirmDialogProps) {\n return (\n <Dialog\n closeOnBackdrop={closeOnBackdrop}\n description={description}\n interactionPolicy={interactionPolicy}\n footer={\n <Stack direction={{ base: 'column', md: 'row' }} gap=\"s\" justify=\"flex-end\">\n <Button\n variant=\"soft\"\n interactionPolicy={interactionPolicy}\n onPress={onCancel}\n color=\"neutral\"\n >\n {cancelLabel}\n </Button>\n <Button\n variant={confirmVariant}\n loading={busy}\n interactionPolicy={interactionPolicy}\n onPress={onConfirm}\n color={confirmColor}\n >\n {confirmLabel}\n </Button>\n </Stack>\n }\n onDismiss={onCancel}\n testID={testID}\n title={title}\n visible={visible}\n width=\"narrow\"\n >\n {children}\n </Dialog>\n );\n}\n\n/***\n * Confirmation dialog pattern with cancel/confirm actions.\n *\n \n */\nexport const ConfirmDialog = withZoraThemeScope(ConfirmDialogInner);\n"]}
1
+ {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../../src/patterns/confirm-dialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,kBAAkB,CAAC,EAC1B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,YAAY,GAAG,SAAS,EACxB,WAAW,GAAG,QAAQ,EACtB,YAAY,GAAG,QAAQ,EACvB,cAAc,GAAG,OAAO,EACxB,IAAI,GAAG,KAAK,EACZ,eAAe,GAAG,IAAI,EACtB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,iBAAiB,GACE;IACnB,OAAO,CACL,CAAC,MAAM,CACL,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,MAAM,CAAC,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CACxE;UAAA,CAAC,MAAM,CACL,OAAO,CAAC,MAAM,CACd,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,KAAK,CAAC,SAAS,CAEf;YAAA,CAAC,WAAW,CACd;UAAA,EAAE,MAAM,CACR;UAAA,CAAC,MAAM,CACL,OAAO,CAAC,CAAC,cAAc,CAAC,CACxB,OAAO,CAAC,CAAC,IAAI,CAAC,CACd,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,OAAO,CAAC,CAAC,SAAS,CAAC,CACnB,KAAK,CAAC,CAAC,YAAY,CAAC,CAEpB;YAAA,CAAC,YAAY,CACf;UAAA,EAAE,MAAM,CACV;QAAA,EAAE,IAAI,CACR,CAAC,CACD,SAAS,CAAC,CAAC,QAAQ,CAAC,CACpB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,QAAQ,CAEd;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Button } from '../../features/button/public';\nimport { Dialog } from '../../features/dialog/public';\nimport { View } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ConfirmDialogProps } from './types';\n\nfunction ConfirmDialogInner({\n themeId: _themeId,\n mode: _mode,\n visible,\n title,\n description,\n children,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n confirmColor = 'danger',\n confirmVariant = 'solid',\n busy = false,\n closeOnBackdrop = true,\n onConfirm,\n onCancel,\n testID,\n interactionPolicy,\n}: ConfirmDialogProps) {\n return (\n <Dialog\n closeOnBackdrop={closeOnBackdrop}\n description={description}\n interactionPolicy={interactionPolicy}\n footer={\n <View direction={{ base: 'column', md: 'row' }} gap=\"s\" justify=\"flex-end\">\n <Button\n variant=\"soft\"\n interactionPolicy={interactionPolicy}\n onPress={onCancel}\n color=\"neutral\"\n >\n {cancelLabel}\n </Button>\n <Button\n variant={confirmVariant}\n loading={busy}\n interactionPolicy={interactionPolicy}\n onPress={onConfirm}\n color={confirmColor}\n >\n {confirmLabel}\n </Button>\n </View>\n }\n onDismiss={onCancel}\n testID={testID}\n title={title}\n visible={visible}\n width=\"narrow\"\n >\n {children}\n </Dialog>\n );\n}\n\n/***\n * Confirmation dialog pattern with cancel/confirm actions.\n *\n \n */\nexport const ConfirmDialog = withZoraThemeScope(ConfirmDialogInner);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBar.d.ts","sourceRoot":"","sources":["../../../src/patterns/filter-bar/FilterBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqB9C;;;;GAIG;AACH,eAAO,MAAM,SAAS,sDAAqC,CAAC"}
1
+ {"version":3,"file":"FilterBar.d.ts","sourceRoot":"","sources":["../../../src/patterns/filter-bar/FilterBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqB9C;;;;GAIG;AACH,eAAO,MAAM,SAAS,sDAAqC,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import React from 'react';
2
- import { Box } from '../../features/layout/public';
3
- import { Inline } from '../../foundation';
2
+ import { View } from '../../features/layout/public';
4
3
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
4
  function FilterBarInner({ themeId: _themeId, mode: _mode, interactionPolicy: _interactionPolicy, testID, leading, trailing, children, wrap = true, }) {
6
- return (<Inline align="center" gap="s" testID={testID} wrap={wrap ? 'wrap' : 'nowrap'}>
7
- {leading ? <Box>{leading}</Box> : null}
8
- <Box flex={1}>{children}</Box>
9
- {trailing ? <Box>{trailing}</Box> : null}
10
- </Inline>);
5
+ return (<View direction="row" align="center" gap="s" testID={testID} wrap={wrap ? 'wrap' : 'nowrap'}>
6
+ {leading ? <View>{leading}</View> : null}
7
+ <View flex={1}>{children}</View>
8
+ {trailing ? <View>{trailing}</View> : null}
9
+ </View>);
11
10
  }
12
11
  /***
13
12
  * Horizontal filter/action bar layout with leading/trailing slots.
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBar.js","sourceRoot":"","sources":["../../../src/patterns/filter-bar/FilterBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,cAAc,CAAC,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,IAAI,GACI;IACf,OAAO,CACL,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC5E;MAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACtC;MAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAC7B;MAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1C;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Box } from '../../features/layout/public';\nimport { Inline } from '../../foundation';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { FilterBarProps } from './types';\n\nfunction FilterBarInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n testID,\n leading,\n trailing,\n children,\n wrap = true,\n}: FilterBarProps) {\n return (\n <Inline align=\"center\" gap=\"s\" testID={testID} wrap={wrap ? 'wrap' : 'nowrap'}>\n {leading ? <Box>{leading}</Box> : null}\n <Box flex={1}>{children}</Box>\n {trailing ? <Box>{trailing}</Box> : null}\n </Inline>\n );\n}\n\n/***\n * Horizontal filter/action bar layout with leading/trailing slots.\n *\n \n */\nexport const FilterBar = withZoraThemeScope(FilterBarInner);\n"]}
1
+ {"version":3,"file":"FilterBar.js","sourceRoot":"","sources":["../../../src/patterns/filter-bar/FilterBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,cAAc,CAAC,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,GAAG,IAAI,GACI;IACf,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC1F;MAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACxC;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAC/B;MAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { View } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { FilterBarProps } from './types';\n\nfunction FilterBarInner({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy: _interactionPolicy,\n testID,\n leading,\n trailing,\n children,\n wrap = true,\n}: FilterBarProps) {\n return (\n <View direction=\"row\" align=\"center\" gap=\"s\" testID={testID} wrap={wrap ? 'wrap' : 'nowrap'}>\n {leading ? <View>{leading}</View> : null}\n <View flex={1}>{children}</View>\n {trailing ? <View>{trailing}</View> : null}\n </View>\n );\n}\n\n/***\n * Horizontal filter/action bar layout with leading/trailing slots.\n *\n \n */\nexport const FilterBar = withZoraThemeScope(FilterBarInner);\n"]}
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { FormField } from '../../features/form/public';
3
- import { Box, Stack } from '../../features/layout/public';
3
+ import { View } from '../../features/layout/public';
4
4
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
5
  function InspectorFieldInner({ themeId: _themeId, mode: _mode, label, control, children, interactionPolicy: _interactionPolicy, ...props }) {
6
6
  return (<FormField {...props} label={label}>
7
- <Stack direction="row" gap="s" align="center">
8
- <Box flex={1}>{children}</Box>
9
- {control ? <Box>{control}</Box> : null}
10
- </Stack>
7
+ <View direction="row" gap="s" align="center">
8
+ <View flex={1}>{children}</View>
9
+ {control ? <View>{control}</View> : null}
10
+ </View>
11
11
  </FormField>);
12
12
  }
13
13
  /***
@@ -1 +1 @@
1
- {"version":3,"file":"InspectorField.js","sourceRoot":"","sources":["../../../src/patterns/inspector-field/InspectorField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,OAAO,EACP,QAAQ,EACR,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,KAAK,EACY;IACpB,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACjC;MAAA,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAC3C;QAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAC7B;QAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CACxC;MAAA,EAAE,KAAK,CACT;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { FormField } from '../../features/form/public';\nimport { Box, Stack } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { InspectorFieldProps } from './types';\n\nfunction InspectorFieldInner({\n themeId: _themeId,\n mode: _mode,\n label,\n control,\n children,\n interactionPolicy: _interactionPolicy,\n ...props\n}: InspectorFieldProps) {\n return (\n <FormField {...props} label={label}>\n <Stack direction=\"row\" gap=\"s\" align=\"center\">\n <Box flex={1}>{children}</Box>\n {control ? <Box>{control}</Box> : null}\n </Stack>\n </FormField>\n );\n}\n\n/***\n * Inspector row pattern with label, description, and control slot.\n *\n \n */\nexport const InspectorField = withZoraThemeScope(InspectorFieldInner);\n"]}
1
+ {"version":3,"file":"InspectorField.js","sourceRoot":"","sources":["../../../src/patterns/inspector-field/InspectorField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,SAAS,mBAAmB,CAAC,EAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,KAAK,EACL,OAAO,EACP,QAAQ,EACR,iBAAiB,EAAE,kBAAkB,EACrC,GAAG,KAAK,EACY;IACpB,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACjC;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAC1C;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAC/B;QAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1C;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { FormField } from '../../features/form/public';\nimport { View } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { InspectorFieldProps } from './types';\n\nfunction InspectorFieldInner({\n themeId: _themeId,\n mode: _mode,\n label,\n control,\n children,\n interactionPolicy: _interactionPolicy,\n ...props\n}: InspectorFieldProps) {\n return (\n <FormField {...props} label={label}>\n <View direction=\"row\" gap=\"s\" align=\"center\">\n <View flex={1}>{children}</View>\n {control ? <View>{control}</View> : null}\n </View>\n </FormField>\n );\n}\n\n/***\n * Inspector row pattern with label, description, and control slot.\n *\n \n */\nexport const InspectorField = withZoraThemeScope(InspectorFieldInner);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/patterns/list/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAkB,SAAS,EAAgC,MAAM,SAAS,CAAC;AAiEvF;;;;GAIG;AACH,eAAO,MAAM,IAAI,iDAAgC,CAAC"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/patterns/list/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAkB,SAAS,EAAgC,MAAM,SAAS,CAAC;AAiEvF;;;;GAIG;AACH,eAAO,MAAM,IAAI,iDAAgC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { Divider, Stack } from '../../features/layout/public';
3
- import { Spacer } from '../../foundation';
2
+ import { Divider, View } from '../../features/layout/public';
4
3
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
5
4
  import { ListRow } from './ListRow';
6
5
  import { resolveListSeparator } from './resolveListSeparator';
@@ -11,26 +10,26 @@ function resolveRowCompact({ item, compact, }) {
11
10
  return item.compact ?? compact ?? false;
12
11
  }
13
12
  function ListItemsInner({ themeId: _themeId, mode: _mode, testID, items, rowVariant = 'divider', compact, }) {
14
- return (<Stack gap="none" testID={testID}>
13
+ return (<View gap="none" testID={testID}>
15
14
  {items.map((item, index) => {
16
15
  const effectiveVariant = resolveRowVariant({ item, defaultVariant: rowVariant });
17
16
  const separator = resolveListSeparator(effectiveVariant, index);
18
17
  return (<React.Fragment key={`${index}`}>
19
18
  {separator === 'divider' ? <Divider /> : null}
20
- {separator === 'spacer' ? <Spacer size="s"/> : null}
19
+ {separator === 'spacer' ? <View height="s"/> : null}
21
20
  <ListRow {...item} compact={resolveRowCompact({ item, compact })} variant={effectiveVariant}/>
22
21
  </React.Fragment>);
23
22
  })}
24
- </Stack>);
23
+ </View>);
25
24
  }
26
25
  function ListInner(props) {
27
26
  if ('items' in props) {
28
27
  return <ListItemsInner {...props}/>;
29
28
  }
30
29
  const { themeId: _themeId, mode: _mode, children, testID } = props;
31
- return (<Stack gap="none" testID={testID}>
30
+ return (<View gap="none" testID={testID}>
32
31
  {children}
33
- </Stack>);
32
+ </View>);
34
33
  }
35
34
  /***
36
35
  * List container pattern for composing `ListRow` and `ListSection`.
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/patterns/list/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,cAAc,GAIf;IACC,OAAO,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,OAAO,GAIR;IACC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,EACL,UAAU,GAAG,SAAS,EACtB,OAAO,GACQ;IACf,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC/B;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAEhE,OAAO,CACL,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAC9B;YAAA,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC,IAAI,CAC7C;YAAA,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,IAAI,CACpD;YAAA,CAAC,OAAO,CACN,IAAI,IAAI,CAAC,CACT,OAAO,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAC9C,OAAO,CAAC,CAAC,gBAAgB,CAAC,EAE9B;UAAA,EAAE,KAAK,CAAC,QAAQ,CAAC,CAClB,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnE,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC/B;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Divider, Stack } from '../../features/layout/public';\nimport { Spacer } from '../../foundation';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { ListRow } from './ListRow';\nimport { resolveListSeparator } from './resolveListSeparator';\nimport type { ListItemsProps, ListProps, ListRowProps, ListRowVariant } from './types';\n\nfunction resolveRowVariant({\n item,\n defaultVariant,\n}: {\n item: ListRowProps;\n defaultVariant: ListRowVariant;\n}): ListRowVariant {\n return item.variant ?? defaultVariant;\n}\n\nfunction resolveRowCompact({\n item,\n compact,\n}: {\n item: ListRowProps;\n compact: boolean | undefined;\n}): boolean {\n return item.compact ?? compact ?? false;\n}\n\nfunction ListItemsInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n items,\n rowVariant = 'divider',\n compact,\n}: ListItemsProps) {\n return (\n <Stack gap=\"none\" testID={testID}>\n {items.map((item, index) => {\n const effectiveVariant = resolveRowVariant({ item, defaultVariant: rowVariant });\n const separator = resolveListSeparator(effectiveVariant, index);\n\n return (\n <React.Fragment key={`${index}`}>\n {separator === 'divider' ? <Divider /> : null}\n {separator === 'spacer' ? <Spacer size=\"s\" /> : null}\n <ListRow\n {...item}\n compact={resolveRowCompact({ item, compact })}\n variant={effectiveVariant}\n />\n </React.Fragment>\n );\n })}\n </Stack>\n );\n}\n\nfunction ListInner(props: ListProps) {\n if ('items' in props) {\n return <ListItemsInner {...props} />;\n }\n\n const { themeId: _themeId, mode: _mode, children, testID } = props;\n return (\n <Stack gap=\"none\" testID={testID}>\n {children}\n </Stack>\n );\n}\n\n/***\n * List container pattern for composing `ListRow` and `ListSection`.\n *\n \n */\nexport const List = withZoraThemeScope(ListInner);\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/patterns/list/List.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,cAAc,GAIf;IACC,OAAO,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,OAAO,GAIR;IACC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,EACL,UAAU,GAAG,SAAS,EACtB,OAAO,GACQ;IACf,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC9B;MAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAEhE,OAAO,CACL,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAC9B;YAAA,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC,IAAI,CAC7C;YAAA,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,IAAI,CACpD;YAAA,CAAC,OAAO,CACN,IAAI,IAAI,CAAC,CACT,OAAO,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAC9C,OAAO,CAAC,CAAC,gBAAgB,CAAC,EAE9B;UAAA,EAAE,KAAK,CAAC,QAAQ,CAAC,CAClB,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnE,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC9B;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Divider, View } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { ListRow } from './ListRow';\nimport { resolveListSeparator } from './resolveListSeparator';\nimport type { ListItemsProps, ListProps, ListRowProps, ListRowVariant } from './types';\n\nfunction resolveRowVariant({\n item,\n defaultVariant,\n}: {\n item: ListRowProps;\n defaultVariant: ListRowVariant;\n}): ListRowVariant {\n return item.variant ?? defaultVariant;\n}\n\nfunction resolveRowCompact({\n item,\n compact,\n}: {\n item: ListRowProps;\n compact: boolean | undefined;\n}): boolean {\n return item.compact ?? compact ?? false;\n}\n\nfunction ListItemsInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n items,\n rowVariant = 'divider',\n compact,\n}: ListItemsProps) {\n return (\n <View gap=\"none\" testID={testID}>\n {items.map((item, index) => {\n const effectiveVariant = resolveRowVariant({ item, defaultVariant: rowVariant });\n const separator = resolveListSeparator(effectiveVariant, index);\n\n return (\n <React.Fragment key={`${index}`}>\n {separator === 'divider' ? <Divider /> : null}\n {separator === 'spacer' ? <View height=\"s\" /> : null}\n <ListRow\n {...item}\n compact={resolveRowCompact({ item, compact })}\n variant={effectiveVariant}\n />\n </React.Fragment>\n );\n })}\n </View>\n );\n}\n\nfunction ListInner(props: ListProps) {\n if ('items' in props) {\n return <ListItemsInner {...props} />;\n }\n\n const { themeId: _themeId, mode: _mode, children, testID } = props;\n return (\n <View gap=\"none\" testID={testID}>\n {children}\n </View>\n );\n}\n\n/***\n * List container pattern for composing `ListRow` and `ListSection`.\n *\n \n */\nexport const List = withZoraThemeScope(ListInner);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ListRow.d.ts","sourceRoot":"","sources":["../../../src/patterns/list/ListRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAyL5D;;;;GAIG;AACH,eAAO,MAAM,OAAO,oDAAmC,CAAC"}
1
+ {"version":3,"file":"ListRow.d.ts","sourceRoot":"","sources":["../../../src/patterns/list/ListRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,SAAS,CAAC;AAyL5D;;;;GAIG;AACH,eAAO,MAAM,OAAO,oDAAmC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import { ButtonBase } from '@ankhorage/surface';
2
2
  import React from 'react';
3
- import { Box, Stack } from '../../features/layout/public';
3
+ import { View } from '../../features/layout/public';
4
4
  import { Text } from '../../features/typography/public';
5
- import { Inline, Spacer } from '../../foundation';
6
5
  import { useZoraTheme } from '../../theme/useZoraTheme';
7
6
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
8
7
  function resolvePadding(compact) {
@@ -42,16 +41,16 @@ function ListRowInner({ themeId: _themeId, mode: _mode, testID, title, descripti
42
41
  const { theme } = useZoraTheme();
43
42
  const padding = resolvePadding(compact);
44
43
  const isInteractive = Boolean(onPress) && !action;
45
- const content = (<Stack align="center" direction="row" style={{
44
+ const content = (<View align="center" direction="row" style={{
46
45
  flex: 1,
47
46
  }}>
48
47
  {leading ? (<>
49
- <Box>{leading}</Box>
50
- <Spacer axis="horizontal" size="m"/>
48
+ <View>{leading}</View>
49
+ <View width="m"/>
51
50
  </>) : null}
52
51
 
53
- <Box flex={1}>
54
- <Stack gap="xxs">
52
+ <View flex={1}>
53
+ <View gap="xxs">
55
54
  <Text variant="body" weight={selected ? 'semiBold' : 'medium'}>
56
55
  {title}
57
56
  </Text>
@@ -61,17 +60,17 @@ function ListRowInner({ themeId: _themeId, mode: _mode, testID, title, descripti
61
60
  {meta ? (<Text emphasis="subtle" variant="caption">
62
61
  {meta}
63
62
  </Text>) : null}
64
- </Stack>
65
- </Box>
63
+ </View>
64
+ </View>
66
65
 
67
66
  {trailing || action ? (<>
68
- <Spacer axis="horizontal" size="m"/>
69
- <Inline align="center" gap="s" wrap="nowrap">
67
+ <View width="m"/>
68
+ <View direction="row" align="center" gap="s" wrap="nowrap">
70
69
  {trailing}
71
70
  {action}
72
- </Inline>
71
+ </View>
73
72
  </>) : null}
74
- </Stack>);
73
+ </View>);
75
74
  if (!isInteractive) {
76
75
  const styles = resolveContainerStyles({
77
76
  variant,
@@ -81,11 +80,11 @@ function ListRowInner({ themeId: _themeId, mode: _mode, testID, title, descripti
81
80
  hovered: false,
82
81
  disabled,
83
82
  });
84
- return (<Box bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={styles.radius} testID={testID} style={{
83
+ return (<View bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={styles.radius} testID={testID} style={{
85
84
  opacity: styles.opacity,
86
85
  }}>
87
86
  {content}
88
- </Box>);
87
+ </View>);
89
88
  }
90
89
  return (<ButtonBase accessibilityRole="button" accessibilityState={{ disabled, selected }} disabled={disabled} onPress={onPress} radius={variant === 'card' ? 'l' : 'm'} testID={testID}>
91
90
  {(state) => {
@@ -97,11 +96,11 @@ function ListRowInner({ themeId: _themeId, mode: _mode, testID, title, descripti
97
96
  hovered: state.hovered,
98
97
  disabled: state.disabled,
99
98
  });
100
- return (<Box bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={styles.radius} style={{
99
+ return (<View bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={styles.radius} style={{
101
100
  opacity: styles.opacity,
102
101
  }}>
103
102
  {content}
104
- </Box>);
103
+ </View>);
105
104
  }}
106
105
  </ButtonBase>);
107
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListRow.js","sourceRoot":"","sources":["../../../src/patterns/list/ListRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ButtonBase } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { Box, Stack } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { Inline, Spacer } from '../../foundation';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ListRowProps, ListRowVariant } from './types';\n\nfunction resolvePadding(compact: boolean) {\n return compact ? { px: 'm' as const, py: 's' as const } : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed,\n hovered,\n disabled,\n}: {\n variant: ListRowVariant;\n theme: ReturnType<typeof useZoraTheme>['theme'];\n selected: boolean;\n pressed: boolean;\n hovered: boolean;\n disabled: boolean;\n}) {\n const borderColor = selected ? theme.semantics.border.focus : theme.semantics.border.default;\n const dividerBorderColor = selected ? theme.semantics.border.focus : 'transparent';\n\n if (variant === 'card') {\n return {\n bg: pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.surface.raised,\n borderColor,\n borderWidth: 1,\n radius: 'l' as const,\n opacity: disabled ? 0.72 : 1,\n };\n }\n\n return {\n bg: pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : selected\n ? theme.semantics.neutral.surface\n : 'transparent',\n borderColor: dividerBorderColor,\n borderWidth: selected ? 1 : 0,\n radius: 'm' as const,\n opacity: disabled ? 0.72 : 1,\n };\n}\n\nfunction ListRowInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n title,\n description,\n meta,\n leading,\n trailing,\n action,\n onPress,\n selected = false,\n disabled = false,\n compact = false,\n variant = 'divider',\n}: ListRowProps) {\n const { theme } = useZoraTheme();\n const padding = resolvePadding(compact);\n const isInteractive = Boolean(onPress) && !action;\n\n const content = (\n <Stack\n align=\"center\"\n direction=\"row\"\n style={{\n flex: 1,\n }}\n >\n {leading ? (\n <>\n <Box>{leading}</Box>\n <Spacer axis=\"horizontal\" size=\"m\" />\n </>\n ) : null}\n\n <Box flex={1}>\n <Stack gap=\"xxs\">\n <Text variant=\"body\" weight={selected ? 'semiBold' : 'medium'}>\n {title}\n </Text>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n {meta ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n {meta}\n </Text>\n ) : null}\n </Stack>\n </Box>\n\n {trailing || action ? (\n <>\n <Spacer axis=\"horizontal\" size=\"m\" />\n <Inline align=\"center\" gap=\"s\" wrap=\"nowrap\">\n {trailing}\n {action}\n </Inline>\n </>\n ) : null}\n </Stack>\n );\n\n if (!isInteractive) {\n const styles = resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed: false,\n hovered: false,\n disabled,\n });\n\n return (\n <Box\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius={styles.radius}\n testID={testID}\n style={{\n opacity: styles.opacity,\n }}\n >\n {content}\n </Box>\n );\n }\n\n return (\n <ButtonBase\n accessibilityRole=\"button\"\n accessibilityState={{ disabled, selected }}\n disabled={disabled}\n onPress={onPress}\n radius={variant === 'card' ? 'l' : 'm'}\n testID={testID}\n >\n {(state) => {\n const styles = resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed: state.pressed,\n hovered: state.hovered,\n disabled: state.disabled,\n });\n\n return (\n <Box\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius={styles.radius}\n style={{\n opacity: styles.opacity,\n }}\n >\n {content}\n </Box>\n );\n }}\n </ButtonBase>\n );\n}\n\n/***\n * Row pattern for lists with leading/trailing slots and optional press behavior.\n *\n \n */\nexport const ListRow = withZoraThemeScope(ListRowInner);\n"]}
1
+ {"version":3,"file":"ListRow.js","sourceRoot":"","sources":["../../../src/patterns/list/ListRow.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ButtonBase } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { View } from '../../features/layout/public';\nimport { Text } from '../../features/typography/public';\nimport { useZoraTheme } from '../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport type { ListRowProps, ListRowVariant } from './types';\n\nfunction resolvePadding(compact: boolean) {\n return compact ? { px: 'm' as const, py: 's' as const } : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed,\n hovered,\n disabled,\n}: {\n variant: ListRowVariant;\n theme: ReturnType<typeof useZoraTheme>['theme'];\n selected: boolean;\n pressed: boolean;\n hovered: boolean;\n disabled: boolean;\n}) {\n const borderColor = selected ? theme.semantics.border.focus : theme.semantics.border.default;\n const dividerBorderColor = selected ? theme.semantics.border.focus : 'transparent';\n\n if (variant === 'card') {\n return {\n bg: pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.surface.raised,\n borderColor,\n borderWidth: 1,\n radius: 'l' as const,\n opacity: disabled ? 0.72 : 1,\n };\n }\n\n return {\n bg: pressed\n ? theme.semantics.neutral.surfaceActive\n : hovered\n ? theme.semantics.neutral.surfaceHover\n : selected\n ? theme.semantics.neutral.surface\n : 'transparent',\n borderColor: dividerBorderColor,\n borderWidth: selected ? 1 : 0,\n radius: 'm' as const,\n opacity: disabled ? 0.72 : 1,\n };\n}\n\nfunction ListRowInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n title,\n description,\n meta,\n leading,\n trailing,\n action,\n onPress,\n selected = false,\n disabled = false,\n compact = false,\n variant = 'divider',\n}: ListRowProps) {\n const { theme } = useZoraTheme();\n const padding = resolvePadding(compact);\n const isInteractive = Boolean(onPress) && !action;\n\n const content = (\n <View\n align=\"center\"\n direction=\"row\"\n style={{\n flex: 1,\n }}\n >\n {leading ? (\n <>\n <View>{leading}</View>\n <View width=\"m\" />\n </>\n ) : null}\n\n <View flex={1}>\n <View gap=\"xxs\">\n <Text variant=\"body\" weight={selected ? 'semiBold' : 'medium'}>\n {title}\n </Text>\n {description ? (\n <Text emphasis=\"muted\" variant=\"bodySmall\">\n {description}\n </Text>\n ) : null}\n {meta ? (\n <Text emphasis=\"subtle\" variant=\"caption\">\n {meta}\n </Text>\n ) : null}\n </View>\n </View>\n\n {trailing || action ? (\n <>\n <View width=\"m\" />\n <View direction=\"row\" align=\"center\" gap=\"s\" wrap=\"nowrap\">\n {trailing}\n {action}\n </View>\n </>\n ) : null}\n </View>\n );\n\n if (!isInteractive) {\n const styles = resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed: false,\n hovered: false,\n disabled,\n });\n\n return (\n <View\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius={styles.radius}\n testID={testID}\n style={{\n opacity: styles.opacity,\n }}\n >\n {content}\n </View>\n );\n }\n\n return (\n <ButtonBase\n accessibilityRole=\"button\"\n accessibilityState={{ disabled, selected }}\n disabled={disabled}\n onPress={onPress}\n radius={variant === 'card' ? 'l' : 'm'}\n testID={testID}\n >\n {(state) => {\n const styles = resolveContainerStyles({\n variant,\n theme,\n selected,\n pressed: state.pressed,\n hovered: state.hovered,\n disabled: state.disabled,\n });\n\n return (\n <View\n bg={styles.bg}\n borderColor={styles.borderColor}\n borderWidth={styles.borderWidth}\n px={padding.px}\n py={padding.py}\n radius={styles.radius}\n style={{\n opacity: styles.opacity,\n }}\n >\n {content}\n </View>\n );\n }}\n </ButtonBase>\n );\n}\n\n/***\n * Row pattern for lists with leading/trailing slots and optional press behavior.\n *\n \n */\nexport const ListRow = withZoraThemeScope(ListRowInner);\n"]}
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
- import { Stack } from '../../features/layout/public';
2
+ import { View } from '../../features/layout/public';
3
3
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
4
4
  import { SectionHeader } from '../section-header';
5
5
  import { List } from './List';
6
6
  function ListSectionInner({ themeId: _themeId, mode: _mode, testID, title, description, eyebrow, actions, ...props }) {
7
7
  const hasHeader = title !== undefined;
8
- return (<Stack gap="s" testID={testID}>
8
+ return (<View gap="s" testID={testID}>
9
9
  {hasHeader ? (<SectionHeader actions={actions} description={description} eyebrow={eyebrow} title={title}/>) : null}
10
10
  <List {...props}/>
11
- </Stack>);
11
+ </View>);
12
12
  }
13
13
  /***
14
14
  * Section wrapper for lists with optional title and description.
@@ -1 +1 @@
1
- {"version":3,"file":"ListSection.js","sourceRoot":"","sources":["../../../src/patterns/list/ListSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,SAAS,gBAAgB,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,GAAG,KAAK,EACS;IACjB,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC;IAEtC,OAAO,CACL,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC5B;MAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,CAAC,aAAa,CACZ,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC,CAAC,CAAC,IAAI,CACR;MAAA,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAClB;IAAA,EAAE,KAAK,CAAC,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { Stack } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { SectionHeader } from '../section-header';\nimport { List } from './List';\nimport type { ListSectionProps } from './types';\n\nfunction ListSectionInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n title,\n description,\n eyebrow,\n actions,\n ...props\n}: ListSectionProps) {\n const hasHeader = title !== undefined;\n\n return (\n <Stack gap=\"s\" testID={testID}>\n {hasHeader ? (\n <SectionHeader\n actions={actions}\n description={description}\n eyebrow={eyebrow}\n title={title}\n />\n ) : null}\n <List {...props} />\n </Stack>\n );\n}\n\n/***\n * Section wrapper for lists with optional title and description.\n *\n \n */\nexport const ListSection = withZoraThemeScope(ListSectionInner);\n"]}
1
+ {"version":3,"file":"ListSection.js","sourceRoot":"","sources":["../../../src/patterns/list/ListSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,SAAS,gBAAgB,CAAC,EACxB,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,GAAG,KAAK,EACS;IACjB,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC;IAEtC,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAC3B;MAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CACX,CAAC,aAAa,CACZ,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC,CAAC,CAAC,IAAI,CACR;MAAA,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAClB;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { View } from '../../features/layout/public';\nimport { withZoraThemeScope } from '../../theme/withZoraThemeScope';\nimport { SectionHeader } from '../section-header';\nimport { List } from './List';\nimport type { ListSectionProps } from './types';\n\nfunction ListSectionInner({\n themeId: _themeId,\n mode: _mode,\n testID,\n title,\n description,\n eyebrow,\n actions,\n ...props\n}: ListSectionProps) {\n const hasHeader = title !== undefined;\n\n return (\n <View gap=\"s\" testID={testID}>\n {hasHeader ? (\n <SectionHeader\n actions={actions}\n description={description}\n eyebrow={eyebrow}\n title={title}\n />\n ) : null}\n <List {...props} />\n </View>\n );\n}\n\n/***\n * Section wrapper for lists with optional title and description.\n *\n \n */\nexport const ListSection = withZoraThemeScope(ListSectionInner);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/patterns/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,KAAK,EAGV,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AA6PjB;;;;GAIG;AACH,eAAO,MAAM,aAAa,0DAAyC,CAAC"}
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/patterns/message-bubble/MessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAGV,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAiQjB;;;;GAIG;AACH,eAAO,MAAM,aAAa,0DAAyC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { ButtonBase } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { Avatar } from '../../features/avatar/public';
4
- import { Box, Stack } from '../../features/layout/public';
4
+ import { View } from '../../features/layout/public';
5
5
  import { Text } from '../../features/typography/public';
6
- import { Inline } from '../../foundation';
7
6
  import { useZoraTheme } from '../../theme/useZoraTheme';
8
7
  import { withZoraThemeScope } from '../../theme/withZoraThemeScope';
9
8
  function resolveAvatarName({ avatar, authorName, }) {
@@ -83,16 +82,16 @@ function MessageBubbleInner({ themeId: _themeId, mode: _mode, interactionPolicy,
83
82
  const hasMetaRow = timestamp != null || meta != null || renderedStatus != null;
84
83
  const renderBubble = ({ pressed, hovered }) => {
85
84
  const styles = resolveBubbleStyles({ direction, disabled, hovered, pressed, selected, theme });
86
- return (<Box bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={isSystem ? 'm' : 'l'} style={{ maxWidth: compact ? 420 : 560, opacity: styles.opacity }}>
87
- <Stack align={isSystem ? 'center' : 'flex-start'} gap={compact ? 'xxs' : 'xs'}>
85
+ return (<View bg={styles.bg} borderColor={styles.borderColor} borderWidth={styles.borderWidth} px={padding.px} py={padding.py} radius={isSystem ? 'm' : 'l'} style={{ maxWidth: compact ? 420 : 560, opacity: styles.opacity }}>
86
+ <View align={isSystem ? 'center' : 'flex-start'} gap={compact ? 'xxs' : 'xs'}>
88
87
  {hasAuthorName ? (<Text emphasis="muted" variant="caption" weight="semiBold">
89
88
  {authorName}
90
89
  </Text>) : null}
91
90
  {text != null ? (<Text align={isSystem ? 'center' : undefined} emphasis={disabled ? 'muted' : 'default'}>
92
91
  {text}
93
92
  </Text>) : null}
94
- {children != null ? <Box width="100%">{children}</Box> : null}
95
- {hasMetaRow ? (<Inline align="center" gap="xs" justify={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'} wrap="wrap">
93
+ {children != null ? <View width="100%">{children}</View> : null}
94
+ {hasMetaRow ? (<View direction="row" align="center" gap="xs" justify={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'} wrap="wrap">
96
95
  {timestamp != null ? (<Text emphasis="subtle" variant="caption">
97
96
  {timestamp}
98
97
  </Text>) : null}
@@ -102,26 +101,28 @@ function MessageBubbleInner({ themeId: _themeId, mode: _mode, interactionPolicy,
102
101
  {renderedStatus != null ? (<Text color={status === 'failed' ? 'danger' : undefined} emphasis={status === 'failed' ? 'default' : 'subtle'} variant="caption">
103
102
  {renderedStatus}
104
103
  </Text>) : null}
105
- </Inline>) : null}
106
- </Stack>
107
- </Box>);
104
+ </View>) : null}
105
+ </View>
106
+ </View>);
108
107
  };
109
108
  const bubbleContent = isInteractive ? (<ButtonBase accessibilityLabel={accessibilityLabel} accessibilityRole="button" accessibilityState={{ disabled, selected }} disabled={disabled} interactionPolicy={interactionPolicy} onPress={onPress} radius={isSystem ? 'm' : 'l'} testID={testID}>
110
109
  {(state) => renderBubble({ pressed: state.pressed, hovered: state.hovered })}
111
- </ButtonBase>) : (<Box testID={testID}>{renderBubble({ pressed: false, hovered: false })}</Box>);
112
- return (<Stack gap="xs" style={{ width: '100%' }}>
113
- <Inline align="flex-end" gap="s" justify={isSystem ? 'center' : isOutgoing ? 'flex-end' : 'flex-start'} wrap="nowrap">
114
- {!isOutgoing && !isSystem ? (<Box>
110
+ </ButtonBase>) : (<View testID={testID}>{renderBubble({ pressed: false, hovered: false })}</View>);
111
+ return (<View gap="xs" style={{ width: '100%' }}>
112
+ <View direction="row" align="flex-end" gap="s" justify={isSystem ? 'center' : isOutgoing ? 'flex-end' : 'flex-start'} wrap="nowrap">
113
+ {!isOutgoing && !isSystem ? (<View>
115
114
  {leading ??
116
115
  (hasAvatar ? (<MessageAvatar avatar={authorAvatar} authorName={authorName} compact={compact}/>) : null)}
117
- </Box>) : null}
118
- {isOutgoing && trailing ? <Box>{trailing}</Box> : null}
116
+ </View>) : null}
117
+ {isOutgoing && trailing ? <View>{trailing}</View> : null}
119
118
  {bubbleContent}
120
- {isOutgoing && leading ? <Box>{leading}</Box> : null}
121
- {!isOutgoing && !isSystem && trailing ? <Box>{trailing}</Box> : null}
122
- </Inline>
123
- {footer != null ? (<Box alignSelf={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'}>{footer}</Box>) : null}
124
- </Stack>);
119
+ {isOutgoing && leading ? <View>{leading}</View> : null}
120
+ {!isOutgoing && !isSystem && trailing ? <View>{trailing}</View> : null}
121
+ </View>
122
+ {footer != null ? (<View alignSelf={isOutgoing ? 'flex-end' : isSystem ? 'center' : 'flex-start'}>
123
+ {footer}
124
+ </View>) : null}
125
+ </View>);
125
126
  }
126
127
  /***
127
128
  * Message bubble pattern for chat UIs with direction and status styling.