@ankhorage/zora 19.0.0 → 19.0.1

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 (1285) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -2
  3. package/dist/features/accordion/accordionItemMeta.js +1 -1
  4. package/dist/features/accordion/accordionItemMeta.js.map +1 -1
  5. package/dist/features/accordion/accordionMeta.js.map +1 -1
  6. package/dist/features/accordion/adapters/inbound/Accordion.d.ts.map +1 -1
  7. package/dist/features/accordion/adapters/inbound/Accordion.js +1 -1
  8. package/dist/features/accordion/adapters/inbound/Accordion.js.map +1 -1
  9. package/dist/features/accordion/adapters/inbound/AccordionItem.d.ts.map +1 -1
  10. package/dist/features/accordion/adapters/inbound/AccordionItem.js +1 -1
  11. package/dist/features/accordion/adapters/inbound/AccordionItem.js.map +1 -1
  12. package/dist/features/activity-indicator/activityIndicatorMeta.js.map +1 -1
  13. package/dist/features/activity-indicator/adapters/inbound/ActivityIndicator.d.ts.map +1 -1
  14. package/dist/features/activity-indicator/adapters/inbound/ActivityIndicator.js +2 -2
  15. package/dist/features/activity-indicator/adapters/inbound/ActivityIndicator.js.map +1 -1
  16. package/dist/features/app-bar/adapters/inbound/AppBar.d.ts.map +1 -1
  17. package/dist/features/app-bar/adapters/inbound/AppBar.js +2 -2
  18. package/dist/features/app-bar/adapters/inbound/AppBar.js.map +1 -1
  19. package/dist/features/app-bar/appBarMeta.js.map +1 -1
  20. package/dist/features/auth/adapters/inbound/AuthForm.d.ts +1 -1
  21. package/dist/features/auth/adapters/inbound/AuthForm.d.ts.map +1 -1
  22. package/dist/features/auth/adapters/inbound/AuthForm.js.map +1 -1
  23. package/dist/features/auth/adapters/inbound/AuthFormField.d.ts +1 -1
  24. package/dist/features/auth/adapters/inbound/AuthFormField.d.ts.map +1 -1
  25. package/dist/features/auth/adapters/inbound/AuthFormField.js.map +1 -1
  26. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.d.ts.map +1 -1
  27. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js +1 -1
  28. package/dist/features/auth/adapters/inbound/ForgotPasswordForm.js.map +1 -1
  29. package/dist/features/auth/adapters/inbound/OAuthProviderButton.d.ts.map +1 -1
  30. package/dist/features/auth/adapters/inbound/OAuthProviderButton.js +1 -1
  31. package/dist/features/auth/adapters/inbound/OAuthProviderButton.js.map +1 -1
  32. package/dist/features/auth/adapters/inbound/OAuthProviderList.d.ts.map +1 -1
  33. package/dist/features/auth/adapters/inbound/OAuthProviderList.js +1 -1
  34. package/dist/features/auth/adapters/inbound/OAuthProviderList.js.map +1 -1
  35. package/dist/features/auth/adapters/inbound/OtpForm.d.ts.map +1 -1
  36. package/dist/features/auth/adapters/inbound/OtpForm.js +1 -1
  37. package/dist/features/auth/adapters/inbound/OtpForm.js.map +1 -1
  38. package/dist/features/auth/adapters/inbound/SignInForm.d.ts.map +1 -1
  39. package/dist/features/auth/adapters/inbound/SignInForm.js +1 -1
  40. package/dist/features/auth/adapters/inbound/SignInForm.js.map +1 -1
  41. package/dist/features/auth/adapters/inbound/SignUpForm.d.ts.map +1 -1
  42. package/dist/features/auth/adapters/inbound/SignUpForm.js +1 -1
  43. package/dist/features/auth/adapters/inbound/SignUpForm.js.map +1 -1
  44. package/dist/features/auth/forgotPasswordFormMeta.js.map +1 -1
  45. package/dist/features/auth/oauthProviderButtonMeta.js +1 -1
  46. package/dist/features/auth/oauthProviderButtonMeta.js.map +1 -1
  47. package/dist/features/auth/oauthProviderListMeta.js +1 -1
  48. package/dist/features/auth/oauthProviderListMeta.js.map +1 -1
  49. package/dist/features/auth/otpFormMeta.js.map +1 -1
  50. package/dist/features/auth/signInFormMeta.js.map +1 -1
  51. package/dist/features/auth/signUpFormMeta.js.map +1 -1
  52. package/dist/features/authoring/allowedChildren.d.ts.map +1 -0
  53. package/dist/features/authoring/allowedChildren.js.map +1 -0
  54. package/dist/{metadata → features/authoring}/bindableComponentMeta.d.ts.map +1 -1
  55. package/dist/{metadata → features/authoring}/bindableComponentMeta.js +2 -2
  56. package/dist/features/authoring/bindableComponentMeta.js.map +1 -0
  57. package/dist/features/authoring/componentMeta.d.ts +3 -0
  58. package/dist/features/authoring/componentMeta.d.ts.map +1 -0
  59. package/dist/features/authoring/componentMeta.js +184 -0
  60. package/dist/features/authoring/componentMeta.js.map +1 -0
  61. package/dist/{constants.d.ts → features/authoring/constants.d.ts} +1 -0
  62. package/dist/features/authoring/constants.d.ts.map +1 -0
  63. package/dist/{constants.js → features/authoring/constants.js} +7 -0
  64. package/dist/features/authoring/constants.js.map +1 -0
  65. package/dist/{metadata → features/authoring}/index.d.ts +7 -6
  66. package/dist/features/authoring/index.d.ts.map +1 -0
  67. package/dist/features/authoring/index.js +8 -0
  68. package/dist/features/authoring/index.js.map +1 -0
  69. package/dist/features/authoring/themeRecipeMeta.d.ts +3 -0
  70. package/dist/features/authoring/themeRecipeMeta.d.ts.map +1 -0
  71. package/dist/features/authoring/themeRecipeMeta.js +13 -0
  72. package/dist/features/authoring/themeRecipeMeta.js.map +1 -0
  73. package/dist/{utils → features/authoring/utils}/createManifestBindings.d.ts +1 -1
  74. package/dist/features/authoring/utils/createManifestBindings.d.ts.map +1 -0
  75. package/dist/features/authoring/utils/createManifestBindings.js.map +1 -0
  76. package/dist/{utils → features/authoring/utils}/finalizeFeatureMetadata.d.ts +1 -1
  77. package/dist/features/authoring/utils/finalizeFeatureMetadata.d.ts.map +1 -0
  78. package/dist/features/authoring/utils/finalizeFeatureMetadata.js.map +1 -0
  79. package/dist/features/avatar/adapters/inbound/Avatar.d.ts.map +1 -1
  80. package/dist/features/avatar/adapters/inbound/Avatar.js +2 -2
  81. package/dist/features/avatar/adapters/inbound/Avatar.js.map +1 -1
  82. package/dist/features/avatar/adapters/inbound/AvatarGroup.d.ts.map +1 -1
  83. package/dist/features/avatar/adapters/inbound/AvatarGroup.js +2 -2
  84. package/dist/features/avatar/adapters/inbound/AvatarGroup.js.map +1 -1
  85. package/dist/features/avatar/avatarGroupMeta.js.map +1 -1
  86. package/dist/features/avatar/avatarMeta.js.map +1 -1
  87. package/dist/features/badge/adapters/inbound/Badge.d.ts.map +1 -1
  88. package/dist/features/badge/adapters/inbound/Badge.js +2 -2
  89. package/dist/features/badge/adapters/inbound/Badge.js.map +1 -1
  90. package/dist/features/badge/badgeMeta.js.map +1 -1
  91. package/dist/features/badge/utils/resolveBadgeRecipe.d.ts +10 -0
  92. package/dist/features/badge/utils/resolveBadgeRecipe.d.ts.map +1 -0
  93. package/dist/features/badge/utils/resolveBadgeRecipe.js +4 -0
  94. package/dist/features/badge/utils/resolveBadgeRecipe.js.map +1 -0
  95. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.d.ts.map +1 -1
  96. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js +3 -3
  97. package/dist/features/bottom-sheet/adapters/inbound/BottomSheet.js.map +1 -1
  98. package/dist/features/bottom-sheet/bottomSheetMeta.js +1 -1
  99. package/dist/features/bottom-sheet/bottomSheetMeta.js.map +1 -1
  100. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.d.ts.map +1 -1
  101. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js +3 -3
  102. package/dist/features/breadcrumbs/adapters/inbound/Breadcrumbs.js.map +1 -1
  103. package/dist/features/breadcrumbs/breadcrumbsMeta.js.map +1 -1
  104. package/dist/features/button/adapters/inbound/Button.d.ts.map +1 -1
  105. package/dist/features/button/adapters/inbound/Button.js +2 -2
  106. package/dist/features/button/adapters/inbound/Button.js.map +1 -1
  107. package/dist/features/button/adapters/inbound/ButtonGroup.d.ts.map +1 -1
  108. package/dist/features/button/adapters/inbound/ButtonGroup.js +1 -1
  109. package/dist/features/button/adapters/inbound/ButtonGroup.js.map +1 -1
  110. package/dist/features/button/adapters/inbound/IconButton.d.ts.map +1 -1
  111. package/dist/features/button/adapters/inbound/IconButton.js +2 -2
  112. package/dist/features/button/adapters/inbound/IconButton.js.map +1 -1
  113. package/dist/features/button/buttonGroupMeta.js.map +1 -1
  114. package/dist/features/button/buttonMeta.js +2 -2
  115. package/dist/features/button/buttonMeta.js.map +1 -1
  116. package/dist/features/button/iconButtonMeta.js.map +1 -1
  117. package/dist/features/button/utils/resolveButtonRecipe.d.ts +10 -0
  118. package/dist/features/button/utils/resolveButtonRecipe.d.ts.map +1 -0
  119. package/dist/features/button/utils/resolveButtonRecipe.js +4 -0
  120. package/dist/features/button/utils/resolveButtonRecipe.js.map +1 -0
  121. package/dist/features/button/utils/resolveButtonThemeRecipe.d.ts +4 -2
  122. package/dist/features/button/utils/resolveButtonThemeRecipe.d.ts.map +1 -1
  123. package/dist/features/button/utils/resolveButtonThemeRecipe.js +1 -1
  124. package/dist/features/button/utils/resolveButtonThemeRecipe.js.map +1 -1
  125. package/dist/features/button/utils/themeRecipeMeta.js +1 -1
  126. package/dist/features/button/utils/themeRecipeMeta.js.map +1 -1
  127. package/dist/features/card/adapters/inbound/Card.d.ts.map +1 -1
  128. package/dist/features/card/adapters/inbound/Card.js +3 -3
  129. package/dist/features/card/adapters/inbound/Card.js.map +1 -1
  130. package/dist/features/card/adapters/inbound/MediaCard.d.ts.map +1 -1
  131. package/dist/features/card/adapters/inbound/MediaCard.js +2 -2
  132. package/dist/features/card/adapters/inbound/MediaCard.js.map +1 -1
  133. package/dist/features/card/adapters/inbound/MetricCard.d.ts.map +1 -1
  134. package/dist/features/card/adapters/inbound/MetricCard.js +4 -3
  135. package/dist/features/card/adapters/inbound/MetricCard.js.map +1 -1
  136. package/dist/features/card/adapters/inbound/PostCard.d.ts.map +1 -1
  137. package/dist/features/card/adapters/inbound/PostCard.js +2 -2
  138. package/dist/features/card/adapters/inbound/PostCard.js.map +1 -1
  139. package/dist/features/card/adapters/inbound/ProductCard.d.ts +1 -1
  140. package/dist/features/card/adapters/inbound/ProductCard.d.ts.map +1 -1
  141. package/dist/features/card/adapters/inbound/ProductCard.js +1 -1
  142. package/dist/features/card/adapters/inbound/ProductCard.js.map +1 -1
  143. package/dist/features/card/cardMeta.js +2 -2
  144. package/dist/features/card/cardMeta.js.map +1 -1
  145. package/dist/features/card/mediaCardMeta.js +1 -1
  146. package/dist/features/card/mediaCardMeta.js.map +1 -1
  147. package/dist/features/card/metricCardMeta.js.map +1 -1
  148. package/dist/features/card/postCardMeta.js +1 -1
  149. package/dist/features/card/postCardMeta.js.map +1 -1
  150. package/dist/features/card/productCardMeta.js.map +1 -1
  151. package/dist/features/card/utils/resolveCardThemeRecipe.d.ts +1 -1
  152. package/dist/features/card/utils/resolveCardThemeRecipe.d.ts.map +1 -1
  153. package/dist/features/card/utils/resolveCardThemeRecipe.js.map +1 -1
  154. package/dist/features/card/utils/resolveCardVariant.d.ts +4 -0
  155. package/dist/features/card/utils/resolveCardVariant.d.ts.map +1 -0
  156. package/dist/features/card/utils/resolveCardVariant.js +12 -0
  157. package/dist/features/card/utils/resolveCardVariant.js.map +1 -0
  158. package/dist/features/card/utils/themeRecipeMeta.js.map +1 -1
  159. package/dist/features/chat/adapters/inbound/ChatListItem.d.ts.map +1 -1
  160. package/dist/features/chat/adapters/inbound/ChatListItem.js +2 -2
  161. package/dist/features/chat/adapters/inbound/ChatListItem.js.map +1 -1
  162. package/dist/features/chat/adapters/inbound/MessageBubble.d.ts.map +1 -1
  163. package/dist/features/chat/adapters/inbound/MessageBubble.js +2 -2
  164. package/dist/features/chat/adapters/inbound/MessageBubble.js.map +1 -1
  165. package/dist/features/chat/chatListItemMeta.js.map +1 -1
  166. package/dist/features/chat/messageBubbleMeta.js +1 -1
  167. package/dist/features/chat/messageBubbleMeta.js.map +1 -1
  168. package/dist/features/chip/adapters/inbound/Chip.d.ts.map +1 -1
  169. package/dist/features/chip/adapters/inbound/Chip.js +3 -3
  170. package/dist/features/chip/adapters/inbound/Chip.js.map +1 -1
  171. package/dist/features/chip/adapters/inbound/ChipGroup.d.ts.map +1 -1
  172. package/dist/features/chip/adapters/inbound/ChipGroup.js +1 -1
  173. package/dist/features/chip/adapters/inbound/ChipGroup.js.map +1 -1
  174. package/dist/features/chip/chipGroupMeta.js.map +1 -1
  175. package/dist/features/chip/chipMeta.js.map +1 -1
  176. package/dist/features/chip/utils/resolveChipColors.d.ts +1 -1
  177. package/dist/features/chip/utils/resolveChipColors.d.ts.map +1 -1
  178. package/dist/features/chip/utils/resolveChipColors.js.map +1 -1
  179. package/dist/features/collection-editor/adapters/inbound/CollectionEditor.d.ts.map +1 -1
  180. package/dist/features/collection-editor/adapters/inbound/CollectionEditor.js +1 -1
  181. package/dist/features/collection-editor/adapters/inbound/CollectionEditor.js.map +1 -1
  182. package/dist/features/collection-editor/meta.js.map +1 -1
  183. package/dist/features/content-rail/adapters/inbound/ContentRail.d.ts.map +1 -1
  184. package/dist/features/content-rail/adapters/inbound/ContentRail.js +2 -2
  185. package/dist/features/content-rail/adapters/inbound/ContentRail.js.map +1 -1
  186. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.d.ts.map +1 -1
  187. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.js +1 -1
  188. package/dist/features/content-rail/adapters/inbound/ContentRailFlow.js.map +1 -1
  189. package/dist/features/content-rail/contentRailMeta.js +1 -1
  190. package/dist/features/content-rail/contentRailMeta.js.map +1 -1
  191. package/dist/features/data-table/adapters/inbound/DataTable.d.ts.map +1 -1
  192. package/dist/features/data-table/adapters/inbound/DataTable.js +1 -1
  193. package/dist/features/data-table/adapters/inbound/DataTable.js.map +1 -1
  194. package/dist/features/data-table/dataTableMeta.js.map +1 -1
  195. package/dist/features/date-picker/adapters/inbound/DatePicker.native.d.ts.map +1 -1
  196. package/dist/features/date-picker/adapters/inbound/DatePicker.native.js +1 -1
  197. package/dist/features/date-picker/adapters/inbound/DatePicker.native.js.map +1 -1
  198. package/dist/features/date-picker/adapters/inbound/DatePicker.web.d.ts.map +1 -1
  199. package/dist/features/date-picker/adapters/inbound/DatePicker.web.js +1 -1
  200. package/dist/features/date-picker/adapters/inbound/DatePicker.web.js.map +1 -1
  201. package/dist/features/date-picker/datePickerMeta.js.map +1 -1
  202. package/dist/features/dialog/adapters/inbound/Dialog.d.ts.map +1 -1
  203. package/dist/features/dialog/adapters/inbound/Dialog.js +2 -2
  204. package/dist/features/dialog/adapters/inbound/Dialog.js.map +1 -1
  205. package/dist/features/dialog/dialogMeta.js +1 -1
  206. package/dist/features/dialog/dialogMeta.js.map +1 -1
  207. package/dist/features/dialog/utils/resolveDialogWidth.d.ts +3 -0
  208. package/dist/features/dialog/utils/resolveDialogWidth.d.ts.map +1 -0
  209. package/dist/features/dialog/utils/resolveDialogWidth.js +12 -0
  210. package/dist/features/dialog/utils/resolveDialogWidth.js.map +1 -0
  211. package/dist/features/empty-state/adapters/inbound/EmptyState.d.ts.map +1 -1
  212. package/dist/features/empty-state/adapters/inbound/EmptyState.js +1 -1
  213. package/dist/features/empty-state/adapters/inbound/EmptyState.js.map +1 -1
  214. package/dist/features/empty-state/emptyStateMeta.js.map +1 -1
  215. package/dist/features/form/adapters/inbound/Form.d.ts.map +1 -1
  216. package/dist/features/form/adapters/inbound/Form.js +1 -1
  217. package/dist/features/form/adapters/inbound/Form.js.map +1 -1
  218. package/dist/features/form/adapters/inbound/FormActions.d.ts.map +1 -1
  219. package/dist/features/form/adapters/inbound/FormActions.js +1 -1
  220. package/dist/features/form/adapters/inbound/FormActions.js.map +1 -1
  221. package/dist/features/form/adapters/inbound/FormError.d.ts.map +1 -1
  222. package/dist/features/form/adapters/inbound/FormError.js +2 -2
  223. package/dist/features/form/adapters/inbound/FormError.js.map +1 -1
  224. package/dist/features/form/checkbox/adapters/inbound/Checkbox.d.ts.map +1 -1
  225. package/dist/features/form/checkbox/adapters/inbound/Checkbox.js +1 -1
  226. package/dist/features/form/checkbox/adapters/inbound/Checkbox.js.map +1 -1
  227. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.d.ts.map +1 -1
  228. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js +1 -1
  229. package/dist/features/form/checkbox/adapters/inbound/CheckboxGroup.js.map +1 -1
  230. package/dist/features/form/checkbox/checkboxMeta.js.map +1 -1
  231. package/dist/features/form/field/adapters/inbound/Field.d.ts.map +1 -1
  232. package/dist/features/form/field/adapters/inbound/Field.js +1 -1
  233. package/dist/features/form/field/adapters/inbound/Field.js.map +1 -1
  234. package/dist/features/form/field/meta.js.map +1 -1
  235. package/dist/features/form/formActionsMeta.js.map +1 -1
  236. package/dist/features/form/formErrorMeta.js.map +1 -1
  237. package/dist/features/form/formMeta.js.map +1 -1
  238. package/dist/features/form/radio/adapters/inbound/Radio.d.ts.map +1 -1
  239. package/dist/features/form/radio/adapters/inbound/Radio.js +1 -1
  240. package/dist/features/form/radio/adapters/inbound/Radio.js.map +1 -1
  241. package/dist/features/form/radio/adapters/inbound/RadioGroup.d.ts.map +1 -1
  242. package/dist/features/form/radio/adapters/inbound/RadioGroup.js +2 -2
  243. package/dist/features/form/radio/adapters/inbound/RadioGroup.js.map +1 -1
  244. package/dist/{constants/keyboard.d.ts → features/form/radio/constants.d.ts} +1 -1
  245. package/dist/features/form/radio/constants.d.ts.map +1 -0
  246. package/dist/{constants/keyboard.js → features/form/radio/constants.js} +1 -1
  247. package/dist/features/form/radio/constants.js.map +1 -0
  248. package/dist/features/form/radio/radioMeta.js +1 -1
  249. package/dist/features/form/radio/radioMeta.js.map +1 -1
  250. package/dist/features/form/radio/themeRecipeMeta.js +1 -1
  251. package/dist/features/form/radio/themeRecipeMeta.js.map +1 -1
  252. package/dist/features/form/radio/utils/handleRadioOptionKeyDown.js +1 -1
  253. package/dist/features/form/radio/utils/handleRadioOptionKeyDown.js.map +1 -1
  254. package/dist/features/form/radio/utils/resolveRadioGroupThemeRecipe.d.ts +2 -2
  255. package/dist/features/form/radio/utils/resolveRadioGroupThemeRecipe.d.ts.map +1 -1
  256. package/dist/features/form/radio/utils/resolveRadioGroupThemeRecipe.js.map +1 -1
  257. package/dist/features/form/search-input/adapters/inbound/SearchInput.d.ts.map +1 -1
  258. package/dist/features/form/search-input/adapters/inbound/SearchInput.js +1 -1
  259. package/dist/features/form/search-input/adapters/inbound/SearchInput.js.map +1 -1
  260. package/dist/features/form/search-input/searchInputMeta.js.map +1 -1
  261. package/dist/features/form/select/adapters/inbound/Select.native.d.ts.map +1 -1
  262. package/dist/features/form/select/adapters/inbound/Select.native.js +1 -1
  263. package/dist/features/form/select/adapters/inbound/Select.native.js.map +1 -1
  264. package/dist/features/form/select/adapters/inbound/Select.web.d.ts.map +1 -1
  265. package/dist/features/form/select/adapters/inbound/Select.web.js +1 -1
  266. package/dist/features/form/select/adapters/inbound/Select.web.js.map +1 -1
  267. package/dist/features/form/select/selectMeta.js.map +1 -1
  268. package/dist/features/form/switch/adapters/inbound/Switch.d.ts.map +1 -1
  269. package/dist/features/form/switch/adapters/inbound/Switch.js +1 -1
  270. package/dist/features/form/switch/adapters/inbound/Switch.js.map +1 -1
  271. package/dist/features/form/switch/switchMeta.js.map +1 -1
  272. package/dist/features/form/text-input/adapters/inbound/TextInput.d.ts.map +1 -1
  273. package/dist/features/form/text-input/adapters/inbound/TextInput.js +3 -3
  274. package/dist/features/form/text-input/adapters/inbound/TextInput.js.map +1 -1
  275. package/dist/features/form/text-input/textInputMeta.js.map +1 -1
  276. package/dist/features/gradient/adapters/inbound/Gradient.d.ts.map +1 -1
  277. package/dist/features/gradient/adapters/inbound/Gradient.js +1 -1
  278. package/dist/features/gradient/adapters/inbound/Gradient.js.map +1 -1
  279. package/dist/features/gradient/gradientMeta.js +1 -1
  280. package/dist/features/gradient/gradientMeta.js.map +1 -1
  281. package/dist/features/hero/adapters/inbound/Hero.d.ts.map +1 -1
  282. package/dist/features/hero/adapters/inbound/Hero.js +1 -1
  283. package/dist/features/hero/adapters/inbound/Hero.js.map +1 -1
  284. package/dist/features/hero/heroMeta.js.map +1 -1
  285. package/dist/features/icon/adapters/inbound/Icon.d.ts.map +1 -1
  286. package/dist/features/icon/adapters/inbound/Icon.js +1 -1
  287. package/dist/features/icon/adapters/inbound/Icon.js.map +1 -1
  288. package/dist/features/icon/iconMeta.js.map +1 -1
  289. package/dist/features/icon/utils/resolveIconSize.d.ts +3 -0
  290. package/dist/features/icon/utils/resolveIconSize.d.ts.map +1 -0
  291. package/dist/features/icon/utils/resolveIconSize.js +12 -0
  292. package/dist/features/icon/utils/resolveIconSize.js.map +1 -0
  293. package/dist/features/image/adapters/inbound/Image.d.ts.map +1 -1
  294. package/dist/features/image/adapters/inbound/Image.js +2 -2
  295. package/dist/features/image/adapters/inbound/Image.js.map +1 -1
  296. package/dist/features/image/imageMeta.js.map +1 -1
  297. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.d.ts.map +1 -1
  298. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.js +1 -1
  299. package/dist/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.js.map +1 -1
  300. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js +1 -1
  301. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.js.map +1 -1
  302. package/dist/features/layout/adapters/inbound/AppShell.d.ts.map +1 -1
  303. package/dist/features/layout/adapters/inbound/AppShell.js +1 -1
  304. package/dist/features/layout/adapters/inbound/AppShell.js.map +1 -1
  305. package/dist/features/layout/adapters/inbound/Divider.d.ts.map +1 -1
  306. package/dist/features/layout/adapters/inbound/Divider.js +1 -1
  307. package/dist/features/layout/adapters/inbound/Divider.js.map +1 -1
  308. package/dist/features/layout/adapters/inbound/Grid.d.ts.map +1 -1
  309. package/dist/features/layout/adapters/inbound/Grid.js +1 -1
  310. package/dist/features/layout/adapters/inbound/Grid.js.map +1 -1
  311. package/dist/features/layout/adapters/inbound/Screen.d.ts.map +1 -1
  312. package/dist/features/layout/adapters/inbound/Screen.js +2 -2
  313. package/dist/features/layout/adapters/inbound/Screen.js.map +1 -1
  314. package/dist/features/layout/adapters/inbound/ScrollView.d.ts.map +1 -1
  315. package/dist/features/layout/adapters/inbound/ScrollView.js +1 -1
  316. package/dist/features/layout/adapters/inbound/ScrollView.js.map +1 -1
  317. package/dist/features/layout/adapters/inbound/View.d.ts.map +1 -1
  318. package/dist/features/layout/adapters/inbound/View.js +1 -1
  319. package/dist/features/layout/adapters/inbound/View.js.map +1 -1
  320. package/dist/features/layout/appShellMeta.js.map +1 -1
  321. package/dist/features/layout/constants.js.map +1 -1
  322. package/dist/features/layout/dividerMeta.js.map +1 -1
  323. package/dist/features/layout/gridMeta.js +1 -1
  324. package/dist/features/layout/gridMeta.js.map +1 -1
  325. package/dist/features/layout/screenMeta.js +1 -1
  326. package/dist/features/layout/screenMeta.js.map +1 -1
  327. package/dist/features/layout/scrollViewMeta.js +1 -1
  328. package/dist/features/layout/scrollViewMeta.js.map +1 -1
  329. package/dist/features/layout/utils/resolvePageMaxWidth.d.ts +3 -0
  330. package/dist/features/layout/utils/resolvePageMaxWidth.d.ts.map +1 -0
  331. package/dist/features/layout/utils/resolvePageMaxWidth.js +12 -0
  332. package/dist/features/layout/utils/resolvePageMaxWidth.js.map +1 -0
  333. package/dist/features/layout/viewMeta.js +1 -1
  334. package/dist/features/layout/viewMeta.js.map +1 -1
  335. package/dist/features/list/adapters/inbound/FlatList.d.ts.map +1 -1
  336. package/dist/features/list/adapters/inbound/FlatList.js +1 -1
  337. package/dist/features/list/adapters/inbound/FlatList.js.map +1 -1
  338. package/dist/features/list/adapters/inbound/List.d.ts.map +1 -1
  339. package/dist/features/list/adapters/inbound/List.js +1 -1
  340. package/dist/features/list/adapters/inbound/List.js.map +1 -1
  341. package/dist/features/list/adapters/inbound/ListItem.d.ts.map +1 -1
  342. package/dist/features/list/adapters/inbound/ListItem.js +2 -2
  343. package/dist/features/list/adapters/inbound/ListItem.js.map +1 -1
  344. package/dist/features/list/adapters/inbound/ListSection.d.ts.map +1 -1
  345. package/dist/features/list/adapters/inbound/ListSection.js +1 -1
  346. package/dist/features/list/adapters/inbound/ListSection.js.map +1 -1
  347. package/dist/features/list/adapters/inbound/SectionList.d.ts.map +1 -1
  348. package/dist/features/list/adapters/inbound/SectionList.js +1 -1
  349. package/dist/features/list/adapters/inbound/SectionList.js.map +1 -1
  350. package/dist/features/list/flatListMeta.js +1 -1
  351. package/dist/features/list/flatListMeta.js.map +1 -1
  352. package/dist/features/list/meta.js.map +1 -1
  353. package/dist/features/list/sectionListMeta.js.map +1 -1
  354. package/dist/features/missing-element/adapters/inbound/MissingElement.d.ts.map +1 -1
  355. package/dist/features/missing-element/adapters/inbound/MissingElement.js +2 -2
  356. package/dist/features/missing-element/adapters/inbound/MissingElement.js.map +1 -1
  357. package/dist/features/missing-element/missingElementMeta.js.map +1 -1
  358. package/dist/features/pagination/adapters/inbound/Pagination.d.ts.map +1 -1
  359. package/dist/features/pagination/adapters/inbound/Pagination.js +1 -1
  360. package/dist/features/pagination/adapters/inbound/Pagination.js.map +1 -1
  361. package/dist/features/pagination/paginationMeta.js.map +1 -1
  362. package/dist/features/palette-item/adapters/inbound/PaletteItem.d.ts.map +1 -1
  363. package/dist/features/palette-item/adapters/inbound/PaletteItem.js +2 -2
  364. package/dist/features/palette-item/adapters/inbound/PaletteItem.js.map +1 -1
  365. package/dist/features/palette-item/paletteItemMeta.js.map +1 -1
  366. package/dist/{corePlugin.d.ts → features/plugin/ZORA_CORE_PLUGIN.d.ts} +2 -2
  367. package/dist/features/plugin/ZORA_CORE_PLUGIN.d.ts.map +1 -0
  368. package/dist/{corePlugin.js → features/plugin/ZORA_CORE_PLUGIN.js} +3 -3
  369. package/dist/features/plugin/ZORA_CORE_PLUGIN.js.map +1 -0
  370. package/dist/features/plugin/ZORA_CORE_PLUGIN_METADATA.d.ts +3 -0
  371. package/dist/features/plugin/ZORA_CORE_PLUGIN_METADATA.d.ts.map +1 -0
  372. package/dist/{corePluginMetadata.js → features/plugin/ZORA_CORE_PLUGIN_METADATA.js} +3 -3
  373. package/dist/features/plugin/ZORA_CORE_PLUGIN_METADATA.js.map +1 -0
  374. package/dist/features/plugin/application/use-cases/composeZoraPluginMetadata.d.ts +4 -0
  375. package/dist/features/plugin/application/use-cases/composeZoraPluginMetadata.d.ts.map +1 -0
  376. package/dist/{pluginComposition.js → features/plugin/application/use-cases/composeZoraPluginMetadata.js} +4 -51
  377. package/dist/features/plugin/application/use-cases/composeZoraPluginMetadata.js.map +1 -0
  378. package/dist/features/plugin/application/use-cases/composeZoraPlugins.d.ts +4 -0
  379. package/dist/features/plugin/application/use-cases/composeZoraPlugins.d.ts.map +1 -0
  380. package/dist/features/plugin/application/use-cases/composeZoraPlugins.js +41 -0
  381. package/dist/features/plugin/application/use-cases/composeZoraPlugins.js.map +1 -0
  382. package/dist/features/plugin/domain/ZoraPluginCompositionError.d.ts +14 -0
  383. package/dist/features/plugin/domain/ZoraPluginCompositionError.d.ts.map +1 -0
  384. package/dist/features/plugin/domain/ZoraPluginCompositionError.js +14 -0
  385. package/dist/features/plugin/domain/ZoraPluginCompositionError.js.map +1 -0
  386. package/dist/features/plugin/public.d.ts +4 -0
  387. package/dist/features/plugin/public.d.ts.map +1 -0
  388. package/dist/features/plugin/public.js +4 -0
  389. package/dist/features/plugin/public.js.map +1 -0
  390. package/dist/features/plugin/runtime.d.ts +3 -0
  391. package/dist/features/plugin/runtime.d.ts.map +1 -0
  392. package/dist/features/plugin/runtime.js +3 -0
  393. package/dist/features/plugin/runtime.js.map +1 -0
  394. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.d.ts.map +1 -1
  395. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js +3 -3
  396. package/dist/features/popover-menu/adapters/inbound/PopoverMenu.js.map +1 -1
  397. package/dist/features/popover-menu/popoverMenuMeta.js.map +1 -1
  398. package/dist/features/progress/adapters/inbound/Progress.d.ts.map +1 -1
  399. package/dist/features/progress/adapters/inbound/Progress.js +2 -2
  400. package/dist/features/progress/adapters/inbound/Progress.js.map +1 -1
  401. package/dist/features/progress/adapters/inbound/ProgressRing.d.ts.map +1 -1
  402. package/dist/features/progress/adapters/inbound/ProgressRing.js +2 -2
  403. package/dist/features/progress/adapters/inbound/ProgressRing.js.map +1 -1
  404. package/dist/features/progress/progressMeta.js +1 -1
  405. package/dist/features/progress/progressMeta.js.map +1 -1
  406. package/dist/features/rating/adapters/inbound/Rating.d.ts.map +1 -1
  407. package/dist/features/rating/adapters/inbound/Rating.js +3 -3
  408. package/dist/features/rating/adapters/inbound/Rating.js.map +1 -1
  409. package/dist/features/rating/ratingMeta.js.map +1 -1
  410. package/dist/features/reader/adapters/inbound/ReaderSurface.d.ts.map +1 -1
  411. package/dist/features/reader/adapters/inbound/ReaderSurface.js +2 -2
  412. package/dist/features/reader/adapters/inbound/ReaderSurface.js.map +1 -1
  413. package/dist/features/reader/meta.js +1 -1
  414. package/dist/features/reader/meta.js.map +1 -1
  415. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts +3 -0
  416. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.d.ts.map +1 -0
  417. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js +151 -0
  418. package/dist/features/registry/ZORA_COMPONENT_REGISTRY.js.map +1 -0
  419. package/dist/features/registry/public.d.ts +2 -0
  420. package/dist/features/registry/public.d.ts.map +1 -0
  421. package/dist/features/registry/public.js +2 -0
  422. package/dist/features/registry/public.js.map +1 -0
  423. package/dist/features/scanner/adapters/inbound/BarcodeScannerView.d.ts.map +1 -1
  424. package/dist/features/scanner/adapters/inbound/BarcodeScannerView.js +2 -2
  425. package/dist/features/scanner/adapters/inbound/BarcodeScannerView.js.map +1 -1
  426. package/dist/features/scanner/adapters/inbound/CameraPermissionView.d.ts.map +1 -1
  427. package/dist/features/scanner/adapters/inbound/CameraPermissionView.js +1 -1
  428. package/dist/features/scanner/adapters/inbound/CameraPermissionView.js.map +1 -1
  429. package/dist/features/scanner/adapters/inbound/ScanOverlay.d.ts.map +1 -1
  430. package/dist/features/scanner/adapters/inbound/ScanOverlay.js +2 -2
  431. package/dist/features/scanner/adapters/inbound/ScanOverlay.js.map +1 -1
  432. package/dist/features/scanner/meta.js +1 -1
  433. package/dist/features/scanner/meta.js.map +1 -1
  434. package/dist/features/section/adapters/inbound/ScreenSection.d.ts.map +1 -1
  435. package/dist/features/section/adapters/inbound/ScreenSection.js +1 -1
  436. package/dist/features/section/adapters/inbound/ScreenSection.js.map +1 -1
  437. package/dist/features/section/adapters/inbound/SectionHeader.d.ts.map +1 -1
  438. package/dist/features/section/adapters/inbound/SectionHeader.js +1 -1
  439. package/dist/features/section/adapters/inbound/SectionHeader.js.map +1 -1
  440. package/dist/features/section/screenSectionMeta.js +1 -1
  441. package/dist/features/section/screenSectionMeta.js.map +1 -1
  442. package/dist/features/section/sectionHeaderMeta.js.map +1 -1
  443. package/dist/features/selection/meta.js.map +1 -1
  444. package/dist/features/skeleton/adapters/inbound/Skeleton.d.ts.map +1 -1
  445. package/dist/features/skeleton/adapters/inbound/Skeleton.js +2 -2
  446. package/dist/features/skeleton/adapters/inbound/Skeleton.js.map +1 -1
  447. package/dist/features/skeleton/adapters/inbound/SkeletonCard.d.ts.map +1 -1
  448. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js +1 -1
  449. package/dist/features/skeleton/adapters/inbound/SkeletonCard.js.map +1 -1
  450. package/dist/features/skeleton/adapters/inbound/SkeletonList.d.ts.map +1 -1
  451. package/dist/features/skeleton/adapters/inbound/SkeletonList.js +1 -1
  452. package/dist/features/skeleton/adapters/inbound/SkeletonList.js.map +1 -1
  453. package/dist/features/skeleton/adapters/inbound/SkeletonText.d.ts.map +1 -1
  454. package/dist/features/skeleton/adapters/inbound/SkeletonText.js +1 -1
  455. package/dist/features/skeleton/adapters/inbound/SkeletonText.js.map +1 -1
  456. package/dist/features/skeleton/skeletonMeta.js.map +1 -1
  457. package/dist/features/surface/adapters/inbound/Surface.d.ts.map +1 -1
  458. package/dist/features/surface/adapters/inbound/Surface.js +1 -1
  459. package/dist/features/surface/adapters/inbound/Surface.js.map +1 -1
  460. package/dist/features/surface/surfaceMeta.js +1 -1
  461. package/dist/features/surface/surfaceMeta.js.map +1 -1
  462. package/dist/features/tabs/adapters/inbound/Tab.d.ts.map +1 -1
  463. package/dist/features/tabs/adapters/inbound/Tab.js +1 -1
  464. package/dist/features/tabs/adapters/inbound/Tab.js.map +1 -1
  465. package/dist/features/tabs/adapters/inbound/TabList.d.ts.map +1 -1
  466. package/dist/features/tabs/adapters/inbound/TabList.js +1 -1
  467. package/dist/features/tabs/adapters/inbound/TabList.js.map +1 -1
  468. package/dist/features/tabs/adapters/inbound/TabPanel.d.ts.map +1 -1
  469. package/dist/features/tabs/adapters/inbound/TabPanel.js +1 -1
  470. package/dist/features/tabs/adapters/inbound/TabPanel.js.map +1 -1
  471. package/dist/features/tabs/adapters/inbound/Tabs.d.ts.map +1 -1
  472. package/dist/features/tabs/adapters/inbound/Tabs.js +1 -1
  473. package/dist/features/tabs/adapters/inbound/Tabs.js.map +1 -1
  474. package/dist/features/tabs/tabListMeta.js.map +1 -1
  475. package/dist/features/tabs/tabMeta.js.map +1 -1
  476. package/dist/features/tabs/tabPanelMeta.js +1 -1
  477. package/dist/features/tabs/tabPanelMeta.js.map +1 -1
  478. package/dist/features/tabs/tabsMeta.js.map +1 -1
  479. package/dist/features/theme/ThemeModeToggle.meta.d.ts.map +1 -0
  480. package/dist/features/theme/ThemeModeToggle.meta.js.map +1 -0
  481. package/dist/{theme → features/theme/adapters/inbound}/ThemeModeToggle.d.ts +1 -1
  482. package/dist/features/theme/adapters/inbound/ThemeModeToggle.d.ts.map +1 -0
  483. package/dist/{theme → features/theme/adapters/inbound}/ThemeModeToggle.js +3 -3
  484. package/dist/features/theme/adapters/inbound/ThemeModeToggle.js.map +1 -0
  485. package/dist/{theme → features/theme/adapters/inbound}/ZoraProvider.d.ts +2 -2
  486. package/dist/features/theme/adapters/inbound/ZoraProvider.d.ts.map +1 -0
  487. package/dist/{theme → features/theme/adapters/inbound}/ZoraProvider.js +4 -4
  488. package/dist/features/theme/adapters/inbound/ZoraProvider.js.map +1 -0
  489. package/dist/{theme → features/theme/adapters/inbound}/ZoraThemeScope.d.ts +2 -2
  490. package/dist/features/theme/adapters/inbound/ZoraThemeScope.d.ts.map +1 -0
  491. package/dist/features/theme/adapters/inbound/ZoraThemeScope.js +24 -0
  492. package/dist/features/theme/adapters/inbound/ZoraThemeScope.js.map +1 -0
  493. package/dist/{theme → features/theme/adapters/inbound}/withZoraThemeScope.d.ts +1 -1
  494. package/dist/features/theme/adapters/inbound/withZoraThemeScope.d.ts.map +1 -0
  495. package/dist/features/theme/adapters/inbound/withZoraThemeScope.js.map +1 -0
  496. package/dist/{theme → features/theme/application/use-cases}/compileZoraTheme.d.ts +1 -1
  497. package/dist/features/theme/application/use-cases/compileZoraTheme.d.ts.map +1 -0
  498. package/dist/{theme → features/theme/application/use-cases}/compileZoraTheme.js +2 -1
  499. package/dist/features/theme/application/use-cases/compileZoraTheme.js.map +1 -0
  500. package/dist/{theme → features/theme/application/use-cases}/createZoraThemeConfig.d.ts +1 -1
  501. package/dist/features/theme/application/use-cases/createZoraThemeConfig.d.ts.map +1 -0
  502. package/dist/{theme → features/theme/application/use-cases}/createZoraThemeConfig.js +1 -1
  503. package/dist/features/theme/application/use-cases/createZoraThemeConfig.js.map +1 -0
  504. package/dist/{internal → features/theme}/colorModel.d.ts +1 -5
  505. package/dist/features/theme/colorModel.d.ts.map +1 -0
  506. package/dist/features/theme/colorModel.js +6 -0
  507. package/dist/features/theme/colorModel.js.map +1 -0
  508. package/dist/features/theme/composition/ZoraRuntimeCapabilities.d.ts.map +1 -0
  509. package/dist/features/theme/composition/ZoraRuntimeCapabilities.js.map +1 -0
  510. package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.native.d.ts +1 -1
  511. package/dist/features/theme/composition/ZoraRuntimeCapabilities.native.d.ts.map +1 -0
  512. package/dist/features/theme/composition/ZoraRuntimeCapabilities.native.js.map +1 -0
  513. package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.web.d.ts +1 -1
  514. package/dist/features/theme/composition/ZoraRuntimeCapabilities.web.d.ts.map +1 -0
  515. package/dist/features/theme/composition/ZoraRuntimeCapabilities.web.js.map +1 -0
  516. package/dist/{theme → features/theme/composition}/ZoraThemeRuntimeContext.d.ts +1 -1
  517. package/dist/features/theme/composition/ZoraThemeRuntimeContext.d.ts.map +1 -0
  518. package/dist/{theme → features/theme/composition}/ZoraThemeRuntimeContext.js +1 -1
  519. package/dist/features/theme/composition/ZoraThemeRuntimeContext.js.map +1 -0
  520. package/dist/features/theme/composition/useZoraTheme.d.ts +2 -0
  521. package/dist/features/theme/composition/useZoraTheme.d.ts.map +1 -0
  522. package/dist/features/theme/composition/useZoraTheme.js.map +1 -0
  523. package/dist/features/theme/composition/useZoraThemeRecipe.d.ts.map +1 -0
  524. package/dist/{theme → features/theme/composition}/useZoraThemeRecipe.js +1 -1
  525. package/dist/features/theme/composition/useZoraThemeRecipe.js.map +1 -0
  526. package/dist/{theme → features/theme}/public.d.ts +3 -3
  527. package/dist/features/theme/public.d.ts.map +1 -0
  528. package/dist/features/theme/public.js +4 -0
  529. package/dist/features/theme/public.js.map +1 -0
  530. package/dist/features/theme/runtime.d.ts +10 -0
  531. package/dist/features/theme/runtime.d.ts.map +1 -0
  532. package/dist/features/theme/runtime.js +6 -0
  533. package/dist/features/theme/runtime.js.map +1 -0
  534. package/dist/{theme → features/theme/utils}/resolveThemeModeToggleState.d.ts +1 -1
  535. package/dist/features/theme/utils/resolveThemeModeToggleState.d.ts.map +1 -0
  536. package/dist/features/theme/utils/resolveThemeModeToggleState.js.map +1 -0
  537. package/dist/{theme → features/theme/utils}/resolveZoraScopedThemeId.d.ts +1 -1
  538. package/dist/features/theme/utils/resolveZoraScopedThemeId.d.ts.map +1 -0
  539. package/dist/features/theme/utils/resolveZoraScopedThemeId.js.map +1 -0
  540. package/dist/features/theme/utils/resolveZoraThemeRecipe.d.ts.map +1 -0
  541. package/dist/{theme → features/theme/utils}/resolveZoraThemeRecipe.js +1 -1
  542. package/dist/features/theme/utils/resolveZoraThemeRecipe.js.map +1 -0
  543. package/dist/features/theme/zoraDefaultTheme.d.ts +3 -0
  544. package/dist/features/theme/zoraDefaultTheme.d.ts.map +1 -0
  545. package/dist/features/theme/zoraDefaultTheme.js.map +1 -0
  546. package/dist/features/time-picker/adapters/inbound/TimePicker.native.d.ts.map +1 -1
  547. package/dist/features/time-picker/adapters/inbound/TimePicker.native.js +1 -1
  548. package/dist/features/time-picker/adapters/inbound/TimePicker.native.js.map +1 -1
  549. package/dist/features/time-picker/adapters/inbound/TimePicker.web.d.ts.map +1 -1
  550. package/dist/features/time-picker/adapters/inbound/TimePicker.web.js +1 -1
  551. package/dist/features/time-picker/adapters/inbound/TimePicker.web.js.map +1 -1
  552. package/dist/features/time-picker/timePickerMeta.js.map +1 -1
  553. package/dist/features/timeline/adapters/inbound/Timeline.d.ts.map +1 -1
  554. package/dist/features/timeline/adapters/inbound/Timeline.js +3 -3
  555. package/dist/features/timeline/adapters/inbound/Timeline.js.map +1 -1
  556. package/dist/features/timeline/meta.js.map +1 -1
  557. package/dist/features/toast/adapters/inbound/Toast.d.ts.map +1 -1
  558. package/dist/features/toast/adapters/inbound/Toast.js +1 -1
  559. package/dist/features/toast/adapters/inbound/Toast.js.map +1 -1
  560. package/dist/features/toast/toastMeta.js.map +1 -1
  561. package/dist/features/toast/toastProviderMeta.js.map +1 -1
  562. package/dist/features/toolbar/adapters/inbound/Toolbar.d.ts.map +1 -1
  563. package/dist/features/toolbar/adapters/inbound/Toolbar.js +1 -1
  564. package/dist/features/toolbar/adapters/inbound/Toolbar.js.map +1 -1
  565. package/dist/features/toolbar/toolbarMeta.js.map +1 -1
  566. package/dist/features/tree-view/adapters/inbound/TreeItem.d.ts +1 -1
  567. package/dist/features/tree-view/adapters/inbound/TreeItem.d.ts.map +1 -1
  568. package/dist/features/tree-view/adapters/inbound/TreeItem.js +1 -1
  569. package/dist/features/tree-view/adapters/inbound/TreeItem.js.map +1 -1
  570. package/dist/features/tree-view/adapters/inbound/TreeView.d.ts.map +1 -1
  571. package/dist/features/tree-view/adapters/inbound/TreeView.js +1 -1
  572. package/dist/features/tree-view/adapters/inbound/TreeView.js.map +1 -1
  573. package/dist/features/tree-view/meta.js.map +1 -1
  574. package/dist/features/typography/adapters/inbound/Heading.d.ts.map +1 -1
  575. package/dist/features/typography/adapters/inbound/Heading.js +3 -3
  576. package/dist/features/typography/adapters/inbound/Heading.js.map +1 -1
  577. package/dist/features/typography/adapters/inbound/Text.d.ts.map +1 -1
  578. package/dist/features/typography/adapters/inbound/Text.js +3 -3
  579. package/dist/features/typography/adapters/inbound/Text.js.map +1 -1
  580. package/dist/features/typography/headingMeta.js +2 -2
  581. package/dist/features/typography/headingMeta.js.map +1 -1
  582. package/dist/features/typography/textMeta.js +2 -2
  583. package/dist/features/typography/textMeta.js.map +1 -1
  584. package/dist/features/typography/utils/headingThemeRecipeMeta.js +1 -1
  585. package/dist/features/typography/utils/headingThemeRecipeMeta.js.map +1 -1
  586. package/dist/features/typography/utils/resolveHeadingThemeRecipe.d.ts +1 -1
  587. package/dist/features/typography/utils/resolveTextThemeRecipe.d.ts +1 -1
  588. package/dist/features/typography/utils/textThemeRecipeMeta.js +1 -1
  589. package/dist/features/typography/utils/textThemeRecipeMeta.js.map +1 -1
  590. package/dist/features/uploader/adapters/inbound/Uploader.d.ts.map +1 -1
  591. package/dist/features/uploader/adapters/inbound/Uploader.js +1 -1
  592. package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
  593. package/dist/features/uploader/uploaderMeta.js.map +1 -1
  594. package/dist/index.d.ts +11 -11
  595. package/dist/index.d.ts.map +1 -1
  596. package/dist/index.js +7 -7
  597. package/dist/index.js.map +1 -1
  598. package/dist/types/accordion.d.ts +1 -1
  599. package/dist/types/accordion.d.ts.map +1 -1
  600. package/dist/types/accordion.js.map +1 -1
  601. package/dist/types/activity-indicator.d.ts +1 -1
  602. package/dist/types/activity-indicator.d.ts.map +1 -1
  603. package/dist/types/activity-indicator.js.map +1 -1
  604. package/dist/types/app-bar.d.ts +1 -1
  605. package/dist/types/app-bar.d.ts.map +1 -1
  606. package/dist/types/app-bar.js.map +1 -1
  607. package/dist/types/auth.d.ts +1 -1
  608. package/dist/types/auth.d.ts.map +1 -1
  609. package/dist/types/auth.js.map +1 -1
  610. package/dist/{metadata/types.d.ts → types/authoring.d.ts} +1 -1
  611. package/dist/types/authoring.d.ts.map +1 -0
  612. package/dist/types/authoring.js +2 -0
  613. package/dist/types/authoring.js.map +1 -0
  614. package/dist/types/avatar-group.d.ts +2 -2
  615. package/dist/types/avatar-group.d.ts.map +1 -1
  616. package/dist/types/avatar-group.js.map +1 -1
  617. package/dist/types/avatar.d.ts +2 -2
  618. package/dist/types/avatar.d.ts.map +1 -1
  619. package/dist/types/avatar.js.map +1 -1
  620. package/dist/types/badge.d.ts +4 -2
  621. package/dist/types/badge.d.ts.map +1 -1
  622. package/dist/types/badge.js.map +1 -1
  623. package/dist/{theme/ZoraBaseProps.d.ts → types/base.d.ts} +2 -2
  624. package/dist/types/base.d.ts.map +1 -0
  625. package/dist/types/base.js +2 -0
  626. package/dist/types/base.js.map +1 -0
  627. package/dist/types/breadcrumbs.d.ts +1 -1
  628. package/dist/types/breadcrumbs.d.ts.map +1 -1
  629. package/dist/types/breadcrumbs.js.map +1 -1
  630. package/dist/types/button-group.d.ts +1 -1
  631. package/dist/types/button-group.d.ts.map +1 -1
  632. package/dist/types/button-group.js.map +1 -1
  633. package/dist/types/button.d.ts +4 -2
  634. package/dist/types/button.d.ts.map +1 -1
  635. package/dist/types/button.js.map +1 -1
  636. package/dist/types/card.d.ts +2 -2
  637. package/dist/types/card.d.ts.map +1 -1
  638. package/dist/types/card.js.map +1 -1
  639. package/dist/types/chat.d.ts +2 -2
  640. package/dist/types/chat.d.ts.map +1 -1
  641. package/dist/types/chat.js.map +1 -1
  642. package/dist/types/checkbox.d.ts +1 -1
  643. package/dist/types/checkbox.d.ts.map +1 -1
  644. package/dist/types/checkbox.js.map +1 -1
  645. package/dist/types/chip-group.d.ts +3 -2
  646. package/dist/types/chip-group.d.ts.map +1 -1
  647. package/dist/types/chip-group.js.map +1 -1
  648. package/dist/types/chip.d.ts +3 -2
  649. package/dist/types/chip.d.ts.map +1 -1
  650. package/dist/types/chip.js.map +1 -1
  651. package/dist/types/collection-editor.d.ts +1 -1
  652. package/dist/types/collection-editor.d.ts.map +1 -1
  653. package/dist/types/collection-editor.js.map +1 -1
  654. package/dist/types/content-rail.d.ts +1 -1
  655. package/dist/types/content-rail.d.ts.map +1 -1
  656. package/dist/types/content-rail.js.map +1 -1
  657. package/dist/types/control.d.ts +3 -0
  658. package/dist/types/control.d.ts.map +1 -0
  659. package/dist/types/control.js +2 -0
  660. package/dist/types/control.js.map +1 -0
  661. package/dist/types/data-table.d.ts +1 -1
  662. package/dist/types/data-table.d.ts.map +1 -1
  663. package/dist/types/data-table.js.map +1 -1
  664. package/dist/types/date-picker.d.ts +1 -1
  665. package/dist/types/date-picker.d.ts.map +1 -1
  666. package/dist/types/date-picker.js.map +1 -1
  667. package/dist/types/dialog.d.ts +2 -2
  668. package/dist/types/dialog.d.ts.map +1 -1
  669. package/dist/types/dialog.js.map +1 -1
  670. package/dist/types/empty-state.d.ts +3 -2
  671. package/dist/types/empty-state.d.ts.map +1 -1
  672. package/dist/types/empty-state.js.map +1 -1
  673. package/dist/types/form.d.ts +1 -1
  674. package/dist/types/form.d.ts.map +1 -1
  675. package/dist/types/form.js.map +1 -1
  676. package/dist/types/gradient.d.ts +1 -1
  677. package/dist/types/gradient.d.ts.map +1 -1
  678. package/dist/types/gradient.js.map +1 -1
  679. package/dist/types/heading.d.ts +2 -2
  680. package/dist/types/heading.d.ts.map +1 -1
  681. package/dist/types/heading.js.map +1 -1
  682. package/dist/types/hero.d.ts +3 -2
  683. package/dist/types/hero.d.ts.map +1 -1
  684. package/dist/types/hero.js.map +1 -1
  685. package/dist/types/icon-button.d.ts +4 -2
  686. package/dist/types/icon-button.d.ts.map +1 -1
  687. package/dist/types/icon-button.js.map +1 -1
  688. package/dist/types/icon.d.ts +1 -1
  689. package/dist/types/icon.d.ts.map +1 -1
  690. package/dist/types/icon.js.map +1 -1
  691. package/dist/types/image.d.ts +1 -1
  692. package/dist/types/image.d.ts.map +1 -1
  693. package/dist/types/image.js.map +1 -1
  694. package/dist/types/keyboard-avoiding-view.d.ts +1 -1
  695. package/dist/types/keyboard-avoiding-view.d.ts.map +1 -1
  696. package/dist/types/keyboard-avoiding-view.js.map +1 -1
  697. package/dist/types/layout.d.ts +2 -2
  698. package/dist/types/layout.d.ts.map +1 -1
  699. package/dist/types/layout.js.map +1 -1
  700. package/dist/types/list.d.ts +1 -1
  701. package/dist/types/list.d.ts.map +1 -1
  702. package/dist/types/list.js.map +1 -1
  703. package/dist/types/manifest-bottom-sheet.d.ts +1 -1
  704. package/dist/types/manifest-bottom-sheet.d.ts.map +1 -1
  705. package/dist/types/manifest-bottom-sheet.js.map +1 -1
  706. package/dist/types/manifest-list.d.ts +1 -1
  707. package/dist/types/manifest-list.d.ts.map +1 -1
  708. package/dist/types/manifest-list.js.map +1 -1
  709. package/dist/types/media-card.d.ts +2 -2
  710. package/dist/types/media-card.d.ts.map +1 -1
  711. package/dist/types/media-card.js.map +1 -1
  712. package/dist/types/metric-card.d.ts +3 -2
  713. package/dist/types/metric-card.d.ts.map +1 -1
  714. package/dist/types/metric-card.js.map +1 -1
  715. package/dist/types/missing-element.d.ts +1 -1
  716. package/dist/types/missing-element.d.ts.map +1 -1
  717. package/dist/types/missing-element.js.map +1 -1
  718. package/dist/types/pagination.d.ts +1 -1
  719. package/dist/types/pagination.d.ts.map +1 -1
  720. package/dist/types/pagination.js.map +1 -1
  721. package/dist/types/palette-item.d.ts +1 -1
  722. package/dist/types/palette-item.d.ts.map +1 -1
  723. package/dist/types/palette-item.js.map +1 -1
  724. package/dist/{pluginComposition.d.ts → types/plugin.d.ts} +2 -18
  725. package/dist/types/plugin.d.ts.map +1 -0
  726. package/dist/types/plugin.js +2 -0
  727. package/dist/types/plugin.js.map +1 -0
  728. package/dist/types/popover-menu.d.ts +1 -1
  729. package/dist/types/popover-menu.d.ts.map +1 -1
  730. package/dist/types/popover-menu.js.map +1 -1
  731. package/dist/types/post-card.d.ts +3 -2
  732. package/dist/types/post-card.d.ts.map +1 -1
  733. package/dist/types/post-card.js.map +1 -1
  734. package/dist/types/product-card.d.ts +1 -1
  735. package/dist/types/product-card.d.ts.map +1 -1
  736. package/dist/types/product-card.js.map +1 -1
  737. package/dist/types/progress.d.ts +3 -2
  738. package/dist/types/progress.d.ts.map +1 -1
  739. package/dist/types/progress.js.map +1 -1
  740. package/dist/types/provider.d.ts +1 -1
  741. package/dist/types/provider.d.ts.map +1 -1
  742. package/dist/types/provider.js.map +1 -1
  743. package/dist/types/radio.d.ts +1 -1
  744. package/dist/types/radio.d.ts.map +1 -1
  745. package/dist/types/radio.js.map +1 -1
  746. package/dist/types/rating.d.ts +3 -2
  747. package/dist/types/rating.d.ts.map +1 -1
  748. package/dist/types/rating.js.map +1 -1
  749. package/dist/types/reader.d.ts +1 -1
  750. package/dist/types/reader.d.ts.map +1 -1
  751. package/dist/types/reader.js.map +1 -1
  752. package/dist/{registry.d.ts → types/registry.d.ts} +0 -1
  753. package/dist/types/registry.d.ts.map +1 -0
  754. package/dist/types/registry.js +2 -0
  755. package/dist/types/registry.js.map +1 -0
  756. package/dist/types/scanner.d.ts +1 -1
  757. package/dist/types/scanner.d.ts.map +1 -1
  758. package/dist/types/scanner.js.map +1 -1
  759. package/dist/types/search-input.d.ts +2 -2
  760. package/dist/types/search-input.d.ts.map +1 -1
  761. package/dist/types/search-input.js.map +1 -1
  762. package/dist/types/section.d.ts +1 -1
  763. package/dist/types/section.d.ts.map +1 -1
  764. package/dist/types/section.js.map +1 -1
  765. package/dist/types/select.d.ts +1 -1
  766. package/dist/types/select.d.ts.map +1 -1
  767. package/dist/types/select.js.map +1 -1
  768. package/dist/types/skeleton.d.ts +1 -1
  769. package/dist/types/skeleton.d.ts.map +1 -1
  770. package/dist/types/skeleton.js.map +1 -1
  771. package/dist/types/surface.d.ts +1 -1
  772. package/dist/types/surface.d.ts.map +1 -1
  773. package/dist/types/surface.js.map +1 -1
  774. package/dist/types/switch.d.ts +1 -1
  775. package/dist/types/switch.d.ts.map +1 -1
  776. package/dist/types/switch.js.map +1 -1
  777. package/dist/types/tabs.d.ts +1 -1
  778. package/dist/types/tabs.d.ts.map +1 -1
  779. package/dist/types/tabs.js.map +1 -1
  780. package/dist/types/text-input.d.ts +2 -2
  781. package/dist/types/text-input.d.ts.map +1 -1
  782. package/dist/types/text-input.js.map +1 -1
  783. package/dist/types/text.d.ts +2 -2
  784. package/dist/types/text.d.ts.map +1 -1
  785. package/dist/types/text.js.map +1 -1
  786. package/dist/{theme/ThemeModeToggleProps.d.ts → types/theme-mode-toggle.d.ts} +1 -1
  787. package/dist/types/theme-mode-toggle.d.ts.map +1 -0
  788. package/dist/types/theme-mode-toggle.js +2 -0
  789. package/dist/types/theme-mode-toggle.js.map +1 -0
  790. package/dist/{metadata/themeRecipeTypes.d.ts → types/theme-recipe.d.ts} +2 -3
  791. package/dist/types/theme-recipe.d.ts.map +1 -0
  792. package/dist/types/theme-recipe.js +2 -0
  793. package/dist/types/theme-recipe.js.map +1 -0
  794. package/dist/{theme/types.d.ts → types/theme.d.ts} +6 -1
  795. package/dist/types/theme.d.ts.map +1 -0
  796. package/dist/types/theme.js +2 -0
  797. package/dist/types/theme.js.map +1 -0
  798. package/dist/types/time-picker.d.ts +1 -1
  799. package/dist/types/time-picker.d.ts.map +1 -1
  800. package/dist/types/time-picker.js.map +1 -1
  801. package/dist/types/timeline.d.ts +2 -2
  802. package/dist/types/timeline.d.ts.map +1 -1
  803. package/dist/types/timeline.js.map +1 -1
  804. package/dist/types/toast.d.ts +1 -1
  805. package/dist/types/toast.d.ts.map +1 -1
  806. package/dist/types/toast.js.map +1 -1
  807. package/dist/types/toolbar.d.ts +1 -1
  808. package/dist/types/toolbar.d.ts.map +1 -1
  809. package/dist/types/toolbar.js.map +1 -1
  810. package/dist/types/tree-view.d.ts +1 -1
  811. package/dist/types/tree-view.d.ts.map +1 -1
  812. package/dist/types/tree-view.js.map +1 -1
  813. package/dist/types/upload.d.ts +1 -1
  814. package/dist/types/upload.d.ts.map +1 -1
  815. package/dist/types/upload.js.map +1 -1
  816. package/package.json +14 -14
  817. package/src/audit.test.ts +1 -1
  818. package/src/features/accordion/accordionItemMeta.ts +2 -2
  819. package/src/features/accordion/accordionMeta.ts +1 -1
  820. package/src/features/accordion/adapters/inbound/Accordion.tsx +1 -1
  821. package/src/features/accordion/adapters/inbound/AccordionItem.tsx +1 -1
  822. package/src/features/activity-indicator/activityIndicatorMeta.ts +1 -1
  823. package/src/features/activity-indicator/adapters/inbound/ActivityIndicator.tsx +2 -2
  824. package/src/features/app-bar/adapters/inbound/AppBar.tsx +2 -2
  825. package/src/features/app-bar/appBarMeta.ts +1 -1
  826. package/src/features/auth/adapters/inbound/AuthForm.tsx +1 -1
  827. package/src/features/auth/adapters/inbound/AuthFormField.tsx +1 -1
  828. package/src/features/auth/adapters/inbound/ForgotPasswordForm.tsx +1 -1
  829. package/src/features/auth/adapters/inbound/OAuthProviderButton.tsx +1 -1
  830. package/src/features/auth/adapters/inbound/OAuthProviderList.tsx +1 -1
  831. package/src/features/auth/adapters/inbound/OtpForm.tsx +1 -1
  832. package/src/features/auth/adapters/inbound/SignInForm.tsx +1 -1
  833. package/src/features/auth/adapters/inbound/SignUpForm.tsx +1 -1
  834. package/src/features/auth/forgotPasswordFormMeta.ts +1 -1
  835. package/src/features/auth/oauthProviderButtonMeta.ts +2 -2
  836. package/src/features/auth/oauthProviderListMeta.ts +2 -2
  837. package/src/features/auth/otpFormMeta.ts +1 -1
  838. package/src/features/auth/public.test.ts +1 -1
  839. package/src/features/auth/signInFormMeta.ts +1 -1
  840. package/src/features/auth/signUpFormMeta.ts +1 -1
  841. package/src/{metadata → features/authoring}/bindableComponentMeta.ts +2 -2
  842. package/src/features/authoring/componentMeta.ts +190 -0
  843. package/src/{constants.ts → features/authoring/constants.ts} +10 -0
  844. package/src/{featureManifest.test.ts → features/authoring/featureManifest.test.ts} +2 -2
  845. package/src/{metadata → features/authoring}/index.ts +24 -23
  846. package/src/features/authoring/themeRecipeMeta.ts +14 -0
  847. package/src/{utils → features/authoring/utils}/createManifestBindings.ts +1 -1
  848. package/src/{utils → features/authoring/utils}/finalizeFeatureMetadata.ts +1 -1
  849. package/src/features/avatar/adapters/inbound/Avatar.tsx +3 -3
  850. package/src/features/avatar/adapters/inbound/AvatarGroup.tsx +2 -2
  851. package/src/features/avatar/avatarGroupMeta.ts +1 -1
  852. package/src/features/avatar/avatarMeta.ts +1 -1
  853. package/src/features/badge/adapters/inbound/Badge.tsx +2 -2
  854. package/src/features/badge/badgeMeta.ts +1 -1
  855. package/src/features/badge/utils/resolveBadgeRecipe.test.ts +9 -0
  856. package/src/features/badge/utils/resolveBadgeRecipe.ts +17 -0
  857. package/src/features/bottom-sheet/adapters/inbound/BottomSheet.tsx +3 -3
  858. package/src/features/bottom-sheet/bottomSheetMeta.ts +2 -2
  859. package/src/features/bottom-sheet/public.test.ts +3 -3
  860. package/src/features/breadcrumbs/adapters/inbound/Breadcrumbs.tsx +3 -3
  861. package/src/features/breadcrumbs/breadcrumbsMeta.ts +1 -1
  862. package/src/features/button/adapters/inbound/Button.tsx +2 -2
  863. package/src/features/button/adapters/inbound/ButtonGroup.tsx +1 -1
  864. package/src/features/button/adapters/inbound/IconButton.tsx +2 -2
  865. package/src/features/button/buttonGroupMeta.ts +1 -1
  866. package/src/features/button/buttonMeta.ts +3 -3
  867. package/src/features/button/iconButtonMeta.ts +1 -1
  868. package/src/features/button/utils/resolveButtonRecipe.test.ts +9 -0
  869. package/src/features/button/utils/resolveButtonRecipe.ts +17 -0
  870. package/src/features/button/utils/resolveButtonThemeRecipe.ts +4 -6
  871. package/src/features/button/utils/themeRecipeMeta.ts +2 -2
  872. package/src/features/card/adapters/inbound/Card.tsx +3 -3
  873. package/src/features/card/adapters/inbound/MediaCard.tsx +2 -2
  874. package/src/features/card/adapters/inbound/MetricCard.tsx +4 -3
  875. package/src/features/card/adapters/inbound/PostCard.test.tsx +1 -1
  876. package/src/features/card/adapters/inbound/PostCard.tsx +2 -2
  877. package/src/features/card/adapters/inbound/ProductCard.test.tsx +1 -1
  878. package/src/features/card/adapters/inbound/ProductCard.tsx +2 -2
  879. package/src/features/card/cardMeta.ts +3 -3
  880. package/src/features/card/mediaCardMeta.ts +2 -2
  881. package/src/features/card/metricCardMeta.ts +1 -1
  882. package/src/features/card/postCardMeta.ts +2 -2
  883. package/src/features/card/productCardMeta.ts +1 -1
  884. package/src/features/card/utils/resolveCardThemeRecipe.ts +1 -1
  885. package/src/features/card/utils/resolveCardVariant.test.ts +11 -0
  886. package/src/features/card/utils/resolveCardVariant.ts +15 -0
  887. package/src/features/card/utils/themeRecipeMeta.ts +1 -1
  888. package/src/features/chat/adapters/inbound/ChatListItem.test.tsx +1 -1
  889. package/src/features/chat/adapters/inbound/ChatListItem.tsx +2 -2
  890. package/src/features/chat/adapters/inbound/MessageBubble.tsx +2 -2
  891. package/src/features/chat/chatListItemMeta.ts +1 -1
  892. package/src/features/chat/messageBubbleMeta.ts +2 -2
  893. package/src/features/chip/adapters/inbound/Chip.tsx +3 -3
  894. package/src/features/chip/adapters/inbound/ChipGroup.tsx +1 -1
  895. package/src/features/chip/chipGroupMeta.ts +1 -1
  896. package/src/features/chip/chipMeta.ts +1 -1
  897. package/src/features/chip/utils/resolveChipColors.ts +1 -1
  898. package/src/features/collection-editor/adapters/inbound/CollectionEditor.tsx +1 -1
  899. package/src/features/collection-editor/meta.ts +1 -1
  900. package/src/features/content-rail/adapters/inbound/ContentRail.tsx +2 -2
  901. package/src/features/content-rail/adapters/inbound/ContentRailFlow.tsx +1 -1
  902. package/src/features/content-rail/contentRailMeta.ts +2 -2
  903. package/src/features/data-table/adapters/inbound/DataTable.tsx +1 -1
  904. package/src/features/data-table/dataTableMeta.ts +1 -1
  905. package/src/features/date-picker/adapters/inbound/DatePicker.native.tsx +1 -1
  906. package/src/features/date-picker/adapters/inbound/DatePicker.web.tsx +1 -1
  907. package/src/features/date-picker/datePickerMeta.ts +1 -1
  908. package/src/features/date-picker/public.test.ts +1 -1
  909. package/src/features/dialog/adapters/inbound/Dialog.tsx +2 -2
  910. package/src/features/dialog/dialogMeta.ts +2 -2
  911. package/src/features/dialog/utils/resolveDialogWidth.test.ts +10 -0
  912. package/src/features/dialog/utils/resolveDialogWidth.ts +13 -0
  913. package/src/features/empty-state/adapters/inbound/EmptyState.tsx +1 -1
  914. package/src/features/empty-state/emptyStateMeta.ts +1 -1
  915. package/src/features/form/adapters/inbound/Form.tsx +1 -1
  916. package/src/features/form/adapters/inbound/FormActions.tsx +1 -1
  917. package/src/features/form/adapters/inbound/FormError.tsx +2 -2
  918. package/src/features/form/checkbox/adapters/inbound/Checkbox.tsx +1 -1
  919. package/src/features/form/checkbox/adapters/inbound/CheckboxGroup.tsx +1 -1
  920. package/src/features/form/checkbox/checkboxMeta.ts +1 -1
  921. package/src/features/form/field/adapters/inbound/Field.tsx +1 -1
  922. package/src/features/form/field/meta.ts +1 -1
  923. package/src/features/form/formActionsMeta.ts +1 -1
  924. package/src/features/form/formErrorMeta.ts +1 -1
  925. package/src/features/form/formMeta.ts +1 -1
  926. package/src/features/form/radio/adapters/inbound/Radio.tsx +1 -1
  927. package/src/features/form/radio/adapters/inbound/RadioGroup.tsx +2 -2
  928. package/src/features/form/radio/radioMeta.ts +2 -2
  929. package/src/features/form/radio/themeRecipeMeta.ts +2 -2
  930. package/src/features/form/radio/utils/handleRadioOptionKeyDown.test.ts +1 -1
  931. package/src/features/form/radio/utils/handleRadioOptionKeyDown.ts +1 -1
  932. package/src/features/form/radio/utils/resolveRadioGroupThemeRecipe.ts +1 -1
  933. package/src/features/form/search-input/adapters/inbound/SearchInput.tsx +1 -1
  934. package/src/features/form/search-input/searchInputMeta.ts +1 -1
  935. package/src/features/form/select/adapters/inbound/Select.native.tsx +1 -1
  936. package/src/features/form/select/adapters/inbound/Select.web.tsx +1 -1
  937. package/src/features/form/select/selectMeta.ts +1 -1
  938. package/src/features/form/switch/adapters/inbound/Switch.tsx +1 -1
  939. package/src/features/form/switch/switchMeta.ts +1 -1
  940. package/src/features/form/text-input/adapters/inbound/TextInput.tsx +3 -3
  941. package/src/features/form/text-input/textInputMeta.ts +1 -1
  942. package/src/features/gradient/adapters/inbound/Gradient.tsx +1 -1
  943. package/src/features/gradient/gradientMeta.ts +2 -2
  944. package/src/features/gradient/public.test.ts +1 -1
  945. package/src/features/hero/adapters/inbound/Hero.tsx +1 -1
  946. package/src/features/hero/heroMeta.ts +1 -1
  947. package/src/features/icon/adapters/inbound/Icon.tsx +1 -1
  948. package/src/features/icon/iconMeta.ts +1 -1
  949. package/src/features/icon/utils/meta.test.ts +1 -1
  950. package/src/features/icon/utils/resolveIconSize.test.ts +11 -0
  951. package/src/features/icon/utils/resolveIconSize.ts +13 -0
  952. package/src/features/image/adapters/inbound/Image.tsx +2 -2
  953. package/src/features/image/imageMeta.ts +1 -1
  954. package/src/features/keyboard-avoiding-view/adapters/inbound/KeyboardAvoidingView.tsx +1 -1
  955. package/src/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.ts +2 -2
  956. package/src/features/layout/adapters/inbound/AppShell.tsx +1 -1
  957. package/src/features/layout/adapters/inbound/Divider.tsx +1 -1
  958. package/src/features/layout/adapters/inbound/Grid.tsx +1 -1
  959. package/src/features/layout/adapters/inbound/Screen.tsx +2 -2
  960. package/src/features/layout/adapters/inbound/ScrollView.tsx +1 -1
  961. package/src/features/layout/adapters/inbound/View.tsx +1 -1
  962. package/src/features/layout/appShellMeta.ts +1 -1
  963. package/src/features/layout/constants.ts +1 -1
  964. package/src/features/layout/dividerMeta.ts +1 -1
  965. package/src/features/layout/gridMeta.ts +2 -2
  966. package/src/features/layout/screenMeta.ts +2 -2
  967. package/src/features/layout/scrollViewMeta.ts +2 -2
  968. package/src/features/layout/utils/resolvePageMaxWidth.test.ts +10 -0
  969. package/src/features/layout/utils/resolvePageMaxWidth.ts +13 -0
  970. package/src/features/layout/viewMeta.ts +2 -2
  971. package/src/features/list/adapters/inbound/FlatList.tsx +1 -1
  972. package/src/features/list/adapters/inbound/List.tsx +1 -1
  973. package/src/features/list/adapters/inbound/ListItem.tsx +2 -2
  974. package/src/features/list/adapters/inbound/ListSection.tsx +1 -1
  975. package/src/features/list/adapters/inbound/SectionList.tsx +1 -1
  976. package/src/features/list/flatListMeta.ts +2 -2
  977. package/src/features/list/meta.ts +1 -1
  978. package/src/features/list/sectionListMeta.ts +1 -1
  979. package/src/features/missing-element/MissingElement.test.ts +1 -1
  980. package/src/features/missing-element/adapters/inbound/MissingElement.tsx +2 -2
  981. package/src/features/missing-element/missingElementMeta.ts +1 -1
  982. package/src/features/pagination/adapters/inbound/Pagination.tsx +1 -1
  983. package/src/features/pagination/paginationMeta.ts +1 -1
  984. package/src/features/palette-item/adapters/inbound/PaletteItem.tsx +2 -2
  985. package/src/features/palette-item/paletteItemMeta.ts +1 -1
  986. package/src/{corePlugin.ts → features/plugin/ZORA_CORE_PLUGIN.ts} +3 -3
  987. package/src/{corePluginMetadata.ts → features/plugin/ZORA_CORE_PLUGIN_METADATA.ts} +4 -4
  988. package/src/{pluginComposition.ts → features/plugin/application/use-cases/composeZoraPluginMetadata.ts} +10 -122
  989. package/src/features/plugin/application/use-cases/composeZoraPlugins.ts +76 -0
  990. package/src/features/plugin/domain/ZoraPluginCompositionError.ts +21 -0
  991. package/src/{pluginComposition.test.ts → features/plugin/pluginComposition.test.ts} +4 -6
  992. package/src/features/plugin/public.ts +3 -0
  993. package/src/features/plugin/runtime.ts +2 -0
  994. package/src/features/popover-menu/adapters/inbound/PopoverMenu.tsx +3 -3
  995. package/src/features/popover-menu/popoverMenuMeta.ts +1 -1
  996. package/src/features/progress/adapters/inbound/Progress.tsx +2 -2
  997. package/src/features/progress/adapters/inbound/ProgressRing.tsx +2 -2
  998. package/src/features/progress/progressMeta.ts +2 -2
  999. package/src/features/rating/adapters/inbound/Rating.tsx +4 -4
  1000. package/src/features/rating/ratingMeta.ts +1 -1
  1001. package/src/features/reader/adapters/inbound/ReaderSurface.tsx +2 -2
  1002. package/src/features/reader/meta.ts +2 -2
  1003. package/src/features/registry/ZORA_COMPONENT_REGISTRY.ts +186 -0
  1004. package/src/features/registry/public.ts +1 -0
  1005. package/src/{registry.test.ts → features/registry/registry.test.ts} +6 -3
  1006. package/src/features/scanner/adapters/inbound/BarcodeScannerView.tsx +2 -2
  1007. package/src/features/scanner/adapters/inbound/CameraPermissionView.tsx +1 -1
  1008. package/src/features/scanner/adapters/inbound/ScanOverlay.tsx +2 -2
  1009. package/src/features/scanner/meta.ts +2 -2
  1010. package/src/features/section/adapters/inbound/ScreenSection.tsx +1 -1
  1011. package/src/features/section/adapters/inbound/SectionHeader.tsx +1 -1
  1012. package/src/features/section/screenSectionMeta.ts +2 -2
  1013. package/src/features/section/sectionHeaderMeta.ts +1 -1
  1014. package/src/features/selection/meta.ts +1 -1
  1015. package/src/features/skeleton/adapters/inbound/Skeleton.tsx +2 -2
  1016. package/src/features/skeleton/adapters/inbound/SkeletonCard.tsx +1 -1
  1017. package/src/features/skeleton/adapters/inbound/SkeletonList.tsx +1 -1
  1018. package/src/features/skeleton/adapters/inbound/SkeletonText.tsx +1 -1
  1019. package/src/features/skeleton/public.test.ts +1 -1
  1020. package/src/features/skeleton/skeletonMeta.ts +1 -1
  1021. package/src/features/surface/adapters/inbound/Surface.tsx +1 -1
  1022. package/src/features/surface/surfaceMeta.ts +2 -2
  1023. package/src/features/tabs/adapters/inbound/Tab.tsx +1 -1
  1024. package/src/features/tabs/adapters/inbound/TabList.tsx +1 -1
  1025. package/src/features/tabs/adapters/inbound/TabPanel.tsx +1 -1
  1026. package/src/features/tabs/adapters/inbound/Tabs.tsx +1 -1
  1027. package/src/features/tabs/tabListMeta.ts +1 -1
  1028. package/src/features/tabs/tabMeta.ts +1 -1
  1029. package/src/features/tabs/tabPanelMeta.ts +2 -2
  1030. package/src/features/tabs/tabsMeta.ts +1 -1
  1031. package/src/{theme → features/theme}/ThemeModeToggle.meta.ts +1 -1
  1032. package/src/{theme → features/theme/adapters/inbound}/ThemeModeToggle.tsx +4 -4
  1033. package/src/{theme → features/theme/adapters/inbound}/ZoraProvider.tsx +6 -6
  1034. package/src/features/theme/adapters/inbound/ZoraThemeScope.tsx +41 -0
  1035. package/src/{theme → features/theme/adapters/inbound}/withZoraThemeScope.tsx +1 -1
  1036. package/src/{theme → features/theme/application/use-cases}/compileZoraTheme.test.ts +5 -1
  1037. package/src/{theme → features/theme/application/use-cases}/compileZoraTheme.ts +3 -2
  1038. package/src/{theme → features/theme/application/use-cases}/createZoraThemeConfig.test.ts +1 -1
  1039. package/src/{theme → features/theme/application/use-cases}/createZoraThemeConfig.ts +2 -2
  1040. package/src/features/theme/colorModel.ts +13 -0
  1041. package/src/{theme → features/theme/composition}/ZoraRuntimeCapabilities.native.tsx +1 -1
  1042. package/src/{theme → features/theme/composition}/ZoraRuntimeCapabilities.web.tsx +1 -1
  1043. package/src/{theme → features/theme/composition}/ZoraThemeRuntimeContext.tsx +2 -2
  1044. package/src/{theme → features/theme/composition}/useZoraThemeRecipe.ts +1 -1
  1045. package/src/{theme → features/theme}/public.ts +3 -3
  1046. package/src/features/theme/runtime.ts +9 -0
  1047. package/src/{theme → features/theme}/themeConfigScope.test.ts +16 -7
  1048. package/src/{theme → features/theme}/themeScopeStructure.test.ts +16 -9
  1049. package/src/{theme → features/theme/utils}/resolveThemeModeToggleState.ts +1 -1
  1050. package/src/{theme → features/theme/utils}/resolveZoraScopedThemeId.ts +1 -1
  1051. package/src/{theme → features/theme/utils}/resolveZoraThemeRecipe.ts +2 -2
  1052. package/src/{theme → features/theme}/zoraDefaultTheme.ts +1 -1
  1053. package/src/features/time-picker/adapters/inbound/TimePicker.native.tsx +1 -1
  1054. package/src/features/time-picker/adapters/inbound/TimePicker.web.tsx +1 -1
  1055. package/src/features/time-picker/public.test.ts +1 -1
  1056. package/src/features/time-picker/timePickerMeta.ts +1 -1
  1057. package/src/features/timeline/adapters/inbound/Timeline.tsx +4 -4
  1058. package/src/features/timeline/meta.ts +1 -1
  1059. package/src/features/toast/adapters/inbound/Toast.tsx +1 -1
  1060. package/src/features/toast/public.test.ts +4 -4
  1061. package/src/features/toast/toastMeta.ts +1 -1
  1062. package/src/features/toast/toastProviderMeta.ts +1 -1
  1063. package/src/features/toolbar/adapters/inbound/Toolbar.tsx +1 -1
  1064. package/src/features/toolbar/toolbarMeta.ts +1 -1
  1065. package/src/features/tree-view/adapters/inbound/TreeItem.tsx +2 -2
  1066. package/src/features/tree-view/adapters/inbound/TreeView.tsx +1 -1
  1067. package/src/features/tree-view/meta.ts +1 -1
  1068. package/src/features/typography/adapters/inbound/Heading.tsx +3 -3
  1069. package/src/features/typography/adapters/inbound/Text.tsx +3 -3
  1070. package/src/features/typography/headingMeta.ts +3 -3
  1071. package/src/features/typography/textMeta.ts +3 -3
  1072. package/src/features/typography/utils/headingThemeRecipeMeta.ts +2 -2
  1073. package/src/features/typography/utils/textThemeRecipeMeta.ts +2 -2
  1074. package/src/features/uploader/adapters/inbound/Uploader.tsx +1 -1
  1075. package/src/features/uploader/public.test.ts +2 -2
  1076. package/src/features/uploader/uploaderMeta.ts +1 -1
  1077. package/src/index.ts +56 -56
  1078. package/src/interactionPolicy.test.ts +3 -3
  1079. package/src/structureOwnership.test.ts +71 -0
  1080. package/src/types/accordion.ts +1 -1
  1081. package/src/types/activity-indicator.ts +1 -1
  1082. package/src/types/app-bar.ts +1 -1
  1083. package/src/types/auth.ts +1 -1
  1084. package/src/types/avatar-group.ts +2 -2
  1085. package/src/types/avatar.ts +2 -2
  1086. package/src/types/badge.ts +5 -2
  1087. package/src/{theme/ZoraBaseProps.ts → types/base.ts} +1 -1
  1088. package/src/types/breadcrumbs.ts +1 -1
  1089. package/src/types/button-group.ts +1 -1
  1090. package/src/types/button.ts +5 -2
  1091. package/src/types/card.ts +3 -2
  1092. package/src/types/chat.ts +2 -2
  1093. package/src/types/checkbox.ts +1 -1
  1094. package/src/types/chip-group.ts +3 -2
  1095. package/src/types/chip.ts +3 -2
  1096. package/src/types/collection-editor.ts +1 -1
  1097. package/src/types/content-rail.ts +1 -1
  1098. package/src/types/control.ts +3 -0
  1099. package/src/types/data-table.ts +1 -1
  1100. package/src/types/date-picker.ts +1 -1
  1101. package/src/types/dialog.ts +2 -2
  1102. package/src/types/empty-state.ts +3 -2
  1103. package/src/types/form.ts +1 -1
  1104. package/src/types/gradient.ts +1 -1
  1105. package/src/types/heading.ts +2 -2
  1106. package/src/types/hero.ts +3 -2
  1107. package/src/types/icon-button.ts +4 -2
  1108. package/src/types/icon.ts +1 -1
  1109. package/src/types/image.ts +1 -1
  1110. package/src/types/keyboard-avoiding-view.ts +1 -1
  1111. package/src/types/layout.ts +3 -2
  1112. package/src/types/list.ts +1 -1
  1113. package/src/types/manifest-bottom-sheet.ts +1 -1
  1114. package/src/types/manifest-list.ts +1 -1
  1115. package/src/types/media-card.ts +2 -2
  1116. package/src/types/metric-card.ts +3 -2
  1117. package/src/types/missing-element.ts +1 -1
  1118. package/src/types/pagination.ts +1 -1
  1119. package/src/types/palette-item.ts +1 -1
  1120. package/src/types/plugin.ts +43 -0
  1121. package/src/types/popover-menu.ts +1 -1
  1122. package/src/types/post-card.ts +3 -2
  1123. package/src/types/product-card.ts +1 -1
  1124. package/src/types/progress.ts +3 -2
  1125. package/src/types/provider.ts +1 -1
  1126. package/src/types/radio.ts +1 -1
  1127. package/src/types/rating.ts +3 -2
  1128. package/src/types/reader.ts +1 -1
  1129. package/src/types/registry.ts +3 -0
  1130. package/src/types/scanner.ts +1 -1
  1131. package/src/types/search-input.ts +2 -2
  1132. package/src/types/section.ts +1 -1
  1133. package/src/types/select.ts +1 -1
  1134. package/src/types/skeleton.ts +1 -1
  1135. package/src/types/surface.ts +1 -1
  1136. package/src/types/switch.ts +1 -1
  1137. package/src/types/tabs.ts +1 -1
  1138. package/src/types/text-input.ts +2 -2
  1139. package/src/types/text.ts +2 -2
  1140. package/src/{metadata/themeRecipeTypes.ts → types/theme-recipe.ts} +1 -9
  1141. package/src/{theme/types.ts → types/theme.ts} +11 -0
  1142. package/src/types/time-picker.ts +1 -1
  1143. package/src/types/timeline.ts +2 -2
  1144. package/src/types/toast.ts +1 -1
  1145. package/src/types/toolbar.ts +1 -1
  1146. package/src/types/tree-view.ts +1 -1
  1147. package/src/types/upload.ts +1 -1
  1148. package/dist/constants/keyboard.d.ts.map +0 -1
  1149. package/dist/constants/keyboard.js.map +0 -1
  1150. package/dist/constants.d.ts.map +0 -1
  1151. package/dist/constants.js.map +0 -1
  1152. package/dist/corePlugin.d.ts.map +0 -1
  1153. package/dist/corePlugin.js.map +0 -1
  1154. package/dist/corePluginMetadata.d.ts +0 -3
  1155. package/dist/corePluginMetadata.d.ts.map +0 -1
  1156. package/dist/corePluginMetadata.js.map +0 -1
  1157. package/dist/internal/colorModel.d.ts.map +0 -1
  1158. package/dist/internal/colorModel.js +0 -25
  1159. package/dist/internal/colorModel.js.map +0 -1
  1160. package/dist/internal/recipes.d.ts +0 -23
  1161. package/dist/internal/recipes.d.ts.map +0 -1
  1162. package/dist/internal/recipes.js +0 -59
  1163. package/dist/internal/recipes.js.map +0 -1
  1164. package/dist/metadata/allowedChildren.d.ts.map +0 -1
  1165. package/dist/metadata/allowedChildren.js.map +0 -1
  1166. package/dist/metadata/bindableComponentMeta.js.map +0 -1
  1167. package/dist/metadata/componentMeta.d.ts +0 -3
  1168. package/dist/metadata/componentMeta.d.ts.map +0 -1
  1169. package/dist/metadata/componentMeta.js +0 -184
  1170. package/dist/metadata/componentMeta.js.map +0 -1
  1171. package/dist/metadata/index.d.ts.map +0 -1
  1172. package/dist/metadata/index.js +0 -7
  1173. package/dist/metadata/index.js.map +0 -1
  1174. package/dist/metadata/themeRecipeMeta.d.ts +0 -3
  1175. package/dist/metadata/themeRecipeMeta.d.ts.map +0 -1
  1176. package/dist/metadata/themeRecipeMeta.js +0 -13
  1177. package/dist/metadata/themeRecipeMeta.js.map +0 -1
  1178. package/dist/metadata/themeRecipeTypes.d.ts.map +0 -1
  1179. package/dist/metadata/themeRecipeTypes.js +0 -8
  1180. package/dist/metadata/themeRecipeTypes.js.map +0 -1
  1181. package/dist/metadata/types.d.ts.map +0 -1
  1182. package/dist/metadata/types.js +0 -2
  1183. package/dist/metadata/types.js.map +0 -1
  1184. package/dist/pluginComposition.d.ts.map +0 -1
  1185. package/dist/pluginComposition.js.map +0 -1
  1186. package/dist/registry.d.ts.map +0 -1
  1187. package/dist/registry.js +0 -161
  1188. package/dist/registry.js.map +0 -1
  1189. package/dist/theme/ThemeModeToggle.d.ts.map +0 -1
  1190. package/dist/theme/ThemeModeToggle.js.map +0 -1
  1191. package/dist/theme/ThemeModeToggle.meta.d.ts.map +0 -1
  1192. package/dist/theme/ThemeModeToggle.meta.js.map +0 -1
  1193. package/dist/theme/ThemeModeToggleProps.d.ts.map +0 -1
  1194. package/dist/theme/ThemeModeToggleProps.js +0 -2
  1195. package/dist/theme/ThemeModeToggleProps.js.map +0 -1
  1196. package/dist/theme/ZoraBaseProps.d.ts.map +0 -1
  1197. package/dist/theme/ZoraBaseProps.js +0 -2
  1198. package/dist/theme/ZoraBaseProps.js.map +0 -1
  1199. package/dist/theme/ZoraProvider.d.ts.map +0 -1
  1200. package/dist/theme/ZoraProvider.js.map +0 -1
  1201. package/dist/theme/ZoraRuntimeCapabilities.d.ts.map +0 -1
  1202. package/dist/theme/ZoraRuntimeCapabilities.js.map +0 -1
  1203. package/dist/theme/ZoraRuntimeCapabilities.native.d.ts.map +0 -1
  1204. package/dist/theme/ZoraRuntimeCapabilities.native.js.map +0 -1
  1205. package/dist/theme/ZoraRuntimeCapabilities.web.d.ts.map +0 -1
  1206. package/dist/theme/ZoraRuntimeCapabilities.web.js.map +0 -1
  1207. package/dist/theme/ZoraThemeRuntimeContext.d.ts.map +0 -1
  1208. package/dist/theme/ZoraThemeRuntimeContext.js.map +0 -1
  1209. package/dist/theme/ZoraThemeScope.d.ts.map +0 -1
  1210. package/dist/theme/ZoraThemeScope.js +0 -37
  1211. package/dist/theme/ZoraThemeScope.js.map +0 -1
  1212. package/dist/theme/compileZoraTheme.d.ts.map +0 -1
  1213. package/dist/theme/compileZoraTheme.js.map +0 -1
  1214. package/dist/theme/createZoraThemeConfig.d.ts.map +0 -1
  1215. package/dist/theme/createZoraThemeConfig.js.map +0 -1
  1216. package/dist/theme/index.d.ts +0 -11
  1217. package/dist/theme/index.d.ts.map +0 -1
  1218. package/dist/theme/index.js +0 -7
  1219. package/dist/theme/index.js.map +0 -1
  1220. package/dist/theme/public.d.ts.map +0 -1
  1221. package/dist/theme/public.js +0 -4
  1222. package/dist/theme/public.js.map +0 -1
  1223. package/dist/theme/resolveThemeModeToggleState.d.ts.map +0 -1
  1224. package/dist/theme/resolveThemeModeToggleState.js.map +0 -1
  1225. package/dist/theme/resolveZoraScopedThemeId.d.ts.map +0 -1
  1226. package/dist/theme/resolveZoraScopedThemeId.js.map +0 -1
  1227. package/dist/theme/resolveZoraThemeRecipe.d.ts.map +0 -1
  1228. package/dist/theme/resolveZoraThemeRecipe.js.map +0 -1
  1229. package/dist/theme/types.d.ts.map +0 -1
  1230. package/dist/theme/types.js +0 -2
  1231. package/dist/theme/types.js.map +0 -1
  1232. package/dist/theme/useZoraTheme.d.ts +0 -8
  1233. package/dist/theme/useZoraTheme.d.ts.map +0 -1
  1234. package/dist/theme/useZoraTheme.js.map +0 -1
  1235. package/dist/theme/useZoraThemeRecipe.d.ts.map +0 -1
  1236. package/dist/theme/useZoraThemeRecipe.js.map +0 -1
  1237. package/dist/theme/withZoraThemeScope.d.ts.map +0 -1
  1238. package/dist/theme/withZoraThemeScope.js.map +0 -1
  1239. package/dist/theme/zoraDefaultTheme.d.ts +0 -3
  1240. package/dist/theme/zoraDefaultTheme.d.ts.map +0 -1
  1241. package/dist/theme/zoraDefaultTheme.js.map +0 -1
  1242. package/dist/utils/createManifestBindings.d.ts.map +0 -1
  1243. package/dist/utils/createManifestBindings.js.map +0 -1
  1244. package/dist/utils/finalizeFeatureMetadata.d.ts.map +0 -1
  1245. package/dist/utils/finalizeFeatureMetadata.js.map +0 -1
  1246. package/src/internal/colorModel.ts +0 -39
  1247. package/src/internal/recipes.test.ts +0 -46
  1248. package/src/internal/recipes.ts +0 -92
  1249. package/src/metadata/componentMeta.ts +0 -194
  1250. package/src/metadata/themeRecipeMeta.ts +0 -14
  1251. package/src/registry.ts +0 -197
  1252. package/src/theme/ZoraThemeScope.tsx +0 -56
  1253. package/src/theme/index.ts +0 -10
  1254. /package/dist/{metadata → features/authoring}/allowedChildren.d.ts +0 -0
  1255. /package/dist/{metadata → features/authoring}/allowedChildren.js +0 -0
  1256. /package/dist/{metadata → features/authoring}/bindableComponentMeta.d.ts +0 -0
  1257. /package/dist/{utils → features/authoring/utils}/createManifestBindings.js +0 -0
  1258. /package/dist/{utils → features/authoring/utils}/finalizeFeatureMetadata.js +0 -0
  1259. /package/dist/{theme → features/theme}/ThemeModeToggle.meta.d.ts +0 -0
  1260. /package/dist/{theme → features/theme}/ThemeModeToggle.meta.js +0 -0
  1261. /package/dist/{theme → features/theme/adapters/inbound}/withZoraThemeScope.js +0 -0
  1262. /package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.d.ts +0 -0
  1263. /package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.js +0 -0
  1264. /package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.native.js +0 -0
  1265. /package/dist/{theme → features/theme/composition}/ZoraRuntimeCapabilities.web.js +0 -0
  1266. /package/dist/{theme → features/theme/composition}/useZoraTheme.js +0 -0
  1267. /package/dist/{theme → features/theme/composition}/useZoraThemeRecipe.d.ts +0 -0
  1268. /package/dist/{theme → features/theme/utils}/resolveThemeModeToggleState.js +0 -0
  1269. /package/dist/{theme → features/theme/utils}/resolveZoraScopedThemeId.js +0 -0
  1270. /package/dist/{theme → features/theme/utils}/resolveZoraThemeRecipe.d.ts +0 -0
  1271. /package/dist/{theme → features/theme}/zoraDefaultTheme.js +0 -0
  1272. /package/src/{metadata → features/authoring}/allowedChildren.ts +0 -0
  1273. /package/src/{metadata → features/authoring}/authoringMeta.test.ts +0 -0
  1274. /package/src/{metadata → features/authoring}/bindableComponentMeta.test.ts +0 -0
  1275. /package/src/{metadata → features/authoring}/componentMeta.test.ts +0 -0
  1276. /package/src/{metadata → features/authoring}/radioGroupReachability.test.ts +0 -0
  1277. /package/src/{metadata → features/authoring}/themeRecipeMeta.test.ts +0 -0
  1278. /package/src/{constants/keyboard.ts → features/form/radio/constants.ts} +0 -0
  1279. /package/src/{theme → features/theme/composition}/ZoraRuntimeCapabilities.tsx +0 -0
  1280. /package/src/{theme → features/theme/composition}/useZoraTheme.ts +0 -0
  1281. /package/src/{theme → features/theme/utils}/resolveThemeModeToggleState.test.ts +0 -0
  1282. /package/src/{theme → features/theme/utils}/resolveZoraScopedThemeId.test.ts +0 -0
  1283. /package/src/{theme → features/theme/utils}/resolveZoraThemeRecipe.test.ts +0 -0
  1284. /package/src/{metadata/types.ts → types/authoring.ts} +0 -0
  1285. /package/src/{theme/ThemeModeToggleProps.ts → types/theme-mode-toggle.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"resolveChipColors.js","sourceRoot":"","sources":["../../../../src/features/chip/utils/resolveChipColors.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GAMN;IACC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAChD,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YAC3C,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,OAAO;gBAC5B,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACb,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,IAAI,CAAC,MAAM;YACjB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,IAAI,CAAC,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,OAAO;YAC5B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;YACvC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACb,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;gBACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QACrC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB,EAAE,KAAgB;IAC5D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACnC,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;AACH,CAAC","sourcesContent":["import type { RoleSemantics, SurfaceTheme } from '@ankhorage/surface';\n\nimport type { ZoraColor } from '../../../internal/recipes';\nimport type { ChipColors, ChipInteractionState } from '../../../types/chip';\nexport function resolveChipColors({\n theme,\n color,\n selected,\n state,\n}: {\n theme: SurfaceTheme;\n color: ZoraColor;\n selected: boolean;\n state: ChipInteractionState;\n}): ChipColors {\n if (state.disabled) {\n return {\n backgroundColor: theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.muted,\n opacity: 0.72,\n };\n }\n\n const role = resolveChipRole(theme, color);\n\n if (selected) {\n return {\n backgroundColor: state.pressed\n ? role.softActive\n : state.hovered\n ? role.softHover\n : role.softBg,\n borderColor: 'transparent',\n contentColor: role.base,\n };\n }\n\n return {\n backgroundColor: state.pressed\n ? theme.semantics.neutral.surfaceActive\n : state.hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.default,\n };\n}\n\nfunction resolveChipRole(theme: SurfaceTheme, color: ZoraColor): RoleSemantics {\n switch (color) {\n case 'secondary':\n return theme.semantics.secondary;\n case 'tertiary':\n return theme.semantics.accent;\n case 'quaternary':\n return theme.semantics.highlight;\n case 'error':\n return theme.semantics.error;\n case 'info':\n return theme.semantics.info;\n case 'primary':\n return theme.semantics.action.primary;\n case 'danger':\n return theme.semantics.action.danger;\n case 'success':\n return theme.semantics.success;\n case 'warning':\n return theme.semantics.warning;\n case 'neutral':\n default:\n return theme.semantics.action.neutral;\n }\n}\n"]}
1
+ {"version":3,"file":"resolveChipColors.js","sourceRoot":"","sources":["../../../../src/features/chip/utils/resolveChipColors.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GAMN;IACC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAChD,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;YAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;YAC3C,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,OAAO;gBAC5B,CAAC,CAAC,IAAI,CAAC,UAAU;gBACjB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACb,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,IAAI,CAAC,MAAM;YACjB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,IAAI,CAAC,IAAI;SACxB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,eAAe,EAAE,KAAK,CAAC,OAAO;YAC5B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa;YACvC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACb,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY;gBACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QACrC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;QAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB,EAAE,KAAgB;IAC5D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACnC,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;QACjC,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;AACH,CAAC","sourcesContent":["import type { RoleSemantics, SurfaceTheme } from '@ankhorage/surface';\n\nimport type { ChipColors, ChipInteractionState } from '../../../types/chip';\nimport type { ZoraColor } from '../../../types/theme';\nexport function resolveChipColors({\n theme,\n color,\n selected,\n state,\n}: {\n theme: SurfaceTheme;\n color: ZoraColor;\n selected: boolean;\n state: ChipInteractionState;\n}): ChipColors {\n if (state.disabled) {\n return {\n backgroundColor: theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.muted,\n opacity: 0.72,\n };\n }\n\n const role = resolveChipRole(theme, color);\n\n if (selected) {\n return {\n backgroundColor: state.pressed\n ? role.softActive\n : state.hovered\n ? role.softHover\n : role.softBg,\n borderColor: 'transparent',\n contentColor: role.base,\n };\n }\n\n return {\n backgroundColor: state.pressed\n ? theme.semantics.neutral.surfaceActive\n : state.hovered\n ? theme.semantics.neutral.surfaceHover\n : theme.semantics.neutral.surface,\n borderColor: theme.semantics.neutral.divider,\n contentColor: theme.semantics.content.default,\n };\n}\n\nfunction resolveChipRole(theme: SurfaceTheme, color: ZoraColor): RoleSemantics {\n switch (color) {\n case 'secondary':\n return theme.semantics.secondary;\n case 'tertiary':\n return theme.semantics.accent;\n case 'quaternary':\n return theme.semantics.highlight;\n case 'error':\n return theme.semantics.error;\n case 'info':\n return theme.semantics.info;\n case 'primary':\n return theme.semantics.action.primary;\n case 'danger':\n return theme.semantics.action.danger;\n case 'success':\n return theme.semantics.success;\n case 'warning':\n return theme.semantics.warning;\n case 'neutral':\n default:\n return theme.semantics.action.neutral;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAiHjF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GA/GE,KAAK,mEA+GqC,CAAC"}
1
+ {"version":3,"file":"CollectionEditor.d.ts","sourceRoot":"","sources":["../../../../../src/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAkHjF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GA/GE,KAAK,mEA+GqC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
2
  import { Button } from '../../../button/public';
4
3
  import { IconButton } from '../../../button/public';
5
4
  import { Card } from '../../../card/public';
6
5
  import { View } from '../../../layout/public';
6
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
7
7
  import { Text } from '../../../typography/public';
8
8
  function CollectionEditorInner({ themeId: _themeId, mode: _mode, title, description, items, renderItem, onAdd, onRemove, onMove, addLabel = 'Add Item', emptyLabel = 'No items yet.', disabled, testID, interactionPolicy, }) {
9
9
  const isEmpty = items.length === 0;
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionEditor.js","sourceRoot":"","sources":["../../../../../src/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { CollectionEditorProps } from '../../../../types/collection-editor';\nimport { Button } from '../../../button/public';\nimport { IconButton } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\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 <Card\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 </Card>\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/features/collection-editor/adapters/inbound/CollectionEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport type { CollectionEditorProps } from '../../../../types/collection-editor';\nimport { Button } from '../../../button/public';\nimport { IconButton } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { View } from '../../../layout/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { Text } from '../../../typography/public';\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 <Card\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 </Card>\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 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/features/collection-editor/meta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,SAAS;IACnB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,wEAAwE;IAC9E,KAAK,EAAE,EAAE;CAC2B,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const collectionEditorMeta = {\n name: 'CollectionEditor',\n category: 'pattern',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Specialized editing pattern; not represented as a manifest node in v1.',\n props: {},\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/features/collection-editor/meta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,SAAS;IACnB,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,EAAE;IACnB,IAAI,EAAE,wEAAwE;IAC9E,KAAK,EAAE,EAAE;CAC2B,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../authoring';\n\nexport const collectionEditorMeta = {\n name: 'CollectionEditor',\n category: 'pattern',\n directManifestNode: false,\n allowedChildren: [],\n note: 'Specialized editing pattern; not represented as a manifest node in v1.',\n props: {},\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRail.d.ts","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AASxC;;;;;GAKG;AACH,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
1
+ {"version":3,"file":"ContentRail.d.ts","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AAWxC;;;;;GAKG;AACH,eAAO,MAAM,WAAW,wDAAuC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { I18nManager, ScrollView, } from 'react-native';
3
- import { useZoraTheme } from '../../../../theme/useZoraTheme';
4
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
5
3
  import { IconButton } from '../../../button/public';
6
4
  import { View } from '../../../layout/public';
5
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
6
+ import { useZoraTheme } from '../../../theme/composition/useZoraTheme';
7
7
  import { Text } from '../../../typography/public';
8
8
  import { resolveContentRailItemWidth } from '../../utils/resolveContentRailItemWidth';
9
9
  import { resolveContentRailPhysicalOffset } from '../../utils/resolveContentRailPhysicalOffset';
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRail.js","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRail.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n I18nManager,\n type NativeScrollEvent,\n type NativeSyntheticEvent,\n ScrollView,\n type ViewStyle,\n} from 'react-native';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type {\n ContentRailProps,\n ContentRailVisibleRangeChangeEvent,\n} from '../../../../types/content-rail';\nimport { IconButton } from '../../../button/public';\nimport { View } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\nimport { resolveContentRailItemWidth } from '../../utils/resolveContentRailItemWidth';\nimport { resolveContentRailPhysicalOffset } from '../../utils/resolveContentRailPhysicalOffset';\nimport { resolveContentRailState } from '../../utils/resolveContentRailState';\nimport { useContentRailReducedMotion } from '../../utils/useContentRailReducedMotion';\nimport { ContentRailFlow } from './ContentRailFlow';\n/**\n * Horizontally browsable, manifest-authorable content with responsive item sizing.\n *\n * ContentRail owns only presentation and scrolling. Apps retain ownership of item data,\n * navigation, recommendations, and route behavior.\n */\nexport const ContentRail = withZoraThemeScope(ContentRailInner);\n\n/*** Selects intrinsic scrolling or sized item navigation. */\nfunction ContentRailInner(props: ContentRailProps) {\n return props.itemSize === 'content' ? (\n <ContentRailFlow {...props} />\n ) : (\n <ContentRailCarousel {...props} />\n );\n}\n\n/*** Renders equal-width cards with responsive sizing and accessible previous/next controls. */\nfunction ContentRailCarousel({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n children,\n itemSize = 'responsive',\n gap = 'm',\n padding = 'm',\n peek = 32,\n showControls = true,\n bounces,\n showsScrollIndicator = false,\n direction = 'auto',\n motion = 'system',\n accessibilityLabel = 'Content rail',\n previousLabel = 'Previous items',\n nextLabel = 'Next items',\n onControlPress,\n onVisibleRangeChange,\n testID,\n}: ContentRailProps) {\n const { theme } = useZoraTheme();\n const items = React.Children.toArray(children);\n const scrollViewRef = React.useRef<ScrollView>(null);\n const lastRangeRef = React.useRef<ContentRailVisibleRangeChangeEvent | null>(null);\n const logicalOffsetRef = React.useRef(0);\n const rtlInitializedRef = React.useRef(false);\n const [viewportWidth, setViewportWidth] = React.useState(0);\n const [contentWidth, setContentWidth] = React.useState(0);\n const [logicalOffset, setLogicalOffset] = React.useState(0);\n const reducedMotion = useContentRailReducedMotion(motion);\n const isRtl = direction === 'rtl' || (direction === 'auto' && I18nManager.isRTL);\n const gapValue = resolveSpacingValue(theme.spacing, gap);\n const paddingValue = resolveSpacingValue(theme.spacing, padding);\n const itemWidth = resolveContentRailItemWidth({\n gap: gapValue,\n itemCount: items.length,\n itemSize,\n padding: paddingValue,\n peek,\n viewportWidth,\n });\n const railState = resolveContentRailState({\n contentWidth,\n gap: gapValue,\n itemCount: items.length,\n itemWidth,\n logicalOffset,\n viewportWidth,\n });\n const passive = interactionPolicy === 'passive';\n const hasOverflow = railState.maxOffset > 1;\n\n const emitVisibleRange = React.useCallback(\n (nextOffset: number) => {\n const next = resolveContentRailState({\n contentWidth,\n gap: gapValue,\n itemCount: items.length,\n itemWidth,\n logicalOffset: nextOffset,\n viewportWidth,\n });\n const event = {\n firstVisibleIndex: next.firstVisibleIndex,\n lastVisibleIndex: next.lastVisibleIndex,\n itemCount: items.length,\n };\n const previous = lastRangeRef.current;\n if (\n previous?.firstVisibleIndex === event.firstVisibleIndex &&\n previous.lastVisibleIndex === event.lastVisibleIndex &&\n previous.itemCount === event.itemCount\n ) {\n return;\n }\n lastRangeRef.current = event;\n void onVisibleRangeChange?.(event);\n },\n [contentWidth, gapValue, itemWidth, items.length, onVisibleRangeChange, viewportWidth],\n );\n\n React.useEffect(() => {\n emitVisibleRange(railState.offset);\n }, [emitVisibleRange, railState.offset]);\n\n React.useEffect(() => {\n rtlInitializedRef.current = !isRtl;\n }, [isRtl]);\n\n React.useEffect(() => {\n if (viewportWidth === 0 || contentWidth === 0) return;\n const nextOffset = Math.min(logicalOffsetRef.current, railState.maxOffset);\n scrollViewRef.current?.scrollTo({\n animated: false,\n x: resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: nextOffset,\n maxOffset: railState.maxOffset,\n }),\n y: 0,\n });\n rtlInitializedRef.current = true;\n }, [contentWidth, isRtl, itemWidth, railState.maxOffset, viewportWidth]);\n\n const scrollToIndex = (targetIndex: number, controlDirection: 'previous' | 'next') => {\n if (passive || !hasOverflow) return;\n const clampedIndex = Math.min(Math.max(0, targetIndex), Math.max(0, items.length - 1));\n const targetOffset = Math.min(clampedIndex * railState.stride, railState.maxOffset);\n logicalOffsetRef.current = targetOffset;\n setLogicalOffset(targetOffset);\n scrollViewRef.current?.scrollTo({\n animated: !reducedMotion,\n x: resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: targetOffset,\n maxOffset: railState.maxOffset,\n }),\n y: 0,\n });\n emitVisibleRange(targetOffset);\n void onControlPress?.({ direction: controlDirection, targetIndex: clampedIndex });\n };\n\n const handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n if (isRtl && !rtlInitializedRef.current) return;\n const physicalOffset = event.nativeEvent.contentOffset.x;\n const nextOffset = resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: physicalOffset,\n maxOffset: railState.maxOffset,\n });\n const clampedOffset = Math.min(Math.max(0, nextOffset), railState.maxOffset);\n logicalOffsetRef.current = clampedOffset;\n setLogicalOffset(clampedOffset);\n emitVisibleRange(clampedOffset);\n };\n\n const rangeLabel =\n items.length === 0\n ? 'No items'\n : `Items ${railState.firstVisibleIndex + 1}–${railState.lastVisibleIndex + 1} of ${items.length}`;\n const contentStyle: ViewStyle = {\n direction: isRtl ? 'rtl' : 'ltr',\n flexDirection: 'row',\n gap: gapValue,\n paddingHorizontal: paddingValue,\n };\n\n return (\n <View gap=\"s\" testID={testID}>\n {showControls && hasOverflow ? (\n <View direction=\"row\" justify=\"space-between\" wrap=\"nowrap\">\n <Text accessibilityLiveRegion=\"polite\" emphasis=\"muted\" variant=\"caption\">\n {rangeLabel}\n </Text>\n <View direction=\"row\" gap=\"xs\" wrap=\"nowrap\">\n <IconButton\n disabled={passive || !railState.canGoPrevious}\n icon={{ name: isRtl ? 'chevron-forward' : 'chevron-back' }}\n interactionPolicy={interactionPolicy}\n label={previousLabel}\n onPress={() => scrollToIndex(railState.anchorIndex - 1, 'previous')}\n size=\"l\"\n />\n <IconButton\n disabled={passive || !railState.canGoNext}\n icon={{ name: isRtl ? 'chevron-back' : 'chevron-forward' }}\n interactionPolicy={interactionPolicy}\n label={nextLabel}\n onPress={() => scrollToIndex(railState.anchorIndex + 1, 'next')}\n size=\"l\"\n />\n </View>\n </View>\n ) : null}\n <ScrollView\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"list\"\n contentContainerStyle={contentStyle}\n decelerationRate=\"fast\"\n disableIntervalMomentum\n horizontal\n onContentSizeChange={(width) => {\n if (isRtl) rtlInitializedRef.current = false;\n setContentWidth(width);\n }}\n onLayout={(event) => {\n if (isRtl) rtlInitializedRef.current = false;\n setViewportWidth(event.nativeEvent.layout.width);\n }}\n onScroll={handleScroll}\n ref={scrollViewRef}\n scrollEnabled={!passive}\n scrollEventThrottle={16}\n bounces={bounces}\n showsHorizontalScrollIndicator={showsScrollIndicator}\n snapToInterval={itemWidth > 0 ? itemWidth + gapValue : undefined}\n >\n {items.map((item, index) => (\n <View key={index} style={{ flexShrink: 0, width: itemWidth || undefined }}>\n {item}\n </View>\n ))}\n </ScrollView>\n </View>\n );\n}\n\nfunction resolveSpacingValue(\n spacing: { none: number; xs: number; s: number; m: number; l: number; xl: number },\n token: NonNullable<ContentRailProps['gap']>,\n): number {\n if (token === 'none') return spacing.none;\n if (token === 'xs') return spacing.xs;\n if (token === 's') return spacing.s;\n if (token === 'l') return spacing.l;\n if (token === 'xl') return spacing.xl;\n return spacing.m;\n}\n"]}
1
+ {"version":3,"file":"ContentRail.js","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRail.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n I18nManager,\n type NativeScrollEvent,\n type NativeSyntheticEvent,\n ScrollView,\n type ViewStyle,\n} from 'react-native';\n\nimport type {\n ContentRailProps,\n ContentRailVisibleRangeChangeEvent,\n} from '../../../../types/content-rail';\nimport { IconButton } from '../../../button/public';\nimport { View } from '../../../layout/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { useZoraTheme } from '../../../theme/composition/useZoraTheme';\nimport { Text } from '../../../typography/public';\nimport { resolveContentRailItemWidth } from '../../utils/resolveContentRailItemWidth';\nimport { resolveContentRailPhysicalOffset } from '../../utils/resolveContentRailPhysicalOffset';\nimport { resolveContentRailState } from '../../utils/resolveContentRailState';\nimport { useContentRailReducedMotion } from '../../utils/useContentRailReducedMotion';\nimport { ContentRailFlow } from './ContentRailFlow';\n/**\n * Horizontally browsable, manifest-authorable content with responsive item sizing.\n *\n * ContentRail owns only presentation and scrolling. Apps retain ownership of item data,\n * navigation, recommendations, and route behavior.\n */\nexport const ContentRail = withZoraThemeScope(ContentRailInner);\n\n/*** Selects intrinsic scrolling or sized item navigation. */\nfunction ContentRailInner(props: ContentRailProps) {\n return props.itemSize === 'content' ? (\n <ContentRailFlow {...props} />\n ) : (\n <ContentRailCarousel {...props} />\n );\n}\n\n/*** Renders equal-width cards with responsive sizing and accessible previous/next controls. */\nfunction ContentRailCarousel({\n themeId: _themeId,\n mode: _mode,\n interactionPolicy,\n children,\n itemSize = 'responsive',\n gap = 'm',\n padding = 'm',\n peek = 32,\n showControls = true,\n bounces,\n showsScrollIndicator = false,\n direction = 'auto',\n motion = 'system',\n accessibilityLabel = 'Content rail',\n previousLabel = 'Previous items',\n nextLabel = 'Next items',\n onControlPress,\n onVisibleRangeChange,\n testID,\n}: ContentRailProps) {\n const { theme } = useZoraTheme();\n const items = React.Children.toArray(children);\n const scrollViewRef = React.useRef<ScrollView>(null);\n const lastRangeRef = React.useRef<ContentRailVisibleRangeChangeEvent | null>(null);\n const logicalOffsetRef = React.useRef(0);\n const rtlInitializedRef = React.useRef(false);\n const [viewportWidth, setViewportWidth] = React.useState(0);\n const [contentWidth, setContentWidth] = React.useState(0);\n const [logicalOffset, setLogicalOffset] = React.useState(0);\n const reducedMotion = useContentRailReducedMotion(motion);\n const isRtl = direction === 'rtl' || (direction === 'auto' && I18nManager.isRTL);\n const gapValue = resolveSpacingValue(theme.spacing, gap);\n const paddingValue = resolveSpacingValue(theme.spacing, padding);\n const itemWidth = resolveContentRailItemWidth({\n gap: gapValue,\n itemCount: items.length,\n itemSize,\n padding: paddingValue,\n peek,\n viewportWidth,\n });\n const railState = resolveContentRailState({\n contentWidth,\n gap: gapValue,\n itemCount: items.length,\n itemWidth,\n logicalOffset,\n viewportWidth,\n });\n const passive = interactionPolicy === 'passive';\n const hasOverflow = railState.maxOffset > 1;\n\n const emitVisibleRange = React.useCallback(\n (nextOffset: number) => {\n const next = resolveContentRailState({\n contentWidth,\n gap: gapValue,\n itemCount: items.length,\n itemWidth,\n logicalOffset: nextOffset,\n viewportWidth,\n });\n const event = {\n firstVisibleIndex: next.firstVisibleIndex,\n lastVisibleIndex: next.lastVisibleIndex,\n itemCount: items.length,\n };\n const previous = lastRangeRef.current;\n if (\n previous?.firstVisibleIndex === event.firstVisibleIndex &&\n previous.lastVisibleIndex === event.lastVisibleIndex &&\n previous.itemCount === event.itemCount\n ) {\n return;\n }\n lastRangeRef.current = event;\n void onVisibleRangeChange?.(event);\n },\n [contentWidth, gapValue, itemWidth, items.length, onVisibleRangeChange, viewportWidth],\n );\n\n React.useEffect(() => {\n emitVisibleRange(railState.offset);\n }, [emitVisibleRange, railState.offset]);\n\n React.useEffect(() => {\n rtlInitializedRef.current = !isRtl;\n }, [isRtl]);\n\n React.useEffect(() => {\n if (viewportWidth === 0 || contentWidth === 0) return;\n const nextOffset = Math.min(logicalOffsetRef.current, railState.maxOffset);\n scrollViewRef.current?.scrollTo({\n animated: false,\n x: resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: nextOffset,\n maxOffset: railState.maxOffset,\n }),\n y: 0,\n });\n rtlInitializedRef.current = true;\n }, [contentWidth, isRtl, itemWidth, railState.maxOffset, viewportWidth]);\n\n const scrollToIndex = (targetIndex: number, controlDirection: 'previous' | 'next') => {\n if (passive || !hasOverflow) return;\n const clampedIndex = Math.min(Math.max(0, targetIndex), Math.max(0, items.length - 1));\n const targetOffset = Math.min(clampedIndex * railState.stride, railState.maxOffset);\n logicalOffsetRef.current = targetOffset;\n setLogicalOffset(targetOffset);\n scrollViewRef.current?.scrollTo({\n animated: !reducedMotion,\n x: resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: targetOffset,\n maxOffset: railState.maxOffset,\n }),\n y: 0,\n });\n emitVisibleRange(targetOffset);\n void onControlPress?.({ direction: controlDirection, targetIndex: clampedIndex });\n };\n\n const handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n if (isRtl && !rtlInitializedRef.current) return;\n const physicalOffset = event.nativeEvent.contentOffset.x;\n const nextOffset = resolveContentRailPhysicalOffset({\n isRtl,\n logicalOffset: physicalOffset,\n maxOffset: railState.maxOffset,\n });\n const clampedOffset = Math.min(Math.max(0, nextOffset), railState.maxOffset);\n logicalOffsetRef.current = clampedOffset;\n setLogicalOffset(clampedOffset);\n emitVisibleRange(clampedOffset);\n };\n\n const rangeLabel =\n items.length === 0\n ? 'No items'\n : `Items ${railState.firstVisibleIndex + 1}–${railState.lastVisibleIndex + 1} of ${items.length}`;\n const contentStyle: ViewStyle = {\n direction: isRtl ? 'rtl' : 'ltr',\n flexDirection: 'row',\n gap: gapValue,\n paddingHorizontal: paddingValue,\n };\n\n return (\n <View gap=\"s\" testID={testID}>\n {showControls && hasOverflow ? (\n <View direction=\"row\" justify=\"space-between\" wrap=\"nowrap\">\n <Text accessibilityLiveRegion=\"polite\" emphasis=\"muted\" variant=\"caption\">\n {rangeLabel}\n </Text>\n <View direction=\"row\" gap=\"xs\" wrap=\"nowrap\">\n <IconButton\n disabled={passive || !railState.canGoPrevious}\n icon={{ name: isRtl ? 'chevron-forward' : 'chevron-back' }}\n interactionPolicy={interactionPolicy}\n label={previousLabel}\n onPress={() => scrollToIndex(railState.anchorIndex - 1, 'previous')}\n size=\"l\"\n />\n <IconButton\n disabled={passive || !railState.canGoNext}\n icon={{ name: isRtl ? 'chevron-back' : 'chevron-forward' }}\n interactionPolicy={interactionPolicy}\n label={nextLabel}\n onPress={() => scrollToIndex(railState.anchorIndex + 1, 'next')}\n size=\"l\"\n />\n </View>\n </View>\n ) : null}\n <ScrollView\n accessibilityLabel={accessibilityLabel}\n accessibilityRole=\"list\"\n contentContainerStyle={contentStyle}\n decelerationRate=\"fast\"\n disableIntervalMomentum\n horizontal\n onContentSizeChange={(width) => {\n if (isRtl) rtlInitializedRef.current = false;\n setContentWidth(width);\n }}\n onLayout={(event) => {\n if (isRtl) rtlInitializedRef.current = false;\n setViewportWidth(event.nativeEvent.layout.width);\n }}\n onScroll={handleScroll}\n ref={scrollViewRef}\n scrollEnabled={!passive}\n scrollEventThrottle={16}\n bounces={bounces}\n showsHorizontalScrollIndicator={showsScrollIndicator}\n snapToInterval={itemWidth > 0 ? itemWidth + gapValue : undefined}\n >\n {items.map((item, index) => (\n <View key={index} style={{ flexShrink: 0, width: itemWidth || undefined }}>\n {item}\n </View>\n ))}\n </ScrollView>\n </View>\n );\n}\n\nfunction resolveSpacingValue(\n spacing: { none: number; xs: number; s: number; m: number; l: number; xl: number },\n token: NonNullable<ContentRailProps['gap']>,\n): number {\n if (token === 'none') return spacing.none;\n if (token === 'xs') return spacing.xs;\n if (token === 's') return spacing.s;\n if (token === 'l') return spacing.l;\n if (token === 'xl') return spacing.xl;\n return spacing.m;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRailFlow.d.ts","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRailFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,GAAS,EACT,OAAa,EACb,SAAkB,EAClB,OAAO,EACP,oBAA4B,EAC5B,kBAAmC,EACnC,iBAAiB,EACjB,MAAM,GACP,EAAE,gBAAgB,qBAsBlB"}
1
+ {"version":3,"file":"ContentRailFlow.d.ts","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRailFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,GAAS,EACT,OAAa,EACb,SAAkB,EAClB,OAAO,EACP,oBAA4B,EAC5B,kBAAmC,EACnC,iBAAiB,EACjB,MAAM,GACP,EAAE,gBAAgB,qBAsBlB"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ScrollView } from 'react-native';
3
- import { useZoraTheme } from '../../../../theme/useZoraTheme';
3
+ import { useZoraTheme } from '../../../theme/composition/useZoraTheme';
4
4
  /*** Wraps intrinsically sized content in a free horizontal native scroll view. */
5
5
  export function ContentRailFlow({ children, gap = 'm', padding = 'm', direction = 'auto', bounces, showsScrollIndicator = false, accessibilityLabel = 'Content rail', interactionPolicy, testID, }) {
6
6
  const { theme } = useZoraTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRailFlow.js","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRailFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,GAAG,EACb,SAAS,GAAG,MAAM,EAClB,OAAO,EACP,oBAAoB,GAAG,KAAK,EAC5B,kBAAkB,GAAG,cAAc,EACnC,iBAAiB,EACjB,MAAM,GACW;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,CACL,CAAC,UAAU,CACT,UAAU,CACV,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,aAAa,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAC/C,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,CACrD,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,qBAAqB,CAAC,CAAC;YACrB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAC1C,iBAAiB,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SACjE,CAAC,CAEF;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\n\nimport { useZoraTheme } from '../../../../theme/useZoraTheme';\nimport type { ContentRailProps } from '../../../../types/content-rail';\n\n/*** Wraps intrinsically sized content in a free horizontal native scroll view. */\nexport function ContentRailFlow({\n children,\n gap = 'm',\n padding = 'm',\n direction = 'auto',\n bounces,\n showsScrollIndicator = false,\n accessibilityLabel = 'Content rail',\n interactionPolicy,\n testID,\n}: ContentRailProps) {\n const { theme } = useZoraTheme();\n const spacing = new Map(Object.entries(theme.spacing));\n return (\n <ScrollView\n horizontal\n bounces={bounces}\n scrollEnabled={interactionPolicy !== 'passive'}\n showsHorizontalScrollIndicator={showsScrollIndicator}\n accessibilityLabel={accessibilityLabel}\n testID={testID}\n contentContainerStyle={{\n flexDirection: 'row',\n alignItems: 'center',\n direction: direction === 'auto' ? undefined : direction,\n gap: gap === 'none' ? 0 : spacing.get(gap),\n paddingHorizontal: padding === 'none' ? 0 : spacing.get(padding),\n }}\n >\n {children}\n </ScrollView>\n );\n}\n"]}
1
+ {"version":3,"file":"ContentRailFlow.js","sourceRoot":"","sources":["../../../../../src/features/content-rail/adapters/inbound/ContentRailFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAEvE,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,GAAG,EACb,SAAS,GAAG,MAAM,EAClB,OAAO,EACP,oBAAoB,GAAG,KAAK,EAC5B,kBAAkB,GAAG,cAAc,EACnC,iBAAiB,EACjB,MAAM,GACW;IACjB,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,CACL,CAAC,UAAU,CACT,UAAU,CACV,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,aAAa,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAC/C,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,CACrD,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,CACvC,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,qBAAqB,CAAC,CAAC;YACrB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACvD,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAC1C,iBAAiB,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SACjE,CAAC,CAEF;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,UAAU,CAAC,CACd,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\n\nimport type { ContentRailProps } from '../../../../types/content-rail';\nimport { useZoraTheme } from '../../../theme/composition/useZoraTheme';\n\n/*** Wraps intrinsically sized content in a free horizontal native scroll view. */\nexport function ContentRailFlow({\n children,\n gap = 'm',\n padding = 'm',\n direction = 'auto',\n bounces,\n showsScrollIndicator = false,\n accessibilityLabel = 'Content rail',\n interactionPolicy,\n testID,\n}: ContentRailProps) {\n const { theme } = useZoraTheme();\n const spacing = new Map(Object.entries(theme.spacing));\n return (\n <ScrollView\n horizontal\n bounces={bounces}\n scrollEnabled={interactionPolicy !== 'passive'}\n showsHorizontalScrollIndicator={showsScrollIndicator}\n accessibilityLabel={accessibilityLabel}\n testID={testID}\n contentContainerStyle={{\n flexDirection: 'row',\n alignItems: 'center',\n direction: direction === 'auto' ? undefined : direction,\n gap: gap === 'none' ? 0 : spacing.get(gap),\n paddingHorizontal: padding === 'none' ? 0 : spacing.get(padding),\n }}\n >\n {children}\n </ScrollView>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { CONTENT_RAIL_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';
1
+ import { CONTENT_RAIL_ALLOWED_CHILDREN } from '../authoring/allowedChildren';
2
2
  import { CONTENT_RAIL_SPACING_VALUES } from './constants';
3
3
  export const contentRailMeta = {
4
4
  name: 'ContentRail',
@@ -1 +1 @@
1
- {"version":3,"file":"contentRailMeta.js","sourceRoot":"","sources":["../../../src/features/content-rail/contentRailMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\nimport { CONTENT_RAIL_ALLOWED_CHILDREN } from '../../metadata/allowedChildren';\nimport { CONTENT_RAIL_SPACING_VALUES } from './constants';\n\nexport const contentRailMeta = {\n name: 'ContentRail',\n category: 'pattern',\n description:\n 'Native horizontal ScrollView: sized cards with controls, or intrinsic-width content with itemSize=\"content\". The content mode has no snapping, controls, or visible-range events. Use ChipGroup wrap=false for a single scrolling row.',\n directManifestNode: true,\n allowedChildren: [...CONTENT_RAIL_ALLOWED_CHILDREN],\n blueprint: {\n label: 'Content rail',\n icon: { name: 'albums-outline' },\n defaultProps: {\n itemSize: 'responsive',\n gap: 'm',\n padding: 'm',\n peek: 32,\n showControls: true,\n direction: 'auto',\n motion: 'system',\n accessibilityLabel: 'Content rail',\n previousLabel: 'Previous items',\n nextLabel: 'Next items',\n },\n },\n events: {\n controlPress: {\n label: 'Control press',\n eventType: 'contentRail.controlPress',\n description: 'Emitted after a previous or next control requests a target item.',\n payloadFields: [\n { path: 'direction', type: 'string', label: 'Direction' },\n { path: 'targetIndex', type: 'number', label: 'Target index' },\n ],\n },\n visibleRangeChange: {\n label: 'Visible range change',\n eventType: 'contentRail.visibleRangeChange',\n description: 'Emitted when the zero-based visible item range changes.',\n payloadFields: [\n { path: 'firstVisibleIndex', type: 'number', label: 'First visible index' },\n { path: 'lastVisibleIndex', type: 'number', label: 'Last visible index' },\n { path: 'itemCount', type: 'number', label: 'Item count' },\n ],\n },\n },\n slots: {\n children: {\n label: 'Rail items',\n allowedChildren: [...CONTENT_RAIL_ALLOWED_CHILDREN],\n },\n },\n props: {\n bounces: { type: 'boolean', category: 'Behavior', label: 'Bounce (iOS)' },\n showsScrollIndicator: { type: 'boolean', category: 'Style', label: 'Show scroll indicator' },\n itemSize: {\n type: 'enum',\n category: 'Layout',\n label: 'Item size',\n enum: ['compact', 'regular', 'wide', 'responsive', 'content'],\n default: 'responsive',\n },\n gap: {\n type: 'enum',\n category: 'Layout',\n label: 'Gap',\n enum: CONTENT_RAIL_SPACING_VALUES,\n default: 'm',\n },\n padding: {\n type: 'enum',\n category: 'Layout',\n label: 'Horizontal padding',\n enum: CONTENT_RAIL_SPACING_VALUES,\n default: 'm',\n },\n peek: {\n type: 'number',\n category: 'Layout',\n label: 'Partial next item',\n default: 32,\n },\n showControls: {\n type: 'boolean',\n category: 'Controls',\n label: 'Show controls',\n default: true,\n },\n direction: {\n type: 'enum',\n category: 'Layout',\n label: 'Reading direction',\n enum: ['auto', 'ltr', 'rtl'],\n default: 'auto',\n },\n motion: {\n type: 'enum',\n category: 'Accessibility',\n label: 'Motion',\n enum: ['system', 'animated', 'reduced'],\n default: 'system',\n },\n accessibilityLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Rail label',\n default: 'Content rail',\n },\n previousLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Previous control label',\n default: 'Previous items',\n },\n nextLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Next control label',\n default: 'Next items',\n },\n onControlPress: {\n type: 'action',\n category: 'Events',\n label: 'Control press action',\n },\n onVisibleRangeChange: {\n type: 'action',\n category: 'Events',\n label: 'Visible range change action',\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"contentRailMeta.js","sourceRoot":"","sources":["../../../src/features/content-rail/contentRailMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZoraComponentMeta } from '../authoring';\nimport { CONTENT_RAIL_ALLOWED_CHILDREN } from '../authoring/allowedChildren';\nimport { CONTENT_RAIL_SPACING_VALUES } from './constants';\n\nexport const contentRailMeta = {\n name: 'ContentRail',\n category: 'pattern',\n description:\n 'Native horizontal ScrollView: sized cards with controls, or intrinsic-width content with itemSize=\"content\". The content mode has no snapping, controls, or visible-range events. Use ChipGroup wrap=false for a single scrolling row.',\n directManifestNode: true,\n allowedChildren: [...CONTENT_RAIL_ALLOWED_CHILDREN],\n blueprint: {\n label: 'Content rail',\n icon: { name: 'albums-outline' },\n defaultProps: {\n itemSize: 'responsive',\n gap: 'm',\n padding: 'm',\n peek: 32,\n showControls: true,\n direction: 'auto',\n motion: 'system',\n accessibilityLabel: 'Content rail',\n previousLabel: 'Previous items',\n nextLabel: 'Next items',\n },\n },\n events: {\n controlPress: {\n label: 'Control press',\n eventType: 'contentRail.controlPress',\n description: 'Emitted after a previous or next control requests a target item.',\n payloadFields: [\n { path: 'direction', type: 'string', label: 'Direction' },\n { path: 'targetIndex', type: 'number', label: 'Target index' },\n ],\n },\n visibleRangeChange: {\n label: 'Visible range change',\n eventType: 'contentRail.visibleRangeChange',\n description: 'Emitted when the zero-based visible item range changes.',\n payloadFields: [\n { path: 'firstVisibleIndex', type: 'number', label: 'First visible index' },\n { path: 'lastVisibleIndex', type: 'number', label: 'Last visible index' },\n { path: 'itemCount', type: 'number', label: 'Item count' },\n ],\n },\n },\n slots: {\n children: {\n label: 'Rail items',\n allowedChildren: [...CONTENT_RAIL_ALLOWED_CHILDREN],\n },\n },\n props: {\n bounces: { type: 'boolean', category: 'Behavior', label: 'Bounce (iOS)' },\n showsScrollIndicator: { type: 'boolean', category: 'Style', label: 'Show scroll indicator' },\n itemSize: {\n type: 'enum',\n category: 'Layout',\n label: 'Item size',\n enum: ['compact', 'regular', 'wide', 'responsive', 'content'],\n default: 'responsive',\n },\n gap: {\n type: 'enum',\n category: 'Layout',\n label: 'Gap',\n enum: CONTENT_RAIL_SPACING_VALUES,\n default: 'm',\n },\n padding: {\n type: 'enum',\n category: 'Layout',\n label: 'Horizontal padding',\n enum: CONTENT_RAIL_SPACING_VALUES,\n default: 'm',\n },\n peek: {\n type: 'number',\n category: 'Layout',\n label: 'Partial next item',\n default: 32,\n },\n showControls: {\n type: 'boolean',\n category: 'Controls',\n label: 'Show controls',\n default: true,\n },\n direction: {\n type: 'enum',\n category: 'Layout',\n label: 'Reading direction',\n enum: ['auto', 'ltr', 'rtl'],\n default: 'auto',\n },\n motion: {\n type: 'enum',\n category: 'Accessibility',\n label: 'Motion',\n enum: ['system', 'animated', 'reduced'],\n default: 'system',\n },\n accessibilityLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Rail label',\n default: 'Content rail',\n },\n previousLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Previous control label',\n default: 'Previous items',\n },\n nextLabel: {\n type: 'string',\n category: 'Accessibility',\n label: 'Next control label',\n default: 'Next items',\n },\n onControlPress: {\n type: 'action',\n category: 'Events',\n label: 'Control press action',\n },\n onVisibleRangeChange: {\n type: 'action',\n category: 'Events',\n label: 'Visible range change action',\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAUtC;;GAEG;AACH,eAAO,MAAM,SAAS,GA2VE,IAAI,SAAS,MAAM,2DA3VgB,CAAC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAWtC;;GAEG;AACH,eAAO,MAAM,SAAS,GA2VE,IAAI,SAAS,MAAM,2DA3VgB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { Show } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { ScrollView } from 'react-native';
4
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
5
4
  import { Button } from '../../../button/public';
6
5
  import { IconButton } from '../../../button/public';
7
6
  import { Card } from '../../../card/public';
@@ -9,6 +8,7 @@ import { EmptyState } from '../../../empty-state/public';
9
8
  import { View } from '../../../layout/public';
10
9
  import { PopoverMenu } from '../../../popover-menu/public';
11
10
  import { SkeletonList } from '../../../skeleton/public';
11
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
12
12
  import { Text } from '../../../typography/public';
13
13
  import { resolveDataTableRowKey } from '../../utils/resolveDataTableRowKey';
14
14
  /***
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicy } from '@ankhorage/surface';\nimport { Show } from '@ankhorage/surface';\nimport React from 'react';\nimport { ScrollView, type ViewStyle } from 'react-native';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type {\n DataTableCellContext,\n DataTableColumn,\n DataTableColumnAlign,\n DataTableDensity,\n DataTableProps,\n DataTableRowAction,\n DataTableSortDirection,\n} from '../../../../types/data-table';\nimport { Button } from '../../../button/public';\nimport { IconButton } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { EmptyState } from '../../../empty-state/public';\nimport { View } from '../../../layout/public';\nimport { PopoverMenu, type PopoverMenuAction } from '../../../popover-menu/public';\nimport { SkeletonList } from '../../../skeleton/public';\nimport { Text, type TextAlign } from '../../../typography/public';\nimport { resolveDataTableRowKey } from '../../utils/resolveDataTableRowKey';\n/***\n * Displays structured tabular data with responsive desktop/mobile layouts.\n */\nexport const DataTable = withZoraThemeScope(DataTableInner);\n\nfunction resolveTextAlign(align: DataTableColumnAlign | undefined): TextAlign {\n switch (align) {\n case 'center':\n return 'center';\n case 'end':\n return 'right';\n case 'start':\n default:\n return 'left';\n }\n}\n\nfunction resolveCellJustify(align: DataTableColumnAlign | undefined): ViewStyle['alignItems'] {\n switch (align) {\n case 'center':\n return 'center';\n case 'end':\n return 'flex-end';\n case 'start':\n default:\n return 'flex-start';\n }\n}\n\nfunction resolveCellStyle<TRow extends object>(column: DataTableColumn<TRow>): ViewStyle {\n return {\n alignItems: resolveCellJustify(column.align),\n flexGrow: column.width === undefined ? 1 : 0,\n flexShrink: 0,\n minWidth: column.minWidth ?? 140,\n width: column.width,\n };\n}\n\nfunction resolveRowPadding(density: DataTableDensity) {\n return density === 'compact'\n ? { px: 'm' as const, py: 's' as const }\n : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveAccessorValue<TRow extends object>(row: TRow, column: DataTableColumn<TRow>) {\n if (column.accessor === undefined) {\n return undefined;\n }\n\n return row[column.accessor];\n}\n\nfunction renderDefaultCell(value: unknown): React.ReactNode {\n if (value === null || value === undefined) {\n return '—';\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n\n if (typeof value === 'bigint') {\n return value.toString();\n }\n\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n\n return '—';\n}\n\nfunction createCellContext<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n): DataTableCellContext<TRow> {\n return {\n column,\n row,\n rowIndex,\n value: resolveAccessorValue(row, column),\n };\n}\n\nfunction renderCell<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n) {\n const context = createCellContext(column, row, rowIndex);\n return column.renderCell ? column.renderCell(context) : renderDefaultCell(context.value);\n}\n\nfunction renderTableCell<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n) {\n if (column.renderCell) {\n return column.renderCell(createCellContext(column, row, rowIndex));\n }\n\n return (\n <Text align={resolveTextAlign(column.align)} variant=\"bodySmall\">\n {renderDefaultCell(resolveAccessorValue(row, column))}\n </Text>\n );\n}\n\nfunction resolveNextSortDirection(\n current: DataTableSortDirection | undefined,\n): DataTableSortDirection {\n return current === 'asc' ? 'desc' : 'asc';\n}\n\n/*** Maps row-scoped DataTable actions into the shared PopoverMenu action contract. */\nfunction mapRowActions<TRow extends object>(\n row: TRow,\n actions: readonly DataTableRowAction<TRow>[],\n): readonly PopoverMenuAction[] {\n return actions.map((action) => ({\n description: action.description,\n disabled: action.disabled,\n icon: action.icon,\n id: action.id,\n intent: action.intent,\n onPress: action.onPress ? () => action.onPress?.(row) : undefined,\n title: action.title,\n }));\n}\n\n/*** Renders the row action trigger and anchored PopoverMenu when actions exist. */\nfunction renderRowActions<TRow extends object>({\n row,\n rowIndex,\n rowActions,\n testID,\n interactionPolicy,\n}: {\n row: TRow;\n rowIndex: number;\n rowActions: DataTableProps<TRow>['rowActions'];\n testID?: string;\n interactionPolicy?: InteractionPolicy;\n}): React.ReactNode {\n const actions = rowActions?.(row, rowIndex) ?? [];\n\n if (actions.length === 0) {\n return null;\n }\n\n return (\n <PopoverMenu\n actions={mapRowActions(row, actions)}\n interactionPolicy={interactionPolicy}\n testID={testID ? `${testID}-row-actions-${rowIndex}` : undefined}\n trigger={({ toggle }) => (\n <IconButton\n icon={{ name: 'ellipsis-horizontal' }}\n interactionPolicy={interactionPolicy}\n label=\"Row actions\"\n onPress={toggle}\n size=\"s\"\n variant=\"ghost\"\n />\n )}\n />\n );\n}\n\nfunction DataTableHeader<TRow extends object>({\n columns,\n sort,\n onSortChange,\n density,\n interactionPolicy,\n}: Pick<DataTableProps<TRow>, 'columns' | 'density' | 'onSortChange' | 'sort'> & {\n interactionPolicy?: InteractionPolicy;\n}) {\n const padding = resolveRowPadding(density ?? 'comfortable');\n const passive = interactionPolicy === 'passive';\n\n return (\n <View bg=\"subtle\" borderColor=\"border\" borderWidth={1} radius=\"m\">\n <View direction=\"row\" align=\"center\">\n {columns.map((column) => {\n const currentDirection = sort?.columnId === column.id ? sort.direction : undefined;\n const sortable = Boolean(column.sortable && onSortChange);\n const directionLabel =\n currentDirection === undefined ? '' : currentDirection === 'asc' ? ' ↑' : ' ↓';\n\n return (\n <View key={column.id} px={padding.px} py={padding.py} style={resolveCellStyle(column)}>\n {sortable ? (\n <Button\n color=\"primary\"\n interactionPolicy={interactionPolicy}\n onPress={() => {\n if (passive) return;\n\n onSortChange?.({\n columnId: column.id,\n direction: resolveNextSortDirection(currentDirection),\n });\n }}\n size=\"s\"\n variant=\"ghost\"\n >\n {column.header}\n {directionLabel}\n </Button>\n ) : (\n <Text\n align={resolveTextAlign(column.align)}\n emphasis=\"muted\"\n variant=\"caption\"\n weight=\"semiBold\"\n >\n {column.header}\n </Text>\n )}\n </View>\n );\n })}\n <View px={padding.px} py={padding.py} style={{ minWidth: 56, width: 56 }}>\n <Text align=\"right\" emphasis=\"muted\" variant=\"caption\" weight=\"semiBold\">\n Actions\n </Text>\n </View>\n </View>\n </View>\n );\n}\n\nfunction DataTableDesktop<TRow extends object>({\n columns,\n rows,\n rowActions,\n rowId,\n rowKey,\n sort,\n onSortChange,\n density,\n testID,\n interactionPolicy,\n}: DataTableProps<TRow>) {\n const padding = resolveRowPadding(density ?? 'comfortable');\n\n return (\n <ScrollView horizontal showsHorizontalScrollIndicator={false}>\n <View minWidth={720} style={{ width: '100%' }}>\n <View gap=\"xs\">\n <DataTableHeader\n columns={columns}\n density={density}\n interactionPolicy={interactionPolicy}\n onSortChange={onSortChange}\n sort={sort}\n />\n <View gap=\"xs\">\n {rows.map((row, rowIndex) => (\n <View\n bg=\"surface\"\n borderColor=\"border\"\n borderWidth={1}\n key={resolveDataTableRowKey(row, rowIndex, rowKey, rowId)}\n radius=\"m\"\n testID={testID ? `${testID}-row-${rowIndex}` : undefined}\n >\n <View direction=\"row\" align=\"center\">\n {columns.map((column) => (\n <View\n key={column.id}\n px={padding.px}\n py={padding.py}\n style={resolveCellStyle(column)}\n >\n {renderTableCell(column, row, rowIndex)}\n </View>\n ))}\n <View\n px={padding.px}\n py={padding.py}\n style={{ alignItems: 'flex-end', minWidth: 56, width: 56 }}\n >\n {renderRowActions({ row, rowActions, rowIndex, testID, interactionPolicy })}\n </View>\n </View>\n </View>\n ))}\n </View>\n </View>\n </View>\n </ScrollView>\n );\n}\n\nfunction DataTableMobile<TRow extends object>({\n columns,\n rows,\n rowActions,\n rowId,\n rowKey,\n testID,\n interactionPolicy,\n}: DataTableProps<TRow>) {\n const [primaryColumn, ...detailColumns] = columns;\n\n return (\n <View gap=\"s\">\n {rows.map((row, rowIndex) => {\n const title = primaryColumn\n ? renderCell(primaryColumn, row, rowIndex)\n : `Row ${rowIndex + 1}`;\n const actions = renderRowActions({ row, rowActions, rowIndex, testID, interactionPolicy });\n\n return (\n <Card\n actions={actions}\n compact\n interactionPolicy={interactionPolicy}\n key={resolveDataTableRowKey(row, rowIndex, rowKey, rowId)}\n testID={testID ? `${testID}-card-${rowIndex}` : undefined}\n title={title}\n >\n <View gap=\"s\">\n {detailColumns.map((column) => (\n <View gap=\"xxs\" key={column.id}>\n <Text emphasis=\"muted\" variant=\"caption\" weight=\"semiBold\">\n {column.header}\n </Text>\n {column.renderCell ? (\n renderCell(column, row, rowIndex)\n ) : (\n <Text variant=\"bodySmall\">\n {renderDefaultCell(resolveAccessorValue(row, column))}\n </Text>\n )}\n </View>\n ))}\n </View>\n </Card>\n );\n })}\n </View>\n );\n}\n\nfunction DataTableInner<TRow extends object>({\n themeId: _themeId,\n mode: _mode,\n rows,\n loading = false,\n loadingRows = 5,\n emptyTitle = 'No data',\n emptyDescription = 'There are no rows to display.',\n testID,\n density = 'comfortable',\n interactionPolicy,\n ...props\n}: DataTableProps<TRow>) {\n if (loading) {\n return <SkeletonList rows={loadingRows} variant=\"card\" testID={testID} />;\n }\n\n if (rows.length === 0) {\n return <EmptyState title={emptyTitle} description={emptyDescription} />;\n }\n\n const tableProps: DataTableProps<TRow> = {\n ...props,\n density,\n emptyDescription,\n emptyTitle,\n interactionPolicy,\n loading,\n loadingRows,\n rows,\n testID,\n };\n\n return (\n <View testID={testID}>\n <Show when={{ base: false, md: true }} fallback={<DataTableMobile {...tableProps} />}>\n <DataTableDesktop {...tableProps} />\n </Show>\n </View>\n );\n}\n"]}
1
+ {"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../../../src/features/data-table/adapters/inbound/DataTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { InteractionPolicy } from '@ankhorage/surface';\nimport { Show } from '@ankhorage/surface';\nimport React from 'react';\nimport { ScrollView, type ViewStyle } from 'react-native';\n\nimport type {\n DataTableCellContext,\n DataTableColumn,\n DataTableColumnAlign,\n DataTableDensity,\n DataTableProps,\n DataTableRowAction,\n DataTableSortDirection,\n} from '../../../../types/data-table';\nimport { Button } from '../../../button/public';\nimport { IconButton } from '../../../button/public';\nimport { Card } from '../../../card/public';\nimport { EmptyState } from '../../../empty-state/public';\nimport { View } from '../../../layout/public';\nimport { PopoverMenu, type PopoverMenuAction } from '../../../popover-menu/public';\nimport { SkeletonList } from '../../../skeleton/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { Text, type TextAlign } from '../../../typography/public';\nimport { resolveDataTableRowKey } from '../../utils/resolveDataTableRowKey';\n/***\n * Displays structured tabular data with responsive desktop/mobile layouts.\n */\nexport const DataTable = withZoraThemeScope(DataTableInner);\n\nfunction resolveTextAlign(align: DataTableColumnAlign | undefined): TextAlign {\n switch (align) {\n case 'center':\n return 'center';\n case 'end':\n return 'right';\n case 'start':\n default:\n return 'left';\n }\n}\n\nfunction resolveCellJustify(align: DataTableColumnAlign | undefined): ViewStyle['alignItems'] {\n switch (align) {\n case 'center':\n return 'center';\n case 'end':\n return 'flex-end';\n case 'start':\n default:\n return 'flex-start';\n }\n}\n\nfunction resolveCellStyle<TRow extends object>(column: DataTableColumn<TRow>): ViewStyle {\n return {\n alignItems: resolveCellJustify(column.align),\n flexGrow: column.width === undefined ? 1 : 0,\n flexShrink: 0,\n minWidth: column.minWidth ?? 140,\n width: column.width,\n };\n}\n\nfunction resolveRowPadding(density: DataTableDensity) {\n return density === 'compact'\n ? { px: 'm' as const, py: 's' as const }\n : { px: 'm' as const, py: 'm' as const };\n}\n\nfunction resolveAccessorValue<TRow extends object>(row: TRow, column: DataTableColumn<TRow>) {\n if (column.accessor === undefined) {\n return undefined;\n }\n\n return row[column.accessor];\n}\n\nfunction renderDefaultCell(value: unknown): React.ReactNode {\n if (value === null || value === undefined) {\n return '—';\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return String(value);\n }\n\n if (typeof value === 'bigint') {\n return value.toString();\n }\n\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n\n return '—';\n}\n\nfunction createCellContext<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n): DataTableCellContext<TRow> {\n return {\n column,\n row,\n rowIndex,\n value: resolveAccessorValue(row, column),\n };\n}\n\nfunction renderCell<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n) {\n const context = createCellContext(column, row, rowIndex);\n return column.renderCell ? column.renderCell(context) : renderDefaultCell(context.value);\n}\n\nfunction renderTableCell<TRow extends object>(\n column: DataTableColumn<TRow>,\n row: TRow,\n rowIndex: number,\n) {\n if (column.renderCell) {\n return column.renderCell(createCellContext(column, row, rowIndex));\n }\n\n return (\n <Text align={resolveTextAlign(column.align)} variant=\"bodySmall\">\n {renderDefaultCell(resolveAccessorValue(row, column))}\n </Text>\n );\n}\n\nfunction resolveNextSortDirection(\n current: DataTableSortDirection | undefined,\n): DataTableSortDirection {\n return current === 'asc' ? 'desc' : 'asc';\n}\n\n/*** Maps row-scoped DataTable actions into the shared PopoverMenu action contract. */\nfunction mapRowActions<TRow extends object>(\n row: TRow,\n actions: readonly DataTableRowAction<TRow>[],\n): readonly PopoverMenuAction[] {\n return actions.map((action) => ({\n description: action.description,\n disabled: action.disabled,\n icon: action.icon,\n id: action.id,\n intent: action.intent,\n onPress: action.onPress ? () => action.onPress?.(row) : undefined,\n title: action.title,\n }));\n}\n\n/*** Renders the row action trigger and anchored PopoverMenu when actions exist. */\nfunction renderRowActions<TRow extends object>({\n row,\n rowIndex,\n rowActions,\n testID,\n interactionPolicy,\n}: {\n row: TRow;\n rowIndex: number;\n rowActions: DataTableProps<TRow>['rowActions'];\n testID?: string;\n interactionPolicy?: InteractionPolicy;\n}): React.ReactNode {\n const actions = rowActions?.(row, rowIndex) ?? [];\n\n if (actions.length === 0) {\n return null;\n }\n\n return (\n <PopoverMenu\n actions={mapRowActions(row, actions)}\n interactionPolicy={interactionPolicy}\n testID={testID ? `${testID}-row-actions-${rowIndex}` : undefined}\n trigger={({ toggle }) => (\n <IconButton\n icon={{ name: 'ellipsis-horizontal' }}\n interactionPolicy={interactionPolicy}\n label=\"Row actions\"\n onPress={toggle}\n size=\"s\"\n variant=\"ghost\"\n />\n )}\n />\n );\n}\n\nfunction DataTableHeader<TRow extends object>({\n columns,\n sort,\n onSortChange,\n density,\n interactionPolicy,\n}: Pick<DataTableProps<TRow>, 'columns' | 'density' | 'onSortChange' | 'sort'> & {\n interactionPolicy?: InteractionPolicy;\n}) {\n const padding = resolveRowPadding(density ?? 'comfortable');\n const passive = interactionPolicy === 'passive';\n\n return (\n <View bg=\"subtle\" borderColor=\"border\" borderWidth={1} radius=\"m\">\n <View direction=\"row\" align=\"center\">\n {columns.map((column) => {\n const currentDirection = sort?.columnId === column.id ? sort.direction : undefined;\n const sortable = Boolean(column.sortable && onSortChange);\n const directionLabel =\n currentDirection === undefined ? '' : currentDirection === 'asc' ? ' ↑' : ' ↓';\n\n return (\n <View key={column.id} px={padding.px} py={padding.py} style={resolveCellStyle(column)}>\n {sortable ? (\n <Button\n color=\"primary\"\n interactionPolicy={interactionPolicy}\n onPress={() => {\n if (passive) return;\n\n onSortChange?.({\n columnId: column.id,\n direction: resolveNextSortDirection(currentDirection),\n });\n }}\n size=\"s\"\n variant=\"ghost\"\n >\n {column.header}\n {directionLabel}\n </Button>\n ) : (\n <Text\n align={resolveTextAlign(column.align)}\n emphasis=\"muted\"\n variant=\"caption\"\n weight=\"semiBold\"\n >\n {column.header}\n </Text>\n )}\n </View>\n );\n })}\n <View px={padding.px} py={padding.py} style={{ minWidth: 56, width: 56 }}>\n <Text align=\"right\" emphasis=\"muted\" variant=\"caption\" weight=\"semiBold\">\n Actions\n </Text>\n </View>\n </View>\n </View>\n );\n}\n\nfunction DataTableDesktop<TRow extends object>({\n columns,\n rows,\n rowActions,\n rowId,\n rowKey,\n sort,\n onSortChange,\n density,\n testID,\n interactionPolicy,\n}: DataTableProps<TRow>) {\n const padding = resolveRowPadding(density ?? 'comfortable');\n\n return (\n <ScrollView horizontal showsHorizontalScrollIndicator={false}>\n <View minWidth={720} style={{ width: '100%' }}>\n <View gap=\"xs\">\n <DataTableHeader\n columns={columns}\n density={density}\n interactionPolicy={interactionPolicy}\n onSortChange={onSortChange}\n sort={sort}\n />\n <View gap=\"xs\">\n {rows.map((row, rowIndex) => (\n <View\n bg=\"surface\"\n borderColor=\"border\"\n borderWidth={1}\n key={resolveDataTableRowKey(row, rowIndex, rowKey, rowId)}\n radius=\"m\"\n testID={testID ? `${testID}-row-${rowIndex}` : undefined}\n >\n <View direction=\"row\" align=\"center\">\n {columns.map((column) => (\n <View\n key={column.id}\n px={padding.px}\n py={padding.py}\n style={resolveCellStyle(column)}\n >\n {renderTableCell(column, row, rowIndex)}\n </View>\n ))}\n <View\n px={padding.px}\n py={padding.py}\n style={{ alignItems: 'flex-end', minWidth: 56, width: 56 }}\n >\n {renderRowActions({ row, rowActions, rowIndex, testID, interactionPolicy })}\n </View>\n </View>\n </View>\n ))}\n </View>\n </View>\n </View>\n </ScrollView>\n );\n}\n\nfunction DataTableMobile<TRow extends object>({\n columns,\n rows,\n rowActions,\n rowId,\n rowKey,\n testID,\n interactionPolicy,\n}: DataTableProps<TRow>) {\n const [primaryColumn, ...detailColumns] = columns;\n\n return (\n <View gap=\"s\">\n {rows.map((row, rowIndex) => {\n const title = primaryColumn\n ? renderCell(primaryColumn, row, rowIndex)\n : `Row ${rowIndex + 1}`;\n const actions = renderRowActions({ row, rowActions, rowIndex, testID, interactionPolicy });\n\n return (\n <Card\n actions={actions}\n compact\n interactionPolicy={interactionPolicy}\n key={resolveDataTableRowKey(row, rowIndex, rowKey, rowId)}\n testID={testID ? `${testID}-card-${rowIndex}` : undefined}\n title={title}\n >\n <View gap=\"s\">\n {detailColumns.map((column) => (\n <View gap=\"xxs\" key={column.id}>\n <Text emphasis=\"muted\" variant=\"caption\" weight=\"semiBold\">\n {column.header}\n </Text>\n {column.renderCell ? (\n renderCell(column, row, rowIndex)\n ) : (\n <Text variant=\"bodySmall\">\n {renderDefaultCell(resolveAccessorValue(row, column))}\n </Text>\n )}\n </View>\n ))}\n </View>\n </Card>\n );\n })}\n </View>\n );\n}\n\nfunction DataTableInner<TRow extends object>({\n themeId: _themeId,\n mode: _mode,\n rows,\n loading = false,\n loadingRows = 5,\n emptyTitle = 'No data',\n emptyDescription = 'There are no rows to display.',\n testID,\n density = 'comfortable',\n interactionPolicy,\n ...props\n}: DataTableProps<TRow>) {\n if (loading) {\n return <SkeletonList rows={loadingRows} variant=\"card\" testID={testID} />;\n }\n\n if (rows.length === 0) {\n return <EmptyState title={emptyTitle} description={emptyDescription} />;\n }\n\n const tableProps: DataTableProps<TRow> = {\n ...props,\n density,\n emptyDescription,\n emptyTitle,\n interactionPolicy,\n loading,\n loadingRows,\n rows,\n testID,\n };\n\n return (\n <View testID={testID}>\n <Show when={{ base: false, md: true }} fallback={<DataTableMobile {...tableProps} />}>\n <DataTableDesktop {...tableProps} />\n </Show>\n </View>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dataTableMeta.js","sourceRoot":"","sources":["../../../src/features/data-table/dataTableMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACzF,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,sBAAsB;YACjC,aAAa,EAAE;gBACb,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtC;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACtC;iBACF;gBACD,eAAe,EAAE,IAAI;aACtB;SACF;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;QAC7E,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE;gBACV,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;gBAC/D,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;gBAClE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACjE;oBACE,GAAG,EAAE,OAAO;oBACZ,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;iBAC/E;gBACD,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAChE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBACnE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;aACvE;SACF;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;QAClD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;QACnD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;QACzD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE;KAChF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata/types';\n\nexport const dataTableMeta = {\n name: 'DataTable',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: { label: 'Data table', defaultProps: { rows: [], columns: [], rowKey: 'id' } },\n events: {\n sortChange: {\n label: 'Sort change',\n eventType: 'dataTable.sortChange',\n payloadFields: [\n { path: 'columnId', type: 'string' },\n { path: 'direction', type: 'string' },\n ],\n },\n },\n bindings: {\n props: {\n sort: {\n value: {\n type: 'object',\n fields: [\n { path: 'columnId', type: 'string' },\n { path: 'direction', type: 'string' },\n ],\n },\n acceptsFallback: true,\n },\n },\n },\n props: {\n rows: { type: 'array', category: 'Data' },\n rowKey: { type: 'string', category: 'Identity', label: 'Row identity field' },\n columns: {\n type: 'array',\n category: 'Data',\n itemSchema: [\n { key: 'id', schema: { type: 'string', category: 'Identity' } },\n { key: 'header', schema: { type: 'string', category: 'Content' } },\n { key: 'accessor', schema: { type: 'string', category: 'Data' } },\n {\n key: 'align',\n schema: { type: 'enum', category: 'Layout', enum: ['start', 'center', 'end'] },\n },\n { key: 'width', schema: { type: 'number', category: 'Layout' } },\n { key: 'minWidth', schema: { type: 'number', category: 'Layout' } },\n { key: 'sortable', schema: { type: 'boolean', category: 'Behavior' } },\n ],\n },\n loading: { type: 'boolean', category: 'State' },\n loadingRows: { type: 'number', category: 'State' },\n emptyTitle: { type: 'string', category: 'Content' },\n emptyDescription: { type: 'string', category: 'Content' },\n density: { type: 'enum', category: 'Layout', enum: ['comfortable', 'compact'] },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"dataTableMeta.js","sourceRoot":"","sources":["../../../src/features/data-table/dataTableMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IACzF,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,sBAAsB;YACjC,aAAa,EAAE;gBACb,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;aACtC;SACF;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACtC;iBACF;gBACD,eAAe,EAAE,IAAI;aACtB;SACF;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;QAC7E,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE;gBACV,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;gBAC/D,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;gBAClE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACjE;oBACE,GAAG,EAAE,OAAO;oBACZ,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE;iBAC/E;gBACD,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAChE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBACnE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;aACvE;SACF;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;QAClD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;QACnD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;QACzD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE;KAChF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../types/authoring';\n\nexport const dataTableMeta = {\n name: 'DataTable',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: { label: 'Data table', defaultProps: { rows: [], columns: [], rowKey: 'id' } },\n events: {\n sortChange: {\n label: 'Sort change',\n eventType: 'dataTable.sortChange',\n payloadFields: [\n { path: 'columnId', type: 'string' },\n { path: 'direction', type: 'string' },\n ],\n },\n },\n bindings: {\n props: {\n sort: {\n value: {\n type: 'object',\n fields: [\n { path: 'columnId', type: 'string' },\n { path: 'direction', type: 'string' },\n ],\n },\n acceptsFallback: true,\n },\n },\n },\n props: {\n rows: { type: 'array', category: 'Data' },\n rowKey: { type: 'string', category: 'Identity', label: 'Row identity field' },\n columns: {\n type: 'array',\n category: 'Data',\n itemSchema: [\n { key: 'id', schema: { type: 'string', category: 'Identity' } },\n { key: 'header', schema: { type: 'string', category: 'Content' } },\n { key: 'accessor', schema: { type: 'string', category: 'Data' } },\n {\n key: 'align',\n schema: { type: 'enum', category: 'Layout', enum: ['start', 'center', 'end'] },\n },\n { key: 'width', schema: { type: 'number', category: 'Layout' } },\n { key: 'minWidth', schema: { type: 'number', category: 'Layout' } },\n { key: 'sortable', schema: { type: 'boolean', category: 'Behavior' } },\n ],\n },\n loading: { type: 'boolean', category: 'State' },\n loadingRows: { type: 'number', category: 'State' },\n emptyTitle: { type: 'string', category: 'Content' },\n emptyDescription: { type: 'string', category: 'Content' },\n density: { type: 'enum', category: 'Layout', enum: ['comfortable', 'compact'] },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.native.d.ts","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,gEAAgE;AAChE,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
1
+ {"version":3,"file":"DatePicker.native.d.ts","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAQrE,gEAAgE;AAChE,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
2
  import { useBottomSheet } from '../../../bottom-sheet/public';
3
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
4
4
  import { DatePickerContent } from '../../composition/DatePickerContent';
5
5
  import { DatePickerField } from '../../composition/DatePickerField';
6
6
  import { DatePickerTrigger } from '../../composition/DatePickerTrigger';
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.native.js","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAE9D,wFAAwF;AACxF,SAAS,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAE9C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO;QAElD,OAAO,CAAC;YACN,OAAO,EAAE,CACP,CAAC,iBAAiB,CAChB,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/B,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjB,KAAK,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EACnB,CACH;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9B,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CACzB;MAAA,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EACpD;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { DatePickerProps } from '../../../../types/date-picker';\nimport { useBottomSheet } from '../../../bottom-sheet/public';\nimport { DatePickerContent } from '../../composition/DatePickerContent';\nimport { DatePickerField } from '../../composition/DatePickerField';\nimport { DatePickerTrigger } from '../../composition/DatePickerTrigger';\nimport { formatLocalDate } from '../../utils/localDate';\n\n/*** Renders DatePicker with native BottomSheet presentation. */\nexport const DatePicker = withZoraThemeScope(DatePickerInner);\n\n/*** Connects the shared DatePicker field and content to the native BottomSheet host. */\nfunction DatePickerInner({ themeId: _themeId, mode: _mode, ...props }: DatePickerProps) {\n const { dismiss, present } = useBottomSheet();\n\n const openPicker = React.useCallback(() => {\n if (props.interactionPolicy === 'passive') return;\n\n present({\n content: (\n <DatePickerContent\n description={props.description}\n interactionPolicy={props.interactionPolicy}\n label={props.label}\n maxDate={props.maxDate}\n minDate={props.minDate}\n onDismiss={dismiss}\n onSelect={(date) => {\n props.onValueChange?.(formatLocalDate(date));\n dismiss();\n }}\n testID={props.testID}\n value={props.value}\n />\n ),\n });\n }, [dismiss, present, props]);\n\n return (\n <DatePickerField {...props}>\n <DatePickerTrigger {...props} onPress={openPicker} />\n </DatePickerField>\n );\n}\n"]}
1
+ {"version":3,"file":"DatePicker.native.js","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAE9D,wFAAwF;AACxF,SAAS,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IACpF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAE9C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO;QAElD,OAAO,CAAC;YACN,OAAO,EAAE,CACP,CAAC,iBAAiB,CAChB,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/B,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjB,KAAK,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EACnB,CACH;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9B,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CACzB;MAAA,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EACpD;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\n\nimport type { DatePickerProps } from '../../../../types/date-picker';\nimport { useBottomSheet } from '../../../bottom-sheet/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { DatePickerContent } from '../../composition/DatePickerContent';\nimport { DatePickerField } from '../../composition/DatePickerField';\nimport { DatePickerTrigger } from '../../composition/DatePickerTrigger';\nimport { formatLocalDate } from '../../utils/localDate';\n\n/*** Renders DatePicker with native BottomSheet presentation. */\nexport const DatePicker = withZoraThemeScope(DatePickerInner);\n\n/*** Connects the shared DatePicker field and content to the native BottomSheet host. */\nfunction DatePickerInner({ themeId: _themeId, mode: _mode, ...props }: DatePickerProps) {\n const { dismiss, present } = useBottomSheet();\n\n const openPicker = React.useCallback(() => {\n if (props.interactionPolicy === 'passive') return;\n\n present({\n content: (\n <DatePickerContent\n description={props.description}\n interactionPolicy={props.interactionPolicy}\n label={props.label}\n maxDate={props.maxDate}\n minDate={props.minDate}\n onDismiss={dismiss}\n onSelect={(date) => {\n props.onValueChange?.(formatLocalDate(date));\n dismiss();\n }}\n testID={props.testID}\n value={props.value}\n />\n ),\n });\n }, [dismiss, present, props]);\n\n return (\n <DatePickerField {...props}>\n <DatePickerTrigger {...props} onPress={openPicker} />\n </DatePickerField>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.web.d.ts","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,kEAAkE;AAClE,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
1
+ {"version":3,"file":"DatePicker.web.d.ts","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAQrE,kEAAkE;AAClE,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Popover } from '@ankhorage/surface';
2
2
  import React from 'react';
3
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
4
3
  import { Surface } from '../../../surface/public';
4
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
5
5
  import { DatePickerContent } from '../../composition/DatePickerContent';
6
6
  import { DatePickerField } from '../../composition/DatePickerField';
7
7
  import { DatePickerTrigger } from '../../composition/DatePickerTrigger';
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.web.js","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAE9D,iFAAiF;AACjF,SAAS,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CACzB;MAAA,CAAC,OAAO,CACN,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAG,CAAC,CAC1E,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,YAAY,CAAC,CAAC,OAAO,CAAC,CACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,SAAS,CAAC,cAAc,CACxB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAE7D;QAAA,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CACvB;UAAA,CAAC,iBAAiB,CAChB,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/B,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAChC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,KAAK,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAEvB;QAAA,EAAE,OAAO,CACX;MAAA,EAAE,OAAO,CACX;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC","sourcesContent":["import { Popover } from '@ankhorage/surface';\nimport React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { DatePickerProps } from '../../../../types/date-picker';\nimport { Surface } from '../../../surface/public';\nimport { DatePickerContent } from '../../composition/DatePickerContent';\nimport { DatePickerField } from '../../composition/DatePickerField';\nimport { DatePickerTrigger } from '../../composition/DatePickerTrigger';\nimport { formatLocalDate } from '../../utils/localDate';\n\n/*** Renders DatePicker with anchored web Popover presentation. */\nexport const DatePicker = withZoraThemeScope(DatePickerInner);\n\n/*** Connects the shared DatePicker field and content to the web Popover host. */\nfunction DatePickerInner({ themeId: _themeId, mode: _mode, ...props }: DatePickerProps) {\n const [open, setOpen] = React.useState(false);\n\n return (\n <DatePickerField {...props}>\n <Popover\n anchor={({ toggle }) => <DatePickerTrigger {...props} onPress={toggle} />}\n interactionPolicy={props.interactionPolicy}\n onOpenChange={setOpen}\n open={open}\n placement=\"bottom-start\"\n testID={props.testID ? `${props.testID}-popover` : undefined}\n >\n <Surface variant=\"raised\">\n <DatePickerContent\n description={props.description}\n interactionPolicy={props.interactionPolicy}\n label={props.label}\n maxDate={props.maxDate}\n minDate={props.minDate}\n onDismiss={() => setOpen(false)}\n onSelect={(date) => {\n props.onValueChange?.(formatLocalDate(date));\n setOpen(false);\n }}\n testID={props.testID}\n value={props.value}\n />\n </Surface>\n </Popover>\n </DatePickerField>\n );\n}\n"]}
1
+ {"version":3,"file":"DatePicker.web.js","sourceRoot":"","sources":["../../../../../src/features/date-picker/adapters/inbound/DatePicker.web.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,kEAAkE;AAClE,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAE9D,iFAAiF;AACjF,SAAS,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAmB;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,CACzB;MAAA,CAAC,OAAO,CACN,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAG,CAAC,CAC1E,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,YAAY,CAAC,CAAC,OAAO,CAAC,CACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,SAAS,CAAC,cAAc,CACxB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAE7D;QAAA,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CACvB;UAAA,CAAC,iBAAiB,CAChB,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/B,iBAAiB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAC3C,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAChC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,KAAK,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CACF,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAEvB;QAAA,EAAE,OAAO,CACX;MAAA,EAAE,OAAO,CACX;IAAA,EAAE,eAAe,CAAC,CACnB,CAAC;AACJ,CAAC","sourcesContent":["import { Popover } from '@ankhorage/surface';\nimport React from 'react';\n\nimport type { DatePickerProps } from '../../../../types/date-picker';\nimport { Surface } from '../../../surface/public';\nimport { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';\nimport { DatePickerContent } from '../../composition/DatePickerContent';\nimport { DatePickerField } from '../../composition/DatePickerField';\nimport { DatePickerTrigger } from '../../composition/DatePickerTrigger';\nimport { formatLocalDate } from '../../utils/localDate';\n\n/*** Renders DatePicker with anchored web Popover presentation. */\nexport const DatePicker = withZoraThemeScope(DatePickerInner);\n\n/*** Connects the shared DatePicker field and content to the web Popover host. */\nfunction DatePickerInner({ themeId: _themeId, mode: _mode, ...props }: DatePickerProps) {\n const [open, setOpen] = React.useState(false);\n\n return (\n <DatePickerField {...props}>\n <Popover\n anchor={({ toggle }) => <DatePickerTrigger {...props} onPress={toggle} />}\n interactionPolicy={props.interactionPolicy}\n onOpenChange={setOpen}\n open={open}\n placement=\"bottom-start\"\n testID={props.testID ? `${props.testID}-popover` : undefined}\n >\n <Surface variant=\"raised\">\n <DatePickerContent\n description={props.description}\n interactionPolicy={props.interactionPolicy}\n label={props.label}\n maxDate={props.maxDate}\n minDate={props.minDate}\n onDismiss={() => setOpen(false)}\n onSelect={(date) => {\n props.onValueChange?.(formatLocalDate(date));\n setOpen(false);\n }}\n testID={props.testID}\n value={props.value}\n />\n </Surface>\n </Popover>\n </DatePickerField>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"datePickerMeta.js","sourceRoot":"","sources":["../../../src/features/date-picker/datePickerMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,4EAA4E;IACzF,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,wBAAwB;YACnC,WAAW,EAAE,iDAAiD;YAC9D,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SACnE;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;SACrC;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAC9D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;QAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,aAAa;SACvB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE;QAC1E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE;QAC1E,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata';\n\nexport const datePickerMeta = {\n name: 'DatePicker',\n category: 'component',\n description: 'Captures a local calendar date through the shared BottomSheet picker host.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Date picker',\n defaultProps: {\n value: null,\n placeholder: 'Choose date',\n disabled: false,\n required: false,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'datePicker.valueChange',\n description: 'Emitted when a local calendar date is selected.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n value: {\n type: 'string',\n category: 'State',\n label: 'Value',\n default: null,\n authoring: { authority: 'instance' },\n },\n label: { type: 'string', category: 'Content', label: 'Label' },\n description: { type: 'string', category: 'Content', label: 'Description' },\n error: { type: 'string', category: 'Validation', label: 'Error' },\n placeholder: {\n type: 'string',\n category: 'Content',\n label: 'Placeholder',\n default: 'Choose date',\n },\n minDate: { type: 'string', category: 'Validation', label: 'Minimum date' },\n maxDate: { type: 'string', category: 'Validation', label: 'Maximum date' },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n default: false,\n },\n required: {\n type: 'boolean',\n category: 'Validation',\n label: 'Required',\n default: false,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
1
+ {"version":3,"file":"datePickerMeta.js","sourceRoot":"","sources":["../../../src/features/date-picker/datePickerMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,4EAA4E;IACzF,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE;QACT,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,wBAAwB;YACnC,WAAW,EAAE,iDAAiD;YAC9D,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SACnE;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE;SACrC;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;QAC9D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;QAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,aAAa;SACvB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE;QAC1E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE;QAC1E,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,KAAK;SACf;KACF;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../authoring';\n\nexport const datePickerMeta = {\n name: 'DatePicker',\n category: 'component',\n description: 'Captures a local calendar date through the shared BottomSheet picker host.',\n directManifestNode: true,\n allowedChildren: [],\n blueprint: {\n label: 'Date picker',\n defaultProps: {\n value: null,\n placeholder: 'Choose date',\n disabled: false,\n required: false,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'datePicker.valueChange',\n description: 'Emitted when a local calendar date is selected.',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n props: {\n value: {\n type: 'string',\n category: 'State',\n label: 'Value',\n default: null,\n authoring: { authority: 'instance' },\n },\n label: { type: 'string', category: 'Content', label: 'Label' },\n description: { type: 'string', category: 'Content', label: 'Description' },\n error: { type: 'string', category: 'Validation', label: 'Error' },\n placeholder: {\n type: 'string',\n category: 'Content',\n label: 'Placeholder',\n default: 'Choose date',\n },\n minDate: { type: 'string', category: 'Validation', label: 'Minimum date' },\n maxDate: { type: 'string', category: 'Validation', label: 'Maximum date' },\n disabled: {\n type: 'boolean',\n category: 'State',\n label: 'Disabled',\n default: false,\n },\n required: {\n type: 'boolean',\n category: 'Validation',\n label: 'Required',\n default: false,\n },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/dialog/adapters/inbound/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,2FAA2F;AAC3F,eAAO,MAAM,MAAM,mDAAkC,CAAC"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/dialog/adapters/inbound/Dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,2FAA2F;AAC3F,eAAO,MAAM,MAAM,mDAAkC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { Modal as SurfaceModal } from '@ankhorage/surface';
2
2
  import React from 'react';
3
3
  import { StyleSheet } from 'react-native';
4
- import { resolveDialogWidth } from '../../../../internal/recipes';
5
- import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
6
4
  import { View } from '../../../layout/public';
5
+ import { withZoraThemeScope } from '../../../theme/adapters/inbound/withZoraThemeScope';
7
6
  import { Heading, Text } from '../../../typography/public';
7
+ import { resolveDialogWidth } from '../../utils/resolveDialogWidth';
8
8
  /*** Renders the product-level dialog composition on top of the Surface modal primitive. */
9
9
  export const Dialog = withZoraThemeScope(DialogInner);
10
10
  /*** Connects dialog chrome and slots to the generic modal overlay. */