@ankhorage/zora 15.0.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/constants.d.ts +5 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +5 -0
  6. package/dist/constants.js.map +1 -1
  7. package/dist/features/accordion/accordionItemMeta.d.ts +1 -1
  8. package/dist/features/bottom-sheet/bottomSheetMeta.d.ts +1 -1
  9. package/dist/features/button/utils/resolveButtonThemeRecipe.d.ts +1 -1
  10. package/dist/features/card/cardMeta.d.ts +1 -1
  11. package/dist/features/card/mediaCardMeta.d.ts +1 -1
  12. package/dist/features/card/postCardMeta.d.ts +1 -1
  13. package/dist/features/dialog/adapters/inbound/Dialog.d.ts +5 -0
  14. package/dist/features/dialog/adapters/inbound/Dialog.d.ts.map +1 -0
  15. package/dist/features/dialog/adapters/inbound/Dialog.js +45 -0
  16. package/dist/features/dialog/adapters/inbound/Dialog.js.map +1 -0
  17. package/dist/features/dialog/dialogMeta.d.ts +87 -0
  18. package/dist/features/dialog/dialogMeta.d.ts.map +1 -0
  19. package/dist/features/dialog/dialogMeta.js +59 -0
  20. package/dist/features/dialog/dialogMeta.js.map +1 -0
  21. package/dist/features/dialog/public.d.ts +3 -0
  22. package/dist/features/dialog/public.d.ts.map +1 -0
  23. package/dist/features/dialog/public.js +2 -0
  24. package/dist/features/dialog/public.js.map +1 -0
  25. package/dist/features/form/formFieldMeta.d.ts +1 -1
  26. package/dist/features/form/formFieldMeta.d.ts.map +1 -1
  27. package/dist/features/form/formFieldMeta.js +8 -1
  28. package/dist/features/form/formFieldMeta.js.map +1 -1
  29. package/dist/features/form/radio/utils/resolveRadioGroupThemeRecipe.d.ts +1 -1
  30. package/dist/features/form/search-input/adapters/inbound/SearchInput.d.ts +4 -0
  31. package/dist/features/form/search-input/adapters/inbound/SearchInput.d.ts.map +1 -0
  32. package/dist/{components/search-bar/SearchBar.js → features/form/search-input/adapters/inbound/SearchInput.js} +8 -10
  33. package/dist/features/form/search-input/adapters/inbound/SearchInput.js.map +1 -0
  34. package/dist/features/form/search-input/public.d.ts +3 -0
  35. package/dist/features/form/search-input/public.d.ts.map +1 -0
  36. package/dist/features/form/search-input/public.js +2 -0
  37. package/dist/features/form/search-input/public.js.map +1 -0
  38. package/dist/features/form/search-input/searchInputMeta.d.ts +126 -0
  39. package/dist/features/form/search-input/searchInputMeta.d.ts.map +1 -0
  40. package/dist/features/form/search-input/searchInputMeta.js +67 -0
  41. package/dist/features/form/search-input/searchInputMeta.js.map +1 -0
  42. package/dist/features/gradient/gradientMeta.d.ts +1 -1
  43. package/dist/features/keyboard-avoiding-view/keyboardAvoidingViewMeta.d.ts +1 -1
  44. package/dist/features/layout/boxMeta.d.ts +1 -1
  45. package/dist/features/layout/containerMeta.d.ts +1 -1
  46. package/dist/features/layout/gridMeta.d.ts +1 -1
  47. package/dist/features/layout/stackMeta.d.ts +1 -1
  48. package/dist/features/list/flatListMeta.d.ts +1 -1
  49. package/dist/features/list/sectionListMeta.d.ts +1 -1
  50. package/dist/features/pagination/adapters/inbound/Pagination.d.ts +5 -0
  51. package/dist/features/pagination/adapters/inbound/Pagination.d.ts.map +1 -0
  52. package/dist/features/pagination/adapters/inbound/Pagination.js +43 -0
  53. package/dist/features/pagination/adapters/inbound/Pagination.js.map +1 -0
  54. package/dist/features/pagination/paginationMeta.d.ts +118 -0
  55. package/dist/features/pagination/paginationMeta.d.ts.map +1 -0
  56. package/dist/features/pagination/paginationMeta.js +53 -0
  57. package/dist/features/pagination/paginationMeta.js.map +1 -0
  58. package/dist/features/pagination/public.d.ts +3 -0
  59. package/dist/features/pagination/public.d.ts.map +1 -0
  60. package/dist/features/pagination/public.js +2 -0
  61. package/dist/features/pagination/public.js.map +1 -0
  62. package/dist/features/pagination/utils/resolvePaginationPage.d.ts +3 -0
  63. package/dist/features/pagination/utils/resolvePaginationPage.d.ts.map +1 -0
  64. package/dist/features/pagination/utils/resolvePaginationPage.js +7 -0
  65. package/dist/features/pagination/utils/resolvePaginationPage.js.map +1 -0
  66. package/dist/features/pagination/utils/resolvePaginationState.d.ts +17 -0
  67. package/dist/features/pagination/utils/resolvePaginationState.d.ts.map +1 -0
  68. package/dist/features/pagination/utils/resolvePaginationState.js +34 -0
  69. package/dist/features/pagination/utils/resolvePaginationState.js.map +1 -0
  70. package/dist/features/rating/adapters/inbound/Rating.d.ts +4 -0
  71. package/dist/features/rating/adapters/inbound/Rating.d.ts.map +1 -0
  72. package/dist/features/rating/adapters/inbound/Rating.js +49 -0
  73. package/dist/features/rating/adapters/inbound/Rating.js.map +1 -0
  74. package/dist/features/rating/public.d.ts +3 -0
  75. package/dist/features/rating/public.d.ts.map +1 -0
  76. package/dist/features/rating/public.js +2 -0
  77. package/dist/features/rating/public.js.map +1 -0
  78. package/dist/features/rating/ratingMeta.d.ts +57 -0
  79. package/dist/features/rating/ratingMeta.d.ts.map +1 -0
  80. package/dist/features/rating/ratingMeta.js +43 -0
  81. package/dist/features/rating/ratingMeta.js.map +1 -0
  82. package/dist/features/rating/utils/resolveRatingSegments.d.ts +9 -0
  83. package/dist/features/rating/utils/resolveRatingSegments.d.ts.map +1 -0
  84. package/dist/features/rating/utils/resolveRatingSegments.js +14 -0
  85. package/dist/features/rating/utils/resolveRatingSegments.js.map +1 -0
  86. package/dist/features/surface/surfaceMeta.d.ts +1 -1
  87. package/dist/features/tabs/adapters/inbound/Tab.d.ts +5 -0
  88. package/dist/features/tabs/adapters/inbound/Tab.d.ts.map +1 -0
  89. package/dist/features/tabs/adapters/inbound/Tab.js +14 -0
  90. package/dist/features/tabs/adapters/inbound/Tab.js.map +1 -0
  91. package/dist/features/tabs/adapters/inbound/TabList.d.ts +4 -0
  92. package/dist/features/tabs/adapters/inbound/TabList.d.ts.map +1 -0
  93. package/dist/features/tabs/adapters/inbound/TabList.js +9 -0
  94. package/dist/features/tabs/adapters/inbound/TabList.js.map +1 -0
  95. package/dist/features/tabs/adapters/inbound/TabPanel.d.ts +4 -0
  96. package/dist/features/tabs/adapters/inbound/TabPanel.d.ts.map +1 -0
  97. package/dist/features/tabs/adapters/inbound/TabPanel.js +11 -0
  98. package/dist/features/tabs/adapters/inbound/TabPanel.js.map +1 -0
  99. package/dist/features/tabs/adapters/inbound/Tabs.d.ts +4 -0
  100. package/dist/features/tabs/adapters/inbound/Tabs.d.ts.map +1 -0
  101. package/dist/features/tabs/adapters/inbound/Tabs.js +12 -0
  102. package/dist/features/tabs/adapters/inbound/Tabs.js.map +1 -0
  103. package/dist/features/tabs/composition/TabsInteractionPolicyContext.d.ts +3 -0
  104. package/dist/features/tabs/composition/TabsInteractionPolicyContext.d.ts.map +1 -0
  105. package/dist/features/tabs/composition/TabsInteractionPolicyContext.js +3 -0
  106. package/dist/features/tabs/composition/TabsInteractionPolicyContext.js.map +1 -0
  107. package/dist/features/tabs/public.d.ts +6 -0
  108. package/dist/features/tabs/public.d.ts.map +1 -0
  109. package/dist/features/tabs/public.js +5 -0
  110. package/dist/features/tabs/public.js.map +1 -0
  111. package/dist/features/tabs/tabListMeta.d.ts +9 -0
  112. package/dist/features/tabs/tabListMeta.d.ts.map +1 -0
  113. package/dist/features/tabs/tabListMeta.js +9 -0
  114. package/dist/features/tabs/tabListMeta.js.map +1 -0
  115. package/dist/features/tabs/tabMeta.d.ts +32 -0
  116. package/dist/features/tabs/tabMeta.d.ts.map +1 -0
  117. package/dist/features/tabs/tabMeta.js +14 -0
  118. package/dist/features/tabs/tabMeta.js.map +1 -0
  119. package/dist/features/tabs/tabPanelMeta.d.ts +15 -0
  120. package/dist/features/tabs/tabPanelMeta.d.ts.map +1 -0
  121. package/dist/features/tabs/tabPanelMeta.js +12 -0
  122. package/dist/features/tabs/tabPanelMeta.js.map +1 -0
  123. package/dist/features/tabs/tabsMeta.d.ts +58 -0
  124. package/dist/features/tabs/tabsMeta.d.ts.map +1 -0
  125. package/dist/features/tabs/tabsMeta.js +40 -0
  126. package/dist/features/tabs/tabsMeta.js.map +1 -0
  127. package/dist/features/toolbar/adapters/inbound/Toolbar.d.ts +4 -0
  128. package/dist/features/toolbar/adapters/inbound/Toolbar.d.ts.map +1 -0
  129. package/dist/features/toolbar/adapters/inbound/Toolbar.js +14 -0
  130. package/dist/features/toolbar/adapters/inbound/Toolbar.js.map +1 -0
  131. package/dist/features/toolbar/public.d.ts +3 -0
  132. package/dist/features/toolbar/public.d.ts.map +1 -0
  133. package/dist/features/toolbar/public.js +2 -0
  134. package/dist/features/toolbar/public.js.map +1 -0
  135. package/dist/features/toolbar/toolbarMeta.d.ts +29 -0
  136. package/dist/features/toolbar/toolbarMeta.d.ts.map +1 -0
  137. package/dist/features/toolbar/toolbarMeta.js +22 -0
  138. package/dist/features/toolbar/toolbarMeta.js.map +1 -0
  139. package/dist/features/typography/utils/resolveHeadingThemeRecipe.d.ts +1 -1
  140. package/dist/features/typography/utils/resolveTextThemeRecipe.d.ts +1 -1
  141. package/dist/features/uploader/adapters/inbound/Uploader.d.ts.map +1 -1
  142. package/dist/features/uploader/adapters/inbound/Uploader.js +3 -3
  143. package/dist/features/uploader/adapters/inbound/Uploader.js.map +1 -1
  144. package/dist/index.d.ts +6 -12
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +6 -6
  147. package/dist/index.js.map +1 -1
  148. package/dist/layout/screen/meta.d.ts +1 -1
  149. package/dist/layout/screen-section/meta.d.ts +1 -1
  150. package/dist/metadata/allowedChildren.d.ts +3 -3
  151. package/dist/metadata/allowedChildren.d.ts.map +1 -1
  152. package/dist/metadata/allowedChildren.js +6 -0
  153. package/dist/metadata/allowedChildren.js.map +1 -1
  154. package/dist/metadata/bindableComponentMeta.d.ts +2 -2
  155. package/dist/metadata/componentMeta.d.ts.map +1 -1
  156. package/dist/metadata/componentMeta.js +14 -9
  157. package/dist/metadata/componentMeta.js.map +1 -1
  158. package/dist/patterns/confirm-dialog/ConfirmDialog.js +3 -3
  159. package/dist/patterns/confirm-dialog/ConfirmDialog.js.map +1 -1
  160. package/dist/patterns/message-bubble/meta.d.ts +1 -1
  161. package/dist/patterns/notice/meta.d.ts +1 -1
  162. package/dist/patterns/panel/meta.d.ts +1 -1
  163. package/dist/patterns/reader/meta.d.ts +2 -2
  164. package/dist/patterns/scanner/meta.d.ts +2 -2
  165. package/dist/patterns/theme-composer/ThemeComposer.d.ts.map +1 -1
  166. package/dist/patterns/theme-composer/ThemeComposer.js +3 -3
  167. package/dist/patterns/theme-composer/ThemeComposer.js.map +1 -1
  168. package/dist/registry.d.ts.map +1 -1
  169. package/dist/registry.js +11 -9
  170. package/dist/registry.js.map +1 -1
  171. package/dist/types/dialog.d.ts +14 -0
  172. package/dist/types/dialog.d.ts.map +1 -0
  173. package/dist/types/dialog.js +2 -0
  174. package/dist/types/dialog.js.map +1 -0
  175. package/dist/types/pagination.d.ts +16 -0
  176. package/dist/types/pagination.d.ts.map +1 -0
  177. package/dist/types/pagination.js +2 -0
  178. package/dist/types/pagination.js.map +1 -0
  179. package/dist/types/rating.d.ts +9 -0
  180. package/dist/types/rating.d.ts.map +1 -0
  181. package/dist/types/rating.js +2 -0
  182. package/dist/types/rating.js.map +1 -0
  183. package/dist/types/search-input.d.ts +14 -0
  184. package/dist/types/search-input.d.ts.map +1 -0
  185. package/dist/types/search-input.js +2 -0
  186. package/dist/types/search-input.js.map +1 -0
  187. package/dist/types/tabs.d.ts +21 -0
  188. package/dist/types/tabs.d.ts.map +1 -0
  189. package/dist/types/tabs.js +2 -0
  190. package/dist/types/tabs.js.map +1 -0
  191. package/dist/types/toolbar.d.ts +8 -0
  192. package/dist/types/toolbar.d.ts.map +1 -0
  193. package/dist/types/toolbar.js +2 -0
  194. package/dist/types/toolbar.js.map +1 -0
  195. package/package.json +1 -1
  196. package/src/audit.test.ts +8 -47
  197. package/src/constants.ts +5 -0
  198. package/src/featureManifest.test.ts +31 -2
  199. package/src/features/dialog/adapters/inbound/Dialog.tsx +70 -0
  200. package/src/features/dialog/dialogMeta.ts +60 -0
  201. package/src/features/dialog/public.ts +2 -0
  202. package/src/features/form/formFieldMeta.ts +8 -1
  203. package/src/{components/search-bar/SearchBar.tsx → features/form/search-input/adapters/inbound/SearchInput.tsx} +10 -15
  204. package/src/features/form/search-input/public.ts +2 -0
  205. package/src/features/form/search-input/searchInputMeta.ts +68 -0
  206. package/src/features/pagination/adapters/inbound/Pagination.tsx +116 -0
  207. package/src/features/pagination/paginationMeta.ts +54 -0
  208. package/src/features/pagination/public.ts +2 -0
  209. package/src/features/pagination/utils/resolvePaginationPage.ts +6 -0
  210. package/src/features/pagination/utils/resolvePaginationState.test.ts +29 -0
  211. package/src/features/pagination/utils/resolvePaginationState.ts +70 -0
  212. package/src/features/rating/adapters/inbound/Rating.tsx +70 -0
  213. package/src/features/rating/public.ts +2 -0
  214. package/src/features/rating/ratingMeta.ts +44 -0
  215. package/src/features/rating/utils/resolveRatingSegments.test.ts +20 -0
  216. package/src/features/rating/utils/resolveRatingSegments.ts +19 -0
  217. package/src/features/tabs/adapters/inbound/Tab.tsx +26 -0
  218. package/src/features/tabs/adapters/inbound/TabList.tsx +18 -0
  219. package/src/features/tabs/adapters/inbound/TabPanel.tsx +23 -0
  220. package/src/features/tabs/adapters/inbound/Tabs.tsx +23 -0
  221. package/src/features/tabs/composition/TabsInteractionPolicyContext.ts +4 -0
  222. package/src/features/tabs/public.ts +5 -0
  223. package/src/features/tabs/tabListMeta.ts +10 -0
  224. package/src/features/tabs/tabMeta.ts +15 -0
  225. package/src/features/tabs/tabPanelMeta.ts +13 -0
  226. package/src/features/tabs/tabsMeta.ts +41 -0
  227. package/src/features/toolbar/adapters/inbound/Toolbar.tsx +31 -0
  228. package/src/features/toolbar/public.ts +2 -0
  229. package/src/features/toolbar/toolbarMeta.ts +24 -0
  230. package/src/{components → features/typography}/contentFallback.test.ts +2 -8
  231. package/src/features/uploader/adapters/inbound/Uploader.tsx +3 -3
  232. package/src/index.ts +15 -12
  233. package/src/metadata/allowedChildren.ts +6 -0
  234. package/src/metadata/componentMeta.test.ts +18 -1
  235. package/src/metadata/componentMeta.ts +14 -9
  236. package/src/patterns/confirm-dialog/ConfirmDialog.tsx +3 -3
  237. package/src/patterns/theme-composer/ThemeComposer.tsx +6 -7
  238. package/src/registry.ts +11 -9
  239. package/src/showcaseCoverage.test.ts +6 -3
  240. package/src/theme/themeScopeStructure.test.ts +16 -11
  241. package/src/types/dialog.ts +15 -0
  242. package/src/{components/pagination/types.ts → types/pagination.ts} +5 -8
  243. package/src/types/rating.ts +9 -0
  244. package/src/types/search-input.ts +14 -0
  245. package/src/types/tabs.ts +25 -0
  246. package/src/types/toolbar.ts +9 -0
  247. package/dist/components/modal/Modal.d.ts +0 -7
  248. package/dist/components/modal/Modal.d.ts.map +0 -1
  249. package/dist/components/modal/Modal.js +0 -39
  250. package/dist/components/modal/Modal.js.map +0 -1
  251. package/dist/components/modal/index.d.ts +0 -3
  252. package/dist/components/modal/index.d.ts.map +0 -1
  253. package/dist/components/modal/index.js +0 -2
  254. package/dist/components/modal/index.js.map +0 -1
  255. package/dist/components/modal/meta.d.ts +0 -9
  256. package/dist/components/modal/meta.d.ts.map +0 -1
  257. package/dist/components/modal/meta.js +0 -9
  258. package/dist/components/modal/meta.js.map +0 -1
  259. package/dist/components/modal/types.d.ts +0 -12
  260. package/dist/components/modal/types.d.ts.map +0 -1
  261. package/dist/components/modal/types.js +0 -2
  262. package/dist/components/modal/types.js.map +0 -1
  263. package/dist/components/pagination/Pagination.d.ts +0 -7
  264. package/dist/components/pagination/Pagination.d.ts.map +0 -1
  265. package/dist/components/pagination/Pagination.js +0 -96
  266. package/dist/components/pagination/Pagination.js.map +0 -1
  267. package/dist/components/pagination/index.d.ts +0 -3
  268. package/dist/components/pagination/index.d.ts.map +0 -1
  269. package/dist/components/pagination/index.js +0 -2
  270. package/dist/components/pagination/index.js.map +0 -1
  271. package/dist/components/pagination/meta.d.ts +0 -9
  272. package/dist/components/pagination/meta.d.ts.map +0 -1
  273. package/dist/components/pagination/meta.js +0 -9
  274. package/dist/components/pagination/meta.js.map +0 -1
  275. package/dist/components/pagination/types.d.ts +0 -18
  276. package/dist/components/pagination/types.d.ts.map +0 -1
  277. package/dist/components/pagination/types.js +0 -2
  278. package/dist/components/pagination/types.js.map +0 -1
  279. package/dist/components/rating/Rating.d.ts +0 -7
  280. package/dist/components/rating/Rating.d.ts.map +0 -1
  281. package/dist/components/rating/Rating.js +0 -26
  282. package/dist/components/rating/Rating.js.map +0 -1
  283. package/dist/components/rating/index.d.ts +0 -3
  284. package/dist/components/rating/index.d.ts.map +0 -1
  285. package/dist/components/rating/index.js +0 -2
  286. package/dist/components/rating/index.js.map +0 -1
  287. package/dist/components/rating/meta.d.ts +0 -9
  288. package/dist/components/rating/meta.d.ts.map +0 -1
  289. package/dist/components/rating/meta.js +0 -9
  290. package/dist/components/rating/meta.js.map +0 -1
  291. package/dist/components/rating/resolveRatingSegments.d.ts +0 -7
  292. package/dist/components/rating/resolveRatingSegments.d.ts.map +0 -1
  293. package/dist/components/rating/resolveRatingSegments.js +0 -22
  294. package/dist/components/rating/resolveRatingSegments.js.map +0 -1
  295. package/dist/components/rating/types.d.ts +0 -11
  296. package/dist/components/rating/types.d.ts.map +0 -1
  297. package/dist/components/rating/types.js +0 -26
  298. package/dist/components/rating/types.js.map +0 -1
  299. package/dist/components/search-bar/SearchBar.d.ts +0 -7
  300. package/dist/components/search-bar/SearchBar.d.ts.map +0 -1
  301. package/dist/components/search-bar/SearchBar.js.map +0 -1
  302. package/dist/components/search-bar/index.d.ts +0 -3
  303. package/dist/components/search-bar/index.d.ts.map +0 -1
  304. package/dist/components/search-bar/index.js +0 -2
  305. package/dist/components/search-bar/index.js.map +0 -1
  306. package/dist/components/search-bar/meta.d.ts +0 -9
  307. package/dist/components/search-bar/meta.d.ts.map +0 -1
  308. package/dist/components/search-bar/meta.js +0 -9
  309. package/dist/components/search-bar/meta.js.map +0 -1
  310. package/dist/components/search-bar/types.d.ts +0 -14
  311. package/dist/components/search-bar/types.d.ts.map +0 -1
  312. package/dist/components/search-bar/types.js +0 -2
  313. package/dist/components/search-bar/types.js.map +0 -1
  314. package/dist/components/tabs/Tabs.d.ts +0 -9
  315. package/dist/components/tabs/Tabs.d.ts.map +0 -1
  316. package/dist/components/tabs/Tabs.js +0 -59
  317. package/dist/components/tabs/Tabs.js.map +0 -1
  318. package/dist/components/tabs/index.d.ts +0 -3
  319. package/dist/components/tabs/index.d.ts.map +0 -1
  320. package/dist/components/tabs/index.js +0 -3
  321. package/dist/components/tabs/index.js.map +0 -1
  322. package/dist/components/tabs/meta.d.ts +0 -9
  323. package/dist/components/tabs/meta.d.ts.map +0 -1
  324. package/dist/components/tabs/meta.js +0 -9
  325. package/dist/components/tabs/meta.js.map +0 -1
  326. package/dist/components/tabs/types.d.ts +0 -22
  327. package/dist/components/tabs/types.d.ts.map +0 -1
  328. package/dist/components/tabs/types.js +0 -2
  329. package/dist/components/tabs/types.js.map +0 -1
  330. package/dist/components/toolbar/Toolbar.d.ts +0 -9
  331. package/dist/components/toolbar/Toolbar.d.ts.map +0 -1
  332. package/dist/components/toolbar/Toolbar.js +0 -26
  333. package/dist/components/toolbar/Toolbar.js.map +0 -1
  334. package/dist/components/toolbar/ToolbarAction.d.ts +0 -9
  335. package/dist/components/toolbar/ToolbarAction.d.ts.map +0 -1
  336. package/dist/components/toolbar/ToolbarAction.js +0 -13
  337. package/dist/components/toolbar/ToolbarAction.js.map +0 -1
  338. package/dist/components/toolbar/index.d.ts +0 -4
  339. package/dist/components/toolbar/index.d.ts.map +0 -1
  340. package/dist/components/toolbar/index.js +0 -4
  341. package/dist/components/toolbar/index.js.map +0 -1
  342. package/dist/components/toolbar/meta.d.ts +0 -17
  343. package/dist/components/toolbar/meta.d.ts.map +0 -1
  344. package/dist/components/toolbar/meta.js +0 -17
  345. package/dist/components/toolbar/meta.js.map +0 -1
  346. package/dist/components/toolbar/types.d.ts +0 -18
  347. package/dist/components/toolbar/types.d.ts.map +0 -1
  348. package/dist/components/toolbar/types.js +0 -2
  349. package/dist/components/toolbar/types.js.map +0 -1
  350. package/src/components/modal/Modal.tsx +0 -63
  351. package/src/components/modal/index.ts +0 -2
  352. package/src/components/modal/meta.ts +0 -10
  353. package/src/components/modal/types.ts +0 -16
  354. package/src/components/pagination/Pagination.tsx +0 -199
  355. package/src/components/pagination/index.ts +0 -2
  356. package/src/components/pagination/meta.ts +0 -10
  357. package/src/components/rating/Rating.tsx +0 -42
  358. package/src/components/rating/index.ts +0 -2
  359. package/src/components/rating/meta.ts +0 -10
  360. package/src/components/rating/resolveRatingSegments.test.ts +0 -60
  361. package/src/components/rating/resolveRatingSegments.ts +0 -34
  362. package/src/components/rating/types.ts +0 -37
  363. package/src/components/search-bar/index.ts +0 -2
  364. package/src/components/search-bar/meta.ts +0 -10
  365. package/src/components/search-bar/types.ts +0 -14
  366. package/src/components/tabs/Tabs.tsx +0 -129
  367. package/src/components/tabs/index.ts +0 -2
  368. package/src/components/tabs/meta.ts +0 -10
  369. package/src/components/tabs/types.ts +0 -25
  370. package/src/components/toolbar/Toolbar.tsx +0 -48
  371. package/src/components/toolbar/ToolbarAction.tsx +0 -28
  372. package/src/components/toolbar/index.ts +0 -3
  373. package/src/components/toolbar/meta.ts +0 -19
  374. package/src/components/toolbar/types.ts +0 -21
@@ -0,0 +1,126 @@
1
+ export declare const searchInputMeta: {
2
+ readonly name: "SearchInput";
3
+ readonly category: "component";
4
+ readonly directManifestNode: true;
5
+ readonly allowedChildren: readonly [];
6
+ readonly description: "Search-focused text input with clear and submit events.";
7
+ readonly blueprint: {
8
+ readonly label: "Search input";
9
+ readonly defaultProps: {
10
+ readonly clearable: true;
11
+ readonly placeholder: "Search";
12
+ readonly size: "l";
13
+ readonly value: "";
14
+ };
15
+ };
16
+ readonly bindings: {
17
+ readonly props: {
18
+ readonly value: {
19
+ readonly label: "Value";
20
+ readonly description: "Current search query.";
21
+ readonly value: {
22
+ readonly type: "string";
23
+ };
24
+ readonly acceptsFallback: true;
25
+ readonly acceptsTransforms: true;
26
+ };
27
+ };
28
+ readonly events: {
29
+ readonly valueChange: {
30
+ readonly label: "Value change";
31
+ readonly description: "Runs whenever the search query changes.";
32
+ readonly payload: {
33
+ readonly eventType: "searchInput.valueChange";
34
+ readonly fields: readonly [{
35
+ readonly path: "value";
36
+ readonly type: "string";
37
+ readonly label: "Value";
38
+ }];
39
+ };
40
+ };
41
+ readonly submit: {
42
+ readonly label: "Submit";
43
+ readonly description: "Runs when the user submits the search query.";
44
+ readonly payload: {
45
+ readonly eventType: "searchInput.submit";
46
+ readonly fields: readonly [{
47
+ readonly path: "value";
48
+ readonly type: "string";
49
+ readonly label: "Value";
50
+ }];
51
+ };
52
+ };
53
+ readonly clear: {
54
+ readonly label: "Clear";
55
+ readonly description: "Runs when the search query is cleared.";
56
+ readonly payload: {
57
+ readonly eventType: "searchInput.clear";
58
+ readonly fields: readonly [];
59
+ };
60
+ };
61
+ };
62
+ };
63
+ readonly events: {
64
+ readonly valueChange: {
65
+ readonly label: "Value change";
66
+ readonly eventType: "searchInput.valueChange";
67
+ readonly payloadFields: readonly [{
68
+ readonly path: "value";
69
+ readonly type: "string";
70
+ readonly label: "Value";
71
+ }];
72
+ };
73
+ readonly submit: {
74
+ readonly label: "Submit";
75
+ readonly eventType: "searchInput.submit";
76
+ readonly payloadFields: readonly [{
77
+ readonly path: "value";
78
+ readonly type: "string";
79
+ readonly label: "Value";
80
+ }];
81
+ };
82
+ readonly clear: {
83
+ readonly label: "Clear";
84
+ readonly eventType: "searchInput.clear";
85
+ readonly payloadFields: readonly [];
86
+ };
87
+ };
88
+ readonly props: {
89
+ readonly value: {
90
+ readonly type: "string";
91
+ readonly category: "Content";
92
+ readonly label: "Value";
93
+ readonly default: "";
94
+ };
95
+ readonly placeholder: {
96
+ readonly type: "string";
97
+ readonly category: "Content";
98
+ readonly label: "Placeholder";
99
+ readonly default: "Search";
100
+ };
101
+ readonly clearable: {
102
+ readonly type: "boolean";
103
+ readonly category: "Behavior";
104
+ readonly label: "Clearable";
105
+ readonly default: true;
106
+ };
107
+ readonly size: {
108
+ readonly type: "enum";
109
+ readonly category: "Style";
110
+ readonly label: "Size";
111
+ readonly enum: readonly ["s", "m", "l"];
112
+ readonly default: "l";
113
+ };
114
+ readonly disabled: {
115
+ readonly type: "boolean";
116
+ readonly category: "State";
117
+ readonly label: "Disabled";
118
+ };
119
+ readonly readOnly: {
120
+ readonly type: "boolean";
121
+ readonly category: "State";
122
+ readonly label: "Read only";
123
+ };
124
+ };
125
+ };
126
+ //# sourceMappingURL=searchInputMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchInputMeta.d.ts","sourceRoot":"","sources":["../../../../src/features/form/search-input/searchInputMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEU,CAAC"}
@@ -0,0 +1,67 @@
1
+ export const searchInputMeta = {
2
+ name: 'SearchInput',
3
+ category: 'component',
4
+ directManifestNode: true,
5
+ allowedChildren: [],
6
+ description: 'Search-focused text input with clear and submit events.',
7
+ blueprint: {
8
+ label: 'Search input',
9
+ defaultProps: { clearable: true, placeholder: 'Search', size: 'l', value: '' },
10
+ },
11
+ bindings: {
12
+ props: {
13
+ value: {
14
+ label: 'Value',
15
+ description: 'Current search query.',
16
+ value: { type: 'string' },
17
+ acceptsFallback: true,
18
+ acceptsTransforms: true,
19
+ },
20
+ },
21
+ events: {
22
+ valueChange: {
23
+ label: 'Value change',
24
+ description: 'Runs whenever the search query changes.',
25
+ payload: {
26
+ eventType: 'searchInput.valueChange',
27
+ fields: [{ path: 'value', type: 'string', label: 'Value' }],
28
+ },
29
+ },
30
+ submit: {
31
+ label: 'Submit',
32
+ description: 'Runs when the user submits the search query.',
33
+ payload: {
34
+ eventType: 'searchInput.submit',
35
+ fields: [{ path: 'value', type: 'string', label: 'Value' }],
36
+ },
37
+ },
38
+ clear: {
39
+ label: 'Clear',
40
+ description: 'Runs when the search query is cleared.',
41
+ payload: { eventType: 'searchInput.clear', fields: [] },
42
+ },
43
+ },
44
+ },
45
+ events: {
46
+ valueChange: {
47
+ label: 'Value change',
48
+ eventType: 'searchInput.valueChange',
49
+ payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],
50
+ },
51
+ submit: {
52
+ label: 'Submit',
53
+ eventType: 'searchInput.submit',
54
+ payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],
55
+ },
56
+ clear: { label: 'Clear', eventType: 'searchInput.clear', payloadFields: [] },
57
+ },
58
+ props: {
59
+ value: { type: 'string', category: 'Content', label: 'Value', default: '' },
60
+ placeholder: { type: 'string', category: 'Content', label: 'Placeholder', default: 'Search' },
61
+ clearable: { type: 'boolean', category: 'Behavior', label: 'Clearable', default: true },
62
+ size: { type: 'enum', category: 'Style', label: 'Size', enum: ['s', 'm', 'l'], default: 'l' },
63
+ disabled: { type: 'boolean', category: 'State', label: 'Disabled' },
64
+ readOnly: { type: 'boolean', category: 'State', label: 'Read only' },
65
+ },
66
+ };
67
+ //# sourceMappingURL=searchInputMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchInputMeta.js","sourceRoot":"","sources":["../../../../src/features/form/search-input/searchInputMeta.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ZoraComponentMeta } from '../../../metadata/types';\n\nexport const searchInputMeta = {\n name: 'SearchInput',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n description: 'Search-focused text input with clear and submit events.',\n blueprint: {\n label: 'Search input',\n defaultProps: { clearable: true, placeholder: 'Search', size: 'l', value: '' },\n },\n bindings: {\n props: {\n value: {\n label: 'Value',\n description: 'Current search query.',\n value: { type: 'string' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n description: 'Runs whenever the search query changes.',\n payload: {\n eventType: 'searchInput.valueChange',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n submit: {\n label: 'Submit',\n description: 'Runs when the user submits the search query.',\n payload: {\n eventType: 'searchInput.submit',\n fields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n },\n clear: {\n label: 'Clear',\n description: 'Runs when the search query is cleared.',\n payload: { eventType: 'searchInput.clear', fields: [] },\n },\n },\n },\n events: {\n valueChange: {\n label: 'Value change',\n eventType: 'searchInput.valueChange',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n submit: {\n label: 'Submit',\n eventType: 'searchInput.submit',\n payloadFields: [{ path: 'value', type: 'string', label: 'Value' }],\n },\n clear: { label: 'Clear', eventType: 'searchInput.clear', payloadFields: [] },\n },\n props: {\n value: { type: 'string', category: 'Content', label: 'Value', default: '' },\n placeholder: { type: 'string', category: 'Content', label: 'Placeholder', default: 'Search' },\n clearable: { type: 'boolean', category: 'Behavior', label: 'Clearable', default: true },\n size: { type: 'enum', category: 'Style', label: 'Size', enum: ['s', 'm', 'l'], default: 'l' },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled' },\n readOnly: { type: 'boolean', category: 'State', label: 'Read only' },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -3,7 +3,7 @@ export declare const gradientMeta: {
3
3
  readonly category: "component";
4
4
  readonly description: "Renders a host-backed gradient container for nested manifest content.";
5
5
  readonly directManifestNode: true;
6
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
7
7
  readonly blueprint: {
8
8
  readonly label: "Gradient";
9
9
  };
@@ -2,7 +2,7 @@ export declare const keyboardAvoidingViewMeta: {
2
2
  readonly name: "KeyboardAvoidingView";
3
3
  readonly category: "layout";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly blueprint: {
7
7
  readonly label: "Keyboard avoiding view";
8
8
  readonly defaultProps: {
@@ -2,7 +2,7 @@ export declare const boxMeta: {
2
2
  readonly name: "Box";
3
3
  readonly category: "foundation";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly props: {
7
7
  readonly bg: {
8
8
  readonly type: "color";
@@ -2,7 +2,7 @@ export declare const containerMeta: {
2
2
  readonly name: "Container";
3
3
  readonly category: "foundation";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly props: {
7
7
  [k: string]: {
8
8
  readonly type: "spacing";
@@ -2,7 +2,7 @@ export declare const gridMeta: {
2
2
  readonly name: "Grid";
3
3
  readonly category: "foundation";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly props: {
7
7
  readonly cols: {
8
8
  readonly type: "number";
@@ -2,7 +2,7 @@ export declare const stackMeta: {
2
2
  readonly name: "Stack";
3
3
  readonly category: "foundation";
4
4
  readonly directManifestNode: true;
5
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
5
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
6
6
  readonly props: {
7
7
  readonly direction: {
8
8
  readonly type: "enum";
@@ -5,7 +5,7 @@ export declare const flatListMeta: {
5
5
  readonly blueprint: {
6
6
  readonly label: "Flat list";
7
7
  };
8
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
8
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
9
9
  readonly description: "Virtualized children. Put node.repeat on this list for keyed data and item bindings; bind selection on the child Button/Card press event. Bound the list viewport and avoid nesting in a same-direction ScrollView.";
10
10
  readonly events: {
11
11
  readonly visibleItemsChange: {
@@ -109,6 +109,6 @@ export declare const sectionListMeta: {
109
109
  };
110
110
  readonly category: "layout";
111
111
  readonly directManifestNode: true;
112
- readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
112
+ readonly allowedChildren: readonly ["ActivityIndicator", "ForgotPasswordForm", "OAuthProviderButton", "OAuthProviderList", "OtpForm", "SignInForm", "SignUpForm", "Accordion", "Surface", "Avatar", "AvatarGroup", "Badge", "MediaCard", "MetricCard", "Chip", "ChipGroup", "DataTable", "DatePicker", "Dialog", "Pagination", "Rating", "SearchInput", "Tabs", "Toolbar", "Skeleton", "SkeletonCard", "SkeletonList", "SkeletonText", "IconButton", "Uploader", "FlatList", "SectionList", "BottomSheet", "ProductCard", "Box", "Stack", "Grid", "Gradient", "Container", "Divider", "Text", "Heading", "Icon", "Image", "Hero", "KeyboardAvoidingView", "Button", "ButtonGroup", "RadioGroup", "ThemeModeToggle", "TextInput", "TimePicker", "Form", "Card", "Panel", "Notice", "EmptyState", "SectionHeader", "SettingsRow", "PostCard", "ChatListItem", "MessageBubble", "ProgressRing", "ReaderSurface", "ContentRail", "MissingElement"];
113
113
  };
114
114
  //# sourceMappingURL=sectionListMeta.d.ts.map
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { PaginationProps } from '../../../../types/pagination';
3
+ /*** Renders controls for navigating between pages of a finite result set. */
4
+ export declare const Pagination: (props: PaginationProps) => React.ReactElement | null;
5
+ //# sourceMappingURL=Pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../../../src/features/pagination/adapters/inbound/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOpE,6EAA6E;AAC7E,eAAO,MAAM,UAAU,uDAAsC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';
3
+ import { Button } from '../../../button/public';
4
+ import { Stack } from '../../../layout/public';
5
+ import { Text } from '../../../typography/public';
6
+ import { resolvePaginationPage } from '../../utils/resolvePaginationPage';
7
+ import { resolvePaginationState } from '../../utils/resolvePaginationState';
8
+ /*** Renders controls for navigating between pages of a finite result set. */
9
+ export const Pagination = withZoraThemeScope(PaginationInner);
10
+ /*** Connects normalized pagination state to visible page navigation controls. */
11
+ function PaginationInner({ themeId: _themeId, mode: _mode, page, pageCount, onPageChange, disabled = false, siblingCount = 1, boundaryCount = 1, showFirstLast = false, previousLabel = 'Previous', nextLabel = 'Next', firstLabel = 'First', lastLabel = 'Last', compact = false, testID, interactionPolicy, }) {
12
+ const passive = interactionPolicy === 'passive';
13
+ const state = resolvePaginationState({ boundaryCount, compact, page, pageCount, siblingCount });
14
+ const canGoPrevious = state.currentPage > 1;
15
+ const canGoNext = state.currentPage < state.pageCount;
16
+ const navigationDisabled = disabled || state.pageCount <= 1;
17
+ const changePage = React.useCallback((nextPage) => {
18
+ const clampedPage = resolvePaginationPage(nextPage, state.pageCount);
19
+ if (passive || disabled || clampedPage === state.currentPage)
20
+ return;
21
+ onPageChange?.(clampedPage);
22
+ }, [disabled, onPageChange, passive, state.currentPage, state.pageCount]);
23
+ return (<Stack align="center" direction="row" gap="xs" testID={testID}>
24
+ {showFirstLast ? (<Button disabled={navigationDisabled || state.currentPage === 1} interactionPolicy={interactionPolicy} onPress={() => changePage(1)} size="s" testID={testID ? `${testID}-first` : undefined} variant="ghost">
25
+ {firstLabel}
26
+ </Button>) : null}
27
+ <Button disabled={navigationDisabled || !canGoPrevious} interactionPolicy={interactionPolicy} onPress={() => changePage(state.currentPage - 1)} size="s" testID={testID ? `${testID}-previous` : undefined} variant="ghost">
28
+ {previousLabel}
29
+ </Button>
30
+ {state.items.map((item, index) => item === 'ellipsis' ? (<Text key={`ellipsis-${index}`} emphasis="muted" variant="bodySmall">
31
+ …
32
+ </Text>) : (<Button color={item === state.currentPage ? 'primary' : 'neutral'} disabled={disabled} interactionPolicy={interactionPolicy} key={item} onPress={() => changePage(item)} size="s" testID={testID ? `${testID}-page-${item}` : undefined} variant={item === state.currentPage ? 'solid' : 'ghost'}>
33
+ {item}
34
+ </Button>))}
35
+ <Button disabled={navigationDisabled || !canGoNext} interactionPolicy={interactionPolicy} onPress={() => changePage(state.currentPage + 1)} size="s" testID={testID ? `${testID}-next` : undefined} variant="ghost">
36
+ {nextLabel}
37
+ </Button>
38
+ {showFirstLast ? (<Button disabled={navigationDisabled || state.currentPage === state.pageCount} interactionPolicy={interactionPolicy} onPress={() => changePage(state.pageCount)} size="s" testID={testID ? `${testID}-last` : undefined} variant="ghost">
39
+ {lastLabel}
40
+ </Button>) : null}
41
+ </Stack>);
42
+ }
43
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../../src/features/pagination/adapters/inbound/Pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { withZoraThemeScope } from '../../../../theme/withZoraThemeScope';\nimport type { PaginationProps } from '../../../../types/pagination';\nimport { Button } from '../../../button/public';\nimport { Stack } from '../../../layout/public';\nimport { Text } from '../../../typography/public';\nimport { resolvePaginationPage } from '../../utils/resolvePaginationPage';\nimport { resolvePaginationState } from '../../utils/resolvePaginationState';\n\n/*** Renders controls for navigating between pages of a finite result set. */\nexport const Pagination = withZoraThemeScope(PaginationInner);\n\n/*** Connects normalized pagination state to visible page navigation controls. */\nfunction PaginationInner({\n themeId: _themeId,\n mode: _mode,\n page,\n pageCount,\n onPageChange,\n disabled = false,\n siblingCount = 1,\n boundaryCount = 1,\n showFirstLast = false,\n previousLabel = 'Previous',\n nextLabel = 'Next',\n firstLabel = 'First',\n lastLabel = 'Last',\n compact = false,\n testID,\n interactionPolicy,\n}: PaginationProps) {\n const passive = interactionPolicy === 'passive';\n const state = resolvePaginationState({ boundaryCount, compact, page, pageCount, siblingCount });\n const canGoPrevious = state.currentPage > 1;\n const canGoNext = state.currentPage < state.pageCount;\n const navigationDisabled = disabled || state.pageCount <= 1;\n\n const changePage = React.useCallback(\n (nextPage: number) => {\n const clampedPage = resolvePaginationPage(nextPage, state.pageCount);\n if (passive || disabled || clampedPage === state.currentPage) return;\n onPageChange?.(clampedPage);\n },\n [disabled, onPageChange, passive, state.currentPage, state.pageCount],\n );\n\n return (\n <Stack align=\"center\" direction=\"row\" gap=\"xs\" testID={testID}>\n {showFirstLast ? (\n <Button\n disabled={navigationDisabled || state.currentPage === 1}\n interactionPolicy={interactionPolicy}\n onPress={() => changePage(1)}\n size=\"s\"\n testID={testID ? `${testID}-first` : undefined}\n variant=\"ghost\"\n >\n {firstLabel}\n </Button>\n ) : null}\n <Button\n disabled={navigationDisabled || !canGoPrevious}\n interactionPolicy={interactionPolicy}\n onPress={() => changePage(state.currentPage - 1)}\n size=\"s\"\n testID={testID ? `${testID}-previous` : undefined}\n variant=\"ghost\"\n >\n {previousLabel}\n </Button>\n {state.items.map((item, index) =>\n item === 'ellipsis' ? (\n <Text key={`ellipsis-${index}`} emphasis=\"muted\" variant=\"bodySmall\">\n …\n </Text>\n ) : (\n <Button\n color={item === state.currentPage ? 'primary' : 'neutral'}\n disabled={disabled}\n interactionPolicy={interactionPolicy}\n key={item}\n onPress={() => changePage(item)}\n size=\"s\"\n testID={testID ? `${testID}-page-${item}` : undefined}\n variant={item === state.currentPage ? 'solid' : 'ghost'}\n >\n {item}\n </Button>\n ),\n )}\n <Button\n disabled={navigationDisabled || !canGoNext}\n interactionPolicy={interactionPolicy}\n onPress={() => changePage(state.currentPage + 1)}\n size=\"s\"\n testID={testID ? `${testID}-next` : undefined}\n variant=\"ghost\"\n >\n {nextLabel}\n </Button>\n {showFirstLast ? (\n <Button\n disabled={navigationDisabled || state.currentPage === state.pageCount}\n interactionPolicy={interactionPolicy}\n onPress={() => changePage(state.pageCount)}\n size=\"s\"\n testID={testID ? `${testID}-last` : undefined}\n variant=\"ghost\"\n >\n {lastLabel}\n </Button>\n ) : null}\n </Stack>\n );\n}\n"]}
@@ -0,0 +1,118 @@
1
+ export declare const paginationMeta: {
2
+ readonly name: "Pagination";
3
+ readonly category: "component";
4
+ readonly directManifestNode: true;
5
+ readonly allowedChildren: readonly [];
6
+ readonly description: "Navigates between pages of a finite result set without changing app routes.";
7
+ readonly blueprint: {
8
+ readonly label: "Pagination";
9
+ readonly defaultProps: {
10
+ readonly boundaryCount: 1;
11
+ readonly compact: false;
12
+ readonly page: 1;
13
+ readonly pageCount: 10;
14
+ readonly siblingCount: 1;
15
+ };
16
+ };
17
+ readonly bindings: {
18
+ readonly props: {
19
+ readonly page: {
20
+ readonly label: "Page";
21
+ readonly description: "Current one-based page.";
22
+ readonly value: {
23
+ readonly type: "number";
24
+ };
25
+ readonly acceptsFallback: true;
26
+ readonly acceptsTransforms: true;
27
+ };
28
+ };
29
+ readonly events: {
30
+ readonly pageChange: {
31
+ readonly label: "Page change";
32
+ readonly description: "Runs when a new page is requested.";
33
+ readonly payload: {
34
+ readonly eventType: "pagination.pageChange";
35
+ readonly fields: readonly [{
36
+ readonly path: "page";
37
+ readonly type: "number";
38
+ readonly label: "Page";
39
+ }];
40
+ };
41
+ };
42
+ };
43
+ };
44
+ readonly events: {
45
+ readonly pageChange: {
46
+ readonly label: "Page change";
47
+ readonly eventType: "pagination.pageChange";
48
+ readonly payloadFields: readonly [{
49
+ readonly path: "page";
50
+ readonly type: "number";
51
+ readonly label: "Page";
52
+ }];
53
+ };
54
+ };
55
+ readonly props: {
56
+ readonly page: {
57
+ readonly type: "number";
58
+ readonly category: "State";
59
+ readonly label: "Page";
60
+ readonly default: 1;
61
+ };
62
+ readonly pageCount: {
63
+ readonly type: "number";
64
+ readonly category: "Data";
65
+ readonly label: "Page count";
66
+ readonly default: 10;
67
+ };
68
+ readonly siblingCount: {
69
+ readonly type: "number";
70
+ readonly category: "Layout";
71
+ readonly label: "Sibling count";
72
+ readonly default: 1;
73
+ };
74
+ readonly boundaryCount: {
75
+ readonly type: "number";
76
+ readonly category: "Layout";
77
+ readonly label: "Boundary count";
78
+ readonly default: 1;
79
+ };
80
+ readonly showFirstLast: {
81
+ readonly type: "boolean";
82
+ readonly category: "Behavior";
83
+ readonly label: "Show first/last";
84
+ };
85
+ readonly compact: {
86
+ readonly type: "boolean";
87
+ readonly category: "Layout";
88
+ readonly label: "Compact";
89
+ readonly default: false;
90
+ };
91
+ readonly disabled: {
92
+ readonly type: "boolean";
93
+ readonly category: "State";
94
+ readonly label: "Disabled";
95
+ };
96
+ readonly previousLabel: {
97
+ readonly type: "string";
98
+ readonly category: "Content";
99
+ readonly label: "Previous label";
100
+ };
101
+ readonly nextLabel: {
102
+ readonly type: "string";
103
+ readonly category: "Content";
104
+ readonly label: "Next label";
105
+ };
106
+ readonly firstLabel: {
107
+ readonly type: "string";
108
+ readonly category: "Content";
109
+ readonly label: "First label";
110
+ };
111
+ readonly lastLabel: {
112
+ readonly type: "string";
113
+ readonly category: "Content";
114
+ readonly label: "Last label";
115
+ };
116
+ };
117
+ };
118
+ //# sourceMappingURL=paginationMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginationMeta.d.ts","sourceRoot":"","sources":["../../../src/features/pagination/paginationMeta.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDW,CAAC"}
@@ -0,0 +1,53 @@
1
+ export const paginationMeta = {
2
+ name: 'Pagination',
3
+ category: 'component',
4
+ directManifestNode: true,
5
+ allowedChildren: [],
6
+ description: 'Navigates between pages of a finite result set without changing app routes.',
7
+ blueprint: {
8
+ label: 'Pagination',
9
+ defaultProps: { boundaryCount: 1, compact: false, page: 1, pageCount: 10, siblingCount: 1 },
10
+ },
11
+ bindings: {
12
+ props: {
13
+ page: {
14
+ label: 'Page',
15
+ description: 'Current one-based page.',
16
+ value: { type: 'number' },
17
+ acceptsFallback: true,
18
+ acceptsTransforms: true,
19
+ },
20
+ },
21
+ events: {
22
+ pageChange: {
23
+ label: 'Page change',
24
+ description: 'Runs when a new page is requested.',
25
+ payload: {
26
+ eventType: 'pagination.pageChange',
27
+ fields: [{ path: 'page', type: 'number', label: 'Page' }],
28
+ },
29
+ },
30
+ },
31
+ },
32
+ events: {
33
+ pageChange: {
34
+ label: 'Page change',
35
+ eventType: 'pagination.pageChange',
36
+ payloadFields: [{ path: 'page', type: 'number', label: 'Page' }],
37
+ },
38
+ },
39
+ props: {
40
+ page: { type: 'number', category: 'State', label: 'Page', default: 1 },
41
+ pageCount: { type: 'number', category: 'Data', label: 'Page count', default: 10 },
42
+ siblingCount: { type: 'number', category: 'Layout', label: 'Sibling count', default: 1 },
43
+ boundaryCount: { type: 'number', category: 'Layout', label: 'Boundary count', default: 1 },
44
+ showFirstLast: { type: 'boolean', category: 'Behavior', label: 'Show first/last' },
45
+ compact: { type: 'boolean', category: 'Layout', label: 'Compact', default: false },
46
+ disabled: { type: 'boolean', category: 'State', label: 'Disabled' },
47
+ previousLabel: { type: 'string', category: 'Content', label: 'Previous label' },
48
+ nextLabel: { type: 'string', category: 'Content', label: 'Next label' },
49
+ firstLabel: { type: 'string', category: 'Content', label: 'First label' },
50
+ lastLabel: { type: 'string', category: 'Content', label: 'Last label' },
51
+ },
52
+ };
53
+ //# sourceMappingURL=paginationMeta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginationMeta.js","sourceRoot":"","sources":["../../../src/features/pagination/paginationMeta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,WAAW;IACrB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,EAAE;IACnB,WAAW,EAAE,6EAA6E;IAC1F,SAAS,EAAE;QACT,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;KAC5F;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,yBAAyB;gBACtC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;aACxB;SACF;QACD,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,oCAAoC;gBACjD,OAAO,EAAE;oBACP,SAAS,EAAE,uBAAuB;oBAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;iBAC1D;aACF;SACF;KACF;IACD,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,uBAAuB;YAClC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACjE;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACtE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;QACjF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE;QACxF,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE;QAC1F,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAClF,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAClF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;QACnE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;QAC/E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE;QACvE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE;QACzE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE;KACxE;CACmC,CAAC","sourcesContent":["import type { ZoraComponentMeta } from '../../metadata/types';\n\nexport const paginationMeta = {\n name: 'Pagination',\n category: 'component',\n directManifestNode: true,\n allowedChildren: [],\n description: 'Navigates between pages of a finite result set without changing app routes.',\n blueprint: {\n label: 'Pagination',\n defaultProps: { boundaryCount: 1, compact: false, page: 1, pageCount: 10, siblingCount: 1 },\n },\n bindings: {\n props: {\n page: {\n label: 'Page',\n description: 'Current one-based page.',\n value: { type: 'number' },\n acceptsFallback: true,\n acceptsTransforms: true,\n },\n },\n events: {\n pageChange: {\n label: 'Page change',\n description: 'Runs when a new page is requested.',\n payload: {\n eventType: 'pagination.pageChange',\n fields: [{ path: 'page', type: 'number', label: 'Page' }],\n },\n },\n },\n },\n events: {\n pageChange: {\n label: 'Page change',\n eventType: 'pagination.pageChange',\n payloadFields: [{ path: 'page', type: 'number', label: 'Page' }],\n },\n },\n props: {\n page: { type: 'number', category: 'State', label: 'Page', default: 1 },\n pageCount: { type: 'number', category: 'Data', label: 'Page count', default: 10 },\n siblingCount: { type: 'number', category: 'Layout', label: 'Sibling count', default: 1 },\n boundaryCount: { type: 'number', category: 'Layout', label: 'Boundary count', default: 1 },\n showFirstLast: { type: 'boolean', category: 'Behavior', label: 'Show first/last' },\n compact: { type: 'boolean', category: 'Layout', label: 'Compact', default: false },\n disabled: { type: 'boolean', category: 'State', label: 'Disabled' },\n previousLabel: { type: 'string', category: 'Content', label: 'Previous label' },\n nextLabel: { type: 'string', category: 'Content', label: 'Next label' },\n firstLabel: { type: 'string', category: 'Content', label: 'First label' },\n lastLabel: { type: 'string', category: 'Content', label: 'Last label' },\n },\n} as const satisfies ZoraComponentMeta;\n"]}
@@ -0,0 +1,3 @@
1
+ export type { PaginationProps } from '../../types/pagination';
2
+ export { Pagination } from './adapters/inbound/Pagination';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/features/pagination/public.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Pagination } from './adapters/inbound/Pagination';
2
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/features/pagination/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["export type { PaginationProps } from '../../types/pagination';\nexport { Pagination } from './adapters/inbound/Pagination';\n"]}
@@ -0,0 +1,3 @@
1
+ /*** Clamps a requested pagination page to the valid one-based page range. */
2
+ export declare function resolvePaginationPage(value: number, pageCount: number): number;
3
+ //# sourceMappingURL=resolvePaginationPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvePaginationPage.d.ts","sourceRoot":"","sources":["../../../../src/features/pagination/utils/resolvePaginationPage.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI9E"}